diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:33 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:33 +0000 |
commit | 086c044dc34dfc0f74fbe41f4ecb402b2cd34884 (patch) | |
tree | a4f824bd33cb075dd5aa3eb5a0a94af221bbe83a /security | |
parent | Adding debian version 124.0.1-1. (diff) | |
download | firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.tar.xz firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'security')
174 files changed, 9591 insertions, 4296 deletions
diff --git a/security/.eslintrc.js b/security/.eslintrc.js index 676b3f267d..b99ca306cf 100644 --- a/security/.eslintrc.js +++ b/security/.eslintrc.js @@ -9,9 +9,6 @@ module.exports = { // Enforce return statements in callbacks of array methods. "array-callback-return": "error", - // Verify calls of super() in constructors. - "constructor-super": "error", - // Require default case in switch statements. "default-case": "error", @@ -22,9 +19,6 @@ module.exports = { // case/default clauses. "no-case-declarations": "error", - // Disallow use of the console API. - "no-console": ["error", { allow: ["error"] }], - // Disallow constant expressions in conditions (except for loops). "no-constant-condition": ["error", { checkLoops: false }], @@ -43,9 +37,6 @@ module.exports = { // No expressions where a statement is expected "no-unused-expressions": "error", - // Disallow unnecessary escape usage in strings and regular expressions. - "no-useless-escape": "error", - // Require "use strict" to be defined globally in the script. strict: ["error", "global"], diff --git a/security/certverifier/NSSCertDBTrustDomain.cpp b/security/certverifier/NSSCertDBTrustDomain.cpp index 02a005f8b6..cfc17f46a7 100644 --- a/security/certverifier/NSSCertDBTrustDomain.cpp +++ b/security/certverifier/NSSCertDBTrustDomain.cpp @@ -861,10 +861,9 @@ Result NSSCertDBTrustDomain::CheckRevocationByOCSP( Result stapledOCSPResponseResult = Success; if (stapledOCSPResponse) { bool expired; - uint32_t ageInHours; stapledOCSPResponseResult = VerifyAndMaybeCacheEncodedOCSPResponse( certID, time, maxOCSPLifetimeInDays, *stapledOCSPResponse, - ResponseWasStapled, expired, ageInHours); + ResponseWasStapled, expired); Telemetry::AccumulateCategorical( Telemetry::LABELS_CERT_REVOCATION_MECHANISMS::StapledOCSP); if (stapledOCSPResponseResult == Success) { @@ -1087,10 +1086,9 @@ Result NSSCertDBTrustDomain::SynchronousCheckRevocationWithServer( // or unknown certificate, PR_GetError() will return the appropriate error. // We actually ignore expired here. bool expired; - uint32_t ageInHours; - rv = VerifyAndMaybeCacheEncodedOCSPResponse( - certID, time, maxOCSPLifetimeInDays, response, ResponseIsFromNetwork, - expired, ageInHours); + rv = VerifyAndMaybeCacheEncodedOCSPResponse(certID, time, + maxOCSPLifetimeInDays, response, + ResponseIsFromNetwork, expired); // If the CRLite filter covers the certificate, compare the CRLite result // with the OCSP fetching result. OCSP may have succeeded, said the @@ -1109,11 +1107,6 @@ Result NSSCertDBTrustDomain::SynchronousCheckRevocationWithServer( // CRLite says the certificate is revoked, but OCSP says it is OK. Telemetry::AccumulateCategorical( Telemetry::LABELS_CRLITE_VS_OCSP_RESULT::CRLiteRevOCSPOk); - - if (mCRLiteMode == CRLiteMode::ConfirmRevocations) { - Telemetry::Accumulate(Telemetry::OCSP_AGE_AT_CRLITE_OVERRIDE, - ageInHours); - } } } else if (rv == Result::ERROR_REVOKED_CERTIFICATE) { if (crliteResult == Success) { @@ -1209,8 +1202,7 @@ Result NSSCertDBTrustDomain::HandleOCSPFailure( Result NSSCertDBTrustDomain::VerifyAndMaybeCacheEncodedOCSPResponse( const CertID& certID, Time time, uint16_t maxLifetimeInDays, Input encodedResponse, EncodedResponseSource responseSource, - /*out*/ bool& expired, - /*out*/ uint32_t& ageInHours) { + /*out*/ bool& expired) { Time thisUpdate(Time::uninitialized); Time validThrough(Time::uninitialized); @@ -1234,30 +1226,6 @@ Result NSSCertDBTrustDomain::VerifyAndMaybeCacheEncodedOCSPResponse( return Result::FATAL_ERROR_LIBRARY_FAILURE; // integer overflow } } - // The `thisUpdate` field holds the latest time at which the server knew the - // response was correct. The age of the response is the time that has elapsed - // since. We only use this for the telemetry defined in Bug 1794479. - uint64_t timeInSeconds; - uint64_t thisUpdateInSeconds; - uint64_t ageInSeconds; - SecondsSinceEpochFromTime(time, &timeInSeconds); - SecondsSinceEpochFromTime(thisUpdate, &thisUpdateInSeconds); - if (timeInSeconds >= thisUpdateInSeconds) { - ageInSeconds = timeInSeconds - thisUpdateInSeconds; - // ageInHours is 32 bits because of the telemetry api. - if (ageInSeconds > UINT32_MAX) { - // We could divide by 3600 before checking the UINT32_MAX bound, but if - // ageInSeconds is more than UINT32_MAX then there's been some sort of - // error. - ageInHours = UINT32_MAX; - } else { - // We start at 1 and divide with truncation to reserve ageInHours=0 for - // the case where `thisUpdate` is in the future. - ageInHours = 1 + ageInSeconds / (60 * 60); - } - } else { - ageInHours = 0; - } if (responseSource == ResponseIsFromNetwork || rv == Success || rv == Result::ERROR_REVOKED_CERTIFICATE || rv == Result::ERROR_OCSP_UNKNOWN_CERT) { diff --git a/security/certverifier/NSSCertDBTrustDomain.h b/security/certverifier/NSSCertDBTrustDomain.h index 129efd075f..a219082339 100644 --- a/security/certverifier/NSSCertDBTrustDomain.h +++ b/security/certverifier/NSSCertDBTrustDomain.h @@ -272,8 +272,7 @@ class NSSCertDBTrustDomain : public mozilla::pkix::TrustDomain { Result VerifyAndMaybeCacheEncodedOCSPResponse( const mozilla::pkix::CertID& certID, mozilla::pkix::Time time, uint16_t maxLifetimeInDays, mozilla::pkix::Input encodedResponse, - EncodedResponseSource responseSource, /*out*/ bool& expired, - /*out*/ uint32_t& ageInHours); + EncodedResponseSource responseSource, /*out*/ bool& expired); TimeDuration GetOCSPTimeout() const; Result CheckRevocationByCRLite(const mozilla::pkix::CertID& certID, diff --git a/security/manager/pki/nsIASN1Tree.idl b/security/manager/pki/nsIASN1Tree.idl index b44362e5b2..2ddc8680ff 100644 --- a/security/manager/pki/nsIASN1Tree.idl +++ b/security/manager/pki/nsIASN1Tree.idl @@ -16,9 +16,3 @@ interface nsIASN1Tree : nsITreeView { [must_use] AString getDisplayData(in unsigned long index); }; - -%{C++ - -#define NS_ASN1TREE_CONTRACTID "@mozilla.org/security/nsASN1Tree;1" - -%} diff --git a/security/manager/pki/resources/content/certManager.js b/security/manager/pki/resources/content/certManager.js index b1fcaff30f..660240ff56 100644 --- a/security/manager/pki/resources/content/certManager.js +++ b/security/manager/pki/resources/content/certManager.js @@ -541,7 +541,7 @@ async function backupCerts() { { id: "choose-p12-backup-file-dialog" }, { id: "file-browse-pkcs12-spec" }, ]); - fp.init(window, backupFileDialog, Ci.nsIFilePicker.modeSave); + fp.init(window.browsingContext, backupFileDialog, Ci.nsIFilePicker.modeSave); fp.appendFilter(filePkcs12Spec, "*.p12"); fp.appendFilters(Ci.nsIFilePicker.filterAll); fp.defaultExtension = "p12"; @@ -590,7 +590,7 @@ async function restoreCerts() { { id: "file-browse-pkcs12-spec" }, { id: "file-browse-certificate-spec" }, ]); - fp.init(window, restoreFileDialog, Ci.nsIFilePicker.modeOpen); + fp.init(window.browsingContext, restoreFileDialog, Ci.nsIFilePicker.modeOpen); fp.appendFilter(filePkcs12Spec, "*.p12; *.pfx"); fp.appendFilter(fileCertSpec, gCertFileTypes); fp.appendFilters(Ci.nsIFilePicker.filterAll); @@ -736,7 +736,7 @@ async function addCACerts() { { id: "import-ca-certs-prompt" }, { id: "file-browse-certificate-spec" }, ]); - fp.init(window, importCa, Ci.nsIFilePicker.modeOpen); + fp.init(window.browsingContext, importCa, Ci.nsIFilePicker.modeOpen); fp.appendFilter(fileCertSpec, gCertFileTypes); fp.appendFilters(Ci.nsIFilePicker.filterAll); fp.open(rv => { @@ -755,7 +755,7 @@ async function addEmailCert() { { id: "import-email-cert-prompt" }, { id: "file-browse-certificate-spec" }, ]); - fp.init(window, importEmail, Ci.nsIFilePicker.modeOpen); + fp.init(window.browsingContext, importEmail, Ci.nsIFilePicker.modeOpen); fp.appendFilter(fileCertSpec, gCertFileTypes); fp.appendFilters(Ci.nsIFilePicker.filterAll); fp.open(rv => { diff --git a/security/manager/pki/resources/content/load_device.js b/security/manager/pki/resources/content/load_device.js index 0f77e1f1bd..ac122851e0 100644 --- a/security/manager/pki/resources/content/load_device.js +++ b/security/manager/pki/resources/content/load_device.js @@ -16,7 +16,11 @@ async function onBrowseBtnPress() { let [loadPK11ModuleFilePickerTitle] = await document.l10n.formatValues([ { id: "load-pk11-module-file-picker-title" }, ]); - fp.init(window, loadPK11ModuleFilePickerTitle, Ci.nsIFilePicker.modeOpen); + fp.init( + window.browsingContext, + loadPK11ModuleFilePickerTitle, + Ci.nsIFilePicker.modeOpen + ); fp.appendFilters(Ci.nsIFilePicker.filterAll); fp.open(rv => { if (rv == Ci.nsIFilePicker.returnOK) { diff --git a/security/manager/pki/resources/content/pippki.js b/security/manager/pki/resources/content/pippki.js index 8094074281..91cc68972e 100644 --- a/security/manager/pki/resources/content/pippki.js +++ b/security/manager/pki/resources/content/pippki.js @@ -127,7 +127,7 @@ async function exportToFile(parent, cert) { ); var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); - fp.init(parent, saveCertAs, Ci.nsIFilePicker.modeSave); + fp.init(parent.browsingContext, saveCertAs, Ci.nsIFilePicker.modeSave); fp.defaultString = certToFilename(cert); fp.defaultExtension = DEFAULT_CERT_EXTENSION; for (let format of Object.values(formats)) { @@ -225,7 +225,7 @@ function asyncDetermineUsages(cert) { ); Object.keys(certificateUsages).forEach(usageString => { promises.push( - new Promise((resolve, reject) => { + new Promise(resolve => { let usage = certificateUsages[usageString]; certdb.asyncVerifyCertAtTime( cert, @@ -233,7 +233,7 @@ function asyncDetermineUsages(cert) { 0, null, now, - (aPRErrorCode, aVerifiedChain, aHasEVPolicy) => { + (aPRErrorCode, aVerifiedChain) => { resolve({ usageString, errorCode: aPRErrorCode, diff --git a/security/manager/ssl/AppSignatureVerification.cpp b/security/manager/ssl/AppSignatureVerification.cpp index 399516dd9c..991006e1c1 100644 --- a/security/manager/ssl/AppSignatureVerification.cpp +++ b/security/manager/ssl/AppSignatureVerification.cpp @@ -1165,7 +1165,8 @@ nsresult VerifyPK7Signature( AppTrustedRoot aTrustedRoot, nsIZipReader* aZip, SignaturePolicy& aPolicy, /* out */ nsTHashtable<nsCStringHashKey>& aIgnoredFiles, /* out */ bool& aVerified, - /* out */ nsTArray<uint8_t>& aSignerCert) { + /* out */ nsTArray<uint8_t>& aSignerCert, + /* out */ SECOidTag& aHashAlgorithm) { NS_ENSURE_ARG_POINTER(aZip); bool required = aPolicy.PK7Required(); aVerified = false; @@ -1255,22 +1256,50 @@ nsresult VerifyPK7Signature( } aVerified = true; + aHashAlgorithm = digestToUse; return NS_OK; } -nsresult OpenSignedAppFile(AppTrustedRoot aTrustedRoot, nsIFile* aJarFile, - SignaturePolicy aPolicy, - /* out, optional */ nsIZipReader** aZipReader, - /* out, optional */ nsIX509Cert** aSignerCert) { +class AppSignatureInfo final : public nsIAppSignatureInfo { + public: + NS_DECL_THREADSAFE_ISUPPORTS + + AppSignatureInfo(RefPtr<nsIX509Cert>&& signerCert, + nsIAppSignatureInfo::SignatureAlgorithm signatureAlgorithm) + : mSignerCert(std::move(signerCert)), + mSignatureAlgorithm(signatureAlgorithm) {} + + NS_IMETHODIMP GetSignerCert(nsIX509Cert** signerCert) override { + *signerCert = do_AddRef(mSignerCert).take(); + return NS_OK; + } + + NS_IMETHODIMP GetSignatureAlgorithm( + nsIAppSignatureInfo::SignatureAlgorithm* signatureAlgorithm) override { + *signatureAlgorithm = mSignatureAlgorithm; + return NS_OK; + } + + private: + ~AppSignatureInfo() = default; + + RefPtr<nsIX509Cert> mSignerCert; + nsIAppSignatureInfo::SignatureAlgorithm mSignatureAlgorithm; +}; + +NS_IMPL_ISUPPORTS(AppSignatureInfo, nsIAppSignatureInfo) + +nsresult OpenSignedAppFile( + AppTrustedRoot aTrustedRoot, nsIFile* aJarFile, SignaturePolicy aPolicy, + /* out */ nsIZipReader** aZipReader, + /* out */ nsTArray<RefPtr<nsIAppSignatureInfo>>& aSignatureInfos) { NS_ENSURE_ARG_POINTER(aJarFile); if (aZipReader) { *aZipReader = nullptr; } - if (aSignerCert) { - *aSignerCert = nullptr; - } + aSignatureInfos.Clear(); nsresult rv; @@ -1281,10 +1310,11 @@ nsresult OpenSignedAppFile(AppTrustedRoot aTrustedRoot, nsIFile* aJarFile, rv = zip->Open(aJarFile); NS_ENSURE_SUCCESS(rv, rv); - bool pk7Verified = false; - bool coseVerified = false; nsTHashtable<nsCStringHashKey> ignoredFiles; + bool pk7Verified = false; nsTArray<uint8_t> pkcs7CertDER; + SECOidTag pkcs7HashAlgorithm = SEC_OID_UNKNOWN; + bool coseVerified = false; nsTArray<uint8_t> coseCertDER; // First we have to verify the PKCS#7 signature if there is one. @@ -1294,7 +1324,7 @@ nsresult OpenSignedAppFile(AppTrustedRoot aTrustedRoot, nsIFile* aJarFile, // signature verification. if (aPolicy.ProcessPK7()) { rv = VerifyPK7Signature(aTrustedRoot, zip, aPolicy, ignoredFiles, - pk7Verified, pkcs7CertDER); + pk7Verified, pkcs7CertDER, pkcs7HashAlgorithm); if (NS_FAILED(rv)) { return rv; } @@ -1334,24 +1364,34 @@ nsresult OpenSignedAppFile(AppTrustedRoot aTrustedRoot, nsIFile* aJarFile, zip.forget(aZipReader); } - // Return the signer's certificate to the reader if they want it. - if (aSignerCert) { - // The COSE certificate is authoritative. - if (aPolicy.COSERequired() || !coseCertDER.IsEmpty()) { - if (coseCertDER.IsEmpty()) { - return NS_ERROR_FAILURE; - } - nsCOMPtr<nsIX509Cert> signerCert( - new nsNSSCertificate(std::move(coseCertDER))); - signerCert.forget(aSignerCert); - } else { - if (pkcs7CertDER.IsEmpty()) { + // Return the signature information (a list of signing certificate and + // algorithm pairs). If present, the COSE signature will be first, followed + // by any PKCS7 signatures. + if (coseVerified && !coseCertDER.IsEmpty()) { + RefPtr<nsIX509Cert> signerCert( + new nsNSSCertificate(std::move(coseCertDER))); + aSignatureInfos.AppendElement(new AppSignatureInfo( + std::move(signerCert), + nsIAppSignatureInfo::SignatureAlgorithm::COSE_WITH_SHA256)); + } + if (pk7Verified && !pkcs7CertDER.IsEmpty()) { + RefPtr<nsIX509Cert> signerCert( + new nsNSSCertificate(std::move(pkcs7CertDER))); + nsIAppSignatureInfo::SignatureAlgorithm signatureAlgorithm; + switch (pkcs7HashAlgorithm) { + case SEC_OID_SHA1: + signatureAlgorithm = + nsIAppSignatureInfo::SignatureAlgorithm::PKCS7_WITH_SHA1; + break; + case SEC_OID_SHA256: + signatureAlgorithm = + nsIAppSignatureInfo::SignatureAlgorithm::PKCS7_WITH_SHA256; + break; + default: return NS_ERROR_FAILURE; - } - nsCOMPtr<nsIX509Cert> signerCert( - new nsNSSCertificate(std::move(pkcs7CertDER))); - signerCert.forget(aSignerCert); } + aSignatureInfos.AppendElement( + new AppSignatureInfo(std::move(signerCert), signatureAlgorithm)); } return NS_OK; @@ -1371,20 +1411,19 @@ class OpenSignedAppFileTask final : public CryptoTask { private: virtual nsresult CalculateResult() override { return OpenSignedAppFile(mTrustedRoot, mJarFile, mPolicy, - getter_AddRefs(mZipReader), - getter_AddRefs(mSignerCert)); + getter_AddRefs(mZipReader), mSignatureInfos); } virtual void CallCallback(nsresult rv) override { - (void)mCallback->OpenSignedAppFileFinished(rv, mZipReader, mSignerCert); + (void)mCallback->OpenSignedAppFileFinished(rv, mZipReader, mSignatureInfos); } const AppTrustedRoot mTrustedRoot; const nsCOMPtr<nsIFile> mJarFile; const SignaturePolicy mPolicy; nsMainThreadPtrHandle<nsIOpenSignedAppFileCallback> mCallback; - nsCOMPtr<nsIZipReader> mZipReader; // out - nsCOMPtr<nsIX509Cert> mSignerCert; // out + nsCOMPtr<nsIZipReader> mZipReader; // out + nsTArray<RefPtr<nsIAppSignatureInfo>> mSignatureInfos; // out }; static const int32_t sDefaultSignaturePolicy = 0b10; diff --git a/security/manager/ssl/AppTrustDomain.cpp b/security/manager/ssl/AppTrustDomain.cpp index 2cdf275ade..6ce1a9741e 100644 --- a/security/manager/ssl/AppTrustDomain.cpp +++ b/security/manager/ssl/AppTrustDomain.cpp @@ -33,6 +33,7 @@ #include "addons-public.inc" #include "addons-public-intermediate.inc" #include "addons-stage.inc" +#include "addons-stage-intermediate.inc" // Content signature root certificates #include "content-signature-dev.inc" #include "content-signature-local.inc" @@ -86,9 +87,16 @@ nsresult AppTrustDomain::SetTrustedRoot(AppTrustedRoot trustedRoot) { // If we're verifying add-ons signed by our production root, we want to make // sure a valid intermediate certificate is available for path building. + // The intermediate bundled with signed XPI files may have expired and be + // considered invalid, which can result in bug 1548973. if (trustedRoot == nsIX509CertDB::AddonsPublicRoot) { mAddonsIntermediate = {addonsPublicIntermediate}; } + // Similarly to the above logic for production, we hardcode the intermediate + // stage certificate here, so that stage is equivalent to production. + if (trustedRoot == nsIX509CertDB::AddonsStageRoot) { + mAddonsIntermediate = {addonsStageIntermediate}; + } return NS_OK; } diff --git a/security/manager/ssl/OSReauthenticatorDarwin.mm b/security/manager/ssl/OSReauthenticatorDarwin.mm index 5776f60674..82f57c285a 100644 --- a/security/manager/ssl/OSReauthenticatorDarwin.mm +++ b/security/manager/ssl/OSReauthenticatorDarwin.mm @@ -6,7 +6,7 @@ #include "OSReauthenticator.h" -#include "nsCocoaUtils.h" +#include "mozilla/MacStringHelpers.h" using namespace mozilla; @@ -23,7 +23,7 @@ nsresult ReauthenticateUserMacOS(const nsAString& aPrompt, // password. If they correctly enter it, we'll set aReauthenticated to true. LAContext* context = [[LAContext alloc] init]; - NSString* prompt = nsCocoaUtils::ToNSString(aPrompt); + NSString* prompt = mozilla::XPCOMStringToNSString(aPrompt); dispatch_semaphore_t sema = dispatch_semaphore_create(0); diff --git a/security/manager/ssl/RemoteSecuritySettings.sys.mjs b/security/manager/ssl/RemoteSecuritySettings.sys.mjs index 5283a21a3c..7781aff9c4 100644 --- a/security/manager/ssl/RemoteSecuritySettings.sys.mjs +++ b/security/manager/ssl/RemoteSecuritySettings.sys.mjs @@ -29,7 +29,7 @@ ChromeUtils.defineLazyGetter(lazy, "log", () => { "resource://gre/modules/Console.sys.mjs" ); return new ConsoleAPI({ - prefix: "RemoteSecuritySettings.jsm", + prefix: "RemoteSecuritySettings", // tip: set maxLogLevel to "debug" and use log.debug() to create detailed // messages during development. See LOG_LEVELS in Console.sys.mjs for details. maxLogLevel: "error", @@ -393,7 +393,7 @@ class IntermediatePreloads { ); } - async onObservePollEnd(subject, topic, data) { + async onObservePollEnd(subject, topic) { lazy.log.debug(`onObservePollEnd ${subject} ${topic}`); try { @@ -404,7 +404,7 @@ class IntermediatePreloads { } // This method returns a promise to RemoteSettingsClient.maybeSync method. - async onSync({ data: { current, created, updated, deleted } }) { + async onSync({ data: { deleted } }) { if (!Services.prefs.getBoolPref(INTERMEDIATES_ENABLED_PREF, true)) { lazy.log.debug("Intermediate Preloading is disabled"); return; @@ -538,7 +538,7 @@ class CRLiteFilters { } } - async onObservePollEnd(subject, topic, data) { + async onObservePollEnd() { if (!Services.prefs.getBoolPref(CRLITE_FILTERS_ENABLED_PREF, true)) { lazy.log.debug("CRLite filter downloading is disabled"); Services.obs.notifyObservers( diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 6b72b7a6bf..316c2fcd60 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -780,4 +780,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1718621549468000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1721041079749000); diff --git a/security/manager/ssl/addons-stage-intermediate.crt b/security/manager/ssl/addons-stage-intermediate.crt Binary files differnew file mode 100644 index 0000000000..1870c25f45 --- /dev/null +++ b/security/manager/ssl/addons-stage-intermediate.crt diff --git a/security/manager/ssl/addons-stage.crt b/security/manager/ssl/addons-stage.crt Binary files differindex 73e48cadfe..f72f690e2b 100644 --- a/security/manager/ssl/addons-stage.crt +++ b/security/manager/ssl/addons-stage.crt diff --git a/security/manager/ssl/gen_cert_header.py b/security/manager/ssl/gen_cert_header.py index a141a9b54b..683a9a6a34 100644 --- a/security/manager/ssl/gen_cert_header.py +++ b/security/manager/ssl/gen_cert_header.py @@ -32,6 +32,7 @@ array_names = [ "addonsPublicIntermediate", "addonsPublicRoot", "addonsStageRoot", + "addonsStageIntermediate", "contentSignatureDevRoot", "contentSignatureLocalRoot", "contentSignatureProdRoot", diff --git a/security/manager/ssl/ipcclientcerts/src/lib.rs b/security/manager/ssl/ipcclientcerts/src/lib.rs index cc2580d9d4..f76449909b 100644 --- a/security/manager/ssl/ipcclientcerts/src/lib.rs +++ b/security/manager/ssl/ipcclientcerts/src/lib.rs @@ -1045,5 +1045,5 @@ pub extern "C" fn IPCCC_GetFunctionList(ppFunctionList: CK_FUNCTION_LIST_PTR_PTR CKR_OK } -#[cfg_attr(target_os = "macos", link(name = "Security", kind = "framework"))] +#[cfg_attr(any(target_os = "macos", target_os = "ios"), link(name = "Security", kind = "framework"))] extern "C" {} diff --git a/security/manager/ssl/metrics.yaml b/security/manager/ssl/metrics.yaml index a03682affb..5403454953 100644 --- a/security/manager/ssl/metrics.yaml +++ b/security/manager/ssl/metrics.yaml @@ -53,26 +53,6 @@ data_storage: expires: never unit: entries -oskeystore: - self_test: - type: labeled_boolean - description: - Whether or not each step of the OSKeyStore self test succeeded. - bugs: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1855759 - data_reviews: - - https://bugzilla.mozilla.org/show_bug.cgi?id=1855759 - data_sensitivity: - - interaction - notification_emails: - - dkeeler@mozilla.com - expires: 126 - labels: - - generate - - available - - encrypt - - decrypt - tls: certificate_verifications: type: counter diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build index 676652db28..1065bd97a5 100644 --- a/security/manager/ssl/moz.build +++ b/security/manager/ssl/moz.build @@ -169,7 +169,7 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": CFLAGS += CONFIG["GLIB_CFLAGS"] CXXFLAGS += CONFIG["GLIB_CFLAGS"] -if CONFIG["OS_ARCH"] == "Darwin": +if CONFIG["TARGET_KERNEL"] == "Darwin": UNIFIED_SOURCES += [ "KeychainSecret.cpp", "OSReauthenticatorDarwin.mm", @@ -245,6 +245,11 @@ headers_arrays_certs = [ ), ("addons-stage.inc", "addonsStageRoot", "addons-stage.crt"), ( + "addons-stage-intermediate.inc", + "addonsStageIntermediate", + "addons-stage-intermediate.crt", + ), + ( "content-signature-prod.inc", "contentSignatureProdRoot", "content-signature-prod.crt", diff --git a/security/manager/ssl/nsICertStorage.idl b/security/manager/ssl/nsICertStorage.idl index 3379aaafe7..91008e3cf0 100644 --- a/security/manager/ssl/nsICertStorage.idl +++ b/security/manager/ssl/nsICertStorage.idl @@ -6,10 +6,6 @@ #include "nsISupports.idl" #include "nsIVariant.idl" -%{C++ -#define NS_CERTSTORAGE_CONTRACTID "@mozilla.org/security/certstorage;1" -%} - /** * Callback type used to notify callers that an operation performed by * nsICertStorage has completed. Indicates the result of the requested diff --git a/security/manager/ssl/nsICertTree.idl b/security/manager/ssl/nsICertTree.idl index 8b506882c3..9b77d4a813 100644 --- a/security/manager/ssl/nsICertTree.idl +++ b/security/manager/ssl/nsICertTree.idl @@ -28,12 +28,3 @@ interface nsICertTree : nsITreeView { [must_use] void deleteEntryObject(in unsigned long index); }; - -%{C++ - -#define NS_CERTTREE_CID { 0x4ea60761, 0x31d6, 0x491d, \ - { 0x9e, 0x34, 0x4b, 0x53, 0xa2, 0x6c, 0x41, 0x6c } } - -#define NS_CERTTREE_CONTRACTID "@mozilla.org/security/nsCertTree;1" - -%} diff --git a/security/manager/ssl/nsINSSVersion.idl b/security/manager/ssl/nsINSSVersion.idl index 000f221e61..5d79ac0ae7 100644 --- a/security/manager/ssl/nsINSSVersion.idl +++ b/security/manager/ssl/nsINSSVersion.idl @@ -5,10 +5,6 @@ #include "nsISupports.idl" -%{C++ -#define NS_NSSVERSION_CONTRACTID "@mozilla.org/security/nssversion;1" -%} - [scriptable, uuid(a8a53a2b-75cc-4c68-a9bb-9791dbddaa00)] interface nsINSSVersion : nsISupports { /* Minimal required versions as used at build time */ diff --git a/security/manager/ssl/nsIPK11TokenDB.idl b/security/manager/ssl/nsIPK11TokenDB.idl index c493e0c57c..a032f75c52 100644 --- a/security/manager/ssl/nsIPK11TokenDB.idl +++ b/security/manager/ssl/nsIPK11TokenDB.idl @@ -14,9 +14,6 @@ interface nsIPK11Token; * Interfaces: nsIPK11TokenDB * Threading: ?? */ -%{C++ -#define NS_PK11TOKENDB_CONTRACTID "@mozilla.org/security/pk11tokendb;1" -%} /** * nsIPK11TokenDB - Manages PK11 Tokens diff --git a/security/manager/ssl/nsIX509CertDB.idl b/security/manager/ssl/nsIX509CertDB.idl index fe72c78f40..733caed3d6 100644 --- a/security/manager/ssl/nsIX509CertDB.idl +++ b/security/manager/ssl/nsIX509CertDB.idl @@ -19,12 +19,26 @@ interface nsIInputStream; typedef uint32_t AppTrustedRoot; +[scriptable, builtinclass, uuid(e5795418-86e0-4c0b-9b98-ac7eee0c2af7)] +interface nsIAppSignatureInfo : nsISupports { + // Supported signature algorithms. + cenum SignatureAlgorithm : 32 { + PKCS7_WITH_SHA1, + PKCS7_WITH_SHA256, + COSE_WITH_SHA256, + }; + + // The certificate that created the signature. + readonly attribute nsIX509Cert signerCert; + readonly attribute nsIAppSignatureInfo_SignatureAlgorithm signatureAlgorithm; +}; + [scriptable, function, uuid(fc2b60e5-9a07-47c2-a2cd-b83b68a660ac)] interface nsIOpenSignedAppFileCallback : nsISupports { void openSignedAppFileFinished(in nsresult rv, in nsIZipReader aZipReader, - in nsIX509Cert aSignerCert); + in Array<nsIAppSignatureInfo> aSignatureInfos); }; [scriptable, function, uuid(07c08655-8b11-4650-b6c4-0c145595ceb5)] diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index a2a0b03969..40b3d68517 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); +const PRTime gPreloadListExpirationTime = INT64_C(1723460211891000); %% 0--1.de, 1 0-0.io, 1 @@ -145,7 +145,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 011100110110010101110010011001110110100101101111.com, 1 011101.xyz, 1 0116288.com, 1 -011631.com, 1 0117552.com, 0 011ks.com, 1 012345678365.com, 1 @@ -182,9 +181,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 023sec.com, 1 025500.xyz, 1 02638.net, 1 -026637.com, 1 027862.com, 1 -029637.com, 1 02d88.net, 1 02n.cn, 1 02smh.com, 1 @@ -257,14 +254,12 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 06091994.xyz, 1 06365t.com, 1 065l.com, 1 -066630.com, 1 06804.com, 0 0681a.com, 1 0681h.com, 1 068552.com, 0 06d88.com, 1 06d88.net, 1 -06se.com, 1 070709.net, 1 070930.com, 1 0712z6.com, 1 @@ -302,9 +297,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 082193.com, 1 082195.com, 1 082359.com, 1 -083321.com, 1 083326.com, 1 -083329.com, 1 08365t.com, 1 083967.com, 1 084552.com, 1 @@ -321,7 +314,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 090136.com, 1 0906-clan.tk, 1 09115.com, 0 -091630.com, 1 091k8.com, 0 0935792342.tw, 1 09365t.com, 1 @@ -429,6 +421,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1-800-mattress.com, 1 1-ae.com, 1 1-inv.com, 1 +1-planet.org, 1 1-pujcky-uvery.tk, 1 1-x-bet.com, 1 1-x-bet.ke, 1 @@ -462,6 +455,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1007337.com, 1 10086.id, 1 10086.ru, 1 +1008608.com, 1 100baksov.tk, 1 100ballov.tk, 1 100beauty.com, 1 @@ -471,7 +465,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 100fss.marketing, 1 100k.eu, 1 100kraz.ga, 1 -100kredite.de, 1 100lib.ru, 1 100mani.it, 1 100nome.com, 1 @@ -492,6 +485,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 100v.org, 1 100visits.tk, 1 100voprosov.tk, 1 +100xiao.org, 1 100zakladok.tk, 1 10101.io, 1 101010.hopto.org, 1 @@ -574,7 +568,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 10x.to, 1 10xnation.com, 1 1100.so, 1 -1100110.xyz, 1 11018vip.com, 1 11018xpj.com, 1 11046.com, 1 @@ -884,7 +877,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 12365t.com, 1 123apps.com, 1 123birthdaygreetings.com, 1 -123comparer.be, 1 123comparer.fr, 1 123derivatives.com, 1 123djdrop.com, 1 @@ -925,7 +917,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 127661.com, 1 12778.com, 1 1277bet.com, 1 -128012.com, 0 128612.com, 1 12877.com, 1 1288366.com, 1 @@ -955,7 +946,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 131365qq.com, 1 1313z6.com, 1 13214.cc, 1 -132813.com, 1 132kv.ch, 1 133.casino, 1 13318522.com, 1 @@ -995,7 +985,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 14159.gb.net, 1 142552.com, 0 142710.com, 1 -144-217-180-114.xyz, 1 144chan.ml, 1 1453914078.rsc.cdn77.org, 1 1459.io, 1 @@ -1092,7 +1081,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 16-qw.tk, 1 161.sh, 1 161233.com, 0 -161263.com, 0 16164f.com, 1 16195.com, 1 1620301.com, 1 @@ -1331,7 +1319,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1820347.com, 1 1820348.com, 1 1820349.com, 1 -1820350.com, 1 182wh.com, 1 182zlong.com, 1 1831365.com, 1 @@ -1365,10 +1352,12 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 18pee.com, 1 18pioners.tk, 1 18teensporn.pro, 1 +18thandvine.org, 1 18upchat.com, 1 18vr.com, 1 1911trust.com, 1 1912x.com, 1 +192.com, 1 1920.tk, 1 1920301.com, 1 1920302.com, 1 @@ -1465,8 +1454,10 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1breadcrumb.com, 1 1breadcrumb.com.au, 1 1c-power.ru, 1 +1casino-online-games.com, 1 1cbit.ru, 1 1chan.pl, 1 +1choicegaragedoor.com, 1 1codex.online, 1 1cover.co.nz, 1 1cover.com.au, 1 @@ -1491,6 +1482,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1f616emo.xyz, 1 1fastcourse.com, 1 1fc0.org, 1 +1forma.org, 1 1fresh.com, 1 1g.gg, 1 1gp.us, 1 @@ -1500,7 +1492,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1hfree.tk, 1 1huiszoeken.nl, 1 1ii.im, 1 -1it.click, 1 1js.de, 1 1kando.com, 0 1kdui.com, 1 @@ -1573,7 +1564,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1ststop.co.uk, 1 1sttix.org, 1 1ticks.com, 1 -1tip.com, 1 1tomplumber.com, 1 1u0m.com, 1 1up.it, 1 @@ -1585,6 +1575,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1voz.org, 1 1vpns.com, 1 1vs2.by, 1 +1w6.net, 1 1way.faith, 1 1whw.co.uk, 1 1whw.uk, 1 @@ -1610,6 +1601,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1x2020.xyz, 1 1x2betwinner.com, 1 1x2magazine.eu, 1 +1x4.com.au, 1 1x88.net, 1 1xaja.com, 1 1xb88.net, 1 @@ -1707,7 +1699,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1xbet26.com, 1 1xbet27.com, 1 1xbet3.com, 1 -1xbet359348.top, 1 1xbet36.com, 1 1xbet4.com, 1 1xbet50.com, 1 @@ -1795,6 +1786,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 1zavse.si, 1 1zwolle.nl, 1 2-ae.com, 1 +2-ca.fr, 1 2-euromuenzen.de, 1 2-faktor-betaling.dk, 1 2.pe, 1 @@ -1822,7 +1814,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 2018-frisuren.tk, 1 2018.wales, 1 2018fifaworldcup.tk, 1 -2020cadillac.com, 1 2020spaces.com, 1 2021.dog, 1 2021bleibtsernst.at, 1 @@ -1950,7 +1941,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 22ccaa.com, 1 22d.io, 1 22delta.com, 1 -22emesiecle.com, 1 22ffaaa.com, 1 22ffbbb.com, 1 22ffccc.com, 1 @@ -2039,6 +2029,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 2333blog.com, 1 2333boy.com, 1 2333hub.com, 1 +2333it.com, 1 2333z6.com, 1 23365t.com, 1 233abc.com, 0 @@ -2073,7 +2064,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 23ks.app, 1 24-7.fi, 1 24-7.jp, 1 +24-7heatandair.org, 1 24-7intouch.com, 1 +24-7plumbingpros.org, 1 24-restore.com, 1 240525.com, 1 240786.com, 1 @@ -2131,6 +2124,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 24ball.com, 1 24beauty.com, 1 24bel.ru, 0 +24bit.dk, 1 24chance.tk, 1 24control.com, 1 24fair.com, 1 @@ -2138,7 +2132,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 24gazette.ga, 1 24gis.com, 1 24go.me, 1 -24h.com.br, 0 24hod.com, 1 24hour-locksmithsanantonio.com, 1 24hourcyclist.co.uk, 1 @@ -2222,10 +2215,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 283928.com, 1 28428.com, 0 284365.com, 1 -285128.com, 1 287628.com, 1 2881dh.com, 1 -288628.com, 0 28865.de, 1 28865.eu, 1 288cn-563.com, 1 @@ -2272,6 +2263,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 2chi1.com, 1 2choose.com, 1 2class.eu.org, 1 +2cosmo4.me, 1 2cv-co.be, 1 2cvclubdepicardie.tk, 1 2daysmood.asia, 1 @@ -2296,7 +2288,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 2gether.fr, 1 2gisparser.tk, 1 2gmedia.de, 1 -2h-nagoya.org, 1 2habc.com, 1 2head.com, 1 2heartsbookings.co.uk, 1 @@ -2346,7 +2337,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 2sendai.net, 1 2serious.com, 1 2steel.com, 1 -2stv.net, 0 2target.com, 1 2tausend19.de, 1 2th.me, 1 @@ -2357,7 +2347,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 2value.com, 1 2vnews.com, 1 2vp-an.online, 1 -2wheel.com, 0 2x.nu, 1 2xgraphik.com, 1 2y.fi, 1 @@ -2385,8 +2374,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 308274.com, 1 3090.eu, 1 30bet365.com, 1 -30daystosoc.com, 1 30deagosto.tk, 1 +30dtang.com, 1 30for30podcasts.com, 1 30minut.com, 1 30nama1.tk, 1 @@ -2395,6 +2384,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 31-elagage.fr, 1 31.to, 1 3100.cf, 1 +31268875.com, 1 3133bet.com, 1 313xpj.com, 0 314257.com, 1 @@ -2415,18 +2405,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 31789999.com, 0 317899999.com, 0 3178b.com, 0 -3178c.com, 0 3178dd.com, 1 -3178e.com, 0 -3178f.com, 0 -3178g.com, 0 -3178h.com, 0 -3178i.com, 0 3178l.com, 0 -3178m.com, 0 -3178n.com, 0 -3178o.com, 0 -3178p.com, 0 3178ppp.com, 0 3178qqq.com, 0 3178rrr.com, 0 @@ -2463,6 +2443,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 33-couvreur.fr, 1 33-km.ru, 1 3306.io, 1 +330apps.org, 1 33132.com, 1 33138app.com, 0 33138vip.com, 1 @@ -2764,7 +2745,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 36xn.com, 1 36yf.com, 1 370385.com, 1 -371437.com, 1 371cloud.com, 0 372bbb.com, 1 373.moe, 1 @@ -2804,6 +2784,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 3837k.com, 0 3837x.com, 0 383838.plus, 1 +3838onndo.tk, 1 3839.ca, 1 383aaa.com, 1 384854.com, 1 @@ -2906,7 +2887,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 3countiescastlehire.co.uk, 1 3creation.com, 1 3cs.ch, 0 -3ct.group, 1 3cup90.com, 1 3d-animator.net, 1 3d-glow.de, 1 @@ -2916,6 +2896,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 3dall.ro, 1 3danimation.tk, 1 3dapartment.com, 1 +3dbox.ba, 1 3dc9.jp, 1 3dcaipiao.com, 1 3dcollective.es, 1 @@ -2927,7 +2908,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 3dfeel.com, 1 3dfiguur.nl, 0 3dflat.tk, 1 -3dflipbook.net, 1 3dgep.com, 1 3dinosaurs.com, 1 3dissue.com, 1 @@ -2949,7 +2929,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 3dreal.tk, 1 3ds-max.org, 1 3dscanners.co.uk, 1 -3dshards.com, 1 3dsites.tk, 1 3dstandard.com, 1 3dstore.dk, 1 @@ -3303,7 +3282,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 47essays.com, 1 47tech.com, 1 47yr.com, 1 -480ptvseries.com, 1 482449.com, 1 483329.com, 1 483610.com, 1 @@ -3328,7 +3306,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 49948522.com, 1 499ks.net, 1 49ko.com, 1 +4ads-newsletter.de, 1 4ads.de, 1 +4ads.email, 1 4ae86.com, 1 4allpromos.com, 1 4am.click, 1 @@ -3368,7 +3348,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 4fit.ro, 1 4flex.info, 1 4freepress.com, 1 -4freeprintable.com, 1 4g-server.eu, 0 4game.my.id, 1 4garage.com.br, 1 @@ -3396,7 +3375,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 4maniacos.tk, 1 4meizu.ru, 0 4mm.org, 1 -4motionsgmbh.de, 1 4n3.net, 1 4nature.com, 1 4netguides.org, 1 @@ -3485,6 +3463,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 50lakeshore.com, 1 50ma.xyz, 1 50miners.tk, 1 +50n.eu, 1 50plusdating.ml, 1 50plusdating.tk, 1 50plusmusikfestival.ch, 1 @@ -3614,7 +3593,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 52002x.com, 1 52002y.com, 1 5201365.com, 0 -52051.com, 1 +52051.com, 0 52051a.com, 1 5205365.com, 0 52062z.com, 1 @@ -3638,7 +3617,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 52fish.com, 1 52fss.marketing, 1 52hentai.ml, 1 -52itt.com, 1 52kb1.com, 1 52kb365.com, 0 52ncp.net, 1 @@ -3655,6 +3633,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 5364d.com, 1 5364jc.com, 1 538507.com, 1 +53jl.com, 1 53ningen.com, 0 53pluk.cz, 1 540interactive.com, 1 @@ -3772,7 +3751,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 579514.com, 1 5795444.com, 1 5795887.com, 1 -582303.com, 1 585380.com, 1 588e.com, 1 589174.com, 1 @@ -3792,7 +3770,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 5981668.com, 1 5981669.com, 1 5981677.com, 1 -5981688.com, 1 +5981688.com, 0 5981699.com, 1 5981800.com, 1 5981811.com, 1 @@ -3924,17 +3902,14 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 61d88.com, 1 61fss.net, 1 620207.com, 1 -620862.com, 1 621424.com, 1 621kb.com, 1 621nn.com, 0 625kb.com, 1 626562.com, 1 -628062.com, 1 -628462.com, 1 632025.com, 1 632026.com, 1 -632027.com, 1 +632027.com, 0 632035.com, 0 632040.com, 1 632045.com, 1 @@ -3952,7 +3927,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 632148.com, 0 632174.com, 0 632365.com, 1 -632863.com, 1 633663.net, 1 633663.vip, 1 635-488.com, 0 @@ -3961,8 +3935,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 635-888.com, 1 635-988.com, 1 636051.com, 1 -637663.com, 1 638566.com, 1 +638t.com, 1 6396000.com, 1 63960000.com, 1 63961111.com, 1 @@ -3985,14 +3959,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 639688888.com, 1 63969999.com, 0 639699999.com, 0 -6396aaa.com, 1 -6396bbb.com, 1 -6396ccc.com, 1 -6396ddd.com, 1 -6396eee.com, 0 -6396fff.com, 1 -6396iii.com, 0 -6396jjj.com, 0 6396ooo.com, 0 6396qqq.com, 0 6396rrr.com, 0 @@ -4010,7 +3976,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 64970.com, 1 64bitgaming.de, 1 64stacks.com, 1 -650.org, 1 +6502.pro, 1 65131a.com, 1 65131b.com, 1 65131c.com, 1 @@ -4039,7 +4005,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 6548877.com, 1 654pk.cn, 1 655ks.com, 1 -656265.com, 1 658565.com, 1 659265.com, 1 65d88.com, 1 @@ -4110,7 +4075,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 666b58.com, 0 666bet86.com, 1 666btt.net, 1 -6677.us, 1 6688.ovh, 1 668825.vip, 1 668k8.net, 1 @@ -4309,7 +4273,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 67y7.com, 0 682368.com, 1 68277.me, 1 -683168.com, 1 683968.com, 1 684781.com, 1 68522c.com, 1 @@ -4320,8 +4283,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 68622a.com, 1 68622b.com, 1 68636.cc, 1 -68636.com, 1 -68636.vip, 1 689368.com, 1 68reg.tk, 1 692241.com, 1 @@ -4421,11 +4382,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 700wns.com, 1 701squad.tk, 1 702341.win, 1 -702343.win, 1 -702344.win, 1 -702345.win, 1 70365365.com, 0 -703700.com, 1 705994.com, 1 708090.ru, 1 70872.com, 0 @@ -4433,7 +4390,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 70mpg.org, 1 7100.cf, 1 712kb.com, 1 -713367.com, 0 71365365.com, 0 713kb.com, 1 716176.com, 0 @@ -4441,6 +4397,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 717966833.xyz, 1 718113.com, 0 7183.org, 0 +718v.com, 1 71fss.marketing, 1 71tuiguang.com, 1 7203.ru, 1 @@ -4461,7 +4418,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 730.no, 1 732273.com, 1 732473.com, 1 -733575.com, 0 73365365.com, 0 733673.com, 1 734365.com, 1 @@ -4487,7 +4443,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 74th.jp, 1 750375.com, 1 750475.com, 1 -751175.com, 1 751930.com, 1 753345.com, 1 7552001.com, 1 @@ -4615,7 +4570,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 78-couvreur.fr, 1 78.to, 1 780aa.com, 1 -783306.com, 1 783346.com, 1 78365b.com, 0 783lab.com, 1 @@ -4650,6 +4604,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 7b.gg, 1 7bandarqq.com, 1 7bet86.com, 1 +7cardstud.org, 1 7daystodie.top, 1 7delights.in, 1 7dies.net, 1 @@ -4660,6 +4615,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 7f.is, 1 7gr.uk, 1 7graus.pt, 1 +7heavencr.com, 1 7hills.us, 1 7hq.ru, 1 7im.co.uk, 1 @@ -4669,19 +4625,18 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 7kovrikov.ru, 1 7kvadratov.by, 1 7l00p.com, 1 -7learnings.com, 1 7links.com.br, 1 7milesglobal.com, 1 7money.co, 1 7net.uk, 1 7networking.com, 1 -7pets.net, 1 7plus.com.au, 1 7pm.studio, 1 7proxies.com, 1 7qly.com, 1 7quark.xyz, 1 7sdre.am, 1 +7seas.co.jp, 1 7sisters.tk, 1 7sotok.info, 1 7starhealth.ga, 1 @@ -4691,7 +4646,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 7x24servis.com, 1 7x7cajalosandes.cl, 1 7zet.ml, 1 -80001234.com, 1 8000plus.si, 1 8001d.com, 1 8001d88.com, 1 @@ -4785,7 +4739,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 8162d.com, 1 8167365.com, 0 816jz.com, 1 -817181.com, 1 8171d.com, 1 817209.com, 0 8173d.com, 1 @@ -4894,7 +4847,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 833z6.com, 1 834365.com, 1 8349822.com, 1 -835183.com, 1 836436.com, 1 838180.com, 1 838888.net, 1 @@ -4969,7 +4921,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 8586cp.com, 1 86001688.com, 1 8602010.com, 1 -862.tv, 1 863479.com, 1 8649955.com, 1 8649966.com, 1 @@ -4978,7 +4929,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 866300.vip, 1 866305.vip, 1 866308.vip, 1 -8666321.com, 1 867104.com, 1 8688fc.com, 1 868z6.com, 1 @@ -4991,11 +4941,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 872291.com, 0 8722ph.com, 1 8722usa.com, 1 -872787.com, 1 873394.com, 1 87365365.com, 0 877027.com, 0 -877287.com, 1 877791.com, 1 878365cn.com, 1 878431.com, 1 @@ -5029,15 +4977,11 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 885z6.com, 1 8860d.com, 1 88661234.com, 1 -886666f.com, 0 886666l.com, 0 886666n.com, 1 886666p.com, 1 886666q.com, 1 -886666r.com, 0 886666s.com, 1 -886666t.com, 0 -886666u.com, 0 886666v.com, 0 8866d88.com, 1 8868ty8.com, 1 @@ -5083,7 +5027,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 888aicai.com, 1 888bet86.com, 1 888bwf.com, 1 -888casino-canada.com, 1 888lots.com, 1 888starz-5b.bet, 1 888starz.bet, 1 @@ -5112,6 +5055,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 88bet86.com, 1 88bill.com, 1 88cakescorner.com, 1 +88chigua.com, 1 88d.com, 1 88djl.cc, 1 88ffaaa.com, 1 @@ -5169,7 +5113,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 88laohu.cc, 1 88laohu.com, 1 88thpolarisscouts.ca, 1 -88yabo.com, 1 88yule11.com, 1 88yule112.com, 1 88yule113.com, 1 @@ -5385,8 +5328,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9118.com, 1 9118.hk, 0 9118.la, 1 -91181.cc, 1 -91186.cc, 1 9118inc.com, 0 911commission.gov, 1 911dispatcheredu.org, 1 @@ -5505,7 +5446,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 91milk.net, 0 91news.tk, 1 91quanji.com, 1 -91short.com, 1 +91short.com, 0 91tianmi.com, 0 91tvg.com, 1 9200.cf, 1 @@ -5638,7 +5579,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9313.cf, 1 9314.cf, 1 9315.cf, 1 -931593.com, 1 9316.cf, 1 9317.cf, 1 9318.cf, 1 @@ -5653,7 +5593,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9327.cf, 1 9328.cf, 1 9329.cf, 1 -932993.com, 1 9330.cf, 1 9331.cf, 1 9332.cf, 1 @@ -5702,17 +5641,14 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9368.cf, 1 9369.cf, 1 9370.cf, 1 -937093.com, 1 9371.cf, 1 9372.cf, 1 9373.cf, 1 9374.cf, 1 9375.cf, 1 9376.cf, 1 -937693.com, 1 9377.cf, 1 9378.cf, 1 -937893.com, 1 9379.cf, 1 9381.cf, 1 938193.com, 1 @@ -5799,7 +5735,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9499958.com, 0 9499jjj.com, 0 9499l.com, 0 -9499mmmm.com, 1 9499ttt.com, 0 9499xxx.com, 0 9499yl.com, 1 @@ -5957,6 +5892,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 96448.com, 1 964515.com, 1 96577.com, 1 +96605.com, 1 96606.com, 1 96607.com, 1 96658.com, 1 @@ -5991,7 +5927,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9720.cf, 1 9721dh.com, 1 9721hd.com, 1 -9721o.com, 1 9721ss.com, 0 9722.cf, 1 9723.cf, 1 @@ -6104,7 +6039,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 977395.com, 1 977kb.com, 1 97bros.com, 1 -97m.cc, 1 9800.cc, 1 9801.cf, 1 980709.xyz, 1 @@ -6550,9 +6484,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1721040743743000); 9vx.org, 1 9xbuddy.com, 1 9xbuddy.xyz, 1 -9xmoviesapp.com, 1 9yw.me, 1 9zlatan9.tk, 1 +9ztest.com, 1 a-1waterproofing.com, 1 a-allard.be, 0 a-b.ee, 1 @@ -6670,6 +6604,7 @@ a6695.com, 0 a6729.co, 1 a6729.com, 0 a6957.co, 1 +a6s.me, 1 a77018.com, 0 a7m2.me, 1 a7sa2eat.com, 1 @@ -6707,8 +6642,11 @@ aaapucrio.com.br, 1 aabanet.com.br, 1 aabeltech.com, 1 aabenjaminjewelry.com, 0 +aabigbirminghamconvention.com, 1 aacc.ac, 1 +aace-ags.org, 1 aachen-quiz.de, 1 +aacommunications.site, 1 aacs-design.com, 1 aad-gp.com, 1 aadl.ga, 1 @@ -6750,6 +6688,7 @@ aappe.fr, 0 aaprotocol.tk, 1 aarailfan.com, 1 aardvarksoep.nl, 1 +aaremstesting.org, 1 aareptan.ch, 1 aarestation.ch, 1 aarhus-protein.dk, 1 @@ -6889,6 +6828,7 @@ abcideabased.com, 1 abcine.tk, 1 abckam.com, 1 abclyrics.tk, 1 +abcnextplans.org, 1 abcode.ml, 1 abcorporate-aviation.com, 1 abcorporate-aviation.fr, 1 @@ -6922,7 +6862,6 @@ abdullahavci.net, 1 abdullahavci.net.tr, 1 abdullahavci.org, 1 abdullahavci.org.tr, 1 -abdullahki.com, 1 abdullahzubayerofficial.ml, 1 abdulraheem.org, 1 abdulraheemalick.com, 1 @@ -6961,6 +6900,7 @@ aberdeencriticalmass.tk, 1 aberon.pl, 1 aberrantvascular.tk, 1 aberson.nl, 1 +abetteramerican.org, 1 abetterdeath.com, 1 abetterwichita.org, 1 abeus.com, 1 @@ -7159,8 +7099,8 @@ aboutyou.ro, 1 aboutyou.se, 1 aboutyou.si, 1 aboutyou.sk, 1 -aboveall.love, 1 abovethefirehouse.com, 1 +abovr.com, 1 abox-kb.com, 1 abpages.com, 1 abpis.hr, 1 @@ -7284,11 +7224,10 @@ academiacomercialalpina.com, 1 academiadelmolino.com.uy, 1 academiadeufologia.com.br, 1 academiaeureka.tk, 1 +academiamenonitasjonline.org, 1 academiaofimage.com, 1 academiasdemodelos.com, 0 -academic-master.com, 1 academica.nl, 1 -academicassignmentexperts.com, 1 academichealthscience.net, 1 academichelp.gq, 1 academie-angoumois.org, 1 @@ -7296,6 +7235,7 @@ academie-de-police.ch, 0 academika.tk, 1 academkin.com, 1 academy-awards.ml, 1 +academyofartbarcelona.com, 1 academyonlinetoyou.tk, 1 academyruins.com, 1 academytv.com.au, 1 @@ -7351,6 +7291,7 @@ accent-homedecor.com, 1 accentchair.net, 1 accentsduterroir.fr, 1 accentwebs.ie, 1 +accers.org, 1 acces-elevation.fr, 1 accesloges.com, 1 accesoriiutilaje.ro, 1 @@ -7398,6 +7339,7 @@ accordable.gq, 1 accordimento.de, 1 accordinnovation.org, 1 accordproject.tk, 1 +account.bbc.com, 1 account.gov.mo, 1 account.gov.uk, 1 accountancymanager.co.uk, 1 @@ -7407,6 +7349,7 @@ accountryclub.com, 1 accounts.firefox.com, 1 accounts.google.com, 1 accountsfilingmadesimple.com, 1 +accountsinterchange.com, 1 accpl.co, 1 accpressurewashing.com, 1 accreditamento.net, 1 @@ -7433,7 +7376,6 @@ accustandard.com, 1 accustomedicals.ga, 1 accutint.com, 1 accutone.com.mx, 1 -accwing.com, 1 acd-c.ru, 1 acdc-tech.eu, 1 acdc-tech.lv, 1 @@ -7444,7 +7386,6 @@ ace-aegon.cloud, 1 ace-clan.tk, 1 ace-familydental.com, 1 ace-translations.tk, 1 -ace-uk.net, 1 ace-wiki.com, 1 ace.one, 1 ace0328.com, 1 @@ -7535,6 +7476,7 @@ achtpfade.de, 1 achtzehn.de, 1 achtzehn.eu, 1 achtzig20.de, 0 +achyjoints.org, 1 aciclovir.ga, 1 acidchrist.tk, 1 acidoascorbico.com, 1 @@ -7624,6 +7566,7 @@ acronis.com, 1 acronis.events, 1 acronis.org, 0 acronis.work, 1 +acropolismovie.org, 1 acrorock.tk, 1 across-community.tk, 1 acrossgw.com, 1 @@ -7655,6 +7598,7 @@ acte2immo.com, 1 actelsershop.com, 1 acteon.com, 1 actexpo.com, 1 +actfastplumbing.com.au, 1 actfleetforum.com, 1 actforcanada.ca, 1 actgruppe.de, 1 @@ -7726,7 +7670,6 @@ activityhub.cloud, 1 activityhub.xyz, 1 activityinfo.org, 1 activitypub.cyou, 1 -activityshelter.com, 1 activlux.pt, 1 activpilot.at, 1 activs.ru, 1 @@ -7860,7 +7803,7 @@ adamradocz.com, 1 adamraoof.tk, 1 adamricheimer.com, 1 adams-gonczi.fun, 1 -adams.dk, 1 +adamsandle.uk, 1 adamscampcolorado.org, 1 adamschmuck.de, 1 adamscountyco.gov, 1 @@ -7908,7 +7851,6 @@ adbpub.com, 1 adc-dentalcare.com, 1 adc64.com, 1 adceuta.tk, 1 -adclickmedia.com, 1 adcnvs.com, 1 adcoglazing.co.uk, 1 adcpressurewashing.co.uk, 1 @@ -7985,6 +7927,7 @@ adelie.org.uk, 1 adelightfulglow.com, 1 adelina.com.br, 0 adeline.mobi, 1 +adelinemerrick.com, 1 adelonline.tk, 1 adelphiawines.com, 1 ademaulana.tk, 1 @@ -8043,6 +7986,8 @@ adiguezel-bau-gmbh.de, 1 adihomes.com, 1 adilsabri.tk, 1 adimaja.com, 1 +adimco.nl, 1 +adimmo.net, 1 adimo.com.pl, 1 adimplere.com.br, 1 adinaporter.com, 1 @@ -8053,6 +7998,7 @@ adiph.org, 1 adiprospero.it, 1 adiraku.co.id, 1 adiscorduser.com, 1 +adiss.es, 1 adit.com, 1 adityaes.eu.org, 1 adityatelange.in, 1 @@ -8077,6 +8023,7 @@ adlignum.se, 1 adliomar.tk, 1 adm-sarov.ru, 1 admanmedia.fr, 1 +admdr.com, 1 admglass.co.uk, 1 admicos.cf, 1 admin-gator.com, 1 @@ -8111,7 +8058,6 @@ adminova.tk, 1 adminplus.bg, 1 adminresurs.tk, 1 adminrezo.fr, 1 -adminwells.com, 1 admirable.pro, 0 admody.com, 1 admongo.gov, 1 @@ -8171,6 +8117,7 @@ adpesp.org.br, 1 adphotography.pl, 1 adplist.org, 1 adpot.xyz, 0 +adprodigy.org, 1 adr-stock.com, 1 adr.gov, 1 adrabataille.fr, 0 @@ -8194,7 +8141,7 @@ adrianadelrossi.com, 1 adrianadelrossi.net, 1 adrianagonzalez.tk, 1 adrianajewelry.my, 1 -adrianasantos.me, 1 +adrianasantos.me, 0 adrianbechtold.de, 1 adrianbotes.com, 1 adrianbrad.com, 1 @@ -8208,13 +8155,11 @@ adrianmejias.com, 1 adrianobarbosa.xyz, 1 adrianpetcu.tk, 1 adrianpole.tk, 1 -adrianseo.ro, 0 adrianspeyer.com, 1 adriantwpmi.gov, 1 adrianwalls.tk, 1 adrianweb.ml, 1 adriarae.xyz, 1 -adriatic.hr, 1 adriatika.tk, 1 adriatrans.ga, 1 adrienfelsmann.fr, 1 @@ -8330,7 +8275,13 @@ advancedwriters.com, 1 advancemoversnc.com, 1 advanceoptical.com, 1 advanceworx.com, 1 +advancinglifenetwork.org, 1 advania.info, 1 +advanpath.com, 1 +advanpath.net, 1 +advanpath.org, 1 +advanpathbpo.com, 1 +advanpathgroup.com, 1 advanqi.se, 1 advantagehomeinteriors.com, 1 advantagemechanicalinc.com, 1 @@ -8347,6 +8298,7 @@ advara.com, 1 advarra.com, 1 advasa.jp, 1 advasa.net, 1 +advaya.nz, 1 advbizintel.com, 1 advenacs.com, 1 advenacs.com.au, 1 @@ -8361,6 +8313,7 @@ adventure-runner.tk, 1 adventureally.com, 1 adventurealpinetreks.com, 1 adventurearts.tk, 1 +adventurebikes.fr, 1 adventureboy.co.uk, 1 adventurecorps.cf, 1 adventurecorps.ga, 1 @@ -8369,7 +8322,6 @@ adventurecorps.ml, 1 adventurecreators.com, 1 adventuredental.com, 1 adventuredrives.com, 0 -adventureforest.co.nz, 1 adventureforest.nz, 1 adventuregamers.com, 1 adventureprooutdoors.com, 1 @@ -8392,6 +8344,8 @@ advertisingphonesest.ga, 1 advertisment.ga, 1 advertizer.com, 1 advery.tk, 1 +advgrow.com, 1 +advgrow.shop, 1 advgyan.com, 1 advice24.tk, 1 advicepay.com, 1 @@ -8443,7 +8397,6 @@ advokaty.gq, 1 advritujeph.in, 1 advst.uk, 1 advtran.com, 0 -adwallgate.com, 1 adware.pl, 0 adwokatkosterka.pl, 1 adwokatzdunek.pl, 1 @@ -8474,7 +8427,6 @@ ae86.dog, 0 ae86.in, 1 ae86.plus, 0 ae86.pro, 1 -ae86.pw, 1 ae86.run, 0 ae86.vip, 1 ae86a.com, 1 @@ -8572,6 +8524,7 @@ aeroelectronics.net, 1 aeroequity.com, 1 aeroexpress.tk, 1 aerofarms.com, 1 +aerofiler.com, 1 aeroflot.gq, 1 aeroframe.tk, 1 aeroglass.ml, 1 @@ -8605,6 +8558,7 @@ aes-freundeskreis.de, 0 aes.org.pt, 1 aesculapliterature.com, 1 aeslifesciences.com, 1 +aesm.ltd, 1 aesmoris.es, 1 aesre.com, 1 aesre.de, 1 @@ -8630,7 +8584,6 @@ aethernia.net, 1 aethon.com, 1 aethonan.pro, 1 aethopy.ga, 1 -aetna-medicareplans.com, 1 aevo-vergleich.de, 1 aevpn.org, 1 aextron.com, 1 @@ -8700,6 +8653,7 @@ affiliateprograms.cf, 1 affiliateprograms.gq, 1 affiliates-psychicsource.com, 1 affiliates.trade, 1 +affiliatexpo.it, 1 affine.ai, 1 affine.space, 1 affinipay.com, 0 @@ -8707,6 +8661,7 @@ affinity.co, 1 affinity.com, 1 affinity.vc, 1 affinitycu.ca, 1 +affinityinnovations.com, 1 affinityplus.org, 1 affinitysync.com, 1 affinityweb.co, 1 @@ -8728,7 +8683,6 @@ affordableelectronics.tk, 1 affordablehealthquotesforyou.com, 1 affordablemedicalusa.com, 1 affordablepapers.com, 1 -affordableracingparts.com.au, 1 affordablevaccinesest.ga, 1 affordacode.com, 1 affpa.top, 1 @@ -8790,7 +8744,6 @@ africantourer.com, 1 africaone-publishing.com, 1 africaricecenter.org, 1 afrijet.ga, 1 -afrilatest.com, 1 afrimarket.ci, 1 afrique.buzz, 1 afriregister.com.ss, 1 @@ -8806,7 +8759,7 @@ afrogospel.tk, 1 afroludi.tk, 1 afroto.com, 1 afseguros.com, 1 -afslankstudiovelserbroek.nl, 1 +afslankstudiovelserbroek.nl, 0 aftamurae.com, 1 after-whoru.tk, 1 afterblokrock.tk, 1 @@ -8827,7 +8780,6 @@ afterstack.net, 1 aftodioikisi.gr, 1 aftonbladet.se, 1 aftontickets.com, 1 -afute.fr, 1 afuturewithoutfear.org, 1 afuturewithoutfear.us, 1 afva.net, 1 @@ -8843,7 +8795,6 @@ ag158.cc, 0 ag1603.com, 0 ag1604.com, 1 ag1607.com, 1 -ag3.la, 1 ag3232g.com, 1 ag388.vip, 1 ag399.vip, 1 @@ -8858,7 +8809,6 @@ ag618.la, 1 ag6215.com, 1 ag6225.com, 1 ag66321.com, 1 -ag666.vip, 1 ag68ks.com, 1 ag69000.com, 1 ag72.vip, 1 @@ -8927,7 +8877,6 @@ agarcat.com, 1 agargiulo.com, 1 agari-mj.com, 1 agarioforum.ga, 1 -agas.com, 1 agasport.nl, 0 agastia.com, 1 agatajanik.de, 1 @@ -8950,7 +8899,6 @@ ageasagentessummit.pt, 1 agechecker.net, 1 agedcaredentistry.com.au, 1 agedefying.net, 1 -agedgamer.com, 1 agefriendlyri.org, 1 ageg.ca, 1 agehotel.com, 1 @@ -8974,6 +8922,7 @@ agence-initiale.fr, 1 agence-matrimoniale-paris.com, 1 agence.tw, 1 agenceimmoselect.com, 1 +agencekokoro.com, 1 agencelcinvestigations.com, 1 agences-cegee.fr, 1 agencesaintpierre.fr, 1 @@ -8988,16 +8937,13 @@ agenciahangar.com.br, 1 agenciaingenium.cl, 1 agenciakarazai.com.br, 1 agenciaonnmarketing.com, 1 -agenciapixelnove.com.br, 1 agenciaplanner.com.br, 1 agenciarse.com, 1 -agenciarubik.com, 1 agenciatecben.com.br, 1 agencja-interaktywna.ga, 1 agencja-interaktywna.tk, 1 agencxy.ga, 1 agencybeam.com, 1 -agencyeve.com, 1 agencygood.tk, 1 agencyinmotion.com, 1 agencymanager.be, 1 @@ -9008,7 +8954,6 @@ agendamuslim.tk, 1 agendaspectacles.fr, 1 agendatelefonica.net, 1 agendominoq.tk, 1 -agenslot128.com, 1 agent-007.tk, 1 agent-grow.com, 1 agent.sk, 1 @@ -9034,6 +8979,8 @@ agenziapubblicitaria.milano.it, 1 agenziapubblicitaria.roma.it, 1 agenziefunebri.it, 1 ageofreason.tk, 1 +ages-its.de, 1 +ages-service.de, 1 agesofarda.net, 1 agfmedia.com, 1 agg097.com, 1 @@ -9041,6 +8988,7 @@ agg88.com, 1 aggeneralconstruction.com, 1 aggielandtutoring.com, 1 agglo-sion.ch, 1 +aggm.at, 1 aggn.info, 1 aggression.tk, 1 aggressionpvp.com, 1 @@ -9158,10 +9106,8 @@ agourahillselectric.com, 1 agourahillselectrical.com, 1 agourahillselectrician.com, 1 agourahillsexteriorlighting.com, 1 -agourahillslandscapelighting.com, 1 agourahillslighting.com, 1 agourahillsoutdoorlighting.com, 1 -agouralandscapelighting.com, 1 agouralighting.com, 1 agouraoutdoorlighting.com, 1 agowa338.de, 1 @@ -9210,7 +9156,6 @@ agro-ferma.tk, 1 agro-forestry.net, 1 agro-market24.ru, 1 agro-portal.info, 1 -agrobank.uz, 1 agrobase.uz, 1 agrobaza.com.ua, 1 agrocare.tk, 1 @@ -9221,6 +9166,7 @@ agrodoki.hu, 1 agrofind.com.br, 1 agrogrup79.com, 1 agroguia.com.co, 1 +agrohim.com, 1 agroinsider.com, 1 agrokomi.tk, 1 agrokredit.ga, 1 @@ -9239,13 +9185,11 @@ agrosanus.pt, 0 agrospan.ga, 1 agrosvit.kz, 1 agroteam.tk, 1 -agrotek.lt, 1 agrotender.com.ua, 1 agrotraktor.gq, 1 agrowbio.com, 0 agroyard.com.ua, 1 agrus-wow.tk, 1 -agscapeslandscaping.com, 1 agscinemas.com, 1 agscinemasapp.com, 1 agsun6.com, 1 @@ -9278,6 +9222,8 @@ agvip2008.com, 1 agvip88.com, 0 agvip986.com, 1 agwa.name, 1 +agwestfc.com, 1 +agwestwebdev.azurewebsites.net, 1 agwin1.com, 0 agwin7.com, 1 agwin8.com, 1 @@ -9290,6 +9236,7 @@ ahanet.tk, 1 ahansen.is, 0 ahbap.org, 1 ahccorleone.tk, 1 +ahcgmy.com, 1 ahcpb.com, 1 ahcpr.gov, 1 ahd.com, 0 @@ -9331,7 +9278,7 @@ ahmedelgamalanimations.tk, 1 ahmedszaidi.com, 1 ahmerjamilkhan.org, 1 ahmetazgin.net, 1 -ahmetcadirci.com.tr, 1 +ahmetcadirci.com.tr, 0 ahmetshina.tk, 1 ahmt.net, 1 ahmu.com, 1 @@ -9366,6 +9313,7 @@ ai-english.jp, 1 ai-genit.com, 1 ai-powered-learning.com, 1 ai-practitioners.com, 1 +ai-rub.de, 1 ai-soft.co.jp, 1 ai.gov, 1 ai.gov.ae, 1 @@ -9378,6 +9326,7 @@ ai2-jp.com, 1 ai5.me, 1 aia-alkmaar.nl, 1 aiaccinu.eu.org, 1 +aiag.org, 1 aiaidaxue.com, 1 aiaidou.com, 1 aiainiu.com, 1 @@ -9403,7 +9352,6 @@ aiccc.com.au, 1 aiccorp.com, 1 aicfb.in, 1 aichat.io, 1 -aichat.site, 1 aichi-tokko-shien.com, 1 aichou.com, 1 aicial.co.uk, 1 @@ -9422,12 +9370,14 @@ aidanpr.com, 1 aidanpr.net, 1 aidarikako.com, 1 aidco.net, 1 +aiddevs.com, 1 aide-hebergement.ca, 1 aide-valais.ch, 1 aide.com, 1 aideenmonaghan.com, 1 aidenlx.top, 1 aidenoliver.au, 1 +aidez-moi.eu, 1 aidhan.net, 1 aidi-ahmi.com, 1 aidliveers.ga, 1 @@ -9454,6 +9404,7 @@ aignermunich.com, 1 aignermunich.de, 1 aignermunich.jp, 1 aigu.io, 1 +aigua.it, 1 aiguemarine-spa.fr, 1 aiguilhe-querre.com, 1 aiha.com, 1 @@ -9485,6 +9436,7 @@ ailitonia.com, 1 ailitonia.xyz, 1 ailladearousa.com, 1 aim.org.pt, 1 +aimara.com, 1 aimare-web.tk, 1 aimarketingdesk.com, 1 aimax.com, 1 @@ -9494,6 +9446,7 @@ aimdigital.tk, 1 aimeeandalec.com, 1 aimeisi.com, 1 aimgroup.co.tz, 1 +aimiescreations.com, 1 aiminet.com, 1 aimless.tk, 1 aimlessempire.tk, 1 @@ -9518,6 +9471,7 @@ aine.com.br, 1 ainewsto.com, 1 ainfographie.com, 1 aini99.club, 0 +ainkarim.co, 1 ainong.com, 1 ainrm.cn, 1 ainsa.tk, 1 @@ -9531,6 +9485,7 @@ aiom.tk, 1 aion.fi, 1 aiosetups.com, 1 aiot.pw, 1 +aipbarcelona.com, 1 aipcardio.ai, 1 aipcardio.hu, 1 aipderm.com.mx, 1 @@ -9663,6 +9618,7 @@ airday.tk, 1 airdeer.com, 1 airdropics.com, 1 airdropkings.com, 1 +airductcleaning-austin.com, 1 airductcleaninggrandprairie.com, 1 airdur.eu, 1 aireaseleaks.org, 1 @@ -9704,7 +9660,6 @@ airfox.gq, 1 airgreen.com, 1 airgun.tk, 1 airgundepot.com, 1 -airhart.me, 1 airhelp.com, 1 airhorn.de, 1 airi-tabei.com, 1 @@ -9713,14 +9668,8 @@ airicy.com, 1 airikai.com, 1 airism.com, 1 airit.de, 1 -airixfood.com, 1 airjet.cf, 1 -airjordan11.cc, 1 -airjordan1phatwhite.info, 1 -airjordan2017.site, 1 airjordanpascher.tk, 1 -airjordansshoes.us, 1 -airjordanwholesale.us, 1 airkiss.ga, 1 airknowledge.gov, 1 airlapse.net, 0 @@ -9806,7 +9755,6 @@ airlinesfrom.com, 1 airlineshouston.com, 1 airlinesincanada.com, 1 airlinesingapore.com, 1 -airlinesinlasvegas.com, 1 airlinesinsingapore.com, 1 airlinesit.com, 1 airlinesjordan.com, 1 @@ -9836,7 +9784,6 @@ airlinestoamerica.com, 1 airlinestoatlanta.com, 1 airlinestocanada.com, 1 airlinestochicago.com, 1 -airlinestocostarica.com, 1 airlinestoeurope.com, 1 airlinestoflorida.com, 1 airlinestofrance.com, 1 @@ -9879,7 +9826,6 @@ airmag.tk, 1 airmail.cc, 0 airman.cf, 1 airmap.com, 0 -airmap.io, 1 airmash.online, 1 airmaxinflatables.com, 1 airnet.tk, 1 @@ -9946,7 +9892,6 @@ airsculptureballoons.com, 1 airseatac.net, 1 airship.com, 1 airship.eu, 1 -airsial.com, 1 airslate.com, 1 airsoft.fr, 1 airsofthub.fr, 1 @@ -9965,6 +9910,7 @@ airticketstravel.com, 1 airtimerewards.co.uk, 0 airtrain.gq, 1 airtrolinc.com, 1 +airupdate.com, 1 airventuri.com, 1 airvida.sg, 1 airvpn.org, 1 @@ -9981,7 +9927,6 @@ aischepervers-porn.com, 1 aisedomains.ga, 1 aisera.com, 1 aish.ml, 1 -aishatibetanterriers.ca, 1 aisi316l.net, 1 aisp.sg, 1 aispirit.tk, 1 @@ -9999,7 +9944,6 @@ aitanaedu.org, 1 aitidings.com, 1 aitindo.com, 1 aitkincountymn.gov, 1 -aitokyolab.com, 1 aitosoftware.com, 1 aitrading.uk, 1 aitrust.ro, 1 @@ -10076,6 +10020,7 @@ ajop.loan, 1 ajramos.tk, 1 ajsb85.com, 1 ajscred.online, 1 +ajtacek.cz, 1 ajto.pro, 1 ajvandeven.com, 1 ajvco.com.hk, 1 @@ -10113,6 +10058,7 @@ akaratasker.com, 1 akari.net, 1 akarisoftware.com, 1 akaritakai.net, 1 +akaritaste.ch, 1 akasa.red, 1 akasha.world, 1 akashdsouza.now.sh, 1 @@ -10291,6 +10237,7 @@ al2schaos.tk, 1 al3abmizo.com, 1 al3ilm.com, 1 al3xpro.com, 1 +al911.net, 1 alaattinkaraca.tk, 1 alab.space, 1 alabalaporto.tk, 1 @@ -10529,7 +10476,7 @@ aldeal.gq, 1 aldealices.tk, 1 aldebaranbm.com, 1 aldersgatemontgomery.org, 1 -aldersgateumc.org, 1 +aldersgateumc.org, 0 aldervets.co.uk, 1 aldevadigital.com, 1 aldien.com.br, 1 @@ -10594,14 +10541,12 @@ alentaja.fi, 1 alenvlahovljak.com, 1 alenwich.com, 1 aleph.land, 1 -alephindia.in, 1 alerbon.net, 1 aleromtrowbank.tk, 1 alerque.com, 1 alert-software.com, 1 alertaenlinea.gov, 1 alertaspopup.com, 1 -alertes.biz, 1 alertlogic.com, 1 alertmedia.com, 1 alertoc.gov, 1 @@ -10632,6 +10577,7 @@ alex-werbung.de, 1 alex-wohl.fr, 1 alex.net.co, 1 alex3.tk, 1 +alex946.ru, 1 alex97000.de, 0 alexaconnect.tk, 1 alexada.ms, 1 @@ -10644,6 +10590,7 @@ alexander-van-nieuwenhoven.tk, 1 alexander.dk, 1 alexanderandwilks.co.uk, 1 alexanderb.info, 1 +alexanderdagrape.com, 1 alexandererber.com, 0 alexanderg.tk, 1 alexanderiwan.de, 1 @@ -10671,6 +10618,7 @@ alexandre-acaries.fr, 1 alexandre-barret.fr, 1 alexandreguarita.com.br, 1 alexandremottier.tk, 1 +alexandrepedrosa.com, 1 alexandrevicente.net, 1 alexandrianh.gov, 1 alexandrin.com, 1 @@ -10789,6 +10737,7 @@ alfateks.com.ua, 1 alfavipambulans.com, 1 alfavit.cf, 1 alfawedding.com, 1 +alfithrah.ac.id, 1 alfonso-baya.tk, 1 alfonsostriano.it, 1 alfordbenefits.com, 1 @@ -10800,6 +10749,7 @@ alfredapp.com, 1 alfredlin015.com, 1 alfredo-misael.tk, 1 alfredopotena.it, 1 +alfrescocloud.com, 1 alfromuez.es, 1 alfryadi.my.id, 1 alftrain.com, 1 @@ -10824,6 +10774,7 @@ algibranstore.id, 1 algo-invest.in, 1 algoarmada.com, 1 algoentremanos.com, 1 +algoesolutions.com, 1 algoexplorer.io, 1 algofactory.de, 1 algolia.com, 1 @@ -10845,6 +10796,7 @@ alhomaidani.com, 1 alhost.ml, 1 alhothary.com, 1 alhs-archives.com, 1 +alhsfb.com, 1 alhuqul-kh.com, 1 ali-shariati.tk, 1 ali360.com, 1 @@ -10856,6 +10808,7 @@ alialkurdy.tk, 1 aliamakeup.com, 1 aliancadesentupidora.com.br, 1 alianet.org, 1 +aliansinews.id, 1 aliantsoft.pl, 1 aliasbox.org, 1 aliasbox.ovh, 1 @@ -10866,7 +10819,6 @@ alibamu.com, 1 alibamu.org, 1 alibangash.com, 1 alibi-ua.com.ua, 1 -alibiloungelv.com, 0 alibip.de, 1 alicante-spain.tk, 1 alice-memorial.de, 1 @@ -10893,7 +10845,6 @@ alien.net.au, 1 alienantfarm.tk, 1 alienclicker.ml, 1 alienemporium.tk, 1 -alienflight.com, 1 alieninternet.be, 1 alieninternet.eu, 1 alieninvasion.fun, 1 @@ -10962,6 +10913,7 @@ alisondavenport.ga, 1 alisondemarco.com, 1 alisonlitchfield.com, 1 alisonmatter.tk, 1 +alisonswindles.com, 1 alissa-group.com, 1 alissanoir.net, 1 alisstyle.tk, 1 @@ -10997,6 +10949,7 @@ alko-stop.cf, 1 alko-stop.ml, 1 alkoferma.gq, 1 alkogol.ga, 1 +alkomedfrank.com, 1 alkopedia.tk, 1 alkor.tk, 1 all-bikes.fr, 1 @@ -11094,7 +11047,6 @@ allcarespecialty.pharmacy, 1 allcelebs.tk, 1 allchan.io, 1 allcinema.net, 1 -allcitynews.net, 1 allcleanservices.ca, 1 allcloud.com, 1 allcomic.com, 1 @@ -11196,6 +11148,7 @@ allgemeinarzt-wenta-bralla.de, 1 allgemeine-zeitung.de, 1 allglobal.net, 1 allgooddeedshomes.com, 1 +allgoodkeys.com, 1 allgrass.net, 1 allgreek.tk, 1 allgreenlawncare.ca, 1 @@ -11217,7 +11170,6 @@ allianceborderservices.com, 1 allianceforafreesociety.com, 1 allianceforafreesociety.net, 1 allianceforafreesociety.org, 1 -alliancehealthcareservices-us.com, 1 alliances-globalsolutions.com, 0 alliancetrading.ch, 1 allianskyrkan.se, 1 @@ -11267,6 +11219,7 @@ allnodes.com, 1 allnovosibirsk.tk, 1 allns.fr, 1 allnumis.com, 1 +allo-credit.ch, 0 allo-luxembourg.tk, 1 allofthestops.com, 1 allohol.de, 1 @@ -11305,9 +11258,7 @@ allroundtechnology.nl, 1 allsafemd.com, 1 allsaints.church, 1 allsaintspreschoolyj.com.au, 1 -allsarms.com, 1 allscammers.exposed, 1 -allscholarship.com.ng, 1 allschool.com.ng, 1 allscience.tk, 1 allsearch.io, 1 @@ -11424,6 +11375,7 @@ almeriaplayer.tk, 1 almette.pl, 1 almeva.swiss, 1 almhtnews.com, 1 +almirahomes.com, 1 almirall.com, 1 almiriatechstore.co.ke, 1 almlab.tk, 1 @@ -11442,7 +11394,6 @@ almusbahperfume.com, 1 almushealth.com, 1 almut-zielonka.de, 1 almx.net, 1 -alnaierh.com, 1 alng.me, 1 alnilam.co.uk, 1 alnitech.com, 0 @@ -11469,6 +11420,7 @@ alomendia.tk, 1 alonaku.com, 1 alonarodeh.com, 1 aloneg.ovh, 1 +aloneinthedarkforever.online, 1 alonephoenix.tk, 1 alonetone.com, 1 alonsoluzgas.es, 1 @@ -11562,7 +11514,7 @@ alpharail.se, 1 alpharettaga.gov, 1 alpharoofga.com, 1 alpharotary.com, 1 -alphasall.com, 0 +alphasall.com, 1 alphasoft-i.net, 1 alphassl.de, 1 alphastrip.com, 1 @@ -11768,6 +11720,7 @@ altrei.ch, 1 altrui.st, 1 altsdigital.com, 0 altsetup.com, 1 +altshift.win, 1 altspacex.com, 1 altstadt-it.de, 1 alttrackr.com, 1 @@ -11789,7 +11742,6 @@ alulasails.com, 1 aluminaty.com, 1 aluminium-giesserei.de, 1 aluminumfencestlouis.com, 1 -alumni-kusa.jp, 1 alumni-skensa.tk, 1 alumni.education, 1 alumnispecialers.ga, 1 @@ -11828,7 +11780,6 @@ alwayshowher.tk, 1 alwayslookingyourbest.com, 1 alwaysmine.fi, 1 alwayswanderlust.com, 1 -alwiam.info, 1 alwistra.eu, 1 alwuz.com, 1 alxclub.tk, 1 @@ -11875,6 +11826,7 @@ am8900.com, 1 ama.ne.jp, 1 amabiligranilhas.com, 1 amac.tv, 1 +amad-bargh.com, 1 amademy.com, 1 amadera.com, 1 amaderforum.tk, 1 @@ -11910,7 +11862,6 @@ amanduscommunication.com, 1 amanet.ro, 1 amango.se, 1 amani-kinderdorf.de, 1 -amanmerceria.com, 1 amansinghbhogal.com, 0 amanydesignstudio.com, 1 amapspa.it, 1 @@ -11952,7 +11903,6 @@ amato.tk, 1 amatoryasamak.tk, 1 amatutis.lt, 1 amatya.co.uk, 1 -amauf.de, 1 amaurijogos.tk, 1 amavis.org, 1 amavo.tk, 1 @@ -12030,7 +11980,9 @@ ambulancieros.tk, 1 ambulanza.it, 1 ambulanza.milano.it, 1 ambulanza.roma.it, 1 +ambulanzapediatrica.it, 1 ambulanzaprivata.roma.it, 1 +ambulanzeprivate.milano.it, 1 ambulari.cz, 1 ambulatori.it, 1 amburgo.com, 1 @@ -12092,7 +12044,6 @@ americanartwarehouse.com, 1 americanbooks.cf, 1 americanbuzz.tk, 1 americancasinoguide.shop, 1 -americancomfortexperts.com, 1 americandisinfectingassociation.com, 1 americandisinfectingassociation.org, 1 americanews.ml, 1 @@ -12140,6 +12091,7 @@ amerimex.org, 1 amerion.nl, 1 ameriondental.nl, 1 ameripacfund.com, 1 +ameriscot.co.uk, 1 ames-fzco.ae, 1 amesagesse.com, 1 amesgen.de, 1 @@ -12152,7 +12104,6 @@ amethystcards.co.uk, 1 amethystdevelopment.co.uk, 1 amethystwebsitedesign.com, 1 ametinsurance.com, 1 -ametrin.biz, 1 amevoice.com, 1 amex.ua, 1 amexemp.com, 1 @@ -12224,7 +12175,6 @@ amirkaraj.tk, 1 amirmahdy.com, 1 amis-du-cinema.com, 1 amis-sh.fr, 1 -amiserver.de, 1 amisharingstuff.com, 1 amishra.tk, 1 amisoft.co.jp, 1 @@ -12287,10 +12237,8 @@ amoliogames.com, 1 amollare.com.br, 1 amon.tech, 1 amondial.com, 1 -among-us.me, 1 amongtheflora.com, 1 amongus-guru.ru, 1 -amongusmerch.co, 1 amoozesh98.ir, 1 amoralizm.tk, 1 amoraquatropatas.org, 1 @@ -12374,6 +12322,7 @@ amsconnectapp.com, 1 amscrosscomp.nl, 1 amsel305nc.ddnss.de, 1 amsmart.hu, 1 +amsochile.cl, 1 amst.io, 1 amstat.org, 0 amstelradio.tk, 1 @@ -12386,6 +12335,7 @@ amsterdamtype.nl, 1 amsterdamtypography.nl, 1 amstudiorecording.com, 1 amsuisse.com, 0 +amt-nj.com, 1 amt-taxfrance.com, 1 amtheone.com, 1 amtrakoig.gov, 1 @@ -12429,9 +12379,12 @@ amzn.com, 1 amzn.rocks, 1 amznworks.com, 1 an-alles-gedacht.de, 1 +an-zin.com, 1 +an.edu, 1 an0ns.ru, 0 an0ns.tk, 1 an7hrax.se, 1 +ana-suma.net, 0 anaal-nathrakh.tk, 1 anaaldea.tk, 1 anaalmeisjes.tk, 1 @@ -12736,6 +12689,7 @@ andrewhowden.com, 0 andrewimeson.com, 1 andrewin.ru, 1 andrewjphotography.com, 1 +andrewledwith.com, 1 andrewmcfarlane.tk, 1 andrewmichaelsmith.com, 1 andrewmichaud.me, 1 @@ -12748,6 +12702,7 @@ andrewrgoss.com, 1 andrewryno.com, 1 andrews-waste.co.uk, 0 andrewsandford.com, 1 +andrewsandford.es, 1 andrewsfasteners.uk, 1 andrewsfss.marketing, 1 andrewsnc.gov, 1 @@ -12894,7 +12849,6 @@ anfieldbc.co.uk, 1 anfloors.ru, 0 anfr.fr, 1 angablade.com, 1 -angazajamii.com, 1 ange-de-bonheur444.com, 1 angeben.com, 1 angel-body.com, 1 @@ -12940,6 +12894,7 @@ angelremigene.com, 0 angelsanctum.tk, 1 angelsandairwaves.tk, 1 angelsandfriends.com, 1 +angelsaquacare.com, 1 angelschlesser.tk, 1 angelsdecay.tk, 1 angelsgirl.eu.org, 1 @@ -13018,7 +12973,7 @@ anian.ch, 0 aniblizzard.tk, 1 anichief.com, 1 anicloud.com.br, 1 -anievo.id, 1 +anievo.id, 0 aniforprez.net, 1 anightmareonelmstreet.tk, 1 anihilated.tk, 1 @@ -13099,7 +13054,6 @@ animecreed.ga, 1 animeday.ml, 1 animeday.tk, 1 animedescarga.ml, 1 -animedesuga.com, 1 animedon.tk, 1 animeelite.tk, 1 animefire.net, 0 @@ -13113,9 +13067,7 @@ animekun.tk, 1 animelandia.tk, 1 animelatino.tk, 1 animelesson.ga, 1 -animelily.com, 1 animelime.ru, 1 -animelolipop.com, 1 animemotivation.com, 1 animeonsen.xyz, 1 animeplus1.tk, 1 @@ -13132,7 +13084,6 @@ animesharp.com, 1 animeshka.tk, 1 animeslayer.ga, 1 animeslayer.ml, 1 -animesoftcream.com, 1 animestash.tk, 1 animestreamingfr.fr, 1 animesun.tk, 1 @@ -13140,7 +13091,6 @@ animetosho.org, 1 animetriad.com, 1 animeuknews.net, 1 animewallpapers.tk, 1 -animixplays.net, 1 animmouse.com, 1 animofluteandpiano.co.uk, 1 animonda.de, 1 @@ -13319,6 +13269,7 @@ annthegran.com, 1 annu.tk, 1 annuaire-auto-ecole.com, 1 annuaire-express.tk, 1 +annuaire404.com, 1 annual.ga, 1 annuire.org, 1 annuitycommunity.com, 1 @@ -13357,6 +13308,7 @@ anonser.tk, 1 anontekno.com, 1 anonwonders.tk, 1 anonybus.com, 1 +anonychat.site, 1 anonym-surfen.de, 0 anonym-surfen.online, 1 anonyme-spieler.at, 1 @@ -13810,6 +13762,7 @@ aosus.org, 1 aotearoa.maori.nz, 1 aotearoafreepress.com, 1 aotearoaleaks.org, 1 +aotech.tw, 1 aotopo.com, 1 aotuo.com, 1 aova.loan, 1 @@ -13820,6 +13773,7 @@ ap-auto-rege.com, 1 ap-auto.pl, 1 ap-bg.eu, 1 ap.icu, 1 +ap314.com, 1 apa-canal.ro, 1 apac-fxcm.com, 1 apache-portal.com, 1 @@ -13841,6 +13795,7 @@ apart-hotel-weimar.de, 1 apartamentoslostejos.tk, 1 apartamentscalpatoi.cat, 1 apartamentsvituri.com, 1 +apartmani-kamenik.com.hr, 1 apartment-in-rijeka.com, 1 apartment-market.ml, 1 apartment.loans, 1 @@ -14056,10 +14011,10 @@ apostalegal.pt, 1 apostascomvalor.com, 1 apostasdesportivas.tv, 1 apostasolida.com, 1 -apostasonline.guru, 1 apostillelondon.com, 1 apothecarydouglasville.com, 1 apotheek-ict.nl, 1 +apotheke-loebtau.de, 1 apotheke.social, 1 apothekeonline.tk, 1 apotom.tk, 1 @@ -14103,6 +14058,7 @@ appartement-andrea.at, 1 appartement-evolene.net, 0 appartement-oostduinkerke.tk, 1 appartementhaus-am-uke.de, 1 +appartementhaus-badria.de, 1 appartementmarsum.nl, 1 appartementspanje.tk, 1 appartementvlissingen.tk, 1 @@ -14112,7 +14068,6 @@ appbot.co, 1 appbydl.com, 1 appcoins.io, 1 appcraver.com, 1 -appdividend.com, 1 appdrinks.com, 1 appearinsequel.tk, 1 appel-aide.ch, 1 @@ -14121,6 +14076,7 @@ appelboomdefilm.nl, 1 appelerintrt.tk, 1 appelhof.com, 1 appemployees.tk, 1 +appen.com, 1 appen.com.cn, 1 appengine.google.com, 1 appetiser.com.au, 1 @@ -14158,6 +14114,7 @@ appledroid.ru, 1 appleedu.com, 1 appleexterminating.com, 1 applefeel.com, 1 +applefix.it, 1 appleglasscompany.com, 1 applegun.com, 1 appleii-box.de, 1 @@ -14172,6 +14129,7 @@ appleric.tk, 1 applesaph.nl, 1 applesencia.com, 1 appleslayer.cf, 1 +applestat.us, 1 applet.cyou, 1 appletonmn.gov, 1 appletonwi.gov, 1 @@ -14245,7 +14203,6 @@ apps.stg.fedoraproject.org, 1 apps4all.sytes.net, 1 apps4inter.net, 0 appsafrica.com, 1 -appsbaladyg.org, 1 appsbd.com, 1 appsbud.com, 1 appscan360.com, 1 @@ -14318,7 +14275,6 @@ apsistemas.info, 1 apsl.sk, 1 apsnewcastle.com, 0 apspayroll.com, 1 -apsportseditors.org, 1 apsprofessions.gov.au, 1 apsreform.gov.au, 0 apsreview.gov.au, 1 @@ -14455,7 +14411,6 @@ araadvocats.net, 1 arab-romance.tk, 1 arab1info.cf, 1 arab2cam.com, 1 -arabafenicespa.com, 1 arabakiralama.name.tr, 1 arabam.com, 1 arabapps.org, 1 @@ -14582,22 +14537,22 @@ arcanefrost.de, 1 arcanehardware.com, 1 arcanetides.com, 1 arcanoid.com, 1 -arcantel.ch, 1 arcbouncycastles.co.uk, 1 arcdesantmarti.net, 1 arcenergy.co.uk, 1 arcese.com, 1 arch-design.com, 1 archaeoadventures.com, 1 -archaeology.lk, 1 archambault.paris, 1 archangelbio.com, 1 archbishop.ga, 1 archdetal.com.ua, 1 archeologicatoscana.it, 1 +archeologiegorinchem.com, 1 archerconsulting.llc, 1 archerlong.com, 1 archerlongx.com, 1 +archerreview.com, 0 archerxlong.com, 1 archery.land, 1 archerytaghuren.be, 1 @@ -14606,6 +14561,7 @@ archframe.net, 1 archi.ve.it, 1 archibuilt.net.au, 1 archief-ocmwgent.be, 1 +archijobbtp.com, 1 archina.ir, 1 archined.nl, 1 archion.ro, 1 @@ -14677,7 +14633,6 @@ arcthelad.com, 1 arctic-charge.tk, 1 arctic.ca, 1 arctica.io, 0 -arcticfiber.net, 0 arcticfox.email, 0 arcticfoxes.net, 1 arcticpolitics.com, 1 @@ -14710,6 +14665,7 @@ area51.social, 1 area51bit.com, 1 area51bit.it, 1 areacinquentaeum.tk, 1 +areadispatch.com, 1 areallyneatwebsite.com, 1 arealsultan.ga, 1 areanet.tk, 1 @@ -14730,7 +14686,6 @@ arekatieandchrismarriedyet.com, 1 arekkusu.net, 1 arelektribuneriske.lv, 1 arellak.de, 1 -areminder.co, 1 arena-news.tk, 1 arenaalbionu.pl, 1 arenadagon.tk, 1 @@ -14748,6 +14703,7 @@ arendburgers.nl, 1 arenlor.com, 1 arenlor.info, 1 arenns.com, 1 +arentuna.se, 1 arenzana.org, 1 arenzanaphotography.com, 1 areproduktioqn.tk, 1 @@ -14761,7 +14717,6 @@ aresztowany.pl, 1 aresztsledczy.pl, 1 aret.eu.org, 1 arete.net, 1 -areteaudit.pl, 1 aretemusic.tk, 1 areteortho.com.sg, 1 arezzonotizie.it, 1 @@ -14921,6 +14876,7 @@ arkagis.com, 1 arkagt.ir, 1 arkaic.dyndns.org, 1 arkantos.agency, 1 +arkdev.fr, 1 arkenstone.ml, 1 arkforum.de, 1 arkfoundationrepair.com, 1 @@ -14930,6 +14886,7 @@ arkhangelsk.gq, 1 arkhangelsk.tk, 1 arkholmevillage.ml, 1 arkhvoid.xyz, 1 +arkkanappp.net, 1 arklow.io, 0 arkm6.gq, 1 arknights.work, 0 @@ -14993,6 +14950,7 @@ armenia.cf, 1 armeniaweb.tk, 1 armeo.top, 1 armeria.roma.it, 1 +armeriatejeda.com, 1 armfilm.co, 1 armhistory.tk, 1 armiantichesanmarino.eu, 1 @@ -15030,6 +14988,7 @@ arnados.tk, 1 arnamur.be, 1 arnaqueoufiable.com, 1 arnaudb.net, 1 +arnaudfeld.de, 0 arnaudlanna.com, 1 arnaudligny.fr, 1 arnaudmarketing.fr, 1 @@ -15071,6 +15030,7 @@ arod.tk, 1 arofabric.com, 1 arogov.com, 1 arokha.com, 1 +arolariu.ro, 1 aroma-therapy.tk, 1 aroma-wave.com, 1 aroma24.ml, 1 @@ -15166,7 +15126,6 @@ arshia.cf, 1 arshidazarine.tk, 1 arshina.su, 1 arshispana.com, 1 -arsigroup.com, 1 arsindecor.com, 1 arsk1.com, 1 arslankaynakmetal.com, 1 @@ -15277,6 +15236,7 @@ artexhibition.jp, 1 artextasia.com, 1 arteya.net, 1 artfabrics.com, 1 +artformcollective.com.au, 1 artfullyelegant.com, 1 artgaragecrewe.com, 1 artgorod.tk, 1 @@ -15302,8 +15262,8 @@ articlepub.ga, 1 articlesplanet.tk, 1 articlestack.tk, 1 articlesutiles.cf, 1 +articool-tour.ru, 1 articu.no, 1 -articulo19.org, 1 artifact.center, 1 artifact.spb.ru, 1 artifacthub.io, 1 @@ -15322,11 +15282,11 @@ artificialpoetry.com, 1 artifort.com, 1 artifuse.ch, 1 artigianociao.jp, 1 +artigianolegno.it, 1 artigoagency.com, 1 artikel5ev.de, 1 artikel9.com, 1 artilect.studio, 1 -artinfo.ge, 0 artinfo.tk, 1 artintend.com, 0 artioml.net, 1 @@ -15387,6 +15347,7 @@ artomili.com, 1 artouch.com, 1 artozoul.fr, 1 artplaneta-leto.by, 1 +artprize.ru, 1 artprojectsforkids.org, 1 artpsd.com, 1 artransparency.gov, 1 @@ -15422,7 +15383,6 @@ arturgaweda.de, 1 arturkraak.duckdns.org, 1 arturoemilio.tk, 1 arturojimenez.es, 1 -arturrossa.de, 1 arturszalak.com, 1 arturweb.tk, 1 artushak.ru, 1 @@ -15486,6 +15446,7 @@ arzinfo.pw, 1 arzmercury.tk, 1 arztpraxis-kubalok.de, 1 arzua.gal, 1 +as-clima.com, 1 as-evalar.ru, 1 as.roma.it, 1 as0.it, 1 @@ -15530,10 +15491,11 @@ asansol.tk, 1 asantosdev.com, 1 asanuma-clinic.jp, 1 asap-advice.com.au, 1 +asap-chiptuningfiles.com, 1 asap.gov, 1 asapboardshop.com, 1 asaphomeinspect.com, 1 -asapstory.com, 1 +asaprestoration247.com, 1 asara.tk, 1 asart.bg, 1 asas-tn.org, 1 @@ -15541,9 +15503,8 @@ asasesoria.cl, 1 asatahvieh.com, 1 asato-jewelry.com, 1 asatys-partners.com, 1 -asb.edu.my, 1 -asba2023.jp, 1 asbaces.com, 1 +asbazar.com, 1 asbestos-awareness.cf, 1 asbestos-awareness.ga, 1 asbestos-awareness.gq, 1 @@ -15622,11 +15583,10 @@ asfalti.it, 1 asfberbagi.org, 1 asfono.gov, 1 asg-egy.com, 1 +asgapps.co.za, 1 asgard-engineering.com, 1 asgeirolafs.com, 1 -asgrep.com, 1 ashastalent.com, 0 -ashburnconsulting.com, 1 ashburnr.com, 1 ashbusters.net, 1 ashbyhq.com, 1 @@ -15638,13 +15598,13 @@ ashd1.goip.de, 1 ashd2.goip.de, 1 ashd3.goip.de, 1 ashdodisrael.com, 1 +ashdownparkhomes.co.uk, 1 ashenc.gov, 1 ashenm.ml, 1 asher.tools, 1 asherosborne.com, 1 asheroto.com, 1 ashesheriff.gov, 1 -ashesi.edu.gh, 1 ashevillemenshealth.com, 1 ashfak.tk, 1 ashfordcastle.com, 1 @@ -15764,6 +15724,7 @@ asker-massasje.no, 1 askerweb.cf, 1 askeverythingonline.com, 1 askeygeek.com, 1 +askfront.com, 1 askgamblers.com, 1 askhow.co.il, 1 askimsin.com, 1 @@ -15811,6 +15772,7 @@ asmuncandle.com, 1 asna.host, 1 aso.com, 1 asoagroca.com, 1 +asobo.fun, 1 asoccu.ga, 1 asocedune.com, 1 asociacionatlas.tk, 1 @@ -15833,13 +15795,11 @@ asperatechnology.cz, 1 asperatechnology.de, 1 aspernallee.at, 1 asperti.com, 1 -aspet.org, 1 aspews.org, 1 asphaltfruehling.de, 1 asphaltsolutionsnc.com, 1 asphyxia.su, 1 aspi.cz, 1 -aspiechattr.me, 1 aspietechygamer.tk, 1 aspiracloud.com, 1 aspirantum.com, 1 @@ -15883,7 +15843,6 @@ assdecoeur.org, 1 assecuro.com.ua, 1 assedo.tk, 1 asseenontvonline.ru, 1 -assegaimedia.com, 1 asselin.fr, 1 assemblage.gq, 1 assemblee-copropriete.fr, 1 @@ -15901,7 +15860,6 @@ assertion.de, 1 assertstack.com, 1 assessmentpractitioner.co.za, 1 assessments.careers, 1 -assessoriati.com.br, 1 assessorindie.tk, 1 asset-metrix.com, 1 assetbacked.capital, 0 @@ -15929,6 +15887,7 @@ assist-team.co.il, 1 assistance-personnes-agees.ch, 1 assistanceinparadise.com, 1 assistantdemocraticleader.gov, 1 +assistante-experte.com, 1 assistel.com, 1 assistentesanitario.it, 1 assistenzaferrodastiro.org, 1 @@ -15953,7 +15912,6 @@ assoft.co, 1 assomydesk.fr, 1 assoservicesweb.org, 1 asspoop.com, 1 -assr-online.com, 1 assta.ga, 1 assumptionla.gov, 1 assumptionoep-la.gov, 1 @@ -15962,6 +15920,7 @@ assurances-brg.com, 1 assured.se, 0 assuredspc.com, 1 assyriatwpmi.gov, 1 +assyrus.it, 1 ast-nabytek.cz, 1 asta-bar.de, 0 astacreative.nl, 0 @@ -15973,7 +15932,9 @@ astaninki.com, 1 astano.com, 1 astano.tk, 1 astaoffshore.com.au, 1 +astarabolivia.com.bo, 1 astaraday.com, 1 +astarconcierge.com, 1 astarforu.com, 1 astarfrommosul.cf, 1 astarfrommosul.ga, 1 @@ -16032,7 +15993,6 @@ astral.org.pl, 1 astralrank.com, 1 astralriders.tk, 1 astralus.com, 1 -astralus.de, 1 astramundo.com, 1 astrategicedgecoaching.com, 1 astrath.net, 1 @@ -16057,7 +16017,6 @@ astrograph.io, 1 astrojunkies.com, 1 astrolab.tk, 1 astroloeches.tk, 1 -astrologeminesolakoglu.com, 1 astrologerumesh.com, 1 astrologic.cf, 1 astrologics.in, 1 @@ -16099,7 +16058,6 @@ astyork.com, 1 astypic.fr, 1 asual.com, 1 asuamaytinh.com, 1 -asuclassfinder.com, 1 asucrews.com, 1 asufte.com, 1 asugsvsummit.com, 1 @@ -16154,8 +16112,8 @@ atallo.es, 1 atam-academy.com, 1 atanas.ch, 1 atanet.it, 1 -atapindonesia.com, 1 atarinew.tk, 1 +atarita.com, 1 atary.tk, 1 ataton.ch, 0 atayia.com, 1 @@ -16187,7 +16145,6 @@ atelier20.ch, 1 atelieraphelion.com, 1 atelierbw.com, 1 atelierdelacreation.com, 1 -atelierdelarobotique.fr, 1 atelierdeloulou.fr, 1 atelierdesflammesnoires.fr, 1 atelierfantazie.sk, 1 @@ -16215,13 +16172,11 @@ atf.gov, 1 atfonline.gov, 1 atfstudios.tk, 1 atgmaildotcom.ca, 1 -atgnet.com, 1 atgoetschel.ch, 0 atgresultat.com, 1 atgseed.co.uk, 1 atgseed.uk, 1 atgweb.es, 0 -ath0.org, 0 atheatac.com, 1 atheism.org, 1 atheist-refugees.com, 1 @@ -16235,11 +16190,11 @@ athenadynamics.com, 1 athenainvestmentsystems.com, 1 athenainvsys.com, 1 athenainvsys.net, 1 +athenajill.nl, 1 athenaspark.com, 1 athenasystems.com, 1 athenasystems.net, 1 atheneum-partners.cn, 1 -athenrymusicschool.net, 1 athensdrunktour.com, 1 athensil.gov, 1 athenstn.gov, 1 @@ -16343,6 +16298,7 @@ atlasdev.io, 1 atlasdog.org, 1 atlasescorts.com, 1 atlasgaming.ma, 0 +atlaslandrecords.com, 1 atlasleeuwen.tk, 1 atlasminertool.com, 1 atlaso.cz, 1 @@ -16365,6 +16321,7 @@ atleticocearense.com.br, 1 atletika.hu, 1 atletismomacotera.tk, 1 atlon-nn.ru, 0 +atm-bur.ru, 1 atm-erasmus.com, 1 atm.net, 1 atmalta.com, 1 @@ -16440,7 +16397,7 @@ attatroll.de, 1 attawauganfirect.gov, 1 attcleaning.com, 1 atte.fi, 1 -attechnical.co.uk, 1 +attechnical.co.uk, 0 attekaleva.fi, 1 attendanceondemand.com, 1 attendantdesign.com, 1 @@ -16452,7 +16409,6 @@ attentionpleats.com.tw, 1 attesawp.com, 1 atthehelmins.com, 1 attic-design.com, 1 -atticlightstudio.net, 1 atticusblog.com, 1 attilavandervelde.nl, 1 attiliospagnolo.it, 1 @@ -16468,7 +16424,6 @@ attoch.org, 1 attogtech.com, 1 attorneybiographies.ga, 1 attorneybiographiesest.ga, 1 -attorneyrebeccawhittington.com, 1 attosoft.tk, 1 attractant.com, 1 attractieparken.tk, 1 @@ -16529,6 +16484,7 @@ auchan.fr, 1 aucielrose.com, 1 auckland-lawyer.co.nz, 1 auckland-painter.co.nz, 1 +auckland.ac.nz, 1 aucklandadventurejet.co.nz, 0 aucklandcastles.co.uk, 1 aucoindubloc.com, 1 @@ -16537,7 +16493,6 @@ auction.com, 1 auctionbv.tk, 1 audacityland.com, 1 audatopaz.com, 1 -audazsolucoes.com.br, 1 aude-mdb-hypnose.fr, 1 audencia.com, 0 audian.com, 1 @@ -16661,7 +16616,6 @@ aulio.fi, 1 aultcolorado.gov, 1 aum.edu.kw, 1 aumigona.com, 1 -aumilieudumonde.gf, 1 aunali1.com, 1 auntiesnorkel.com, 1 auntmia.com, 1 @@ -16675,8 +16629,6 @@ auqi.com, 1 aur.rocks, 1 aura.moe, 1 aura7chakr.com, 1 -aurabasketball.com, 1 -aurabasketball.fr, 1 aurabeautyhub.com, 1 aurac.org.nz, 1 aurahiemis.tk, 1 @@ -16688,7 +16640,6 @@ auralinna.blog, 1 aurantis.it, 1 aurbrowser.tk, 1 aurelharmoniebeaute.fr, 1 -aureliavelvet.org, 1 aurelie-valognes.com, 1 aurelieburn.fr, 1 aurelien-duchene.fr, 1 @@ -16778,7 +16729,6 @@ austinonline.tk, 1 austinoverheaddoorcompany.com, 1 austinsutphin.com, 1 austinuniversityhouse.com, 1 -australiabusinessblog.com, 1 australiadaily.ga, 1 australiaday.com.au, 1 australiainvest.info, 1 @@ -16789,6 +16739,7 @@ australianairbrushedtattoos.com.au, 1 australianattractions.com.au, 1 australiancattle.dog, 1 australiancurriculum.edu.au, 1 +australiangold.si, 1 australianhimalayanfoundation.org.au, 1 australianhomemade.com, 1 australianimmigrationadvisors.com.au, 1 @@ -16796,7 +16747,6 @@ australianjewishnews.com, 1 australianonlineappliances.ga, 1 australianpropertyanalytics.ga, 1 australiantales.com, 0 -australiantemporarytattoos.com, 1 australiantemporarytattoos.com.au, 1 australien-tipps.info, 1 austriablog.de, 0 @@ -16843,7 +16793,7 @@ authsrv.nl.eu.org, 1 autism-explained.com, 1 autisme-france.fr, 1 autismewoerden.nl, 1 -autismspectrum.shop, 1 +autismspectrum.shop, 0 autista.roma.it, 1 autisten.club, 1 autistici.org, 1 @@ -16865,14 +16815,15 @@ auto-quote.ga, 1 auto-rahbari.de, 1 auto-reklame.tk, 1 auto-res.ru, 1 +auto-schliephake.com, 1 auto-skills.ru, 1 auto-specifikacio.hu, 1 auto1.fi, 1 auto10dacte.com, 1 auto2019.net, 1 auto365haiphong.com, 1 -autoallys.com, 1 autoambulanza.it, 1 +autoambulanzaprivata.roma.it, 1 autoamor.com.br, 1 autoangels.ga, 1 autoankaufen.com, 1 @@ -16945,6 +16896,7 @@ autogalerie-bader.ch, 1 autogarag.ru, 1 autogard.cz, 1 autogear.ga, 1 +autogeizer.ru, 1 autogenai.com, 1 autoglascenter.com, 1 autoglass.com.my, 1 @@ -16986,9 +16938,9 @@ automasrl.it, 1 automastercastlerock.com, 1 automatecodes.com, 1 automatentest.de, 1 -automaticmsp.com, 1 automation-tools.stream, 1 automationpro.me, 1 +automationsforum.se, 1 automationstore.ga, 1 automatyczna-identyfikacja.pl, 1 automaxcovington.com, 1 @@ -17000,7 +16952,6 @@ automiata.de, 1 automir.online, 1 automobile-detail.com, 1 automobile-gadgets.ru, 1 -automobile-propre.com, 1 automobile.fr, 1 automobileescrowers.ga, 1 automobileescrowest.ga, 1 @@ -17165,7 +17116,6 @@ autonoleggio.milano.it, 1 autonome-netze.de, 1 autonome-treinen.tk, 1 autoofficina.it, 1 -autoopravarjunior.cz, 1 autopacking.com, 1 autopapo.com.br, 1 autopark-ost-fichtner.de, 1 @@ -17275,6 +17225,7 @@ autowallpapers.tk, 1 autowatch.tk, 1 autoweek.nl, 1 autowerkstatt-puchheim.de, 1 +autowhois.com, 1 autozaz.ml, 1 autozuki.com, 1 autres-talents.fr, 1 @@ -17329,7 +17280,6 @@ avalonaccess.com, 1 avalonartstudio.com, 1 avalonbelltown.com, 0 avalondevelopment.tk, 1 -avalontechsv.com, 1 avalyuan.com, 1 avamax.cz, 1 avaminoo.com, 1 @@ -17369,7 +17319,7 @@ avantcoequipment.com, 1 avantcoice.com, 1 avantcorefrigeration.com, 1 avanteinversiones.es, 1 -avantikachair.com, 1 +avantikachair.com, 0 avanza.ps, 0 avanzagrupo.com, 1 avanzbanc.com, 1 @@ -17395,6 +17345,7 @@ aveamcorp.com, 1 aveapps.com, 0 aveclunettesoleil.fr, 1 avedesk.org, 0 +avegaedge.com, 1 avelecollege.edu.ws, 1 avelengo.org, 1 avelinodiaz.gal, 1 @@ -17461,6 +17412,7 @@ aviasalon.spb.ru, 1 aviasg.com, 1 aviaskan.ru, 1 aviationcareerpal.com, 1 +aviationhistorygeeks.site, 1 aviationlearning.aero, 1 aviationlearning.lu, 1 aviationmilitaire.tk, 1 @@ -17501,7 +17453,7 @@ avisofi-credit-immobilier.fr, 1 avisoshuaraz.tk, 1 avisoversigten.dk, 1 avispl.com, 1 -avitahealth.org, 1 +avitahealth.org, 0 avitus.hu, 1 aviv-group.at, 1 avivanuestroscorazones.com, 1 @@ -17556,6 +17508,7 @@ avoonix.com, 1 avounossoupes.be, 1 avp-emobility.de, 1 avpres.net, 0 +avptp.org, 1 avqueen.cn, 0 avrilhouse.tk, 1 avrilshine.tk, 1 @@ -17563,8 +17516,10 @@ avris.it, 1 avrora-nov.ru, 1 avroramine.tk, 1 avrrom.com, 1 +avsd01.com, 1 avstack.io, 1 avt-ukraine.com, 1 +avtechno.ru, 1 avtecmedia.com, 0 avtek.pl, 1 avthelsinki.fi, 1 @@ -17580,6 +17535,8 @@ avtoforex.ru, 1 avtogara-isperih.com, 1 avtojurist.ml, 1 avtojurist.tk, 1 +avtokar12.ru, 1 +avtom.by, 1 avtomaniya.ml, 1 avtomaniya.tk, 1 avtomarket.ru, 1 @@ -17599,7 +17556,6 @@ avtoyurist.gq, 1 avtoyurist.ml, 1 avtoyurist.tk, 1 avus-automobile.com, 1 -avv.li, 1 avvaterra.ch, 1 avvnicolaurbani.ch, 1 avvocato.bologna.it, 1 @@ -17648,13 +17604,12 @@ awesomebible.de, 1 awesomelifedeals.today, 1 awesomenamegenerator.com, 1 awesomeperfumes.com, 1 +awesomeprivatetours.com, 1 awesomesheep48.ca, 1 awesomesit.es, 0 awf0.xyz, 1 awfulsport-news.tk, 1 awh.ink, 1 -awk.tw, 1 -awksolutions.com, 1 awlonline.tk, 1 awmb.uk, 1 awningcleaningchicago.com, 1 @@ -17722,6 +17677,7 @@ axioinvest.com, 1 axiom-networks.org, 1 axiom4.net, 1 axiomecpa.com, 1 +axiomer.com, 1 axiomtechnologies.tk, 1 axios.tk, 1 axiosint.com, 1 @@ -17768,6 +17724,7 @@ ayahya.me, 0 ayakatenshi.tk, 1 ayamchikchik.com, 1 ayanomimi.com, 1 +ayashev.kz, 1 ayatosuzuki.com, 1 aycacankurt.com, 1 aycasac.com, 1 @@ -18068,6 +18025,7 @@ b0rk.com, 1 b1.work, 1 b1031.com, 1 b11p.com, 1 +b12info.com, 1 b131000.com, 0 b17turkiye.com, 1 b1c1l1.com, 1 @@ -18099,7 +18057,6 @@ b31ee.com, 0 b31ff.com, 0 b3390.com, 0 b33app.com, 0 -b36512.com, 0 b3b4.com, 1 b3bra.win, 1 b3pacific.com, 1 @@ -18274,7 +18231,7 @@ baas-sabiogroup.com, 1 baas.agency, 1 baatar.idv.hk, 1 baazee.de, 1 -baba.wiki, 1 +baba.wiki, 0 babacloud.ddns.net, 1 babacsalogato.hu, 0 babacuhocica.tk, 1 @@ -18353,6 +18310,7 @@ babyfights.tk, 1 babyfotograf-schweiz.ch, 1 babygearlab.com, 1 babygirlholidaydresses.tk, 1 +babyhealthsummit.pt, 1 babyinthehouse.com.br, 1 babykappy.com, 1 babylonclub.cf, 1 @@ -18436,7 +18394,6 @@ backjump.tk, 1 backlashband.tk, 1 backlink-builder.tk, 1 backlink.gd, 1 -backlinkboss.com, 1 backlinktr.tk, 1 backlog.jp, 1 backlogapp.io, 1 @@ -18515,7 +18472,6 @@ badaparda.com, 1 badass-women.club, 1 badassdallascondo.com, 1 badassfantastico.tk, 1 -badasslistings.com, 1 badbee.cc, 1 badbird.tk, 1 badblock.fr, 1 @@ -18528,7 +18484,7 @@ badcyber.com, 1 baddrones.llc, 1 badeand.net, 1 badekappen.com, 1 -baderscott.com, 1 +bader-jungk.de, 1 badeurlaub.tk, 1 badf00d.de, 1 badge.rs, 1 @@ -18639,6 +18595,7 @@ bahana.net, 1 baharmusic24.tk, 1 bahcehavuz.com, 1 bahena.be, 0 +bahiasub.com, 1 bahisbonus.work, 1 bahnenimbild.de, 1 bahnenimbild.eu, 1 @@ -18655,7 +18612,6 @@ bai-bao.fr, 1 baiask.com, 1 baichi.cf, 1 baichi.ml, 1 -baidu-s.com, 0 baiduo.com, 1 baier-michels.com, 1 baif.hr, 1 @@ -18769,6 +18725,7 @@ balabarsakhtemani.com, 1 balade-commune.ch, 0 baladecommune.ch, 0 balador.io, 1 +baladygov.com, 1 balafon.cloud, 1 balaga.pl, 1 balaganlimited.cf, 1 @@ -18912,6 +18869,7 @@ bambulab.com, 1 bambumania.com.br, 1 bambusushibar.com, 0 bamfacts.tk, 1 +bamfm.be, 1 bamifm.tk, 1 bamily.rocks, 1 baming.com, 1 @@ -18931,9 +18889,9 @@ bananice.moe, 1 banatearab.tk, 1 banbaog.com, 1 bancacrs.it, 1 +bancainvestis.com, 1 bancamiga.com, 1 bancastato.ch, 1 -bancatransilvania.ro, 1 banch.io, 1 banchungcu.com, 1 bancoagricola.com, 1 @@ -18965,6 +18923,7 @@ bandeaux.com, 1 bandeira1.com.br, 1 bandeiraimoveisitu.com.br, 1 bandeirasnacionais.com, 1 +bandengprestojuwana.shop, 1 banderas-mundo.es, 1 banderasdelmundo.xyz, 1 banderatx.gov, 1 @@ -19003,7 +18962,6 @@ bangdaiviet.tk, 1 bangkok-thailand.org, 1 bangkokcookingclass.com, 1 bangkokflightservices.com, 1 -bangkoklife.com, 1 bangku.tk, 1 bangladesimagi.tk, 1 banglahotstory.tk, 1 @@ -19024,7 +18982,6 @@ baniuliuukis.lt, 1 banja-kulasi.ga, 1 banjonelson.tk, 1 bank, 1 -bank-credit.org, 1 bank-laan.dk, 1 bank-yahav.co.il, 1 bank34.ua, 1 @@ -19100,6 +19057,8 @@ bannisbierblog.de, 1 bannockcounty.gov, 1 bannockcountyidaho.gov, 1 bannsecurity.com, 1 +banquetesecatepec.com, 1 +banquetestorrefuerte.com.mx, 1 banquevanbreda.be, 1 banri.me, 1 bans.info, 1 @@ -19152,11 +19111,9 @@ baransys.com, 1 baranyavar.hu, 1 barao.tk, 1 barataeletrica.tk, 1 -baratzegrowshop.com, 1 baravalle.com, 1 baraxolka.ga, 1 baraxolka.ml, 1 -barbaderespeito.com.br, 1 barbara-bertagnolli.co.uk, 1 barbara-fuchs-gruene-fuerth.de, 1 barbarabowersrealty.com, 1 @@ -19237,6 +19194,7 @@ barinov.ml, 1 barinov.tk, 1 baripedia.org, 0 baris-sagdic.com, 1 +barisdayak.com, 1 bariseau-mottrie.be, 1 barisi.me, 1 baristabetter.com, 1 @@ -19249,7 +19207,6 @@ barkingspidersaspets.com, 1 barkio.com, 1 barklanepets.com, 0 barkstop.net, 1 -barkysupplies.com, 1 barlettaviva.it, 1 barlex.pl, 1 barleyandbirch.com, 1 @@ -19330,6 +19287,7 @@ bartdesign.tk, 1 bartekbv.be, 1 bartel.ws, 1 bartelt.name, 1 +bartender.com, 1 barter.me, 1 barter.vg, 1 bartershift.com, 1 @@ -19375,7 +19333,6 @@ baseballsapka.hu, 1 baseballsavings.com, 1 basebyte.nl, 1 basecamp.cf, 1 -basecampstudios.com, 1 basechat.com, 1 basechat.jp, 1 baseconvert.com, 1 @@ -19440,7 +19397,6 @@ basilicproduction.fr, 1 basilm.co, 1 basilsys.com, 1 basis-online.eu, 1 -basisbedarf.de, 1 basisofcare.com, 1 basisonline.nl, 1 basisonlinefiles.nl, 1 @@ -19492,6 +19448,7 @@ bastelwelt.ch, 1 bastelzauberwelt.de, 1 bastionadvokat.ml, 1 bastionentifo.tk, 1 +bastisgroup.com, 1 bastolino.de, 1 bastotrekking.pt, 1 bastter.com, 1 @@ -19576,6 +19533,7 @@ batulicin.tk, 1 batwatt.com, 1 bau.ua, 1 baubau.bg, 1 +bauchredner-zauberer.de, 1 bauchtanz.tk, 1 bauer-plus.de, 1 bauer-reininghorses.com, 1 @@ -19609,8 +19567,8 @@ baukebies.nl, 1 baukelek.tk, 1 baumannfabrice.com, 1 baumansound.com, 1 -baumbet.ro, 1 baumfreund.ch, 1 +baumgarten-sanitaer.de, 1 baumkletterschule.de, 1 baumkuchen-aus-dresden.de, 0 baummer.com.br, 1 @@ -19630,6 +19588,7 @@ bavoogi.com, 1 bawag.at, 1 bawbby.com, 1 bawsiebezpiecznie.pl, 1 +bax.bio, 1 baxir.fr, 1 baxleyga.gov, 1 baxomilowa.tk, 1 @@ -19646,6 +19605,7 @@ bayarea.tk, 1 bayareagynecology.com, 1 bayareamustangs.tk, 1 bayareaplasticsurgery.com, 1 +bayareatiremd.com, 1 bayashi.net, 1 bayburtgazetecilercemiyeti.org.tr, 1 bayburtmanset.com, 1 @@ -19691,6 +19651,7 @@ bayvotesfl.gov, 1 baywatbemacom.cf, 1 baywatch.io, 1 bayyanainmuebles.com, 1 +baz-fitness.de, 1 baz.nl, 1 baza-gai.com.ua, 1 bazaarbhaav.com, 1 @@ -19722,7 +19683,6 @@ bb.church, 1 bb00228.com, 0 bb057.com, 0 bb087.com, 0 -bb168.cc, 0 bb2-group.com, 1 bb37roma.it, 1 bb5197.co, 1 @@ -19736,6 +19696,7 @@ bbalposticino.it, 1 bbamsch.com, 0 bbb1991.me, 0 bbbb.loan, 1 +bbbbb.men, 1 bbbff.net, 1 bbc.co.uk, 0 bbc.com, 0 @@ -19770,6 +19731,7 @@ bbmagnagrecia.it, 0 bbmak.tk, 1 bbmsarauniteam.com, 1 bbnx.net, 1 +bbox.org, 1 bbp.ng, 1 bbpnas.win, 1 bbqs-algarve.com, 1 @@ -19787,7 +19749,6 @@ bbusa.tk, 1 bbw-wrestling.com, 1 bbwanalsex.com, 1 bbwhale.org, 1 -bbwmellon.com, 1 bbwmovies.com, 1 bbwpictures.com, 1 bbwpornpics.com, 1 @@ -19815,6 +19776,7 @@ bcbudonline.com, 1 bcccremeno.it, 1 bccx.eu.org, 1 bccxo.com, 1 +bcdelounge.nl, 1 bcdiesel.ca, 1 bcdn.me, 1 bcdonadio.com, 1 @@ -19842,6 +19804,7 @@ bcpc-ccgpfcheminots.com, 1 bcrnews.tk, 1 bcrook.com, 1 bcrypt.online, 1 +bcs-lab.com, 1 bcs-talk.com, 1 bcschool.cn, 1 bcsnygroup.com, 1 @@ -19888,7 +19851,6 @@ bdsmcontrol.com, 1 bdsmdating.tk, 1 bdsmwiki.hu, 1 bdsu-connect.de, 1 -bdsu-kongress.de, 1 bdsu.de, 1 bdtc.com.bd, 1 bdtd.nl, 1 @@ -19954,6 +19916,7 @@ beagstudio.ie, 1 beakbirds.com, 1 beaker.coffee, 1 beal.edu, 1 +bealcreative.com.au, 1 bealefss.marketing, 1 bealeslandscaping.co.uk, 1 bealpha.pl, 1 @@ -19974,7 +19937,6 @@ beansgalore.com.au, 1 beaoriflame.hu, 1 beapieceofart.com, 1 beaquarium.com, 1 -bearblinds.com.au, 1 bearbonesenterprises.com, 1 bearcosports.com.br, 1 bearcreekcubschildcare.com, 1 @@ -20077,7 +20039,6 @@ beautyindistress.tk, 1 beautyinweb.net, 1 beautyisfine.tk, 1 beautykiss.com, 1 -beautylookz.nl, 1 beautyoverture.com, 1 beautyschool.od.ua, 1 beautyseasons.ru, 1 @@ -20095,6 +20056,7 @@ beavivo.de, 0 bebaspedia.com, 1 bebbiboni.tk, 1 bebe2luxe.fr, 1 +bebe4d.pt, 1 bebeautiful.business, 1 bebebebra.bid, 1 bebecar.com, 1 @@ -20108,6 +20070,7 @@ bebesreborns.com, 1 bebest.gov, 1 bebetrotteur.com, 1 bebidasrd.com, 1 +beble.pl, 1 bebodywise.com, 1 beboldpr.com, 1 bebout.domains, 1 @@ -20191,6 +20154,7 @@ bee-line.org.uk, 1 bee-removal-dublin.com, 1 bee.tools, 1 beebeads.ga, 1 +beebom.com, 1 beebruh.bid, 1 beebuy.online, 1 beebuy.restaurant, 1 @@ -20288,7 +20252,6 @@ begemoth.tk, 1 begethost.cf, 1 begin-motorcycling.co.uk, 1 beginnercampingguide.top, 1 -beginwp.tips, 1 begleitung-zuhause.at, 1 begonias.tk, 1 begoth.boutique, 1 @@ -20410,6 +20373,7 @@ belarus.tk, 1 belarusmemorials.com, 1 belarustoday.tk, 1 belarustravel.tk, 1 +belastingdienst-in-beeld.nl, 1 belastingmiddeling.nl, 1 belayarus.tk, 1 belcanto.cz, 1 @@ -20421,6 +20385,7 @@ belegit.org, 1 belevingsboerderijdekoolberg.nl, 1 belezadateresa.com.br, 1 belezashopping.com.br, 1 +belezna.hu, 1 belf.ml, 1 belfastbounce.co.uk, 1 belfastjujitsu.tk, 1 @@ -20470,7 +20435,6 @@ belinsky.tk, 1 beliyo.tk, 1 belizemap.tk, 1 belk.io, 1 -belka.online, 1 belki.tk, 1 belknapcounty.gov, 1 belkys.net, 0 @@ -20492,6 +20456,7 @@ bellanews.tk, 1 bellaslokal.de, 1 bellassubsandpizza.com, 1 bellastate.ca, 1 +bellasuperfisky.com, 1 bellatight.com, 1 bellavistaoutdoor.com, 1 bellcarrington.com, 1 @@ -20508,7 +20473,6 @@ bellenundballern.de, 1 belleplaineiowa.gov, 1 belleplainemn.gov, 1 bellesetrebelles.tk, 1 -bellevilleboot.com, 1 bellevueduilawyers.com, 1 bellezanatural.life, 1 bellezon-shop.com, 1 @@ -20518,7 +20482,6 @@ bellhowell.net, 1 bellisima.com.co, 1 bellissime.tk, 1 bellmeadtx.gov, 1 -belloo.date, 1 bellop.top, 1 belloweb.tk, 1 bellowsafs.marketing, 1 @@ -20566,6 +20529,8 @@ belvo.com, 1 belvoc.be, 1 belvoirbouncycastles.co.uk, 1 belwederczykow.eu, 1 +belzhd.info, 1 +belzhd.link, 1 belzlongroup.com, 1 bembee.tk, 1 bemcorp.de, 1 @@ -20599,7 +20564,6 @@ benc.io, 1 benceskorka.com, 1 bencheetham.me.uk, 1 benchling.com, 1 -benchmark-dental.com, 1 benchmark-ip.com, 1 benchmarkmonument.com, 1 benclarkphotography.com.au, 1 @@ -20626,6 +20590,7 @@ benedikto.tk, 1 benee-awraham.nl, 1 benefeds.com, 1 benefitboys.com, 1 +benefitharbor.com, 1 benefits.gov, 1 benefitsbookcase.com, 1 benefitsystems.ro, 1 @@ -20659,7 +20624,6 @@ bengisureklam.com, 1 bengkelkeramik.tk, 1 bengou.tk, 1 bengt.org, 1 -benhammoutex.com, 1 benhamplateau.tk, 1 benhaney.com, 1 benhartmann.de, 0 @@ -20677,7 +20641,6 @@ benimseom.com, 1 benimsetin.com, 1 benimsetin.org, 1 beninca.link, 1 -beniskala.com, 1 benjamin-horvath.com, 1 benjamin-suess.de, 1 benjamin-thomsen.de, 1 @@ -20810,7 +20773,6 @@ bereikbaargent.be, 1 berekenen.nl, 1 berekenhet.nl, 1 berend.tk, 1 -bereregisdental.co.uk, 1 beresbalazs.tk, 1 berete.de, 1 beretinec.hr, 1 @@ -20821,6 +20783,7 @@ bergelevrad.tk, 1 bergencountyclerk.gov, 1 bergenfieldnj.gov, 1 bergerandgreen.com, 1 +berget.cloud, 1 bergevoet-fa.nl, 0 bergfex.at, 1 bergfex.ch, 1 @@ -20958,6 +20921,7 @@ bersier.net, 1 bersierservices.ch, 0 berst.cz, 1 bert-dijkink.tk, 1 +bert-hein.de, 1 bert.org, 1 bertaudarthur.fr, 1 bertbrockham.org.uk, 1 @@ -20967,6 +20931,7 @@ berthaphil.com, 1 berthaundcarlbenzpreis.de, 1 berthelier.me, 1 berthoudeconomicdevelopment.com, 1 +berthouvan.com.br, 1 bertlight.com, 1 bertold.org, 1 bertoliniodontoiatria.it, 1 @@ -21001,6 +20966,7 @@ besnard.me, 1 besnik.de, 0 besnik.tk, 1 besola.de, 1 +besole.ch, 1 besolov.tk, 1 besonderheit.com, 1 besonders-s.at, 1 @@ -21056,7 +21022,6 @@ best66.me, 1 besta.tk, 1 bestaction.tk, 1 bestafricaradio.tk, 1 -bestallgame.co, 1 bestallid06.se, 1 bestarts.tk, 1 bestasquadradas.org, 1 @@ -21083,7 +21048,6 @@ bestbuyzone.com, 1 bestcamshow.tk, 1 bestcanvaswallart.com, 1 bestcarscyprus.com, 1 -bestcash2020.com, 1 bestcasinositesonline.com, 1 bestchoicehomeinspections.com, 1 bestclassifiedsusa.com, 1 @@ -21122,7 +21086,6 @@ bestenlogin.com, 1 bestertagderwelt.de, 1 bestesb.net, 1 bestescortmallorca.com, 1 -bestescortsdirectory.com, 1 bestessayhelp.com, 1 bestestquote.com, 1 bestethereumcasinos.io, 1 @@ -21142,7 +21105,6 @@ bestgolftrips.ca, 1 bestgriefbooks.com, 1 besthemes.tk, 1 besthobi.com, 1 -besthorsebedding.com, 0 besthost.cz, 1 besthouse.co.il, 1 besthumorsite.tk, 1 @@ -21339,23 +21301,24 @@ bestplus.ml, 1 bestplus.tk, 1 bestpneu.cz, 1 bestporn.pics, 1 -bestporn2022.com, 1 bestpornclip.com, 1 bestporngirls.com, 1 bestpornpictures.com, 1 bestportablegeneratorratings.com, 1 -bestpost.org, 1 bestpressurewashingchicago.com, 1 +bestprofessionalchainsaw.com, 1 bestpsychologydegrees.com, 1 bestpsychologydegrees.org, 1 bestreleases.tk, 1 bestremote.io, 1 bestroofinginkansascity.com, 1 bestroutes.net, 1 +bestrshop.com, 1 bestsatoshifaucet.ga, 1 bestschools.io, 1 bestseo4u.co.uk, 1 bestsextoys.com, 1 +bestsheepdog.ru, 1 bestshoesmix.com, 1 bestshopping.ga, 1 bestshops.ga, 1 @@ -21409,9 +21372,7 @@ bet1x-thailand.com, 1 bet333111.com, 1 bet333123.com, 1 bet333222.com, 1 -bet333321.com, 0 bet333345.com, 0 -bet333432.com, 0 bet333444.com, 1 bet333456.com, 1 bet333567.com, 1 @@ -21419,7 +21380,6 @@ bet333666.com, 1 bet333678.com, 1 bet333789.com, 0 bet333h.com, 1 -bet333k.com, 0 bet333l.com, 1 bet333m.com, 1 bet333n.com, 1 @@ -21435,7 +21395,6 @@ bet333y.com, 1 bet333z.com, 1 bet338c.com, 1 bet3639.com, 0 -bet365-fixed-matches.com, 1 bet365bc.net, 1 bet365bet2020.com, 1 bet365cn-casino.com, 1 @@ -21567,7 +21526,6 @@ betcn-mart.com, 1 betecnet.de, 1 betel.tk, 1 betelgeus.com, 1 -betelnatural.com, 1 betemyja.tk, 1 betenemy.com, 1 beteroud.nl, 1 @@ -21677,7 +21635,6 @@ bettersocialmedia.co.uk, 1 betterteam.com, 1 bettertech.pt, 1 bettertechsoftware.com, 1 -bettertest.it, 1 bettertime.jetzt, 1 betterviewrentals.com, 1 betterworlded.org, 1 @@ -21716,7 +21673,6 @@ betwinner5.mobi, 1 betwinnerbahis.net, 1 betwinnerfrance.net, 1 betwinnerkenya.com, 1 -betwinnerlive.com, 1 betwinnermobileapp.com, 1 betwinnernigeria.com, 1 betwinnerperu.com, 1 @@ -21795,6 +21751,8 @@ bexleycastles.co.uk, 1 bey.io, 1 beybiz.com, 1 beybladesource.tk, 1 +beyer.cloud, 1 +beyer.consulting, 1 beyerautomation.com, 1 beyerm.de, 1 beyers.io, 0 @@ -21877,7 +21835,6 @@ bgbaby.net, 1 bgbet365.com, 1 bgbhsf.top, 1 bgd-info.tk, 1 -bgdesign.de, 0 bgemi.net, 1 bgeo.io, 1 bget.org.uk, 1 @@ -21906,7 +21863,6 @@ bh.sb, 1 bhacit.com, 0 bhaiben.com, 1 bhameshwarigraphics.com, 1 -bhanaphotography.co.nz, 1 bharat-media.tk, 1 bharatanatyam-dancer.tk, 1 bharath-g.in, 1 @@ -21918,7 +21874,6 @@ bhaweshkumar.com, 1 bhbet365.com, 1 bhcarroll.edu, 1 bhf.im, 1 -bhfseo.com, 1 bhi.consulting, 1 bhiglu.com, 1 bhitnews.tk, 1 @@ -21983,6 +21938,7 @@ bibica.net, 1 bibimanga.com, 1 bibit.id, 1 bibitbunga.com, 1 +bibitec.de, 1 bible-maroc.com, 1 bible4u.net, 1 biblebrainhealth.com, 1 @@ -22096,10 +22052,11 @@ bierochs.org, 1 bierrunde.de, 1 bierwebshop.be, 1 bieser.ch, 1 +biester-maschinenbau.com, 1 biester.pro, 1 bietigheim-digital.tk, 1 bietinidesign.be, 1 -bieville-beuville.fr, 1 +bieville-beuville.fr, 0 biewen.me, 0 biffo.com, 1 biflosgknm.tk, 1 @@ -22135,7 +22092,7 @@ bigbeats.tk, 1 bigbeautysecrets.tk, 1 bigbendcoffeeroasters.com, 0 bigbendguide.com, 1 -bigbendsentinel.com, 1 +bigbendsentinel.com, 0 bigbenny.tk, 1 bigbit.tk, 1 bigblockmotors.ru, 1 @@ -22170,16 +22127,19 @@ bigdesiresolutions.co.za, 1 bigdiff.co.uk, 1 bigdinosaur.org, 1 bigdiscounts.tk, 1 +bigdomaindata.com, 1 bigeaglesacademy.gq, 1 bigeasyfences.com, 1 bigeasygrille.com, 0 bigfreebet.com, 1 bigfreebielist.tk, 1 +biggbuz.com, 1 biggernews.gq, 1 biggerpicture.agency, 1 biggerpockets.com, 1 biggive.org, 1 biggles.io, 1 +biggreeneggeindhoven.nl, 1 biggsconstruction.com, 1 biggy.kiev.ua, 1 bighappy.com, 1 @@ -22282,6 +22242,7 @@ bikesquadron.com, 1 bikestream.tk, 1 bikesupermarket.it, 1 biketalk.ga, 1 +biketowork.ie, 0 biketrainer.tk, 1 bikhof.com, 1 biki.com, 1 @@ -22290,6 +22251,7 @@ bikini.tk, 1 bikinibich.tk, 1 bikinis.ga, 1 bikinis.tk, 1 +bikiniseli.com, 1 bikkelbroeders.com, 0 bikkelbroeders.nl, 0 biknet.tk, 1 @@ -22319,14 +22281,13 @@ biletyplus.ru, 1 biletyplus.ua, 1 bilgehan.net, 1 bilgiliksel.com, 1 -bilgireis.com, 1 +bilgireis.com, 0 bilgisayarkursu.tk, 1 bilgo.com, 1 bilhos.com.tr, 1 bilibili.link, 1 bilibili.party, 1 bilimal.kz, 1 -bilimoe.com, 1 bilingualunit.tk, 1 bilirrubina.com, 1 bilisimdanismani.com, 1 @@ -22336,7 +22297,6 @@ bilke.org, 1 bilkovita.bg, 1 bilkovitinkturi.bg, 1 billaltermatt.com, 1 -billarpool.cl, 1 billaud.eu, 1 billaud.eu.org, 1 billboard-panama.ml, 1 @@ -22389,12 +22349,12 @@ billyoh.com, 1 billywig.stream, 1 biloxihistoricalsociety.org, 0 biloxisportfishing.com, 1 -bilsho.com, 1 biltullen.com, 1 bim.finance, 1 bim.physio, 1 bim0s.com, 1 bimacitizen.com, 1 +bimago.cz, 1 bimatoprostrx.com, 1 bimbingan.tk, 1 bimbobakeriesusa.com, 0 @@ -22409,7 +22369,6 @@ bimibroccoli.se, 1 bimibrocoli.es, 1 bimibrocoli.fr, 1 bimibrokkoli.de, 1 -bimigroup.org, 1 bimmerlabs.com, 1 bimoge.tk, 1 bimsynergistics.com, 1 @@ -22478,7 +22437,6 @@ bingyou.com, 1 binhdang.me, 0 binhex.net, 1 binhminhpc.com, 1 -binimo.com, 1 biniou.net, 1 binkanhada.biz, 1 binkconsulting.be, 1 @@ -22661,12 +22619,13 @@ bipolargeek.net, 1 bipolargeek.org, 1 bipolarworld.us, 1 bippassistant.com, 1 +bir3yk.net, 1 birahugo.tk, 1 +birampharm.com, 1 birchbarkfurniture.ch, 1 birchbarkfurniture.com, 0 birchbarkfurniture.fr, 0 birchtree.me, 1 -bird-tech.co.uk, 1 bird.engineer, 1 birdbox.party, 1 birdbrowser.com, 1 @@ -22757,8 +22716,6 @@ biso.ga, 1 bisoga.ga, 1 bisq.chat, 1 bisq.community, 1 -bisq.markets, 1 -bisq.ninja, 1 bisq.services, 1 bisq.wiki, 1 bisrockloverclan.tk, 1 @@ -22841,7 +22798,6 @@ bitcoinfax.net, 1 bitcoinfees.net, 1 bitcoinforthe.lol, 1 bitcoinforthe.world, 1 -bitcoinfy.net, 1 bitcoingambling.pro, 1 bitcoingames.world, 1 bitcoingroup.ga, 1 @@ -22855,7 +22811,7 @@ bitcoinkaufen.news, 1 bitcoinku.sh, 1 bitcoinkurs.news, 1 bitcoinkurs.world, 1 -bitcoinnews.digital, 1 +bitcoinmotionpro.com, 1 bitcoinnews.guru, 1 bitcoinnews.world, 1 bitcoinprice.buzz, 1 @@ -22867,11 +22823,10 @@ bitcoinprice.world, 1 bitcoinreserve.com, 1 bitcoinseed.net, 1 bitcoinset.pl, 1 +bitcoinsinireland.com, 1 bitcoinskoers.nl, 1 -bitcoinslots.info, 1 bitcoinstandard.jp, 1 bitcoinstock.ga, 1 -bitcointask.net, 1 bitcointech.ga, 1 bitcointransfer.tk, 1 bitcointv.com, 1 @@ -22884,7 +22839,7 @@ bitdefender.de, 1 bitdelta.com, 1 bitdizzle.xyz, 1 bitdocs.xyz, 1 -bitdynamics.au, 1 +bitdynamics.au, 0 bitech-ec.com, 1 bitedu.pt, 1 bitehazard.cz, 1 @@ -22958,6 +22913,7 @@ bits-chips.nl, 1 bits-hr.de, 0 bitsafe.com.my, 1 bitsalt.com, 1 +bitscoper.live, 1 bitsellx.com, 1 bitseo.ga, 1 bitseo.tk, 1 @@ -23070,6 +23026,7 @@ biztrend.ru, 1 bizuteria-laoni.tk, 1 bizuteria-naprezent-szczecin.ml, 1 bizval.co, 1 +bizword.ru, 1 bizzdesign.com, 1 bizzix.tk, 1 bizzseo.tk, 1 @@ -23111,6 +23068,7 @@ bjut.photos, 1 bjxx.com, 1 bk-art.ru, 1 bk-info.lt, 1 +bk-prom.ru, 1 bk1x.mobi, 1 bk1xbet.mobi, 1 bk27.ru, 1 @@ -23229,9 +23187,9 @@ bkin-42740.xyz, 1 bkin-43450.xyz, 1 bkin-46680.xyz, 1 bkk24.de, 1 +bkkf.at, 1 bkkposn.com, 1 bklaindia.com, 1 -bkmexpress.com.tr, 1 bkms-system.com, 1 bkositspartytime.co.uk, 1 bkphcoop.com, 1 @@ -23344,7 +23302,6 @@ blackhat.dk, 1 blackhat.nz, 1 blackhawk.io, 1 blackheads.tk, 1 -blackheartbar.com, 1 blackhelicopters.net, 1 blackhillsinfosec.com, 1 blackhistorymonth.gov, 1 @@ -23490,6 +23447,7 @@ blantik.net, 1 blantr.com, 1 blanx.de, 1 blanzastore.com.br, 1 +blasdelamo.com, 1 blasdelamo.es, 1 blaser.com, 1 blasflittchen.net, 1 @@ -23518,6 +23476,7 @@ blauesschwarz.de, 0 blauglockenbaum.de, 1 blaumedia.com, 1 blautiefe.de, 1 +blauwegeit.nl, 1 blauwereigercoaching.nl, 1 blauwgras.nl, 1 blauwwit.be, 1 @@ -23555,9 +23514,9 @@ blekingeopen.tk, 1 blend.works, 1 blender.io, 1 blenderinsider.com, 1 -blenderrecipereviews.com, 1 blendessencial.com, 1 blending.kr, 1 +blendle.com, 1 blendle.nl, 1 blenneros.net, 0 blero.tk, 1 @@ -23587,12 +23546,14 @@ bliker.ga, 1 blikund.swedbank.se, 1 blinblin.la, 1 blind-iq.at, 1 +blind-iq.be, 1 blind-iq.com, 1 blind-iq.cz, 1 blind-iq.de, 1 blind-iq.dk, 1 blind-iq.es, 1 blind-iq.eu, 1 +blind-iq.fi, 1 blind-iq.fr, 1 blind-iq.it, 1 blind-iq.nl, 1 @@ -23622,9 +23583,9 @@ blinkspeed.eu, 1 blinniza.tk, 1 blinq.me, 1 blio.tk, 1 -blippr.com, 1 blissbox.com, 1 blissdrive.com, 1 +blissfulbali.com, 1 blissfulsmile.com, 1 blissplan.com, 1 blissso.com, 1 @@ -23674,6 +23635,7 @@ block-planet.xyz, 1 block-this.com, 1 block.xyz, 1 block65.com, 1 +blockalarm.de, 1 blockchain.com, 1 blockchain.info, 1 blockchain.poker, 1 @@ -23699,6 +23661,7 @@ blockstream.com, 1 blockstream.info, 1 blockstrom.com, 1 blockstudio.it, 1 +blocksurf.io, 1 blocktab.io, 1 blockthis.xyz, 1 blockvideo.live, 1 @@ -23767,7 +23730,6 @@ bloggingtriggers.com, 1 bloggingwithchildren.com, 1 blogguitar.tk, 1 bloggyaani.com, 1 -bloggymoms.com, 1 bloggytalky.com, 1 bloghogger.tk, 1 blogidol.tk, 1 @@ -23840,6 +23802,7 @@ bloomingwoods.tk, 1 bloomnail.net, 1 bloomppm.com, 1 bloomscape.com, 1 +blooprintcreation.com, 1 blopezabogado.es, 1 blorbo.link, 1 bloscheck.com, 1 @@ -24004,7 +23967,6 @@ bluimedia.com, 1 bluinsights.aws, 1 blumagine.de, 1 blumando.de, 1 -blumen-garage.de, 1 blumen-pusch.de, 1 blumenbasteln.ml, 1 blumenfeldart.com, 1 @@ -24022,7 +23984,6 @@ blurringexistence.net, 1 blurt.cf, 1 blushbymounika.com, 1 blushingweb.tk, 1 -blusmurf.net, 1 blutooth.ga, 1 blutspende.de, 1 bluware.com, 1 @@ -24041,12 +24002,14 @@ bm-pc.ddns.net, 1 bm-trading.nl, 1 bm1.nl, 1 bmac.cloud, 1 +bmaj.fr, 1 bmak.me, 1 bmak.xyz, 1 bmbfiltration.com, 1 bmblawfirm.com, 1 bmelecevolution.com, 1 bmhglobal.com.au, 1 +bmicos.com, 1 bmipestcontrol.com, 1 bmjphotography.tk, 1 bmk-kramsach.at, 1 @@ -24064,6 +24027,7 @@ bmsupermercados.es, 1 bmw-motorradclub-seefeld.de, 1 bmwcolors.com, 1 bmwhocking.com, 1 +bmwhocking.net, 1 bmwhocking.nz, 1 bmwpartsdeal.com, 1 bmyjacks.cn, 0 @@ -24081,12 +24045,10 @@ bnext.tech, 1 bngdigital.com, 1 bngs.pl, 1 bngsecure.com, 1 -bnin.org, 1 bnjscastles.co.uk, 1 bnkconsulting.info, 1 bnnuy.com, 1 bnpl.kz, 1 -bnpparibas-am.com, 0 bnpparibas.be, 1 bnpparibas.bg, 1 bnpparibas.co.uk, 1 @@ -24127,14 +24089,13 @@ boardsoftware.net, 1 boardspot.com, 1 boardusersers.ga, 1 boat-engines.eu, 1 -boatandsailboat.com, 1 boathut.com.au, 1 +boatlyfe.com, 1 boats.com, 0 boatsandoats.com, 1 boatsdonated.com, 1 boatseller.org, 1 boatsforveterans.org, 1 -boattour.ru, 1 boattrader.com.au, 1 boatyardx.com, 1 boauganda.com, 0 @@ -24187,6 +24148,7 @@ bocawa.es, 1 bocbot.tk, 1 boccabell.com, 0 bocciatitanium.com, 1 +bocfolde.hu, 1 bochs.info, 1 bocloud.eu, 1 boctok.space, 1 @@ -24225,7 +24187,6 @@ bodusod.bg, 1 body-demo.tk, 1 bodyblockarcade.com, 1 bodyblog.nl, 1 -bodybuilding.com, 0 bodybuilding.events, 1 bodybuilding.nl, 1 bodybuildingstyle.tk, 1 @@ -24258,7 +24219,6 @@ boensite.tk, 1 boenyc.gov, 1 boerandolphcountyga.gov, 1 boerderijspel.nl, 1 -boeren.de, 0 boerger.com, 1 boesckens.de, 1 boese.one, 1 @@ -24271,7 +24231,7 @@ bofn.com.tr, 1 bofoxdesign.com, 0 bogatyizhenih.tk, 1 bogdanbiris.com, 1 -bogdancornianu.com, 1 +bogdancornianu.com, 0 bogdanepureanu.ro, 1 bogdanov.ga, 1 bogdanow.tk, 1 @@ -24296,7 +24256,6 @@ boilermechhr.com, 1 boilesen.com, 0 boiliai.lt, 1 boilingpoint.net, 1 -boimmobilier.ch, 0 boingboing.net, 1 boingo00.wtf, 1 bointon.com, 1 @@ -24590,10 +24549,8 @@ booksoncamping.com, 1 bookstores.gq, 1 bookstrap.ga, 1 booksy.com, 1 -booktruestorys.com, 1 bookvuz.tk, 1 bookwear.com, 1 -bookwhen.com, 1 bookworld.gr, 1 bookwormstory.social, 1 bookwritingbureau.com, 1 @@ -24605,7 +24562,7 @@ boolypan.com, 1 boom2.network, 1 boombangcreditos.tk, 1 boomboomboat.com, 1 -boomcloud.net, 0 +boomcloud.net, 1 boomerangwater.com, 1 boomersurf.com, 1 boomfestival.org, 1 @@ -24743,10 +24700,12 @@ borntobetogether.eu, 1 borntocover.pl, 1 borntoraid.com, 1 boros.tk, 1 +boros.world, 1 borowski.pw, 1 borraxeiros.tk, 1 borriquillacuenca.tk, 1 borsa2k.com.tr, 1 +borsfa.hu, 1 borsodsakk.hu, 1 bortebest.no, 1 bortoto.asia, 1 @@ -24785,7 +24744,9 @@ bosniaks.com, 1 bosonogka.tk, 1 bospiraat.tk, 1 bospor.tk, 1 +bosque.gov, 1 bosquedelasimagenes.tk, 1 +boss-it.eu, 1 boss.az, 1 bossefors.tk, 1 bossurl.tk, 1 @@ -24812,6 +24773,7 @@ botbrother.ml, 1 botdiril.com, 1 botealis.ch, 0 botelegram.tk, 1 +botelladevidrio.com, 1 botguard.net, 1 bothive.io, 1 boticadiservicio.com, 1 @@ -24836,7 +24798,6 @@ botticelli.tk, 1 bottinquebec.com, 1 bottke.berlin, 1 bottle.li, 1 -bottlecapsbev.com, 1 bottlerockshuttles.com, 1 bottly.in, 1 bottom9clothing.com, 1 @@ -24989,7 +24950,6 @@ bourtalm.fr, 1 boutibag.com, 1 boutique-pcland.fr, 1 boutique.be, 1 -boutiquecoureurdesbois.ca, 1 boutiquedecanetas.com.br, 1 boutiquedelhogar.cl, 1 boutiquedoartista.com.br, 1 @@ -25067,6 +25027,7 @@ boxsite.ga, 1 boxtub.com, 1 boxturtlesaspets.com, 1 boxview.com, 1 +boy.gp, 1 boyard.tk, 1 boycewire.com, 1 boydcorp.com, 1 @@ -25143,6 +25104,7 @@ brackettvilletx.gov, 1 bracknellvets.co.uk, 1 bractwogothica.ml, 1 brad.fi, 1 +bradbinko.com, 1 bradeales.com, 1 bradentonfl.gov, 1 bradfordcountypa.gov, 1 @@ -25221,6 +25183,7 @@ brallog.tk, 1 bralnik.com, 1 bramberheights.com, 1 brambevers.tk, 1 +brambleco.bg, 1 bramblerealestate.com, 1 brambles.com, 1 brambleski.com, 1 @@ -25260,7 +25223,6 @@ brandbook.io, 1 brandcodestyle.com, 0 brandeps.com, 1 brandfactory.ml, 1 -brandfeatured.com, 1 brandfolder.com, 1 brandfoto.com, 1 brandhost.tk, 1 @@ -25273,6 +25235,7 @@ brandjapan.com, 1 brandketers.com, 1 brandmixer.ru, 1 brandmovers.co, 1 +brandmuscle.com, 1 brandnous.ca, 1 brandnucreations.com, 1 brando753.xyz, 1 @@ -25341,6 +25304,7 @@ brasil66.tk, 1 brasilandia.tk, 1 brasilcheats.tk, 1 brasilduino.tk, 1 +brasilemergenciasmedicas.com.br, 1 brasiliademinasnet.tk, 1 brasilianskbikini.se, 1 brasillifeoficial.tk, 1 @@ -25363,7 +25327,6 @@ bratkartoffelking.de, 1 bratstvo.tk, 1 bratt.tk, 1 bratteng.com, 0 -bratteng.me, 1 bratteng.solutions, 1 brattleboro.gov, 1 bratunaconline.tk, 1 @@ -25588,6 +25551,7 @@ brian.gq, 0 brianalaway.com, 1 brianalawayconsulting.com, 1 briandwells.com, 0 +brianerickson.net, 1 brianfanzo.com, 1 brianfoshee.com, 1 briangarcia.ga, 1 @@ -25598,7 +25562,6 @@ briankavanaugh.com, 1 brianlachapelle.tk, 1 brianlanders.us, 1 brianleejackson.com, 1 -brianleemarketing.com, 1 brianm.com, 1 brianmwaters.net, 1 brianna.tk, 1 @@ -25609,6 +25572,7 @@ brianroadifer.com, 1 briansemrau.com, 1 briansmith.org, 1 briantafoya.com, 1 +brianterealtygroup.com, 1 brianum.de, 1 brianum.net, 1 brianvalente.tk, 1 @@ -25644,6 +25608,7 @@ bridalweddingshow.ga, 1 bride.vn, 1 bridebook.com, 1 bridesbouquet.ml, 1 +bridesforacause.com, 1 bridestarco.com, 1 bridge-online.cloud, 1 bridge-to-knowledge.nl, 1 @@ -25705,7 +25670,7 @@ brighterimagelab.com, 1 brightfuturemadebyme.com, 1 brightgk.com, 1 brightideaspromotional.co.uk, 1 -brightmachines.com, 1 +brightmachines.com, 0 brightmls.com, 1 brightmovers.com, 1 brighton-canoes.co.uk, 1 @@ -25763,6 +25728,7 @@ brio-shop.ch, 1 brio-ukraine.store, 1 brio.news, 1 briograce.com.mx, 1 +briojoinery.com.au, 1 brioukraine.store, 1 brisamar8.de, 1 brisbanecashforcars.com.au, 1 @@ -25823,11 +25789,11 @@ brittainconsulting.ca, 1 brittany.com.ph, 1 brittanyferriesnewsroom.com, 1 brittas-world.tk, 1 +britva-optom.com, 1 brivawn.com, 1 brix-central.tk, 1 brixxonline.nl, 0 brizawen.com, 1 -brizz.com.co, 1 brizzo.net, 1 brk-t.com, 1 brk-t.org, 1 @@ -25852,6 +25818,7 @@ brnohra.online, 1 brnojebozi.cz, 1 brnr.link, 1 brnrx.com, 1 +brntn.me, 1 broadax.ml, 1 broadbandchoices.co.uk, 1 broadbandexposed.co.uk, 1 @@ -25873,13 +25840,14 @@ broadwayvets.co.uk, 1 broansunited.tk, 1 broca.dk, 1 broca.io, 0 +brocc-myanmar.com, 1 brock.guide, 1 brockenhurstguide.com, 1 brockenhurstonline.com, 1 brockwayministorage.com, 1 brockwaytwpmn.gov, 1 brocos.io, 1 -brodahose.com.au, 0 +brodahose.com.au, 1 brodowski.cc, 1 brody.digital, 1 brody.ninja, 1 @@ -25968,7 +25936,6 @@ broomcastle.social, 1 broomecountyny.gov, 1 broomorchard.com, 1 brosay-legko.ml, 1 -brossman.it, 1 brossmanit.com, 1 brotaufstriche.com, 1 brother.com.hk, 1 @@ -26074,7 +26041,6 @@ brunoramos.com, 0 brunoreno.be, 1 brunoriguzzi.io, 1 brunorogerioadvocacia.com.br, 1 -brunosampaioblog.com, 1 brunroom.tk, 1 brunswick.com, 0 brunswickcove.com, 1 @@ -26196,7 +26162,6 @@ bsolut.de, 1 bsolut.org, 1 bsp-southpool.com, 1 bspecialfx.nl, 1 -bsq1492.com, 1 bsrueti.ch, 1 bss-solutions.net, 1 bss-systems.net, 1 @@ -26205,7 +26170,6 @@ bss.net.ph, 1 bss.solutions, 1 bss.systems, 1 bss01.de, 1 -bsskorcz.pl, 1 bssolvfagen-pre-storeswa-wap.azurewebsites.net, 1 bsstainless.com, 1 bst-brandschutz.at, 1 @@ -26257,6 +26221,8 @@ btmic.ro, 1 btnissanparts.com, 1 btool.eu.org, 1 btorrent.xyz, 1 +btpexpert.com, 1 +btpinterim.com, 1 btrade.io, 1 btrans.by, 1 btraviswright.com, 1 @@ -26287,7 +26253,6 @@ bturboo.com, 1 btvw.de, 1 btwj.com, 1 btwsa.tk, 1 -btxchange.io, 1 bu-e.com, 1 buai.cf, 1 buai.gq, 1 @@ -26313,6 +26278,7 @@ bubhub.io, 1 bubnovsky.org, 1 bubok.com.ar, 1 bubok.es, 1 +bubra.net, 1 bubra.stream, 1 bubsngrubs.com.au, 1 bubty.com, 1 @@ -26382,7 +26348,7 @@ budget.gouv.fr, 1 budget.gov, 1 budget.ie, 1 budget.ovh, 1 -budgetfitter.com, 1 +budgetapp.me, 1 budgetimize.com, 1 budgetlob.gov, 1 budgetlovers.nl, 1 @@ -26397,6 +26363,7 @@ budolfs.de, 1 budomalsch.de, 1 budpolimer.com, 0 budpop.com, 1 +budra.date, 1 budscope.com, 1 budtraffic.net, 1 budulanradu.ro, 1 @@ -26410,7 +26377,6 @@ buentaller.com, 1 bueny.com, 1 bueny.net, 1 buergerwehr-ettlingen.de, 1 -buerliag.ch, 1 buero13-design.de, 1 buerstaedter-zeitung.de, 1 buesiforquo.cf, 1 @@ -26474,6 +26440,7 @@ build-marrakech.org, 1 build-up.tk, 1 build.chromium.org, 1 build.gov, 1 +buildamericaluxuryhomes.com, 1 buildbackbetter.gov, 1 buildbytes.com, 1 buildconcierge.ga, 1 @@ -26506,7 +26473,6 @@ buildmorebuslanes.com, 1 buildnews.tk, 1 buildplease.com, 1 builds.gg, 1 -buildstaging.com, 1 buildwealth.uk, 1 buileo.com, 1 builterra2.azurewebsites.net, 1 @@ -26561,6 +26527,7 @@ bulevard-residence.com, 1 bulgakov.ga, 1 bulgakov.ml, 1 bulgakov.tk, 1 +bulgarcom.bg, 1 bulgariablog.tk, 1 bulgarianhouse.tk, 1 bulgarianmale.com, 1 @@ -26589,6 +26556,7 @@ bullfitta.tk, 1 bullfrogpooltilecleaning.com, 1 bulli.tk, 1 bullionexus.com, 1 +bullis.me, 1 bullish.com, 1 bullmarketing.nl, 1 bullockcountyal.gov, 1 @@ -26698,8 +26666,6 @@ burewala.com, 1 burewala.tk, 1 burewalanews.tk, 1 burg-esslingen.de, 1 -burg-hohnstein.com, 0 -burg-hohnstein.info, 0 burgas.bg, 1 burgawnc.gov, 1 burger.eu.org, 1 @@ -26730,7 +26696,7 @@ burlaka.net, 1 burlapsac.ca, 1 burlesonconstructioninc.com, 1 burlesontx.gov, 1 -burling.cz, 1 +burlingameparentsclub.org, 1 burma-we-care.tk, 1 burmalin.ml, 1 burmania.tk, 1 @@ -26884,7 +26850,6 @@ businesscrafter.ga, 1 businesscupcake.ga, 1 businesscupid.ga, 1 businesscurious.ga, 1 -businesscutter.com, 1 businessdelta.ga, 1 businessdevelopmentagency.tk, 1 businessdevelopmentarea.tk, 1 @@ -27130,7 +27095,6 @@ but-its-not-your.business, 1 butarque.es, 1 butcherboymarket.com, 1 butcherpaxtattoo.com, 1 -butenhofbomster.com, 1 buter-petersen.dk, 1 butfirstkoffee.in, 1 butik-mechty.tk, 1 @@ -27167,6 +27131,7 @@ butunoyunlar.net, 1 butyric.com, 1 butz.cloud, 1 butzies.ddnss.org, 1 +buuba.bid, 1 buumibar.fi, 1 buurtbusboskoop.nl, 1 buurtgenotencollectief.nl, 1 @@ -27250,6 +27215,7 @@ buyessay.org, 1 buyessays.net, 1 buyessayscheap.com, 1 buyfluoxetineonline.gq, 1 +buygoldreview.com, 1 buyharpoon.com, 1 buyhydrochlorothiazide.ml, 1 buyingstatus.com, 1 @@ -27334,11 +27300,9 @@ buzzthemuddypyrador.com, 1 buzztrending.tk, 1 buzzword24.de, 1 buzzworld.tk, 1 -buzzworthy.biz, 1 buzzybites.com, 1 bv-driver.tk, 1 bv-ferreiradozezere.pt, 1 -bvb.moe, 0 bvblaboratory.hu, 1 bvbmedia.nl, 1 bvdp-saturn-prod.appspot.com, 1 @@ -27406,7 +27370,6 @@ by-the-sword.com, 1 by-yesilbag.com, 1 by.city, 1 by.cx, 0 -by.place, 1 by1u.com, 1 byalexia.gr, 1 byanabelen.com, 1 @@ -27453,7 +27416,6 @@ bynono.pt, 1 bynumlaw.net, 1 byootify.com, 1 bypass-link.ga, 1 -bypass.kr, 1 bypassgfw.tk, 1 bypetula.cz, 1 byraje.com, 1 @@ -27646,7 +27608,6 @@ ca.search.yahoo.com, 0 ca3ahhet.tk, 1 ca5.de, 1 caa.ca, 1 -caalmn.org, 1 caarecord.org, 1 caasd.org, 1 caasda.tk, 1 @@ -27661,6 +27622,7 @@ cabanactf.com, 1 cabaretadanowskyfan.tk, 1 cabazon-tu.com, 1 cabbage.software, 1 +cabbagetree.io, 1 cabcard.services, 1 cabeceirasdebasto.pt, 0 cabecera-descendimiento.tk, 1 @@ -27679,6 +27641,7 @@ cabinetm.com, 1 cabinetmtc.com, 1 cabinetoumaima.tk, 1 cabinetselect.com, 1 +cable-24.com, 1 cable.ru, 1 cableatierra.tk, 1 cablefibreoptique.fr, 1 @@ -27688,10 +27651,12 @@ cablemadrid.tk, 1 cablemod.com, 1 cables-pro.com, 1 cablesandkits.com, 1 +cabletiesunlimited.com, 1 cablogrammes.fr, 1 cabodream.ml, 1 caboleisurerealestate.com, 1 cabooneconstruction.com, 1 +caboose.app, 1 cabosaferide.com, 1 cabotagem.com, 1 caboverde.tk, 1 @@ -27750,7 +27715,6 @@ cadcrowd.com, 1 caddo.gov, 1 caddr.org, 1 caddyfashionshop.com, 1 -cadeaux-anniversaires.net, 1 cadeauxfolies.fr, 1 cadecobots.com, 1 cadeengineering.com, 1 @@ -27770,6 +27734,7 @@ cadman.pw, 1 cadman.uk, 1 cadmechanic.com, 1 cadonau.net, 1 +cadoneghe.com, 1 cadonet.tk, 1 cadooz.com, 1 cadovod.tk, 1 @@ -27808,6 +27773,7 @@ cafe-pauline.de, 1 cafe-service.ru, 0 cafead.de, 1 cafeamazon.tk, 1 +cafeapple.com, 1 cafebab.com, 1 cafebeauty.com, 1 cafebeirut.tk, 1 @@ -27838,7 +27804,6 @@ cafenoorderzon.tk, 1 cafeobscura.nl, 1 cafeplacedumarche.ch, 1 cafepress.com.au, 1 -cafesforonda.com, 1 cafetaste.com, 1 cafeterya.tk, 1 cafethevibes.com, 1 @@ -27872,6 +27837,7 @@ cagrierdogdu.com, 1 cagrimerkezinumarasi.com, 1 cahabadigital.com, 1 cahfee.com, 1 +cahier-reutilisable.fr, 1 cahn-achn.ca, 1 cahuilla-nsn.gov, 1 cai-ti.com.tw, 1 @@ -27906,7 +27872,6 @@ caise.tk, 1 caissefrancaisedefinancementlocal.fr, 1 caivps.com, 1 caiwenjian.xyz, 1 -caixiange.com, 1 caixideal-serralharia.pt, 1 caiyi.com, 1 caiyou.com, 1 @@ -27923,6 +27888,7 @@ cak.nl, 1 cakalnedobe.si, 1 cakaveterinerklinigi.com, 1 cake-n-go.com, 1 +cake.com, 1 cakearific.com, 1 cakedeliver.com, 1 cakedeveloperers.ga, 1 @@ -27945,13 +27911,7 @@ cal-pacpainting.com, 1 cal.goip.de, 1 cal9000.com, 1 calaad.net, 1 -calabasaselectric.com, 1 -calabasaselectrical.com, 1 calabasaselectrician.com, 1 -calabasasexteriorlighting.com, 1 -calabasaslandscapelighting.com, 1 -calabasaslighting.com, 1 -calabasasoutdoorlighting.com, 1 calaborlawnews.com, 1 calabozo.tk, 1 caladan.tk, 1 @@ -28038,7 +27998,9 @@ caliber.to, 1 calibermind.com, 1 calibrationrecall.com, 1 calibreapp.com, 1 +calibresys.com, 1 calibso.net, 1 +calicojudge.com, 1 calidadbio.com, 1 calidoinvierno.com, 1 californiabalsamic.com, 1 @@ -28103,6 +28065,7 @@ callmewhatever.net, 1 calloway.us, 1 callowaycountyky.gov, 1 callrail.com, 0 +callsaul.us, 1 callsign.com, 0 callsigns.ca, 1 calltoar.ms, 1 @@ -28122,7 +28085,6 @@ calonmahasiswa.com, 1 calotte-academy.com, 1 calpaterson.com, 1 calposa.ml, 1 -calref.ca, 1 calsense.net, 1 calu.me, 1 calucon.de, 1 @@ -28147,7 +28109,6 @@ camarilla.tk, 1 camarilloelectric.com, 1 camarilloelectrical.com, 1 camarilloexteriorlighting.com, 1 -camarillolandscapelighting.com, 1 camarillolighting.com, 1 camarillooutdoorlighting.com, 1 camaronazo.com, 1 @@ -28198,6 +28159,7 @@ cameo.ee, 1 cameos.bo, 1 camera-podvod.tk, 1 camerahire.com.au, 1 +camerajabber.com, 1 cameraman.tk, 1 cameramark.nl, 1 camerashot.tk, 1 @@ -28248,7 +28210,6 @@ camixo.tk, 1 camjackson.net, 0 cammamam.gq, 1 camnews.tk, 1 -camolist.com, 1 camon.si, 1 camouflaged.tk, 1 camp-pleinsoleil.ch, 0 @@ -28393,6 +28354,7 @@ canaldeintegridade.com.br, 1 canaldelaespartera.tk, 1 canalecontracting.com, 1 canalescape.tk, 1 +canalgitano.com, 1 canalinterativo.cf, 1 canalinterativo.ml, 1 canalinterativo.tk, 1 @@ -28450,6 +28412,7 @@ candlepro.cf, 1 candlevn.com, 1 cando.eu, 1 candogiveguide.org, 1 +candohamrah.com, 1 candorhealthed.org, 1 candy-pop.tk, 1 candyalexa.net, 1 @@ -28469,7 +28432,6 @@ candydoll9.com, 1 candyflavor.com, 1 candykidsentertainment.co.uk, 1 candykurs.ru, 1 -candylion.rocks, 1 candypalace.tk, 1 candysailing.ml, 1 candysamira.org, 1 @@ -28516,7 +28478,6 @@ cannabis-marijuana.com, 1 cannabisdiscounter.ca, 1 cannabishouseyeg.com, 1 cannabislegality.info, 1 -cannabisoffers.net, 1 cannabisreports.org, 1 cannabistraininguniversity.com, 1 cannabiz.tk, 1 @@ -28547,7 +28508,6 @@ canopy.ninja, 1 canopycleaning.com.au, 1 canopycleaningmelbourne.com.au, 1 canopyservicing.com, 0 -canopytax.com, 1 canossagardens.org.au, 0 canossahospital.org.au, 1 canovamedical.co.uk, 1 @@ -28623,6 +28583,7 @@ capeannpediatrics.com, 1 capebretonpiper.com, 1 capecanaveral.gov, 1 capecod.gov, 1 +capecodxplore.com, 1 capecoral.gov, 1 capecycles.co.za, 1 capehipandknee.co.za, 1 @@ -28647,7 +28608,6 @@ capital-electronics.ml, 1 capital-match.com, 1 capitalcap.com, 1 capitalcollections.org.uk, 1 -capitalcounselor.com, 1 capitalendurancegroup.com, 1 capitalibre.com, 1 capitalindustrygroup.com.au, 1 @@ -28691,6 +28651,7 @@ capitone.fr, 1 caplinbouncycastles.co.uk, 1 caponestudiolegale.it, 1 caponte.io, 1 +caponvalleybank.com, 1 caporalmktdigital.com.br, 1 capota.tk, 1 capper.de, 1 @@ -28722,6 +28683,7 @@ capsulekitchen.co, 1 capsulezone.tk, 1 captain-dandelion.com, 1 captain-droid.com, 1 +captain-towing.com, 1 captainark.net, 1 captainclaw.tk, 1 captaincontributor.com, 1 @@ -28818,6 +28780,7 @@ carbonswap.exchange, 1 carbonswap.finance, 1 carbontv.com, 1 carbonvision.cn, 0 +carbuzz.com, 1 carcare.net.au, 1 carcatron.org, 1 carceloinfierno.tk, 1 @@ -28832,14 +28795,15 @@ cardanalysisers.ga, 1 cardano.eco, 1 cardbouns.tk, 1 cardcaptorsakura.jp, 1 -cardcollectors.ch, 1 carddelivery.com, 1 cardexaminerers.ga, 1 cardexaminerest.ga, 1 cardiagnose.nl, 1 cardiagnostics.tk, 1 +cardiffbus.com, 1 cardiffmoneyman.com, 1 cardijn-athus.be, 1 +cardinalcpa.com, 1 cardinauto.fr, 1 cardington.tk, 1 cardinus.com, 1 @@ -28903,17 +28867,16 @@ careerminds.com, 1 careernet.in, 1 careeroptionscoach.com, 1 careerpower.co.in, 1 +careersingulf.com, 1 careersinpsychology.org, 1 careerslevel.com, 1 careertransformed.com, 1 carefix.pro, 1 carefree-creative.com, 1 -carefu.link, 1 carefy.ph, 1 caregoportal.com, 1 carehomejob.co.uk, 1 careium.co.uk, 1 -carekleen.com.au, 1 carelancerportfolio.ga, 1 careloco.tk, 1 caremad.io, 1 @@ -28924,6 +28887,7 @@ caresco.nl, 1 careshields.sg, 1 carespot.com, 1 carespottravelmedicine.mobi, 1 +caret.be, 1 caretaker.com, 1 carethehealth.com, 1 caretoyou.com, 1 @@ -28935,7 +28899,6 @@ careyohio.gov, 1 careyolsen.com, 1 carezza.net, 1 carfamily.com, 1 -carfashion.com.mx, 1 carfax.ca, 1 carfaxcanadaappgateway.azurewebsites.net, 1 carfinancehelp.com, 1 @@ -28983,7 +28946,7 @@ carl-otto.it, 1 carl-topham.com, 0 carl.land, 1 carlansell.co.uk, 1 -carlapoggioli.com, 1 +carlapoggioli.com, 0 carlaschiavone.tk, 1 carlasecrets.com, 1 carlcsaposs.com, 1 @@ -29066,7 +29029,6 @@ carmen1996.com, 1 carmengrayfanclub.tk, 1 carmeni.tk, 1 carmeny.org, 1 -carminemastropierro.com, 1 carna.tk, 1 carnageheart.tk, 1 carnagevisors.tk, 1 @@ -29078,6 +29040,7 @@ carnedelmercado.com, 1 carnell.com, 1 carnet-du-voyageur.com, 1 carnetdeconducir.club, 1 +carnetdemotions.com, 1 carni.tk, 1 carnica.tk, 1 carniceriaserrador.es, 1 @@ -29277,13 +29240,11 @@ carymedicalgroup.com, 1 caryvilletn.gov, 1 cas-chauxdefonds.ch, 0 cas-ebbers.nl, 1 -casa-app.de, 0 casa-brel.ml, 1 casa-carla.it, 1 casa-due-pur.com, 1 casa-due-pur.de, 1 casa-due.com, 1 -casa-familia.com, 0 casa-indigo.com, 1 casa-laguna.net, 1 casa-lunch-break.de, 1 @@ -29454,6 +29415,7 @@ casinocity.ba, 1 casinocity.bg, 1 casinocity.bi, 1 casinocity.bj, 1 +casinocity.by, 1 casinocity.bz, 1 casinocity.ci, 1 casinocity.cl, 1 @@ -29525,6 +29487,7 @@ casinocity.mw, 1 casinocity.mx, 1 casinocity.no, 1 casinocity.nz, 1 +casinocity.pe, 1 casinocity.ph, 1 casinocity.pl, 1 casinocity.pt, 1 @@ -29544,6 +29507,7 @@ casinocity.sx, 1 casinocity.tg, 1 casinocity.tv, 1 casinocity.ug, 1 +casinocity.uk.com, 1 casinocity.uy, 1 casinocity.vc, 1 casinocity.vn, 1 @@ -29577,6 +29541,7 @@ casinoscryptos.com, 1 casinoslotsww.com, 1 casinosnederland.com, 1 casinospesialisten.net, 1 +casinospilnu.dk, 1 casinotokelau.tk, 1 casinotop10.net, 1 casinotopplistan.com, 1 @@ -29588,7 +29553,6 @@ casio-caisses-enregistreuses.fr, 1 casio.bg, 0 casitawn.cf, 1 casjay.cloud, 0 -casjay.com, 0 casjay.info, 0 casjenprome.cz, 1 casko-insurance.tk, 1 @@ -29705,6 +29669,7 @@ catapultgroup.ca, 1 catarrhalfuns.tk, 1 catartofsweden.se, 1 catastrofy.tk, 1 +catatanviral.com, 1 catatau.tk, 1 catawiki.com, 1 catawiki.de, 1 @@ -29728,6 +29693,7 @@ catchteamca.gov, 1 catchup-enschede.tk, 1 catcontent.cloud, 1 catcoxx.com, 1 +catcut.com, 1 catech.au, 1 catechese-ressources.com, 1 catedraderechonotarial.es, 1 @@ -29748,6 +29714,7 @@ catfun-foto.de, 1 catgarden.tk, 1 catgirl.center, 0 catgirl.cloud, 1 +catgirl.enterprises, 1 catharinalingeries.com.br, 1 catharinaparkieten.tk, 1 catharinaziekenhuis.nl, 1 @@ -29870,7 +29837,6 @@ caycehouse.com, 1 caymart.com, 1 cazadordebuenaonda.com, 1 cazaviajes.es, 1 -cazes.info, 1 cazfire.gov, 1 cazinoz.ru, 1 cazizi.com, 1 @@ -29937,6 +29903,7 @@ cbpridecenter.org, 1 cbr-rcb.ca, 1 cbr-xml-daily.ru, 1 cbrbuildingrepairs.com.au, 1 +cbrsecurity.be, 1 cbrtrainer.com, 1 cbs-engineering.com, 1 cbs-engineering.it, 1 @@ -29971,6 +29938,7 @@ ccaag.mx, 1 ccaag.net, 1 ccaag.us, 0 ccac.gov, 1 +ccad.edu, 1 ccaguavivadonaciones.org, 1 ccaj.io, 1 ccak.training, 1 @@ -29981,6 +29949,7 @@ ccattestprep.com, 1 ccautomobil.de, 1 ccayearbook.com, 1 ccb.gov, 1 +ccbank.bg, 1 ccbin.tk, 1 ccc-ch.ch, 1 ccc-checker.cn, 1 @@ -30077,10 +30046,10 @@ cdc-security.com, 1 cdc.cx, 1 cdc.gov, 1 cdcflix.xyz, 1 -cdconnect.net, 1 cdcpartners.gov, 1 cdd.go.th, 0 cdda.ch, 0 +cddbtpjob.com, 1 cdeeply.com, 1 cdf.fyi, 1 cdf.wiki, 1 @@ -30128,7 +30097,6 @@ cdscsuc.gq, 1 cdseditora.com.br, 1 cdsf.tk, 1 cdsfinancial.ca, 1 -cdshining.com, 0 cdsportal.uk, 1 cdt.cz, 1 cdt.org, 0 @@ -30217,8 +30185,6 @@ celebavirus.com, 1 celebcritics.com, 1 celebdaily.ga, 1 celebi-forest.tk, 1 -celebjacket.com, 1 -celebjury.com, 1 celebmasta.com, 1 celebrasianconference.com, 1 celebrate-creativity.com, 1 @@ -30291,6 +30257,7 @@ celticconnections.com, 1 celticdream.tk, 1 celtigafutbolclub.com, 1 celulares.com, 1 +celulas-estaminais.info, 1 celuliteonline.com, 1 cemac.int, 1 cemada.cz, 1 @@ -30335,6 +30302,7 @@ centerpoint.ovh, 1 centerpointwest.com, 1 centerpointwestapartments.com, 1 centervilleutah.gov, 1 +centimark.com, 1 centio.bg, 1 centipedegraphics.com, 1 centolos.tk, 1 @@ -30386,6 +30354,7 @@ centralvoice.org, 1 centrationgame.com, 1 centre-commercial.fr, 1 centre-equestre.net, 1 +centre-hospitalier-ruffec.fr, 1 centre-maiakovski.fr, 1 centreagree.com, 1 centreal.gov, 1 @@ -30446,6 +30415,7 @@ centurion-meet.site, 1 centurion.ovh, 1 centurioninfosec.com, 0 centurionlaboratories.com.ua, 1 +centurionlaboratories.in.ua, 1 centurionunderground.com, 1 century-properties.com, 1 century21.es, 1 @@ -30490,6 +30460,7 @@ cercrid.fr, 1 cerda-avocats.com, 1 cerebelo.info, 1 cerebrosano.gov, 1 +cerebrum.com, 1 cerecup.com, 0 ceredowv.gov, 1 ceremonial-magic.com, 1 @@ -30524,15 +30495,13 @@ cert.se, 1 certain.com, 0 certainbiz-news.tk, 1 certaintelligence.com, 1 -certaireland.ie, 1 +certaireland.ie, 0 certasenergy.co.uk, 1 certbus.com, 1 certcenter.com, 0 certevia.com, 1 certfa.com, 1 -certfica4u.com, 1 certidao-nascimento-pt.org, 1 -certidaonc.com.br, 1 certificadodigitalpari.com.br, 1 certificados.edu.do, 1 certificatedetails.com, 1 @@ -30558,6 +30527,7 @@ certivac.ch, 1 certly.co, 1 certnazionale.it, 1 certo-escrow.com, 1 +certp.fr, 1 certprep.fr, 0 certpro.uk, 1 certready.tk, 1 @@ -30594,7 +30564,6 @@ cesium.ml, 1 cesjo.pl, 1 ceska-polygraficka.cz, 1 ceska-polygraficka.eu, 1 -ceskaexpedice.org, 1 ceskasit.cz, 1 ceskepivnesety.sk, 1 ceskepivnisety.cz, 1 @@ -30632,8 +30601,10 @@ cevt.ar, 1 cewek.ml, 1 cewood.xyz, 1 cexplorer.io, 1 +ceyhanmolla.com, 1 ceyizlikelisleri.com, 1 ceylondigital.co.uk, 1 +ceylonnomadtours.com, 1 ceylontea.org, 1 cezdent.com, 1 cf-connect.nl, 1 @@ -30770,6 +30741,7 @@ chaikaclub.tk, 1 chaikinanalytics.com, 1 chain-reaction.org.au, 1 chainataun.ru, 1 +chaineddogsmke.org, 1 chainedunion.info, 1 chainels.com, 0 chainex.io, 1 @@ -30781,6 +30753,7 @@ chainwhy.com, 0 chainz.tk, 1 chaip.org, 1 chairtech-yellowpages.ga, 1 +chaise-de-gamer.fr, 1 chaisystems.net, 1 chaitanyapandit.com, 1 chaizhikang.com, 1 @@ -30844,7 +30817,6 @@ championweb.nz, 0 championweb.sg, 0 champsglobal.org, 1 champslearning.co.uk, 1 -champw.com, 1 chamsocdidong.com, 1 chamsocial.com, 1 chamudi.lk, 1 @@ -30860,6 +30832,7 @@ chandr1000.ga, 1 chandracenter.com, 1 chandradeepdey.com, 1 chandramani.tk, 1 +change-coaching-gmbh.ch, 1 change10000lives.com.ph, 1 changeactivation.com, 1 changeanalytics.us, 1 @@ -30887,6 +30860,7 @@ channelpro.es, 1 channingmotorsport.tk, 1 chantage.tk, 1 chantellbeauty.co.uk, 1 +chantierjob.com, 1 chantuong.org, 1 chanz.com, 1 chaos-darmstadt.de, 1 @@ -31039,6 +31013,7 @@ chasoslov.tk, 1 chasse-au-tresor.eu, 1 chasse-maree.com, 1 chasseurdetruites.com, 1 +chasti.com, 1 chastitybelts.tk, 1 chat-buddy.com, 1 chat-cam.tk, 1 @@ -31085,6 +31060,7 @@ chatforskning.no, 1 chatfreespeech.com, 1 chatgayitalia.it, 1 chatgen.ai, 1 +chatgpt.com, 1 chatgptv.net, 1 chatgptwith.me, 1 chatgratis40.it, 1 @@ -31106,6 +31082,7 @@ chatnaweb.cz, 1 chatnederland.eu, 1 chatomg.com, 1 chatons.org, 1 +chatopi.be, 1 chatopia.tk, 1 chatounerie.com, 1 chatovod.tk, 1 @@ -31175,6 +31152,7 @@ cheapandbesthosting.com, 1 cheapautoinsuranceblog.com, 1 cheapbloggingers.ga, 1 cheapchiaplotting.com, 1 +cheapervacations.com, 1 cheapessay.net, 1 cheapestdirectdebit.co.uk, 1 cheapestgamecards.com, 1 @@ -31229,7 +31207,6 @@ cheathax.com, 1 cheatmasters.tk, 1 cheatomania.tk, 1 cheatraiders.tk, 1 -cheats.is, 1 cheatsupreme.com, 1 cheazey.co, 1 cheazey.net, 1 @@ -31290,17 +31267,19 @@ checkyourmath.com, 1 checkyourprivilege.org, 1 checkyourreps.org, 1 checookies.com, 1 +checos.co.uk, 1 cheddarpayments.com, 1 cheekboss.com, 1 cheekycharliessoftplay.co.uk, 1 cheela.org, 1 cheem.co.uk, 1 cheems.rip, 1 -cheers.bio, 1 cheese-storeroom.tk, 1 cheeseemergency.co.uk, 1 cheesefusion.com, 1 cheeseginie.com, 1 +cheesy.gay, 1 +cheesyf.art, 1 cheeth.am, 1 cheetham.me.uk, 1 cheetham.social, 1 @@ -31432,7 +31411,6 @@ chesapeakeopticallab.com, 1 chesapeakewv.gov, 1 chescommessa.it, 1 cheshirex.com, 0 -chess.katowice.pl, 1 chesslovin.com, 1 chessmatesny.com, 1 chesspoint.ch, 1 @@ -31468,9 +31446,11 @@ chezbernard.tk, 1 cheztitine.tk, 1 chfr.search.yahoo.com, 0 chg.codes, 1 +chg.pl, 1 chhlayban.tk, 1 chhory.com, 1 chhy.at, 1 +chi-new-energy.com.ua, 1 chialab.eu, 1 chialab.info, 1 chialab.io, 1 @@ -31547,6 +31527,7 @@ chikan-beacon.net, 1 chikenweb.jp, 1 chiki.tk, 1 chikory.com, 1 +chikumablog.com, 1 chilapaweb.tk, 1 chilbert.co, 1 child-theater-bs.co.il, 1 @@ -31593,7 +31574,7 @@ chilipy.ga, 1 chilis.com, 1 chill-house.ga, 1 chill.bet, 1 -chillcicada.com, 1 +chillcicada.com, 0 chillebever.nl, 1 chillhop.com, 1 chillipadi.tk, 1 @@ -31642,6 +31623,7 @@ chinaindexfund.cn, 1 chinajingkun.com, 1 chinalike.com, 1 chinalosers.com, 1 +chinamallonlin.com, 1 chinamediaproject.org, 1 chinaneed.com, 1 chinanurse.com, 1 @@ -31663,6 +31645,7 @@ chinawatchinstitute.org, 1 chinawhale.com, 1 chinawicker.com, 1 chinchillas.tk, 1 +chindy.com, 1 chinees.restaurant, 1 chinefrancophonie.fr, 1 chinen-hs41.com, 1 @@ -31708,7 +31691,6 @@ chiriri.top, 1 chirkunov.tk, 1 chiro-doctor.com, 1 chiro-merksplas.tk, 1 -chiro.org, 1 chiroharbalorifa.tk, 1 chiroherne.tk, 1 chirointellect.com, 0 @@ -31779,6 +31761,7 @@ choco-championship.jp, 1 choco.run, 1 chocoband.cf, 1 chocodecor.com.br, 1 +chocoladeverkopers.nl, 1 chocolat-lp2.com, 1 chocolat-suisse.ch, 0 chocolat.work, 1 @@ -31787,7 +31770,6 @@ chocolate.wiki, 1 chocolatesandhealth.com, 1 chocolateslim.gq, 1 chocolatesonline.com, 1 -chocolatier-tristan.ch, 0 chocolatier.co.uk, 0 chocolatos.tk, 1 chocolay.gov, 1 @@ -31840,7 +31822,6 @@ chorpinkpoemps.de, 1 choruru.jp, 1 choruscall.com, 1 chorverband-region-kocher.de, 1 -chosenofstarclan.com, 1 chosenos.tk, 1 chosenplaintext.org, 1 choservices.com, 1 @@ -31874,6 +31855,7 @@ chriscarey.com, 1 chriscelkins.com, 1 chriscutts.uk, 1 chrisdasie.com, 1 +chrisdavidphoto.com, 0 chriseldon.com, 1 chrisfinazzo.com, 0 chrisgieger.com, 1 @@ -32208,7 +32190,6 @@ ciallo.work, 1 cianmawhinney.me, 1 cianmawhinney.xyz, 1 ciao.ro, 1 -ciaracode.com, 1 ciaran.tk, 1 ciasa.se, 1 ciasademunt.com, 0 @@ -32268,6 +32249,7 @@ cigarettes-electronik.fr, 1 cigarren-colleg.de, 1 cigarterminal.com, 0 cigdelivery.com, 1 +ciginsurance.com, 1 cign.nl, 1 cigniti.com, 1 cignium.com, 1 @@ -32281,6 +32263,7 @@ ciicutini.ro, 1 cilacapnews.ml, 1 cile.cf, 1 cile.tk, 1 +cilin.net, 1 cilipa.com, 1 cilkamail.cloud, 1 cilkanet.cloud, 1 @@ -32310,15 +32293,16 @@ cindy.cn, 1 cine-music.de, 1 cine-passion16.fr, 1 cine.to, 1 +cineassist.jp, 1 cinecat.de, 1 cinedarkwolf.tk, 1 cinefilia.tk, 1 cineforge.com, 1 cinefun.net, 1 cinegore.tk, 1 -cinejoia.tv, 1 cinelandia.tk, 1 cinema-rulem.tk, 1 +cinemacenter.in, 1 cinemaclub.co, 1 cinemadoma.tk, 1 cinemafrix.cf, 1 @@ -32408,6 +32392,7 @@ circle-people.com, 1 circlebox.rocks, 1 circleci.com, 1 circlelytics.com, 1 +circleofcare.com, 1 circleofhealthlongmont.com, 1 circlepluscircle.me, 1 circlevilleoh.gov, 1 @@ -32483,12 +32468,10 @@ citans.tk, 1 citap.gov, 1 citaprevia-medico.es, 1 citas-adultas.com, 1 -citationgurus.com, 1 citations.tk, 1 citazioni.tk, 1 citfin.cz, 1 citharas.org, 1 -citidirect.com, 1 cities.cl, 1 citiledger.ga, 1 citimarinestore.com, 0 @@ -32677,6 +32660,8 @@ citypress.cf, 1 citypress.ga, 1 citypress.gq, 1 citypro.tk, 1 +cityprotowing.com, 1 +cityprotowingdallas.com, 1 cityradiusmaps.com, 1 cityscapeinsurance.com, 1 cityseeker.com, 1 @@ -32701,10 +32686,10 @@ cityvision.nz, 1 cityvision.org.nz, 1 citywalkr.com, 1 citywidealarms.com, 1 +citywidechimneysweephouston.com, 1 citywisdom.tk, 1 cityworksonline.com, 1 ciubotaru.tk, 1 -ciuci.us, 1 ciuciucadou.ro, 1 ciucobirbone.it, 1 ciudadanosbo.com, 1 @@ -32717,7 +32702,6 @@ civic-europe.eu, 1 civicamente.cl, 1 civicconnectiongroup.com, 1 civicforum.pl, 1 -civicphotos.com, 1 civics.us, 1 civics.world, 1 civictech.ngo, 1 @@ -32740,6 +32724,7 @@ cj-espace-vert.fr, 1 cj-jackson.com, 1 cj26.club, 1 cj8.de, 1 +cjallroundservices.com, 1 cjc.gob.es, 1 cjc.org.es, 1 cjcanarias.es, 1 @@ -32768,7 +32753,6 @@ ck-pms.com, 1 ck.cx, 1 ck0.eu, 1 ck1020.cc, 1 -ck12.org, 1 ckbc.com.sg, 1 ckcameron.net, 1 ckcg.tk, 1 @@ -32806,6 +32790,7 @@ cl0ud.hopto.org, 1 cl0ud.space, 0 claarycherry.com, 1 clacetandil.com.ar, 1 +clackete.com, 1 clactonfencingsupplies.co.uk, 1 clad.cf, 1 clague.moe, 1 @@ -32905,6 +32890,7 @@ clarkcommagere.com, 1 clarkcountyar.gov, 1 clarkcountynv.gov, 1 clarkcountywi.gov, 1 +clarkdemo.com, 1 clarkecoenergy.com, 1 clarkelectricalservices.com.au, 1 clarkfoodserviceequipment.biz, 1 @@ -32930,6 +32916,7 @@ clasa-mea.tk, 1 clase3.tk, 1 clash-movies.de, 1 clashclans.pl, 1 +clashclub.com, 1 clashersrepublic.com, 1 clashoflights.ga, 1 clashpost.com, 1 @@ -32944,6 +32931,10 @@ classentials.com, 1 classic-diva.cf, 1 classic-diva.ga, 1 classic-diva.ml, 1 +classic-literature.com, 1 +classic-literature.net, 1 +classic-literature.org, 1 +classic.cn, 1 classicalchaos.tk, 1 classicalpilates.ca, 1 classicbakes.com, 1 @@ -32961,8 +32952,9 @@ classicnova.com, 1 classicnovaandperformance.com, 1 classics.io, 1 classicstories.tk, 1 -classictheatrecumbria.co.uk, 1 +classictheatrecumbria.co.uk, 0 classificadostodaoferta.tk, 1 +classifiedsgulf.com, 1 classifiedspoint.tk, 1 classiques-garnier.com, 1 classlastsforever.co.nz, 1 @@ -32978,6 +32970,7 @@ clatsopcounty.gov, 1 claude.me, 1 claude.photo, 1 claudeleveille.com, 0 +claudenougaro.fr, 1 claudia-halfter.de, 1 claudia-makeup.com, 1 claudiahalfter.de, 1 @@ -33007,6 +33000,7 @@ claytonca.gov, 1 claytoncapolice.gov, 1 claytoncondon.com, 1 claytonjunior.tk, 1 +claytonkendall.com, 1 claytwpmi.gov, 1 clb.org.hk, 1 clbmconsultancy.com, 1 @@ -33018,8 +33012,10 @@ cldinc.com, 1 cldly.com, 1 clean-cubes.com, 1 clean-mailbox.com, 1 -clean-servicee.com, 1 clean-water-and-sanitation.tk, 1 +cleanairaustinpro.com, 1 +cleanairdallaspro.com, 1 +cleanairhoustonpro.com, 1 cleanclearwater.co.uk, 1 cleandetroit.org, 1 cleandrains.com.au, 1 @@ -33043,6 +33039,7 @@ cleanmycurtains.ie, 1 cleanmyfloor.ie, 1 cleanmymattress.ie, 1 cleanmyupholstery.ie, 1 +cleanpeakmascot.com.au, 1 cleanrun.com, 1 cleansheetsaz.com, 1 cleanshield99.com, 1 @@ -33052,6 +33049,7 @@ cleansweepaa.com, 1 cleanuri.com, 1 cleanway.dk, 1 cleanweb.solutions, 1 +cleanwithspot.com, 1 cleanzer.id, 1 clear-eyes.se, 1 clearbit.com, 1 @@ -33059,6 +33057,7 @@ clearbooks.co.uk, 1 clearbookscdn.uk, 1 clearbrand.com, 1 clearbreezesecuritydoors.com.au, 1 +clearbridgebranding.com, 1 clearchatsandbox.com, 1 clearcreekcountyco.gov, 1 clearcreekcountydronepilot.com, 1 @@ -33073,7 +33072,6 @@ cleargrowshine.com, 1 clearhumor.tk, 1 clearip.com, 1 clearlakechildrenscenter.com, 1 -clearlawinstitute.com, 1 clearmatics.com, 1 clearpay.co.uk, 1 clearsafetalk.com, 1 @@ -33117,8 +33115,10 @@ clendeninwv.gov, 1 cleo.com, 1 cleocinonline.gq, 1 cleova.com, 1 +clep.cn, 1 cles-asso.fr, 1 cles.jp, 1 +clesurporte.be, 1 clevelandheights.gov, 1 clevelandokla.com, 1 clever-datenschutz.de, 1 @@ -33243,7 +33243,6 @@ clientboss.com, 1 clientcms.co.uk, 1 clientify.com, 1 clientpay.com, 0 -clientportal.com, 1 clientportal.photo, 1 cliff-rilly-website.tk, 1 cliffbreak.de, 1 @@ -33251,13 +33250,16 @@ cliffburton.tk, 1 clifflu.net, 1 cliftonaz.gov, 1 clik.ga, 1 +clikentertainment.co, 1 clima.vip, 1 climaencusco.com, 1 climaffaires.com, 1 +climall.com, 1 climamulti.com.br, 1 climate.biz, 1 climatecrafters.com, 1 climatejustice.nyc, 1 +climatesmart.ie, 1 climatetax.com, 1 climatgate.tk, 1 climaticequipment.tk, 1 @@ -33362,6 +33364,7 @@ cloaked.ch, 0 clochix.net, 1 clock3.com, 1 clockcaster.com, 1 +clockify.me, 1 clockka.com, 1 clockka.it, 1 clocklab.design, 1 @@ -33443,7 +33446,6 @@ cloudatedge.com, 1 cloudav.pt, 1 cloudbees.ai, 1 cloudbees.com, 1 -cloudbees.io, 1 cloudberlin.goip.de, 1 cloudbleed.info, 1 cloudboard.fr, 1 @@ -33498,6 +33500,7 @@ cloudlandmark.com, 1 cloudlessdreams.com, 0 cloudlfront.net, 1 cloudlight.biz, 1 +cloudmachine.fr, 1 cloudmanagedbuilding.com, 1 cloudmanagedbuildings.com, 1 cloudmarathi.work, 1 @@ -33744,15 +33747,16 @@ cm-pombal.pt, 1 cm-portimao.pt, 1 cm-ribeiragrande.pt, 1 cm-terrasdebouro.pt, 0 -cm-valenca.pt, 0 cm-viladobispo.pt, 1 cm-vizela.pt, 1 cm-vpaguiar.pt, 1 +cm.zone, 1 cm1xbet.com, 1 cm3.pw, 0 cmaa.it, 1 cmadeangelis.it, 1 cmalet-avocat.fr, 1 +cmargs.com, 1 cmavs.com, 1 cmbeautiful.com, 1 cmbs.loans, 1 @@ -33760,6 +33764,7 @@ cmc.pt, 0 cmcbank.co.in, 1 cmcc.network, 1 cmcjanuary.in, 1 +cmconcreteandfence.com, 1 cmcressy.ch, 1 cmd2021acm.com, 1 cme-colleg.de, 1 @@ -33787,7 +33792,6 @@ cmplainpalais.ch, 1 cmprecisiontech.com, 1 cmrconstructions.com.au, 1 cmrlink.org, 1 -cmrnw.com, 1 cms-mania.tk, 1 cms-service24.de, 1 cms-weble.jp, 1 @@ -33834,9 +33838,7 @@ cngf.com, 1 cngvp.org, 1 cni-certing.it, 1 cni.net.id, 1 -cniec.com, 1 cnil.fr, 1 -cnipv6.com, 1 cnitdog.com, 1 cnki.com, 1 cnlic.com, 1 @@ -33868,7 +33870,6 @@ co2fr.ee, 0 co3app.com, 1 coa.gov.ph, 1 coach-enligne.fr, 1 -coach-hpe.ch, 0 coach.org.uk, 1 coachablebyabel.nl, 1 coachbakery.com, 1 @@ -33935,7 +33936,6 @@ cochem-zell-online.de, 1 cochem-zell.de, 1 cocheriagori.com.ar, 1 cochesaescala.tk, 1 -cochesteledirigidos.net, 1 cochin-brahma.tk, 1 cochise.gov, 1 cochranwriting.com, 1 @@ -33974,10 +33974,8 @@ coconutguy.gq, 1 coconutoil.ml, 1 coconuts-fashion.gr, 1 cocopah.gov, 1 -cocopipeline-br-development.herokuapp.com, 1 cocoscastles.co.uk, 1 cocosunbeds.co.uk, 1 -cocounty.org, 1 cocowine.com, 1 cocresa.tk, 1 cocula.net, 1 @@ -34007,7 +34005,6 @@ code.facebook.com, 0 code.fm, 1 code.google.com, 1 code.gov, 1 -code4.hk, 1 code9000.be, 1 codeandpeace.com, 1 codeandsupply.co, 1 @@ -34032,7 +34029,6 @@ codedump.net, 1 codeeclipse.com, 1 codefaq.org, 1 codefather.ml, 1 -codeferm.com, 1 codefionn.eu, 1 codefive.co.uk, 1 codefordus.de, 1 @@ -34121,6 +34117,7 @@ codewild.de, 1 codewitchbella.com, 0 codewithalisha.ga, 1 codewithlove.blog, 1 +codewizards.co.za, 1 codewrecks.com, 1 codex.online, 1 codezenith.com, 1 @@ -34159,6 +34156,7 @@ codydostal.com, 1 codywy.gov, 1 coeburnva.gov, 1 coecho.net, 1 +coeconnections.co.uk, 1 coedpictures.com, 1 coefficient.com.au, 1 coeminna.edu.ng, 0 @@ -34182,6 +34180,8 @@ coffeeciel.com, 1 coffeeciel.com.tr, 1 coffeeholic.tk, 1 coffeehousewriters.com, 1 +coffeehype.co.uk, 1 +coffeehype.store, 1 coffeemoment.nl, 1 coffeeplazahamburg.com, 1 coffeeruta.ru, 1 @@ -34347,7 +34347,6 @@ coligo.fr, 1 colinasdog.com.br, 1 colincogle.name, 1 colinespinas.com, 0 -colinhouston.com, 1 colink.fi, 1 colinobrien.online, 1 colinsnaith.co.uk, 1 @@ -34386,7 +34385,6 @@ collare.com.mx, 1 collare.mx, 1 collarslab.com, 1 collateral360.com, 1 -collateralmurder.com, 1 collbox.co, 0 colleadimari.com, 1 collectaction.com, 1 @@ -34477,6 +34475,7 @@ colombiajobstoday.com, 1 colombian.cam, 1 colombianas.webcam, 1 colombianbride.net, 1 +colombiansuppliers.com, 1 colombyinai.ga, 1 coloniae.de, 1 colonialbeachva.gov, 1 @@ -34591,8 +34590,6 @@ combines.world, 1 combloux.com, 1 combos-2020.tk, 1 combron.be, 1 -combron.co.uk, 1 -combron.com, 1 combron.nl, 1 combustion.tk, 1 comcenter.com, 1 @@ -34615,6 +34612,7 @@ comedy.co.uk, 1 comedybox.ro, 1 comedyhuis.nl, 1 comedyillusions.com, 1 +comedykellner-spasskellner.de, 1 comefareper.online, 1 comelibro.org, 1 comenc.ddns.net, 1 @@ -34655,7 +34653,7 @@ comfun.net, 1 comfuzztible.tk, 1 comfy-court.com, 1 comfy.cafe, 0 -comfyliving.net, 1 +comfy.gay, 1 comhack.com, 1 comical.ml, 1 comicbooktreasury.com, 1 @@ -34707,6 +34705,7 @@ commercepartnerhub.com, 1 commercetwpmi.gov, 1 commercia.srl, 1 commercial.lviv.ua, 1 +commercialbtp.com, 1 commercialfinancepartners.com, 1 commercialfundinggroupllc.us, 1 commercialkitchensusa.com, 1 @@ -34733,6 +34732,7 @@ commoncore4kids.com, 1 commongoodit.com, 1 commongrave.tk, 1 commoninf.com, 1 +commonlit.org, 1 commons-mayflower.tk, 1 commonsenseamericanpolitics.com, 1 commonsensedivorce.ca, 0 @@ -34805,6 +34805,7 @@ compagniecoupable.fr, 1 compagniedesateliers.com, 1 compagniedesvoyageurs.com, 1 compagniemartin.com, 0 +compagnonsbtp.com, 1 compalliance.com, 1 companion-web.net, 1 company-bike.com, 1 @@ -34812,7 +34813,6 @@ company-info-plugins.nl, 1 companyaneksta.tk, 1 companycam.com, 1 companycleaninghome.com, 1 -comparai.com.br, 1 comparatif-moto.fr, 1 compare-energie.fr, 1 compareairfaredeals.com, 1 @@ -34905,12 +34905,10 @@ comprarefiereygana.com, 1 comprarpapelhigienico.online, 1 comprascuba.online, 1 comprauncelular.com, 1 -comprax.nl, 1 comprebrindes.com.br, 1 compree.com, 1 comprehensiveihc.com, 1 compressor.io, 1 -comprising.de, 1 comprofacil.es, 1 compromis-promesse-vente.fr, 1 compservice.in.ua, 1 @@ -34926,7 +34924,6 @@ compucorner.mx, 1 compucorner.tk, 1 compudoc.tk, 1 compunet.biz, 1 -compunetics.com, 1 compunetix.com, 1 compusrit.tk, 1 compustore.pe, 1 @@ -34964,8 +34961,6 @@ computersforlearning.gov, 1 computersneversleep.art, 1 computersoftware.tk, 1 computersolutions.cn, 1 -computersystems.guru, 0 -computertechreviews.com, 1 computerthings.net, 1 computertips.tk, 1 computerwerk.org, 1 @@ -34979,7 +34974,6 @@ computingsociety.co.uk, 1 computingwarehouse.com, 1 computop.com, 1 computron.ga, 1 -compuvate.com, 1 comquadro.com.br, 1 comquestmed.com, 1 comradesofmight.tk, 1 @@ -35063,6 +35057,7 @@ concursocultural.com.br, 0 concursos.com.br, 1 concursosabertos.com.br, 1 concursuri.biz, 0 +condecom.com.br, 1 condemnity.net, 1 condenast.co.uk, 1 condensacion.com, 1 @@ -35087,12 +35082,6 @@ conectadev.com, 1 conectens.com, 1 conectumfinanse.pl, 1 conejicos.tk, 1 -conejovalleyelectrical.com, 1 -conejovalleyelectrician.com, 1 -conejovalleyexteriorlighting.com, 1 -conejovalleylandscapelighting.com, 1 -conejovalleylighting.com, 1 -conejovalleyoutdoorlighting.com, 1 coneo.eu, 1 coneser2gl.com, 1 conesin.com, 1 @@ -35102,6 +35091,7 @@ conexiontransporte.com, 1 conexionvegana.com, 1 conexresearch.com, 1 coney.tk, 1 +conf.bid, 1 conf.tn, 1 confer.ch, 1 conference-expert.eu, 1 @@ -35146,7 +35136,6 @@ confiwall.de, 1 conflictspecialist.com, 1 conflidentliving.cf, 1 confluent.cloud, 1 -conformal.group, 1 conformat.com, 1 conformax.com.br, 1 conformist.jp, 1 @@ -35169,7 +35158,6 @@ congnghe.so, 1 congoproject.tk, 1 congregacionmitacol.org, 0 congresistas-ap.tk, 1 -congresodermatologia2019.com, 1 congressmankirk.com, 1 congresso.tk, 1 congye.com, 1 @@ -35286,8 +35274,8 @@ conservationfreedivers.com, 1 conservationgeography.com, 1 conserviengenharia.com.br, 1 consiglidisalute.com, 1 +consiliarioltd.com, 1 consilio.com, 1 -consilium-ifa.co.uk, 1 consilium-vitae.ch, 1 consiliumvitae.ch, 1 consill.com, 1 @@ -35317,6 +35305,7 @@ constcorrect.com, 1 constellatio.com, 1 constellationinternational.ml, 1 constellations.ga, 1 +constellatory.net, 1 constern.de, 1 consteval.org, 1 constexpr.org, 1 @@ -35384,6 +35373,7 @@ consumerindex.ga, 1 consumerlaw.gov.au, 1 consumerprotection.gov, 1 consumerprotectionbureau.gov, 1 +consumerrescue.org, 1 consumersentinel.gov, 1 consumertesting.com, 1 consumidor.gov, 1 @@ -35392,7 +35382,6 @@ consuwijzer.nl, 1 consyltec.de, 1 contabilidadebhpampulha.com.br, 1 contabilidadebrooklin.com.br, 1 -contabilidademassarelli.com.br, 1 contact-checker.tk, 1 contact.inc, 1 contact.xyz, 1 @@ -35425,6 +35414,7 @@ contestreviewest.ga, 1 contextolog.cf, 1 conti-profitlink.co.uk, 1 continental-landscapes.co.uk, 1 +continuedpath.ca, 1 continuernom.tk, 1 continuousinksupplysystem.com.au, 1 continuum.memorial, 0 @@ -35457,7 +35447,6 @@ contrastly.com, 1 contrastsecurity.com, 1 contratderatisation.com, 1 contratti.it, 1 -contrebande-metz.fr, 1 contreraslandscaping.com, 1 contributopia.org, 1 contributor.google.com, 1 @@ -35466,6 +35455,7 @@ contro.ga, 1 contro.gq, 1 contro.ml, 1 contro.tk, 1 +control.cn, 1 controlautocom.com.br, 1 controlbooth.com, 1 controld.com, 1 @@ -35473,7 +35463,6 @@ controle-exportations.fr, 1 controle-technique-ales.fr, 1 controlecelular.com.br, 1 controleer-maar-een-ander.nl, 1 -controleert.nl, 1 controlewiki.be, 1 controlit.eu, 1 controllertech.com, 1 @@ -35488,7 +35477,8 @@ controversialrisks.com, 1 controversialrisks.se, 1 contucara.tk, 1 contuestilo.tk, 1 -contunda.de, 0 +contunda.de, 1 +conundra.eu, 1 conv2pdf.com, 1 convecteurs.net, 1 convent-mensing.de, 1 @@ -35498,8 +35488,8 @@ convergent.tn, 1 convergnce.com, 1 conversationexchange.com, 1 conversatis.cf, 1 -conversechucktaylor.us, 1 converser.tk, 1 +conversiepartners.nl, 1 conversionsciences.com, 1 convert.im, 1 convert.io, 1 @@ -35576,7 +35566,6 @@ coolcloud.tk, 1 coolcomputers.info, 1 cooldan.com, 1 cooldomains.tk, 1 -cooldown.club, 1 coole-fete.de, 1 coolefehler.de, 1 coolerssr.space, 1 @@ -35597,7 +35586,6 @@ coolprylar.se, 1 cools.tech, 1 coolsculptingmanhattanbeach.com, 1 coolshirt.tk, 1 -coolsochi.ru, 1 coolsoftware.tk, 1 coolspeak.com, 1 cooltang.ooo, 1 @@ -35650,7 +35638,6 @@ copperlantern.tk, 1 coppermein.co.za, 1 coppermine-kickers.tk, 1 copperplate.tk, 1 -coppidesentupidora.com.br, 1 coproduzindo.com.br, 1 coprotag.com, 1 coprotag.fr, 1 @@ -35693,6 +35680,8 @@ corarain.me, 1 coratxa.tk, 1 corazoncaliente.tk, 1 corazondemelon.es, 1 +corbado.com, 1 +corbado.io, 0 corbax.com, 1 corbettparadise.com, 1 corbi.net.au, 1 @@ -35769,13 +35758,13 @@ corgiclub.art, 1 corgspace.com, 1 corhellemons.tk, 1 cori.tk, 1 +coriafumigacion.com, 1 coribi.com, 1 corima.it, 1 corinastefan.ro, 1 corinnanese.de, 1 corinsamsterdam.com, 1 corintech.net, 1 -corinthfilms.com, 1 coriolis.ch, 1 corisu.co, 1 corkcityfc.tk, 1 @@ -35796,7 +35785,6 @@ cornercafe.tk, 1 cornercircle.co.uk, 1 cornergarage.coop, 0 cornerperk.com, 1 -cornerstone.network, 1 cornerstone.photography, 1 cornerstone.rocks, 1 cornerstoneefree.org, 1 @@ -35888,7 +35876,6 @@ corrigan.xyz, 1 corrupt-republicans.com, 1 corruptcatz.com, 1 corruptos.tk, 1 -corry-new.cloud, 1 cors-proxy.cf, 1 corsa-b.uk, 1 corsac.nl, 1 @@ -35956,7 +35943,6 @@ cosmasiakraft.tk, 1 cosmatic.it, 1 cosmeagardens.com, 1 cosmekaitori.jp, 0 -cosmetic-pack.com, 1 cosmetic-surgery-prices.co.uk, 1 cosmeticasimple.com, 1 cosmeticenter.com.br, 1 @@ -36006,7 +35992,6 @@ cosset.com.tw, 1 costa-ballena.tk, 1 costablancavoorjou.com, 1 costalinux.tk, 1 -costarellos.com, 1 costaricanvillas.com, 1 costazulinmobiliaria.com, 1 costco.co.jp, 1 @@ -36041,11 +36026,11 @@ cotak.gov, 1 cotandoseguro.com, 1 coteax.com, 1 coteax.nl, 1 -cotehy.com, 1 cotejardin.gent, 1 cotennis.net, 1 coteouestmedia.com, 1 coth.ml, 1 +cotherstoneschool.org.uk, 1 cothurnes.fr, 1 cotofoto.tk, 1 coton.tk, 1 @@ -36125,9 +36110,8 @@ couponava.com, 1 couponchief.com, 0 couponcodefind.com, 1 couponcodesme.com, 1 -couponfollow.co.uk, 1 couponsale.tk, 1 -couponzil.com, 1 +couponzil.com, 0 cour4g3.me, 1 courage-sachsen.org, 1 courage.cf, 1 @@ -36208,7 +36192,6 @@ covid19.melbourne, 1 covid19.nhs.uk, 1 covid19dataportal.si, 1 covid19details.com, 1 -covid19resilience.org, 1 covid19responsepod.com, 1 covid19scotland.co.uk, 0 covid19statstracker.com, 1 @@ -36279,6 +36262,7 @@ cpaspecialisters.ga, 1 cpasperdu.com, 1 cpatoday.club, 1 cpbanq.com, 1 +cpbonline.co.za, 1 cpcbegin.tk, 1 cpchur.ch, 0 cpd-education.co.uk, 1 @@ -36292,7 +36276,6 @@ cpelighting.tk, 1 cperegistry.com, 1 cperegistry.net, 1 cperegistry.org, 1 -cpfpa.com, 1 cpfrancophonie.org, 1 cpfs-group.com, 1 cpfurni.com, 0 @@ -36322,7 +36305,6 @@ cpsecureapp.com, 1 cpsq.fr, 1 cpstest.live, 1 cpstest.org, 1 -cpsurvey.com, 1 cptoon.com, 1 cptvl.de, 1 cpu.biz.tr, 1 @@ -36341,7 +36323,6 @@ cqswxx.com, 1 cqvradio.ddns.net, 0 cr.search.yahoo.com, 0 cr05.fr, 1 -cr3zyblog.com, 1 cr8haven.com, 1 cr9499.com, 1 cra-bank.com, 1 @@ -36365,8 +36346,6 @@ crackhomes.com, 1 cracklab.tk, 1 crackle.io, 1 crackpfer.de, 1 -cracksarkariexam.com, 1 -cracksarkarinaukri.com, 1 crackserialkey.co, 1 cracksnet.tk, 1 crackspro.co, 1 @@ -36389,6 +36368,7 @@ craft-me-in.com, 1 craft.eu.org, 1 craftandbuild.de, 1 craftbyhand.com, 1 +craftchocolate.store, 1 craftcms.com, 1 crafted.cat, 1 crafterbase.de, 1 @@ -36495,6 +36475,12 @@ crazychicken.tk, 1 crazycouple.ml, 1 crazycube.fr, 1 crazycube.tk, 1 +crazydomains.ae, 1 +crazydomains.co.nz, 1 +crazydomains.co.uk, 1 +crazydomains.com, 1 +crazydomains.com.au, 1 +crazydomains.in, 1 crazydrivers.tk, 1 crazydude.tk, 1 crazyfly.tk, 1 @@ -36527,14 +36513,12 @@ crca911co.gov, 1 crcdatatech.com, 1 crcncc.org, 1 crcr.pw, 0 -cre8iveco.com, 1 cre8ivedeals.com, 1 cre8studios.net, 1 -crea-etc.net, 0 crea-shops.ch, 0 crea-that.fr, 1 crea.bg, 1 -crea.me, 1 +creabis.de, 1 creacioneslri.com, 1 creacode.tech, 1 creactivatecomfandi.com, 1 @@ -36561,7 +36545,6 @@ creareup.com, 1 creartcol.tk, 1 creartsynergy.org, 1 creasetheband.tk, 1 -creastic.com, 1 create-it.cz, 1 create-ls.jp, 1 create-website.ga, 1 @@ -36589,7 +36572,7 @@ creationsgate.com, 1 creative-wave.fr, 1 creative2.ru, 1 creativeangles.in, 1 -creativeartifice.com, 0 +creativeartifice.com, 1 creativebaccha.ga, 1 creativebathroomsandinteriors.com.au, 1 creativebenefits.ca, 1 @@ -36602,6 +36585,7 @@ creativecommonscatpictures.com, 1 creativeconceptsvernon.com, 1 creativeconsult.com, 1 creativedijital.com.tr, 1 +creativeedge.ch, 1 creativeeducation.tk, 1 creativeexpertdesigner.com, 1 creativefocus.com, 1 @@ -36614,7 +36598,6 @@ creativekitchens.co.nz, 1 creativekkids.com, 1 creativelaw.eu, 1 creativeliquid.com, 1 -creativelysustainable.com, 1 creativemarket.com, 1 creativematters.ch, 0 creativemindslms.tk, 1 @@ -36624,7 +36607,6 @@ creativephs.com, 1 creativephysics.ml, 1 creativeqc.com, 1 creativeradiance.com, 1 -creativescastle.com, 1 creativescorpio.tk, 1 creativesectors.tk, 1 creativestories.me, 1 @@ -36636,7 +36618,6 @@ creativika.it, 1 creativityalliance.com, 1 creativlabor.ch, 1 creatix.tk, 1 -creatixx-network.de, 0 creatormetrics.io, 1 creators-design.com, 1 creators.direct, 1 @@ -36664,7 +36645,6 @@ creditcardgenerator.money, 1 crediteurope.ru, 1 credithelpinfo.com, 1 creditif.tk, 1 -creditjunkie.com, 1 creditkarma.ca, 1 creditkarma.com, 1 creditkarma.pro, 1 @@ -36712,7 +36692,7 @@ crescendo.ventures, 1 crescent-moon.tk, 1 crescentchc.org, 1 cresoweb.it, 1 -cresserons.fr, 1 +cresserons.fr, 0 cressetcapital.com, 1 crest.com, 1 crestalepropiedades.com.ar, 1 @@ -36760,7 +36740,6 @@ cricketwatch.org, 1 crickey.eu, 1 crickits.co.uk, 1 cricklewood.condos, 1 -cricmela.com, 1 cricpa.com, 1 crictechs.com, 1 cridem.org, 1 @@ -36830,7 +36809,6 @@ crisisclubers.ga, 1 crisisdelos40.tk, 1 crisisnextdoor.gov, 1 crismar-flora.tk, 1 -crismatthews.com, 1 crisp.chat, 1 crisp.email, 1 crisp.help, 1 @@ -36892,7 +36870,7 @@ crm-dialog.de, 1 crm-gestion-relation-client.com, 1 crm.onlime.ch, 0 crm114d.com, 1 -crm911.com, 1 +crm911.com, 0 crmall.com, 1 crmdumariage.com, 1 crmforce.mil, 1 @@ -36930,6 +36908,7 @@ croncron.io, 1 cronenberg.cc, 1 cronicademuro.tk, 1 cronicanet.com.br, 1 +cronicasjaponicas.com, 1 cronix.cc, 1 cronjob.de, 1 cronobox.one, 1 @@ -36954,6 +36933,7 @@ crosbug.com, 1 cross-culture.tk, 1 cross-games.tk, 1 cross-led-sign.com, 1 +cross-m.co.jp, 0 cross-x.com, 1 crossair.tk, 1 crosschq.com, 1 @@ -37002,6 +36982,7 @@ crowdsim3d.com, 1 crowdstack.com, 1 crowdstack.io, 1 crowdsupply.com, 1 +croweserver.com, 1 crowleybrynn.com, 1 crown-beverage.com, 1 crown-building.com, 1 @@ -37049,7 +37030,6 @@ cruelgirls.tk, 1 crufad.org, 0 cruicky.co.uk, 1 cruicky.uk, 1 -cruiseamerica.com, 1 cruisecheap.com, 1 cruisecontrolnovels.com, 1 cruisefashion.tk, 1 @@ -37076,12 +37056,12 @@ crushxp.tk, 1 crustytoothpaste.net, 1 crute.me, 1 crutic.gq, 1 +cruton.pro, 1 cruzadamorada.tk, 1 crvegas.com, 1 crvenikrst.tk, 1 cry-sys.de, 0 cryne.me, 1 -cryo-fit.com, 1 cryoflesh.com, 1 cryogeni.fr, 1 cryosite.com, 1 @@ -37151,7 +37131,6 @@ cryptography.ch, 1 cryptography.io, 1 cryptoguidemap.com, 1 cryptohinge.com, 1 -cryptoinvoke.com, 1 cryptoisnotacrime.org, 1 cryptojacks.io, 1 cryptoki.fr, 1 @@ -37168,8 +37147,6 @@ cryptomining.mobi, 1 cryptomixer.io, 0 cryptomkt.com, 1 cryptomonnaies.io, 1 -crypton.academy, 1 -crypton.help, 1 crypton.info, 1 crypton.vercel.app, 1 crypton.wiki, 1 @@ -37356,7 +37333,6 @@ cslbuild.com, 1 csmainframe.com, 1 csn3366.ga, 1 csnet.live, 1 -csodaorszagovoda.hu, 1 csokolozos-jatekok.tk, 1 csolar.com, 1 csorncss.ca, 1 @@ -37379,6 +37355,7 @@ css-tricks.tk, 1 css.direct, 1 cssai.eu, 1 cssbmb.gov, 1 +cssninja.io, 1 csspsverify.com, 1 csspublic.tk, 1 csssr.com, 1 @@ -37405,6 +37382,7 @@ csuw.net, 1 csvalpha.nl, 1 csvlombardia.it, 1 csvplot.com, 1 +csw.cn, 1 cswapps.com, 1 cswatch.org, 1 cswrld.com, 1 @@ -37438,12 +37416,14 @@ ctkwwri.org, 1 ctl.fi, 1 ctliu.com, 1 ctm.community, 1 +ctman.cl, 1 ctmlightning.co.uk, 1 ctmportal.co.uk, 1 ctmrepository.com, 1 ctnguyen.de, 1 ctnguyen.net, 1 ctns.de, 0 +ctoassociates.com, 1 ctoin.tw, 1 ctonovenkogo.tk, 1 ctoresms.com, 1 @@ -37456,6 +37436,7 @@ ctrl.gr, 0 ctrlaltstream.com, 1 ctrlcvz.tk, 1 cts-companies.com, 1 +ctspcallao.org.pe, 1 ctsu.org, 1 cttso.gov, 1 ctu.cz, 1 @@ -37471,13 +37452,13 @@ cuasotinhyeu.vn, 1 cuatroporcuatro.tk, 1 cuatroymedia.com, 1 cuban.wiki, 1 +cubanas-shoes.com, 1 cubanchino.tk, 1 cubanda.de, 1 cubatel.com, 1 cubatravel.cu, 1 cubazineers.ga, 1 cubazineest.ga, 1 -cube-cloud.com, 1 cube-filing.com, 1 cube.builders, 1 cube.guide, 1 @@ -37645,7 +37626,6 @@ cupcao.gov, 1 cupclub.com, 0 cupdunarea.ro, 1 cupertino.gov, 1 -cupid789.co, 1 cupie.tk, 1 cupoane-reducere.net, 1 cupom.net, 1 @@ -37710,7 +37690,6 @@ current.com, 0 currentbitcoin.news, 1 currentchaos.tk, 1 currentcryptocurrency.news, 1 -currentcryptocurrencynews.com, 1 currenthaus.com, 1 currentlystreaming.com, 1 currentos.foundation, 1 @@ -37861,6 +37840,7 @@ cuzmall.com, 1 cvalda.tk, 1 cvazquez.es, 1 cvbp.nl, 1 +cvbtp.com, 1 cvc.digital, 1 cvdeexpo.com, 1 cvdesignr.com, 1 @@ -37873,6 +37853,7 @@ cvgt.com.au, 1 cvhunter.hu, 1 cvj.me, 1 cvjd.me, 0 +cvjm.rocks, 1 cvlibrary.co.uk, 1 cvlid.com, 1 cvmatch.me, 1 @@ -37894,6 +37875,7 @@ cw.center, 1 cw3.fr, 1 cwa-online.nl, 1 cwaclub.tk, 1 +cwaga.me, 1 cwage.com, 0 cwalla.com, 1 cwallpapersheb.tk, 1 @@ -37958,7 +37940,6 @@ cyber-swiat.pl, 1 cyber-travel.com, 1 cyber-world.tk, 1 cyber-yaroslavl.tk, 1 -cyber.cl, 1 cyber.gov, 1 cyber.info, 1 cyber.je, 1 @@ -37995,6 +37976,7 @@ cyberdragon.tk, 1 cyberduck.io, 1 cyberdyne.ie, 1 cyberdyne.llc, 1 +cyberee.cz, 1 cyberexplained.info, 1 cyberfebrio.tk, 1 cyberfla.me, 1 @@ -38009,13 +37991,13 @@ cyberhelden.nl, 1 cyberhipsters.nl, 1 cyberhost.uk, 1 cyberianhusky.com, 0 +cyberintro.fr, 1 cyberis.com, 1 cyberislam.tk, 1 cyberium-planet.cf, 1 cyberjake.xyz, 1 cyberknife-sigulda.com, 1 cyberkov.com, 1 -cyberlab.team, 1 cyberlin.org, 1 cyberlinchpin.com, 1 cyberlocos.tk, 1 @@ -38092,6 +38074,7 @@ cyberspot-ci.net, 1 cyberstatus.de, 1 cybertalents.com, 1 cyberteam.info, 1 +cyberthreatintelligencenetwork.com, 1 cybertinus.nl, 1 cybertn.gov, 1 cybertorsk.org, 1 @@ -38120,13 +38103,13 @@ cybsafe.com, 1 cyburbia.org, 1 cycc.cloud, 1 cyclamen.tk, 1 -cyclecoach.co.za, 1 cycledownunder.com, 1 cyclehackluxembourgcity.lu, 1 cyclemasters.com, 1 cycleshop.com.ua, 1 cycleterrace.jp, 1 cycling74.com, 1 +cyclingexperiences.com, 1 cyclingmonthlyest.ga, 1 cyclisjumper.gallery, 1 cyclize.cf, 1 @@ -38139,6 +38122,7 @@ cydetec.com, 1 cydogbrowser.com, 1 cyelint.com, 1 cyesec.com, 1 +cyflare.one, 1 cyfly.org, 1 cygnaltech.com, 1 cygnan.com, 1 @@ -38172,11 +38156,13 @@ cypressinheritancesaga.com, 1 cypresslegacy.com, 1 cyprus-company-for.gr, 1 cyprus-company-service.com, 1 +cyprusnewlife.com, 1 cyptechost.co.ke, 1 cyqual.com, 1 cyraco.com, 1 cyrenianhouse.com, 1 cyrex.tech, 0 +cyrians.com, 1 cyril-leytsihovich.ml, 1 cyriletsophie.fr, 1 cyrilmurphy.com, 1 @@ -38195,6 +38181,7 @@ cytat.tk, 1 cytegic-update-packages.com, 1 cytn.xyz, 1 cytophil.com, 1 +cytovet.ru, 1 cyumus.com, 1 cyvault.io, 1 cyware.com, 1 @@ -38226,7 +38213,6 @@ czewo-data.de, 1 czihak.at, 0 czirnich.org, 1 czk.mk, 1 -czl.net, 0 czlx.co, 0 cznburak.co.uk, 1 czprothz.tk, 1 @@ -38345,7 +38331,6 @@ d9397.com, 1 d9728.co, 1 d9and10sports.com, 1 da-schaewel.de, 1 -da-tex.com.ua, 1 da-tixe.ml, 1 da-tixe.tk, 1 da42foripad.com, 1 @@ -38355,7 +38340,6 @@ daaje-und-andre.de, 1 daallexx.eu, 1 daanbanaan.tk, 1 daanial.tk, 1 -daann-wch.com.tw, 1 daaxit.com, 1 dabai.cf, 1 dabai.ga, 1 @@ -38382,7 +38366,6 @@ dachdeckermeister-egon-weiss.de, 1 dachdeckermeister-moeller.de, 1 dachet.com, 1 dachlaeufer.com, 1 -dachnie-reshenia.ru, 1 dachnyvopros.info, 1 dachshundsaspets.com, 1 dachshundtalk.com, 1 @@ -38444,6 +38427,7 @@ dafyddcrosby.com, 1 dag-berlin.tk, 1 dag-konsult.com, 1 dag-ogni.tk, 1 +dag.cn, 1 dagallemaal.be, 1 daganghalal.com, 1 daganzo.tk, 1 @@ -38466,6 +38450,7 @@ dagsell.ga, 1 daha.net, 1 dahaboffers.tk, 1 dahag-status.de, 1 +daheimweh.de, 1 dahl-pind.dk, 1 dahlberg.cologne, 1 dahlem.info, 1 @@ -38496,7 +38481,6 @@ dailydodge.com, 1 dailydote.com, 1 dailydoze.com, 1 dailyfictive.com, 1 -dailyfish.ru, 1 dailygamemoments.com, 1 dailyhealthylife.ml, 1 dailyhealthylife.tk, 1 @@ -38524,12 +38508,11 @@ dailysomething.site, 1 dailysportfan.com, 1 dailysuperheroes.com, 1 dailytrip.de, 1 +dailyurdubooks.com, 1 dailyusbusiness.tk, 1 -dailywarteg.com, 1 dailywealth.com, 1 dailywork.ga, 1 dailyxenang.com, 1 -daimonikos.com, 1 dairikab.go.id, 1 daisidaniels.co.uk, 1 daisuki.pw, 1 @@ -38629,7 +38612,7 @@ dambo.tk, 1 dame.cf, 1 damedrogy.cz, 1 dameeq.cf, 1 -dameisports.com, 0 +damgan.com, 1 damgoodmedia.com, 1 damianmalrechauffe.tk, 1 damianus.hr, 1 @@ -38697,7 +38680,6 @@ danceproducciones.com, 1 dancerzone.tk, 1 danceworld.tk, 1 danchen.org, 1 -danchestertonphoto.co.uk, 1 dancingangels.tk, 1 dancingcubs.co.uk, 1 danclassroom.com, 1 @@ -38747,6 +38729,7 @@ daniel-stahl.net, 1 daniel-topalov.ga, 1 daniel.priv.no, 1 daniel.sb, 1 +daniela-klaus.de, 1 danielacocco.it, 1 danielacorahansson.com, 1 danieladentista.com, 1 @@ -38766,6 +38749,7 @@ danielderidderfansite.tk, 1 danieldevine.tk, 1 danielduran.tk, 1 daniele.tech, 1 +danielebarbieri.com, 1 danielehniss.de, 0 danieleluttazzi.tk, 1 danieleoneta.it, 0 @@ -38777,6 +38761,7 @@ danielgorr.de, 1 danielgray.email, 1 danielgray.me, 1 danielgraziano.ca, 1 +danielguttfreundphd.net, 1 danielhammond.tk, 1 danielheal.net, 0 danielhinterlechner.eu, 1 @@ -38848,7 +38833,6 @@ dankojunasevic.tk, 1 dankrpg.xyz, 1 danla.nl, 1 danlockton.tk, 1 -danloona.nl, 1 danmaby.com, 1 danmarksbedstefredagsbar.dk, 1 danmassarano.com, 1 @@ -38934,6 +38918,7 @@ daole.com, 1 daomo.com, 1 daoplattunhien.com.vn, 1 daoro.net, 0 +daotaoantoan.org, 1 daoudi.it, 1 dapasten.com, 1 daphne.informatik.uni-freiburg.de, 1 @@ -38960,7 +38945,6 @@ darcymarshall.com, 1 dare.deals, 1 darean.ml, 1 daredorm.com, 1 -dareechayhome.com.pk, 1 darenc.gov, 1 darenet.org, 1 daresay.games, 1 @@ -39009,6 +38993,7 @@ darkengine.io, 1 darkengine.net, 1 darkenluster.space, 1 darkerlystormy.com, 0 +darkersideofmusic.com, 1 darkerstormy.com, 0 darkestproductions.net, 1 darkfeeling.tk, 1 @@ -39106,6 +39091,7 @@ dartnallministorage.com, 1 dartstart.tk, 1 dartydiscount.fr, 1 darululum.ga, 1 +darwinapps.com, 1 darwinkel.net, 1 darwinpark.tk, 1 darwinport.com.au, 1 @@ -39120,7 +39106,6 @@ darysvet.ru, 1 das-clanpage.tk, 1 das-efx.tk, 1 das-forum24.de, 1 -das-maennermagazin.com, 1 das-mediale-haus.de, 1 das-pna.ao, 1 das-sommercamp.de, 1 @@ -39152,7 +39137,6 @@ dasignsource.com, 1 dasinternetluegt.at, 1 daskirschhaus.com, 1 dasler.eu, 1 -dasmailarchiv.ch, 1 dasolindustrialpark.tk, 1 dastchin.live, 1 dastchin.shop, 1 @@ -39238,6 +39222,7 @@ datalysis.ch, 0 dataman.ml, 1 datamationgroup.com, 1 datamish.com, 1 +dataon.ph, 1 datapathadmin.com, 1 datapiped.com, 1 dataprivacyframework.gov, 1 @@ -39248,6 +39233,7 @@ datarails.com, 1 dataregister.info, 1 datarobot.com, 1 dataroom-online.org, 1 +dataroom.hu, 1 datarooms-advisor.org, 1 datarooms.com, 1 datasat.solutions, 1 @@ -39282,6 +39268,8 @@ datatruckers.org, 1 datatruckers.social, 1 datatube.tk, 1 datatypes.net, 1 +dataunion.com, 1 +datavaultalliance.com, 1 datavitec.com, 1 datavizable.org, 1 datavoiceoptions.com, 1 @@ -39356,6 +39344,7 @@ datovy-portal.sk, 1 datovyaudit.cz, 1 datovyportal.cz, 1 datovyportal.sk, 1 +datsumouseek.jp, 1 dattelking.com, 1 dattelking.de, 1 datumplus.co.uk, 1 @@ -39377,6 +39366,7 @@ daunatotala.ro, 1 daunt.link, 1 dauphincounty.gov, 1 dausendschoen.de, 1 +dav.com.au, 1 davalochki.tk, 1 davar1.co.il, 1 davd.cf, 1 @@ -39451,7 +39441,6 @@ davidgreig.uk, 1 davidgroup.co.id, 1 davidgroup.id, 1 davidgrudl.com, 1 -davidhanle.com, 1 davidinteriors.tk, 1 davidje13.com, 1 davidjktofan.com, 1 @@ -39514,7 +39503,6 @@ daviesscountyin.gov, 1 daviesscountyinsheriff.gov, 1 davimun.org, 1 davinamccall.tk, 1 -davinciwaldorfschool.org, 1 davisboroga.gov, 1 daviscannabisco.com, 1 daviscountyelectionsutah.gov, 1 @@ -39525,6 +39513,7 @@ davison.tech, 1 davisontwp-mi.gov, 1 davisvision.com, 1 davmimer-mercerie.ro, 1 +davoiceradio.com, 1 davorin.cf, 1 davosalestax.com, 1 davros.eu, 1 @@ -39536,6 +39525,7 @@ davyjonesatacado.com.br, 1 davypropper.com, 1 dawaai.pk, 1 daware.io, 1 +dawdle.space, 1 dawg.eu, 1 dawgs.ga, 1 dawidpotocki.com, 1 @@ -39588,7 +39578,6 @@ daymi.co, 1 daymprove.life, 1 daynia.net, 1 daynightdrugs.com, 1 -dayoadetiloye.com, 1 dayofdays.be, 1 dayofthegirl.gc.ca, 1 dayslater.tk, 1 @@ -39614,12 +39603,10 @@ daywindrecordingstudio.com, 1 daywindrecords.com, 1 daywindworship.com, 1 dayz.com, 1 -daz8activator.com, 1 dazenelevator.ph, 1 dazz.it, 1 dazzit.ca, 1 dazzit.com, 1 -dazzit.io, 1 dazzit.net, 1 dazzit.org, 1 dazzit.xyz, 1 @@ -39681,7 +39668,6 @@ dbtsai.com, 0 dbtunder.tk, 1 dbushell.com, 1 dbw678.com, 1 -dbxtopstconverter.org, 1 dc-acupuncture.com, 0 dc-design.tk, 1 dc-elektro.com, 1 @@ -39696,6 +39682,7 @@ dc-zone.com, 1 dc7342.im, 1 dcain.me, 1 dcampusbd.com, 1 +dcard.tw, 1 dcards.in.th, 1 dcareer.tk, 1 dcave.net, 1 @@ -39800,7 +39787,6 @@ ddosguard.cf, 1 ddosolitary.org, 1 ddproxy.cf, 1 ddracepro.net, 1 -ddraum.de, 1 ddsdiscounts.com, 1 ddy.tw, 1 de-basiliek.tk, 1 @@ -39832,7 +39818,6 @@ dead-parrot.de, 1 deadbeef.ninja, 1 deadboyskilling.tk, 1 deadbybeats.tk, 1 -deadc0de.re, 1 deadcode.ca, 1 deadcoderssociety.tk, 1 deadescape.tk, 1 @@ -39879,7 +39864,6 @@ dealsinaz.com, 1 dealsmagnet.com, 1 dealsomart.com, 1 dealsoncart.com, 1 -dealsonhealth.net, 1 dealstreet.fr, 1 dealzme.com, 1 deamonmail.tk, 1 @@ -39901,6 +39885,7 @@ deasy-store.com, 1 deasyvow.com, 1 death.social, 1 deathberry.ddns.net, 1 +deathbychilisauce.com, 1 deathclub.eu, 1 deathcult.fun, 1 deathlords.tk, 1 @@ -39935,7 +39920,6 @@ debbiesblog.nl, 1 debbiessieraden.tk, 1 debedstedanskecasinoer.dk, 1 debeer.tech, 1 -debelareabogados.es, 1 debelicd.tk, 1 debesiukas.lt, 1 debesteaedwinkel.nl, 1 @@ -39967,6 +39951,7 @@ debricked.com, 1 debrunet.nl, 1 debruns.ie, 1 debt-consolidation-reviews.org, 1 +debtaid.sg, 1 debtdandy.com, 1 debtmetricest.ga, 1 debtpaypro.com, 1 @@ -39988,7 +39973,7 @@ dec6.gc.ca, 1 decadentdvices.com, 1 decal-times.com, 1 decalquai.ch, 0 -decamidea.it, 1 +decamidea.it, 0 decarrouseloss.nl, 1 decathlon.ca, 1 decathlon.co.il, 1 @@ -40050,10 +40035,12 @@ decor-anna.com, 1 decor-essentials.com, 0 decor-live.ru, 1 decor-prazdnik.ru, 1 +decora.pl, 1 decorahia.gov, 1 decoral.org, 1 decorarei.com, 1 decoratingadvice.co.uk, 1 +decoration-gateau.fr, 1 decorations-elmotamaiz.com, 1 decoratiunidulci.ro, 1 decorativeconcretewa.com.au, 1 @@ -40120,6 +40107,7 @@ deelodge.art, 0 deemasfashion.co.uk, 1 deemasfashion.com, 1 deemasfashion.us, 1 +deemlove.com, 1 deenergiecentrale.be, 1 deenergiecentrale.gent, 1 deeonix.eu, 1 @@ -40198,6 +40186,7 @@ defi-metier.org, 0 defi-metiers.com, 0 defi-metiers.org, 0 defiant.com, 1 +defiantphoenix.net, 1 defichain.com, 1 defietsambassade.be, 1 defietsambassade.gent, 1 @@ -40227,6 +40216,7 @@ deflumeriker.com, 1 defme.eu, 1 defont.nl, 1 defreitas.no, 1 +defret.com, 1 defriesezaak.nl, 1 deftek.com, 1 defterikebir.tk, 1 @@ -40274,6 +40264,10 @@ degressif.com, 1 degroetenvanrosaline.nl, 1 degrootenslot.nl, 0 degrootsteshop.nl, 1 +degruchy.org, 1 +deguisements-couple.fr, 1 +deguisements-gonflables.fr, 1 +deguisements-sexy.com, 1 degustuju.cz, 1 dehaagsehogeschool.nl, 1 dehaanadvocatenkantoor.nl, 1 @@ -40322,7 +40316,6 @@ dekalbcountymo.gov, 1 dekampioenen.tk, 1 dekasegi-kansai.com, 1 dekasegifuzoku.com, 1 -dekasseguiempregos.com, 1 dekel.co.il, 1 dekeurslagers.nl, 1 dekhanyalcalde.com, 1 @@ -40346,7 +40339,6 @@ delaquila.com.co, 1 delartouducocon.com, 1 delasamericas.tk, 1 delavega.ua, 1 -delavska-hranilnica.si, 1 delavska.si, 1 delawarehealth.tk, 1 delawarenation-nsn.gov, 1 @@ -40439,6 +40431,7 @@ delpuertohealth.gov, 1 delrayengineering.ca, 1 delsfranchise.com, 1 delsolphotography.com, 1 +delta-4.software, 1 delta-data.ch, 1 delta-electric.net, 1 delta-games.tk, 1 @@ -40457,13 +40450,13 @@ deltacountymi.org, 1 deltadentalmo.com, 1 deltadentalsc.com, 1 deltafm.tk, 1 +deltalight.com, 1 deltaloja.com.br, 1 deltamusik.tk, 1 deltamvcd.gov, 1 deltanio.nl, 0 deltaonlineguards.com, 1 deltaphiepsilon.tk, 1 -deltaprise-events.de, 1 deltarisk.com, 0 deltaserat.tk, 1 deltaservers.blog.br, 1 @@ -40477,6 +40470,7 @@ deltava.org, 1 deltawolf.net, 1 deltaworkssecurity.com, 1 deltaworkssecurity.nl, 1 +deltrap-ernst.nl, 1 delugarnenhum.com, 1 delugerpg.com, 1 delunee.co, 1 @@ -40484,6 +40478,7 @@ deluxe-bot.tk, 1 deluxe-dubai.com, 1 deluxeblogtips.com, 1 deluxecar.fr, 1 +deluxemassage.co.uk, 1 delvemagazine.ca, 1 delvinoadegas.com.br, 1 delycate.com, 1 @@ -40552,7 +40547,6 @@ demomanca.com, 1 demonbuster.tk, 1 demondms.com, 1 demonforums.tk, 1 -demoniak.ch, 1 demonicademorte.tk, 1 demonicresurrection.tk, 1 demonics.tk, 1 @@ -40563,7 +40557,6 @@ demonstrably.live, 1 demontage.tk, 1 demonwav.com, 1 demonwithin.tk, 1 -demonwolfdev.com, 1 demopanel.tk, 1 demorgen.be, 1 demostweb.ga, 1 @@ -40625,7 +40618,6 @@ denisglobal.com, 1 denisgrandverger.de, 1 denismusic.ga, 1 denisontx.gov, 1 -denispiknjac.com, 1 denissalignat.fr, 1 denissealatinsoul.com, 1 denistruffaut.fr, 0 @@ -40687,6 +40679,7 @@ dental.gq, 1 dentalcareerfinder.com, 1 dentalcareersedu.org, 1 dentalcolleges.tk, 1 +dentalib.mx, 1 dentalimplantscost.com.au, 1 dentalmonitoring.com, 1 dentalnasser.com, 0 @@ -40696,6 +40689,7 @@ dentalqoretemp.com, 1 dentalreklamlari.tk, 1 dentals.cf, 1 dentalsupportuk.com, 1 +dentaltransitions.com, 1 dentalturism.com, 1 dentalunion.ru, 1 dentcountyhealth.gov, 1 @@ -40708,6 +40702,7 @@ dentist-profi.ga, 1 dentistaaroma.com, 1 dentistabarbarajaqueline.com.br, 1 dentistalagoasanta.com.br, 1 +dentisteliege.be, 1 dentistesdarveauetrioux.com, 1 dentistree.in.ua, 1 dentistsgainesvillega.com, 1 @@ -40716,6 +40711,7 @@ dentoncounty.gov, 1 dentoncountysheriffjobs.gov, 1 dentonolab.lt, 1 dentrassi.de, 1 +dentrecovery.com, 1 dentsugrantgroup.com, 1 dentystabirmingham.co.uk, 1 denuevestore.com, 1 @@ -40727,8 +40723,10 @@ denver.show, 1 denver.tk, 1 denver7.com, 1 denverautoinsurancecompany.com, 1 +denverbph.com, 1 denverclassifieds.net, 1 denverescorts.net, 1 +denverfootballofficials.com, 1 denverilluminations.com, 1 denvernews.ml, 1 denverroot.com, 1 @@ -40771,7 +40769,6 @@ depechemode-live.com, 1 depechemode.de, 1 deped.blog, 0 deped.io, 1 -depedcommons.com, 1 depedcommons.org, 1 depedept.com, 0 depedsurigaodelnorte.com, 1 @@ -40780,6 +40777,7 @@ depedtambayan.net, 1 depedtayo.ph, 1 depelos.co, 1 depelteau.com, 1 +dependableseniorcare.com, 1 dependonplus.com, 1 dependopolis.com, 1 deperewi.gov, 1 @@ -40804,6 +40802,7 @@ deportescr.net, 1 deportestalcahuano.tk, 1 deportivo-pasto.tk, 1 depositart.com, 1 +depositi.it, 1 depositomerci.it, 1 depositomobili.it, 1 depository.ml, 1 @@ -40826,6 +40825,7 @@ der-bank-blog.de, 1 der-beste-schumpeter-vortrag.de, 1 der-elite.blog, 1 der-gardinenmann.de, 1 +der-it-fuzzi.de, 1 der-lan.de, 1 derailer.org, 1 derakkers.tk, 1 @@ -40836,7 +40836,6 @@ deratisation.paris, 1 derattizzare.it, 1 derattizzazione.name, 1 derattizzazioni.biz, 1 -derattizzazioni.it, 1 derattizzazioni.milano.it, 1 derattizzazioni.org, 1 derbuntering.de, 1 @@ -40889,7 +40888,6 @@ dermapuur.nl, 1 dermarollerbest.com, 1 dermato.floripa.br, 1 dermatolog-ivanova.com, 1 -dermatologie-morges.ch, 0 dermatologistmumbai.com, 1 dermatologyandlasergroup.com, 1 dermax.tk, 1 @@ -40916,6 +40914,7 @@ derreichesack.com, 1 derricofinancialservices.com, 1 derrigimlaghtokylemoregreenway.ie, 1 derrybasketball.tk, 1 +dershanesi.com, 1 dersimizmatematik.cf, 1 dersoundhunter.de, 1 derssonu.com, 1 @@ -40960,8 +40959,8 @@ desertheroesteam.com, 1 deserti.tk, 1 desertlinealuminium.com, 1 desertlinegroup.com, 1 -desertmarocsafari.com, 1 desertmedaesthetics.com, 1 +desertmoroccotour.com, 1 desertnaturals.me, 1 desertofoldies.tk, 1 desertsounds.org, 1 @@ -40974,7 +40973,6 @@ deshobi.cloud, 1 desic-sl.com, 1 desiderantes.tk, 1 desideriushogeschool.be, 1 -design-in-bad.eu, 1 design-n-art.tk, 1 design-production.jp, 1 design-tooning.de, 1 @@ -40997,6 +40995,7 @@ designdept.com.au, 1 designdirective.ca, 1 designengineering.com, 1 designer-drug.com, 1 +designer.cn, 1 designerjoe.gq, 1 designerrateest.ga, 1 designeus.ga, 1 @@ -41030,7 +41029,6 @@ desinfectionfrance.com, 1 desingslash.tk, 1 desinsectisation-punaise-de-lit.com, 1 desinsectisation.ma, 1 -desinsectisation.paris, 1 desiplex.tk, 1 desire-host.tk, 1 desirememory.cf, 1 @@ -41051,6 +41049,7 @@ desktopia.tk, 1 desktopsolos.tk, 1 deskture.com, 1 deskvip.com, 1 +deslamco.com, 1 desmo.gg, 1 desmon.blog, 1 desmu.fr, 1 @@ -41058,6 +41057,7 @@ desna.tk, 1 desonnemannen.tk, 1 desormiers.com, 1 despachomariscal.com, 1 +despedidas-madrid.com, 1 desperate.solutions, 1 desperatesailors.com, 1 despertarparavida.org, 1 @@ -41068,7 +41068,9 @@ despora.de, 1 desportvriendenoverijse.tk, 1 despotika.de, 1 desserteagleselvenar.tk, 1 +dessinbtp.com, 1 dessinemoilademocratie.ch, 0 +desstrade.com, 1 dest-gottskar-nidingen.se, 1 destcyr.com, 1 destech.nl, 1 @@ -41099,6 +41101,7 @@ destroysilence.ml, 1 destruction-frelon-asiatique.com, 1 destructive-revolution.tk, 1 destructoradepapel.com.es, 1 +destruktiveridingkrew.com, 1 destudio.org.ua, 1 destuurmanskolk.nl, 1 destyntek.com, 1 @@ -41123,11 +41126,11 @@ detc.tk, 1 detceptam.com, 1 detdom-48.ru, 1 detdom.tk, 1 +detect-fuite-charente.fr, 1 detecte-fuite.ch, 0 detecte.ch, 0 detectefuite.ch, 0 detectify.com, 1 -detectivedesk.com.au, 1 detectiveedu.org, 1 detectro.cc, 1 deteken.be, 1 @@ -41153,14 +41156,12 @@ detreannamaria.tk, 1 detrimental.tk, 1 detroit-english.de, 1 detroit.gov, 1 -detroitcrackteam.com, 1 detroitfastest.org, 1 detroitlocksmiths.net, 1 detroitnews.tk, 1 detroitzoo.org, 1 detsad.ml, 1 detsad.tk, 1 -detska-boticka.cz, 1 detski.center, 1 detskie-avto-kresla.tk, 1 detskysad.com, 1 @@ -41186,7 +41187,6 @@ deutschebusiness.com, 0 deutscheibank.com, 1 deutscher-bericht.de, 1 deutscherquidditchbund.de, 1 -deutscheshoponline.com, 0 deutschland-dsl.de, 1 deutschlandreport.com, 1 deux.solutions, 1 @@ -41224,7 +41224,6 @@ devcf.com, 1 devcftc.gov, 1 devchuli.ml, 1 devcontainer.com, 1 -devcourseweb.com, 1 devdeb.com, 1 devdesco.com, 1 devdiggers.com, 1 @@ -41287,6 +41286,7 @@ devilsophie.net, 1 devindavid.com, 1 devinfo.net, 0 devinite.com, 1 +devinity.ai, 1 devinlasarre.com, 1 devinslick.com, 1 devirc.net, 1 @@ -41312,8 +41312,6 @@ devoncycles.co.uk, 1 devonport.tas.gov.au, 1 devonportairport.com.au, 1 devonsawatzky.ca, 1 -devonvintagechina.co.uk, 1 -devoo.tn, 1 devopedia.org, 1 devopers.com.br, 1 devops-playtest.net, 1 @@ -41427,7 +41425,6 @@ dfc.gov, 1 dfc52.com, 0 dfctaiwan.org, 1 dfg.re, 1 -dfilip.click, 1 dflcares.com, 1 dfm.ae, 0 dfmn.berlin, 1 @@ -41472,6 +41469,7 @@ dghyp-press.de, 1 dghyp.ag, 1 dghyp.at, 1 dghyp.biz, 1 +dghyp.co.uk, 1 dghyp.com.tw, 1 dghyp.in, 1 dghyp.info, 1 @@ -41505,6 +41503,7 @@ dh9397.com, 1 dh9721.com, 1 dha.gov.ae, 1 dhakabankltd.com, 1 +dhakaonlinebazar.com, 1 dhamdhamaanchalikcollege.tk, 1 dhammacitta.org, 1 dhanushtechno.in, 1 @@ -41592,6 +41591,7 @@ diamond-hairstyle.dk, 1 diamondblueair.com, 1 diamondbluffwi.gov, 1 diamondcargotrailers.org, 1 +diamondcarpetcleaning.co.uk, 1 diamondforms.net, 1 diamondgoldmarkcity.cf, 1 diamondgrid.ga, 1 @@ -41620,7 +41620,7 @@ dianefriedli.ch, 0 diankou.cn, 1 diankou.com, 1 diankou.com.cn, 1 -diankpi.com, 1 +diankpi.com, 0 diankpi.ws, 1 dianoxofficiel.tk, 1 dianshangyi.net, 1 @@ -41651,6 +41651,7 @@ diatechusa.com, 1 diatr.us, 1 diatrofi-ygeia.gr, 1 diaweb.nl, 1 +diazmotorcycles.com, 1 diazpubli.tk, 1 diba.org.cn, 1 dibacode.com, 1 @@ -41704,10 +41705,9 @@ dicomed.tk, 1 dicomsoftware.com, 1 diconium.biz, 1 diconium.com, 0 -diconium.de, 1 -diconium.jobs, 1 +diconium.jobs, 0 diconium.org, 1 -diconium.pt, 1 +diconium.pt, 0 diconium.wtf, 1 diconium42.com, 1 diconium42.de, 1 @@ -41778,7 +41778,6 @@ diegelernten.de, 1 diegentlemenbittenzurkasse.tk, 1 diegerbers.de, 1 diegobarrosmaia.com.br, 1 -diegocastagna.com, 1 diegodelaprada.com, 1 diegoforlan.tk, 1 diegogelin.com, 0 @@ -41878,6 +41877,7 @@ digdata.de, 1 diggerlandusa.com, 1 digginsmo.gov, 1 dighans.com, 1 +digi-cisnet.com, 1 digi-typ.fi, 1 digi-typa.fi, 1 digiaika.com, 1 @@ -41895,10 +41895,8 @@ digicelidgy.com, 1 digicert-support.com, 1 digicert.com.ru, 1 digicert.nl, 0 -digichefs.com, 1 digicode.hu, 1 digicomtel.com.br, 1 -digicy.cloud, 1 digidaigaku.com, 1 digidroom.be, 1 digifloat.io, 1 @@ -41924,7 +41922,6 @@ digimortals.nl, 1 digino.jp, 1 digino.us, 1 digino.xyz, 1 -digiparse.com, 1 digipartindex.ch, 1 digipeak.org, 1 digipitch.com, 1 @@ -41939,6 +41936,7 @@ digiscrap.shop, 1 digisecmalta.com, 1 digisfil.fr, 1 digisign.tk, 1 +digisquad.io, 1 digit.ec, 1 digitaal-atelier.tk, 1 digitaaltalent.be, 1 @@ -41969,8 +41967,8 @@ digital.democrat, 1 digital.gov, 1 digital.govt.nz, 1 digital1st.co.uk, 1 +digital4kids.at, 1 digital4starazagora.com, 1 -digitaladl.com.au, 1 digitalagencynetwork.com, 1 digitalakatsuki.com, 1 digitalalektioner.se, 1 @@ -41983,7 +41981,6 @@ digitalbeachbrasil.com.br, 1 digitalbitbox.com, 1 digitalblood.eu, 1 digitalbox.jp, 0 -digitalbuero.eu, 1 digitalcanvas.com.br, 0 digitalcarbide.com, 1 digitalcash.cf, 1 @@ -41993,6 +41990,8 @@ digitalchurch.ng, 1 digitalcitizen.life, 1 digitalcoffeepodcast.com, 1 digitalcomponents.de, 1 +digitalcompudev.biz, 1 +digitalcompudev.com, 1 digitalconcrete.co.uk, 1 digitalcourage.de, 1 digitalcraftmarketing.co.uk, 1 @@ -42007,7 +42006,6 @@ digitaldeliarchive.com, 1 digitaldem.it, 1 digitaldesign.ga, 1 digitaldisaster.tk, 1 -digitaldoor.com.au, 1 digitaldruck.info, 1 digitale-afvalscheiding.nl, 1 digitale-ausleihe.de, 1 @@ -42048,7 +42046,6 @@ digitalid.com.au, 1 digitalillusion.pt, 1 digitalimpactlab.org, 1 digitalindiatalent.com, 1 -digitalis.fr, 1 digitalistan.tk, 1 digitalizer.my.id, 1 digitalizzazioneverona.it, 0 @@ -42060,7 +42057,6 @@ digitallife.tk, 1 digitallink.be, 1 digitalliteracy.gov, 1 digitallolitayume.tk, 1 -digitalmahleracademy.com, 1 digitalmanager.guru, 1 digitalmaniac.co.uk, 1 digitalmarketingindallas.com, 1 @@ -42086,7 +42082,6 @@ digitalradio.ie, 1 digitalrealitybbs.com, 1 digitalreborn.com, 1 digitalredshirts.com, 0 -digitalrhino.eu, 1 digitalrights.center, 1 digitalroma.tk, 1 digitalsearchgroup.ie, 1 @@ -42103,8 +42098,6 @@ digitalsurge.io, 1 digitaltbyra.no, 1 digitaltcertifikat.dk, 1 digitaltech.vip, 1 -digitaltechupdates.com, 1 -digitaltechviews.com, 1 digitaltry.tk, 1 digitalupcoming.tk, 1 digitalutilities.net, 1 @@ -42226,6 +42219,7 @@ dimo-tresorerie.fr, 1 dimomaint.com, 1 dimomaint.de, 1 dimomaint.es, 1 +dimont.com, 1 dimonz.com, 1 dimosoftware.fr, 1 dimseklubben.dk, 1 @@ -42334,6 +42328,7 @@ directorioempresarial.com.co, 1 directoriomedico.com.co, 1 directorios.tk, 1 directorioweb.co, 1 +directorioz.com, 1 directorwebseo.tk, 1 directory-aldo.tk, 1 directory-ecco.tk, 1 @@ -42361,6 +42356,7 @@ direktvermarktung-schmitzberger.at, 1 diretonoponto.gq, 1 direwolfsoftware.ca, 1 dirhami.com, 1 +dirigeantbtp.com, 1 dirk-dogs.tk, 1 dirk-weise.de, 1 dirkdavid.org, 1 @@ -42383,6 +42379,7 @@ dirtygeek.ovh, 1 dirtygirl.ml, 1 dirtyherri.de, 1 dirtymusic.tk, 1 +dirtyplumberreno.com, 1 dirtyporno.tk, 1 dirtypretties.cf, 1 dirtypretties.ga, 1 @@ -42396,6 +42393,7 @@ dirtytiles.xyz, 1 dirtywoman.tk, 1 dirtywork.net, 1 dirunreddy.tk, 1 +disaana.jp, 0 disability-card.com, 1 disability.gov, 1 disabilitydischarge.com, 1 @@ -42432,6 +42430,7 @@ disco-crazy-world.de, 1 discodoener.de, 1 discofitta.com, 1 discohook.org, 1 +discomix.com, 1 disconformity.net, 1 disconnect.tk, 1 disconter.tk, 1 @@ -42481,7 +42480,6 @@ discoverkeesler.com, 1 discoverkeesler.marketing, 1 discoverlutruwita.com, 1 discovermodus.com, 1 -discovernavajo.com, 1 discoverradiance.com, 1 discoverthetech.com, 1 discoverthreejs.com, 1 @@ -42505,10 +42503,12 @@ disenowebakus.net, 1 disenowebgalicia.tk, 1 disenowebseoolmisur.com, 1 disepho.cl, 1 +disermex.mx, 1 diseworth.uk, 1 disfigured.tk, 1 disgruntledcode.com, 1 disguise.cf, 1 +dishakiran.com, 1 dishcrawl.com, 0 dishwashermagic.tk, 1 dishwasherrepair-austin.com, 1 @@ -42551,13 +42551,11 @@ disinfestazioni.genova.it, 1 disinfestazioni.gorizia.it, 1 disinfestazioni.info, 1 disinfestazioni.it, 1 -disinfestazioni.milano.it, 1 disinfestazioni.modena.it, 1 disinfestazioni.napoli.it, 1 disinfestazioni.net, 1 disinfestazioni.padova.it, 1 disinfestazioni.rimini.it, 1 -disinfestazioni.roma.it, 1 disinfestazioni.torino.it, 1 disinfestazioni.treviso.it, 1 disinfestazioni.udine.it, 1 @@ -42591,7 +42589,6 @@ disney-stitch.com, 1 disneywallpapers.tk, 1 disobey.net, 1 disoluto.tk, 1 -disostruzioni.it, 1 disougstroy.com.ua, 1 disparada.com.br, 1 dispatched.tk, 1 @@ -42601,6 +42598,7 @@ displayrd.com, 1 displaysandholders.com, 1 disposable.link, 1 dispur.nic.in, 1 +dispute.cn, 1 disroot.org, 1 disrupters.ch, 0 disruptglobal.com, 1 @@ -42608,10 +42606,8 @@ disruption.tk, 1 dissensionclub.net, 1 dissertation-editor.com, 1 dissertationhelp.com, 1 -dissidence.ovh, 1 dissident.host, 1 dissieux.com, 1 -dissolution-sci.com, 1 dist-it.com, 1 dist.torproject.org, 0 distance-learning-courses.co.uk, 1 @@ -42673,13 +42669,13 @@ distro.re, 0 distrophy-grind.tk, 1 distrust.co, 1 disturbedwarriors.tk, 1 -disturbmenot.co, 1 dit.moe, 1 ditaconsultora.com, 1 ditdot.hr, 1 ditec.sk, 1 diterzafra.tk, 1 ditex.ddns.net, 1 +ditian.com, 1 dities.tk, 1 ditissaskia.nl, 1 dittvertshus.no, 1 @@ -42700,7 +42696,6 @@ diveleasia.tk, 1 divelement.ro, 1 divelyon.fr, 1 diveplan.org, 1 -diver-equipment.eu, 1 divergences.eu.org, 1 divernet.com, 1 diverscott.com, 1 @@ -42733,6 +42728,7 @@ divineangel.tk, 1 divinedecay.tk, 1 divinefeminineyoga.com, 1 divinegames.studio, 1 +divinemagazine.biz, 1 divinemercyparishvld.com, 1 divinemercyparishvlds.com, 1 divineprovidenceorphanage.org, 1 @@ -42782,12 +42778,12 @@ diyeta.cf, 1 diyetlife.com, 1 diyeventhire.co.nz, 1 diygeek.com, 1 +diyland.com, 1 diymediahome.org, 1 diysec.tk, 1 diysonline.com, 1 diyzealot.com, 1 dizainkyhni.ml, 1 -dizayn-cheloveka.ru, 1 dizayner.tk, 1 dizaynspor.com, 1 dizhome.net, 1 @@ -43000,9 +42996,6 @@ dkos3.com, 1 dkos4.com, 1 dkos5.com, 1 dkos6.com, 1 -dkos7.com, 1 -dkos8.com, 1 -dkos9.com, 1 dkproducts.nl, 1 dkravchenko.su, 0 dksh.com, 1 @@ -43110,6 +43103,7 @@ dmarc.io, 1 dmarcexperts.com, 1 dmarcian.com, 1 dmarcpal.com, 1 +dmarcsentry.com, 1 dmartpreneur.com, 1 dmautomek.no, 1 dmc-cc.de, 1 @@ -43157,6 +43151,7 @@ dmn.sh, 1 dmni.my, 1 dmoj.ca, 1 dmosk.ru, 1 +dmoz.v.ua, 1 dmparish.com, 1 dmr446.fr, 1 dmrhub.cloud, 1 @@ -43191,6 +43186,7 @@ dnadk.com, 1 dnalounge.com, 1 dnapagamentos.com.br, 1 dnapizza.com, 1 +dnaplaincity.org, 1 dnash.tk, 1 dnastaffinginc.com, 1 dnb.co.in, 1 @@ -43235,7 +43231,6 @@ dnfsb.gov, 1 dngrexplorer.cf, 1 dngsnl.com, 1 dnhome.net, 0 -dnjwpa.com.pl, 1 dnk.company, 1 dnmlab.it, 1 dnns.no, 1 @@ -43316,6 +43311,7 @@ doblejewel.shop, 1 dobleseo.pro, 1 dobookmark.ml, 1 doboszynski.com, 1 +dobraklinika.com, 1 dobramagia.pl, 1 dobraprace.cz, 0 dobrekupony.cz, 1 @@ -43333,6 +43329,7 @@ dobrynyastyle.ru, 1 dobryprezident.sk, 1 doc-baza.tk, 1 doc.ai, 1 +doc.ee, 1 doc.new, 1 doc.python.org, 1 doc8643.com, 1 @@ -43376,6 +43373,7 @@ docs.moe, 1 docs.python.org, 1 docs.tw, 1 docsend.com, 1 +docserver1.co.uk, 1 docsity.com, 1 docsunited.net, 1 docswallet.com, 1 @@ -43385,7 +43383,6 @@ doctaforum-events.org, 1 doctaforum-test.com, 1 docteur-delorme.fr, 1 doctoblog.fr, 1 -doctor-locks.co.uk, 1 doctorako.com, 1 doctorbini.com, 1 doctorcalefon.com, 1 @@ -43470,6 +43467,7 @@ dodiedods.fr, 1 dodikod.tk, 1 dodolle.co.uk, 1 dodotool.ru, 1 +dodungphongtam.com, 0 dodylesmana.com, 1 doedelzakken-jsh.tk, 1 doegirls.com, 1 @@ -43493,6 +43491,7 @@ dofus-aide.tk, 1 dofus.market, 1 dofux.org, 1 dog-likeeyes.tk, 1 +dog.systems, 1 doga-osusume.jp, 1 doga.tk, 1 dogadostuambalaj.com, 1 @@ -43547,11 +43546,13 @@ dogsnaturallymagazine.com, 1 dogsnow.com, 1 dogsport.org, 1 dogsunderstood.shop, 1 +dogtoetreads.com, 1 dogtowneastpowell.com, 1 dogtrack.tk, 1 dogtrainingnaples.com, 1 dogualp.com, 1 dogvolution.com, 1 +dogwithblog.in, 1 dogwoodceramics.com, 1 dogworld.com.br, 1 doh.pub, 1 @@ -43581,7 +43582,6 @@ dojmt.gov, 1 dojocasts.com, 1 dojodigital.co.uk, 1 dojozendebourges.fr, 1 -dokanline.com, 1 dokcar.com.br, 1 dokee.cn, 1 dokelio-idf.fr, 1 @@ -43595,6 +43595,7 @@ doktorplyusheva.ml, 1 doku-gilde.de, 1 dokuboard.com, 1 dokuev.ga, 1 +dokume.com, 1 dokument.tk, 1 dokuraum.de, 1 dokutech.fr, 1 @@ -43724,6 +43725,7 @@ domenic.me, 1 domenick-lieneweg.de, 1 domenico.lviv.ua, 1 domenicods.tk, 1 +domestic.cn, 1 domhaase.me, 1 domharmonia.bg, 1 domhos.tk, 1 @@ -43754,11 +43756,13 @@ dominik.st, 1 dominikaner-vechta.de, 1 dominikconrads.de, 1 dominikriedig.de, 1 +dominiks.com, 1 dominioanimal.com.br, 1 dominionlending.ca, 1 dominionpayroll.net, 1 dominiopruebados.ml, 1 dominiostk.tk, 1 +dominiosweb.org, 1 dominique-haas.fr, 0 domino.com.ge, 1 domino99.ml, 1 @@ -43811,6 +43815,7 @@ domucmayintainha.com.vn, 1 domus-global.com, 1 domus-global.cz, 1 domus-rely.com, 1 +domwire.com, 1 domyassignments.com, 1 domycasestudy.com, 1 domycoding.com, 1 @@ -43869,7 +43874,6 @@ donfelino.tk, 0 donga.tk, 1 dongbd.com, 1 dongcdn.com, 1 -dongchenyue.art, 1 donge.fr, 1 dongha.org, 1 donghochinhhang.store, 1 @@ -43878,6 +43882,7 @@ donghuapiandaquan.com, 1 dongjian.com, 1 dongkepu.com, 1 dongor.tk, 1 +dongzhen.com, 1 donhoward.org, 0 doninformatico.ga, 1 doniramdoni.tk, 1 @@ -43885,7 +43890,6 @@ donislawdev.com, 1 donkerslootjes.nl, 1 donkeytrekkingkefalonia.com, 1 donnaandscottmcelweerealestate.com, 1 -donnabotanica.com.br, 1 donnabrothers.com, 1 donnacha.blog, 1 donnachie.net, 1 @@ -43962,6 +43966,7 @@ dooleylabs.com, 1 doomsdaymag.tk, 1 doomsworld.com, 1 doomtech.net, 1 +doonamis.com, 1 doonvalleytrail.co.uk, 1 doooooops.com, 1 doop.im, 1 @@ -44004,7 +44009,6 @@ doraemonchile.tk, 1 dorama.gq, 1 doramamusic.gq, 1 doramiru.com, 1 -doranobi-fansub.id, 1 dorcelvision.com, 1 dorco.be, 1 dordtpas.nl, 1 @@ -44014,9 +44018,9 @@ dorfkultur.net, 1 dorfpark-falkenburg.de, 1 dorfzittig.de, 1 doriangardes.fr, 1 -doriangirod.ch, 0 dorianharmans.nl, 1 dorianmuthig.com, 1 +doridev.com, 1 doridian.com, 1 doridian.de, 1 doridian.net, 1 @@ -44088,7 +44092,6 @@ dosvientoselectric.com, 1 dosvientoselectrical.com, 1 dosvientoselectrician.com, 1 dosvientosexteriorlighting.com, 1 -dosvientoslandscapelighting.com, 1 dosvientoslighting.com, 1 dosvientosoutdoorlighting.com, 1 doswap.com, 1 @@ -44098,13 +44101,14 @@ dosyakurtarma.com, 1 dosyanet.cf, 1 dosyanet.tk, 1 doszkocs-zsuzsa.hu, 1 +dot.la, 1 dot.sb, 1 dota2expert.ru, 0 dota2free.tk, 1 dotadotaman.tk, 1 dotatic.com, 1 dotbox.org, 1 -dotcircle.co, 1 +dotcircle.co, 0 dotcomdesigns.biz, 1 dotcompetentdigital.com, 1 dotcomtest02-single.azurewebsites.net, 1 @@ -44164,6 +44168,7 @@ doublebass-solo.com, 1 doubled.ml, 1 doubledranch.tk, 1 doublefun.net, 1 +doublehappy.org, 1 doublejack.online, 1 doubleness.gq, 1 doublespeak.chat, 1 @@ -44187,7 +44192,6 @@ doughseeker.com, 1 doughstory.cf, 1 douglas-ma.gov, 1 douglascounty-oregon.gov, 1 -douglascountybar.com, 1 douglascountycolorado.gov, 1 douglascountyga.gov, 1 douglascountyil.gov, 1 @@ -44211,6 +44215,7 @@ doujinspot.com, 1 douzer.de, 1 douzer.earth, 1 douzer.industries, 1 +douzer.network, 1 dovebuttare.it, 1 doveconviene.it, 1 dovecraft.com.ua, 1 @@ -44317,7 +44322,6 @@ dp7.ro, 1 dpangerl.de, 0 dpanosian.com, 1 dpasn-afpa.fr, 1 -dpath.com, 1 dpatyk.com, 1 dpc-pca.org, 1 dpc-software.de, 1 @@ -44333,7 +44337,6 @@ dpeter.me, 1 dpfsolutionsfl.com, 1 dpg.no, 1 dphipartner.com, 1 -dpi-design.de, 1 dpim.org.my, 1 dpinse.com, 1 dpisecuretests.com, 1 @@ -44357,7 +44360,9 @@ dpsg-hohenlinden.de, 1 dpsmassage.nl, 1 dpucarriersma.gov, 1 dpwsweeps.co.uk, 1 +dpyhcl.com, 1 dqfilesonline.com, 1 +dr-aldebert-orthopaedie.com, 1 dr-amar.tk, 1 dr-beyer.de, 1 dr-dedet.com, 1 @@ -44365,7 +44370,7 @@ dr-detailing.com, 1 dr-diffusion.fr, 1 dr-ermilov.com, 1 dr-feldman.com, 1 -dr-it.co.uk, 0 +dr-gayout.com, 1 dr-karagenska.com, 1 dr-kissler.de, 1 dr-maike-juergens.de, 1 @@ -44494,7 +44499,6 @@ dramatherapie.tk, 1 dramaticpeople.com, 1 drambikarathi.com, 1 dramyalderman.com, 1 -dranderle.com, 1 drandrewarnold.com, 1 drandrewlofman.com, 1 dranik.ga, 1 @@ -44550,6 +44554,7 @@ drchrislivingston.com, 1 drchristaengelbrecht.com, 1 drchrono.com, 1 drclub.tk, 1 +drcomfortair.com, 1 drcommodore.it, 1 drcorderocirujanoplastico.com, 1 drdca.gov, 1 @@ -44595,6 +44600,7 @@ dreaming.solutions, 1 dreaminjewelz.tk, 1 dreamkids-bysiska.com, 1 dreamlab.co.jp, 1 +dreamland.sh, 1 dreamlandsdesign.com, 1 dreamlifeproperty.cf, 1 dreamlight.cloud, 1 @@ -44670,6 +44676,7 @@ dresdner-stollen.shop, 0 dress-cons.com, 1 dressabelle.tk, 1 dresscodeny.com, 1 +dressdiversions.com, 1 dressesbal.tk, 1 dressestore.tk, 1 dresstique.in, 1 @@ -44715,6 +44722,7 @@ drifter.tk, 1 driftingruby.com, 1 driftkikker.tk, 1 driftsjournal.dk, 1 +driftworld.com, 1 drikaartesanato.com, 1 drikuansvarligt.dk, 1 drill.st, 1 @@ -44758,8 +44766,8 @@ drinkplanet.eu, 1 drinks.my, 1 drinksontap.co.uk, 1 drinkvhemp.com, 1 +dripandfire.com, 1 dripflow.co, 1 -dripnaija.com, 1 dripshop.live, 1 drishtibeats.com, 1 drishtiias.com, 1 @@ -44837,6 +44845,7 @@ drkbri.ru, 1 drkhsh.at, 1 drksachsen.de, 1 drlarakiortho.com, 1 +drlaw.org, 1 drleoplasticsurgery.com, 1 drlevi.cf, 1 drlevi.ga, 1 @@ -44846,6 +44855,7 @@ drlp.link, 1 drlynnehinkle.com, 1 drmartindentistry.com, 1 drmarwanbaroud.com, 1 +drmatthewrandall.com, 1 drmcdaniel.com, 1 drmiltenbergermd.com, 1 drminev.com, 1 @@ -44971,6 +44981,7 @@ drtragency.com, 1 drtsaiclinic.com, 1 drtti.io, 1 drturner.com.au, 1 +druah.moe, 1 drubn.de, 1 druckerei-huesgen.de, 1 druckereiclassen.de, 1 @@ -44988,13 +44999,13 @@ drugzone.tk, 1 druides.tk, 1 druidry.org, 1 druids.site, 1 -druidwebdesign.com, 1 druko.cf, 1 druko.ga, 1 druko.gq, 1 drum-majo-ijsselstrand.tk, 1 drum.tk, 1 drumbe.at, 1 +drumdancepray.org, 1 drummachines.ga, 1 drummer.cf, 1 drummondframing.com, 1 @@ -45003,6 +45014,7 @@ drunkcalc.com, 1 drunkendropkes.tk, 1 drupal.org, 1 drupalfr.be, 1 +drupalhyderabad.org, 1 drusantia.net, 1 drusillas.co.uk, 1 druwe.net, 1 @@ -45023,7 +45035,6 @@ dryasinakgul.com, 1 drybjed.net, 1 drybysuperior.com, 1 drycreekphoto.com, 1 -drydensfairfax.com, 1 dryerrepairaustin.com, 1 dryerventcleaningarlington.com, 1 dryerventcleaningcarrollton.com, 1 @@ -45075,7 +45086,6 @@ dsfc.net, 1 dsfzsq.com, 1 dsg.ac.cn, 1 dsg.gd.cn, 1 -dsg.lol, 1 dsgnet.hu, 1 dsgnwrld.com, 1 dsgv.de, 1 @@ -45136,7 +45146,6 @@ dtbw.org, 1 dtconsoles.tk, 1 dtdi.com, 1 dtdsh.com, 1 -dte.vn, 1 dtf.digital, 1 dtg-fonds.com, 1 dtg-fonds.de, 1 @@ -45169,6 +45178,8 @@ dtto.com, 1 dtuaarsfest.dk, 1 dtune.me, 1 dtx.sk, 1 +du.co, 1 +dua-e-zehra.org, 1 dual-aspect.com, 1 dual-universe.ga, 1 dual.cat, 1 @@ -45192,13 +45203,13 @@ dubai-realestate.space, 1 dubaiaerospace.com, 1 dubaiaward.link, 1 dubaibliss.com, 1 -dubaicourses.com, 0 dubaifitnesschallenge.com, 1 dubaigrandsale.com, 1 dubaiprivatejetcharter.com, 1 dubairanking.com, 1 dubairun.com, 1 dubaisc.ae, 1 +dubaishoppingcity.com, 1 dubaistudiocity.ae, 1 dubaitourism.gov.ae, 1 dubaivisa.net, 1 @@ -45228,7 +45239,6 @@ dubslow.tk, 1 dubstep.fr, 1 dubtrack.fm, 1 dubuquecountyiowa.gov, 1 -dubyou.tw, 1 ducadu.com, 0 ducalendars.com, 1 duch.cloud, 1 @@ -45247,6 +45257,7 @@ duckfam.us, 1 duckfx.tk, 1 duckhub.io, 1 duckinc.net, 0 +duckling.pw, 1 duckman.tk, 1 duckmapr.com, 1 duckonthepond.com, 1 @@ -45263,6 +45274,7 @@ dudesunderwear.com.br, 0 dudleypolicema.gov, 1 dudushu.com, 1 due-diligence-security.com, 1 +dueback.com, 1 duediligencedataroom.com, 1 duelhost.dk, 1 duelingaces.com, 1 @@ -45356,7 +45368,6 @@ dumnezeu.tk, 1 dumping.tk, 1 dumpper.ch, 1 dumpper.com, 1 -dumpsterdudez.com, 1 dumspiro.ch, 1 dunamiscommunity.com, 1 dunangel.com, 1 @@ -45394,6 +45405,7 @@ dunkle-seite.org, 1 dunlaptn.gov, 1 dunmanelectric.com, 1 dunmanpoolandspa.com, 1 +dunneworthy.com, 1 dunningtonaudio.co.uk, 1 dunwellgroup.info, 1 dunyahalleri.com, 1 @@ -45455,6 +45467,7 @@ duriandelivery.net, 1 durianexpressdelivery.com.sg, 1 duriantech.net, 1 duriemas.com, 1 +durl.name, 1 duroterm.ro, 1 durtk.com, 1 durvalpereira.com.br, 0 @@ -45564,7 +45577,6 @@ dvipadmin.com, 1 dvkg.de, 1 dvminsight.com, 1 dvn.pt, 1 -dvnatura.ch, 0 dvor.ml, 1 dvorek-karlin.cz, 1 dvorekkarlin.cz, 1 @@ -45577,7 +45589,7 @@ dvu.com.tr, 1 dvwc.org, 1 dvx.cloud, 1 dw-connect.org, 1 -dw-loewe.de, 0 +dw-loewe.de, 1 dw-software.de, 1 dw6.cn, 1 dwarf.com.tw, 1 @@ -45593,6 +45605,7 @@ dwiminneapolislawyer.com, 1 dwnld.me, 1 dwood.store, 1 dworzak.ch, 1 +dwpaymentgateway.com, 1 dwservice.net, 1 dwt-inc.com, 1 dwt-onderwijsencoaching.nl, 1 @@ -45614,9 +45627,12 @@ dxcv.net, 1 dxfootball.tk, 1 dxgl.info, 1 dxgl.org, 1 +dxhxjc.com, 1 dxm.no-ip.biz, 1 +dxmedio.com, 1 dxrating.net, 1 dxsigner.com, 1 +dxsrm.com, 1 dxzl.org, 1 dxzsj.cn, 1 dy.express, 1 @@ -45693,11 +45709,11 @@ dynamicenergy.co, 1 dynamicini.org, 1 dynamiclogodesigns.com, 1 dynamicmart.pk, 1 +dynamicmetalsinc.com, 1 dynamicpl.us, 1 dynamicplus.it, 1 dynamicquantum.net, 1 dynamicsdays.info, 1 -dynamicservers.co.uk, 1 dynamicsnetwork.net, 1 dynamicsretailnotes.com, 1 dynamictesting.co.uk, 1 @@ -45737,6 +45753,7 @@ dysco.tk, 1 dysgucymraeg.cymru, 1 dyslexicfish.com, 1 dyslexicfish.net, 1 +dysplasie.com, 1 dysthymia.com, 1 dyuimovochka.tk, 1 dyve.me, 1 @@ -45755,6 +45772,7 @@ dzet.de, 1 dzhyp.ag, 1 dziaduch.pl, 1 dziecismoka.pl, 1 +dziekanat.org, 1 dziekonski.com, 1 dzimchuk.net, 1 dzingel-personaldienst.de, 1 @@ -45763,6 +45781,7 @@ dziura.email, 0 dziurdzia.pl, 1 dziv.net, 1 dzivniekubriviba.lv, 0 +dzluli.com, 1 dzmonarchie.tk, 1 dzndk.com, 1 dzndk.net, 1 @@ -45888,7 +45907,6 @@ e-petition.net, 1 e-petitions.by, 1 e-placement.tk, 1 e-planshet.tk, 1 -e-plus-m.de, 1 e-pns.com, 1 e-pokupki.eu, 1 e-polygraphy.tk, 1 @@ -45945,7 +45963,6 @@ e-underwear.tk, 1 e-uteplitel.ru, 1 e-vau.de, 0 e-verify.gov, 1 -e-virtus.blog, 1 e-virtus.com, 1 e-vykladkaret.cz, 1 e-walks.tk, 1 @@ -45967,7 +45984,6 @@ e2ee-meet.de, 1 e2epartners.org, 1 e2essentialelements.com, 0 e2feed.com, 1 -e2save.com, 1 e30.ee, 1 e30gruppe.com, 1 e34club.com.ua, 1 @@ -46006,7 +46022,7 @@ ea2drocks.com, 1 eaa-online.org, 1 eaanderson.com, 1 eac.gov, 1 -eac0935.com, 1 +eac333.com, 0 eac555.com, 1 each.tk, 1 ead-italia.it, 1 @@ -46019,6 +46035,7 @@ eaglecounty.gov, 1 eaglecountyco.gov, 1 eaglecrest.us, 1 eaglecustomapparel.com, 1 +eagleeyetrip.ru, 1 eaglefireid.gov, 1 eaglegrove.gov, 1 eaglehaslended.com, 1 @@ -46042,7 +46059,7 @@ eahea.org, 1 eaimty.com, 1 eaip.aero, 1 eajmail.com, 1 -eakes.com, 1 +eakes.com, 0 eaktarim.com, 1 ealadel.com, 0 ealarm-safemode.ch, 1 @@ -46056,7 +46073,7 @@ eames-clayton.us, 1 eamigo.com, 1 eamproperties.com, 1 eamu.fun, 1 -eandata.com, 1 +eandata.com, 0 eanraig.top, 1 eaofarlington.com, 1 eaofaustin.com, 1 @@ -46105,7 +46122,6 @@ earthvoice.ru, 1 earthwatch.org, 1 earthytales.in, 1 eas.ee, 0 -easaccounting.com, 1 ease.io, 0 easew.com, 1 easez.net, 1 @@ -46122,16 +46138,17 @@ eastarm.net, 1 eastblue.org, 1 eastcairo-egypt.com, 1 eastchesternyfd.gov, 1 +eastcoastautoconcepts.com, 1 eastcoastbubbleandbounce.co.uk, 1 eastcoastexports.tk, 1 eastcobbhoa.com, 1 eastcottvets.co.uk, 1 eastdream.tk, 1 eastendonline.tk, 1 -eastendtastemagazine.com, 1 easternbreezes.com, 1 easternmontanafair.gov, 1 easternskatesupply.com, 1 +eastflower.com, 1 eastfordct.gov, 1 eastgreenwichnews.com, 1 eastgrmi.gov, 1 @@ -46202,7 +46219,6 @@ easycontentplan.com, 1 easycrochet.tk, 1 easydmarc.am, 1 easydonate.tk, 1 -easydrawingguides.com, 1 easydumpsterrental.com, 0 easyenrollment.net, 1 easyescortwebsites.com, 1 @@ -46216,12 +46232,11 @@ easyhome.org, 1 easyhomebiz.tk, 1 easyhousing.dk, 1 easyhtml.tk, 1 -easyishare.com, 1 +easyishare.com, 0 easyit.ga, 1 easyit.tk, 1 easyjumping.tk, 1 easykash.net, 1 -easykitchens.co.in, 1 easykonto.de, 0 easylinker.tk, 1 easylogics.tk, 1 @@ -46239,6 +46254,7 @@ easypaymentnow.com, 1 easypayments.pro, 1 easypets.fr, 0 easypost.com, 1 +easypractice.net, 1 easypricebook.com, 1 easypv.ch, 1 easyqr.codes, 0 @@ -46291,6 +46307,7 @@ eatwith.com, 1 eauclairecounty.gov, 1 eaucube.com, 1 eaugenethomas.cf, 1 +eaujob.com, 1 eauto-cash.de, 1 eautocash.de, 1 eautocollision.com, 1 @@ -46298,6 +46315,7 @@ eautolease.com, 1 eauxdevienne.fr, 1 eava.ga, 1 eazy.gr, 1 +eazycert.in, 1 eazyfreight.co.uk, 1 eazyg.tk, 1 eazyinvoice.tk, 1 @@ -46321,6 +46339,7 @@ ebankingbutsecure.ch, 1 ebankingentoutesecurite.ch, 1 ebankingmasicuro.ch, 1 ebarer.com, 1 +ebarni.hu, 1 ebas.ch, 1 ebashim.tk, 1 ebassradiante.cl, 1 @@ -46337,6 +46356,8 @@ ebayinc.com, 1 ebcfx.com, 1 ebci-nsn.gov, 1 ebcired-nsn.gov, 1 +ebcreation.com, 1 +ebcue.org, 1 ebdaa-business.com, 1 eben18.net, 1 ebenda.org, 1 @@ -46366,11 +46387,11 @@ ebjork.se, 1 ebki-nsn.gov, 1 eblan.gq, 1 eblandscaping.com.au, 1 +ebles.art, 1 eblog.cf, 1 eblog.ink, 1 eboardsolutions.com, 1 ebola-hosting.cz, 1 -ebola.cz, 1 ebolacharts.ga, 1 ebolavirus.tk, 1 ebony.social, 1 @@ -46408,6 +46429,7 @@ ebrofoods.es, 0 ebrows.md, 1 ebru-gundes.tk, 1 ebrununkasnagi.com, 1 +ebs-gtweed.com, 1 ebs.to, 1 ebscomedical.com, 1 ebuha.ga, 1 @@ -46431,6 +46453,7 @@ ecarscash.com, 1 ecat.ua, 1 ecaterina.tk, 1 ecbt.co.il, 1 +eccc.pl, 1 ecchidreams.com, 1 eccma.org, 1 ecco-verde.at, 1 @@ -46465,7 +46488,6 @@ echinus.solutions, 1 echo-in.info, 1 echo-n.nz, 0 echo-online.de, 1 -echo-security.co, 1 echo.cc, 1 echoanalytics.com, 1 echobridgepartners.com, 1 @@ -46483,7 +46505,6 @@ echosdg.com, 1 echosearch.co, 1 echoserver.org, 1 echoship.com, 1 -echosixmonkey.com, 1 echosystem.fr, 1 echotango.fr, 1 echoteam.eu.org, 1 @@ -46514,6 +46535,7 @@ eckstein.tech, 1 eclectic-al.gov, 1 eclecticbeaver.com, 1 eclectiv.com, 1 +eclerx.com, 1 eclipse-cross.info, 1 eclipse4academia-startups.com, 1 eclipseforum.tk, 1 @@ -46524,7 +46546,9 @@ ecn.ir, 1 ecnetworker.com, 1 eco-derattizzazione.it, 1 eco-doors.co.uk, 1 +eco-ology.org, 1 eco-price.ru, 1 +eco-rally.cz, 1 eco-rubber.ru, 1 eco-solu.co.jp, 1 eco-web.com, 1 @@ -46550,6 +46574,7 @@ ecodepur.co.ao, 1 ecodepur.fr, 1 ecodesign-labo.jp, 1 ecodesigns.nl, 1 +ecodrive.in.ua, 1 ecoeat.ru, 1 ecoefficience.com, 1 ecoelectricsandiego.com, 1 @@ -46569,6 +46594,7 @@ ecohostingservices.uk, 1 ecoindia.tk, 1 ecojob.ga, 1 ecolala.my, 1 +ecolamp.it, 1 ecolan37.ru, 1 ecole-attalens.ch, 0 ecole-du-digital.com, 1 @@ -46620,10 +46646,10 @@ economie2.alsace, 1 economie2.fr, 1 economiefidu.ch, 0 economies.ch, 0 +economistebtp.com, 1 economixportal.tk, 1 economycarrentalscyprus.com, 1 economydiva.com, 1 -economyroofingco.com, 1 econsorzio.com, 1 econstitution.bg, 1 econsumer.gov, 1 @@ -46714,7 +46740,6 @@ ed-medications.ml, 1 ed-studios.tk, 1 ed.gs, 1 ed394jed.fr, 1 -eda-ah.com, 1 eda.cooking, 0 eda.gov, 1 eda72.com, 1 @@ -46727,6 +46752,7 @@ edatech.com, 1 edb.cz, 1 edb.eu, 1 edb.gov.sg, 1 +edc-msp.com, 1 edcaptain.com, 1 edcdn.net, 1 edd-miles.com, 1 @@ -46774,6 +46800,7 @@ ederasrl.it, 1 edesseglabor.hu, 1 edevletkapisi.org, 1 edfdentalcenter.tk, 1 +edfoc.org.uk, 1 edgar.mx, 1 edgarcountyillinois.gov, 1 edgarpierre.fr, 1 @@ -46805,7 +46832,6 @@ edi-gate.com, 1 edi-gate.de, 1 edibarcode.com, 1 ediberto.tk, 1 -edibleforest.co, 1 edicct.com, 1 edicionescrimentales.tk, 1 edihair.com, 1 @@ -46847,6 +46873,7 @@ editions-campanile.fr, 1 editionsnoiretrouge.com, 1 editionsz.com, 1 editorakanope.com.br, 1 +editorial.cn, 1 editorialexpress.com, 1 editorsguild.com, 1 editspace.tk, 1 @@ -46895,6 +46922,7 @@ edscolors.com, 1 edservicing.com, 1 edshogg.co.uk, 1 edsm.net, 1 +edsplain.ro, 1 edstem.org, 1 edstep.com, 1 edsys.com.au, 1 @@ -46902,7 +46930,6 @@ edtech-hub.com, 1 edtech.ee, 1 edtechwebb.com, 1 edtravel.ga, 1 -edu-kingdom.com, 1 edu3w.at, 1 edu6.cloud, 1 eduanimal.tk, 1 @@ -46933,6 +46960,7 @@ educatek.es, 1 educatie.tk, 1 education-colleges.com, 1 education-info.cf, 1 +education.gov.bb, 1 education4paper.tk, 1 educationarea.tk, 1 educationboard.ml, 1 @@ -46999,7 +47027,6 @@ eduproject.tk, 1 eduproquality.tk, 1 eduqfix.com, 1 eduradiadores.com.br, 1 -eduresultbd.com, 1 eduroam.no, 1 eduroam.uy, 1 edusanjal.com, 1 @@ -47063,8 +47090,10 @@ ee9297.co, 1 ee951.com, 0 ee9728.co, 1 ee973.com, 0 +eeagrants.cz, 1 eebt.hu, 1 eeeb.loan, 1 +eeee.stream, 1 eeeeeeeeee.de, 1 eeehh.com, 1 eeetrust.org, 1 @@ -47096,12 +47125,11 @@ eery.de, 1 eesti.id, 1 eet.nu, 1 eetestingcenter.com, 1 -eetimestv.com, 1 eevie.io, 1 eevpn.com, 1 eewna.org, 1 +eexecutive.in, 1 eeyo.uk, 1 -eez.ee, 0 eezepc.com, 1 ef.gy, 1 efaas.nl, 1 @@ -47210,6 +47238,7 @@ egeozcan.com, 0 egestor.com.br, 1 egevpare.tk, 1 egfl.org.uk, 1 +egg-events.com, 1 egg-ortho.ch, 1 eggblast.com, 1 eggc.at, 1 @@ -47338,6 +47367,7 @@ ehrby.se, 1 ehrdata.com, 1 ehrenburg.info, 1 ehrlichesbier.de, 1 +ehs.com, 1 ehsehk.com.ph, 1 ehtgov.org, 1 ehtp.pt, 1 @@ -47350,6 +47380,7 @@ ehuber.info, 1 ei-bo.org, 1 eiacampoguamal.com, 1 eiao.me, 1 +eibak.com, 1 eiber.net, 1 eibich.de, 1 eichel.eu, 1 @@ -47411,6 +47442,7 @@ einmonolog.de, 1 einreiseanmeldung.de, 1 einrichtenonline.com, 1 einsatzstiefel.info, 1 +einscube.com, 1 einstein-themanandhismind.net, 1 einsteinathome.org, 1 einsteinbros.com, 1 @@ -47482,13 +47514,13 @@ ejkuniversiteit.nl, 1 ejkweb.nl, 1 ejkwebdesign.nl, 1 ejsc.co.jp, 1 +ejuniper.com, 1 ek-networks.de, 0 ekadry.info, 1 ekalisch.de, 1 ekamfoundationmumbai.org, 1 ekamus.tk, 1 ekatalendra.com, 1 -ekatavirghost.com, 1 ekati.ru, 1 ekawaiishop.com, 1 ekb-avia.ru, 0 @@ -47535,6 +47567,7 @@ ekosf.ru, 1 ekospajzka.cz, 1 ekostecki.de, 1 ekouniejow.pl, 1 +ekourbanisterna.se, 1 ekowibowo.com, 1 ekozercy.pl, 1 ekpj.jp, 1 @@ -47550,9 +47583,9 @@ eksisozluk.com, 0 eksperiments.lv, 1 ekspert.tk, 1 ekspertemerytalny.pl, 1 +ekspertka.com.pl, 1 eksploraz.com, 1 ekspress.ee, 1 -ektefa.sa, 1 ekvastra.in, 1 ekwador.com, 1 ekyu.moe, 1 @@ -47581,7 +47614,6 @@ elalmibar.com, 1 elana.lt, 1 elandador.com.mx, 0 elanterna.ro, 1 -elanusparts.com, 1 elaon.de, 0 elar.tk, 1 elarcoreu.com, 0 @@ -47625,7 +47657,6 @@ elcigaro.bg, 1 elcin.tk, 1 elcirculo.mx, 1 elcontadorsac.com, 1 -elcontenido.news, 1 elcontrol.tk, 1 elcosmos.tk, 1 elcosteno.tk, 1 @@ -47724,7 +47755,6 @@ electriciandosvientos.com, 1 electricianforum.co.uk, 1 electricianhiddenhills.com, 1 electricianlakesherwood.com, 1 -electricianmalibu.com, 1 electricianmoorpark.com, 1 electriciannewburypark.com, 1 electricianoakpark.com, 1 @@ -47751,7 +47781,7 @@ electricthousandoaks.com, 1 electricwestlakevillage.com, 1 electricwokstore.com, 1 electriczone.tk, 1 -electrobraid.com, 1 +electrijob.com, 1 electrocity.ie, 0 electrocomplect.com.ua, 1 electrocuted.com, 1 @@ -47776,7 +47806,6 @@ electromotor.tk, 1 electronic-ignition-system.com, 1 electronicafacil.net, 1 electronicaripol.es, 1 -electronicfasteners.com, 0 electronicssrit.tk, 1 electronictucuman.com, 1 electroniko.cf, 1 @@ -47790,9 +47819,11 @@ electrostore.com.ec, 1 electrotainment.com, 1 electrotounes.tn, 1 electroyclima.es, 1 +electrozone.bg, 1 electrum.org, 1 eled.io, 1 elefanten-cup.de, 1 +elefantschule.de, 1 elefsisport.gr, 0 elegance-lingerie.com, 1 elegance-sm.com, 1 @@ -47830,6 +47861,7 @@ elektro-hofmann-gmbh.de, 1 elektro-hornetz.de, 1 elektro-koehl.de, 1 elektro-liebeskind.de, 1 +elektro-mag.com, 1 elektro-metz.de, 1 elektro-pfeiffer.de, 1 elektro-praha10.cz, 1 @@ -47895,6 +47927,7 @@ elementorfa.ir, 1 elements-space-time.com, 1 elements.guide, 1 elementshop.co.uk, 1 +elementskeys.com, 1 elementsoftware.tk, 1 elemistlarp.com, 1 elena-paparizou.tk, 1 @@ -47909,7 +47942,6 @@ elenaristeska.tk, 1 elenaristeskaweb.tk, 1 elenashilko.ga, 1 elenaskincarespa.com, 1 -elenatranslations.nl, 0 elenatroncone.tk, 1 elenavoce.cf, 1 elenayulkina.ru, 1 @@ -47972,6 +48004,7 @@ eleventhhourwatch.com, 1 elexel.ru, 1 elexon.co.uk, 1 elexprimidor.com, 1 +elfbaroficial.ro, 1 elfe.de, 1 elfejoyeux.com, 1 elfi.com, 1 @@ -48045,6 +48078,7 @@ elink.io, 1 elinks.tk, 1 elinspector.tk, 1 elinternadolagunanegra.tk, 1 +eliodinino.com, 1 eliolita.com, 1 eliotchs.org, 1 eliott.cc, 1 @@ -48102,7 +48136,6 @@ elitepumps.net, 1 eliterequestboard.tk, 1 elitesim.ga, 1 elitesquadmodz.tk, 1 -elitetopic.com, 1 elitetoy.com.br, 1 elitewealth.in, 1 elitexcomputing.com, 1 @@ -48126,7 +48159,6 @@ elizafranklin.com, 1 elizaminami.com.br, 1 eljay.cc, 1 eljef.me, 1 -elk.moe, 1 elka-piter.ga, 1 elkampeuzo-musique.tk, 1 elkarizan.com, 1 @@ -48162,6 +48194,7 @@ ellevate.com, 1 ellhofen-peccioli.de, 1 elliboettcher.de, 1 ellierider.com, 1 +ellierose.photography, 1 elligre.tk, 1 ellinaras.tk, 1 ellingworth.co.uk, 1 @@ -48186,7 +48219,6 @@ ellty.com, 1 ellyscakes.com, 1 elm-dental.com, 1 elmaci.net, 1 -elmagdclean.com, 1 elmahost.net, 1 elmandria.com, 1 elmarchive.ir, 1 @@ -48246,7 +48278,6 @@ elpincho.tk, 1 elpitazo.net, 1 elplugins.xyz, 1 elpo.net, 1 -elposconflicto.org, 1 elpreciosostud.com, 1 elprincipevegeta.tk, 1 elprofeshows.com, 1 @@ -48268,6 +48299,7 @@ elron.ee, 0 elrubio.tk, 1 elsadonaire.tk, 1 elsas.tk, 1 +elsassdestination.fr, 1 elsbouslanostraaficio.tk, 1 elsector7.tk, 1 elsemanariodesalamanca.tk, 1 @@ -48275,6 +48307,7 @@ elsenzhafen.de, 1 elsg.co.uk, 1 elshop1eu.com, 1 elshou.com, 1 +elsoundspeakers.com, 1 elstravato.com, 1 elsuccionador.com, 1 elsvanderlugt.nl, 1 @@ -48282,7 +48315,6 @@ elsvanmerhaeghe.be, 1 elsweb.net, 1 elsword.moe, 0 elsylist.com, 1 -elta.com.ua, 1 eltair.com, 1 eltar.pl, 1 eltconsultants.com.mx, 1 @@ -48314,6 +48346,7 @@ elvalordelsaliments.cat, 1 elvcino.com, 0 elverdaderoamor.tk, 1 elvikom.co.uk, 1 +elvikom.pl, 1 elviraszabo.com, 1 elvis-atouchofgold.com, 0 elvis-presley.tk, 1 @@ -48344,13 +48377,13 @@ emad7.tk, 1 emagazine.com, 1 emaging-productions.fr, 1 emaging.fr, 1 +emagrecerconsciente.com.br, 1 email-pipeline.xyz, 1 email-verifier.tk, 1 email.repair, 0 email24.cf, 1 email4u.at, 1 emailable.com, 1 -emailablev.com, 1 emailalaperformance.fr, 1 emailalias.nl, 1 emailbusters.tk, 1 @@ -48364,6 +48397,7 @@ emailing.ga, 1 emaillagebaingenial.ca, 1 emailmasker.nl, 1 emailmeform.com, 1 +emailoctopus.com, 1 emailprivacytester.com, 1 emailprocessorpro.gq, 1 emailpursuits.com, 1 @@ -48375,7 +48409,6 @@ emakicms.com, 1 emaks.tk, 1 emalm.com, 1 emamiltd.in, 1 -emanaclinic.com, 0 emancipator.com, 1 emanol.co.uk, 1 emanuel.photography, 1 @@ -48465,7 +48498,7 @@ emergencycommand.us, 1 emergencymanagementedu.org, 1 emergencyportal.tk, 1 emergenzaduepuntozero.it, 1 -emergingafricagroup.com, 0 +emergingafricagroup.com, 1 emergingindustryprofessionals.com, 1 emeria.in, 1 emero.de, 0 @@ -48526,7 +48559,7 @@ eminem.kim, 1 eminem50cent.com, 1 eminencepools.com, 1 emirates247.com, 1 -emiratesairline.co.uk, 1 +emiratesairline.co.uk, 0 emirefek.net, 1 emirichardson.com, 1 emisia.com, 1 @@ -48555,6 +48588,7 @@ emmaliddell.com, 0 emmanuelle-et-julien.ch, 1 emmanuelorocker.com, 1 emmaowl.com, 1 +emmaplumbing.com, 1 emmastarr.net, 1 emmaste.edu.ee, 1 emmastree.com, 1 @@ -48587,7 +48621,6 @@ emojiterra.com, 1 emolafarm.com, 1 emolar.com, 1 emond-usedcars.net, 0 -emoneycircle.com, 1 emonovo.com, 1 emonsarkar.tk, 1 emopics.com, 1 @@ -48595,7 +48628,7 @@ emotality.com, 1 emote.bot, 1 emotebank.com, 1 emotebot.com, 1 -emotionalonlinestorytelling.com, 1 +emotionalflirt.com, 1 emotionsanonymous.org, 1 emotionsgroup.kz, 1 emotive.productions, 1 @@ -48668,6 +48701,7 @@ empowernation.org, 1 empowersimcoe.ca, 1 empoweryou.ca, 1 emprechtinger.com, 1 +emprego.pt, 1 empregosrj.com, 1 empreinte.ca, 1 emprendecausa.com, 1 @@ -48734,6 +48768,7 @@ emystars.tk, 1 emzi0767.com, 1 emzy.de, 1 en-crypt.me, 1 +en-je.fr, 1 en-maktoob.search.yahoo.com, 0 en-pc.jp, 1 en-wp.com, 1 @@ -48757,15 +48792,12 @@ enamelpin.club, 1 enaminestore.com, 1 enamonada.com, 1 enattendantpauline.ca, 1 -enaturelive.com, 1 enbecom.net, 1 enboarder.com, 1 enbulleiugnen.com, 1 enby.army, 1 +encausate.com, 1 encd.life, 1 -ence.es, 1 -encelaya.com.mx, 0 -encenna.com.br, 1 encfs.win, 1 enchantedcode.co.uk, 1 enchantedcottage.tk, 1 @@ -48782,7 +48814,6 @@ encontroespiritadeinverno.com.br, 1 encore.tech, 1 encoreglobal.com, 1 encoro.org, 1 -encorp.com.my, 1 encotentin.fr, 1 encountercss.com, 1 encouragemarketing.com, 1 @@ -48844,6 +48875,7 @@ endlessgrind.com, 1 endlesshorizons.info, 1 endlessvideo.com, 1 endlesswebsite.tk, 1 +endo-club360.ru, 1 endofevolution.com, 1 endofinternet.goip.de, 1 endoflife.date, 1 @@ -48856,7 +48888,6 @@ endoscope.bg, 1 endpipe.com, 1 endplasticwaste.org, 1 endpointclinical.com, 1 -endrinas.com, 1 endrust.com.au, 1 endspamwith.us, 1 enduranceseries.ca, 1 @@ -48865,6 +48896,7 @@ endustriyelfirinlar.com, 1 endviolence.gc.ca, 1 enecivilela.com, 1 enefit.com, 1 +enefit.ee, 1 enefitgreen.ee, 1 enefitvolt.com, 1 eneko.com, 1 @@ -48970,6 +49002,7 @@ eng3corp.com, 1 eng4arab.tk, 1 engageapp.net, 1 engagelogic.com, 1 +engageminty.com, 1 engagewarnerrobinsga.gov, 1 engagewell.com, 1 engagingmuscles.com, 1 @@ -49003,6 +49036,7 @@ enginemoves.com, 1 engineowning.com, 1 enginepit.com, 1 enginsight.com, 1 +enginsjob.com, 1 enginx.net, 1 enginytech.com, 1 engione.com, 1 @@ -49016,7 +49050,6 @@ engl-distribution.de, 1 engl-distribution.net, 1 engl-server.de, 1 engl-systems.de, 1 -england-fixed-matches.com, 1 englandairportcars.com, 1 englandbeach.com, 1 englandlearn.com, 1 @@ -49042,8 +49075,8 @@ englishprovence.com, 1 englishschoolforkids.com.ua, 1 englishteacheredu.org, 1 englishtofrench.eu, 1 +englishvip.com.br, 1 englishvit.com, 1 -engodnat.dk, 1 engraffo.com, 1 engrama.tk, 1 engrepair.com, 1 @@ -49052,12 +49085,14 @@ engso-education.eu, 1 engso.com, 1 engso.eu, 1 engsoyouth.eu, 1 +engster.com, 1 engsubjav.com, 1 engution.biz, 0 engvid.com, 1 engweld.co.uk, 1 engym.com.tw, 1 engz.icu, 1 +enhance.tools, 1 enhanced-mail.tk, 1 enhancemedia.co.uk, 1 enia.com, 1 @@ -49065,7 +49100,6 @@ enigheten.tk, 1 enigma.swiss, 0 enigmacpt.com, 0 enigmamusic.tk, 1 -enigmatry-website-test.azurewebsites.net, 1 enigmatry.com, 1 enigmavault.io, 1 enip2.ru, 1 @@ -49098,9 +49132,9 @@ enlacemedik.com, 1 enlacesgranotas.tk, 1 enlamochiladeadri.com, 1 enlasnubes.tk, 1 +enlazandoalmas.com, 1 enlaztravel.com, 1 enlightenspeech.com, 1 -enlightio.com, 1 enlightsec.se, 1 enlnf.link, 1 enloestatebank.com, 1 @@ -49146,6 +49180,7 @@ enrique-monroy.tk, 1 enrique.wtf, 1 enriqueamaro.com, 1 enriqueferreira.com, 1 +enriquemaldonado.es, 1 enriquezdomenech.ninja, 1 enroll2control.com, 1 enrollapp.com, 1 @@ -49160,7 +49195,6 @@ ensemble-conseils-et-services.fr, 1 ensemble-rubato.de, 1 enshin-karate.tk, 1 ensightpharma.com, 1 -ensightsolutions.us, 1 ensilencio.tk, 1 ensingpodotherapie.nl, 1 enskat.de, 1 @@ -49209,6 +49243,7 @@ enthasso.gr, 1 entheo-worldeyes.org, 1 entheogens.com, 1 entheorie.net, 1 +entheoshearing.com, 1 enthrallinggumption.com, 1 enticingai.com, 1 entityelevation.com, 1 @@ -49218,7 +49253,6 @@ entorangecounty.com, 1 entouchgo.com, 1 entpe.fr, 1 entradacaminitorey.com, 1 -entradasrealmadrid.com, 1 entrainchat.it, 1 entrainr.com, 1 entranceinfo.tk, 1 @@ -49228,6 +49262,7 @@ entregarapida.cf, 1 entremass.com, 1 entrenossocialinfo.com, 1 entreprenet.gq, 1 +entrepreneuraj.com, 1 entrepreneuretlibre.com, 1 entrepreneurialopensource.org, 1 entrepreneurnight.com, 1 @@ -49262,7 +49297,6 @@ enuchi.com, 1 enuchi.jp, 1 enumasecurity.com, 1 enuygun.com, 1 -enuygunaucakbileti.com, 1 envaldemoro.com, 1 envant.co.uk, 1 envelope.co.nz, 1 @@ -49311,7 +49345,6 @@ envoie.moi, 1 envoyair.com, 1 envoybrain.com, 1 envoyez.moi, 1 -envoyglobal.com, 1 envoypresents.com, 1 envydesigns.tk, 1 envygeeks.io, 1 @@ -49327,7 +49360,6 @@ enzosoares.com, 1 enzyme-sensor.net, 1 eo-literaturo.tk, 1 eoa.live, 1 -eocka.com, 1 eocservices.co.uk, 1 eod.su, 1 eohima.org, 0 @@ -49396,7 +49428,7 @@ epicenter.work, 1 epicentre-amsterdam.tk, 1 epicentre.works, 1 epicerie-raccourci.com, 1 -epiceriedici.ch, 1 +epiceriedici.ch, 0 epicfail.be, 1 epicforums.tk, 1 epicginger.fi, 1 @@ -49413,7 +49445,6 @@ epicserver.ru, 1 epicsoft.de, 1 epicteam.tk, 1 epicteller.com, 0 -epicvideofactory.com, 1 epicvistas.com, 1 epicvistas.de, 1 epidastudio.com, 1 @@ -49497,6 +49528,8 @@ epsonstore.ae, 1 epspolymer.com, 1 eptirgotajs.lv, 1 epublibre.org, 1 +epubreader.net, 1 +epubreader.org, 1 epvd.tk, 1 epyonsuniverse.net, 1 eq-serve.com, 1 @@ -49509,7 +49542,6 @@ eqs.com, 1 equalifica.com.br, 1 equalone.co.jp, 1 equals.com.br, 1 -equalscollective.com, 1 equans-kaelte.de, 1 equasea.com, 0 equate.net.au, 1 @@ -49523,7 +49555,7 @@ equidam.com, 1 equifaxobjection.com, 1 equilibratura.roma.it, 1 equilibrium.med.br, 1 -equilibriumx.com, 0 +equilibriumx.com, 1 equine-dentistry-endoscope.com, 1 equine-dentistry-scope.com, 1 equinenow.com, 1 @@ -49643,7 +49675,6 @@ ericisaweso.me, 0 ericjohnltd.com, 1 erick.blog, 1 ericksonvasquez.com, 1 -ericksonvilleta.com, 1 ericktello.tk, 1 ericleuthardt.com, 1 ericleuthardtphotography.club, 1 @@ -49805,6 +49836,7 @@ erudikum.cz, 1 erudio-usluge.hr, 1 erulezz.nl, 1 eruzione.us, 1 +ervaarjapan.nl, 1 ervirmaison.tk, 1 erwannlaflute.tk, 1 erwerbslosenforum.de, 1 @@ -49846,12 +49878,10 @@ esasafe.com, 1 esasite.com, 1 esatn.gov, 1 esautotech.com.au, 1 -esb-platte.de, 1 esb1314.net, 1 esb1668.com, 1 esb16888.com, 1 esb369.com, 0 -esb518.com, 1 esb556.com, 1 esb5889.com, 1 esb688.com, 1 @@ -49902,13 +49932,11 @@ escmatrix.com, 1 escobarservice7000.com, 1 escobeira.pt, 1 escoben.tk, 1 -escoffier.mu, 1 escogitasrls.com, 1 escoladejudo.com.br, 1 escoladepilota.tk, 1 escolamais.com.br, 1 escolanacionaldejudo.com.br, 1 -escolatop.com.br, 1 escolibri.com, 1 escondido.gov, 1 escondidoca.gov, 1 @@ -49929,7 +49957,6 @@ escortlistings.fr, 1 escortlistings.ph, 1 escortlistingsuk.co.uk, 1 escorts.works, 1 -escortslittleblackbook.com, 1 escortz.gq, 1 escoteiros.tk, 1 escovator-records.tk, 1 @@ -50006,9 +50033,7 @@ eskritt.ca, 1 eskurye.com, 1 eskypartners.com, 1 eslamahmed.tk, 1 -eslbuzz.com, 1 esleme.com, 1 -eslgrammar.org, 1 eslightinghire.co.uk, 1 eslint.org, 0 eslove.jp, 1 @@ -50051,6 +50076,7 @@ espacefragil.be, 1 espacejabugo.com, 0 espacepiscine51.fr, 1 espaceroseauteinturiers.fr, 0 +espacetemps.ch, 0 espacetendance.fr, 1 espacetheosophie.fr, 1 espachavo.tk, 1 @@ -50157,7 +50183,6 @@ essenttamarketplace-essenttamarketplaceqa.azurewebsites.net, 1 esseriumani.com, 1 essex.cc, 1 essexcountyvermont.gov, 1 -essexelectricaltraining.co.uk, 1 essexgardenstudios.co.uk, 1 essexhighways.org, 1 essexmoneyman.com, 1 @@ -50206,6 +50231,7 @@ esteniomexico.com, 1 esteria.eu, 0 esteriliza-me.org, 1 esterilizacion-perros.es, 1 +esterlyconcrete.com, 1 estespr.com, 0 estet.tk, 1 estetica-bilbao.com, 1 @@ -50323,6 +50349,7 @@ eternalparking.eu, 1 eternalparking.net, 1 eternalparking.org, 1 eternalsymbols.com, 1 +eternalwine.com, 1 eternegy.co, 1 eternit.roma.it, 1 eternitdesio.it, 1 @@ -50380,6 +50407,7 @@ ethicalconsumer.org, 1 ethicaldata.co.uk, 1 ethicalescorts.com, 1 ethicallogistics.com, 1 +ethicalmarketingsolutions.com, 1 ethicalpolitics.org, 1 ethicaltek.com, 0 ethics.org, 1 @@ -50409,7 +50437,7 @@ etincelle.ml, 1 etincelle.tk, 1 etindustries.com, 1 etiqa.tk, 1 -etisrl.net, 1 +etisrl.net, 0 etkarle.de, 1 etlaq.com, 1 etmtobik.eu, 1 @@ -50433,14 +50461,13 @@ etrolleybizstore.com, 1 ets-etos.azurewebsites.net, 1 ets-software.de, 1 etsduova.dedyn.io, 1 -etselquemenges.cat, 1 etsmarconi.be, 0 etspuka.de, 1 etsradio.org, 1 etsu.edu, 1 ettbattreinternet.se, 1 etterforsker1.no, 1 -etterretningstjenesten.no, 1 +etterretningstjenesten.no, 0 ettgottliv.com, 1 ettip.com, 1 ettlinger-tor.de, 1 @@ -50552,7 +50579,6 @@ euro-cdm.org, 1 euro-construction.co.uk, 1 euro-issues.tk, 1 euro-servers.de, 1 -euro.se, 1 euroairport.com, 1 euroalter.com, 1 euroasia-tm.com, 1 @@ -50638,6 +50664,7 @@ europeanpolice.net, 1 europeanpreppers.com, 1 europeanstudies-chemnitz.de, 1 europeantransportmanagement.com, 1 +europeanwineresource.com, 1 europeluxuryweddings.com, 1 europeonline.tk, 1 europeontrack.org, 1 @@ -50674,6 +50701,7 @@ eurotour.tk, 1 eurotracs.com, 1 eurotramp.com, 0 eurousa.us, 1 +eurovetlogistics.ro, 1 eurovision-romania.tk, 1 eurovision.ie, 1 eurowave.com, 1 @@ -50816,10 +50844,10 @@ eventfun.tk, 1 eventide.space, 1 eventive.org, 0 eventlista.no, 1 -eventlocation2.de, 1 eventmake.es, 1 eventnexus.co.uk, 1 eventosbgp.com, 1 +eventosbyt.pt, 1 eventosdeluchalibre.tk, 1 eventosenmendoza.com.ar, 1 eventosformativos.tk, 1 @@ -50842,7 +50870,6 @@ eventsbytma.com, 1 eventseeker.com, 1 eventservicestockholm.se, 1 eventsforyou.fr, 1 -eventsframe.com, 1 eventtech.com, 0 eventticketscenter.com, 1 eveonline.com, 1 @@ -50865,6 +50892,7 @@ everglow.co.jp, 1 evergreenal.gov, 1 evergreenilder.tk, 1 evergreenlangladewi.gov, 1 +evergreenproclean.com, 1 evergreentlc.com, 1 evergreenweedshop.com, 1 evergrowthdc.com, 1 @@ -50889,6 +50917,7 @@ everseo.tk, 1 eversightwealth.com, 1 evertonarentwe.com, 1 evertradeelectronics.com, 1 +evertrust.fr, 1 evertz.com, 1 evervitjuice.com, 1 everwaking.com, 0 @@ -50946,6 +50975,7 @@ evetech.net, 1 evezqurbanli.tk, 1 evga.com, 1 evhoeft.com, 1 +eviadc.com, 0 eviction.cf, 1 evidecor.com.br, 1 evidencebased.net, 1 @@ -50994,11 +51024,11 @@ evoffer.com, 1 evojska.tk, 1 evoke.ie, 1 evokeearlylearning.com.au, 1 +evolucaodiaria.blog, 1 evolucioneducativa.com.ec, 1 evolucionestudios.com.bo, 1 evolucionradio.tk, 1 evolusis.fr, 1 -evolutiespirituala.ro, 1 evolution-gaming.tk, 1 evolution-host.ga, 1 evolution-x.org, 1 @@ -51008,11 +51038,10 @@ evolutionosteopathy.co.uk, 1 evolutive-records.tk, 1 evoluxion.co, 1 evoluzione.fr, 0 -evolve-mma.com, 1 -evolve-university.com, 1 -evolve-vacation.com, 1 +evolve-analytics.co.uk, 1 evolve.com, 0 evolvedevlabs.de, 1 +evolvedhairindia.com, 1 evolvetechnologies.co.uk, 1 evolvicity.org, 1 evolvingseo.com, 1 @@ -51041,7 +51070,7 @@ evtasima.name.tr, 1 evthing.se, 0 evtripping.com, 1 evu-pe.tk, 1 -evulka.eu, 1 +evulka.eu, 0 evv.ee, 1 evxp.it, 1 evyn.eu, 1 @@ -51089,11 +51118,9 @@ ex.co, 1 ex2technology.com, 1 ex78.com, 1 exabike.com, 1 -exablue.de, 1 exact-distribution.com, 1 exact-online-apps-by-invantive.com, 1 exact.realty, 1 -exactlibris.com, 1 exactlyinfinite.com, 1 exactphilosophy.net, 1 exactrealty.co.uk, 1 @@ -51105,7 +51132,6 @@ exaduosport.fr, 1 exagoni.com, 1 exagoni.com.au, 1 exagoni.com.my, 1 -exalthost.com, 1 exam4.us, 1 exambot.cf, 1 exambot.ga, 1 @@ -51117,7 +51143,6 @@ examesrush.com.br, 0 examhq.net, 1 examika.ru, 1 examity.com, 1 -examly.io, 1 examone.com, 1 exampaperarchive.com, 1 example.li, 1 @@ -51127,7 +51152,6 @@ examroo.nl, 0 examsite.tk, 1 examsmate.in, 1 examsoft.com, 1 -examsplanner.in, 1 examticket.tk, 1 exaplac.com, 1 exarcheia.com, 1 @@ -51162,7 +51186,6 @@ excellarate.com, 1 excellence-eventos.com, 1 excellence-redefined.org, 1 excellence.corsica, 1 -excellenceandcreativity.com, 1 excellenceriviera.com, 1 excellentrencontrer.tk, 1 excellentsurferers.ga, 1 @@ -51200,6 +51223,7 @@ exclusivacademy.com, 1 exclusive-okno.ru, 1 exclusive-world.tk, 1 exclusivedesignz.com, 1 +exclusivefence.com, 1 exclusivelyuk.co.uk, 1 exclusivemilf.com, 1 exclusiveresorts.com, 1 @@ -51273,6 +51297,7 @@ exomind.gq, 1 exon.io, 1 exonip.de, 1 exonovov.tk, 1 +exorcisethat.com, 1 exordiumconcepts.com, 1 exosama.com, 1 exoscale.ch, 1 @@ -51329,6 +51354,7 @@ exper.gr, 1 experiencealula.com, 1 experienceoutdoors.org.uk, 1 experienceoz.com.au, 1 +experilens.com, 1 experiment-626.tk, 1 experimentalguruji.cf, 1 experimentaltheatreclub.tk, 1 @@ -51343,10 +51369,10 @@ experpento.tk, 1 expert-batiment-rouen.fr, 1 expert-comptable-vichy-moulins-allier.fr, 1 expert-korovin.ru, 1 -expert-market.com, 1 expert-voronezh.tk, 1 expert.cz, 1 expert96.cf, 1 +expertairductcleaninghouston.com, 1 expertclub.tk, 1 expertcomics.ca, 1 experteasy.com.au, 1 @@ -51470,10 +51496,10 @@ expxkcd.com, 1 exquisique.tk, 1 exquisito.tk, 1 exs.lv, 1 +exseedhealth.com, 0 exside.com, 1 exstirpo.com, 1 extact.com, 1 -extelicast.com, 1 extendedteam.co, 1 extendedteam.net, 1 extendet.tk, 1 @@ -51515,10 +51541,8 @@ externalfb.com, 1 externer-datenschutzbeauftragter-bochum.de, 0 externeverslaggeving.nl, 1 externevoorzitter.nl, 1 -extienso.com, 1 extinctionrebellion.de, 1 extirosli.ga, 1 -extmatrix.com, 0 extra.ie, 1 extrabits.pt, 0 extrabusiness.tk, 1 @@ -51587,6 +51611,7 @@ eyeball.ml, 1 eyebrowsmicroblading.co.uk, 1 eyecandy.gr, 1 eyecon.gr, 1 +eyecreatellc.com, 1 eyedea.ga, 1 eyedesignuniversity.com, 1 eyeglasses.com, 0 @@ -51639,7 +51664,6 @@ ezec.com.tw, 1 ezee-fix.co.uk, 1 ezekia.com, 1 ezercommerce.com, 1 -ezeviral.com, 1 ezgif.com, 1 ezhub.de, 1 ezidox.com, 1 @@ -51697,7 +51721,6 @@ f1grandprix.tk, 1 f1ltr0.com, 1 f1minute.com, 1 f1nal-lap.be, 1 -f1nalboss.de, 1 f1nn.space, 1 f1pr.com, 1 f1report.net, 1 @@ -51840,7 +51863,7 @@ fabriziofaniello.tk, 1 fabriziorocca.it, 1 fabriziorocca.tk, 1 fabrykazabawy1.pl, 1 -fabse.net, 1 +fabse.net, 0 fabseal.de, 1 fabslabour.uk, 1 fabtechexpo.com, 1 @@ -51850,6 +51873,7 @@ fabulouseventsmiami.com, 1 fabulousfarmgirl.com, 1 fabulouslyyouthfulskin.com, 1 fabulouslyyouthfulskineyeserum.com, 1 +faburocks.com, 1 fabuye.cf, 1 fabuye.ga, 1 fabuye.gq, 1 @@ -51888,7 +51912,7 @@ facebylouise.co.uk, 1 facedaily.tk, 1 facedeplook.tk, 1 faceegypt.tk, 1 -faceitsalon.com, 1 +faceitsalon.com, 0 facekhande.tk, 1 facelimousin.fr, 1 facemaze.io, 1 @@ -52089,6 +52113,7 @@ fairyballet.ga, 1 fairydust.space, 1 fairyth.tk, 1 faisia.tk, 1 +faistoilivrer.fr, 1 faithadvisorers.ga, 1 faithadvisorest.ga, 1 faithbulletin.tk, 1 @@ -52133,7 +52158,7 @@ fakescreen.org, 1 faketaxi.com, 1 fakhrudin.tk, 1 fakinga.tk, 1 -fakir-show.nl, 1 +fakir-show.nl, 0 fakt.tk, 1 faktenfaktenfakten.tk, 1 faktotum.tech, 1 @@ -52170,7 +52195,6 @@ falkenthal.org, 1 falkentyre.com, 1 falkus.net, 1 fall.ga, 1 -fallen-evolution.com, 1 fallenangeldrinks.co.uk, 1 fallenangeldrinks.com, 0 fallenangeldrinks.eu, 1 @@ -52178,7 +52202,6 @@ fallenangelspirits.co.uk, 1 fallenangelspirits.com, 1 fallenlondon.wiki, 1 fallenmoons.nl, 1 -fallens-home.de, 1 fallenspirits.co.uk, 1 fallfishtenkara.com, 0 falling.se, 1 @@ -52219,6 +52242,7 @@ famgdigital.com, 1 famigliafiorini.it, 1 familialchercher.tk, 1 familiaperez.net, 0 +familie-fieber.de, 1 familie-keil.de, 1 familie-kruithof.nl, 1 familie-kupschke.de, 1 @@ -52234,6 +52258,7 @@ familiearchivaris.nl, 1 familiebaehr.eu, 1 familiebies.nl, 1 familiedelwicheferrari.tk, 1 +familieholme.de, 1 familiekiekjes.nl, 1 familiekusch.de, 1 familienoase-koenigstein.de, 1 @@ -52308,7 +52333,6 @@ fanera.tk, 1 fanescu.ro, 1 faneuil.com, 1 fanfareokselaar.tk, 1 -fanfareunion.ch, 0 fanfiction.tk, 1 fanflix.co, 1 fang-den-sommer.de, 1 @@ -52317,10 +52341,10 @@ fangbing.me, 1 fangd.net, 1 fangjingdian.com, 1 fangkehou.tk, 1 +fangs.ink, 1 fangshu.com, 1 fanidrakopoulou.tk, 1 fanjingbo.com, 1 -fanmerchstore.com, 1 fanniemaeloans.tk, 1 fanning.tk, 1 fannyips.tk, 1 @@ -52451,11 +52475,11 @@ farizstore.tk, 1 farkas.ws, 1 farleybrass.com.au, 1 farleymetals.com.au, 1 +farlezz.de, 1 farlitesolutions.com, 1 farm-catalog.ga, 1 farm-dogecoin.tk, 1 farm-vacations.com, 1 -farm24.co.uk, 1 farmaceuticainternazionale.it, 1 farmacia.pt, 1 farmaciacomunalelacchiarella.it, 1 @@ -52481,8 +52505,8 @@ farmkazuto.com, 1 farmmaximizer.com, 1 farmocracy.in, 1 farmqa.com, 1 -farmscbdoil.com, 1 farmtogether.com, 1 +farmus-spb.ru, 1 farmvilleva.gov, 1 farnboroughairshow.com, 1 faro-car-hire.co.uk, 1 @@ -52493,6 +52517,7 @@ faroes.org, 1 faroit.tk, 1 faroitalia.it, 1 farol.cz, 1 +faroopen.ddns.net, 1 faros-studio.gr, 1 faroutsolutions.com, 0 farrel-f.cf, 1 @@ -52629,7 +52654,6 @@ fastbob.ga, 1 fastbob.gq, 1 fastbob.ml, 1 fastbob.tk, 1 -fastbuilder.pro, 1 fastcash.com.br, 1 fastcast.ga, 1 fastcats.tk, 1 @@ -52798,6 +52822,7 @@ fb.audio, 1 fb.gg, 1 fb.me, 1 fb.watch, 1 +fbadvokat.no, 1 fbaun.dk, 1 fbausch.de, 1 fbcdn.net, 1 @@ -52814,7 +52839,6 @@ fbihr.gov, 1 fbiic.gov, 1 fbijobs.gov, 1 fbilab.gov, 1 -fbk.moe, 1 fbmedia-ckl.com, 1 fbo.gov, 1 fbo.network, 1 @@ -52866,7 +52890,7 @@ fcsarajevo.tk, 1 fcsic.gov, 1 fcsm.gov, 1 fcts.ml, 1 -fd-telecom.ru, 1 +fcyz.work, 1 fd.gov, 1 fdalawboston.com, 1 fdaregs.com, 1 @@ -52885,7 +52909,6 @@ fdlibre.eu, 1 fdlp.gov, 1 fdlpl.org, 1 fdltcc.edu, 1 -fdmg.nl, 1 fdms.gov, 1 fdnsc.net, 1 fdp-alsdorf.de, 1 @@ -52917,6 +52940,7 @@ feath.net, 1 featherfan.io, 1 feathermc.com, 1 feathersbtq.com, 1 +featherwallet.org, 1 featherweightlabs.com, 1 feature-branch.nl, 1 featured.tk, 1 @@ -53023,6 +53047,7 @@ feedvisor.com, 1 feeg-wage.gc.ca, 1 feegg.com.br, 1 feehla.com, 1 +feei.cn, 1 feek.org, 1 feel-events.com, 1 feel.aero, 1 @@ -53075,7 +53100,6 @@ feildel.fr, 1 feilen.de, 1 feilestrokestown.com, 1 feinform.com, 1 -feip.co, 1 feirlane.org, 0 feiromo.com, 1 feistore.com.tw, 1 @@ -53140,7 +53164,6 @@ feliz.tk, 1 felko-tech.de, 1 fellas.com.tr, 1 fellpony.org, 0 -felmodrj.com, 1 felonymath.com, 1 felonymath.net, 1 felonymath.org, 1 @@ -53177,10 +53200,12 @@ femme.fitness, 1 femmes-women.gc.ca, 1 femmes.gc.ca, 1 femmesaupluriel.com, 1 +femmora.com, 1 femtomind.com, 1 fena.jp, 1 fenagav.ga, 1 fenatrigo.com.br, 1 +fenc.it, 1 fence-stlouis.com, 1 fencebutlers.com, 1 fencekirkwood.com, 1 @@ -53195,7 +53220,6 @@ feng18.vip, 0 feng88.vip, 0 fengchuiyudaqu.ml, 1 fenghuangcheng.tk, 1 -fengmar.com, 1 fengrui.me, 0 fengshuimeta.com, 1 fengyadi.com, 1 @@ -53232,11 +53256,10 @@ feodosiya.tk, 1 fepun.com, 1 ferad.net, 1 feras-alhajjaji.com, 1 -feraz.com.mx, 1 +feraz.com.mx, 0 ferc.gov, 1 ferca.pt, 1 ferchup.com, 1 -ferdi-is.gay, 1 ferenczi.ch, 1 ferestre-bucuresti.ro, 1 fereum.com, 1 @@ -53309,8 +53332,7 @@ ferrada.org, 0 ferrari.com, 1 ferrariadvisor.it, 1 ferrariale.tk, 1 -ferrarichat.fr, 1 -ferreh.com, 1 +ferreh.com, 0 ferreira.ovh, 1 ferreirabordinhao.adv.br, 1 ferreteriaferreiro.com, 1 @@ -53343,10 +53365,8 @@ fertilitytreatmentcenter.com, 1 fertilizers.tk, 1 ferwor.studio, 1 ferydoonzandi.tk, 1 -fes.at, 1 fescuesodsouthernindiana.com, 1 feseev.ml, 1 -fesne.com, 1 festaprylar.se, 1 festar.tk, 1 festasdosenhordocalvario.pt, 1 @@ -53409,7 +53429,6 @@ feuerwehr-solms.de, 1 feuerwehr-vechta.de, 1 feuerwerksmanufaktur.de, 1 feuerwolke.spdns.de, 1 -feuetgloire.com, 0 feurich.tk, 1 fever.ch, 1 fevo.us, 1 @@ -53428,6 +53447,7 @@ feyenoordsite.tk, 1 feyenoordvakz.tk, 1 fezbet.net, 1 fezlee.com, 1 +ff-bad-hoehenstadt.de, 1 ff-bg.xyz, 1 ff-koenigstein-opf.de, 1 ff-obersunzing-niedersunzing.de, 1 @@ -53477,6 +53497,7 @@ ffccc55.com, 1 ffccc66.com, 1 ffccc88.com, 1 ffccc99.com, 1 +ffd.or.id, 1 ffddd00.com, 1 ffddd11.com, 1 ffddd22.com, 1 @@ -53622,12 +53643,12 @@ ffis.me, 0 ffl123.com, 1 fflone.com, 1 ffmradio.de, 1 -ffmv.de, 1 ffn-connect.de, 1 ffnm.org, 1 ffp-survey.com, 1 ffprofile.com, 1 ffrev.de, 1 +ffsbgateway.com, 1 ffsociety.nl, 1 fftech.se, 1 fftechnology.pt, 0 @@ -53749,7 +53770,6 @@ fiddlestickstoys.com.au, 1 fidelapp.com, 1 fidelis-it.ch, 1 fidelis-it.net, 1 -fidelitybank.com.gh, 1 fidelityhomestead.com, 1 fidelitysound.es, 1 fidell.com.ua, 1 @@ -53805,6 +53825,7 @@ fiff.de, 0 fifi.club, 1 fifr.nl, 1 fifthwall.com, 1 +fiftygame.com, 1 fiftynorth.eu, 1 fiftyseven.media, 1 fiftyshadesofgreyfullmovie.ga, 1 @@ -53831,7 +53852,6 @@ figma.com, 1 figmalover.com, 1 figshare.com, 1 figsrugbyleague.com.au, 1 -figura.cz, 1 figuras.tk, 1 figurasdelinguagem.com.br, 1 figure.com, 1 @@ -53843,6 +53863,7 @@ fiilr.com, 1 fiix.io, 1 fija.org, 1 fijibutterflyfishcount.com, 1 +fijiclub.ru, 1 fijimarinas.com, 1 fijiresortforsale.com, 1 fijisharkcount.com, 1 @@ -53851,7 +53872,6 @@ fijnewoensdag.nl, 1 fiken.no, 1 fikirblog.net, 1 fikirtasarim.net, 1 -fikong.com, 1 fikrinet.tk, 1 fikriwildannugraha.com, 1 fiksem-it.nl, 1 @@ -53884,15 +53904,14 @@ fileplanet.com, 1 fileport.io, 1 filequit.xyz, 1 files.com, 0 -files.from-me.org, 1 files.to, 1 -filesense.com, 1 fileservicios.com.ar, 1 fileshare.party, 1 filesharingshop.com, 1 filesoup.io, 1 filestar.io, 1 filestartest.io, 1 +filesuffix.com, 1 filetransfer.one, 1 filezilla-project.org, 1 filhodohomem.com, 1 @@ -53900,6 +53919,7 @@ filhomes.ph, 1 fili.com, 1 filidorwiese.nl, 1 filigrana.tk, 1 +filiienterprise.com, 1 filiio.com, 1 filiotech.com, 1 filiotech.pl, 1 @@ -53925,7 +53945,6 @@ film-storyboards.com, 0 film-storyboards.fr, 0 film-tutorial.com, 1 film.ru, 1 -filmarchiv-sachsen.de, 0 filmatiporno.xxx, 1 filmbabasi.net, 1 filmbasar.com, 1 @@ -53943,6 +53962,7 @@ filmisfun.com, 1 filmisfun.net, 1 filmizleindir.tk, 1 filmkode.com, 1 +filmmarket.pro, 1 filmnet.pl, 1 filmnetz.tk, 1 filmoffice.pl, 1 @@ -53956,7 +53976,6 @@ filmpronet.in, 1 filmsearch.tk, 1 filmserver.de, 1 filmsidan.tk, 1 -filmsite-studio.com, 1 filmsleague.com, 1 filmtheaternieuwegein.tk, 1 filmwallpapers.ml, 1 @@ -54048,7 +54067,6 @@ finansinspektionen.se, 1 finanstilsynet.dk, 1 finansy.tk, 1 finanz-planer.net, 1 -finanzasydinero.com, 1 finanzconsult.org, 1 finanzen-az.com, 1 finanzen-weblog.de, 1 @@ -54073,12 +54091,13 @@ find-mba.com, 1 findahero.com.au, 1 findairconditioningers.ga, 1 findairconditioningest.ga, 1 -findallgames.com, 1 +findallgames.com, 0 findanengineer.com, 1 findapinball.com, 1 findautoloan.ml, 1 findbalancedliving.com, 1 findcanary.com, 1 +findcasinos.net, 1 findcbdoilnearme.com, 1 findcep.com, 0 finddecisionsest.ga, 1 @@ -54094,17 +54113,16 @@ findinggenius.com, 1 findingimagesers.ga, 1 findingimagesest.ga, 1 findingkorea.com, 0 -findingneverlandthemusical.com, 1 findings.co, 1 findingtheuniverse.com, 1 findingturkeyers.ga, 1 finditez.com, 1 +findjeen.com, 1 findlayohio.gov, 1 findlimitsers.ga, 1 findlocalproduce.co.uk, 1 findmail.ga, 1 findmassmoney.gov, 1 -findme.partners, 1 findmentalhealth.co.uk, 1 findmespot.com, 1 findmybottleshop.com.au, 1 @@ -54291,9 +54309,9 @@ fireservicerota.co.uk, 1 fireshellsecurity.team, 1 firesofheaven.org, 1 firesolutionsinc.com, 1 +firesprite.com, 1 firestart.tk, 1 firestarter.fi, 1 -firestickhacks.com, 1 firestuff.org, 1 firetotheprisons.org, 1 firetrunk.com, 1 @@ -54364,9 +54382,9 @@ firstdent.ro, 1 firstdry.com.br, 1 firstechpayments.com, 0 firstfinanceit.com, 1 -firstfinca.de, 1 firstgov.gov, 1 firstgradeframeofmind.com, 1 +firsthomebuyersaustralia.com.au, 1 firstimpressionsecuritydoors.com, 1 firstlab.com, 1 firstlayout.net, 1 @@ -54387,6 +54405,7 @@ firstplace.ga, 1 firstq.xyz, 1 firstqa.com, 1 firstresponder.gov, 1 +firstresponderprotectiveservices.com, 1 firstserviceplumbing.com, 1 firstshowing.net, 1 firstsiteguide.tk, 1 @@ -54453,8 +54472,6 @@ fishystuff.cf, 1 fisinfomanagerdr.com, 1 fisio-clinics.com, 1 fisiobox.eu, 1 -fisiodomiciliargoiania.com.br, 1 -fisionutri.com.br, 1 fisioterapia-online.com, 1 fisioterapiaalquimia.com, 1 fisioterapialanchares.com, 1 @@ -54494,7 +54511,6 @@ fite.family, 0 fitecleaningservices.com, 1 fitekin.com, 1 fitequilibrio.com.br, 1 -fiteveryday.co.uk, 1 fitflaop.ga, 1 fitfocusau.com.au, 1 fitfoodfab.nl, 1 @@ -54524,11 +54540,9 @@ fitnessunder50.com, 1 fitnessup.fr, 1 fitnessupay.com, 1 fitnessupreme.com, 1 -fitnessvocab.com, 1 fitnessvolt.com, 1 fitnetion.com, 1 fitnhot.com, 1 -fitnur.com, 1 fitnutkatie.com, 1 fitnutricode.pt, 1 fito.tk, 1 @@ -54548,7 +54562,6 @@ five.sh, 1 fiveboosts.xyz, 1 fivecrm.com, 1 fivefortheroad.com, 1 -fivegraces.com, 1 fiveminute.tk, 1 fivemm.shop, 1 fivemods.io, 1 @@ -54634,6 +54647,8 @@ fjerhammer.dk, 1 fjharcu.com, 1 fjkl.uk, 1 fjnuacm.top, 1 +fjordbank.ee, 1 +fjordbank.lt, 1 fjordboge.dk, 1 fjordenpaard.tk, 1 fjordtorsk.se, 1 @@ -54661,7 +54676,6 @@ flacsoandes.edu.ec, 1 fladnag.net, 1 flaeskeklubben.dk, 1 flaeskeklubben.eu, 1 -flagburningworld.com, 1 flagcdn.com, 1 flagfox.net, 1 flaggorvarlden.se, 1 @@ -54730,7 +54744,6 @@ flarewalker.com, 1 flarewalker.eu, 1 flarewalker.net, 1 flarewalker.org, 1 -flareweb.it, 1 flart.studio, 1 flart.tk, 1 flarumtr.com, 1 @@ -54762,6 +54775,7 @@ flat-cdn.com, 1 flat-embed.com, 1 flat-tire.biz, 1 flat.io, 1 +flat3fowey.co.uk, 1 flatart.pl, 1 flatbellyreview.com, 1 flatbook.one, 1 @@ -54813,7 +54827,7 @@ fleche-ardennaise.be, 1 flect.net, 1 fleeb.xyz, 1 fleep.io, 1 -fleeps.co, 0 +fleeps.co, 1 fleesty.dynv6.net, 1 fleet-group.com, 1 fleet-search.com, 1 @@ -54868,7 +54882,6 @@ flevoland.nl, 1 flex-one.fr, 1 flex1solutions.com, 1 flexalert.org, 1 -flexapplications.se, 1 flexartsocial.com, 1 flexbpo.com.br, 1 flexcube.ch, 1 @@ -54909,7 +54922,6 @@ flfl.de, 1 flgaming.gov, 1 flhealthcharts.gov, 1 fliacuello.com.ar, 1 -flibanserina.com, 1 flicerdowneh.cf, 1 flickcritter.com, 1 flickdirect.com, 1 @@ -54920,6 +54932,7 @@ flicks2click.com, 1 flie.co.jp, 1 flieger-funk-runde.de, 1 fliesen-waldschmidt.de, 1 +fliesenbock.com, 1 flight.school, 1 flightacademy-memmingen.com, 1 flightairport.com, 1 @@ -55077,7 +55090,6 @@ florian-knorn.com, 1 florian-puschmann.de, 1 florian-thie.de, 1 florian2833z.de, 1 -florianartisans.com, 1 florianbecker.it, 1 florianbouchet.fr, 1 floriankarmen.com, 1 @@ -55115,7 +55127,6 @@ floridastatefair.com, 1 floridastatefair.net, 1 floridastatefairag.com, 1 floridastatefairauthority.com, 1 -floridasturnpike.com, 1 floridaweightlossdoctors.com, 1 floriebriand.com, 0 floriimorii.tk, 1 @@ -55155,7 +55166,6 @@ flowercare.tk, 1 flowercityflavor.com, 0 flowerdelivery.tk, 1 flowerdesign.tk, 1 -flowerhub.com.au, 1 flowermound.gov, 1 flowerpassword.com, 1 flowerpictures.tk, 1 @@ -55164,7 +55174,6 @@ flowers-shops.tk, 1 flowers.sumy.ua, 1 flowers2moscow.com, 1 flowersbylegacy.com, 1 -flowerscaffe.com, 1 flowersquito.com, 1 flowerstateest.ga, 1 flowerstopetersburg.com, 1 @@ -55174,7 +55183,6 @@ flowerwholesale.com, 1 flowfest.com, 1 flowgate.net, 1 flowgo.tk, 1 -flowhcm.com, 1 flowheater.net, 1 flowhopper.com, 1 flowinformer.com, 1 @@ -55203,7 +55211,6 @@ floydcountyga.gov, 1 floydcova.gov, 1 floydsofleadville.com, 1 floyt.com, 1 -flp-pushkar.info, 1 flpd.gov, 1 flpd6.gov, 1 flra.gov, 1 @@ -55285,6 +55292,7 @@ flygexpo.tk, 1 flygforsening.se, 1 flygon.pink, 1 flygplanering.se, 1 +flyhajjumrahtours.com, 1 flyhealthy.gov, 1 flying-angels.tk, 1 flying-dudes.de, 1 @@ -55391,6 +55399,8 @@ fnscatania.tk, 1 fnwiki.com, 1 fnz.com, 1 foair.me, 0 +foairbus.fr, 0 +foairbussas.fr, 0 foamfortress.tk, 1 foard.biz, 1 foard.us, 1 @@ -55413,7 +55423,6 @@ focusdemolition.com.au, 1 focusgroup.tk, 1 focushm.com, 1 focusministries1.org, 1 -focusnews.in, 1 focusoptimization.com, 1 focusphotobooths.com, 1 focusphotography.net, 1 @@ -55477,7 +55486,6 @@ folkweb.net, 1 follandviolins.com, 1 follow-the-leader.tk, 1 follower98.ir, 1 -followgrown.com, 1 followlearning.com, 1 followme.com, 1 followmystaff.com, 1 @@ -55486,7 +55494,6 @@ followsbuy.com, 1 followthatpage.com, 1 followthecult.de, 1 followtheevidence.me, 1 -followthepin.com, 1 follygardens.com, 1 folszyb.pl, 1 foluomeng.net, 1 @@ -55593,7 +55600,6 @@ foodfalcon.ga, 1 foodfeature.ga, 1 foodfirefriends.com, 1 foodflower.ga, 1 -foodfriek.nl, 1 foodgecko.ga, 1 foodglamour.ga, 1 foodglory.ga, 1 @@ -55717,12 +55723,10 @@ fooster.io, 1 foot-direct.com, 1 foot.fr, 1 foot2rue.tk, 1 -foot4live.com, 1 footasse.com, 1 football-news.gq, 1 football-world.tk, 1 footballcelebrationsers.ga, 1 -footballexpress.co.uk, 1 footballforum.de, 1 footballfoundation.org.uk, 1 footballmessi.tk, 1 @@ -55738,11 +55742,12 @@ footdoctorpodiatristnyc.com, 1 footloose.co.uk, 1 footmercato.net, 1 footparisien.com, 1 -footstepsinthegambia.com, 1 foottube.com, 1 footvillewi.gov, 1 footwear-catalogue.tk, 1 footytalk.tk, 1 +foox.style, 1 +for-mary.com, 1 for-testing.tk, 1 for.care, 1 for.gd, 1 @@ -55753,7 +55758,6 @@ foray-jero.me, 1 foraz.tk, 1 forberedt.no, 1 forbes.com, 1 -forbeser.com, 1 forbiddenhistory.info, 1 forbiddenshelf.com, 1 forbole.com, 1 @@ -55781,7 +55785,6 @@ forcewaterproofing.com, 1 forchildren.tk, 1 ford-mustang.tk, 1 ford-shop.by, 1 -fordeetv.com, 1 fordlibrarymuseum.gov, 1 fordpartsgiant.com, 1 fordpartsprime.com, 1 @@ -55817,6 +55820,7 @@ forest-cl.com, 1 forest-remote-control.com, 1 forest-soft.xyz, 1 forestairllc.com, 1 +forestale.online, 1 forestcermegresik.com, 1 forestcountypa.gov, 1 forestdeclaration.org, 1 @@ -55824,6 +55828,7 @@ forestersfriendlysociety.co.uk, 1 foresthaven.tk, 1 forestparkga.gov, 1 forestraven.net, 1 +forestsandrangelands.gov, 1 forestsprings.com.au, 1 forestsystems.com, 1 foresttownrcwi.gov, 1 @@ -55842,7 +55847,6 @@ forex-trading-tutorial.tk, 1 forex-up.cf, 1 forex.ee, 1 forexbrokerinspect.com, 1 -forexchef.de, 1 forexcity.cf, 1 forexcomreview.co, 1 forexee.com, 1 @@ -55881,7 +55885,6 @@ forhims.co.uk, 1 forhosting.nl, 1 forix.agency, 1 forixcommerce.com, 1 -forixecommerce.com, 1 forixseo.com, 1 fork-portal.ml, 1 forkfeeds.com, 1 @@ -55897,7 +55900,6 @@ formafantasma.com, 1 formalgrammar.tk, 1 formalistgallery.com, 1 formality.de, 1 -formality.one, 0 forman.store, 1 formand.ru, 1 formapi.io, 1 @@ -55923,6 +55925,7 @@ formidium.com, 1 formingequipment.tk, 1 formini.dz, 1 formio.nl, 1 +formiti.com, 1 formodernkids.com, 1 formommiesbymommy.com, 1 formopinionest.ga, 1 @@ -55941,7 +55944,6 @@ formulasguimaraes.com, 1 formulastudent.de, 1 formulaveevictoria.com.au, 1 formup.com.pl, 1 -formworkcontractorssydney.com, 1 fornarisandres.com, 1 fornata.it, 1 fornaxmall.com, 1 @@ -56061,6 +56063,7 @@ forum-goszakaz.ru, 1 forum-kinozal-tv.appspot.com, 1 forum-mercury.tk, 1 forum-noginska.tk, 1 +forum-peugeot.com, 1 forum-reklamowe.cf, 1 forum-tutorapide.ml, 1 forum-tw.tk, 1 @@ -56100,6 +56103,7 @@ forumtruthest.ga, 1 forumtv.pro, 1 forumvardbyggnad.se, 1 forve.cf, 1 +forvisualdesign.com, 0 forward-fly-fishing.ch, 0 forward-proxy.email, 1 forward.lc, 1 @@ -56153,6 +56157,8 @@ fotoatis.biz, 1 fotoballon.com, 1 fotoblog.nrw, 1 fotobodyart.nl, 1 +fotobrb.de, 1 +fotobringer.de, 1 fotobrinke.de, 1 fotochip.tk, 1 fotocoach.pl, 1 @@ -56165,11 +56171,11 @@ fotofon.tk, 1 fotofreunde-telegram.eu, 1 fotograf-mario.de, 1 fotograf-website.de, 1 -fotografechristha.nl, 1 fotografessa.pl, 1 fotografiadellalucerossa.com, 1 fotografiamakro.pl, 1 fotografiarte.com.es, 1 +fotografie-herzseeligkeit.de, 1 fotografies.tk, 1 fotografija.tk, 1 fotografoivanalmeida.com.br, 1 @@ -56184,6 +56190,7 @@ fotoleitner.de, 1 fotomodel.cf, 1 fotomodels.tk, 1 fotomonza.com, 1 +fotonippon.com, 1 fotontechnik.pl, 1 fotonza.ru, 1 fotoobraznaplatne.sk, 1 @@ -56218,7 +56225,6 @@ foulabook.com, 1 found.com, 1 found.website, 1 foundationassure.com, 1 -foundationdevices.com, 1 foundationmaintenance.com, 1 foundationprogramme.nhs.uk, 1 foundationrepairannarbor.com, 0 @@ -56236,8 +56242,10 @@ foundland.com, 1 foundrehotels.com, 1 foundries.io, 1 foundsounds.me, 1 +fountain.company, 1 fountainco.gov, 1 fountainvalley.gov, 1 +fountainvalleyseniorcare.us, 1 fourashesgolfcentre.uk, 1 fourbrothers.tk, 1 fourcask.com, 1 @@ -56304,11 +56312,9 @@ foxscribbler.com, 1 foxstreetcomms.co.za, 0 foxstyle.gq, 1 foxtransportables.com.au, 1 -foxtravelnews.com, 1 foxtrials.com, 1 foxtrotcharlie.ovh, 1 foxtrotfm.tk, 1 -foxtwomodels.com, 1 foxus.lt, 1 foxxylove.net, 1 foxycredit.com, 1 @@ -56316,6 +56322,7 @@ foxygf.com, 1 foxytubes.com, 1 foyale.io, 1 foylelegal.com, 1 +fozzels.com, 1 fozzie.co.uk, 1 fozzie.space, 1 fpalzira.es, 1 @@ -56361,7 +56368,7 @@ fracreazioni.it, 1 fractieplanner.nl, 1 fraction-calculations.com, 1 fractionalciso.com, 1 -fractionalseo.net, 1 +fractionalseo.net, 0 fracturedfx.com, 1 fracturedperspective.com, 1 fraeuleinmeerbackt.de, 1 @@ -56371,7 +56378,6 @@ fragclub.tk, 1 fragdenstaat.de, 1 frageboegen-martini-klinik.de, 1 fragilesolar.cf, 1 -fragmanhotel.com, 1 fragment.com, 1 fragmentation.ml, 1 fragments.ga, 1 @@ -56462,7 +56468,6 @@ fran.cr, 1 francabellarsi.tk, 1 francaispornofilm.com, 1 france-cartouches.fr, 1 -france-cyber-maritime.eu, 1 france-hotellerie-restauration.com, 1 france-news.cf, 1 france-orchidees.org, 1 @@ -56487,6 +56492,7 @@ francescosbistro.com, 1 francescosiciliano.tk, 1 francesfluente.cf, 1 franceskivillas.tk, 1 +franceterritoires.com, 1 francetraceur.fr, 1 franchini.email, 1 franchini.engineer, 1 @@ -56506,8 +56512,6 @@ francishouserecovery.org, 1 francisplaza.com, 1 franckgirard.net, 1 francocasimirri.tk, 1 -francodev.com, 1 -francodev.com.br, 1 francoexpeditionperu.com, 1 francofunghi.tk, 1 francois-occasions.be, 1 @@ -56520,7 +56524,6 @@ francoislaude.fr, 1 francoislepage.com, 0 franconia.space, 1 francosuaga.es, 1 -francotecnologia.com, 1 francotecnologia.com.br, 1 francovital.com, 1 francoz.me, 1 @@ -56624,7 +56627,6 @@ frasesparaface.com.br, 1 frasestop.com, 1 frasestop.com.br, 1 frasesytarjetas.com, 1 -frasicelebri.it, 1 fratellisbt.it, 1 fratelliscarrone.com, 1 fratellistomboli.it, 1 @@ -56706,7 +56708,6 @@ freddieleeman.nl, 1 freddieonfire.tk, 0 freddo.tk, 1 freddyhasderyk.tk, 1 -freddyhirsch.com.ng, 1 freddyjs.com, 1 freddythechick.net, 1 freddyvasquez.com, 1 @@ -56743,8 +56744,6 @@ free-lancer.ml, 1 free-nation.tk, 1 free-obmen.ml, 1 free-ppp.jp, 1 -free-printablehq.com, 1 -free-printablemap.com, 1 free-quotes.info, 1 free-rein.net, 1 free-seo.ml, 1 @@ -56754,7 +56753,6 @@ free-ss.site, 1 free-tarot.net, 1 free-watching.ga, 1 free-webtv.tk, 1 -free.com.tw, 1 free4allsw.com, 1 free6to12yo.gq, 1 free8.xyz, 1 @@ -56786,7 +56784,6 @@ freebsd.la, 1 freebsd.me, 1 freebsdbrasil.com.br, 1 freebus.org, 1 -freebusinessideas.net, 1 freecam-sex.com, 1 freecam2cam.site, 1 freecatz.pe.kr, 1 @@ -56798,7 +56795,6 @@ freecodenew.com, 1 freecorner.tk, 1 freecottage.fr, 1 freecoursepage.net, 1 -freecourseweb.com, 1 freecrypt.ga, 1 freedatesite.ml, 1 freedatesites.cf, 1 @@ -56806,7 +56802,6 @@ freedatingonline.ml, 1 freedeals4u.ga, 1 freedev.cz, 1 freedgb.com, 1 -freediomatiq.com, 0 freedirectory.tk, 1 freedogecrypt.tk, 1 freedom-substitute.fr, 1 @@ -56825,7 +56820,6 @@ freedomisslavery.tk, 1 freedomkiaparts.com, 1 freedomonline.bg, 1 freedomonthenet.org, 1 -freedomperception.com, 1 freedomsaukwi.gov, 1 freedomscam.com, 1 freedomtoolkit.com, 1 @@ -57015,7 +57009,7 @@ freizeitplaza.de, 1 frejasdal.dk, 1 frekans.tk, 1 frekat.tk, 1 -fremdlymarketing.com, 0 +fremdlymarketing.com, 1 fremontcountyco.gov, 1 fremontcountyia.gov, 1 fremontcountyid.gov, 1 @@ -57028,7 +57022,7 @@ frences.tk, 1 french.tk, 1 frenchbluecottage.com, 1 frenchcreekcog.org, 1 -frenchcreekroofing.com, 1 +frenchcreekroofing.com, 0 frenchdays.fr, 1 frenchieskingdom.com, 1 frenchmac.com, 1 @@ -57037,6 +57031,7 @@ frenchvandal.com, 0 frendamos-roleplay.ml, 1 frendle.tech, 1 frenetic.lv, 1 +frenger.co.nz, 1 frenger.co.uk, 1 frenger.com.au, 1 frente-popular.tk, 1 @@ -57070,7 +57065,6 @@ freshersworld.ml, 1 fresherwalkins.tk, 1 freshfinder.com.au, 0 freshfishdelivery.com, 1 -freshgreenhouse.net, 1 freshhosting.tk, 1 freshinsport.fr, 1 freshjoomlatemplates.com, 1 @@ -57079,8 +57073,6 @@ freshmail.pl, 0 freshman.tech, 1 freshmans-pizza.de, 1 freshmusicsheets.com, 1 -freshpatio.com, 1 -freshplus62.com, 0 freshporno.net, 1 freshpounds.com, 1 freshproducemusic.tk, 1 @@ -57164,7 +57156,6 @@ friendsofthehoneybee.org, 1 friendsofthehoneybee.org.uk, 1 friendsofthehoneybee.uk, 1 friendsoftheriverfront.org, 1 -friendsonline.com, 1 friendsonline.tk, 1 friendspoint.tk, 1 friendsvilletn.gov, 1 @@ -57195,6 +57186,7 @@ frillip.com, 0 fringeintravel.com, 1 frinkiac.com, 1 frino.de, 1 +frioelectrica.com, 1 friplay.host, 1 fripoune.fr, 1 fripper.tk, 1 @@ -57203,6 +57195,7 @@ frisaga.me, 1 frisaga.net, 1 frisaga.org, 1 frisaga.travel, 1 +frisby515.com, 1 friseur-foerder.de, 1 friseur.website, 1 friseure-website.de, 1 @@ -57274,7 +57267,7 @@ fronteimoveis.com.br, 1 fronterasblog.tk, 1 frontier.bet, 1 frontierbrasil.tk, 1 -frontierclimate.com, 0 +frontierclimate.com, 1 frontiernav.net, 1 frontiernetworks.co.uk, 1 frontiers.nl, 1 @@ -57288,7 +57281,6 @@ frontrunneragency.com, 1 froogo.co.uk, 1 frosinonetoday.it, 1 frosoku.com, 1 -frostedgame.xyz, 1 frostexpert.ru, 1 frostfire.tk, 1 frostplatform.com, 1 @@ -57396,6 +57388,7 @@ fsinf.at, 1 fsinsight.com, 1 fsk.fo, 0 fsky.info, 1 +fsma.org.pl, 1 fsma.pl, 1 fsmi.in, 1 fsnb.com, 1 @@ -57430,7 +57423,6 @@ fstpn.uk, 1 fsty.uk, 1 fsub.de, 1 fsvoboda.cz, 1 -fsvt.ch, 0 fsxxi.com, 1 ft.com, 0 ftang.de, 1 @@ -57470,7 +57462,6 @@ fu110.de, 1 fu666.de, 1 fu898.top, 1 fuantaishenhaimuli.net, 1 -fuas.cl, 1 fucajz.cz, 1 fuchs-informatik.de, 1 fuchsy.com, 1 @@ -57478,6 +57469,7 @@ fuciam.com.co, 1 fuck-your-false-positive.de, 1 fuckar.ch, 1 fuckcf.cf, 1 +fuckebayscalpers.com, 1 fuckedintraffic.com, 1 fuckimm.com, 1 fucknazis.cf, 1 @@ -57568,7 +57560,6 @@ fuiveningent.be, 1 fujianshipbuilding.com, 1 fujieb.com, 1 fujifilm-connect.com, 1 -fujijin.co.jp, 1 fujikatu.tk, 1 fujikochan.tk, 1 fujimurado.com, 1 @@ -57604,7 +57595,7 @@ fullaw.in, 1 fullblast.tk, 1 fullbulla.tk, 1 fullbundle.com, 1 -fullcirclestudio.nl, 1 +fullcirclestudio.nl, 0 fullcolors7.com, 1 fulldw.com, 1 fullerlife.org.uk, 1 @@ -57618,6 +57609,7 @@ fullhub.ru, 1 fullinsiderers.ga, 1 fullinsiderest.ga, 1 fullintel.com, 1 +fullmetalbrackets.com, 1 fullmetalconsulting.tk, 1 fullmoondesignhouse.tk, 1 fullmoonhentai.tk, 1 @@ -57637,7 +57629,9 @@ fultoncountyky.gov, 1 fultondaleal.gov, 1 fulup.com, 1 fulyayurdumetin.com, 1 +fumantwo.com, 1 fumblers.ca, 1 +fumerolles.ch, 0 fumerx.com, 1 fumify.tk, 1 fumilink.com, 1 @@ -57703,7 +57697,6 @@ funeralforafriend.tk, 1 funeralshowers.ga, 1 funeralshowest.ga, 1 funerare-cazacu.com, 1 -funerare24.ro, 1 funerariaalarcon.cl, 1 funfactorleeds.co.uk, 1 funfacts.cz, 1 @@ -57787,6 +57780,7 @@ funktionel.co, 1 funktionevents.co.uk, 1 funky-emulation.net, 1 funkydealz.no, 1 +funkyfishbone.nl, 1 funkyflo.tk, 1 funkysims.tk, 1 funline.tk, 1 @@ -57892,7 +57886,6 @@ furnitureforlifeboulder.com, 1 furniturefromthebarn.com, 1 furnitureproduction.tk, 1 furnituresolutions.tk, 1 -furniturestrends.com, 1 furnu.org, 1 furorcanario.tk, 1 furoretferrum.tk, 1 @@ -57903,7 +57896,6 @@ furry.codes, 1 furry.cool, 1 furry.dk, 1 furry.gay, 1 -furrybot.co, 1 furrycdn.org, 1 furrycraft.ga, 1 furrytech.network, 1 @@ -57928,7 +57920,6 @@ furtodoit.com, 1 furu-sato.com, 1 furukawabenn.com, 1 furuse-shika.com, 1 -furuy.com, 0 furuyadc.com, 1 furworks.de, 1 furyalexmichaelides.com, 1 @@ -57964,8 +57955,6 @@ fussball-xxl.de, 1 fussballmanager.de, 1 fussballpiraten.com, 1 fussballtransfers.com, 1 -fussboden-manufaktur.de, 0 -fussbodenmanufaktur.de, 0 fussell.io, 1 fussfetisch.tk, 1 fussy.ee, 1 @@ -58038,13 +58027,13 @@ futuresonline.com, 0 futuresound.tk, 1 futurestyletiling.com.au, 1 futuretechtrends.co.uk, 1 -futurethinkers.org, 1 futureville.city, 1 futurewithoutfear.com, 1 futurewithoutfear.org, 1 futurewithoutfear.us, 1 futureyouhealth.com, 1 futurezone.at, 1 +futurist.global, 1 futuristicarchitectures.tk, 1 futuristicjobs.sk, 1 futurity.ml, 1 @@ -58124,7 +58113,6 @@ fxcmzh.com, 1 fxcopierpro.com, 1 fxeuropa.com, 1 fxexplained.co.uk, 1 -fxgame.online, 1 fxiaoke.com, 1 fxislamic.com, 1 fxnotch.com, 1 @@ -58148,6 +58136,7 @@ fxtalk.cn, 0 fxtrade-lab.com, 1 fxtwitter.com, 1 fxwebstudio.com.au, 0 +fxzj.com, 1 fydjbsd.cn, 1 fyfywka.com, 1 fyllehack.se, 1 @@ -58192,6 +58181,7 @@ g-printec.com, 1 g-rom.net, 1 g-sp.azurewebsites.net, 1 g-tea.ml, 1 +g.box, 1 g.co, 0 g00228.com, 1 g01.in.ua, 1 @@ -58216,7 +58206,6 @@ g3d.ro, 1 g3hardcore.tk, 1 g3homefoods.com, 1 g47.web.id, 1 -g4v.in, 1 g4w.co, 1 g5.gov, 1 g51365.com, 1 @@ -58309,7 +58298,6 @@ gadalkindom.ru, 1 gadanie.cf, 1 gadanie.ml, 1 gadatel.ml, 1 -gaddiblog.com, 1 gaddini.it, 1 gadecs.com, 1 gadget-freak.cf, 1 @@ -58318,7 +58306,6 @@ gadget-tips.com, 1 gadgetflashers.ga, 1 gadgetflip.com, 1 gadgetfreak.cf, 1 -gadgetgalaxy.ro, 1 gadgetgi.ga, 1 gadgetguideonline.com, 1 gadgethacks.com, 1 @@ -58329,6 +58316,7 @@ gadgetmaker.tk, 1 gadgetmaniac.tk, 1 gadgets-cars.com.es, 1 gadgets-mall.com, 1 +gadgets4all.pt, 0 gadgetsandwearables.com, 1 gadgetsgigabytesandgoodwill.com, 1 gadgetshome.ml, 1 @@ -58360,7 +58348,6 @@ gagnerenfant.tk, 1 gagor.pl, 0 gagramore.cf, 1 gagygnole.ch, 0 -gaheztexab.com, 1 gaiafood.co, 1 gaijin.network, 1 gailfellowsphotography.com, 1 @@ -58406,7 +58393,6 @@ galasin.ga, 1 galatabazaar.com, 1 galavanmoskou.tk, 1 galaw.gov, 1 -galax.tech, 1 galax.us, 1 galaxieblog.com.my, 0 galaxit.ch, 1 @@ -58478,6 +58464,7 @@ gallagherperformance.com, 1 gallaghertownshippa.gov, 1 gallant.tk, 1 gallatinhousecleaning.com, 1 +gallbladder.sg, 1 galle.cz, 1 galleonwaymedical.com.au, 1 galleriacontinua.com, 1 @@ -58512,6 +58499,7 @@ galvingao.com, 1 galvinism.ink, 1 galwaytooughterardgreenway.ie, 1 galwew.ga, 1 +gama.al, 1 gamadomesticos.com, 1 gamagam.gq, 1 gamalawadforum.tk, 1 @@ -58543,6 +58531,7 @@ game-dominion.tk, 1 game-files.net, 0 game-gentle.com, 1 game-net.ml, 1 +game-plex.com, 1 game-repack.site, 1 game.es, 1 game.gal, 1 @@ -58580,6 +58569,7 @@ gameflip.com, 1 gamefoster.com, 1 gamefreek.tk, 1 gamegainlx.cf, 1 +gamegalaxy.games, 1 gamegear.club, 0 gamegix.com, 1 gamegoddess.cf, 1 @@ -58607,7 +58597,6 @@ gamenew.tk, 1 gameofbooks.de, 1 gameonespirit.tk, 1 gameoveronline.tk, 1 -gamepad.com.br, 1 gameplaysforkids.com, 1 gameplus.win, 1 gamepokies.ml, 1 @@ -58715,8 +58704,10 @@ gaming-life.tk, 1 gaming-news.tk, 1 gaming-online.tk, 1 gamingaktier.com, 1 +gamingalmanac.com, 1 gamingblogx.com, 1 gamingboard.eu, 1 +gamingchairmaster.com, 1 gamingdirectory.com, 1 gamingdose.com, 1 gamingerox.com, 1 @@ -58754,7 +58745,6 @@ gammonvillage.com, 1 gamrenovation.ca, 1 gamv.eu, 1 gan.wtf, 1 -ganado.org, 0 ganaha.org, 1 ganardinerillo.tk, 1 ganasoku.net, 1 @@ -58808,6 +58798,7 @@ garage15.com.ua, 1 garagechief.com, 1 garagedejan.ch, 1 garagedoorrepaircedarhilltx.com, 1 +garagedoors4less-sanantonio.com, 1 garageenginuity.com, 1 garagemhermetica.org, 1 garagen-crew.de, 1 @@ -58966,11 +58957,11 @@ gastroenterologen.no, 1 gastrolab.tk, 1 gastromedicalcenter.com.br, 1 gastronom.ga, 1 +gastronomiaaz.com, 1 gastronomias.com.pt, 1 gastrosfera.info, 1 gastrotiger.at, 1 gastrotiger.de, 1 -gatachic.com.br, 1 gatapro.net, 0 gate.sc, 1 gate2home.com, 1 @@ -59062,6 +59053,7 @@ gaytorrent.ru, 1 gaytubec.com, 1 gayuhtri.my.id, 1 gayukai.net, 1 +gaz-connect.ru, 1 gazapos.ga, 1 gazaryan.tk, 1 gazbonicacidmc.ga, 1 @@ -59083,7 +59075,6 @@ gb-repair.com, 1 gba.ge, 1 gba.gob.ar, 1 gbatroid.com, 1 -gbcdigitalmarketing.com, 1 gbcomm.tk, 1 gbcsummercamps.com, 1 gbdavisplasticsurgery.com, 1 @@ -59124,13 +59115,11 @@ gcautodeals.com, 1 gcb.com.my, 1 gcbit.dk, 1 gcc-globalclimatechange.com, 0 -gccfoodstuff.com, 0 gcdamp.gov, 1 gcfadvisors.com, 1 gcgeeks.com.au, 1 gcgroup.io, 1 gchp.ie, 0 -gchq.lol, 1 gchq.wtf, 1 gclegal.com.au, 1 gclpower.com, 1 @@ -59215,7 +59204,6 @@ geauxdns.com, 1 geba-online.de, 1 gebaeude-braun.de, 1 gebaeudebilanzierung.de, 1 -gebaeudeklima-schweiz.ch, 1 gebeliktakibim.com, 1 geben.digital, 1 gebhardtinsurancegroup.com, 1 @@ -59301,7 +59289,6 @@ geekystudios.us, 1 geekz.sk, 1 geekzone.co.nz, 1 geekzone.fr, 1 -geekzuprepairs.com, 1 geelaeden.de, 1 geele.co.th, 1 geemprestimos.com, 1 @@ -59360,6 +59347,9 @@ geleia-real.com, 1 geli-graphics.com, 1 gelijk.cf, 1 gelisimakademi.com.tr, 1 +gelkanet.hu, 1 +gellenhaza.hu, 1 +gellenhazikozoshivatal.hu, 1 gellis12.com, 1 gelmostop.tk, 1 geloft.cf, 1 @@ -59387,14 +59377,12 @@ gembet99.com, 1 gemeentehub.nl, 1 gemeentestein.nl, 1 gemeinde-luederitz.de, 1 -gemeinde-sonnen.de, 1 gemeinderatswahl2020.de, 1 gemeinfreie-lieder.de, 1 gemelen.net, 1 gemforex.pro, 1 gemforex.top, 1 gemgroups.in, 1 -gemik.com, 1 gemini.com, 1 geminicorp.be, 0 geminifm.tk, 1 @@ -59421,7 +59409,7 @@ gend.work, 1 gender-summit.com, 1 gendergp.com, 1 genderidentiteit.nl, 1 -genderrevealshop.nl, 1 +genderrevealshop.nl, 0 gendrin.com, 1 gendundrupa.ch, 0 gene-drive.com, 1 @@ -59526,6 +59514,7 @@ genesisgrade.com, 1 genesismachina.ca, 1 genesisplay.tk, 1 genesistoday.org, 1 +genesiswurmclassic.com, 1 genesys-uk.com, 1 genetargetsolutions.com.au, 1 genetidyne.com, 1 @@ -59541,6 +59530,7 @@ geneve.guide, 1 genfaerd.dk, 1 gengcerita.tk, 1 genghan.com, 1 +gengra.com, 1 genia-life.de, 1 genial.ly, 1 genie.tk, 1 @@ -59551,7 +59541,6 @@ geniofinanciero.org, 1 genioideal.com, 1 geniosport.com, 1 genious.co, 1 -genious.world, 1 genioyfigura.tk, 1 geniusclan.tk, 1 geniuses.gq, 1 @@ -59569,7 +59558,6 @@ geno-hyp.de, 1 geno-hypo.de, 1 geno4links.ml, 1 genocidediary.org, 1 -genocideofua.org, 1 genodeftest.de, 1 genohyp.com, 1 genohyp.de, 1 @@ -59604,7 +59592,6 @@ gensleiten.de, 1 genslerapps.com, 1 genslerwisp.com, 1 gensokyo.cafe, 1 -gensokyo.chat, 0 gensokyo.re, 1 gensolarenergy.com, 1 gensonline.eu, 1 @@ -59682,7 +59669,6 @@ genusbag.com, 1 genutax.ca, 1 genuxtsg.com, 1 genxreviewest.ga, 1 -genzdx.xyz, 1 genzia.ga, 1 geo-files.tk, 1 geo-industrie.fr, 1 @@ -59703,6 +59689,7 @@ geoconvention.ga, 1 geodatasource.com, 1 geodesic-tents.com, 1 geodesign.tk, 1 +geodesist-msk.ru, 1 geoenvironconsult.ga, 1 geofabrika.ru, 1 geoffanderinmyers.com, 1 @@ -59752,6 +59739,7 @@ geopoetico.tk, 1 geoponika.gr, 1 georadar-algerie.com, 1 georg-ledermann.de, 1 +georg-riepe.de, 1 george-brighton.co.uk, 1 george-orwell.com, 1 george.black, 1 @@ -59815,12 +59803,13 @@ geosever.cz, 1 geosno.com, 1 geospecialsers.ga, 1 geostems.com, 1 -geoswohnen.de, 1 geotabgov.us, 1 +geoteach.org, 1 geotec-weilrod.de, 1 geotech.tk, 1 geotextil.ec, 1 geothermalproducts.info, 1 +geotrencher.com.au, 1 geotrust.com.ru, 1 geotruth.net, 1 geourl.me, 1 @@ -59860,7 +59849,6 @@ gerinet.pl, 1 gerkevangarderen.nl, 1 germain.cc, 1 germaintechnologies.com, 1 -german242.com, 1 germanclarkoh.gov, 1 germancoding.com, 1 germancoding.de, 1 @@ -59875,7 +59863,6 @@ germanpavilion.com, 1 germanpay.com, 1 germanrojas.ga, 1 germansoldiers.net, 1 -germanssky.de, 1 germantolobis.lt, 1 germantownpolicewi.gov, 1 germantownwi.gov, 1 @@ -59884,7 +59871,6 @@ germanymade.com, 1 germanypay.com, 1 germanytravel.ga, 1 germanytravelguide.ml, 1 -germanzero-nv.de, 1 germfr.ee, 1 germinalekeren.tk, 1 germistry.com, 1 @@ -59969,7 +59955,6 @@ getawaycab.tk, 1 getawayline.com, 1 getback.ch, 1 getbellhop.co, 1 -getbodysmart.com, 1 getboomerangwater.com, 1 getbootstrap.com, 1 getboubou.com, 1 @@ -59980,6 +59965,7 @@ getbrowink.com, 1 getbutterfly.com, 1 getbuya.com, 1 getcabal.com, 1 +getcancer.net, 1 getcare.com, 1 getcarina.com, 1 getchip.cc, 1 @@ -60066,7 +60052,6 @@ getmonero.cz, 1 getmybosslife.com, 1 getnetset.com, 1 getnew.tk, 1 -getnews360.com, 1 getnib.com, 1 getnikola.com, 1 getontop.club, 1 @@ -60102,8 +60087,8 @@ getsession.org, 1 getsetbounce.co.uk, 1 getsilknow.com, 1 getsimone.online, 1 +getsmartcue.com, 1 getsmartlife.in, 1 -getsocreative.com, 1 getspaces.com, 1 getstark.co, 1 getstat.net, 1 @@ -60130,6 +60115,7 @@ getupandbounce.co.uk, 1 getupdat.es, 1 getupwakeclub.com, 1 getvalidate.com, 1 +getvantage.co, 1 getvdownloader.com, 1 getveer.io, 1 getwemap.com, 1 @@ -60151,7 +60137,6 @@ gevme.com, 1 gevo.gg, 1 gew.is, 1 gewasteelt.ga, 1 -gewel.io, 1 gewerbe-fix.ag, 1 gewerbe-fix.at, 1 gewerbe-fix.ch, 1 @@ -60198,7 +60183,6 @@ gfedating.com, 1 gfestival.fo, 1 gfetechs.com, 1 gfgmmarketing.com, 1 -gfishbone.com, 1 gfk-kunststoff-luebben.de, 1 gfleaks.com, 1 gfmp.com.pl, 1 @@ -60291,7 +60275,6 @@ ghlinks.com.gh, 1 ghll.org.uk, 1 ghllc.com, 1 ghn.vn, 1 -ghnewslive.com, 1 ghobcars.com, 1 ghobot.ai, 1 ghobusers.com, 1 @@ -60330,12 +60313,14 @@ ghpastor.com, 1 ghprinter.com.br, 1 ghprinting.net, 1 ghsix.com.br, 1 +ghui.de, 1 ghwconline.org, 1 -ghyvelde.fr, 1 +ghyvelde.fr, 0 gi-plant.shop, 1 giac.net, 1 giac.org, 1 giacomodebidda.com, 1 +giacomomaniaci.it, 1 giacomopelagatti.it, 1 giacomosecchi.com, 1 giakki.eu, 1 @@ -60381,7 +60366,7 @@ gibsonmemorial.ca, 1 gibsonsecurity.co.uk, 1 gicasport.it, 1 gichigamigames.com, 1 -gickelskerb.de, 1 +gickelskerb.de, 0 gidapgs.cf, 1 giddsmedia.com, 1 giddyaunt.net, 1 @@ -60489,6 +60474,7 @@ gill-temptation.tk, 1 gillesmorelle.com, 0 gillespetrotey.com, 1 gillettepromociones.com, 1 +gillettewholesale.com, 1 gillfamily.de, 1 gillmanandsoame.co.uk, 1 gillsco.com, 1 @@ -60501,6 +60487,7 @@ gilpincountydronepilot.com, 1 gilsanchez2009.com, 1 gilsum-nh.gov, 1 giltedge.travel, 1 +gilvet.ru, 1 gim-app.tk, 1 gim.ac.in, 1 gimahhot.com, 1 @@ -60518,10 +60505,12 @@ gimpware.tk, 1 gina-architektur.design, 1 ginabaum.com, 1 ginatony.com, 1 +gindistilleries.uk, 1 ginecomastiatratamento.com.br, 1 ginen.xyz, 0 ginepolice.gov, 1 ginev.tk, 1 +gingerray.co.uk, 1 gingersutton.com, 1 gingerxumd.com, 1 ginionusedcars.be, 0 @@ -60562,7 +60551,6 @@ giper.ga, 1 giperfast.tk, 1 gipernn.ru, 1 gipl.tk, 1 -gipsic.com, 1 gipsplitka.ru, 1 gipuzkoabasket.tk, 1 giradiscos.com, 1 @@ -60585,7 +60573,6 @@ girldevelopit.com, 1 girldick.gay, 1 girlfriend.gq, 1 girlgrind.com, 1 -girliciousbeauty.com, 1 girlie.tk, 1 girlingsdiamond.co.uk, 1 girlinthetiara.com, 1 @@ -60594,7 +60581,6 @@ girljacket.com, 1 girls-heaven.com, 1 girlsaloudcity.tk, 1 girlsbar-navi.jp, 1 -girlschandigarh.in, 1 girlsfucked.com, 1 girlsgenerationgoods.com, 1 girlsgetpied.com, 1 @@ -60674,6 +60660,7 @@ giuristifriburgo.ch, 1 giuseppebuccheri.it, 1 giuseppemacario.it, 1 giuseppemacario.men, 1 +giuseppepreviti.it, 1 giusyesabatino.it, 1 give.net, 1 give2charity.co, 1 @@ -60721,7 +60708,6 @@ gizmodo.in, 1 gizmogrind.com, 1 gj-bochum.de, 1 gj-cham.tk, 1 -gj6.top, 0 gjan.in, 1 gjan.info, 1 gjan.io, 1 @@ -60771,6 +60757,7 @@ gladstonemi.gov, 1 gladwellentertainments.co.uk, 1 gladwork.tk, 1 gladysstrickland.com, 1 +glaesle.cloud, 1 glahcks.com, 1 glamadelaide.com.au, 1 glamcambabes.com, 1 @@ -60786,6 +60773,7 @@ glamourdaze.com, 1 glamourhair.tk, 1 glamourmagazine.co.uk, 1 glamourtime.tk, 1 +glamtoptiers.co.za, 1 glamur-video.com, 1 glance.gr, 1 glanz-dienste.de, 1 @@ -60801,6 +60789,7 @@ glasgowlife.org.uk, 1 glashandelverbo.nl, 1 glashandelwolf.nl, 0 glasiko.tk, 1 +glasp.ai, 1 glass-blaster.com, 1 glass.google.com, 1 glass.photo, 1 @@ -60838,7 +60827,6 @@ glavfundament.ru, 0 glavny-yurist.ru, 1 glavred.info, 0 glazedmag.fr, 1 -glazenschuifwandenoutlet.nl, 1 glazkova.ga, 1 glbaumaulwurf.de, 1 glbins.com, 1 @@ -60854,7 +60842,7 @@ gleentech.com, 1 gleesongs.tk, 1 gleich-aluminium-shop.de, 1 gleisner.io, 1 -gleisner.legal, 1 +gleisner.legal, 0 gleki.com, 1 glemtpassord.dep.no, 1 glenatlasmd.com, 1 @@ -60881,11 +60869,13 @@ glenwoodpark.com, 1 glesbymarks.com, 1 glevolution.com, 1 glexia.com, 1 +glezmanz.eu, 1 glgclan.tk, 1 gli.sh, 1 gliagrumi.it, 1 glibmarket.in, 1 glickman-consulting.com, 1 +gliddenbaptistchurch.org, 1 glidestep.com, 1 glidingshop.cz, 1 glidingshop.de, 1 @@ -60902,7 +60892,6 @@ glitery.com, 1 glitter-graphics.com, 1 glitterblast.uk, 1 glitteringmariah.tk, 1 -glittersjabloon.nl, 1 glitzerstuecke.de, 1 glitzybingo.co.uk, 1 glixee.com, 1 @@ -60935,6 +60924,7 @@ globalacademicgroup.com, 1 globalaccountservice.com, 1 globalamend.com, 1 globalawakening.com, 1 +globalbearings.com.au, 1 globalbix.com, 1 globalbridge-japan.com, 1 globalbroadcastsolutions.com, 1 @@ -60951,6 +60941,7 @@ globalbusinessnews.tk, 1 globalbusinessrisk.com, 1 globalcancer.tk, 1 globalchemlab.ga, 1 +globalchristianmissionoutreach.org, 1 globalconsultant.tk, 1 globalconsulting.ml, 1 globaldataline.ml, 1 @@ -60964,6 +60955,7 @@ globalepsilon.com, 1 globalflavorjourney.com, 1 globalformat.de, 1 globalfuhui.com, 1 +globalgamingalmanac.com, 1 globalgate.cc, 1 globalgivingtime.com, 1 globalgovernancewatch.org, 1 @@ -60988,6 +60980,7 @@ globalmasonryers.ga, 1 globalmasonryest.ga, 1 globalmaster.com.mx, 1 globalmed.tk, 1 +globalmedical.taipei, 1 globalmethane.org, 1 globalmetropolis.tk, 1 globalmobilityjourneys.com, 1 @@ -61006,7 +60999,6 @@ globalpolarbear.com, 1 globalproduction.ga, 1 globalprojetores.com.br, 1 globalradio.tk, 1 -globalreachgroup.com, 1 globalroad.ma, 1 globalrussia.tk, 1 globalsecuritydatabase.com, 1 @@ -61024,6 +61016,7 @@ globalsign.com.ru, 1 globalspeed.tk, 1 globalstar.com, 1 globalstrike.tk, 1 +globalswitch.com.au, 1 globalthermoforming.com, 1 globaltiendat.com, 1 globaltravel.cf, 1 @@ -61061,6 +61054,7 @@ globeprotocol.nl, 1 globeprotocolecosystem.nl, 1 globereservationsest.ga, 1 globetalent.nl, 1 +globetotting.com, 1 globetrotting.com.au, 1 globevision.ca, 1 globologic.com, 1 @@ -61157,6 +61151,7 @@ gmc-roma.it, 1 gmc.uy, 1 gmcbm.net, 1 gmcd.co, 1 +gmcomo.com, 1 gmdu.net, 1 gmfumaria.com, 1 gmgard.com, 1 @@ -61216,8 +61211,11 @@ gnk.io, 1 gnmlive.com, 1 gnom.me, 1 gnomania.ml, 1 +gnomeberg.com, 1 gnomen.tk, 1 +gnomey.art, 1 gnomon-transport.com.ng, 1 +gnostic-union.com, 1 gnrinfo.tk, 1 gns.gov.pt, 1 gnu.style, 1 @@ -61260,7 +61258,6 @@ go2sh.de, 1 go2store.com, 1 go2ubl.nl, 1 go4games.ro, 1 -go4golfreizen.nl, 1 go4it.ro, 1 go4rest.de, 1 go6.si, 1 @@ -61279,6 +61276,7 @@ goanalyse.co.uk, 1 goapunks.net, 0 goarnlms.org, 1 goatbot.xyz, 1 +goatbots.com, 1 goathub.io, 0 goatlord.tk, 1 goatstore.ca, 1 @@ -61325,6 +61323,8 @@ godclan.hu, 1 goddamnwinnebago.com, 1 goddess.name, 1 goddesslena.com, 1 +gode-anal.fr, 1 +godes-realistes.fr, 1 godesigner.ru, 1 godestination-morocco.com, 1 godfilm.tk, 1 @@ -61502,6 +61502,7 @@ goldentech.ca, 1 goldentechelectronics.net, 1 goldentip.cf, 1 goldentriangletourindia.com, 1 +goldenwheeltowing.com, 1 goldenwolrd.tk, 1 goldenworldec.com, 1 goldenyacca.co.uk, 1 @@ -61589,6 +61590,7 @@ golosok.ml, 1 golosovanye4you.tk, 1 golser-schuh.at, 1 golser.info, 1 +golyatsec.com, 1 gomakemovie.com, 0 gomarket33.com, 1 gomasa.net, 1 @@ -61636,6 +61638,7 @@ gongjianwei.com, 1 gongjuhao.com, 1 gonintendo.com, 1 gonitro.com, 1 +gonoodle.com, 1 gonortheast.co.uk, 1 gonorthwest.co.uk, 1 gontagro.com.ua, 1 @@ -61658,6 +61661,7 @@ goodbenefit.com, 1 goodbits.tech, 1 goodbody.ie, 0 goodbriar.com, 1 +goodcarbons.com, 1 goodcas.ca, 1 goodcas.com, 1 goodchoiceflowers.com, 1 @@ -61667,6 +61671,7 @@ goodcotton.com, 1 gooddatingsites.ml, 1 goodday.finance, 1 gooddayatwork.co.uk, 1 +gooddomain.co, 1 gooddomainna.me, 1 goodearth.com.tw, 1 goodeditor.com, 1 @@ -61686,7 +61691,6 @@ goodhopemedical.com, 1 goodhotel.co, 1 goodhuecountymn.gov, 1 goodiesnet.ca, 0 -goodiesoft.hu, 0 goodiespub.fr, 1 goodingcountyid.gov, 1 goodjobs.gov, 1 @@ -61701,7 +61705,6 @@ goodmood.co.uk, 1 goodmood.fr, 1 goodmoodsocken.de, 1 goodmorningapril.com, 1 -goodok.eu, 1 goodopportunity.ga, 1 goodpeople.tk, 1 goodproof.com, 1 @@ -61719,7 +61722,6 @@ goodstorage.com.br, 1 goodsync.com, 1 goodteach.com, 1 goodth.ink, 1 -goodthing2.com, 1 goodtrader.tk, 1 goodtrip.kr, 1 goodvibesblog.com, 1 @@ -61750,7 +61752,6 @@ googlerecetas.com, 1 googleseo.pw, 1 googleshortcuts.org, 1 googlesource.com, 1 -goola.it, 1 goolnk.com, 1 goombi.fr, 1 goondocks.io, 1 @@ -61768,6 +61769,7 @@ gooutdoorskansas.com, 1 gopass-dev.com, 1 gopass.health, 1 gopher.tk, 1 +gopherdata.net, 1 gophoto.it, 1 gopigment.com, 1 gopkg.link, 1 @@ -61780,6 +61782,7 @@ gopro-staging.com, 1 gopro.com, 1 goproallaccess.com, 1 gopronow.ga, 1 +goprotowingsanantonio.com, 1 gopuntaisla.com, 1 gopwhip.gov, 1 goquiq.com, 1 @@ -61944,6 +61947,7 @@ gotovka.ga, 1 gotovka.tk, 1 gotowebstore.com, 1 gotoxy.at, 1 +gotpainarizona.com, 1 gotrail.fr, 1 gotransferdr.com, 1 gotravel.blog, 1 @@ -61986,6 +61990,7 @@ gourmetspalencia.com, 1 gourmetvitamins.ga, 1 goushuang.com, 1 goutsmits-tegelwerken.nl, 1 +goutui.com, 1 gouwdata.nl, 1 gouwen.com, 1 gov.exposed, 1 @@ -61995,6 +62000,7 @@ gov.uk, 0 govape.tk, 1 govecountyks.gov, 1 governikus.de, 1 +governmentgrantlist.org, 1 governmentjob.gq, 1 governmentjobs.gov, 1 governmentphoneservice.com, 1 @@ -62038,6 +62044,7 @@ goyumoilexpeller.com, 1 gozadera.es, 1 gozenhost.com, 1 gozenhosting.com, 1 +gp-engineering.se, 1 gp-lightstone.de, 1 gpalabs.com, 1 gpatrading.com, 1 @@ -62047,7 +62054,7 @@ gpcmicro.com, 1 gpcp.org, 1 gpcs.ml, 1 gpcsolutions.fr, 1 -gpdp.it, 1 +gpdp.it, 0 gpfclan.de, 1 gpforum.tk, 1 gpga.cf, 1 @@ -62062,6 +62069,7 @@ gpltimes.club, 1 gpltimes.com, 0 gpltimes.org, 1 gplvilla.com, 1 +gpmedicalgroup.com, 1 gpnotebook.com, 0 gpo.gov, 0 gpodev.gov, 1 @@ -62117,7 +62125,6 @@ gracealexwatch.org, 1 gracebaking.com, 0 graceclinic.com.tw, 1 gracecommunity.school, 1 -gracecounselingcos.com, 1 gracedaycorea.com, 1 gracedays.org, 1 gracedonors.co.uk, 1 @@ -62129,6 +62136,7 @@ graceradio.tk, 1 gracereminder.com, 1 gracethrufaith.com, 1 gracetini.com, 1 +graceunlimitedministries.org, 1 grachten.museum, 1 gracia-club.tk, 1 graciasmarvin.tk, 1 @@ -62139,7 +62147,6 @@ gradenotify.com, 1 gradgreenhouse.com, 1 gradienthosting.co.uk, 1 gradients.com, 1 -gradientthemes.com, 1 gradinacufluturi.ro, 1 gradingcontractornc.com, 1 gradinitasamariteanulcluj.ro, 1 @@ -62152,6 +62159,7 @@ graduados.tk, 1 gradualgram.com, 1 graduatenursingedu.org, 1 graduatewriter.com, 1 +gradyt.com, 1 graecum.org, 1 graeskmad.dk, 1 graetgossip.com, 1 @@ -62275,6 +62283,7 @@ grandrapidsmn.gov, 1 grandrapidswi.gov, 1 grandstarcourier.ml, 1 grandtiresers.ga, 1 +grandvalleyseo.com, 1 grandviewgynecology.ca, 1 grandviewheights.gov, 1 grandwailea.com, 1 @@ -62323,6 +62332,7 @@ grantsolutions.gov, 1 granttwpstclairmi.gov, 1 granulate.io, 1 graonatural.com.br, 0 +grape33.com, 1 grapee.jp, 1 grapeintentions.com, 1 grapevine.is, 1 @@ -62339,7 +62349,6 @@ grapheneos.net, 1 grapheneos.org, 1 grapheneos.ovh, 1 grapheneos.social, 1 -graphenepower.com, 1 graphic-schools.com, 1 graphic-shot.com, 1 graphicbuffet.co.th, 1 @@ -62442,6 +62451,7 @@ grazetech.com, 1 grazhdanskij-advokat.tk, 1 grbrt.com, 1 grc.com, 0 +grcc.us, 1 grd.cx, 1 grday.com, 1 grdnlife.site, 1 @@ -62452,7 +62462,6 @@ greatagain.gov, 1 greataltrock.tk, 1 greatamericaneu.com, 1 greatamericanuk.com, 1 -greatbarrierisland.nz, 1 greatbeginningsmi.com, 1 greatdane.com, 1 greatdanegrp.com, 1 @@ -62486,6 +62495,7 @@ greatscholars.tk, 1 greatscience.tk, 1 greatsittersers.ga, 1 greatsittersest.ga, 1 +greatslpf.org, 1 greatsurfersers.ga, 1 greatsurfersest.ga, 1 greatvacation.tk, 1 @@ -62493,6 +62503,7 @@ greatwebdesign.uk, 1 grechutaszkolenia.pl, 1 greciahora.com, 1 greeblehaus.com, 1 +greece-moments.com, 1 greedy-it.de, 1 greek-islands-hotels.tk, 1 greeklish.gr, 1 @@ -62500,6 +62511,7 @@ greekmusic.academy, 1 greeknewspapers.tk, 1 greeks.tk, 1 greekweb.tk, 1 +greeley-hvac.com, 1 greeleycountyne.gov, 1 green-adn.com, 1 green-anarchy.tk, 1 @@ -62532,7 +62544,6 @@ greenartistsswiss.ch, 1 greenassembly.fr, 1 greenbat57.fr, 1 greenbeauty.in, 1 -greenbuildingsystemsllc.com, 1 greenburghny.gov, 1 greencapital.gent, 1 greencbd.com, 1 @@ -62574,7 +62585,6 @@ greengarden.tk, 1 greengates.co.uk, 1 greengoblindev.com, 1 greengorych.io, 1 -greengorych.ru, 1 greengov.gov, 1 greengrocery.tk, 1 greenhandy.com, 1 @@ -62635,7 +62645,6 @@ greenswimmingest.ga, 1 greentea.gq, 1 greentea.ml, 1 greentea.tk, 1 -greenteamtwente.nl, 1 greentechhvac.in, 1 greenthought.tk, 1 greentop.tk, 1 @@ -62666,6 +62675,7 @@ greg.red, 1 gregbrimble.com, 1 gregdf.com, 1 greger.me, 1 +gregfoat.co.uk, 1 greghouse.tk, 1 gregmartyn.com, 1 gregmarziomedia.co.za, 1 @@ -62674,6 +62684,7 @@ gregmc.ru, 1 gregmckeown.com, 1 gregmilton.com, 1 gregmilton.org, 1 +gregmiraglia.com, 1 gregmote.com, 1 grego.pt, 1 gregoirow.be, 1 @@ -62701,6 +62712,7 @@ grenadierkorps-kaarst.de, 1 grenadierkorps.de, 1 grend.gq, 1 grenfell.org.au, 1 +grenfellcaravanpark.com.au, 1 grenfellinternetcentre.com.au, 1 grengine.ch, 1 grenlan.com, 1 @@ -62713,7 +62725,6 @@ gresrewop.ca, 1 gresrewop.com, 1 greta-birkner.de, 1 greta-fischer-schule.de, 1 -gretalfoodproducts.com, 1 gretathemes.com, 1 gretch.space, 1 gretchensbridalgallery.com, 1 @@ -62788,7 +62799,6 @@ grigo.tk, 1 grigorev.tk, 1 grijalba.tk, 1 grijpskerk500.tk, 1 -grillboxtaxi.de, 1 grillen-darf-nicht-gesund-sein.de, 1 grillfocused.com, 1 grillidellostretto.tk, 1 @@ -62891,8 +62901,6 @@ grossmisconduct.news, 1 grossorders.com, 1 groszek.pl, 1 grotesk.tk, 1 -groth.im, 1 -groth.xyz, 1 grothem.cf, 1 grothem.gq, 1 grothoff.org, 1 @@ -62989,6 +62997,7 @@ growthservicesinc.com, 1 growthsimulationest.ga, 1 growthtoysers.ga, 1 growthtoysest.ga, 1 +growwithdaylight.co.uk, 1 growy.ch, 0 grozdanov.tk, 1 grozter.se, 1 @@ -63085,6 +63094,7 @@ gruppe-casablanca.tk, 1 grupposanmarco.eu, 1 grupposiciliaviola.tk, 1 gruppotac.com, 1 +grupxaloc.cat, 0 grurez.com, 1 gruta.website, 1 gruveo.com, 1 @@ -63168,6 +63178,7 @@ gtcountymi.gov, 1 gtcprojects.com, 1 gtd.cloud, 1 gtdnordic.fi, 1 +gtdtraining.org, 1 gtek.com.br, 1 gtgcloudservices.com, 1 gti.cx, 1 @@ -63203,6 +63214,7 @@ guajars.cl, 1 guamcourts.gov, 1 guanggaonet.com, 1 guangjiangk.com, 1 +guangquan.com, 1 guannan.net.cn, 0 guanzhong.ca, 1 guapcoinswap.finance, 1 @@ -63321,7 +63333,6 @@ guidedchoice.com, 1 guidedesventes.fr, 1 guidedogs.org.uk, 1 guidedselling.net, 1 -guidedsteps.com, 0 guidegr.com, 1 guidehouseinsights.com, 1 guideline-pro.com, 1 @@ -63369,6 +63380,7 @@ guinguetteclovis.com, 1 guirossler.com.br, 1 guise.tk, 1 guitar-strings-online.tk, 1 +guitar.bible, 1 guitarangel.tk, 1 guitards.tk, 1 guitare-rumba-congolaise-school.com, 1 @@ -63380,7 +63392,6 @@ guitarristaluisquintero.com, 1 guitarristas.info, 1 guitartrader.international, 1 gujarat.tk, 1 -gujinfo.com, 1 gujun-sky.com, 1 guki.me, 1 gulabovski.ga, 1 @@ -63408,6 +63419,7 @@ gumbo-millennium.nl, 1 gumbo.gq, 1 gumbo.nu, 1 gumeyamall.jp, 1 +gumi-midis.com, 1 gumi.ca, 1 gummibande.noip.me, 0 gummientchen.net, 1 @@ -63421,6 +63433,7 @@ gunbrig.com, 0 gundemguncel.tk, 1 gunerds.com.br, 1 gunfighterj.com, 1 +gungun.site, 1 gunhunter.com, 1 guninstructionsers.ga, 1 guninstructionsest.ga, 1 @@ -63449,6 +63462,7 @@ guolaoban.xyz, 1 guolaw.ca, 1 guomai.com, 1 guozeyu.com, 1 +guozu.com, 1 gura.moe, 1 gurbetilan.com, 1 gurges.xyz, 1 @@ -63471,6 +63485,7 @@ gurunpa.com, 1 gururi.com, 1 gurutraveltraining.com, 1 guruworld.tk, 1 +gus.ca, 1 gus.moe, 1 gusar.by, 1 gusli.net, 1 @@ -63513,7 +63528,6 @@ gutscasino.ml, 1 gutschein-spezialist.de, 1 gutscheineplus.de, 1 gutscheingeiz.de, 1 -gutscheinpony.de, 1 gutstein.ch, 1 gutterbus.com, 1 gutterdogs.com, 1 @@ -63573,6 +63587,7 @@ gvvsicilia.tk, 1 gvwgroup.cloud, 1 gvwgroup.com, 1 gvwparts.com, 1 +gw-tx.com, 1 gw-uks-app-test-coreapi-02.azurewebsites.net, 1 gw.fi, 1 gw.lu, 1 @@ -63598,6 +63613,7 @@ gwy15.com, 1 gwynfryncottages.com, 1 gxdesign.tk, 1 gxgx.org, 1 +gxiangsoft.com, 1 gxm5.com, 1 gxmyqy.net, 1 gyaanprasaar.tk, 1 @@ -63657,7 +63673,6 @@ gyre.ch, 0 gyrenens.ch, 0 gyroscopicinvesting.com, 1 gyrusclinic.com, 0 -gyu-raku.jp, 1 gyx.one, 1 gyy.me, 1 gz-architekten.de, 1 @@ -63673,7 +63688,6 @@ gztelli.ch, 1 h-advisors.global, 1 h-e-a-t.com, 1 h-gac.gov, 1 -h-gen.to, 1 h-jo.net, 1 h-maxton.de, 1 h-node.org, 1 @@ -63695,6 +63709,7 @@ h1ctf.com, 1 h1z1swap.com, 1 h2.com.sg, 1 h2020faros.eu, 1 +h20taskforce.org, 1 h24.org, 1 h2b.cz, 1 h2cclipboard.com, 1 @@ -63716,6 +63731,7 @@ h5q.net, 1 h6729.co, 1 h6729.com, 1 h6957.co, 1 +h6k.io, 1 h6p.de, 1 h82365.com, 1 h8p.de, 1 @@ -63724,6 +63740,7 @@ h9728.co, 1 h9j.com.br, 1 ha-kunamatata.de, 1 ha.com, 1 +ha2a.nl.eu.org, 1 ha2hva1n.com, 1 ha3.eu, 1 ha34.com, 1 @@ -63804,6 +63821,8 @@ hack-bang.com, 1 hack-forum.ml, 1 hack-net.gq, 1 hack.fi, 1 +hackabate.com, 1 +hackabate.net, 1 hackablestuff.cf, 1 hackadena.com, 1 hackamac.tk, 1 @@ -63824,7 +63843,6 @@ hackdra.io, 1 hackeado.tk, 1 hacked.com, 1 hackedaf.com, 1 -hackedthe.net, 1 hackendoz.com, 1 hackengine.ga, 1 hackenkunjeleren.nl, 1 @@ -63835,13 +63853,13 @@ hacker.im, 1 hacker.one, 1 hacker1.com, 1 hacker101.com, 1 -hacker8.cn, 0 hackercommunity.org, 1 hackerfa.tk, 1 hackerflare.com, 1 hackerforums.tk, 1 hackergateway.com, 1 hackerhotel.nl, 1 +hackeriet.no, 1 hackerinfo.ml, 1 hackerman.nu, 1 hackernews.ddns.net, 1 @@ -63879,6 +63897,7 @@ hackmd.io, 1 hackmeifyoucan.site, 1 hacknet-bar.cn, 1 hackney.tk, 1 +hacknonstop.com, 1 hackops.tk, 1 hackreone.com, 1 hackrepreneur.com, 1 @@ -63911,6 +63930,7 @@ hadotifpc.in, 1 hadouk.in, 1 hadouken.tk, 1 hadoverde.com, 1 +hadpec.com, 1 hadrons.org, 1 hadudonura.tk, 1 hady.boutique, 1 @@ -64034,6 +64054,7 @@ hakase.pw, 1 hakasia.tk, 1 hakatemia.fi, 0 hake.me, 1 +hakenseek.jp, 1 haker24.tk, 1 hakerzona.tk, 1 hakiminvestment.com, 1 @@ -64044,7 +64065,6 @@ hakkariradyo.tk, 1 hakkasan.com, 1 hakkasannightclub.com, 1 hakon.lol, 1 -haku.vn, 1 hakugin.me, 1 hakurei.ga, 1 hakurei.win, 1 @@ -64071,6 +64091,7 @@ halfbeasters.ga, 1 halfbeastest.ga, 1 halfhosting.de, 1 halfmba.com, 1 +halfmoonbayhighschool.com, 1 halfords.com, 1 halfords.ie, 0 halfreal.tk, 1 @@ -64094,6 +64115,7 @@ halkoyu.org, 1 halkyon.net, 1 hall1c.com, 1 hallanalysis.com, 1 +hallandaleflorida.org, 1 hallcopainting.com, 1 hallelujahsoftware.com, 1 hallettxn.com, 1 @@ -64133,6 +64155,7 @@ halpin.tk, 1 halseyor.gov, 1 halt.org, 1 halterner-tc.de, 1 +halteverbot-beantragen-berlin.de, 1 halukaka.net, 1 halv.me, 1 halvalla.tk, 1 @@ -64159,6 +64182,7 @@ hamgamweb.com, 1 hamha.tk, 1 hamibot.cn, 1 hamibot.com, 1 +hamilton-builders.com, 1 hamiltonatlnj.gov, 1 hamiltoncountyil.gov, 1 hamiltoncountyne.gov, 1 @@ -64314,7 +64338,7 @@ hanhtrinhxanh.org, 1 haniasitek.com, 1 haniha.com, 1 hanisirfan.cf, 1 -hanjl.com, 0 +hanjl.com, 1 hanjuapp.com, 1 hanke.se, 1 hankoreas.com, 1 @@ -64322,6 +64346,7 @@ hankr.com, 1 hanksservice.com, 1 hanky2.com, 1 hanlonconcrete.com, 1 +hanlonhouse.us, 1 hanmandalu.com, 1 hanmandao.com, 1 hanmandaohang.com, 1 @@ -64438,6 +64463,7 @@ happydoghosting.net, 1 happydoq.ch, 0 happydota.ga, 1 happydreamsz.com, 1 +happyerha.icu, 1 happyexwife.ga, 1 happyfoolss.com, 1 happyfun.tk, 1 @@ -64469,7 +64495,6 @@ happyscubadiving.tk, 1 happyteamlabs.com, 1 happytestings.com, 1 happytime.gq, 1 -happytopup.com, 1 happytours.cf, 1 happytoys.com.br, 1 happytugs.com, 1 @@ -64493,6 +64518,7 @@ harabar.ml, 1 harabe.ga, 1 harahanla.gov, 1 harajiplastic.ir, 1 +harakeke.net, 1 harald-d.dyndns.org, 1 harald-nyborg.dk, 1 harald-pfeiffer.de, 1 @@ -64612,6 +64638,7 @@ harmony.co.id, 1 harmonyeg.net, 1 harmonyhomeaidservices.co.uk, 1 harmonylife.ro, 1 +harmonypianoschool.com, 1 harmonyroomspa.com, 1 harmreductionwa.org, 1 harms.io, 1 @@ -64733,7 +64760,6 @@ hasabig.wang, 1 hasalittle.wang, 1 hasandeniz.uk, 1 hasandurmus.com, 1 -hasanmtech.com, 1 hasansaribas.com, 1 hasanyildiz.com, 1 hasas-automatizari.ro, 1 @@ -64742,7 +64768,6 @@ hasbara.tk, 1 haschrebellen.de, 1 hasdf.de, 1 hasecuritysolutions.com, 1 -hasel.news, 1 haselsteiner.me, 1 hasenmueller.de, 1 hasgeek.com, 1 @@ -64804,6 +64829,7 @@ hatake.tk, 1 hatakekaigi.com, 1 hataonline.tk, 1 hatarisecurity.co.ke, 1 +hataybitkisel.net, 1 hatcher.cloud, 1 hatchutah.gov, 1 hate.ga, 1 @@ -64868,7 +64894,6 @@ hausverwaltung-motsch.de, 1 hautarztzentrum.ch, 1 hautehorlogerie.org, 1 hautemontagne.com, 1 -hautescimesone.ch, 1 hautsache-friesoythe.de, 1 hautsdefrance.fr, 1 havaci.tk, 1 @@ -65018,6 +65043,7 @@ hbweb.io, 1 hbxianghang.com, 0 hby.cx, 1 hc-sc.gc.ca, 0 +hcabilling.com, 1 hcahealthcare.co.uk, 1 hcamag.com, 1 hcaptcha.com, 1 @@ -65032,7 +65058,6 @@ hceu-performance.com, 1 hcfeye.com.au, 1 hcfl.gov, 1 hcfoodpantry.org, 1 -hcg24.com, 1 hcgallia.tk, 1 hcie.pl, 0 hclsw.at, 0 @@ -65072,6 +65097,7 @@ hdc.sg, 1 hdcoupler.com.au, 1 hddrecovery.net.au, 1 hdeaves.uk, 1 +hdepic.com, 1 hdert.com, 1 hdevent.net, 1 hdfreeizle.com, 1 @@ -65159,6 +65185,7 @@ healingthenaturalway.gq, 1 healingwell.com, 1 healingwithvibrationsummit.com, 1 healinlife.com, 1 +healmaster.net, 1 healmyhearttoday.ga, 1 healmynation.com, 1 healtbeautyturkey.tk, 1 @@ -65170,6 +65197,7 @@ health-in-mind.org.uk, 1 health-match.com.au, 1 health-plan-news.com, 1 health-road.ga, 1 +health-solutions.de, 1 health-toolbox.com, 1 health-tourism.com, 1 health.gd, 1 @@ -65319,6 +65347,7 @@ healthhusky.ga, 1 healthi.ch, 1 healthierweight.co.uk, 1 healthimagine.ga, 1 +healthinsights.pt, 1 healthintergrity.ga, 1 healthiraq.ga, 1 healthiron.ga, 1 @@ -65357,6 +65386,7 @@ healthmedicineus.tk, 1 healthmedicineworld.tk, 1 healthmeta.ga, 1 healthmetric.ga, 1 +healthmetrics.co.nz, 1 healthmiami.tk, 1 healthmillions.ga, 1 healthmilwaukee.tk, 1 @@ -65368,6 +65398,7 @@ healthmuscle.tk, 1 healthmystical.ga, 1 healthnano.ga, 1 healthnational.ga, 1 +healthnetworkcollective.com, 1 healthnobel.ga, 1 healthnorman.tk, 1 healthnorthamerican.ga, 1 @@ -65509,7 +65540,6 @@ healthysanfrancisco.org, 1 healthyschoolsnewcastle.org.uk, 1 healthysouthdakota.tk, 1 healthyspirituality.org, 1 -healthystore.my.id, 1 healthystyle.tk, 1 healthysuperhuman.com, 1 healthyteame.com, 1 @@ -65550,7 +65580,6 @@ heartonmysleevegreetings.com, 1 heartsintrueharmony.com, 1 heartsucker.com, 0 hearttruth.gov, 1 -heartview.com.br, 1 heartway.online, 1 heartwoodart.com, 1 heartwoodrefuge.org, 0 @@ -65568,7 +65597,6 @@ hearty.org.tw, 1 hearty.sg, 1 hearty.taipei, 1 hearty.tech, 1 -hearty.tw, 1 heartyapp.com, 1 heartyapp.tw, 1 heartymail.com, 1 @@ -65582,7 +65610,6 @@ heatcleanerers.ga, 1 heatcleanerest.ga, 1 heatershop.co.uk, 1 heatgeek.com, 1 -heathaze.xyz, 1 heatherbells.tk, 1 heathercutler.ca, 0 heatherleysephotography.com, 1 @@ -65648,6 +65675,7 @@ hedge.fi, 1 hedgedoc.net, 1 hedgedoc.org, 1 hedgehogs.tk, 1 +hedges-it.com, 1 hedgesafeers.ga, 1 hedgesafeest.ga, 1 hedgeschool.ie, 1 @@ -65661,7 +65689,6 @@ hedonistic-imperative.com, 1 hedonistic.org, 1 hedonisticimperative.com, 1 hedonium.com, 1 -hedoujia.tw, 1 hedronarchive.com, 1 hedweb.co.uk, 1 hedweb.com, 1 @@ -65713,7 +65740,7 @@ heidihills.com, 1 heidinousiainen.com, 1 heidirange.tk, 1 heidisheroes.org, 1 -heidns.cn, 0 +heidns.cn, 1 heighton.com.au, 1 heightselectrical.com.au, 1 heigl-care.de, 1 @@ -65733,6 +65760,7 @@ heiko-zimmermann.com, 1 heiko.ph, 1 heikomauel.de, 1 heikoopminiaturen.nl, 1 +heikorichter.name, 1 heiland.io, 1 heilbronn.tk, 1 heiliao.in, 1 @@ -65789,7 +65817,6 @@ heldmayer.com, 1 heldtech.services, 1 heldundsexgott.de, 1 helebce.tk, 1 -heleendebruyne.be, 1 helemduruth.com, 1 helena-loos.de, 1 helenair.com, 1 @@ -65818,22 +65845,25 @@ helgaschultz.de, 1 helgeklein.com, 1 helhetsframtradande.se, 1 heli-iq.at, 1 +heli-iq.be, 1 heli-iq.com, 1 heli-iq.cz, 1 heli-iq.de, 1 heli-iq.dk, 1 heli-iq.es, 1 +heli-iq.eu, 1 heli-iq.fi, 1 heli-iq.fr, 1 heli-iq.it, 1 heli-iq.nl, 1 +heli-iq.pl, 1 +heli-iq.se, 1 heli-iq.sk, 1 helia.com.au, 1 helibella.com, 1 helichat.de, 1 heliconservices.com, 1 heligrandcanyon.com, 1 -helijobs.net, 1 helikopter.ml, 1 helikopterman.tk, 1 helikopters.tk, 1 @@ -65870,7 +65900,6 @@ hellhammer.tk, 1 hellhavens.tk, 1 hello-aioi.com, 1 hello-papaye.com, 1 -hello-products.com, 1 helloacm.com, 1 helloafrica.ga, 1 helloalpha.com, 1 @@ -65879,7 +65908,6 @@ hellobarestore.com, 1 hellobee.com, 1 hellobetter.de, 1 hellobrian.me, 1 -hellocash.business, 1 hellocat.cf, 1 hellocentral.ga, 1 hellocoding.de, 1 @@ -65933,7 +65961,6 @@ hellyeahbeer.tk, 1 helm-pokale.de, 1 helmethouse.com, 1 helminger-lrs.at, 1 -helmondautoschade.nl, 1 helmscapital.co.uk, 1 helochic.com, 1 heloisamarra.com, 1 @@ -65985,7 +66012,6 @@ helpwithmymortgagebank.gov, 1 helsenorge.no, 1 helsi.me, 1 helsingfors.guide, 1 -helsinginlaakariyhdistys.fi, 1 helsinki-systems.de, 1 helst.org, 1 heluna.tk, 1 @@ -66237,7 +66263,6 @@ heroway.com, 1 heroxin.com, 1 herp.careers, 1 herp.top, 1 -herpderpderpderp.com, 1 herpes-no.com, 1 herr-webdesign.de, 1 herrald-skeeleren.tk, 1 @@ -66255,6 +66280,7 @@ herringadvancemachine.com, 1 herringboneeats.com, 1 herringsresidence.be, 1 herritage.ga, 1 +herrj.com, 1 herrkal.eu, 1 herrman.tk, 1 herrns.cloud, 1 @@ -66268,6 +66294,7 @@ hersmartchoice.com, 1 herthaloewen.tk, 1 hertie.de, 1 hertsbouncycastles.com, 1 +hertshealthyworkplace.org.uk, 1 heru.tk, 1 herumixer.ga, 1 herus.net.pl, 1 @@ -66331,9 +66358,9 @@ hetvezercsarda.hu, 1 hetwalhalla.nl, 1 hetwebsitebedrijf.nl, 1 heureetka.fr, 1 -heureka.fi, 1 heureka2.com, 1 heute-kaufen.de, 1 +heute-wohnen.de, 1 heute.training, 1 heutger.de, 1 heutger.net, 1 @@ -66389,6 +66416,7 @@ heybookmark.ga, 1 heybookmark.gq, 1 heybritney.tk, 1 heybyrdie.com, 1 +heydenbluth.de, 1 heydorff.duckdns.org, 1 heyfiesta.com, 1 heyghost.io, 1 @@ -66458,6 +66486,7 @@ hhank.com, 1 hhdelfland.nl, 1 hhdy3.com, 1 hhhdb.com, 1 +hhpcorp.org, 1 hhristov.tk, 1 hhs.gov, 1 hhsrocketry.tk, 1 @@ -66501,10 +66530,10 @@ hiddenhillselectric.com, 1 hiddenhillselectrical.com, 1 hiddenhillselectrician.com, 1 hiddenhillsexteriorlighting.com, 1 -hiddenhillslandscapelighting.com, 1 hiddenhillslighting.com, 1 hiddenhillsoutdoorlighting.com, 1 hiddenimage.ml, 1 +hiddenlogicit.co.uk, 1 hiddenmalta.net, 1 hiddenpalms.tk, 1 hiddenredknights.tk, 1 @@ -66555,6 +66584,7 @@ higeniqcleaning.com.au, 1 higentexpo.com, 1 higginsroofing.com.au, 1 higgsboson.tk, 1 +high-company.com, 1 high-flying.co.uk, 1 high-ground.org, 1 high-heels.se, 1 @@ -66596,10 +66626,8 @@ highlatitudestravel.com, 0 highlevelwoodlands.com, 1 highlightsfootball.com, 1 highlightsfootball.net, 1 -highlnk.com, 1 highnation.ml, 1 highperfection.com, 1 -highperformance.ie, 1 highplainssiding.com, 1 highpressuretech.com, 1 highproject.site, 1 @@ -66628,7 +66656,6 @@ hightimes.com, 1 hightop.com, 0 highway11north.tk, 1 highway54.tk, 1 -highway71autoparts.com, 1 highwaytohoell.de, 1 highwayzen.org, 1 highworldnet.ga, 1 @@ -66656,6 +66683,7 @@ hiking-site.nl, 1 hikingmonthlyers.ga, 1 hikingmonthlyest.ga, 1 hikka.ru, 1 +hikkoseek.jp, 1 hikyu.it, 0 hilahdih.cz, 1 hilalnews.ga, 1 @@ -66702,7 +66730,7 @@ hiltonfoundation.org, 1 hiltonhylandluxurycondos.com, 1 hilunetan.tk, 1 himalaja-kender.hu, 1 -himalaya-masala.at, 1 +himalaya-masala.at, 0 himarijuana.tk, 1 himawari-scanlator.tk, 1 himawari-shika.org, 1 @@ -66778,6 +66806,7 @@ hippogriffhaven.net, 1 hippolini-herold.de, 1 hippomovers.com, 1 hippopotamuses.org, 1 +hiprosun.com, 1 hips.com, 1 hipstermamaproductions.com, 1 hipsterpixel.co, 1 @@ -66824,10 +66853,9 @@ hiroshima-lpg-shien.jp, 1 hirotaka.org, 1 hirsch-lawyer.tk, 1 hirschbergertal.de, 1 -hirschl.eu, 1 hirtz.pm, 1 hirtzfr.eu, 1 -hiru.top, 1 +hiru.top, 0 hirumo.com, 1 hirunet.ml, 1 hiruthicsha.com, 1 @@ -66930,6 +66958,7 @@ hitter.family, 1 hitterfamily.com, 1 hittop.tk, 1 hittra.eu, 1 +hitwit.ai, 1 hiv-symptome.de, 1 hiv.com.tw, 1 hiv.gov, 1 @@ -66961,7 +66990,6 @@ hj111777.com, 0 hj2375.com, 0 hj3586.com, 0 hj3639.com, 0 -hj5386.com, 0 hj555.cc, 1 hj556.cc, 1 hj6298.com, 0 @@ -67000,6 +67028,7 @@ hk130.com, 1 hkamran.com, 1 hkas.org.hk, 1 hkconcept.lu, 1 +hkd.cn, 1 hkgix.net, 1 hkl-gruppe.de, 1 hkmap.co, 1 @@ -67068,6 +67097,7 @@ hmlpoc.com.br, 1 hmnd.io, 1 hmodapk.com, 1 hmp.sc, 1 +hmpc.church, 1 hms-networks.com, 0 hms-zentrum.de, 1 hmshost.com, 1 @@ -67086,6 +67116,7 @@ hno-norderstedt.de, 1 hnojik.cz, 1 hnsseed.com, 1 hntuin.nl, 1 +hnwlaw.com, 1 hny.co, 1 hnyp.hu, 1 hoaas.no, 1 @@ -67119,7 +67150,6 @@ hobokenpdnj.gov, 1 hobokenrecords.tk, 1 hobonline.tk, 1 hobroefterskole.dk, 1 -hoc-bv.nl, 1 hoccovua.vn, 1 hochatown.gov, 1 hochhaus.us, 1 @@ -67156,6 +67186,7 @@ hodgeman.gov, 1 hodgephotography.com, 1 hodi.dk, 1 hodi.host, 1 +hodnocenivass.lol, 1 hoe.re, 1 hoegl.com, 0 hoeheterobenjij.nl, 1 @@ -67226,7 +67257,6 @@ hokenselect.jp, 1 hokioisecurity.com, 1 hokkaido.tk, 1 hokko.de, 1 -hokqbet88.co, 1 hokuin.co.jp, 1 hokung.xyz, 1 holacannx.com, 1 @@ -67321,6 +67351,7 @@ holmesworkholding.co.uk, 1 holmium-laser.ru, 0 holmq.dk, 1 holmqvist.tk, 1 +holmr.eu, 1 holo.host, 1 holo.ovh, 1 holocron.one, 1 @@ -67378,7 +67409,11 @@ home-design.bg, 1 home-hunts.com, 1 home-insurance-quotes.tk, 1 home-iq.at, 1 +home-iq.be, 1 home-iq.cz, 1 +home-iq.es, 1 +home-iq.eu, 1 +home-iq.fi, 1 home-iq.fr, 1 home-iq.it, 1 home-iq.pl, 1 @@ -67558,6 +67593,7 @@ homeforeveryone.tk, 1 homeforfamily.tk, 1 homeformula.ga, 1 homeforum.tk, 1 +homefromhomecornwall.co.uk, 1 homegang.ga, 1 homegardendecoration.tk, 1 homegardengift.com, 1 @@ -67646,6 +67682,7 @@ homepropertyinfo.tk, 1 homepropertynews.tk, 1 homepropertyunique.tk, 1 homepropertyworld.tk, 1 +homeproroofing.com, 1 homeprotech.com, 1 homequality.tk, 1 homerail.ga, 1 @@ -67669,7 +67706,6 @@ homeshowoff.com, 1 homesonic.ga, 1 homesport.es, 1 homespunhouse.tk, 1 -homespure.com, 1 homestamp.ga, 1 homestead-honey.com, 1 homesteadfarm.org, 1 @@ -67694,7 +67730,6 @@ homewebnews.tk, 1 homewidget.ga, 1 homewinner.ga, 1 homewish.ga, 1 -homewood.com, 1 homeworkacers.com, 1 homeworksuite.com, 1 homeworld.ga, 1 @@ -67725,7 +67760,6 @@ honbin.tw, 1 honda2wheelersindia.com, 1 honda2wheelersindia.in, 1 hondaactivindia.com, 1 -hondaarabia.com, 1 hondacustomerserviceexperience.com, 1 hondadigitalevent.com, 1 hondago-bikerental.jp, 1 @@ -67736,14 +67770,12 @@ hondapowerproducts.ph, 1 hondasancarlos.com, 1 hondaswap.com, 1 hondengedragscentrumfriesland.nl, 1 -hondensnacks.shop, 1 hondudiario.tk, 1 honest.ga, 1 honestblogers.ga, 1 honestblogest.ga, 1 honestworknmoney.tk, 1 honesty.com.pl, 1 -honey-whale.com, 1 honey.beer, 1 honeybhealthyliving.com, 1 honeybrooklibrary.org, 1 @@ -67768,7 +67800,6 @@ hongki.tk, 1 hongkongliberate.com, 1 hongkongwillwin.com, 1 hongnguyen.tk, 1 -hongo-ganka.com, 1 hongocha.tk, 1 hongorw.tk, 1 hongosdemexico.tk, 1 @@ -67790,7 +67821,6 @@ hoo.lt, 1 hooapp.lt, 1 hood-epc.xyz, 1 hoodiessouthafrica.com, 1 -hoodoo.io, 1 hoodoo.tech, 1 hoodrivercounty.gov, 1 hoodsite.com, 1 @@ -67810,6 +67840,7 @@ hookbin.com, 1 hookedoncraftswaterford.ie, 1 hookercountyne.gov, 1 hookshotdesign.com, 1 +hooliapp.com, 1 hoolibit.com, 1 hooliganka.tk, 1 hooliganz.tk, 1 @@ -67817,6 +67848,7 @@ hoon.tk, 1 hoooc.com, 1 hoop.la, 1 hooperlabs.xyz, 1 +hoopernewton.com, 1 hoopertechnicalsolutions.com, 1 hooprelief.tk, 1 hoopweb.org, 1 @@ -67831,7 +67863,6 @@ hootworld.net, 0 hoovism.com, 1 hop-ict.nl, 1 hop.exchange, 1 -hope.com, 1 hopeandhealing.cz, 1 hopeforlorn.tk, 1 hopefultexas.com, 1 @@ -67877,7 +67908,6 @@ horeco.com, 1 horgenberg.com, 1 horiconwi.gov, 1 horikawa-cement.co.jp, 1 -horionimoveis.com.br, 1 horizon.ne.jp, 1 horizonlawncare.tk, 1 horizonmail.ga, 1 @@ -67922,7 +67952,6 @@ horozo.com, 1 horrell.ca, 1 horrendous-servers.com, 1 horror-forum.de, 1 -horrordor.eu.org, 1 horrordor.tk, 1 horrorfreaks.tk, 1 horrormovies.gr, 1 @@ -67944,6 +67973,7 @@ horsellscoutsandguides.com, 1 horsemanshipdentistry.com, 1 horsemanshipdentistryschool.com, 1 horseplanet.tk, 1 +horseridingdurban.com, 1 horsewithnoname.com, 1 horsgroup.com, 1 horsky.me, 1 @@ -68005,7 +68035,6 @@ host-heberg.com, 1 host-morezar.ml, 1 host-stage.net, 1 host.ax, 1 -host.com.tw, 1 host1oc.eu.org, 1 host24.com.pk, 1 hostadvice.com, 1 @@ -68029,6 +68058,7 @@ hostedghost.eu, 1 hostedghost.net, 1 hostedghost.nl, 1 hostedghost.org, 1 +hostedincanada.com, 1 hostedtalkgadget.google.com, 1 hostelacion.com, 1 hostelaciones.com, 1 @@ -68072,7 +68102,6 @@ hostingsupremo.com, 1 hostingsvizzera.com, 1 hostingtg.com, 1 hostingtipps.eu, 1 -hostingweb.pe, 1 hostinkos.com, 1 hostinvest.tk, 1 hostitforcheap.com, 1 @@ -68106,6 +68135,7 @@ hot-models.tk, 1 hot-sex-photos.com, 1 hot-spa.ch, 0 hot.in.th, 1 +hot.v.ua, 1 hot101fm.tk, 1 hotaircoldlove.tk, 1 hotaru.tk, 1 @@ -68145,6 +68175,7 @@ hotel-du-parc-allevard.fr, 1 hotel-fleuralp.it, 1 hotel-garni-letizia.it, 1 hotel-gruenwald.it, 1 +hotel-insectes.be, 1 hotel-kontorhaus.de, 1 hotel-kornwestheim.de, 1 hotel-kronjuwel.de, 1 @@ -68310,8 +68341,8 @@ hourlyringtonesers.ga, 1 hourlyringtonesest.ga, 1 hoursofoperation.biz, 1 hourspent.com, 1 -house-cleaning-howtos.com, 1 house-sparrow.com, 1 +houseaid.org, 1 houseandgarden.co.uk, 1 houseareacanada.tk, 1 houseareaitaly.tk, 1 @@ -68404,7 +68435,6 @@ howardscholars.org, 1 howardsgrovewi.gov, 1 howardshaw.com, 1 howarh.com, 0 -howdo.nl, 1 howdoesmycode.work, 1 howdoyousaythis.com, 1 howdybikes.com, 1 @@ -68451,6 +68481,7 @@ howtomanagedevices.com, 1 howtomediacenter.com, 1 howtomovetheneedle.com, 1 howtoplayguitarlikeapro.com, 1 +howtoplaytheguitar.org, 1 howtopreventvulnerabilities.com, 1 howtorunfasterandlonger.com, 1 howtoslapsomeonethroughtheinternet.com, 1 @@ -68514,6 +68545,7 @@ hqproductreviews.com, 1 hqsy.net, 1 hqteas.com, 1 hqtrannytube.com, 1 +hquest.pro.br, 1 hqwebhosting.tk, 0 hqy.moe, 1 hqy2000.com, 1 @@ -68550,11 +68582,11 @@ hrgt.eu, 1 hristijanspirovski.tk, 1 hristos.com, 1 hriveralaw.com, 1 +hrizer.com, 0 hrjfeedstock.org, 1 hrjob.ml, 1 hrjob.tk, 1 hrk.aero, 1 -hrka.cc, 0 hrkfamilylaw.com, 1 hrknuddel.de, 1 hrlab.de, 1 @@ -68607,7 +68639,6 @@ hse-online.com, 1 hse-reglementaire.com, 1 hselectricalservices.com, 1 hsex.tv, 0 -hsg-lumdatal.de, 1 hsgms.de, 1 hshnetwork.net, 1 hsi.health, 1 @@ -68644,6 +68675,7 @@ hstspreload.org, 1 hstudio.tk, 1 hsturan.com, 1 hsutilitiesms.gov, 1 +hsvwilnis.nl, 1 hszemi.de, 1 ht.mk, 1 htaccessbook.com, 1 @@ -68730,6 +68762,7 @@ httpswatch.eu, 1 httpswatch.nl, 1 htvoutlet.com, 1 htxnet.biz, 1 +htyrq.com, 1 htzopremasrbija.co.rs, 1 hu-1xbet.com, 1 hu-a-u.com, 1 @@ -68755,7 +68788,6 @@ huangjiaint.com, 1 huangjingjing.com, 1 huangkevin.com, 1 huangqifu.com, 1 -huangshuo.net, 1 huangzenghao.cn, 0 huangzenghao.com, 1 huangzjnet.gq, 1 @@ -68777,13 +68809,13 @@ hubapi.com, 1 hubbardhouseugrrmuseum.org, 1 hubbaworld.tk, 1 hubbell.com, 1 -hubblogging.com, 1 hubchain.com, 1 hubchain.com.br, 1 hubchain.fr, 1 hubchain.io, 1 hubchain.org, 1 huber-informatik.de, 1 +hubex.ie, 0 hublaagram.ml, 1 hubnet.fr, 1 hubok.net, 1 @@ -68821,6 +68853,7 @@ hudu.com, 1 huduser.gov, 1 huecomundo.tk, 1 huehnerartikel.de, 1 +hueiyeh.com, 1 huelgajusticiaextremadura.tk, 1 huellasfestival.com, 1 huelvatrabaja.com, 1 @@ -68836,7 +68869,6 @@ huesitos.tk, 1 hueterecruiters.com, 1 hufelare.tk, 1 huffduffer.com, 1 -huffingtonwire.com, 1 huffsinsurance.com, 1 hug0.cz, 1 hugebeasters.ga, 1 @@ -68920,6 +68952,7 @@ human-shinri.com, 1 humana-medicaresupplement.com, 1 humanamente.tk, 1 humanbeing.tk, 1 +humanconstanta.org, 1 humanenrich.com, 1 humanesdemadrid.tk, 1 humanewolf.com, 1 @@ -68928,6 +68961,7 @@ humanhairgo.tk, 1 humanhealth.pl, 1 humanidad.tk, 1 humaninterest.com, 1 +humanisms.org, 1 humanistgruppen.tk, 1 humanit.com.au, 1 humanitiesacademicpublishers.com, 0 @@ -68939,6 +68973,7 @@ humanresourcesedu.org, 1 humanresourcesmanager.de, 1 humanrights.gov.au, 1 humanrights.tk, 1 +humanrightscareers.com, 1 humansense.nl, 1 humanservicesedu.org, 1 humanshiftpaper.com, 1 @@ -69009,6 +69044,7 @@ humpydumpy.tk, 1 humuluslupulus.de, 1 humus.tk, 1 hunanbank.com, 1 +hunaniinfotech.com, 1 hund.io, 1 hund.ml, 1 hundamosantena3.tk, 1 @@ -69018,6 +69054,7 @@ hundestudios.tk, 1 hundhausen.de, 1 hundimiento.com, 1 hundlee.tk, 1 +hundred100.net, 1 hundter.com, 1 hundur.tk, 1 hunedoara.tk, 1 @@ -69099,6 +69136,7 @@ hurtigtinternet.dk, 1 husakbau.at, 1 hushbabysleep.com, 1 hushfile.it, 1 +hushharbor.org, 1 hushpuppiesobuv.ru, 1 husic.net, 0 husky-in-nood.tk, 1 @@ -69164,6 +69202,7 @@ hwholdsworth.com.au, 1 hwinfo.tk, 1 hwjkk.com, 1 hwnd.io, 1 +hwr-barsinghausen.de, 1 hwsw.io, 1 hwvv.nl, 1 hwx8.com, 0 @@ -69203,7 +69242,6 @@ hybrydowe-samochody.pl, 1 hybula.com, 1 hycken.com, 1 hyckenberg.com, 1 -hyderabaddccb.org, 1 hyderabadonlinegifts.com, 1 hydra-interactive.com, 1 hydra.az, 1 @@ -69266,6 +69304,7 @@ hyparia.fr, 1 hyparia.org, 1 hypehub.tech, 1 hypelifemagazine.com, 1 +hypematrix.co.uk, 1 hypemgmt.com, 1 hyper-fit.nl, 1 hyper-matrix.org, 1 @@ -69279,7 +69318,6 @@ hyperautomotive.com.au, 1 hyperblast-universe.tk, 1 hyperbolecomics.com, 1 hyperbolic-mayonnaise-interceptor.ovh, 1 -hyperc.club, 1 hypercdn.de, 1 hypercritical.co, 1 hyperd.sh, 1 @@ -69339,9 +69377,12 @@ hypofix.de, 1 hypofixweb.de, 1 hypofixx.de, 1 hypofux.de, 1 +hypogeal.com, 1 hypokalkulacka.sk, 1 hypolife.de, 1 hypolineweb.de, 1 +hypolink.com, 1 +hypolive.de, 1 hyposoft.de, 1 hypotheca.ca, 1 hypotheekbond.nl, 1 @@ -69390,12 +69431,15 @@ i-0v0.in, 1 i-3c.co.jp, 1 i-am-cjc.tech, 1 i-am-seo.co.uk, 1 +i-buy-caravans.net, 1 i-cite.es, 1 i-connect.ie, 0 i-cyber.gov.ua, 1 +i-epi.org, 1 i-experts.nl, 1 i-fastnet.net, 1 i-forum.ga, 1 +i-gamingnews.com, 1 i-house.gq, 1 i-hoz.ru, 1 i-lab.ml, 1 @@ -69513,7 +69557,6 @@ iamlegend.ml, 1 iamlife.com, 1 iamlzh.com, 0 iamokay.nl, 1 -iamovement.org, 1 iamsadmax.ga, 1 iamsainknight.tk, 1 iamsamaskom.tk, 1 @@ -69523,14 +69566,13 @@ iamthesweetspot.com, 1 iamtonyarthur.com, 1 iamtp.com, 1 iamtrainsafe.co.uk, 1 -iamusingtheinter.net, 0 -iamyourpillow.com, 1 ian-barker.co.uk, 1 ian.sh, 0 ian678.com, 1 ian678.tk, 1 ianasheu.com, 1 ianbrault.com, 1 +ianbrown.id.au, 1 iancu.me, 1 iandouglasscott.com, 1 iane-ccs.com, 1 @@ -69576,7 +69618,6 @@ ibc-container.be, 1 ibc.com, 1 ibcl.us, 1 ibcmed.com, 1 -ibcmed.net, 1 ibcmed.org, 1 ibe.de, 1 ibeep.com, 0 @@ -69605,7 +69646,6 @@ ibidyoupeace.com, 1 ibiki-boushi-makura.net, 1 ibilog.net, 1 ibin.co, 1 -ibinex.news, 1 ibiu.xyz, 0 ibiz.mk, 1 ibizads.tk, 1 @@ -69632,7 +69672,6 @@ ibrainmedicine.org, 1 ibraphotography.com, 1 ibrom.eu, 1 ibron.co, 0 -ibroshop.com, 1 ibsasport.org, 1 ibsglobal.co.za, 1 ibsis.org, 1 @@ -69658,7 +69697,6 @@ icap.my, 1 icardistry.com, 1 icaremoving.com, 1 icareofficesolutions.com, 1 -icarlos.net, 1 icas-nsn.gov, 1 icasas.mx, 1 icasnetwork.com, 1 @@ -69672,6 +69710,7 @@ iccorporateinteriors.com.au, 1 iccupplatoon.tk, 1 iccxx.cn, 1 icd-codes.org, 1 +icd-s.com, 1 icddd.pl, 1 icdisinfection.com.au, 1 icdp.org.ua, 1 @@ -69734,7 +69773,6 @@ ichibanfansub.com.br, 1 ichibot.trade, 1 ichibot.vip, 1 ichigo.university, 1 -ichigoproduction.co.kr, 1 ichigoproduction.kr, 1 ichijoh.co.jp, 1 ichisound.ml, 1 @@ -69764,7 +69802,6 @@ iclg.com, 1 iclinic-mrt.ru, 1 iclinic.ua, 1 icloud.com, 1 -icloud.st, 1 icloudlogin.com, 1 icmarket.com, 1 icmtx.com, 1 @@ -69833,6 +69870,7 @@ icttindia.org, 0 icusignature.com, 1 icustomboxes.com, 1 icy.aq, 1 +icy.cn, 1 icyapril.com, 1 icycanada.com, 1 icydestiny.com, 0 @@ -69891,12 +69929,12 @@ idea.ws, 1 ideadozz.hu, 1 ideageek.net, 1 ideagenpentana.com, 1 +ideagroup.co.uk, 1 ideahub.tk, 1 ideahubnepal.org, 1 ideaklinik.com, 1 ideaklinikbursa.com, 1 ideaktiv.com, 1 -ideal-reality.com, 1 ideal-social.com, 1 ideal.shop, 1 idealabs.tk, 1 @@ -69927,6 +69965,7 @@ ideasdigitales2025.es, 1 ideasenfoto.com, 0 ideashop.com, 1 ideasinlab.com, 1 +ideasledgrowth.com, 1 ideau.pl, 1 ideaweb.de, 1 ideaweblab.com, 0 @@ -69939,15 +69978,15 @@ idee-lq.de, 1 idee-lq.net, 1 ideefactory.de, 1 ideericette.it, 1 -ideesrecettes.net, 1 idehvector.com, 1 ideiasefinancas.com.br, 1 ideice.gob.do, 1 -idemo.in, 1 +idemefa.store, 1 iden-tt.com, 1 iden-tt.net, 1 iden-tt.org, 1 idenamaislami.com, 1 +idenfit.com, 1 idensys.nl, 1 ident-clinic.be, 1 identa.io, 1 @@ -70005,7 +70044,6 @@ idlxb.com, 1 idmanagement.gov, 1 idmaster.ml, 1 idmmovers.com, 1 -idmobile.co.uk, 1 idmod.org, 1 idn.gov.pt, 0 idndomain.tk, 1 @@ -70029,6 +70067,7 @@ idraulico-roma.it, 1 idraulico.roma.it, 1 idream-solutions.co.uk, 0 idrissi.eu, 1 +idrix.com.ec, 1 idroot.us, 1 idropulsoredentale.shop, 1 idsafe.co.za, 1 @@ -70052,6 +70091,7 @@ idyl.fr, 1 idysse.com, 1 ie.edu, 1 ie.search.yahoo.com, 0 +ieap.it, 1 ieeesb.nl, 1 ieeesbe.nl, 1 ieeespmb.org, 1 @@ -70064,7 +70104,6 @@ iemb.cf, 1 iemc.pt, 1 iemsamex.com, 1 ienakacs.jp, 1 -ienakanote.com, 0 ienekolife.net, 1 ienergizer.com, 1 ieomidi.com, 1 @@ -70106,7 +70145,6 @@ ifengge.cn, 1 iffk.in, 1 ifgcdn.com, 1 ifh.cc, 1 -ifibe.com, 1 ifisher.xyz, 1 ifleurs.com, 1 iflixtv.ga, 1 @@ -70140,7 +70178,6 @@ iftrue.de, 0 ifur.ga, 1 ifwhenhow.org, 1 ifworlddesignguide.com, 1 -ifxd.bid, 1 ifxnet.com, 1 ifylofd.xyz, 1 ifyou.live, 1 @@ -70194,7 +70231,6 @@ igloopartnerportal.com, 1 igloopreview.ca, 1 igloosandbox.com, 1 iglosujemy.pl, 1 -igmedia.ir, 1 igmus.org, 1 ign-proprete.fr, 1 ignace72.eu, 1 @@ -70213,7 +70249,6 @@ ignitedmindz.in, 1 igniteenergy.co.uk, 1 igniteheatcool.com.au, 1 ignytebrands.com, 1 -igocarwraps.com, 1 igor-hristenko.tk, 1 igor-usov.tk, 1 igorandandre.com, 1 @@ -70250,6 +70285,7 @@ igry-onlayn.ru, 1 igryalawar.tk, 1 igshop.ir, 1 igsmgmt.com, 1 +igsmindia.org, 1 igsoc.org, 1 igt.com, 1 igualdaton.org, 1 @@ -70290,6 +70326,7 @@ ihostup.net, 1 ihouseu.com, 1 ihr-finanzcockpit.de, 1 ihr-hausarzt-kleinmachnow.de, 1 +ihr-laecheln.com, 1 ihre-ernaehrung.de, 1 ihre-pflege-sachsen.de, 1 ihrhost.com, 1 @@ -70352,6 +70389,7 @@ ijsclubtilburg.nl, 1 ijsselglas.nl, 1 ijubt.cf, 1 ijunohana.jp, 1 +ijustlove2travel.com, 1 ijustwanttomeetmyheroes.com, 1 ijzerwarenhandel.nu, 1 ika.monster, 1 @@ -70360,6 +70398,7 @@ ikall.com, 1 ikama.cz, 1 ikara.social, 1 ikari-san.tk, 1 +ikaria.com.gr, 1 ikaros.tk, 1 ikarus-itkurs.de, 1 ikasgela.com, 1 @@ -70400,6 +70439,7 @@ iks.moe, 1 iksi.cc, 1 iksi.me, 1 iksworld.kr, 1 +iksz.work, 1 iktisatbank.com, 0 ikuda.net, 1 ikudo.top, 1 @@ -70490,7 +70530,6 @@ illadrodimerendine.it, 1 illafuture.com, 1 illambias.ch, 0 illange.info, 1 -illative.net, 1 illavobuempliz.ch, 1 illegalpornography.com, 1 illegalpornography.me, 1 @@ -70511,13 +70550,11 @@ illorenese.fr, 1 illsley.org, 1 illu.ee, 1 illubel.com, 1 -illumed.net, 1 illumepgh.com, 1 illuminated-security.com, 1 illuminatelife.tk, 1 illuminaten.tk, 1 illuminatisocietyworldwide.org, 1 -illuminatiwatcher.com, 1 illumini.io, 1 illumis.com, 0 illusia.tk, 1 @@ -70628,6 +70665,7 @@ imagerive.ch, 0 imageshare.web.id, 1 imagetostl.com, 1 imagevillage.ir, 1 +imageworkscorporation.com, 1 imageworld.tk, 1 imagex.graphics, 1 imaginair.es, 1 @@ -70668,8 +70706,10 @@ imara-reiki.de, 1 imaret.com.tr, 1 imarkethost.co.uk, 1 imarketing.pe, 1 +imarotulos.com, 1 imask.ml, 1 imask.tk, 1 +imastudent.com, 1 imatraelekter.ee, 1 imawasn-consulting.com, 1 imaya.tk, 1 @@ -70678,6 +70718,7 @@ imbdagency.com, 1 imbianchino.roma.it, 1 imbit.tk, 1 imboom.tk, 1 +imbri.tech, 1 imbrian.org, 1 imbunatatiri-logan.tk, 1 imbushuo.net, 1 @@ -70731,10 +70772,12 @@ imi-rhapsody.eu, 0 imibo.com, 1 imicroscope.tk, 1 imidge.com.ua, 1 +imigen.org, 1 imigrasilampung.co.id, 1 imigrate.me, 1 imin.co, 1 imine.ru, 1 +iming.fr, 1 iminshell.com, 0 imirhil.fr, 1 imis.com.br, 1 @@ -70766,7 +70809,6 @@ immbruxelles.com, 1 immedia.net, 1 immedicohospitalario.es, 1 immense.ly, 1 -immersa.co.uk, 1 immersionclub.tk, 1 immersionwealth.com, 1 immersivewebportal.com, 1 @@ -70780,6 +70822,8 @@ immo-agentur.com, 1 immo-aval.org, 1 immo-express.ag, 1 immo-express.biz, 1 +immo-express.de, 1 +immo-express.eu, 1 immo-express.info, 1 immo-express.org, 1 immo-israel.ltd, 1 @@ -70858,6 +70902,7 @@ imobiliariaprofit.com.br, 1 imobiliariarealdream.com.br, 1 imobilien.tk, 1 imoe.fun, 0 +imojob.com, 1 imokuri123.com, 1 imolights.com, 1 imolights.net, 1 @@ -71006,7 +71051,6 @@ imro.ie, 1 imrozrum.k12.tr, 1 imrunner.com, 1 imrunner.ru, 1 -ims-dc.com, 1 ims-sargans.ch, 1 imsace.tk, 1 imstocker.com, 1 @@ -71032,11 +71076,13 @@ in-flame-team.com, 1 in-flames.com, 1 in-line.ru, 1 in-love.tk, 1 +in-our-nature.com, 1 in-star.com.ua, 1 in-ua.com, 1 in.search.yahoo.com, 0 in.xero.com, 0 in10tion.com, 0 +inab.me, 1 inaji.com, 1 inakasoftware.com, 1 inakipsikologoa.com, 1 @@ -71123,7 +71169,7 @@ inconsciente.tk, 1 incontactmetjezelf.nl, 1 inconvietnam.vn, 1 incore.com, 1 -incorp.asia, 1 +incorp.asia, 0 incorp.ph, 1 incorporatedstyle.com, 1 incowrimo.org, 1 @@ -71134,7 +71180,6 @@ incrediblez.tk, 1 increment.com, 1 incrementation.net, 0 increso.it, 1 -increyble.com, 1 incrom.com, 0 inculate.tk, 1 incurvy.de, 1 @@ -71143,7 +71188,6 @@ indamail.hu, 1 indata42.nl, 1 indatable.com, 1 indecente.tk, 1 -indeco.com.ec, 1 indecomm.com, 1 indeika.ml, 1 indeksonline.tk, 1 @@ -71330,6 +71374,7 @@ industrialcomputers.com, 1 industrialcontainer.com, 1 industrialgassprings.com, 1 industrialprecisionmfg.com, 1 +industriascruz.co, 1 industrilokal.com, 1 industrydecarbonization.com, 1 industryoutlaws.tk, 1 @@ -71339,7 +71384,6 @@ indybay.org, 1 indyperio.com, 1 indyroom.tk, 1 indyscouts.tk, 1 -inebula.it, 1 ineedmore.domains, 1 ineffect.net, 1 inefin.tk, 1 @@ -71363,7 +71407,6 @@ inevitavelbrasil.com.br, 1 inevo.com, 1 inevo.no, 1 inews.bg, 1 -inewsten.com, 1 inex.one, 0 inexlog.fr, 1 inexpensivecomputers.net, 1 @@ -71450,7 +71493,6 @@ inflatiecalculator.nl, 1 inflationstation.net, 1 inflexa.com, 1 inflexsys.com, 0 -infloat.de, 1 influencemobile.services, 1 influencestaging.services, 1 influentsolutions.ch, 1 @@ -71518,7 +71560,6 @@ infogamesports.tk, 1 infogate.ga, 1 infogram.com, 1 infogress.tk, 1 -infogrfx.com, 1 infogroups.ml, 1 infogym.com, 1 infohas.ma, 1 @@ -71542,7 +71583,7 @@ infomeddnews.com, 1 infomexico.tk, 1 infomikulcice.cz, 1 infomir.eu, 1 -infomir.store, 0 +infomir.store, 1 infomoney.com.br, 1 infonet.fr, 1 infopaperiguatemi.com.br, 1 @@ -71581,7 +71622,6 @@ informationdoorest.ga, 1 informationinhindi.tk, 1 informationliteracy.gov, 1 informationnetworkwebsite.com, 1 -informationntechnology.com, 1 informationrx.org, 1 informations-echafaudages.com, 1 informations-reglementees-sfil.fr, 1 @@ -71593,7 +71633,6 @@ informatiquefacile.fr, 1 informatiquenevers.fr, 1 informator.tk, 1 informelles.tk, 1 -informnapalm.org, 1 informspb.tk, 1 inforok.tk, 1 inforopub.tk, 1 @@ -71729,7 +71768,6 @@ ingalabs.hu, 1 ingatlanjogaszok.hu, 1 ingatlanneked.hu, 1 ingbusiness.pl, 1 -inge-deco.com, 1 inge-r.nl, 1 ingebroer.com, 1 ingegnereambientale.tk, 1 @@ -71737,7 +71775,9 @@ ingemmologie.com, 1 ingenesis.com, 1 ingeni.ink, 1 ingenieriaclinica.org, 0 +ingenieurbatiment.com, 1 ingenieure-website.de, 1 +ingenieurtp.com, 1 ingenious-development.tk, 1 ingenium.si, 1 ingeniumsociety.tk, 1 @@ -71828,6 +71868,7 @@ inkedin.com, 1 inkeliz.com, 1 inkerotic.com, 1 inkerz.com.br, 1 +inkflaremagazine.com, 1 inkforall.com, 1 inkhor.se, 1 inkhub.com.au, 1 @@ -71855,7 +71896,6 @@ inlimiters.ga, 1 inlimitest.ga, 1 inline-online.tk, 1 inline-sport.cz, 1 -inlinea.ch, 1 inlineskates.tk, 1 inlink.ee, 1 inlink.ltd, 1 @@ -71887,9 +71927,11 @@ inmucrom.es, 1 inmuseworld.tk, 1 inmusicfestival.com, 1 inmyhead.tk, 1 -innainnaki.net, 1 innatocol.com, 1 inncoaching.nl, 1 +innectsphere.ca, 1 +innenraumgestaltung.com, 1 +inner-change-mastery.com, 1 inner-vision.tk, 1 innerdarkside.tk, 1 innerfence.com, 1 @@ -71930,7 +71972,6 @@ innova-scape.info, 1 innovacoachgroup.com, 1 innovae.eu, 0 innovairservices.ch, 0 -innovamag.com, 1 innovaptor.at, 1 innovaptor.com, 1 innovasistemas.com, 1 @@ -71967,9 +72008,10 @@ inoa8.com, 1 inoapps.com, 1 inocelda.com, 1 inoio.de, 1 +inokolab.net, 1 inomics.com, 1 inondation.ch, 0 -inorbit.io, 1 +inorbit.io, 0 inorden.se, 1 inoreader.com, 1 inorigo.com, 1 @@ -72021,6 +72063,7 @@ insaneair.co.uk, 1 insanedevs.com, 1 insanepyro.tk, 1 insanity.zone, 1 +insankamil.com, 1 insblauehinein.nl, 1 inschrijfformulier.com, 1 inscom.events, 1 @@ -72033,7 +72076,6 @@ insecret.ua, 1 insecure.org.je, 1 insegne.roma.it, 1 insemed.de, 1 -inserior.com, 1 inserta.tk, 1 insertcoins.net, 1 insertcredit.com, 1 @@ -72049,15 +72091,8 @@ insideastronomy.tk, 1 insideaudit.com, 1 insidebeach.com.br, 1 insidebedroom.com, 0 -insideevs.com, 1 -insideevs.com.ar, 1 -insideevs.com.tr, 1 -insideevs.de, 1 -insideevs.fr, 1 -insideevs.ru, 1 insidegnss.com, 1 insidehook.com, 1 -insideofgaming.de, 1 insideperu.tk, 1 insideprisonbreak.tk, 1 insider-invest.tk, 1 @@ -72083,7 +72118,6 @@ insolved.com, 1 insomnia-isterica.tk, 1 insomniac.pl, 1 insomniac.ro, 1 -insomniachelp.com, 1 insono.no, 1 insouciant.org, 1 inspektre.com, 0 @@ -72097,7 +72131,6 @@ inspire2rise.com, 1 inspired-builds.co.uk, 1 inspired-creations.co.za, 1 inspired-lua.org, 1 -inspiredbyannefrank.com, 1 inspiredelements.co.uk, 1 inspiredentalwellness.com, 1 inspiredhousewife.com, 1 @@ -72229,7 +72262,6 @@ insurebuysest.ga, 1 insured-event.tk, 1 insuredcloud.ga, 1 insuredcreativity.com, 1 -insuredonline.in, 1 insuremycar.ru, 1 insureon.com, 1 insurethebox.tk, 1 @@ -72404,7 +72436,6 @@ interdc.com, 1 interdc.nl, 1 interdescargas.tk, 1 interdez.com.ua, 1 -interesnyimir.com, 1 interessengemeinschaft-pregelstrasse.tk, 1 interesting.ac.cn, 1 interestingfacts.gq, 1 @@ -72544,10 +72575,12 @@ interparcel.com, 1 interphoto.by, 1 interplex.com, 1 interpol.gov, 1 +interpret.cn, 1 interpretacjawynikowbadan.info.pl, 1 interprete.tk, 1 intersectionconsultancy.co.uk, 1 -interseguro.pe, 1 +intersein-landshut.de, 1 +intersein-sangha-landshut.de, 1 interseller.io, 1 intersexualite.tk, 1 intersitios.com, 1 @@ -72631,6 +72664,7 @@ intrepidmedia.tk, 1 intrepy.com, 1 intrigue3d.com, 1 intrixgroup.com, 1 +intrnl-api.ru, 1 intro.management, 1 intron.pw, 1 intropickup.ru, 1 @@ -72780,6 +72814,7 @@ invidious.rocks, 1 invidis.de, 1 invincia.com, 1 invinoaustria.cz, 1 +invisacore.com, 1 invisia.com.br, 1 invisible-college.com, 1 invisible.io, 1 @@ -72843,6 +72878,7 @@ iodu.re, 1 ioga.tk, 1 iogm-official.id, 1 iograficathemes.com, 1 +ioh.lol, 1 iolabs.io, 1 ioliver.co.uk, 1 iololi.com, 1 @@ -72880,7 +72916,6 @@ ios11018.com, 1 iosartstudios.gr, 1 iosco.org, 1 iosecurity.co.za, 1 -iosgeekblog.com, 1 iosjailbreakiphone.com, 0 iosme.ga, 1 iosolutions.cl, 1 @@ -72890,6 +72925,7 @@ iostream.by, 1 iosxr.de, 1 iot-alliances.com, 1 iotac.xyz, 1 +iotaker.jp, 1 iotanodes.org, 1 iotbusinessforum.com.br, 1 iotekha.tv, 1 @@ -72907,7 +72943,6 @@ iowacorncountry.com, 1 iowadol.gov, 1 iowaintex.gov, 1 iowamissingpersons.gov, 1 -iowaneedsanewkim.com, 1 iowarawmilk.net, 1 iowaschoolofbeauty.com, 1 iowasmokefreeair.gov, 1 @@ -72945,7 +72980,7 @@ ipadr.is, 1 ipal.im, 1 ipal.name, 1 ipal.tel, 1 -ipanchev.com, 1 +ipanda.biz, 1 iparenda.tk, 1 iparkki.com, 1 ipcc-wg3.gov, 1 @@ -73017,6 +73052,7 @@ ipomue.com, 1 ipon.hu, 1 ipon.ro, 1 iposm.net, 0 +ipost.rocks, 1 ipoteka.az, 1 ipow.tk, 1 ipperde.tk, 1 @@ -73075,6 +73111,7 @@ ipv6.gr, 1 ipv6.jetzt, 0 ipv6.pictures, 1 ipv64.net, 0 +ipv6china.com, 1 ipv6ioffentligsektor.se, 1 ipv6vpn.net, 1 ipvbook.com, 0 @@ -73180,7 +73217,6 @@ irf2.pl, 1 irfanweb.cf, 1 irfs.org, 1 irgit.pl, 1 -iricky.art, 1 iridescentsun.com, 1 iridiumbrowser.de, 1 irina-beauty.de, 1 @@ -73246,6 +73282,7 @@ ironcage.tk, 1 ironcladapp.com, 1 ironcross.tk, 1 irondequoit.gov, 1 +irondoorservices.com, 1 ironfistdesign.com, 1 ironfittings.com.br, 1 irongym.tk, 1 @@ -73322,7 +73359,7 @@ isaaya.com, 1 isab.run, 1 isabelaflores.com, 1 isabelcaviedes.com, 1 -isabellahoopsentertainment.com, 1 +isabellahoopsentertainment.com, 0 isabellainlove.com, 1 isabellamelodia.com, 1 isabellavandijk.nl, 1 @@ -73358,6 +73395,7 @@ isc2estoniachapter.ee, 1 iscert.org, 1 ischia2.it, 1 ischool.co.jp, 1 +iscloud.org, 1 iscontrol.com.mx, 1 iscrizioniexpofelina.it, 1 iscultas.pp.ua, 1 @@ -73416,8 +73454,6 @@ iskanderbroere.nl, 1 iskaron.de, 1 iskaz.rs, 1 iskconbd.org, 1 -iskconperth.com, 1 -iskin.xyz, 0 iskkk.com, 1 iskkk.net, 1 iskorka.tk, 1 @@ -73442,6 +73478,7 @@ islamerkantho.com, 0 islamfirst.ml, 1 islamicacademy.tk, 1 islamicarchitecturalheritage.com, 1 +islamicnamess.info, 1 islamicnews.tk, 1 islamicsolution.tk, 1 islaminbremen.de, 0 @@ -73551,7 +73588,6 @@ israel-nadlan.com, 1 israel-real.estate, 1 israel-web.com, 1 israel21c.org, 1 -israelandantisemitism.com, 1 israelandhome.com, 1 israelbiblicalstudies.com, 1 israelcareersers.ga, 1 @@ -73638,7 +73674,7 @@ istorrent.is, 1 istratov.tk, 1 istrosec.com, 1 istrosec.org, 1 -istschonsolangeinrente.de, 1 +istschonsolangeinrente.de, 0 istsi.org, 1 istudentpro.ml, 1 istudio.one, 1 @@ -73786,7 +73822,6 @@ itdoneproperly.com, 1 itds-consulting.com, 1 itds-consulting.eu, 1 itdutchie.com, 1 -itechbrand.com, 1 itechfast.tk, 1 itechpros.com.au, 1 itecor.net, 0 @@ -73822,6 +73857,7 @@ itgoesupent.com, 1 itgoesupentertainment.com, 1 ithakama.com, 1 ithakama.cz, 1 +ithca.om, 1 ithenrik.com, 1 ithillel.ua, 1 ithinc.net, 1 @@ -73833,6 +73869,7 @@ itidying.com, 1 itikon.com, 1 itilo.de, 0 itinerance.ca, 1 +itinerariummentis.org, 1 itinero.xyz, 1 itioc10.tk, 1 itis.gov, 1 @@ -73856,7 +73893,6 @@ itmindscape.com, 1 itmustbee.com, 1 itmx.cc, 0 itnet.com.ua, 1 -itninja.one, 1 itnota.com, 1 itnow.ng, 1 itnsusa.com, 1 @@ -73948,6 +73984,8 @@ itsoft.ru, 1 itsok.de, 1 itsok.link, 1 itsoluciones.com.co, 1 +itsourauckland.co.nz, 0 +itsourauckland.nz, 1 itspartytimeonline.co.uk, 1 itspartytimesweetinflations.com, 1 itspersonalizeders.ga, 1 @@ -73959,7 +73997,6 @@ itssolidest.ga, 1 itsstefan.eu, 1 itstartswithme.ca, 1 itstatic.tech, 1 -itstimetravel.com, 1 itsuitsyou.co.za, 1 itsuka-world.com, 1 itsundef.in, 0 @@ -74006,6 +74043,8 @@ itzine.ru, 1 itzkavin.tk, 1 itzlive.tk, 1 iubuniversity.tk, 1 +iupibaby.pt, 1 +iuppiter-ssd.it, 1 iurisnovagestion.es, 0 iusedtobelieve.com, 1 iuspenal.com, 1 @@ -74056,7 +74095,6 @@ ivifashion.tk, 1 ivioschool.nl, 1 ivisa.ga, 1 ivisitkorea.com, 1 -ivisitorinsurance.com, 1 ivixor.ru, 1 ivjose.com, 0 ivkom.com, 1 @@ -74066,7 +74104,6 @@ ivmstatus.com, 1 ivn555.tk, 1 ivn777.tk, 1 ivn888.tk, 1 -ivn999.com, 0 ivnext.org, 1 ivo-ouwerkerk.nl, 1 ivo.co.za, 1 @@ -74099,6 +74136,7 @@ ivyandrose.co, 1 ivyhelpers.com, 1 ivypanda.com, 1 ivyseeds.cf, 1 +iw.net.sa, 1 iwalton.com, 1 iwant.cz, 1 iwantexchange.com, 1 @@ -74120,7 +74158,6 @@ iwd.gc.ca, 1 iwebdna.com, 1 iwebing.tk, 1 iweblab.it, 1 -iwebolutions.com, 1 iwebsolution.tk, 1 iwec.pk, 1 iwex.swiss, 1 @@ -74353,7 +74390,6 @@ jackets-coatsplus.tk, 1 jackets-for-men.tk, 1 jackf.me, 1 jackgames.net, 1 -jackgreiner.ca, 1 jackhammerinteractive.com, 1 jackhoodtransportation.com, 1 jackienguyen.dk, 1 @@ -74363,7 +74399,6 @@ jackinmybox.com, 1 jackjack.ga, 1 jackmail.tk, 1 jackmcgregor.uk, 1 -jackmechanic.com, 1 jackob.tk, 1 jackops.com, 1 jackpothappy.com, 1 @@ -74428,7 +74463,7 @@ jadchaar.me, 1 jadedmonkey.tk, 1 jadehairstyle.nl, 1 jadelsbach.de, 1 -jadesong.cn, 1 +jadesong.cn, 0 jadesong.net, 1 jadid-alwadifa.com, 1 jadidgroup.com, 1 @@ -74439,6 +74474,7 @@ jaduniv.cf, 1 jae.su, 1 jae.zone, 1 jaeger.link, 1 +jaehealthservices.com, 1 jaehyeon.it, 1 jaenparaisointerior.es, 1 jaepinformatica.com, 1 @@ -74446,7 +74482,6 @@ jaetech.org, 1 jafarmehdipor.ga, 1 jag-meccar.tk, 1 jaga-me.com, 1 -jagad.id, 1 jagadhatrionline.co.in, 1 jagaimo.works, 1 jagan.be, 1 @@ -74498,7 +74533,6 @@ jakarta-tourism.go.id, 1 jakarta.ee, 1 jakartaone.org, 1 jakartaurbanhosting.com, 1 -jakdelatseo.cz, 1 jake.eu.org, 1 jake.ml, 1 jake.nom.za, 1 @@ -74506,7 +74540,6 @@ jake.rodeo, 1 jakegyllenhaal.ga, 1 jakemansfield.com, 1 jakereynolds.co, 1 -jakeross.me, 1 jakerullman.com, 0 jakeslab.tech, 1 jakewales.com, 1 @@ -74526,9 +74559,7 @@ jakpremyslet.cz, 1 jakse.fr, 1 jaksi.io, 1 jaktang.com, 1 -jakub-boucek.cz, 1 jakubarbet.eu, 1 -jakubboucek.cz, 1 jakubklimek.com, 1 jakubmeysner.com, 1 jakubsindelar.cz, 1 @@ -74646,7 +74677,6 @@ jammysplodgers.co.uk, 1 jamonesrute.com, 1 jamonsilva.com, 1 jamstack.icu, 1 -jamstallt.se, 1 jamstatic.fr, 0 jamukmod.com, 1 jamusa.tk, 1 @@ -74655,7 +74685,6 @@ jan-and-maaret.de, 1 jan-becker.com, 1 jan-bretschneider.de, 1 jan-bucher.ch, 1 -jan-daniels.de, 1 jan-graca.tk, 1 jan-hill.com, 1 jan-melcher.de, 1 @@ -75020,7 +75049,6 @@ jboho.com, 1 jbond.tk, 1 jbootsma.com, 1 jbradaric.me, 1 -jbridal.com.au, 1 jbs-jardins.ch, 0 jbs.com.br, 1 jbsinternational.com, 1 @@ -75138,10 +75166,10 @@ jdscastlehire.co.uk, 1 jdsecurity.com.au, 1 jdsoft.eu, 1 jdtangney.com, 1 +jdtcc-llc.com, 1 jdtic.com, 1 jdtrust.net, 1 jdtrust.one, 1 -jduarte.xyz, 1 je-vends.fr, 0 je-voyage.net, 1 je.net.cn, 1 @@ -75177,7 +75205,6 @@ jeans-moda.tk, 1 jeans-shopping.tk, 1 jeans-stores.tk, 1 jeansbutik.tk, 1 -jeansdemodacol.com, 1 jeanslee.tk, 1 jeansmoda.tk, 1 jeansstyle.tk, 1 @@ -75407,6 +75434,7 @@ jerusalempersonals.ml, 1 jerusalempersonalsers.ga, 1 jerusalempersonalsest.ga, 1 jerusalemplus.tv, 1 +jescobrick.com, 1 jesec.cn, 1 jesec.io, 1 jesen.org, 1 @@ -75467,7 +75495,6 @@ jesusda.tk, 1 jesusdenazaret.com, 1 jesusnazarenobaena.tk, 1 jesusplusnothing.com, 1 -jesusthegoodshepherd.org, 1 jesusvasquez.tk, 1 jet-lend.ru, 1 jet.su, 1 @@ -75501,6 +75528,7 @@ jettlarue.com, 1 jettshome.org, 1 jetular.com, 1 jetular.net, 1 +jetwashaustralia.com.au, 0 jetwhiz.com, 1 jetzt-elektromobil.de, 1 jeugdbrandweerbladel.tk, 1 @@ -75552,6 +75580,7 @@ jfjtransport.com, 1 jfklibrary.gov, 1 jflmsan.pt, 1 jfmdevelopment.ml, 1 +jfml.lu, 1 jforums.org, 1 jfr.im, 1 jfreitag.de, 1 @@ -75604,7 +75633,7 @@ jhonnyjose.com.ar, 1 jhost.gq, 1 jhuang.me, 1 jhw3d.com, 1 -jiacl.com, 1 +jiacl.com, 0 jiahao.codes, 1 jiai.cf, 1 jiai.gq, 1 @@ -75624,9 +75653,11 @@ jianren.cf, 1 jianren.ml, 1 jianshebingtuan.com, 1 jianwei.wang, 1 +jianyu-studio.com, 1 jianyu.io, 1 jianyuan.art, 1 jianyuan.pro, 1 +jianyv.com, 1 jianzhan.com, 1 jiaoliuben.com, 1 jiaoyu8.cn, 1 @@ -75668,8 +75699,9 @@ jiji.lk, 1 jiji.ng, 1 jiji.sn, 1 jiji.ug, 1 +jijiapp.net, 1 jijistatic.com, 1 -jikegu.com, 1 +jijistatic.net, 1 jikei-reha.com, 1 jikken.de, 0 jilaninteraktif.tk, 1 @@ -75775,6 +75807,7 @@ jixun.uk, 1 jiyou.pw, 0 jiyuu-ni.com, 1 jiyuu-ni.net, 1 +jizhazha.com, 1 jizzoh.com, 1 jizzoh.net, 1 jizzoh.org, 1 @@ -75847,6 +75880,7 @@ jm73umh.pw, 1 jm9.co, 1 jmanalansan.com, 1 jmango360.com, 1 +jmanzani.com, 1 jmap.support, 1 jmarciniak.it, 1 jmarineau.com, 1 @@ -75874,6 +75908,7 @@ jmonagas-portfolio.ml, 1 jmorahan.net, 1 jmp.chat, 1 jmpb.hu, 1 +jms.dy.fi, 1 jms8.net, 1 jmservices.pro, 1 jmsjms.cc, 1 @@ -75903,6 +75938,8 @@ jnmpainting.co, 1 jnmusicgroup.com, 1 jnr-industry.tk, 1 jns.org, 1 +jnsn.io, 1 +jnsn.onl, 1 jnssnfotografie.nl, 1 jnsz.hu, 1 jnx.dk, 1 @@ -75923,6 +75960,7 @@ joaoorvalho.com, 1 joaosampaio.com, 1 joaosampaio.com.br, 1 joaquimfialfotografia.com, 1 +joaquinrfs.com, 1 job-acasa.tk, 1 job-chocolat.jp, 1 job-goo.com, 1 @@ -75937,6 +75975,7 @@ jobanzeigen.de, 1 jobassadeurs.fr, 1 jobbkk.com, 1 jobbnorge.no, 1 +jobbois.com, 1 jobbsafari.no, 0 jobbsafari.se, 1 jobcenter.tk, 1 @@ -75956,9 +75995,11 @@ jobindex.dk, 1 jobit.gr, 1 joblife.co.za, 1 joblover.ml, 1 +jobmacon.com, 1 jobmarkt21.com, 1 jobnas.com, 1 joboutlook.gov.au, 1 +jobpeintre.com, 1 jobrus.ga, 1 jobrus.ml, 1 jobs-in-the-middle-east.tk, 1 @@ -75975,8 +76016,10 @@ jobscore.com, 1 jobscout24.ch, 1 jobseeker.com, 1 jobseekeritalia.it, 1 +jobsfimm.com, 1 jobsindemedia.nl, 1 jobsineachstate.com, 1 +jobsingulf.com, 1 jobsisbrown.com, 1 jobsjj.com, 1 jobskilled.co.za, 1 @@ -76011,6 +76054,7 @@ jodaniels.photography, 1 jodaviesscountyil.gov, 1 jodlajodla.si, 1 jodyboucher.com, 0 +jodyshop.com, 1 joe-st.de, 1 joe262.com, 1 joearodriguez.com, 1 @@ -76144,7 +76188,6 @@ johnmcc.net, 1 johnmcintosh.pro, 1 johnmellison.com, 1 johnmichel.org, 1 -johnmillerdesign.com, 0 johnmirenda.com, 1 johnno.be, 1 johnnybegood.tk, 1 @@ -76216,6 +76259,7 @@ jokewignand.nl, 1 joksara.tk, 1 jolette-hernandez.tk, 1 joletteperu.tk, 1 +jolicode.com, 1 jolienoir.net, 1 joliet.gov, 1 joliettech.com, 1 @@ -76298,6 +76342,7 @@ jongcaxent.tk, 1 jongenstromp.tk, 1 jongenwijs.gent, 1 jongerenkring.tk, 1 +jongminlab.com, 1 jongpay.com, 1 jongtonghapkido.tk, 1 jonilar.com, 1 @@ -76394,7 +76439,6 @@ jornadahypera.com.br, 1 jornalalerta.com.br, 1 jornalaquidf.com.br, 1 jornalero.tk, 1 -jornes.com, 0 jorsev.com, 1 jos-verstappen-fan.tk, 1 josaa.nic.in, 1 @@ -76535,6 +76579,7 @@ jouwzorgjob.be, 1 jovanmarkovic.ga, 1 jovenescontraelaburrimiento.tk, 1 jovic.hamburg, 1 +joviprest.ro, 1 jovisa.com.tw, 1 joweb.co, 1 jowm-jo.com, 1 @@ -76561,12 +76606,10 @@ joyousisle.com, 1 joyqi.com, 1 joysinventingblog.com, 1 joystickblog.tk, 1 -jozefjabczun.com, 1 jozefkvasnica.tk, 1 jozefmichalmintal.com, 1 jozefmutis.com, 1 jozefmutis.sk, 1 -jp.kg, 1 jp.md, 1 jp404.com, 1 jpan007.com, 1 @@ -76686,7 +76729,10 @@ jsemonjr.tech, 1 jsfloydlaw.com, 0 jsg.hk, 1 jsgr.ca, 1 +jsh.marketing, 1 jsh918.com, 1 +jsheard.com, 1 +jsheard.uk, 1 jsidefox.de, 1 jsjfact.com, 1 jsjohnsononline.com, 1 @@ -76702,11 +76748,11 @@ jsnfwlr.io, 0 jso-crescendo.ch, 1 json.download, 1 json.id, 0 +jsonprice.org, 1 jsonsinc.com, 1 jsonvalidator.tk, 1 jsourcery.com, 1 jsp-cloud.de, 1 -jspartnersinc.com, 1 jsphys.org.cn, 1 jspp2023.jp, 1 jsproxy.tk, 0 @@ -76735,6 +76781,7 @@ jtl-pos.com, 1 jtl-software.com, 1 jtl-software.de, 1 jtl-url.de, 1 +jtm.su, 1 jtmagen.com, 0 jtownacademy.com, 1 jtp.id, 1 @@ -76815,7 +76862,6 @@ jugendfeuerwehr-vechta.de, 1 jugendforum-schaafheim.de, 1 jugendhackt.org, 1 jugendpresse-hessen.de, 1 -jugendpresse.de, 1 jugendsuenden.info, 1 jugh.de, 1 jugoncalv.es, 1 @@ -76832,6 +76878,7 @@ juicipattiesfranchising.com, 1 juicycrones.org.uk, 1 juicydesigns.co.za, 1 juicyforum.com, 1 +jujineo.com, 1 jujutsuoulu.fi, 1 jujuygrafico.com.ar, 1 jukebox-manuals.tk, 1 @@ -76845,13 +76892,14 @@ jule-spil.dk, 1 julenetxaniz.eus, 1 julenlanda.com, 0 julesfrans.be, 1 -julesmiddleton.art, 1 julesroovers.nl, 1 julia-clarete.tk, 1 +julia-facon.pl, 1 julia-jones.org, 1 julia-spriggs.fr, 1 julia.school, 1 -juliahub.com, 1 +juliafagel.com, 1 +juliahub.com, 0 juliajuice.net, 1 juliakieser.de, 1 julian-miller.de, 1 @@ -77016,6 +77064,7 @@ junksleep.com, 1 junktojewels.com.au, 1 junkyardtuning.tk, 1 junlyu.org, 1 +junobaker.co.uk, 1 junomessenger.cf, 1 junshinkai.ed.jp, 1 junte.tk, 1 @@ -77061,6 +77110,7 @@ jurnalilmiah.com, 1 jurposluga.tk, 1 jurquestion.tk, 1 jurriaan.ninja, 1 +jurysync.com, 1 jusfitness.com.au, 1 jusha.cz, 1 juspay.in, 1 @@ -77127,7 +77177,6 @@ justinfreid.com, 1 justinho.com, 1 justinmanders.nl, 1 justinritter.de, 1 -justinsinkula.com, 1 justinstago.com, 1 justinstandring.com, 1 justkidsdental.com, 1 @@ -77139,7 +77188,6 @@ justmyblog.net, 1 justmysocks.xyz, 1 justnajoua.tk, 1 justneworleans.com, 1 -justninja.com, 1 justnu.se, 0 justor.ru, 1 justpass.co.uk, 1 @@ -77153,7 +77201,6 @@ justsa.co.za, 1 justsandro.tk, 1 justsellmycar.com, 1 justshare.tk, 1 -justt-watch-now.xyz, 1 justupdate.me, 1 justwannalearn.com, 1 justweather.org, 1 @@ -77188,7 +77235,6 @@ jvdz.nl, 1 jvega.me, 1 jvianes.ddns.net, 1 jvlfinance.cz, 1 -jvmcomunicacao.com.br, 1 jvphotoboothhire.co.uk, 1 jvspin.com, 1 jvspin13135.top, 1 @@ -77228,7 +77274,6 @@ jxm.in, 1 jxs.ch, 1 jxsmodafeminina.com.br, 1 jybrid.com, 1 -jydemarked.dk, 1 jyllandsakvariet.dk, 1 jyoba.co.jp, 1 jyoti-fairworks.org, 0 @@ -77242,6 +77287,7 @@ jzminimalist.com, 1 jztkft.hu, 1 jzwebdesign.ie, 1 jzz.cool, 1 +jzzfyw.com, 1 k-45.ru, 1 k-amenix.co.jp, 1 k-bone.com, 1 @@ -77271,6 +77317,7 @@ k234234.com, 1 k258059.net, 1 k29.ee, 1 k2industrial.com, 1 +k2lin.com, 1 k2velosi.com, 1 k36533.com, 1 k38.cc, 1 @@ -77334,16 +77381,13 @@ k88172.com, 1 k88256.com, 1 k88257.com, 1 k88259.com, 1 -k88302.com, 0 -k88306.com, 1 -k88312.com, 0 +k88312.com, 1 k88313.com, 1 k88327.com, 1 k886.co, 1 k88670.com, 0 k88672.com, 0 k889.co, 1 -k8892.com, 1 k89.app, 1 k8dalao.com, 1 k8didi.com, 1 @@ -77391,13 +77435,13 @@ kabel.ga, 1 kabel.gq, 1 kabel.ml, 1 kabeldiertje.nl, 1 -kabellegger.nl, 1 kabeltv.co.nz, 1 kabeuchi.com, 1 kabide.net, 1 kabinett.cz, 1 kabir.cf, 1 kabir.tk, 1 +kabist.com, 1 kablo.tk, 1 kabluchek.tk, 1 kabluchok.tk, 1 @@ -77435,6 +77479,7 @@ kadenba.ch, 1 kadence.tk, 1 kadenlegion.com, 1 kadeshcdc.org, 1 +kadestate.ru, 1 kadet.net.ru, 1 kadett-c-club-limburg.tk, 1 kadhal-kirukkan.tk, 1 @@ -77442,7 +77487,6 @@ kadidak.com, 0 kadifeli.com, 1 kadinbonesulsel.id, 1 kadinhaber.tk, 1 -kadinhayati.com, 1 kadinisci.org, 1 kadinsaglikhaber.tk, 1 kadinvesaglik.tk, 1 @@ -77474,7 +77518,6 @@ kagebyvyre.tk, 1 kagel.ch, 1 kagelmacher.ch, 1 kages.at, 1 -kaggle.com, 1 kagi.com, 1 kagicomb.org, 1 kagl.me, 1 @@ -77505,7 +77548,6 @@ kaijo-physics-club.work, 1 kaik.io, 1 kaika-facilitymanagement.de, 1 kaikei7.com, 1 -kaikrups.com, 1 kaileymslusser.com, 0 kaimassagechairs.com, 1 kaimi.io, 1 @@ -77559,7 +77601,6 @@ kakacon.nz, 1 kakan.ml, 1 kakaravaara.fi, 1 kakatu.ru, 1 -kakazai.com, 1 kakdolgonline.cf, 1 kakdoma-23.ru, 1 kakeru.cf, 1 @@ -77644,6 +77685,7 @@ kalogeropoulos-st.com, 1 kalohan.tk, 1 kaloix.de, 1 kalolina.com, 1 +kalolina.farm, 1 kalombo.ru, 1 kalompaturi.com, 1 kalpavriksh.org, 1 @@ -77687,7 +77729,6 @@ kameno-news.tk, 1 kamer.nl, 1 kamera.org.tr, 1 kamerpower.com, 0 -kamery.top, 1 kameryzababku.sk, 1 kamey-steuerberatung.de, 1 kameya.bg, 1 @@ -77742,7 +77783,6 @@ kanakdharaenterprise.com, 1 kanal-c.net, 1 kanal-schaefer.de, 1 kanal-tv-haensch.de, 0 -kanalasal.id, 0 kanalbutikken.no, 1 kanali.info, 1 kanapa.gq, 1 @@ -77765,6 +77805,7 @@ kandra.com.br, 1 kandrahechiceravudu.com, 1 kandrive.gov, 1 kanduit.live, 1 +kandwliquor.com, 1 kandycoated.com, 1 kanecastles.com, 1 kanecountyhospitalut.gov, 1 @@ -77840,6 +77881,7 @@ kaosintesta.tk, 1 kap-kirche.de, 1 kap.pe, 1 kapaci.com, 1 +kapageridis.com, 1 kapanlagi.gq, 1 kapelya.gq, 1 kapilarya.com, 1 @@ -77963,6 +78005,7 @@ karlin.run, 1 karlis-kavacis.id.lv, 1 karlis.tk, 1 karlislab.com, 1 +karllagerfeldvillasmarbella.com, 1 karlloch.de, 1 karlogavric.com, 1 karloluiten.nl, 1 @@ -78021,10 +78064,11 @@ kartacha.com, 1 kartalvincisletmeciligi.com, 1 kartar.net, 0 kartec.com, 1 +kartek.com, 1 kartenmarie.de, 1 kartenplanet.ch, 1 kartikmohta.com, 1 -karting-normandie.fr, 1 +karting-normandie.fr, 0 kartoffel-stampfer.com, 1 kartoffel-tobi.de, 1 kartonki.tk, 1 @@ -78056,7 +78100,6 @@ kashmirartquest.tk, 1 kashousing.tk, 1 kashta-svgeorgi.com, 1 kasiafricagroup.org, 1 -kasinobonus.com, 1 kasinoilmanrekisteroitymista.io, 1 kasinonetti.com, 1 kasinopartio.com, 1 @@ -78172,7 +78215,6 @@ kativa.it, 1 katja-nikolic-design.de, 1 katjapratschke.de, 1 katka.info, 1 -katmccormick.com, 1 katnunn.co.uk, 1 kato-yane.com, 1 katoikos.world, 1 @@ -78188,7 +78230,6 @@ katrinjanke.de, 0 katscastles.co.uk, 1 katsiavarasorthopedics.gr, 1 katsunet.com, 1 -katsushikacity-cashless.jp, 1 kattelans.de, 1 kattelans.eu, 1 kattelus.tk, 1 @@ -78209,6 +78250,7 @@ kaufhausdesaffen.com, 1 kaufkraftkiel.de, 1 kaufleute-sbh.de, 1 kaukauna.gov, 1 +kaunoleliuteatras.lt, 1 kauper.de, 1 kauperwood.ovh, 1 kaushal.tk, 1 @@ -78253,7 +78295,6 @@ kayakaventura.tk, 1 kayakcastro.tk, 1 kayakpolouniversidades.tk, 1 kayashkina.com, 1 -kaydan.io, 1 kayipkiliseler.com, 1 kayisir.com, 1 kayit.co.uk, 1 @@ -78262,10 +78303,11 @@ kaylielaw.com, 1 kayne.com, 1 kayon.cf, 1 kayscs.com, 1 +kayser-cs.lu, 1 kayseri.bel.tr, 1 kayserihaberleri.tk, 1 kaysville.gov, 1 -kaysvillechurch.com, 1 +kaysvillechurch.com, 0 kayteedidquiltsandmore.com, 1 kazakov.lt, 1 kazan-tury.ml, 1 @@ -78278,6 +78320,7 @@ kazap.co.uk, 1 kazard.co.za, 1 kazarmy.tk, 1 kazeso.kz, 1 +kazgeodor.kz, 1 kazigk.me, 1 kazino5.tk, 1 kazna.ml, 1 @@ -78292,6 +78335,7 @@ kazumi-clinic.com, 1 kazumi.ooo, 1 kazumi.ro, 1 kazuno-jc.or.jp, 1 +kazusa.uk, 1 kazvel.com, 1 kazvet.ru, 1 kazwolfe.io, 1 @@ -78358,7 +78402,6 @@ kcnwallet.com, 1 kcnxp.com, 1 kcomi.com, 1 kcor.org, 1 -kcpredict.com, 1 kcptun.com, 1 kcsconstructioncompany.com, 1 kcsh.men, 1 @@ -78378,7 +78421,6 @@ kdgd.de, 1 kdiender.nl, 1 kdistech.nz, 1 kdizain.ru, 1 -kdjsa.com, 1 kdk.com.my, 1 kdl-group.pl, 1 kdo-ma-dnes-svatek.cz, 1 @@ -78433,6 +78475,7 @@ keeb.supply, 1 keechain.io, 1 keeckee.ml, 1 keeforcecloud.com, 1 +keekee.tk, 1 keekmix.nl, 1 keelandlong.com, 1 keeleandfinchdentaloffice.com, 1 @@ -78463,6 +78506,7 @@ keepitweedy.com, 1 keepleft.gr, 1 keepsakedna.com, 1 keepsight.org.au, 1 +keepsmyrnabeautiful.com, 1 keepsolid.com, 1 keesmartens.tk, 1 keesslop.nl, 1 @@ -78540,12 +78584,10 @@ kell.tk, 1 kell3r.ch, 1 kellansite.com, 1 keller-aarau.ch, 1 -keller-sports.at, 1 keller-sports.be, 1 keller-sports.ch, 1 keller-sports.co.uk, 1 keller-sports.com, 1 -keller-sports.de, 1 keller-sports.dk, 1 keller-sports.es, 1 keller-sports.fr, 1 @@ -78639,7 +78681,6 @@ kenmo.org, 1 kennebec.gov, 1 kennedy.cf, 1 kennedy.ie, 1 -kennedycorrentes18k.com.br, 1 kennedyinsurancesolutions.com, 1 kenners.org, 0 kennethaasan.no, 1 @@ -78679,7 +78720,6 @@ kento.nl, 1 kentradioaeromodelers.com, 1 kentut.xyz, 1 kenvix.com, 0 -kenw.ca, 1 kenwood-electronics.co.uk, 1 kenwood.de, 1 kenwood.eu, 1 @@ -78689,7 +78729,7 @@ kenyonleblanc.com, 1 kenyons.info, 1 kenzelmann.eu, 1 kenzelmann.name, 1 -kenzie.com.br, 1 +kenzie.com.br, 0 keops-spine.fr, 1 keos.ga, 1 keos.tk, 1 @@ -78729,10 +78769,8 @@ kernel-error.de, 1 kernel-panik.me, 1 kernel-video-sharing.com, 1 kernel.nz, 1 -kernelone.com, 1 kernelpanics.nl, 1 kernelprogrammer.com, 0 -kernet.com.ar, 1 kernkompas.nl, 1 kerocristais.pt, 0 kerozenn.net, 1 @@ -78748,6 +78786,7 @@ kerstboomkantenklaar.nl, 1 kerstpagina.tk, 1 kersvers.agency, 1 kertis.tk, 1 +kertweb.hu, 1 kerus.net, 1 kervive.com, 1 kescher.at, 1 @@ -78819,6 +78858,7 @@ kevinchang.me, 1 kevincox.ca, 1 kevincoynepage.tk, 1 kevincramer.net, 1 +kevindreid.com, 1 kevinfigueroamusic.tk, 1 kevinfoley.org, 1 kevinfumbles.com, 1 @@ -78866,6 +78906,7 @@ keydelay.tk, 1 keyerror.com, 1 keyesrobot.cn, 1 keyfortech.com, 1 +keygate.estate, 1 keygen.sh, 1 keyhani.tk, 1 keyholdingservices.co.uk, 1 @@ -78884,7 +78925,6 @@ keypublishing.com, 1 keyroot.tech, 1 keys.fedoraproject.org, 1 keyscore.me, 1 -keyscouts.com, 1 keyserver.sexy, 0 keysigma.co.uk, 1 keysix.com, 1 @@ -78921,7 +78961,6 @@ kfc.bike, 1 kfgleasing.pl, 1 kfh.com, 1 kfirba.me, 1 -kfjgyb.com, 1 kfk.haus, 1 kfm.ink, 0 kfmhf.ca, 1 @@ -79027,6 +79066,7 @@ kialo-edu.com, 1 kialo-pro.com, 1 kialo.com, 1 kiamehr.tk, 1 +kiana.no, 1 kiano.net, 0 kiapartsnow.com, 1 kiapps.ovh, 1 @@ -79077,6 +79117,7 @@ kiddoscape.eu, 1 kiddyboom.ua, 1 kiddyland.co.jp, 1 kidfitseries.com.au, 1 +kidify.co.uk, 1 kidis.lt, 1 kidisov.tk, 1 kidm4k.com, 1 @@ -79107,6 +79148,7 @@ kidsontheyard.com, 1 kidspaper.nl, 1 kidsplace.tk, 1 kidsplaybouncycastles.co.uk, 1 +kidsthrive.ca, 1 kidstraysers.ga, 1 kidstraysest.ga, 1 kidswear.ml, 1 @@ -79114,7 +79156,6 @@ kidswear.tk, 1 kidswithguns.tk, 1 kidtoyshop.ru, 1 kidwater4ut.gov, 1 -kidz.school.nz, 1 kidzonet.io, 1 kidzpartiesllp.co.uk, 1 kidzsmile.co.uk, 1 @@ -79135,7 +79176,6 @@ kieranjones.uk, 1 kieranpotts.com, 1 kieranweightman.me, 1 kierlandgolf.com, 0 -kierweb.co.uk, 1 kiesjeplek.nl, 1 kiesmedia.com, 0 kiesuwarbeidsrechtadvocaat.nl, 1 @@ -79176,6 +79216,7 @@ kik.si, 1 kikbb.com, 1 kiki-voice.jp, 1 kikikanri.biz, 1 +kikipartyshop.com, 1 kikivega.net, 1 kikki.io, 1 kiku.pw, 1 @@ -79245,10 +79286,10 @@ kimmel.in, 0 kimmientje.tk, 1 kimochi.info, 1 kimono-furuya.com, 1 -kimono-hishiya.jp, 1 kimono-yamaguchiya.com, 1 kimonoplatform.com, 1 kimoo.co, 1 +kimoo.net, 1 kimotodental.com, 1 kimphattai.vn, 1 kimsesizlereumutol.tk, 1 @@ -79290,6 +79331,7 @@ kinanbudotenero.tk, 1 kinandcarta.com, 1 kinautas.com, 1 kincai.de, 1 +kind.fish, 1 kindan.net, 1 kindapoth.com, 1 kinde.com, 1 @@ -79347,6 +79389,7 @@ kinetikos.com.au, 1 kinetiq.com, 1 kinfule.tk, 1 king-of-the-castles.com, 1 +kingandi.blog, 1 kingandmcgaw.com, 1 kingant.net, 1 kinganywhere.eu, 1 @@ -79382,7 +79425,6 @@ kingpay.com, 1 kingpincages.com, 1 kingsaft.net, 1 kingsblueblue.com, 0 -kingsburybc.uk, 1 kingsfoot.com, 1 kingsfordmi.gov, 1 kingshome.gr, 1 @@ -79472,6 +79514,7 @@ kiomoda.com, 1 kionetworks.com, 0 kionetworks.es, 1 kioskcomedy.org, 1 +kioske.de, 1 kiosque-famille.net, 1 kiosquefamille.fr, 1 kiot.eu, 1 @@ -79489,16 +79532,17 @@ kipriakipita.gr, 1 kiprinform.com, 1 kiprotect.com, 1 kiprusoffsummers.tk, 1 +kipwells32.com, 1 kiraboshi.xyz, 1 kiragameforum.net, 1 kirahvi.me, 1 kirainmoe.com, 1 kirakorosi.tk, 1 -kiraku.co, 1 kiralikjeneratorankara.tk, 1 kirana.studio, 1 kiraqueen.net, 1 kirarie-kusatsu.com, 1 +kirayuna.com, 1 kirbear.com, 1 kirbyvt.gov, 1 kirche-bamberg.de, 1 @@ -79574,7 +79618,6 @@ kissmateszabolcs.hu, 1 kissmycreative.com, 1 kissoft.ro, 1 kisspeptin.com, 1 -kistenmacher.net, 1 kistipro.tk, 1 kisulki.tk, 1 kisumuterraceapartments.tk, 1 @@ -79592,6 +79635,7 @@ kitagawa-internal-medicine-clinic.com, 1 kitaharima-ikiiki.com, 1 kitchen-design.cf, 1 kitchen-design.tk, 1 +kitchenbatheurodesign.com, 1 kitchenguides.org, 1 kitchenkettle.com, 1 kitchenlove.tk, 1 @@ -79641,7 +79685,6 @@ kittatinny5.org, 1 kitten-advice-forum.cf, 1 kittenexchangeers.ga, 1 kittenexchangeest.ga, 1 -kittentoob.com, 1 kittitascounty.gov, 1 kittleapps.com, 1 kittmedia.com, 0 @@ -79741,6 +79784,7 @@ kkk208.com, 0 kkk209.com, 0 kkkkk.click, 1 kklb.de, 1 +kkmzt.com, 1 kknapredak-rubin.tk, 1 kkpig.cn, 0 kkpp.ga, 1 @@ -79812,10 +79856,11 @@ kleen.tk, 1 kleenkraftservices.com, 1 kleidertauschpartys.de, 1 kleim.fr, 1 +klein.paris, 1 +klein.yt, 1 kleinblogje.nl, 0 kleine-dingen.nl, 1 kleine-strandburg-heringsdorf.de, 0 -kleine-strandburg.com, 0 kleine-strolche-lich.de, 1 kleine-viecherei.de, 1 kleineanfragen.de, 1 @@ -79853,13 +79898,11 @@ kletskoek.com, 1 kleurbkennen.nl, 1 kleuro.nl, 1 klev.tk, 1 -klever.com.mk, 1 kleverltd.ru, 1 kli.is, 1 klickinvite.com, 1 klickstdu.com, 1 kliemann.me, 1 -klik3.nl, 0 klikacc.com, 0 klikarnia.pl, 1 kliki.tk, 1 @@ -79891,7 +79934,6 @@ klingenundmesser.com, 1 klinik-fuer-aesthetische-zahnheilkunde.de, 1 klinikac.co.id, 0 klinikasoyuz.ru, 1 -klinikatlantis.com, 1 klinikum-oberberg.de, 1 klinikum-oldenburg.de, 1 klinkenberg.ws, 1 @@ -80042,7 +80084,6 @@ knittingstory.cf, 1 knivesandblades.co.uk, 1 kniwweler.com, 1 knize.tech, 1 -knizhniy.com, 1 knjazevac.tk, 1 knjizevic.at, 0 knkv.nl, 1 @@ -80052,6 +80093,7 @@ knoffyoga.com, 1 knop.info, 0 knorrnet.de, 1 knotenpunkt-nbg.de, 1 +knotgroepuithoorn.nl, 1 knottcountyky.gov, 1 know.cf, 1 know2protect.gov, 1 @@ -80082,7 +80124,6 @@ knoxvilletnpolice.gov, 1 knrt.de, 1 knrt.eu, 1 knsrv.ml, 1 -knthost.com, 0 kntt.lt, 1 kntxt7.de, 0 knuckles.tk, 1 @@ -80112,7 +80153,6 @@ koberl.com, 1 kobet.tk, 1 kobezda.net, 1 kobieta.guru, 1 -kobietydokodu.pl, 1 kobikian.com, 1 kobil.com, 1 kobly.com, 1 @@ -80145,7 +80185,6 @@ kochura.tk, 1 kocka.cf, 1 kockanakocko.si, 1 kocovi.cz, 0 -kod13.com, 1 kod5.com, 1 kodak-ism.com, 1 kodama-dorayaki.co.jp, 1 @@ -80164,7 +80203,6 @@ kodineuerleben.eu, 1 kodioso.com, 1 kodkollen.com, 1 kodkollen.se, 1 -kodnistudio.com, 1 koe.dk, 1 koe.hn, 1 koe.kr, 0 @@ -80173,10 +80211,8 @@ koeeusa.org, 1 koef.nl, 1 koehlhoff.de, 1 koehn-consulting.com, 1 -koehn.com, 1 koelbli.ch, 1 koeldezomerdoor.nl, 1 -koelnerkarneval.de, 1 koelnmafia.de, 1 koelschs.de, 1 koenberkhout.nl, 1 @@ -80339,7 +80375,6 @@ komoraoze.cz, 1 komornikmroczek.pl, 1 komp-plus.tk, 1 komp247.pl, 1 -kompanen.nl, 1 kompaniya-vasya.tk, 1 kompetenzkurs.de, 1 kompiwin.com, 1 @@ -80388,7 +80423,6 @@ kongar.org, 1 kongjie.cf, 1 kongjie.ml, 1 kongress-hostessen.de, 1 -koniecfica.sk, 0 konijnen-knaagdieren.tk, 1 koningerik.nl, 1 konings.it, 0 @@ -80439,6 +80473,7 @@ kontikiindustries.tk, 1 kontist.com, 1 kontorhaus-stralsund.de, 1 kontracrew.tk, 1 +kontramarka.ua, 1 kontrapolis.info, 1 kontrastonline.tk, 1 kontrolapovinnosti.cz, 1 @@ -80472,9 +80507,7 @@ koolisw.tk, 1 koolitee.ee, 1 kooliveeb.ee, 1 koolkool.tk, 1 -koomaldreaming.com.au, 0 kooner.io, 1 -koood13.com, 1 koopdomeinnaam.nl, 1 koophost.nl, 1 kooplokaal.gent, 1 @@ -80501,7 +80534,6 @@ kopieid.be, 1 kopijosari.com, 1 kopipasta.cf, 1 kopisee.tk, 1 -kopitekno.com, 1 kopjethee.nl, 0 koplancpa.com, 1 koplax-online.com, 1 @@ -80520,8 +80552,10 @@ kor1xbet.com, 1 kora-go.tk, 1 korabi.tk, 1 korablino.tk, 1 +koragoool.com, 1 korancode.tk, 1 koranseruya.com, 1 +koraykir.com, 1 korbel-loziska.cz, 1 korben.info, 1 kordamed.ee, 1 @@ -80530,10 +80564,8 @@ kordamentha.com.au, 1 kordut.tk, 1 korea-1xbet.com, 1 korea-dpr.org, 1 -korea-onlinecasino.com, 1 korea1x-bet.com, 1 koreabestood.ga, 1 -koreaboo.com, 1 koreanfashion.tk, 1 koreanhouse.tk, 1 koreankiosk.ru, 1 @@ -80583,7 +80615,6 @@ kosara.bg, 1 koscielniak-nieruchomosci.pl, 1 kose.edu.ee, 1 koseven.ga, 1 -kosgebkredisi.com, 1 koshakovo.ga, 1 koshaq.net, 1 koshechka.tk, 1 @@ -80629,7 +80660,6 @@ kostroma.tk, 1 kostube.tk, 1 kostya.ws, 1 kostyumi.tk, 1 -kosupayoi.com, 1 kosuzu.moe, 1 koszmetics.com, 1 kotaartsklan.com, 1 @@ -80637,7 +80667,7 @@ kotaev.tk, 1 kotajakarta.info, 1 kotak.us, 1 kotakanimeid.com, 1 -kotakonkrit.my, 1 +kotakonkrit.my, 0 kotakoo.id, 1 kotaku.com, 1 kotaraanglican.org.au, 1 @@ -80726,13 +80756,13 @@ kpfanworld.com, 1 kpinterface.com, 1 kpinvest.eu, 1 kpizlog.rs, 1 +kpkhub.com, 1 kplastics.in, 1 kplasticsurgery.com, 1 kplnet.net, 1 kpmgccc.co.nz, 0 kpmgclientcollab.co.nz, 0 kpntdolive.nl, 1 -kpnthings.com, 1 kpo.fi, 1 kpop.re, 1 kpop.ro, 1 @@ -80758,6 +80788,7 @@ krabathor.tk, 1 krabbelsisters.tk, 1 krabbit.tw, 1 krachbumm.de, 1 +krachnix.de, 1 krachtinverbinding.nl, 1 kraemerlaw.com, 1 krafciarka.pl, 1 @@ -80766,6 +80797,7 @@ kraft.im, 1 kraft.lol, 1 kraftek.cf, 1 kraftfahrtversicherungen24.de, 1 +kraftprefab.se, 1 kraftway.ru, 1 kraftzeiten.de, 1 krag.be, 1 @@ -80780,6 +80812,7 @@ krakenventures.com, 1 krakozyabra.ga, 1 krakozyabra.gq, 1 krakozyabra.tk, 1 +kral-medical.ro, 1 kralenparadijs.tk, 1 kralik.io, 1 kralovskapradelna.cz, 1 @@ -80807,6 +80840,7 @@ krasnodar-pravoved.ru, 1 krasnodar.one, 1 krasnodar24.tk, 1 krasnodarkrai.tk, 1 +krasnodrev24.ru, 1 krasnoyarsk-24.tk, 1 krasnoyarsk24.tk, 1 krasotkafirm.tk, 1 @@ -80874,13 +80908,11 @@ kreisau.com, 1 krelln.net, 1 kremalicious.com, 1 kremer-sonnenschutzsysteme.de, 1 -kremi.org, 0 kreno.tech, 1 krenstetter.at, 1 kreolis.net, 1 krepmarket.ru, 1 kresimir-blazevic.tk, 1 -kreslomeshok.by, 1 krestanskydarek.cz, 1 kretaforum.dk, 1 kretschmann.consulting, 1 @@ -81033,7 +81065,6 @@ kruisselbrink.com, 1 kruk.co, 1 krukaze.tk, 1 krumovgrad.eu, 1 -krumpf.de, 0 kruno.ooo, 1 krup.com.ua, 1 krupa.net.pl, 0 @@ -81075,6 +81106,7 @@ krytykawszystkiego.com, 1 krytykawszystkiego.pl, 1 kryx.de, 1 krzeslaonline.pl, 1 +krzysiamrozinska.pl, 1 ks-19.com, 1 ks-39.com, 1 ks-59.com, 1 @@ -81087,7 +81119,7 @@ ks0098.com, 1 ks015.com, 1 ks017.com, 1 ks0318.com, 1 -ks038.com, 1 +ks038.com, 0 ks058.com, 1 ks0618.com, 1 ks0660.com, 1 @@ -81216,7 +81248,6 @@ ksiegowosc.pro, 1 ksk-raduga.tk, 1 ksm.co.in, 1 ksnl.net, 1 -ksoc.com, 0 ksoftware.tk, 1 ksopp.si, 1 kspndanautoba.id, 1 @@ -81227,6 +81258,7 @@ ksst.by, 1 ksstille.de, 1 kst-dlvr.tk, 1 kst-service.tk, 1 +kstar.eu, 1 kstdlvr.by, 1 kstitleers.ga, 1 kstitleest.ga, 1 @@ -81246,7 +81278,6 @@ kt-events.de, 1 kt-motors.com, 1 kt.tc, 1 kt3i.com, 1 -ktateeb.com, 1 ktbuniversity.com, 1 kteatras.tk, 1 ktgy.com, 1 @@ -81285,7 +81316,6 @@ kubern.at, 1 kubevocalbooth.com, 1 kubica.ch, 1 kubierecki.pl, 1 -kubik-rubik.de, 1 kubit.ai, 1 kubit.co, 1 kubit.us, 1 @@ -81304,13 +81334,13 @@ kubrick.tk, 1 kubritalk.com, 1 kubusadvocaten.nl, 1 kuchen-am-stiel.de, 1 +kuchniedm.pl, 1 kuchugury.ru, 1 kucnibudzet.com, 1 kucukayvaz.com, 0 kucukcekmececilingir.gen.tr, 1 kucukkaymakli.tk, 1 kudelskisecurity.com, 1 -kudetours.co.za, 1 kudinilam.tk, 1 kuditel.net, 1 kudofoto.com, 1 @@ -81330,7 +81360,6 @@ kuhakukawa.ml, 1 kuhio.net, 1 kuhlecloud.co.za, 1 kuhn-elektrotechnik.de, 1 -kuhne-electronic.de, 1 kuhnerts.eu, 1 kuinin.tk, 1 kuisus.com, 1 @@ -81345,7 +81374,6 @@ kukiulpindo.com, 1 kukla.club, 1 kukla.io, 1 kuko-crews.org, 1 -kukuku.fun, 1 kukuma.tk, 1 kukutza.tk, 1 kul.ee, 0 @@ -81374,7 +81402,6 @@ kulturmel.ch, 1 kultus-mv.de, 1 kuma-it.de, 1 kumacdn.club, 1 -kumalog.com, 1 kumanovo.tk, 1 kumaraguruparan.tk, 1 kumi.website, 1 @@ -81401,6 +81428,7 @@ kundesjekk.no, 1 kundo.se, 1 kungfudirect.com, 1 kungsangen.com, 0 +kungsangsgymnasiet.se, 1 kunitomo.jp, 1 kunnen.tech, 1 kunri.tk, 1 @@ -81442,12 +81470,12 @@ kuplukover.by, 1 kupoholik.rs, 1 kupon-proxy6.ru, 1 kupone.com.br, 1 -kuponigo.com, 1 kuponmail.tk, 1 kuponydoher.cz, 1 kuppingercole.com, 1 kupriy-coach.ru, 1 kupschke.net, 1 +kupsegadzet.pl, 1 kupsluzbu.cz, 1 kupu.maori.nz, 1 kupujemprodajem.com, 1 @@ -81547,6 +81575,7 @@ kutinsoft.com, 1 kutombawewe.net, 1 kutsankaplan.com, 1 kuttler.eu, 1 +kuttysoft.com, 1 kutvonen.net, 1 kutyabarathelyek.hu, 1 kutyamacskashop.hu, 1 @@ -81554,6 +81583,7 @@ kuudere.moe, 1 kuukkanen.net, 1 kuunlamaailm.ee, 1 kuwago.io, 1 +kuwaitmegadeals.com, 1 kuwichitagastro.com, 1 kuwichitaim.com, 1 kuzbass-pwl.ru, 1 @@ -81591,6 +81621,7 @@ kvetuvplotu.cz, 1 kvhile.com, 1 kvhv-brussel.be, 1 kvilt.dk, 1 +kvint.bg, 1 kviskoteka.tk, 1 kvitlyr.tk, 1 kvmcloud.net, 0 @@ -81619,7 +81650,6 @@ kwjx2.ga, 1 kwl.com.au, 1 kwm.group, 1 kwnet.info, 1 -kwoll.de, 0 kwonghei.net, 1 kwonjiyong.cn, 1 kwork-garand.tk, 1 @@ -81635,7 +81665,7 @@ kxnrl.com, 1 kxxv.com, 1 ky.rs, 1 ky188.io, 1 -ky89.cc, 1 +ky89.cc, 0 ky99.io, 1 kyaba-kura.jp, 1 kyahimt.gov, 1 @@ -81778,7 +81808,6 @@ la-boutique-langlois.fr, 1 la-casa.tk, 1 la-com.org, 1 la-compagnie-des-elfes.fr, 1 -la-fenice-neheim.de, 1 la-france-ressuscitee.fr, 1 la-grande-jaugue.fr, 1 la-kaz-a-velo.fr, 1 @@ -81891,6 +81920,7 @@ labworks.org, 1 laby.link, 1 labyrinthinetool.de, 1 labyrinthus.tk, 1 +lacabriere.com, 1 lacaey.se, 1 lacahsa.gov, 1 lacalderera.tk, 1 @@ -81908,7 +81938,7 @@ lacasseroy.com, 1 lacavedesergio.fr, 1 lacaveducinquantenaire.com, 1 lacazadora.tk, 1 -lacebeauty.it, 1 +lacebeauty.it, 0 laceleste.it, 1 lacellbedding.com, 1 lacentral.com, 0 @@ -81932,7 +81962,6 @@ lackan.tk, 1 lackawannanypolicecorruption.org, 1 lackfer.tk, 1 lackierereischmitt.de, 1 -laclaque.ch, 0 lacledelareussite.com, 0 lacledeslan.com, 1 lacledeslan.org, 1 @@ -81973,11 +82002,9 @@ ladanivabelgium.tk, 1 ladanmokhtari.tk, 1 ladbroke.net, 1 ladder.sport, 1 -ladeboks.dk, 1 +ladderartspace.com.au, 1 ladedu.com, 1 ladelicateparenthese.com, 1 -ladenzeile.at, 1 -ladenzeile.de, 1 ladepeche.fr, 1 ladies-shoes.tk, 1 ladiescode.tk, 1 @@ -82147,7 +82174,6 @@ lain.wiki, 1 laindonleisure.co.uk, 1 lainoa.eus, 1 laipert.com, 1 -lairdutemps-bbe.fr, 1 laisk.ru, 1 laity.gq, 1 laiweiyi.com, 1 @@ -82196,7 +82222,6 @@ lakesherwoodelectric.com, 1 lakesherwoodelectrical.com, 1 lakesherwoodelectrician.com, 1 lakesherwoodexteriorlighting.com, 1 -lakesherwoodlandscapelighting.com, 1 lakesherwoodlighting.com, 1 lakesherwoodoutdoorlighting.com, 1 lakeshiremo.gov, 1 @@ -82254,12 +82279,12 @@ lamalleauxsaveurs-aubigny.com, 1 lamanchelibre.fr, 1 lamanzanamordida.net, 1 lamarieealhonneur.com, 0 +lamartine.cloud, 1 lamasacre.tk, 1 lamaskill.com, 1 lamaturitadidaniele.ml, 1 lambassadors.com, 1 lambauer.com, 1 -lambda.sx, 1 lambdajournal.com, 1 lambdaof.xyz, 1 lambertshealthcare.co.uk, 1 @@ -82278,6 +82303,7 @@ lamedog.tk, 1 lamedubois-parquet.fr, 0 lamei-group.com, 1 lameilleurecette.fr, 1 +lamenumerique.fr, 1 lamergameryt.xyz, 1 lamet-kher.tk, 1 lameusame.be, 1 @@ -82388,22 +82414,12 @@ landoverhillsmd.gov, 1 landroverexpo.com.au, 1 landroveruganda.club, 1 landscape-photography.org, 1 -landscapelightingagoura.com, 1 -landscapelightingagourahills.com, 1 -landscapelightingcalabasas.com, 1 -landscapelightingcamarillo.com, 1 landscapelightingconejovalley.com, 1 landscapelightingdosvientos.com, 1 -landscapelightinghiddenhills.com, 1 -landscapelightinglakesherwood.com, 1 landscapelightingmalibu.com, 1 landscapelightingmoorpark.com, 1 -landscapelightingnewburypark.com, 1 landscapelightingoakpark.com, 1 landscapelightingpacificpalisades.com, 1 -landscapelightingsimivalley.com, 1 -landscapelightingthousandoaks.com, 1 -landscapelightingwestlakevillage.com, 1 landscapeloaners.ga, 1 landscapeloanest.ga, 1 landscapephotography.org.au, 1 @@ -82431,7 +82447,9 @@ langapi.com, 1 langatang.com, 1 langauto.hu, 1 langbein.org, 1 -langcom.org, 1 +langemensen.be, 1 +langemensen.nl, 1 +langemensendag.nl, 1 langenberg.tk, 1 langenu.tk, 1 langer-bauwerk.de, 1 @@ -82491,6 +82509,7 @@ lansoftware.eu, 1 lanternalauth.com, 1 lanternhealth.org, 1 lantian.pub, 1 +lantrecouretjardin.com, 1 lanturtle.com, 1 lanuitshanghai.ca, 1 lanuovariviera.it, 1 @@ -82528,7 +82547,6 @@ laparcela.tk, 1 laparoscopyhospital.com, 1 lapasticcerianaturale.store, 1 lapatiala.com, 1 -lapazsheriff.org, 1 lapcameradongnai.com, 1 lapcamerahochiminh.com, 1 lapcoversers.ga, 1 @@ -82563,6 +82581,7 @@ laponders.com, 1 laporantercepat.com, 1 laportedufutur.org, 1 lapositiva.com.pe, 1 +lapparente-aise.ch, 0 lappari.com, 1 lappersfort.tk, 1 lapps.es, 1 @@ -82624,7 +82643,6 @@ largerpweor.uk, 1 largescaleforums.com, 1 largest-soldiers.cf, 1 largeviewer.com, 1 -laricameche.com, 0 larifari.ch, 1 larigami.de, 1 larimarhomes.ca, 1 @@ -82681,9 +82699,9 @@ lasalle.org.co, 1 lasallecountyil.gov, 1 lasandwicheriamedellin.com, 1 lasanious.com, 1 -lasarmas.com, 1 lasavonnerieducroisic.fr, 1 lascana.co.uk, 1 +lascandalistas.org, 1 laschimeneas.com, 1 laschoolpolice.gov, 1 lascruces.gov, 1 @@ -82801,6 +82819,7 @@ lateliercreationbougie.fr, 1 latemarch.com, 1 laten.tk, 1 latenitefilms.com, 0 +latentview.com, 1 latentviewanalytics.com, 1 lateral.dog, 1 lateralsecurity.com, 0 @@ -82823,10 +82842,10 @@ lathamlabs.com, 1 lathamlabs.net, 1 lathamlabs.org, 1 lathamwatkinsplatform.com, 1 -latherjacket.com, 1 latia.tk, 1 latiamona.com, 1 latiendawapa.com, 1 +latifitness.com, 1 latifolia.com, 1 latinacon.com, 1 latinapress.it, 1 @@ -82845,6 +82864,7 @@ latourist.com, 1 latremebunda.com, 1 latrobefinancial.com.cn, 1 latrynchera.tk, 1 +lattery.fun, 1 latticepointconsulting.com, 1 lattyware.co.uk, 1 lattyware.com, 1 @@ -82918,6 +82938,7 @@ lauresta.lt, 1 lauresta.lv, 1 lauretta.io, 1 lauriane-garcia.avocat.fr, 1 +lauriechristineking.com, 1 laurikari.net, 1 laurindale.tk, 1 laurineprice.com, 1 @@ -82948,6 +82969,7 @@ lavavetri.it, 1 lavdiazofficial.tk, 1 laveg.edu.ee, 1 lavenderx.org, 1 +lavendroai.com, 1 laventura.tk, 1 lavhire.tk, 1 laviaregia.com, 1 @@ -82983,6 +83005,7 @@ law.co.il, 1 law.kg, 1 law22.com, 1 lawabidingcactus.com, 1 +lawaccess.org.au, 1 lawandtheworkplace.com, 1 lawcancer.cf, 1 lawcer.com, 1 @@ -83038,6 +83061,7 @@ lawsoner.tk, 1 lawsuit.tk, 1 lawsuitconsultanters.ga, 1 lawsuitconsultantest.ga, 1 +lawtests.ir, 1 lawtimesnews.com, 1 lawton-is.com, 1 lawvize.com, 1 @@ -83208,7 +83232,6 @@ lce-events.com, 1 lcemsami.gov, 1 lcfwasa.gov, 1 lcgaj.com, 1 -lcgyfj.com, 1 lchardingplumbing.com.au, 1 lcht.ch, 0 lchtraf.com, 1 @@ -83224,6 +83247,7 @@ lcrmscp.gov, 1 lcs.wiki, 1 lcsoftware.tk, 1 lcsomo.gov, 1 +lctendesolebrescia.it, 1 lcti.biz, 1 lcv-psi.com, 1 lcv-psi.com.br, 1 @@ -83251,7 +83275,6 @@ lcy.moe, 1 ld-begunjscica.si, 1 ldcraft.pw, 1 lddr.io, 1 -ldemb.com, 1 ldesignweb.com, 1 ldgardenservices.co.uk, 1 ldiesel.ca, 1 @@ -83301,7 +83324,6 @@ leadcalyx.com, 1 leadcricket.com, 1 leadercreative.ga, 1 leaderfreight.tk, 1 -leadergamer.com.tr, 1 leaderinnetflow.com, 1 leaderoftheresistance.com, 0 leaderoftheresistance.net, 0 @@ -83422,7 +83444,7 @@ leasing.sos.pl, 1 leasit.de, 1 leastsignificantbit.de, 1 leather-underwear.tk, 1 -leather.io, 0 +leather.io, 1 leathercollection.co.uk, 1 leathercollection.de, 1 leathercollection.es, 1 @@ -83430,6 +83452,7 @@ leathercollection.fr, 1 leatherfur.tk, 1 leatherfurnitureexpo.com, 1 leathergoods.tk, 1 +leatherneckappliance.com, 1 leathersofacleaning.co.uk, 1 leatherstreet.tk, 1 leatherwill.com.ua, 1 @@ -83509,7 +83532,7 @@ lecourriercauchois.fr, 1 lecrayondemarz.com, 0 lecreative.tk, 1 lecteurs.com, 0 -lectormanga.top, 1 +lectormanga.top, 0 lecturaweb.tk, 1 lecul.site, 1 led-sk.ru, 1 @@ -83557,7 +83580,6 @@ leedsmoneyman.com, 1 leee.eu.org, 1 leee.nl.eu.org, 1 leefbaargijzegem.be, 1 -leefbaarkrimpen.nl, 0 leefgratis.tk, 1 leefindlow.com, 1 leefjongeren.nl, 1 @@ -83651,7 +83673,6 @@ legaldelta.ga, 1 legaldish.ga, 1 legaldodge.ga, 1 legalebony.ga, 1 -legalecasinosnederland.nl, 1 legalepic.ga, 1 legaleus.co.uk, 1 legalfalcon.ga, 1 @@ -83729,11 +83750,11 @@ legendofdragoon.org, 1 legendofkrystal.com, 1 legendofmi.com, 1 legends-game.ru, 0 +legendscasino.com, 1 legendtourism.com, 1 legendwiki.com, 1 legentic.com, 1 leger-voertuigen.tk, 1 -legere.info, 1 leggyeggy.ga, 1 legible.es, 1 legilimens.de, 1 @@ -83819,7 +83840,6 @@ leisurecooker.co.uk, 1 leisurecooker.ie, 1 leisurevip.com, 1 leit.kr, 1 -leitz-cloud.com, 1 leiyinan.com, 1 lejardindesmesanges.fr, 1 lejlax.com, 1 @@ -83835,6 +83855,7 @@ leksi.si, 1 lektier.cf, 1 lel.lol, 1 leladesign.it, 1 +lele.co.id, 1 lelehei.com, 1 leleimports.store, 1 leliekerk.nl, 1 @@ -83850,9 +83871,7 @@ lelux.net, 1 lelux.site, 1 lem0n.eu.org, 1 lemarcheelagrandeguerra.it, 1 -lemarquier.com, 1 lemasdupalus.com, 1 -lemat.de, 1 lemazol.fr, 1 lemberg.ml, 1 lemco.dk, 1 @@ -83877,7 +83896,7 @@ lemon.nl.eu.org, 1 lemonadefashion.com, 1 lemonardo.ga, 1 lemoncloud.eu.org, 1 -lemoniax.com, 0 +lemoniax.com, 1 lemonpic.ga, 1 lemonpool.com.tr, 1 lemonrfx.com, 1 @@ -83911,6 +83930,7 @@ lendme.com.au, 1 lendme.dk, 1 lenemes.tk, 1 lenergietoutcompris.fr, 1 +lenetwizz.fr, 1 lengby.com, 1 lengoo.com, 1 lengua-alemana.tk, 1 @@ -83921,6 +83941,7 @@ lenguasgermanicas.tk, 1 lengyelnyelvoktatas.hu, 1 lengyelul.hu, 1 lenhatthanh.com, 1 +lenhomedesigninc.com, 1 lenhotec.pt, 1 lenidh.de, 1 lenifuchs.net, 1 @@ -83931,9 +83952,7 @@ lenit.nl, 1 lenkeran.tk, 1 lenkunz.me, 1 lenn-blaschke.com, 1 -lennard-indlekofer.de, 1 lennard.tk, 1 -lennard0711.eu, 1 lennartoldenburg.de, 1 lennox.cf, 1 lennoxsd.gov, 1 @@ -83977,7 +83996,6 @@ leoburnett.com, 1 leocollo.com, 1 leodraxler.at, 1 leojweda.com, 1 -leokoo.com, 0 leola.cz, 1 leola.sk, 1 leolabs.space, 1 @@ -84002,6 +84020,7 @@ leonardofavio.tk, 1 leonardoferrera.com, 1 leonardoneiva.com.br, 1 leonardostart.tk, 1 +leonardscove.co.uk, 1 leonardtheologicalcollege.com, 1 leonauto.de, 1 leonbania.com, 1 @@ -84047,7 +84066,6 @@ lepatch.jp, 1 lepblog.tk, 1 lepenis.fr, 0 leper.ga, 1 -lepetitendroit.fr, 1 lepetitkids.com.br, 1 lephilnet.tk, 1 lepidum.jp, 1 @@ -84175,8 +84193,8 @@ lestrokeofgenius.com, 1 lestudiopecot.fr, 1 lesummeira.is, 1 lesvertsmaroc.tk, 1 +lesy.eu, 1 lesycr.cz, 1 -lesyndicat.info, 0 leszonderstress.nl, 1 letableaunoir.fr, 1 letaman.tk, 1 @@ -84191,7 +84209,6 @@ leter.io, 0 leterroirdesvignobles.fr, 1 letgodbetrue.com, 1 lethalgaming.tk, 1 -lethalhardcore.com, 1 lethosdesigns.co.uk, 1 lethosdesigns.com, 1 letic.fr, 1 @@ -84230,6 +84247,7 @@ letsdoeit.com, 1 letsdothatagain.gq, 1 letsdothatagain.ml, 1 letsdothatagain.tk, 1 +letsearnit.com, 1 letselhulpservice.nl, 1 letsencrypt-for-cpanel.com, 1 letsflyinto.space, 1 @@ -84244,6 +84262,7 @@ letson.me, 1 letsorganise.uk, 1 letspartyrugby.co.uk, 1 letsplayourgameagain.gq, 1 +letspostit.com, 1 letsrave.tk, 1 letstalk.video, 1 letstryanal.com, 1 @@ -84269,6 +84288,7 @@ leuchtmann.ch, 1 leucothea.org, 1 leuenhagen.com, 1 leukert.org, 1 +leuldeaur.ro, 1 leulu.com, 1 leusemiamusic.tk, 1 leuthardtfamily.com, 1 @@ -84352,6 +84372,7 @@ lex-legal.com.ua, 1 lex18.com, 1 lexapro-price.ga, 1 lexautoservice.nl, 1 +lexbailbonds.com, 1 lexblogplatform.com, 1 lexblogplatformthree.com, 1 lexch.com, 1 @@ -84392,7 +84413,6 @@ leybelsgarden.cf, 1 leyendaluzrenacer.com, 1 leyeslaboralesdecolorado.gov, 1 leyfutmex.com, 1 -leyhorizontal.es, 1 leylalips.org, 1 leymaritima.com, 1 leytron.tk, 1 @@ -84406,6 +84426,7 @@ lezen.tk, 1 lezgetreal.com, 1 lezhang.top, 1 leziblog.cn, 1 +leziblog.com, 1 lezzetyurdu.com.tr, 1 lf-space.com, 1 lfashion.eu, 1 @@ -84482,7 +84503,6 @@ li.search.yahoo.com, 0 li1436-89.members.linode.com, 1 li985.com, 0 lia-fox.org, 1 -liaengel.com, 1 liaiai.com, 1 lialash.pro, 1 lialeone.org, 1 @@ -84508,7 +84528,6 @@ liangyichen.net, 1 lianhe.art, 1 lianid.com, 1 lianka.eu, 1 -lianka.pl, 1 lianka.uk, 1 lianwen.kim, 1 lianxin.com, 1 @@ -84670,7 +84689,6 @@ licence-registry.com, 1 licencja-na-drona.pl, 1 licencja-na-drony.pl, 1 licensecrack.com, 1 -licensediscovery.io, 1 licenseplates.cc, 1 licenzacalcio.tk, 1 liceoc9.tk, 1 @@ -84713,6 +84731,7 @@ lidavidm.me, 1 lidel.org, 1 lidernaturascarlettbados.com, 1 liderok.tk, 1 +lidhedredovisning.se, 1 lidkoping.se, 1 lidl-gewinnspiel.de, 1 lidl-holidays.com, 1 @@ -84737,14 +84756,12 @@ lidong.me, 1 lidosparesort.com, 1 lidtkemotors.com, 1 liduan.net, 0 -lieba.ch, 1 liebel.org, 1 lieben.tk, 1 lieberwirth.biz, 1 liecomiribea.cf, 1 lied8.eu, 1 liegveld.nl, 1 -liehuojun.com, 0 liella.me, 1 liemen.net, 1 liena.be, 0 @@ -84959,13 +84976,11 @@ likebot.ml, 1 likecrabwalkslowly.ml, 1 likedobrasil.com, 1 likefast.tk, 1 -likefluence.com, 1 likegeeks.com, 1 likehifi.de, 1 likemovies.de, 1 likenewhearing.com.au, 1 likenosis.com, 1 -likere.com, 1 likesec.net, 1 likesec.se, 1 likesforinsta.com, 1 @@ -85006,7 +85021,6 @@ lilith-magic.com, 1 lilithfund.org, 1 lilithqueisser.de, 1 lilium.com, 1 -liliwarrior.com, 1 liliweb.tk, 1 lillalisa.tk, 1 lillaparken.se, 1 @@ -85023,7 +85037,7 @@ lilousportswear.com, 1 lilpwny.com, 1 lilstarry.com, 1 liltv.media, 1 -lily-bearing.com, 0 +lily-bearing.com, 1 lily-inn.com, 1 lily-luv.com, 1 lily.flowers, 1 @@ -85041,6 +85055,7 @@ limap.ch, 1 limatownshipmi.gov, 1 limawi.io, 1 limbaido.tk, 1 +limber.io, 1 limberg.me, 1 limbo-online.tk, 1 limbra.tk, 1 @@ -85294,7 +85309,6 @@ linkurio.us, 1 linkurious.com, 1 linkuva.tk, 1 linkview.tk, 1 -linkware.it, 1 linkwater.org, 1 linkwheel.tk, 1 linky.tk, 1 @@ -85310,7 +85324,6 @@ linncountyelections-ia.gov, 1 linncountyiowa.gov, 1 linncountyor.gov, 1 linngde.com, 1 -lino.cooking, 1 linocolombo.tk, 1 linocomm.com, 1 linocomm.net, 1 @@ -85352,6 +85365,7 @@ linux-admin.tk, 1 linux-audit.com, 1 linux-florida.com, 1 linux-help.org, 1 +linux-man.net, 1 linux-mint-czech.cz, 1 linux-pc.ml, 1 linux-share.tk, 1 @@ -85428,6 +85442,7 @@ lip.pt, 1 lipacom.ga, 1 lipartydepot.com, 1 lipator.cf, 1 +lipaversavers.com, 1 lipeck.ga, 1 lipeck.tk, 1 lipetsk-centralniy.cf, 1 @@ -85456,6 +85471,7 @@ liquidation.tk, 1 liquidbounce.tk, 1 liquidcorp.fr, 1 liquidflash.ml, 1 +liquidfusionmarine.com, 1 liquidhost.co, 1 liquidinternet.co, 1 liquidradio.pro, 1 @@ -85522,10 +85538,10 @@ lissongallery.com, 1 list-gymnasium.de, 1 list1.tk, 1 listach.tk, 1 -listahu.org, 1 listapp.uz, 1 liste.net.tr, 1 listekdo.fr, 1 +listen.cn, 1 listen.dk, 1 listener.ga, 1 listening-skills.eu, 1 @@ -85536,12 +85552,11 @@ listerplace.co.uk, 1 listerventures.com, 0 listiclepal.com, 1 listim.com, 0 -listinfinity.net, 1 listing.gq, 1 listisima.com, 1 listkeeper.io, 0 listminut.be, 1 -listoffreeware.com, 1 +listoffreeware.com, 0 listratenkov.com, 1 lists.fedoraproject.org, 1 lists.mayfirst.org, 0 @@ -85590,7 +85605,6 @@ literacychannel.ga, 1 literapedia-bern.ch, 1 literaria.tk, 1 literatura-portal.cf, 1 -literaturaacessivel.com.br, 1 literature-schools.com, 1 literaturka.ga, 1 literaturkreis-online.at, 1 @@ -85609,7 +85623,7 @@ litfin.name, 1 litfl.com, 1 lithesalar.se, 1 lithianissaneugeneparts.com, 1 -lithiumhosting.com, 0 +lithiumhosting.com, 1 litiab.tk, 1 litigatech.com, 1 litkicks.com, 1 @@ -85638,7 +85652,6 @@ littleboutiqueshop.uk, 1 littlecreatures.com.au, 1 littlecreekhosting.com, 1 littledev.nl, 0 -littleduck.eu.org, 1 littleduck.xyz, 1 littlefairy.no, 1 littlefamilyadventure.com, 1 @@ -85742,9 +85755,8 @@ livecommande.fr, 1 liveconcertvideo.tk, 1 livedesign.at, 1 livedomain.at, 1 -livedrawtogel.id, 1 liveeventartist.ca, 1 -liveeventpainter.ca, 1 +liveeventartist.net, 1 liveevents.ee, 1 liveflooring.com, 1 livefoot.fr, 1 @@ -85752,6 +85764,7 @@ liveforspeed.se, 1 livefortheviews.com, 1 liveinmelbourne.vic.gov.au, 1 liveint.org, 1 +liveinternet.v.ua, 1 liveit.pt, 1 liveita.com, 1 liveitmerck.ca, 1 @@ -85800,7 +85813,6 @@ liverobot8.com, 1 liverobot888.com, 1 liverpoolmoneyman.com, 1 liversurgery.com, 1 -livescore-fixedmatches.com, 1 livesexcalls.co.uk, 1 liveskype.com, 1 livesportts.ml, 1 @@ -85815,8 +85827,8 @@ livetoride.co.za, 1 liveutifree.com, 1 livevacancies.co.uk, 1 livewebtutor.com, 1 -liveweddingartist.ca, 1 -liveweddingpainter.ca, 1 +liveweddingartist.ca, 0 +liveweddingpainter.ca, 0 livewirecommunications.co.uk, 1 livezrejstejna.cz, 1 livfcshop.com, 1 @@ -85869,20 +85881,17 @@ lixiaoyu.live, 1 lixinnovations.com, 1 lixis.com, 1 lixtick.com, 1 -lixvapes.com, 1 lixx.org, 1 liyin.date, 1 liying-sub.buzz, 1 liyingcloud.org, 1 liz-ate.com, 1 -liz-fry.com, 0 liz.ee, 1 liza.fashion, 1 lizagalore.tk, 1 lizaminnelli.tk, 1 lizardsystems.com, 1 lizardtech.top, 1 -lizcheney.com, 1 lizeal.tk, 1 lizheng.de, 1 lizhi.io, 1 @@ -85897,7 +85906,7 @@ lizzandra.tk, 1 lizzaran.io, 1 lizzian.uk, 1 lizzwood.com, 1 -lizzymcc.com, 1 +lizzymcc.com, 0 lizzysdoggrooming.com, 1 lizzythepooch.com, 1 lj-creation.com, 1 @@ -85940,7 +85949,6 @@ llac.org, 1 llanelli-radio-club.tk, 1 llanowar.tk, 1 llantasysuspensiones.shop, 1 -llanterascerca24.com.mx, 1 llave.io, 1 llccd.eu.org, 1 llcgeek.com, 1 @@ -86057,7 +86065,6 @@ localblitz.com, 1 localbouncycastle.com, 1 localcdn.org, 1 localcleann.uk, 1 -localcrew.nl, 1 localcryptos.com, 1 locald.at, 1 localdating.ml, 1 @@ -86138,7 +86145,7 @@ lochlans.com, 1 lochloco.tk, 1 lock-expert.de, 0 lock.me, 1 -lock23.ca, 1 +lock23.ca, 0 lockaby.org, 1 lockdownfm.live, 1 lockemower.com, 1 @@ -86153,6 +86160,7 @@ locklock.com.br, 1 locklockbrasil.com.br, 1 locknlock.com.br, 1 locknlockbrasil.com.br, 1 +locknology.net, 1 lockoutgroup.com, 1 lockpick.nl, 1 lockpicks.se, 1 @@ -86175,6 +86183,7 @@ locksmithmesquitetexas.com, 1 locksmithmidrand24-7.co.za, 1 locksmithmissouricity.com, 1 locksmithsammamishwa.com, 1 +locksmithsanantonio-247.com, 1 locksmithsanantoniotexas.com, 1 locksmithsbluff.com, 1 locksmithsbuda.com, 1 @@ -86186,7 +86195,6 @@ locksmithspringtx.com, 1 locksmithssanmarcostx.com, 1 locksmithstaffordtx.com, 1 locksmiththewoodlands.com, 1 -locksoflove.org, 1 locksport.org.nz, 1 lockwoodchristmastreefarm.com, 1 loco-concepts.nl, 1 @@ -86382,6 +86390,7 @@ lojaestacaosaopedro.com.br, 1 lojafilipaper.com.br, 1 lojaflordelaranjeira.com.br, 1 lojagravataria.com.br, 1 +lojahaus.com.br, 1 lojahbk.com.br, 1 lojahendel.com.br, 1 lojahunamarcenaria.com.br, 1 @@ -86408,6 +86417,7 @@ lojix.com, 0 lojj.pt, 1 lokace.eu, 1 lokan.id, 1 +lokiani.com, 1 lokinet.org, 1 lokjagruktafoundation.com, 1 lokmon2.eu, 1 @@ -86546,6 +86556,7 @@ lonelyworld.tk, 1 loneronin.tk, 1 lonerwolf.com, 0 lonesomecosmonaut.com, 1 +lonestarkids.org, 1 lonestarpediatricdental.com, 1 lonestarrott.com, 1 lonewolftech.ga, 1 @@ -86585,7 +86596,6 @@ longbeachms.gov, 1 longbeachroleplay.de, 1 longboatlocal.com, 1 longbridge.hk, 1 -longbsants.com, 1 longchampgirls.tk, 1 longcountyga.gov, 1 longcovid.academy, 1 @@ -86649,6 +86659,7 @@ looker.wang, 0 lookflyfares.com, 1 lookie.ml, 1 lookitdesign.com, 1 +lookitup.com, 1 lookscanned.io, 1 lookshops.cn, 1 lookshops.com, 1 @@ -86796,6 +86807,7 @@ losmolinos.tk, 1 losnervios.tk, 1 loson.cz, 1 losopkos.tk, 1 +lospadillas.com, 1 lospadrinosmagicos.tk, 1 lospegotes.tk, 1 lospozuelos.tk, 1 @@ -86811,7 +86823,6 @@ lost-perdidos-hiatus.tk, 1 lostandfound.mu, 1 lostandfoundmember.com, 1 lostandfoundsoftware.com, 1 -lostarkstats.com, 1 lostarq.com, 1 lostbubblegame.com, 1 lostcork.com, 1 @@ -86827,7 +86838,6 @@ lostinlove.tk, 1 lostinside.tk, 1 lostinweb.eu, 0 lostkeys.co.uk, 1 -lostluma.net, 1 lostproperty.org, 1 lostprophetschile.tk, 1 lostsandal.com, 1 @@ -86838,6 +86848,7 @@ losttv.tk, 1 lostwithdan.com, 1 lostwithiel.org.uk, 1 lostwithielcommunitycentre.org.uk, 1 +lostwithieljazzcafe.org.uk, 1 lostwithielu3a.org.uk, 1 lostwoods.tk, 1 losviajesdequimyelena.com, 1 @@ -86865,6 +86876,7 @@ lotro-wiki.com, 1 lottarewards247.com, 1 lottcarey.org, 1 lotteo.com, 1 +lotterycodex.com, 1 lotteryking.net, 1 lotto.com, 1 lotto.gt, 1 @@ -86888,16 +86900,16 @@ lottozambia.com, 1 lotusbook247.com, 1 lotusdiving.net, 1 lotuselise.tk, 1 +lotusfoundationmm.org, 1 lotusweb.tk, 1 lotuswebsolutions.tk, 1 lotw.de, 1 lou.ist, 1 -lou.lt, 1 +lou.lt, 0 louange-reconvilier.ch, 0 louboutin.tk, 1 louboutinshoessale.tk, 1 loud-dragon.tk, 1 -loudcloudhealth.com, 1 louddesignstudios.com, 1 louderfaster.co.uk, 1 loudersent.ga, 1 @@ -87054,7 +87066,6 @@ lovlyluna.net, 1 lovlyluna.org, 1 lovstabanan.se, 1 low-battery.tk, 1 -low-diets.com, 1 lowcarbdietmealsmsk.ga, 1 lowcarbspark.com, 1 lowcosthost.cf, 1 @@ -87116,6 +87127,7 @@ lqd.plus, 1 lqhi.cn, 1 lqy.me, 1 lr-expert.ru, 1 +lr4.uk, 1 lra-cloud.de, 1 lrbm.com, 1 lrc.cn, 1 @@ -87140,6 +87152,7 @@ lsc.moe, 1 lscache.de, 1 lsd.cat, 1 lsdev.biz, 1 +lsentertainment.events, 1 lsfnet.org, 1 lsg2021acm.com, 1 lshiy.com, 1 @@ -87164,6 +87177,7 @@ lsys.ac, 1 lszj.com, 1 lt.search.yahoo.com, 0 lt27.de, 1 +lta-media.tv, 1 ltaake.com, 1 ltailshort.tk, 1 ltba.org, 1 @@ -87236,7 +87250,6 @@ lucasjag.com.br, 1 lucaslarson.net, 1 lucasmateus.ga, 1 lucasmz.eu.org, 1 -lucasvieira.fr, 1 lucciolachile.com, 1 lucdethier.be, 1 luce.life, 1 @@ -87290,6 +87303,7 @@ lucky-time.tk, 1 lucky13strategies.com, 1 luckyabonent.ml, 1 luckybeantravel.com, 1 +luckybijoux.com.br, 1 luckyblockland.fr, 1 luckycasino.se, 1 luckycastles.co.uk, 1 @@ -87372,7 +87386,6 @@ luijten.it, 1 luinonotizie.it, 1 luis-portfolio.es, 1 luis.ee, 1 -luis.fi, 1 luisa-birkner.de, 1 luisafernandapenuela.com, 1 luisanalopilatogrecia.tk, 1 @@ -87448,7 +87461,6 @@ luketscharke.com, 1 lukezweb.tk, 1 lukin.ga, 1 lukka.tk, 1 -lukmanulhakim.id, 1 lukolab.lt, 1 lukonet.com, 1 lukullpizza.de, 1 @@ -87469,6 +87481,8 @@ lumchan.tk, 1 lumenapp.com, 1 lumenore.com, 0 lumentell.us, 1 +lumeox.de, 1 +lumeox.eu, 1 lumer.tech, 1 lumi.com, 1 lumien.net, 1 @@ -87533,6 +87547,7 @@ lunchcafe-inderoos.nl, 1 lund.se, 1 lundlist.net, 1 lundscape.com, 1 +lundslist.com, 1 lune-indigo.ch, 0 lune.gay, 1 lunekes.com, 1 @@ -87680,7 +87695,7 @@ luxuryhomeuk.tk, 1 luxuryhomeusa.tk, 1 luxuryhous.ru, 1 luxuryislandtrips.com, 1 -luxurymedina.com, 1 +luxurylimousines.org, 1 luxurynsight.net, 0 luxuryoutbacktours.com.au, 1 luxuryportal.net, 1 @@ -87721,6 +87736,7 @@ lvm.me, 1 lvna.capital, 1 lvnacapital.com, 1 lvnya.top, 1 +lvrrs.org, 1 lwb.pt, 1 lwd-temp.top, 1 lwems.co.uk, 1 @@ -87735,23 +87751,24 @@ lwsl.ink, 1 lx-blog.cn, 1 lx-is.lu, 1 lxai.net, 1 -lxd.cc, 0 +lxd.cc, 1 lxd.tw, 1 +lxddh.com, 1 lxiii.eu, 1 lxiv.eu, 1 lxn.re, 1 lxnchan.cn, 1 -lxshowcnc.com, 1 lxx4380.com, 1 lxx77.com, 1 ly-nux.fr, 1 lyam.fr, 1 -lyanaprintable.com, 1 lyap-lyandiya.ga, 1 lyax.be, 1 lycan.me, 1 lycaonsec.com, 1 +lyceum.lk, 1 lychankiet.name.vn, 0 +lychee1.com, 1 lycly.me, 1 lydianibley.com, 1 lydiawebfans.tk, 1 @@ -87772,7 +87789,6 @@ lyncoin.com, 1 lyndhurstohio.gov, 1 lyndo.ga, 1 lyndontownshipmi.gov, 1 -lynero.dk, 1 lyness.io, 1 lyness.uk, 1 lyngvaer.no, 1 @@ -87818,6 +87834,7 @@ lyricfm.ie, 1 lyricheaven.com, 1 lyricsbase.com, 1 lyricsforyou.gq, 1 +lyricsleak.com, 1 lyricsroll.com, 0 lyricsupdater.tk, 1 lyriksidan.ga, 1 @@ -87875,6 +87892,7 @@ m-office.pl, 1 m-producties.nl, 1 m-ses.fr, 1 m-team.cc, 1 +m-teq.nl, 1 m-warrior.tk, 1 m.ac, 1 m.facebook.com, 1 @@ -87909,6 +87927,7 @@ m3rck.ch, 1 m42-gmbh.de, 1 m426.ch, 1 m4all.gr, 1 +m4arkitekter.dk, 1 m4g.ru, 1 m4rcus.de, 1 m5197.co, 1 @@ -88024,6 +88043,7 @@ machiavelli.tk, 1 machikka.com, 0 machin.email, 1 machinatio.ga, 1 +machine-a-pince.com, 1 machine.email, 1 machinebazar.com, 1 machineidle.com, 1 @@ -88085,14 +88105,13 @@ macros.co.jp, 1 macrosec.tech, 1 macroseo.tk, 1 macrotech.tk, 1 -macskorlari.net, 1 macsoftware.org, 1 macsonuclari.com.tr, 1 macsonuclari.mobi, 1 macstore.pe, 0 macvcure.com, 1 macvidcards.eu, 1 -mad-in-love.com, 1 +mad-eye.com, 0 mad-rabbit.com, 1 mad.es, 1 mad2moi.com, 1 @@ -88312,7 +88331,6 @@ magescobd.com, 1 magewell.nl, 1 maggianos.com, 1 maggie-shaw.co.uk, 0 -maggie.gy, 1 maggiemcgee.tk, 1 maggot.cf, 1 maggsy.co.uk, 1 @@ -88353,6 +88371,7 @@ magiclen.org, 1 magicline.com, 1 magiclogix.com, 1 magicnethosting.com, 1 +magicocuoredimamma.it, 1 magicomotor.com, 1 magicorama.com, 1 magicorange.com, 1 @@ -88429,7 +88448,6 @@ magnetoscopio.tk, 1 magnetoterapiapertutti.com, 1 magnetpass.uk, 1 magnets.jp, 1 -magnetsdb.com, 1 magnetto.ga, 1 magnettracker.com, 1 magnetvpn.com, 1 @@ -88444,7 +88462,6 @@ magnoliadoulas.com, 1 magnoliastrong.com, 1 magnoliawi.gov, 1 magnosautos.ng, 1 -magnumresearch.com, 1 magnunbaterias.com.br, 1 magnusdemant.ch, 1 magnusfulton.com, 1 @@ -88507,7 +88524,6 @@ mahjong.org, 1 mahjonggames.tk, 1 mahjongrush.com, 1 mahler.io, 1 -mahmalci.net, 1 mahmoodmehrabi.com, 1 mahmoodmehrabi.ir, 1 mahmoudeeb.com, 1 @@ -88540,6 +88556,7 @@ maijia800.com, 1 maik-mahlow.de, 1 maikendener.com, 1 maikhuong.tk, 1 +maikolfish.it, 1 maikoloc.com, 1 mail-de.jp, 1 mail-delivery.ga, 1 @@ -88621,13 +88638,13 @@ mailway.io, 1 mailxpress.ga, 1 maimaiyeuem.tk, 1 maimemostatus.com, 1 -main-bvxea6i-sw23ji6z2nxsu.us-4.platformsh.site, 1 main-spitze.de, 1 main1.host, 1 maindrivekew.com.au, 1 mainechiro.com, 1 mainehousing.org, 0 mainelosap.gov, 1 +mainevwa.org, 1 mainframeserver.space, 1 mainhattan-handwerker.de, 1 mainhuyahan.tk, 1 @@ -88638,6 +88655,7 @@ mainstaysafetywedge.com, 1 mainstortho.com, 1 maintainyourwebsite.help, 1 maintenance-traceur-hp.fr, 1 +maintenancebtp.com, 1 mainzbiomed.com, 1 mainzelmaennchen.net, 1 mainzer-allerlei.de, 1 @@ -88695,9 +88713,9 @@ majelisriyadhah.com, 1 majemedia.com, 1 majesnix.org, 1 majestas.tk, 1 -majestic-files.com, 1 majestic-rp.ru, 1 majestic.games, 0 +majesticpride.in, 1 majestio.tk, 1 majid.info, 1 majisign.co.uk, 1 @@ -88741,7 +88759,6 @@ makellos-kosmetik.de, 1 makemejob.com, 1 makemillion.tk, 1 makemoney-plan.tk, 1 -makemoney.ng, 1 makemusic-asia.com, 1 makemyassignmentbest.com, 1 makemynewspaper.com, 1 @@ -88832,6 +88849,7 @@ malatyahaberleri.tk, 1 malavida.tk, 1 malavirgen.tk, 1 malayalamtalkies.tk, 1 +malayalasangeetham.org, 1 malaysia.cf, 1 malaysia.search.yahoo.com, 0 malaysiabrands.com.my, 1 @@ -88887,11 +88905,15 @@ maliciousdeath.tk, 1 malicis.com, 0 malik.holdings, 1 malik.id, 1 +malik.my.id, 1 +malik.web.id, 1 malikcomputers.tk, 1 malikdeenarislamicacademy.tk, 1 maliksofts.com, 1 malikussa.id, 1 malikussaid.com, 1 +malikussaid.my.id, 1 +malikussaid.web.id, 1 malimusavirler.tk, 1 malinaclub.com, 1 malinheadview.ie, 1 @@ -88949,7 +88971,6 @@ malworld.me, 1 malwr.ee, 1 malypiesekzuzi.pl, 1 mamabatataya.com, 1 -mamacasinos.com, 1 mamacitaz.com, 1 mamacoolinar.bg, 1 mamadoma.com.ua, 1 @@ -89025,7 +89046,6 @@ managementboek.nl, 1 managementforstartups.com, 0 manageprefs.com, 1 manageprojects.com, 0 -manager.linode.com, 0 managment.io, 1 manalu.cz, 1 manaonetrading.com, 1 @@ -89052,7 +89072,6 @@ manchopancho.de, 1 mancrates.com, 1 mandala-ausmalbilder.de, 1 mandala-book.tk, 1 -mandalayogaspa.com, 1 mandanudes.ae, 1 mandaraequestrian.com, 1 mandarinplay.tk, 1 @@ -89083,6 +89102,7 @@ manero.de, 1 manesht.ir, 1 manfiction.com, 1 manforums.com, 1 +manfred-engel.de, 1 manfred-feiger.com, 1 manfred-kostner.tk, 1 manfredgruber.at, 1 @@ -89095,7 +89115,6 @@ manga-passion.de, 1 manga-republic.com, 1 manga.ax, 1 manga1000.top, 1 -manga1001.top, 1 manga168.com, 1 mangabond.tk, 1 mangaboxes.ml, 1 @@ -89122,6 +89141,7 @@ mango-zajm.gq, 1 mango888.com, 1 mangoservers.tk, 1 mangotwoke.co.uk, 1 +mangumsinc.com, 0 manguyen.de, 0 manhack.net, 1 manhassetparkdistrictny.gov, 1 @@ -89155,6 +89175,7 @@ manipil.ch, 0 manipurmatka.net, 1 manisahaberleri.tk, 1 manitaggarwal.com, 0 +manitbd.com, 1 manito.kr, 1 manitoulinairport.ca, 1 manitoulinairport.com, 1 @@ -89189,7 +89210,6 @@ mankomarketing.com, 1 manku.pl, 1 manmatters.com, 1 mann-und-maeuse.de, 1 -mannaelectric.com, 0 mannafields.org, 1 mannat-hallmumbra.com, 1 manneguiden.no, 1 @@ -89223,6 +89243,7 @@ mansdell.net, 1 mansfeld.pl, 1 manshamita.com, 1 manshatech.com, 1 +mansikamani.com, 1 mansikka-sachi.com, 1 mansionflip.com, 1 manski.net, 1 @@ -89236,6 +89257,7 @@ mansurov.tk, 1 mantachiepharmacy.com, 1 mantalak.com, 1 mantaoilco.com, 1 +mantapmedia.com, 1 mantaro.site, 1 manteca.gov, 1 manteligencia.com, 1 @@ -89375,10 +89397,10 @@ maples.com, 1 mapletime.com, 1 mapletokyo.top, 1 mapletonmn.gov, 1 +mapletree.com.sg, 1 maplevalleytwpmi.gov, 1 maplewood.tk, 1 maplewoodnj.gov, 1 -mappingfutures.org, 1 mappingspaceperu.com, 1 mapresidentielle.fr, 1 mapsindoors.com, 1 @@ -89411,6 +89433,7 @@ maranathacarechildren.com, 1 maranightmare.net, 1 maransurology.com, 1 maranza.org, 1 +marasgroup.com.au, 1 marasma.tk, 1 marathoncitywi.gov, 1 marathons.tk, 1 @@ -89425,7 +89448,7 @@ marblenexus.de, 1 marbogardenlidkoping.se, 1 marbree.eu, 1 marc-beninca.fr, 1 -marc-hammer.de, 1 +marc-hammer.de, 0 marc-hoffrichter.de, 1 marc-schlagenhauf.de, 0 marc.info, 1 @@ -89474,7 +89497,6 @@ marchoffrichter.de, 1 marchouben.nl, 1 marchqualitymeats.com, 1 marchukov.com, 1 -marcianoandtopazio.com, 1 marcillacetfils.fr, 1 marclange.net, 1 marco-burmeister.de, 1 @@ -89487,6 +89509,7 @@ marcoececilia.it, 1 marcoherten.com, 1 marcoklomp.nl, 1 marcolattanzio.tk, 1 +marcomediacion.com, 1 marcopiottante.tk, 1 marcopolo-restaurant.com, 1 marcoreitmeier.de, 1 @@ -89508,6 +89531,7 @@ marcuskoh.com, 1 marcusporter.tk, 1 marcusquinn.com, 1 marcusstafford.com, 1 +marcwilke.de, 1 marcypro.com, 1 marczocher.de, 1 mardelcupon.com, 1 @@ -89515,7 +89539,6 @@ mardigrasnapkins.com, 1 mardinhaberleri.tk, 1 mardinsondakika.tk, 1 mare-sylt.de, 1 -mare.org.mk, 1 mare92.cz, 1 marebca.xyz, 1 marechal-company.com, 1 @@ -89537,6 +89560,7 @@ margagriesser.de, 1 margan.ch, 1 margaret.land, 1 margaretgel.com, 1 +margarethouse.co.uk, 1 margaridamendessilva.com, 1 margaritafries.com, 1 margatroid.com, 1 @@ -89584,7 +89608,6 @@ marianhoenscheid.de, 1 mariannethijssen.nl, 1 marianneveenstra.tk, 1 marianrivera.tk, 1 -mariansalzman.com, 1 mariapanina.ru, 1 mariapietropola.com, 1 mariart.studio, 1 @@ -89608,8 +89631,8 @@ mariereichl.cz, 1 mariescountymo.gov, 1 marieskyler.net, 1 marietrap.ch, 0 -marifilmines.com, 1 marijang.id, 1 +marijuanafarms.org, 1 marijuanajobscannabiscareers.com, 1 marik.net.br, 1 marikafranke.de, 1 @@ -89681,6 +89704,7 @@ maritlarsen.ml, 1 maritlarsen.tk, 1 marius-schmalz.de, 1 mariusschulz.com, 1 +mariuszholowieniec.pl, 1 marix.ro, 1 marizaikonomi.tk, 1 marj3.com, 1 @@ -89692,7 +89716,6 @@ marjon.photography, 1 marjonruns.nl, 1 marjorie-wiki.de, 1 marjoriebarretto.tk, 1 -marjoriecarvalho.com.br, 1 mark-a-hydrant.com, 1 mark-armstrong-gaming.com, 1 mark-dietzer.de, 1 @@ -89714,7 +89737,6 @@ marketadvisory.com.au, 0 marketbasket.tk, 1 marketcavalli.it, 1 marketcrypto.id, 1 -marketerprofesional.com, 0 marketespace.fr, 0 marketfeed.news, 1 marketforce.com, 1 @@ -89742,7 +89764,6 @@ marketingmd.com, 1 marketingpalace.tk, 1 marketingstrategy.gq, 1 marketingtrendnews.com, 1 -marketingtutor.net, 1 marketingwelt-lipp.de, 1 marketingypublicidaddigital.com.mx, 1 marketio.ai, 1 @@ -89790,6 +89811,7 @@ markmorris.com.au, 1 markocloud.com, 1 markoglou.com.gr, 1 markoh.co.uk, 1 +markoheijnen.com, 1 markprof.ru, 1 markpulido.net, 1 markri.nl, 1 @@ -89876,6 +89898,7 @@ marplo.net, 1 marqperso.ch, 1 marqueandbrew.com, 1 marqued.com, 1 +marquee.tv, 1 marquepersonnelle.ch, 1 marqueswines.co.uk, 1 marquimanagement.com, 1 @@ -89976,10 +89999,8 @@ martineve.com, 0 martinfresow.de, 1 martinhal.cn, 1 martinhal.com, 1 -martinhalfamilyblog.com, 1 martinhalholiday.com, 1 martinhalliving.com, 1 -martinhalpropertysales.com, 1 martinhalresidences.com, 1 martinhaunschmid.com, 0 martinho.tk, 1 @@ -90028,13 +90049,14 @@ marvaco.ga, 1 marvaco.tk, 1 marvelcargiveaways.co.uk, 1 marveld.nl, 1 +marvellbenefits.cloudaccess.host, 1 marvelmoviemarathon.com, 1 marvelo.cf, 1 -marvelouspainting.com, 1 marvelweed.ru, 1 marvin-elsen.com, 1 marvin.is, 1 marvin.rocks, 1 +marvin.world, 1 marvinelsen.com, 1 marvingazibaric.io, 1 marvinkeller.de, 0 @@ -90090,7 +90112,6 @@ marzio.co.za, 1 mas.be, 1 mas.bg, 1 masadaoffensive.com, 1 -masafarms.com, 1 masajilanver.tk, 1 masakanibu.ga, 1 masakigarden.com, 1 @@ -90103,7 +90124,6 @@ masaze-hanka.cz, 1 mascarablond.tk, 1 mascarbo.tk, 1 mascarillas.blog, 1 -mascenter.xyz, 1 maschine.email, 1 maschinen.email, 1 maschinensucher.de, 1 @@ -90119,7 +90139,7 @@ maservant.com, 1 maservant.net, 1 masfloss.net, 1 mashairi.co.ke, 1 -masharphomecooking.com, 1 +masharphomecooking.com, 0 mashek.net, 1 mashin.al, 1 mashina.world, 0 @@ -90136,6 +90156,7 @@ masinaspalat.info, 1 masiniunelte.store.ro, 1 masinky.tk, 1 masite.net, 1 +masjidalnoorwairarapa.co.nz, 1 mask-skin.tk, 1 maskamuse.com, 1 masked.love, 1 @@ -90199,7 +90220,7 @@ massazh.cf, 1 massbank.eu, 1 massconsultores.com, 1 masse.org, 1 -massfone.com, 1 +massfone.com, 0 masshost.tk, 1 masshpc.gov, 1 massive.tk, 1 @@ -90223,6 +90244,7 @@ mastelic.net, 1 mastellone.us, 1 master-net.org, 1 master-tmb.ru, 1 +master.cz, 1 master.shop, 1 masteranimal.tk, 1 mastercardpac.com, 1 @@ -90232,6 +90254,7 @@ mastercareplus-uat.com, 1 mastercareplus.com, 1 mastercomfig.com, 1 masterdan.net, 1 +masterdc.com, 1 masterdemolitioninc.com, 1 masterdesingweb.tk, 1 masterdigitale.com, 1 @@ -90248,6 +90271,7 @@ masterinchess.com, 1 masterise.tv, 1 masterjuantex-projects.tk, 1 masterkitchen.com.br, 1 +masterly.ninja, 1 masternetix.ga, 1 masternetltd.com, 1 masterofallscience.com, 1 @@ -90255,6 +90279,7 @@ masterofazoth.tk, 1 masterofbytes.ch, 1 masterpassword.org, 1 masterplc.com, 1 +masterpro.ws, 1 masterprophetlibrary.com, 1 masterproseo.ru, 1 masterpsylogos.ru, 1 @@ -90263,6 +90288,7 @@ masters-burrell.co.uk, 1 masters-education.com, 1 masters-in-special-education.com, 1 mastersadistancia.com, 1 +mastershvacparts.com, 1 mastersindatascience.org, 1 mastersinesl.org, 1 mastersinlibraryscience.net, 1 @@ -90274,7 +90300,7 @@ masterstruckingacademy.com, 1 masterstuff.de, 1 mastertent.com, 1 masterton.com.au, 1 -mastertutoriales.com, 0 +mastertutoriales.com, 1 masterunblock.com, 0 masterurist.ru, 1 mastervision.tk, 1 @@ -90334,6 +90360,7 @@ matchmeup.de, 1 matchmove.com, 1 matchpointusa.com, 1 matco.ca, 0 +matconnolley.com, 1 mate.academy, 1 mate.software, 1 matega.hu, 1 @@ -90420,6 +90447,7 @@ mati.lol, 1 mati.tk, 1 maticz.com, 1 matijakolaric.com, 1 +matikz.com, 1 matildeferreira.co.uk, 1 matillat.ovh, 1 matindustrial.com, 1 @@ -90502,7 +90530,6 @@ matteozinnia.it, 1 mattersource.com, 1 mattessons.co.uk, 1 mattferderer.com, 1 -mattfiore.com, 1 mattga.ca, 1 mattgemmell.com, 1 mattgoddardphotography.co.uk, 1 @@ -90569,6 +90596,7 @@ mattmoorcroft.com, 1 mattmorrissound.co.uk, 1 mattnetwork83.com, 1 mattonline.me, 1 +mattooncentralcommunity.org, 1 mattpeterson.com, 1 mattpippen.com, 1 mattprice.eu, 1 @@ -90634,6 +90662,7 @@ mauicharm.com, 1 mauldincookfence.com, 1 mauletsmallorca.tk, 1 maumovie.ml, 1 +maunder.ru, 1 maunium.net, 1 mauracher.cc, 1 maurice-walker.com, 0 @@ -90658,11 +90687,11 @@ maury-moteurs.com, 1 mausmani.tk, 1 mausoleum.ga, 1 maut1.de, 1 +maut1.nl, 1 mauticamp.ng, 1 mauto.md, 1 mautwelt.de, 1 maveeranpasupathi.tk, 1 -maven-cap.com, 1 maven.ng, 0 mavente.fr, 1 maventrading.com, 1 @@ -90788,8 +90817,6 @@ maxpl0it.com, 1 maxpoint.it, 1 maxportal.tk, 1 maxprog.com, 1 -maxqda.com, 1 -maxqda.de, 1 maxr1998.de, 0 maxrandolph.com, 1 maxrickettsuy.com, 1 @@ -90814,7 +90841,6 @@ maxwellblog.com, 1 maxwellcity.cf, 1 maxwellcity.ga, 1 maxwellcity.ml, 1 -maxwellmoore.co.uk, 1 maxwittfeld.tech, 1 may24.tw, 1 mayaimplant.com, 1 @@ -90824,6 +90850,7 @@ mayamushrooms.co.uk, 1 mayanaturopathy.co.uk, 1 mayanet.tk, 1 mayangateway.com, 1 +mayaroconstituency.org, 1 mayashoefke.tk, 1 mayavi.co.in, 0 maybeonline.de, 1 @@ -90924,7 +90951,6 @@ mbr.moe, 1 mbr.pw, 1 mbrd.de, 1 mbrental.fr, 1 -mbrjun.cn, 1 mbsec.net, 1 mbsunu.com, 1 mbsync4supply.com, 1 @@ -91002,7 +91028,9 @@ mcescher.com, 1 mceyedol.tk, 1 mcfallout.ru, 1 mcfarlow.sk, 1 +mcfenix87.com, 1 mcfipvt.com, 1 +mcflstaff.org, 1 mcfreedom.eu, 1 mcg4loans.com, 1 mcgaccountancy.co.uk, 1 @@ -91092,6 +91120,7 @@ mcseboard.de, 1 mcserverslisting.net, 1 mcsfikirsanat.com, 1 mcsidan.tk, 1 +mcsmalltian.com, 1 mcsmart.ru, 1 mcsnovatamabayan.com, 1 mcsoneca.tk, 1 @@ -91149,6 +91178,7 @@ mdlayher.com, 1 mdleom.com, 1 mdma.net, 1 mdmed.clinic, 1 +mdmpsicologiaclinica.com, 1 mdns.eu, 1 mdosch.de, 1 mdpp.com.br, 1 @@ -91530,14 +91560,10 @@ mec0975.com, 1 mec0976.com, 1 mec0977.com, 1 mec0991.com, 1 -mec111.com, 1 mec111.net, 1 -mec222.com, 1 mec222.net, 1 -mec333.com, 1 mec333.net, 1 mec539.com, 1 -mec555.com, 1 mec555.net, 1 mec666.net, 1 mec760.com, 1 @@ -91545,7 +91571,6 @@ mec777.net, 1 mec825.com, 1 mec888.com, 1 mec888.net, 1 -mec999.com, 1 mec999.net, 1 mecalux.com, 1 mecalux.es, 1 @@ -91558,6 +91583,7 @@ meccrcog-oh.gov, 1 mecenat-cassous.com, 1 mecenatfoot.fr, 1 mechafightclub.com, 1 +mechanic.cn, 1 mechanical.tk, 1 mechanics-schools.com, 1 mechanicweb.com, 1 @@ -91583,7 +91609,6 @@ med-spravca.ml, 1 med.aid.pl, 1 meda.bg, 1 medaboutme.ru, 1 -medalerthelp.org, 1 medali21.tk, 1 medaliturki.tk, 1 medalofvalor.gov, 1 @@ -91592,10 +91617,8 @@ medbiocompany.com, 1 medbiocompany.ml, 1 medbreaker-friends.at, 1 medbreaker.one, 0 -medcab.in, 1 medcartoon.com, 1 medcentr.online, 1 -medcentrnadezhda.ru, 1 medcir.com.br, 1 medcorfu.gr, 1 medd.com.au, 1 @@ -91604,7 +91627,6 @@ meddatix.com, 1 meddiehub.com, 1 meddin.com, 1 mede-handover.azurewebsites.net, 1 -medebridge.com.au, 1 medec.ec, 1 medecinesalternatives-developpementspirituelcreatif.com, 1 medefield.com, 1 @@ -91677,7 +91699,6 @@ mediapart.fr, 1 mediapath.gr, 0 mediapost-publicite.fr, 1 mediaprint-eco.com, 1 -mediarenegades.net, 1 mediarithmics.com, 1 mediarithmics.io, 1 mediarquita.com, 1 @@ -91716,14 +91737,13 @@ medical-hospital-beds.com, 1 medical-instinct.de, 0 medical-tiny.com, 1 medical-tiny.de, 1 -medicalabroad.org, 0 +medicalabroad.org, 1 medicalaegis.com, 1 medicalassistantadvice.com, 1 medicalassistantschools.com, 1 medicalauction.ga, 1 medicalbillingcodingworld.com, 1 medicalbillrights.gov, 1 -medicalbrace.net, 1 medicalcountermeasures.gov, 1 medicaldispute.tk, 1 medicaleyetec.fr, 1 @@ -91756,8 +91776,6 @@ medicina-news.tk, 1 medicinae.solutions, 1 medicinaesolutions.com, 1 medicinaesolutions.com.br, 1 -medicinalflora.com.br, 1 -medicinasportpadova.it, 1 medicine.com, 1 medicine.lv, 1 medicinesfast.com, 0 @@ -91786,6 +91804,7 @@ medikuma.com, 1 medilogistics.co.za, 1 medinacountyohio.gov, 1 medinaelst.nl, 1 +medinastowing.com, 1 medinc.tk, 1 mediniti.com, 1 medino.com, 1 @@ -91794,7 +91813,6 @@ medinside.ch, 0 medinside.li, 0 medinsider.ch, 0 medinsider.li, 0 -mediolan.pl, 1 medirota.com, 1 medisense.tk, 1 mediskin.ro, 1 @@ -91844,7 +91862,6 @@ medrol.cf, 1 meds.ru, 1 medsanuk.co.uk, 1 medscangroup.ru, 1 -medschat.com, 1 medschrome.com, 1 medscope.com.au, 1 medscope.tk, 1 @@ -91925,7 +91942,6 @@ meetthesinglessda.co.uk, 1 meettheslavs.com, 1 meetville.com, 1 meetyou.me, 1 -meeusen-usedcars.be, 1 meewan.fr, 1 meeztech.com, 1 meeztertom.nl, 1 @@ -91937,6 +91953,7 @@ mega-byte.nl, 0 mega-feeling.de, 1 mega-jeans.ru, 1 mega-microstories.com, 1 +mega-raeumung.de, 1 mega.co.nz, 1 mega.io, 0 mega.nz, 1 @@ -91954,7 +91971,6 @@ megaflix.nl, 1 megaflowers.ru, 1 megagame.zapto.org, 1 megagifs.de, 1 -megahertzdesigns.pro, 1 megaherz.tk, 1 megahobby.jp, 1 megahost.kz, 1 @@ -91975,7 +91991,6 @@ megalonomia.ml, 1 megam.host, 1 megamarket-russia.ru, 1 megamillions.tk, 1 -megamisja.pl, 1 megamov.eu, 1 megamov.fr, 1 megamov.pro, 1 @@ -92112,7 +92127,6 @@ meinstift.ch, 1 meintragebaby.de, 1 meinungsplatz.ch, 1 meinungsplatz.de, 1 -meiqia.com, 0 meirifuli6.com, 1 meis.space, 1 meise.cf, 1 @@ -92202,7 +92216,6 @@ meldknop.nl, 1 meldpuntemma.nl, 1 meldsluikstort.gent, 1 mele.ro, 1 -melectronics-ostschweiz.ch, 1 meledia.com, 0 melenchatsmelenchiens.fr, 1 melhorproduto.com.br, 1 @@ -92272,7 +92285,6 @@ memdoc.org, 1 meme, 1 meme.fi, 1 meme.institute, 1 -memecentral.org, 1 memecoin.org, 1 mememan.org, 1 memememememememe.me, 1 @@ -92386,7 +92398,6 @@ menschocolat.jp, 1 mensconvoy.tk, 1 menselijkembryo.tk, 1 menshaircuts.com, 0 -menshairstylestoday.com, 1 menshealthcollective.au, 1 menspeak.ga, 1 menswear.tk, 1 @@ -92398,6 +92409,7 @@ mentalhealthcounselorlicense.com, 1 mentalhealthmn.org, 1 mentalhealthtimes.tk, 1 mentalizes.tk, 1 +mentalklik.online, 0 mentalpage.com, 1 mentalproblems.tk, 1 mentaltraining-fuer-musiker.ch, 1 @@ -92431,11 +92443,11 @@ meo.es, 1 meoption.biz, 1 meoteam.dk, 1 meou.pictures, 1 -meow-games.com, 1 meow.cloud, 0 meow.enterprises, 1 meow.plus, 1 meower.org, 1 +meowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowservice.stream, 1 meowstodon.net, 1 meowtech.network, 1 mepassport.com, 1 @@ -92446,6 +92458,7 @@ meperidina.com, 1 mephedrone.org, 1 mepresto.com, 1 meps.net, 1 +mer30daru.com, 1 mera.ddns.net, 1 merabsurviladze.com, 1 meraki.hu, 1 @@ -92458,7 +92471,6 @@ meraldamulder.net, 1 meraldamulder.org, 1 meran.in, 1 meransuedtirol.com, 1 -meravirsa.com, 1 mercadobitcoin.com.br, 1 mercadocampesino.com.co, 1 mercadohype.tk, 1 @@ -92528,7 +92540,6 @@ mercurysquad.tk, 1 mercyseverity.tk, 1 merelaager.ee, 1 merelskleertjes.tk, 1 -merenbach.com, 1 merenita.eu, 1 merenita.net, 1 merenita.nl, 1 @@ -92619,6 +92630,7 @@ meskdeals.com, 1 meskiukas.tk, 1 meslekkursu.com, 1 mesmer.tk, 1 +mesmerus.net, 1 mesologie-soesterberg.nl, 1 mesomeds.com, 1 mesonandino.tk, 1 @@ -92629,9 +92641,9 @@ mesotheliomacentre.tk, 1 mesotheliomalawfirm-worldwide.tk, 1 mesquitegcd.gov, 1 mesquitelandscapeservices.com, 1 +message.contact, 1 messageclient.gq, 1 messagely.com, 1 -messagescelestes-archives.ca, 1 messagevortex.com, 1 messagevortex.net, 1 messaha.tk, 1 @@ -92690,6 +92702,7 @@ metaiverse.info, 1 metakari.one, 1 metal-madness.tk, 1 metal-news.tk, 1 +metal-pless.com, 1 metal-rock.tk, 1 metalarea.ru, 1 metalargentum.tk, 1 @@ -92702,6 +92715,7 @@ metaleonsociety.io, 0 metalequipped.com, 1 metalevolution.tk, 1 metalgie.work, 1 +metalgo.co, 1 metalgoth.tk, 1 metalhouse.tk, 1 metaljournal.tk, 1 @@ -92736,6 +92750,7 @@ metanomial.com, 1 metanumbers.com, 1 metapeen.nl, 1 metaphilic.tk, 1 +metaplore.com, 1 metaprivatewealth.com, 0 metapsychie.com, 1 metapublic.com, 1 @@ -92815,11 +92830,13 @@ metodosilvaniaderejuvenescimento.com, 1 metop.de, 1 metprint.hu, 1 metradar.ch, 1 +metreurjob.com, 1 metric.ai, 0 metricmutt.com, 1 metrika.ml, 1 metriks.ru, 1 metrix-money-ptc.com, 1 +metrix.co.uk, 1 metro-detroit.com, 1 metro-vet.co.uk, 1 metro-web.net, 1 @@ -92984,7 +93001,6 @@ mghiorzi.com.ar, 0 mghw.ch, 1 mgi.gov, 1 mgic.com, 1 -mgientertainment.com, 1 mgis.com, 1 mgkl.ru, 1 mgknet.com, 1 @@ -93005,7 +93021,6 @@ mgrt.net, 1 mgsdb.com, 1 mgsisk.com, 1 mgtbaas.eu, 1 -mgvideo.com.au, 1 mh-cdn.de, 1 mh-hannover.de, 0 mh.com.fj, 1 @@ -93017,7 +93032,6 @@ mhadot.com, 1 mhainfantandtoddler.com, 1 mhalfter.de, 1 mhammerbacher.me, 1 -mhand.org, 1 mhasika.tk, 1 mhastey.com, 1 mhatlaw.com, 1 @@ -93025,7 +93039,6 @@ mhcdesignstudio.com, 1 mheistermann.de, 1 mhermans.nl, 1 mhf.gc.ca, 1 -mhg-platform.com, 1 mhgeay.fr, 1 mhginsurance.com, 1 mhh.de, 0 @@ -93048,6 +93061,7 @@ mi1k.cn, 1 mi80.com, 1 mia-manager.dk, 1 mia.gent, 1 +mia.tf, 1 mia.tw, 0 mia3d.fr, 1 miaadler.net, 1 @@ -93120,12 +93134,12 @@ michael-schilling.de, 0 michael-simon.de, 1 michael-steinhauer.eu, 1 michael.band, 1 -michael.com, 1 michael.ie.eu.org, 1 michael.zone, 1 michaelabbas.tk, 1 michaelamead.com, 1 michaelasawyer.com, 1 +michaelbaade.no, 1 michaelband.co, 1 michaelband.com, 1 michaelbeer.co.uk, 1 @@ -93153,6 +93167,7 @@ michaelizquierdo.com, 1 michaeljames.com.au, 1 michaeljdennis.com, 0 michaeljohnsrestaurant.com, 1 +michaelkellas.com, 1 michaelkennedy.ie, 1 michaelkiske.tk, 1 michaelkleinert.de, 1 @@ -93272,7 +93287,6 @@ microbiologyinfo.com, 1 microbiota-insect-vectors.group, 1 microbiote-insectes-vecteurs.group, 1 microbird.club, 1 -microblink.com, 1 microcert.cn, 1 microchains.network, 1 microcomploja.com.br, 1 @@ -93313,12 +93327,12 @@ micruity.com, 1 mics-notrack.com, 1 micsell.com, 1 micsoft.gq, 1 +mict.nu, 1 miculturaservicios.gob.do, 1 micxel.com.au, 1 midaero.co.uk, 1 midair.io, 1 midam.sk, 1 -midamericapiering.com, 1 midasauctions.com, 1 midasbay-free.ml, 1 midcarolinaregionalairport.com, 1 @@ -93332,7 +93346,6 @@ middleeasy.com, 1 middlesbroughmoneyman.com, 1 middlesexpolicenc.gov, 1 middlesexwoodpigeonclub.co.uk, 1 -middletonshoppingcentre.co.uk, 1 middletowndelcopa.gov, 1 middletownny.gov, 1 middletownri.gov, 1 @@ -93364,10 +93377,10 @@ mido.ga, 1 mido4link.tk, 1 midohiowsd.gov, 1 midos.house, 1 +midpacificfutures.com, 1 midpss.lt, 1 midrange.com, 1 midress.club, 1 -midrra.com, 1 midspace.co.uk, 1 midspss.lt, 1 midstatebasement.com, 1 @@ -93393,6 +93406,7 @@ miegl.com, 1 miegl.cz, 1 mielboreal.com, 0 mieldemexico.us, 1 +mielehybla.it, 1 mielelpinsapar.com, 0 mielke-it.ch, 1 miem.us, 1 @@ -93416,7 +93430,9 @@ migg.it, 1 miggy.org, 1 mighit.ml, 1 mightycause.com, 1 +mightycovers.com, 1 mightyfive.tk, 1 +mightygadget.com, 1 mightyjo.org, 1 mightytext-ios.tk, 1 mightytips.biz, 1 @@ -93464,6 +93480,7 @@ mihgroup.net, 1 mihir.ch, 1 mihirsingh.com, 1 mihnea.net, 1 +mihomesource.com, 1 mihu233.com.cn, 1 miih-kiosk.com, 1 miimhort.com, 1 @@ -93644,7 +93661,6 @@ mikper.com, 1 mikrokosmos.tk, 1 mikropixel.de, 1 mikrotech.co.za, 1 -mikrothink.com, 1 mikrotike.tk, 1 mikrozajmy-na-kartu.cf, 1 miku-doujin.com, 1 @@ -93673,6 +93689,7 @@ milano-web.it, 1 milanoclownfestival.tk, 1 milanodigitalweek.com, 1 milanotoday.it, 1 +milanovwoodart.com, 1 milanow67.ml, 1 milanpala.cz, 0 milanstephan.de, 0 @@ -93756,6 +93773,7 @@ millburyma.gov, 1 millcreekut.gov, 1 millcreekwa.gov, 1 millefleurs.eu, 1 +millenn.photos, 1 millennialbella.net, 1 millennium-thisiswhoweare.net, 1 millenniumfalcon.org, 1 @@ -93806,6 +93824,7 @@ milmesetas.com, 1 milmiedos.tk, 1 milmmed.ru, 1 milnerga.gov, 1 +milobaker.co.uk, 1 milodistradfallning.com, 1 milomedia.net, 1 milor.nl, 1 @@ -93829,6 +93848,7 @@ mim-standaard.nl, 1 mim.am, 1 mim.properties, 1 mimamau.de, 1 +mimarchi.nl, 1 mimavision.ddns.net, 1 mimemo.io, 1 mimemoriadepez.com, 1 @@ -93849,6 +93869,7 @@ mimoza.tk, 1 mimscellaneous.com, 1 mimumimu.net, 1 mimundodxn.com, 1 +mimura.com.br, 1 mimusic.cf, 1 min-forsyning.dk, 1 min.io, 1 @@ -93872,7 +93893,6 @@ minclaw.com, 1 mincom.ga, 1 mind-books.gq, 1 mind-box.ch, 0 -mind-drama.com, 1 mind-farma.com, 1 mind-hochschul-netzwerk.de, 1 mind-media.com, 1 @@ -93894,7 +93914,7 @@ mindequityinternational.com, 1 mindera.com, 0 mindfab.de, 1 mindfactory.de, 1 -mindflowmarketing.com, 1 +mindflowmarketing.com, 0 mindfulnessjourney.ca, 1 mindhand.com, 1 mindjee.tk, 1 @@ -93986,14 +94006,12 @@ minf3-games.de, 1 minfin.gov.ua, 1 mingkai.me, 1 mingle2.com, 1 -mingming.info, 0 mingram.net, 1 mingwah.ch, 0 mingy.ddns.net, 1 mingyannet.com, 1 minh.at, 0 minhanossasenhora.com.br, 1 -minhanwindow.vn, 1 minhng99.cloud, 1 minhng99.eu, 1 minhtuongcomputer.com, 1 @@ -94031,7 +94049,6 @@ minikin.tk, 1 minikneet.com, 1 minikneet.nl, 1 miniliga.at, 1 -minimal-apps.de, 1 minimal-nothing.ml, 1 minimal-website.ch, 0 minimalistbaker.com, 1 @@ -94080,6 +94097,7 @@ minlly.com, 1 minload.com, 1 minly.com, 1 minmaxgame.com, 1 +minn.im, 1 minna.tk, 1 minnesota8.org, 1 minnesotacitymn.gov, 1 @@ -94143,6 +94161,7 @@ minuten-drogentests.de, 1 minutepunchline.com, 1 minuterice.com, 1 minutocultural.com.br, 1 +minutoscomdeus.com.br, 1 minux.info, 1 minweb.org, 1 minxmine.eu.org, 1 @@ -94154,6 +94173,7 @@ miodziki.pl, 0 miomiojoyeria.com, 1 miorganics.ro, 1 miottawavotes.gov, 1 +mipadlettings.com, 1 mipapo.de, 1 mipediatra.tk, 1 mipesa.cz, 1 @@ -94162,9 +94182,9 @@ mipiaci.com.au, 0 miplanilla.com, 1 mipnet.cl, 1 mipromo.com, 1 -mipropertiesnorth.com, 1 miproximopaso.org, 1 miprudelafi.ga, 1 +miptrade.com, 1 mipueblito.tk, 1 mipymesenlinea.com, 1 mir-faktov.tk, 1 @@ -94233,7 +94253,6 @@ mirkofranz.de, 1 mirkomainardi.com, 1 mirkout.com, 1 mirkvartir.tk, 1 -mirmax.ch, 1 mirnesnet.tk, 1 mirnews.ml, 1 mirobuvi.com.ua, 1 @@ -94244,7 +94263,6 @@ mironet.cz, 1 mironi.ml, 1 mironized.com, 1 mironov.tk, 1 -miroslavholec.cz, 1 mirotakampus.com, 0 mirprav.tk, 1 mirri.net, 1 @@ -94299,6 +94317,7 @@ mishraurology.com, 1 mishraweb.com, 1 misiepluszowe.com, 1 misinstrumentos.com, 1 +misite.ddns.net, 1 misiunas.eu, 1 misjoyas.com.es, 0 misk.com, 1 @@ -94346,6 +94365,8 @@ missoula.gov, 1 missoulacountymt.gov, 1 missoulian.com, 1 missouri-sky.tk, 1 +missouricity-airductcleaning.com, 1 +missouricitytow.com, 1 missouriheatingcoolingadvice.com, 1 missourivalleyhomes.com, 1 missoy.me, 1 @@ -94364,7 +94385,6 @@ missycraindance.com, 1 missyjay.tk, 1 missyou.link, 1 mist79.ru, 1 -mistacms.com, 0 mistades.ga, 1 mistajsay.com, 1 mister-auto.co.uk, 1 @@ -94376,6 +94396,7 @@ mister-auto.nl, 1 mister-matthew.de, 1 misterbandb.com, 1 misterboddy.com, 1 +mistercling.com, 1 misterd.ml, 1 misterdomain.eu, 1 mistergermany.tk, 1 @@ -94384,6 +94405,7 @@ misterkeltic.com, 1 misterl.net, 1 misterorion.com, 1 mistertesi.it, 1 +misterwish.store, 1 misteryrip.tk, 1 mistinecn.com, 0 mistitservices.in, 1 @@ -94444,8 +94466,10 @@ mitiko.xyz, 1 mitindo.it, 1 mitior.net, 1 mitjavila.com, 1 +mito-huutou.shop, 1 mito-meishi.shop, 1 mitokashi.ml, 1 +mitotalplay.com.mx, 1 mitranlogistik.com, 1 mitraseo.tk, 1 mitratech.com.br, 1 @@ -94468,7 +94492,7 @@ mitsukisushi.com, 1 mitt.ca, 1 mittagonghomestead.com.au, 1 mittarinvaihto.fi, 1 -mittdolcino.com, 1 +mittdolcino.com, 0 mittelalter-lexikon.de, 1 mittelhessen.de, 1 mittelunsachlich.de, 1 @@ -94542,7 +94566,6 @@ miyamane-room.com, 1 miyanaga.tech, 1 miyasyou.com, 1 miyatakaikei.com, 1 -miyavru.com, 1 miyazakian.com, 1 miyohiro.net, 1 miyoshi-kikaku.co.jp, 1 @@ -94553,7 +94576,7 @@ miziklakay.com, 1 mizipack.com, 0 mizoey.se, 1 mizon.com.pe, 1 -mizrahi-tefahot.co.il, 1 +mizrahi-tefahot.co.il, 0 mizternational.com, 1 mizu.coffee, 1 mizucoffee.net, 1 @@ -94565,6 +94588,7 @@ mizumax.me, 1 mj-reit.com, 1 mj420.com, 0 mjacobson.net, 1 +mjadventuretravel.com, 1 mjanja.ch, 1 mjasm.org, 1 mjbeventspr.com, 0 @@ -94633,6 +94657,7 @@ mkjoyeria.cl, 0 mkk.de, 1 mkkcrafts.com, 1 mkkkrc.ru, 1 +mkl.cn, 1 mklenterprises.com, 0 mklenterprisesacademy.com, 1 mklenterprisescoaching.com, 1 @@ -94661,6 +94686,7 @@ mkultraclean.com.au, 1 mkw.st, 1 mkws.sh, 1 ml.tax, 1 +ml246.me, 1 ml2d.com, 1 mlada-moda.cz, 1 mladamoda.sk, 1 @@ -94721,6 +94747,7 @@ mm6957.co, 1 mm9297.co, 1 mm9728.co, 1 mma-records.de, 1 +mma.org, 1 mmalisz.com, 1 mmallardi.no-ip.biz, 1 mmanews24.com, 1 @@ -94760,6 +94787,9 @@ mmorpg-stat.eu, 1 mmot.sk, 1 mmpaymentsystem.com, 1 mmphub.com, 1 +mmpi-ci.com, 1 +mmpiinternational.com, 1 +mmpiservices.fr, 1 mmprojects.nl, 1 mmr.ua, 1 mmrepair.in, 1 @@ -94801,7 +94831,6 @@ mniopenresearch.org, 1 mnium.de, 1 mnjg123.de, 1 mnkysoft.com, 1 -mnml.art, 1 mnml.blog, 1 mnml.top, 1 mnmt.no, 1 @@ -94952,6 +94981,7 @@ mobisaar-cloud.de, 1 mobistartv.ml, 1 mobitracker.co, 1 mobius.network, 1 +mobizent.com, 1 mobizma.com, 1 moblkar.com, 1 mobmp4.info, 1 @@ -95061,10 +95091,8 @@ moderndayprepping.com, 1 moderndeck.org, 1 moderndukes.tk, 1 moderneraplumbingandgas.com.au, 1 -moderngentlemen.net, 1 moderniknihovna.cz, 1 modernindia.ml, 1 -modernizr.com, 0 modernliferoleplay.cf, 1 modernmomarchy.com, 1 modernsaas.net, 1 @@ -95090,7 +95118,6 @@ modisarkar.tk, 1 modistryusercontent.com, 1 modlimit.cf, 1 modpop.se, 1 -mods.fm, 1 modscrew.com, 1 modsecurity.net, 1 modszombies.com, 1 @@ -95142,7 +95169,7 @@ moeloli.ac.cn, 1 moelten.org, 1 moemdom.info, 1 moenew.top, 1 -moenew.us, 0 +moenew.us, 1 moenjodaro.tk, 1 moensnatuursteen.be, 1 moepass.com, 1 @@ -95230,6 +95257,7 @@ mojizuri.com, 1 mojizuri.jp, 1 mojkragujevac.net, 1 mojleksikon.com, 1 +mojmolitvenik.com, 1 mojnet.eu, 1 mojnet.net, 1 mojo.az, 1 @@ -95252,6 +95280,7 @@ mokaszinhaz.tk, 1 mokeedev.com, 1 mokeedev.review, 1 mokhtarmial.com, 1 +moklee.com.sg, 1 mokrynskyi.com, 1 moksha-movement.com, 1 mokujinken.tokyo, 1 @@ -95283,6 +95312,7 @@ mollybears.org, 1 mollyblooms.tk, 1 mollyringworm.tk, 1 mollysun.net, 1 +mollysvoice.org, 1 molodechno-mk.by, 1 molodost.ga, 1 molodost.gq, 1 @@ -95308,7 +95338,6 @@ momentumcomfortgear.com, 1 momentumdash.com, 1 momentummarketers.ga, 1 momi-chura.com, 1 -momimi.me, 1 momistudio.com, 1 momit.eu, 1 momjoyas.com, 1 @@ -95386,7 +95415,6 @@ mondoviwi.gov, 1 mondpo.pro, 1 mondsee-psychotherapie.at, 1 mondzorgparkzicht.nl, 1 -monechafaudage.com, 1 moneni.com, 1 moneoci.com.br, 1 monerogamez.com, 1 @@ -95431,6 +95459,7 @@ moneyformybeer.com, 1 moneyfuxx.com, 1 moneygo.se, 1 moneygrup.tk, 1 +moneyhash.io, 1 moneymania.tk, 1 moneymart.ca, 1 moneymet.ru, 1 @@ -95471,6 +95500,7 @@ moniquevanhoutum.nl, 1 monirtalk.ml, 1 monirtalks.ml, 1 moniteaucountymo.gov, 1 +monitman.com, 1 monitman.solutions, 1 monitor-mailtracker.com, 1 monitor365.ch, 1 @@ -95491,7 +95521,6 @@ monix.io, 1 monjardin.tk, 1 monjo.io, 1 monjob.tk, 1 -monkey-donkey.es, 1 monkey47.com, 1 monkey47.events, 1 monkey47shuffle.com, 1 @@ -95549,6 +95578,7 @@ monshoppingcestcalais.fr, 1 monsieurbureau.com, 1 monsieursavon.ch, 0 monsitemoncommerce.com, 1 +monsitetest.ca, 1 monsonshoney.com.au, 1 monstahcapital.com, 1 monster-ryot.com, 1 @@ -95618,6 +95648,7 @@ monti.fi, 1 montiallison.com, 1 monticelloky.gov, 1 montillafarm.com, 1 +montokeepup.com, 1 montoneros.tk, 1 montop.tk, 1 montourcounty.gov, 1 @@ -95713,7 +95744,8 @@ moonvpn.org, 1 moonwolfwiccanschool.tk, 1 moonzerotwo.tk, 1 moopro.nl, 1 -mooreandsmalley.co.uk, 1 +moor-ebikes.co.uk, 1 +mooreandsmalley.co.uk, 0 mooreautoglass.com, 1 moorelife.cn, 1 mooremi.gov, 1 @@ -95769,6 +95801,7 @@ mor.estate, 0 mora.pl, 1 moracont.com, 1 moradali.tk, 1 +moradasdeitaici.com.br, 1 moralcenter.cf, 1 moralcompass.ga, 1 moraldehornuez.tk, 1 @@ -95827,6 +95860,7 @@ morevesi.cf, 1 morewithcore.com, 1 morfide.com, 1 morgan-insurance.com, 1 +morganappliancerepair.com, 1 morgancounty-al.gov, 1 morgancounty-il.gov, 1 morgancountymo.gov, 1 @@ -95834,7 +95868,6 @@ morgancountysheriffal.gov, 1 morgancountyutah.gov, 1 morgandesort.com, 1 morganeb.be, 1 -morgansleisure.co.uk, 1 morganton.com, 1 morganwilder.com, 1 morgengold.de, 1 @@ -95848,6 +95881,7 @@ morisakimikiya.com, 1 morishoji-english-school.com, 0 moritoworks.com, 1 moritz-baestlein.de, 1 +moritz.sh, 1 moritzkornher.de, 1 moritztremmel.de, 1 moriz.de, 1 @@ -95861,6 +95895,7 @@ mormonvoiceers.ga, 1 mormonvoiceest.ga, 1 mornatales.tk, 1 morningbird.eu, 1 +morningchew.com, 1 morningcurve.com, 0 morninggarden.com, 1 morningstar.moe, 1 @@ -95875,7 +95910,8 @@ moroccotravelingcars.com, 1 moroccounfiltered.com, 1 morocotacoin.news, 1 morogoro.tk, 1 -morooi.cn, 1 +morohub.com, 1 +morooi.cn, 0 morosystems.cloud, 1 morox.top, 1 moroz.cx, 1 @@ -95903,6 +95939,7 @@ morsang.net, 1 morselife.org, 1 morshedinterior.com, 1 mortaltorment.tk, 1 +mortazavifar.com, 1 mortebrume.eu, 1 mortengamstpedersen.tk, 1 mortezaafri.tk, 1 @@ -96069,12 +96106,13 @@ motor-agro.com.ua, 1 motor-agro.ru, 1 motor-cycles.tk, 1 motor-forum.nl, 1 -motor1.com, 1 motorbiketenerife.com, 1 motorbiketourhanoi.com, 1 motorcitycasino.com, 1 motorcyclecentral.net, 1 motordearranque.com.br, 1 +motorhype.co.uk, 1 +motorhype.shop, 1 motoridiricerca.tk, 1 motorinews24.com, 1 motorkohler.es, 1 @@ -96086,6 +96124,7 @@ motorslopers.tk, 1 motorspeed.de, 1 motorsplus.com, 0 motorsport-passion.com, 1 +motorsport-wuerttemberg.de, 1 motorst.dk, 1 motortg.it, 1 motortrend.com, 1 @@ -96096,7 +96135,6 @@ motorz.ca, 1 motorzone.od.ua, 1 motoscooter.eu, 1 motoselfservices.fr, 1 -motospaya.com, 1 motostyle.ua, 1 mototax.ch, 1 mototeam.tk, 1 @@ -96128,6 +96166,7 @@ moube.fr, 1 mouche.fr, 1 moucloud.cn, 1 mouff.li, 1 +moula-inc.jp, 1 mouldboard.ga, 1 moulin-pomerol.com, 1 moultonpdtx.gov, 1 @@ -96143,7 +96182,6 @@ mountainbatchers.de, 1 mountainbell.net, 1 mountainchalet.blue, 1 mountaincitytx.gov, 1 -mountaindiscovery.org, 1 mountaingrovemo.gov, 1 mountainprotocol.com, 1 mountainsandmist.com, 1 @@ -96168,7 +96206,6 @@ mountvictoryohio.gov, 1 mountwashington-ma.gov, 1 mountzdisposal.com, 1 mouracloset.com.br, 1 -mourassiloun.com, 1 mouse-ps.com, 1 mouseflow.com, 1 mousepotato.uk, 1 @@ -96290,7 +96327,6 @@ mp3gratuiti.com, 0 mp3musicfind.ga, 1 mp3noi.com, 1 mp3skull.cf, 1 -mp3sort.biz, 0 mpa-pro.fr, 1 mpadegree.org, 1 mpak.tk, 1 @@ -96319,10 +96355,10 @@ mpk-chayka.org.ua, 1 mpkrachtig.nl, 1 mplanetphl.fr, 0 mplant.io, 1 +mpldr.de, 1 mpodraza.eu, 1 mpodraza.pl, 1 mpool.eu.org, 1 -mpool.live, 1 mpornoindir.tk, 1 mpowr.com, 1 mpps.it, 1 @@ -96348,7 +96384,6 @@ mr-a.de, 1 mr-anderson.org, 0 mr-bills.com, 1 mr-brown.tk, 1 -mr-coffee.net, 1 mr-englischkurse.de, 1 mr-labo.jp, 1 mr-moulding-knives.com, 0 @@ -96379,7 +96414,6 @@ mrbighungary.hu, 1 mrbounce.com, 1 mrbouncescrazycastles.co.uk, 1 mrbouncycastle.com, 1 -mrbusiness360.com, 1 mrc-productivity.com, 1 mrca-sharp.com, 0 mrcelulares.co, 1 @@ -96402,7 +96436,6 @@ mrd.ninja, 1 mrdatenschutz.de, 1 mrdayman.com, 1 mredsanders.net, 1 -mrenegades.com, 1 mrephrase.com, 1 mrevolution.eu, 1 mrewards-production.herokuapp.com, 1 @@ -96517,6 +96550,7 @@ mscc.mu, 1 mscc.org, 1 msch.pw, 1 mschuessler.org, 1 +msd-animal-health.com, 1 msda23.gov, 1 msdnicrosoft.cn, 0 msdprojectclearmo.gov, 1 @@ -96613,7 +96647,6 @@ mszavodumiru.cz, 1 mt-bank.jp, 1 mt-tech.fi, 1 mt-west.org, 1 -mt.run, 0 mt.search.yahoo.com, 0 mt1016.com, 1 mt1130.com, 1 @@ -96784,12 +96817,10 @@ mugdost.com, 1 mugen.technology, 1 mugfanatic.com, 1 mugrabyhostel.tk, 1 -mugsstumpaward.com, 1 muguayuan.com, 1 muh.io, 1 muhabarishaji.com, 0 muhabbet.org, 1 -muhafazakarkiralikvilla.com, 1 muhammadal-behairi.clinic, 1 muhammadlukman.ml, 1 muhammadmunif.ml, 1 @@ -96803,6 +96834,7 @@ muhibbulislam.tk, 1 muhiminulhasan.me, 1 muhlenbergtwppa.gov, 1 muhrielle.org, 1 +muhtesemsozler.com, 1 mui.com, 1 mui.fitness, 1 mui.kitchen, 1 @@ -96824,6 +96856,7 @@ mujeresfemeninas.com, 1 mujlinux.cz, 1 mujoco.org, 1 muk-kobetsu.com, 1 +mukasa.no, 1 mukli.hu, 1 muku-flooring.com, 1 mukwa.gov, 1 @@ -96930,6 +96963,7 @@ munakata-cl.jp, 1 munch.me, 1 munchcorp.com, 1 mund-interdisziplinaer.com, 1 +mundialintercambio.com.br, 1 mundo-otaku.tk, 1 mundoalba.tk, 1 mundoarabe.com.br, 1 @@ -96949,7 +96983,6 @@ mundogamers.top, 1 mundoinfrarrojo.com, 1 mundojoven.tk, 1 mundokia.com.co, 0 -mundokinderland.com.br, 1 mundomagicotv.com, 1 mundomovie.tk, 1 mundonow.com, 1 @@ -97042,7 +97075,6 @@ musafir-aceh.tk, 1 musasionline.com, 1 musaslush.com, 1 musavat.com, 1 -musbizu.com.ng, 1 muscatinecountyiowa.gov, 1 muscatinejournal.com, 1 muscle-home.fr, 1 @@ -97050,7 +97082,6 @@ muscle-tg.com, 1 muscleandrecovery.com, 1 musclecarresearch.com, 1 musclecarsillustrated.com, 1 -musclecarus.com, 1 muscles.cf, 1 muscolinomusic.com, 1 muscularbabes.net, 1 @@ -97171,7 +97202,6 @@ muskuratimorning.tk, 1 muslimah.boutique, 1 muslimbanter.co.za, 1 muslimmarriage.cf, 1 -muslimpocket.com, 1 muslimsoul.cf, 1 muslimsoul.ga, 1 muslimsoul.gq, 1 @@ -97371,7 +97401,6 @@ my-force-user-content.com, 1 my-fuhui.com, 1 my-gps-tracker.co.uk, 1 my-host.ovh, 1 -my-how-to-draw.com, 1 my-hps.de, 1 my-ifms.com, 1 my-ip.work, 1 @@ -97429,6 +97458,7 @@ myabakus.com, 1 myaccount.google.com, 1 myaccountview.net, 1 myactivity.google.com, 1 +myadvanpath.com, 1 myafweb.com, 1 myaggic.com, 1 myairware.com, 1 @@ -97437,6 +97467,7 @@ myalliance.church, 1 myalliancechurch.com, 1 myalpine.shop, 1 myalsadd.tk, 1 +myalumil.com, 1 myamend.com, 1 myamihealth.com, 1 myandre.tk, 1 @@ -97452,13 +97483,11 @@ myaquaterra.tk, 1 myareaf2a.com, 1 myarentcar.com, 1 myarticlelibrary.cf, 1 -myarticles.io, 1 myartsjournal.com, 1 myasb.club, 1 myathena.ai, 0 myatipfile.com, 1 myauto.ml, 1 -myayurvedicdiary.com, 1 mybaby.bg, 1 mybags.cf, 1 mybakkupakku.com, 1 @@ -97477,7 +97506,6 @@ mybestbooks.gq, 1 mybestteam.tk, 1 mybicc.org, 1 mybieo.com, 1 -mybigplunge.com, 1 mybillie.com, 1 mybirds.tk, 1 mybisnis.tk, 1 @@ -97486,7 +97514,7 @@ mybloggedlife.com, 1 myblogwire.org, 1 myblueprints.org, 1 mybon.at, 0 -mybon.online, 1 +mybon.online, 0 mybookbee.com, 1 myboostport.com, 1 myboothang.com, 1 @@ -97497,13 +97525,13 @@ mybpstar.com, 1 mybrand.nl, 1 mybrb.com, 1 mybreakwatertower.com, 1 +mybreex.nl, 1 mybritney.tk, 1 mybro.tv, 1 mybrokenheart.tk, 1 mybsms.gr, 1 mybts.fr, 1 mybubbleteashop.com, 1 -mybuddytheplumberparkcity.com, 1 mybudgetapp.com, 1 mybuildingcertifier.com.au, 1 mybupa.com.au, 1 @@ -97516,6 +97544,7 @@ mycarecorner.net, 1 mycarecrew.co, 1 mycarinsurance123.com, 0 mycarwashers.com, 1 +mycase.com, 1 mycase.com.ua, 1 mycats.tk, 1 mycaviste.com, 1 @@ -97606,6 +97635,7 @@ mydenverhomesource.com, 1 mydesignrules.com, 1 mydestiny.tk, 1 mydetailbox.com, 1 +mydifl.com, 0 mydigitalexperience.fr, 1 mydigitalnation.com, 1 mydirtyclub.com, 1 @@ -97647,8 +97677,8 @@ myedumundo.com, 1 myeisenbahn.de, 1 myekon.com, 1 myelebest.ga, 1 +myelinalicante.com, 1 myelka.tk, 1 -myelucidation.com, 1 myemailadd.net, 1 myemailsender.tk, 1 myeml.net, 1 @@ -97773,7 +97803,6 @@ myhoor.ga, 1 myhostname.net, 1 myhotel.sk, 1 myhotgirls.ml, 1 -myhouse-ne.co.uk, 1 myhouse.rocks, 1 myhousestats.com, 1 myhub.eu.org, 1 @@ -97923,7 +97952,6 @@ mynetflow.com, 1 mynetpay.be, 1 mynetworkingbuddy.com, 1 mynewhorizons.shop, 1 -mynewsfit.com, 1 mynewsinc.org, 1 mynext.events, 1 mynextmove.org, 1 @@ -98091,7 +98119,6 @@ myrig.com, 1 myrig.net, 1 myrom.tk, 1 myrotvorets.center, 1 -myrotvorets.news, 1 myrp.co, 1 myrtlebeachdogtrainers.com, 1 myruststats.com, 1 @@ -98142,6 +98169,7 @@ mysisterandi.co.za, 1 mysitex.com, 1 myslc.gov, 1 mysmartloan.ca, 1 +mysmartserve.com, 0 mysmmstore.com, 1 mysmmstore.in, 1 mysmsapp.cn, 1 @@ -98149,6 +98177,7 @@ mysociallinks.org, 1 mysociety.ml, 1 mysockfactory.ch, 1 mysockfactory.com, 1 +mysoft.com.tr, 1 mysoftbtrans.com, 1 mysoftebelge.com, 1 mysoftlonca.com, 1 @@ -98203,12 +98232,14 @@ mystudycart.com, 1 mystudymap.tk, 1 mystyk.art, 1 mystylion.com, 1 +mysuperiorgarage.com, 1 mysupplements.ga, 1 mysurfhostel.com, 0 myswabi.tk, 1 myswimmingclub.uk, 1 myswitchelectric.com, 1 myswooop.de, 1 +myszg.com, 1 mytamarin.com, 1 mytana.com, 1 mytanningcompany.com, 1 @@ -98216,7 +98247,6 @@ mytaratata.com, 1 mytc.fr, 1 myte.ch, 1 mytea.life, 1 -mytecheg.com, 1 mytefl.com, 1 mytests.tk, 1 mytfg.de, 1 @@ -98225,10 +98255,12 @@ mythenfonds.ch, 1 mytherapist.com, 1 mythicdelirium.com, 1 mythiqueamerique.fr, 1 +mythreesonshvac.com, 1 mytime.fr, 1 mytime.gl, 1 mytimer.tk, 1 myting.net, 1 +mytlevelshub.com, 1 mytntware.com, 1 mytoncityut.gov, 1 mytraiteurs.com, 1 @@ -98399,7 +98431,6 @@ naap.tk, 1 naarenaa.tk, 1 naaronstoe.nl, 1 nab-services.ml, 1 -nabaleka.com, 1 nabc.com.au, 1 nabeer.ga, 1 nabeez.cf, 1 @@ -98438,7 +98469,6 @@ nacom.tk, 1 nacoree.ga, 1 nacres.tk, 1 nacsonline.tk, 1 -nacu.com.np, 1 nacua.org, 1 nacudeck.com, 1 nacyklo.cz, 1 @@ -98487,7 +98517,6 @@ nafilia.com, 1 nafod.net, 1 nafto.org, 1 nag.org.au, 1 -naga-semi.com, 1 naga-wedding.tk, 1 naga.com, 1 naga.gq, 1 @@ -98533,11 +98562,10 @@ naia.me, 1 naide.ee, 1 naidoc.org.au, 1 naifix.com, 1 -naijabeat.com, 1 naijapower.com, 1 naijaretro.com, 0 +naijauncut.com, 1 naijaxnet.com.ng, 1 -naijmobile.com, 1 naika.clinic, 1 nailartstudio.it, 1 nailattitude.ch, 0 @@ -98549,12 +98577,11 @@ nails-n-more.be, 1 nailsart.roma.it, 1 nailshop.gq, 1 nailsmania.ua, 1 -nailspafinder.com, 1 naim.tk, 1 -nairamine.org, 1 nairobibusinessreview.com, 1 nairus.com.br, 1 nais.org, 1 +nais0ne.com, 1 najany.de, 1 najany.dk, 1 najany.nl, 1 @@ -98578,8 +98605,6 @@ nakalabo.jp, 1 nakama.tv, 1 nakamastudios.com, 1 nakamochi.io, 1 -nakanishi-paint.com, 1 -nakanocity-cashless.jp, 1 nakayama.industries, 1 nakayamaresearch.com, 1 nakazanie.ga, 1 @@ -98635,7 +98660,7 @@ namastenaturo.fr, 1 namastewestland.nl, 1 namazon.org, 1 namazvakitleri.com.tr, 0 -namclear.com.na, 1 +namc-um.org, 1 name.am, 1 name.ax, 1 namecoin.info, 1 @@ -98649,8 +98674,6 @@ nameproscdn.com, 1 namereel.com, 1 nameserver.tk, 1 nameshield.com, 1 -nameshield.net, 1 -namesmaker.com, 0 namesnack.com, 1 namespacesquatting.com, 1 namestudio.com, 1 @@ -98670,7 +98693,6 @@ naminam.de, 1 namlcftc.gov.ae, 1 nammont.com, 1 namoro.com.pt, 1 -namozagy.com, 1 namrs.net, 1 namsbaekur.is, 1 namskra.is, 1 @@ -98704,6 +98726,7 @@ nandemo.tk, 1 nandertga.ddns.net, 1 nandi.tech, 1 nandito.tk, 1 +nanestor.us, 1 nanfangstone.com, 1 nange.cn, 1 nangluongxanhbinhphuoc.com, 1 @@ -98928,7 +98951,6 @@ nasrullaganjnews.tk, 1 nassaucountyfl.gov, 1 nassautrafficny.gov, 1 nassconorfolk.com, 1 -nassi.me, 1 nast.ro, 1 nast.tk, 1 nastationztv.com, 1 @@ -98988,6 +99010,7 @@ nathaliedijkxhoorn.nl, 1 nathaliesadventure.eu, 1 nathaliesavale.com, 1 nathalieschaos.tk, 1 +nathalietaieb.com, 1 nathan.ovh, 1 nathan2055.com, 1 nathanaeldawe.com, 1 @@ -99005,6 +99028,7 @@ nathanmfarrugia.com, 1 nathanphoenix.com, 1 nathansmetana.com, 1 nathenmaxwell.tk, 1 +nathmart.com, 1 nathumarket.com.br, 1 nation.net.pk, 1 national-anime.com, 1 @@ -99029,9 +99053,12 @@ nationalopera.ml, 1 nationalpriorities.org, 1 nationalresourcedirectory.gov, 1 nationalservice.gov, 1 +nationalstudentclearinghouse.com, 1 nationaltestingnetwork.com, 1 nationaltrails.ru, 1 nationandfreedom.tk, 1 +nationdivergente.com, 1 +nationislam.com, 1 nationslending.com, 1 nationsreportcard.gov, 1 nationwide.com, 1 @@ -99057,6 +99084,7 @@ natronaincident.gov, 1 natronasheriff.gov, 1 natropie.pl, 1 nats-flop.tk, 1 +natt.ca, 1 natty.sh, 1 natualsmoke.com, 1 natuerlichabnehmen.ch, 1 @@ -99066,7 +99094,6 @@ natur-plus.tk, 1 natur-seele.de, 1 natur-udvar.hu, 1 natur-und-kultur.de, 1 -natur.com, 1 natura-sense.com, 1 natura2000.tk, 1 naturabuy.fr, 1 @@ -99078,10 +99105,8 @@ naturalflowerpower.com, 1 naturalhealingguides.com, 1 naturalkitchen.co.uk, 1 naturallychildled.com, 1 -naturallygood4u.com, 1 naturallyuncommon.com, 1 naturalmentesinescuela.com, 1 -naturalprobiotica.com, 1 naturalreaders.com, 1 naturalresources.wales, 1 naturalstyle.tk, 1 @@ -99089,6 +99114,7 @@ naturalwellnesssolutions.org, 1 naturana.news, 1 naturaprint.fr, 1 naturart.pt, 1 +naturaventyr.se, 1 nature-avenue.com, 1 natureandculture.org, 0 natureclaim.com, 1 @@ -99096,7 +99122,6 @@ naturedao.hk, 1 natureexplorer.is, 1 natureisland.tk, 1 naturel.tk, 1 -natureleafmarket.co.uk, 1 naturelife.bg, 1 naturelk.org, 1 naturemeadows.in, 1 @@ -99167,6 +99192,7 @@ navigo-inc.com, 1 navigo.cc, 1 navigo.global, 1 navinka.com, 1 +navinmolecular.com, 1 navionhcs.com, 1 navirefi.com, 1 naviteq.eu, 1 @@ -99279,7 +99305,6 @@ nbr.uno, 1 nbrain.de, 1 nbriresearch.com, 1 nbrown.us, 1 -nbtc.com, 1 nbwp.uk, 1 nbx.com, 1 nc-beautypro.fr, 1 @@ -99378,6 +99403,7 @@ ndbilje.si, 0 ndcpolipak.com, 1 ndd.govt.nz, 1 ndeb-bned.ca, 1 +ndesignprojects.com, 1 ndev.tk, 1 ndhhs.gov, 1 ndhlink.com, 1 @@ -99386,6 +99412,7 @@ ndigen.com, 1 ndisreview.gov.au, 1 ndlegis.gov, 1 ndlegistest.gov, 1 +ndm.org.uk, 1 ndmath.club, 1 ndns.ga, 1 ndpbrn-research.org, 1 @@ -99436,7 +99463,6 @@ neawth.com, 1 neaz.tk, 1 neb.li, 1 neba.io, 1 -nebeauty.it, 1 nebebra.stream, 1 nebelhauch.de, 1 nebenan.de, 1 @@ -99452,6 +99478,7 @@ nebraskawheat.gov, 1 nebucadnezzer.tk, 1 nebulae.co, 1 nebulise.com, 1 +nec-x.com, 1 necd.me, 1 necio.ca, 1 neckbeard.xyz, 1 @@ -99474,7 +99501,6 @@ nedela.tk, 1 nedemek.com.tr, 1 nederbetuwe.nl, 0 nederlandmobiel.nl, 1 -nederlands-vastgoedfonds.nl, 1 nederlandse-modelspoor-database.nl, 1 nederlandwereldwijd.nl, 1 nedermisp.nl, 1 @@ -99547,6 +99573,7 @@ nehalem.gov, 1 neheim-huesten.de, 1 nehmer.net, 1 nehnutelnosti.io, 1 +nehomesolutions.co.uk, 1 nehoupat.cz, 1 nehrp.gov, 1 nehta.gov.au, 1 @@ -99578,7 +99605,7 @@ nejmaklerka.cz, 1 nejrecept.cz, 1 nejsvetla.cz, 1 nekb.org, 1 -nekenieh.net, 1 +nekenieh.net, 0 nekkit.xyz, 1 nekljudov.ga, 1 neko-city.tk, 1 @@ -99606,6 +99633,7 @@ nekrylov.ee, 0 nekrylov.org.ru, 0 nekrylov.spb.ru, 0 nekusoul.de, 1 +nelayouth.org, 1 nelebaehre.de, 0 nelefon.com, 1 nelegal-edition.ml, 1 @@ -99999,7 +100027,7 @@ netlevel.ga, 1 netlify.com, 1 netlocal.ru, 1 netmaddy.com, 1 -netmagellan.com, 1 +netmagellan.com, 0 netmagicas.com.br, 1 netmajstor.eu, 1 netmania.tk, 1 @@ -100036,6 +100064,7 @@ netrix.de, 1 netrogue.ninja, 1 netronix.be, 1 netrunner.xyz, 1 +nets-cloud.com, 1 nets.com.sg, 1 netschool.tk, 1 netsearch.ga, 1 @@ -100159,7 +100188,6 @@ neuber-it.de, 1 neuber.uno, 1 neubr.de, 1 neuca24.pl, 1 -neuch.info, 0 neue-energien.tk, 1 neuelandschaft-welzow.de, 1 neuf-chateaux.com, 1 @@ -100190,6 +100218,7 @@ neuroethics.com, 1 neurogroove.info, 1 neurohouse.com.br, 1 neurojournal.ru, 1 +neurolicht.de, 1 neurologia.tk, 1 neurologie.tk, 1 neurologysantamonica.com, 1 @@ -100198,11 +100227,13 @@ neurontinprice.ga, 1 neuronus.com.br, 1 neuropharmacology.com, 1 neurophysiotherapy.ga, 1 +neuropsicologiaperin.com.br, 1 neuropsychologisthouston.com, 1 neurosurgeryinmexico.com, 1 neuroticosanonimos.tk, 1 neuroticpoets.com, 1 neurotransmitter.net, 1 +neurozentrum-barsinghausen.de, 1 neurozentrum-zentralschweiz.ch, 1 neustadt-keller.de, 1 neustadtguides.de, 1 @@ -100308,15 +100339,12 @@ newburyparkelectric.com, 1 newburyparkelectrical.com, 1 newburyparkelectrician.com, 1 newburyparkexteriorlighting.com, 1 -newburyparklandscapelighting.com, 1 newburyparkoutdoorlighting.com, 1 newburyportma.gov, 1 newcab.de, 0 newcapitaldev.com, 1 newcarlisleohio.gov, 1 newcars.tk, 1 -newcasinos-au.com, 1 -newcasinos-ca.com, 1 newcastlemoneyman.com, 1 newcastleok.gov, 1 newcc.gov, 1 @@ -100348,6 +100376,7 @@ newdirectionsolar.com.au, 1 newdunite.com, 1 newdurhamnh.gov, 1 newedgeink.ca, 1 +newelliottwaverule.org, 1 newemage.com.mx, 1 newendsoft.com, 0 newengineer.com, 1 @@ -100385,6 +100414,7 @@ newipswichnh.gov, 1 newjerseyvideography.com, 1 newkaliningrad.ru, 1 newlands-fasteners.com.au, 1 +newlanefinance.com, 1 newlegalsteroid.com, 1 newlifebathrooms.com.au, 1 newlifefund.org, 1 @@ -100399,11 +100429,11 @@ newman.ga, 1 newmansown.co.uk, 1 newmap.nl.eu.org, 1 newmarketbouncycastlehire.co.uk, 1 +newmarketsaddlery.com.au, 1 newmatworld.com, 1 newmed.com.br, 1 newmedia.gotdns.com, 1 newmediaone.net, 1 -newmeproducts.com, 1 newmex.com.br, 1 newmilfordct.gov, 1 newmilfordnj.gov, 1 @@ -100491,6 +100521,7 @@ newsfinale.com, 1 newsforum.ml, 1 newsforyou.cf, 1 newsgenix.org, 1 +newsgobag.com, 1 newsgroups.io, 1 newsguyz.com, 1 newshell.it, 1 @@ -100507,6 +100538,7 @@ newsinplanet.com, 1 newsinpolitics.ga, 1 newsireland.tk, 1 newsiva.org, 1 +newsjatim.com, 1 newskinlasercenter.com, 1 newslanka.tk, 1 newsletteralerts.com, 1 @@ -100577,7 +100609,6 @@ newyorkland.forsale, 1 newyorknews.tk, 1 newyorkrp.tk, 1 newyorktoutsimplement.com, 1 -newyoushampoo.com, 1 newz.to, 1 newzashitnik.tk, 1 newzealandadventure.tk, 1 @@ -100589,13 +100620,14 @@ newzlyup.com, 1 newzvilla.ga, 1 nex.io, 1 nex.li, 1 +nexaquotient.com, 1 nexcoda.io, 1 nexd.com, 1 nexgeneration-solutions.com, 1 nexgenwebdesign.co.uk, 1 -nexgi.com, 1 nexhealth.info, 1 nexicafiles.com, 1 +nexinal.net, 1 nexiodev.com, 1 nexiodevopslocal.com, 1 nexiopay.com, 1 @@ -100608,6 +100640,7 @@ nexiosandbox.com, 1 nexiostaging.com, 1 nexitdata.com, 1 nexiumgeneric.tk, 1 +nexlight.be, 0 nexo.games, 1 nexon.com.au, 1 nexril.net, 0 @@ -100646,7 +100679,6 @@ nextgenerationaccessories.com, 1 nextgenerationaccessories.online, 1 nextgenerationaccessories.ru, 1 nextgenerationaccessories.store, 1 -nextgenforbbm.com, 1 nextgenmath.com, 1 nextgensocialnetwork.com, 1 nextgenthemes.com, 0 @@ -100662,7 +100694,6 @@ nextlevelchess.blog, 1 nextlevelforum.de, 1 nextmarkets.com, 1 nextme.se, 1 -nextnowagency.com, 0 nextos.com, 1 nextrader.guru, 0 nextrasp.it, 1 @@ -100683,10 +100714,10 @@ nextzen.com.bd, 1 nexus, 1 nexus-start.de, 1 nexus-vienna.at, 1 -nexusbyte.de, 1 nexusmedianews.com, 1 nexussystems.tk, 1 nexwebsites.com, 1 +nexxen.com, 1 nexxss.jp, 1 nexxus-sistemas.net.br, 1 nexzcore.com, 1 @@ -100745,6 +100776,7 @@ nft-qa-web.azurewebsites.net, 1 nft.io, 1 nftactually.com, 1 nftdelegation.com, 1 +nftnow.com, 1 nftshowroom.com, 1 ng-musique.com, 1 ng.edu.ee, 1 @@ -100922,10 +100954,8 @@ nicheosala.tk, 1 nicher.tk, 1 nichesite.gq, 1 nichetest.tk, 1 -nichevideogalore.com, 0 nichi.co, 1 nichijou.com, 1 -nichijou.org, 1 nicholasjohnson.ch, 1 nicholaslazzerini.com, 1 nicholasnassar.com, 1 @@ -100965,6 +100995,7 @@ nicknames.tk, 1 nicknamez.tk, 1 nickoticko.tk, 1 nickplotnek.co.uk, 1 +nickrichards.site, 1 nickrickard.co.uk, 1 nickrickard.uk, 1 nicks-autos.com, 1 @@ -100997,6 +101028,8 @@ nicoknibbe.nl, 1 nicokroon.nl, 1 nicoladixonrealestate.com, 1 nicolaeiotcu.ro, 1 +nicolaiimset.com, 1 +nicolaiimset.no, 1 nicolaiteglskov.dk, 1 nicolajanedesigns.co.uk, 1 nicolalapenta.com, 1 @@ -101007,9 +101040,8 @@ nicolas-bouvier.tk, 1 nicolas-dumermuth.com, 1 nicolas-feuillatte.com, 1 nicolas-hoizey.com, 1 -nicolas-hoizey.photo, 0 +nicolas-hoizey.photo, 1 nicolas-simond.ch, 1 -nicolas-simond.com, 1 nicolaschelly.tk, 1 nicolasfrebert.fr, 1 nicolasfriedli.ch, 1 @@ -101032,6 +101064,7 @@ nicoobank.com, 1 nicopretzl.de, 1 nicorevin.ru, 1 nicosaveyn.be, 1 +nicotorrenga.nl, 1 nicovip.com, 1 nicsezcheckfbi.gov, 1 nicsys.de, 1 @@ -101047,6 +101080,7 @@ niduxcomercial.com, 1 nie-wieder-muede.de, 1 niebla.com.co, 1 niederalt.com, 1 +niedermaier.eu.org, 1 niedermair.bz, 1 niederohmig.de, 1 niedersachsen.cloud, 1 @@ -101057,7 +101091,6 @@ nielsbohr.ai, 1 nielsdesign.tk, 1 nielsensaskiagaantrouwen.be, 1 niemaler.de, 1 -niemandmussirgendwas.de, 1 niemeyer.org.br, 1 nien.cf, 1 nien.co, 1 @@ -101157,6 +101190,7 @@ niice.co, 1 niinaratsula.com, 1 niit-mts.com, 1 niit.com, 1 +niiteducation.com, 1 niitfoundation.org, 1 niitnguru.com, 1 niituniversity.in, 1 @@ -101181,7 +101215,6 @@ nikant.tk, 1 nikavandenbos.nl, 1 nikavenus.com, 1 nike-studio.com, 1 -nikeairjordan.cc, 1 nikelunartw.net, 1 nikesoccerbodotoutlet.ga, 1 nikest.cf, 1 @@ -101208,6 +101241,7 @@ niklashagman.se, 1 niklasstinkt.com, 1 niko-mapping-studio.tk, 1 niko-vfx.com, 0 +niko.lgbt, 1 nikodev.es, 1 nikoflix.site, 1 nikolaev.ml, 1 @@ -101227,6 +101261,7 @@ nikonschool.co.uk, 1 nikosoikonomopoulos.tk, 1 nikosverths.tk, 1 nikotiinipussit.com, 1 +nikov.net, 1 nikscloud.eu, 1 nikz.in, 1 nil.com, 1 @@ -101250,7 +101285,6 @@ nilsbrisset.info, 1 nilslandscaping.com.au, 1 nilsnet.tk, 1 nilsvital.de, 1 -nim.tw, 1 nimbl.nz, 1 nimble.com.br, 1 nimblefins.co.uk, 1 @@ -101300,6 +101334,7 @@ ningunlugarestalejos.com, 1 ningwei.net, 1 niniko.tk, 1 ninja-corner.tk, 1 +ninja.it, 1 ninjacomputing.com, 1 ninjahub.net, 1 ninjamagic.tk, 1 @@ -101379,6 +101414,7 @@ nitix.games, 1 nitolab.com, 1 nitoville.com, 1 nitranoviny.sk, 1 +nitrix.me, 1 nitro.az, 1 nitrocloud.ddns.net, 1 nitrohorse.com, 0 @@ -101428,6 +101464,7 @@ niyen.eu, 1 niyen.net, 1 niyen.org, 1 niyen.social, 1 +nizamialemdernegi.org.tr, 1 nizarvoiceover.tk, 1 nizhaoheng.com, 1 nizozemsku.nl, 1 @@ -101444,7 +101481,6 @@ njeda.gov, 1 njedge.net, 1 njeri.codes, 1 njfog.org, 1 -njgames.org, 1 njhq.org, 1 njilc.com, 1 njintl.com, 1 @@ -101456,6 +101492,7 @@ njpc.org, 1 njpjanssen.nl, 1 njpranksters.tk, 1 njpropertysolutionsrealty.com, 1 +njrealtor.com, 1 njsbf.org, 1 njsda.gov, 1 njshield.gov, 1 @@ -101468,6 +101505,7 @@ nk1.de, 1 nkapliev.org, 1 nkbi.ru, 1 nkbwnx.com, 1 +nkfilter.com.tr, 1 nkg-mosbach.de, 1 nkg.com.au, 1 nkghas.com, 1 @@ -101493,6 +101531,7 @@ nla.no, 1 nlap.ca, 0 nlc-business.com, 1 nlead.gov, 1 +nlgr.de, 1 nllboard.co.uk, 1 nlm.gov, 1 nlorganizing.com, 1 @@ -101569,7 +101608,6 @@ no-real.tk, 1 no-reply.mx, 1 no-terrorism.tk, 1 no-war-on-iraq.tk, 1 -no-xice.com, 0 no.search.yahoo.com, 0 no112.org, 1 no1universities.tk, 1 @@ -101643,11 +101681,13 @@ nocturnos.tk, 1 nocturnus.tk, 1 noctys.com, 1 nocyclopedia.tk, 1 +nod.lv, 1 nod32.com.pt, 1 nodde.cf, 1 nodecdn.net, 1 nodecore.mine.nu, 1 nodecraft.com, 1 +nodecraft.studio, 1 nodefoo.com, 1 nodejs.org, 1 nodelab-it.de, 1 @@ -101692,7 +101732,6 @@ nohatenj.gov, 1 nohats.ca, 1 nohomeinsurance.com, 1 nohttps.org, 1 -nohungerfoodbank.org, 1 nohup.se, 1 nohup.xyz, 1 noideas.tk, 1 @@ -101703,7 +101742,6 @@ noincludesubdomains.preloaded.test, 0 noirland.co.nz, 1 noirmale.com, 1 noirmalenetwork.com, 1 -noirpvp.com, 1 noiseboyz.com, 1 noisebridge.social, 1 noisky.cn, 1 @@ -101783,6 +101821,7 @@ noname-ev.de, 0 nonametheme.com, 1 nonemail.ch, 1 nonemu.ninja, 1 +noneuclideanconcepts.com, 1 nonnaloreta.it, 1 nono.fi, 0 nono303.net, 1 @@ -101791,7 +101830,10 @@ nonpareilonline.com, 1 nonprofit.info, 1 nonsa.pl, 1 nonslipdeckingco.uk, 1 +nonstopairductcleaning.com, 1 +nonstopairductcleaninghoustontx.com, 1 nonstopjob.ga, 1 +nonstoptowingdallastx.com, 1 nontonfilem.ml, 1 nonuplebroken.com, 1 nonverbalcommunicationcertificate.com, 1 @@ -101808,7 +101850,6 @@ noobsrus.co.uk, 1 noobsunited.de, 0 noobswhatelse.net, 1 noobunbox.net, 1 -noodweer.be, 1 noom.com, 1 noon-entertainments.com, 1 noonan.family, 1 @@ -101846,13 +101887,12 @@ noraahost.com, 1 noracora.com, 1 norad.sytes.net, 1 noradevot.com, 1 -noradevot.org, 1 noradrenalina.com, 1 norala.tk, 1 noralku.net, 1 norazpublicservice.gov, 1 norbert-wollheim-platz.tk, 1 -norbertorabinovichblog.com, 0 +norbertorabinovichblog.com, 1 norbit.de, 1 norcalworkcomp.com, 1 norcconcrete.com, 1 @@ -101953,6 +101993,7 @@ nortecompartidoexperience.es, 1 nortecultural.tk, 1 nortek.com, 1 northafrican.tk, 1 +northamericangamingalmanac.com, 1 northamericantrack.com, 0 northampton-vets.co.uk, 1 northatlantalawgroup.com, 1 @@ -101969,7 +102010,6 @@ northbrisbaneapartments.com.au, 1 northcapitalb.com, 1 northcarolinahealth.tk, 1 northcharlestonsc.gov, 1 -northcoastlabs.com, 1 northcoastpsychotherapy.com.au, 1 northcountyfire.gov, 1 northcountykiaparts.com, 1 @@ -102000,7 +102040,6 @@ northiowatractorride.com, 1 northkingstownri.gov, 1 northkoreainsider.tk, 1 northliner.tk, 1 -northlinkferries.com, 1 northlinkferries.net, 1 northmiamibeachfl.gov, 1 northmountliquor.ca, 1 @@ -102016,12 +102055,12 @@ northportpdfl.gov, 1 northpost.is, 1 northprairiepdwi.gov, 1 northprairiewi.gov, 1 -northpublicidade.com.br, 1 northrose.net, 1 northshoremums.com.au, 1 northshorevisitor.com, 1 northstarcommunitytrust.org, 1 northstarcommunitytrust.org.uk, 1 +northstarcruises.com, 1 northstaredit.org.uk, 1 northstarmodular.com, 1 northstartrust.co.uk, 1 @@ -102109,7 +102148,6 @@ not4me.tk, 1 nota-web.com, 1 nota.moe, 1 nota.place, 1 -notablepeeps.com, 1 notabug.eu, 1 notabug.org, 1 notacooldomain.com, 1 @@ -102151,10 +102189,12 @@ notebrook.com, 1 notecoffee.tw, 1 noted.de, 1 notedinstyle.co.uk, 1 +notelseit.com, 1 notenarchiv.eu, 1 notepam.com, 1 notequal.me, 1 notesforpebble.com, 1 +noteshare.net, 1 noteskeeper.ru, 1 notfunny.tk, 1 notgerman.com, 1 @@ -102209,6 +102249,7 @@ notora.tech, 1 notoriousdev.com, 1 notre-planete.info, 1 notrefuse.tk, 1 +notrero13.com, 1 notresiteduvercors.tk, 1 notrid.com, 1 notryden.com, 1 @@ -102225,13 +102266,12 @@ nou9ta.tk, 1 noudjalink.nl, 1 nougat-anduze.fr, 1 noumeet.com, 1 -nouragha.com, 1 nourishandnestle.com, 1 nourishbyfrida.com, 1 noussommesluniversite.org, 1 nousyukum.com, 1 -nouveau.nl, 1 nouveauhosting.com.au, 1 +nouvelatrium.net, 1 nouvelle.net.au, 1 nova-dess.ch, 0 nova-eq.com, 1 @@ -102263,7 +102303,6 @@ novaratoday.it, 1 novarock.tk, 1 novasdecadamanha.com.br, 1 novashare.io, 1 -novasport.ru, 1 novasprint.tk, 1 novastore.com.br, 1 novastores.co, 1 @@ -102318,7 +102357,6 @@ novobudowa.pl, 1 novocarrobr.com.br, 1 novodiegomaia.com.br, 1 novogimn.tk, 1 -novogradnje.si, 1 novogrudok.tk, 1 novojet.cl, 1 novokurovka.tk, 1 @@ -102344,7 +102382,6 @@ novostiz.tk, 1 novostroyki.ml, 1 novotoznanie.com, 1 novparket.ru, 0 -novrazbb.com, 1 novsti.cf, 1 novu.com, 1 novumclinic.pl, 1 @@ -102404,10 +102441,10 @@ np.search.yahoo.com, 0 np39.de, 1 npaf.org, 1 npaihb.org, 1 +nparksphotographie.com, 1 npass.us, 1 npath.de, 1 npbeta.com, 1 -npc-ts.org, 1 npc.org.au, 1 npclimited.co.uk, 1 npcradio.tk, 1 @@ -102424,9 +102461,9 @@ npowerbusinesssolutions.com, 1 nprb.org, 1 npregion.org, 1 npsas.org, 1 +npsphotography.com, 1 nptelegraph.com, 1 nptn.tk, 1 -npuer.life, 1 npws.net, 1 nqesh.blog, 1 nqesh.net, 1 @@ -102443,6 +102480,7 @@ nrbri.ru, 1 nrc-gateway.gov, 1 nrc.gov, 1 nrchealth.com, 1 +nrclitchi.org, 1 nrd.gov, 1 nrdstd.io, 1 nreihofer.de, 1 @@ -102458,6 +102496,7 @@ nrthcdn.me, 1 nrvc.net, 1 nrvn.cc, 1 nrvnastudios.com, 1 +nrvweb.net, 1 nrw-stiftung-magazin.de, 1 ns-frontier.com, 1 ns-hook.dk, 1 @@ -102481,12 +102520,12 @@ nscorporation.co.jp, 1 nscresearchcenter.org, 1 nsdcprayerforce.com, 1 nsec.dk, 1 +nsecure.nl, 1 nseindia.com, 1 nsep.gov, 1 nsepapa.com, 1 nsfw-story.com, 1 nsfw.dk, 1 -nshipster.cn, 1 nshipster.co.kr, 1 nshipster.com, 1 nshipster.es, 1 @@ -102519,6 +102558,7 @@ nspireoutreach.org, 1 nspoh.nl, 1 nsradiology.net, 1 nssfchile.tk, 1 +nsspl.com.au, 1 nssquad.tk, 1 nst-maroc.com, 1 nstatic.xyz, 1 @@ -102579,7 +102619,6 @@ nuacht.ie, 1 nuage-libre.fr, 1 nuage365.de, 0 nuanda.es, 1 -nuansagoal.co, 1 nub.so, 1 nubank.com.br, 1 nube.com.br, 1 @@ -102632,7 +102671,7 @@ nuetel.com, 1 nuevacombarbala.tk, 1 nuevaimagenpublicidad.es, 1 nuevapublicidad.tk, 1 -nuevaya.com.ni, 0 +nuevaya.com.ni, 1 nuffield.nl, 1 nugdev.co, 0 nuggit.ga, 1 @@ -102651,7 +102690,6 @@ nukeportal.ml, 1 nukeportal.tk, 1 nukeshop.tk, 1 nukleoti.de, 1 -nukute.com, 0 nul20.nl, 1 null-d.com, 1 null-life.com, 0 @@ -102677,6 +102715,7 @@ nully.xyz, 1 nulo.ar, 0 nuls.io, 1 nulsc.biz, 1 +nulsc.net, 1 numancia.tk, 1 numarasorgulama.tel, 1 number.me, 1 @@ -102761,7 +102800,6 @@ nusantaraku.tk, 1 nusatrip-api.com, 1 nussadoclub.org, 1 nussschale.eu, 1 -nustay.com, 1 nut.spb.ru, 1 nutbot.co.uk, 1 nutleyarchives.org, 1 @@ -102776,13 +102814,11 @@ nutriciametabolics-shop.de, 1 nutricionistatulioalmeida.com, 1 nutriciously.com, 1 nutriclub.co.id, 1 -nutrifruiti.ca, 1 nutrifyyourself.com, 1 nutrijets.com, 1 nutriment.co.uk, 1 nutrineyfelipe.com, 1 nutripedia.gr, 1 -nutripure.fr, 1 nutrisidangym.com, 1 nutrislice.com, 1 nutristories.gr, 1 @@ -102865,7 +102901,7 @@ nwfem.com, 1 nwh.nz, 1 nwimports.com, 1 nwitt.us, 1 -nwmpcllc.com, 0 +nwmpcllc.com, 1 nwn.fi, 1 nwoordinances.tk, 1 nwopage.tk, 1 @@ -102915,7 +102951,6 @@ nyan.stream, 1 nyangasm.com, 0 nyangasm.net, 0 nyangasm.org, 0 -nyanor.cloud, 1 nyansparkle.com, 1 nyantec.com, 1 nyap.org, 1 @@ -103108,7 +103143,6 @@ oaktreecapital.com, 0 oaktreelodge.org.uk, 1 oakwood-park.tk, 1 oanclothing.com, 1 -oandareview.co, 1 oanow.com, 1 oase-fuer-wohlbefinden.ch, 1 oasegroen.nl, 1 @@ -103133,7 +103167,6 @@ obandln.de, 1 obarax.com, 1 obatjantungrematik.tk, 1 obbr.tk, 1 -obcevents.co.uk, 1 obcfl.com, 1 obclub.tk, 1 obcom.tk, 1 @@ -103176,17 +103209,16 @@ obj.moe, 1 object.earth, 1 objectcache.pro, 1 objectif-securite.ch, 1 -objectif-terre.ch, 0 objectif-vancouver-2010.fr, 1 objectifs-fitness.com, 1 objectivefoodie.com, 1 objectivity.co.uk, 1 objectorientedsolutions.com, 1 -objekt-textil.ch, 0 objetodestaque.com.br, 1 obl.ong, 1 oblak.host, 1 oblak.studio, 1 +oblik.press, 1 oblikdom.pro, 0 oblinvest.org, 1 oblitsov.ru, 1 @@ -103264,7 +103296,6 @@ occam-consulting.de, 1 occasion.nc, 1 occhelps.gov, 1 occrp.org, 1 -occu.lt, 1 occult-magick.ga, 1 occult-magick.gq, 1 occult-magick.ml, 1 @@ -103277,7 +103308,6 @@ occupationaltherapylicense.org, 1 occupations.org.ru, 1 occupy4elephants.tk, 1 occupybakersfield.tk, 1 -occupynightlife.com, 1 occuspace.io, 1 ocd2016.com, 1 ocdadmin.com, 1 @@ -103300,6 +103330,7 @@ oceanfirst.com, 1 oceaniahome.tk, 1 oceaniaservergroup.com, 1 oceanic.global, 1 +oceanicquest.com, 0 oceanings.com, 1 oceanlogisticgroup.com, 1 oceanlord.me, 1 @@ -103346,7 +103377,6 @@ ockendenhemming.co.uk, 1 oclausen.com, 1 ocloudhost.com, 1 oclube.online, 1 -ocmlng.com, 1 ocmw.gent, 1 ocmwgent.be, 1 ocni-ambulance-most.cz, 1 @@ -103455,7 +103485,6 @@ odensc.com, 1 odensc.me, 1 odenvilleal.gov, 1 odeonentertainment.co.uk, 1 -odesigning.com, 1 odessalove.tk, 1 odete.com.br, 1 odezdaotto.tk, 1 @@ -103540,6 +103569,7 @@ ofallonil.gov, 1 ofaqim.city, 1 ofasoft.com, 1 ofb.uz, 1 +ofbdc.org.au, 1 ofcampuslausanne.ch, 0 ofelia.tk, 1 ofertasadsl.com, 1 @@ -103557,6 +103587,8 @@ offcasesstore.com, 1 offenekommune.de, 1 offenes-deutschland.de, 1 offensity.com, 1 +offensivesentinel.com, 1 +offensivesentinel.es, 1 offentligsektormedmoln.se, 1 offeo.com, 1 offer-today.ml, 1 @@ -103567,6 +103599,7 @@ offers-daraghmehstores.com, 1 offers.jp, 1 offgamers.com, 1 offgames.io, 1 +offgrid.hr, 1 offgridauto.com, 1 office, 1 office-addins.com, 1 @@ -103607,7 +103640,6 @@ officialmc2.com, 1 officialniledevelopments.com, 1 officialpyramids.com, 1 officialsunset.com, 1 -officialzzstore.com, 1 officina.roma.it, 1 officina.tk, 1 officium.tech, 1 @@ -103637,6 +103669,7 @@ oficoex.es, 1 oficomercr.com, 0 ofileo.fr, 1 ofina.on.ca, 1 +ofiprecios.com, 1 ofis.tk, 1 ofisas.cloud, 1 ofisescort.ga, 1 @@ -103696,6 +103729,7 @@ ogunquit.gov, 1 ogurishun.tk, 1 ogurus.com, 1 oguya.ch, 1 +oguz.law, 1 ogyaa.jp, 0 ogznet.com, 1 oh-my-lash.nl, 1 @@ -103703,7 +103737,6 @@ oh14.de, 0 ohai.is, 1 ohai.social, 1 ohai.su, 1 -ohako-inc.jp, 1 oharas.fr, 1 ohartl.de, 1 ohayosoro.me, 1 @@ -103747,6 +103780,7 @@ ohsohairy.co.uk, 1 ohtoy.com, 1 ohverynice.ml, 1 ohwatch.co.za, 1 +ohwowlash.com, 1 ohydne.pl, 1 ohyooo.com, 1 ohype.ga, 1 @@ -103828,6 +103862,7 @@ okkur.net, 1 okkur.org, 1 okkur.team, 1 okkurlabs.com, 1 +oklahoma-towing.com, 1 oklahomaced3.gov, 1 oklahomafibroids.com, 1 oklahomamoversassociation.org, 1 @@ -103876,6 +103911,7 @@ okuguchihifuka-clinic.com, 1 okukan.com.au, 1 okulistiyoruz.tk, 1 okurapictures.com, 1 +okurumakaitori.jp, 1 okusiassociates.com, 1 okv.de, 1 okviz.com, 1 @@ -103883,6 +103919,7 @@ okwine.ua, 1 okwu.cz, 1 ola.finance, 1 olacatlitter.com, 1 +olafbrzeski.com, 1 olafnorge.de, 1 olafvantol.nl, 1 olafwalther.de, 1 @@ -104050,7 +104087,6 @@ oliviercreation.tk, 1 olivierdurand.tk, 1 olivierpieters.be, 1 oliviervaillancourt.com, 1 -olivinehoney.com.au, 1 olivlabs.com, 1 oljyakatemia.fi, 1 olk9mo.com, 1 @@ -104101,10 +104137,8 @@ olxa.tk, 1 olxdir.tk, 1 olydent.com, 0 olyfed.com, 1 -olygazoo.com, 1 olymp-arts.world, 1 olympe-transport.fr, 1 -olymperfitness.com, 1 olympia-blerick.tk, 1 olympia-londerzeel.tk, 1 olympiads.ca, 1 @@ -104125,10 +104159,10 @@ omag.gov, 1 omaha.com, 1 omaha.gov, 1 omahachapterone.org, 1 -omahagutterandsiding.com, 1 omaharoofpros.com, 1 omahcoin.com, 1 omal.info, 1 +oman-stick.sale, 1 omanair.com, 1 omangrid.com, 1 omanhr.cf, 1 @@ -104218,7 +104252,6 @@ omnidiecasting.com, 1 omnidigital.ae, 1 omniflora.shop, 1 omnifotoside.tk, 1 -omnifurgone.it, 1 omniga.de, 0 omnilert.net, 1 omniscimus.net, 0 @@ -104227,7 +104260,6 @@ omnisky.dk, 1 omnissimmo.fr, 1 omniteck.com, 1 omnitrack.org, 1 -omnitrattore.it, 1 omnits.pro, 1 omny.info, 1 omorashi.org, 1 @@ -104396,7 +104428,6 @@ onelinkbpo.com, 1 onemeter.com, 1 onemindmedicinals.com, 1 oneminute.io, 0 -onemix.me, 1 onemodel.com.au, 1 onemodel.us, 1 onemonthcamera.tk, 1 @@ -104404,6 +104435,7 @@ onemoonmedia.de, 1 onenetcdn.com, 1 onenetwork.com, 1 onenetwork.io, 1 +onenightwild.com, 1 oneoncology.com, 1 oneone.moe, 1 oneonemedia.tk, 1 @@ -104421,18 +104453,17 @@ onepointsafeband.com, 1 onepointzero.com, 1 onepotliving.com, 1 oneprediction.com, 1 -onerivermedia.com, 1 ones.buzz, 1 onescience.tk, 1 oneshotmediakc.com, 1 oneso.win, 1 onespan.com, 0 onespiritinc.com, 1 -onesportslive.com, 1 onestarclassics.com, 1 onestasolar.com, 1 onestepbooks.gq, 1 onestepbooks.ml, 1 +onestop-towing.com, 1 onestopcastles.co.uk, 1 onestopmedicalsupplies.com, 1 onestopshop.ml, 1 @@ -104518,6 +104549,7 @@ online-calculator.com, 1 online-calculator.xyz, 1 online-car-show.com, 1 online-carhire.tk, 1 +online-casino-pt.com, 1 online-casino.eu, 1 online-clothing-store.tk, 1 online-concepts.net, 1 @@ -104536,7 +104568,6 @@ online-learning.bg, 1 online-lernprogramme.de, 1 online-mobile-phone-shop.tk, 1 online-news-usa.tk, 1 -online-one-piece.com, 1 online-pochta.ml, 1 online-pr.at, 1 online-series.ru, 1 @@ -104553,7 +104584,6 @@ online-umwandeln.de, 1 online-video-cutter.com, 1 online-voice-recorder.com, 1 online-wedding.site, 1 -online-wholesalers.com, 1 online-xxxmovies.com, 1 online.forum, 1 online.marketing, 1 @@ -104665,7 +104695,6 @@ onlineth.com, 1 onlinetntj.com, 1 onlinevardenafil.gq, 1 onlineveilingmeester.nl, 1 -onlineverdict.com, 1 onlineverdienen.tk, 1 onlinevergidanismani.com, 1 onlineviewers.tk, 1 @@ -104689,6 +104718,7 @@ onlybooks.gq, 1 onlycrumbsremain.com, 1 onlyesb.net, 1 onlyfans.com, 1 +onlyfans.freemyip.com, 1 onlyfans.love, 1 onlyfitgear.com, 1 onlyincentivesest.ga, 1 @@ -104697,7 +104727,6 @@ onlyjesus.net, 1 onlylithiumhere.gq, 1 onlylovastatin.gq, 1 onlymammoths.com, 1 -onlymyenglish.com, 1 onlysergio.com, 1 onlysmoker.com, 1 onlystars.news, 1 @@ -104731,6 +104760,7 @@ onpopup.ga, 1 onporn.fun, 1 onrampwallet.com, 1 onrealt.ru, 0 +onrise.software, 1 onrr.gov, 1 onsemediagroup.ml, 1 onsenlaichelesdoigts.be, 1 @@ -104769,6 +104799,7 @@ ontrio.cz, 1 ontrip.dk, 1 ontrip.kr, 1 ontsnappingskamer.nl, 1 +onttt.com, 1 ontwerpdenkers.nl, 0 onul.works, 1 onurdemirezen.com, 1 @@ -104822,7 +104853,6 @@ ooonja.de, 1 oooo.loan, 1 ooooo.cz, 1 ooove.ru, 1 -oopsis.com, 1 oopure.com, 1 oorbellen.nl, 1 oortcast.com, 1 @@ -104904,6 +104934,7 @@ openbible.com.au, 1 openbiblebookstore.com.au, 1 openbleam.com, 1 openblox.org, 1 +openbooktheatrecompany.net, 1 openbriefing.org, 1 openbsd.cz, 1 openbsdhosting.com, 1 @@ -105008,7 +105039,6 @@ opensourcesoftware.rocks, 1 opensourcesurvey.org, 1 opensourcex.tk, 1 openspot.tk, 1 -opensquares.org, 1 opensrc.one, 1 openssl.org, 0 openstandia.jp, 1 @@ -105052,6 +105082,7 @@ opexterminating.com, 1 opfin.com, 1 opforintel.com, 1 opgani7.info, 1 +ophelia-escort.de, 1 ophelia.ink, 0 ophepartners.org, 1 ophidian.tk, 1 @@ -105061,7 +105092,6 @@ opic.gov, 1 opid.my.id, 1 opieoils.co.uk, 1 opil.no, 1 -opimo3d.com.br, 1 opin.me, 1 opinie.pl, 1 opinio.fr, 1 @@ -105093,7 +105123,6 @@ oplop.appspot.com, 1 opm.gov, 1 opmaakonderscheidingen.nl, 1 opnx.dk, 1 -opoderdaenergiafeminina.com.br, 1 opomec.com, 1 opop.cz, 1 opopulechki.tk, 1 @@ -105126,6 +105155,7 @@ oppwa.com, 1 opq.pw, 1 opraab.ga, 1 opraser.cz, 1 +opravdovekoucovani.cz, 1 oprbox.com, 1 oprekin.com, 1 opreturn.org, 1 @@ -105173,6 +105203,7 @@ optifleet-evol.net, 1 optifury.com, 1 optigazelle.com, 1 optigear.nl, 1 +optigon.no, 1 optik-sehstern.de, 1 optik-tamara.de, 1 optik-trosdorff.de, 1 @@ -105288,6 +105319,7 @@ orangesquash.org.uk, 0 orangesquirrelevents.co.uk, 1 orangetexas.gov, 1 orangetown.com, 1 +orangewaratahjuniorfc.org.au, 1 orangtua.tk, 1 oranjee.net, 0 oranjerie.tk, 1 @@ -105311,6 +105343,7 @@ orbitdefence.co.uk, 1 orbitfoods.ca, 1 orbitforum.ga, 1 orbitgoods.ca, 1 +orbitmoonalpha.com, 1 orbitpro.co, 1 orbitrock.xyz, 1 orbits.ga, 1 @@ -105343,6 +105376,7 @@ ord-airportparking.com, 1 ordastoikennel.tk, 1 ordbokpro.se, 1 ordenmutantes.tk, 1 +ordenpublico.education, 1 order-a-laura.de, 1 order-ftw.de, 1 order-tools.io, 1 @@ -105357,6 +105391,7 @@ orderomnicef.gq, 1 orderpizza.tk, 1 orderseason.digital, 1 orderteethest.ga, 1 +orderu.com, 1 ordervaltrexonlines.ga, 1 ordevanoranjenassau.nl, 1 ordfejd.se, 1 @@ -105399,7 +105434,6 @@ oreo.rocks, 1 oreomuhely.hu, 1 oresama.studio, 1 oreshinya.xyz, 1 -oreskylaw.com, 1 orestadit.dk, 1 oreto.de, 0 orevan.net, 1 @@ -105556,9 +105590,10 @@ ortegaportfolio.com, 1 ortegat.com, 1 ortelius.com, 1 ortelius.se, 1 +ortemann.fr, 1 ortemis.host, 1 orteo.co, 1 -ortho-graz.at, 1 +ortho-graz.at, 0 orthoatthevillage.com, 1 orthocab.com, 1 orthocop.cz, 1 @@ -105629,7 +105664,6 @@ osbeck.com, 1 osborn.io, 1 osborne.tk, 1 osbornecounty.gov, 1 -osborneinn.com, 0 osbornepro.com, 1 osburn.com, 1 osc.gov, 1 @@ -105698,6 +105732,7 @@ osmosis-inversa.online, 1 osmre.gov, 1 osmt.cc, 1 osnova.cz, 1 +osobniterapeutka.cz, 1 osobnyak.tk, 1 osohq.com, 1 osolutionscorp.com, 1 @@ -105729,7 +105764,6 @@ ostek.tk, 1 ostendorf.com, 1 osteolaclusaz.com, 0 osteopathe-voisine.com, 1 -osteopathie-guggenberger.de, 1 osteopatiaymasaje.com, 1 osteriabellavista.ch, 0 osteriadelponte.tk, 1 @@ -105818,7 +105852,6 @@ otomauto.com, 1 otomekaito.xyz, 1 otomny.fr, 1 otomobilforumu.com, 1 -otomobilhaber.com, 1 otonity.com, 1 otoplastik.ml, 1 otoplenie-ufa.ml, 1 @@ -105851,6 +105884,7 @@ ottertailcountymn.gov, 1 otterupdate.com, 1 ottervillemo.gov, 1 otthonelektronika.hu, 1 +otthonkatalog.hu, 1 otticait.com, 1 otticaturi.it, 1 ottingergolf.com, 1 @@ -105864,6 +105898,7 @@ otuts.eu, 1 otvaracie-hodiny.sk, 1 otya.me, 1 otzyvy.cc, 1 +otzyvy.co, 1 ouaibe.qc.ca, 1 ouaie.be, 1 ouaisetalors.fr, 1 @@ -105881,7 +105916,6 @@ ouinex.xyz, 1 ouiouibunny.ch, 1 ouiouibunny.fr, 1 oujj.link, 1 -oukasou.moe, 1 oukasou.xyz, 1 ouldlamara.tk, 1 oulunjujutsu.com, 1 @@ -105926,8 +105960,8 @@ ourocg.cn, 1 ouroh2.com, 1 ouronyx.com, 0 ourpharmacynetwork.com, 1 -ourphonestoday.com, 1 ourplanetary.com, 1 +ourrealmorocco.com, 1 ours.money, 1 oursaintfrancis.org, 1 oursibparksplan.com, 1 @@ -105980,6 +106014,7 @@ outdoorphoto.co.za, 1 outdoorsytravel.com, 1 outerface.net, 1 outerheaven.pro, 1 +outerlandstravel.com, 1 outerlimitsdigital.com, 1 outernet.tk, 1 outerspace.ga, 1 @@ -106001,7 +106036,6 @@ outline.vn, 1 outlook.com, 1 outlook.pl, 1 outlookbythebay.com, 1 -outlookonthedesktop.com, 1 outlooktransfer.com, 1 outloudradio.uk, 1 outnetic.com, 1 @@ -106024,10 +106058,12 @@ outstack.vote, 1 outstanding.tk, 1 outstandingpromotion.com, 1 outtask.ai, 0 +outtoprotect.org, 1 outwoodz.co.uk, 1 outworking.com, 1 ouverture-coffre-fort.fr, 1 ouvindo.com.br, 1 +ouvrierbtp.com, 1 ouwerling.tk, 1 ov-chipkaart.nl, 1 ovabastecedoraindustrial.com, 1 @@ -106044,7 +106080,6 @@ oven.media, 1 ovenapp.io, 1 ovenrepairaustin.com, 1 overa.net, 1 -overallmotivation.com, 1 overallscanners.tk, 1 overca.sh, 1 overcached.com, 1 @@ -106054,6 +106089,8 @@ overclockers.ga, 1 overclockers.ge, 1 overcomers.tk, 1 overdance.com.br, 1 +overdosereport.com, 1 +overdosesreport.com, 1 overdrive-usedcars.be, 0 overener.biz, 1 overener.cn, 1 @@ -106156,7 +106193,6 @@ owlbee.nl, 1 owldevelopers.tk, 1 owlexa.com, 1 owlhollowbakery.com, 1 -owln.ai, 0 owlnull.me, 1 owlscrap.ru, 1 owlvilleers.ga, 1 @@ -106168,6 +106204,7 @@ ownerbusiness.org, 1 ownergroup.net, 1 ownersre.com, 1 ownhosting.cloud, 1 +ownhosting.de, 1 owningless.fr, 1 ownparking.com, 1 ownspec.com, 1 @@ -106206,7 +106243,6 @@ oxiame.eu, 1 oxibeiras.pt, 1 oxide.social, 1 oxidecomputer.net, 1 -oxidecomputer.social, 1 oxidized.org, 1 oxigenoinformatica.tk, 1 oximedia.ga, 1 @@ -106216,7 +106252,6 @@ oxizonia.com, 0 oxlab.com.ar, 1 oxo.cloud, 0 oxona.eu, 1 -oxoo.ooo, 1 oxopackaging.com.au, 0 oxos.com, 1 oxots.com, 1 @@ -106324,7 +106359,7 @@ p-k-b.com, 1 p-konto.tk, 1 p-ku.com, 1 p-p.site, 1 -p-pac.com, 0 +p-pac.com, 1 p-pc.de, 1 p-t.io, 1 p.ac, 1 @@ -106338,7 +106373,6 @@ p1-test.nl, 1 p10.ru, 0 p1984.nl, 0 p1cn.com, 1 -p1group.com, 1 p1ratrulezzz.me, 1 p22.co, 1 p2enews.com, 1 @@ -106381,7 +106415,6 @@ pa-w.de, 1 pa.search.yahoo.com, 0 pa1ch.fr, 1 pa5am.nl, 1 -paack.co, 1 paack.com, 1 paal.network, 1 paanews.com, 1 @@ -106426,6 +106459,7 @@ pablofain.com, 0 pablofonta.es, 1 pablolopezlujan.es, 1 pablomachado.tk, 1 +pablomarjim.es, 1 pablomolina.tk, 1 pablomoreno.tk, 1 pablonadiecomotu.tk, 1 @@ -106478,7 +106512,6 @@ pacificprivatebank.com, 1 pacificpuke.com, 1 pacificrimcollege.online, 1 pacificscience.com, 1 -pacificstandard.com, 1 pacificstates.net, 1 pacifictechnologie.com, 1 pacifique-web.nc, 1 @@ -106506,6 +106539,7 @@ packetlinux.com, 1 packetmail.net, 1 packetnomad.net, 1 packetoverflow.com, 1 +packetripper-web-4a29a0f40f4d.herokuapp.com, 1 packlane.com, 1 packliberte.org, 1 packservice.es, 1 @@ -106521,7 +106555,6 @@ pacogorzados.tk, 1 pacot.es, 1 pacpost.live, 1 pact2017.nl, 1 -pactandoconlamoda.com, 1 pacteo.com, 1 pactf-flag-4boxdpa21ogonzkcrs9p.com, 1 pactf.com, 1 @@ -106547,6 +106580,7 @@ padremiguel.pt, 1 padron.com.es, 1 padshah.tk, 1 paducaheic.com, 1 +padunetwork.com, 1 padzilla.com, 1 pae.com, 1 paedlink.ca, 1 @@ -106628,7 +106662,6 @@ paige.ai, 1 paigejulianne.com, 1 paigethegeek.com, 1 paiinternational.in, 1 -painart.ru, 1 paincareehr.com, 1 painclinic.tk, 1 paincore.tk, 1 @@ -106639,7 +106672,6 @@ painesvillemunicipalcourt-ohio.gov, 1 painfreenyc.com, 1 painful.fun, 1 painkiller-tech.com, 1 -painkillercart.com, 1 paint-it.pink, 1 paint4.life, 1 paintball-ljubljana.si, 1 @@ -106698,7 +106730,6 @@ pakjefooi.net, 1 pakjefooi.nl, 1 pakjefooi.org, 1 pakkibaat.tk, 1 -pakmarkas.lt, 1 pakmedia.tk, 1 paknetworking.org, 1 pakostane-apartments.tk, 1 @@ -106761,7 +106792,6 @@ pallavihautecouture.com, 1 palletflow.com, 1 palletsprojects.com, 0 pallhed.se, 1 -palli.ch, 0 palliativ-del.de, 1 palmaprop.com, 1 palmarinaestrada.com.br, 1 @@ -106816,7 +106846,6 @@ panamacity.gov, 1 panamacitypolice.gov, 1 panamatravel.tk, 1 panamatrippin.com, 1 -panamawebfactory.com, 1 panangelium.tk, 1 panasca.is, 1 panascais.at, 1 @@ -106850,7 +106879,6 @@ panaxis.li, 1 pancake-world.com, 1 pancake.gg, 1 pancani.it, 1 -panchajanyafashions.com, 1 panda-community.com, 1 panda-craft.tk, 1 panda-lang.net, 1 @@ -106876,7 +106904,6 @@ pandemicoversight.gov, 1 pandillatel.ml, 1 pandit.tech, 1 pandithaya.tk, 1 -pandjes.com, 1 pandkonijn.nl, 1 pandn-bulgaria.com, 1 pando-market.com, 1 @@ -106902,7 +106929,6 @@ panetolikos.gr, 1 paneu.de, 1 panezai.tk, 1 pang.ga, 1 -pangea-it.com, 1 pangea.cloud, 1 pangeaservices.com, 1 pangolin.exchange, 0 @@ -106934,6 +106960,7 @@ pannellisolari.roma.it, 1 pannovate.com, 1 pano-guru.com, 1 pano.ie, 1 +panodprodukcjimuzycznej.pl, 1 panoramacambios.com, 1 panoramahillhotel.com, 1 panoramaphoto.cf, 1 @@ -107258,13 +107285,13 @@ parkcare.fr, 1 parkcare.it, 1 parkcare.nl, 1 parkcare.pt, 1 -parkcheap.nl, 1 parkchesterinfo.com, 1 parkcitycu.org, 1 parkcounty-wy.gov, 1 parkcountyco.gov, 1 parkcountysheriff-wy.gov, 1 parkderm.com, 1 +parkdworski.pl, 1 parked-domain.net, 1 parkeer.nl, 1 parkeerserviceboxtel.nl, 1 @@ -107349,7 +107376,6 @@ parkinggaragepressurewashingchicago.com, 1 parkinginparis.fr, 1 parkingmasters.be, 1 parkingparisnord.fr, 1 -parkingtoday.com, 1 parkinsons.tk, 1 parkmycloud.com, 1 parkofnations.com, 1 @@ -107365,7 +107391,6 @@ parkseed.com, 1 parksi.top, 1 parkstonegp.com, 1 parkstreet.com, 1 -parksubaruoemparts.com, 1 parktownpatrols.co.za, 1 parktraum.com, 1 parkujkladne.cz, 1 @@ -107489,6 +107514,7 @@ partsguysusa.com, 1 partsinstock.com, 1 partsworld.bg, 1 partusedtyres.net, 1 +partwerx.com, 1 party-kneipe-bar.com, 1 party-time-inflatables-durham.co.uk, 1 partyaccommodationsers.ga, 1 @@ -107532,7 +107558,8 @@ paschmid.ch, 1 pascoaselecta.com, 1 pascocountyfl.gov, 1 pascoflcorrections.gov, 1 -pascopresents.com, 1 +pascopcfix.com, 1 +pascopresents.com, 0 pascosheriff.com, 1 pascovotes.gov, 1 pascualberniz.tk, 1 @@ -107629,7 +107656,6 @@ paste.gg, 1 paste.rodeo, 1 paste.to, 1 pastebin.bet, 1 -pastebin.run, 1 pasteblin.com, 1 pasteht.ml, 1 pasteleriaflomar.es, 1 @@ -107679,7 +107705,6 @@ patchyvideo.com, 1 patdorf.com, 1 patechmasters.com, 1 patel.sh, 1 -patelheaters.com, 1 patent-motorowodny.pl, 1 patent-sternika.pl, 1 patentados.com, 1 @@ -107775,6 +107800,7 @@ pattayawebservices.com, 1 patterico.com, 1 pattern.com, 1 pattersonca.gov, 1 +pattevegan.com, 1 pattoes.ga, 1 pattonfanatic.com, 1 pattuka.com, 1 @@ -107805,7 +107831,6 @@ paulcloud.fr, 1 paulcoldren.org, 1 pauld.codes, 1 pauldeconinck.tk, 1 -paulfc.com, 1 paulgerberrealtors.com, 1 paulgo.io, 1 paulhacker.com, 1 @@ -107816,7 +107841,6 @@ paulini.ga, 1 pauliuspiecius.com, 1 pauljackson.ga, 1 pauljamesblinds.co.uk, 1 -pauljmartinez.com, 1 pauljrowland.co.uk, 1 pauljzak.com, 1 paullockaby.com, 1 @@ -107825,6 +107849,7 @@ paulmarc.org, 1 paulmarvin.tk, 1 paulmolloy.guitars, 1 paulmolloydesign.com, 1 +paulo.nom.za, 1 pauloalcalde.co, 1 pauloalcalde.com, 1 pauloalcobianeves.pt, 1 @@ -107874,6 +107899,7 @@ pavamtio.cz, 1 pavando.com, 0 pavcomm.com, 1 pavel.cc, 1 +pavel.co.il, 1 paveldesign.tk, 1 pavelfojt.cz, 1 pavelfucik.com, 1 @@ -107881,7 +107907,6 @@ pavelfucik.cz, 1 pavelfucik.eu, 1 pavelich.com, 1 pavelitus.tk, 1 -paveljanda.com, 1 pavelrebrov.com, 1 pavelstriz.cz, 1 paven.io, 0 @@ -107962,14 +107987,16 @@ pay.school, 1 pay.solar, 1 pay.storage, 1 pay.surf, 1 +pay.surgery, 1 pay.tennis, 1 +pay.theater, 1 pay.ubuntu.com, 1 pay.university, 1 pay.video, 1 pay.wedding, 1 pay2keep.com, 1 pay8522.com, 1 -paya.cat, 1 +paya.cat, 0 payam.co.nz, 1 payam.com.au, 1 payat.io, 1 @@ -107989,6 +108016,7 @@ payeasy.tech, 1 payfare.com, 1 payfazz.com, 1 payforpeople.nl, 0 +paygears.com, 1 paygvpn.com, 1 payhub.jp, 1 payjunction.com, 1 @@ -108023,7 +108051,6 @@ payonline-api.xyz, 1 paypac.com.au, 1 paypac.org, 1 paypack.net.au, 1 -paypal.com, 1 paypal.gift, 1 paypaq.com, 1 paypcns.co.uk, 1 @@ -108062,11 +108089,11 @@ paywait.com, 1 payward.com, 1 payzang.com, 1 pazarlab.com, 1 +pazescomoingles.com.br, 1 pazyarmonia.tk, 1 pb-design.ch, 1 pb-eatz.com, 1 pb.ax, 0 -pba.org.uk, 1 pback.se, 1 pbbm.com.ph, 1 pbc.gov, 1 @@ -108134,7 +108161,6 @@ pcdomain.com, 1 pcdroid.ga, 1 pcdroid.tk, 1 pcel.com, 1 -pcengines.com.au, 1 pcexpress.tk, 1 pcf-frankfurt.de, 1 pcf.com, 1 @@ -108151,7 +108177,6 @@ pchelpforum.net, 1 pci-e.net, 1 pci4.org, 1 pcie.ac, 1 -pcipal.com, 1 pcisecuritystandards.org, 1 pcissc.org, 1 pckurzypd.sk, 1 @@ -108187,6 +108212,7 @@ pcrypt.org, 1 pcsafe.cf, 1 pcsbrasil.ml, 1 pcscotus.gov, 1 +pcservice.slask.pl, 1 pcsetting.com, 1 pcsolutionsofwillis.ga, 1 pcsolutionsofwillis.gq, 1 @@ -108218,7 +108244,6 @@ pd1rnt.nl, 1 pdamerica.org, 1 pdavislawgroup.com, 1 pdax.ph, 1 -pdbj.org, 1 pderas.com, 1 pdf-archive.com, 0 pdf-tool.fr, 1 @@ -108250,6 +108275,7 @@ pdox.net, 1 pdpa.ai, 1 pds.police.uk, 1 pdsk.ch, 1 +pdsports.network, 0 pdtech.ltd, 1 pdtppfl.gov, 1 pdvault.co, 1 @@ -108257,9 +108283,6 @@ pe-bank.jp, 1 pe-netz.de, 1 pe-portal.de, 1 pe.search.yahoo.com, 0 -pe7k.com, 1 -pe7k.de, 1 -pe7k.nl, 1 peabodytile.com, 1 peace-is-possible.net, 1 peaceandjava.com, 1 @@ -108288,7 +108311,7 @@ peaksalesrecruiting.com, 1 peakseoservices.co.uk, 1 peaksloth.com, 1 peaksports.com, 0 -peaksupport.io, 1 +peaksupport.io, 0 peakvets.co.uk, 1 peanutbutter.com, 1 peanutpay.de, 1 @@ -108315,6 +108338,7 @@ peatsuki.com, 1 peawee.co.uk, 1 peawo.com, 1 pebblenest.uk, 1 +pebexparts.com, 1 pebkac.gr, 0 peblet.be, 1 pebook.tk, 1 @@ -108381,6 +108405,7 @@ peen.ch, 1 peenee.in.th, 1 peenor.xyz, 1 peep.gq, 1 +peepaltreepreschools.com, 1 peer.travel, 1 peerberry.com, 1 peercraft.at, 1 @@ -108471,6 +108496,7 @@ pelopoplot.com, 0 pelosanimais.org, 1 pelotonimports.com, 1 pelsu.fi, 1 +peluche-animaux.fr, 1 peluche.tk, 1 peluqueriaalcobendas.es, 1 peluqueriacanina.tk, 1 @@ -108478,7 +108504,6 @@ peluqueriacaninacavecanem.es, 1 pem-jp.co.uk, 1 pemagrid.org, 1 pemasalem.com, 1 -pembeteknoloji.com.tr, 1 pembhi.com, 1 pembinewi.gov, 1 pemborongbangunan.id, 1 @@ -108496,6 +108521,7 @@ penaugustin.com, 1 penbrookpa.gov, 1 pencepay.com, 1 pencil2d.org, 1 +pencilboutique.com, 1 pencillab.cn, 1 penconsultants.com, 1 pendidikan.co.id, 1 @@ -108587,7 +108613,6 @@ pentagram.cf, 1 pentagram.me, 1 pentagrid.ch, 1 pentamexicali.tk, 1 -pentamultiservice.it, 1 pentandra.com, 1 pentaquin.com, 1 pentaquin.net, 1 @@ -108606,6 +108631,7 @@ pentopolimer.com, 1 pentwatertownshipmi.gov, 1 penuelaspr.gov, 1 penultimategaming.com, 1 +penwithlandscape.com, 1 penya.ga, 1 penyavictorhernani.tk, 1 penz.media, 1 @@ -108622,6 +108648,7 @@ peoplecarehealthinsurance.com.au, 1 peoplecareopticalanddental.au, 1 peoplecareopticalanddental.com, 1 peoplecareopticalanddental.com.au, 1 +peoplecert.org, 1 peoplefinders.ml, 1 peoplelikemeapp.com, 1 peopleofcolorcareers.com, 1 @@ -108676,7 +108703,6 @@ pequenosbichos.com.br, 1 pequenosfavoritos.com.br, 0 per-olsson.se, 1 peraavcilar.com, 1 -peracup.com.tr, 1 perala.me, 1 perali.com, 0 peraparker.cz, 1 @@ -108718,6 +108744,7 @@ perewall.tk, 1 perez-marrero.com, 1 perezdecastro.org, 0 perf-b2b.com, 1 +perf.report, 1 perf1.com, 1 perfare.net, 1 perfect-blog.com, 1 @@ -108795,13 +108822,13 @@ periosearch.tk, 1 periscope.tv, 1 periscopeup.com, 1 perishablepress.com, 1 -peritos-informaticos.com, 1 perkilo.eu, 1 perksplus.com, 1 perlbanjo.com, 1 perlego.com, 1 perlesdelumiere.com, 1 perlina.co.il, 1 +perlina.top, 1 perm-avia.ru, 1 perm-jur.ch, 0 perm-juridique.ch, 0 @@ -108885,6 +108912,7 @@ personal-scrum.de, 1 personal-scrum.eu, 1 personalaccidentsers.ga, 1 personalaccidentsest.ga, 1 +personalauthentication.com, 1 personalfunctionaldata.net, 1 personalhydroponics.com, 1 personalidadmagnetica.com, 1 @@ -108919,7 +108947,6 @@ persson.me, 1 perssonsgarn.se, 1 persuader-reports.gov, 1 persuasionmatters.com, 1 -perswayze.com, 1 perthhillsarmadale.com.au, 1 perthpregnancycentre.com.au, 1 perthtrains.net, 1 @@ -109019,6 +109046,7 @@ petdish.ga, 1 petdollar.ga, 1 peteacheredu.org, 1 petech.ro, 1 +petegrahamcarving.co.uk, 1 petelew.is, 1 petemerges.com, 1 petemerges.xyz, 1 @@ -109070,6 +109098,7 @@ petersonbrosrealty.com, 0 petersport.ee, 1 petersson-gartengestaltung.de, 1 petersweb.me.uk, 1 +petertrevor.com, 1 petervaldesii.com, 0 petervantriet.nl, 1 peteryoungfineart.com, 1 @@ -109125,7 +109154,6 @@ petopplis.ga, 1 petops.de, 1 petos.tk, 1 petover.ga, 1 -petpedia.co, 1 petpipe.ga, 1 petpower.eu, 1 petpuppy.tk, 1 @@ -109140,6 +109168,8 @@ petras-pfotenuni.de, 1 petrates.ga, 1 petredhot.ga, 1 petrequest.ga, 1 +petricamarc.com, 1 +petricamarc.ro, 1 petrichorsolutions.co, 1 petrkulik.cz, 1 petrocheminc.com, 1 @@ -109189,6 +109219,7 @@ peturnashes.ga, 1 petutility.tk, 1 petvisual.ga, 1 petwall.info, 1 +petwebshop.com, 1 petwood.co.uk, 1 petyolo.org, 1 peuf.shop, 1 @@ -109228,7 +109259,6 @@ pfcharland.com, 1 pfctr.com, 1 pfd-nz.com, 1 pfe.rs, 1 -pfefferkuchen-shop.de, 0 pfefferkuchenprinzessin-dresden.de, 0 pfefferle.online, 1 pfeiffer.tech, 1 @@ -109240,7 +109270,7 @@ pfft.net, 1 pfgl.co.uk, 1 pfingstsportfest.de, 0 pfish.zone, 1 -pfk.org.pl, 1 +pfk.org.pl, 0 pflan.dk, 1 pflanzen-shop.ch, 1 pflanzkompass.at, 1 @@ -109290,6 +109320,7 @@ pgnetwork.net, 1 pgnetwork.org, 1 pgp.lol, 1 pgp.net, 1 +pgp.network, 1 pgp.org.au, 1 pgpaintanddesign.com, 1 pgpmail.cc, 1 @@ -109298,7 +109329,6 @@ pgsec.cz, 1 pgsec.eu, 1 pgsek.cz, 1 pgsindustries.com.au, 0 -pgslot.id, 1 pgsls.com, 1 pgsupplier.com, 1 pgwap.com, 1 @@ -109461,11 +109491,11 @@ philipzhan.tk, 1 philis-oenologie.fr, 1 phillipgoldfarb.com, 1 phillippe-lemarc.ch, 1 +phillips-cohen.com.au, 1 phillipspediatricsoxford.com, 1 phillprice.com, 0 phillyhometech.com, 1 phillyinjurylawyer.com, 1 -philnheimann.com, 1 philographie.com, 1 philology.tk, 1 philomathiclife.com, 1 @@ -109596,7 +109626,6 @@ photogelique.be, 1 photograf.io, 1 photograni.ru, 1 photographe-perigueux.com, 1 -photographe-reims.com, 0 photographeremploymenters.ga, 1 photographeremploymentest.ga, 1 photographerforwedding.tk, 1 @@ -109610,7 +109639,7 @@ photolessya.by, 1 photomath.com, 1 photomizer.com, 0 photomodelcasting.com, 1 -photomosaicwall.ca, 1 +photomosaicwall.ca, 0 photonclub.ir, 1 photoncourier.com, 1 photopalace.tk, 1 @@ -109622,7 +109651,7 @@ photoreal.tk, 1 photorelive.com, 1 photosafari.com.my, 1 photosafaribg.com, 1 -photosavi.com, 1 +photosavi.com, 0 photosbyadeline.com, 1 photosbyzachary.tk, 1 photoscheduleers.ga, 1 @@ -109667,6 +109696,7 @@ phpstan.com, 1 phpstan.org, 1 phpunit.de, 1 phpwebs.com, 1 +phpwin.com, 0 phqsoft.com, 1 phr34kz.pw, 0 phra.gs, 1 @@ -109729,8 +109759,10 @@ physicsforums.com, 1 physik.lol, 1 physio-im-appelbachtal.de, 1 physio-koenigsee.de, 1 +physio-nrj.ch, 1 physiobalance.nl, 1 physiobrite.tk, 1 +physionova-badenstedt.de, 1 physioteam-franz.de, 1 physiotherapie-buk.de, 1 physiotherapie-concept.de, 1 @@ -109836,6 +109868,7 @@ picksygirl.com, 1 pickupenc.ru, 1 piclect.com, 1 picme.tk, 1 +picmediaprod.com, 1 picmms.com, 1 pico.si, 1 picobellos.tk, 1 @@ -109874,6 +109907,7 @@ pidginpoetry.com, 1 pidjipi.com, 1 pidu.jp, 1 pie-express.xxx, 1 +piebridge.me, 1 pieceofcake.solutions, 1 piecesofmind.in.rs, 1 piecestech.com, 1 @@ -109907,7 +109941,7 @@ piercingpiac.hu, 1 piercraft.com, 1 pierianservices.com, 1 pieropuschiavo.it, 1 -pierpaoloamarante.it, 1 +pierpaoloamarante.it, 0 pierre-denoblens.net, 1 pierre-schmitz.com, 1 pierreau.fr, 1 @@ -109946,7 +109980,6 @@ pigfox.com, 1 piggingcleaning.com, 1 pigop.com, 1 pigsbytebooks.org, 1 -pigsforsale.co.za, 1 pigslv.com, 1 pigzilla.co, 1 pihaar.de, 1 @@ -109996,6 +110029,7 @@ piliszek.net, 1 pillar.fi, 1 pillar.ninja, 1 pillar.us, 1 +pillargrc.com, 1 pillitteriobgyn.com, 1 pillow.sk, 1 pillowcast.net, 1 @@ -110003,7 +110037,7 @@ pillowexpertsers.ga, 1 pillowexpertsest.ga, 1 pillowfort.pub, 1 pilot-colleges.com, 1 -pilot-gps.africa, 1 +pilot-gps.africa, 0 pilot-gps.com, 0 pilot.co, 1 pilot.com, 1 @@ -110042,7 +110076,6 @@ pinale.es, 1 pinalove.com, 1 pinamals.com, 1 pinarecordsmusic.tk, 1 -pinaro.de, 1 pinarshivmarket.com, 1 pinatubo.tk, 1 pinball.tk, 1 @@ -110065,8 +110098,8 @@ pindercooling.com, 1 pindostan.tk, 1 pinebaylibrary.org, 1 pinebeachnj.gov, 1 -pinebeecreative.com, 0 pinebrook.tk, 1 +pinecity.com.pk, 1 pinecitymn.gov, 1 pinecone.io, 0 pinecountymn.gov, 1 @@ -110143,7 +110176,6 @@ pinoservers.tk, 1 pinot.it, 1 pinoy-santi.com, 1 pinoydeal.ph, 1 -pinoyreal.com, 1 pinoyseoservices.com, 1 pinoysurvey.com, 1 pinoytambayan.ga, 1 @@ -110228,13 +110260,13 @@ piprivillage.ml, 1 pipscprd.ca, 1 piquaoh.gov, 1 piqueteway.tk, 1 -piraino.fr, 1 piramalglassusa.com, 1 piramide.nl, 1 piranhaattack.tk, 1 piranja-cola.de, 1 piranjasoul.de, 1 pirapiserver.ddns.net, 1 +pirate-proxy.africa, 1 pirate-proxy.click, 1 pirate-proxy.club, 1 pirate-proxy.date, 1 @@ -110308,6 +110340,7 @@ pitch.com, 1 pitchforkunion.tk, 1 pitchup.com, 1 pitchupp.com, 0 +pitchvantage.com, 1 pitctestdomain.gov, 1 piteadetox.com, 1 piter-auto-painter.ru, 1 @@ -110360,6 +110393,7 @@ pix5.de, 1 pixaise.pics, 1 pixalatio.tk, 1 pixbaton.jp, 1 +pixca.mx, 1 pixe2019.org, 1 pixel-history.tk, 1 pixel-ninjas.de, 1 @@ -110390,8 +110424,6 @@ pixelonl.com, 1 pixelpaper.org, 1 pixelplex.io, 1 pixelrain.info, 1 -pixelsbanking.com, 1 -pixelshealth.com, 1 pixelsketch.co.uk, 1 pixelsquared.us, 1 pixelstamp.net, 1 @@ -110446,7 +110478,6 @@ pizzamc.eu, 1 pizzaplus.tk, 1 pizzariapartiupizza.com.br, 1 pizzariaroma.cf, 1 -pizzarts.fr, 1 pizzaslut.xyz, 1 pizzeriaamadeus.hr, 1 pizzeriasmallorca.com, 1 @@ -110465,9 +110496,11 @@ pjsk.cc, 1 pjsk.eu.org, 1 pjuu.com, 0 pjv.co.id, 1 +pjweb.co.uk, 1 pk-master.tk, 1 pk-soft.tk, 1 pk.search.yahoo.com, 0 +pk678.com, 1 pk7777.com, 1 pk8k.com, 1 pkautodesign.com, 0 @@ -110605,7 +110638,7 @@ planetstimes.com, 1 planettimer.com, 1 planetun.mobi, 1 planetweb.tk, 1 -planful.com, 0 +planful.com, 1 planify.io, 0 planisanin.tk, 1 planiserin.tk, 1 @@ -110628,7 +110661,6 @@ plannedgrocery.com, 1 plannedlink.com, 1 planning.center, 1 planning.ga, 1 -planning.nl, 1 planningcenter.com, 0 planningsagenda.nl, 1 plano.gq, 1 @@ -110642,11 +110674,12 @@ plant-gift.jp, 1 plantacioneseltejo.es, 1 plantarportugal.org, 1 plantastique.ch, 0 +plantcareforbeginners.com, 1 planteforum.no, 1 plantenvinder.nl, 1 plantepakken.dk, 1 plantes.ch, 1 -plantezcheznous.com, 1 +plantguardian.ch, 1 planther.nl, 1 plantidentification.co, 0 plantinum-cbd.com, 1 @@ -110666,7 +110699,6 @@ plaredo.tk, 1 plaros.ml, 1 plasapulsa.tk, 1 plasesolev.tk, 1 -plasfab.com.au, 1 plaskiewicz.pl, 1 plasma.nl.eu.org, 1 plasmainc.xyz, 1 @@ -110715,6 +110747,7 @@ platinumalertsest.ga, 1 platinumcalendarest.ga, 1 platinumcat.info, 1 platinumgatesecurity.co.uk, 1 +platinumhomebuildersllc.com, 1 platinumjubilee.gov.au, 1 platinumkids.com.br, 1 platinumpoolsaz.com, 1 @@ -110794,6 +110827,7 @@ playgroundhaarlem.nl, 1 playhappywheelsunblocked.com, 1 playhothand.com, 1 playhothands.com, 1 +playhouse.fans, 1 playinfinity.com, 1 playinfinityvr.com, 1 playit.rs, 1 @@ -110845,6 +110879,7 @@ pleasantonca.gov, 1 pleasantonmobilenotary.com, 1 pleasantvalleywi.gov, 1 pleasantviewmi.gov, 1 +pleasantville-nj.org, 1 pleasantvillepd.org, 1 please-uwu.me, 1 pleaseuseansnisupportedbrowser.ml, 1 @@ -110899,6 +110934,7 @@ plintusof.by, 1 pliosoft.com, 1 pliroforikikoufopoulou.gr, 1 plissee-experte.de, 1 +plitochnikminsk.by, 1 plitu.de, 1 plixer.com, 1 plixer.net, 1 @@ -110909,6 +110945,7 @@ plodwithme.com, 1 ploi.io, 1 plokko.com, 1 plomberie-rivesud.ca, 1 +plombierjob.com, 1 plomeros.cl, 1 plomin.tk, 1 plongee-phuket.fr, 1 @@ -110926,7 +110963,6 @@ plr4wp.com, 1 plrarena.com, 1 pltyw.com, 1 plu.st, 1 -plugcubed.net, 0 plugin-planet.com, 1 pluginhayati.tk, 1 pluginrealty.net, 1 @@ -110978,7 +111014,6 @@ plus.st, 1 plus15.ml, 1 plus15.tk, 1 plus1s.site, 1 -plusbeauty.tw, 1 plusbot.tk, 1 plusfitness.com.au, 1 plusgrandevilledefrance.com, 1 @@ -111029,6 +111064,7 @@ pma-iss.com, 1 pma-tools.de, 1 pmail.tw, 1 pmalaty.com, 1 +pmapac.com, 1 pmarbeid.nl, 1 pmarques.info, 1 pmbc.org, 1 @@ -111052,6 +111088,7 @@ pmctire.com, 0 pmcvinyladditives.com, 1 pmdealerest.ga, 1 pmdistributors.com.au, 1 +pmebtp.com, 1 pmessage.ch, 1 pmf.gov, 1 pmg-offshore-company.com, 1 @@ -111240,6 +111277,7 @@ pocketdeer.cc, 1 pocketfruity.com, 1 pocketgamingdirectory.com, 1 pocketmags.com, 1 +pocketoption.com, 1 pocketpasta.com, 1 pockettraveling.tk, 1 poco.se, 1 @@ -111262,12 +111300,14 @@ podcast.style, 1 podcaster.org.il, 1 podcastmusic.com, 1 podcastpulse.net, 1 +podcastwithus.com, 1 podcreative.ca, 1 podcrto.si, 1 podcrypters.ga, 1 podcryptest.ga, 1 podd.xyz, 1 podemos.info, 1 +poderdaenergiafeminina.com.br, 1 podfastlane.com, 1 podia.com.gr, 0 podia.gq, 1 @@ -111291,6 +111331,7 @@ podroof.com, 0 podroof.com.au, 0 podrozwmilczeniu.pl, 1 podshrink.de, 1 +podvader.com, 1 podvenec.tk, 1 podycust.co.uk, 1 poed.com.au, 1 @@ -111328,6 +111369,7 @@ pogljad-brest.tk, 1 pogodavolgograd.tk, 1 pogodok.tk, 1 pogomate.com, 1 +pogoswine.com, 1 pogotowie-komputerowe.tk, 1 pogotowiekomputeroweolsztyn.pl, 1 pogrebeniq-sofia.com, 1 @@ -111492,7 +111534,6 @@ policemanapp.com, 1 policereferencecheck.com, 1 policeroleplay.community, 1 policesromandesrecrutement.ch, 1 -policies.pro, 1 policybanks.com, 1 policyhub.gov.au, 1 policymakr.com, 1 @@ -111504,6 +111545,7 @@ polidelia.com, 1 poliermachines.be, 1 polifisio.com.br, 1 poliground.com, 1 +polimat.org, 0 polimer39.ml, 1 polina-gagarina.gq, 1 polioptics.com, 1 @@ -111571,7 +111613,6 @@ pollen.co, 1 pollendine.co.uk, 1 pollet-ghijs.be, 1 pollet-ghys.be, 1 -polletmera.com, 0 pollev-embeds.com, 1 pollev.com, 1 polleverywhere.com, 1 @@ -111625,7 +111666,6 @@ polyring.ch, 1 polytarian.com, 1 polytekniskforening.dk, 1 polyvalents.fr, 1 -polzaune.de, 1 pomadgw.xyz, 1 pomba.pl, 1 pombalhome.duckdns.org, 1 @@ -111648,7 +111688,7 @@ pomost.ga, 1 pomozmruczkom.pl, 1 pompefunebrilariviera.it, 0 pompeii.tickets, 1 -pomsinoz.com, 1 +pomsinoz.com, 0 pomtom.co.nz, 1 ponabana.com, 1 ponca-nsn.gov, 1 @@ -111698,14 +111738,12 @@ pookl.com, 1 pool-selber-bauen.de, 1 pooletranslation.com.au, 1 poolheatingsolutionswa.com.au, 1 -poolmans.se, 0 pools.shop, 1 poolsafely.gov, 1 poolsafety.gov, 1 poolsonline.tk, 1 poolspa.es, 1 pooltools.net, 1 -poolvilla-margarita.net, 1 poon.io, 1 poopa.loan, 1 poopjournal.rocks, 1 @@ -111723,6 +111761,7 @@ popadvertisementest.ga, 1 popcarte.com, 1 popcat.ru, 1 popcorncult.ru, 1 +popcornfx.com, 1 popcowboyest.ga, 1 popcultureshack.com, 1 popdog.click, 1 @@ -111789,6 +111828,7 @@ populardogs.ga, 1 populardogs.gq, 1 populardogs.ml, 1 popularhairstyles.org, 1 +popularmedianews.com, 1 population-ethics.com, 1 population.gov.au, 0 popup-stores.online, 1 @@ -111855,7 +111895,6 @@ porngals4.com, 1 porngameshub.com, 1 pornhib.xyz, 1 pornhub.com, 1 -pornhubapparel.com, 1 pornhubpremium.com, 1 pornhun.xyz, 1 pornimg.net, 1 @@ -111953,6 +111992,7 @@ portalmundo.xyz, 1 portalpandalandia.tk, 1 portalultautv.net, 1 portalutil.com.br, 1 +portalvetmax.com.br, 1 portalz.xyz, 1 portamiinpista.it, 0 portanatura.it, 1 @@ -111960,6 +112000,7 @@ portatilea.com, 1 portativ-mobi.tk, 1 portcanaveral.gov, 1 portchesterny.gov, 1 +portcityengines.com, 1 portcomputingsolutions.com.au, 1 porte.roma.it, 1 portedwardswi.gov, 1 @@ -111967,6 +112008,7 @@ portent.com, 1 porterbuddy.com, 1 portercountyin.gov, 1 porterpeds.com, 1 +portersgray.com, 1 portes-imaginaire.org, 1 portesmagistral.com, 0 portfolio-anish.tk, 1 @@ -112017,19 +112059,18 @@ portwing.gov, 1 porumaoutrareforma.org, 1 porumbei.tk, 1 porwal.pl, 1 +porzellantreff.de, 1 +pos-express.de, 1 posa.moe, 1 posaunenchor-senden.de, 1 posbich.net, 1 pose-faux-plafond.fr, 1 poseidon-giesing.de, 1 poseidonwaterproofing.info, 1 -poseidonwaterproofing.net, 1 -poseidonwaterproofing.org, 1 poseidonworld.tk, 1 posh.tech, 1 poshcastles.co.uk, 1 poshe.tk, 1 -poshlashes.se, 1 poshmark.com, 1 poshsecurity.com, 1 poshvine.com, 1 @@ -112049,7 +112090,6 @@ positiverbeitrag.net, 1 positiverbeitrag.org, 1 positivetherapy.in, 1 positivethinkingmind.com, 1 -positivityoflife.com, 1 positivos.tk, 1 positronicmoron.tk, 1 poslednigenerace.cz, 1 @@ -112072,7 +112112,6 @@ post.lol, 1 post.tf, 1 post4me.at, 1 postacyprus.com, 1 -postal.dk, 1 postaltreasures.com, 1 postandfly.com, 1 postat.com, 1 @@ -112082,6 +112121,7 @@ postblue.info, 1 postbox.life, 1 postcardpayment.com, 1 postcards.tk, 1 +postcode.nl, 1 postcodeswag.co.uk, 1 postcodeswag.com, 1 postcodeswag.uk, 1 @@ -112111,7 +112151,6 @@ postlifepreps.com, 1 postlogistic.tk, 1 postman.co, 1 postman.ga, 1 -postmaniac.com, 1 postmarka.tk, 1 postmaster.boats, 1 postmatescode.com, 1 @@ -112121,11 +112160,10 @@ postmistress.email, 1 postmusicologia.tk, 1 postn.eu, 1 postnet.club, 1 -postnext.com, 1 +postnext.com, 0 postolia.cf, 1 postoyanstvo.cf, 1 postpot.co.kr, 1 -postscnn.com, 1 poststar.com, 1 postsubmeta.net, 1 posttigo.com, 1 @@ -112203,7 +112241,6 @@ potz.tk, 1 pouchulu.tk, 1 poudlard.fr, 1 pouets.ovh, 1 -poultryfeedformulation.com, 1 poun.tk, 1 poundgatepark.co.uk, 1 poupaeganha.pt, 1 @@ -112212,6 +112249,7 @@ poupee.me, 1 pourali.com, 1 poured-floors.tk, 1 pourout.org, 0 +pourtoi.se, 1 pousadamaremata.com.br, 1 pouwels-oss.nl, 1 povar.ru, 1 @@ -112250,7 +112288,6 @@ powerball.cf, 1 powerball.club, 1 powerbi.istanbul, 1 powerbux.tk, 1 -powercloud.technology, 1 powercod.tk, 1 powercomputers.nl, 1 powercounty.gov, 1 @@ -112261,6 +112298,7 @@ powerentertainment.tv, 1 powerfifty.com, 1 powerforpeople.tk, 1 powerfortunes.com, 1 +powerforwarding.com, 1 powerfulcom.net, 1 powergridess.com, 0 powergroup.tk, 1 @@ -112347,7 +112385,6 @@ pozitiffchik.tk, 1 pozitiv.gq, 1 pozitone.com, 1 poziworld.com, 1 -poznajrynek.pl, 1 poznajteneryfe.pl, 1 poznavatelno.ml, 1 pozzitiv.ro, 1 @@ -112418,6 +112455,7 @@ practical-lean.com, 1 practicalhomes.com.au, 1 practicallabs.com, 1 practicepanther.com, 1 +practiceplus.in, 1 practisforms.com, 1 practitest.com, 1 practixdevelopment.com, 1 @@ -112457,6 +112495,7 @@ prairienursery.com, 1 prairievilletwp-mi.gov, 1 praisehim.club, 1 praiss.net, 1 +prajituricisialtele.ro, 1 prajwal-koirala.com, 1 prakhar.uk, 1 prakharprasad.com, 1 @@ -112602,6 +112641,7 @@ predskazanie.cf, 1 predskazanie.ml, 1 predskazanie.tk, 1 predstavitelstvo-v-sude.tk, 1 +preecepools.co.uk, 1 preejaculation.ga, 1 preescolarsteps.com, 1 prefabricadosdelcaribe.com, 1 @@ -112631,6 +112671,7 @@ prek.se, 1 prekladysanca.cz, 1 prelesti.tk, 1 preloaded-hsts.badssl.com, 1 +prelovedkidstyles.com, 1 preludes.org, 1 prelved.com, 1 prelved.es, 1 @@ -112682,6 +112723,7 @@ premiovicentejorgesilva.pt, 0 premised.land, 1 premium-computer.fr, 1 premium-job.ru, 1 +premium-rum.de, 1 premiumcredit.am, 1 premiumcs.ru, 1 premiumdesign.hr, 1 @@ -112783,10 +112825,12 @@ pressofatlanticcity.com, 1 pressography.org, 1 pressreleasecentral.tk, 1 pressreleasepedia.tk, 1 +pressride.jp, 1 pressrush.com, 1 pressspace2hack.com, 1 pressspacetohack.com, 1 pressup.it, 1 +pressurepowerwashing.com, 1 pressureradio.com, 1 pressurewashers.ml, 1 pressurewashersandiego.com, 1 @@ -112813,17 +112857,16 @@ prestigerepairs.com.au, 1 prestigesigns.net, 1 prestigesoundandlight.co.uk, 1 prestigestaffingsolutions.org.au, 1 -prestigeworldwidepr.com, 1 prestigia.com, 1 prestonadamscountywi.gov, 1 prestonapp.com, 1 -prestonbrant.com, 1 prestopermits.com, 1 prestopizzas63.fr, 1 prestudenta.sk, 1 prestupniki.tk, 1 pretabelamodas.com.br, 1 pretalx.com, 1 +pretessencias.com.br, 1 pretix.eu, 1 pretome.info, 1 pretor-sa.com, 1 @@ -112914,11 +112957,14 @@ prikpot.com, 1 prima-backoefen.de, 1 prima-badezimmermoebel.de, 1 prima-digitalkameras.de, 1 +prima-drucker.de, 1 prima-fernseher.de, 1 prima-gefrierschraenke.de, 1 +prima-geschirrspueler.de, 1 prima-herde.de, 1 prima-informatique.com, 1 prima-kuehlschraenke.de, 1 +prima-laptops.de, 1 prima-mikrofone.de, 1 prima-mikrowellen.de, 1 prima-monitore.de, 1 @@ -112948,7 +112994,6 @@ primaveradesign.com.br, 1 primbit.ru, 1 prime, 1 prime-host.ml, 1 -prime-med.com.tw, 1 primecapsslim.com.br, 1 primecreative.com.br, 1 primecursos.com.br, 1 @@ -112991,7 +113036,6 @@ primrose-2.com, 1 primrosehillvets.ie, 1 primrosenyagwaya.online, 1 primsports.ru, 1 -primyris.fr, 1 princearmoryacademy.com, 1 princebazawule.com, 1 princedavidlodge.org.uk, 1 @@ -113000,6 +113044,7 @@ princelishan.com.tw, 1 princemathew.tk, 1 princemolak.ga, 1 princes-st.org.nz, 1 +princesparktouch.com, 1 princess.software, 1 princessbackpack.de, 1 princessefoulard.com, 1 @@ -113028,15 +113073,11 @@ prinesec.com, 1 prineville.gov, 1 prinice.org, 1 print-street.tk, 1 -printable-map-az.com, 1 -printablemapaz.com, 1 -printablemapforyou.com, 1 printablerebateform.net, 1 printableschedule.net, 1 printandgo.fr, 1 printbase.cz, 1 printbigjournal.tk, 1 -printdrivers.org, 1 printeknologies.com, 1 printerdrivers.com, 1 printerem.hu, 1 @@ -113044,11 +113085,11 @@ printerinks.com, 1 printerinks.ie, 1 printerinktoutlet.nl, 1 printersdrivers.net, 1 -printersupportfaq.com, 1 printertonerkopen.nl, 1 printexpress.cloud, 1 printfn.com, 0 printful.com, 1 +printing-services-online.org, 1 printkinng.com.tw, 1 printler.com, 1 printme.com, 1 @@ -113071,6 +113112,7 @@ prio.pt, 1 prior-it.be, 0 prior.cloud, 1 priorite-education.com, 1 +prioritet.hr, 1 priorityeducation4u.tk, 1 priorityelectric-agourahills.com, 1 priorityelectric-camarillo.com, 1 @@ -113128,12 +113170,14 @@ privacyfenceanddeckllc.com, 1 privacyforpatriots.com, 1 privacyget.tk, 1 privacyguides.net, 1 +privacyguides.org, 1 privacyinternational.org, 1 privacymanatee.com, 1 privacynow.eu, 1 privacypro.io, 1 privacypros.io, 1 privacyredirect.com, 1 +privacysavvy.com, 1 privacyscore.org, 1 privacysecuritybrainiacs.com, 1 privacystatement.tk, 1 @@ -113226,6 +113270,7 @@ pro-babochek.ru, 1 pro-ben.sk, 1 pro-bike.ro, 1 pro-c.me, 1 +pro-co.at, 1 pro-esb.net, 1 pro-furgoleros.tk, 1 pro-ing.com, 0 @@ -113279,6 +113324,7 @@ probely.com, 1 probiancanarias.com, 1 probiller.com, 1 probinarin.ga, 1 +probioticnacistila.si, 1 problem-solver.ml, 1 problemstate.com, 1 problemstate.de, 1 @@ -113299,7 +113345,6 @@ procens.us, 0 procert.ch, 0 procesadorafenix.com.mx, 1 processesinmotion.com, 1 -processout.com, 1 processtec.com.br, 1 prochainephase.com, 1 prochaj.ru, 1 @@ -113366,7 +113411,6 @@ productiv.com, 1 productive.io, 1 productivemachine.net, 1 productiveplastics.com, 1 -productkeyslist.com, 1 productosdeteruel.es, 0 productosquimicosrd.com, 1 productpeo.pl, 1 @@ -113381,7 +113425,6 @@ produkt.cf, 1 produra.nl, 1 produtosdeacademia.com, 1 prodwa.re, 1 -prodware.fr, 1 proecommerce.com, 1 proeflokaalbakker.nl, 1 proefteksten.nl, 0 @@ -113398,7 +113441,6 @@ prof.lv, 1 profarea.ru, 1 profbigbang.ru, 1 profbioresearch.ga, 1 -profboecker.eu, 1 profchristophergoh.com.sg, 1 profection.biz, 1 profession.email, 1 @@ -113450,7 +113492,6 @@ profiservis.info, 1 profissionalstool.ga, 1 profit24.ml, 1 profitable-textilien.ch, 1 -profitableventure.com, 1 profitablewebprojects.com, 1 profitdouble.tk, 1 profitero.com, 1 @@ -113472,6 +113513,7 @@ profservice.it, 1 proft.eu, 0 profumeria.roma.it, 1 profuntime.tk, 1 +profusion.cl, 1 profusion.io, 0 profvideo.kharkov.ua, 1 profwald.4lima.de, 1 @@ -113599,6 +113641,7 @@ projectobsidian.io, 1 projectplacebo.ca, 1 projects.nl.eu.org, 1 projectsafechildhood.gov, 1 +projectsapling.info, 1 projectsegfau.lt, 1 projectskynet.org, 1 projectsmart.co.uk, 1 @@ -113607,7 +113650,6 @@ projecttalent.be, 1 projectte.ch, 1 projecttopics.org, 0 projectunity.io, 1 -projectvault.ovh, 1 projectveritasaction.com, 0 projectview.ai, 1 projectweb.gr, 1 @@ -113643,6 +113685,7 @@ prologic.bg, 1 prologicabg.com, 1 proloyalweb.com, 1 promajna.tk, 1 +promark365.com, 1 promax.nl, 1 promea.net, 1 promecin.com, 1 @@ -113688,7 +113731,6 @@ promokodi.tk, 1 promolife.be, 1 promolover.com, 1 promomart.eu, 1 -promopirates.com, 1 promopony.com, 1 promorder.ru, 1 promosjungle.com, 1 @@ -113715,6 +113757,7 @@ pronto-intervento-fognature.it, 1 pronto-intervento.net, 1 prontointerventofognature.roma.it, 1 prontointerventoimmediato.it, 1 +prontolockandkey.com, 1 prontossl.com, 1 pronty.it, 1 prooffice.de, 1 @@ -113748,7 +113791,6 @@ propertydealer.ga, 1 propertyfindercdn.com, 1 propertyflare.com, 1 propertygroup.pl, 1 -propertyinspect.com, 1 propertylondon.co.uk, 1 propertyme.com.au, 1 propertymingo.com, 1 @@ -113781,6 +113823,7 @@ propranololgeneric.ml, 1 proprietairesmaisons.fr, 1 propseller.com, 1 propshub.com, 1 +propulc.com, 1 proressource.ca, 0 proressources.ca, 1 proris.com, 0 @@ -113938,7 +113981,6 @@ proux.global, 1 prove-uru.co.uk, 1 prove.com, 1 prove.no, 1 -proveits.me, 0 provenbyyullia.com, 1 provence-appartements.com, 0 provent.io, 0 @@ -114058,16 +114100,17 @@ przerabianiezdjec.pl, 1 przybys.eu, 1 przyciemnianieszyb.waw.pl, 1 ps-clinic.jp, 1 +ps-fr.ddns.net, 1 ps-provider.co.jp, 1 ps-rosatom.ru, 1 ps-sale.ru, 1 ps-w.ru, 1 -ps.energy, 1 ps194.net, 1 ps194.org, 1 ps2.io, 1 ps2911.com, 1 ps2online.tk, 1 +ps3.nz, 1 ps3419.org, 1 ps4all.nl, 1 ps5ssd.com, 1 @@ -114119,6 +114162,7 @@ psi.gay, 1 psicanalista.milano.it, 1 psici.eu, 1 psicoblog.tk, 1 +psicoeduca.com.br, 1 psicoexpansao.com.br, 1 psicologajanainapresotto.com.br, 1 psicologamarianaortiz.com, 1 @@ -114215,7 +114259,6 @@ psychcare.cz, 1 psychedelia.com, 1 psychedelics.org, 1 psychiatretdah.fr, 1 -psychiatrie-ricany.cz, 1 psychiatriepapezova.net, 1 psychiatriepraktijkutrecht.nl, 1 psychiatry-clinic.com.tw, 1 @@ -114276,6 +114319,7 @@ psychotherapie1220wien.at, 0 psychotiq.tk, 1 psychotropical.com, 1 psychpsyo.com, 1 +psychservice.com.au, 1 psycolleges.com, 1 psydprograms.org, 1 psyelena.be, 1 @@ -114330,7 +114374,6 @@ ptltrade.com, 1 ptm.ro, 1 ptmarquees.ie, 1 ptmco.org, 1 -ptotoday.com, 1 ptpasi.ddns.net, 1 ptrbrs.nl, 1 ptrdata.com, 1 @@ -114377,6 +114420,9 @@ publicagent.com, 1 publiccarauctionscalifornia.com, 1 publicdatacloud.com, 1 publicdatafiles.com, 1 +publicdatalibrary.com, 1 +publicdatalibrary.net, 1 +publicdatalibrary.org, 1 publicdelivery.org, 1 publicdomainartwork.com, 0 publichealth.cf, 1 @@ -114438,7 +114484,6 @@ puertodramaturgia.tk, 1 puertoplazalasterrenas.com, 1 puestifiestas.mx, 1 puetter.eu, 1 -puffer.blog, 1 puffy.tube, 1 puffyan.us, 1 pugachev.ml, 1 @@ -114464,6 +114509,7 @@ pulitoken.net, 1 pulitoperfetto.ddns.net, 1 pulizia.roma.it, 1 puliziacantine.it, 1 +pulizie.milano.it, 1 pulizie.roma.it, 1 pulizieuffici.milano.it, 1 pulizievap.it, 1 @@ -114484,10 +114530,8 @@ pulsenetwork.com, 1 pulser.stream, 1 pulseroot.ga, 1 pulsestaffingllc.com, 1 -pulsnitzer-lebkuchen-shop.de, 0 pulsnitzer-lebkuchen.de, 1 pulsnitzer-lebkuchen.shop, 0 -pulsnitzer-pfefferkuchen-shop.de, 0 pulsnitzer-pfefferkuchen.shop, 0 pulsr.ml, 1 pulsus.mobi, 1 @@ -114505,6 +114549,7 @@ punchlinetheatre.co.uk, 1 punchlinetheatre.com, 1 punctually.gq, 1 pundak.games, 1 +punditin.com, 1 pundix.com, 1 puneindia.tk, 1 punematka.com, 1 @@ -114691,6 +114736,7 @@ putanaru.gq, 1 putani.gq, 1 putany.tk, 1 putanypitera.ml, 1 +putasdelporno.com, 1 putasenvalencia.es, 1 putatara.net, 1 puteulanus.xyz, 1 @@ -114724,12 +114770,15 @@ puyblanc.info, 1 puzi.nl, 1 puzz.gg, 1 puzzlage.com, 1 +puzzlage.net, 1 +puzzlage.org, 1 +puzzlage.us, 1 puzzle-welt.ch, 1 puzzlegames.com, 1 puzzlepiehouse.com, 1 puzzlepoint.ch, 1 puzzles-to-print.com, 1 -puzzleswaps.com, 1 +puzzleswaps.com, 0 puzzyfun.net, 1 pv-paderborn-now.de, 1 pvamg.org, 1 @@ -114783,6 +114832,7 @@ pwsplash.com, 1 pwss.gov.au, 1 pwud.ga, 1 pxagency.fr, 1 +pxboom.com, 1 pxc-coding.com, 1 pxetech.com, 1 pxgamer.xyz, 1 @@ -114863,9 +114913,8 @@ q-and-a.tk, 1 q-inn.com, 1 q-inn.nl, 1 q-m.space, 1 -q-mami.com, 1 +q-mami.com, 0 q-matrix.de, 1 -q-technologies.com.au, 1 q.to, 1 q00228.com, 1 q01.us, 1 @@ -114927,7 +114976,6 @@ qbrix.dk, 1 qbstores.com, 1 qbug.cf, 1 qc-ikonwork.com, 1 -qc.immo, 1 qc.search.yahoo.com, 0 qcbrna.qa, 1 qcc.gov.ae, 1 @@ -114967,7 +115015,6 @@ qei.org.au, 1 qelectrotech.org, 1 qeros.io, 1 qeshmminer.com, 1 -qetesh.de, 1 qetic.co.jp, 1 qewc.com, 1 qfes.qld.gov.au, 1 @@ -114987,6 +115034,7 @@ qiancao.ml, 1 qianglie.com, 1 qiangshen.com, 1 qianlong.net, 1 +qianmo.com, 1 qianmu.com, 1 qiannews.net, 0 qianqiao.me, 1 @@ -115019,6 +115067,7 @@ qingly.me, 1 qingniantuzhai.com, 1 qingpat.com, 0 qingpei.me, 1 +qingran.net, 1 qingyule.com, 1 qinlili.bid, 1 qionouu.cn, 1 @@ -115120,6 +115169,7 @@ qqmingzi.cc, 0 qqq6.com, 0 qqq67.com, 1 qqrss.com, 1 +qqtwitter.com, 1 qr.ae, 1 qr.cl, 1 qr.gp, 1 @@ -115183,8 +115233,8 @@ qtspace.cn, 1 qttransformation.com, 1 qtv.ge, 1 qtvr.com, 1 -qu.ax, 1 quackapp.com, 1 +quacksire.dev, 1 quad9.com, 1 quad9.net, 1 quadcityjuggalos.tk, 1 @@ -115206,7 +115256,6 @@ qualescegliere.it, 1 qualiacomputers.com, 1 qualidesign.com.br, 0 qualifio.com, 1 -qualita.es, 1 qualitahub.com, 1 qualite-ecole-et-formation.ch, 0 qualith.tk, 1 @@ -115256,7 +115305,7 @@ quanti.au, 1 quanticlab.com, 1 quantifiedcommerce.com, 1 quantikstudio.tk, 1 -quantiphi.com, 1 +quantiphi.com, 0 quantiply.tech, 1 quantolytic.de, 1 quantomaisconsorcios.com.br, 1 @@ -115327,7 +115376,6 @@ quaydental.ie, 0 quba.fr, 1 qubes-os.org, 1 qubhockey.tk, 1 -qubicgames.com, 1 qubitoss.com, 1 qubitsandbytes.co.uk, 1 qubyte.codes, 1 @@ -115432,6 +115480,7 @@ questthree.com, 1 quetiapine.life, 1 quetico.tk, 1 queup.net, 1 +queverenespana.org, 1 quevisiongrafica.com, 1 quezoncity.ml, 1 quhyu.xyz, 1 @@ -115451,6 +115500,7 @@ quickbooksguru.com.au, 1 quickboysvrouwen2.nl, 1 quickcashcarremovals.com.au, 1 quickcel.tk, 1 +quickelectricity.com, 1 quickerticker.tk, 1 quickformspro.com, 1 quickinfosystem.com, 1 @@ -115525,7 +115575,6 @@ quintanadelmonte.tk, 1 quintanilla.tk, 1 quintenbraakman.com, 1 quintenbraakman.nl, 1 -quinteroorthodontics.com, 0 quintessa.org, 1 quintobarrio.tk, 1 quintonic.fr, 0 @@ -115581,12 +115630,10 @@ quoteidiot.com, 1 quoteinfo.net, 1 quoteoftheday300.ga, 1 quotescover.com, 1 -quoteshindi.net, 1 quotesnsayings.net, 1 quotesofgta.tk, 1 quotev.com, 1 quotidiani.net, 1 -quotidianodiragusa.it, 1 quovadisaustria.com, 1 quoviz.com, 1 qupom.com.br, 1 @@ -115595,7 +115642,6 @@ quprop.com, 1 quran-archive.org, 1 qurani.tk, 1 quranicremedies.com, 1 -quranliveonline.com, 1 quranpdf.cf, 1 quranvoice.tk, 1 qurium.org, 1 @@ -115611,6 +115657,7 @@ qvady.com, 0 qvg.company, 1 qvggroup.com, 1 qvision.ml, 1 +qvoicenews.com, 1 qvq.cloud, 1 qvq.one, 1 qwant.com, 1 @@ -115638,6 +115685,7 @@ qwus.tk, 1 qx.fi, 1 qx.se, 1 qxazusa.xyz, 0 +qxgfvip.com, 1 qxin.info, 1 qxq.moe, 1 qxzg.org, 1 @@ -115669,7 +115717,6 @@ r.sb, 1 r00tsandwings.com, 1 r00tsolutions.ca, 1 r0t.co, 1 -r0uzic.net, 1 r102.ch, 1 r15cookie.com, 1 r17.co.id, 1 @@ -115793,6 +115840,7 @@ ract.info, 1 ract.net, 1 ract.net.au, 1 ractf.co.uk, 1 +racti.com.au, 1 racunalo.com, 1 racunovodstvo-prina.si, 1 rad-route.de, 1 @@ -115829,7 +115877,7 @@ radcloud.de, 1 radconinc.net, 1 radcube.hu, 1 raddeluxe.com, 1 -raddle.me, 1 +raddle.me, 0 radechefonne.it, 1 radegundisfest.de, 1 radekmazar.eu, 1 @@ -115872,7 +115920,6 @@ radio-luikie.tk, 1 radio-mix.ml, 1 radio-mouse.tk, 1 radio-news.tk, 1 -radio-of-magic.com, 1 radio-one.ml, 1 radio-online.com, 1 radio-online.tk, 1 @@ -115999,11 +116046,11 @@ radiopolarniki.spb.ru, 1 radiopranfm.cf, 1 radioprimerodemayo.tk, 1 radiopush.tk, 1 -radior9.it, 1 radioradicchio.it, 1 radiorainbow.tk, 1 radioranking.de, 1 radiorecord.ml, 1 +radiorecord1065.com, 1 radioregional.pt, 1 radioremix80.tk, 1 radioricardo.tk, 1 @@ -116065,6 +116112,7 @@ radost.digital, 1 radpath.at, 1 radreisetraumtreibstoff.de, 1 radstake.de, 1 +radu.casa, 1 raduga-tv.tk, 1 raduga4.ml, 1 radverkehr-kelsterbach.de, 1 @@ -116127,7 +116175,6 @@ rahmans.tk, 1 rahrahstudios.com, 1 rahul.moe, 1 rahulsadarangani.com, 1 -rai88asia.com, 1 raiceshebreas.org, 1 raid-runners.fr, 1 raiden.network, 1 @@ -116189,6 +116236,7 @@ rainbeaus.ml, 1 rainbow-christian.tk, 1 rainbow-girl.top, 1 rainbow-web.com, 1 +rainbowapromise.com, 1 rainbowbrains.com, 1 rainbowcomputer.tk, 1 rainbowflowers.co.uk, 0 @@ -116197,7 +116245,6 @@ rainbowlaserspewpew.xyz, 1 rainbowloompattern.com, 1 rainbowloompatterns.com, 1 rainbowmath.tk, 1 -rainbowplayschool.in, 1 rainbowsmoothies.win, 1 rainbowstars.ru, 1 rainbowstore.com.au, 1 @@ -116256,7 +116303,6 @@ rajofestival.tk, 1 rajomon.com, 1 rajrajasthani.tk, 1 rajsolankimusic.ga, 1 -rajtechnologies.com, 1 rajudhoni.ga, 1 rak-business-service.com, 1 rakennuspeli.com, 1 @@ -116278,6 +116324,7 @@ raku.bzh, 1 raku.land, 1 rakugaki.cn, 0 rakugokai.net, 1 +rakweb.com.br, 1 ralaoui.com, 1 ralaoui.me, 1 raleighadultmedicine.com, 1 @@ -116459,6 +116506,7 @@ rantamplan.tk, 1 rantanda.com, 1 rante.com, 1 ranters.nl, 1 +ranw.cn, 1 rany.eu.org, 1 ranyeh.co, 1 ranyeh.com, 1 @@ -116490,6 +116538,7 @@ rapidgator.net, 1 rapidguide.tk, 1 rapidlegal.com, 1 rapidoo.com.br, 1 +rapidooo.fr, 1 rapidscale.net, 1 rapidseo.net, 1 rapidshit.net, 1 @@ -116515,8 +116564,6 @@ raqoo.jp, 1 raquelmolinacases.tk, 1 rar.moe, 1 raranga.net.nz, 1 -rarbgmirrored.org, 1 -rarbgproxied.org, 1 rarbgunblocked.org, 1 rare-x.org, 1 rarece.cf, 1 @@ -116524,7 +116571,6 @@ rarediseaseday.org, 1 rareearthhair.com.au, 1 rarefish.tk, 1 raregems.io, 1 -rarehi.com, 1 rarename.tk, 1 rarity.tools, 1 raritysniper.com, 1 @@ -116559,7 +116605,6 @@ raskrutka.cf, 1 rasmushaslund.com, 1 rasnyder.com, 1 rasp-consulting.de, 1 -raspberryultradrops.com, 1 raspclock.com, 1 raspitec.ddns.net, 1 rassadacvetov.com, 0 @@ -116619,8 +116664,8 @@ raulmalea.ro, 1 raulrivero.es, 1 raulval.com, 1 raumausstatter-fangmann.de, 1 +raumgestaltung-reeh.de, 1 rauros.net, 1 -rausch-extase.ch, 1 rauschenbach.de, 1 rauserv.de, 1 rautarutto.tk, 1 @@ -116705,6 +116750,7 @@ raykitchenware.com, 1 raylo.com, 1 raym.ml, 1 raymd.de, 1 +raymondelooff.nl, 1 raymondha.ca, 1 raymondha.com, 1 raymondvineyards.com, 1 @@ -116723,7 +116769,6 @@ raystedman.org, 1 raytonne.cn, 1 raytonne.com, 1 rayusradiology.com, 1 -raywardapparel.com, 1 raywisdom.tk, 1 rayworks.de, 1 rayzer.dk, 1 @@ -116743,6 +116788,7 @@ razeencheng.com, 1 razgon.ga, 1 razgon.tk, 1 raziculacrimi.ro, 1 +razoesparaacreditar.com, 1 razrabo.tk, 1 razrsec.uk, 1 razvan.digital, 1 @@ -116787,6 +116833,7 @@ rburz.com, 1 rbx.com, 1 rbx.gg, 1 rc-offi.net, 1 +rc-refer.nhs.uk, 1 rc-shop.ch, 1 rc.cruises, 1 rc1.eu, 1 @@ -116799,6 +116846,7 @@ rca2015.ru, 1 rcbanger.tk, 1 rcbtrace.net, 1 rccars.info, 1 +rcchaplaincyaberdeen.org, 1 rcclub.com, 1 rccom.ru, 1 rccrush.com, 1 @@ -116893,6 +116941,7 @@ rdsm.be, 0 rdtech.de, 1 rdto.io, 1 rduser.lol, 1 +rduser.me, 1 rdv-cni.fr, 1 rdv-coquin-rapide.fr, 1 rdvobras.pt, 0 @@ -116920,7 +116969,6 @@ reaconverter.com, 1 react-db.com, 1 reacteev.com, 1 reactfactory.io, 1 -reactheme.com, 1 reactionindex.com, 1 reactive-load.com, 1 reactive-press.com, 1 @@ -116929,8 +116977,6 @@ reactivedrop.com, 1 reactivemarkets.com, 1 reactor-family.tk, 1 reactpwa.com, 1 -read-blackclovermanga.com, 1 -read-myheromanga.com, 1 read.family, 1 readabilitychecker.com, 1 readable.pw, 1 @@ -116941,7 +116987,6 @@ reades.co.uk, 1 reades.uk, 1 readify.net, 1 readifycloud.com, 1 -reading-assist.com, 1 readingea.com, 1 readingoutpost.com, 1 readingrats.de, 1 @@ -117003,6 +117048,7 @@ realcanada.com.gt, 1 realcapoeira.ru, 1 realclinic.jp, 1 realdomdom.cf, 1 +realestagency.com, 1 realestate-in-uruguay.com, 1 realestate-lidl.at, 1 realestate-lidl.be, 1 @@ -117039,7 +117085,6 @@ realestatesales.gov, 1 realestatestagingassociation.com, 1 realestatetennessee.net, 1 realestatewebnews.tk, 1 -realfamilyincest.com, 1 realfreedom.city, 0 realgarant-shop.de, 0 realgiulianova.it, 1 @@ -117083,7 +117128,6 @@ reallytrusted.com, 1 reallywild.tk, 1 realm-of-shade.com, 1 realm.is, 1 -realmadrid-bet1x2.com, 1 realmadridoffice.tk, 1 realmaturetube.com, 1 realmixwell.tk, 1 @@ -117181,7 +117225,6 @@ rec.moe, 1 rec5.nl, 1 recallinsider.com, 1 recalls.gov, 1 -recambiospuntored.com, 1 recantoshop.com.br, 1 recaptcha-demo.appspot.com, 1 recaptime.eu.org, 1 @@ -117198,9 +117241,7 @@ recessmonkeyz.tk, 1 recetasboricuas.com, 1 recetasdelospaises.com, 1 recetasdemape.com, 1 -recetasget.com, 1 recetips.com, 1 -recettecookeo.net, 1 recettes-de-tiramisu.fr, 1 recettes-series.com, 1 rechenknaecht.de, 1 @@ -117286,6 +117327,7 @@ recruit.net, 1 recruitcrm.io, 0 recruiterbox.com, 1 recruiting.ai, 1 +recruitingresources.com, 1 recruitnow.nl, 1 recruitpedia.co.uk, 1 recruitpediacorp.com, 1 @@ -117352,6 +117394,7 @@ redcarnationhotels.com, 1 redcarpetmonday.com, 1 redcatrampageforum.com, 1 redcedar.gov, 1 +redchameleon.com.ua, 1 redchat.cz, 1 redcity.apartments, 1 redcode-web.design, 1 @@ -117364,7 +117407,6 @@ redcross.com.ph, 1 redcupit.com, 1 redd.it, 1 reddark.io, 1 -reddcoin.com, 1 reddcrypt.com, 1 reddepsicologosdecr.com, 1 reddice.tk, 1 @@ -117434,7 +117476,6 @@ redhottube.ga, 1 redhottube.gq, 1 redhottube.ml, 1 redi.tk, 1 -rediafile.com, 1 rediazauthor.com, 1 redid.com.au, 1 redion.me, 1 @@ -117482,7 +117523,6 @@ redperegrine.com, 0 redphi.dedyn.io, 1 redphoenix.tk, 1 redpitaya.com, 1 -redprice.by, 1 redq.now.sh, 1 redrafting.ga, 1 redragon.co.za, 1 @@ -117558,8 +117598,8 @@ reeladventurefishing.com, 1 reelchicago.com, 1 reelgame.ml, 1 reelnews.ga, 1 +reelobsessionwi.com, 1 reels.in.th, 1 -reelssaver.com, 1 reemployks.gov, 1 reenergo.ru, 1 reenio.com, 1 @@ -117666,6 +117706,7 @@ refpaydc.top, 1 refpayio.top, 1 refpazkjixes.top, 1 reframeituk.org.uk, 1 +refre.in, 1 refresh-dc.org, 1 refreshcartridges.co.uk, 1 refreshingserum.com, 1 @@ -117712,6 +117753,7 @@ regele.tk, 1 regenboghorn.com, 0 regencytablesandsinks.com, 1 regencywalkinclinic.com, 1 +regencywines.ca, 1 regendevices.eu, 1 regeneo.cz, 1 regenerapoint.it, 1 @@ -117721,11 +117763,13 @@ regent.ac.za, 1 regentcruises.com, 1 regentmovies.tk, 1 regento.bg, 1 +regentsh.com, 1 regex.bingo, 1 regex101.com, 1 reggaesumfest.com, 1 reggaexplosion.tk, 1 reggea.tk, 1 +reggiodigital.com, 1 reggiotoday.it, 1 regiamo.ch, 1 regiaodeaveiro.pt, 1 @@ -117860,7 +117904,6 @@ reinout.nu, 1 reinouthoornweg.nl, 1 reintjens.de, 1 reinventersontravail.com, 1 -reinvention-institute.com, 1 reirei.cc, 1 reisbergadr.com, 1 reisdemuthwiltgen.com, 1 @@ -117893,6 +117936,7 @@ rejects.email, 1 rejido.tk, 1 rejushiiplotter.ru, 1 rejuvetclinicpromotion.com, 1 +rekayasainformatika.com, 1 rekka-j.com, 1 rekklab.com, 1 rekkur.com, 1 @@ -117935,7 +117979,6 @@ relationshiptalk.net, 1 relationsproblem.nu, 1 relatosypoesias.tk, 1 relawan24jam-magetan.pp.ua, 1 -relaxcenternederland.nl, 1 relaxdata.eu, 1 relaxhavefun.com, 1 relaxpointhyncice.cz, 1 @@ -117974,6 +118017,7 @@ religious-life.com, 1 religiousfreedomunderfire.com, 1 religiya.tk, 1 relikt.tk, 1 +relikviar.sk, 1 relines.ru, 1 relisten.nl, 1 reloading.ml, 1 @@ -118078,6 +118122,7 @@ remotedesktop.corp.google.com, 1 remotedxb.com, 1 remoteoffice.ga, 1 remoteok.com, 1 +remoteprofessional.org, 1 remoteroom.jp, 1 remoteshack.cf, 1 remoteshack.ml, 1 @@ -118106,7 +118151,6 @@ renard-pierne-avocats.fr, 1 renascercorretora.com.br, 1 renascerstp.org, 1 renate-lietz.de, 1 -renatemamber.nl, 1 renateonline.tk, 1 renaudmuller.fr, 1 renaultclubticino.ch, 0 @@ -118156,6 +118200,7 @@ renewittke.com, 1 renewmedispa.com, 0 renewpfc.com, 1 renezuo.com, 1 +renfei.net, 1 renicimery.com.br, 1 renjyaku-dental.com, 1 renkenlaw.com, 1 @@ -118185,7 +118230,6 @@ renoproject.org, 1 renorun.ca, 1 renorun.com, 1 renos.tk, 1 -renovalar.com.br, 1 renovandoingresos.com, 1 renovation-abm.fr, 1 renovation-de-facade.fr, 1 @@ -118198,7 +118242,6 @@ renovera.be, 1 renovum.es, 1 renrenche.com, 0 rens.nu, 1 -renscreations.com, 1 rent-a-c.io, 1 rent-a-coder.de, 1 rent-car.ga, 1 @@ -118209,7 +118252,6 @@ rentacar.name.tr, 1 rentacaramerica.com, 1 rentacarankara.com.tr, 1 rentacarizmir.com.tr, 1 -rentacarmedo.me, 1 rentaciudadana.co, 1 rentalboatsafety.com, 1 rentalharmony.co.za, 1 @@ -118219,11 +118261,11 @@ rentamosandamios.com.mx, 1 rentandamiosycasetas.com, 1 rentandgoandalo.it, 1 rentandgofalcade.it, 1 +rentandgosanmartino.it, 1 rentandgosestriere.it, 1 rentandgovalmalenco.it, 1 rentasportexclusive.it, 1 rentasweb.gob.ar, 1 -rentatrajes.com.mx, 1 rentbasements.com, 1 rentberry.com, 1 rentbrowser.com, 1 @@ -118255,7 +118297,7 @@ renvisegrad.hu, 1 renwerks.com, 1 renxinge.cn, 0 renyiyou.com, 1 -renyu.ai, 1 +renyu.ai, 0 reo.gov, 0 reorz.com, 0 reox.at, 1 @@ -118282,6 +118324,7 @@ reparatieferestre.md, 1 reparation-traceur.com, 1 reparaturcafe-pfullendorf.de, 1 reparo.pe, 0 +reparolineablanca.com, 1 repasi.org, 1 repat.de, 1 repauto.com.ua, 1 @@ -118310,9 +118353,9 @@ reportband.gov, 1 reporte.tk, 1 reportercareer.ga, 1 reporterre.net, 1 -reporters.ng, 1 reporting.gov, 1 reportoid.tk, 1 +reportoverdose.com, 1 reposaarenkuva.fi, 1 reposeed.dev, 1 reposeed.org, 1 @@ -118333,6 +118376,7 @@ reprorights.gov, 1 repsltd.co.uk, 1 repstalent.com, 1 reptieleninfo.tk, 1 +reptilepoint.com, 1 reptilescan.com, 1 reptrax.com, 1 republic.gg, 1 @@ -118440,6 +118484,7 @@ resize2fs.de, 0 resju21.ch, 1 resmigazete.gov.tr, 1 resmim.net, 1 +resoauth.support, 1 resolu.ru, 1 resolute.com, 1 resolutesystems.com, 1 @@ -118509,6 +118554,7 @@ restad.org, 1 restart-brno.cz, 1 restartperm.ml, 1 restauraceumichala.cz, 1 +restaurant-bambusgarten.berlin, 1 restaurant-de-notenkraker.be, 1 restaurant-fujiyama.fr, 1 restaurant-naan.de, 1 @@ -118528,6 +118574,7 @@ restaurantmadeinitaly.be, 1 restaurants.sg, 1 restauranttester.at, 1 restauratorin-maubach-dresden.de, 1 +restaured.net, 1 restauriedili.roma.it, 1 restauto.com.ua, 1 restbygait.com, 1 @@ -118590,7 +118637,6 @@ retetenoi.net, 1 retetop95.it, 0 reth.ch, 1 rethymnorooms.tk, 1 -reticket.me, 1 reticle.cf, 1 reticon.de, 1 retics.cf, 1 @@ -118633,7 +118679,6 @@ retrohousewifegoesgreen.com, 1 retroity.net, 1 retrojar.top, 1 retrojugo.tk, 1 -retronet.nl, 1 retropack.org, 1 retropedal.tk, 1 retrophoto.fr, 0 @@ -118642,9 +118687,9 @@ retroride.cz, 1 retroroundup.com, 0 retroskoter.tk, 1 retroslave.ga, 1 +retrosupport.org, 1 retrotechgeek.net, 1 retroterminal.com, 1 -retrotown.ws, 1 retrotubesporn.com, 1 retrovideospiele.com, 1 retroworld.tk, 1 @@ -118662,6 +118707,7 @@ reucon.com, 1 reueljohnk.com, 1 reulitz.de, 0 reuna.me, 1 +reunion-pc.com, 1 reunion.tk, 1 reup.cash, 1 reurbcaceres.com.br, 1 @@ -118684,7 +118730,6 @@ revconnect.tk, 1 revcovi.com, 1 revda.su, 1 reveal-sound.com, 1 -reveal11.cloud, 1 revealcellcamtracker.com, 1 revealdata.com, 1 revechat.com, 1 @@ -118708,6 +118753,7 @@ reverseloansolutions.com, 1 reversemortgageguides.com, 1 reversemortgageguides.org, 1 reversesouthafrica.com, 1 +reversetransfer.org, 1 revgen.life, 1 revierstrand.de, 1 review.jp, 1 @@ -118724,7 +118770,6 @@ reviewpipe.com, 1 reviews.anime.my, 0 reviewsfunnel.com, 1 reviewskia.com, 1 -reviewskia.in, 1 reviewsonline.ml, 1 reviewspot.net, 1 reviewu.ca, 1 @@ -118738,7 +118783,6 @@ revis-online.gq, 1 revis-online.ml, 1 revis-online.tk, 1 revisi.id, 1 -revisione.it, 1 revisionmedia.pl, 1 revisionnotes.xyz, 1 revisore.it, 1 @@ -118807,6 +118851,7 @@ rewebsitepro.com, 1 rewirenewsgroup.com, 1 rewisto.de, 1 rewolucja1905.pl, 1 +rewoven.au, 1 rewriteguru.com, 1 rewritertools.com, 1 rex.red, 1 @@ -118818,6 +118863,7 @@ rexburgid.gov, 1 rexcutty.com, 1 rexdf.net, 1 rexel.com, 1 +rexeldvf.nl, 1 rexeroofing.com, 1 rexo.ch, 1 rexograph.com, 1 @@ -118870,7 +118916,6 @@ rga.cl, 1 rgacomputacion.cl, 1 rgbinnovation.com, 1 rgbpty.com, 1 -rgc.com.co, 0 rgdt.tk, 1 rgf.be, 0 rgfundraising.com, 1 @@ -118917,7 +118962,6 @@ rhinelanderpd.gov, 1 rhinesuchus.com, 1 rhino-inquisitor.com, 1 rhino.co.tz, 1 -rhinobase.net, 1 rhinoceroses.org, 1 rhinosf1.com, 1 rhnet.at, 1 @@ -118931,7 +118975,6 @@ rhona.cl, 1 rhost.nl, 1 rhowell.io, 1 rhsb.ch, 1 -rhsbl.com, 1 rhswl.com, 1 rhubarb.land, 1 rhumblineadvisers.com, 1 @@ -118979,7 +119022,6 @@ ribblu.com, 1 ribccs.com, 1 ribdigital.com, 0 ribella.net, 1 -ribes.design, 0 ribims.de, 1 ribit4u.co.il, 1 ribmountainwi.gov, 1 @@ -119073,7 +119115,6 @@ richwayfun.com, 1 rickelrath.de, 1 rickengineering.com, 1 ricketyspace.net, 0 -rickhoekman.com, 1 ricki-z.com, 0 rickmakes.com, 1 rickmanlegal.com, 1 @@ -119084,7 +119125,6 @@ rickrussellhomes.com, 0 rickscastles.co.uk, 1 ricksdailytips.com, 1 rickvanderzwet.nl, 1 -ricky.photos, 1 rickyips.tk, 1 rickyromero.com, 1 rickysgames.tk, 1 @@ -119102,7 +119142,6 @@ riddims.co, 1 riddimsworld.com, 1 riddler.com.ar, 1 riddlock.com, 1 -rideapart.com, 1 rideelectric.gov, 1 ridegravel.ch, 1 rideintaxi.com, 1 @@ -119123,6 +119162,7 @@ ridingoklahoma.com, 1 ridingthetigerpro.com, 1 rido.ml, 1 ridsdale.ca, 1 +riebe.eu, 1 riechsteiner.tech, 1 riecht-besser.de, 1 riederle.com, 1 @@ -119173,7 +119213,7 @@ rigidlandscapes.com.au, 1 rihappy.tk, 1 riietr.com, 1 riigikogu.ee, 0 -riil.org, 1 +riil.org, 0 riino.site, 1 rijk-catering.nl, 0 rijnland.net, 1 @@ -119211,8 +119251,6 @@ rimessaggio.it, 1 rimetsu.com, 1 riministreet.com, 1 riminitoday.it, 1 -rimnow.mr, 1 -rimnow.net, 1 rimo.site, 1 rimonhwang.com, 1 rimorrecherche.nl, 1 @@ -119249,6 +119287,7 @@ rinu.cf, 1 rinvex.com, 1 rinyui.cn, 1 rinyui.com, 1 +riobastian.my.id, 1 rioinbox.com.br, 1 rioloagolf.tk, 1 riomaisbrindes.com.br, 1 @@ -119260,7 +119299,6 @@ riosoils.co.uk, 1 riosoils.com, 1 riotest.xyz, 1 riotseeds.cloud, 1 -rip-sport.cz, 1 ripadores.tk, 1 ripcorddesign.com, 1 ripcordsandbox.com, 1 @@ -119270,7 +119308,6 @@ ripetizioni.roma.it, 1 ripin.org, 1 ripmixmake.org, 1 ripon-wi.gov, 1 -riponadvance.com, 1 ripp-it.com, 1 ripper.store, 1 ripplecraft.cn, 1 @@ -119322,7 +119359,6 @@ risi-china.com, 1 risilience.com, 1 rising-cubers.tk, 1 risingsoftware.com, 1 -risingtidecapital.org, 1 risitas.com.ar, 1 riskbase.uk, 1 riskconsole.com, 1 @@ -119365,6 +119401,7 @@ ritepriceheatingcooling.com.au, 1 ritepriceroofing.com.au, 1 riterry.com, 1 riteway.rocks, 1 +ritewayconstructionny.com, 1 ritirocalcinacci.roma.it, 1 ritirocalcinacci.viterbo.it, 1 ritmoloco.fr, 1 @@ -119469,6 +119506,7 @@ rkmedia.no, 1 rkmns.edu.in, 1 rknews.tk, 1 rkowalewski.de, 1 +rkrent.fr, 1 rkstudio.com, 1 rl3.de, 1 rlahaise.nl, 0 @@ -119495,13 +119533,11 @@ rmcinsuranceservices.com, 1 rmconsulting.com, 1 rmdb.tk, 1 rmdhnreza.my.id, 1 -rmdis.au, 1 rmdscreen.com, 1 rme.li, 0 rmf.io, 1 rmfscrubs.com, 1 rmgsm.ir, 1 -rmi.com.ar, 1 rmit.ee, 0 rmitobacco.com, 1 rml-liege.be, 1 @@ -119538,10 +119574,12 @@ rngmeme.com, 1 rnjobsite.com, 1 rnmkrs.co, 1 rnp.br, 1 +rnrrescue.com, 1 rntgroup.com, 1 rntomsn.com, 1 rntomsnedu.org, 1 rnz3.net, 1 +ro-77.fr, 1 ro.co, 1 ro.exchange, 1 ro.search.yahoo.com, 0 @@ -119555,14 +119593,15 @@ roadandtransport.ga, 1 roadbikes.tk, 1 roaddoc.de, 1 roadguard.nl, 0 -roadhousecinemas.com, 1 +roadsideassistance-houston.com, 1 +roadsideassistance-sanantonio.com, 1 +roadsideassistancehouston.com, 1 roadtochina.tk, 1 roadtoglory.tk, 1 roadtopgm.com, 1 roadtripaustralia.com.au, 1 roadtripnation.com, 1 roadtripusa.tk, 1 -roalogic.com, 1 roamadvisors.com, 1 roamfreun.tk, 1 roamroofingco.com, 1 @@ -119575,7 +119614,6 @@ roar.com.br, 1 roaringforkfire.gov, 1 roastely.com, 1 roaster.ga, 1 -roastrepublic.co, 1 roayahnews.com, 1 rob006.net, 1 robandjanine.com, 1 @@ -119589,7 +119627,6 @@ robbiebird.tk, 1 robbiecrash.me, 1 robbielowe.co, 1 robbievasquez.com, 1 -robbins-construction.com, 1 robbinsdalemn.gov, 1 robbrestyle.com, 1 robbyzworld.cf, 1 @@ -119627,6 +119664,7 @@ robertoggarcia.tk, 1 robertopazeller.ch, 1 robertoullan.tk, 1 robertreiser.photography, 1 +robertrenoir.com.br, 0 robertrijnders.nl, 1 robertsfinejewelers.com, 1 robertsjoneslaw.com, 1 @@ -119652,6 +119690,7 @@ robinevandenbos.nl, 1 robinflikkema.nl, 1 robinfrancq.ml, 1 robinhallnursery.org.uk, 1 +robinhendersonministries.org, 1 robinhor10.tk, 1 robinhordon.tk, 1 robinlinden.eu, 1 @@ -119681,6 +119720,7 @@ robloxenthusiasts.ga, 1 robnicholls.co.uk, 1 robobusiness.ga, 1 robocop.no, 1 +robocorp.com, 1 robodeidentidad.gov, 1 roboform.com, 1 robohash.org, 1 @@ -119711,6 +119751,7 @@ robottip.com, 1 robowars.ga, 1 robpol86.com, 1 robs-info.eu, 1 +robsamtechnology.com, 1 robspc.repair, 1 robspeed.rocks, 1 robstibal.com, 1 @@ -119757,7 +119798,6 @@ rockcountyne.gov, 1 rockcult.ru, 1 rockdalecoprobatecourt.gov, 1 rockdaletx.gov, 1 -rockenfolie.com, 0 rockenfuerlachenhelfen.de, 1 rockernj.com, 1 rocket-resume.com, 1 @@ -119810,7 +119850,6 @@ rockfreshmanyear.com, 1 rockfs.ml, 1 rockingreports.com, 1 rockinit.tk, 1 -rockinmama.net, 1 rockinronniescastles.co.uk, 1 rockislandcountyil.gov, 1 rockitinflatables.co.uk, 1 @@ -120121,6 +120160,7 @@ ronomon.com, 1 ronzertnert.xyz, 1 roobet.com, 1 roodarvasi.ir, 1 +roodcyclecenter.nl, 1 roodfruit.com, 1 roodfruit.nl, 1 roodfruit.studio, 1 @@ -120147,7 +120187,6 @@ rookgamingisevil.com, 1 rookie.com.pl, 1 rookiemamabear.com, 1 roolife.xyz, 0 -room-checkin24.de, 1 room-composite.com, 1 room.to, 0 room208.org, 1 @@ -120175,6 +120214,7 @@ roosendaalsbiergilde.nl, 1 roosendaalsbockbierfestival.nl, 1 rooseveltcountymt.gov, 1 roosterpets.com, 1 +roostur.org, 1 root-books.gq, 1 root-books.ml, 1 root-couture.de, 1 @@ -120183,6 +120223,7 @@ root.bg, 1 root.cz, 1 root.eu.org, 1 root.place, 1 +root.security, 1 rootandvessel.com, 1 rootbsd.at, 1 rootcamp.net, 1 @@ -120223,6 +120264,7 @@ rootsmusicmanagement.tk, 1 rootstation.de, 1 rootsweb.com, 1 rootusers.com, 1 +rootxnetwork.de, 1 roozbeh.tk, 1 rop.cx, 1 ropd.info, 1 @@ -120253,7 +120295,6 @@ rosclar.com, 0 roscommontownshipmi.gov, 1 rosdpk.ru, 1 rosdver.ru, 1 -rose-corp.co.jp, 1 rose-prism.org, 1 roseberyvenues.co.uk, 1 rosebikes.com, 1 @@ -120277,7 +120318,6 @@ rosenberggard.se, 1 rosenheimsingles.de, 1 rosenkavalier.tk, 1 rosenkeller.org, 1 -roseon.net, 0 roseparkhouse.com, 1 rosesciences.com, 1 rosesunmotor.com, 1 @@ -120311,8 +120351,10 @@ rosolioitalicus.com, 1 rosound.cz, 1 rosrabota.tk, 1 ross-mitchell.com, 0 +rossbrunn.ddns.net, 1 rosscountyohiocasa.gov, 1 rosscountyohiocourts.gov, 1 +rossen.be, 1 rosset.me, 1 rosset.net, 1 rossia.ga, 1 @@ -120335,6 +120377,7 @@ rostov-aikido.tk, 1 rostov-arena.ml, 1 rostov.cf, 1 rosty.sh, 1 +rostzaschita.ru, 1 roswellcity.tk, 1 rosystemsint.com, 1 roszdravnadzor.gov.ru, 1 @@ -120395,14 +120438,13 @@ roughcopy.com.au, 1 roughgrain.com, 1 roughnex.tk, 1 roughnotes.com, 1 -roughsexporn.com, 1 roughtime.se, 1 roulettecarnival.com, 1 roulettelive.ml, 1 roulettestar.com, 1 roulinfo.ch, 0 +roullageorgiou.com, 1 roullier.com, 1 -roulons-autrement.com, 1 roundaboutweb.net, 1 roundandbrown.com, 1 roundball.tk, 1 @@ -120426,7 +120468,7 @@ router24.info, 1 routerchart.com, 1 routerclub.ru, 1 routerctrl.com, 1 -routerfi.com, 1 +routerfi.com, 0 routeto.com, 1 routetracker.co, 1 routeur4g.fr, 0 @@ -120442,7 +120484,6 @@ rovian.ua, 1 rovid.link, 1 rovin.tk, 1 rovity.io, 0 -rovota.com, 1 rowancasting.ie, 1 rowancounty911.com, 1 rowancounty911.org, 1 @@ -120455,6 +120496,7 @@ rowansheriff.org, 1 rowantransit.com, 1 rowantransit.org, 1 rowanz.nl, 1 +rowede.de, 1 rowery.org, 1 rowingsa.asn.au, 1 rowlog.com, 1 @@ -120485,6 +120527,7 @@ royal88.com, 1 royal880.com, 0 royal8822.com, 0 royal896.com, 0 +royal899.com, 0 royal929.com, 0 royal939.com, 1 royalasianescorts.co.uk, 1 @@ -120605,7 +120648,6 @@ rrbpatna.gov.in, 1 rrbt.eu, 1 rrbt.net, 1 rrbts.com, 1 -rrdesignsuisse.com, 0 rrdtool.com, 1 rritv.com, 1 rrke.cc, 0 @@ -120618,6 +120660,7 @@ rrvmz.cf, 1 rrwolfe.com, 1 rs-cloud.ddns.net, 1 rs-devdemo.host, 1 +rs-facility.de, 1 rs-maschinenverleih.de, 1 rs.wiki, 1 rs200.org, 1 @@ -120642,8 +120685,10 @@ rse-reporting.com, 1 rsec.kr, 1 rsecure.tk, 1 rsfinance.ch, 1 +rsg-ltd.jp, 1 rsgnl.fr, 1 rsgx.com, 1 +rshvacdesigns.com, 1 rsingermd.com, 1 rsl-hilden.de, 1 rsl.gd, 1 @@ -120681,7 +120726,6 @@ rsvp, 1 rsvpparty.com, 1 rswebsols.com, 1 rswm.in, 1 -rszod.com, 1 rt-inc.com, 1 rt-praxis-barbara-scheibel.de, 1 rt.com, 1 @@ -120761,6 +120805,7 @@ ru251.tk, 1 rua.ink, 0 ruageek.com, 1 ruangangkasa.com, 0 +ruanglaptop.com, 1 ruanmi.de, 1 ruanwen168.com, 1 ruavan.com, 1 @@ -120788,12 +120833,12 @@ rubenbrito.net, 1 rubenfelix.tk, 1 rubengutierrez.tk, 1 rubenkruisselbrink.nl, 1 -rubenmamo.com, 1 +rubenmamo.com, 0 rubenpeeters.ml, 1 rubenplazagarcia.es, 1 rubenroy.com, 1 rubenruiz.org, 1 -rubens.cloud, 1 +rubens.cloud, 0 rubenschulz.nl, 1 rubenshotel.com, 1 rubenshuis.be, 1 @@ -120804,6 +120849,7 @@ ruber.cf, 1 rubia.ca, 1 rubiales.tk, 1 rubic.tk, 1 +rubiconpeople.co.uk, 1 rubiconwi.gov, 1 rubidium.ml, 1 rubidium.se, 1 @@ -120814,6 +120860,7 @@ rubinchyk.tk, 1 rubinnadlan.co.il, 1 rubiogafsi.com, 1 rubirubli.tk, 1 +rubiswinebar.be, 1 rubix.com, 1 rublacklist.net, 1 rublev.tk, 1 @@ -120827,7 +120874,6 @@ rubymediagroup.com, 1 rubyonline.tk, 1 rubyonremote.com, 1 rubyquincunx.org, 1 -rubyribbon.com, 1 rubystore.ga, 1 rucheentreprise.fr, 1 ruchka-mashinka.gq, 1 @@ -120840,7 +120886,6 @@ ruckzuck-privatpatient.de, 1 rud.is, 1 rudating.tk, 1 rudd-o.com, 0 -rude.com, 1 rudefish.tk, 1 rudewiki.com, 1 rudianto.id, 1 @@ -120862,6 +120907,7 @@ rueckgr.at, 1 ruecommune.fr, 1 ruediger-voigt.eu, 1 ruedigervoigt.de, 1 +ruedirrenggli.ch, 0 rueduparticulier.tk, 0 rueg.eu, 1 ruero.com, 1 @@ -121062,13 +121108,12 @@ rushashkyfond.com, 1 rushbmedia.com, 1 rushcountykansas.gov, 1 rushhour.nl, 0 -rushmix.com, 0 +rushmix.com, 1 rushmyessay.gq, 1 rushpoppershop.co.uk, 1 rushriverwi.gov, 1 rushyo.com, 1 rusichi.tk, 1 -rusien-den.com, 1 rusificatio.tk, 1 rusifikator.tk, 1 rusiptv.cf, 1 @@ -121177,6 +121222,7 @@ rutika.ru, 1 rutlandma.gov, 1 rutorka.tk, 1 ruttenadvocaat.be, 1 +ruttentuttels.nl, 1 rutterroy.com, 1 ruud-online.tk, 1 ruudkoot.nl, 1 @@ -121193,6 +121239,7 @@ ruzaevka.tk, 1 ruzomberok.bike, 1 ruzovyslon.cz, 1 rv-jpshop.com, 1 +rv-lyfe.com, 1 rva.gov, 1 rvaneijk.io, 1 rvantwembeke.tk, 1 @@ -121229,7 +121276,6 @@ rxbusiness.com, 1 rxcarbon.com, 1 rxcom.net, 1 rxphoto.com, 1 -rxtx.pt, 0 rxxx.ml, 1 ry88url.com, 1 ryabinushka.tk, 1 @@ -121248,6 +121294,8 @@ ryanfamily.net.au, 1 ryanhopk.com, 1 ryanhowell.io, 1 ryanjarvis.law, 1 +ryanjohnstone.co.uk, 1 +ryanjohnstone.com, 1 ryankearney.com, 0 ryankilfedder.com, 1 ryanonfire.tk, 1 @@ -121314,6 +121362,8 @@ rzhv1.cf, 1 rzip.de, 1 rzsmt.com, 1 s-5-university.com, 1 +s-bahn-3.de, 1 +s-bahn-5.de, 1 s-c.se, 1 s-comp.pl, 1 s-cubed.net, 1 @@ -121322,7 +121372,6 @@ s-geiser.de, 1 s-gong.com, 1 s-he.at, 1 s-hertogenbosch.tech, 1 -s-housing.vn, 1 s-huset.dk, 1 s-i-m.tk, 1 s-kaupat.fi, 1 @@ -121399,7 +121448,7 @@ s6729.co, 1 s6729.com, 1 s6957.co, 1 s6jl.com, 1 -s6n.jp, 1 +s6n.jp, 0 s6o.de, 1 s82365.com, 1 s88.com, 1 @@ -121426,7 +121475,6 @@ sa88.cc, 0 saadat.in.ua, 1 saadurrehman.tk, 1 saam.aero, 1 -saanich.ca, 1 saap.me, 1 saaral.org, 1 saarehaigla.ee, 1 @@ -121461,6 +121509,7 @@ sabians.tk, 1 sabiasque.pt, 1 sabine-forschbach.de, 1 sabineforschbach.de, 1 +sabinehorelt.de, 1 sablanout.com, 1 sable.gq, 1 sabmobile.pk, 1 @@ -121477,7 +121526,6 @@ sabrinarus.tk, 1 sabrinazeidan.com, 1 sabrine.tk, 1 sabris.com, 1 -sabung-ayam.net, 1 sabworldtricks.tk, 1 sac-shoes.fr, 1 sacabc.ca, 1 @@ -121508,6 +121556,7 @@ saclier.at, 1 saco.tech, 1 sacodealegria.com, 1 sacprincesse.com, 1 +sacralis.com, 1 sacramentocounty.gov, 1 sacramentum.tk, 1 sacreatedesign.com, 1 @@ -121525,7 +121574,6 @@ sacrosanctus.tk, 1 sacscoc.org, 1 sacwellness.com, 1 sad-berezka.ru, 0 -sad-ko.ru, 1 sadbox.es, 1 sadbox.org, 1 sadbox.xyz, 1 @@ -121542,7 +121590,6 @@ sadiestavern.ga, 1 sadiestavern.gq, 1 sadiestavern.ml, 1 sadievilleky.gov, 1 -sadiosang.net, 1 sadiqloaded.tk, 1 sadjawebsolutions.com, 1 sadko-group.com, 1 @@ -121552,6 +121599,7 @@ sadou.kyoto.jp, 0 sadoun.com, 1 sadovskiy.tech, 1 sadrailsim.de, 1 +sadroveomitky.net, 1 sadsu.com, 0 sadtxt.com, 1 sadurscy.pl, 1 @@ -121559,7 +121607,6 @@ sadus.tk, 1 saechsischer-christstollen.shop, 0 saeder-krupp.de, 1 saeedvaladbaygi.info, 1 -saeidii.com, 1 saeitalianfood.com, 1 saenforcement.agency, 1 saengsook.com, 1 @@ -121570,16 +121617,16 @@ safagiza.ml, 1 safalfasalonline.in, 1 safar.sk, 1 safara.host, 1 +safarilaw.com, 1 +safarisop.com, 1 safataviationgroup.com, 1 safatech.me, 1 safc.tk, 1 -safe-kim.com, 1 safeacs.com, 1 safeadmin.ga, 1 safeandsecureserver.com, 1 safearth.training, 1 safeathomeohio.gov, 1 -safeatlast.co, 1 safebaseflorida.com, 1 safebaseinc.com, 1 safebasementswaterproofing.com, 1 @@ -121622,7 +121669,6 @@ safensoundstoragegroton.com, 1 safeo.fr, 1 safeocs.gov, 1 safeplay.co, 1 -safeplayground.net, 1 safeporn.org, 1 safeprint.pt, 1 safer-software.tk, 1 @@ -121659,7 +121705,6 @@ safetymp3.com, 1 safetynames.com, 1 safetynation.co.uk, 1 safetynetwork.me, 1 -safetynigeria.com, 1 safetyrange.com, 1 safetyrisk.net, 1 safetysite.tips, 1 @@ -121695,6 +121740,7 @@ sagauae.com, 1 sageclinic.org, 1 sagefitness.store, 1 sagegardens.ca, 1 +sagegoddess.com, 1 sagenesykkel.com, 1 sagenet.net.au, 0 sagerus.com, 1 @@ -121735,12 +121781,12 @@ saibotk.de, 1 said.id, 1 said.it, 1 said.my.id, 1 +said.web.id, 1 saidpurtechnical.tk, 1 saidrive.net, 1 saidrive.online, 1 saidtezel.com, 0 saieditor.com, 1 -saifonvillas.com, 1 saifoundation.in, 1 saifoundation.org, 1 saigonflowers.com, 1 @@ -121847,10 +121893,10 @@ saitrance.com, 1 saitschool.ml, 1 saitv.net, 1 saitv.org.in, 1 +saivang.com, 1 saiwebtv.com, 1 sajabesaya.tk, 1 sajbersove.rs, 1 -sajdowski.de, 0 sajetekengineering.com, 1 sajjadrezaei.fit, 1 sajjadzaidi.com, 1 @@ -121956,7 +122002,6 @@ salesforce.mil, 1 salesforceliveagent.com, 1 salesforcescrt.com, 1 salesfunnelfirstaid.com, 1 -saleskeyonline.com, 1 salesoutcomes.com, 1 salesprocessing.gq, 1 saletodo.com, 1 @@ -121981,6 +122026,7 @@ salisburyreds.co.uk, 1 salisucre.fr, 1 salland1.nl, 1 sallandstorage.nl, 1 +salle-quali.fr, 0 salledebainmontreal.gq, 1 sallisawok.gov, 1 sally-secret.com, 1 @@ -121990,7 +122036,6 @@ sallycooke.co.uk, 1 sallydowns.name, 1 sallyheerenveen.nl, 1 sallyjo.tk, 1 -sallyman.de, 1 salmadenora.net, 1 salman.agency, 1 salmanravoof.com, 1 @@ -122017,8 +122062,10 @@ salonasymetria.com, 1 salonboothuren.amsterdam, 1 salone-mio.com, 1 salonestella.it, 1 +saloni.com, 1 saloniestate.ml, 1 salonist.io, 1 +salonivenera.com, 1 salonkaufmann.it, 1 salonmarjon.nl, 1 salonni.tk, 1 @@ -122052,9 +122099,10 @@ saltydogpaddle.org, 1 saltykai.com, 1 salud-paratodos.com, 1 salud.top, 0 +salud21murcia.es, 1 saludakeuring.nl, 1 saludmas.site, 1 -saludmaspro.com, 1 +saludmaspro.com, 0 saludnutrivida.com, 1 saluels.servemp3.com, 1 salukinet.tk, 1 @@ -122116,12 +122164,11 @@ samcera.gov, 1 samclarke.com, 1 samclarke.uk, 1 samdev.io, 1 -same.lol, 1 samedamci.com, 1 +sameday-towing.com, 1 samedis.care, 1 samegoal.com, 1 samegoal.org, 1 -samehzidan.com, 1 samel.de, 1 samelol.com, 1 samentest.tk, 1 @@ -122149,9 +122196,10 @@ samir-software.tk, 1 samiratv.tk, 1 samishnation.gov, 1 samisoft.ir, 1 +samity.org, 1 samiysok.cf, 1 +samjeffs.net, 1 samkelleher.com, 1 -samkoandmikotoywarehouse.com, 1 saml-gateway.org, 1 saml2.com, 1 samlam.ddns.net, 1 @@ -122162,6 +122210,7 @@ sammich.social, 1 sammichscripts.com, 1 sammyservers.com, 1 sammyservers.net, 1 +samnangseng.com, 1 samodel.ml, 1 samodel.tk, 1 samogonka.tk, 1 @@ -122182,7 +122231,6 @@ samplefashion.nl, 1 sampsoncountync.gov, 1 sampurna.shop, 1 samroelants.com, 1 -sams.wtf, 1 samsatcorner.com, 1 samscollection.in, 1 samsebe.ml, 1 @@ -122208,6 +122256,7 @@ samuelkyalo.tk, 1 samuelphotos.com, 1 samuels-blog.de, 1 samuels-graphics.tk, 1 +samuelsmithsbrewery.co.uk, 1 samuelsxpress.com, 1 samuidiving.net, 1 samuirehabcenter.com, 1 @@ -122265,6 +122314,7 @@ sanbernardino.gov, 1 sanbornteam.com, 1 sanbs.org.za, 1 sancaktepehaber.tk, 1 +sancarlosparkcasa.com, 1 sanche.org, 1 sanchez.adv.br, 0 sancpa.ca, 1 @@ -122304,6 +122354,7 @@ sandiegotown.com, 1 sandipmukherjee.tk, 1 sandiuno.ml, 1 sandle.uk, 1 +sandle.xyz, 1 sandlerpartners.com, 1 sandmanintel.com, 1 sandmarc.cz, 1 @@ -122411,8 +122462,6 @@ sanne-content.de, 1 sannefoltz.com, 1 sannikfk.gq, 1 sanodent.com.ua, 1 -sanook69.com, 1 -sanook69s.com, 1 sanooktiew.com, 0 sanowski.com, 1 sanowski.eu, 1 @@ -122540,6 +122589,7 @@ sapienza-eclipse.com, 1 sapienzaconsulting.com, 1 sapik.hu, 1 sapiperelining.com.au, 1 +sapirparking.com, 1 sapling.ai, 1 saplumbers.com.au, 1 sapmap01.azurewebsites.net, 1 @@ -122547,9 +122597,9 @@ sapoghki.tk, 1 sapphi.st, 1 sapphic.site, 1 sapphirebet.com, 1 -sapphireblinds.com.au, 1 +sapphireblinds.com.au, 0 sapphireblue.me, 1 -sapphirecleaningwa.com.au, 1 +sapphirecleaningwa.com.au, 0 sapphirepearl.com.sg, 1 sapphireservicesga.com, 1 sapporo-asaichi.com, 1 @@ -122577,6 +122627,7 @@ sarah-jane.nl, 1 sarah-jones.uk, 1 sarahbaker.co.nz, 1 sarahbowling.org, 1 +sarahhortman.com, 1 sarahjaneethan.co.uk, 1 sarahjaneredmond.com, 1 sarahlicity.co.uk, 1 @@ -122618,6 +122669,7 @@ sard.ro, 1 sardacompost.it, 1 sardegnarifiuti.it, 1 sardegnatirocini.it, 1 +sardiaoil.nl, 1 sardine.tk, 1 sardinhagarcia.pt, 1 sardinianvillas.co.uk, 1 @@ -122627,18 +122679,19 @@ sardoche.lol, 1 sarecords.tk, 1 sareena.org, 1 sarella.org, 1 -sarems.com, 1 saresegur.com, 1 sargar.tk, 1 sargarmi.tk, 1 sargenttechnologyservices.com, 1 sarh.com.au, 1 +sarhida.hu, 1 sarhua.tk, 1 saria.fun, 1 saribunga.id, 1 sarink.eu, 1 sarisander.com, 1 saritas.com.tr, 1 +sariyer.bel.tr, 1 sarjakuvakauppa.fi, 1 sarjas.tk, 1 sarkaridomain.com, 1 @@ -122668,7 +122721,6 @@ sarvaappstage.com, 1 sarzamintarh.ir, 1 sas-snowboarding.sk, 1 sasakala.tk, 1 -sasapost.co, 1 sasasa.org, 1 sasazono.com, 1 sascha-brockel.de, 1 @@ -122692,7 +122744,6 @@ saskiadhont.be, 1 saskialund.de, 1 sasrobotics.xyz, 1 sasroli.tk, 1 -sasse9662.net, 1 sassyporkchop.com, 1 sastamalandemarit.fi, 1 sastd.com, 1 @@ -122711,7 +122762,6 @@ satanspowers.tk, 1 satario.vn, 1 satat.cf, 1 satat.tk, 1 -sataturf.com, 1 sateahafreedi.com, 1 sateallia.org, 1 satelital.tk, 1 @@ -122739,6 +122789,7 @@ satl-lelystad.nl, 1 satlantis.tk, 1 satmd.de, 1 sato-legaloffice.jp, 1 +satoplet.cz, 1 satopletova.cz, 1 satoshinumbers.com, 1 satowa-network.eu, 0 @@ -122764,8 +122815,8 @@ saturnus.consulting, 1 satvasolutions.com, 1 satwcomic.com, 1 satya-insights.com, 1 -satyamshivamsundaram.in, 1 sau.cy, 1 +sauber-lab.com, 1 saubermacher.at, 1 saubooks.tk, 1 saucelabs.com, 1 @@ -122789,7 +122840,6 @@ saulsplacehealth.com, 1 saulsplacewebdesign.com, 1 saultdefencelaw.ca, 1 saulvanderbijl.com, 1 -sauna-acties.nl, 1 saunaempire.lt, 1 saunafahrten.ch, 1 saunahats.eu, 1 @@ -122867,7 +122917,7 @@ savingsbondwizard.gov, 1 savingsoftheyear.com, 1 savingtails.org, 1 savitar.guide, 1 -saviynt.com, 0 +savne-svetelj.si, 1 savoir.ga, 1 savonlinnatrujillo.tk, 1 savonsuuntaporaus.fi, 1 @@ -122894,7 +122944,6 @@ sawiday.nl, 1 sawiday.pl, 1 sawiday.se, 1 sawikowscy.eu, 1 -sawikowscy.pl, 1 sawpa.gov, 1 saxeandthecity.com, 1 saxifrageleather.com, 1 @@ -122932,6 +122981,7 @@ sayiw.com, 1 saymonz.net, 1 sayprepay.com, 1 sayura.net, 1 +sayuricane.jp, 1 sayver22.com, 1 saz-it.de, 1 saz.sh, 1 @@ -122960,7 +123010,6 @@ sbcbatangas.edu.ph, 1 sbcmedia.nl, 1 sbcountyarc.gov, 1 sbcountyatc.gov, 1 -sbcountywines.com, 1 sbeech.uk, 0 sbequineevac.org, 1 sber-solutions.kz, 1 @@ -123086,6 +123135,7 @@ scardracs.blog, 1 scarecrow-cn.com, 1 scaricamusica.tk, 1 scarinex.tk, 1 +scarletstudy.net, 1 scarsviewchrysler.com, 1 scary.cafe, 1 scaryghost.tk, 1 @@ -123102,6 +123152,7 @@ scavenged.ga, 1 scbdh.org, 1 scbodner.com, 1 sccd.co.uk, 1 +sccljxsb.com, 1 sccoaching.io, 1 scde.ventures, 1 scdmx.de, 1 @@ -123114,6 +123165,7 @@ scenari.ovh, 1 scenarp.pl, 1 scenastu.pl, 1 scene.mx, 1 +scene64.com, 1 scenefense.tk, 1 scenester.tv, 1 scenetv.ga, 1 @@ -123282,6 +123334,7 @@ schnuckenhof-wesseloh.de, 1 schnyder-werbung.ch, 0 schody-rozycki.pl, 1 schoenstatt-fathers.link, 1 +schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoepski.de, 1 schoknecht.net, 1 @@ -123302,6 +123355,7 @@ scholarly.ph, 1 scholarnet.cn, 1 scholars-societas.org, 1 scholarsclub.club, 1 +scholarshipnjob.com, 1 scholarships.ga, 1 scholarships.link, 1 scholding.ru, 1 @@ -123326,7 +123380,6 @@ school-id.co.uk, 1 school-korfbal.nl, 1 school-project.tk, 1 school-psychologists.com, 1 -school-register.co.za, 1 school.in.th, 1 school16-tob.tk, 1 school173.tk, 1 @@ -123348,7 +123401,6 @@ schooldismissalmanager.com, 1 schooleducationharyana.gov.in, 1 schoolheads.ph, 1 schoolhouse.world, 1 -schooli.io, 1 schoolofequineshiatsu.com, 1 schoolotzyv.ru, 1 schoolroom.ga, 1 @@ -123372,6 +123424,7 @@ schorle.wine, 1 schottenland.de, 1 schottlandtaxi.de, 1 schoutenseo.com, 1 +schraml.it, 1 schrauber.tk, 1 schrauger.com, 1 schrauger.info, 1 @@ -123450,7 +123503,6 @@ schwarzwaelder-schinken-verband.de, 1 schwarzwald-flirt.de, 1 schwedischezahnaerztin.com, 1 schwedischezahnaerztin.de, 1 -schweingehabt.expert, 1 schweiz-sextreffen.ch, 1 schweizerbanken.tk, 1 schweizers-restaurant.de, 1 @@ -123461,10 +123513,10 @@ schwifty.cloud, 1 schwiha.de, 1 schwimmschule-kleine-fische.de, 1 schwinabart.com, 1 -schwingen.net, 1 +schwingen.net, 0 schwinger.me, 1 schwinnbike.ru, 1 -schworak.com, 1 +schworak.com, 0 schwub.de, 1 sci-internet.tk, 1 sciagebeton.net, 1 @@ -123479,7 +123531,6 @@ science-questions.org, 1 science-texts.de, 1 science.gov, 1 science360.gov, 1 -science4fun.info, 1 scienceasfashion.ga, 1 sciencebase.gov, 1 sciencedaily.com, 1 @@ -123529,7 +123580,7 @@ scity88.com, 1 scjc-bridge.fr, 1 sckc.stream, 1 sclasupplychain.com, 1 -sclause.net, 1 +sclause.net, 0 scloud.link, 1 sclsnglssttldwn.com, 1 sclub7esp.tk, 1 @@ -123544,7 +123595,6 @@ scoebg.org, 1 scoffable.com, 1 scola.id, 1 scolacdn.com, 1 -scoliosisinstitute.com, 1 scom.org.uk, 1 scommessalegale.com, 1 scommessenonaams.com, 1 @@ -123573,9 +123623,10 @@ scopeglass.com.au, 1 scopethree.org, 1 scopus.tk, 1 scorb.com.br, 1 +scorch.cc, 1 +scorch.me, 1 scorchers.tk, 1 scorebet24.com, 1 -scoresense.com, 1 scoro.com, 1 scorobudem.ru, 1 scorpia.co.uk, 1 @@ -123634,7 +123685,6 @@ scour.cc, 1 scoure.de, 1 scourgesofcarpathia.tk, 1 scout-korting.tk, 1 -scout.org, 1 scouteridano.tk, 1 scouting-kontiki.nl, 1 scoutingeijsdenonline.tk, 1 @@ -123654,7 +123704,6 @@ scp-rustenholz-trens.notaires.fr, 1 scp500.com, 1 scpe.eu.org, 1 scphotography.co.uk, 1 -scpidcard.com, 1 scpocahontas.nl, 1 scpower.sg, 1 scpreplay.net, 1 @@ -123761,10 +123810,10 @@ scubahirefiji.com, 1 scubaland.hu, 1 scubly.com, 1 scul.net, 1 -sculptaestheticsclinic.co.uk, 1 sculpteo.com, 1 sculpture.support, 1 sculpturesworldwide.tk, 1 +scunna.com, 1 scunthorpemoneyman.com, 1 scuola-e-cultura.it, 1 scuolaguidalame.ch, 0 @@ -123784,6 +123833,7 @@ scylla.live, 1 scytl.com, 0 sd.af, 1 sd.ax, 1 +sd2017.com, 1 sd44.ca, 1 sdaniel55.com, 1 sdarcc.gov, 1 @@ -123792,7 +123842,6 @@ sdb.aero, 1 sdbehavioralhealth.gov, 1 sdcapp.in, 1 sdcardrecovery.de, 1 -sdea.ca, 1 sdebitati.it, 1 sdesam.ru, 1 sdeu.fr, 1 @@ -123809,6 +123858,7 @@ sdho.org, 1 sdipolanight.co.uk, 1 sdis-trib.fr, 1 sdkco.net, 1 +sdkuangshajixie.com, 1 sdn.cz, 1 sdn3wonocoyo.sch.id, 1 sdns.fr, 1 @@ -123856,6 +123906,7 @@ sealaw.com, 1 sealbaker.com, 1 seallacres.com.br, 1 sealoffantasy.de, 1 +seals2024.com.br, 1 sealtitebasement.com, 1 sealvault.org, 1 seamac.info, 1 @@ -123967,6 +124018,7 @@ sebariklanmassal.gq, 1 sebarin.tk, 1 sebastiaandouma.co.uk, 1 sebastiaanwijnimport.nl, 1 +sebastian-bergmann.de, 1 sebastian-bravo.com, 1 sebastian-elisa-pfeifer.eu, 1 sebastian-haeutle.de, 1 @@ -124077,7 +124129,6 @@ secretmuseum.net, 1 secretofanah.com, 1 secretosbolivia.tk, 1 secrets-marketing.tk, 1 -secretsbynature.nl, 1 secretsdujeu.com, 1 secretservercloud.ca, 1 secretsofuniverse.in, 1 @@ -124124,6 +124175,7 @@ secure-graphic.de, 1 secure-gw.de, 1 secure-it-is.nl, 0 secure-server-hosting.com, 1 +secure-share.com, 1 secure.advancepayroll.com.au, 1 secure.facebook.com, 0 secure.wang, 1 @@ -124202,7 +124254,6 @@ securityheaders.com, 1 securityheaders.io, 1 securityheaders.nl, 1 securityindicators.com, 1 -securitypluspro.com, 1 securitypuppy.com, 1 securitysense.co.uk, 1 securitysnobs.com, 0 @@ -124225,7 +124276,6 @@ securoswiss.ch, 1 securot.eu, 1 securview.ch, 1 secuvera.de, 0 -secuxtech.com, 1 secvuln.info, 1 secwall.me, 1 secwatch.nl, 1 @@ -124255,7 +124305,6 @@ seedcom.dk, 0 seedcoworking.es, 1 seedisclaimers.com, 1 seedno.de, 1 -seedscientific.com, 1 seedspark.com, 1 seedsystemcoaching.com, 1 seefeldbilder.at, 1 @@ -124276,6 +124325,7 @@ seeonce.co, 1 seerainer.com, 1 seerist.com, 1 seerr.ddns.net, 1 +seeses.net, 1 seesuite.com, 0 seetheprogress.com, 1 seetheprogress.de, 1 @@ -124290,7 +124340,6 @@ seewines.com, 1 seexw.com, 1 seezeitlodge-bostalsee.de, 1 sef.co.za, 1 -sefa.cloud, 1 sefan.ru, 1 sefodbold.dk, 1 sefru.de, 1 @@ -124310,6 +124359,7 @@ segmentify.com, 1 segmentnext.com, 1 segnalabullo.it, 1 segnidisegni.eu, 1 +segnoadv.com, 0 segpay.com, 1 segulink.com, 1 segurancaresidencialbh.com.br, 1 @@ -124560,6 +124610,7 @@ semobr.cf, 1 semops.gq, 1 semox.de, 1 semparar.com.br, 1 +semperincorde.sk, 1 sempersolaris.com, 1 semplicementelight.com, 1 sempoctet.ca, 1 @@ -124575,7 +124626,6 @@ semver.ca, 1 semyonov.su, 1 semyonov.us, 1 senacor.com, 1 -senamexico.com, 1 senaofertaeducativa.co, 1 senaofertaeducativa.com, 1 senarea.nl, 1 @@ -124633,6 +124683,7 @@ senior-sigan.ml, 1 seniorcommunitymedia.com, 1 seniorem.eu, 1 seniorhost.net, 1 +seniorie-sart-tilman.be, 1 seniorlivinginvestments.eu, 1 seniormanager.cz, 1 seniorsupportservicesohio.com, 1 @@ -124712,6 +124763,7 @@ sentrytwo.com, 1 sentworks.com, 1 senzaparole.de, 1 senzei.tk, 1 +senzoripresiune.com, 1 seo-analyse.com, 1 seo-blog12.tk, 1 seo-dr-it.com, 1 @@ -124736,6 +124788,7 @@ seo-url.tk, 1 seo-website.ru, 1 seo.consulting, 1 seo.domains, 1 +seo.gd, 1 seo.london, 1 seo.services, 1 seo40.fr, 1 @@ -124781,6 +124834,7 @@ seolisting.tk, 1 seolizer.de, 1 seolord.cf, 1 seomag.tk, 1 +seomap.ir, 1 seomarketing.bg, 1 seomasti.com, 1 seomaton.com, 1 @@ -124841,7 +124895,6 @@ seovision.se, 1 seovisit.tk, 1 seovisits.tk, 1 seoviziti50.tk, 1 -seowebsite.tools, 1 seowerkz.com, 1 seowind.io, 1 seowordpress.pl, 1 @@ -124916,7 +124969,7 @@ serendeputy.com, 1 serenesolutions.nl, 1 serenityeditor.com, 1 serenitytvl.com, 1 -seresco.es, 0 +seresco.es, 1 serf.io, 1 serfas.gr, 1 serfinansa.com.co, 1 @@ -124961,7 +125014,6 @@ seriesgratis.tk, 1 serifosguide.dk, 1 serije.co, 1 serinamusic.com, 1 -seringe.com, 1 seriouss.am, 1 serioussam.ml, 1 serkanceyhan.com, 1 @@ -125009,6 +125061,8 @@ serveistic.es, 1 servelelecciones.cl, 1 servelink.com, 1 servend.gov, 1 +servenet.one, 1 +serveport.com, 1 servepublic.com, 1 servepublic.org, 1 server-bg.net, 1 @@ -125063,7 +125117,7 @@ serveur.nl, 1 serveurs-minecraft.com, 1 serveursminecraft.org, 1 servfefe.com, 1 -servi-tek.net, 1 +servi-tek.net, 0 service-auto-baneasa.com, 1 service-auto-baneasa.ro, 1 service-centre.cf, 1 @@ -125100,6 +125154,7 @@ servicevie.com, 0 serviciales.com, 1 servicii-funerare.tk, 1 serviciodebarralibreparaeventos.com, 1 +serviciolegal.com.co, 1 serviciomigraciones.cl, 1 serviciosdeti.gq, 1 serviciosfncs.com, 1 @@ -125206,7 +125261,6 @@ setzzy.com, 1 seu.edu.sa, 1 seucreditodigital.com.br, 1 seuntaylor.co, 1 -seuplano.com.br, 1 seutens.be, 1 seutens.eu, 1 sevastopol.tk, 1 @@ -125216,7 +125270,6 @@ sevenartzpublicidad.com, 1 sevendevilsnc.gov, 1 sevenfoureight.ml, 1 sevengang.tk, 1 -sevenhillsapartments.com.au, 1 sevenicealimentos.com.br, 1 sevenmatches.com, 1 sevenrooms.com, 1 @@ -125236,7 +125289,6 @@ sevillalinces.tk, 1 sevillanazarena.tk, 1 sevinci.ch, 1 sevitahealth.com, 1 -sevocomm.com, 1 sevsey.ru, 1 sewa.nu, 1 sewalaptopm2i.com, 1 @@ -125270,8 +125322,6 @@ sexgirlfriend.com, 1 sexgood.com.ua, 1 sexhab.guru, 1 sexin.nl, 1 -sexkrd.love, 1 -sexkursk.club, 1 sexminister.tk, 1 sexmobil.de, 1 sexobryansk.guru, 1 @@ -125280,7 +125330,6 @@ sexoclicker.com, 1 sexoclicker.net, 1 sexoclicker.org, 1 sexocomgravidas.com, 1 -sexokursk.com, 1 sexologist.cf, 1 sexonwax.com, 0 sexosintabues30.com, 1 @@ -125289,7 +125338,6 @@ sexoufa.center, 1 sexoyalta.love, 1 sexoyrelax.com, 1 sexpay.net, 1 -sexpdf.com, 1 sexpression.com.br, 1 sexshopfacil.com.br, 1 sexshopnet.com.br, 1 @@ -125335,7 +125383,6 @@ seypt.de, 1 seyr.it, 1 seyr.me, 1 seyv.io, 1 -seyyarelektrik.com, 1 sf-builders.com, 1 sf-kayh.de, 1 sf3223.com, 1 @@ -125344,6 +125391,7 @@ sfarc.ml, 1 sfat.llc, 1 sfbao.cn, 1 sfbao.com, 1 +sfbayareajanitorial.com, 1 sfbaytransit.org, 1 sfcardio.fr, 1 sfccapital.com, 1 @@ -125394,7 +125442,7 @@ sga99.top, 1 sga99.vip, 1 sgatlantis.tk, 1 sgbarker.com, 1 -sgbpa.co.uk, 1 +sgbcva.org, 1 sgcaccounts.co.uk, 1 sgcountymt.gov, 1 sgdementia.ca, 1 @@ -125407,10 +125455,12 @@ sgitc.de, 1 sgj0.net, 1 sglazov.ru, 1 sglibellen.de, 1 +sgn0018.com, 1 sgnation.dk, 1 sgnl.ai, 1 sgo-overbetuwe.nl, 1 sgombero.it, 1 +sgomberoroma.it, 1 sgoossens.nl, 1 sgplay.io, 1 sgrmreproduccionapp.azurewebsites.net, 1 @@ -125435,7 +125485,6 @@ sgtt.ch, 0 sgutranscripts.org, 1 sh-heppelmann.de, 1 sh-network.de, 1 -sh.com.tr, 1 sh0rt.in, 1 sh0rt.zone, 1 sh0u.jp, 1 @@ -125499,11 +125548,10 @@ shadowvolt.net, 1 shadrinsk-city.ru, 1 shadynook.net, 1 shadypark.tk, 1 -shaeishu.co, 1 shafa.ua, 1 +shaffer-law.com, 1 shaffermixers.com, 1 shafrental.id, 1 -shafteldhon.com, 1 shaftofdarkness.club, 0 shag-shag.ru, 1 shahar.cc, 0 @@ -125538,7 +125586,6 @@ shakan.ch, 0 shakardara.com, 1 shakebeforeuse.tk, 1 shaken-kyoto.jp, 1 -shakepay.com, 1 shakerheightsoh.gov, 1 shakerventures.com, 1 shakerwebdesign.net, 1 @@ -125568,7 +125615,6 @@ shamimahmed.tk, 1 shamimmedia.ir, 1 shamiphotos.tk, 1 shamokit.com, 1 -shampoo63.ru, 0 shan.io, 0 shan.sg, 1 shan.si, 1 @@ -125608,6 +125654,7 @@ shapediver.com, 1 shapelyways.com, 1 shapers-production.fr, 1 shapesouthcarolina.gov, 1 +shapinoo.com, 1 sharaf.net, 1 sharanyamunsi.net, 1 sharanyan.com, 1 @@ -125641,7 +125688,6 @@ shareoffice.ch, 1 sharepointcass.com, 1 sharepointdrive.com, 1 sharerotic.com, 1 -sharery.net, 1 sharescope.co.uk, 1 shareselecttools.com, 1 sharethe.link, 1 @@ -125658,7 +125704,6 @@ shariftown.tk, 1 sharik-msk.ga, 1 sharik.ml, 1 sharine.nl, 1 -sharing-kyoto.com, 1 sharingcolombia.com, 1 sharingiscaring.cc, 1 sharingphotos.co, 0 @@ -125759,6 +125804,7 @@ sheehyinfinitioftysonsparts.com, 1 sheekdeveloper.com, 1 sheekmedia.com, 1 sheelyuu.art, 1 +sheemz.art, 1 sheenveininstitutestl.com, 1 sheepfriends.com, 1 sheepproductions.com, 1 @@ -125770,6 +125816,12 @@ sheet.host, 1 sheetengine.net, 1 sheetsindonesia.com, 1 sheetstutorial.com, 1 +sheezy.art, 1 +sheezy.blog, 1 +sheezy.games, 1 +sheezy.tube, 1 +sheezy.wiki, 1 +sheezyf.art, 1 shef.com, 1 shefburgers.com, 1 sheffield-wednesday-fc.tk, 1 @@ -125788,6 +125840,7 @@ sheldoniowa.gov, 1 shelehov.tk, 1 shelf-ssp.com, 1 shelf.io, 1 +shelfieretail.com, 1 shelfordsandstaplefordscouts.org.uk, 1 shellavartanian.tk, 1 shellcon.io, 1 @@ -125873,6 +125926,7 @@ shh.sh, 1 shh7.com, 1 shhmale.com, 1 shi.ma, 1 +shiatsu-lifestyle.nl, 1 shiawasedo.co.jp, 1 shibainu.com.br, 1 shibashake.com, 1 @@ -125927,6 +125981,7 @@ shileo.de, 1 shilled.tk, 1 shillongdesign.com.au, 1 shilpaonline.tk, 1 +shilvister.net, 1 shimi.blog, 1 shimi.guru, 1 shimi.net, 1 @@ -125943,6 +125998,7 @@ shineindiarktutorial.ml, 1 shineleds.ga, 1 shinenet.cn, 1 shineon.biz, 1 +shineprodetail.nl, 1 shines.ml, 1 shinetruckleads.com, 1 shinghoi.com, 1 @@ -125970,6 +126026,7 @@ shinyoko-saisyuusyou.com, 1 shinypebble.uk, 1 shinyteethand.me, 1 shiomiya.com, 1 +shiovawn.net, 1 ship-safely.com, 1 shipaik.com, 1 shipard.com, 1 @@ -125993,6 +126050,7 @@ shipnak.com, 1 shippercenter.info, 1 shippexx.com, 1 shipping-trade.ga, 1 +shippingbo.com, 1 shippinglabel.de, 1 shippingyourworld.ca, 1 shippingyourworld.com, 1 @@ -126041,7 +126099,6 @@ shitdick.tk, 1 shitfest.net, 1 shitmybradsays.com, 1 shitnikovo.tk, 1 -shitposter.club, 1 shitposter.io, 1 shitpostingmain.com, 1 shitposts.se, 1 @@ -126057,6 +126114,7 @@ shivering-isles.com, 0 shiwa-shop.ml, 1 shiyouqkl.com, 1 shiyutech.com, 1 +shizoworld.de, 1 shk.im, 0 shk8.tk, 1 shkafi-krasnodar.tk, 1 @@ -126090,7 +126148,6 @@ shmulvad.com, 1 shnuff.co.uk, 1 sho-furtwangen.de, 1 shoarq.com, 1 -shobujtech.com, 1 shochikubai.tk, 1 shochufes.jp, 1 shock.ee, 0 @@ -126105,7 +126162,6 @@ shoelevel.com, 1 shoeline.com, 1 shoemakerywc.com, 1 shoeracks.uk, 1 -shoesandmorebdn.com, 0 shoesonline.co.il, 1 shoesoutlet.tk, 1 shoestorebiz.tk, 1 @@ -126139,17 +126195,7 @@ shop4d.com, 1 shop4im.com, 1 shopacer.co.za, 1 shopadvies.nl, 1 -shopalike.cz, 1 -shopalike.dk, 1 -shopalike.es, 1 shopalike.fi, 1 -shopalike.fr, 1 -shopalike.hu, 1 -shopalike.it, 1 -shopalike.nl, 1 -shopalike.pl, 1 -shopalike.se, 1 -shopalike.sk, 1 shopapi.cz, 1 shoparbonne.co.uk, 1 shopatkei.com, 1 @@ -126199,7 +126245,6 @@ shoponlinedeals.tk, 1 shoposal.com, 1 shoppbs.org, 1 shoppe561.com, 1 -shopperexperts.com, 1 shopperexpertss.com, 1 shoppersdepuertorico.com, 1 shoppies.tk, 1 @@ -126344,7 +126389,6 @@ shoppingsugar.ga, 1 shoppingsunflower.ga, 1 shoppingsuperhero.ga, 1 shoppingsustain.ga, 1 -shoppingthoughts.com, 1 shoppingthunder.ga, 1 shoppingtopsecret.ga, 1 shoppingtreasure.ga, 1 @@ -126363,7 +126407,6 @@ shoppyad.com, 1 shoprentone.com, 1 shopsici.com, 1 shopsmarter.com, 1 -shopstasy.com, 1 shoptec.sk, 1 shopteq.hu, 1 shopthestates.net, 1 @@ -126375,7 +126418,6 @@ shopunderwear.tk, 1 shopunilever.com, 1 shopupnorth.com, 1 shopvcs.com, 1 -shopwebhue.com, 1 shore.co.il, 1 shorebreaksecurity.com, 1 shorehamdental.ca, 1 @@ -126409,7 +126451,6 @@ shorten.ninja, 1 shorteral.gov, 1 shorti.ga, 1 shortnews.cf, 1 -shortquotesworld.com, 1 shortr.li, 1 shortshadows.band, 1 shortstackcustoms.com, 1 @@ -126419,6 +126460,7 @@ shoruihokan.com, 1 shoshin-aikido.de, 1 shoshin.technology, 1 shoshonecityid.gov, 1 +shoshovis.com, 1 shossain.tk, 1 shost.ga, 1 shota-sekkotsuin.com, 1 @@ -126453,6 +126495,7 @@ showersnet.com, 1 showf.om, 1 showfom.sb, 1 showgirls.ga, 1 +showkase.com.br, 1 showmax.com, 1 showme.co.za, 1 showme.hu, 1 @@ -126503,6 +126546,7 @@ shrt.tv, 1 shrub.ca, 1 shrug.fyi, 1 shrug.ml, 0 +shso.org.cy, 1 shssl.vip, 0 sht-vr-player.cf, 1 shtaiman.com, 1 @@ -126620,6 +126664,7 @@ sibleycounty.gov, 1 sibleycountyattorney.gov, 1 sibleyla.gov, 1 sibnerpartie.tk, 1 +sibotherm.com, 1 sibpdfl.gov, 1 sibpizza.com, 1 sibrenvasse.nl, 1 @@ -126645,7 +126690,6 @@ sicurezza24.info, 1 sicurezzalavoro24.com, 1 sicurled.com, 1 sicvisuals.com, 1 -sicz.de, 1 sid-giessen.de, 1 sid500.com, 1 sidari.tk, 1 @@ -126684,6 +126728,7 @@ sidomulyo.tk, 1 sidonge.com, 0 sidorovich.tk, 1 sidpod.ru, 1 +sidramacun.com, 1 sidsdock.org, 1 siduga.com, 1 sie.at, 1 @@ -126695,7 +126740,7 @@ siega.pl, 1 siegemund-frankfurt.de, 1 sieglercars.ch, 1 siegprod.tk, 1 -sieh.es, 1 +sieh.es, 0 sieiro.tk, 1 siel.nl, 1 sielsystems.nl, 1 @@ -126786,9 +126831,11 @@ signature365.com, 1 signaturedallas.com, 1 signatureplants.co.nz, 1 signatureplasticsurgery.net, 1 +signaturereport.org, 1 signatureresolution.com, 1 signaturerx.co.uk, 1 signcreative.de, 1 +signeen.net, 1 signere.com, 1 signetfm.com, 1 signicat.com, 0 @@ -126824,7 +126871,6 @@ sigterm.no, 1 sigterm.sh, 1 sigurnost.online, 1 sigvik.ru, 1 -sihirlielma.com, 1 siika.solutions, 1 siikaflix.tv, 1 siimustilak.edu.ee, 1 @@ -126840,10 +126886,12 @@ sikecikcomel.com, 1 sikevux.se, 1 sikkasoft.com, 1 sikkerwindows.dk, 1 +sikkim.gov.in, 1 sikkind.com, 0 siku-shop.ch, 1 siku.pro, 1 sil.box, 1 +sil.co.id, 1 sila.qa, 1 silagra.ml, 1 silalesa.ml, 1 @@ -126876,7 +126924,6 @@ silicateillusion.org, 1 silicon-north.com, 1 silicon-vision.com, 1 siliconheartlandohio.gov, 1 -siliconwafer.ltd, 1 silina.tk, 1 siliton.pl, 1 silk, 1 @@ -126885,6 +126932,7 @@ silkky.cloud, 1 silkon.net, 1 silkproducts.tk, 1 silkroad-iraq.com, 1 +sillasdegamer.es, 1 sillisalaatti.fi, 1 sillysnapz.co.uk, 1 silo.org.br, 1 @@ -127054,13 +127102,13 @@ similarfans.com, 1 simivalley.gov, 1 simivalleyelectrical.com, 1 simivalleyexteriorlighting.com, 1 -simivalleylandscapelighting.com, 1 simivalleylighting.com, 1 simivalleyoutdoorlighting.com, 1 simkin.tk, 1 simkova-reality.cz, 1 simlog.tk, 1 simmerle.com, 1 +simo.digital, 1 simocar.fr, 0 simoesgoulart.com.br, 1 simon-agozzino.fr, 1 @@ -127072,7 +127120,6 @@ simon.gr, 1 simon.lc, 1 simon3k.moe, 1 simonastallone.com, 1 -simonberard.garden, 1 simonbondo.dk, 1 simoncommunity.org.uk, 0 simoncook.org, 1 @@ -127124,9 +127171,8 @@ simple-test-to-demonstrate-the-maximum-length-of-a-domain-name.com, 1 simple-test-to-demonstrate-the-maximum-length-of-a-domain-name.eu, 1 simple-test-to-demonstrate-the-maximum-length-of-a-domain-name.international, 1 simple.com, 0 -simpleartifact.com, 1 +simpleartifact.com, 0 simpleavenue.com, 1 -simplecallgirls.com, 1 simplechoicesuper.com.au, 1 simpleclassiclife.com, 1 simpleclothing.ro, 1 @@ -127157,11 +127203,11 @@ simpleports.eu, 1 simpleports.net, 1 simpleports.org, 1 simpleprivacy.fr, 1 +simpleprivacy.ovh, 1 simpleprojects.net, 1 simplereport.gov, 1 simplerezo.com, 1 simplerses.com, 1 -simples.vet, 1 simplesellatl.com, 1 simplesend.io, 1 simpleshow.com, 1 @@ -127211,6 +127257,7 @@ simplyfranciscan.org, 1 simplyfuture.net, 1 simplygood.work, 1 simplyhelen.de, 1 +simplyirfan.com, 1 simplyjet.tk, 1 simplymaidsaz.com, 1 simplymeatsmoking.com, 1 @@ -127312,7 +127359,6 @@ singaporefreelegaladvice.com, 1 singaporetoptentravel.com, 1 singaporewebdesign.tk, 1 singapur24.tk, 1 -singasia.net, 1 singcapital.com.sg, 1 singee.me, 1 singel.ch, 1 @@ -127485,6 +127531,7 @@ sisiengineers.gq, 1 sisirbatu.tk, 1 sismit.es, 1 sisms.pl, 1 +sispropane.com, 1 sisqo.tk, 1 sisqualwfm.com, 1 sissden.eu, 1 @@ -127514,7 +127561,6 @@ sitak.fi, 1 sitanleta.de, 1 sitatravel.gr, 1 sitc.sk, 1 -sitco.global, 1 sitcopharma.com, 1 site-de-paris-en-ligne.fr, 1 site-development.tk, 1 @@ -127528,6 +127574,7 @@ site-ua.tk, 1 site.com, 1 site.mu, 1 site2002.tk, 1 +site2top.info, 1 siteadvokat.cf, 1 sitebrass.ru, 1 sitebuilderreport.com, 0 @@ -127542,6 +127589,8 @@ sitedebelezaemoda.com.br, 1 sitedynamix.co.uk, 1 siteforce.com, 1 sitehizi.com, 1 +sitehizlandir.com, 1 +siteinlight.com, 1 siteintelstage.com, 1 sitek.rocks, 1 sitekatalog.tk, 1 @@ -127660,7 +127709,6 @@ sjwheel.net, 1 sk-ii.com, 1 sk.tl, 1 sk4y.net, 1 -sk8israel.com, 1 skaala.com, 1 skaapkraalonline.co.za, 1 skachat-filmi.info, 1 @@ -127674,7 +127722,6 @@ skaginn.tv, 1 skaiman.ga, 1 skaitliukas.tk, 1 skalec.org, 1 -skalis-portage.com, 1 skalniak.pl, 1 skamper.tk, 1 skankofamerica.com, 1 @@ -127792,6 +127839,7 @@ skincare-note.com, 1 skincareagent.cf, 1 skincarequeentv.com, 1 skindb.net, 1 +skineducation.eu, 1 skinetic.eu, 1 skinews.tk, 1 skinexpert.ml, 1 @@ -127802,7 +127850,6 @@ skinmarket.co, 1 skinmedshop.ro, 1 skinmodo.com, 1 skinnation.tk, 1 -skinnybitch99.net, 1 skinport.com, 1 skinpwrd.com, 1 skinrejuvenate.com.au, 1 @@ -127818,7 +127865,6 @@ skio.com, 1 skioakenfull.com, 1 skip.re, 1 skipfault.com, 1 -skipperinnovations.com, 0 skippy.dog, 0 skipr.co, 1 skipr.ninja, 1 @@ -127845,6 +127891,7 @@ skky.net, 1 skladchinamk.ru, 1 skladmebliv.ua, 0 skladnicaksiegarska.pl, 1 +sklarlaw.com, 1 sklepbhp.online, 1 sklepsnowboardowy.pl, 1 sklepvoip.tel, 1 @@ -127855,7 +127902,6 @@ skm.dk, 1 skmedia.ga, 1 skmp.cc, 1 skmsport.com, 1 -sknasirali.com, 1 sknclinics.co.uk, 1 skoander.com, 1 skoda-im-dialog.de, 1 @@ -127890,6 +127936,7 @@ skoskav.org, 1 skotobaza.tk, 1 skotstvo.tk, 1 skovbosburgerblog.dk, 1 +skovik-sandbox.com, 1 skovik.com, 1 skpark.cf, 1 skpk.de, 1 @@ -127923,6 +127970,7 @@ skulblaka.ch, 1 skuldwyrm.no, 1 skullcrusher.tk, 1 skullowner.nl, 1 +skunk.software, 1 skunkapeservers.net, 1 skupka-zolota-dorogo.ru, 1 skutry-levne.cz, 1 @@ -127976,7 +128024,6 @@ skydivingexperiences.co.uk, 1 skydoc.uz, 1 skydragoness.com, 1 skydrive.live.com, 0 -skydronesolutions.com, 1 skye.vg, 1 skyeeverest.tk, 1 skyem.co.uk, 0 @@ -128027,7 +128074,6 @@ skynet800.goip.de, 1 skynetcloud.org, 1 skynetcloud.site, 1 skynetnetwork.eu.org, 1 -skynetstores.ae, 1 skynetz.tk, 1 skyoceanblue.com, 1 skyone.host, 1 @@ -128067,7 +128113,6 @@ skysplash.gq, 1 skysprouts.co.uk, 1 skysuite.nl, 1 skytamil.net, 1 -skytechosting.com, 1 skytel.ge, 1 skyterraathome.com, 1 skyterraembrace.com, 1 @@ -128220,7 +128265,6 @@ slimeg.clinic, 1 slimetutorial.com, 1 slimgrafix.cz, 1 slimmarkets.com, 1 -slimmingjabs.com, 1 slimopweg.be, 1 slimspots.com, 1 slimster.nl, 1 @@ -128354,9 +128398,12 @@ sm161.cn, 1 sm2016.ch, 1 sm2ct.cn, 1 sma-dev.de, 1 +sma-europe.eu, 1 sma-gift.com, 1 +sma.org.pl, 1 smackhappy.com, 0 smadav.ml, 1 +smajlovic.info, 1 smaksbanken.no, 1 smalandscountryclub.tk, 1 small-blog.cf, 1 @@ -128381,7 +128428,6 @@ smalltunepress.tk, 1 smallville.tk, 1 smallville25.tk, 1 smallwhitebear.ga, 1 -smaltimento-rifiuti.com, 1 smaltimento-rifiuti.org, 1 smaltimento.caserta.it, 1 smaltimento.milano.it, 1 @@ -128410,7 +128456,6 @@ smarpshare.com, 1 smarriti.it, 1 smart-bezpeka.com, 1 smart-broker.ru, 1 -smart-cp.jp, 1 smart-fixed.ru, 1 smart-house.bg, 1 smart-hub.io, 1 @@ -128503,11 +128548,13 @@ smartlist.ga, 0 smartloanhacks.com, 1 smartlocksmith.com, 1 smartlogiq.com, 1 +smartlogiq.info, 1 smartlogreturns.com, 0 smartlogstock.com, 0 smartlogtower.com, 1 smartlooks.es, 1 smartmachine.com, 1 +smartmail.io, 1 smartmail24.de, 1 smartme.pl, 1 smartmeal.ru, 1 @@ -128553,6 +128600,7 @@ smartshop.gr, 1 smartshoppers.es, 1 smartshousekeeper.pt, 1 smartsitio.com, 1 +smartsittich.de, 1 smartspace.ml, 1 smartspace.tk, 1 smartsparrow.com, 0 @@ -128562,7 +128610,6 @@ smartstep.pt, 1 smartsupply.global, 1 smartthursday.hu, 1 smartvalor.com, 1 -smartwank.com, 1 smartweb.ge, 1 smartwebportal.co.uk, 1 smartwoodczech.cz, 1 @@ -128575,7 +128622,7 @@ smash-gg.club, 1 smashbros-chile.tk, 1 smashbylaney.com, 1 smashcooper.tk, 1 -smashingconf.com, 1 +smashingconf.com, 0 smashingmagazine.com, 1 smashnl.tk, 1 smashno.ru, 1 @@ -128664,7 +128711,6 @@ smit.com.ua, 1 smith-solutions.com, 1 smith-tech.ga, 1 smith.bz, 1 -smithandellis.com, 1 smithandnephewpensions.co.uk, 1 smithandnoble.com, 1 smithbell.com.ph, 0 @@ -128681,7 +128727,6 @@ smithsstational-fpd.gov, 1 smithsstational.gov, 1 smithsystem.net, 1 smithteresa.tk, 1 -smithwealth.com.au, 1 smits.com, 1 smits.frl, 1 smitsdesigncenter.nl, 1 @@ -128704,11 +128749,11 @@ smmog.tk, 1 smmpaketleri.com, 1 smmpanelweb.com, 1 smmpropaganda.ru, 1 -smmworldbooster.com, 1 smnz.de, 1 +smoe.cc, 1 +smoffices.com, 1 smogdog.net, 1 smoivez.tk, 1 -smokeandmirrors.agency, 1 smokedrhymez.tk, 1 smokefree.gov, 1 smokefreeclinic.com.au, 1 @@ -128718,7 +128763,6 @@ smokeopedia.com, 1 smokeping.pl, 1 smoker.tk, 1 smokestore.bg, 1 -smoking-robot.com, 1 smokinghunks.com, 1 smokingtapes.ga, 1 smolbotbot.com, 1 @@ -128770,8 +128814,8 @@ smsinger.com, 0 smsk.email, 1 smskeywords.co.uk, 1 smskmail.com, 1 -smsprivacy.org, 1 smstec.ru, 1 +smstools.com, 1 smstoreoficial.com.br, 1 smszone.tk, 1 smtchahal.com, 1 @@ -128827,6 +128871,7 @@ snapfinance.com, 1 snapintegrations.net, 1 snapkit.com, 1 snapserv.net, 1 +snapshotreport.org, 1 snapware.tk, 1 snapworks.net, 1 snarf.in, 1 @@ -128859,7 +128904,6 @@ sneed.company, 1 sneed.it, 1 sneedit.com, 1 sneedit.de, 1 -sneeit.com, 1 snegozaderzhatel.ru, 1 snehasish-chakraborty.com, 1 snekul.net, 1 @@ -128948,7 +128992,6 @@ snowplanet.tk, 1 snowplow.forsale, 1 snowpro.tk, 1 snowprosinc.com, 1 -snowraven.de, 1 snowrippers.ro, 0 snowschool.tk, 1 snowshoedistrictwv.gov, 1 @@ -129025,13 +129068,12 @@ sochi.tatar, 1 sochionline.tk, 1 soci.ml, 1 sociaalwerknederland.nl, 1 -sociability.dk, 1 +sociability.dk, 0 social-class.ga, 1 social-directory-list.tk, 1 social-engineering.tk, 1 social-line.tk, 1 social-media-strategy.org.uk, 1 -social-net.ir, 1 social-network.tk, 1 social-work-colleges.com, 1 social-work.tk, 1 @@ -129056,6 +129098,7 @@ socialesactivo.ga, 1 socialesretro.tk, 1 socialfreak.cf, 1 socialgroups.tk, 1 +socialguard.net, 1 socialhams.net, 1 socialhax.com, 1 socialhp.com, 1 @@ -129068,6 +129111,7 @@ socializator.tk, 1 socialloots.com, 1 socialmarketingday.nl, 1 socialmatch.de, 1 +socialmaturityscore.com, 1 socialmedia-manager.gr, 1 socialmediadisruption.com, 1 socialmedias.tk, 1 @@ -129107,7 +129151,6 @@ societatis.fr, 1 societe-chablaisienne-de-revetements.com, 1 societe-chablaisienne-de-revetements.fr, 1 societedescompagnons.fr, 1 -societyawards.com, 1 societyofbur-q-ua.tk, 1 societyparty.ga, 1 socii.network, 1 @@ -129156,6 +129199,7 @@ sodigent.gent, 1 sodirace.com, 1 sodo.top, 1 sodom-metal.tk, 1 +sodreams.ru, 1 sodrujestvo.tk, 1 sodsouthernindiana.com, 1 sodusny.gov, 1 @@ -129196,9 +129240,7 @@ soft-office.tk, 1 soft-resets.com, 1 soft-search-system.tk, 1 soft.taipei, 1 -soft3arbi.com, 1 soft41.ru, 1 -soft4led.com, 1 softandbouncy.co.uk, 1 softanka.com, 1 softarabi.com, 1 @@ -129347,6 +129389,7 @@ solarium.gov, 1 solarium.milano.it, 1 solarloon.com, 1 solaronics.tk, 1 +solarpanelinstallation.co.uk, 1 solarpanelquotes.org, 1 solarpanels.tk, 1 solarplan-berlin.de, 1 @@ -129431,6 +129474,7 @@ solium.com, 1 soliver-group.com, 1 sollah.com, 1 sollahlibrary.com, 1 +sollet.live, 1 solliv.com, 1 solmek.co.uk, 1 solnascentepapelaria.com.br, 1 @@ -129476,7 +129520,7 @@ solostocks.net, 1 solostocks.pl, 1 solostocks.pt, 1 solovey.su, 0 -solovia.ru, 1 +solovia.ru, 0 solovyovalawfirm.com, 1 solsea.io, 1 solsi.ga, 1 @@ -129490,7 +129534,6 @@ solumgb.co.uk, 1 solunet.com.ar, 1 solut.ai, 1 solutek.com.au, 1 -solution24.nl, 1 solutionalbum.com, 1 solutionmotsfleches.com, 1 solutionpieces.com, 1 @@ -129560,6 +129603,7 @@ sommefeldt.com, 1 sommeil.cl, 1 sommeilsante.com, 1 sommer-reitmajer.de, 1 +sommercamp.wien, 1 sommerhusudlejning.com, 1 sommerles.no, 1 sommerplassen.no, 1 @@ -129572,10 +129616,10 @@ somosfin-app.com, 1 somosgesath.com, 1 somosgratitude.com.br, 1 somoslaarmenia.com, 1 +somospacifico.org, 1 somosweb.cf, 1 somoybuzz.com, 1 sompo-intl.com, 1 -sompo.com.br, 1 sompohorizon.com, 1 somsak.de, 1 somuchbetterwithage.com, 1 @@ -129691,6 +129735,7 @@ sons.tk, 1 sonsight.tk, 1 sonsonate.cf, 1 sonsonate.tk, 1 +sontaycamera.com, 0 sony-psvita.ru, 1 sonyazi.com, 1 soohealthy.nl, 1 @@ -129760,6 +129805,7 @@ sort.land, 1 sortandpack.com, 1 sortaweird.net, 0 sorted.org.nz, 1 +sorted.travel, 1 sorteiosdotom.com.br, 1 sortek.mk, 1 sorteonline.com.br, 1 @@ -129803,6 +129849,7 @@ sosisuka.ga, 1 sosko.in.rs, 1 soslsd.org, 0 sosmicro.tk, 1 +sosnc.gov, 1 sosnovka.ga, 1 soso.ga, 1 soso.loan, 1 @@ -129869,7 +129916,6 @@ soulmating.de, 1 soulmusic.tk, 1 soulnatura.es, 1 soulogic.com, 1 -soulpetrol.in, 1 soulpowercoaching.ga, 1 soulreapers.tk, 1 soulshare.com, 1 @@ -129958,6 +130004,7 @@ sourcexchange.net, 1 sourcing4exports.co.uk, 1 sourcitec.com, 1 souria.tk, 1 +souris-gamer.com, 1 sourlakepd.gov, 1 sourmatt.xyz, 1 sourraundweb.tk, 1 @@ -130036,9 +130083,9 @@ souvenir-fashion.com, 1 souvenirs-gifts.tk, 1 souzanabellydance.com, 1 sova-center.ru, 1 -sova.cc, 1 sova.st, 1 sova.wiki, 1 +sovasage.com, 1 sovendus.ch, 1 sovendus.com, 1 sovendus.de, 1 @@ -130081,10 +130128,10 @@ soydoula.com, 1 soydxn.com, 1 soyezonline.fr, 1 soyinstalador.cl, 1 -soyladani.com, 1 soylemeztrading.com, 1 soyou.jp, 1 soytusitio.com, 1 +soyunperro.com, 1 soyuznik.ml, 1 soyvigilante.com, 1 sozai-good.com, 1 @@ -130097,7 +130144,6 @@ sozialismus.tk, 1 sozialistische-gruppe.de, 1 sozialy.com, 1 sozlervereplikler.com, 1 -sozole.eu, 1 sozon.ca, 1 sp-az.com, 1 sp-codes.de, 1 @@ -130133,11 +130179,11 @@ spacebabies.nl, 1 spacebear.ee, 1 spacebestnews.tk, 1 spacecityweather.com, 1 -spacecorp.de, 1 spacedance.tk, 1 spacedogs.ml, 1 spacedrive.nl, 1 spacefighters.tk, 1 +spacegamesindustry.com, 1 spacehey.com, 1 spacehighway.ms, 1 spacehighways.net, 1 @@ -130178,6 +130224,7 @@ spahireleeds.co.uk, 1 spainemotions.com, 1 spaink.net, 1 spainpol.es, 1 +spainweeds.com, 1 spajk.cz, 1 spalnobelyo.com, 1 spaltron.net, 1 @@ -130186,7 +130233,6 @@ spamcage.com, 1 spamdrain.com, 1 spamedica.com.co, 1 spamhunter360.gq, 1 -spamlinks.net, 1 spammable.com, 1 spamtuning.tk, 1 spamty.eu, 1 @@ -130356,6 +130402,7 @@ speciauxquebec.com, 1 speciesism.com, 1 specificenergy.com, 1 speciosapro.com, 0 +specitec.com, 1 speckle.systems, 1 speckrot.ru, 1 specks.tk, 1 @@ -130397,6 +130444,7 @@ speeder.cf, 1 speeder.one, 1 speeders.cf, 1 speeders.ga, 1 +speedeserver.org, 1 speedexam.net, 1 speedhoundz.com, 1 speedleads.dk, 1 @@ -130436,6 +130484,7 @@ spellchecker.net, 1 spellchecksquatting.com, 1 spellic.com, 1 spelling.ml, 1 +spellmanamp.com, 0 spellslinger.space, 1 spencernc.gov, 1 spencerscherer.com, 1 @@ -130445,7 +130494,6 @@ spendd.co, 1 spenderservice.net, 1 spendesk.com, 1 spendlinq.com, 1 -spendmenot.com, 1 spendo.gq, 1 spendwise.com.au, 1 spenglerei-shop.de, 1 @@ -130476,6 +130524,7 @@ sphericalmagic.com, 1 sphericalvision.cz, 1 spholdings.us, 1 sphynx-cats.com, 1 +sphynx.cat, 1 sphynxboyz.com.au, 1 spicandspanroofrestoration.com.au, 1 spice-club.tk, 1 @@ -130494,14 +130543,12 @@ spicture.in, 1 spicydog.org, 1 spicydog.tk, 1 spicymatch.com, 1 -spicysubject.com, 1 spicywombat.com, 1 spidercrabs.tk, 1 spidergymrotterdam.tk, 1 spidermail.tk, 1 spidermanitalia.tk, 1 spidernet.tk, 1 -spideroak.com, 1 spiders.org.ua, 1 spidersweb.cf, 1 spidersweb.ga, 1 @@ -130538,11 +130585,13 @@ spillforum.no, 1 spillhosting.no, 1 spillmaker.no, 0 spilnu.dk, 1 +spiludennemid.com, 1 spin.city, 1 spinal.ga, 1 spinbetter.com, 1 spinbetter.life, 1 spinbetter.online, 1 +spinchcasino-gr.com, 1 spincity-casino.com, 1 spindelnet.dk, 1 spinderella.tk, 1 @@ -130565,6 +130614,7 @@ spintracer.de, 1 spireat.it, 1 spirella-shop.ch, 1 spirent.com, 1 +spirerecoverysolutions.com, 1 spirit-hunters-germany.de, 1 spirit55555.dk, 1 spiritbionic.ro, 1 @@ -130573,6 +130623,7 @@ spiritedengineers.tk, 1 spiritinthesky.com, 1 spiritous.cf, 1 spiritscorp.ddns.net, 1 +spiritshell.ca, 1 spiritual.codes, 0 spiritualites.ch, 0 spiritualityrise.com, 1 @@ -130608,7 +130659,6 @@ splimtechco.tk, 1 splintercake.tk, 1 splinterface.io, 1 splintermail.com, 1 -splinternews.com, 1 split-taxiboat.com, 1 split.rent, 1 splitdna.com, 1 @@ -130618,6 +130668,7 @@ splnk.net, 1 sploch.com, 1 splorge.cloud, 0 splorge.website, 1 +splosh.nl, 1 splunk.net, 1 splytech.io, 1 spm-servis.tk, 1 @@ -130625,6 +130676,7 @@ spmax.design, 1 spmf.org.sg, 1 spmfijnmechanica.nl, 1 spmttest.azurewebsites.net, 1 +spn-it.de, 1 spnitalianfestival.com, 1 spnsv.com, 1 spocool.com, 1 @@ -130650,11 +130702,13 @@ spoorcam.nl, 1 sporadesnews.gr, 1 sporenvanslavernijutrecht.nl, 1 sporeprinters.com, 1 +sporicidluhopisycr.cz, 1 sporki.fun, 1 sporq.de, 1 sporstball.com, 1 sport-attitude.com, 1 sport-in-sundern.de, 1 +sport-jatszoter.hu, 1 sport-news.ml, 1 sport-news24hs.tk, 1 sport-obzor.tk, 1 @@ -130711,7 +130765,6 @@ sportovnivozy.cz, 1 sportparks.com, 1 sportparks.org, 1 sportpiacenza.it, 1 -sportplaatje.nl, 0 sportposch.com, 1 sportprint.hr, 1 sportraucher.tk, 1 @@ -130728,6 +130781,7 @@ sportscanada.tk, 1 sportsdans.tk, 1 sportsdeck.tk, 1 sportsdestinations.com, 1 +sportservice.bz, 1 sportskibat.tk, 1 sportsmagy.com, 1 sportsmania.tk, 1 @@ -130766,7 +130820,6 @@ spotme.fit, 1 spotmefit.com, 1 spotonlive.dk, 1 spotpetins.com, 1 -spotpetinsurance.ca, 1 spotsee.io, 0 spotsolutions.com, 1 spotswoodvet.com, 1 @@ -130827,6 +130880,7 @@ spribegaming.com, 1 spricknet.de, 1 sprietlopen.tk, 1 sprillerer.tk, 1 +spring96.org, 1 springbaystudio.com, 1 springbreak.it, 1 springdalewi.gov, 1 @@ -130957,6 +131011,7 @@ squaredtechnologies.com, 1 squareeye.com, 1 squarefootllcconstruction.com, 0 squareforums.com, 1 +squaregaming.org, 1 squaregift.com, 1 squaregift.net, 1 squaregift.org, 1 @@ -130984,7 +131039,7 @@ squealing-filth.tk, 1 squeezemetrics.com, 1 squelcher.cf, 1 squibby.ml, 1 -squid-board.org, 0 +squid-board.org, 1 squid.gay, 1 squidnovels.tk, 1 squido.ch, 1 @@ -131016,7 +131071,6 @@ srcbolt.com, 1 srchicmodas.com.br, 1 srchub.org, 1 srcpa.gov, 1 -srd.re.kr, 0 srdmarketingservice.com, 1 sreb.loan, 1 srebro.cc, 1 @@ -131210,7 +131264,6 @@ sst.ru, 1 sstaging.com, 1 sstestingservice.com, 1 ssu.moe, 1 -ssuc.net, 1 ssuiteoffice.com, 1 ssuitesoft.com, 1 st-damase.qc.ca, 1 @@ -131238,7 +131291,6 @@ stableflect.finance, 1 stablelib.com, 1 stablina.tk, 1 stacabinetdepot.com, 1 -stacisezeptat.cz, 1 stackery.io, 1 stackhub.cc, 1 stacklasvegas.com, 1 @@ -131314,6 +131366,7 @@ staffordpk.tk, 1 staffsante.fr, 1 staffsocial.fr, 1 stage-bluejeans.com, 1 +stage-catalyst.works, 1 stage-gate.la, 1 stage-metrobible.org, 1 stage-privacyportal-ui.azurewebsites.net, 1 @@ -131332,9 +131385,11 @@ stage-recuperation-points-strasbourg.com, 1 stage-recuperation-points-toulouse.com, 1 stage.wepay.com, 1 stage4.ch, 1 +stagebtp.com, 1 stageirites.com, 1 stageirites.fr, 1 stageirites.org, 1 +stagemaster.cz, 1 stagend.com, 1 stagespediatrics.com, 1 stagewalker.no, 1 @@ -131456,6 +131511,7 @@ stanfordny.gov, 1 stang.moe, 1 stangeland.tk, 1 stanglwirt.com, 1 +stanicezoo.cz, 1 stanin.net, 1 stanislav-lysenko.lawyer, 1 stankingma.com, 1 @@ -131486,11 +131542,11 @@ star-one.co.uk, 1 star.my.id, 1 star.watch, 1 starase.com, 0 +starazagora.bg, 1 starb.in, 1 starbaese.de, 1 starbase01.com, 1 starboardmarketing.io, 1 -starbreaker.org, 1 starbt.ro, 1 starbucks.vn, 1 starbusiness.ml, 1 @@ -131562,7 +131618,6 @@ staroch.name, 1 starorusing.com, 0 starover.tk, 1 starpeak.org, 1 -starphonefix.com, 0 starpoles.com, 1 starprime.ch, 1 starprime.de, 1 @@ -131585,6 +131640,7 @@ starsguru.com, 1 starship.xyz, 1 starsing.bid, 1 starskim.cn, 1 +starslipcover.com, 1 starsoft.io, 1 starspie.com, 1 start-knighki.gq, 1 @@ -131641,7 +131697,6 @@ startupisland.tw, 1 startupislandtaiwan.com, 1 startupislandtaiwan.net, 1 startupislandtaiwan.org, 1 -startupopinions.com, 1 startupstack.cloud, 1 startupstack.llc, 1 startupstack.net, 1 @@ -131741,7 +131796,6 @@ statusmantra.tk, 1 statuswatch.io, 1 statxperts.com, 1 stauffer-media.net, 1 -stavanger.kommune.no, 1 stavgp2.ru, 1 stavinchains.tk, 1 stavnager.net, 1 @@ -131756,12 +131810,12 @@ staycurrent.nl, 1 staydryohio.com, 1 stayglam.com, 1 staygold.blog, 1 -staygoldenphotobooth.com, 1 stayinbusiness.nl, 1 staylovely.tk, 1 stayme.cz, 1 stayokay.com, 1 stazi.tk, 1 +stb-buegel.de, 1 stb-schefczyk.com, 1 stb-schefczyk.de, 1 stb-schefczyk.info, 1 @@ -131801,6 +131855,7 @@ stdev.top, 1 stdnet.ru, 1 stdssr.com, 1 ste2.de, 1 +stea-web.com, 1 steacy.tech, 1 steak-kojiro.com, 1 steakovercooked.com, 1 @@ -131856,7 +131911,7 @@ steelecountynd.gov, 1 steelephys.com.au, 1 steelfencestlouis.com, 1 steelfirm.ga, 1 -steelframejourney.com, 1 +steelframejourney.com, 0 steelfxpatinas.com, 1 steelhouse.com, 1 steelmounta.in, 1 @@ -131880,11 +131935,13 @@ steevels.nl, 1 stefaanoyen.be, 1 stefamedia.com, 1 stefan-bayer.eu, 1 +stefan-henning.de, 1 stefan-karstens.de, 1 stefan-rothe.ch, 1 stefan-schlueter.de, 1 stefan-schmid.com, 1 stefan.de, 1 +stefan.network, 1 stefanbayer.de, 1 stefandesign.tk, 1 stefanfriedli.ch, 1 @@ -131979,6 +132036,7 @@ stemcellsscotland.co.uk, 1 stemderbomen.tk, 1 stemgirls.co.za, 1 stemklank.tk, 1 +stemlabadvanced.pt, 1 stemmayhem.com, 1 stemoplinks.nl, 1 sten.photography, 1 @@ -132060,7 +132118,6 @@ sterilium.tk, 1 sterling.com, 1 sterlingheights.gov, 1 sterlinginsurance.com.au, 0 -sterlingtechnotrade.com, 1 sterlinx.de, 1 stern-freunde.de, 1 stern.koeln, 1 @@ -132072,6 +132129,7 @@ sterno.cf, 1 sternplastic.com, 1 sternsinus.com, 1 sternstrailer.com, 1 +steroide-legal.fr, 1 steroids.ga, 1 steroidswiki.com, 1 sterr.in, 1 @@ -132225,7 +132283,6 @@ stikic.me, 1 stikkie.me, 1 stikkyikkys.com, 1 stikonas.eu, 0 -stila.no, 1 stileapp.com, 1 stilecop.com, 1 stilettobg.com, 1 @@ -132260,6 +132317,7 @@ stinkmemes.com, 1 stinter.cf, 1 stintup.com, 0 stiphosting.nl, 1 +stipic-webit.de, 1 stirblaut.de, 1 stirling.co, 1 stirlingpoon.com, 1 @@ -132267,7 +132325,6 @@ stirringphoto.com, 1 stisidores.org, 1 stitch.money, 1 stitchersvillage.com, 1 -stitchfiddle.com, 1 stitchlabs.com, 1 stivesbouncycastlehire.co.uk, 1 stjh.org.sg, 1 @@ -132290,7 +132347,6 @@ stjosephtownship.com, 1 stjscatholicchurch.org, 1 stjude-ettekkar.tk, 1 stjustin.org, 1 -stkc.win, 1 stkeverneparishcouncil.org.uk, 1 stkevin-stbenedict.org, 1 stkildaosteopathy.com.au, 1 @@ -132309,6 +132365,7 @@ stlouisparkmn.gov, 1 stlouisstabilizing.com, 1 stlpassports.com, 1 stlpoolattendants.com, 1 +stlseo.com, 1 stlu.de, 1 stlucieclerk.gov, 1 stluciesheriff.gov, 1 @@ -132382,15 +132439,14 @@ stoddardcountyclerk.gov, 1 stodieck.com, 1 stodlinjen.se, 1 stoeckel.info, 0 -stoeckl-schmaus.com, 1 stoemp.gent, 1 stoffelnet.de, 1 stoffhandwerk.tk, 1 +stoffkontor-wennigsen.de, 1 stohrm.com, 1 stoianlawfirm.com, 1 stoicatedy.ovh, 1 stoicnotaries.com, 1 -stoicsimple.com, 1 stoicus.com.br, 1 stoinov.com, 1 stoiximatikesetairies.tv, 1 @@ -132444,6 +132500,7 @@ stonemain.eu, 1 stonemanbrasil.com.br, 1 stoneocean.net, 1 stoneproperty.ie, 1 +stoneriverhardwoods.com, 1 stonerwitch.tk, 1 stonesfamilyrestaurant.com, 1 stonesgarden.pl, 1 @@ -132454,6 +132511,8 @@ stonewuu.com, 1 stoneydsp.com, 1 stoningtonboroughct.gov, 1 stonkslab.com, 1 +stonnaltd.com, 1 +stonnastructures.co.uk, 1 stonsil.com, 1 stonystratford.org, 1 stoom-stichting.nl, 1 @@ -132515,7 +132574,6 @@ stor-guard.com, 1 stora.mn, 1 storage-base.de, 1 storage-books.gq, 1 -storage-in-motion.com, 1 storageideas.uk, 1 storageioblog.com, 1 storagenewsletter.com, 1 @@ -132566,6 +132624,7 @@ storipress.pro, 1 storistalker.com, 1 storj.io, 1 storjar.com, 1 +storkurinn.is, 1 storm-news.tk, 1 stormairsoft.tk, 1 storman.com, 1 @@ -132616,7 +132675,6 @@ stp-ip.net, 1 stp.dev, 1 stpatrick.tk, 1 stpatrickathenscatskill.org, 1 -stpatrickbayshore.org, 1 stpatrickkennettsquare.org, 1 stpatrickri.org, 1 stpatricks-pelham.com, 1 @@ -132694,6 +132752,7 @@ strashtrading.com, 1 strass-sur-mesure.fr, 1 strassberger.tk, 1 strasweb.fr, 1 +stratagemlabs.tech, 1 stratahealth.com, 1 strategery.io, 1 strategia.tk, 1 @@ -132911,9 +132970,7 @@ strongrandom.com, 0 strongroom.ai, 1 strongsalpinesucculents.com, 1 strongtomorrow.tk, 1 -strongtoto.com, 1 strongtowerpc.com, 1 -strony365.pl, 1 stroomacties.nl, 1 strooming.nl, 0 stroopwafel.ch, 1 @@ -132991,6 +133048,7 @@ studboo.com, 1 student.andover.edu, 1 student.faith, 1 studentaid.gov, 1 +studentclearinghouse.net, 1 studentenmobiliteit.be, 1 studentenplaza.tk, 1 studentenwerk.sh, 1 @@ -133115,7 +133173,6 @@ studyhacker.jp, 1 studyhacker.net, 1 studyhub.cf, 1 studyin.jp, 1 -studyinaustraliafair.africa, 1 studying-neet.com, 1 studylink.com, 1 studylish.com, 1 @@ -133147,7 +133204,6 @@ stumpblog.com, 1 stundenplan-editor.de, 1 stunnel.org, 1 stunner.watch, 1 -stunning-dresses.com, 1 stunningautos.com, 1 stunningbikecotours.com, 1 stunninggdansk.com, 1 @@ -133218,6 +133274,7 @@ stylerecap.com, 1 stylesaag.com, 1 stylesinmotion.co, 1 stylesound.tk, 1 +stylesters.tk, 1 styletheweb.cf, 1 styletron.org, 1 stylett.ru, 1 @@ -133364,7 +133421,6 @@ sudak-turizm.tk, 1 sudametrica.tk, 1 sudanell.tk, 1 sudanindependent.com, 1 -sudanindependent.net, 1 sudaraka.org, 0 suddenlysavvy.com, 1 sudeleycastle.co.uk, 1 @@ -133480,6 +133536,7 @@ suleri.tk, 1 sulfegate.org, 1 sulkmen.tk, 1 sullinssudspressurewashing.com, 1 +sullivancontractingct.com, 1 sullivancountypa.gov, 1 sulman4paf.tk, 1 sulphurspringsar.gov, 1 @@ -133493,7 +133550,7 @@ sumanai.gq, 1 sumanai.tk, 1 sumantv.com, 1 sumaque.com, 1 -sumatogroup.com, 1 +sumatogroup.com, 0 sumatphoto.com, 1 sumatrabarat.cf, 1 sumatrabarat.ga, 1 @@ -133558,6 +133615,7 @@ summitseodesign.com, 1 sumner-jc-wi.gov, 1 sumochki.tk, 1 sumppumpchicagoil.com, 1 +sumppumpwizards.com, 1 sumpters.co.nz, 1 sumran.in, 1 sumtercountysc.gov, 1 @@ -133585,6 +133643,7 @@ sunbirdgrove.com, 1 sunbit.com, 1 sunblind.tk, 1 sunbnice.com, 1 +sunbrero.com.au, 1 sunburstdata.com, 1 sunby.jp, 1 sunby.org, 1 @@ -133665,7 +133724,6 @@ sunnyssingh.tk, 1 sunnyx3m.com, 1 sunokuran.tk, 1 sunpax.ga, 1 -sunpediatrics.com, 1 sunpig.com.my, 1 sunpig.com.sg, 1 sunpig.my, 1 @@ -133688,6 +133746,7 @@ sunsdesign.net, 1 sunsetfire.de, 1 sunsetmusic.tk, 1 sunsetnelson.com, 1 +sunsetplumbingutah.com, 1 sunsetservicecentre.ca, 1 sunsetweb.fr, 1 sunsetwx.com, 1 @@ -133698,13 +133757,11 @@ sunshinelife.tk, 1 sunshineoilstop.com, 1 sunshinerequest.com, 1 sunshinesf.org, 1 -sunshinesramblings.com, 1 sunskyview.com, 1 sunsong.org, 1 sunsparksolar.co.uk, 1 sunsquare.cz, 1 sunstar.bg, 1 -sunstaroptical.com, 1 sunstyl.fr, 1 sunsumba.com, 1 sunsun-jewelry.com, 1 @@ -133718,6 +133775,7 @@ sunsunjewelry.net, 1 sunsunjewelry.org, 1 sunticschool.org, 1 sunvillas.vn, 1 +sunwahpanama.com, 1 sunwayxfarms.com, 1 sunwei-proxy.tk, 1 sunwolf.studio, 1 @@ -133800,9 +133858,11 @@ supercontent.ml, 1 supercontent.tk, 1 supercorp.cf, 1 supercours.net, 1 +supercross-stuttgart.de, 1 superdaddy.club, 1 superdeals.cf, 1 superdevtools.com, 1 +superdnax.com, 1 superdolly.cf, 1 superdolly.ga, 1 superdolly.gq, 1 @@ -133823,7 +133883,6 @@ superfluous.tk, 1 superfly.tk, 1 superfoodsexplained.com, 1 superfury.tk, 1 -supergmtransport.com.au, 1 supergood.ga, 1 supergoods.tk, 1 supergrandmasternetwork.com, 1 @@ -133937,7 +133996,6 @@ supplement.cf, 1 supplementaanbiedingen.nl, 1 supplementalconditions.com, 1 supplementpolice.tk, 1 -supplements101.net, 1 supplementwarehouseonline.com, 1 supplhi.com, 1 supplierlinkup.com, 1 @@ -134040,6 +134098,7 @@ surpreem.com, 1 surprisepubliclibrary.gov, 1 surpriz-net.tk, 1 surrealdb.com, 1 +surrealista.click, 1 surrealistas.tk, 1 surreycyclingclub.co.uk, 1 surreyheathyc.org.uk, 0 @@ -134084,6 +134143,7 @@ susdomicilios.co, 1 suse.com, 1 suseki.ga, 1 sushi-sakura.tk, 1 +sushi-tabetai.ddns.net, 1 sushi.roma.it, 1 sushibesteld.nl, 1 sushifrick.de, 1 @@ -134105,7 +134165,6 @@ sussmanshank.com, 1 sustain.software, 1 sustainability.gov, 1 sustainabilityknowledgegroup.com, 1 -sustainabilitysmartips.com, 1 sustainabilitysociety.hk, 1 sustainableweb.dk, 1 sustainalists.com, 1 @@ -134140,6 +134199,7 @@ suurhelsinki.cf, 1 suuria.de, 1 suutaripaivat.fi, 1 suv4.net, 1 +suvacollections.com.br, 1 suvalor.com, 1 suvari.com.tr, 1 suvidhaapay.com, 1 @@ -134293,7 +134353,6 @@ svse.global, 1 svseglobal.com, 1 svsewerut.gov, 1 svswebmarketing.com, 1 -svtemplemn.org, 1 svtl.ch, 1 svtr.de, 1 svtv.org, 1 @@ -134335,6 +134394,7 @@ swapfiets.de, 1 swapfiets.nl, 1 swapfin.com, 1 swappa.com, 1 +swappie.com, 1 swapspace.co, 1 swarfarm.com, 1 swargvibha.tk, 1 @@ -134362,6 +134422,7 @@ swecha.org, 1 swedbank.com, 1 swedbank.se, 1 swederica.tk, 1 +swedews.de, 1 swedish-saints.tk, 1 swedish.so, 1 swedishforces.tk, 1 @@ -134397,13 +134458,11 @@ sweetparis.cf, 1 sweetpinkpussy.org, 1 sweetpummelfee.com, 1 sweets-mimatsu.com, 1 -sweetsandlifestyle.com, 1 sweetsideofsweden.com, 1 sweetsinner.com, 1 sweetspot.co.kr, 1 -sweetsugarcakes.com, 1 +sweetstay.club, 1 sweetsusinrw.org, 1 -sweettreatscookiedough.com, 1 sweetvanilla.jp, 1 sweetwatercountywy.gov, 1 sweetwatertn.gov, 1 @@ -134439,6 +134498,7 @@ swiftink.com, 1 swiftirc.net, 1 swiftmod.net, 1 swiftmodcdn.net, 1 +swiftmodders.com, 1 swiftopal.com, 1 swiftoutput.com, 1 swiftpak.co.uk, 1 @@ -134492,6 +134552,7 @@ swissbearfoodservices.com, 1 swissbit.com, 1 swissborg.com, 1 swisscannabis.club, 1 +swisscanto.com, 1 swisschat.tk, 1 swissdomaintrustee.ch, 1 swissentreprises.ch, 1 @@ -134572,6 +134633,7 @@ sx6729.com, 1 sx8.ovh, 1 sxilm.com, 1 sxistolithos.gr, 1 +sxls.com, 1 sxmd99.com, 1 sy-anduril.de, 1 sy24.ru, 1 @@ -134580,10 +134642,10 @@ syakeapps.net, 1 syakonavi.com, 1 sybersense.com, 1 syc-rotterdam.tk, 1 -sycamorememphis.org, 1 sycca.com, 1 sychov.pro, 1 sycorr.com, 1 +syd.catholic.edu.au, 1 sydcatholicschools.nsw.edu.au, 1 sydgrabber.tk, 1 sydmoen.com, 1 @@ -134597,6 +134659,7 @@ sydneyshisha.com.au, 1 sydneysteinger.com, 1 sydneyvangelder.com, 0 sydneyvapeshub.com, 1 +sydnik.com, 1 syds.xyz, 1 syedmuhdadasgardezi.tk, 1 syenar.net, 1 @@ -134639,7 +134702,6 @@ symeonchen.com, 1 symetrix.tk, 1 symetryk.tk, 1 symflower.com, 1 -symfoninews.com, 1 symfora-meander.nl, 1 syminsight.tk, 1 symlink.io, 1 @@ -134738,6 +134800,9 @@ syquel-systems.de, 1 syr.gov, 1 syracuseut.gov, 1 syrea.com, 1 +syret.at, 1 +syret.ch, 1 +syret.de, 1 syrianair.cf, 1 syrianair.ga, 1 syrianair.ml, 1 @@ -134797,6 +134862,10 @@ system-m.de, 0 system.is, 1 system.md, 1 system4travel.com, 1 +system4u.com, 1 +system4u.cz, 1 +system4u.eu, 1 +system4u.sk, 1 systemart.pro, 1 systematic-momo.com, 1 systematic-momo.dk, 1 @@ -134874,7 +134943,6 @@ szilagyicsalad.ddns.net, 1 szili.uk, 1 sziluett.xyz, 1 szimpla.hu, 1 -szinezdmagad.hu, 1 szkkss.com, 0 szklarnia.pro, 1 szkolajazdykaleta.pl, 1 @@ -134886,6 +134954,7 @@ szotkowski.fun, 1 szotkowski.info, 1 szotkowski.online, 1 szotkowski.tech, 1 +szpalskimd.com, 1 szpet.jp, 1 szpf.tf, 1 szpro.ru, 1 @@ -135033,6 +135102,8 @@ tabacundolindo.tk, 1 tabadotupi.tk, 1 tabakerka.tk, 1 tabarnak.ga, 1 +tabbo.io, 1 +tabbo.xyz, 1 tabby.cz, 1 tabclassics.tk, 1 tabe.cn, 1 @@ -135078,7 +135149,6 @@ taborsky.cz, 1 tabpanelwidget.com, 1 tabrizbiology.tk, 1 tabserectilecheap.com, 1 -tabtap.shop, 1 tabu-bodywear.ch, 1 tabular.tools, 1 tabulartools.com, 1 @@ -135092,12 +135162,12 @@ tachtien.nl, 1 tachyonapp.com, 1 taciso.com, 1 tackleundies.com, 1 +tackleyourfeelings.com, 0 tackn.jp, 1 tacoma-dui-attorneys.com, 1 tacomaautomobile.tk, 1 tacomaclassifieds.net, 1 tacomaescorts.net, 1 -tacomarugby.com, 1 tacomarugby.org, 1 tacotown.tk, 1 tactful.ai, 0 @@ -135135,7 +135205,6 @@ taftok.gov, 1 tafttx.gov, 1 tafusu-support.com, 1 tag-insights.com, 1 -tag-verse.com, 1 tagabrand.co.uk, 1 tagalliances.com, 1 tagalog.com, 1 @@ -135180,7 +135249,6 @@ tahlilsonuclari.site, 1 tahnee.tk, 1 tahosa.co, 0 tahribat.tk, 1 -tahrirbazar.com, 1 tahugocilebut.com, 1 tahvienovin.ir, 1 tahynatozzi.tk, 1 @@ -135188,6 +135256,7 @@ taiaro.tk, 1 taibachicken.com, 1 taichi-jade.com, 1 taidu.news, 1 +taie-oreiller-satin.fr, 1 taieki.nl, 1 taifun-software.de, 1 taiga-aikidojo.tk, 1 @@ -135229,6 +135298,7 @@ taiwantechtrek.tk, 1 taiwantour.info, 0 taizegroep.nl, 1 taj-portal.tk, 1 +tajabzar.ir, 1 tajbrighton.tk, 1 tajemno.net, 1 tajilamagazine.com.br, 1 @@ -135300,7 +135370,6 @@ takuhai12.com, 1 takumi-s.net, 1 takumikougyou.co.jp, 1 takuro.us, 1 -takusan.ru, 1 takuse.cf, 1 takysoft.tk, 1 talado.gr, 0 @@ -135544,6 +135613,7 @@ tannextcloud.cf, 1 tanningroom.co.uk, 1 tannlegenityrkia.no, 1 tanomimaster.com, 1 +tanorder.com, 1 tanovar.com, 1 tanpaoperasi.com, 1 tanphu.tk, 1 @@ -135586,7 +135656,6 @@ taotic.eu, 1 taowa.ca, 1 taoyingchang.tk, 1 tap.az, 1 -tap.bio, 1 tapbutdao.com, 1 tapchiphaidep.info, 1 tapcloud.com, 1 @@ -135594,6 +135663,7 @@ tapestries.tk, 1 tapestryjournal.com, 1 tapesvip.xyz, 1 tapetenresonanz.de, 1 +tapis-souris-gamer.fr, 1 taplemon.at, 1 taplemon.com, 1 tapmat.com, 1 @@ -135604,7 +135674,6 @@ tappezziere.roma.it, 1 tapquad.com, 1 taprix.org, 1 tapsnapp.co, 1 -taqamorocco.ma, 1 taquilla.com, 1 taqun.club, 1 tara.ru, 1 @@ -135625,8 +135694,6 @@ taravancil.com, 0 tarbsong.ml, 1 tarcode.ru, 1 tardics.com, 1 -tardics.eu, 1 -tardics.net, 1 tardis.cloud, 1 tardis.io, 1 tardishomelab.com, 1 @@ -135655,7 +135722,6 @@ tarihvakti.com, 1 tarija.tk, 1 tarik.io, 1 tarikigaru.ga, 1 -tarimaferial.com, 1 tarimkredi.net, 1 tarjaturunen.tk, 1 tarjetasgraficas.tk, 1 @@ -135708,6 +135774,7 @@ tascuro.com, 1 tasefiling.gov, 1 tashicell.com, 1 tasintrip.com, 1 +tasirrigation.com.au, 1 taskforce.eu, 1 taskhorizon.audio, 1 taskin.me, 1 @@ -135790,11 +135857,13 @@ taubin.cc, 1 tauedu.org, 1 taufers.info, 1 tauntongolf.co.uk, 1 +tauntonme.org.uk, 1 tauntonpdma.gov, 1 taunusstein.net, 1 taura.vn, 1 tauran.net, 1 tauriscia.tk, 1 +taurus-exports.com, 1 taurus.edu.pl, 1 taurusgaming.com, 1 tava.tk, 1 @@ -135826,7 +135895,6 @@ tavoseimai.lt, 1 tavsiyeforumu.com, 1 tavsys.net, 1 tavukdiyari.net, 1 -tawzea.com, 1 tax-brain.net, 1 tax-guard.com, 1 taxandor.com, 1 @@ -135858,6 +135926,7 @@ taxibiz.ga, 1 taxicollectif.ch, 0 taxid-k.be, 1 taxikraken.tk, 1 +taxilicitaciones.es, 1 taxiloerrach.de, 1 taximinvody.ml, 1 taximovies.gq, 1 @@ -135958,6 +136027,7 @@ tbwa.com.au, 0 tbyi.gov, 1 tbys.us, 1 tbz-pariv.de, 1 +tc-buil-chintai.com, 1 tc-solutions.be, 1 tc-tsc.com, 1 tc.nz, 1 @@ -136000,14 +136070,14 @@ tcholet.com, 1 tchoukball.ch, 0 tchouktchouk-baroum.fr, 1 tci-style.pl, 1 -tci-thaijo.org, 0 +tci-thaijo.org, 1 tci-thailand.org, 1 tciit.pl, 1 tcit.fr, 0 tcj.ir, 1 tcl.sh, 1 tcmk-tomsk.ru, 1 -tcmskarate.fr, 1 +tcmskarate.fr, 0 tcnapplications.com, 1 tco.zapto.org, 1 tcoa.tk, 1 @@ -136024,7 +136094,6 @@ tcvanbuuren.tk, 1 tcvonline.vic.gov.au, 1 tcvw.org, 1 tcwis.com, 1 -tcwsites.com.br, 1 tcybert.com, 1 tcyoung.co.uk, 1 td-bambini.com, 1 @@ -136126,6 +136195,7 @@ team.house, 0 team005helpdesk.ddns.net, 1 team3.au, 1 team3482.com, 1 +team5943.org, 1 team7-home.com, 1 team957.co.uk, 1 teamarasensas.tk, 1 @@ -136176,6 +136246,7 @@ teamninjaapp.com, 1 teamnissannorthparts.com, 1 teamnutrition.fr, 1 teamos.tk, 1 +teamothy.com, 1 teampaddymurphy.ch, 1 teampaddymurphy.ie, 1 teampages.com, 1 @@ -136243,6 +136314,7 @@ teamshirts.no, 1 teamshirts.se, 1 teamsignia.com, 1 teamsomeday.tk, 1 +teamsportsoftware.com, 1 teamsudan.cf, 1 teamtheory.io, 1 teamtirith.com, 1 @@ -136320,6 +136392,7 @@ tech-post.net, 1 tech-professor.ir, 1 tech-rat.com, 1 tech-seminar.jp, 1 +tech-seo-summit.com, 1 tech-story.net, 1 tech-urdu.tk, 1 tech-value.eu, 1 @@ -136341,15 +136414,11 @@ techarea.fr, 1 techarkansas.tk, 1 techask.it, 1 techassist.io, 0 -techatt.com, 1 techava.ru, 1 techbelife.com, 1 -techbizidea.com, 1 techblue.co.uk, 1 -techbmc.com, 1 techbrawl.org, 1 techbuz.net, 1 -techbuzzonly.com, 1 techcavern.ml, 1 techcentral.ml, 1 techcenturion.com, 1 @@ -136419,7 +136488,6 @@ techitsol.tk, 1 techiwant.com, 1 techjobplaybook.nyc, 1 techjobs.be, 1 -techkalture.com, 1 techkeep.tk, 1 techkentucky.tk, 1 techkilla.tk, 1 @@ -136433,6 +136501,7 @@ techlovers.com, 1 techlr.de, 1 techmagazine.tk, 1 techmagick.com, 1 +techmahindrafoundation.org, 0 techmaish.com, 1 techmammal.de, 1 techmanstan.com, 1 @@ -136467,6 +136536,7 @@ technician.academy, 1 technick.net, 1 technicodelabels.com, 1 technicus.nl, 1 +technicv.com, 1 technikoma.com, 1 technikoma.eu, 1 technikoma.net, 1 @@ -136551,7 +136621,6 @@ technowiz.tk, 1 technoyl.com, 1 techonline.com, 1 techorbiter.com, 1 -techorganism.com, 1 techpartes.com.br, 1 techpedia.it, 1 techpeer.al, 1 @@ -136645,6 +136714,7 @@ teckgeekz.com, 1 tecknobox.fr, 1 tecknologg.website, 1 teckprojects.com, 1 +teckro.com, 1 tecmarkdig.com, 1 tecmestre.com.br, 1 tecne.ws, 1 @@ -136697,7 +136767,6 @@ tecsar.org, 1 tecscipro.de, 1 tectas.co.jp, 1 tecumsehmi.gov, 1 -tecwolf.com.br, 1 tecyt.com, 1 teczero.co.uk, 1 ted.do, 0 @@ -136812,6 +136881,7 @@ tekdt.com, 1 tekila.cf, 1 tekila.ga, 1 tekila.tk, 1 +tekinfo.co.id, 1 tekingb.com, 0 tekirdagemlak.tk, 1 tekiro.com, 1 @@ -136903,9 +136973,9 @@ telegra.ph, 1 telegram-gp.ml, 1 telegram.org, 1 telegram.poker, 1 +telegramdb.org, 1 telegramlearn.tk, 1 telegramseen.com, 1 -telehealthsuite.com, 1 telehealthventures.com, 0 telekollektiv.org, 1 telekomiker.tk, 1 @@ -136931,7 +137001,6 @@ teleport.com.br, 1 teleport.sh, 1 teleport.video, 1 teleportart.gq, 1 -teleportpink.com, 1 teleportweb.com.br, 1 teleradio.ga, 1 teleradio.tk, 1 @@ -136955,7 +137024,6 @@ televentabelcorp.com, 1 televisioncontests.ga, 1 televisionesendirecto.tk, 1 televisionsrit.tk, 1 -televizeseznam.cz, 1 televotia.ch, 1 telework.gov, 1 teleworkouts.com, 1 @@ -137008,7 +137076,6 @@ temirgaliev.tk, 1 temizlik.ml, 1 temizmama.com, 1 teml.in, 1 -temmyzplace.com, 1 temnacepel.cz, 1 temnikova.tk, 1 temoclub.com, 1 @@ -137017,7 +137084,6 @@ temogroup.com, 1 temogroup.org, 1 temogroupe.com, 1 temoinfidele.fr, 1 -temoinfo.com, 1 temonews.com, 1 temonews.org, 1 temp-lars.army, 1 @@ -137048,7 +137114,6 @@ temporada.icu, 1 temporada.tk, 1 temporal.tk, 1 temporalmotivation.com, 1 -temporaris.com, 1 temporaryair.com, 1 temporaryfencehire.net.au, 1 temporarysanity.tk, 1 @@ -137137,6 +137202,7 @@ tenthousandcoffees.com, 1 tentoo.nl, 0 tentq.com, 1 tentries.com, 1 +tenue-traditionnelle.fr, 1 tenutachianchizza.it, 0 tenyx.de, 1 tenzer.dk, 1 @@ -137184,6 +137250,7 @@ teran.me, 1 teran.pw, 1 teran.ru, 1 teranacreative.com, 1 +terapeutbooking.dk, 1 terapeuticaenalza.es, 1 terapiaradial.tk, 1 terapower.com.tw, 1 @@ -137196,6 +137263,7 @@ terborg600.nl, 1 tercelonlinelat.tk, 1 tercodemaria.com.br, 1 tercosdemaria.com.br, 1 +tereaheetsdubai.ae, 1 teremopt.ru, 1 terence2008.info, 1 terengganudaily.tk, 1 @@ -137246,11 +137314,9 @@ terra.fitness, 1 terra7.net, 1 terrab.de, 1 terrabela.tk, 1 -terracapital.ma, 1 terracloud.de, 0 terraco.ga, 1 terracom.gr, 1 -terracore.hu, 1 terracycle.com, 1 terraesencial.com, 1 terrafinanz.de, 1 @@ -137263,6 +137329,7 @@ terramineira.com.br, 1 terraneesens.fr, 1 terranimo.re, 1 terranovadesignbuild.com, 1 +terrapay.com, 1 terraquercus.tk, 1 terrariatr.tk, 1 terrarium.tk, 1 @@ -137287,6 +137354,7 @@ terrexllc.com, 1 terrischeer.com.au, 1 territoriesredress.gov.au, 1 territoriocuchero.tk, 1 +territoriya-msk.ru, 1 territoriya.tk, 1 territory.cf, 1 terroinsect.com.mx, 1 @@ -137307,7 +137375,9 @@ terviseamet.ee, 0 tervolina.tk, 1 tesche.biz, 1 tescoirelandpayslips.com, 1 +tescoliving.com, 1 tescoludia.sk, 1 +tescomobile.cz, 1 tesdrole.tk, 1 teseo.kz, 1 tesharp.com, 1 @@ -137354,6 +137424,7 @@ testazdes.gov, 1 testbed.fi, 1 testbirds.cz, 1 testbirds.sk, 1 +testboot.top, 1 testcase.me, 1 testcoz.tk, 1 testdemoweb.tk, 1 @@ -137483,6 +137554,7 @@ texasonlinedivorce.com, 0 texasonlinemarriagecounseling.com, 1 texaspaintingandgutters.com, 1 texasparkinglotstriping.com, 1 +texasprosgaragedoors.com, 1 texasready.gov, 1 texasteam.tk, 1 texasultraspirit.com, 1 @@ -137570,6 +137642,7 @@ tfipost.com, 1 tfk-installatieservice.nl, 1 tfk.fr, 1 tfle.xyz, 1 +tfleadwork.co.uk, 1 tflite.com, 1 tfnapps.de, 1 tfok.ml, 1 @@ -137583,7 +137656,6 @@ tfw-a.com, 1 tfx.com.br, 1 tfxstartup.com, 1 tfxstartup.com.br, 1 -tfyre.co.za, 1 tg2sclient.com, 1 tgb.org.uk, 1 tgcfabian.nl, 1 @@ -137632,6 +137704,7 @@ thaihomecooking.com, 1 thaihong.co.th, 1 thaihong.com, 1 thaihotmodels.tk, 1 +thailand-business-news.com, 1 thailande-fr.com, 1 thailandguru.properties, 1 thailandhotel.tk, 1 @@ -137718,11 +137791,13 @@ the-earth-yui.net, 0 the-egotronic.tk, 1 the-farm.tk, 1 the-finance-blog.com, 1 +the-fluent-developer.com, 1 the-forgotten.net, 1 the-gist.io, 1 the-glitch.network, 1 the-ken.com, 1 the-lfb.tk, 1 +the-mechanics.co.uk, 1 the-mermaid.tk, 1 the-metropolitans.tk, 1 the-muddy-trophy-team.tk, 1 @@ -137788,6 +137863,7 @@ theangelgivingtree.net, 1 theangelgivingtree.org, 1 theangelushouse.com, 1 theanimalskingdom.com, 1 +theanimatedword.org, 1 theantarticx.com, 1 theantisocialengineer.com, 1 theantnetwork.tk, 1 @@ -137840,6 +137916,7 @@ thebasementdefender.net, 1 thebasicstudio.com, 1 thebathroomexchange.ga, 1 thebbfoundation.org, 1 +thebcm.co.uk, 1 thebeardeditdad.com, 1 thebeatyard.nl, 1 thebeaulife.co, 1 @@ -137857,7 +137934,6 @@ thebestlaos.ga, 1 thebestnews.ga, 1 thebestofthesprings.com, 1 thebestpersonin.ml, 1 -thebestproducts.info, 0 thebestshopping.tk, 1 thebetterfit.com, 1 thebettermagazine.com, 1 @@ -137907,9 +137983,9 @@ thebodyshop.bg, 1 theboltway.com, 1 thebonerking.com, 1 thebook.pro, 1 +thebookishhistorian.com, 1 thebosshub.net, 1 thebot.net, 1 -theboulders.com, 1 thebouncedepartment.co.uk, 1 theboxofcarlos.com, 1 theboxoutofthebox.com, 1 @@ -137925,6 +138001,7 @@ thebridalcollection.com, 1 thebrightons.co.uk, 1 thebrightons.uk, 1 thebritishlibraryinstallation.com, 1 +thebritishtapestrygroup.co.uk, 1 thebroadcastknowledge.com, 1 thebrookeb.com, 1 thebsl.ca, 1 @@ -137948,11 +138025,13 @@ thecameradivision.com, 1 thecanadarace.com, 1 thecandidforum.com, 1 thecandystore.tk, 1 +thecapital.pl, 1 thecardcloset.com, 1 thecarolingconnection.com, 1 thecarpenters.tk, 1 thecarphunter.tk, 1 thecarriagerooms.com, 1 +thecascadetravel.com, 1 thecatanddogbowl.au, 1 thecatbowl.com.au, 1 thecats.tk, 1 @@ -137983,6 +138062,7 @@ thecigarlibrary.com, 0 thecineshoppe.com, 1 theciso.com, 0 thecitizen.support, 1 +thecityscene.com, 1 thecitywarehouse.clothing, 1 theclarke.house, 1 theclarke.wedding, 1 @@ -138003,7 +138083,6 @@ thecognitivequest.com, 1 thecolorbarph.com, 1 thecolorrun.hu, 1 thecombustionway.com, 0 -thecomedystore.co.uk, 1 thecommonmen.tk, 1 thecommunityguide.org, 1 thecommunitymakers.club, 1 @@ -138037,9 +138116,9 @@ thecrazybrains.tk, 1 thecrazyones.hopto.org, 1 thecrazytravel.com, 1 thecreativeshour.com, 0 +thecreditpros.com, 1 thecrew-exchange.com, 1 thecrimson.tk, 1 -thecrochetcottage.net, 1 thecronosgroup.com, 1 thecskr.in, 1 thecstick.com, 1 @@ -138069,6 +138148,7 @@ thedarkages.tk, 1 thedarkartsandcrafts.com, 1 thedarkcolonyfansite.tk, 1 thedarkfusion.tk, 1 +thedarksideofhumanity.com, 1 thedarksidesoftwaresecurity.ga, 1 thedarkteam.tk, 1 thedataexaminer.com, 1 @@ -138076,6 +138156,7 @@ thedave.link, 1 thedave.me, 1 thedave.photos, 1 thedawningofdarkness.tk, 1 +thedealerapp.co.uk, 1 thedeathmachine.tk, 1 thedeathofannakarina.tk, 1 thedebug.life, 1 @@ -138142,6 +138223,7 @@ theepankar.com, 1 theepicsponge.co.uk, 1 theequinepractice.com, 1 theerneshot.com, 1 +theertcexperts.net, 1 theescapegame.com, 1 theestateplanninggroup.com, 1 theeuropeanlibrary.org, 1 @@ -138194,6 +138276,7 @@ thefoot.tk, 1 theforkedspoon.com, 1 theformtool.com, 1 thefox.com.fr, 1 +theframeryandgallery.com, 1 thefranklinnewspost.com, 1 thefreebay.tk, 1 thefreemail.com, 1 @@ -138219,7 +138302,6 @@ thefutureforward.com, 1 thefuturetech.ga, 1 thegab.in, 1 thegadget.tk, 1 -thegadgetflow.com, 1 thegallery-restaurant.co.uk, 1 thegamecave.co.uk, 1 thegamecollector.tk, 1 @@ -138248,7 +138330,6 @@ thegioibanca.tk, 1 thegioicovua.com, 1 thegioidulich.com.vn, 1 theglencoetorah.com, 1 -theglossymusings.com, 1 thego2swatking.com, 1 thegoaescort.com, 1 thegoldandsilverexchange.com, 1 @@ -138310,7 +138391,7 @@ thehomebakery.ie, 1 thehomebarista.com, 1 thehomemademasks.com, 1 thehomeofthefuture.com, 1 -thehomeschoolsupplyco.com, 0 +thehomeschoolsupplyco.com, 1 thehoney.ga, 1 thehonorguard.org, 1 thehookup.be, 1 @@ -138327,6 +138408,7 @@ thehumancondition.com, 1 thehumanizer.tk, 1 thehumanjoint.com, 1 thehumorist.tk, 1 +theiaglasses.com, 1 theideaskitchen.com.au, 1 theidiotboard.com, 1 theimagefile.com, 1 @@ -138340,7 +138422,6 @@ theindiemood.com, 1 theinfoblog.com, 1 theinitium.com, 0 theinnerprism.com, 1 -theinput.com, 1 theinsightsfamily.com, 1 theinstitute.cf, 1 theintercept.com, 0 @@ -138443,11 +138524,9 @@ themacateam.com, 1 themacios.com, 1 themadlabengineer.co.uk, 1 themagazine.my, 1 -themagazinetimes.com, 1 themagician.tk, 1 themainemonitor.org, 1 themakers.ie, 1 -themallards.info, 1 themallrats.tk, 1 themanbbq.com, 1 themandogs.tk, 1 @@ -138549,6 +138628,7 @@ thenrdhrd.nl, 1 thenudge.com, 1 thenursery.it, 1 thenutritionalreset.ca, 1 +thenviews.com, 0 theo-andreou.org, 1 theo.agency, 1 theo.me, 1 @@ -138624,7 +138704,6 @@ theparthub.com, 1 theparticipants.tk, 1 thepartner.co.uk, 1 thepartydoctors.co.uk, 1 -thepatchworks.org, 1 thepathsofdiscovery.com, 1 thepaul.tk, 1 thepaulagcompany.com, 0 @@ -138634,7 +138713,6 @@ thepcweb.tk, 1 thepeak.com, 1 thepenguinconspiracy.tk, 1 thepennyjar.com, 1 -thepennymatters.com, 1 thepeoplesdata.com, 1 thepeoplesdata.org, 1 theperfectmediagroup.com, 1 @@ -138643,7 +138721,6 @@ thepharm.co.nz, 1 thephoenixdg.com, 1 thephp.cc, 1 thepiabo.ovh, 0 -thepiedpiper.co.uk, 1 thepieslicer.com, 1 thepigwrestlers.com, 1 thepilotwoman.cf, 1 @@ -138669,6 +138746,7 @@ thepokerpeople.com, 1 thepollitochicken.com, 1 thepool.tk, 1 thepopcornfactory.com, 1 +thepostflow.com, 1 thepowerboys.tk, 1 thepressleygirls.com, 1 thepressurewashingdirectory.com, 1 @@ -138711,7 +138789,6 @@ therapie-fricktal.ch, 1 therapie-psycho-emotionnelle.fr, 1 therapiepraxis-westbezirk.de, 1 therapyclient.com, 1 -therapyconnects.co.uk, 1 therapyforblackmen.org, 1 therapyglobe.com, 1 therapynotes.com, 1 @@ -138867,6 +138944,7 @@ thesoundproofwindows.co.uk, 1 thesoundstageatstrangeland.com, 1 thespacegame.tk, 1 thespanishcollection.com, 1 +thespanishcollection.es, 1 thespiritfm.tk, 1 thespoiler.co.il, 1 thesponsorshipguy.com, 0 @@ -138933,7 +139011,6 @@ thetorlock.com, 1 thetorturedman.com, 1 thetotalemaildelivery.com, 1 thetoto.tk, 1 -thetownehub.com, 1 thetradinghall.com, 0 thetrafficgeek.com, 1 thetravel.com, 1 @@ -138942,7 +139019,6 @@ thetravelhack.com, 0 thetravelinstitute.com, 1 thetravelstylist.nl, 1 thetreeradio.com, 1 -thetrendingarticle.com, 1 thetrendspotter.net, 1 thetropics.tk, 1 thetrulycharming.com, 0 @@ -138999,7 +139075,6 @@ thevoga.com, 1 thevoid.one, 1 thevolte.com, 1 thevoya.ga, 0 -thevpsdude.com, 1 thewagesroom.co.uk, 1 thewalkerz.tk, 1 thewallet.today, 1 @@ -139047,7 +139122,6 @@ thewoods.earth, 1 thewoolroom.com.au, 1 theworkingeye.nl, 1 theworksboulder.com, 1 -theworksheets.com, 1 theworkshop.tk, 1 theworld.org, 1 theworld.tk, 1 @@ -139064,7 +139138,6 @@ thewraithmovie.tk, 1 thewrenchmonkey.ca, 1 thewrightflyer.com, 1 thewritegrl.com, 1 -thewriteress.com, 1 thexalla.tk, 1 thexme.de, 1 thexpert.ml, 1 @@ -139083,6 +139156,7 @@ thfaid.org, 1 thghosting.com, 1 thhomes.vn, 1 thhost.tk, 1 +thiagoalessio.com, 1 thiagoalessio.me, 1 thiagohersan.com, 1 thiagolosneves.com.br, 1 @@ -139093,6 +139167,7 @@ thibaultbaheux.com, 0 thibaultwalle.com, 1 thibautcharles.net, 1 thibautdecherit.fr, 1 +thibautprobst.fr, 1 thibierge-associes.notaires.fr, 1 thichson.vn, 1 thickassporn.com, 1 @@ -139134,6 +139209,7 @@ thingsandcode.com, 1 thingsimplied.com, 0 thingsivesaid.com, 1 thingsof.org, 1 +thingstash.com, 1 thingswithleaves.co.uk, 1 think-ai.eu, 1 think-positive-watches.de, 1 @@ -139154,7 +139230,6 @@ thinkelectric.gq, 1 thinkelectric.ml, 1 thinkfortune.co, 1 thinkforyourself.tk, 1 -thinkheaddesign.com, 1 thinkhealing.co.uk, 1 thinkific.com, 1 thinkindifferent.net, 1 @@ -139261,6 +139336,7 @@ thomasvanlaere.com, 1 thomasverhelst.be, 1 thomasvochten.com, 1 thomaswoo.com, 1 +thomchroma.fr, 1 thomien.de, 1 thompsonfamily.cloud, 1 thompsonoh.gov, 1 @@ -139307,7 +139383,6 @@ thoughtworthy.info, 1 thousandoaksca.gov, 1 thousandoakselectrical.com, 1 thousandoaksexteriorlighting.com, 1 -thousandoakslandscapelighting.com, 1 thousandoakslighting.com, 1 thousandoaksoutdoorlighting.com, 1 thowzzy.be, 1 @@ -139341,6 +139416,7 @@ threatcon.online, 1 threatcon.org, 1 threatcon.shop, 1 threatcon.tv, 1 +threatint.ai, 1 threatint.at, 1 threatint.be, 1 threatint.blog, 1 @@ -139418,7 +139494,6 @@ throttlerz.in, 1 throughout.ga, 1 throughtheglass.photo, 1 throwaway.link, 1 -throwedrolls.com, 1 throwmails.com, 1 throwpass.com, 1 thrustrules.tk, 1 @@ -139428,6 +139503,7 @@ thsclothing.com, 1 thsconstructors.com, 1 thscpac.org, 1 thsecurity.cz, 1 +thtcmaps.com, 1 thtcmaps.sa, 1 thuban.me, 1 thuenhapho.com, 1 @@ -139551,7 +139627,6 @@ ticketbahia.com, 1 ticketcity.com, 1 ticketfan.es, 1 tickethut.be, 1 -ticketingforless.com, 1 ticketix.com, 1 ticketmaze.com, 1 ticketpay.jp, 1 @@ -139668,7 +139743,6 @@ tiffnix.com, 1 tiflonet.tk, 1 tifokaos.tk, 1 tiftonga.gov, 1 -tig.mr, 1 tiga-design.com, 1 tigercam.cl, 1 tigerconnect.com, 1 @@ -139699,6 +139773,7 @@ tii.audio, 1 tii.party, 1 tiihosen.fi, 1 tiim.technology, 1 +tiindia.com, 1 tijden.nu, 1 tijdvoorgeschiedenis.nl, 1 tijerascreek.com, 0 @@ -139706,7 +139781,6 @@ tijerasnm.gov, 1 tijo.ch, 1 tijoe.net, 1 tik.edu.ee, 1 -tik.porn, 1 tiki-god.co.uk, 1 tiki.id, 1 tikimpact.com, 1 @@ -139714,9 +139788,11 @@ tikitak-o-rama.tk, 1 tikkio.com, 1 tikklik.nl, 1 tikona.ga, 1 +tikouka.nz, 1 tiktak.su, 1 tiktok.com, 1 tiktokdownloader.com, 1 +tiktokformation.fr, 1 tiktokgirls.live, 1 tiktokglobalshop.com, 1 tiktokglobalshopv.com, 1 @@ -139801,7 +139877,6 @@ time2choose.com, 1 time4writing.com, 1 timeai.io, 1 timeauction.hk, 1 -timeblog.org, 1 timebomb.tk, 1 timebookings.cf, 1 timebox.tk, 1 @@ -139827,7 +139902,6 @@ timely.md, 1 timelybookkeeper.com, 1 timelycare.com, 1 timelyprovider.com, 1 -timemuzz.com, 1 timeneye.com, 1 timentask.com, 1 timeout.co.il, 1 @@ -139849,7 +139923,6 @@ timesheet-plugin.herokuapp.com, 1 timesheetcomics.com, 1 timeslive.co.ke, 1 timesloth.io, 1 -timesmarket.org, 1 timesofisrael.com, 1 timesofmalta.com, 1 timespace.eu.org, 0 @@ -139882,7 +139955,7 @@ timm-fensterbau.de, 1 timm404.de, 1 timmcclure.ca, 1 timmerbedrijfpauel.nl, 1 -timmermansadministratie.nl, 0 +timmermansadministratie.nl, 1 timmermens.com, 1 timmish.de, 1 timmy.ws, 1 @@ -139988,6 +140061,7 @@ tinyemily.com, 1 tinyfont.cf, 1 tinyfont.ml, 1 tinyguitars.tk, 1 +tinyhomeworld.com, 1 tinyhouse-bimify.fr, 1 tinyhousebarat.com, 1 tinyhousebarat.de, 1 @@ -140098,6 +140172,7 @@ titina.tk, 1 titivoot.tk, 1 titlecan.cn, 1 titlecan.eu.org, 1 +titlecan.online, 1 titlecan.ru, 1 titli.fr, 1 titom.me, 1 @@ -140105,8 +140180,6 @@ titomweb.fr, 1 titouan.co, 0 titser.ph, 1 tittelbach.at, 1 -tittlelawgroup.com, 1 -tittlelawgroup.net, 1 titulares.ar, 0 titularizadora.com, 1 titulosuniversitariosalaventa.com, 1 @@ -140261,6 +140334,7 @@ tmpraider.net, 1 tmpsantos.com.br, 1 tmpwn.com, 1 tmredondela.tk, 1 +tmrservices.net, 1 tmryan.co.uk, 1 tmshea.com, 1 tmstats.fr, 1 @@ -140268,7 +140342,6 @@ tn-bb.com, 1 tn.fo, 1 tn0.club, 1 tnb-plattform.de, 1 -tncrtinfo.com, 1 tndagc.gov, 1 tndentalwellness.com, 1 tnes.dk, 1 @@ -140317,7 +140390,7 @@ tobedo.net, 1 toberdyne.net, 1 tobevictorious.com, 1 tobi-mayer.de, 1 -tobi-server.goip.de, 1 +tobi-server.goip.de, 0 tobi-videos.goip.de, 1 tobiaalberti.com, 1 tobias-bauer.de, 1 @@ -140356,7 +140429,6 @@ tobiaswiese.org, 1 tobiaswiese.work, 1 tobiefornerod.ch, 1 tobiichi3227.ddns.net, 1 -tobiichi3227.eu.org, 1 tobinc.ddnss.de, 1 tobis-rundfluege.de, 1 tobis.cloud, 1 @@ -140395,11 +140467,11 @@ todapolitica.com, 1 todaslascafeteras.com, 1 todasnoticias.pt, 1 today.it, 1 +today90.com, 1 todayer.ru, 1 todayfashion.info, 1 todayfinance.news, 1 todayfinancial.news, 1 -todayhap.net, 1 todayjobs.pk, 0 todaylearn.tk, 1 todaymeow.com, 1 @@ -140454,7 +140526,6 @@ tofa-koeln.de, 1 tofe.io, 1 tofilmhub.com, 1 tofliving.nl, 1 -toftered.se, 0 tofu.cf, 1 tofu.kim, 1 tofuixi.com, 1 @@ -140478,13 +140549,14 @@ toileobscure.fr, 1 toilet-guru.com, 1 toimitaax.fi, 1 toipa.org, 1 +toitjob.com, 1 tojeit.cz, 1 tojevune.cz, 1 tok4.com, 1 tokaido-kun.jp, 1 tokaido.com, 1 tokaishishisetsukanrikyokai.jp, 1 -tokarconsulting.com, 1 +tokarconsulting.com, 0 tokathaberleri.tk, 1 tokdeccor.com.br, 1 tokelaunso.tk, 1 @@ -140522,7 +140594,6 @@ tokopedia.ga, 1 tokosehatselalu.com, 1 toku.co, 0 tokugai.com, 1 -tokusatsunetwork.com, 1 tokyo-city.ru, 0 tokyo-co2down.jp, 1 tokyo-hotel.tk, 1 @@ -140550,7 +140621,6 @@ tolerance-zero.tk, 1 toleressea.fr, 1 toles-sur-mesure.fr, 1 tolgacankurt.com, 1 -tolibanana.com, 1 tolkienfans.tk, 1 tolkienlibrary.com, 1 tolkienmusic.tk, 1 @@ -140605,7 +140675,7 @@ tomatofrogs.com, 1 tomatohq.com, 1 tomaz.eu, 1 tomba.io, 1 -tombaker.me, 0 +tombaker.me, 1 tombclan.ga, 1 tombeantx.gov, 1 tombolaarcade.co.uk, 1 @@ -140845,6 +140915,7 @@ toopita.com, 1 toopopular.ga, 1 toot.community, 0 toot.haus, 1 +toot.pm, 1 tootbitco.ml, 1 toothimplantsydney.com.au, 1 toothless.tk, 1 @@ -140912,7 +140983,6 @@ top5melhorescursosdedrone.com, 1 topa.tk, 1 topagrar.com, 1 topan.tk, 1 -topandtrending.com, 1 topanimecharacters.com, 1 topanlage.de, 1 toparkinfo.hu, 1 @@ -140926,7 +140996,6 @@ topbrunchspots.com, 1 topbuild.com, 1 topbusiness.tk, 1 topbusinesshero.com, 1 -topbusinessnews.today, 1 topbussines.tk, 1 topcameras.tk, 1 topcarehvac.ca, 1 @@ -140967,6 +141036,8 @@ topfiremedia.com, 1 topfivepercent.co.uk, 1 topfood.club, 1 topfreeporn.com, 1 +topfx.com, 1 +topfx.com.sc, 1 topgallant.gq, 1 topgevelbekleding.nl, 1 topgrading.com, 1 @@ -141015,7 +141086,6 @@ topnet.tk, 1 topnews.gq, 1 topnews333.cf, 1 topnews333.tk, 1 -topnlist.com, 1 topnoshgourmet.com, 1 topnotchendings.com, 1 topo.com.ro, 1 @@ -141053,6 +141123,7 @@ topshelf.tech, 0 topshop.tk, 1 topshoptools.com, 1 topsights.org, 1 +topsites.cc, 1 topsmartdesign.com, 1 topsnow.ru, 1 topspace.tk, 1 @@ -141076,11 +141147,10 @@ toptechnews.cf, 1 toptechnews.tk, 1 topteen.tk, 1 topten.com.co, 1 +toptenwebhostingsites.com, 1 toptexture.com, 1 toptheto.com, 1 toptiernetworks.tk, 1 -toptilebathrooms.co.nz, 1 -toptotosite.com, 1 toptour.tk, 1 toptracks.tk, 1 toptranslation.com, 1 @@ -141108,6 +141178,7 @@ tor2web.org, 1 tor4.cf, 1 torahanytime.com, 0 toranjchap.com, 1 +torax.pt, 1 torb.com, 1 torba.tk, 1 torbay.ga, 1 @@ -141115,7 +141186,6 @@ torbay.tk, 1 torbayrise.co.uk, 1 torbe.es, 1 torch-fan.site, 1 -torchbankz.com, 1 torchbearer.tk, 1 torchmc.ru, 1 tordenskjold.de, 1 @@ -141188,7 +141258,6 @@ torrentdownload.gq, 1 torrentfunk.com, 1 torrentfunk2.com, 1 torrentgalaxy.mx, 1 -torrentgalaxy.su, 1 torrentgalaxy.to, 1 torrenttop100.net, 1 torrentz2.al, 1 @@ -141207,7 +141276,7 @@ torstenzimmermann.com, 1 tortak.ml, 1 torte.roma.it, 1 torticollisexplained.com, 1 -tortikvam.ru, 1 +tortikvam.ru, 0 tortillas-duras.cf, 1 tortillas-duras.ga, 1 tortillas-duras.gq, 1 @@ -141267,7 +141336,6 @@ totalhost.gq, 1 totalinfo.in, 1 totalintegratedtherapy.com, 1 totalityservices.co.uk, 1 -totalleedee.com, 1 totally-dakota.tk, 1 totallyjessica.tk, 1 totallylegitimatehosting.ru, 1 @@ -141315,7 +141383,6 @@ touchanddraw.tk, 1 touchbasesm2.ca, 1 touchboobs.ml, 1 touchdown.co, 1 -touchfoundation.org, 1 touchfromtheheartmassagetherapyandreflexology.com, 1 touchingwetpaint.com, 1 touchka.ga, 1 @@ -141359,7 +141426,6 @@ tourdatenarchiv.de, 1 tourdewestwoud.nl, 1 tourfunnels.com, 1 tourgest.net, 1 -touringinmorocco.com, 1 tourism-exegetai.tk, 1 tourisme-castillonpujols.fr, 1 tourisme-dordogne-paysfoyen.com, 1 @@ -141369,7 +141435,6 @@ tourismtrain.tk, 1 touristanalyst.ga, 1 touristmaker.com, 1 touristsense.com, 1 -tourmalineskincare.com, 1 tourmaster.com, 1 tournamentmgr.com, 1 tournaments.tk, 1 @@ -141415,6 +141480,7 @@ tovari-rukodeliya.tk, 1 tovarypochtoj.tk, 1 toverland-tickets.nl, 1 tovp.org, 0 +tow-houston.com, 1 towardsthecloud.com, 1 towaway.ru, 1 towellconstruction.ca, 1 @@ -141425,6 +141491,24 @@ towerloan.com, 1 towers-kolomna.tk, 1 towersstreet.com, 1 towessi.tk, 1 +towing-arlingtontx.com, 1 +towing-carrolltontx.com, 1 +towing-elpasotx.com, 1 +towing-garland.com, 1 +towing-grandprairie.com, 1 +towing-irving.com, 1 +towing-mckinney.com, 1 +towing-nashvilletn.com, 1 +towing-plano.com, 1 +towing-waco.com, 1 +towingalamo.com, 1 +towingaustinpros.com, 1 +towingelpasoinc.com, 1 +towingfortworthtx.com, 1 +towinglewisville.com, 1 +towingmoore.com, 1 +towingpasadena.com, 1 +towingstar.com, 1 town-night.jp, 1 townforge.net, 1 townfremontwi.gov, 1 @@ -141643,13 +141727,13 @@ townofwordenwi.gov, 1 townofwrightstownwi.gov, 1 townofwyomingwi.gov, 1 townresults.ga, 1 +townscorereport.com, 1 townshendvt.gov, 1 townshipofthenorthshore.ca, 1 townswalker.com, 1 towolabs.com, 1 towsonpediatrics.com, 1 towywebdesigns.uk, 1 -towzone.co.uk, 1 tox21.gov, 1 toxicboot.com, 1 toxicip.com, 1 @@ -141672,6 +141756,7 @@ toys-robots.cf, 1 toys4education.com.au, 1 toyscenter.it, 1 toyschina.cf, 1 +toysdrive.ru, 1 toysearcher.ml, 1 toyshowappeal.ie, 1 toyshowthemusical.co.uk, 1 @@ -141711,9 +141796,10 @@ tpk-parma.ru, 1 tpk.quest, 1 tplak.com, 1 tpldevsg-mythiess-dev.azurewebsites.net, 1 -tplive.io, 1 +tplive.io, 0 tplprodsg-mythiess.azurewebsites.net, 1 tpltestsg-mythiess-test.azurewebsites.net, 1 +tpmdigital.com, 1 tpolemis.com, 1 tpp-tpc.ga, 1 tppleague.me, 0 @@ -141734,7 +141820,7 @@ tqnx.link, 0 tqsintegration.com, 1 tr.search.yahoo.com, 0 tr0n.net, 1 -tr3fit.xyz, 1 +tr3fit.xyz, 0 tra-tra.be, 1 traas.org, 1 trabaja.xyz, 1 @@ -141767,6 +141853,7 @@ tracesteps.ga, 1 tracetracker.com, 1 tracetracker.no, 1 traceur-france.fr, 1 +traceurlocation.com, 1 traceyjsvorusphd.com, 1 tracinsurance.com, 1 track.plus, 1 @@ -141785,13 +141872,13 @@ trackimo.ca, 1 tracking-app.tk, 1 tracking.best, 1 trackingencomendas.com, 1 +trackingnumbers.net, 1 trackinsight.com, 1 tracklist4u.com, 1 tracknetsports.com, 1 trackntack.com, 1 -trackrecord.net, 1 +tracksapps.com, 1 trackshun.tk, 1 -trackulo.us, 1 trackyourlogs.com, 1 tractariauto.tk, 1 tractarimvbcluj.ro, 1 @@ -141817,7 +141904,6 @@ tradeandindustrydev.com, 1 tradebot.cf, 1 tradebotcompany.ml, 1 tradebuilders.com.au, 1 -tradebull.co.in, 0 tradedesk.co.za, 1 tradedigital.co, 1 tradeeasy.com, 1 @@ -141855,6 +141941,7 @@ tradinews.com, 1 tradinews.fr, 1 trading-academy.cf, 1 trading-ea.pt, 1 +tradingcomputers.com, 1 tradingdeer.io, 1 tradingfacile.eu, 1 tradinghelper.be, 1 @@ -141921,7 +142008,6 @@ trainhornforums.com, 0 trainiac.com.au, 1 trainingcentral.cf, 1 trainingcourt.com, 1 -trainingfitstudio.fr, 1 trainingflow.com, 1 traininghamburg.de, 1 traininglife.org, 1 @@ -141958,6 +142044,7 @@ trainwiki.tk, 1 trainyourtribe.com.au, 1 traista.ru, 1 traitement-arthrose.fr, 1 +traitement-cafard.net, 1 traitement-punaise.paris, 1 traiteur-laporte.fr, 1 traiteurpapillonevents.be, 1 @@ -142023,6 +142110,7 @@ transco.com.tr, 1 transcoalition.net, 1 transcontrol.com.ua, 1 transcricentro.pt, 1 +transcriptservices.org, 1 transdev.blog, 1 transdevbus.co.uk, 1 transdyne.com, 1 @@ -142071,6 +142159,7 @@ transitllc.ru, 1 transito.tk, 1 transitownplaza.com, 1 transitpoint.us, 1 +transitrid.ing, 1 translate-polish.com, 1 translate.googleapis.com, 1 translatedict.com, 1 @@ -142133,6 +142222,7 @@ trapcall.com, 1 trapichelaesperanza.com, 1 trapkitchen.ml, 1 trappednerve.org, 1 +trappenteck.be, 1 trappersoutfitters.tk, 1 traproulette.com, 1 trapsdirect.com, 1 @@ -142162,7 +142252,6 @@ traslochiinternazionali.it, 1 trasloco.milano.it, 1 trasloedil.it, 1 trasportatori.it, 1 -trasportoambulanzaprivata.it, 1 trastornoevitacion.com, 1 trastornolimite.com, 1 tratamentoparacelulite.net, 1 @@ -142175,7 +142264,7 @@ trauertexte.info, 1 traumaberatung-lindner.de, 1 traumahealing.com, 1 traumahealingaccelerated.com, 1 -traumarecoverysupport.com, 1 +traumarecoverysupport.com, 0 traumfaenger.tk, 1 traumobjekte.com, 1 traumobjekte.info, 1 @@ -142215,7 +142304,6 @@ travelbangladesh.ga, 1 travelbiz.cf, 1 travelbiz.ga, 1 travelbiz.gq, 1 -travelbuddiesperu.com, 1 travelbunny.ga, 1 travelcellar.ga, 1 travelcenter.tk, 1 @@ -142239,7 +142327,6 @@ travelecho.ga, 1 traveleets.com, 1 travelepoch.com, 1 travelera.tk, 1 -travelerspress.com, 1 travelersuniverse.com, 1 travelescape.tk, 1 traveleurope.ml, 1 @@ -142262,7 +142349,10 @@ travelgratis.ga, 1 travelhands.ga, 1 travelholicworld.com, 1 travelhoppers.com, 1 +travelhub.ie, 0 travelhusky.ga, 1 +travelhype.co.uk, 1 +travelhype.shop, 1 traveling-thailand.info, 1 travelingagency.tk, 1 travelingbagsmke.com, 0 @@ -142277,6 +142367,7 @@ travelkatta.in, 1 travelknowledge.org, 1 travellegacy.ga, 1 travellets.tk, 1 +travellifetoday.com, 1 travellinginmorocco.com, 0 travellings.cn, 0 travellinks.tk, 1 @@ -142290,9 +142381,9 @@ travelmindsets.com, 1 travelmontenegro.tk, 1 travelnano.ga, 1 travelnatural.ga, 1 +travelness.com, 1 travelnetwork.tk, 1 travelnews.cf, 1 -travelni.com, 1 travelnotoria.com, 1 travelnumber.ga, 1 travelodge.co.uk, 1 @@ -142362,7 +142453,6 @@ travelvictory.ga, 1 travelvisit.cf, 1 travelways.ml, 1 travelwithbender.com, 1 -travelwithjack.com, 1 travelzoneshop.com, 1 traverse.com.ua, 0 travi.org, 1 @@ -142435,6 +142525,7 @@ treexy.com, 1 treezone.net, 1 trefpuntdemeent.nl, 1 trehand.fr, 1 +treiberdrivers.com, 1 treibholz-norddeich.de, 1 treier.xyz, 1 treinmagazine.be, 1 @@ -142518,7 +142609,6 @@ tresoro.at, 1 tresoro.de, 1 trespedia.com, 1 tresredatores.tk, 1 -tretail.net, 1 tretinoin.gq, 1 tretze-shoes.com, 1 treurtransport.tk, 1 @@ -142583,6 +142673,7 @@ tribistovo.tk, 1 tribunatv.ml, 1 tribunesia.ga, 1 tribut.de, 1 +tributeband.nl, 1 tributh.cf, 1 tributh.ga, 1 tributh.gq, 1 @@ -142598,6 +142689,7 @@ triciaree.com, 1 tricityhelpline.com, 1 tricityrogues.eu, 1 trickedguys.com, 1 +trickey.io, 1 trickle.works, 1 tricksforgreeks.com, 1 trico-pigmentazione.it, 1 @@ -142629,7 +142721,6 @@ trigate.io, 1 triggeredpaintz.com, 1 triggertraders.com, 1 trigirlpainting.com, 1 -triglovian-clades.com, 1 trigraph.net, 1 trigueros.tk, 1 trigular.de, 1 @@ -142676,6 +142767,7 @@ trinitatiskirche-leipzig.de, 1 trinity.fr.eu.org, 1 trinity.one, 1 trinitycore.org, 1 +trinitylex.org, 1 trinityradioandvideo.org, 1 trinitysurfaces.com, 1 trinitywernersville.org, 1 @@ -142710,6 +142802,7 @@ tripletake.com, 1 triplethreatband.tk, 1 triplevision.nl, 1 triplicate.gq, 1 +triplocal.co.uk, 1 tripmakery.com, 1 tripoli.org, 1 tripolinews.tk, 1 @@ -142769,6 +142862,7 @@ trogloditas.tk, 1 troi.de, 1 troiaconsultoria.com.br, 1 troianet.com.br, 1 +troisprime.com, 1 trojanchronicles.tk, 1 trojanherring.com, 1 trojanrecords.com, 1 @@ -142943,6 +143037,7 @@ trueduality.net, 1 trueflowplumbing.com, 1 trueformroofing.co.nz, 1 truegether.com, 1 +truegunvalue.com, 1 truehealth.tk, 1 truekey.com, 1 truelovesakuya.info, 1 @@ -143014,7 +143109,7 @@ truesteamachievements.com, 1 truestor.com, 1 truetraveller.com, 1 truetrophies.com, 1 -truetype.tech, 0 +truetype.tech, 1 trueweb.es, 1 truewinter.net, 1 truework.com, 1 @@ -143068,6 +143163,7 @@ trustarts.org, 1 trustcert.net, 1 trustcert.org, 1 trustcloud.ai, 1 +trustedhost.site, 1 trustednetworks.nl, 1 trustedpropertymanagement.net, 1 trustedtoolbox.com, 1 @@ -143102,7 +143198,6 @@ truyen-hentai.fr, 1 truyen-hentai.ru, 1 truyenfull.vn, 1 truyenkiemhiep.com.vn, 1 -truyenmoi.org, 1 truyenmoivn.com, 1 truyentienhiep.com.vn, 1 trveled.com, 1 @@ -143192,6 +143287,7 @@ tshirtgenerator.ga, 1 tshirtmemoryquilts.com, 1 tshirtscapetown.com, 1 tshirtsouthafrica.co.za, 1 +tsia.com, 1 tsico.com, 1 tsicons.com, 1 tsig.nl, 1 @@ -143235,7 +143331,6 @@ tsunami.gov, 1 tsunamic.cf, 1 tsunamikill.tk, 1 tsundere.moe, 1 -tsura.org, 1 tsurai.work, 1 tsurezurematome.ga, 1 tsurimap.com, 1 @@ -143245,7 +143340,7 @@ tsutaya-ai.com, 1 tsutsumi-kogyo.jp, 1 tsuyuzakihiroyuki.com, 1 tsv-1894.de, 0 -tsv-hittfeld.de, 0 +tsv-hittfeld.de, 1 tsw.ovh, 1 tsxxlangel.com, 1 tsybanov.com, 1 @@ -143273,6 +143368,7 @@ tt8366.com, 1 tt9297.co, 1 tt9728.co, 1 tt9799.com, 1 +ttasllc.com, 1 ttb.gov, 1 ttbonline.gov, 1 ttc-birkenfeld.de, 1 @@ -143342,7 +143438,6 @@ tubuenpedido.com, 1 tubul.net, 1 tubuscador.tk, 1 tucarora.tk, 1 -tucarroycasa.com, 1 tucevents.com, 1 tucidi.net, 1 tuck2000.com, 1 @@ -143357,11 +143452,9 @@ tucsonpcrepair.com, 1 tucuatro.com, 1 tucuxi.org, 1 tudinerito.tk, 1 -tudinhoparasuacasa.com.br, 1 tudodebompresentes.com.br, 1 tudorproject.org, 1 tudorrosesamplerguild.com, 1 -tudosobrehost.com.br, 1 tudoxwallprinter.com, 1 tueplay.host, 1 tueri.eu, 1 @@ -143402,6 +143495,7 @@ tulafarms.ga, 1 tulafarms.gq, 1 tulalip.gov, 1 tulana.ga, 1 +tuleap-enterprise.com, 1 tuleap.net, 1 tuleap.org, 1 tulevaisuusdemarit.fi, 1 @@ -143585,7 +143679,6 @@ turkology.tk, 1 turkrap.tk, 1 turkreno.com, 1 turkrock.com, 1 -turkron.pro, 0 turksell.ru, 1 turksite.tk, 1 turksiteleri.tk, 1 @@ -143605,6 +143698,7 @@ turnali.tk, 1 turnalikoyu.tk, 1 turnaroundinsights.com, 1 turnbacktogod.com, 1 +turnblack.in, 1 turncircles.com, 1 turneragsupply.com, 0 turneroregon.gov, 1 @@ -143627,6 +143721,7 @@ turpinpesage.fr, 1 turquoisetassel.com, 1 turretlabs.io, 1 tursa.com.au, 1 +tursiae.org, 1 turteka.com, 1 turtle.ai, 0 turtleduckstudios.com, 1 @@ -143665,7 +143760,6 @@ tutanota.de, 1 tutao.de, 1 tutarot.club, 1 tutdevki.tk, 1 -tuteepdf.com, 1 tutiendard.ga, 1 tutierra.net, 1 tutima.com, 1 @@ -143703,7 +143797,6 @@ tuulialaine.com, 1 tuvankinhdoanhonline.com, 1 tuvanmat.com, 1 tuversionplus.com, 1 -tuvingaynay.com, 1 tuwaner.com, 1 tuxamca.com, 1 tuxcare.com, 1 @@ -143712,7 +143805,6 @@ tuxcloud.net, 1 tuxflow.de, 0 tuxforums.com, 1 tuxhound.org, 1 -tuxie.com, 1 tuxito.tk, 1 tuxlife.net, 1 tuxlinux.tk, 1 @@ -143734,7 +143826,6 @@ tuzagtcs.com, 1 tuzaijidi.com, 1 tuzlamap.tk, 1 tuzlasite.tk, 1 -tv-hot.com, 1 tv-mainzlar.de, 1 tv-online.ml, 1 tv-programme.be, 1 @@ -143753,9 +143844,11 @@ tvbarled.com, 1 tvboxstop.com, 1 tvbracketman.co.uk, 1 tvcal.net, 1 +tvchannellists.com, 1 tvchannelslive.tk, 1 tvcmarketing.com, 1 tvdenevar.net, 0 +tvdheijden.com, 1 tvears.com, 1 tvenligne.tk, 1 tver-msk.ru, 1 @@ -143883,7 +143976,6 @@ twistmc.net, 1 twisto.cz, 1 twisto.pl, 1 twistopay.com, 1 -twistpedia.com, 1 twistys.com, 1 twistysnetwork.com, 1 twit-guide.com, 1 @@ -143957,6 +144049,7 @@ txtnovel.me, 1 txtnovel.net, 1 txurologist.com, 1 txwriterstudio.com, 1 +txxtbj.com, 1 ty0m.com, 1 ty529.com, 1 ty573.com, 1 @@ -144090,7 +144183,6 @@ tzchz.pp.ua, 1 tzdn.gq, 1 tzeribi.fr, 1 tzgo.at, 1 -tzifas.com, 0 tzinsurance.com, 1 tziyona.net, 1 tznews.me, 1 @@ -144167,9 +144259,9 @@ ua577.com, 1 ua5v.com, 1 uab.tv, 1 uachemlabs.com, 1 -uae-auto.ru, 1 uae-company-service.com, 1 uaefiu.gov.ae, 1 +uaemegadeals.com, 1 uaestorages.com, 1 uafinance.net, 1 ualove.tk, 1 @@ -144219,7 +144311,6 @@ ubezpieczeniemieszkania.pl, 1 ubezpieczenienanarty.pl, 1 ubezpieczenienarciarskie.pl, 1 ubezpieczenienazycie.net.pl, 1 -ubezpieczeniepsa.com, 1 ubezpieczenieturystyczne.com.pl, 1 ubezpieczeniezycia.pl, 1 ubezpieczeniezyciowe.pl, 1 @@ -144240,6 +144331,8 @@ uborcare.com, 1 uborka-812.ru, 1 uborka-kvartir-moskva.gq, 1 uborka-snega.ga, 1 +ubots.com.br, 1 +ubtech.edu, 1 ubun.kr, 1 ubun.net, 1 ubuntu-es.org, 1 @@ -144266,7 +144359,6 @@ uccisme.net.ua, 1 ucdap.com, 1 ucemich.edu.mx, 1 ucero.tk, 1 -ucfirst.nl, 1 ucg-international.com, 1 uchargeapp.com, 1 ucheba.cf, 1 @@ -144285,7 +144377,6 @@ uclip.club, 1 ucmatedeveloper.gq, 1 ucmjlawyers.com, 1 ucmultrasuoni.it, 1 -ucngame.com, 1 ucphotography.net.au, 1 ucppe.org, 1 ucraft.ai, 1 @@ -144306,6 +144397,7 @@ uddi.ng, 1 uddin.io, 1 udemons.be, 1 udenit.de, 1 +udenlandske-casinoer.dk, 1 udenlandskecasinoer.dk, 1 udenlandskeonlinecasino.com, 1 udenrigspolitik.dk, 1 @@ -144331,6 +144423,7 @@ ue30.fun, 1 ueba1085.jp, 1 ueberdosis.io, 0 uebersetzungscenter.ch, 1 +uebertragungsnetz.de, 1 ueberwachungspaket.at, 1 uedaviolin.com, 1 uefeng.com, 0 @@ -144362,10 +144455,10 @@ ufologiahistorica.tk, 1 ufologiaweb.tk, 1 ufone.com, 1 ufone.net, 1 -ufopaedia.org, 1 ufos.tk, 1 ufplanets.com, 1 ufst.dk, 1 +ufu100.com, 1 ug.gg, 1 ugarte-zestoa.com, 1 ugb-verlag.de, 0 @@ -144417,7 +144510,7 @@ ui8.net, 1 uiberlay.cz, 1 uicchy.com, 1 uid0.pl, 1 -uiharu.top, 1 +uiharu.top, 0 uika-bogor.ac.id, 1 uinst.tk, 1 uinvest.ml, 1 @@ -144443,6 +144536,7 @@ ujob.com.cn, 1 ujotthon.hu, 1 ujvary.eu, 1 uk.search.yahoo.com, 0 +ukad-group.com, 1 ukari.hokkaido.jp, 0 ukb.sch.id, 0 ukbc.london, 1 @@ -144476,6 +144570,7 @@ ukozliku.cz, 1 ukpass.co, 1 ukpr.group, 1 ukpropertyrescue.com, 1 +ukpropertyretrofit.com, 1 ukpts.org, 1 ukraflora.ua, 1 ukrainci.com.ua, 1 @@ -144533,7 +144628,7 @@ ulsterbank.co.uk, 1 ulsterbank.ie, 1 ulsters.cf, 1 ulstersheriffny.gov, 1 -ultaa.ru, 1 +ultaa.ru, 0 ultahost.com, 1 ultalabtests.com, 1 ultima-ratio.at, 1 @@ -144548,7 +144643,6 @@ ultimatecheerleaders.com, 1 ultimateclub.tk, 1 ultimatefilmpromotion.com, 0 ultimatefxtools.com, 0 -ultimategamechair.com, 1 ultimategaming.tk, 1 ultimatehalo.tk, 1 ultimatelifesupport.ga, 1 @@ -144559,6 +144653,7 @@ ultimatemafia.nl, 1 ultimatemapping.tk, 1 ultimatemotherfuckingwebsite.com, 1 ultimatempb.com.au, 1 +ultimateoptimizer.com, 1 ultimatepaleoguide.com, 1 ultimateparts.nl, 1 ultimatepatrol.de, 1 @@ -144576,7 +144671,7 @@ ultrafine.cf, 1 ultralife.cf, 1 ultraman.tk, 1 ultramax.biz, 1 -ultramookie.com, 0 +ultramookie.com, 1 ultraonline.ml, 1 ultrapedic.com, 1 ultrarare.space, 1 @@ -144634,6 +144729,7 @@ umitribe.gov, 1 umity.com.ua, 1 umkomaaslodge-aliwalshoal.co.za, 1 umlcode.com, 1 +umlink.me, 1 ummiabi.id, 1 umniy-dom.tk, 1 umnugobi.tk, 1 @@ -144651,7 +144747,9 @@ umutdemir.com, 1 umv.gov.co, 1 umwandeln-online.de, 1 umweltgalerie.de, 1 +umww.com, 1 umzuege-hannover.net, 1 +umzugschecker.de, 1 umzugsunternehmen.berlin, 1 umzugsunternehmenberlin.eu, 1 un-box.org, 1 @@ -144680,8 +144778,8 @@ unbelievaboat.com, 1 unblock-zh.org, 1 unblockat.tk, 1 unblocked.cx, 1 -unblocked.lat, 1 unblocked.one, 1 +unblockit.africa, 1 unblockit.asia, 1 unblockit.bet, 1 unblockit.bio, 1 @@ -144781,7 +144879,6 @@ unfamousrecords.tk, 1 unfathomable.blue, 1 unfc.nl, 1 unfixed-soul.tk, 1 -unfollow.today, 1 unfriend.tk, 1 unga.dk, 1 ungaeuropeer.se, 1 @@ -144865,7 +144962,7 @@ uniforms.com.au, 1 unify.id, 1 unihostbrasil.com.br, 1 unik.bg, 1 -unikainfocom.in, 1 +unikainfocom.in, 0 unike.tech, 1 unikimages.com, 1 unikon.su, 1 @@ -144959,7 +145056,6 @@ unitedcyberdevelopment.com, 1 unitedfitness.com.au, 1 unitedforwildlife.org, 0 unitedhomeservices.com.au, 1 -unitedhoseinc.com, 1 unitedkingdoms-guild.com, 1 unitedlisbon.school, 1 unitedpayment.com, 1 @@ -144982,10 +145078,12 @@ unitel2000.de, 0 unitencup.tk, 1 unither.com, 1 unitil.com, 1 +unitimed.com, 1 unitingwa.org.au, 1 unitir.gq, 1 unitizer.com, 1 unitop.bg, 1 +unitreedoor.com, 1 unity-lepetitshop.com, 1 unitycardiology.com.au, 1 unityconsciousnessbooks.com, 1 @@ -145085,6 +145183,7 @@ unknowntrojan.win, 1 unko.cz, 1 unkrn.com, 1 unleashfido.com, 1 +unleashyouridentity.com, 0 unli.xyz, 1 unlimitedconference.id, 1 unlimiteddata.digital, 1 @@ -145160,6 +145259,7 @@ unsee.cc, 1 unseeliefilms.com, 1 unseeliepress.com, 1 unseen.is, 1 +unser-barsinghausen.de, 1 unser-gartenforum.de, 1 unsigcrazy.art, 1 unsourirealecole.fr, 1 @@ -145190,7 +145290,6 @@ untro.xyz, 0 untvweb.com, 1 unufoundation.com, 1 unusualhatclub.com, 1 -unusualplaces.org, 1 unusualsubstance.com, 1 unveiledgnosis.com, 1 unveilturkey.com, 1 @@ -145200,8 +145299,8 @@ unvired.com, 1 unwa.tk, 1 unwire.com, 1 unwiredbrain.com, 0 -unwishingmoon.com, 1 unworthy.ml, 1 +unwrittens.net, 1 unx.dk, 1 unxicdellum.cat, 1 unyouth.co.nz, 1 @@ -145219,7 +145318,6 @@ up2date.com.ua, 1 up2mark.com, 0 up2staff.com, 1 up2tech.fr, 1 -up4cash.com, 1 upahminimum.com, 1 upakovka-podarkov.tk, 1 upandatom.biz, 1 @@ -145282,18 +145380,16 @@ upjong.co.kr, 1 uplandsparkmo.gov, 1 uplaqui.com.br, 1 uplead.com, 1 -upleveled.io, 1 +upleveled.io, 0 uplexis.com.br, 1 upliftingappalachia.org, 1 uplinkgame.tk, 1 uplinklabs.net, 1 uplinkrev.com, 1 -uplinks24.com, 1 upload.facebook.com, 0 uploadbaz.me, 1 uploadbeta.com, 1 uploadcare.com, 1 -uploadingsite.com, 1 uploadletters.com, 1 uploads.su, 1 uploadscript.tk, 1 @@ -145359,6 +145455,7 @@ upsocial.pp.ua, 1 upstairs.one, 1 upstart.com, 1 upstatesc.net, 1 +upstream-project.eu, 1 upstream.auto, 1 uptech.biz.id, 1 uptechbrasil.com.br, 1 @@ -145380,6 +145477,7 @@ upwardcreative.com, 1 upwardflourish.com, 1 upwardtraining.co.uk, 1 upwork.com, 1 +upyourbusiness.nl, 1 uq1k.com, 1 uqschool.com, 1 uquid.com, 1 @@ -145409,7 +145507,6 @@ uranius.eu, 1 uranmoney.ml, 1 uranus.cf, 1 urbackups.com, 1 -urbalex.ch, 0 urban-culture.fr, 1 urban-lounge.tk, 1 urban-news.tk, 1 @@ -145442,7 +145539,6 @@ urbanism.xyz, 1 urbanized.tk, 1 urbanizedrecords.tk, 1 urbanlounge.tk, 1 -urbanlymodern.com, 1 urbanmic.com, 1 urbanmuslim.tk, 1 urbannewsservice.com, 1 @@ -145480,7 +145576,6 @@ urcentral.org, 1 urcommunitytimebanking.org.au, 1 urdoverie.com, 1 ureed.com, 1 -ureka.org, 1 urfreecon.tk, 1 urge55.com, 1 urgences-valais.ch, 1 @@ -145580,7 +145675,6 @@ usabilis.com, 1 usability.com.gr, 1 usability.gov, 1 usabusinessdirectories.com, 1 -usacainfo.com, 1 usacarry.com, 1 usacrime.com, 1 usadba.net.ru, 1 @@ -145665,6 +145759,7 @@ username.nz, 1 userra.gov, 1 userstation.de, 1 userstyles.world, 1 +usetracks.app, 1 usetypo3.com, 1 useworkshop.com, 1 useyourloaf.com, 1 @@ -145706,6 +145801,7 @@ usodesu.ga, 1 usoog.com, 1 usoptical.com, 1 uspaacc.com, 1 +uspanglish.com, 1 usparklodging.com, 1 uspeh62.tk, 1 uspeli.ml, 1 @@ -145716,7 +145812,6 @@ usplate.com, 1 uspon.tk, 1 usportsgo.com, 1 uspory.cz, 1 -uspreventiveservicestaskforce.org, 1 uspsblog.com, 1 uspsoig.gov, 1 usrspace.at, 1 @@ -145885,6 +145980,7 @@ uwesander.de, 1 uwfreelanceopticien.nl, 1 uwiventuresltd.com, 1 uwtd.me, 1 +uwu.co.nz, 1 uwu.lgbt, 0 uwu.nu, 1 uwu.tw, 1 @@ -145965,10 +146061,9 @@ v2bv.net, 1 v2bv.win, 1 v2ex.com, 1 v2mcdev.com, 1 -v2raytech.com, 1 v2x.sk, 1 v2xtls.org, 1 -v2yes.com, 1 +v2yes.com, 0 v3025.com, 0 v33v33.com, 1 v36533.com, 1 @@ -146025,12 +146120,12 @@ vacanze-in-montagna-dolomiti.com, 1 vacanze-merano.org, 1 vacatecleaning.melbourne, 1 vacati0n.tk, 1 -vacation-croatia.com, 1 vacation-in-pisak.tk, 1 vacationfund.co, 1 vacationsforcouples.com, 1 vacaturesonline.nl, 1 vaccantcorner.ml, 1 +vacce.org, 1 vaccinateiowa.gov, 1 vaccine.gov, 1 vaccines.gov, 1 @@ -146050,7 +146145,6 @@ vacunas.gov, 1 vacuumpump.co.id, 1 vacuumsealers.ml, 1 vacuumsupplystore.com, 1 -vadang.net, 1 vadeainterior.com, 1 vademekum.com, 1 vader.news, 1 @@ -146064,6 +146158,7 @@ vadis.tk, 1 vadkuhparty.xyz, 1 vado.li, 1 vadras.rs, 1 +vael.town, 1 vaew.com, 1 vagabond.film, 1 vagabond.fr, 1 @@ -146133,6 +146228,7 @@ valdultimo.org, 1 valecnatechnika.cz, 1 valek.net, 1 valemountchamber.com, 1 +valemountmuseum.ca, 1 valemusicfest.com.br, 1 valencia-s-vikoy.ru, 1 valenciaescatala.tk, 1 @@ -146142,6 +146238,7 @@ valencraft.ca, 1 valencraft.com, 1 valenhub.com, 1 valenhub.es, 1 +valeniidemunte.tk, 1 valentin-dederer.de, 1 valentin-ochs.de, 1 valentin-weibel.com, 1 @@ -146164,11 +146261,11 @@ valentytech.com, 1 valerian.tk, 1 valeriansaliou.name, 1 valeriapanarina.com, 0 -valerieadolff.com, 1 valerieorsoni.com, 1 valeriya.life, 1 valeryvenom.net, 1 valescarodrigues.com.br, 1 +valetez.com, 1 valgagym.ee, 1 valgardsempornium.pw, 1 valgavesi.ee, 1 @@ -146192,6 +146289,7 @@ valigrama.ro, 1 valika.ee, 1 valimail.com, 1 valimised.ee, 0 +valionhealth.com.au, 1 valisevoyage.fr, 1 valitsus.ee, 0 valivalcoach.com, 1 @@ -146242,6 +146340,7 @@ valordolarblue.com.ar, 1 valordotrabalho.com.br, 1 valoriashard.tk, 1 valorizofficial.com, 1 +valos.ai, 1 valparaiso.tk, 1 valparaisoin.gov, 1 valpareso.tk, 1 @@ -146301,7 +146400,8 @@ van-brandevoort.tk, 1 van-der-straeten.be, 1 van.ddns.net, 1 van11y.net, 1 -vanafhier.nl, 1 +vanadrighem.eu, 1 +vanafhier.nl, 0 vanarok.xyz, 0 vanasperenschoenen.nl, 1 vanbalen.be, 1 @@ -146333,7 +146433,7 @@ vander-bugenne.fr, 1 vanderbeek.be, 1 vanderbeekonline.nl, 1 vanderbiltcisa.org, 0 -vanderkley.it, 1 +vanderkley.it, 0 vanderleeden.servepics.com, 1 vanderlinde.ml, 1 vandermeer.frl, 1 @@ -146371,6 +146471,7 @@ vanhoudt-usedcars.be, 1 vanhoutte.be, 0 vanhove.biz, 1 vaniamgroup.com, 1 +vanicium.com, 1 vanier.gc.ca, 1 vanilla-official.jp, 1 vanillacoder.co.za, 1 @@ -146378,6 +146479,7 @@ vaninsure247.co.uk, 1 vaniola.com, 1 vanished.tk, 1 vanitas.xyz, 0 +vanitydns.com, 1 vanityestetik.com, 1 vanityfairnapkins.com, 0 vanivi.ml, 1 @@ -146414,6 +146516,7 @@ vanwoensel.xyz, 1 vanwort.de, 1 vanwunnik.com, 1 vanya.click, 1 +vanya.men, 1 vanyavpn.com, 1 vanyavpn.ru, 1 vaoig.gov, 1 @@ -146444,7 +146547,6 @@ vapotank.com, 1 vapoteuse.fr, 1 vapourtown.com, 1 vapteke.ru, 1 -vaptkidsight.azurewebsites.net, 1 varaani.tk, 1 varalaval.com, 1 varb.in, 1 @@ -146487,7 +146589,9 @@ varztupasaulis.net, 1 vas-webmaster.cz, 1 vas.com, 1 vasaconsulting.com, 1 +vasankari.fi, 1 vasanth.org, 0 +vasantswaha.net, 1 vasaprilezitost.eu, 1 vasconcellos.casa, 1 vascularlaser.com.br, 1 @@ -146534,8 +146638,6 @@ vasyaka.ga, 1 vasyharan.com, 1 vat-eu.com, 1 vat-funding.com, 1 -vat.direct, 1 -vatav.eu, 1 vatav.tk, 1 vatazhok.com, 1 vatikantour.tk, 1 @@ -146648,6 +146750,7 @@ vdslux.eu, 1 vdstc.com, 1 vdw-instruments.com, 1 vdw.ovh, 1 +vdzwan.net, 1 ve-1xbet.com, 1 ve.search.yahoo.com, 0 ve3oat.ca, 1 @@ -146687,8 +146790,9 @@ veegish.com, 1 veekshanam.com, 1 veerleklinge.nl, 1 veessen.tk, 1 +veetalen.art, 1 +veetechnologies.com, 1 veethi.com, 1 -veeva.com, 1 veeva.link, 1 veg-leiden.nl, 0 veg.lv, 0 @@ -146734,6 +146838,7 @@ vegvor.com, 1 vehicleenquiry.service.gov.uk, 1 vehiclehistory.gov, 1 vehicleinfozone.com, 1 +vehiclematsuk.com, 0 vehicletax.service.gov.uk, 1 vehicletransportservices.co, 1 veidiheimar.is, 1 @@ -146775,7 +146880,7 @@ velmorra.id, 1 velo-doktor.ch, 1 velo-volga.tk, 1 velo24.tk, 1 -velobar.plus, 1 +velobar.plus, 0 velociter.net, 1 velocitycu.com, 0 velocityelectronics.com, 1 @@ -146792,9 +146897,11 @@ veloroute.hamburg, 1 velosipedi.tk, 1 velostudio.com.ua, 1 velotours.ga, 1 -velotyretz.fr, 0 velovelo.gq, 1 +velpak21.com, 1 +veluwegroenonderhoud.nl, 1 veluwerally2002.tk, 1 +veluzian.com, 1 velvet-tarantula.tk, 1 velvetempire.tk, 1 velvetia.no, 1 @@ -146814,6 +146921,7 @@ vendasdealbunsbrasil.tk, 1 vendee.tk, 1 vendela.tk, 1 vendermicasarapido.com.mx, 1 +vendeurbtp.com, 1 vendi.it, 1 vendigital.com, 1 vendingmachines.tk, 1 @@ -146859,6 +146967,7 @@ vennet.fr, 1 vennprime.com, 1 venomxsecurity.com, 1 venostech.com, 1 +venotion.net, 1 venstar.com, 1 ventajasdesventajas.com, 1 ventana.kz, 1 @@ -146878,7 +146987,6 @@ ventolin.ga, 1 ventomaxx.de, 1 ventor.ml, 1 ventosport.nl, 1 -ventrahealth.com, 0 ventuordici.org, 1 venturavwparts.com, 1 venture.biz.id, 1 @@ -146915,7 +147023,6 @@ verasani.ch, 1 verasani.com, 1 verascityscience.com, 1 verasoie.fr, 1 -verasoul.com, 1 verasrvmobiledetail.com, 1 verata.co, 0 verbacxss.it, 1 @@ -146948,7 +147055,6 @@ verdensflag.dk, 1 verdeplus.net, 1 verdesfoundation.org, 1 verdict.gg, 1 -verdict.ro, 1 verdonkadvocaten.nl, 1 verduccies.com, 0 verdugosxerecistas.tk, 1 @@ -147033,7 +147139,6 @@ vermellcollection.com, 1 vermogeninkaart.nl, 1 vermont.builders, 1 vermontbiz.com, 1 -vermontflannel.com, 1 vermontvilletownshipmi.gov, 1 vermouth.cf, 1 vermuetje.nl, 1 @@ -147076,7 +147181,7 @@ versfin.net, 1 versia.ru, 1 versicherung-website.de, 1 versicherungen-werner-hahn.de, 1 -versifylabs.com, 1 +versifylabs.com, 0 versionit.org, 1 versium.net, 1 verspai.de, 1 @@ -147105,7 +147210,7 @@ vertexinc.com, 1 vertexlife.ml, 1 vertexlife.tk, 1 vertexsmb.com, 1 -vertexventures.co.il, 1 +vertexventures.co.il, 0 vertexventures.sg, 0 verticalmindventures.com, 1 verticals.tk, 1 @@ -147114,7 +147219,6 @@ verticecloud.com, 1 verticesedge.com, 1 vertichost.com, 1 vertichost.ro, 1 -verticweb.com, 1 vertigo.name, 0 vertigomassage.com, 1 vertikal.tk, 1 @@ -147146,7 +147250,7 @@ veryssl.com, 1 veryswing.com, 1 verzekerdbijhema.nl, 1 verzekeringsacties.nl, 1 -verzekerjebeter.nl, 0 +verzekerjebeter.nl, 1 verzick.com, 1 vesa.ro, 1 vesaviljanen.fi, 1 @@ -147231,6 +147335,7 @@ vets24.ae, 1 vetscore.co.za, 1 vetsmarketing.co.za, 1 vetsource.com, 0 +vetspecialists.co.uk, 1 vettenburg.eu, 1 vettix.org, 1 vetuni.cz, 1 @@ -147242,6 +147347,7 @@ veules-les-roses.fr, 1 veve.com, 1 veverusak.cz, 1 vevioz.com, 1 +veviozmail.com, 1 vexsh.com, 1 vezettaksii.ru, 1 veziaici.net, 1 @@ -147279,7 +147385,6 @@ vhosting-it.com, 1 vhproductions.tk, 1 vhumo.com, 1 via-tygo.com, 1 -via1buynow.com, 1 viabenefitsaccounts.com, 1 viacdn.org, 1 viacheslavpleshkov.com, 1 @@ -147296,9 +147401,7 @@ viagratop.tk, 1 viagusto.pl, 1 viajantecolorido.com.br, 1 viajantesturismo.com, 1 -viajarconmascotas.pro, 1 vialibido.com.br, 1 -vialknives.com, 1 vialorran.com, 0 vialto.com, 1 viamax.eu, 1 @@ -147322,7 +147425,6 @@ vibaphoto.com, 1 vibaphoto.fr, 1 vibbo.no, 1 vibbslist.com, 1 -vibcon.com, 1 vibehire.co.uk, 1 vibeonline.tk, 1 vibgyyor.com, 1 @@ -147439,6 +147541,7 @@ videferre.tk, 1 video-converter.com, 1 video-lab.it, 1 video-oldenburg.de, 1 +video21db.net, 1 videoarcadia.cf, 1 videoarcadia.ml, 1 videobible.com, 1 @@ -147504,6 +147607,7 @@ vidlen.ru, 1 vidlyoficial.com, 1 vidooo.de, 1 vidracariaembh.com, 1 +vidrasec.com, 1 vidrop.me, 1 vidtekno.com, 1 vidulo.com, 1 @@ -147583,6 +147687,7 @@ viewer.ga, 1 viewflix.win, 1 viewfreescore.com, 1 viewing.nyc, 1 +viewjobs.com.au, 1 viewpointsfromfacebook.com, 1 viewsea.com, 1 viewstub.com, 1 @@ -147612,7 +147717,6 @@ vigorspa.it, 1 vigoxatelier.tech, 1 vigrid.online, 1 vigridpartiet.tk, 1 -vihaainfosoft.com, 1 vihtahousu.fi, 1 viikko.cf, 1 viikko.eu, 1 @@ -147627,7 +147731,6 @@ vijaymishra.tk, 1 vijn.io, 1 vijoe.org, 1 vijverbenodigdheden.nl, 1 -vik.bio, 1 vik.im, 1 vikalbino.com, 1 vikalbino.com.br, 1 @@ -147637,11 +147740,9 @@ vikashkendra.com, 1 vikasinstitute.tk, 1 vikaviktoria.com, 1 vikc.ca, 1 -vikcdn.com, 1 viki.com, 1 viking-style.ru, 1 viking-t.com, 1 -vikingconcretefloors.com, 1 vikiwat.com, 1 viko.ai, 1 viko.co.uk, 1 @@ -147783,7 +147884,6 @@ villagevetcattery.co.uk, 1 villagockel.de, 1 villahistoria.ml, 1 villainsclothing.com.au, 1 -villaismaelcortinas.uy, 1 villakarma.at, 1 villakiralik.com, 1 villalmanzo.tk, 1 @@ -147809,13 +147909,14 @@ ville-nesle.fr, 1 ville-vif.fr, 1 villegasphoto.com, 1 villehardouin.fr, 1 +villejobbtp.com, 1 villek.fi, 1 villekaaria.eu, 1 villekautto.com, 1 villenavedornon.fr, 1 villerez.fr, 1 villeroy-immobilier-sete.fr, 1 -villers-ecalles.fr, 1 +villers-ecalles.fr, 0 villesalonen.fi, 1 villian.tk, 1 villnoesser-tal.com, 1 @@ -147909,6 +148010,7 @@ vinistas.com, 1 vinit.tk, 1 vinnellarabia.com, 1 vinner.com.au, 0 +vinneri.pl, 1 vinnie.gq, 1 vinny.tk, 1 vinnyvidivici.com, 1 @@ -148035,8 +148137,8 @@ viralinsurance.ga, 1 viraljobs.ga, 1 viraloffer.ga, 1 viralpagi.com, 1 +viralrakyat.com, 1 viralsv.com, 1 -viraltalky.com, 1 viraltech.cf, 1 viralted.ml, 1 viraltobuzz.tk, 1 @@ -148117,18 +148219,17 @@ virtualsanity.com, 1 virtualscoutschool.com, 1 virtualsex.ga, 1 virtualshell.ml, 1 -virtualtabletop.io, 1 virtualvaults.com, 0 virtualx.de, 1 virtubox.net, 1 virtubox.xyz, 1 virtubroker.com.mx, 1 +virtuele-dataroom.nl, 1 virtueturkey.ga, 1 virtuology.com, 1 virturl.de, 1 virtus-group.com, 1 virtusaero.com, 0 -virtwen.com, 1 virty.cz, 1 virus.pm, 1 virusah1n1.com, 1 @@ -148138,7 +148239,6 @@ virusprotect.ro, 1 virusquery.com, 1 visa-master.tk, 1 visacentre.pk, 1 -visadaifu.com, 0 visaforest.com, 1 visafruit.com, 1 visale.fr, 1 @@ -148162,6 +148262,7 @@ visatitans.com, 1 visavtodor.ru, 1 visaxplorer.com, 1 visaya.com.co, 1 +visaynou.com, 1 visceralsound.ca, 1 visconde-de-maua.com.br, 1 viscondedemaua.com.br, 1 @@ -148185,7 +148286,6 @@ vision2005.tk, 1 visionagrupo.com, 1 visionamp.com, 1 visionations.com, 1 -visioncenter.org, 1 visioncloud.tk, 1 visioncraftinc.com, 1 visiondesign.shop, 1 @@ -148283,7 +148383,6 @@ vista.gov, 1 vistaalegre.com, 1 vistaalmar.es, 1 vistacampus.gov, 1 -vistafolia.com, 1 vistamatic.eu, 1 vistapaket.com.ua, 1 vistapaket.es, 1 @@ -148292,7 +148391,6 @@ vistastylebuilder.com, 0 vistavoyage.eu, 1 vistb.me, 1 vistec-support.de, 1 -vistmagazine.com, 1 visu.li, 1 visual-cockpit.com, 0 visual-concept.net, 1 @@ -148305,7 +148403,6 @@ visualforce.com, 1 visualgnome.com, 1 visualintent.com.au, 1 visualizing.info, 1 -visuall.be, 1 visualmarketingdeals.com, 1 visualmasters.nl, 1 visualstories.com, 1 @@ -148327,6 +148424,7 @@ vitahook.pw, 1 vitahost.ml, 1 vitakov.tk, 1 vital-bg.com, 1 +vital-tel.co.uk, 1 vital.no, 1 vital3.cat, 1 vitalamin.at, 1 @@ -148379,6 +148477,7 @@ vitavista.io, 1 vitay.pl, 1 viteleaf.com, 1 viteoscrm.ch, 0 +viteragro.com.br, 1 viterbio.com, 1 viterboonair.tk, 1 viteuneexcuse.io, 1 @@ -148472,6 +148571,7 @@ vivianaball.ro, 1 vivianadavila.com, 1 vivianargiriou.gr, 0 vivianbarbieri.com, 1 +vivianbarbieri.me, 1 vivianlms.ga, 1 vivianmaier.cn, 1 vivianshultsart.com, 1 @@ -148490,6 +148590,7 @@ vivoitaliankitchen.com, 1 vivoldi.com, 1 vivos.co.il, 1 vivoseg.com, 0 +vivreadomicileliege.be, 1 vivreenisrael.com, 1 vivun.com, 1 viwsec.com.br, 1 @@ -148539,6 +148640,23 @@ vkavkaz.tk, 1 vkb-remont.ru, 1 vkcombo.ru, 1 vkennke.org, 1 +vkf-renzel.at, 1 +vkf-renzel.bg, 1 +vkf-renzel.ch, 1 +vkf-renzel.co.uk, 1 +vkf-renzel.com.tr, 1 +vkf-renzel.com.ua, 1 +vkf-renzel.cz, 1 +vkf-renzel.de, 1 +vkf-renzel.dk, 1 +vkf-renzel.fr, 1 +vkf-renzel.gr, 1 +vkf-renzel.hu, 1 +vkf-renzel.it, 1 +vkf-renzel.pl, 1 +vkf-renzel.pt, 1 +vkf-renzel.si, 1 +vkf-spritzgusstechnik.de, 1 vkfaces.com, 1 vkfish.ga, 1 vkflac.tk, 1 @@ -148720,6 +148838,7 @@ vodicak.info, 1 vodicaknapocitac.sk, 1 voditel.ua, 1 vodix.nl, 1 +vodotech.sk, 1 vodpay.com, 1 vodpay.net, 1 vodpay.org, 1 @@ -148733,7 +148852,7 @@ voetbalwedden.net, 0 voetbalwedstrijdenvandaag.nl, 1 voetenreflexmassage.nl, 1 voetfit47.nl, 1 -voetpunttwente.nl, 1 +voetpunttwente.nl, 0 voeux.io, 0 voevm.at, 0 voevodin.tk, 1 @@ -148804,7 +148923,7 @@ vokrug.ga, 1 vokurka.net, 1 vokzalkursk.ru, 1 vokzalperm.ru, 1 -volant.digital, 0 +volant.digital, 1 volantinaggioaroma.it, 1 volarikcapital.eu, 1 volatile.pw, 1 @@ -148887,7 +149006,6 @@ voltarengeneric.tk, 1 voltcloud.net, 1 voltechtransformer.in, 1 voltfloyd.com, 1 -volthemes.com, 1 voltiac.ml, 1 volto.io, 1 voltrix.net, 1 @@ -148961,6 +149079,7 @@ vos-systems.es, 1 vos-systems.eu, 1 vos-systems.net, 1 vos-systems.org, 1 +vos.codes, 1 vos.directory, 1 vosges-tourisme.net, 1 vosgym.jp, 1 @@ -149053,7 +149172,6 @@ voxbras.com.br, 1 voxeaarecords.com, 1 voxel.ax, 1 voxel.cat, 1 -voxel.sh, 1 voxelcat.de, 1 voxelcat.jp, 1 voxeljet.com, 1 @@ -149070,6 +149188,7 @@ voyagedeductible.com, 1 voyageforum.com, 1 voyageofyume.com, 1 voyages-groupes-transgallia.com, 1 +voyagesarabais.com, 1 voyagesvoyages.net, 1 voyagewd.world, 1 voyagewiki.com, 1 @@ -149117,6 +149236,7 @@ vps.nl, 1 vps.tg, 1 vpsao.org, 1 vpsboard.com, 1 +vpsce.com, 0 vpsdream.dk, 1 vpsgongyi.com, 0 vpsji.com, 1 @@ -149137,6 +149257,7 @@ vqeg.org, 1 vqn.se, 1 vr-baufi.com, 1 vr-baufi.info, 1 +vr-baufi.net, 1 vr-baufi24.de, 1 vr-bauficoncept.de, 1 vr-baufinanzierung.de, 1 @@ -149144,14 +149265,17 @@ vr-hypothekenbank.de, 1 vr-immo-invest.biz, 1 vr-immo-invest.com, 1 vr-immo-invest.info, 1 +vr-immo-invest.net, 1 vr-immobilienkredit.de, 1 vr-immobilienpool.de, 1 vr-immocredit.de, 1 vr-immoexpress.biz, 1 vr-immoexpress.info, 1 +vr-immoexpress.net, 1 vr-immoinvest.eu, 1 vr-immonet.de, 1 vr-payment.de, 1 +vr-re-bank.co.uk, 1 vr-re-bank.org, 1 vr-realestate.co.uk, 1 vr-sinterklaashuis.nl, 1 @@ -149205,7 +149329,6 @@ vrijeradio.tk, 1 vrijgezellen-feest.com, 1 vrijgezellen-feesten.nl, 1 vrijgezellenfeestzwolle.com, 1 -vrikshamindia.com, 1 vrimmoexpress.biz, 1 vrimmoexpress.eu, 1 vrimmoinvest.ag, 1 @@ -149291,6 +149414,7 @@ vsportage.com, 1 vss-clan.ml, 1 vsscr.tech, 1 vsscrew.tk, 1 +vssnederland.nl, 1 vstavropole.tk, 1 vstrikovaci-lisy.cz, 1 vsure.com.au, 1 @@ -149304,6 +149428,7 @@ vtbs.moe, 1 vtcourts.gov, 1 vtech.com, 1 vtescebu.com, 1 +vtexpayments.com.br, 1 vtipe-vylez.cz, 0 vtivision.com, 1 vtjud.gov, 1 @@ -149313,7 +149438,6 @@ vtliving.com, 1 vtm.be, 1 vtmgo.be, 1 vtoroy-kanal.ga, 1 -vtsnetworks.com, 1 vttnordisere.fr, 1 vtuber-schedule.info, 1 vtuber.art, 1 @@ -149374,6 +149498,8 @@ vulnscan.org, 1 vulpine.club, 1 vulpr.com, 1 vultrhxl.com, 1 +vulva.observer, 1 +vulva.photos, 1 vulyk-medu.com.ua, 1 vunn.com, 1 vuojolahti.fi, 0 @@ -149401,6 +149527,7 @@ vvcasteren.nl, 1 vvd.bz, 1 vvdbronckhorst.nl, 1 vveactiefbeheer.nl, 0 +vvelzen.com, 1 vvg-vermietung.de, 1 vvlemmer.tk, 1 vvlen.com, 1 @@ -149445,6 +149572,7 @@ vybeministry.org, 1 vyber-odhadce.cz, 1 vyberdomov.cz, 1 vyberodhadce.cz, 1 +vybihal.cz, 1 vycius.lt, 1 vygeja.lt, 1 vygo.network, 1 @@ -149468,6 +149596,7 @@ vysokoe.tk, 1 vysotka.tk, 1 vysvetluju.cz, 1 vyturys.lt, 1 +vytvorsipotisk.cz, 1 vyvod-iz-zapoya.online, 1 vyvygen.org, 1 vyzner.cz, 1 @@ -149530,6 +149659,7 @@ w3n14izy.tk, 1 w3punkt.de, 1 w3scan.nl, 1 w3squad.com, 1 +w3y.cc, 1 w40faktory.tk, 1 w4b.in, 1 w4eg.de, 1 @@ -149568,7 +149698,7 @@ w8094.com, 1 w82365.com, 1 w84.it, 1 w8605.com, 1 -w8628.com, 1 +w8628.com, 0 w888022.com, 0 w888033.com, 0 w888044.com, 0 @@ -149577,7 +149707,6 @@ w888077.com, 0 w888088.com, 0 w889-line.com, 1 w889-line.net, 1 -w88clubz.com, 1 w8less.nl, 1 w8wat.com, 1 w9297.co, 1 @@ -149669,6 +149798,7 @@ waits.io, 1 waiwaisw.com, 1 waiwei.ml, 1 waixingrenfuli.vip, 1 +waizigov.com, 1 wajtc.com, 1 wak.io, 1 waka-mono.com, 1 @@ -149685,14 +149815,12 @@ wakeofthepredator.tk, 1 wakeskincarellc.com, 1 waketurbulencereport.eu, 1 wakeupeire.com, 1 -wakeupplatform.com, 1 wakeupworld.ml, 1 wakinglighting.com, 1 wakpamnilake-nsn.gov, 1 wakullaelectionfl.gov, 1 wakullavotes.gov, 1 wakuwakustudyworld.co.jp, 0 -walaa.com.co, 1 walaamohamed.com, 1 waldenvt.gov, 1 waldenwritingcenter.ml, 1 @@ -149701,6 +149829,7 @@ waldo.tk, 1 waldo.vn, 0 waldorf-augsburg.de, 1 waldorf-harduf.org, 1 +waldorfconnect.de, 1 waldorfdiary.com, 1 waldparkerwoelfe.tk, 1 waldpflegeverein.at, 1 @@ -149749,7 +149878,6 @@ wallacehigh.org.uk, 1 wallada.tk, 1 wallaralogistics.com.au, 1 wallartista.com, 1 -wallbanksweb.net, 1 wallcs.eu, 1 wallduck.com, 1 wallendair.com, 1 @@ -149780,6 +149908,7 @@ wallpaperup.com, 1 wallrgb.com, 1 walls.io, 1 wallsauce.com, 1 +wallstreetmojo.com, 1 walltech.tk, 1 walltime.info, 1 wallumai.com.au, 1 @@ -149823,6 +149952,7 @@ wanda98.com, 1 wandelreizen.eu, 1 wander.al, 1 wander.tk, 1 +wanderclub.eu, 1 wanderersfc.tk, 1 wanderfost.com, 1 wanderfullcoven.tk, 1 @@ -149856,7 +149986,6 @@ wangwill.me, 1 wangyue.blog, 1 wangzhe100.xyz, 1 wangzuan168.cc, 1 -wanitasejahtera.com, 1 wanjuhui.com, 1 wanlieyan.com, 1 wannabfit.nl, 1 @@ -150088,16 +150217,12 @@ watchersrealm.tk, 1 watchface.watch, 1 watchfreeonline.co.uk, 1 watchinventory.com, 1 -watchjavidol.com, 0 watchmetech.com, 1 watchmoviesgallery.com, 1 -watchmoviesreel.com, 1 watchparts-and-tools-okayama.co.jp, 1 watchpeopledie.tv, 1 watchporninpublic.com, 1 -watchpsllive.com, 1 watchstyle.com, 1 -watcht20worldcup.com, 1 watchthis-svp.com, 1 watchtogether.ch, 1 watchtolearn.co, 1 @@ -150108,6 +150233,7 @@ water-for-africa.org, 1 water-polo.tk, 1 water-valley.tk, 1 water.com, 1 +water411.org, 1 waterandhealth.org, 1 waterbassoon.eu.org, 1 waterborefiji.com, 1 @@ -150179,6 +150305,7 @@ watgroeitwaar.org, 1 wathory.com, 1 watisleukemie.tk, 1 watismijnbandenspanning.nl, 1 +watn3y.de, 1 watongaok.gov, 1 watoo.tech, 1 watsonsurplus.com, 1 @@ -150249,9 +150376,7 @@ waynehartman.com, 1 wayneo.tk, 1 waynerushbodywork-massage-tauranga-rotorua-bayofplenty-bop.co.nz, 1 waynesboropa.gov, 1 -waynetworking.com, 1 waynewashcowi.gov, 1 -wayofleaf.com, 1 wayohoo.net, 1 waysandlore.consulting, 1 waysandlore.fr, 1 @@ -150271,6 +150396,7 @@ wb-cw.tech, 1 wb256.com, 1 wb6668.net, 1 wba.or.at, 1 +wbafn.com, 1 wbbauth.de, 1 wbbwbwebweb.cf, 1 wbca.ca, 1 @@ -150305,7 +150431,6 @@ wc64.org, 1 wca.link, 1 wcally.com, 1 wcarc.ca, 1 -wcat.in, 1 wcatherinekendall.co.uk, 1 wccu.coop, 1 wcei.com.au, 1 @@ -150519,6 +150644,7 @@ webappky.cz, 1 webapplay.com, 1 webappperformance.com, 1 webapps-conception.fr, 1 +webark.hu, 1 webart-factory.de, 1 webartex.ru, 1 webasto-moscow.ru, 1 @@ -150540,7 +150666,6 @@ webby-books.com, 1 webcafe.tk, 1 webcam-lisa.ml, 1 webcam-model.tk, 1 -webcam.ninja, 1 webcamara.sytes.net, 1 webcamdream.hu, 1 webcamera-online.tk, 1 @@ -150565,6 +150690,7 @@ webcheck.pt, 1 webclymber.com, 0 webcoder.cf, 1 webcoins.tk, 1 +webcollect.org.uk, 1 webcollector.ga, 1 webcontrol.tk, 1 webcookies.org, 1 @@ -150579,11 +150705,11 @@ webcurtaincall.com, 1 webdaddyit.ga, 1 webdating.tk, 1 webdemaestrias.com, 1 +webdereserve.com, 1 webdesign-kall.de, 1 webdesign-note.jp, 1 webdesignagency.cf, 1 webdesigncompanyindia.com, 1 -webdesigner4u.net, 0 webdesignersinchennai.tk, 1 webdesignfenua.tk, 1 webdesignlabor.ch, 1 @@ -150678,6 +150804,7 @@ webhotel24.se, 1 webhotelli.website, 1 webhotels.tk, 1 webhotelsoversigt.dk, 1 +webi-design.com, 1 webi.ms, 1 webi.sh, 1 webia.in.th, 1 @@ -150803,8 +150930,9 @@ webqam.fr, 0 webquests.tk, 1 webrabbit.at, 1 webradio-maroc.tk, 1 -webrand.com, 1 +webrand.com, 0 webranko.tk, 1 +webrealizer.org, 1 webrebels.org, 0 webregie.de, 1 webregion.tk, 1 @@ -150816,6 +150944,7 @@ websanlamuerte.tk, 1 websayfasi.biz.tr, 1 webschool21.ml, 1 websdesignpro.com, 1 +websec.nl, 1 websec.nu, 1 websectools.com, 1 webseitendesigner.com, 0 @@ -150874,6 +151003,7 @@ webstaurant.com, 1 webstaurantstore.com, 1 websteam.tk, 1 webstellung.com, 1 +webstercountymo.gov, 1 webstergrovesmo.gov, 1 websternytoday.gov, 1 webstop.tk, 1 @@ -150888,12 +151018,10 @@ websuccess.ga, 1 websvetaines.lt, 1 webtalis.nl, 1 webtasarim.info.tr, 1 -webtasarim.pw, 1 webtasarimankara.name.tr, 1 webtasarimi.tk, 1 webtasarimostim.name.tr, 1 webtaxi.cf, 1 -webtechmantra.com, 1 webtechnicom.net, 0 webtek.nu, 1 webtele.ga, 1 @@ -150904,6 +151032,7 @@ webter.de, 1 webthreesome.com, 1 webtobesocial.de, 1 webtodito.tk, 1 +webtoffee.com, 1 webtomsk.tk, 1 webtoolhost.com, 1 webtools-eqt.co.nz, 1 @@ -150941,7 +151070,6 @@ webwinkelwestland.nl, 1 webwit.pro, 1 webwweb.com.pl, 1 webyazilim.biz.tr, 1 -webyazilimankara.com, 1 webycrea.eu, 1 webyildiz.com, 1 webyourself.eu, 1 @@ -151044,7 +151172,7 @@ weexend.com, 1 weezerosos.tk, 1 weezertabs.tk, 1 wefact.nl, 1 -wefazemos.com.br, 1 +wefazemos.com.br, 0 wefillgood.com, 1 wefitboilers.com, 1 wefixmd.com, 1 @@ -151080,6 +151208,7 @@ weightlosseasy.cf, 1 weightlossoutcome.com, 1 weightprogram.cf, 1 weihua.life, 1 +weiido.com, 1 weikai.net, 1 weike.tk, 1 weiling.clinic, 1 @@ -151092,6 +151221,7 @@ weimz.com, 1 wein.cc, 1 weinbergerlawgroup.com, 1 weinboxbuilders.co.nz, 1 +weinco.at, 1 weinfuse.com, 0 weingut-bernd-klein.de, 1 weinundsein.com, 1 @@ -151125,6 +151255,7 @@ weitz-porzellan.de, 1 weitzmangroup.com, 1 weixinjiefengla.com, 1 weizenke.im, 1 +wejv.eu, 1 wekan.hopto.org, 1 wekibe.de, 1 wekipedia.com, 1 @@ -151221,6 +151352,7 @@ wemakemx.mx, 1 wemakeonlinereviews.com, 1 weme.eco, 1 wemissyou.tk, 1 +wemobiles.com, 0 wemovemountains.co.uk, 1 wenablog.pl, 1 wenaiwu.net, 1 @@ -151294,6 +151426,7 @@ werkenbijintertoys.nl, 1 werkenbijmagentazorg.nl, 1 werkenbijpelsrijcken.nl, 1 werkenbijpromovendum.nl, 1 +werkenbijrexel.nl, 1 werkenbijsanitairwinkel.be, 1 werkenbijsanitairwinkel.nl, 1 werkenbijsherpa.nl, 0 @@ -151363,7 +151496,6 @@ westchester-il.gov, 1 westchesteranxietytreatment.com, 1 westcoastaggregate.com, 1 westcoastcastles.com, 1 -westcoastdrones.io, 1 westcoastdrones.net, 1 westcoastfood.ca, 1 westcoastmarineadvisor.com, 1 @@ -151399,7 +151531,6 @@ westlakevillageelectric.com, 1 westlakevillageelectrical.com, 1 westlakevillageelectrician.com, 1 westlakevillageexteriorlighting.com, 1 -westlakevillagelandscapelighting.com, 1 westlakevillagelighting.com, 1 westlakevillageoutdoorlighting.com, 1 westlandcultuur.tk, 1 @@ -151475,6 +151606,7 @@ wevolver.com, 0 wevyin.com, 1 wew881.com, 1 wew882.com, 1 +wewillfixit.com, 1 wewin889.com, 1 wewitro.de, 1 weworkjpn.com, 1 @@ -151489,6 +151621,7 @@ wf-bigsky-master.appspot.com, 1 wf-demo-eu.appspot.com, 1 wf-demo-hrd.appspot.com, 1 wf-dogfood-hrd.appspot.com, 1 +wf-hosting.de, 1 wf-pentest.appspot.com, 1 wf-staging-hr.appspot.com, 1 wf-training-hrd.appspot.com, 1 @@ -151497,6 +151630,9 @@ wf-trial-hrd.appspot.com, 1 wf336.com, 1 wfbabfn.com, 1 wfbvillage.gov, 1 +wfh.ovh, 1 +wfh.se, 1 +wfigueiredo.com.br, 1 wforum.nl, 1 wfschicago.com, 1 wftbasis.nl, 1 @@ -151558,6 +151694,7 @@ whatclinic.de, 1 whatclinic.ie, 1 whatclinic.ru, 1 whatdevotion.com, 1 +whatdevotion.tk, 1 whatdevshouldknow.pl, 1 whatevents.tk, 1 whateveritworks.org, 1 @@ -151630,7 +151767,6 @@ wheelycoolgear.com, 1 wheelyking.tk, 1 when-release.ru, 1 when.fm, 0 -when.org.il, 1 when2watch.live, 1 whenisholiday.com, 1 whentowork.com, 1 @@ -151687,7 +151823,6 @@ whiskyshop.my, 1 whisp.ly, 0 whispeer.de, 1 whisper-net.de, 1 -whisperinghoperanch.org, 1 whisperlab.org, 1 whistleblower.gov, 1 whistleblower.pl, 1 @@ -151698,6 +151833,7 @@ whistleblowersoftware.com, 1 whistlingdog.media, 0 whitbread.com.au, 1 whitdoit.tk, 1 +white-articles.site, 1 white-hell.tk, 1 white-ibiza.com, 1 white-info.tk, 1 @@ -151740,11 +151876,11 @@ whitemanfss.net, 1 whitemetalperu.tk, 1 whiteneon.com, 1 whiteout.wiki, 1 +whitepack.ru, 1 whitepages.ml, 1 whitepen.io, 1 whitepen.tk, 1 whitepinetn.gov, 1 -whiteprintnews.com, 1 whiterabbit.group, 0 whiterabbit.nl, 1 whiterabbit.org, 1 @@ -151814,7 +151950,6 @@ wholesomeharvestbread.com, 0 wholevood.com, 1 wholevood.de, 1 wholewideworldtoys.com, 1 -wholewildworld.de, 1 whoneedstobeprimaried.today, 1 whong.media, 1 whonix.org, 1 @@ -151942,7 +152077,6 @@ wiganer.tk, 1 wigelsworth.io, 1 wigger.one, 1 wigggle.it, 1 -wigglywisdom.com, 1 wigle.net, 1 wigmore-hall.org.uk, 0 wigsalon.ga, 1 @@ -152029,6 +152163,7 @@ wikimedia-dns.org, 1 wikimedia.biz, 1 wikimedia.com.pt, 1 wikimedia.community, 1 +wikimedia.cz, 1 wikimedia.is, 1 wikimedia.jp.net, 1 wikimedia.lt, 1 @@ -152126,6 +152261,7 @@ wiktionary.pl, 1 wiktionary.pt, 1 wiktor-imbierski.com, 1 wiktoriaflis.com, 1 +wikwemikongpolice.ca, 1 wilane.org, 1 wilburyvets.co.uk, 1 wilco-s.nl, 1 @@ -152139,7 +152275,6 @@ wildanalysis.ga, 1 wildbergh.tk, 1 wildbirdsuets.com, 1 wildcard.hu, 1 -wildcardfederal.net, 1 wildcatdiesel.com.au, 1 wildcatprotection.org, 1 wildcaves.co.za, 1 @@ -152188,7 +152323,7 @@ wilhelmhansenfonden.dk, 1 wilhelmina.com, 1 wili.li, 1 wiliquet.net, 1 -wilk.tech, 0 +wilk.tech, 1 wilkebouwer.nl, 1 wilkes-barretownship.gov, 1 wilkincounty.gov, 1 @@ -152292,6 +152427,7 @@ wiltonmanors.gov, 1 wiltonsandstonequarry.com.au, 1 wiltrovira.com, 1 wiltshirefarmfoods.com, 0 +wiltshirehealthyschools.org, 1 wilypumpkin.com, 1 wimbledon.com, 1 wimlanphen.nl, 1 @@ -152348,7 +152484,6 @@ windows101tricks.com, 1 windows11.com.br, 1 windows311.org, 1 windowsblogitalia.com, 1 -windowscult.com, 1 windowsdoors.it, 1 windowsforum.com, 1 windowsfreak.de, 0 @@ -152461,7 +152596,7 @@ winslowslair.tk, 1 winsufi.biz, 1 wint.global, 1 wintark.com, 1 -wintechlab.com, 1 +wintec.nz, 1 winter-auszeit.de, 0 winter-elektro.de, 1 winter-leak.ml, 1 @@ -152483,6 +152618,7 @@ winterset.gov, 1 winterstudies.ga, 1 winterthur.ch, 1 winterzine.cf, 1 +winthrythsrealm.com, 1 wintodoor.com, 1 winull.de, 1 winup.org, 1 @@ -152529,7 +152665,6 @@ wirelessleeuwarden.tk, 1 wirelesslogic.com, 1 wirelesslogicnordic.com, 1 wirelessthief.ga, 1 -wirelly.com, 1 wireshark.org, 1 wireshocks.com, 1 wiretap.cf, 1 @@ -152576,13 +152711,12 @@ wisdomize.me, 1 wisdomteethonly.com, 1 wisdomteethsydney.com.au, 1 wisdotplans.gov, 1 -wise-parenting.com, 1 +wise-parenting.com, 0 wise.jobs, 1 wiseadvicetravelling.com, 0 wisebarber.com, 1 wiseclinictc.com.tw, 1 wisecountytx.gov, 1 -wisegoldfish.com, 1 wisehome.dk, 1 wiseinternational.org, 1 wiseitguys.com, 1 @@ -152749,7 +152883,6 @@ wlbank.de, 1 wlci.gov, 1 wlcmedical.com.au, 1 wlf.is, 1 -wlg.city, 1 wlmq10086.cn, 1 wlnk.cc, 1 wloch.me, 1 @@ -152854,6 +152987,7 @@ woge.ml, 1 wogo.org, 1 woh.org, 1 woheni.de, 1 +wohlgefuehl-massagen.de, 1 wohnberatung-wien.at, 1 wohnsitz-ausland.com, 1 wohnungsaufloesung-berlin.net, 1 @@ -152874,7 +153008,6 @@ wojciechteichert.pl, 1 wojtekmaj.pl, 1 wojtekogrodnik.pl, 1 wokeanda.com, 1 -wokeupset.ru, 0 wokfilms.pt, 1 wokinghammotorhomes.com, 1 woldars.com, 1 @@ -152942,7 +153075,6 @@ women-femmes.gc.ca, 1 women-only.net, 0 women.gc.ca, 1 womenagainstviolence.org, 1 -womenbeautyhealth.com, 1 womenbrace.tk, 1 womenfashionshirt.tk, 1 womenofficersofindia.com, 1 @@ -152960,7 +153092,6 @@ wompenriebler.tk, 1 womply.com, 1 woms.top, 1 womywomwoo.com, 1 -wonderbits.net, 1 wonderbox.ga, 1 wonderbox.gq, 1 wonderbox.ml, 1 @@ -153003,14 +153134,13 @@ woo.bi, 1 wooblr.com, 1 wooby.tk, 1 wooc.org, 0 -woocommerce-b2b-plugin.com, 1 -woocommerce-multivendor.com, 1 woocommerce.academy, 1 wood-crafted.co.uk, 1 wood-crafted.uk, 1 wood4heat.ca, 1 woodandshop.com, 1 woodbornekitchens.com, 1 +woodbridgefurniture.com, 1 woodbridgegrp.com, 1 woodbury.io, 1 woodburynj.gov, 1 @@ -153077,12 +153207,15 @@ wookstar.com, 1 woolfplumbing.com.au, 1 woolyss.com, 1 woomu.me, 1 +woomy.be, 1 woonaval.eu, 1 woonbedrijf.com, 1 woonboulevardvolendam.nl, 0 +woongjininc.com, 1 woonplein.tk, 1 woontegelwinkel.nl, 1 woonverkoop.be, 1 +woop.co.nz, 1 woopie.com, 1 woopiq.com, 0 wooplaces.com, 1 @@ -153141,7 +153274,6 @@ wordunscrambler.com, 1 wordwidessl.net, 1 wordxtra.net, 1 wordzite.com, 1 -worf.in, 1 wori.cf, 1 wori.ga, 1 wori.gq, 1 @@ -153165,7 +153297,6 @@ workathomeideas.tk, 1 workathomenoscams.com, 1 workathomeopportunities.tk, 1 workathomernjobs.tk, 1 -workcare.com, 1 workcenter.gov, 1 workcheck.bz, 1 workclaims.org, 1 @@ -153198,6 +153329,7 @@ workhorsemkt.com, 1 workindia.ml, 1 workinestonia.com, 0 working-group-cloudsecurityalliance.org, 1 +workingatlakelife.com, 1 workingclassmedia.com, 1 workingfamilies.org.uk, 0 workinghardinit.work, 1 @@ -153239,8 +153371,6 @@ worksthatwork.com, 1 workstride.org, 1 worktefa.tk, 1 workthings.de, 1 -workupapp.com, 1 -workwithgo.com, 0 workwithusaid.gov, 1 worky.ph, 1 workzly.in, 1 @@ -153281,6 +153411,7 @@ worlddataexchange.au, 1 worlddataexchange.com, 1 worlddataexchange.com.au, 1 worldeg.estate, 1 +worldejv.com, 1 worldessays.com, 1 worldeventscalendars.com, 1 worldexpo.ga, 1 @@ -153326,7 +153457,6 @@ worldlandtrust.org, 1 worldlanguage.tk, 1 worldluxuryhome.tk, 1 worldmarathons.tk, 1 -worldmeetings.com, 1 worldnewsinbox.ga, 1 worldnewsphoto.tk, 1 worldofarganoil.com, 1 @@ -153361,6 +153491,7 @@ worldsy.com, 1 worldsystems.com.co, 1 worldtalk.de, 1 worldtattooevents.com, 1 +worldtempus.com, 0 worldtourismgroup.com, 1 worldtrandingnews.ml, 1 worldtravelmagazine.tk, 1 @@ -153370,9 +153501,9 @@ worldviews-debattieren.de, 1 worldvisa.tk, 1 worldwallstreet.tk, 1 worldwar2collector.tk, 1 +worldwatchmonitor.org, 1 worldwideradiosummit.com, 1 worldwidescience.org, 1 -worldwidessl.net, 1 worldwinesweb.be, 1 worlich.tk, 1 wormate.io, 1 @@ -153442,6 +153573,7 @@ wowbouncycastles.co.uk, 1 wowchemy.com, 1 wowcinema.tk, 1 wowdrive.ga, 1 +wowhaha.work, 1 wowhampers.ie, 1 wowhediyelik.com, 1 wowhelp.it, 1 @@ -153454,12 +153586,12 @@ wowlove.tk, 1 wowmoroccotours.com, 1 wownmedia.com, 1 wownskportal.tk, 1 -wowowow.com, 1 -wowpilates.com, 1 wowpolisa.pl, 1 +wows-karma.com, 1 wows-mods.tk, 1 wows.sb, 1 wowsosellout.com, 1 +wowzer.ai, 1 wox.ac, 1 woyao.ml, 1 woyzeck.org, 1 @@ -153519,7 +153651,6 @@ wphelpdesk.nl, 1 wphelpwithhomework.tk, 1 wphlive.tv, 1 wphost.nl, 0 -wphostee.co.uk, 1 wphosting.ovh, 1 wpinabox.de, 1 wpinfos.de, 0 @@ -153564,6 +153695,7 @@ wpslimseo.com, 1 wpsmackdown.com, 1 wpspeedcare.com, 1 wpspeedking.com, 1 +wpspeedmatters.com, 1 wpsuites.com, 1 wptests.tk, 1 wpthemearchive.com, 1 @@ -153672,7 +153804,6 @@ wselektro.de, 1 wseo.pw, 1 wsgvet.com, 1 wsheffield.com, 1 -wshop24.biz, 1 wsl.sh, 1 wsldp.com, 1 wsm-naramowice.pl, 1 @@ -153688,6 +153819,7 @@ wssv.ch, 0 wstudio.ch, 0 wsug.gq, 1 wsv-pfeffingen.de, 1 +wsvdeboei.nl, 1 wszystkocokocham.com, 1 wt-server3.de, 1 wtawi.org, 1 @@ -153712,7 +153844,6 @@ wtw.io, 1 wtxl.com, 1 wuaffiliate.tk, 1 wualabs.com, 1 -wuast24.de, 1 wubuwu.com, 1 wuchipc.com, 1 wuchoamoveis.com.br, 1 @@ -153722,6 +153853,7 @@ wuerfel.wf, 1 wuerfelmail.de, 1 wuergler-consulting.ch, 1 wuermlitaucher.ch, 1 +wuerttemberg-historic.de, 1 wuestenbergs.tk, 1 wuevahosting.com, 1 wuff.gay, 1 @@ -153800,6 +153932,7 @@ ww6396.com, 0 ww6729.co, 1 ww6729.com, 0 ww6957.co, 1 +ww88.club, 1 ww8989.com, 1 ww9297.co, 1 ww9397.com, 0 @@ -153912,6 +154045,7 @@ www.ledgerscope.net, 0 www.lookout.com, 1 www.messenger.com, 1 www.mojadm.sk, 1 +www.mygov.bd, 1 www.noisebridge.net, 1 www.opsmate.com, 1 www.org.gg, 0 @@ -154029,7 +154163,6 @@ wyzwaniemilosci.com, 1 wz.lviv.ua, 1 wz.my, 0 wz.pt, 1 -wzaalpfm.com, 1 wzajemnie.org.pl, 1 wzfou.com, 1 wzh.one, 1 @@ -154064,7 +154197,6 @@ x0e.nl, 1 x0r.be, 1 x0r.link, 1 x0rg.org, 1 -x13.com, 1 x16.in, 1 x1616.tk, 1 x17.cafe, 1 @@ -154163,7 +154295,6 @@ xarcmastering.com, 1 xarmenta.tk, 1 xarxanet.org, 1 xatr0z.org, 0 -xauzit.com, 1 xav.ie, 1 xaver.cash, 1 xaver.exchange, 1 @@ -154305,7 +154436,7 @@ xbyl85.com, 1 xbyl86.com, 1 xbyl89.com, 1 xbyl91.com, 1 -xc01.co, 1 +xc01.co, 0 xc02.co, 0 xc03.co, 1 xc06.co, 1 @@ -154328,6 +154459,7 @@ xcloudways.com, 1 xcmfu.com, 0 xcompany.one, 1 xcontainer.ir, 1 +xcontest.org, 1 xcraftsumulator.ru, 1 xcspy.org, 1 xcupidon.com, 1 @@ -154340,6 +154472,7 @@ xd.gd.cn, 1 xd.gov, 1 xdawn.cn, 1 xdb.be, 0 +xdemvyhcp.com, 1 xdos.io, 1 xdtag.com, 1 xdty.org, 1 @@ -154397,10 +154530,8 @@ xfcy.me, 1 xfd3.de, 1 xfinityapparel.com, 1 xfirma.pl, 1 -xfix.pw, 1 xfixup.com, 1 xford.tech, 1 -xforpeople.com, 1 xfrag-networks.com, 1 xftp.ml, 1 xfzhao.com, 1 @@ -154413,7 +154544,6 @@ xgn.es, 1 xgp.pl, 1 xgpu.deals, 1 xgreatben.blog, 1 -xgys.net, 0 xgzepto.cn, 1 xh.ax, 1 xh7eee.com, 1 @@ -154451,6 +154581,7 @@ xiaohhh.com, 1 xiaohui.love, 1 xiaojiyoupin.com, 1 xiaolanglang.net, 1 +xiaolong.link, 1 xiaomao.tk, 1 xiaomibarato.com, 1 xiaomionline24.pl, 1 @@ -154479,7 +154610,6 @@ xifrem.com, 1 xiix.cf, 1 xile.ml, 1 xilef.org, 1 -xilegames.com, 1 xillimite.com, 1 xilnex.com, 1 xilo.net, 1 @@ -154621,6 +154751,7 @@ xinyazhang.com, 1 xinyezx.com, 1 xinyitour.tw, 1 xio.moe, 1 +xion.nu, 1 xiphwork.de, 1 xiqonline.com, 1 xishiduliu.com, 1 @@ -154670,7 +154801,6 @@ xlnaudio.com, 1 xloffice.se, 1 xloud.cf, 1 xloutdoor.se, 1 -xloveit.com, 1 xlr8.shop, 1 xlr8webshops.com, 1 xlribbon.ml, 1 @@ -154687,6 +154817,7 @@ xmediabigz.tk, 1 xmediazxy.tk, 1 xmenrevolution.com, 1 xmessy.com, 1 +xmgspace.me, 1 xmisystems.com, 1 xmiui.com, 1 xmlseo.ru, 1 @@ -154957,6 +155088,7 @@ xn--dckya4a0bya6x.com, 1 xn--dckya4a0bya6x.jp, 1 xn--dej-3oa.lv, 1 xn--detrkl13b9sbv53j.com, 1 +xn--dfirtrning-i6a.dk, 1 xn--diseadorwebmallorca-y3b.com, 1 xn--dk8haaa.ws, 1 xn--dmontaa-9za.com, 1 @@ -154992,7 +155124,6 @@ xn--eebao6b.net, 1 xn--eglujemy-23b.net, 1 xn--ehq091c7jk8qq.com, 1 xn--ehqw04eq6e.jp, 1 -xn--ehqy0ag27f64i.xyz, 1 xn--elsignificadodesoar-c4b.com, 1 xn--eo5aaa.eu.org, 1 xn--erban-e9b.ro, 1 @@ -155045,6 +155176,7 @@ xn--hllrigl-90a.at, 0 xn--hnse-gra.net, 1 xn--hogarniitojesus-4qb.com, 1 xn--hsers-kva.de, 1 +xn--iev.jp, 1 xn--ikketenkpdet-1cb.no, 1 xn--imker-in-nrnberg-szb.de, 1 xn--int-ru8ea.xn--6qq986b3xl, 1 @@ -155123,6 +155255,7 @@ xn--mnck-5qa.de, 1 xn--mnich-7ua.de, 1 xn--mntsamling-0cb.dk, 1 xn--morrhret-e0a.se, 1 +xn--mrtelfuger-0cb.dk, 1 xn--mxaavenvi2h.live, 0 xn--myrepubic-wub.net, 1 xn--myrepublc-x5a.net, 1 @@ -155213,6 +155346,8 @@ xn--tftel-tom-q9a.de, 1 xn--tgstationen-x8a.se, 1 xn--thorme-6uaf.ca, 1 xn--tigreray-i1a.org, 1 +xn--tkuka-m3a3v.com, 1 +xn--tkuka-m3a3v.nz, 1 xn--trdler-xxa.xyz, 1 xn--u8jwd.ga, 1 xn--u9j920h4sbt5ex10f.online, 1 @@ -155290,6 +155425,7 @@ xoan.cf, 1 xobotun.com, 1 xocc.cc, 1 xoda.pw, 1 +xoddiel.net, 1 xolotto.com, 1 xolphin.nl, 1 xombitgames.com, 1 @@ -155322,10 +155458,8 @@ xpertcube.com, 1 xpertmedia.ro, 1 xpertsunlimited.com, 1 xpetit.net, 1 -xpews.org, 1 xpg.jp, 1 xphelper.tk, 1 -xpint.com, 1 xpj090.com, 1 xpj100.com, 0 xpj678678.com, 1 @@ -155409,6 +155543,7 @@ xsstime.nl, 1 xsteam.eu, 1 xstorysnap.com, 1 xstreamable.com, 1 +xstree.com, 1 xsuper.net, 1 xsv.cn, 1 xsz.jp, 1 @@ -155705,18 +155840,14 @@ y68cc.com, 0 y68ee.com, 0 y68ff.com, 0 y68gg.com, 0 -y68gl.com, 1 y68hh.com, 0 y68ii.com, 0 y68jj.com, 0 -y68jn.com, 1 y68ll.com, 0 y68oo.com, 1 y68pp.com, 0 y68qq.com, 0 y68rr.com, 0 -y68sc.com, 1 -y68sz.com, 1 y68tt.com, 0 y68uu.com, 0 y68yy.com, 0 @@ -155807,7 +155938,6 @@ yaazhtech.com, 1 yaballe.com, 1 yabbr.com.au, 1 yabbr.io, 1 -yabo68.com, 0 yabuisha.jp, 1 yacca.co.uk, 1 yacg.asia, 1 @@ -155918,7 +156048,6 @@ yangmao.info, 1 yangmaodang.org, 0 yangmi.blog, 1 yangrq.org, 1 -yangruixin.com, 1 yangshangzhen.com, 0 yangwang.tk, 1 yangxi.tech, 1 @@ -155994,7 +156123,6 @@ yarogneva.ru, 1 yarokuk.com, 1 yaroslavia.eu.org, 1 yaroslavova.tk, 1 -yarowork.jp, 1 yarplast.tk, 1 yarr.pt, 1 yarracitta.tk, 1 @@ -156027,7 +156155,6 @@ yatescountyny.gov, 1 yatescountysheriff.gov, 1 yatorie.net, 1 yatriindia.tk, 1 -yatsat.com, 1 yatserver.com, 1 yatstudios.com, 1 yatsuenpoon.com, 1 @@ -156111,7 +156238,6 @@ yellow.ai, 1 yellow.place, 1 yellowbrick.co, 1 yellowcar.website, 1 -yellowfinlogistics.com, 1 yellowfolder.com, 1 yellowhawk.nl, 1 yellowmessenger.com, 1 @@ -156123,7 +156249,6 @@ yellowstonecountymt.gov, 1 yellowstrips.com, 1 yellowsubmarinebook.com, 1 yellowtaillasvegas.com, 1 -yellowtails.co.jp, 1 yellowtrace.net.au, 1 yellsystem.co.jp, 1 yelp.at, 1 @@ -156201,7 +156326,6 @@ yesjobs.ga, 1 yesleaks.com, 1 yesmirov.ga, 1 yesmsp.com, 1 -yesmzt.com, 1 yesod.in, 1 yesogovinpetcare.com, 1 yesolo.tk, 1 @@ -156312,6 +156436,8 @@ yinwa.ml, 1 yinyang.jp, 1 yippie.nl, 0 yisrime.xyz, 1 +yiu-on.li, 1 +yiuon.li, 1 yiyuanzhong.com, 1 yiz96.com, 1 yizhihuang.org, 1 @@ -156426,7 +156552,6 @@ yoitsu.org, 1 yokaiispirit.ddns.net, 1 yokocho373.com, 1 yokoda.okinawa, 1 -yokohama-idolmaster.jp, 1 yokohama.ga, 1 yokohamawakaba-ganka.com, 1 yokone3-kutikomi.com, 1 @@ -156437,7 +156562,7 @@ yolandaschocolatiers.com, 1 yolandgao.me, 1 yolks.in, 1 yolo-csgo.com, 1 -yolo.vn, 1 +yolobert.de, 1 yoloboatrentals.com, 1 yolocast.wtf, 1 yolocounty.gov, 1 @@ -156468,7 +156593,6 @@ yooooex.com, 1 yoopies.fr, 1 yooptopian.com, 0 yoozik.io, 1 -yooznet.com, 1 yopers.com, 0 yopmail.com, 1 yopmail.net, 1 @@ -156560,6 +156684,7 @@ youiv.info, 1 youiv.net, 1 youiv.pw, 1 youiv.tv, 1 +youiv1.com, 1 youiv10.com, 1 youiv100.com, 1 youiv20.com, 1 @@ -156613,11 +156738,11 @@ younl.net, 1 youpark.no, 1 youpickfarms.org, 1 youpreneur.com, 1 +your-admin.com, 1 your-computer-is-a-hero.tk, 1 your-fitness-coach.ch, 1 your-forum.tk, 1 your-greece.ga, 1 -your-house-expert.com, 1 your-idc.tk, 1 your-kurs.tk, 1 your-melody.ru, 1 @@ -156705,6 +156830,8 @@ yourmagicstory.tk, 1 yourmaki.com, 1 yourmobility.ga, 1 yourmodel.fr, 1 +yourmoneyproject.com, 1 +yourmothers.meme, 1 yourms.com, 1 yourname.xyz, 1 yournewsfeed.org, 1 @@ -156715,8 +156842,6 @@ yourpalmbeachcountyrealtor.com, 1 yourpalstore.com, 1 yourpersonalfoodnesscoach.nl, 1 yourpersonalfrance.com, 1 -yourpillstore.com, 1 -yourscotlandtour.co.uk, 1 yoursfunny.top, 1 yourskin.nl, 0 yoursoul.gq, 1 @@ -156765,6 +156890,7 @@ youthpolicy.org, 1 youthreach.org, 1 youthrules.gov, 1 youthsadda.com, 1 +youtoo.media, 1 youtous.me, 1 youtube, 1 youtube-notify.com, 1 @@ -156785,6 +156911,7 @@ yoyohe.com, 1 yoyojobs.tk, 1 yoyoost.duckdns.org, 1 yoyoost.ga, 1 +yoyoost.nl.eu.org, 1 yozakura.me, 1 yozhik.tk, 1 yozucreative.com, 1 @@ -156968,7 +157095,6 @@ yus-azaria.tk, 1 yusa.me, 1 yushanfang.recipes, 1 yusu.org, 1 -yusufipek.me, 1 yusukekato.com, 1 yusukesakai.com, 1 yutabon.com, 0 @@ -156992,6 +157118,7 @@ yux.fr, 1 yuxiangyuan.com, 1 yuxuan.org, 1 yuyantang.club, 1 +yuyu-support.com, 1 yuyucn.com, 1 yuzei.ml, 1 yuzei.tk, 1 @@ -157005,6 +157132,7 @@ yveslegendre.fr, 0 yvesx.com, 1 yveszarkaconsultant.fr, 1 yvettextreme.com, 1 +yvonne-stingel.de, 1 yvonnethomet.ch, 1 yvonnewilhelmi.com, 1 yw.com, 1 @@ -157012,7 +157140,6 @@ ywambaguio.org, 1 ywambutuan.org, 1 ywamphilippines.org, 1 ywamshipsphilippines.com, 1 -yx-express.cn, 1 yxapp10.com, 1 yxapp20.com, 1 yxapp30.com, 1 @@ -157043,8 +157170,6 @@ yy6729.co, 1 yy6729.com, 1 yy6957.co, 1 yy9297.co, 1 -yy9297.com, 0 -yy9721.com, 1 yy9728.co, 1 yya.men, 1 yybx.top, 1 @@ -157070,7 +157195,6 @@ yzydo.com, 0 yzyweb.cn, 1 z-cert.nl, 1 z-e.eu, 1 -z-epub.com, 1 z-g-v.nl, 1 z-kasino.ru, 1 z-konzept-nutrition.ru, 1 @@ -157099,6 +157223,7 @@ z3r0101.com, 1 z3s.nl, 1 z3u5.net, 1 z3ven.nl, 1 +z4.nz, 1 z4k.de, 1 z5197.co, 1 z6.uk, 1 @@ -157113,7 +157238,6 @@ z6512.com, 1 z6519.com, 1 z6527.com, 1 z6529.com, 1 -z6573.com, 1 z6587.com, 1 z6729.co, 1 z6729.com, 1 @@ -157163,7 +157287,6 @@ z8182.com, 1 z8187.com, 1 z8193.com, 1 z8195.com, 1 -z8196.com, 1 z8206.com, 1 z8207.com, 1 z8209.com, 1 @@ -157195,6 +157318,7 @@ z8917.com, 1 z8920.com, 1 z8922.com, 1 z9297.co, 1 +z95.jp, 1 z9728.co, 1 z99944x.xyz, 1 za.search.yahoo.com, 0 @@ -157263,6 +157387,7 @@ zahirdanzavila.com, 1 zahlensysteme-rechner.de, 1 zahn-frankl.at, 1 zahnaerzte-website.de, 1 +zahnarzt-bellmann.de, 1 zahnarzt-korsos.at, 1 zahnarzt-kramer.ch, 1 zahnarzt-kruft.de, 1 @@ -157275,6 +157400,7 @@ zahrowski.com, 1 zaija.tk, 1 zaim-best.ml, 1 zaim15min.cf, 1 +zaimbezotkazov.ru, 1 zaimdengi.tk, 1 zaimexpress.cf, 1 zaimi.ml, 1 @@ -157317,7 +157443,6 @@ zakariya.blog, 1 zakarotta.ga, 1 zakarpattya.fun, 1 zakaz.cf, 1 -zakazbiletov.kz, 1 zakcutner.com, 1 zakcutner.uk, 1 zakelijketaalcursus.nl, 1 @@ -157359,7 +157484,7 @@ zamecnikkladno.cz, 1 zamenim.tk, 1 zametkin.tk, 1 zamki.tk, 1 -zammad.com, 1 +zammad.com, 0 zammad.org, 1 zamok-love.tk, 1 zamok.cf, 1 @@ -157459,16 +157584,17 @@ zarinab.com, 1 zarja.tk, 1 zarjadnik.tk, 1 zarla.com, 1 +zarnitsa.eu, 1 zarnu.com, 1 zarobotok-forum.ga, 1 zarobotok-forum.gq, 1 zarobotok-forum.ml, 1 zarof-fkf.de, 1 -zarok.tv, 1 zaroktv.com.tr, 1 zaroktv.krd, 1 zarra.tk, 1 zaruhi.ml, 1 +zarv.email, 1 zary.me, 1 zas4eku.tk, 1 zaschtnik.ga, 1 @@ -157632,6 +157758,7 @@ zebra-serwis.pl, 1 zebradom.ru, 1 zebraguide.com, 1 zebravinken.tk, 1 +zebsaestheticsspa.co.za, 1 zebspeech.tk, 1 zebulon.fr, 1 zecanard.com, 1 @@ -157694,6 +157821,7 @@ zeitpunkt-kulturmagazin.de, 1 zeitschrift-lq.com, 1 zeitschriftlq.com, 1 zeitzer-turngala.de, 1 +zejuns.com, 1 zekerbewegenhengelo.nl, 1 zekerheidvanparcelinternational.nl, 1 zekinteractive.com, 1 @@ -157706,6 +157834,7 @@ zelenazeme.cz, 1 zelendoma.ml, 1 zeliard.tk, 1 zelizy.cz, 1 +zelkinezis.ru, 1 zelkor.ml, 1 zelong.tk, 1 zeloz.xyz, 1 @@ -157723,7 +157852,9 @@ zen-solutions.io, 1 zen-zone.tk, 1 zenassociates.com, 1 zenbalans.nl, 1 +zenbluemkt.com.br, 1 zenbox.pl, 1 +zencar.online, 1 zenchain.com, 1 zencube.ga, 1 zendarhunters.tk, 1 @@ -157788,6 +157919,7 @@ zepig.nl, 1 zeplin.io, 1 zeppelflix.de, 1 zeppelin.ml, 1 +zepta.net, 1 zepter.cf, 1 zepter.ga, 1 zepter.gq, 1 @@ -157816,6 +157948,7 @@ zerocool.io, 1 zerocz.eu, 0 zerodeathsmd.gov, 1 zerodensity.tv, 1 +zerodhacapital.com, 1 zerodhareview.co, 1 zerodoubtclub.com, 1 zerofox.gq, 1 @@ -157880,6 +158013,7 @@ zeuscorp.ga, 1 zeusec.co.jp, 1 zeusembroidery.com.au, 1 zeusindia.tk, 1 +zeusmarketing.com, 1 zevelev.net, 1 zevenbergenbos.tk, 1 zevlee.me, 1 @@ -157918,7 +158052,7 @@ zhana-auen.tk, 1 zhang-hao.com, 1 zhang.fm, 1 zhang.ge, 1 -zhang14386.love, 1 +zhang14386.love, 0 zhangda.xyz, 0 zhangfangzhou.com, 1 zhangjet.com, 1 @@ -157976,6 +158110,7 @@ zhimingwang.org, 1 zhina.wiki, 1 zhinood.com, 1 zhis.ltd, 1 +zhishengwin.top, 1 zhitanska.com, 1 zhivoe.tk, 1 zhixiu.com, 1 @@ -157991,6 +158126,7 @@ zhongqiao.com, 1 zhongxigo.com, 1 zhongzicili.ws, 1 zhongzilou.com, 1 +zhorizon.jp, 1 zhouba.cz, 1 zhoujianghan.com, 0 zhoujiashu.com, 1 @@ -158092,8 +158228,10 @@ zinewords.com, 1 zingermans.com, 1 zinglix.xyz, 1 zingpetfood.com, 1 +zingyawesome.com, 1 zinhar.tk, 1 zinkmetselwerken.nl, 1 +zinnia.com, 1 zinnov.com, 1 zinnowitzer-ferienwohnung.de, 1 zinsserplasticsurgery.com, 1 @@ -158136,6 +158274,7 @@ zitobox.com, 1 zitseng.com, 1 zitstabureau24.nl, 1 zivava.ge, 1 +zivimexico.com, 1 zivot.org, 1 zivotbezkrutosti.cz, 1 zivotsdietou.cz, 1 @@ -158229,6 +158368,7 @@ zlypi.com, 1 zman.co.il, 1 zmarta.org, 1 zmc.com.sa, 1 +zmcyclefitness.com, 1 zmessages.com, 0 zmeya.tk, 1 zmgroup.cz, 1 @@ -158390,6 +158530,8 @@ zonky.cz, 1 zonky.de, 1 zonneglossis.tk, 1 zonnenberg.de, 1 +zonnestudiosundreams.nl, 1 +zonnigduiven.nl, 1 zonnigzieuwent.nl, 1 zontractors.com, 1 zoo-dog.ru, 1 @@ -158403,6 +158545,7 @@ zook.pw, 1 zook.systems, 1 zook.tk, 1 zookids.uy, 1 +zookri.com, 1 zoola.io, 1 zoolaboo.de, 1 zoological-gardens.eu, 1 @@ -158507,6 +158650,7 @@ zrucne.cz, 1 zry.io, 1 zs6688.cc, 0 zsaqwq.com, 1 +zsattorneys.com, 1 zscaler.es, 1 zscales.com, 0 zsdublovice.cz, 1 @@ -158529,6 +158673,7 @@ ztbro.com, 1 ztctarrin.com, 1 zten.org, 1 ztickerz.nl, 1 +ztm.monster, 1 ztmovies.cf, 1 ztn.sh, 1 ztu75.ru, 1 @@ -158586,7 +158731,6 @@ zumwildenaffen.com, 1 zund-app.com, 1 zundapp.one, 1 zundapp529.nl, 1 -zundappachterhoek.nl, 1 zunlong0.com, 1 zuoai.net, 1 zuomin.tk, 1 @@ -158679,6 +158823,7 @@ zymmm.com, 1 zyno.space, 1 zypernreisen.com, 1 zypr.pw, 1 +zypzz.com, 1 zyrex.eu.org, 1 zyria.de, 1 zyrillezuno.com, 1 @@ -158697,7 +158842,6 @@ zz6957.co, 1 zz772.com, 0 zz9297.co, 1 zz9728.co, 1 -zz993.com, 1 zzadmin.de, 1 zzcc.de, 0 zzcc.loan, 1 diff --git a/security/manager/ssl/osclientcerts/Cargo.toml b/security/manager/ssl/osclientcerts/Cargo.toml index db71b97a46..7bd44a3b52 100644 --- a/security/manager/ssl/osclientcerts/Cargo.toml +++ b/security/manager/ssl/osclientcerts/Cargo.toml @@ -18,10 +18,10 @@ pkcs11-bindings = "0.1" rsclientcerts = { path = "../rsclientcerts" } sha2 = "0.10.2" -[target."cfg(target_os = \"macos\")".dependencies.core-foundation] +[target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.core-foundation] version = "0.9" -[target."cfg(target_os = \"macos\")".dependencies.libloading] +[target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.libloading] version = "0.7" [target."cfg(target_os = \"windows\")".dependencies.winapi] diff --git a/security/manager/ssl/osclientcerts/src/lib.rs b/security/manager/ssl/osclientcerts/src/lib.rs index acffe51556..728c244543 100644 --- a/security/manager/ssl/osclientcerts/src/lib.rs +++ b/security/manager/ssl/osclientcerts/src/lib.rs @@ -6,11 +6,11 @@ #![allow(non_snake_case)] extern crate byteorder; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] #[macro_use] extern crate core_foundation; extern crate env_logger; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] #[macro_use] extern crate lazy_static; #[cfg(target_os = "macos")] @@ -30,12 +30,12 @@ use std::ffi::CStr; use std::sync::Mutex; use std::thread; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] mod backend_macos; #[cfg(target_os = "windows")] mod backend_windows; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] use crate::backend_macos::Backend; #[cfg(target_os = "windows")] use crate::backend_windows::Backend; @@ -143,7 +143,7 @@ extern "C" fn C_Initialize(pInitArgs: CK_VOID_PTR) -> CK_RV { mechanisms, }) { Some(_unexpected_previous_module_state) => { - #[cfg(target_os = "macos")] + #[cfg(any(target_os = "macos", target_os = "ios"))] { log_with_thread_id!(info, "C_Initialize: module state previously set (this is expected on macOS - replacing it)"); } @@ -1233,5 +1233,5 @@ pub unsafe extern "C" fn C_GetFunctionList(ppFunctionList: CK_FUNCTION_LIST_PTR_ CKR_OK } -#[cfg_attr(target_os = "macos", link(name = "Security", kind = "framework"))] +#[cfg_attr(any(target_os = "macos", target_os = "ios"), link(name = "Security", kind = "framework"))] extern "C" {} diff --git a/security/manager/ssl/rsclientcerts/src/util.rs b/security/manager/ssl/rsclientcerts/src/util.rs index d0011a0a2e..114a747547 100644 --- a/security/manager/ssl/rsclientcerts/src/util.rs +++ b/security/manager/ssl/rsclientcerts/src/util.rs @@ -26,24 +26,24 @@ macro_rules! unsafe_packed_field_access { // The following ENCODED_OID_BYTES_* consist of the encoded bytes of an ASN.1 // OBJECT IDENTIFIER specifying the indicated OID (in other words, the full // tag, length, and value). -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const ENCODED_OID_BYTES_SECP256R1: &[u8] = &[0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07]; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const ENCODED_OID_BYTES_SECP384R1: &[u8] = &[0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22]; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const ENCODED_OID_BYTES_SECP521R1: &[u8] = &[0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x23]; // The following OID_BYTES_* consist of the contents of the bytes of an ASN.1 // OBJECT IDENTIFIER specifying the indicated OID (in other words, just the // value, and not the tag or length). -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const OID_BYTES_SHA_256: &[u8] = &[0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01]; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const OID_BYTES_SHA_384: &[u8] = &[0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02]; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const OID_BYTES_SHA_512: &[u8] = &[0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03]; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub const OID_BYTES_SHA_1: &[u8] = &[0x2b, 0x0e, 0x03, 0x02, 0x1a]; // This is a helper function to take a value and lay it out in memory how @@ -111,7 +111,7 @@ pub fn read_digest_info(digest_info: &[u8]) -> Result<(&[u8], &[u8]), Error> { /// Ecdsa-Sig-Value ::= SEQUENCE { /// r INTEGER, /// s INTEGER } -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] pub fn read_ec_sig_point(signature: &[u8]) -> Result<(&[u8], &[u8]), Error> { let mut sequence = Sequence::new(signature)?; let r = sequence.read_unsigned_integer()?; @@ -459,7 +459,7 @@ mod tests { fn empty_input_fails() { let empty = Vec::new(); assert!(read_rsa_modulus(&empty).is_err()); - #[cfg(target_os = "macos")] + #[cfg(any(target_os = "macos", target_os = "ios"))] assert!(read_ec_sig_point(&empty).is_err()); assert!(read_encoded_certificate_identifiers(&empty).is_err()); } @@ -468,7 +468,7 @@ mod tests { fn empty_sequence_fails() { let empty = vec![SEQUENCE | CONSTRUCTED]; assert!(read_rsa_modulus(&empty).is_err()); - #[cfg(target_os = "macos")] + #[cfg(any(target_os = "macos", target_os = "ios"))] assert!(read_ec_sig_point(&empty).is_err()); assert!(read_encoded_certificate_identifiers(&empty).is_err()); } diff --git a/security/manager/ssl/tests/mochitest/browser/browser_add_exception_dialog.js b/security/manager/ssl/tests/mochitest/browser/browser_add_exception_dialog.js index 0916ac5ce4..fa8a887753 100644 --- a/security/manager/ssl/tests/mochitest/browser/browser_add_exception_dialog.js +++ b/security/manager/ssl/tests/mochitest/browser/browser_add_exception_dialog.js @@ -20,7 +20,7 @@ function test() { function testAddCertificate() { win.removeEventListener("load", testAddCertificate); - Services.obs.addObserver(async function onCertUI(aSubject, aTopic, aData) { + Services.obs.addObserver(async function onCertUI() { Services.obs.removeObserver(onCertUI, "cert-exception-ui-ready"); ok(win.gCert, "The certificate information should be available now"); diff --git a/security/manager/ssl/tests/mochitest/browser/browser_deleteCert_ui.js b/security/manager/ssl/tests/mochitest/browser/browser_deleteCert_ui.js index a8ff7cc8fb..7e8fa034ff 100644 --- a/security/manager/ssl/tests/mochitest/browser/browser_deleteCert_ui.js +++ b/security/manager/ssl/tests/mochitest/browser/browser_deleteCert_ui.js @@ -92,7 +92,7 @@ function openDeleteCertConfirmDialog(tabID) { gCertArray, retVals ); - return new Promise((resolve, reject) => { + return new Promise(resolve => { win.addEventListener( "load", function () { diff --git a/security/manager/ssl/tests/mochitest/browser/browser_downloadCert_ui.js b/security/manager/ssl/tests/mochitest/browser/browser_downloadCert_ui.js index 51715b1352..c01ed84122 100644 --- a/security/manager/ssl/tests/mochitest/browser/browser_downloadCert_ui.js +++ b/security/manager/ssl/tests/mochitest/browser/browser_downloadCert_ui.js @@ -56,7 +56,7 @@ function openCertDownloadDialog(cert) { cert, returnVals ); - return new Promise((resolve, reject) => { + return new Promise(resolve => { win.addEventListener( "load", function () { diff --git a/security/manager/ssl/tests/mochitest/browser/browser_editCACertTrust.js b/security/manager/ssl/tests/mochitest/browser/browser_editCACertTrust.js index 9a36eca7bf..5743e01f6f 100644 --- a/security/manager/ssl/tests/mochitest/browser/browser_editCACertTrust.js +++ b/security/manager/ssl/tests/mochitest/browser/browser_editCACertTrust.js @@ -31,7 +31,7 @@ function openEditCertTrustDialog() { "", gCert ); - return new Promise((resolve, reject) => { + return new Promise(resolve => { win.addEventListener( "load", function () { diff --git a/security/manager/ssl/tests/mochitest/browser/browser_exportP12_passwordUI.js b/security/manager/ssl/tests/mochitest/browser/browser_exportP12_passwordUI.js index 8e6af27cbb..dc3b754531 100644 --- a/security/manager/ssl/tests/mochitest/browser/browser_exportP12_passwordUI.js +++ b/security/manager/ssl/tests/mochitest/browser/browser_exportP12_passwordUI.js @@ -73,7 +73,7 @@ function openSetP12PasswordDialog() { "", returnVals ); - return new Promise((resolve, reject) => { + return new Promise(resolve => { win.addEventListener( "load", function () { diff --git a/security/manager/ssl/tests/mochitest/browser/browser_loadPKCS11Module_ui.js b/security/manager/ssl/tests/mochitest/browser/browser_loadPKCS11Module_ui.js index 9e4e244123..4b7b78df8d 100644 --- a/security/manager/ssl/tests/mochitest/browser/browser_loadPKCS11Module_ui.js +++ b/security/manager/ssl/tests/mochitest/browser/browser_loadPKCS11Module_ui.js @@ -38,7 +38,7 @@ const gMockPKCS11ModuleDB = { } }, - deleteModule(moduleName) { + deleteModule() { Assert.ok(false, `deleteModule: should not be called`); }, @@ -102,7 +102,7 @@ var gMockPromptServiceCID = MockRegistrar.register( ); var gMockFilePicker = SpecialPowers.MockFilePicker; -gMockFilePicker.init(window); +gMockFilePicker.init(window.browsingContext); var gTempFile = Services.dirsvc.get("TmpD", Ci.nsIFile); gTempFile.append("browser_loadPKCS11Module_ui-fakeModule"); diff --git a/security/manager/ssl/tests/mochitest/browser/head.js b/security/manager/ssl/tests/mochitest/browser/head.js index 1ae951d7a5..f64e2afc6e 100644 --- a/security/manager/ssl/tests/mochitest/browser/head.js +++ b/security/manager/ssl/tests/mochitest/browser/head.js @@ -70,7 +70,7 @@ function readCertificate(filename, trustString) { */ async function openCertManager() { let win = window.openDialog("chrome://pippki/content/certManager.xhtml"); - return new Promise((resolve, reject) => { + return new Promise(resolve => { win.addEventListener( "load", function () { diff --git a/security/manager/ssl/tests/mochitest/mixedcontent/mochitest.toml b/security/manager/ssl/tests/mochitest/mixedcontent/mochitest.toml index 1a37ba6f38..4935021410 100644 --- a/security/manager/ssl/tests/mochitest/mixedcontent/mochitest.toml +++ b/security/manager/ssl/tests/mochitest/mixedcontent/mochitest.toml @@ -7,6 +7,7 @@ skip-if = [ prefs = [ "security.mixed_content.upgrade_display_content=false", "dom.security.https_first=false", + "dom.block_download_insecure=false", ] support-files = [ "alloworigin.sjs", diff --git a/security/manager/ssl/tests/unit/head_psm.js b/security/manager/ssl/tests/unit/head_psm.js index d34c7fdc1d..5667d2e020 100644 --- a/security/manager/ssl/tests/unit/head_psm.js +++ b/security/manager/ssl/tests/unit/head_psm.js @@ -300,7 +300,7 @@ function checkCertErrorGenericAtTime( /* optional */ hostname, /* optional */ flags = NO_FLAGS ) { - return new Promise((resolve, reject) => { + return new Promise(resolve => { let result = new CertVerificationExpectedErrorResult( cert.commonName, expectedError, @@ -570,7 +570,7 @@ async function asyncConnectTo( Connection.prototype = { // nsITransportEventSink - onTransportStatus(aTransport, aStatus, aProgress, aProgressMax) { + onTransportStatus(aTransport, aStatus) { if ( !this.connected && aStatus == Ci.nsISocketTransport.STATUS_CONNECTED_TO @@ -596,7 +596,7 @@ async function asyncConnectTo( }, // nsIOutputStreamCallback - onOutputStreamReady(aStream) { + onOutputStreamReady() { if (aAfterStreamOpen) { aAfterStreamOpen(this.transport); } @@ -774,7 +774,7 @@ function generateOCSPResponses(ocspRespArray, nssDBlocation) { // serverIdentities. function getFailingHttpServer(serverPort, serverIdentities) { let httpServer = new HttpServer(); - httpServer.registerPrefixHandler("/", function (request, response) { + httpServer.registerPrefixHandler("/", function () { Assert.ok(false, "HTTP responder should not have been queried"); }); httpServer.identity.setPrimary("http", serverIdentities.shift(), serverPort); @@ -902,7 +902,7 @@ function startOCSPResponder( // Given an OCSP responder (see startOCSPResponder), returns a promise that // resolves when the responder has successfully stopped. function stopOCSPResponder(responder) { - return new Promise((resolve, reject) => { + return new Promise(resolve => { responder.stop(resolve); }); } @@ -977,7 +977,7 @@ class CertVerificationResult { this.resolve = resolve; } - verifyCertFinished(aPRErrorCode, aVerifiedChain, aHasEVPolicy) { + verifyCertFinished(aPRErrorCode) { if (this.successExpected) { equal( aPRErrorCode, @@ -1017,7 +1017,7 @@ function asyncTestCertificateUsages(certdb, cert, expectedUsages) { let now = new Date().getTime() / 1000; let promises = []; Object.keys(allCertificateUsages).forEach(usageString => { - let promise = new Promise((resolve, reject) => { + let promise = new Promise(resolve => { let usage = allCertificateUsages[usageString]; let successExpected = expectedUsages.includes(usage); let result = new CertVerificationResult( diff --git a/security/manager/ssl/tests/unit/test_certDB_export_pkcs12_with_primary_password.js b/security/manager/ssl/tests/unit/test_certDB_export_pkcs12_with_primary_password.js index 25f4ab58bf..471330302f 100644 --- a/security/manager/ssl/tests/unit/test_certDB_export_pkcs12_with_primary_password.js +++ b/security/manager/ssl/tests/unit/test_certDB_export_pkcs12_with_primary_password.js @@ -30,7 +30,7 @@ var gPrompt = { ok(false, "not expecting alert() to be called"); }, - promptPassword(dialogTitle, text, password, checkMsg, checkValue) { + promptPassword(dialogTitle, text, password, checkMsg) { equal( text, "Please enter your Primary Password.", @@ -44,7 +44,7 @@ var gPrompt = { const gPromptFactory = { QueryInterface: ChromeUtils.generateQI(["nsIPromptFactory"]), - getPrompt: (aWindow, aIID) => gPrompt, + getPrompt: () => gPrompt, }; function findCertByCommonName(commonName) { diff --git a/security/manager/ssl/tests/unit/test_certDB_import.js b/security/manager/ssl/tests/unit/test_certDB_import.js index 86c66f4989..f91a7b750f 100644 --- a/security/manager/ssl/tests/unit/test_certDB_import.js +++ b/security/manager/ssl/tests/unit/test_certDB_import.js @@ -28,11 +28,11 @@ const gCertificateDialogs = { trust.value = Ci.nsIX509CertDB.TRUSTED_EMAIL; return true; }, - setPKCS12FilePassword: (ctx, password) => { + setPKCS12FilePassword: () => { // This is only relevant to exporting. ok(false, "setPKCS12FilePassword() should not have been called"); }, - getPKCS12FilePassword: (ctx, password) => { + getPKCS12FilePassword: () => { // We don't test anything that calls this method yet. ok(false, "getPKCS12FilePassword() should not have been called"); }, diff --git a/security/manager/ssl/tests/unit/test_certDB_import_with_primary_password.js b/security/manager/ssl/tests/unit/test_certDB_import_with_primary_password.js index ab1ad36fd2..07e360fffd 100644 --- a/security/manager/ssl/tests/unit/test_certDB_import_with_primary_password.js +++ b/security/manager/ssl/tests/unit/test_certDB_import_with_primary_password.js @@ -28,11 +28,11 @@ const gCertificateDialogs = { trust.value = Ci.nsIX509CertDB.TRUSTED_EMAIL; return true; }, - setPKCS12FilePassword: (ctx, password) => { + setPKCS12FilePassword: () => { // This is only relevant to exporting. ok(false, "setPKCS12FilePassword() should not have been called"); }, - getPKCS12FilePassword: (ctx, password) => { + getPKCS12FilePassword: () => { // We don't test anything that calls this method yet. ok(false, "getPKCS12FilePassword() should not have been called"); }, @@ -47,7 +47,7 @@ var gMockPrompter = { // This intentionally does not use arrow function syntax to avoid an issue // where in the context of the arrow function, |this != gMockPrompter| due to // how objects get wrapped when going across xpcom boundaries. - promptPassword(dialogTitle, text, password, checkMsg, checkValue) { + promptPassword(dialogTitle, text, password, checkMsg) { this.numPrompts++; if (this.numPrompts > 1) { // don't keep retrying a bad password diff --git a/security/manager/ssl/tests/unit/test_cert_dbKey.js b/security/manager/ssl/tests/unit/test_cert_dbKey.js index 3ff36f905c..4f729b037e 100644 --- a/security/manager/ssl/tests/unit/test_cert_dbKey.js +++ b/security/manager/ssl/tests/unit/test_cert_dbKey.js @@ -34,8 +34,9 @@ function encodeCommonNameAsBytes(commonName) { // SEQUENCE must be 127. Everything not in the contents of the common name // will take up 11 bytes, so the value of the common name itself can be at // most 116 bytes. - ok( - commonName.length <= 116, + Assert.lessOrEqual( + commonName.length, + 116, "test assumption: common name can't be longer than 116 bytes (makes " + "DER encoding easier)" ); @@ -88,13 +89,15 @@ function run_test() { "consists only of a common name" ); let issuerBytes = encodeCommonNameAsBytes(cert.issuerCommonName); - ok( - issuerBytes.length < 256, + Assert.less( + issuerBytes.length, + 256, "test assumption: length of encoded issuer is less than 256 bytes" ); let serialNumberBytes = hexStringToBytes(cert.serialNumber); - ok( - serialNumberBytes.length < 256, + Assert.less( + serialNumberBytes.length, + 256, "test assumption: length of encoded serial number is less than 256 bytes" ); let dbKeyHeader = [ @@ -129,13 +132,15 @@ function run_test() { "nsIX509CertDB.findCertByDBKey should find the right certificate" ); - ok( - expectedDbKey.length > 64, + Assert.greater( + expectedDbKey.length, + 64, "test assumption: dbKey should be longer than 64 characters" ); let expectedDbKeyWithCRLF = expectedDbKey.replace(/(.{64})/, "$1\r\n"); - ok( - expectedDbKeyWithCRLF.indexOf("\r\n") == 64, + Assert.equal( + expectedDbKeyWithCRLF.indexOf("\r\n"), + 64, "test self-check: adding CRLF to dbKey should succeed" ); certFromDbKey = certDB.findCertByDBKey(expectedDbKeyWithCRLF); @@ -145,8 +150,9 @@ function run_test() { ); let expectedDbKeyWithSpaces = expectedDbKey.replace(/(.{64})/, "$1 "); - ok( - expectedDbKeyWithSpaces.indexOf(" ") == 64, + Assert.equal( + expectedDbKeyWithSpaces.indexOf(" "), + 64, "test self-check: adding spaces to dbKey should succeed" ); certFromDbKey = certDB.findCertByDBKey(expectedDbKeyWithSpaces); diff --git a/security/manager/ssl/tests/unit/test_cert_utf8.js b/security/manager/ssl/tests/unit/test_cert_utf8.js index caeddd8158..82677237a3 100644 --- a/security/manager/ssl/tests/unit/test_cert_utf8.js +++ b/security/manager/ssl/tests/unit/test_cert_utf8.js @@ -60,8 +60,9 @@ function testUTF8InField(field, replacementPrefix, certificateBytesToAlter) { let uniqueIssuerReplacement = "ALWAYS MAKE ME UNIQU" + String.fromCharCode(gUniqueIssuerCounter); bytes = bytes.replace("ALWAYS MAKE ME UNIQUE", uniqueIssuerReplacement); - ok( - gUniqueIssuerCounter < 127, + Assert.less( + gUniqueIssuerCounter, + 127, "should have enough ASCII replacements to make a unique issuer DN" ); gUniqueIssuerCounter++; diff --git a/security/manager/ssl/tests/unit/test_ev_certs.js b/security/manager/ssl/tests/unit/test_ev_certs.js index f163623919..99b5bda0f0 100644 --- a/security/manager/ssl/tests/unit/test_ev_certs.js +++ b/security/manager/ssl/tests/unit/test_ev_certs.js @@ -84,7 +84,7 @@ function asyncTestEV( ocspResponseTypes = undefined ) { let now = Date.now() / 1000; - return new Promise((resolve, reject) => { + return new Promise(resolve => { let ocspResponder = expectedOCSPRequestPaths.length ? startOCSPResponder( SERVER_PORT, @@ -157,7 +157,7 @@ function verifyWithFlags_LOCAL_ONLY_and_MUST_BE_EV(testcase, expectSuccess) { if (expectSuccess && gEVExpected) { expectedErrorCode = PRErrorCodeSuccess; } - return new Promise((resolve, reject) => { + return new Promise(resolve => { let ocspResponder = failingOCSPResponder(); let result = new EVCertVerificationResult( cert.subjectName, diff --git a/security/manager/ssl/tests/unit/test_faulty_server.js b/security/manager/ssl/tests/unit/test_faulty_server.js index 7536a91104..f617908e28 100644 --- a/security/manager/ssl/tests/unit/test_faulty_server.js +++ b/security/manager/ssl/tests/unit/test_faulty_server.js @@ -13,7 +13,7 @@ var httpServer = null; let handlerCallbacks = {}; -function listenHandler(metadata, response) { +function listenHandler(metadata) { info(metadata.path); handlerCallbacks[metadata.path] = (handlerCallbacks[metadata.path] || 0) + 1; } diff --git a/security/manager/ssl/tests/unit/test_logoutAndTeardown.js b/security/manager/ssl/tests/unit/test_logoutAndTeardown.js index 1582978398..531b1acb22 100644 --- a/security/manager/ssl/tests/unit/test_logoutAndTeardown.js +++ b/security/manager/ssl/tests/unit/test_logoutAndTeardown.js @@ -163,7 +163,7 @@ function storeCertOverride(port, cert) { function startClient(port) { let req = new XMLHttpRequest(); req.open("GET", `https://${hostname}:${port}`); - return new Promise((resolve, reject) => { + return new Promise(resolve => { req.onload = () => { ok(false, "should not have gotten load event"); resolve(); diff --git a/security/manager/ssl/tests/unit/test_ocsp_private_caching.js b/security/manager/ssl/tests/unit/test_ocsp_private_caching.js index 47b976cf71..3a56118bdf 100644 --- a/security/manager/ssl/tests/unit/test_ocsp_private_caching.js +++ b/security/manager/ssl/tests/unit/test_ocsp_private_caching.js @@ -74,16 +74,7 @@ function add_ocsp_necko_cache_test(loadContext) { let foundEntry = false; let visitor = { onCacheStorageInfo() {}, - onCacheEntryInfo( - aURI, - aIdEnhance, - aDataSize, - aFetchCount, - aLastModifiedTime, - aExpirationTime, - aPinned, - aInfo - ) { + onCacheEntryInfo(aURI) { Assert.equal( aURI.spec, "http://localhost:8888/", diff --git a/security/manager/ssl/tests/unit/test_ocsp_timeout.js b/security/manager/ssl/tests/unit/test_ocsp_timeout.js index 8d606bc028..5d3487bfe7 100644 --- a/security/manager/ssl/tests/unit/test_ocsp_timeout.js +++ b/security/manager/ssl/tests/unit/test_ocsp_timeout.js @@ -21,7 +21,7 @@ var gSocketListener = { socketTransport.setTimeout(Ci.nsISocketTransport.TIMEOUT_READ_WRITE, 30); }, - onStopListening(serverSocket, status) {}, + onStopListening() {}, }; function run_test() { @@ -77,8 +77,9 @@ function add_one_test(useHardFail, timeoutPrefName, timeoutMilliseconds) { // prevent intermittent failures (this only appeared to be a problem on // Windows XP). See Bug 1121117. const FUZZ_MS = 300; - ok( - timeDifference + FUZZ_MS > timeoutMilliseconds, + Assert.greater( + timeDifference + FUZZ_MS, + timeoutMilliseconds, `OCSP timeout should be ~${timeoutMilliseconds}s for ` + `${useHardFail ? "hard" : "soft"}-fail` ); @@ -86,8 +87,9 @@ function add_one_test(useHardFail, timeoutPrefName, timeoutMilliseconds) { // (Unfortunately, we probably can't have a tight upper bound on // how long is too long for this test, because we might be running // on slow hardware.) - ok( - timeDifference < 60000, + Assert.less( + timeDifference, + 60000, "Automatic OCSP timeout shouldn't be more than 60s" ); diff --git a/security/manager/ssl/tests/unit/test_oskeystore.js b/security/manager/ssl/tests/unit/test_oskeystore.js index fcc9de6c59..9efcaa69a6 100644 --- a/security/manager/ssl/tests/unit/test_oskeystore.js +++ b/security/manager/ssl/tests/unit/test_oskeystore.js @@ -51,8 +51,9 @@ async function encrypt_decrypt_test() { // Decrypting should give us the plaintext bytes again. try { let plaintext = await keystore.asyncDecryptBytes(LABELS[0], ciphertext); - ok( - plaintext.toString() == text.toString(), + Assert.equal( + plaintext.toString(), + text.toString(), "Decrypted plaintext should be the same as text." ); } catch (e) { @@ -102,8 +103,9 @@ add_task(async function () { await keystore.asyncRecoverSecret(LABELS[0], recoveryPhrase); let plaintext = await keystore.asyncDecryptBytes(LABELS[0], ciphertext); - ok( - plaintext.toString() == text.toString(), + Assert.equal( + plaintext.toString(), + text.toString(), "Decrypted plaintext should be the same as text." ); @@ -166,8 +168,9 @@ add_task(async function () { await keystore.asyncRecoverSecret(LABELS[0], recoveryPhrase); let plaintext = await keystore.asyncDecryptBytes(LABELS[0], ciphertext); - ok( - plaintext.toString() == text.toString(), + Assert.equal( + plaintext.toString(), + text.toString(), "Decrypted plaintext should be the same as text (once we have the original key again)." ); @@ -204,8 +207,9 @@ add_task(async function () { await keystore.asyncRecoverSecret(LABELS[0], newRecoveryPhrase); let plaintext = await keystore.asyncDecryptBytes(LABELS[0], ciphertext); - ok( - plaintext.toString() == text.toString(), + Assert.equal( + plaintext.toString(), + text.toString(), "Decrypted plaintext should be the same as text (once we have the new key again)." ); diff --git a/security/manager/ssl/tests/unit/test_osreauthenticator.js b/security/manager/ssl/tests/unit/test_osreauthenticator.js index 01784a5fef..55d9710c0d 100644 --- a/security/manager/ssl/tests/unit/test_osreauthenticator.js +++ b/security/manager/ssl/tests/unit/test_osreauthenticator.js @@ -13,14 +13,15 @@ add_task(async function test_asyncReauthenticateUser() { ].getService(Ci.nsIOSReauthenticator); ok(reauthenticator, "nsIOSReauthenticator should be available"); const EXPECTED = false; // Change this variable to suit your needs while testing. - ok( + Assert.equal( ( await reauthenticator.asyncReauthenticateUser( "this is the prompt string", "this is the caption string", null ) - )[0] == EXPECTED, + )[0], + EXPECTED, "nsIOSReauthenticator.asyncReauthenticateUser should return a boolean array with the first item being the authentication result of: " + EXPECTED ); diff --git a/security/manager/ssl/tests/unit/test_password_prompt.js b/security/manager/ssl/tests/unit/test_password_prompt.js index cf4c6db7bf..a88dd67703 100644 --- a/security/manager/ssl/tests/unit/test_password_prompt.js +++ b/security/manager/ssl/tests/unit/test_password_prompt.js @@ -16,7 +16,7 @@ var gMockPrompter = { // This intentionally does not use arrow function syntax to avoid an issue // where in the context of the arrow function, |this != gMockPrompter| due to // how objects get wrapped when going across xpcom boundaries. - promptPassword(dialogTitle, text, password, checkMsg, checkValue) { + promptPassword(dialogTitle, text, password, checkMsg) { this.numPrompts++; if (this.numPrompts > 1) { // don't keep retrying a bad password diff --git a/security/manager/ssl/tests/unit/test_pkcs11_slot.js b/security/manager/ssl/tests/unit/test_pkcs11_slot.js index dba2a4d3a1..f04c296f9b 100644 --- a/security/manager/ssl/tests/unit/test_pkcs11_slot.js +++ b/security/manager/ssl/tests/unit/test_pkcs11_slot.js @@ -44,7 +44,7 @@ var gPrompt = { const gPromptFactory = { QueryInterface: ChromeUtils.generateQI(["nsIPromptFactory"]), - getPrompt: (aWindow, aIID) => gPrompt, + getPrompt: () => gPrompt, }; function run_test() { diff --git a/security/manager/ssl/tests/unit/test_sdr.js b/security/manager/ssl/tests/unit/test_sdr.js index e9e477efc5..73c2219fc6 100644 --- a/security/manager/ssl/tests/unit/test_sdr.js +++ b/security/manager/ssl/tests/unit/test_sdr.js @@ -22,7 +22,7 @@ const gTokenPasswordDialogs = { }; let gMockPrompter = { - promptPassword(dialogTitle, text, password, checkMsg, checkValue) { + promptPassword() { // Returning false simulates the user canceling the password prompt. return false; }, diff --git a/security/manager/ssl/tests/unit/test_sdr_preexisting_with_password.js b/security/manager/ssl/tests/unit/test_sdr_preexisting_with_password.js index 5c1b2bb653..fa2b536036 100644 --- a/security/manager/ssl/tests/unit/test_sdr_preexisting_with_password.js +++ b/security/manager/ssl/tests/unit/test_sdr_preexisting_with_password.js @@ -17,7 +17,7 @@ var gMockPrompter = { // This intentionally does not use arrow function syntax to avoid an issue // where in the context of the arrow function, |this != gMockPrompter| due to // how objects get wrapped when going across xpcom boundaries. - promptPassword(dialogTitle, text, password, checkMsg, checkValue) { + promptPassword(dialogTitle, text, password, checkMsg) { this.numPrompts++; if (this.numPrompts > 1) { // don't keep retrying a bad password diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs.js b/security/manager/ssl/tests/unit/test_self_signed_certs.js index ef0a38f9bc..2500ea38a5 100644 --- a/security/manager/ssl/tests/unit/test_self_signed_certs.js +++ b/security/manager/ssl/tests/unit/test_self_signed_certs.js @@ -65,7 +65,7 @@ add_task(async function test_no_overlong_path_building() { } let timeAfter = Date.now(); let secondsElapsed = (timeAfter - timeBefore) / 1000; - ok(secondsElapsed < 120, "verifications shouldn't take too long"); + Assert.less(secondsElapsed, 120, "verifications shouldn't take too long"); }); add_task(async function test_no_bad_signature() { diff --git a/security/manager/ssl/tests/unit/test_signed_apps.js b/security/manager/ssl/tests/unit/test_signed_apps.js index 4893bfd714..3ec35a8608 100644 --- a/security/manager/ssl/tests/unit/test_signed_apps.js +++ b/security/manager/ssl/tests/unit/test_signed_apps.js @@ -96,7 +96,7 @@ function tamper(inFilePath, outFilePath, modifications, newEntries) { } } -function removeEntry(entry, entryInput) { +function removeEntry() { return [null, null]; } @@ -116,8 +116,8 @@ function truncateEntry(entry, entryInput) { return [entry, content]; } -function check_open_result(name, expectedRv) { - return function openSignedAppFileCallback(rv, aZipReader, aSignerCert) { +function check_open_result(name, expectedRv, expectedSignatureAlgorithms) { + return function openSignedAppFileCallback(rv, aZipReader, aSignatureInfos) { info("openSignedAppFileCallback called for " + name); equal(rv, expectedRv, "Actual and expected return value should match"); equal( @@ -126,10 +126,17 @@ function check_open_result(name, expectedRv) { "ZIP reader should be null only if the return value denotes failure" ); equal( - aSignerCert != null, - Components.isSuccessCode(expectedRv), - "Signer cert should be null only if the return value denotes failure" + aSignatureInfos.length, + expectedSignatureAlgorithms.length, + "Should have the same number of expected signature infos" ); + for (let i = 0; i < expectedSignatureAlgorithms.length; i++) { + equal( + aSignatureInfos[i].signatureAlgorithm, + expectedSignatureAlgorithms[i], + "Should have expected signature algorithm" + ); + } run_next_test(); }; } @@ -149,89 +156,152 @@ function tampered_app_path(test_name) { var hashTestcases = [ // SHA-256 in PKCS#7 + SHA-256 present elsewhere => OK - { name: "app_mf-1-256_sf-1-256_p7-1-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-1-256_sf-1-256_p7-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-1-256_sf-256_p7-1-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-1-256_sf-256_p7-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-256_sf-1-256_p7-1-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-256_sf-1-256_p7-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-256_sf-256_p7-1-256", expectedResult: Cr.NS_OK }, - { name: "app_mf-256_sf-256_p7-256", expectedResult: Cr.NS_OK }, + { + name: "app_mf-1-256_sf-1-256_p7-1-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-1-256_sf-1-256_p7-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-1-256_sf-256_p7-1-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-1-256_sf-256_p7-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-256_sf-1-256_p7-1-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-256_sf-1-256_p7-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-256_sf-256_p7-1-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, + { + name: "app_mf-256_sf-256_p7-256", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256], + }, // SHA-1 in PKCS#7 + SHA-1 present elsewhere => OK - { name: "app_mf-1-256_sf-1-256_p7-1", expectedResult: Cr.NS_OK }, - { name: "app_mf-1-256_sf-1_p7-1", expectedResult: Cr.NS_OK }, - { name: "app_mf-1_sf-1-256_p7-1", expectedResult: Cr.NS_OK }, - { name: "app_mf-1_sf-1_p7-1", expectedResult: Cr.NS_OK }, + { + name: "app_mf-1-256_sf-1-256_p7-1", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1], + }, + { + name: "app_mf-1-256_sf-1_p7-1", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1], + }, + { + name: "app_mf-1_sf-1-256_p7-1", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1], + }, + { + name: "app_mf-1_sf-1_p7-1", + expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1], + }, // SHA-256 in PKCS#7 + SHA-256 not present elsewhere => INVALID { name: "app_mf-1-256_sf-1_p7-1-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1-256_sf-1_p7-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-1-256_p7-1-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-1-256_p7-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-1_p7-1-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-1_p7-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-256_p7-1-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-256_p7-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-256_sf-1_p7-1-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-256_sf-1_p7-256", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, // SHA-1 in PKCS#7 + SHA-1 not present elsewhere => INVALID { name: "app_mf-1-256_sf-256_p7-1", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-1_sf-256_p7-1", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-256_sf-1-256_p7-1", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-256_sf-1_p7-1", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, { name: "app_mf-256_sf-256_p7-1", expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], }, ]; // Policy values for the preference "security.signed_app_signatures.policy" const PKCS7WithSHA1OrSHA256 = 0b0; -const PKCS7WithSHA256 = 0b1; +const PKCS7_WITH_SHA256 = 0b1; const COSEAndPKCS7WithSHA1OrSHA256 = 0b10; const COSEAndPKCS7WithSHA256 = 0b11; const COSERequiredAndPKCS7WithSHA1OrSHA256 = 0b100; @@ -254,7 +324,11 @@ for (let testcase of hashTestcases) { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path(testcase.name), - check_open_result(testcase.name, testcase.expectedResult) + check_open_result( + testcase.name, + testcase.expectedResult, + testcase.expectedSignatureAlgorithms + ) ); }); } @@ -265,7 +339,8 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { original_app_path("empty_signerInfos"), check_open_result( "the signerInfos in the PKCS#7 signature is empty", - Cr.NS_ERROR_CMS_VERIFY_NOT_SIGNED + Cr.NS_ERROR_CMS_VERIFY_NOT_SIGNED, + [] ) ); }); @@ -274,7 +349,7 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("unsigned_app"), - check_open_result("unsigned", Cr.NS_ERROR_SIGNED_JAR_NOT_SIGNED) + check_open_result("unsigned", Cr.NS_ERROR_SIGNED_JAR_NOT_SIGNED, []) ); }); @@ -284,7 +359,8 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { original_app_path("unknown_issuer_app"), check_open_result( "unknown_issuer", - getXPCOMStatusFromNSS(SEC_ERROR_UNKNOWN_ISSUER) + getXPCOMStatusFromNSS(SEC_ERROR_UNKNOWN_ISSUER), + [] ) ); }); @@ -293,7 +369,10 @@ add_signature_test(COSEAndPKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("cose_signed_with_pkcs7"), - check_open_result("cose_signed_with_pkcs7", Cr.NS_OK) + check_open_result("cose_signed_with_pkcs7", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); @@ -301,7 +380,9 @@ add_signature_test(COSEAndPKCS7WithSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("app_mf-256_sf-256_p7-256"), - check_open_result("no COSE but correct PK#7", Cr.NS_OK) + check_open_result("no COSE but correct PK#7", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); @@ -311,7 +392,8 @@ add_signature_test(COSEAndPKCS7WithSHA256, function () { original_app_path("app_mf-1_sf-256_p7-256"), check_open_result( "no COSE and wrong PK#7 hash", - Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID + Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + [] ) ); }); @@ -322,7 +404,8 @@ add_signature_test(COSERequiredAndPKCS7WithSHA1OrSHA256, function () { original_app_path("app_mf-256_sf-256_p7-256"), check_open_result( "COSE signature missing (SHA1 or 256)", - Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE + Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE, + [] ) ); }); @@ -333,7 +416,8 @@ add_signature_test(COSERequiredAndPKCS7WithSHA256, function () { original_app_path("app_mf-256_sf-256_p7-256"), check_open_result( "COSE signature missing (SHA256)", - Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE + Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE, + [] ) ); }); @@ -344,7 +428,8 @@ add_signature_test(COSERequiredAndPKCS7WithSHA256, function () { original_app_path("only_cose_signed"), check_open_result( "COSE signature only (PK#7 allowed, not present)", - Cr.NS_OK + Cr.NS_OK, + [Ci.nsIAppSignatureInfo.COSE_WITH_SHA256] ) ); }); @@ -355,7 +440,8 @@ add_signature_test(COSERequiredAndPKCS7WithSHA1OrSHA256, function () { original_app_path("only_cose_signed"), check_open_result( "COSE signature only (PK#7 allowed, not present)", - Cr.NS_OK + Cr.NS_OK, + [Ci.nsIAppSignatureInfo.COSE_WITH_SHA256] ) ); }); @@ -364,7 +450,10 @@ add_signature_test(COSEAndPKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("cose_multiple_signed_with_pkcs7"), - check_open_result("cose_multiple_signed_with_pkcs7", Cr.NS_OK) + check_open_result("cose_multiple_signed_with_pkcs7", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); @@ -372,7 +461,10 @@ add_signature_test(COSEAndPKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("cose_int_signed_with_pkcs7"), - check_open_result("COSE signed with an intermediate", Cr.NS_OK) + check_open_result("COSE signed with an intermediate", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); @@ -382,7 +474,8 @@ add_signature_test(COSEAndPKCS7WithSHA1OrSHA256, function () { original_app_path("only_cose_signed"), check_open_result( "PK7 signature missing", - Cr.NS_ERROR_SIGNED_JAR_NOT_SIGNED + Cr.NS_ERROR_SIGNED_JAR_NOT_SIGNED, + [] ) ); }); @@ -393,7 +486,8 @@ add_signature_test(COSEOnly, function () { original_app_path("cose_multiple_signed_with_pkcs7"), check_open_result( "Expected only COSE signature", - Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY, + [] ) ); }); @@ -402,7 +496,9 @@ add_signature_test(COSEOnly, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("only_cose_multiple_signed"), - check_open_result("only Multiple COSE signatures", Cr.NS_OK) + check_open_result("only Multiple COSE signatures", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + ]) ); }); @@ -410,7 +506,9 @@ add_signature_test(COSEOnly, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("only_cose_signed"), - check_open_result("only_cose_signed", Cr.NS_OK) + check_open_result("only_cose_signed", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + ]) ); }); @@ -418,7 +516,9 @@ add_signature_test(COSEOnlyAgain, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("only_cose_signed"), - check_open_result("only_cose_signed (again)", Cr.NS_OK) + check_open_result("only_cose_signed (again)", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + ]) ); }); @@ -428,7 +528,8 @@ add_signature_test(COSEOnly, function () { original_app_path("cose_signed_with_pkcs7"), check_open_result( "COSE only expected but also PK#7 signed", - Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY, + [] ) ); }); @@ -440,7 +541,9 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("app_mf-1_sf-1_p7-1"), - check_open_result("identity_tampering", Cr.NS_OK) + check_open_result("identity_tampering", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1, + ]) ); }); @@ -455,7 +558,7 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("missing_rsa", Cr.NS_ERROR_SIGNED_JAR_NOT_SIGNED) + check_open_result("missing_rsa", Cr.NS_ERROR_SIGNED_JAR_NOT_SIGNED, []) ); }); @@ -470,7 +573,7 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("missing_sf", Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID) + check_open_result("missing_sf", Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, []) ); }); @@ -487,7 +590,8 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { tampered, check_open_result( "missing_manifest_mf", - Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID + Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + [] ) ); }); @@ -503,7 +607,7 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("missing_entry", Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING) + check_open_result("missing_entry", Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING, []) ); }); @@ -518,7 +622,11 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("truncated_entry", Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY) + check_open_result( + "truncated_entry", + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] + ) ); }); @@ -535,7 +643,8 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { tampered, check_open_result( "truncated_manifestFile", - Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID + Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + [] ) ); }); @@ -553,7 +662,8 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { tampered, check_open_result( "truncated_signatureFile", - getXPCOMStatusFromNSS(SEC_ERROR_PKCS7_BAD_SIGNATURE) + getXPCOMStatusFromNSS(SEC_ERROR_PKCS7_BAD_SIGNATURE), + [] ) ); }); @@ -569,7 +679,11 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("truncated_pkcs7File", Cr.NS_ERROR_CMS_VERIFY_NOT_SIGNED) + check_open_result( + "truncated_pkcs7File", + Cr.NS_ERROR_CMS_VERIFY_NOT_SIGNED, + [] + ) ); }); @@ -581,7 +695,11 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("unsigned_entry", Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY) + check_open_result( + "unsigned_entry", + Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY, + [] + ) ); }); @@ -595,35 +713,41 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { tampered, check_open_result( "unsigned_metainf_entry", - Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY, + [] ) ); }); -add_signature_test(PKCS7WithSHA256, function testSHA1Disabled() { +add_signature_test(PKCS7_WITH_SHA256, function testSHA1Disabled() { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("app_mf-1_sf-1_p7-1"), check_open_result( "SHA-1 should not be accepted if disabled by policy", - Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE + Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE, + [] ) ); }); -add_signature_test(PKCS7WithSHA256, function testSHA256WorksWithSHA1Disabled() { - certdb.openSignedAppFileAsync( - Ci.nsIX509CertDB.AppXPCShellRoot, - original_app_path("app_mf-256_sf-256_p7-256"), - check_open_result( - "SHA-256 should work if SHA-1 is disabled by policy", - Cr.NS_OK - ) - ); -}); +add_signature_test( + PKCS7_WITH_SHA256, + function testSHA256WorksWithSHA1Disabled() { + certdb.openSignedAppFileAsync( + Ci.nsIX509CertDB.AppXPCShellRoot, + original_app_path("app_mf-256_sf-256_p7-256"), + check_open_result( + "SHA-256 should work if SHA-1 is disabled by policy", + Cr.NS_OK, + [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256] + ) + ); + } +); add_signature_test( - PKCS7WithSHA256, + PKCS7_WITH_SHA256, function testMultipleSignaturesWorkWithSHA1Disabled() { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, @@ -631,7 +755,8 @@ add_signature_test( check_open_result( "Multiple signatures should work if SHA-1 is " + "disabled by policy (if SHA-256 signature verifies)", - Cr.NS_OK + Cr.NS_OK, + [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256] ) ); } @@ -642,26 +767,43 @@ var cosePolicies = [ COSERequiredAndPKCS7WithSHA1OrSHA256, ]; -// PS256 is not yet supported. +// NOTE: The zip files referenced in coseTestcasesStage and coseTestcasesProd +// were originally generated with +// https://github.com/mozilla-services/autograph/blob/c890e14de5b04dcff9be0d07fdea4ae6bbb58557/tools/autograph-client/build_test_xpis.sh +// Since then, the mechanism to sign these packages have changed, see +// https://bugzilla.mozilla.org/show_bug.cgi?id=1885457 for details. + var coseTestcasesStage = [ { - name: "autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-ES384", + name: "addons-stage-tomato-clock-sha1-es256-es384", expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1, + ], root: Ci.nsIX509CertDB.AddonsStageRoot, }, { - name: "autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-PS256", + name: "addons-stage-tomato-clock-sha1-es256-ps256", + // PS256 is not yet supported. expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], root: Ci.nsIX509CertDB.AddonsStageRoot, }, { - name: "autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256", + name: "addons-stage-tomato-clock-sha1-es256", expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1, + ], root: Ci.nsIX509CertDB.AddonsStageRoot, }, { - name: "autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-PS256", + name: "addons-stage-tomato-clock-sha1-ps256", + // PS256 is not yet supported. expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], root: Ci.nsIX509CertDB.AddonsStageRoot, }, ]; @@ -670,21 +812,33 @@ var coseTestcasesProd = [ { name: "autograph-714ba248-prod-tomato-clock-PKCS7-SHA1-ES256-ES384", expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1, + ], root: Ci.nsIX509CertDB.AddonsPublicRoot, }, { name: "autograph-714ba248-prod-tomato-clock-PKCS7-SHA1-ES256-PS256", + // PS256 is not yet supported. expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], root: Ci.nsIX509CertDB.AddonsPublicRoot, }, { name: "autograph-714ba248-prod-tomato-clock-PKCS7-SHA1-ES256", expectedResult: Cr.NS_OK, + expectedSignatureAlgorithms: [ + Ci.nsIAppSignatureInfo.COSE_WITH_SHA256, + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1, + ], root: Ci.nsIX509CertDB.AddonsPublicRoot, }, { name: "autograph-714ba248-prod-tomato-clock-PKCS7-SHA1-PS256", + // PS256 is not yet supported. expectedResult: Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + expectedSignatureAlgorithms: [], root: Ci.nsIX509CertDB.AddonsPublicRoot, }, ]; @@ -695,7 +849,11 @@ for (let policy of cosePolicies) { certdb.openSignedAppFileAsync( testcase.root, original_app_path(testcase.name), - check_open_result(testcase.name, testcase.expectedResult) + check_open_result( + testcase.name, + testcase.expectedResult, + testcase.expectedSignatureAlgorithms + ) ); }); } @@ -714,7 +872,8 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSESigTampered() { tampered, check_open_result( "cose_sig_tampered", - Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] ) ); }); @@ -732,7 +891,11 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSESigRemoved() { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("cose_sig_removed", Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING) + check_open_result( + "cose_sig_removed", + Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING, + [] + ) ); }); @@ -749,7 +912,8 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSEManifestTampered() { tampered, check_open_result( "cose_manifest_tampered", - Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] ) ); }); @@ -767,7 +931,8 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSEManifestRemoved() { tampered, check_open_result( "cose_manifest_removed", - Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING + Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING, + [] ) ); }); @@ -780,7 +945,11 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSEFileAdded() { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("cose_file_added", Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY) + check_open_result( + "cose_file_added", + Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY, + [] + ) ); }); @@ -795,7 +964,11 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSEFileRemoved() { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, tampered, - check_open_result("cose_file_removed", Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING) + check_open_result( + "cose_file_removed", + Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING, + [] + ) ); }); @@ -812,7 +985,8 @@ add_signature_test(COSEAndPKCS7WithSHA256, function testCOSEFileTampered() { tampered, check_open_result( "cose_file_tampered", - Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] ) ); }); @@ -830,7 +1004,8 @@ add_signature_test(COSEOnly, function testOnlyCOSESigTampered() { tampered, check_open_result( "only_cose_sig_tampered", - Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID + Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + [] ) ); }); @@ -848,7 +1023,8 @@ add_signature_test(COSEOnly, function testOnlyCOSESigRemoved() { tampered, check_open_result( "only_cose_sig_removed", - Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE + Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE, + [] ) ); }); @@ -866,7 +1042,8 @@ add_signature_test(COSEOnly, function testOnlyCOSEManifestTampered() { tampered, check_open_result( "only_cose_manifest_tampered", - Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID + Cr.NS_ERROR_SIGNED_JAR_MANIFEST_INVALID, + [] ) ); }); @@ -884,7 +1061,8 @@ add_signature_test(COSEOnly, function testOnlyCOSEManifestRemoved() { tampered, check_open_result( "only_cose_manifest_removed", - Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE + Cr.NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE, + [] ) ); }); @@ -899,7 +1077,8 @@ add_signature_test(COSEOnly, function testOnlyCOSEFileAdded() { tampered, check_open_result( "only_cose_file_added", - Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY, + [] ) ); }); @@ -917,7 +1096,8 @@ add_signature_test(COSEOnly, function testOnlyCOSEFileRemoved() { tampered, check_open_result( "only_cose_file_removed", - Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING + Cr.NS_ERROR_SIGNED_JAR_ENTRY_MISSING, + [] ) ); }); @@ -935,7 +1115,8 @@ add_signature_test(COSEOnly, function testOnlyCOSEFileTampered() { tampered, check_open_result( "only_cose_file_tampered", - Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] ) ); }); @@ -951,7 +1132,8 @@ add_signature_test(COSEAndPKCS7WithSHA1OrSHA256, function () { check_open_result( "tampered COSE with good PKCS7 signature should fail " + "when COSE and PKCS7 is processed", - Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] ) ); }); @@ -963,7 +1145,8 @@ add_signature_test(COSEOnly, function () { check_open_result( "tampered COSE with good PKCS7 signature should fail " + "when only COSE is processed", - Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY + Cr.NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY, + [] ) ); }); @@ -974,9 +1157,10 @@ add_signature_test(PKCS7WithSHA1OrSHA256, function () { Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("cose_tampered_good_pkcs7"), check_open_result( - "tampered COSE with good PKCS7 signature should succeed" + + "tampered COSE with good PKCS7 signature should succeed " + "when COSE is not processed", - Cr.NS_OK + Cr.NS_OK, + [Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA1] ) ); }); @@ -985,7 +1169,7 @@ add_test(function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("bug_1411458"), - check_open_result("bug 1411458", Cr.NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO) + check_open_result("bug 1411458", Cr.NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO, []) ); }); @@ -994,7 +1178,9 @@ add_test(function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("big_manifest"), - check_open_result("add-on with big manifest file", Cr.NS_OK) + check_open_result("add-on with big manifest file", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); @@ -1006,7 +1192,8 @@ add_test(function () { original_app_path("huge_manifest"), check_open_result( "add-on with huge manifest file", - Cr.NS_ERROR_SIGNED_JAR_ENTRY_INVALID + Cr.NS_ERROR_SIGNED_JAR_ENTRY_INVALID, + [] ) ); }); @@ -1017,7 +1204,9 @@ add_test(function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("validity_not_yet_valid"), - check_open_result("validity_not_yet_valid", Cr.NS_OK) + check_open_result("validity_not_yet_valid", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); @@ -1027,7 +1216,9 @@ add_test(function () { certdb.openSignedAppFileAsync( Ci.nsIX509CertDB.AppXPCShellRoot, original_app_path("validity_expired"), - check_open_result("validity_expired", Cr.NS_OK) + check_open_result("validity_expired", Cr.NS_OK, [ + Ci.nsIAppSignatureInfo.PKCS7_WITH_SHA256, + ]) ); }); diff --git a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256.zip b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256-es384.zip Binary files differindex b1d1999551..cb6767385c 100644 --- a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256.zip +++ b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256-es384.zip diff --git a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-ES384.zip b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256-ps256.zip Binary files differindex b74e087620..d67b405ff7 100644 --- a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-ES384.zip +++ b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256-ps256.zip diff --git a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-PS256.zip b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256.zip Binary files differindex 0ce563680d..146bc0caf9 100644 --- a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-PS256.zip +++ b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256.zip diff --git a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-PS256.zip b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-ps256.zip Binary files differindex 772c42e494..6f16f2c4f7 100644 --- a/security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-PS256.zip +++ b/security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-ps256.zip diff --git a/security/manager/ssl/tests/unit/test_sts_preloadlist_perwindowpb.js b/security/manager/ssl/tests/unit/test_sts_preloadlist_perwindowpb.js index 6b1b4a5ba6..f5f4a4ace7 100644 --- a/security/manager/ssl/tests/unit/test_sts_preloadlist_perwindowpb.js +++ b/security/manager/ssl/tests/unit/test_sts_preloadlist_perwindowpb.js @@ -6,7 +6,7 @@ var gSSService = Cc["@mozilla.org/ssservice;1"].getService( function Observer() {} Observer.prototype = { - observe(subject, topic, data) { + observe(subject, topic) { if (topic == "last-pb-context-exited") { run_next_test(); } diff --git a/security/manager/ssl/tests/unit/tlsserver/cmd/FaultyServer.cpp b/security/manager/ssl/tests/unit/tlsserver/cmd/FaultyServer.cpp index 38bfa87e1a..4764ed921d 100644 --- a/security/manager/ssl/tests/unit/tlsserver/cmd/FaultyServer.cpp +++ b/security/manager/ssl/tests/unit/tlsserver/cmd/FaultyServer.cpp @@ -157,7 +157,7 @@ void SecretCallbackFailZeroRtt(PRFileDesc* fd, PRUint16 epoch, } else if (!strcmp(host->mHostName, kHostZeroRttAlertVersion)) { SSL3_SendAlert(ss, alert_fatal, protocol_version); } else if (!strcmp(host->mHostName, kHostZeroRttAlertUnexpected)) { - SSL3_SendAlert(ss, alert_fatal, no_alert); + SSL3_SendAlert(ss, alert_fatal, unexpected_message); } } } diff --git a/security/moz.build b/security/moz.build index d19bb9e6e2..b30e9c2f72 100644 --- a/security/moz.build +++ b/security/moz.build @@ -102,6 +102,10 @@ gyp_vars["ssl_enable_zlib"] = 0 gyp_vars["use_system_sqlite"] = 1 gyp_vars["sqlite_libs"] = "sqlite" gyp_vars["enable_draft_hpke"] = 1 +# This makes a block in security/nss/coreconf/config.gypi happy, but it +# doesn't actually matter because it's for xcode settings, which the +# build system ignores. +gyp_vars["iphone_deployment_target"] = "doesntmatter" # Clang can build NSS with its integrated assembler since version 9. if ( diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO index c663d860ac..13e8ce1547 100644 --- a/security/nss/TAG-INFO +++ b/security/nss/TAG-INFO @@ -1 +1 @@ -NSS_3_98_RTM
\ No newline at end of file +NSS_3_99_RTM
\ No newline at end of file diff --git a/security/nss/automation/abi-check/expected-report-libnss3.so.txt b/security/nss/automation/abi-check/expected-report-libnss3.so.txt index e69de29bb2..582afe387f 100644 --- a/security/nss/automation/abi-check/expected-report-libnss3.so.txt +++ b/security/nss/automation/abi-check/expected-report-libnss3.so.txt @@ -0,0 +1,15 @@ + +1 function with some indirect sub-type change: + + [C]'function SECStatus CERT_AddOCSPAcceptableResponses(CERTOCSPRequest*, SECOidTag, ...)' at ocsp.c:2202:1 has some indirect sub-type changes: + parameter 2 of type 'typedef SECOidTag' has sub-type changes: + underlying type 'enum __anonymous_enum__' at secoidt.h:34:1 changed: + type size hasn't changed + 2 enumerator insertions: + '__anonymous_enum__::SEC_OID_ED25519_SIGNATURE' value '373' + '__anonymous_enum__::SEC_OID_ED25519_PUBLIC_KEY' value '374' + + 1 enumerator change: + '__anonymous_enum__::SEC_OID_TOTAL' from value '373' to '375' at secoidt.h:34:1 + + diff --git a/security/nss/automation/abi-check/expected-report-libnssutil3.so.txt b/security/nss/automation/abi-check/expected-report-libnssutil3.so.txt index e69de29bb2..ed076df300 100644 --- a/security/nss/automation/abi-check/expected-report-libnssutil3.so.txt +++ b/security/nss/automation/abi-check/expected-report-libnssutil3.so.txt @@ -0,0 +1,15 @@ + +1 function with some indirect sub-type change: + + [C]'function SECStatus NSS_GetAlgorithmPolicy(SECOidTag, PRUint32*)' at secoid.c:2291:1 has some indirect sub-type changes: + parameter 1 of type 'typedef SECOidTag' has sub-type changes: + underlying type 'enum __anonymous_enum__' at secoidt.h:34:1 changed: + type size hasn't changed + 2 enumerator insertions: + '__anonymous_enum__::SEC_OID_ED25519_SIGNATURE' value '373' + '__anonymous_enum__::SEC_OID_ED25519_PUBLIC_KEY' value '374' + + 1 enumerator change: + '__anonymous_enum__::SEC_OID_TOTAL' from value '373' to '375' at secoidt.h:34:1 + + diff --git a/security/nss/automation/abi-check/expected-report-libsmime3.so.txt b/security/nss/automation/abi-check/expected-report-libsmime3.so.txt index e69de29bb2..69cd2ae3a9 100644 --- a/security/nss/automation/abi-check/expected-report-libsmime3.so.txt +++ b/security/nss/automation/abi-check/expected-report-libsmime3.so.txt @@ -0,0 +1,49 @@ + +1 Added function: + + 'function PRBool NSS_CMSRecipient_IsSupported(CERTCertificate*)' {NSS_CMSRecipient_IsSupported@@NSS_3.99} + +1 function with some indirect sub-type change: + + [C]'function PK11SymKey* NSS_CMSContentInfo_GetBulkKey(NSSCMSContentInfo*)' at cmscinfo.c:426:1 has some indirect sub-type changes: + parameter 1 of type 'NSSCMSContentInfo*' has sub-type changes: + in pointed to type 'typedef NSSCMSContentInfo' at cmst.h:54:1: + underlying type 'struct NSSCMSContentInfoStr' at cmst.h:126:1 changed: + type size hasn't changed + 1 data member changes (2 filtered): + type of 'NSSCMSContent NSSCMSContentInfoStr::content' changed: + underlying type 'union NSSCMSContentUnion' at cmst.h:113:1 changed: + type size hasn't changed + 1 data member changes (3 filtered): + type of 'NSSCMSEncryptedData* NSSCMSContentUnion::encryptedData' changed: + in pointed to type 'typedef NSSCMSEncryptedData' at cmst.h:65:1: + underlying type 'struct NSSCMSEncryptedDataStr' at cmst.h:463:1 changed: + type size hasn't changed + 1 data member changes (1 filtered): + type of 'NSSCMSAttribute** NSSCMSEncryptedDataStr::unprotectedAttr' changed: + in pointed to type 'NSSCMSAttribute*': + in pointed to type 'typedef NSSCMSAttribute' at cmst.h:69:1: + underlying type 'struct NSSCMSAttributeStr' at cmst.h:482:1 changed: + type size hasn't changed + 1 data member change: + type of 'SECOidData* NSSCMSAttributeStr::typeTag' changed: + in pointed to type 'typedef SECOidData' at secoidt.h:16:1: + underlying type 'struct SECOidDataStr' at secoidt.h:536:1 changed: + type size hasn't changed + 1 data member change: + type of 'SECOidTag SECOidDataStr::offset' changed: + underlying type 'enum __anonymous_enum__' at secoidt.h:34:1 changed: + type size hasn't changed + 2 enumerator insertions: + '__anonymous_enum__::SEC_OID_ED25519_SIGNATURE' value '373' + '__anonymous_enum__::SEC_OID_ED25519_PUBLIC_KEY' value '374' + + 1 enumerator change: + '__anonymous_enum__::SEC_OID_TOTAL' from value '373' to '375' at secoidt.h:34:1 + + + + + + + diff --git a/security/nss/automation/abi-check/previous-nss-release b/security/nss/automation/abi-check/previous-nss-release index b99c3e7670..0dea1b7b74 100644 --- a/security/nss/automation/abi-check/previous-nss-release +++ b/security/nss/automation/abi-check/previous-nss-release @@ -1 +1 @@ -NSS_3_97_BRANCH +NSS_3_98_BRANCH diff --git a/security/nss/automation/taskcluster/docker-acvp/Dockerfile b/security/nss/automation/taskcluster/docker-acvp/Dockerfile index 5012bc4209..af2a0e25fa 100644 --- a/security/nss/automation/taskcluster/docker-acvp/Dockerfile +++ b/security/nss/automation/taskcluster/docker-acvp/Dockerfile @@ -1,5 +1,5 @@ # Minimal image with clang-format 3.9. -FROM rust:1.70 +FROM rust:1.74 LABEL maintainer="iaroslav.gridin@tuni.fi" # for new clang/llvm @@ -11,7 +11,6 @@ RUN echo "deb http://ftp.debian.org/debian/ sid main" > /etc/apt/sources.list.d/ python-dev-is-python3 \ mercurial \ python3-pip \ - python-setuptools \ build-essential \ cargo \ rustc \ diff --git a/security/nss/automation/taskcluster/graph/src/extend.js b/security/nss/automation/taskcluster/graph/src/extend.js index 599bed5a4b..318d935b16 100644 --- a/security/nss/automation/taskcluster/graph/src/extend.js +++ b/security/nss/automation/taskcluster/graph/src/extend.js @@ -1146,7 +1146,6 @@ async function scheduleTools() { ] })); - queue.scheduleTask(merge(base, { symbol: "scan-build", name: "scan-build", diff --git a/security/nss/automation/taskcluster/graph/src/try_syntax.js b/security/nss/automation/taskcluster/graph/src/try_syntax.js index b93dbabd15..591cea6c18 100644 --- a/security/nss/automation/taskcluster/graph/src/try_syntax.js +++ b/security/nss/automation/taskcluster/graph/src/try_syntax.js @@ -57,7 +57,7 @@ function parseOptions(opts) { } // Parse tools. - let allTools = ["clang-format", "scan-build", "hacl", "ecckiila", "saw", "abi", "coverage"]; + let allTools = ["clang-format", "scan-build", "hacl", "acvp", "ecckiila", "saw", "abi", "coverage"]; let tools = intersect(opts.tools.split(/\s*,\s*/), allTools); // If the given value is "all" run all tools. diff --git a/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.c.patch b/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.c.patch new file mode 100644 index 0000000000..dc2ffc04a7 --- /dev/null +++ b/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.c.patch @@ -0,0 +1,50 @@ +28d27 +< #include "internal/Hacl_Hash_SHA2.h" +33a33,34 +> #include "../Hacl_Hash_SHA2_shim.h" +> +1670,1713d1670 +< } +< +< static inline void +< sha512_pre_msg(uint8_t *hash, uint8_t *prefix, uint32_t len, uint8_t *input) +< { +< uint8_t buf[128U] = { 0U }; +< uint64_t block_state[8U] = { 0U }; +< Hacl_Streaming_MD_state_64 +< s = { .block_state = block_state, .buf = buf, .total_len = (uint64_t)(uint32_t)0U }; +< Hacl_Streaming_MD_state_64 p = s; +< Hacl_SHA2_Scalar32_sha512_init(block_state); +< Hacl_Streaming_MD_state_64 *st = &p; +< Hacl_Streaming_Types_error_code +< err0 = Hacl_Streaming_SHA2_update_512(st, prefix, (uint32_t)32U); +< Hacl_Streaming_Types_error_code err1 = Hacl_Streaming_SHA2_update_512(st, input, len); +< KRML_HOST_IGNORE(err0); +< KRML_HOST_IGNORE(err1); +< Hacl_Streaming_SHA2_finish_512(st, hash); +< } +< +< static inline void +< sha512_pre_pre2_msg( +< uint8_t *hash, +< uint8_t *prefix, +< uint8_t *prefix2, +< uint32_t len, +< uint8_t *input) +< { +< uint8_t buf[128U] = { 0U }; +< uint64_t block_state[8U] = { 0U }; +< Hacl_Streaming_MD_state_64 +< s = { .block_state = block_state, .buf = buf, .total_len = (uint64_t)(uint32_t)0U }; +< Hacl_Streaming_MD_state_64 p = s; +< Hacl_SHA2_Scalar32_sha512_init(block_state); +< Hacl_Streaming_MD_state_64 *st = &p; +< Hacl_Streaming_Types_error_code +< err0 = Hacl_Streaming_SHA2_update_512(st, prefix, (uint32_t)32U); +< Hacl_Streaming_Types_error_code +< err1 = Hacl_Streaming_SHA2_update_512(st, prefix2, (uint32_t)32U); +< Hacl_Streaming_Types_error_code err2 = Hacl_Streaming_SHA2_update_512(st, input, len); +< KRML_HOST_IGNORE(err0); +< KRML_HOST_IGNORE(err1); +< KRML_HOST_IGNORE(err2); +< Hacl_Streaming_SHA2_finish_512(st, hash); diff --git a/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.internal.patch b/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.internal.patch new file mode 100644 index 0000000000..f79016fcf9 --- /dev/null +++ b/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.internal.patch @@ -0,0 +1,2 @@ +38d37 +< #include "internal/Hacl_Hash_SHA2.h" diff --git a/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.patch b/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.patch new file mode 100644 index 0000000000..781bde532e --- /dev/null +++ b/security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.patch @@ -0,0 +1,2 @@ +39d38 +< #include "Hacl_Hash_SHA2.h" diff --git a/security/nss/automation/taskcluster/scripts/run_hacl.sh b/security/nss/automation/taskcluster/scripts/run_hacl.sh index f9831d24fd..f2c20a0ae3 100755 --- a/security/nss/automation/taskcluster/scripts/run_hacl.sh +++ b/security/nss/automation/taskcluster/scripts/run_hacl.sh @@ -12,7 +12,7 @@ set -e -x -v # Get the HACL* source, containing a snapshot of the C code, extracted on the # HACL CI. git clone -q "https://github.com/hacl-star/hacl-star" ~/hacl-star -git -C ~/hacl-star checkout -q 72f9d0c783cb716add714344604d591106dfbf7f +git -C ~/hacl-star checkout -q 0f136f28935822579c244f287e1d2a1908a7e552 # Format the C snapshot. cd ~/hacl-star/dist/mozilla @@ -33,6 +33,11 @@ files=($(find ~/nss/lib/freebl/verified/internal -type f -name '*.[ch]')) for f in "${files[@]}"; do file_name=$(basename "$f") hacl_file=($(find ~/hacl-star/dist/mozilla/internal/ -type f -name $file_name)) + if [ $file_name == "Hacl_Ed25519.h" \ + -o $file_name == "Hacl_Ed25519_PrecompTable.h" ] + then + continue; + fi diff $hacl_file $f done @@ -49,5 +54,60 @@ for f in "${files[@]}"; do then continue; fi + + if [ $file_name == "Hacl_Ed25519.h" \ + -o $file_name == "Hacl_Ed25519.c" ] + then + continue; + fi diff $hacl_file $f done + +# Here we process the code that's not located in /hacl-star/dist/mozilla/ but +# /hacl-star/dist/gcc-compatible. + +cd ~/hacl-star/dist/gcc-compatible +cp ~/nss/.clang-format . +find . -type f -name '*.[ch]' -exec clang-format -i {} \+ + +patches=($(find ~/nss/automation/taskcluster/scripts/patches/ -type f -name '*.patch')) +for f in "${patches[@]}"; do + file_name=$(basename "$f") + file_name="${file_name%.*}" + if_internal="${file_name##*.}" + if [ $if_internal == "internal" ] + then + file_name="${file_name%.*}" + patch_file=($(find ~/hacl-star/dist/gcc-compatible/internal/ -type f -name $file_name)) + else + patch_file=($(find ~/hacl-star/dist/gcc-compatible/ -type f -name $file_name -not -path "*/hacl-star/dist/gcc-compatible/internal/*")) + fi + if [ ! -z "$patch_file" ] + then + patch $patch_file $f + fi +done + +files=($(find ~/nss/lib/freebl/verified/internal -type f -name '*.[ch]')) +for f in "${files[@]}"; do + file_name=$(basename "$f") + hacl_file=($(find ~/hacl-star/dist/gcc-compatible/internal/ -type f -name $file_name)) + if [ $file_name != "Hacl_Ed25519.h" \ + -a $file_name != "Hacl_Ed25519_PrecompTable.h" ] + then + continue; + fi + diff $hacl_file $f +done + +files=($(find ~/nss/lib/freebl/verified/ -type f -name '*.[ch]' -not -path "*/freebl/verified/internal/*")) +for f in "${files[@]}"; do + file_name=$(basename "$f") + hacl_file=($(find ~/hacl-star/dist/gcc-compatible/ -type f -name $file_name -not -path "*/hacl-star/dist/gcc-compatible/internal/*")) + if [ $file_name != "Hacl_Ed25519.h" \ + -a $file_name != "Hacl_Ed25519.c" ] + then + continue; + fi + diff $hacl_file $f +done
\ No newline at end of file diff --git a/security/nss/cmd/lib/basicutil.c b/security/nss/cmd/lib/basicutil.c index 3ccacd7356..bc1bb0584d 100644 --- a/security/nss/cmd/lib/basicutil.c +++ b/security/nss/cmd/lib/basicutil.c @@ -777,77 +777,35 @@ SECU_HexString2SECItem(PLArenaPool *arena, SECItem *item, const char *str) return item; } -/* mapping between ECCurveName enum and SECOidTags */ -static SECOidTag ecCurve_oid_map[] = { - SEC_OID_UNKNOWN, /* ECCurve_noName */ - SEC_OID_ANSIX962_EC_PRIME192V1, /* ECCurve_NIST_P192 */ - SEC_OID_SECG_EC_SECP224R1, /* ECCurve_NIST_P224 */ - SEC_OID_ANSIX962_EC_PRIME256V1, /* ECCurve_NIST_P256 */ - SEC_OID_SECG_EC_SECP384R1, /* ECCurve_NIST_P384 */ - SEC_OID_SECG_EC_SECP521R1, /* ECCurve_NIST_P521 */ - SEC_OID_SECG_EC_SECT163K1, /* ECCurve_NIST_K163 */ - SEC_OID_SECG_EC_SECT163R1, /* ECCurve_NIST_B163 */ - SEC_OID_SECG_EC_SECT233K1, /* ECCurve_NIST_K233 */ - SEC_OID_SECG_EC_SECT233R1, /* ECCurve_NIST_B233 */ - SEC_OID_SECG_EC_SECT283K1, /* ECCurve_NIST_K283 */ - SEC_OID_SECG_EC_SECT283R1, /* ECCurve_NIST_B283 */ - SEC_OID_SECG_EC_SECT409K1, /* ECCurve_NIST_K409 */ - SEC_OID_SECG_EC_SECT409R1, /* ECCurve_NIST_B409 */ - SEC_OID_SECG_EC_SECT571K1, /* ECCurve_NIST_K571 */ - SEC_OID_SECG_EC_SECT571R1, /* ECCurve_NIST_B571 */ - SEC_OID_ANSIX962_EC_PRIME192V2, - SEC_OID_ANSIX962_EC_PRIME192V3, - SEC_OID_ANSIX962_EC_PRIME239V1, - SEC_OID_ANSIX962_EC_PRIME239V2, - SEC_OID_ANSIX962_EC_PRIME239V3, - SEC_OID_ANSIX962_EC_C2PNB163V1, - SEC_OID_ANSIX962_EC_C2PNB163V2, - SEC_OID_ANSIX962_EC_C2PNB163V3, - SEC_OID_ANSIX962_EC_C2PNB176V1, - SEC_OID_ANSIX962_EC_C2TNB191V1, - SEC_OID_ANSIX962_EC_C2TNB191V2, - SEC_OID_ANSIX962_EC_C2TNB191V3, - SEC_OID_ANSIX962_EC_C2PNB208W1, - SEC_OID_ANSIX962_EC_C2TNB239V1, - SEC_OID_ANSIX962_EC_C2TNB239V2, - SEC_OID_ANSIX962_EC_C2TNB239V3, - SEC_OID_ANSIX962_EC_C2PNB272W1, - SEC_OID_ANSIX962_EC_C2PNB304W1, - SEC_OID_ANSIX962_EC_C2TNB359V1, - SEC_OID_ANSIX962_EC_C2PNB368W1, - SEC_OID_ANSIX962_EC_C2TNB431R1, - SEC_OID_SECG_EC_SECP112R1, - SEC_OID_SECG_EC_SECP112R2, - SEC_OID_SECG_EC_SECP128R1, - SEC_OID_SECG_EC_SECP128R2, - SEC_OID_SECG_EC_SECP160K1, - SEC_OID_SECG_EC_SECP160R1, - SEC_OID_SECG_EC_SECP160R2, - SEC_OID_SECG_EC_SECP192K1, - SEC_OID_SECG_EC_SECP224K1, - SEC_OID_SECG_EC_SECP256K1, - SEC_OID_SECG_EC_SECT113R1, - SEC_OID_SECG_EC_SECT113R2, - SEC_OID_SECG_EC_SECT131R1, - SEC_OID_SECG_EC_SECT131R2, - SEC_OID_SECG_EC_SECT163R1, - SEC_OID_SECG_EC_SECT193R1, - SEC_OID_SECG_EC_SECT193R2, - SEC_OID_SECG_EC_SECT239K1, - SEC_OID_UNKNOWN, /* ECCurve_WTLS_1 */ - SEC_OID_UNKNOWN, /* ECCurve_WTLS_8 */ - SEC_OID_UNKNOWN, /* ECCurve_WTLS_9 */ - SEC_OID_CURVE25519, - SEC_OID_UNKNOWN /* ECCurve_pastLastCurve */ -}; - SECStatus SECU_ecName2params(ECCurveName curve, SECItem *params) { + SECOidTag oidTag; SECOidData *oidData = NULL; - if ((curve < ECCurve_noName) || (curve > ECCurve_pastLastCurve) || - ((oidData = SECOID_FindOIDByTag(ecCurve_oid_map[curve])) == NULL)) { + switch (curve) { + case ECCurve_NIST_P256: + oidTag = SEC_OID_ANSIX962_EC_PRIME256V1; + break; + case ECCurve_NIST_P384: + oidTag = SEC_OID_SECG_EC_SECP384R1; + break; + case ECCurve_NIST_P521: + oidTag = SEC_OID_SECG_EC_SECP521R1; + break; + case ECCurve25519: + oidTag = SEC_OID_CURVE25519; + break; + case ECCurve_Ed25519: + oidTag = SEC_OID_ED25519_PUBLIC_KEY; + break; + default: + PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE); + return SECFailure; + } + + oidData = SECOID_FindOIDByTag(oidTag); + if (oidData == NULL) { PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE); return SECFailure; } diff --git a/security/nss/cmd/lib/pk11table.c b/security/nss/cmd/lib/pk11table.c index 06f7591394..887ed79b93 100644 --- a/security/nss/cmd/lib/pk11table.c +++ b/security/nss/cmd/lib/pk11table.c @@ -141,6 +141,7 @@ const Constant _consts[] = { mkEntry(CKK_DH, KeyType), mkEntry(CKK_ECDSA, KeyType), mkEntry(CKK_EC, KeyType), + mkEntry(CKK_EC_EDWARDS, KeyType), mkEntry(CKK_X9_42_DH, KeyType), mkEntry(CKK_KEA, KeyType), mkEntry(CKK_GENERIC_SECRET, KeyType), @@ -440,6 +441,8 @@ const Constant _consts[] = { mkEntry(CKM_ECDSA_SHA1, Mechanism), mkEntry(CKM_ECDH1_DERIVE, Mechanism), mkEntry(CKM_ECDH1_COFACTOR_DERIVE, Mechanism), + mkEntry(CKM_EC_EDWARDS_KEY_PAIR_GEN, Mechanism), + mkEntry(CKM_EDDSA, Mechanism), mkEntry(CKM_ECMQV_DERIVE, Mechanism), mkEntry(CKM_JUNIPER_KEY_GEN, Mechanism), mkEntry(CKM_JUNIPER_ECB128, Mechanism), diff --git a/security/nss/doc/rst/releases/index.rst b/security/nss/doc/rst/releases/index.rst index 5ac6cb4bb0..865aad277a 100644 --- a/security/nss/doc/rst/releases/index.rst +++ b/security/nss/doc/rst/releases/index.rst @@ -8,6 +8,7 @@ Releases :glob: :hidden: + nss_3_99.rst nss_3_98.rst nss_3_97.rst nss_3_96_1.rst @@ -63,37 +64,23 @@ Releases .. note:: - **NSS 3.98** is the latest version of NSS. - Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_98_release_notes` + **NSS 3.99** is the latest version of NSS. + Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_99_release_notes` **NSS 3.90.2 (ESR)** is the latest version of NSS. Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_90_2_release_notes` .. container:: - Changes in 3.98 included in this release: + Changes in 3.99 included in this release: - - Bug 1780432 - (CVE-2023-5388) Timing attack against RSA decryption in TLS. - - Bug 1879513 - Certificate Compression: enabling the check that the compression was advertised. - - Bug 1831552 - Move Windows workers to nss-1/b-win2022-alpha. - - Bug 1879945 - Remove Email trust bit from OISTE WISeKey Global Root GC CA. - - Bug 1877344 - Replace `distutils.spawn.find_executable` with `shutil.which` within `mach` in `nss`. - - Bug 1548723 - Certificate Compression: Updating nss_bogo_shim to support Certificate compression. - - Bug 1548723 - TLS Certificate Compression (RFC 8879) Implementation. - - Bug 1875356 - Add valgrind annotations to freebl kyber operations for constant-time execution tests. - - Bug 1870673 - Set nssckbi version number to 2.66. - - Bug 1874017 - Add Telekom Security roots. - - Bug 1873095 - Add D-Trust 2022 S/MIME roots. - - Bug 1865450 - Remove expired Security Communication RootCA1 root. - - Bug 1876179 - move keys to a slot that supports concatenation in PK11_ConcatSymKeys. - - Bug 1876800 - remove unmaintained tls-interop tests. - - Bug 1874937 - bogo: add support for the -ipv6 and -shim-id shim flags. - - Bug 1874937 - bogo: add support for the -curves shim flag and update Kyber expectations. - - Bug 1874937 - bogo: adjust expectation for a key usage bit test. - - Bug 1757758 - mozpkix: add option to ignore invalid subject alternative names. - - Bug 1841029 - Fix selfserv not stripping `publicname:` from -X value. - - Bug 1876390 - take ownership of ecckilla shims. - - Bug 1874458 - add valgrind annotations to freebl/ec.c. - - Bug 864039 - PR_INADDR_ANY needs PR_htonl before assignment to inet.ip. - - Bug 1875965 - Update zlib to 1.3.1. + - Bug 1325335 - Removing check for message len in ed25519 + - Bug 1884276 - add ed25519 to SECU_ecName2params. + - Bug 1325335 - add EdDSA wycheproof tests. + - Bug 1325335 - nss/lib layer code for EDDSA. + - Bug 1325335 - Adding EdDSA implementation. + - Bug 1881027 - Exporting Certificate Compression types + - Bug 1880857 - Updating ACVP docker to rust 1.74 + - Bug 1325335 - Updating HACL* to 0f136f28935822579c244f287e1d2a1908a7e552 + - Bug 1877730 - Add NSS_CMSRecipient_IsSupported. diff --git a/security/nss/doc/rst/releases/nss_3_99.rst b/security/nss/doc/rst/releases/nss_3_99.rst new file mode 100644 index 0000000000..e4107700cf --- /dev/null +++ b/security/nss/doc/rst/releases/nss_3_99.rst @@ -0,0 +1,62 @@ +.. _mozilla_projects_nss_nss_3_99_release_notes: + +NSS 3.99 release notes +======================== + +`Introduction <#introduction>`__ +-------------------------------- + +.. container:: + + Network Security Services (NSS) 3.99 was released on *15th March 2024**. + +`Distribution Information <#distribution_information>`__ +-------------------------------------------------------- + +.. container:: + + The HG tag is NSS_3_99_RTM. NSS 3.99 requires NSPR 4.35 or newer. + + NSS 3.99 source distributions are available on ftp.mozilla.org for secure HTTPS download: + + - Source tarballs: + https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_99_RTM/src/ + + Other releases are available :ref:`mozilla_projects_nss_releases`. + +.. _changes_in_nss_3.99: + +`Changes in NSS 3.99 <#changes_in_nss_3.99>`__ +------------------------------------------------------------------ + +.. container:: + + - Bug 1325335 - Removing check for message len in ed25519 + - Bug 1884276 - add ed25519 to SECU_ecName2params. + - Bug 1325335 - add EdDSA wycheproof tests. + - Bug 1325335 - nss/lib layer code for EDDSA. + - Bug 1325335 - Adding EdDSA implementation. + - Bug 1881027 - Exporting Certificate Compression types + - Bug 1880857 - Updating ACVP docker to rust 1.74 + - Bug 1325335 - Updating HACL* to 0f136f28935822579c244f287e1d2a1908a7e552 + - Bug 1877730 - Add NSS_CMSRecipient_IsSupported. + +`Compatibility <#compatibility>`__ +---------------------------------- + +.. container:: + + NSS 3.99 shared libraries are backwards-compatible with all older NSS 3.x shared + libraries. A program linked with older NSS 3.x shared libraries will work with + this new version of the shared libraries without recompiling or + relinking. Furthermore, applications that restrict their use of NSS APIs to the + functions listed in NSS Public Functions will remain compatible with future + versions of the NSS shared libraries. + +`Feedback <#feedback>`__ +------------------------ + +.. container:: + + Bugs discovered should be reported by filing a bug report on + `bugzilla.mozilla.org <https://bugzilla.mozilla.org/enter_bug.cgi?product=NSS>`__ (product NSS). diff --git a/security/nss/gtests/common/testvectors_base/test-structs.h b/security/nss/gtests/common/testvectors_base/test-structs.h index 1ed227da50..ca8c39b7bd 100644 --- a/security/nss/gtests/common/testvectors_base/test-structs.h +++ b/security/nss/gtests/common/testvectors_base/test-structs.h @@ -69,6 +69,14 @@ typedef struct EcdsaTestVectorStr { typedef EcdsaTestVector DsaTestVector; +typedef struct EddsaTestVectorStr { + uint32_t id; + std::vector<uint8_t> sig; + std::vector<uint8_t> public_key; + std::vector<uint8_t> msg; + bool valid; +} EddsaTestVector; + typedef struct EcdhTestVectorStr { uint64_t id; std::vector<uint8_t> private_key; diff --git a/security/nss/gtests/common/wycheproof/source_vectors/eddsa_test.json b/security/nss/gtests/common/wycheproof/source_vectors/eddsa_test.json new file mode 100644 index 0000000000..e2a1ae4f28 --- /dev/null +++ b/security/nss/gtests/common/wycheproof/source_vectors/eddsa_test.json @@ -0,0 +1,2262 @@ +{ + "algorithm" : "EDDSA", + "generatorVersion" : "0.8rc16", + "numberOfTests" : 145, + "header" : [ + "Test vectors of type EddsaVerify are intended for testing", + "the verification of Eddsa signatures." + ], + "notes" : { + "SignatureMalleability" : "EdDSA signatures are non-malleable, if implemented accordingly. Failing to check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7 and Section 8.4." + }, + "schema" : "eddsa_verify_schema.json", + "testGroups" : [ + { + "jwk" : { + "crv" : "Ed25519", + "d" : "rdS7gQN4W6-axTQljoqvZfXxrbXvXz3xm7gKuYnE1ks", + "kid" : "none", + "kty" : "OKP", + "x" : "fU0Of2FTpptiQrUiq77mhf2kQg-INLEIw72uNp71Sfo" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa", + "sk" : "add4bb8103785baf9ac534258e8aaf65f5f1adb5ef5f3df19bb80ab989c4d64b", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAfU0Of2FTpptiQrUiq77mhf2kQg+INLEIw72uNp71Sfo=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 1, + "comment" : "", + "msg" : "", + "sig" : "d4fbdb52bfa726b44d1786a8c0d171c3e62ca83c9e5bbe63de0bb2483f8fd6cc1429ab72cafc41ab56af02ff8fcc43b99bfe4c7ae940f60f38ebaa9d311c4007", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 2, + "comment" : "", + "msg" : "78", + "sig" : "d80737358ede548acb173ef7e0399f83392fe8125b2ce877de7975d8b726ef5b1e76632280ee38afad12125ea44b961bf92f1178c9fa819d020869975bcbe109", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 3, + "comment" : "", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 4, + "comment" : "", + "msg" : "48656c6c6f", + "sig" : "1c1ad976cbaae3b31dee07971cf92c928ce2091a85f5899f5e11ecec90fc9f8e93df18c5037ec9b29c07195ad284e63d548cd0a6fe358cc775bd6c1608d2c905", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 5, + "comment" : "", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bf0cf5b3a289976458a1be6277a5055545253b45b07dcc1abd96c8b989c00f301", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 6, + "comment" : "", + "msg" : "000000000000000000000000", + "sig" : "d46543bfb892f84ec124dcdfc847034c19363bf3fc2fa89b1267833a14856e52e60736918783f950b6f1dd8d40dc343247cd43ce054c2d68ef974f7ed0f3c60f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 7, + "comment" : "", + "msg" : "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", + "sig" : "879350045543bc14ed2c08939b68c30d22251d83e018cacbaf0c9d7a48db577e80bdf76ce99e5926762bc13b7b3483260a5ef63d07e34b58eb9c14621ac92f00", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 8, + "comment" : "", + "msg" : "202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60", + "sig" : "7bdc3f9919a05f1d5db4a3ada896094f6871c1f37afc75db82ec3147d84d6f237b7e5ecc26b59cfea0c7eaf1052dc427b0f724615be9c3d3e01356c65b9b5109", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 9, + "comment" : "", + "msg" : "ffffffffffffffffffffffffffffffff", + "sig" : "5dbd7360e55aa38e855d6ad48c34bd35b7871628508906861a7c4776765ed7d1e13d910faabd689ec8618b78295c8ab8f0e19c8b4b43eb8685778499e943ae04", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 10, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 11, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 12, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 13, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 14, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 15, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 16, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "01000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 17, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "0100000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 18, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "0100000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 19, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "0100000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 20, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 21, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 22, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 23, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 24, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 25, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 26, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0100000000000000000000000000000000000000000000000000000000000000", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 27, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 28, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 29, + "comment" : "special values for r and s", + "msg" : "3f", + "sig" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 30, + "comment" : "empty signature", + "msg" : "54657374", + "sig" : "", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 31, + "comment" : "s missing", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 32, + "comment" : "signature too short", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 33, + "comment" : "signature too long", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d2020", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 34, + "comment" : "include pk in signature", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 35, + "comment" : "prepending 0 byte to signature", + "msg" : "54657374", + "sig" : "007c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 36, + "comment" : "prepending 0 byte to s", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0007a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 37, + "comment" : "appending 0 byte to signature", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 38, + "comment" : "removing 0 byte from signature", + "msg" : "546573743137", + "sig" : "93de3ca252426c95f735cb9edd92e83321ac62372d5aa5b379786bae111ab6b17251330e8f9a7c30d6993137c596007d7b001409287535ac4804e662bc58a3", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 39, + "comment" : "removing 0 byte from signature", + "msg" : "54657374313236", + "sig" : "dffed33a7f420b62bb1731cfd03be805affd18a281ec02b1067ba6e9d20826569e742347df59c88ae96db1f1969fb189b0ec34381d85633e1889da48d95e0e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 40, + "comment" : "removing leading 0 byte from signature", + "msg" : "546573743530", + "sig" : "6e170c719577c25e0e1e8b8aa7a6346f8b109f37385cc2e85dc3b4c0f46a9c6bcafd67f52324c5dbaf40a1b673fb29c4a56052d2d6999d0838a8337bccb502", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 41, + "comment" : "dropping byte from signature", + "msg" : "54657374333437", + "sig" : "b0928b46e99fbbad3f5cb502d2cd309d94a7e86cfd4d84b1fcf4cea18075a9c36993c0582dba1e9e519fae5a8654f454201ae0c3cb397c37b8f4f8eef18400", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 42, + "comment" : "modified bit 0 in R", + "msg" : "313233343030", + "sig" : "647c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b1d125e5538f38afbcc1c84e489521083041d24bc6240767029da063271a1ff0c", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 43, + "comment" : "modified bit 1 in R", + "msg" : "313233343030", + "sig" : "677c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bc108ca4b87a49c9ed2cf383aecad8f54a962b2899da891e12004d7993a627e01", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 44, + "comment" : "modified bit 2 in R", + "msg" : "313233343030", + "sig" : "617c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b9ce23fc6213ed5b87912e9bbf92f5e2c780eae26d15c50a112d1e97d2ea33c06", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 45, + "comment" : "modified bit 7 in R", + "msg" : "313233343030", + "sig" : "e57c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bbb3eb51cd98dddb235a5f46f2bded6af184a58d09cce928bda43f41d69118a03", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 46, + "comment" : "modified bit 8 in R", + "msg" : "313233343030", + "sig" : "657d1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcd237dda9a116501f67a5705a854b9adc304f34720803a91b324f2c13e0f5a09", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 47, + "comment" : "modified bit 16 in R", + "msg" : "313233343030", + "sig" : "657c1592402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b6b167bbdc0d881cc04d28905552c1876f3709851abc5007376940cc8a435c300", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 48, + "comment" : "modified bit 31 in R", + "msg" : "313233343030", + "sig" : "657c1412402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7fd2ac7da14afffcceeb13f2a0d6b887941cb1a5eb57a52f3cb131a16cce7b0e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 49, + "comment" : "modified bit 32 in R", + "msg" : "313233343030", + "sig" : "657c1492412ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7373ba13ebbef99cd2a8ead55ce735c987d85a35320925a8e871702dc7c5c40d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 50, + "comment" : "modified bit 63 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab54e03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bd35bd331c03f0855504ca1cab87b83c36a028425a3cf007ede4f4254c261cb00", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 51, + "comment" : "modified bit 64 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce02e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcb35101f73cf467deac8c1a03b6c3dc35af544132734b7e57ab20c89b2e4750d", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 52, + "comment" : "modified bit 97 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f2384d051b9cf3570f1207fc78c1bcc98c281c2bb58d2e8878290bff8d3355fdd4ea381924ee578752354eb6dee678ab4011c301", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 53, + "comment" : "modified bit 127 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d851b9cf3570f1207fc78c1bcc98c281c2bb978c866187ffb1cc7b29a0b4045aefc08768df65717194ff0c6e63f4dea0d02", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 54, + "comment" : "modified bit 240 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281d2b0576ecf8eaf675f00f3dfbe19f75b83b7607a6c96414f6821af920a2498d0305", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 55, + "comment" : "modified bit 247 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c289c2be5241a345c7b5428054c74b7c382fa10d4a5f1e8f8b79a71d3fdea2254f1ff0e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 56, + "comment" : "modified bit 248 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2a63950c85cd6dc96364e768de50ff7732b538f8a0b1615d799190ab600849230e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 57, + "comment" : "modified bit 253 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c0b543bd3da0a56a8c9c152f59c9fec12f31fa66434d48b817b30d90cb4efa8b501", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 58, + "comment" : "modified bit 254 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c6b8da07efd07a6dafb015ed6a32fe136319a972ffbc341f3a0beae97ccf8136505", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 59, + "comment" : "modified bit 255 in R", + "msg" : "313233343030", + "sig" : "657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281cab227aedf259f910f0f3a759a335062665217925d019173b88917eae294f75d40f", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 60, + "comment" : "R==0", + "msg" : "313233343030", + "sig" : "0000000000000000000000000000000000000000000000000000000000000000e0b8e7770d51c7a36375d006c5bffd6af43ff54aaf47e4330dc118c71d61ec02", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 61, + "comment" : "invalid R", + "msg" : "313233343030", + "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff463a1908382e7eb7693acef9884f7cf931a215e0791876be22c631a59881fd0e", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 62, + "comment" : "all bits flipped in R", + "msg" : "313233343030", + "sig" : "9a83eb6dbfd54a31fc1d3c580fc7b2fae4630ca8f0edf803873e433673d7e3d40e94254586cb6188c5386c3febed477cb9a6cb29e3979adc4cb27cf5278fb70a", + "result" : "invalid", + "flags" : [] + }, + { + "tcId" : 63, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 64, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab05439412b5395d42f462c67008eba6ca839d4eef676573336a5c51eb6f946b32d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 65, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab02ee12ce5875bf9dff26556464bae2ad239d4eef676573336a5c51eb6f946b34d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 66, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0e2300459f1e742404cd934d2c595a6253ad4eef676573336a5c51eb6f946b38d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 67, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b32d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 68, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b34d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 69, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + }, + { + "tcId" : 70, + "comment" : "checking malleability ", + "msg" : "54657374", + "sig" : "7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0679155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b38d", + "result" : "invalid", + "flags" : [ + "SignatureMalleability" + ] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "CiOiAHKJEjeqCGS1dlE5UUkIeHh4zXcTWgBZiB0xPwA", + "kid" : "none", + "kty" : "OKP", + "x" : "oSwr63cmXyqslTtQCTSdlBVaA62kFqrUUTGUgOmDykw" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c", + "sk" : "0a23a20072891237aa0864b5765139514908787878cd77135a0059881d313f00", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAoSwr63cmXyqslTtQCTSdlBVaA62kFqrUUTGUgOmDykw=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 71, + "comment" : "", + "msg" : "", + "sig" : "5056325d2ab440bf30bbf0f7173199aa8b4e6fbc091cf3eb6bc6cf87cd73d992ffc216c85e4ab5b8a0bbc7e9a6e9f8d33b7f6e5ac0ffdc22d9fcaf784af84302", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 72, + "comment" : "", + "msg" : "78", + "sig" : "481fafbf4364d7b682475282f517a3ac0538c9a6b6a562e99a3d8e5afb4f90a559b056b9f07af023905753b02d95eb329a35c77f154b79abbcd291615ce42f02", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 73, + "comment" : "", + "msg" : "54657374", + "sig" : "8a9bb4c465a3863abc9fd0dd35d80bb28f7d33d37d74679802d63f82b20da114b8d765a1206b3e9ad7cf2b2d8d778bb8651f1fa992db293c0039eacb6161480f", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 74, + "comment" : "", + "msg" : "48656c6c6f", + "sig" : "d839c20abfda1fd429531831c64f813f84b913e9928540310cf060b44c3dbf9457d44a7721fdc0d67724ff81cb450dd39b10cfb65db15dda4b8bf09d26bd3801", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 75, + "comment" : "", + "msg" : "313233343030", + "sig" : "9bbb1052dcfa8ad2715c2eb716ae4f1902dea353d42ee09fd4c0b4fcb8b52b5219e2200016e1199d0061891c263e31b0bc3b55673c19610c4e0fa5408004160b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 76, + "comment" : "", + "msg" : "000000000000000000000000", + "sig" : "f63b5c0667c7897fc283296416f7f60e84bbde9cbd832e56be463ed9f568069702b17a2f7c341ebf590706a6388ac76ac613c1675ec0f2c7118f2573422a500b", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 77, + "comment" : "", + "msg" : "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", + "sig" : "1bc44d7001e6b5b9090fef34b2ca480f9786bbefa7d279353e5881e8dfb91b803ccd46500e270ef0109bfd741037558832120bc2a4f20fbe7b5fb3c3aaf23e08", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 78, + "comment" : "", + "msg" : "202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60", + "sig" : "ea8e22143b02372e76e99aece3ed36aec529768a27e2bb49bdc135d44378061e1f62d1ac518f33ebf37b2ee8cc6dde68a4bd7d4a2f4d6cb77f015f71ca9fc30d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 79, + "comment" : "", + "msg" : "ffffffffffffffffffffffffffffffff", + "sig" : "8acd679e1a914fc45d5fa83d3021f0509c805c8d271df54e52f43cfbd00cb6222bf81d58fe1de2de378df67ee9f453786626961fe50a9b05f12b6f0899ebdd0a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "nWGxne_9WmC6hEr0kuwsxERJxWl7MmkZcDusAxyuf2A", + "kid" : "none", + "kty" : "OKP", + "x" : "11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a", + "sk" : "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 80, + "comment" : "draft-josefsson-eddsa-ed25519-02: Test 1", + "msg" : "", + "sig" : "e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "TM0Imyj_ltqdtsNG7BFOD1uKMZ81q6Yk2oz27U-4pvs", + "kid" : "none", + "kty" : "OKP", + "x" : "PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c", + "sk" : "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAPUAXw+hDiVqStwqnTRt+vJyYLM8uxJaMwM1V8Sr0Zgw=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 81, + "comment" : "draft-josefsson-eddsa-ed25519-02: Test 2", + "msg" : "72", + "sig" : "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "xaqN9D-fg3vtt0QvMdy3sWbThTUHbwlLhc46LgtEWPc", + "kid" : "none", + "kty" : "OKP", + "x" : "_FHNjmIYoaONpH7QAjDwWAgW7RO6MwOsXeuRFUiQgCU" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025", + "sk" : "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA/FHNjmIYoaONpH7QAjDwWAgW7RO6MwOsXeuRFUiQgCU=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 82, + "comment" : "draft-josefsson-eddsa-ed25519-02: Test 3", + "msg" : "af82", + "sig" : "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "9eV2fPFTMZUXYw8iaHa4bIFgzFg7wBN0TGvyVfXMDuU", + "kid" : "none", + "kty" : "OKP", + "x" : "J4EX_BRMcjQPZ9DyMW6Dhs7_vyskKMnFH-98WX8dQm4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e", + "sk" : "f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAJ4EX/BRMcjQPZ9DyMW6Dhs7/vyskKMnFH+98WX8dQm4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 83, + "comment" : "draft-josefsson-eddsa-ed25519-02: Test 1024", + "msg" : "08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0", + "sig" : "0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "160_H2u-BHfDw1eoBqGetBrj-UAlA1vIfygfjun8DjQ", + "kid" : "none", + "kty" : "OKP", + "x" : "j9ZZt3tVjtk4gsEVdDhFCshuxi1CHVaOmO4jbzgQKVo" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "8fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a", + "sk" : "d7ad3f1f6bbe0477c3c357a806a19eb41ae3f94025035bc87f281f8ee9fc0e34", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAj9ZZt3tVjtk4gsEVdDhFCshuxi1CHVaOmO4jbzgQKVo=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 84, + "comment" : "Random test failure 1", + "msg" : "b0729a713593a92e46b56eaa66b9e435f7a09a8e7de03b078f6f282285276635f301e7aaafe42187c45d6f5b13f9f16b11195cc125c05b90d24dfe4c", + "sig" : "7db17557ac470c0eda4eedaabce99197ab62565653cf911f632ee8be0e5ffcfc88fb94276b42e0798fd3aa2f0318be7fc6a29fae75f70c3dcdc414a0ad866601", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "rZsieTM2_NrBDhNsTe6lmb4Yejju-Rwc98ek7IhN2gg", + "kid" : "none", + "kty" : "OKP", + "x" : "KmBr9nrHcMYHA4sAQQGzJe21ae_TQT0tHyw-a05uMII" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "2a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082", + "sk" : "ad9b22793336fcdac10e136c4deea599be187a38eef91c1cf7c7a4ec884dda08", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAKmBr9nrHcMYHA4sAQQGzJe21ae/TQT0tHyw+a05uMII=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 85, + "comment" : "Random test failure 2", + "msg" : "a8546e50ba31cae3234310d32672447be213fad91a227a19669c53d309b959782b0e6b71f8791fdb470043b58122003157d2d96a43a6cbd7d3a8d86bf4c97391883e268d50af80e1e6e12939c2bd50ca746cdadfad4edf1bda875299740724148efb1ebe73fb60088cda890317658627a5f7ab5a0c075d9d8f3f97b6492b35519e50ff6b38377432a7081f9176bb1c29a862deac1336ca20b097a47829cec10a6a7cec178eda2d12f6dc6c87f910454af0123555ba184e68804d9cced60fd5c8c90943e56599c8f0ba59a38491ba5e5a53460682474c07e40ca142983314fd762856bb1093f359da6eb0a756bd93a3160c10dd8feea6b97e7c6a17cb54bd5d7649c05c66d7bdee056671dfdaf689fa3945bb8e29a429f4bd5d355dce9687b06f01d5e33e3999f0e8", + "sig" : "67d84d4c3945aaf06e06d524be63acbfb5dbb1988c4aea96a5ee9f7a9b9eecc29df4f66b8aa1d9e8607a58fb1ef0c2ad69aac005b4f58e34103344a9c8871a09", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 86, + "comment" : "Random test failure 24", + "msg" : "b477b0480bb84642608b908d29a51cf2fce63f24ee95", + "sig" : "28fafbb62b4d688fa79e1ac92851f46e319b161f801d4dc09acc21fdd6780a2c4292b8c1003c61c2bcebe7f3f88ccc4bb26d407387c5f27cb8c94cf6ce810405", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "BKZVPWipuu94ohda83VFjqoBzbdzUMYeKC718McRZZk", + "kid" : "none", + "kty" : "OKP", + "x" : "yclGy8VUSsdO70kfB8WIHBb69-wxzkqpG7YK57RTkFE" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051", + "sk" : "04a6553d68a9baef78a2175af375458eaa01cdb77350c61e282ef5f0c7116599", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAyclGy8VUSsdO70kfB8WIHBb69+wxzkqpG7YK57RTkFE=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 87, + "comment" : "Random test failure 3", + "msg" : "cd2212eddb0706f62c995cef958634f0cb7793444cbf4d30e81c27c41ebea6cb02607510131f9c015692dfd521b148841e9a2d3564d20ac401f6cb8e40f520fe0cafbeaa88840b83013369d879f013463fe52a13267aa0c8c59c45cde9399cd1e6be8cc64cf48315ac2eb31a1c567a4fb7d601746d1f63b5ac020712adbbe07519bded6f", + "sig" : "24087d47f3e20af51b9668ae0a88ce76586802d0ec75d8c0f28fc30962b5e1d1a1d509571a1624ed125a8df92a6e963728d6b5de99200b8e285f70feb6f05207", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 88, + "comment" : "Random test failure 20", + "msg" : "27d465bc632743522aefa23c", + "sig" : "c2656951e2a0285585a51ff0eda7e9a23c2dfd2ffa273aee7808f4604e8f9a8c8ea49e9fce4eb2d8d75d36b7238fe6fc13b6c5d9427dd58f8c6615d033c0bd0f", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "w2fI0uvu7NcMHomFtww4CLdWV_JDshuk8yJ5JUDpIlc", + "kid" : "none", + "kty" : "OKP", + "x" : "Mq0Cb2k9DSr-f0OI2RxMlkQm_LnjZlw-vYZQAJuBXI4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "32ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e", + "sk" : "c367c8d2ebeeecd70c1e8985b70c3808b75657f243b21ba4f322792540e92257", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMq0Cb2k9DSr+f0OI2RxMlkQm/LnjZlw+vYZQAJuBXI4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 89, + "comment" : "Random test failure 4", + "msg" : "ec5c7cb078", + "sig" : "d920d421a5956b69bfe1ba834c025e2babb6c7a6d78c97de1d9bb1116dfdd1185147b2887e34e15578172e150774275ea2aad9e02106f7e8ca1caa669a066f0c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 90, + "comment" : "Random test failure 5", + "msg" : "4668c6a76f0e482190a7175b9f3806a5fe4314a004fa69f988373f7a", + "sig" : "4f62daf7f7c162038552ad7d306e195baa37ecf6ca7604142679d7d1128e1f8af52e4cb3545748c44ef1ff1c64e877e4f4d248259b7f6eb56e3ef72097dc8e0c", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 91, + "comment" : "Random test failure 8", + "msg" : "5dc9bb87eb11621a93f92abe53515697d2611b2eef73", + "sig" : "deecafb6f2ede73fec91a6f10e45b9c1c61c4b9bfbe6b6147e2de0b1df6938971f7896c3ab83851fb5d9e537037bff0fca0ccb4a3cc38f056f91f7d7a0557e08", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 92, + "comment" : "Random test failure 10", + "msg" : "7dcfe60f881e1285676f35b68a1b2dbcdd7be6f719a288ababc28d36e3a42ac3010a1ca54b32760e74", + "sig" : "7f8663cf98cbd39d5ff553f00bcf3d0d520605794f8866ce75714d77cc51e66c91818b657d7b0dae430a68353506edc4a714c345f5ddb5c8b958ba3d035f7a01", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 93, + "comment" : "Random test failure 12", + "msg" : "58e456064dff471109def4ca27fa8310a1df32739655b624f27e6418d34b7f007173f3faa5", + "sig" : "6aab49e5c0bc309b783378ee03ffda282f0185cdf94c847701ff307a6ee8d0865411c44e0a8206f6a5f606107451940c2593af790ce1860f4c14ab25b2deae08", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 94, + "comment" : "Random test failure 15", + "msg" : "a1", + "sig" : "1a74ed2cbdc7d8f3827014e8e6ecf8fd2698ac8f86833acccdd400df710fe0d6b0543c9cfa00d52bf024ab7ce0d91981944097233ec134d5c7abbd44bfd32d0d", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 95, + "comment" : "Random test failure 19", + "msg" : "11cb1eafa4c42a8402c4193c4696f7b2e6d4585e4b42dcf1a8b67a80b2da80bc9d4b649fb2f35eaf1f56c426fd0b", + "sig" : "14ceb2eaf4688d995d482f44852d71ad878cd7c77b41e60b0065fd01a59b054ee74759224187dbde9e59a763a70277c960892ef89fba997aba2576b2c54ba608", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 96, + "comment" : "Random test failure 25", + "msg" : "aa365b442d12b7f3c925", + "sig" : "83c40ce13d483cc58ff65844875862d93df4bd367af77efa469ec06a8ed9e6d7905a04879535708ddf225567a815c9b941d405c98e918fd0c151165cea7fb101", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 97, + "comment" : "Random test failure 28", + "msg" : "475f", + "sig" : "71a4a06a34075f2fd47bc3abf4714d46db7e97b08cb6180d3f1539ac50b18ce51f8af8ae95ed21d4fa0daab7235925631ecea1fd9d0d8a2ba7a7583fd04b900c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "VsHiLWFsu23qhpKItLHAK7mGllg8L25lABOgPhcEnGI", + "kid" : "none", + "kty" : "OKP", + "x" : "wp7BiU4G0ntOQEhrT6UGPWanRsf5wyOxIgPAO3K4t4o" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a", + "sk" : "56c1e22d616cbb6dea869288b4b1c02bb98696583c2f6e650013a03e17049c62", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwp7BiU4G0ntOQEhrT6UGPWanRsf5wyOxIgPAO3K4t4o=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 98, + "comment" : "Random test failure 6", + "msg" : "0f325ffd87e58131ffa23c05ea4579513b287fdba87b44", + "sig" : "6669acf94667c5b541afe5307bde9476b13ae7e0e6058a772101ac8eb0a94331428eb4db0a2c68a9b6c1763b8624dab259b0876cdcfaeacc17b21a18e3fc010a", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 99, + "comment" : "Random test failure 21", + "msg" : "5ffa", + "sig" : "931e5152fcef078c22cc5d6a3a65f06e396289f6f5f2d1efa6340254a53526ef5dc6874eeddf35c3f50991c53cd02bf06313e37d93ee1f7022128ffa3b8f300b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "t9L2QnbfQX_tJ9jhW06Q9v2T2s5wcpTDOL0yvEu9j9s", + "kid" : "none", + "kty" : "OKP", + "x" : "z9pbiZ41dkxSKeWSlf4SIrfdzhdmQ2l8KeRuy7oQzxA" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10", + "sk" : "b7d2f64276df417fed27d8e15b4e90f6fd93dace707294c338bd32bc4bbd8fdb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAz9pbiZ41dkxSKeWSlf4SIrfdzhdmQ2l8KeRuy7oQzxA=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 100, + "comment" : "Random test failure 7", + "msg" : "ec5c7cb078", + "sig" : "30490c28f806298225df62103521dcee047153912c33ab8ab8bbdd1ffabd70fd4fdb360f05be535b067d1cf4e78c2cb432206bf280aab3bd21aaa1cb894c5b06", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 101, + "comment" : "Random test failure 9", + "msg" : "67484059b2490b1a0a4f8dee77979e26", + "sig" : "4cd4f77ed473a6647387f3163541c67a1708a3c3bd1673247cb87f0cb68b3c56f04bfa72970c8a483efe659c87009ab4020b590b6641316b3deddb5450544e02", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 102, + "comment" : "Random test failure 11", + "msg" : "a020a4381dc9141f47ee508871ab7a8b5a3648727c4281ae9932376f23a8e1bcda0626b7129197d864178631ec89c4332dbb18", + "sig" : "1e41a24fe732bd7cab14c2a2f5134ee8c87fcbd2e987e60957ed9239e5c32404d56977e1b4282871896cb10625a1937468e4dc266e16a9c1b8e9891177eca802", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 103, + "comment" : "Random test failure 14", + "msg" : "a25176b3afea318b2ec11ddacb10caf7179c0b3f8eabbfa2895581138d3c1e0e", + "sig" : "2a833aadecd9f28235cb5896bf3781521dc71f28af2e91dbe1735a61dce3e31ac15ca24b3fc47817a59d386bbbb2ce60a6adc0a2703bb2bdea8f70f91051f706", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 104, + "comment" : "Random test failure 18", + "msg" : "a9e6d94870a67a9fe1cf13b1e6f9150cdd407bf6480ec841ea586ae3935e9787163cf419c1", + "sig" : "c97e3190f83bae7729ba473ad46b420b8aad735f0808ea42c0f898ccfe6addd4fd9d9fa3355d5e67ee21ab7e1f805cd07f1fce980e307f4d7ad36cc924eef00c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "fVl8O3KDkp0H7Y8B8x0lloI-XkarImx75CNNGp3K7zc", + "kid" : "none", + "kty" : "OKP", + "x" : "UpkZyceAmFqEHEK6bBgP8tZ6J2zPvigQgOR6txp1j1Y" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56", + "sk" : "7d597c3b7283929d07ed8f01f31d2596823e5e46ab226c7be4234d1a9dcaef37", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAUpkZyceAmFqEHEK6bBgP8tZ6J2zPvigQgOR6txp1j1Y=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 105, + "comment" : "Random test failure 13", + "msg" : "e1cbf2d86827825613fb7a85811d", + "sig" : "01abfa4d6bbc726b196928ec84fd03f0c953a4fa2b228249562ff1442a4f63a7150b064f3712b51c2af768d2c2711a71aabf8d186833e941a0301b82f0502905", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 106, + "comment" : "Random test failure 22", + "msg" : "25", + "sig" : "e4ae21f7a8f4b3b325c161a8c6e53e2edd7005b9c2f8a2e3b0ac4ba94aa80be6f2ee22ac8d4a96b9a3eb73a825e7bb5aff4a3393bf5b4a38119e9c9b1b041106", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "9AHO5L-xcy8Om42Lp5RpVlwxFSlhQdvffpwxGgrBgjs", + "kid" : "none", + "kty" : "OKP", + "x" : "IlKz1Xx0y_i8Rg3C4IKEeSa8Ai8Jq2rpV1Y2K_0RZ8E" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "2252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1", + "sk" : "f401cee4bfb1732f0e9b8d8ba79469565c3115296141dbdf7e9c311a0ac1823b", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAIlKz1Xx0y/i8Rg3C4IKEeSa8Ai8Jq2rpV1Y2K/0RZ8E=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 107, + "comment" : "Random test failure 16", + "msg" : "975ef941710071a9e1e6325a0c860becd7c695b5117c3107b686e330e5", + "sig" : "af0fd9dda7e03e12313410d8d8844ebb6fe6b7f65141f22d7bcba5695a25414a9e54326fb44d59fb14707899a8aae70857b23d4080d7ab2c396ef3a36d45ce02", + "result" : "valid", + "flags" : [] + }, + { + "tcId" : 108, + "comment" : "Random test failure 23", + "msg" : "80fdd6218f29c8c8f6bd820945f9b0854e3a8824", + "sig" : "e097e0bd0370bff5bde359175a11b728ee9639095d5df8eda496395565616edfe079977f7d4dc8c75d6113a83d6a55e6e1676408c0967a2906339b43337dcb01", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "PWWJVkEDd9BkRnbSWZVCQSpPOw5Orft_P4NmFfQrGLw", + "kid" : "none", + "kty" : "OKP", + "x" : "wKdzEQ-XXeNzI1W7fsfwxBwJHAJSlmBwIFUWaTuZKko" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a", + "sk" : "3d658956410377d0644676d2599542412a4f3b0e4eadfb7f3f836615f42b18bc", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwKdzEQ+XXeNzI1W7fsfwxBwJHAJSlmBwIFUWaTuZKko=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 109, + "comment" : "Random test failure 17", + "msg" : "", + "sig" : "0280427e713378f49d478df6373c6cac847b622b567daa2376c839e7ac10e22c380ab0fa8617c9dcfe76c4d9db5459b21dc1413726e46cc8f387d359e344f407", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "vMthMjhAwqlvw29-VOpsjlX50iH38FeR7WACXgYGRDk", + "kid" : "none", + "kty" : "OKP", + "x" : "VM2mIyRXWa1tQ-YgpgaQi-_GM9YHkrx3mER6DvOOcxE" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "54cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311", + "sk" : "bccb61323840c2a96fc36f7e54ea6c8e55f9d221f7f05791ed60025e06064439", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b657003210054cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAVM2mIyRXWa1tQ+YgpgaQi+/GM9YHkrx3mER6DvOOcxE=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 110, + "comment" : "Random test failure 26", + "msg" : "27e792b28b2f1702", + "sig" : "14d9b497c19b91d43481c55bb6f5056de252d9ecb637575c807e58e9b4c5eac8b284089d97e2192dc242014363208e2c9a3435edf8928fb1d893553e9be4c703", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "8tMCO5wZ4kF0i8QDmnpDxZVwHyNnVQUBUhOooqAnTBs", + "kid" : "none", + "kty" : "OKP", + "x" : "I2K6xRTV-tM4AmQul5oegt5utvG8v2pbME8rsCueV_4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "2362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe", + "sk" : "f2d3023b9c19e241748bc4039a7a43c595701f23675505015213a8a2a0274c1b", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAI2K6xRTV+tM4AmQul5oegt5utvG8v2pbME8rsCueV/4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 111, + "comment" : "Random test failure 27", + "msg" : "eef3bb0f617c17d0420c115c21c28e3762edc7b7fb048529b84a9c2bc6", + "sig" : "242ddb3a5d938d07af690b1b0ef0fa75842c5f9549bf39c8750f75614c712e7cbaf2e37cc0799db38b858d41aec5b9dd2fca6a3c8e082c10408e2cf3932b9d08", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "EvwxxA1aevceBUJGI7qXC2cM9uy0TNphICEOY3AkXds", + "kid" : "none", + "kty" : "OKP", + "x" : "A3tVtCfcjaoPgPzrrwhGkCMJ-KbPGLRlwM6bZTlimsg" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "037b55b427dc8daa0f80fcebaf0846902309f8a6cf18b465c0ce9b6539629ac8", + "sk" : "12fc31c40d5a7af71e05424623ba970b670cf6ecb44cda6120210e6370245ddb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100037b55b427dc8daa0f80fcebaf0846902309f8a6cf18b465c0ce9b6539629ac8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAA3tVtCfcjaoPgPzrrwhGkCMJ+KbPGLRlwM6bZTlimsg=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 112, + "comment" : "Test case for overflow in signature generation", + "msg" : "01234567", + "sig" : "c964e100033ce8888b23466677da4f4aea29923f642ae508f9d0888d788150636ab9b2c3765e91bbb05153801114d9e52dc700df377212222bb766be4b8c020d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "5UvMTOldtIByx7SVdWF90flAOwchBSWcoG2NAVMNB_s", + "kid" : "none", + "kty" : "OKP", + "x" : "nAAHaY8XeZinZmx895c-K4jpxJRuM4BKe76JaNI5Sy4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "9c0007698f177998a7666c7cf7973e2b88e9c4946e33804a7bbe8968d2394b2e", + "sk" : "e54bcc4ce95db48072c7b49575617dd1f9403b072105259ca06d8d01530d07fb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321009c0007698f177998a7666c7cf7973e2b88e9c4946e33804a7bbe8968d2394b2e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAnAAHaY8XeZinZmx895c+K4jpxJRuM4BKe76JaNI5Sy4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 113, + "comment" : "Test case for overflow in signature generation", + "msg" : "9399a6db9433d2a28d2b0c11c8794ab7d108c95b", + "sig" : "176065c6d64a136a2227687d77f61f3fca3b16122c966276fd9a8b14a1a2cea4c33b3533d11101717016684e3810efbea63bb23773f7cc480174199abd734f08", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "3n8rsSuHWnnMsFc0Syhnou2yXbwez8jLB8aeLdPfPgI", + "kid" : "none", + "kty" : "OKP", + "x" : "7TpvlyHclynB92Y1vPCA1wNuHC8CKGVMy74ec4wXuWM" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "ed3a6f9721dc9729c1f76635bcf080d7036e1c2f0228654ccbbe1e738c17b963", + "sk" : "de7f2bb12b875a79ccb057344b2867a2edb25dbc1ecfc8cb07c69e2dd3df3e02", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100ed3a6f9721dc9729c1f76635bcf080d7036e1c2f0228654ccbbe1e738c17b963", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA7TpvlyHclynB92Y1vPCA1wNuHC8CKGVMy74ec4wXuWM=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 114, + "comment" : "Test case for overflow in signature generation", + "msg" : "7af783afbbd44c1833ab7237ecaf63b94ffdd003", + "sig" : "7ca69331eec8610d38f00e2cdbd46966cb359dcde98a257ac6f362cc00c8f4fe85c02285fe4d66e31a44cadb2bf474e1a7957609eb4fe95a71473fe6699aa70d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "6nkrep1CC_dPaoKnjliizJTzqz65MScGEbH42nXD1gs", + "kid" : "none", + "kty" : "OKP", + "x" : "Sr-1NTE3BaZXABhEDN7Bo64z5R81IRL6asvQxrw-qFk" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "4abfb535313705a6570018440cdec1a3ae33e51f352112fa6acbd0c6bc3ea859", + "sk" : "ea792b7a9d420bf74f6a82a78e58a2cc94f3ab3eb931270611b1f8da75c3d60b", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321004abfb535313705a6570018440cdec1a3ae33e51f352112fa6acbd0c6bc3ea859", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEASr+1NTE3BaZXABhEDN7Bo64z5R81IRL6asvQxrw+qFk=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 115, + "comment" : "Test case for overflow in signature generation", + "msg" : "321b5f663c19e30ee7bbb85e48ecf44db9d3f512", + "sig" : "f296715e855d8aecccba782b670163dedc4458fe4eb509a856bcac450920fd2e95a3a3eb212d2d9ccaf948c39ae46a2548af125f8e2ad9b77bd18f92d59f9200", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "7KKGRfY2Rlde4uS9s29Rg4FCziR0ZkwrZu8FSzevYSQ", + "kid" : "none", + "kty" : "OKP", + "x" : "TyFi5r8DpxLbDvpBi35wBuI4cdnX7FVaMTiFxK_ZY4U" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "4f2162e6bf03a712db0efa418b7e7006e23871d9d7ec555a313885c4afd96385", + "sk" : "eca28645f63646575ee2e4bdb36f51838142ce2474664c2b66ef054b37af6124", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321004f2162e6bf03a712db0efa418b7e7006e23871d9d7ec555a313885c4afd96385", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEATyFi5r8DpxLbDvpBi35wBuI4cdnX7FVaMTiFxK/ZY4U=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 116, + "comment" : "Test case for overflow in signature generation", + "msg" : "c48890e92aeeb3af04858a8dc1d34f16a4347b91", + "sig" : "367d07253a9d5a77d054b9c1a82d3c0a448a51905343320b3559325ef41839608aa45564978da1b2968c556cfb23b0c98a9be83e594d5e769d69d1156e1b1506", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "coI4YCt-Z1Oz9J6w_EzeOMe7FKtY3crvJTcnWxPpndM", + "kid" : "none", + "kty" : "OKP", + "x" : "BxfXXOJ-oYHtWjDmRWxkm1z0U6a0wSzT-f0Wsx4MJc0" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "0717d75ce27ea181ed5a30e6456c649b5cf453a6b4c12cd3f9fd16b31e0c25cd", + "sk" : "728238602b7e6753b3f49eb0fc4cde38c7bb14ab58ddcaef2537275b13e99dd3", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321000717d75ce27ea181ed5a30e6456c649b5cf453a6b4c12cd3f9fd16b31e0c25cd", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEABxfXXOJ+oYHtWjDmRWxkm1z0U6a0wSzT+f0Wsx4MJc0=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 117, + "comment" : "regression test for arithmetic error", + "msg" : "26d5f0631f49106db58c4cfc903691134811b33c", + "sig" : "9588e02bc815649d359ce710cdc69814556dd8c8bab1c468f40a49ebefb7f0de7ed49725edfd1b708fa1bad277c35d6c1b9c5ec25990997645780f9203d7dd08", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "3ECS14CcawcPKAjENCZ7ZpdCj0qx5GJqtWowWWQ75Dw", + "kid" : "none", + "kty" : "OKP", + "x" : "21ueq36E5aE1BYZfpxHJyJbImGCfwR_JvB5VAo-Ult8" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "db5b9eab7e84e5a13505865fa711c9c896c898609fc11fc9bc1e55028f9496df", + "sk" : "dc4092d7809c6b070f2808c434267b6697428f4ab1e4626ab56a3059643be43c", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100db5b9eab7e84e5a13505865fa711c9c896c898609fc11fc9bc1e55028f9496df", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA21ueq36E5aE1BYZfpxHJyJbImGCfwR/JvB5VAo+Ult8=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 118, + "comment" : "regression test for arithmetic error", + "msg" : "2a71f064af982a3a1103a75cef898732d7881981", + "sig" : "2217a0be57dd0d6c0090641496bcb65e37213f02a0df50aff0368ee2808e1376504f37b37494132dfc4d4887f58b9e86eff924040db3925ee4f8e1428c4c500e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "OHZbiexWg26kGQ_JV4ArakcWf5te-ULpJlKAO33mq_0", + "kid" : "none", + "kty" : "OKP", + "x" : "e6wY9tJiXTkV8jNDTNo4pXckenMypRcLNxQqNGRBReA" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "7bac18f6d2625d3915f233434cda38a577247a7332a5170b37142a34644145e0", + "sk" : "38765b89ec56836ea4190fc957802b6a47167f9b5ef942e92652803b7de6abfd", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321007bac18f6d2625d3915f233434cda38a577247a7332a5170b37142a34644145e0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAe6wY9tJiXTkV8jNDTNo4pXckenMypRcLNxQqNGRBReA=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 119, + "comment" : "regression test for arithmetic error", + "msg" : "bf26796cef4ddafcf5033c8d105057db0210b6ad", + "sig" : "1fda6dd4519fdbefb515bfa39e8e5911f4a0a8aa65f40ef0c542b8b34b87f9c249dc57f320718ff457ed5915c4d0fc352affc1287724d3f3a9de1ff777a02e01", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "l1dTCKSQrwwUVBHdFtUZoHPvA8LkoKHNa13i6IHl6r4", + "kid" : "none", + "kty" : "OKP", + "x" : "OOrTBGJKvr8-KzHiDlYpUx4_xlkAiIfJEG9eVa27xio" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "38ead304624abebf3e2b31e20e5629531e3fc659008887c9106f5e55adbbc62a", + "sk" : "97575308a490af0c145411dd16d519a073ef03c2e4a0a1cd6b5de2e881e5eabe", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b657003210038ead304624abebf3e2b31e20e5629531e3fc659008887c9106f5e55adbbc62a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAOOrTBGJKvr8+KzHiDlYpUx4/xlkAiIfJEG9eVa27xio=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 120, + "comment" : "regression test for arithmetic error", + "msg" : "ae03da6997e40cea67935020152d3a9a365cc055", + "sig" : "068eafdc2f36b97f9bae7fbda88b530d16b0e35054d3a351e3a4c914b22854c711505e49682e1a447e10a69e3b04d0759c859897b64f71137acf355b63faf100", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "rRKeieDuyQjfUa3CJ8jEkIqAlddWIVNsiijcpLPDDbs", + "kid" : "none", + "kty" : "OKP", + "x" : "6byVBJr35IF7F8QCJpul52e3NIdXrIAC_sngg5DAqc8" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "e9bc95049af7e4817b17c402269ba5e767b7348757ac8002fec9e08390c0a9cf", + "sk" : "ad129e89e0eec908df51adc227c8c4908a8095d75621536c8a28dca4b3c30dbb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100e9bc95049af7e4817b17c402269ba5e767b7348757ac8002fec9e08390c0a9cf", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA6byVBJr35IF7F8QCJpul52e3NIdXrIAC/sngg5DAqc8=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 121, + "comment" : "regression test for arithmetic error", + "msg" : "489d473f7fb83c7f6823baf65482517bccd8f4ea", + "sig" : "43670abc9f09a8a415e76f4a21c6a46156f066b5a37b3c1e867cf67248c7b927e8d13a763e37abf936f5f27f7a8aa290539d21f740efd26b65fd5ad27085f400", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "A85kPW00G3BlvJ5w2oGTRRz4PKf_WoZA_QevCUZANlo", + "kid" : "none", + "kty" : "OKP", + "x" : "7oFVyk6P57xbylmSBE6rf4w8ahPbEXb0L0bCnaWwZPQ" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "ee8155ca4e8fe7bc5bca5992044eab7f8c3c6a13db1176f42f46c29da5b064f4", + "sk" : "03ce643d6d341b7065bc9e70da8193451cf83ca7ff5a8640fd07af094640365a", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100ee8155ca4e8fe7bc5bca5992044eab7f8c3c6a13db1176f42f46c29da5b064f4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA7oFVyk6P57xbylmSBE6rf4w8ahPbEXb0L0bCnaWwZPQ=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 122, + "comment" : "regression test for arithmetic error", + "msg" : "1b704d6692d60a07ad1e1d047b65e105a80d3459", + "sig" : "56388f2228893b14ce4f2a5e0cc626591061de3a57c50a5ecab7b9d5bb2caeea191560a1cf2344c75fdb4a085444aa68d727b39f498169eaa82cf64a31f59803", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "WB9ZOlzZRZTcD13RQgJqQ2qTDlczkbeu6mqCU-7vbOs", + "kid" : "none", + "kty" : "OKP", + "x" : "21B7_MlXY5P3FXuzYFMrBcX88udktpDMZpikow00kJU" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "db507bfcc9576393f7157bb360532b05c5fcf2e764b690cc6698a4a30d349095", + "sk" : "581f593a5cd94594dc0f5dd142026a436a930e573391b7aeea6a8253eeef6ceb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100db507bfcc9576393f7157bb360532b05c5fcf2e764b690cc6698a4a30d349095", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA21B7/MlXY5P3FXuzYFMrBcX88udktpDMZpikow00kJU=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 123, + "comment" : "regression test for arithmetic error", + "msg" : "dc87030862c4c32f56261e93a367caf458c6be27", + "sig" : "553e5845fc480a577da6544e602caadaa00ae3e5aa3dce9ef332b1541b6d5f21bdf1d01e98baf80b8435f9932f89b3eb70f02da24787aac8e77279e797d0bd0b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "byB9yUuETU3HH5gtqNnzrgs3tGI-RB7KdbpiYhxSTZg", + "kid" : "none", + "kty" : "OKP", + "x" : "mU6vAzCdatnZWmVrwXROKIbwKQI6N1CzTzUIazxyJ_g" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "994eaf03309d6ad9d95a656bc1744e2886f029023a3750b34f35086b3c7227f8", + "sk" : "6f207dc94b844d4dc71f982da8d9f3ae0b37b4623e441eca75ba62621c524d98", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100994eaf03309d6ad9d95a656bc1744e2886f029023a3750b34f35086b3c7227f8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAmU6vAzCdatnZWmVrwXROKIbwKQI6N1CzTzUIazxyJ/g=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 124, + "comment" : "regression test for arithmetic error", + "msg" : "7f41ef68508343ef18813cb2fb332445ec6480cd", + "sig" : "bc10f88081b7be1f2505b6e76c5c82e358cf21ec11b7df1f334fb587bada465b53d9f7b4d4fec964432ee91ead1bc32ed3c82f2167da1c834a37515df7fe130e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "3qm7ufsgUS-mfuppav14bzkoJl9SCK6rpjjzF30Ntw4", + "kid" : "none", + "kty" : "OKP", + "x" : "En035Abg2D5LVaCeIej1D7iK9H5KQ_AYzev_wZSHV_A" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "127d37e406e0d83e4b55a09e21e8f50fb88af47e4a43f018cdebffc1948757f0", + "sk" : "dea9bbb9fb20512fa67eea696afd786f3928265f5208aeaba638f3177d0db70e", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100127d37e406e0d83e4b55a09e21e8f50fb88af47e4a43f018cdebffc1948757f0", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAEn035Abg2D5LVaCeIej1D7iK9H5KQ/AYzev/wZSHV/A=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 125, + "comment" : "regression test for arithmetic error", + "msg" : "e1ce107971534bc46a42ac609a1a37b4ca65791d", + "sig" : "00c11e76b5866b7c37528b0670188c1a0473fb93c33b72ae604a8865a7d6e094ff722e8ede3cb18389685ff3c4086c29006047466f81e71a329711e0b9294709", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "yZxSrh5h98eaFk7kkQ_cqgKUYlnqVEP2iyPXIdBHL2M", + "kid" : "none", + "kty" : "OKP", + "x" : "2DuoTt-0vsSfKb4x2Apkt8C1pQJDjNsdDdHg4-VXht4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "d83ba84edfb4bec49f29be31d80a64b7c0b5a502438cdb1d0dd1e0e3e55786de", + "sk" : "c99c52ae1e61f7c79a164ee4910fdcaa02946259ea5443f68b23d721d0472f63", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100d83ba84edfb4bec49f29be31d80a64b7c0b5a502438cdb1d0dd1e0e3e55786de", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA2DuoTt+0vsSfKb4x2Apkt8C1pQJDjNsdDdHg4+VXht4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 126, + "comment" : "regression test for arithmetic error", + "msg" : "869a827397c585cf35acf88a8728833ab1c8c81e", + "sig" : "0a6f0ac47ea136cb3ff00f7a96638e4984048999ee2da0af6e5c86bffb0e70bb97406b6ad5a4b764f7c99ebb6ec0fd434b8efe253b0423ef876c037998e8ab07", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "2KqtB0nbFZVppotGBIs9PoJm4RAVAlHEKAbwdSqE6Vs", + "kid" : "none", + "kty" : "OKP", + "x" : "08mqLz1u8hehZuiuQD7UNsN_rLvjvs63jfbrQ5-PoEo" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "d3c9aa2f3d6ef217a166e8ae403ed436c37facbbe3beceb78df6eb439f8fa04a", + "sk" : "d8aaad0749db159569a68b46048b3d3e8266e110150251c42806f0752a84e95b", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100d3c9aa2f3d6ef217a166e8ae403ed436c37facbbe3beceb78df6eb439f8fa04a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA08mqLz1u8hehZuiuQD7UNsN/rLvjvs63jfbrQ5+PoEo=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 127, + "comment" : "regression test for arithmetic error", + "msg" : "619d8c4f2c93104be01cd574a385ceca08c33a9e", + "sig" : "b7cbb942a6661e2312f79548224f3e44f5841c6e880c68340756a00ce94a914e8404858265985e6bb97ef01d2d7e5e41340309606bfc43c8c6a8f925126b3d09", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "540mq1tybJ1N-x9jQIKr3tkEMqL9GAicfIUlOl0vx9A", + "kid" : "none", + "kty" : "OKP", + "x" : "1TKANnwcC5WsQRIhi5LGpxxR-2MSzmaN4ZbH1SoTYVU" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "d53280367c1c0b95ac4112218b92c6a71c51fb6312ce668de196c7d52a136155", + "sk" : "e78d26ab5b726c9d4dfb1f634082abded90432a2fd18089c7c85253a5d2fc7d0", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100d53280367c1c0b95ac4112218b92c6a71c51fb6312ce668de196c7d52a136155", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA1TKANnwcC5WsQRIhi5LGpxxR+2MSzmaN4ZbH1SoTYVU=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 128, + "comment" : "regression test for arithmetic error", + "msg" : "5257a0bae8326d259a6ce97420c65e6c2794afe2", + "sig" : "27a4f24009e579173ff3064a6eff2a4d20224f8f85fdec982a9cf2e6a3b51537348a1d7851a3a932128a923a393ea84e6b35eb3473c32dceb9d7e9cab03a0f0d", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "jnylbgfxQ4rDYV_Z7HeuY2edDsBZtFlf6_QL5Z2XagU", + "kid" : "none", + "kty" : "OKP", + "x" : "lKwjNrqXpHb7TJ8rVWPkFnyiksbpnkIjUKkRrjFywxU" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "94ac2336ba97a476fb4c9f2b5563e4167ca292c6e99e422350a911ae3172c315", + "sk" : "8e7ca56e07f1438ac3615fd9ec77ae63679d0ec059b4595febf40be59d976a05", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b657003210094ac2336ba97a476fb4c9f2b5563e4167ca292c6e99e422350a911ae3172c315", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAlKwjNrqXpHb7TJ8rVWPkFnyiksbpnkIjUKkRrjFywxU=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 129, + "comment" : "regression test for arithmetic error", + "msg" : "5acb6afc9b368f7acac0e71f6a4831c72d628405", + "sig" : "985b605fe3f449f68081197a68c714da0bfbf6ac2ab9abb0508b6384ea4999cb8d79af98e86f589409e8d2609a8f8bd7e80aaa8d92a84e7737fbe8dcef41920a", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "53Ulr1hWq531q7ZOUxJXa0mMwn9h8mbiHzguBSbU5vs", + "kid" : "none", + "kty" : "OKP", + "x" : "4ecxbSMffydb30AzYDBNoVCf3xrx_SXKIU6qwKKJOY8" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "e1e7316d231f7f275bdf403360304da1509fdf1af1fd25ca214eaac0a289398f", + "sk" : "e77525af5856ab9df5abb64e5312576b498cc27f61f266e21f382e0526d4e6fb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100e1e7316d231f7f275bdf403360304da1509fdf1af1fd25ca214eaac0a289398f", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA4ecxbSMffydb30AzYDBNoVCf3xrx/SXKIU6qwKKJOY8=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 130, + "comment" : "regression test for arithmetic error", + "msg" : "3c87b3453277b353941591fc7eaa7dd37604b42a", + "sig" : "1c8fbda3d39e2b441f06da6071c13115cb4115c7c3341704cf6513324d4cf1ef4a1dd7678a048b0dde84e48994d080befcd70854079d44b6a0b0f9fa002d130c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "H0MjWtcW8b63VKsPVG36k0SI_fdHK0k9fMPGA1MAXSQ", + "kid" : "none", + "kty" : "OKP", + "x" : "__vupxIV76-YiP7CzGjts3A_8Rpm_WKbU8vaXqvBh1A" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "fffbeea71215efaf9888fec2cc68edb3703ff11a66fd629b53cbda5eabc18750", + "sk" : "1f43235ad716f1beb754ab0f546dfa934488fdf7472b493d7cc3c60353005d24", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100fffbeea71215efaf9888fec2cc68edb3703ff11a66fd629b53cbda5eabc18750", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA//vupxIV76+YiP7CzGjts3A/8Rpm/WKbU8vaXqvBh1A=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 131, + "comment" : "regression test for arithmetic error", + "msg" : "0a68e27ef6847bfd9e398b328a0ded3679d4649d", + "sig" : "59097233eb141ed948b4f3c28a9496b9a7eca77454ecfe7e46737d1449a0b76b15aacf77cf48af27a668aa4434cfa26c504d75a2bcc4feac46465446234c0508", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "OXd4W5-MUyDlGjoW-MwixPfmSFdhf5VQFH-jXWhco08", + "kid" : "none", + "kty" : "OKP", + "x" : "GczAUnWZywMuC0xNdOYPE5AXaKmd8EHDvBv2wO8nEWk" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "19ccc0527599cb032e0b4c4d74e60f13901768a99df041c3bc1bf6c0ef271169", + "sk" : "3977785b9f8c5320e51a3a16f8cc22c4f7e64857617f9550147fa35d685ca34f", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b657003210019ccc0527599cb032e0b4c4d74e60f13901768a99df041c3bc1bf6c0ef271169", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAGczAUnWZywMuC0xNdOYPE5AXaKmd8EHDvBv2wO8nEWk=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 132, + "comment" : "regression test for arithmetic error", + "msg" : "4e9bef60737c7d4dd10bd52567e1473a36d3573d", + "sig" : "519105608508fe2f1b6da4cc8b23e39798b1d18d25972beed0404cec722e01ba1b6a0f85e99e092cca8076b101b60d4ac5035684357f4d0daacdc642da742a06", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "GqRBXF2wExvsb6GI0MI9SaZb95VlcVP66Ud34_Gbz1Q", + "kid" : "none", + "kty" : "OKP", + "x" : "DnJuJwR1Y6oKGpwuCF2NJq8qy6Ep0IacZQMePmysMpo" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "0e726e27047563aa0a1a9c2e085d8d26af2acba129d0869c65031e3e6cac329a", + "sk" : "1aa4415c5db0131bec6fa188d0c23d49a65bf795657153fae94777e3f19bcf54", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321000e726e27047563aa0a1a9c2e085d8d26af2acba129d0869c65031e3e6cac329a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEADnJuJwR1Y6oKGpwuCF2NJq8qy6Ep0IacZQMePmysMpo=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 133, + "comment" : "regression test for arithmetic error", + "msg" : "cc82b3163efda3ba7e9240e765112caa69113694", + "sig" : "d8b03ee579e73f16477527fc9dc37a72eaac0748a733772c483ba013944f01ef64fb4ec5e3a95021dc22f4ae282baff6e9b9cc8433c6b6710d82e7397d72ef04", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "D7doClDT8pQAd-pN_LfrBAoSXE9LXc76FtOvlo_I5d4", + "kid" : "none", + "kty" : "OKP", + "x" : "53cXtUorXlvOW8y48MX9tf1993rCVAIPyRINwNTfQXg" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "e77717b54a2b5e5bce5bccb8f0c5fdb5fd7df77ac254020fc9120dc0d4df4178", + "sk" : "0fb7680a50d3f2940077ea4dfcb7eb040a125c4f4b5dcefa16d3af968fc8e5de", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100e77717b54a2b5e5bce5bccb8f0c5fdb5fd7df77ac254020fc9120dc0d4df4178", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA53cXtUorXlvOW8y48MX9tf1993rCVAIPyRINwNTfQXg=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 134, + "comment" : "regression test for arithmetic error", + "msg" : "923a5c9e7b5635bb6c32c5a408a4a15b652450eb", + "sig" : "26da61fdfd38e6d01792813f27840c8b4766b0faaed39d0ee898cb450d94a5d5f57e58b6a003d7f9b56b20561954c6edcf66492d116b8b5e91f205a3a6449d0b", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "4iLERNa8ikeWoNWi1x0ZuYhFzFbjnKr4Iz6kxrBwTwk", + "kid" : "none", + "kty" : "OKP", + "x" : "YiCXLT99FQs2eQ19UiOEh21k1kDNmRMYaBXhYpWC7TY" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "6220972d3f7d150b36790d7d522384876d64d640cd9913186815e1629582ed36", + "sk" : "e222c444d6bc8a4796a0d5a2d71d19b98845cc56e39caaf8233ea4c6b0704f09", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321006220972d3f7d150b36790d7d522384876d64d640cd9913186815e1629582ed36", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAYiCXLT99FQs2eQ19UiOEh21k1kDNmRMYaBXhYpWC7TY=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 135, + "comment" : "regression test for arithmetic error", + "msg" : "6f2f0245de4587062979d0422d349f93ccdc3af2", + "sig" : "4adeaff7a58c5010a5a067feea0ae504d37b0c6a76c6c153e222f13409dff2df0fab69bc5059b97d925dc1b89e9851d7c627cb82d65585f9fd976124553f8902", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "qJ6hhHa5rZDLFLix_yR3fk69AVvIEKYHhakVTazzvlI", + "kid" : "none", + "kty" : "OKP", + "x" : "e2SijFDsdnipDj4aIVIuMKydt7UhWuor-zO-oDfquYc" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "7b64a28c50ec7678a90e3e1a21522e30ac9db7b5215aea2bfb33bea037eab987", + "sk" : "a89ea18476b9ad90cb14b8b1ff24777e4ebd015bc810a60785a9154dacf3be52", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321007b64a28c50ec7678a90e3e1a21522e30ac9db7b5215aea2bfb33bea037eab987", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAe2SijFDsdnipDj4aIVIuMKydt7UhWuor+zO+oDfquYc=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 136, + "comment" : "regression test for arithmetic error", + "msg" : "6e911edb27a170b983d4dee1110554f804330f41", + "sig" : "4204d620cde0c3008c0b2901f5d6b44f88f0e3cb4f4d62252bf6f3cb37c1fb150a9ccb296afe5e7c75f65b5c8edd13dc4910ffe1e1265b3707c59042cf9a5902", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "abHaVs3o0WdsKowOf5XH0L9gc579EwTdLMsCcp0Xoiw", + "kid" : "none", + "kty" : "OKP", + "x" : "ckRSIQqeTJlIGSKb8Sv4TpV2ijqXwI2Nj1-TmkytNMU" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "724452210a9e4c994819229bf12bf84e95768a3a97c08d8d8f5f939a4cad34c5", + "sk" : "69b1da56cde8d1676c2a8c0e7f95c7d0bf60739efd1304dd2ccb02729d17a22c", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100724452210a9e4c994819229bf12bf84e95768a3a97c08d8d8f5f939a4cad34c5", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAckRSIQqeTJlIGSKb8Sv4TpV2ijqXwI2Nj1+TmkytNMU=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 137, + "comment" : "regression test for arithmetic error", + "msg" : "b8cf807eea809aaf739aa091f3b7a3f2fd39fb51", + "sig" : "f8a69d3fd8c2ff0a9dec41e4c6b43675ce08366a35e220b1185ffc246c339e22c20ac661e866f52054015efd04f42eca2adcee6834c4df923b4a62576e4dff0e", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "szImXPlVlfDJAiFZO1orPFdNYNxjTd_2GG8O7XmAo4M", + "kid" : "none", + "kty" : "OKP", + "x" : "utJlspTtL0IstqFBaUCGI4-_6YdXGqdl2LTzokEFqgE" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "bad265b294ed2f422cb6a141694086238fbfe987571aa765d8b4f3a24105aa01", + "sk" : "b332265cf95595f0c90221593b5a2b3c574d60dc634ddff6186f0eed7980a383", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100bad265b294ed2f422cb6a141694086238fbfe987571aa765d8b4f3a24105aa01", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAutJlspTtL0IstqFBaUCGI4+/6YdXGqdl2LTzokEFqgE=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 138, + "comment" : "regression test for arithmetic error", + "msg" : "01a2b5f7fee813b4e9bd7fc25137648004795010", + "sig" : "61792c9442bc6338ac41fd42a40bee9b02ec1836503d60ff725128c63d72808880c36e6190b7da525cbee5d12900aa043547dd14a2709ef9e49d628f37f6b70c", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "-uyXZLNp3w7xCJDdAixQLlUaMiK0PoQpRVSWx2_upF0", + "kid" : "none", + "kty" : "OKP", + "x" : "Cq7ktyPbm1G6fSLrI-uKdqWsAvT8ndBvd76kLh037Fo" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "0aaee4b723db9b51ba7d22eb23eb8a76a5ac02f4fc9dd06f77bea42e1d37ec5a", + "sk" : "faec9764b369df0ef10890dd022c502e551a3222b43e8429455496c76feea45d", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321000aaee4b723db9b51ba7d22eb23eb8a76a5ac02f4fc9dd06f77bea42e1d37ec5a", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEACq7ktyPbm1G6fSLrI+uKdqWsAvT8ndBvd76kLh037Fo=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 139, + "comment" : "regression test for arithmetic error", + "msg" : "0fbf5d47cb5d498feace8f98f1896208da38a885", + "sig" : "fa3cd41e3a8c00b19eecd404a63c3cb787cd30de0dfc936966cff2117f5aff18db6bef80fcfd8856f3fb2e9c3dc47593e9471103032af918feee638a33d40505", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "TrGeJ496MKBqfVXkLER3X0qBt6RcBRKq4CYmLnF3Daw", + "kid" : "none", + "kty" : "OKP", + "x" : "gSNErxWpG6g8LJHpbxcnrA88TEE4W5-oTvo5mtpRaL4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "812344af15a91ba83c2c91e96f1727ac0f3c4c41385b9fa84efa399ada5168be", + "sk" : "4eb19e278f7a30a06a7d55e42c44775f4a81b7a45c0512aae026262e71770dac", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100812344af15a91ba83c2c91e96f1727ac0f3c4c41385b9fa84efa399ada5168be", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAgSNErxWpG6g8LJHpbxcnrA88TEE4W5+oTvo5mtpRaL4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 140, + "comment" : "regression test for arithmetic error", + "msg" : "36e67c1939750bffb3e4ba6cb85562612275e862", + "sig" : "97fbbcd7a1d0eb42d2f8c42448ef35a2c2472740556b645547865330d6c57068af377fced08aaf810c08cd3c43d296f1975710312e9334c98b485f831efa4103", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "GZjVlJyrNloA-Cjn0XsGxwjTP-8AMdNTpOFb9yIqc7A", + "kid" : "none", + "kty" : "OKP", + "x" : "DuXLVZf7343MxIsBSF45szqhM7UtMNI3QCdyZ8_sPj4" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "0ee5cb5597fbdf8dccc48b01485e39b33aa133b52d30d23740277267cfec3e3e", + "sk" : "1998d5949cab365a00f828e7d17b06c708d33fef0031d353a4e15bf7222a73b0", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321000ee5cb5597fbdf8dccc48b01485e39b33aa133b52d30d23740277267cfec3e3e", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEADuXLVZf7343MxIsBSF45szqhM7UtMNI3QCdyZ8/sPj4=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 141, + "comment" : "regression test for arithmetic error", + "msg" : "13945c894c1d3fe8562e8b20e5f0efaa26ade8e3", + "sig" : "d7dbaa337ffd2a5fd8d5fd8ad5aeccc0c0f83795c2c59fe62a40b87903b1ae62ed748a8df5af4d32f9f822a65d0e498b6f40eaf369a9342a1164ee7d08b58103", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "YWRnYRTGa9mIfaw0HGYgncWHzPDMXNm6_9-skpWgDEo", + "kid" : "none", + "kty" : "OKP", + "x" : "n7od6StgtbRwMIl2PQ1vkSXk3X765B8IoiiCrvloksQ" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "9fba1de92b60b5b4703089763d0d6f9125e4dd7efae41f08a22882aef96892c4", + "sk" : "6164676114c66bd9887dac341c66209dc587ccf0cc5cd9baffdfac9295a00c4a", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321009fba1de92b60b5b4703089763d0d6f9125e4dd7efae41f08a22882aef96892c4", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAn7od6StgtbRwMIl2PQ1vkSXk3X765B8IoiiCrvloksQ=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 142, + "comment" : "regression test for arithmetic error", + "msg" : "4de142af4b8402f80a47fa812df84f42e283cee7", + "sig" : "09a2ed303a2fa7027a1dd7c3b0d25121eeed2b644a2fbc17aa0c8aea4524071ede7e7dd7a536d5497f8165d29e4e1b63200f74bbae39fbbbccb29889c62c1f09", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "SwvQOgOyAGnMvMIUp0SEc_TnpJH6fOtI3b4kyDxKpLs", + "kid" : "none", + "kty" : "OKP", + "x" : "dYKrG1LhMW5cE2cfQ7Oco2soEzzQgygxvN3QsPIzmMs" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "7582ab1b52e1316e5c13671f43b39ca36b28133cd0832831bcddd0b0f23398cb", + "sk" : "4b0bd03a03b20069ccbcc214a7448473f4e7a491fa7ceb48ddbe24c83c4aa4bb", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b65700321007582ab1b52e1316e5c13671f43b39ca36b28133cd0832831bcddd0b0f23398cb", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAdYKrG1LhMW5cE2cfQ7Oco2soEzzQgygxvN3QsPIzmMs=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 143, + "comment" : "regression test for arithmetic error", + "msg" : "563357f41b8b23b1d83f19f5667177a67da20b18", + "sig" : "e6884a6e6b2e60a0b5862251c001e7c79d581d777d6fc11d218d0aecd79f26a30e2ca22cc7c4674f8b72655bc4ee5cb5494ca07c05177656142ac55cc9d33e02", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "L854cL4fOS0h-x0jUOx4d9uKqZs1n-W91TOP81p5HRw", + "kid" : "none", + "kty" : "OKP", + "x" : "3S1ni64iLz-26CePCMyeGmYznJJsKawKFvlxf17hjNg" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "dd2d678bae222f3fb6e8278f08cc9e1a66339c926c29ac0a16f9717f5ee18cd8", + "sk" : "2fce7870be1f392d21fb1d2350ec7877db8aa99b359fe5bdd5338ff35a791d1c", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100dd2d678bae222f3fb6e8278f08cc9e1a66339c926c29ac0a16f9717f5ee18cd8", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA3S1ni64iLz+26CePCMyeGmYznJJsKawKFvlxf17hjNg=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 144, + "comment" : "regression test for arithmetic error", + "msg" : "931bbf9c877a6571cf7d4609fc3eb867edd43f51", + "sig" : "6124c206d864507ea5d984b363b4cf583314db6856a45ded5e61eebff4d5e337e0b4c82b445ae2e52d549d2d961eace2ea01f81158e09a9686baa040db65ad08", + "result" : "valid", + "flags" : [] + } + ] + }, + { + "jwk" : { + "crv" : "Ed25519", + "d" : "qazkIZXduzoW82ayTdnTeooEPtLmAB9UZSKWdQN5Nn0", + "kid" : "none", + "kty" : "OKP", + "x" : "zL58suS8IVzuL4heHSL34NWCsru9eCwQTlSLFS0m_Gk" + }, + "key" : { + "curve" : "edwards25519", + "keySize" : 255, + "pk" : "ccbe7cb2e4bc215cee2f885e1d22f7e0d582b2bbbd782c104e548b152d26fc69", + "sk" : "a9ace42195ddbb3a16f366b24dd9d37a8a043ed2e6001f54652296750379367d", + "type" : "EDDSAKeyPair" + }, + "keyDer" : "302a300506032b6570032100ccbe7cb2e4bc215cee2f885e1d22f7e0d582b2bbbd782c104e548b152d26fc69", + "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAzL58suS8IVzuL4heHSL34NWCsru9eCwQTlSLFS0m/Gk=\n-----END PUBLIC KEY-----\n", + "type" : "EddsaVerify", + "tests" : [ + { + "tcId" : 145, + "comment" : "regression test for arithmetic error", + "msg" : "44530b0b34f598767a7b875b0caee3c7b9c502d1", + "sig" : "cfbd450a2c83cb8436c348822fe3ee347d4ee937b7f2ea11ed755cc52852407c9eec2c1fa30d2f9aef90e89b2cc3bcef2b1b9ca59f712110d19894a9cf6a2802", + "result" : "valid", + "flags" : [] + } + ] + } + ] +} diff --git a/security/nss/gtests/freebl_gtest/ed25519_unittest.cc b/security/nss/gtests/freebl_gtest/ed25519_unittest.cc new file mode 100644 index 0000000000..e1dad02839 --- /dev/null +++ b/security/nss/gtests/freebl_gtest/ed25519_unittest.cc @@ -0,0 +1,148 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +#include "gtest/gtest.h" + +#include <stdint.h> + +#include "blapi.h" +#include "nss_scoped_ptrs.h" +#include "secerr.h" + +namespace nss_test { + +class EDDSATest : public ::testing::Test { + protected: + std::vector<uint8_t> hexStringToBytes(std::string s) { + std::vector<uint8_t> bytes; + for (size_t i = 0; i < s.length(); i += 2) { + bytes.push_back(std::stoul(s.substr(i, 2), nullptr, 16)); + } + return bytes; + } + std::string bytesToHexString(std::vector<uint8_t> bytes) { + std::stringstream s; + for (auto b : bytes) { + s << std::setfill('0') << std::setw(2) << std::uppercase << std::hex + << static_cast<int>(b); + } + return s.str(); + } + + void TestEd25519_Sign(const std::string secret, const std::string p, + const std::string msg, const std::string signature) { + std::vector<uint8_t> secret_bytes = hexStringToBytes(secret); + ASSERT_GT(secret_bytes.size(), 0U); + SECItem secret_value = {siBuffer, secret_bytes.data(), + static_cast<unsigned int>(secret_bytes.size())}; + + std::vector<uint8_t> msg_bytes = hexStringToBytes(msg); + const SECItem msg_value = {siBuffer, msg_bytes.data(), + static_cast<unsigned int>(msg_bytes.size())}; + + std::vector<uint8_t> public_bytes = hexStringToBytes(p); + const SECItem public_value = { + siBuffer, public_bytes.data(), + static_cast<unsigned int>(public_bytes.size())}; + + ScopedSECItem signature_item( + SECITEM_AllocItem(nullptr, nullptr, ED25519_SIGN_LEN)); + + ECPrivateKey key; + key.privateValue = secret_value; + + ECParams ecParams = {0}; + + ScopedSECItem ecEncodedParams(SECITEM_AllocItem(nullptr, nullptr, 0U)); + ScopedPLArenaPool arena(PORT_NewArena(DER_DEFAULT_CHUNKSIZE)); + ASSERT_TRUE(arena && ecEncodedParams); + + ecParams.name = ECCurve_Ed25519; + key.ecParams = ecParams; + + SECStatus rv = ED_SignMessage(&key, signature_item.get(), &msg_value); + ASSERT_EQ(SECSuccess, rv); + + ECPublicKey public_key; + public_key.publicValue = public_value; + public_key.ecParams = ecParams; + + rv = ED_VerifyMessage(&public_key, signature_item.get(), &msg_value); + ASSERT_EQ(SECSuccess, rv); + + std::string signature_result = bytesToHexString(std::vector<uint8_t>( + signature_item->data, signature_item->data + signature_item->len)); + EXPECT_EQ(signature_result, signature); + } +}; + +TEST_F(EDDSATest, TestEd25519_Sign) { + TestEd25519_Sign( + "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb", + "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c", "72", + "92A009A9F0D4CAB8720E820B5F642540A2B27B5416503F8FB3762223EBDB69DA085AC1E4" + "3E15996E458F3613D0F11D8C387B2EAEB4302AEEB00D291612BB0C00"); +} +TEST_F(EDDSATest, TestEd25519_Sign2) { + TestEd25519_Sign( + "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60", + "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a", "", + "E5564300C360AC729086E2CC806E828A84877F1EB8E5D974D873E065224901555FB88215" + "90A33BACC61E39701CF9B46BD25BF5F0595BBE24655141438E7A100B"); +} +TEST_F(EDDSATest, TestEd25519_Sign3) { + TestEd25519_Sign( + "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7", + "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025", + "af82", + "6291D657DEEC24024827E69C3ABE01A30CE548A284743A445E3680D7DB5AC3AC18FF9B53" + "8D16F290AE67F760984DC6594A7C15E9716ED28DC027BECEEA1EC40A"); +} +TEST_F(EDDSATest, TestEd25519_Sign4) { + TestEd25519_Sign( + "f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5", + "278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e", + "08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264b" + "f09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996" + "d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432" + "826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a" + "7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da9" + "03401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628" + "c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206b" + "e6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed1" + "85ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70e" + "b6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6" + "079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c6" + "5adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089b" + "eccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80" + "c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22" + "f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2" + "af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb7" + "51fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30" + "c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb" + "3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1d" + "c54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7" + "984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276c" + "d419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d" + "5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504cc" + "c493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5f" + "b93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba7" + "7c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45" + "a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcd" + "d306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8ca" + "c60c905c15fc910840b94c00a0b9d0", + "0AAB4C900501B3E24D7CDF4663326A3A87DF5E4843B2CBDB67CBF6E460FEC350AA5371B1" + "508F9F4528ECEA23C436D94B5E8FCD4F681E30A6AC00A9704A188A03"); +} +TEST_F(EDDSATest, TestEd25519_Sign5) { + TestEd25519_Sign( + "833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42", + "ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf", + "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a" + "274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f", + "DC2A4459E7369633A52B1BF277839A00201009A3EFBF3ECB69BEA2186C26B58909351FC9" + "AC90B3ECFDFBC7C66431E0303DCA179C138AC17AD9BEF1177331A704"); +} + +} // namespace nss_test diff --git a/security/nss/gtests/freebl_gtest/freebl_gtest.gyp b/security/nss/gtests/freebl_gtest/freebl_gtest.gyp index ed1a557172..c7988776db 100644 --- a/security/nss/gtests/freebl_gtest/freebl_gtest.gyp +++ b/security/nss/gtests/freebl_gtest/freebl_gtest.gyp @@ -40,6 +40,7 @@ 'mpi_unittest.cc', 'prng_kat_unittest.cc', 'rsa_unittest.cc', + 'ed25519_unittest.cc', '<(DEPTH)/gtests/common/gtests.cc' ], 'dependencies': [ diff --git a/security/nss/gtests/pk11_gtest/manifest.mn b/security/nss/gtests/pk11_gtest/manifest.mn index 7bfcb82f58..f9efc25e70 100644 --- a/security/nss/gtests/pk11_gtest/manifest.mn +++ b/security/nss/gtests/pk11_gtest/manifest.mn @@ -19,6 +19,7 @@ CPPSRCS = \ pk11_des_unittest.cc \ pk11_dsa_unittest.cc \ pk11_ecdsa_unittest.cc \ + pk11_eddsa_unittest.cc \ pk11_ecdh_unittest.cc \ pk11_encrypt_derive_unittest.cc \ pk11_export_unittest.cc \ @@ -33,6 +34,7 @@ CPPSRCS = \ pk11_keygen.cc \ pk11_key_unittest.cc \ pk11_module_unittest.cc \ + pk11_pbe_unittest.cc \ pk11_pbkdf2_unittest.cc \ pk11_prf_unittest.cc \ pk11_prng_unittest.cc \ diff --git a/security/nss/gtests/pk11_gtest/pk11_eddsa_unittest.cc b/security/nss/gtests/pk11_gtest/pk11_eddsa_unittest.cc new file mode 100644 index 0000000000..669ac75243 --- /dev/null +++ b/security/nss/gtests/pk11_gtest/pk11_eddsa_unittest.cc @@ -0,0 +1,177 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include <memory> +#include "nss.h" +#include "pk11pub.h" +#include "sechash.h" +#include "cryptohi.h" + +#include "cpputil.h" +#include "json_reader.h" +#include "nss_scoped_ptrs.h" +#include "testvectors_base/test-structs.h" + +#include "pk11_eddsa_vectors.h" +#include "pk11_signature_test.h" +#include "pk11_keygen.h" + +namespace nss_test { +static const Pkcs11SignatureTestParams kEddsaVectors[] = { + {DataBuffer(kEd25519Pkcs8_1, sizeof(kEd25519Pkcs8_1)), + DataBuffer(kEd25519Spki_1, sizeof(kEd25519Spki_1)), + DataBuffer(kEd25519Message_1, sizeof(kEd25519Message_1)), + DataBuffer(kEd25519Signature_1, sizeof(kEd25519Signature_1))}, + + {DataBuffer(kEd25519Pkcs8_2, sizeof(kEd25519Pkcs8_2)), + DataBuffer(kEd25519Spki_2, sizeof(kEd25519Spki_2)), + DataBuffer(kEd25519Message_2, sizeof(kEd25519Message_2)), + DataBuffer(kEd25519Signature_2, sizeof(kEd25519Signature_2))}, + + {DataBuffer(kEd25519Pkcs8_3, sizeof(kEd25519Pkcs8_3)), + DataBuffer(kEd25519Spki_3, sizeof(kEd25519Spki_3)), + DataBuffer(kEd25519Message_3, sizeof(kEd25519Message_3)), + DataBuffer(kEd25519Signature_3, sizeof(kEd25519Signature_3))}}; + +class Pkcs11EddsaTest + : public Pk11SignatureTest, + public ::testing::WithParamInterface<Pkcs11SignatureTestParams> { + protected: + Pkcs11EddsaTest() : Pk11SignatureTest(CKM_EDDSA) {} +}; + +TEST_P(Pkcs11EddsaTest, SignAndVerify) { SignAndVerifyRaw(GetParam()); } + +TEST_P(Pkcs11EddsaTest, ImportExport) { ImportExport(GetParam().pkcs8_); } + +TEST_P(Pkcs11EddsaTest, ImportConvertToPublic) { + ScopedSECKEYPrivateKey privKey(ImportPrivateKey(GetParam().pkcs8_)); + ASSERT_TRUE(privKey); + + ScopedSECKEYPublicKey pubKey(SECKEY_ConvertToPublicKey(privKey.get())); + ASSERT_TRUE(pubKey); +} + +TEST_P(Pkcs11EddsaTest, ImportPublicCreateSubjectPKInfo) { + ScopedSECKEYPrivateKey privKey(ImportPrivateKey(GetParam().pkcs8_)); + ASSERT_TRUE(privKey); + + ScopedSECKEYPublicKey pubKey( + (SECKEYPublicKey*)SECKEY_ConvertToPublicKey(privKey.get())); + ASSERT_TRUE(pubKey); + + ScopedSECItem der_spki(SECKEY_EncodeDERSubjectPublicKeyInfo(pubKey.get())); + ASSERT_TRUE(der_spki); + ASSERT_EQ(der_spki->len, GetParam().spki_.len()); + ASSERT_EQ(0, memcmp(der_spki->data, GetParam().spki_.data(), der_spki->len)); +} + +INSTANTIATE_TEST_SUITE_P(EddsaSignVerify, Pkcs11EddsaTest, + ::testing::ValuesIn(kEddsaVectors)); + +class Pkcs11EddsaRoundtripTest + : public Pk11SignatureTest, + public ::testing::WithParamInterface<Pkcs11SignatureTestParams> { + protected: + Pkcs11EddsaRoundtripTest() : Pk11SignatureTest(CKM_EDDSA) {} + + protected: + void GenerateExportImportSignVerify(Pkcs11SignatureTestParams params) { + Pkcs11KeyPairGenerator generator(CKM_EC_EDWARDS_KEY_PAIR_GEN); + ScopedSECKEYPrivateKey priv; + ScopedSECKEYPublicKey pub; + generator.GenerateKey(&priv, &pub, false); + + DataBuffer exported; + ExportPrivateKey(&priv, exported); + + ScopedSECKEYPrivateKey privKey(ImportPrivateKey(exported)); + ASSERT_NE(privKey, nullptr); + DataBuffer sig; + + SignRaw(privKey, params.data_, &sig); + Verify(pub, params.data_, sig); + } +}; + +TEST_P(Pkcs11EddsaRoundtripTest, GenerateExportImportSignVerify) { + GenerateExportImportSignVerify(GetParam()); +} + +INSTANTIATE_TEST_SUITE_P(EddsaRound, Pkcs11EddsaRoundtripTest, + ::testing::ValuesIn(kEddsaVectors)); + +class Pkcs11EddsaWycheproofTest : public ::testing::Test { + protected: + void Run(const std::string& name) { + WycheproofHeader(name, "EDDSA", "eddsa_verify_schema.json", + [this](JsonReader& r) { RunGroup(r); }); + } + + private: + void RunGroup(JsonReader& r) { + std::vector<EddsaTestVector> tests; + std::vector<uint8_t> public_key; + + while (r.NextItem()) { + std::string n = r.ReadLabel(); + if (n == "") { + break; + } + + if (n == "jwk" || n == "key" || n == "keyPem") { + r.SkipValue(); + } else if (n == "keyDer") { + public_key = r.ReadHex(); + } else if (n == "type") { + ASSERT_EQ("EddsaVerify", r.ReadString()); + } else if (n == "tests") { + WycheproofReadTests(r, &tests, ReadTestAttr); + } else { + FAIL() << "unknown label in group: " << n; + } + } + + for (auto& t : tests) { + std::cout << "Running test " << t.id << std::endl; + t.public_key = public_key; + Derive(t); + } + } + + static void ReadTestAttr(EddsaTestVector& t, const std::string& n, + JsonReader& r) { + if (n == "msg") { + t.msg = r.ReadHex(); + } else if (n == "sig") { + t.sig = r.ReadHex(); + } else { + FAIL() << "unknown test key: " << n; + } + } + + void Derive(const EddsaTestVector& vec) { + SECItem spki_item = {siBuffer, toUcharPtr(vec.public_key.data()), + static_cast<unsigned int>(vec.public_key.size())}; + SECItem sig_item = {siBuffer, toUcharPtr(vec.sig.data()), + static_cast<unsigned int>(vec.sig.size())}; + SECItem msg_item = {siBuffer, toUcharPtr(vec.msg.data()), + static_cast<unsigned int>(vec.msg.size())}; + + ScopedCERTSubjectPublicKeyInfo cert_spki( + SECKEY_DecodeDERSubjectPublicKeyInfo(&spki_item)); + ASSERT_TRUE(cert_spki); + + ScopedSECKEYPublicKey pub_key(SECKEY_ExtractPublicKey(cert_spki.get())); + ASSERT_TRUE(pub_key); + + SECStatus rv = PK11_VerifyWithMechanism(pub_key.get(), CKM_EDDSA, nullptr, + &sig_item, &msg_item, nullptr); + EXPECT_EQ(rv, vec.valid ? SECSuccess : SECFailure); + }; +}; + +TEST_F(Pkcs11EddsaWycheproofTest, Ed25519) { Run("eddsa"); } + +} // namespace nss_test diff --git a/security/nss/gtests/pk11_gtest/pk11_eddsa_vectors.h b/security/nss/gtests/pk11_gtest/pk11_eddsa_vectors.h new file mode 100644 index 0000000000..896906ad50 --- /dev/null +++ b/security/nss/gtests/pk11_gtest/pk11_eddsa_vectors.h @@ -0,0 +1,164 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +namespace nss_test { +/* The test vectors are coming from + * https://tools.ietf.org/html/rfc8032#section-7. + * The first TV is skipped, as NSS does not support signing empty messages. + */ + +const uint8_t kEd25519Pkcs8_1[] = { + 0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x70, + 0x04, 0x22, 0x04, 0x20, 0x4c, 0xcd, 0x08, 0x9b, 0x28, 0xff, 0x96, 0xda, + 0x9d, 0xb6, 0xc3, 0x46, 0xec, 0x11, 0x4e, 0x0f, 0x5b, 0x8a, 0x31, 0x9f, + 0x35, 0xab, 0xa6, 0x24, 0xda, 0x8c, 0xf6, 0xed, 0x4f, 0xb8, 0xa6, 0xfb, +}; + +const uint8_t kEd25519Spki_1[] = { + 0x30, 0x2a, 0x30, 0x05, 0x06, 0x03, 0x2B, 0x65, 0x70, 0x03, 0x21, + 0x00, 0x3d, 0x40, 0x17, 0xc3, 0xe8, 0x43, 0x89, 0x5a, 0x92, 0xb7, + 0x0a, 0xa7, 0x4d, 0x1b, 0x7e, 0xbc, 0x9c, 0x98, 0x2c, 0xcf, 0x2e, + 0xc4, 0x96, 0x8c, 0xc0, 0xcd, 0x55, 0xf1, 0x2a, 0xf4, 0x66, 0x0c}; + +const uint8_t kEd25519Message_1[] = {0x72}; + +const uint8_t kEd25519Signature_1[64] = { + 0x92, 0xa0, 0x09, 0xa9, 0xf0, 0xd4, 0xca, 0xb8, 0x72, 0x0e, 0x82, + 0x0b, 0x5f, 0x64, 0x25, 0x40, 0xa2, 0xb2, 0x7b, 0x54, 0x16, 0x50, + 0x3f, 0x8f, 0xb3, 0x76, 0x22, 0x23, 0xeb, 0xdb, 0x69, 0xda, 0x08, + 0x5a, 0xc1, 0xe4, 0x3e, 0x15, 0x99, 0x6e, 0x45, 0x8f, 0x36, 0x13, + 0xd0, 0xf1, 0x1d, 0x8c, 0x38, 0x7b, 0x2e, 0xae, 0xb4, 0x30, 0x2a, + 0xee, 0xb0, 0x0d, 0x29, 0x16, 0x12, 0xbb, 0x0c, 0x00}; + +const uint8_t kEd25519Pkcs8_2[] = { + 0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x70, + 0x04, 0x22, 0x04, 0x20, 0xc5, 0xaa, 0x8d, 0xf4, 0x3f, 0x9f, 0x83, 0x7b, + 0xed, 0xb7, 0x44, 0x2f, 0x31, 0xdc, 0xb7, 0xb1, 0x66, 0xd3, 0x85, 0x35, + 0x07, 0x6f, 0x09, 0x4b, 0x85, 0xce, 0x3a, 0x2e, 0x0b, 0x44, 0x58, 0xf7}; + +const uint8_t kEd25519Spki_2[] = { + 0x30, 0x2a, 0x30, 0x05, 0x06, 0x03, 0x2B, 0x65, 0x70, 0x03, 0x21, + 0x00, 0xfc, 0x51, 0xcd, 0x8e, 0x62, 0x18, 0xa1, 0xa3, 0x8d, 0xa4, + 0x7e, 0xd0, 0x02, 0x30, 0xf0, 0x58, 0x08, 0x16, 0xed, 0x13, 0xba, + 0x33, 0x03, 0xac, 0x5d, 0xeb, 0x91, 0x15, 0x48, 0x90, 0x80, 0x25}; + +const uint8_t kEd25519Message_2[] = {0xaf, 0x82}; + +const uint8_t kEd25519Signature_2[64] = { + 0x62, 0x91, 0xd6, 0x57, 0xde, 0xec, 0x24, 0x02, 0x48, 0x27, 0xe6, + 0x9c, 0x3a, 0xbe, 0x01, 0xa3, 0x0c, 0xe5, 0x48, 0xa2, 0x84, 0x74, + 0x3a, 0x44, 0x5e, 0x36, 0x80, 0xd7, 0xdb, 0x5a, 0xc3, 0xac, 0x18, + 0xff, 0x9b, 0x53, 0x8d, 0x16, 0xf2, 0x90, 0xae, 0x67, 0xf7, 0x60, + 0x98, 0x4d, 0xc6, 0x59, 0x4a, 0x7c, 0x15, 0xe9, 0x71, 0x6e, 0xd2, + 0x8d, 0xc0, 0x27, 0xbe, 0xce, 0xea, 0x1e, 0xc4, 0x0a}; + +const uint8_t kEd25519Pkcs8_3[] = { + 0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x70, + 0x04, 0x22, 0x04, 0x20, 0xf5, 0xe5, 0x76, 0x7c, 0xf1, 0x53, 0x31, 0x95, + 0x17, 0x63, 0x0f, 0x22, 0x68, 0x76, 0xb8, 0x6c, 0x81, 0x60, 0xcc, 0x58, + 0x3b, 0xc0, 0x13, 0x74, 0x4c, 0x6b, 0xf2, 0x55, 0xf5, 0xcc, 0x0e, 0xe5}; + +const uint8_t kEd25519Spki_3[] = { + 0x30, 0x2a, 0x30, 0x05, 0x06, 0x03, 0x2B, 0x65, 0x70, 0x03, 0x21, + 0x00, 0x27, 0x81, 0x17, 0xfc, 0x14, 0x4c, 0x72, 0x34, 0x0f, 0x67, + 0xd0, 0xf2, 0x31, 0x6e, 0x83, 0x86, 0xce, 0xff, 0xbf, 0x2b, 0x24, + 0x28, 0xc9, 0xc5, 0x1f, 0xef, 0x7c, 0x59, 0x7f, 0x1d, 0x42, 0x6e}; + +const uint8_t kEd25519Message_3[] = { + 0x08, 0xb8, 0xb2, 0xb7, 0x33, 0x42, 0x42, 0x43, 0x76, 0x0f, 0xe4, 0x26, + 0xa4, 0xb5, 0x49, 0x08, 0x63, 0x21, 0x10, 0xa6, 0x6c, 0x2f, 0x65, 0x91, + 0xea, 0xbd, 0x33, 0x45, 0xe3, 0xe4, 0xeb, 0x98, 0xfa, 0x6e, 0x26, 0x4b, + 0xf0, 0x9e, 0xfe, 0x12, 0xee, 0x50, 0xf8, 0xf5, 0x4e, 0x9f, 0x77, 0xb1, + 0xe3, 0x55, 0xf6, 0xc5, 0x05, 0x44, 0xe2, 0x3f, 0xb1, 0x43, 0x3d, 0xdf, + 0x73, 0xbe, 0x84, 0xd8, 0x79, 0xde, 0x7c, 0x00, 0x46, 0xdc, 0x49, 0x96, + 0xd9, 0xe7, 0x73, 0xf4, 0xbc, 0x9e, 0xfe, 0x57, 0x38, 0x82, 0x9a, 0xdb, + 0x26, 0xc8, 0x1b, 0x37, 0xc9, 0x3a, 0x1b, 0x27, 0x0b, 0x20, 0x32, 0x9d, + 0x65, 0x86, 0x75, 0xfc, 0x6e, 0xa5, 0x34, 0xe0, 0x81, 0x0a, 0x44, 0x32, + 0x82, 0x6b, 0xf5, 0x8c, 0x94, 0x1e, 0xfb, 0x65, 0xd5, 0x7a, 0x33, 0x8b, + 0xbd, 0x2e, 0x26, 0x64, 0x0f, 0x89, 0xff, 0xbc, 0x1a, 0x85, 0x8e, 0xfc, + 0xb8, 0x55, 0x0e, 0xe3, 0xa5, 0xe1, 0x99, 0x8b, 0xd1, 0x77, 0xe9, 0x3a, + 0x73, 0x63, 0xc3, 0x44, 0xfe, 0x6b, 0x19, 0x9e, 0xe5, 0xd0, 0x2e, 0x82, + 0xd5, 0x22, 0xc4, 0xfe, 0xba, 0x15, 0x45, 0x2f, 0x80, 0x28, 0x8a, 0x82, + 0x1a, 0x57, 0x91, 0x16, 0xec, 0x6d, 0xad, 0x2b, 0x3b, 0x31, 0x0d, 0xa9, + 0x03, 0x40, 0x1a, 0xa6, 0x21, 0x00, 0xab, 0x5d, 0x1a, 0x36, 0x55, 0x3e, + 0x06, 0x20, 0x3b, 0x33, 0x89, 0x0c, 0xc9, 0xb8, 0x32, 0xf7, 0x9e, 0xf8, + 0x05, 0x60, 0xcc, 0xb9, 0xa3, 0x9c, 0xe7, 0x67, 0x96, 0x7e, 0xd6, 0x28, + 0xc6, 0xad, 0x57, 0x3c, 0xb1, 0x16, 0xdb, 0xef, 0xef, 0xd7, 0x54, 0x99, + 0xda, 0x96, 0xbd, 0x68, 0xa8, 0xa9, 0x7b, 0x92, 0x8a, 0x8b, 0xbc, 0x10, + 0x3b, 0x66, 0x21, 0xfc, 0xde, 0x2b, 0xec, 0xa1, 0x23, 0x1d, 0x20, 0x6b, + 0xe6, 0xcd, 0x9e, 0xc7, 0xaf, 0xf6, 0xf6, 0xc9, 0x4f, 0xcd, 0x72, 0x04, + 0xed, 0x34, 0x55, 0xc6, 0x8c, 0x83, 0xf4, 0xa4, 0x1d, 0xa4, 0xaf, 0x2b, + 0x74, 0xef, 0x5c, 0x53, 0xf1, 0xd8, 0xac, 0x70, 0xbd, 0xcb, 0x7e, 0xd1, + 0x85, 0xce, 0x81, 0xbd, 0x84, 0x35, 0x9d, 0x44, 0x25, 0x4d, 0x95, 0x62, + 0x9e, 0x98, 0x55, 0xa9, 0x4a, 0x7c, 0x19, 0x58, 0xd1, 0xf8, 0xad, 0xa5, + 0xd0, 0x53, 0x2e, 0xd8, 0xa5, 0xaa, 0x3f, 0xb2, 0xd1, 0x7b, 0xa7, 0x0e, + 0xb6, 0x24, 0x8e, 0x59, 0x4e, 0x1a, 0x22, 0x97, 0xac, 0xbb, 0xb3, 0x9d, + 0x50, 0x2f, 0x1a, 0x8c, 0x6e, 0xb6, 0xf1, 0xce, 0x22, 0xb3, 0xde, 0x1a, + 0x1f, 0x40, 0xcc, 0x24, 0x55, 0x41, 0x19, 0xa8, 0x31, 0xa9, 0xaa, 0xd6, + 0x07, 0x9c, 0xad, 0x88, 0x42, 0x5d, 0xe6, 0xbd, 0xe1, 0xa9, 0x18, 0x7e, + 0xbb, 0x60, 0x92, 0xcf, 0x67, 0xbf, 0x2b, 0x13, 0xfd, 0x65, 0xf2, 0x70, + 0x88, 0xd7, 0x8b, 0x7e, 0x88, 0x3c, 0x87, 0x59, 0xd2, 0xc4, 0xf5, 0xc6, + 0x5a, 0xdb, 0x75, 0x53, 0x87, 0x8a, 0xd5, 0x75, 0xf9, 0xfa, 0xd8, 0x78, + 0xe8, 0x0a, 0x0c, 0x9b, 0xa6, 0x3b, 0xcb, 0xcc, 0x27, 0x32, 0xe6, 0x94, + 0x85, 0xbb, 0xc9, 0xc9, 0x0b, 0xfb, 0xd6, 0x24, 0x81, 0xd9, 0x08, 0x9b, + 0xec, 0xcf, 0x80, 0xcf, 0xe2, 0xdf, 0x16, 0xa2, 0xcf, 0x65, 0xbd, 0x92, + 0xdd, 0x59, 0x7b, 0x07, 0x07, 0xe0, 0x91, 0x7a, 0xf4, 0x8b, 0xbb, 0x75, + 0xfe, 0xd4, 0x13, 0xd2, 0x38, 0xf5, 0x55, 0x5a, 0x7a, 0x56, 0x9d, 0x80, + 0xc3, 0x41, 0x4a, 0x8d, 0x08, 0x59, 0xdc, 0x65, 0xa4, 0x61, 0x28, 0xba, + 0xb2, 0x7a, 0xf8, 0x7a, 0x71, 0x31, 0x4f, 0x31, 0x8c, 0x78, 0x2b, 0x23, + 0xeb, 0xfe, 0x80, 0x8b, 0x82, 0xb0, 0xce, 0x26, 0x40, 0x1d, 0x2e, 0x22, + 0xf0, 0x4d, 0x83, 0xd1, 0x25, 0x5d, 0xc5, 0x1a, 0xdd, 0xd3, 0xb7, 0x5a, + 0x2b, 0x1a, 0xe0, 0x78, 0x45, 0x04, 0xdf, 0x54, 0x3a, 0xf8, 0x96, 0x9b, + 0xe3, 0xea, 0x70, 0x82, 0xff, 0x7f, 0xc9, 0x88, 0x8c, 0x14, 0x4d, 0xa2, + 0xaf, 0x58, 0x42, 0x9e, 0xc9, 0x60, 0x31, 0xdb, 0xca, 0xd3, 0xda, 0xd9, + 0xaf, 0x0d, 0xcb, 0xaa, 0xaf, 0x26, 0x8c, 0xb8, 0xfc, 0xff, 0xea, 0xd9, + 0x4f, 0x3c, 0x7c, 0xa4, 0x95, 0xe0, 0x56, 0xa9, 0xb4, 0x7a, 0xcd, 0xb7, + 0x51, 0xfb, 0x73, 0xe6, 0x66, 0xc6, 0xc6, 0x55, 0xad, 0xe8, 0x29, 0x72, + 0x97, 0xd0, 0x7a, 0xd1, 0xba, 0x5e, 0x43, 0xf1, 0xbc, 0xa3, 0x23, 0x01, + 0x65, 0x13, 0x39, 0xe2, 0x29, 0x04, 0xcc, 0x8c, 0x42, 0xf5, 0x8c, 0x30, + 0xc0, 0x4a, 0xaf, 0xdb, 0x03, 0x8d, 0xda, 0x08, 0x47, 0xdd, 0x98, 0x8d, + 0xcd, 0xa6, 0xf3, 0xbf, 0xd1, 0x5c, 0x4b, 0x4c, 0x45, 0x25, 0x00, 0x4a, + 0xa0, 0x6e, 0xef, 0xf8, 0xca, 0x61, 0x78, 0x3a, 0xac, 0xec, 0x57, 0xfb, + 0x3d, 0x1f, 0x92, 0xb0, 0xfe, 0x2f, 0xd1, 0xa8, 0x5f, 0x67, 0x24, 0x51, + 0x7b, 0x65, 0xe6, 0x14, 0xad, 0x68, 0x08, 0xd6, 0xf6, 0xee, 0x34, 0xdf, + 0xf7, 0x31, 0x0f, 0xdc, 0x82, 0xae, 0xbf, 0xd9, 0x04, 0xb0, 0x1e, 0x1d, + 0xc5, 0x4b, 0x29, 0x27, 0x09, 0x4b, 0x2d, 0xb6, 0x8d, 0x6f, 0x90, 0x3b, + 0x68, 0x40, 0x1a, 0xde, 0xbf, 0x5a, 0x7e, 0x08, 0xd7, 0x8f, 0xf4, 0xef, + 0x5d, 0x63, 0x65, 0x3a, 0x65, 0x04, 0x0c, 0xf9, 0xbf, 0xd4, 0xac, 0xa7, + 0x98, 0x4a, 0x74, 0xd3, 0x71, 0x45, 0x98, 0x67, 0x80, 0xfc, 0x0b, 0x16, + 0xac, 0x45, 0x16, 0x49, 0xde, 0x61, 0x88, 0xa7, 0xdb, 0xdf, 0x19, 0x1f, + 0x64, 0xb5, 0xfc, 0x5e, 0x2a, 0xb4, 0x7b, 0x57, 0xf7, 0xf7, 0x27, 0x6c, + 0xd4, 0x19, 0xc1, 0x7a, 0x3c, 0xa8, 0xe1, 0xb9, 0x39, 0xae, 0x49, 0xe4, + 0x88, 0xac, 0xba, 0x6b, 0x96, 0x56, 0x10, 0xb5, 0x48, 0x01, 0x09, 0xc8, + 0xb1, 0x7b, 0x80, 0xe1, 0xb7, 0xb7, 0x50, 0xdf, 0xc7, 0x59, 0x8d, 0x5d, + 0x50, 0x11, 0xfd, 0x2d, 0xcc, 0x56, 0x00, 0xa3, 0x2e, 0xf5, 0xb5, 0x2a, + 0x1e, 0xcc, 0x82, 0x0e, 0x30, 0x8a, 0xa3, 0x42, 0x72, 0x1a, 0xac, 0x09, + 0x43, 0xbf, 0x66, 0x86, 0xb6, 0x4b, 0x25, 0x79, 0x37, 0x65, 0x04, 0xcc, + 0xc4, 0x93, 0xd9, 0x7e, 0x6a, 0xed, 0x3f, 0xb0, 0xf9, 0xcd, 0x71, 0xa4, + 0x3d, 0xd4, 0x97, 0xf0, 0x1f, 0x17, 0xc0, 0xe2, 0xcb, 0x37, 0x97, 0xaa, + 0x2a, 0x2f, 0x25, 0x66, 0x56, 0x16, 0x8e, 0x6c, 0x49, 0x6a, 0xfc, 0x5f, + 0xb9, 0x32, 0x46, 0xf6, 0xb1, 0x11, 0x63, 0x98, 0xa3, 0x46, 0xf1, 0xa6, + 0x41, 0xf3, 0xb0, 0x41, 0xe9, 0x89, 0xf7, 0x91, 0x4f, 0x90, 0xcc, 0x2c, + 0x7f, 0xff, 0x35, 0x78, 0x76, 0xe5, 0x06, 0xb5, 0x0d, 0x33, 0x4b, 0xa7, + 0x7c, 0x22, 0x5b, 0xc3, 0x07, 0xba, 0x53, 0x71, 0x52, 0xf3, 0xf1, 0x61, + 0x0e, 0x4e, 0xaf, 0xe5, 0x95, 0xf6, 0xd9, 0xd9, 0x0d, 0x11, 0xfa, 0xa9, + 0x33, 0xa1, 0x5e, 0xf1, 0x36, 0x95, 0x46, 0x86, 0x8a, 0x7f, 0x3a, 0x45, + 0xa9, 0x67, 0x68, 0xd4, 0x0f, 0xd9, 0xd0, 0x34, 0x12, 0xc0, 0x91, 0xc6, + 0x31, 0x5c, 0xf4, 0xfd, 0xe7, 0xcb, 0x68, 0x60, 0x69, 0x37, 0x38, 0x0d, + 0xb2, 0xea, 0xaa, 0x70, 0x7b, 0x4c, 0x41, 0x85, 0xc3, 0x2e, 0xdd, 0xcd, + 0xd3, 0x06, 0x70, 0x5e, 0x4d, 0xc1, 0xff, 0xc8, 0x72, 0xee, 0xee, 0x47, + 0x5a, 0x64, 0xdf, 0xac, 0x86, 0xab, 0xa4, 0x1c, 0x06, 0x18, 0x98, 0x3f, + 0x87, 0x41, 0xc5, 0xef, 0x68, 0xd3, 0xa1, 0x01, 0xe8, 0xa3, 0xb8, 0xca, + 0xc6, 0x0c, 0x90, 0x5c, 0x15, 0xfc, 0x91, 0x08, 0x40, 0xb9, 0x4c, 0x00, + 0xa0, 0xb9, 0xd0}; + +const uint8_t kEd25519Signature_3[64] = { + 0x0a, 0xab, 0x4c, 0x90, 0x05, 0x01, 0xb3, 0xe2, 0x4d, 0x7c, 0xdf, + 0x46, 0x63, 0x32, 0x6a, 0x3a, 0x87, 0xdf, 0x5e, 0x48, 0x43, 0xb2, + 0xcb, 0xdb, 0x67, 0xcb, 0xf6, 0xe4, 0x60, 0xfe, 0xc3, 0x50, 0xaa, + 0x53, 0x71, 0xb1, 0x50, 0x8f, 0x9f, 0x45, 0x28, 0xec, 0xea, 0x23, + 0xc4, 0x36, 0xd9, 0x4b, 0x5e, 0x8f, 0xcd, 0x4f, 0x68, 0x1e, 0x30, + 0xa6, 0xac, 0x00, 0xa9, 0x70, 0x4a, 0x18, 0x8a, 0x03}; + +} // namespace nss_test diff --git a/security/nss/gtests/pk11_gtest/pk11_gtest.gyp b/security/nss/gtests/pk11_gtest/pk11_gtest.gyp index 792d6546e4..c14dbf860e 100644 --- a/security/nss/gtests/pk11_gtest/pk11_gtest.gyp +++ b/security/nss/gtests/pk11_gtest/pk11_gtest.gyp @@ -25,6 +25,7 @@ 'pk11_des_unittest.cc', 'pk11_dsa_unittest.cc', 'pk11_ecdsa_unittest.cc', + 'pk11_eddsa_unittest.cc', 'pk11_ecdh_unittest.cc', 'pk11_encrypt_derive_unittest.cc', 'pk11_find_certs_unittest.cc', @@ -38,6 +39,7 @@ 'pk11_keygen.cc', 'pk11_key_unittest.cc', 'pk11_module_unittest.cc', + 'pk11_pbe_unittest.cc', 'pk11_pbkdf2_unittest.cc', 'pk11_prf_unittest.cc', 'pk11_prng_unittest.cc', diff --git a/security/nss/gtests/pk11_gtest/pk11_import_unittest.cc b/security/nss/gtests/pk11_gtest/pk11_import_unittest.cc index 7fcc1cc4d7..6e11477045 100644 --- a/security/nss/gtests/pk11_gtest/pk11_import_unittest.cc +++ b/security/nss/gtests/pk11_gtest/pk11_import_unittest.cc @@ -88,6 +88,7 @@ class Pk11KeyImportTestBase : public ::testing::Test { case dhKey: return pub_key->u.dh.publicValue; case ecKey: + case edKey: return pub_key->u.ec.publicValue; case kyberKey: return pub_key->u.kyber.publicValue; diff --git a/security/nss/gtests/pk11_gtest/pk11_keygen.cc b/security/nss/gtests/pk11_gtest/pk11_keygen.cc index 1a300ca4c1..92c8ba7ed8 100644 --- a/security/nss/gtests/pk11_gtest/pk11_keygen.cc +++ b/security/nss/gtests/pk11_gtest/pk11_keygen.cc @@ -82,9 +82,11 @@ class DhParamHolder : public PqgParamHolder { SECKEYDHParams params_; }; +/* Also used for EdDSA. */ class EcParamHolder : public ParamHolder { public: EcParamHolder(SECOidTag curve_oid) { + /* For the case of ED curve_oid contains a EdDSA OID. */ SECOidData* curve = SECOID_FindOIDByTag(curve_oid); EXPECT_NE(nullptr, curve); @@ -142,6 +144,11 @@ std::unique_ptr<ParamHolder> Pkcs11KeyPairGenerator::MakeParams() const { return std::unique_ptr<ParamHolder>(new DhParamHolder(pqg_params)); } + case CKM_EC_EDWARDS_KEY_PAIR_GEN: + std::cerr << "Generate ED pair on " << curve_ << std::endl; + return std::unique_ptr<ParamHolder>( + new EcParamHolder(SEC_OID_ED25519_PUBLIC_KEY)); + case CKM_EC_KEY_PAIR_GEN: std::cerr << "Generate EC pair on " << curve_ << std::endl; return std::unique_ptr<ParamHolder>(new EcParamHolder(curve_)); diff --git a/security/nss/gtests/pk11_gtest/pk11_pbe_unittest.cc b/security/nss/gtests/pk11_gtest/pk11_pbe_unittest.cc new file mode 100644 index 0000000000..5e90fd1bc9 --- /dev/null +++ b/security/nss/gtests/pk11_gtest/pk11_pbe_unittest.cc @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include <memory> +#include "nss.h" +#include "pk11pub.h" + +#include "gtest/gtest.h" +#include "nss_scoped_ptrs.h" + +namespace nss_test { + +static unsigned char* ToUcharPtr(std::string& str) { + return const_cast<unsigned char*>( + reinterpret_cast<const unsigned char*>(str.c_str())); +} + +class Pkcs11PbeTest : public ::testing::Test { + public: + void Derive(std::vector<uint8_t>& derived) { + // Shared between test vectors. + const unsigned int kIterations = 4096; + std::string pass("passwordPASSWORDpassword"); + std::string salt("saltSALTsaltSALTsaltSALTsaltSALTsalt"); + + // Derivation must succeed with the right values. + EXPECT_TRUE(DeriveBytes(pass, salt, derived, kIterations)); + } + + private: + bool DeriveBytes(std::string& pass, std::string& salt, + std::vector<uint8_t>& derived, unsigned int kIterations) { + SECItem pass_item = {siBuffer, ToUcharPtr(pass), + static_cast<unsigned int>(pass.length())}; + SECItem salt_item = {siBuffer, ToUcharPtr(salt), + static_cast<unsigned int>(salt.length())}; + + // Set up PBE params. + ScopedSECAlgorithmID alg_id(PK11_CreatePBEAlgorithmID( + SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_2KEY_TRIPLE_DES_CBC, kIterations, + &salt_item)); + + // Derive. + ScopedPK11SlotInfo slot(PK11_GetInternalSlot()); + ScopedPK11SymKey sym_key( + PK11_PBEKeyGen(slot.get(), alg_id.get(), &pass_item, false, nullptr)); + + SECStatus rv = PK11_ExtractKeyValue(sym_key.get()); + EXPECT_EQ(rv, SECSuccess); + + SECItem* key_data = PK11_GetKeyData(sym_key.get()); + + return key_data->len == derived.size() && + !memcmp(&derived[0], key_data->data, key_data->len); + } +}; + +TEST_F(Pkcs11PbeTest, DeriveKnown) { + std::vector<uint8_t> derived = {0x86, 0x6b, 0xce, 0xef, 0x26, 0xa4, + 0x4f, 0x02, 0x4a, 0x26, 0xcd, 0xd0, + 0x4f, 0x7c, 0x19, 0xad}; + + Derive(derived); +} + +} // namespace nss_test diff --git a/security/nss/gtests/pk11_gtest/pk11_signature_test.cc b/security/nss/gtests/pk11_gtest/pk11_signature_test.cc index c9700707fe..bb029cd3a4 100644 --- a/security/nss/gtests/pk11_gtest/pk11_signature_test.cc +++ b/security/nss/gtests/pk11_gtest/pk11_signature_test.cc @@ -54,9 +54,8 @@ ScopedSECKEYPublicKey Pk11SignatureTest::ImportPublicKey( return ScopedSECKEYPublicKey(SECKEY_ExtractPublicKey(certSpki.get())); } -bool Pk11SignatureTest::SignHashedData(ScopedSECKEYPrivateKey& privKey, - const DataBuffer& hash, - DataBuffer* sig) { +bool Pk11SignatureTest::SignRaw(ScopedSECKEYPrivateKey& privKey, + const DataBuffer& hash, DataBuffer* sig) { SECItem hashItem = {siBuffer, toUcharPtr(hash.data()), static_cast<unsigned int>(hash.len())}; unsigned int sigLen = PK11_SignatureLen(privKey.get()); @@ -70,8 +69,8 @@ bool Pk11SignatureTest::SignHashedData(ScopedSECKEYPrivateKey& privKey, return rv == SECSuccess; } -bool Pk11SignatureTest::SignData(ScopedSECKEYPrivateKey& privKey, - const DataBuffer& data, DataBuffer* sig) { +bool Pk11SignatureTest::DigestAndSign(ScopedSECKEYPrivateKey& privKey, + const DataBuffer& data, DataBuffer* sig) { unsigned int sigLen = PK11_SignatureLen(privKey.get()); bool result = true; EXPECT_LT(0, (int)sigLen); @@ -123,11 +122,11 @@ bool Pk11SignatureTest::ImportPrivateKeyAndSignHashedData( ADD_FAILURE() << "Failed to compute hash"; return false; } - if (!SignHashedData(privKey, hash, sig)) { + if (!SignRaw(privKey, hash, sig)) { ADD_FAILURE() << "Failed to sign hashed data"; return false; } - if (!SignData(privKey, data, sig2)) { + if (!DigestAndSign(privKey, data, sig2)) { /* failure was already added by SignData, with an error message */ return false; } @@ -138,11 +137,20 @@ void Pk11SignatureTest::Verify(ScopedSECKEYPublicKey& pubKey, const DataBuffer& data, const DataBuffer& sig, bool valid) { SECStatus rv; - DataBuffer hash; SECItem sigItem = {siBuffer, toUcharPtr(sig.data()), static_cast<unsigned int>(sig.len())}; + if (skip_digest_) { + SECItem dataItem = {siBuffer, toUcharPtr(data.data()), + static_cast<unsigned int>(data.len())}; + rv = PK11_VerifyWithMechanism(pubKey.get(), mechanism_, parameters(), + &sigItem, &dataItem, nullptr); + EXPECT_EQ(rv, valid ? SECSuccess : SECFailure); + return; + } + + DataBuffer hash; /* RSA single shot requires encoding the hash before calling * VerifyWithMechanism. We already check that mechanism * with the VFY_ interface, so just do the combined hash/Verify @@ -175,5 +183,4 @@ void Pk11SignatureTest::Verify(ScopedSECKEYPublicKey& pubKey, << "verify failed Error:" << PORT_ErrorToString(PORT_GetError()) << "\n"; PK11_DestroyContext(context, PR_TRUE); } - } // namespace nss_test diff --git a/security/nss/gtests/pk11_gtest/pk11_signature_test.h b/security/nss/gtests/pk11_gtest/pk11_signature_test.h index c4a8c52c38..f00a588fff 100644 --- a/security/nss/gtests/pk11_gtest/pk11_signature_test.h +++ b/security/nss/gtests/pk11_gtest/pk11_signature_test.h @@ -11,7 +11,6 @@ #include "databuffer.h" #include "gtest/gtest.h" - namespace nss_test { // For test vectors. @@ -28,6 +27,11 @@ class Pk11SignatureTest : public ::testing::Test { CK_MECHANISM_TYPE combo) : mechanism_(mech), hash_oid_(hash_oid), combo_(combo) { skip_raw_ = false; + skip_digest_ = false; + } + + Pk11SignatureTest(CK_MECHANISM_TYPE mech) : mechanism_(mech) { + skip_digest_ = true; } virtual const SECItem* parameters() const { return nullptr; } @@ -54,10 +58,10 @@ class Pk11SignatureTest : public ::testing::Test { return rv == SECSuccess; } - bool SignHashedData(ScopedSECKEYPrivateKey& privKey, const DataBuffer& hash, - DataBuffer* sig); - bool SignData(ScopedSECKEYPrivateKey& privKey, const DataBuffer& data, - DataBuffer* sig); + bool SignRaw(ScopedSECKEYPrivateKey& privKey, const DataBuffer& hash, + DataBuffer* sig); + bool DigestAndSign(ScopedSECKEYPrivateKey& privKey, const DataBuffer& data, + DataBuffer* sig); bool ImportPrivateKeyAndSignHashedData(const DataBuffer& pkcs8, const DataBuffer& data, DataBuffer* sig, DataBuffer* sig2); @@ -96,6 +100,15 @@ class Pk11SignatureTest : public ::testing::Test { Verify(params, sig2, true); } + void SignAndVerifyRaw(const Pkcs11SignatureTestParams& params) { + ScopedSECKEYPrivateKey privKey(ImportPrivateKey(params.pkcs8_)); + ASSERT_NE(privKey, nullptr); + DataBuffer sig; + SignRaw(privKey, params.data_, &sig); + EXPECT_EQ(sig, params.signature_); + Verify(params, sig, true); + } + // Importing a private key in PKCS#8 format and reexporting it should // result in the same binary representation. void ImportExport(const DataBuffer& k) { @@ -110,6 +123,7 @@ class Pk11SignatureTest : public ::testing::Test { SECOidTag hash_oid_; CK_MECHANISM_TYPE combo_; bool skip_raw_; + bool skip_digest_; }; } // namespace nss_test diff --git a/security/nss/lib/cryptohi/keythi.h b/security/nss/lib/cryptohi/keythi.h index 1dd8a557c5..086d83ae6b 100644 --- a/security/nss/lib/cryptohi/keythi.h +++ b/security/nss/lib/cryptohi/keythi.h @@ -36,6 +36,7 @@ typedef enum { rsaPssKey = 7, rsaOaepKey = 8, kyberKey = 9, + edKey = 10, } KeyType; /* diff --git a/security/nss/lib/cryptohi/seckey.c b/security/nss/lib/cryptohi/seckey.c index 1762c1a143..1a68104978 100644 --- a/security/nss/lib/cryptohi/seckey.c +++ b/security/nss/lib/cryptohi/seckey.c @@ -235,6 +235,33 @@ SECKEY_CreateECPrivateKey(SECKEYECParams *param, SECKEYPublicKey **pubk, void *c return (privk); } +SECKEYPrivateKey * +SECKEY_CreateEDPrivateKey(SECKEYECParams *param, SECKEYPublicKey **pubk, void *cx) +{ + SECKEYPrivateKey *privk; + PK11SlotInfo *slot = PK11_GetBestSlot(CKM_EC_EDWARDS_KEY_PAIR_GEN, cx); + if (!slot) { + return NULL; + } + + privk = PK11_GenerateKeyPairWithOpFlags(slot, CKM_EC_EDWARDS_KEY_PAIR_GEN, + param, pubk, + PK11_ATTR_SESSION | + PK11_ATTR_INSENSITIVE | + PK11_ATTR_PUBLIC, + CKF_SIGN, CKF_SIGN, cx); + if (!privk) + privk = PK11_GenerateKeyPairWithOpFlags(slot, CKM_EC_EDWARDS_KEY_PAIR_GEN, + param, pubk, + PK11_ATTR_SESSION | + PK11_ATTR_SENSITIVE | + PK11_ATTR_PRIVATE, + CKF_SIGN, CKF_SIGN, cx); + + PK11_FreeSlot(slot); + return (privk); +} + void SECKEY_DestroyPrivateKey(SECKEYPrivateKey *privk) { @@ -329,7 +356,7 @@ seckey_UpdateCertPQGChain(CERTCertificate *subjectCert, int count) * * Question: do we really need to do this for EC keys. They don't have * PQG parameters, but they do have parameters. The question is does - * the child cert inherit thost parameters for EC from the parent, or + * the child cert inherit those parameters for EC from the parent, or * do we always include those parameters in each cert. */ @@ -339,6 +366,7 @@ seckey_UpdateCertPQGChain(CERTCertificate *subjectCert, int count) (tag != SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA256_DIGEST) && (tag != SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST) && (tag != SEC_OID_SDN702_DSA_SIGNATURE) && + (tag != SEC_OID_ED25519_PUBLIC_KEY) && (tag != SEC_OID_ANSIX962_EC_PUBLIC_KEY)) { return SECSuccess; @@ -383,6 +411,7 @@ seckey_UpdateCertPQGChain(CERTCertificate *subjectCert, int count) (tag != SEC_OID_NIST_DSA_SIGNATURE_WITH_SHA256_DIGEST) && (tag != SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST) && (tag != SEC_OID_SDN702_DSA_SIGNATURE) && + (tag != SEC_OID_ED25519_PUBLIC_KEY) && (tag != SEC_OID_ANSIX962_EC_PUBLIC_KEY)) { rv = SECFailure; goto loser; @@ -521,6 +550,9 @@ seckey_GetKeyType(SECOidTag tag) case SEC_OID_ANSIX962_EC_PUBLIC_KEY: keyType = ecKey; break; + case SEC_OID_ED25519_PUBLIC_KEY: + keyType = edKey; + break; /* accommodate applications that hand us a signature type when they * should be handing us a cipher type */ case SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION: @@ -637,6 +669,37 @@ seckey_ExtractPublicKey(const CERTSubjectPublicKeyInfo *spki) if (rv == SECSuccess) return pubk; break; + case SEC_OID_ED25519_PUBLIC_KEY: + /* A basic consistency check on inputs. */ + if (newOs.len == 0) { + PORT_SetError(SEC_ERROR_INPUT_LEN); + break; + } + + /* Currently supporting only (Pure)Ed25519 .*/ + if (spki->algorithm.parameters.len != 0) { + PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); + break; + } + + pubk->keyType = edKey; + pubk->u.ec.size = 0; + + SECOidData *oidEd25519 = SECOID_FindOIDByTag(SEC_OID_ED25519_PUBLIC_KEY); + + if (!SECITEM_AllocItem(arena, &pubk->u.ec.DEREncodedParams, oidEd25519->oid.len + 2)) { + rv = SECFailure; + break; + } + pubk->u.ec.DEREncodedParams.data[0] = SEC_ASN1_OBJECT_ID; + pubk->u.ec.DEREncodedParams.data[1] = oidEd25519->oid.len; + PORT_Memcpy(pubk->u.ec.DEREncodedParams.data + 2, oidEd25519->oid.data, oidEd25519->oid.len); + + rv = SECITEM_CopyItem(arena, &pubk->u.ec.publicValue, &newOs); + if (rv != SECSuccess) { + break; + } + return pubk; case SEC_OID_ANSIX962_EC_PUBLIC_KEY: /* A basic sanity check on inputs. */ if (spki->algorithm.parameters.len == 0 || newOs.len == 0) { @@ -811,6 +874,7 @@ SECKEY_ECParamsToKeySize(const SECItem *encodedParams) return 571; case SEC_OID_CURVE25519: + case SEC_OID_ED25519_PUBLIC_KEY: return 255; default: @@ -961,6 +1025,7 @@ SECKEY_ECParamsToBasePointOrderLen(const SECItem *encodedParams) return 570; case SEC_OID_CURVE25519: + case SEC_OID_ED25519_PUBLIC_KEY: return 255; default: @@ -1032,6 +1097,7 @@ SECKEY_PublicKeyStrengthInBits(const SECKEYPublicKey *pubk) bitSize = SECKEY_BigIntegerBitLength(&pubk->u.dh.prime); break; case ecKey: + case edKey: bitSize = SECKEY_ECParamsToKeySize(&pubk->u.ec.DEREncodedParams); break; default: @@ -1113,6 +1179,7 @@ SECKEY_SignatureLen(const SECKEYPublicKey *pubk) case dsaKey: return pubk->u.dsa.params.subPrime.len * 2; case ecKey: + case edKey: /* Get the base point order length in bits and adjust */ size = SECKEY_ECParamsToBasePointOrderLen( &pubk->u.ec.DEREncodedParams); @@ -1239,6 +1306,7 @@ SECKEY_CopyPublicKey(const SECKEYPublicKey *pubk) &pubk->u.dh.publicValue); break; case ecKey: + case edKey: copyk->u.ec.size = pubk->u.ec.size; rv = seckey_HasCurveOID(pubk); if (rv != SECSuccess) { @@ -1465,6 +1533,28 @@ SECKEY_ConvertToPublicKey(SECKEYPrivateKey *privk) * overwrite the old value */ pubk->u.ec.publicValue = decodedPoint; } + + pubk->u.ec.encoding = ECPoint_Undefined; + return pubk; + case edKey: + rv = PK11_ReadAttribute(privk->pkcs11Slot, privk->pkcs11ID, + CKA_EC_PARAMS, arena, &pubk->u.ec.DEREncodedParams); + if (rv != SECSuccess) { + break; + } + rv = PK11_ReadAttribute(privk->pkcs11Slot, privk->pkcs11ID, + CKA_EC_POINT, arena, &pubk->u.ec.publicValue); + if (rv != SECSuccess || pubk->u.ec.publicValue.len == 0) { + pubKeyHandle = seckey_FindPublicKeyHandle(privk, pubk); + if (pubKeyHandle == CK_INVALID_HANDLE) { + break; + } + rv = PK11_ReadAttribute(privk->pkcs11Slot, pubKeyHandle, + CKA_EC_POINT, arena, &pubk->u.ec.publicValue); + if (rv != SECSuccess) { + break; + } + } pubk->u.ec.encoding = ECPoint_Undefined; return pubk; default: @@ -1483,6 +1573,7 @@ seckey_CreateSubjectPublicKeyInfo_helper(SECKEYPublicKey *pubk) CERTSubjectPublicKeyInfo *spki; PLArenaPool *arena; SECItem params = { siBuffer, NULL, 0 }; + SECOidTag tag; arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE); if (arena == NULL) { @@ -1555,14 +1646,41 @@ seckey_CreateSubjectPublicKeyInfo_helper(SECKEYPublicKey *pubk) case ecKey: rv = SECITEM_CopyItem(arena, ¶ms, &pubk->u.ec.DEREncodedParams); - if (rv != SECSuccess) + if (rv != SECSuccess) { break; + } + tag = SEC_OID_ANSIX962_EC_PUBLIC_KEY; rv = SECOID_SetAlgorithmID(arena, &spki->algorithm, - SEC_OID_ANSIX962_EC_PUBLIC_KEY, + tag, ¶ms); - if (rv != SECSuccess) + if (rv != SECSuccess) { + break; + } + + rv = SECITEM_CopyItem(arena, &spki->subjectPublicKey, + &pubk->u.ec.publicValue); + + if (rv == SECSuccess) { + /* + * The stored value is supposed to be a BIT_STRING, + * so convert the length. + */ + spki->subjectPublicKey.len <<= 3; + /* + * We got a good one; return it. + */ + return spki; + } + break; + case edKey: + tag = SECKEY_GetECCOid(&pubk->u.ec.DEREncodedParams); + rv = SECOID_SetAlgorithmID(arena, &spki->algorithm, + tag, + ¶ms); + if (rv != SECSuccess) { break; + } rv = SECITEM_CopyItem(arena, &spki->subjectPublicKey, &pubk->u.ec.publicValue); @@ -1669,8 +1787,9 @@ SECKEY_DecodeDERSubjectPublicKeyInfo(const SECItem *spkider) rv = SEC_QuickDERDecodeItem(arena, spki, CERT_SubjectPublicKeyInfoTemplate, &newSpkider); } - if (rv == SECSuccess) + if (rv == SECSuccess) { return spki; + } } else { PORT_SetError(SEC_ERROR_NO_MEMORY); } diff --git a/security/nss/lib/cryptohi/secvfy.c b/security/nss/lib/cryptohi/secvfy.c index 8c9dc2d87d..04c755a001 100644 --- a/security/nss/lib/cryptohi/secvfy.c +++ b/security/nss/lib/cryptohi/secvfy.c @@ -306,7 +306,7 @@ sec_GetEncAlgFromSigAlg(SECOidTag sigAlg) * encalg: address of a SECOidTag which will be set with the signing alg. * * Returns: SECSuccess if the algorithm was acceptable, SECFailure if the - * algorithm was not found or was not a signing algorithm. + * algorithm was not found or was not a signing algorithm. */ SECStatus sec_DecodeSigAlg(const SECKEYPublicKey *key, SECOidTag sigAlg, diff --git a/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h b/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h new file mode 100644 index 0000000000..8e510e914d --- /dev/null +++ b/security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h @@ -0,0 +1,38 @@ +#include "blapi.h" +#include "../pqg.h" + +static inline void +sha512_pre_msg(uint8_t *hash, uint8_t *prefix, uint32_t len, uint8_t *input) +{ + SHA512Context *ctx = SHA512_NewContext(); + uint32_t l = SHA512_LENGTH; + SHA512_Begin(ctx); + SHA512_Update(ctx, prefix, 32); + SHA512_Update(ctx, input, len); + SHA512_End(ctx, hash, &l, SHA512_LENGTH); + SHA512_DestroyContext(ctx, PR_TRUE); +} + +static inline void +sha512_pre_pre2_msg( + uint8_t *hash, + uint8_t *prefix, + uint8_t *prefix2, + uint32_t len, + uint8_t *input) +{ + SHA512Context *ctx = SHA512_NewContext(); + uint32_t l = SHA512_LENGTH; + SHA512_Begin(ctx); + SHA512_Update(ctx, prefix, 32); + SHA512_Update(ctx, prefix2, 32); + SHA512_Update(ctx, input, len); + SHA512_End(ctx, hash, &l, SHA512_LENGTH); + SHA512_DestroyContext(ctx, PR_TRUE); +} + +static void +Hacl_Streaming_SHA2_hash_512(uint8_t *secret, uint32_t len, uint8_t *expanded) +{ + SHA512_HashBuf(expanded, secret, len); +}
\ No newline at end of file diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile index eeee90a97f..78dc2621ea 100644 --- a/security/nss/lib/freebl/Makefile +++ b/security/nss/lib/freebl/Makefile @@ -608,11 +608,12 @@ ifndef NSS_DISABLE_CHACHAPOLY endif # NSS_DISABLE_CHACHAPOLY VERIFIED_SRCS += Hacl_Hash_SHA3.c Hacl_P256.c Hacl_P384.c Hacl_P521.c +VERIFIED_SRCS += Hacl_Ed25519.c +VERIFIED_SRCS += Hacl_Curve25519_51.c ifeq (,$(filter-out x86_64 aarch64,$(CPU_ARCH))) # All 64-bit architectures get the 64 bit version. ECL_SRCS += curve25519_64.c - VERIFIED_SRCS += Hacl_Curve25519_51.c else # All other architectures get the generic 32 bit implementation ECL_SRCS += curve25519_32.c diff --git a/security/nss/lib/freebl/blapi.h b/security/nss/lib/freebl/blapi.h index 4b4de66916..b9d0c0a8aa 100644 --- a/security/nss/lib/freebl/blapi.h +++ b/security/nss/lib/freebl/blapi.h @@ -1921,6 +1921,27 @@ extern SECStatus Kyber_Encapsulate(KyberParams params, const SECItem *seed, cons */ extern SECStatus Kyber_Decapsulate(KyberParams params, const SECItem *privKey, const SECItem *ciphertext, SECItem *secret); +/* EdDSA (only ed25519) +** On input, msg == buffer containing message to be signed. +** key == key to be used for signature. +** Output, signature == Buffer containing the signature. +*/ +extern SECStatus ED_SignMessage(ECPrivateKey *key, SECItem *signature, + const SECItem *msg); + +/* On input, signature == buffer holding the signature. +** msg == buffer holding the message. +** key == key used to verify the signature. +** Output, whether the signature is valid or not. +*/ +extern SECStatus ED_VerifyMessage(ECPublicKey *key, const SECItem *signature, + const SECItem *msg); + +/* EdDSA (only ed25519) + * Derive the public key `publicKey` from the private key `privateKey`. + */ +extern SECStatus ED_DerivePublicKey(const SECItem *privateKey, SECItem *publicKey); + SEC_END_PROTOS #endif /* _BLAPI_H_ */ diff --git a/security/nss/lib/freebl/blapit.h b/security/nss/lib/freebl/blapit.h index 7b59a812b0..e5300313d6 100644 --- a/security/nss/lib/freebl/blapit.h +++ b/security/nss/lib/freebl/blapit.h @@ -29,6 +29,8 @@ #define DES_KEY_LENGTH 8 /* Bytes */ +#define ED25519_SIGN_LEN 64U /* Bytes */ + /* AES operation modes */ #define NSS_AES 0 #define NSS_AES_CBC 1 @@ -81,6 +83,9 @@ typedef int __BLAPI_DEPRECATED __attribute__((deprecated)); #define EC_MAX_KEY_BITS 521 /* in bits */ #define EC_MIN_KEY_BITS 256 /* in bits */ +#define ECD_MAX_KEY_BITS 255 /* in bits */ +#define ECD_MIN_KEY_BITS 255 /* in bits */ + /* EC point compression format */ #define EC_POINT_FORM_COMPRESSED_Y0 0x02 #define EC_POINT_FORM_COMPRESSED_Y1 0x03 diff --git a/security/nss/lib/freebl/ec.c b/security/nss/lib/freebl/ec.c index 35a848395c..cd6a88c7b0 100644 --- a/security/nss/lib/freebl/ec.c +++ b/security/nss/lib/freebl/ec.c @@ -18,6 +18,7 @@ #include "verified/Hacl_P384.h" #include "verified/Hacl_P521.h" #include "secport.h" +#include "verified/Hacl_Ed25519.h" #define EC_DOUBLECHECK PR_FALSE @@ -65,6 +66,27 @@ ec_secp521r1_scalar_validate(const SECItem *scalar) return SECSuccess; } +SECStatus +ec_ED25519_pt_validate(const SECItem *px) +{ + if (!px || !px->data || px->len != Ed25519_PUBLIC_KEYLEN) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + return SECSuccess; +} + +SECStatus +ec_ED25519_scalar_validate(const SECItem *scalar) +{ + if (!scalar || !scalar->data || scalar->len != Ed25519_PRIVATE_KEYLEN) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + + return SECSuccess; +} + static const ECMethod kMethods[] = { { ECCurve25519, ec_Curve25519_pt_mul, @@ -96,6 +118,12 @@ static const ECMethod kMethods[] = { NULL, NULL, }, + { ECCurve_Ed25519, + NULL, + ec_ED25519_pt_validate, + ec_ED25519_scalar_validate, + NULL, + NULL }, }; static const ECMethod * @@ -353,6 +381,16 @@ ec_NewKey(ECParams *ecParams, ECPrivateKey **privKey, /* Compute corresponding public key */ /* Use curve specific code for point multiplication */ + + if (ecParams->name == ECCurve_Ed25519) { + rv = ED_DerivePublicKey(&key->privateValue, &key->publicValue); + if (rv != SECSuccess) { + goto cleanup; + } + NSS_DECLASSIFY(key->publicValue.data, key->publicValue.len); /* Declassifying public key to avoid false positive */ + goto done; + } + if (ecParams->fieldID.type == ec_field_plain) { const ECMethod *method = ec_get_method_from_name(ecParams->name); if (method == NULL || method->pt_mul == NULL) { @@ -435,6 +473,7 @@ ec_GenerateRandomPrivateKey(ECParams *ecParams, SECItem *privKey) uint8_t leading_coeff_mask; switch (ecParams->name) { + case ECCurve_Ed25519: case ECCurve25519: case ECCurve_NIST_P256: case ECCurve_NIST_P384: @@ -490,8 +529,9 @@ EC_NewKey(ECParams *ecParams, ECPrivateKey **privKey) goto cleanup; } rv = ec_GenerateRandomPrivateKey(ecParams, &privKeyRand); - if (rv != SECSuccess || privKeyRand.data == NULL) + if (rv != SECSuccess || privKeyRand.data == NULL) { goto cleanup; + } /* generate public key */ CHECK_SEC_OK(ec_NewKey(ecParams, privKey, privKeyRand.data, privKeyRand.len)); @@ -1317,3 +1357,103 @@ done: return rv; } + +/*EdDSA: Currently only Ed22519 is implemented.*/ + +/* +** Computes the EdDSA signature on the message using the given key. +*/ + +SECStatus +ec_ED25519_public_key_validate(const ECPublicKey *key) +{ + if (!key || !(key->ecParams.name == ECCurve_Ed25519)) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + return ec_ED25519_pt_validate(&key->publicValue); +} + +SECStatus +ec_ED25519_private_key_validate(const ECPrivateKey *key) +{ + if (!key || !(key->ecParams.name == ECCurve_Ed25519)) { + + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + return ec_ED25519_scalar_validate(&key->privateValue); +} + +SECStatus +ED_SignMessage(ECPrivateKey *key, SECItem *signature, const SECItem *msg) +{ + if (!msg || !signature || signature->len != Ed25519_SIGN_LEN) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + + if (ec_ED25519_private_key_validate(key) != SECSuccess) { + return SECFailure; /* error code set by ec_ED25519_scalar_validate. */ + } + + if (signature->data) { + Hacl_Ed25519_sign(signature->data, key->privateValue.data, msg->len, + msg->data); + } + signature->len = ED25519_SIGN_LEN; + BLAPI_CLEAR_STACK(2048); + return SECSuccess; +} + +/* +** Checks the signature on the given message using the key provided. +*/ + +SECStatus +ED_VerifyMessage(ECPublicKey *key, const SECItem *signature, + const SECItem *msg) +{ + if (!msg || !signature || !signature->data || signature->len != Ed25519_SIGN_LEN) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + + if (ec_ED25519_public_key_validate(key) != SECSuccess) { + return SECFailure; /* error code set by ec_ED25519_pt_validate. */ + } + + bool rv = Hacl_Ed25519_verify(key->publicValue.data, msg->len, msg->data, + signature->data); + BLAPI_CLEAR_STACK(2048); + +#if EC_DEBUG + printf("ED_VerifyMessage returning %s\n", + (rv) ? "success" : "failure"); +#endif + + if (rv) { + return SECSuccess; + } + + PORT_SetError(SEC_ERROR_BAD_SIGNATURE); + return SECFailure; +} + +SECStatus +ED_DerivePublicKey(const SECItem *privateKey, SECItem *publicKey) +{ + /* Currently supporting only Ed25519.*/ + if (!privateKey || privateKey->len == 0 || !publicKey || publicKey->len != Ed25519_PUBLIC_KEYLEN) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + + if (ec_ED25519_scalar_validate(privateKey) != SECSuccess) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + + Hacl_Ed25519_secret_to_public(publicKey->data, privateKey->data); + return SECSuccess; +}
\ No newline at end of file diff --git a/security/nss/lib/freebl/ec.h b/security/nss/lib/freebl/ec.h index f4b8ee7334..c38f623d4a 100644 --- a/security/nss/lib/freebl/ec.h +++ b/security/nss/lib/freebl/ec.h @@ -10,6 +10,10 @@ #define ANSI_X962_CURVE_OID_TOTAL_LEN 10 #define SECG_CURVE_OID_TOTAL_LEN 7 #define PKIX_NEWCURVES_OID_TOTAL_LEN 11 +#define ED25519_OID_TOTAL_LEN 5 +#define Ed25519_PRIVATE_KEYLEN 32 +#define Ed25519_PUBLIC_KEYLEN 32 +#define Ed25519_SIGN_LEN 64 struct ECMethodStr { ECCurveName name; diff --git a/security/nss/lib/freebl/ecdecode.c b/security/nss/lib/freebl/ecdecode.c index 24ba11f3b1..c78eedf373 100644 --- a/security/nss/lib/freebl/ecdecode.c +++ b/security/nss/lib/freebl/ecdecode.c @@ -120,7 +120,8 @@ EC_FillParams(PLArenaPool *arena, const SECItem *encodedParams, if ((encodedParams->len != ANSI_X962_CURVE_OID_TOTAL_LEN) && (encodedParams->len != SECG_CURVE_OID_TOTAL_LEN) && - (encodedParams->len != PKIX_NEWCURVES_OID_TOTAL_LEN)) { + (encodedParams->len != PKIX_NEWCURVES_OID_TOTAL_LEN) && + (encodedParams->len != ED25519_OID_TOTAL_LEN)) { PORT_SetError(SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE); return SECFailure; }; @@ -174,6 +175,13 @@ EC_FillParams(PLArenaPool *arena, const SECItem *encodedParams, ec_field_GFp, params)); break; + case SEC_OID_ED25519_PUBLIC_KEY: + params->type = ec_params_edwards_named; + CHECK_SEC_OK(gf_populate_params_bytes(ECCurve_Ed25519, + ec_field_plain, params)); + + break; + case SEC_OID_CURVE25519: /* Populate params for Curve25519 */ params->type = ec_params_montgomery_named; @@ -246,10 +254,11 @@ EC_GetPointSize(const ECParams *params) int sizeInBytes = (params->fieldID.size + 7) / 8; return sizeInBytes * 2 + 1; } - if (name == ECCurve25519) { - /* Only X here */ + + if (params->type == ec_params_edwards_named || params->type == ec_params_montgomery_named) { return curveParams->scalarSize; } + return curveParams->pointSize - 1; } diff --git a/security/nss/lib/freebl/ecl/ecl-curve.h b/security/nss/lib/freebl/ecl/ecl-curve.h index dec3ce387d..1c9cb5db53 100644 --- a/security/nss/lib/freebl/ecl/ecl-curve.h +++ b/security/nss/lib/freebl/ecl/ecl-curve.h @@ -178,6 +178,13 @@ static const ECCurveBytes ecCurve_25519 = { KU_KEY_AGREEMENT }; +static const ECCurveBytes ecCurve_Ed25519 = { + "ED25119", ECField_GFp, 255, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, + 8, 128, 66, 32, + KU_DIGITAL_SIGNATURE +}; + /* mapping between ECCurveName enum and pointers to ECCurveParams */ static const ECCurveBytes *ecCurve_map[] = { NULL, /* ECCurve_noName */ @@ -239,7 +246,8 @@ static const ECCurveBytes *ecCurve_map[] = { NULL, /* ECCurve_WTLS_8 */ NULL, /* ECCurve_WTLS_9 */ &ecCurve_25519, /* ECCurve25519 */ - NULL /* ECCurve_pastLastCurve */ + &ecCurve_Ed25519, + NULL /* ECCurve_pastLastCurve */ }; #endif diff --git a/security/nss/lib/freebl/ecl/ecl-exp.h b/security/nss/lib/freebl/ecl/ecl-exp.h index 44adb8a1cd..14263c70f4 100644 --- a/security/nss/lib/freebl/ecl/ecl-exp.h +++ b/security/nss/lib/freebl/ecl/ecl-exp.h @@ -132,6 +132,7 @@ typedef enum { /* ECCurve_WTLS_12 == ECCurve_NIST_P224 */ ECCurve25519, + ECCurve_Ed25519, ECCurve_pastLastCurve } ECCurveName; diff --git a/security/nss/lib/freebl/freebl_base.gypi b/security/nss/lib/freebl/freebl_base.gypi index 8ef46da630..2a6bd5e5c5 100644 --- a/security/nss/lib/freebl/freebl_base.gypi +++ b/security/nss/lib/freebl/freebl_base.gypi @@ -73,6 +73,8 @@ 'verified/Hacl_Hash_SHA3.c', 'sha3.c', 'shake.c', + 'verified/Hacl_Curve25519_51.c', + 'verified/Hacl_Ed25519.c', ], 'defines': [ # For kyber-pqcrystals-ref.c. If we ever decide to support Kyber512 or diff --git a/security/nss/lib/freebl/ldvector.c b/security/nss/lib/freebl/ldvector.c index 14ecfcaa25..641340b8c7 100644 --- a/security/nss/lib/freebl/ldvector.c +++ b/security/nss/lib/freebl/ldvector.c @@ -438,6 +438,11 @@ static const struct FREEBLVectorStr vector = { Kyber_Decapsulate, /* End of version 3.027 */ + + ED_SignMessage, + ED_VerifyMessage, + ED_DerivePublicKey, + /* End of version 3.028 */ }; const FREEBLVector* diff --git a/security/nss/lib/freebl/loader.c b/security/nss/lib/freebl/loader.c index 473169264c..22c468fda7 100644 --- a/security/nss/lib/freebl/loader.c +++ b/security/nss/lib/freebl/loader.c @@ -2854,3 +2854,31 @@ Kyber_Decapsulate(KyberParams params, const SECItem *privKey, const SECItem *cip return SECFailure; return (vector->p_Kyber_Decapsulate)(params, privKey, ciphertext, secret); } + +/* ============== New for 3.0028 =============================== */ + +SECStatus +ED_SignMessage(ECPrivateKey *key, SECItem *signature, + const SECItem *msg) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_ED_SignMessage)(key, signature, msg); +} + +SECStatus +ED_VerifyMessage(ECPublicKey *key, const SECItem *signature, + const SECItem *msg) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_ED_VerifyMessage)(key, signature, msg); +} + +SECStatus +ED_DerivePublicKey(const SECItem *privateKey, SECItem *publicKey) +{ + if (!vector && PR_SUCCESS != freebl_RunLoaderOnce()) + return SECFailure; + return (vector->p_ED_DerivePublicKey)(privateKey, publicKey); +} diff --git a/security/nss/lib/freebl/loader.h b/security/nss/lib/freebl/loader.h index 62159d88c7..5c51f48213 100644 --- a/security/nss/lib/freebl/loader.h +++ b/security/nss/lib/freebl/loader.h @@ -918,6 +918,13 @@ struct FREEBLVectorStr { /* Version 3.027 came to here */ + SECStatus (*p_ED_SignMessage)(ECPrivateKey *key, SECItem *signature, const SECItem *msg); + SECStatus (*p_ED_VerifyMessage)(ECPublicKey *key, const SECItem *signature, + const SECItem *msg); + + SECStatus (*p_ED_DerivePublicKey)(const SECItem *privateKey, SECItem *publicKey); + /* Version 3.028 came to here */ + /* Add new function pointers at the end of this struct and bump * FREEBL_VERSION at the beginning of this file. */ }; diff --git a/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c b/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c index a15820273c..bf2cc651ce 100644 --- a/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c +++ b/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c @@ -368,9 +368,8 @@ Hacl_Chacha20_Vec128_chacha20_encrypt_128( } if (rem1 > (uint32_t)0U) { uint8_t *uu____2 = out + nb * (uint32_t)256U; - uint8_t *uu____3 = text + nb * (uint32_t)256U; uint8_t plain[256U] = { 0U }; - memcpy(plain, uu____3, rem * sizeof(uint8_t)); + memcpy(plain, text + nb * (uint32_t)256U, rem * sizeof(uint8_t)); KRML_PRE_ALIGN(16) Lib_IntVector_Intrinsics_vec128 k[16U] KRML_POST_ALIGN(16) = { 0U }; chacha20_core_128(k, ctx, nb); @@ -674,9 +673,8 @@ Hacl_Chacha20_Vec128_chacha20_decrypt_128( } if (rem1 > (uint32_t)0U) { uint8_t *uu____2 = out + nb * (uint32_t)256U; - uint8_t *uu____3 = cipher + nb * (uint32_t)256U; uint8_t plain[256U] = { 0U }; - memcpy(plain, uu____3, rem * sizeof(uint8_t)); + memcpy(plain, cipher + nb * (uint32_t)256U, rem * sizeof(uint8_t)); KRML_PRE_ALIGN(16) Lib_IntVector_Intrinsics_vec128 k[16U] KRML_POST_ALIGN(16) = { 0U }; chacha20_core_128(k, ctx, nb); diff --git a/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c b/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c index e184598e4a..98ff9c346f 100644 --- a/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c +++ b/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c @@ -468,9 +468,8 @@ Hacl_Chacha20_Vec256_chacha20_encrypt_256( } if (rem1 > (uint32_t)0U) { uint8_t *uu____2 = out + nb * (uint32_t)512U; - uint8_t *uu____3 = text + nb * (uint32_t)512U; uint8_t plain[512U] = { 0U }; - memcpy(plain, uu____3, rem * sizeof(uint8_t)); + memcpy(plain, text + nb * (uint32_t)512U, rem * sizeof(uint8_t)); KRML_PRE_ALIGN(32) Lib_IntVector_Intrinsics_vec256 k[16U] KRML_POST_ALIGN(32) = { 0U }; chacha20_core_256(k, ctx, nb); @@ -966,9 +965,8 @@ Hacl_Chacha20_Vec256_chacha20_decrypt_256( } if (rem1 > (uint32_t)0U) { uint8_t *uu____2 = out + nb * (uint32_t)512U; - uint8_t *uu____3 = cipher + nb * (uint32_t)512U; uint8_t plain[512U] = { 0U }; - memcpy(plain, uu____3, rem * sizeof(uint8_t)); + memcpy(plain, cipher + nb * (uint32_t)512U, rem * sizeof(uint8_t)); KRML_PRE_ALIGN(32) Lib_IntVector_Intrinsics_vec256 k[16U] KRML_POST_ALIGN(32) = { 0U }; chacha20_core_256(k, ctx, nb); diff --git a/security/nss/lib/freebl/verified/Hacl_Curve25519_64.c b/security/nss/lib/freebl/verified/Hacl_Curve25519_64.c index 6dbdf736f9..7ba332cba6 100644 --- a/security/nss/lib/freebl/verified/Hacl_Curve25519_64.c +++ b/security/nss/lib/freebl/verified/Hacl_Curve25519_64.c @@ -35,7 +35,7 @@ add_scalar0(uint64_t *out, uint64_t *f1, uint64_t f2) #if HACL_CAN_COMPILE_INLINE_ASM add_scalar(out, f1, f2); #else - uint64_t uu____0 = add_scalar_e(out, f1, f2); + KRML_HOST_IGNORE(add_scalar_e(out, f1, f2)); #endif } @@ -45,7 +45,7 @@ fadd0(uint64_t *out, uint64_t *f1, uint64_t *f2) #if HACL_CAN_COMPILE_INLINE_ASM fadd(out, f1, f2); #else - uint64_t uu____0 = fadd_e(out, f1, f2); + KRML_HOST_IGNORE(fadd_e(out, f1, f2)); #endif } @@ -55,7 +55,7 @@ fsub0(uint64_t *out, uint64_t *f1, uint64_t *f2) #if HACL_CAN_COMPILE_INLINE_ASM fsub(out, f1, f2); #else - uint64_t uu____0 = fsub_e(out, f1, f2); + KRML_HOST_IGNORE(fsub_e(out, f1, f2)); #endif } @@ -65,7 +65,7 @@ fmul0(uint64_t *out, uint64_t *f1, uint64_t *f2, uint64_t *tmp) #if HACL_CAN_COMPILE_INLINE_ASM fmul(out, f1, f2, tmp); #else - uint64_t uu____0 = fmul_e(tmp, f1, out, f2); + KRML_HOST_IGNORE(fmul_e(tmp, f1, out, f2)); #endif } @@ -75,7 +75,7 @@ fmul20(uint64_t *out, uint64_t *f1, uint64_t *f2, uint64_t *tmp) #if HACL_CAN_COMPILE_INLINE_ASM fmul2(out, f1, f2, tmp); #else - uint64_t uu____0 = fmul2_e(tmp, f1, out, f2); + KRML_HOST_IGNORE(fmul2_e(tmp, f1, out, f2)); #endif } @@ -85,7 +85,7 @@ fmul_scalar0(uint64_t *out, uint64_t *f1, uint64_t f2) #if HACL_CAN_COMPILE_INLINE_ASM fmul_scalar(out, f1, f2); #else - uint64_t uu____0 = fmul_scalar_e(out, f1, f2); + KRML_HOST_IGNORE(fmul_scalar_e(out, f1, f2)); #endif } @@ -95,7 +95,7 @@ fsqr0(uint64_t *out, uint64_t *f1, uint64_t *tmp) #if HACL_CAN_COMPILE_INLINE_ASM fsqr(out, f1, tmp); #else - uint64_t uu____0 = fsqr_e(tmp, f1, out); + KRML_HOST_IGNORE(fsqr_e(tmp, f1, out)); #endif } @@ -105,7 +105,7 @@ fsqr20(uint64_t *out, uint64_t *f, uint64_t *tmp) #if HACL_CAN_COMPILE_INLINE_ASM fsqr2(out, f, tmp); #else - uint64_t uu____0 = fsqr2_e(tmp, f, out); + KRML_HOST_IGNORE(fsqr2_e(tmp, f, out)); #endif } @@ -115,7 +115,7 @@ cswap20(uint64_t bit, uint64_t *p1, uint64_t *p2) #if HACL_CAN_COMPILE_INLINE_ASM cswap2(bit, p1, p2); #else - uint64_t uu____0 = cswap2_e(bit, p1, p2); + KRML_HOST_IGNORE(cswap2_e(bit, p1, p2)); #endif } diff --git a/security/nss/lib/freebl/verified/Hacl_Ed25519.c b/security/nss/lib/freebl/verified/Hacl_Ed25519.c new file mode 100644 index 0000000000..f7a5ea6d75 --- /dev/null +++ b/security/nss/lib/freebl/verified/Hacl_Ed25519.c @@ -0,0 +1,1853 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * 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. + */ + +#include "internal/Hacl_Ed25519.h" + +#include "internal/Hacl_Krmllib.h" +#include "internal/Hacl_Ed25519_PrecompTable.h" +#include "internal/Hacl_Curve25519_51.h" +#include "internal/Hacl_Bignum_Base.h" +#include "internal/Hacl_Bignum25519_51.h" + +#include "../Hacl_Hash_SHA2_shim.h" + +static inline void +fsum(uint64_t *out, uint64_t *a, uint64_t *b) +{ + Hacl_Impl_Curve25519_Field51_fadd(out, a, b); +} + +static inline void +fdifference(uint64_t *out, uint64_t *a, uint64_t *b) +{ + Hacl_Impl_Curve25519_Field51_fsub(out, a, b); +} + +void +Hacl_Bignum25519_reduce_513(uint64_t *a) +{ + uint64_t f0 = a[0U]; + uint64_t f1 = a[1U]; + uint64_t f2 = a[2U]; + uint64_t f3 = a[3U]; + uint64_t f4 = a[4U]; + uint64_t l_ = f0 + (uint64_t)0U; + uint64_t tmp0 = l_ & (uint64_t)0x7ffffffffffffU; + uint64_t c0 = l_ >> (uint32_t)51U; + uint64_t l_0 = f1 + c0; + uint64_t tmp1 = l_0 & (uint64_t)0x7ffffffffffffU; + uint64_t c1 = l_0 >> (uint32_t)51U; + uint64_t l_1 = f2 + c1; + uint64_t tmp2 = l_1 & (uint64_t)0x7ffffffffffffU; + uint64_t c2 = l_1 >> (uint32_t)51U; + uint64_t l_2 = f3 + c2; + uint64_t tmp3 = l_2 & (uint64_t)0x7ffffffffffffU; + uint64_t c3 = l_2 >> (uint32_t)51U; + uint64_t l_3 = f4 + c3; + uint64_t tmp4 = l_3 & (uint64_t)0x7ffffffffffffU; + uint64_t c4 = l_3 >> (uint32_t)51U; + uint64_t l_4 = tmp0 + c4 * (uint64_t)19U; + uint64_t tmp0_ = l_4 & (uint64_t)0x7ffffffffffffU; + uint64_t c5 = l_4 >> (uint32_t)51U; + a[0U] = tmp0_; + a[1U] = tmp1 + c5; + a[2U] = tmp2; + a[3U] = tmp3; + a[4U] = tmp4; +} + +static inline void +fmul0(uint64_t *output, uint64_t *input, uint64_t *input2) +{ + FStar_UInt128_uint128 tmp[10U]; + for (uint32_t _i = 0U; _i < (uint32_t)10U; ++_i) + tmp[_i] = FStar_UInt128_uint64_to_uint128((uint64_t)0U); + Hacl_Impl_Curve25519_Field51_fmul(output, input, input2, tmp); +} + +static inline void +times_2(uint64_t *out, uint64_t *a) +{ + uint64_t a0 = a[0U]; + uint64_t a1 = a[1U]; + uint64_t a2 = a[2U]; + uint64_t a3 = a[3U]; + uint64_t a4 = a[4U]; + uint64_t o0 = (uint64_t)2U * a0; + uint64_t o1 = (uint64_t)2U * a1; + uint64_t o2 = (uint64_t)2U * a2; + uint64_t o3 = (uint64_t)2U * a3; + uint64_t o4 = (uint64_t)2U * a4; + out[0U] = o0; + out[1U] = o1; + out[2U] = o2; + out[3U] = o3; + out[4U] = o4; +} + +static inline void +times_d(uint64_t *out, uint64_t *a) +{ + uint64_t d[5U] = { 0U }; + d[0U] = (uint64_t)0x00034dca135978a3U; + d[1U] = (uint64_t)0x0001a8283b156ebdU; + d[2U] = (uint64_t)0x0005e7a26001c029U; + d[3U] = (uint64_t)0x000739c663a03cbbU; + d[4U] = (uint64_t)0x00052036cee2b6ffU; + fmul0(out, d, a); +} + +static inline void +times_2d(uint64_t *out, uint64_t *a) +{ + uint64_t d2[5U] = { 0U }; + d2[0U] = (uint64_t)0x00069b9426b2f159U; + d2[1U] = (uint64_t)0x00035050762add7aU; + d2[2U] = (uint64_t)0x0003cf44c0038052U; + d2[3U] = (uint64_t)0x0006738cc7407977U; + d2[4U] = (uint64_t)0x0002406d9dc56dffU; + fmul0(out, d2, a); +} + +static inline void +fsquare(uint64_t *out, uint64_t *a) +{ + FStar_UInt128_uint128 tmp[5U]; + for (uint32_t _i = 0U; _i < (uint32_t)5U; ++_i) + tmp[_i] = FStar_UInt128_uint64_to_uint128((uint64_t)0U); + Hacl_Impl_Curve25519_Field51_fsqr(out, a, tmp); +} + +static inline void +fsquare_times(uint64_t *output, uint64_t *input, uint32_t count) +{ + FStar_UInt128_uint128 tmp[5U]; + for (uint32_t _i = 0U; _i < (uint32_t)5U; ++_i) + tmp[_i] = FStar_UInt128_uint64_to_uint128((uint64_t)0U); + Hacl_Curve25519_51_fsquare_times(output, input, tmp, count); +} + +static inline void +fsquare_times_inplace(uint64_t *output, uint32_t count) +{ + FStar_UInt128_uint128 tmp[5U]; + for (uint32_t _i = 0U; _i < (uint32_t)5U; ++_i) + tmp[_i] = FStar_UInt128_uint64_to_uint128((uint64_t)0U); + Hacl_Curve25519_51_fsquare_times(output, output, tmp, count); +} + +void +Hacl_Bignum25519_inverse(uint64_t *out, uint64_t *a) +{ + FStar_UInt128_uint128 tmp[10U]; + for (uint32_t _i = 0U; _i < (uint32_t)10U; ++_i) + tmp[_i] = FStar_UInt128_uint64_to_uint128((uint64_t)0U); + Hacl_Curve25519_51_finv(out, a, tmp); +} + +static inline void +reduce(uint64_t *out) +{ + uint64_t o0 = out[0U]; + uint64_t o1 = out[1U]; + uint64_t o2 = out[2U]; + uint64_t o3 = out[3U]; + uint64_t o4 = out[4U]; + uint64_t l_ = o0 + (uint64_t)0U; + uint64_t tmp0 = l_ & (uint64_t)0x7ffffffffffffU; + uint64_t c0 = l_ >> (uint32_t)51U; + uint64_t l_0 = o1 + c0; + uint64_t tmp1 = l_0 & (uint64_t)0x7ffffffffffffU; + uint64_t c1 = l_0 >> (uint32_t)51U; + uint64_t l_1 = o2 + c1; + uint64_t tmp2 = l_1 & (uint64_t)0x7ffffffffffffU; + uint64_t c2 = l_1 >> (uint32_t)51U; + uint64_t l_2 = o3 + c2; + uint64_t tmp3 = l_2 & (uint64_t)0x7ffffffffffffU; + uint64_t c3 = l_2 >> (uint32_t)51U; + uint64_t l_3 = o4 + c3; + uint64_t tmp4 = l_3 & (uint64_t)0x7ffffffffffffU; + uint64_t c4 = l_3 >> (uint32_t)51U; + uint64_t l_4 = tmp0 + c4 * (uint64_t)19U; + uint64_t tmp0_ = l_4 & (uint64_t)0x7ffffffffffffU; + uint64_t c5 = l_4 >> (uint32_t)51U; + uint64_t f0 = tmp0_; + uint64_t f1 = tmp1 + c5; + uint64_t f2 = tmp2; + uint64_t f3 = tmp3; + uint64_t f4 = tmp4; + uint64_t m0 = FStar_UInt64_gte_mask(f0, (uint64_t)0x7ffffffffffedU); + uint64_t m1 = FStar_UInt64_eq_mask(f1, (uint64_t)0x7ffffffffffffU); + uint64_t m2 = FStar_UInt64_eq_mask(f2, (uint64_t)0x7ffffffffffffU); + uint64_t m3 = FStar_UInt64_eq_mask(f3, (uint64_t)0x7ffffffffffffU); + uint64_t m4 = FStar_UInt64_eq_mask(f4, (uint64_t)0x7ffffffffffffU); + uint64_t mask = (((m0 & m1) & m2) & m3) & m4; + uint64_t f0_ = f0 - (mask & (uint64_t)0x7ffffffffffedU); + uint64_t f1_ = f1 - (mask & (uint64_t)0x7ffffffffffffU); + uint64_t f2_ = f2 - (mask & (uint64_t)0x7ffffffffffffU); + uint64_t f3_ = f3 - (mask & (uint64_t)0x7ffffffffffffU); + uint64_t f4_ = f4 - (mask & (uint64_t)0x7ffffffffffffU); + uint64_t f01 = f0_; + uint64_t f11 = f1_; + uint64_t f21 = f2_; + uint64_t f31 = f3_; + uint64_t f41 = f4_; + out[0U] = f01; + out[1U] = f11; + out[2U] = f21; + out[3U] = f31; + out[4U] = f41; +} + +void +Hacl_Bignum25519_load_51(uint64_t *output, uint8_t *input) +{ + uint64_t u64s[4U] = { 0U }; + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + uint64_t *os = u64s; + uint8_t *bj = input + i * (uint32_t)8U; + uint64_t u = load64_le(bj); + uint64_t r = u; + uint64_t x = r; + os[i] = x;); + uint64_t u64s3 = u64s[3U]; + u64s[3U] = u64s3 & (uint64_t)0x7fffffffffffffffU; + output[0U] = u64s[0U] & (uint64_t)0x7ffffffffffffU; + output[1U] = u64s[0U] >> (uint32_t)51U | (u64s[1U] & (uint64_t)0x3fffffffffU) << (uint32_t)13U; + output[2U] = u64s[1U] >> (uint32_t)38U | (u64s[2U] & (uint64_t)0x1ffffffU) << (uint32_t)26U; + output[3U] = u64s[2U] >> (uint32_t)25U | (u64s[3U] & (uint64_t)0xfffU) << (uint32_t)39U; + output[4U] = u64s[3U] >> (uint32_t)12U; +} + +void +Hacl_Bignum25519_store_51(uint8_t *output, uint64_t *input) +{ + uint64_t u64s[4U] = { 0U }; + Hacl_Impl_Curve25519_Field51_store_felem(u64s, input); + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + store64_le(output + i * (uint32_t)8U, u64s[i]);); +} + +void +Hacl_Impl_Ed25519_PointDouble_point_double(uint64_t *out, uint64_t *p) +{ + uint64_t tmp[20U] = { 0U }; + uint64_t *tmp1 = tmp; + uint64_t *tmp20 = tmp + (uint32_t)5U; + uint64_t *tmp30 = tmp + (uint32_t)10U; + uint64_t *tmp40 = tmp + (uint32_t)15U; + uint64_t *x10 = p; + uint64_t *y10 = p + (uint32_t)5U; + uint64_t *z1 = p + (uint32_t)10U; + fsquare(tmp1, x10); + fsquare(tmp20, y10); + fsum(tmp30, tmp1, tmp20); + fdifference(tmp40, tmp1, tmp20); + fsquare(tmp1, z1); + times_2(tmp1, tmp1); + uint64_t *tmp10 = tmp; + uint64_t *tmp2 = tmp + (uint32_t)5U; + uint64_t *tmp3 = tmp + (uint32_t)10U; + uint64_t *tmp4 = tmp + (uint32_t)15U; + uint64_t *x1 = p; + uint64_t *y1 = p + (uint32_t)5U; + fsum(tmp2, x1, y1); + fsquare(tmp2, tmp2); + Hacl_Bignum25519_reduce_513(tmp3); + fdifference(tmp2, tmp3, tmp2); + Hacl_Bignum25519_reduce_513(tmp10); + Hacl_Bignum25519_reduce_513(tmp4); + fsum(tmp10, tmp10, tmp4); + uint64_t *tmp_f = tmp; + uint64_t *tmp_e = tmp + (uint32_t)5U; + uint64_t *tmp_h = tmp + (uint32_t)10U; + uint64_t *tmp_g = tmp + (uint32_t)15U; + uint64_t *x3 = out; + uint64_t *y3 = out + (uint32_t)5U; + uint64_t *z3 = out + (uint32_t)10U; + uint64_t *t3 = out + (uint32_t)15U; + fmul0(x3, tmp_e, tmp_f); + fmul0(y3, tmp_g, tmp_h); + fmul0(t3, tmp_e, tmp_h); + fmul0(z3, tmp_f, tmp_g); +} + +void +Hacl_Impl_Ed25519_PointAdd_point_add(uint64_t *out, uint64_t *p, uint64_t *q) +{ + uint64_t tmp[30U] = { 0U }; + uint64_t *tmp1 = tmp; + uint64_t *tmp20 = tmp + (uint32_t)5U; + uint64_t *tmp30 = tmp + (uint32_t)10U; + uint64_t *tmp40 = tmp + (uint32_t)15U; + uint64_t *x1 = p; + uint64_t *y1 = p + (uint32_t)5U; + uint64_t *x2 = q; + uint64_t *y2 = q + (uint32_t)5U; + fdifference(tmp1, y1, x1); + fdifference(tmp20, y2, x2); + fmul0(tmp30, tmp1, tmp20); + fsum(tmp1, y1, x1); + fsum(tmp20, y2, x2); + fmul0(tmp40, tmp1, tmp20); + uint64_t *tmp10 = tmp; + uint64_t *tmp2 = tmp + (uint32_t)5U; + uint64_t *tmp3 = tmp + (uint32_t)10U; + uint64_t *tmp4 = tmp + (uint32_t)15U; + uint64_t *tmp5 = tmp + (uint32_t)20U; + uint64_t *tmp6 = tmp + (uint32_t)25U; + uint64_t *z1 = p + (uint32_t)10U; + uint64_t *t1 = p + (uint32_t)15U; + uint64_t *z2 = q + (uint32_t)10U; + uint64_t *t2 = q + (uint32_t)15U; + times_2d(tmp10, t1); + fmul0(tmp10, tmp10, t2); + times_2(tmp2, z1); + fmul0(tmp2, tmp2, z2); + fdifference(tmp5, tmp4, tmp3); + fdifference(tmp6, tmp2, tmp10); + fsum(tmp10, tmp2, tmp10); + fsum(tmp2, tmp4, tmp3); + uint64_t *tmp_g = tmp; + uint64_t *tmp_h = tmp + (uint32_t)5U; + uint64_t *tmp_e = tmp + (uint32_t)20U; + uint64_t *tmp_f = tmp + (uint32_t)25U; + uint64_t *x3 = out; + uint64_t *y3 = out + (uint32_t)5U; + uint64_t *z3 = out + (uint32_t)10U; + uint64_t *t3 = out + (uint32_t)15U; + fmul0(x3, tmp_e, tmp_f); + fmul0(y3, tmp_g, tmp_h); + fmul0(t3, tmp_e, tmp_h); + fmul0(z3, tmp_f, tmp_g); +} + +void +Hacl_Impl_Ed25519_PointConstants_make_point_inf(uint64_t *b) +{ + uint64_t *x = b; + uint64_t *y = b + (uint32_t)5U; + uint64_t *z = b + (uint32_t)10U; + uint64_t *t = b + (uint32_t)15U; + x[0U] = (uint64_t)0U; + x[1U] = (uint64_t)0U; + x[2U] = (uint64_t)0U; + x[3U] = (uint64_t)0U; + x[4U] = (uint64_t)0U; + y[0U] = (uint64_t)1U; + y[1U] = (uint64_t)0U; + y[2U] = (uint64_t)0U; + y[3U] = (uint64_t)0U; + y[4U] = (uint64_t)0U; + z[0U] = (uint64_t)1U; + z[1U] = (uint64_t)0U; + z[2U] = (uint64_t)0U; + z[3U] = (uint64_t)0U; + z[4U] = (uint64_t)0U; + t[0U] = (uint64_t)0U; + t[1U] = (uint64_t)0U; + t[2U] = (uint64_t)0U; + t[3U] = (uint64_t)0U; + t[4U] = (uint64_t)0U; +} + +static inline void +pow2_252m2(uint64_t *out, uint64_t *z) +{ + uint64_t buf[20U] = { 0U }; + uint64_t *a = buf; + uint64_t *t00 = buf + (uint32_t)5U; + uint64_t *b0 = buf + (uint32_t)10U; + uint64_t *c0 = buf + (uint32_t)15U; + fsquare_times(a, z, (uint32_t)1U); + fsquare_times(t00, a, (uint32_t)2U); + fmul0(b0, t00, z); + fmul0(a, b0, a); + fsquare_times(t00, a, (uint32_t)1U); + fmul0(b0, t00, b0); + fsquare_times(t00, b0, (uint32_t)5U); + fmul0(b0, t00, b0); + fsquare_times(t00, b0, (uint32_t)10U); + fmul0(c0, t00, b0); + fsquare_times(t00, c0, (uint32_t)20U); + fmul0(t00, t00, c0); + fsquare_times_inplace(t00, (uint32_t)10U); + fmul0(b0, t00, b0); + fsquare_times(t00, b0, (uint32_t)50U); + uint64_t *a0 = buf; + uint64_t *t0 = buf + (uint32_t)5U; + uint64_t *b = buf + (uint32_t)10U; + uint64_t *c = buf + (uint32_t)15U; + fsquare_times(a0, z, (uint32_t)1U); + fmul0(c, t0, b); + fsquare_times(t0, c, (uint32_t)100U); + fmul0(t0, t0, c); + fsquare_times_inplace(t0, (uint32_t)50U); + fmul0(t0, t0, b); + fsquare_times_inplace(t0, (uint32_t)2U); + fmul0(out, t0, a0); +} + +static inline bool +is_0(uint64_t *x) +{ + uint64_t x0 = x[0U]; + uint64_t x1 = x[1U]; + uint64_t x2 = x[2U]; + uint64_t x3 = x[3U]; + uint64_t x4 = x[4U]; + return x0 == (uint64_t)0U && x1 == (uint64_t)0U && x2 == (uint64_t)0U && x3 == (uint64_t)0U && x4 == (uint64_t)0U; +} + +static inline void +mul_modp_sqrt_m1(uint64_t *x) +{ + uint64_t sqrt_m1[5U] = { 0U }; + sqrt_m1[0U] = (uint64_t)0x00061b274a0ea0b0U; + sqrt_m1[1U] = (uint64_t)0x0000d5a5fc8f189dU; + sqrt_m1[2U] = (uint64_t)0x0007ef5e9cbd0c60U; + sqrt_m1[3U] = (uint64_t)0x00078595a6804c9eU; + sqrt_m1[4U] = (uint64_t)0x0002b8324804fc1dU; + fmul0(x, x, sqrt_m1); +} + +static inline bool +recover_x(uint64_t *x, uint64_t *y, uint64_t sign) +{ + uint64_t tmp[15U] = { 0U }; + uint64_t *x2 = tmp; + uint64_t x00 = y[0U]; + uint64_t x1 = y[1U]; + uint64_t x21 = y[2U]; + uint64_t x30 = y[3U]; + uint64_t x4 = y[4U]; + bool + b = + x00 >= (uint64_t)0x7ffffffffffedU && x1 == (uint64_t)0x7ffffffffffffU && x21 == (uint64_t)0x7ffffffffffffU && x30 == (uint64_t)0x7ffffffffffffU && x4 == (uint64_t)0x7ffffffffffffU; + bool res; + if (b) { + res = false; + } else { + uint64_t tmp1[20U] = { 0U }; + uint64_t *one = tmp1; + uint64_t *y2 = tmp1 + (uint32_t)5U; + uint64_t *dyyi = tmp1 + (uint32_t)10U; + uint64_t *dyy = tmp1 + (uint32_t)15U; + one[0U] = (uint64_t)1U; + one[1U] = (uint64_t)0U; + one[2U] = (uint64_t)0U; + one[3U] = (uint64_t)0U; + one[4U] = (uint64_t)0U; + fsquare(y2, y); + times_d(dyy, y2); + fsum(dyy, dyy, one); + Hacl_Bignum25519_reduce_513(dyy); + Hacl_Bignum25519_inverse(dyyi, dyy); + fdifference(x2, y2, one); + fmul0(x2, x2, dyyi); + reduce(x2); + bool x2_is_0 = is_0(x2); + uint8_t z; + if (x2_is_0) { + if (sign == (uint64_t)0U) { + x[0U] = (uint64_t)0U; + x[1U] = (uint64_t)0U; + x[2U] = (uint64_t)0U; + x[3U] = (uint64_t)0U; + x[4U] = (uint64_t)0U; + z = (uint8_t)1U; + } else { + z = (uint8_t)0U; + } + } else { + z = (uint8_t)2U; + } + if (z == (uint8_t)0U) { + res = false; + } else if (z == (uint8_t)1U) { + res = true; + } else { + uint64_t *x210 = tmp; + uint64_t *x31 = tmp + (uint32_t)5U; + uint64_t *t00 = tmp + (uint32_t)10U; + pow2_252m2(x31, x210); + fsquare(t00, x31); + fdifference(t00, t00, x210); + Hacl_Bignum25519_reduce_513(t00); + reduce(t00); + bool t0_is_0 = is_0(t00); + if (!t0_is_0) { + mul_modp_sqrt_m1(x31); + } + uint64_t *x211 = tmp; + uint64_t *x3 = tmp + (uint32_t)5U; + uint64_t *t01 = tmp + (uint32_t)10U; + fsquare(t01, x3); + fdifference(t01, t01, x211); + Hacl_Bignum25519_reduce_513(t01); + reduce(t01); + bool z1 = is_0(t01); + if (z1 == false) { + res = false; + } else { + uint64_t *x32 = tmp + (uint32_t)5U; + uint64_t *t0 = tmp + (uint32_t)10U; + reduce(x32); + uint64_t x0 = x32[0U]; + uint64_t x01 = x0 & (uint64_t)1U; + if (!(x01 == sign)) { + t0[0U] = (uint64_t)0U; + t0[1U] = (uint64_t)0U; + t0[2U] = (uint64_t)0U; + t0[3U] = (uint64_t)0U; + t0[4U] = (uint64_t)0U; + fdifference(x32, t0, x32); + Hacl_Bignum25519_reduce_513(x32); + reduce(x32); + } + memcpy(x, x32, (uint32_t)5U * sizeof(uint64_t)); + res = true; + } + } + } + bool res0 = res; + return res0; +} + +bool +Hacl_Impl_Ed25519_PointDecompress_point_decompress(uint64_t *out, uint8_t *s) +{ + uint64_t tmp[10U] = { 0U }; + uint64_t *y = tmp; + uint64_t *x = tmp + (uint32_t)5U; + uint8_t s31 = s[31U]; + uint8_t z = s31 >> (uint32_t)7U; + uint64_t sign = (uint64_t)z; + Hacl_Bignum25519_load_51(y, s); + bool z0 = recover_x(x, y, sign); + bool res; + if (z0 == false) { + res = false; + } else { + uint64_t *outx = out; + uint64_t *outy = out + (uint32_t)5U; + uint64_t *outz = out + (uint32_t)10U; + uint64_t *outt = out + (uint32_t)15U; + memcpy(outx, x, (uint32_t)5U * sizeof(uint64_t)); + memcpy(outy, y, (uint32_t)5U * sizeof(uint64_t)); + outz[0U] = (uint64_t)1U; + outz[1U] = (uint64_t)0U; + outz[2U] = (uint64_t)0U; + outz[3U] = (uint64_t)0U; + outz[4U] = (uint64_t)0U; + fmul0(outt, x, y); + res = true; + } + bool res0 = res; + return res0; +} + +void +Hacl_Impl_Ed25519_PointCompress_point_compress(uint8_t *z, uint64_t *p) +{ + uint64_t tmp[15U] = { 0U }; + uint64_t *x = tmp + (uint32_t)5U; + uint64_t *out = tmp + (uint32_t)10U; + uint64_t *zinv1 = tmp; + uint64_t *x1 = tmp + (uint32_t)5U; + uint64_t *out1 = tmp + (uint32_t)10U; + uint64_t *px = p; + uint64_t *py = p + (uint32_t)5U; + uint64_t *pz = p + (uint32_t)10U; + Hacl_Bignum25519_inverse(zinv1, pz); + fmul0(x1, px, zinv1); + reduce(x1); + fmul0(out1, py, zinv1); + Hacl_Bignum25519_reduce_513(out1); + uint64_t x0 = x[0U]; + uint64_t b = x0 & (uint64_t)1U; + Hacl_Bignum25519_store_51(z, out); + uint8_t xbyte = (uint8_t)b; + uint8_t o31 = z[31U]; + z[31U] = o31 + (xbyte << (uint32_t)7U); +} + +static inline void +barrett_reduction(uint64_t *z, uint64_t *t) +{ + uint64_t t0 = t[0U]; + uint64_t t1 = t[1U]; + uint64_t t2 = t[2U]; + uint64_t t3 = t[3U]; + uint64_t t4 = t[4U]; + uint64_t t5 = t[5U]; + uint64_t t6 = t[6U]; + uint64_t t7 = t[7U]; + uint64_t t8 = t[8U]; + uint64_t t9 = t[9U]; + uint64_t m00 = (uint64_t)0x12631a5cf5d3edU; + uint64_t m10 = (uint64_t)0xf9dea2f79cd658U; + uint64_t m20 = (uint64_t)0x000000000014deU; + uint64_t m30 = (uint64_t)0x00000000000000U; + uint64_t m40 = (uint64_t)0x00000010000000U; + uint64_t m0 = m00; + uint64_t m1 = m10; + uint64_t m2 = m20; + uint64_t m3 = m30; + uint64_t m4 = m40; + uint64_t m010 = (uint64_t)0x9ce5a30a2c131bU; + uint64_t m110 = (uint64_t)0x215d086329a7edU; + uint64_t m210 = (uint64_t)0xffffffffeb2106U; + uint64_t m310 = (uint64_t)0xffffffffffffffU; + uint64_t m410 = (uint64_t)0x00000fffffffffU; + uint64_t mu0 = m010; + uint64_t mu1 = m110; + uint64_t mu2 = m210; + uint64_t mu3 = m310; + uint64_t mu4 = m410; + uint64_t y_ = (t5 & (uint64_t)0xffffffU) << (uint32_t)32U; + uint64_t x_ = t4 >> (uint32_t)24U; + uint64_t z00 = x_ | y_; + uint64_t y_0 = (t6 & (uint64_t)0xffffffU) << (uint32_t)32U; + uint64_t x_0 = t5 >> (uint32_t)24U; + uint64_t z10 = x_0 | y_0; + uint64_t y_1 = (t7 & (uint64_t)0xffffffU) << (uint32_t)32U; + uint64_t x_1 = t6 >> (uint32_t)24U; + uint64_t z20 = x_1 | y_1; + uint64_t y_2 = (t8 & (uint64_t)0xffffffU) << (uint32_t)32U; + uint64_t x_2 = t7 >> (uint32_t)24U; + uint64_t z30 = x_2 | y_2; + uint64_t y_3 = (t9 & (uint64_t)0xffffffU) << (uint32_t)32U; + uint64_t x_3 = t8 >> (uint32_t)24U; + uint64_t z40 = x_3 | y_3; + uint64_t q0 = z00; + uint64_t q1 = z10; + uint64_t q2 = z20; + uint64_t q3 = z30; + uint64_t q4 = z40; + FStar_UInt128_uint128 xy000 = FStar_UInt128_mul_wide(q0, mu0); + FStar_UInt128_uint128 xy010 = FStar_UInt128_mul_wide(q0, mu1); + FStar_UInt128_uint128 xy020 = FStar_UInt128_mul_wide(q0, mu2); + FStar_UInt128_uint128 xy030 = FStar_UInt128_mul_wide(q0, mu3); + FStar_UInt128_uint128 xy040 = FStar_UInt128_mul_wide(q0, mu4); + FStar_UInt128_uint128 xy100 = FStar_UInt128_mul_wide(q1, mu0); + FStar_UInt128_uint128 xy110 = FStar_UInt128_mul_wide(q1, mu1); + FStar_UInt128_uint128 xy120 = FStar_UInt128_mul_wide(q1, mu2); + FStar_UInt128_uint128 xy130 = FStar_UInt128_mul_wide(q1, mu3); + FStar_UInt128_uint128 xy14 = FStar_UInt128_mul_wide(q1, mu4); + FStar_UInt128_uint128 xy200 = FStar_UInt128_mul_wide(q2, mu0); + FStar_UInt128_uint128 xy210 = FStar_UInt128_mul_wide(q2, mu1); + FStar_UInt128_uint128 xy220 = FStar_UInt128_mul_wide(q2, mu2); + FStar_UInt128_uint128 xy23 = FStar_UInt128_mul_wide(q2, mu3); + FStar_UInt128_uint128 xy24 = FStar_UInt128_mul_wide(q2, mu4); + FStar_UInt128_uint128 xy300 = FStar_UInt128_mul_wide(q3, mu0); + FStar_UInt128_uint128 xy310 = FStar_UInt128_mul_wide(q3, mu1); + FStar_UInt128_uint128 xy32 = FStar_UInt128_mul_wide(q3, mu2); + FStar_UInt128_uint128 xy33 = FStar_UInt128_mul_wide(q3, mu3); + FStar_UInt128_uint128 xy34 = FStar_UInt128_mul_wide(q3, mu4); + FStar_UInt128_uint128 xy400 = FStar_UInt128_mul_wide(q4, mu0); + FStar_UInt128_uint128 xy41 = FStar_UInt128_mul_wide(q4, mu1); + FStar_UInt128_uint128 xy42 = FStar_UInt128_mul_wide(q4, mu2); + FStar_UInt128_uint128 xy43 = FStar_UInt128_mul_wide(q4, mu3); + FStar_UInt128_uint128 xy44 = FStar_UInt128_mul_wide(q4, mu4); + FStar_UInt128_uint128 z01 = xy000; + FStar_UInt128_uint128 z11 = FStar_UInt128_add_mod(xy010, xy100); + FStar_UInt128_uint128 z21 = FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy020, xy110), xy200); + FStar_UInt128_uint128 + z31 = + FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy030, xy120), xy210), + xy300); + FStar_UInt128_uint128 + z41 = + FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy040, + xy130), + xy220), + xy310), + xy400); + FStar_UInt128_uint128 + z5 = + FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy14, xy23), xy32), + xy41); + FStar_UInt128_uint128 z6 = FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy24, xy33), xy42); + FStar_UInt128_uint128 z7 = FStar_UInt128_add_mod(xy34, xy43); + FStar_UInt128_uint128 z8 = xy44; + FStar_UInt128_uint128 carry0 = FStar_UInt128_shift_right(z01, (uint32_t)56U); + FStar_UInt128_uint128 c00 = carry0; + FStar_UInt128_uint128 + carry1 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z11, c00), (uint32_t)56U); + FStar_UInt128_uint128 c10 = carry1; + FStar_UInt128_uint128 + carry2 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z21, c10), (uint32_t)56U); + FStar_UInt128_uint128 c20 = carry2; + FStar_UInt128_uint128 + carry3 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z31, c20), (uint32_t)56U); + FStar_UInt128_uint128 c30 = carry3; + FStar_UInt128_uint128 + carry4 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z41, c30), (uint32_t)56U); + uint64_t + t100 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z41, c30)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c40 = carry4; + uint64_t t410 = t100; + FStar_UInt128_uint128 + carry5 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z5, c40), (uint32_t)56U); + uint64_t + t101 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z5, c40)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c5 = carry5; + uint64_t t51 = t101; + FStar_UInt128_uint128 + carry6 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z6, c5), (uint32_t)56U); + uint64_t + t102 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z6, c5)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c6 = carry6; + uint64_t t61 = t102; + FStar_UInt128_uint128 + carry7 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z7, c6), (uint32_t)56U); + uint64_t + t103 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z7, c6)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c7 = carry7; + uint64_t t71 = t103; + FStar_UInt128_uint128 + carry8 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z8, c7), (uint32_t)56U); + uint64_t + t104 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z8, c7)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c8 = carry8; + uint64_t t81 = t104; + uint64_t t91 = FStar_UInt128_uint128_to_uint64(c8); + uint64_t qmu4_ = t410; + uint64_t qmu5_ = t51; + uint64_t qmu6_ = t61; + uint64_t qmu7_ = t71; + uint64_t qmu8_ = t81; + uint64_t qmu9_ = t91; + uint64_t y_4 = (qmu5_ & (uint64_t)0xffffffffffU) << (uint32_t)16U; + uint64_t x_4 = qmu4_ >> (uint32_t)40U; + uint64_t z02 = x_4 | y_4; + uint64_t y_5 = (qmu6_ & (uint64_t)0xffffffffffU) << (uint32_t)16U; + uint64_t x_5 = qmu5_ >> (uint32_t)40U; + uint64_t z12 = x_5 | y_5; + uint64_t y_6 = (qmu7_ & (uint64_t)0xffffffffffU) << (uint32_t)16U; + uint64_t x_6 = qmu6_ >> (uint32_t)40U; + uint64_t z22 = x_6 | y_6; + uint64_t y_7 = (qmu8_ & (uint64_t)0xffffffffffU) << (uint32_t)16U; + uint64_t x_7 = qmu7_ >> (uint32_t)40U; + uint64_t z32 = x_7 | y_7; + uint64_t y_8 = (qmu9_ & (uint64_t)0xffffffffffU) << (uint32_t)16U; + uint64_t x_8 = qmu8_ >> (uint32_t)40U; + uint64_t z42 = x_8 | y_8; + uint64_t qdiv0 = z02; + uint64_t qdiv1 = z12; + uint64_t qdiv2 = z22; + uint64_t qdiv3 = z32; + uint64_t qdiv4 = z42; + uint64_t r0 = t0; + uint64_t r1 = t1; + uint64_t r2 = t2; + uint64_t r3 = t3; + uint64_t r4 = t4 & (uint64_t)0xffffffffffU; + FStar_UInt128_uint128 xy00 = FStar_UInt128_mul_wide(qdiv0, m0); + FStar_UInt128_uint128 xy01 = FStar_UInt128_mul_wide(qdiv0, m1); + FStar_UInt128_uint128 xy02 = FStar_UInt128_mul_wide(qdiv0, m2); + FStar_UInt128_uint128 xy03 = FStar_UInt128_mul_wide(qdiv0, m3); + FStar_UInt128_uint128 xy04 = FStar_UInt128_mul_wide(qdiv0, m4); + FStar_UInt128_uint128 xy10 = FStar_UInt128_mul_wide(qdiv1, m0); + FStar_UInt128_uint128 xy11 = FStar_UInt128_mul_wide(qdiv1, m1); + FStar_UInt128_uint128 xy12 = FStar_UInt128_mul_wide(qdiv1, m2); + FStar_UInt128_uint128 xy13 = FStar_UInt128_mul_wide(qdiv1, m3); + FStar_UInt128_uint128 xy20 = FStar_UInt128_mul_wide(qdiv2, m0); + FStar_UInt128_uint128 xy21 = FStar_UInt128_mul_wide(qdiv2, m1); + FStar_UInt128_uint128 xy22 = FStar_UInt128_mul_wide(qdiv2, m2); + FStar_UInt128_uint128 xy30 = FStar_UInt128_mul_wide(qdiv3, m0); + FStar_UInt128_uint128 xy31 = FStar_UInt128_mul_wide(qdiv3, m1); + FStar_UInt128_uint128 xy40 = FStar_UInt128_mul_wide(qdiv4, m0); + FStar_UInt128_uint128 carry9 = FStar_UInt128_shift_right(xy00, (uint32_t)56U); + uint64_t t105 = FStar_UInt128_uint128_to_uint64(xy00) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c0 = carry9; + uint64_t t010 = t105; + FStar_UInt128_uint128 + carry10 = + FStar_UInt128_shift_right(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy01, xy10), c0), + (uint32_t)56U); + uint64_t + t106 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy01, xy10), c0)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c11 = carry10; + uint64_t t110 = t106; + FStar_UInt128_uint128 + carry11 = + FStar_UInt128_shift_right(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy02, + xy11), + xy20), + c11), + (uint32_t)56U); + uint64_t + t107 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy02, + xy11), + xy20), + c11)) & + (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c21 = carry11; + uint64_t t210 = t107; + FStar_UInt128_uint128 + carry = + FStar_UInt128_shift_right(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy03, + xy12), + xy21), + xy30), + c21), + (uint32_t)56U); + uint64_t + t108 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy03, + xy12), + xy21), + xy30), + c21)) & + (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c31 = carry; + uint64_t t310 = t108; + uint64_t + t411 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy04, + xy13), + xy22), + xy31), + xy40), + c31)) & + (uint64_t)0xffffffffffU; + uint64_t qmul0 = t010; + uint64_t qmul1 = t110; + uint64_t qmul2 = t210; + uint64_t qmul3 = t310; + uint64_t qmul4 = t411; + uint64_t b5 = (r0 - qmul0) >> (uint32_t)63U; + uint64_t t109 = (b5 << (uint32_t)56U) + r0 - qmul0; + uint64_t c1 = b5; + uint64_t t011 = t109; + uint64_t b6 = (r1 - (qmul1 + c1)) >> (uint32_t)63U; + uint64_t t1010 = (b6 << (uint32_t)56U) + r1 - (qmul1 + c1); + uint64_t c2 = b6; + uint64_t t111 = t1010; + uint64_t b7 = (r2 - (qmul2 + c2)) >> (uint32_t)63U; + uint64_t t1011 = (b7 << (uint32_t)56U) + r2 - (qmul2 + c2); + uint64_t c3 = b7; + uint64_t t211 = t1011; + uint64_t b8 = (r3 - (qmul3 + c3)) >> (uint32_t)63U; + uint64_t t1012 = (b8 << (uint32_t)56U) + r3 - (qmul3 + c3); + uint64_t c4 = b8; + uint64_t t311 = t1012; + uint64_t b9 = (r4 - (qmul4 + c4)) >> (uint32_t)63U; + uint64_t t1013 = (b9 << (uint32_t)40U) + r4 - (qmul4 + c4); + uint64_t t412 = t1013; + uint64_t s0 = t011; + uint64_t s1 = t111; + uint64_t s2 = t211; + uint64_t s3 = t311; + uint64_t s4 = t412; + uint64_t m01 = (uint64_t)0x12631a5cf5d3edU; + uint64_t m11 = (uint64_t)0xf9dea2f79cd658U; + uint64_t m21 = (uint64_t)0x000000000014deU; + uint64_t m31 = (uint64_t)0x00000000000000U; + uint64_t m41 = (uint64_t)0x00000010000000U; + uint64_t y0 = m01; + uint64_t y1 = m11; + uint64_t y2 = m21; + uint64_t y3 = m31; + uint64_t y4 = m41; + uint64_t b10 = (s0 - y0) >> (uint32_t)63U; + uint64_t t1014 = (b10 << (uint32_t)56U) + s0 - y0; + uint64_t b0 = b10; + uint64_t t01 = t1014; + uint64_t b11 = (s1 - (y1 + b0)) >> (uint32_t)63U; + uint64_t t1015 = (b11 << (uint32_t)56U) + s1 - (y1 + b0); + uint64_t b1 = b11; + uint64_t t11 = t1015; + uint64_t b12 = (s2 - (y2 + b1)) >> (uint32_t)63U; + uint64_t t1016 = (b12 << (uint32_t)56U) + s2 - (y2 + b1); + uint64_t b2 = b12; + uint64_t t21 = t1016; + uint64_t b13 = (s3 - (y3 + b2)) >> (uint32_t)63U; + uint64_t t1017 = (b13 << (uint32_t)56U) + s3 - (y3 + b2); + uint64_t b3 = b13; + uint64_t t31 = t1017; + uint64_t b = (s4 - (y4 + b3)) >> (uint32_t)63U; + uint64_t t10 = (b << (uint32_t)56U) + s4 - (y4 + b3); + uint64_t b4 = b; + uint64_t t41 = t10; + uint64_t mask = b4 - (uint64_t)1U; + uint64_t z03 = s0 ^ (mask & (s0 ^ t01)); + uint64_t z13 = s1 ^ (mask & (s1 ^ t11)); + uint64_t z23 = s2 ^ (mask & (s2 ^ t21)); + uint64_t z33 = s3 ^ (mask & (s3 ^ t31)); + uint64_t z43 = s4 ^ (mask & (s4 ^ t41)); + uint64_t z04 = z03; + uint64_t z14 = z13; + uint64_t z24 = z23; + uint64_t z34 = z33; + uint64_t z44 = z43; + uint64_t o0 = z04; + uint64_t o1 = z14; + uint64_t o2 = z24; + uint64_t o3 = z34; + uint64_t o4 = z44; + uint64_t z0 = o0; + uint64_t z1 = o1; + uint64_t z2 = o2; + uint64_t z3 = o3; + uint64_t z4 = o4; + z[0U] = z0; + z[1U] = z1; + z[2U] = z2; + z[3U] = z3; + z[4U] = z4; +} + +static inline void +mul_modq(uint64_t *out, uint64_t *x, uint64_t *y) +{ + uint64_t tmp[10U] = { 0U }; + uint64_t x0 = x[0U]; + uint64_t x1 = x[1U]; + uint64_t x2 = x[2U]; + uint64_t x3 = x[3U]; + uint64_t x4 = x[4U]; + uint64_t y0 = y[0U]; + uint64_t y1 = y[1U]; + uint64_t y2 = y[2U]; + uint64_t y3 = y[3U]; + uint64_t y4 = y[4U]; + FStar_UInt128_uint128 xy00 = FStar_UInt128_mul_wide(x0, y0); + FStar_UInt128_uint128 xy01 = FStar_UInt128_mul_wide(x0, y1); + FStar_UInt128_uint128 xy02 = FStar_UInt128_mul_wide(x0, y2); + FStar_UInt128_uint128 xy03 = FStar_UInt128_mul_wide(x0, y3); + FStar_UInt128_uint128 xy04 = FStar_UInt128_mul_wide(x0, y4); + FStar_UInt128_uint128 xy10 = FStar_UInt128_mul_wide(x1, y0); + FStar_UInt128_uint128 xy11 = FStar_UInt128_mul_wide(x1, y1); + FStar_UInt128_uint128 xy12 = FStar_UInt128_mul_wide(x1, y2); + FStar_UInt128_uint128 xy13 = FStar_UInt128_mul_wide(x1, y3); + FStar_UInt128_uint128 xy14 = FStar_UInt128_mul_wide(x1, y4); + FStar_UInt128_uint128 xy20 = FStar_UInt128_mul_wide(x2, y0); + FStar_UInt128_uint128 xy21 = FStar_UInt128_mul_wide(x2, y1); + FStar_UInt128_uint128 xy22 = FStar_UInt128_mul_wide(x2, y2); + FStar_UInt128_uint128 xy23 = FStar_UInt128_mul_wide(x2, y3); + FStar_UInt128_uint128 xy24 = FStar_UInt128_mul_wide(x2, y4); + FStar_UInt128_uint128 xy30 = FStar_UInt128_mul_wide(x3, y0); + FStar_UInt128_uint128 xy31 = FStar_UInt128_mul_wide(x3, y1); + FStar_UInt128_uint128 xy32 = FStar_UInt128_mul_wide(x3, y2); + FStar_UInt128_uint128 xy33 = FStar_UInt128_mul_wide(x3, y3); + FStar_UInt128_uint128 xy34 = FStar_UInt128_mul_wide(x3, y4); + FStar_UInt128_uint128 xy40 = FStar_UInt128_mul_wide(x4, y0); + FStar_UInt128_uint128 xy41 = FStar_UInt128_mul_wide(x4, y1); + FStar_UInt128_uint128 xy42 = FStar_UInt128_mul_wide(x4, y2); + FStar_UInt128_uint128 xy43 = FStar_UInt128_mul_wide(x4, y3); + FStar_UInt128_uint128 xy44 = FStar_UInt128_mul_wide(x4, y4); + FStar_UInt128_uint128 z00 = xy00; + FStar_UInt128_uint128 z10 = FStar_UInt128_add_mod(xy01, xy10); + FStar_UInt128_uint128 z20 = FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy02, xy11), xy20); + FStar_UInt128_uint128 + z30 = + FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy03, xy12), xy21), + xy30); + FStar_UInt128_uint128 + z40 = + FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy04, + xy13), + xy22), + xy31), + xy40); + FStar_UInt128_uint128 + z50 = + FStar_UInt128_add_mod(FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy14, xy23), xy32), + xy41); + FStar_UInt128_uint128 z60 = FStar_UInt128_add_mod(FStar_UInt128_add_mod(xy24, xy33), xy42); + FStar_UInt128_uint128 z70 = FStar_UInt128_add_mod(xy34, xy43); + FStar_UInt128_uint128 z80 = xy44; + FStar_UInt128_uint128 carry0 = FStar_UInt128_shift_right(z00, (uint32_t)56U); + uint64_t t10 = FStar_UInt128_uint128_to_uint64(z00) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c0 = carry0; + uint64_t t0 = t10; + FStar_UInt128_uint128 + carry1 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z10, c0), (uint32_t)56U); + uint64_t + t11 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z10, c0)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c1 = carry1; + uint64_t t1 = t11; + FStar_UInt128_uint128 + carry2 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z20, c1), (uint32_t)56U); + uint64_t + t12 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z20, c1)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c2 = carry2; + uint64_t t2 = t12; + FStar_UInt128_uint128 + carry3 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z30, c2), (uint32_t)56U); + uint64_t + t13 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z30, c2)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c3 = carry3; + uint64_t t3 = t13; + FStar_UInt128_uint128 + carry4 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z40, c3), (uint32_t)56U); + uint64_t + t14 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z40, c3)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c4 = carry4; + uint64_t t4 = t14; + FStar_UInt128_uint128 + carry5 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z50, c4), (uint32_t)56U); + uint64_t + t15 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z50, c4)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c5 = carry5; + uint64_t t5 = t15; + FStar_UInt128_uint128 + carry6 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z60, c5), (uint32_t)56U); + uint64_t + t16 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z60, c5)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c6 = carry6; + uint64_t t6 = t16; + FStar_UInt128_uint128 + carry7 = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z70, c6), (uint32_t)56U); + uint64_t + t17 = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z70, c6)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c7 = carry7; + uint64_t t7 = t17; + FStar_UInt128_uint128 + carry = FStar_UInt128_shift_right(FStar_UInt128_add_mod(z80, c7), (uint32_t)56U); + uint64_t + t = + FStar_UInt128_uint128_to_uint64(FStar_UInt128_add_mod(z80, c7)) & (uint64_t)0xffffffffffffffU; + FStar_UInt128_uint128 c8 = carry; + uint64_t t8 = t; + uint64_t t9 = FStar_UInt128_uint128_to_uint64(c8); + uint64_t z0 = t0; + uint64_t z1 = t1; + uint64_t z2 = t2; + uint64_t z3 = t3; + uint64_t z4 = t4; + uint64_t z5 = t5; + uint64_t z6 = t6; + uint64_t z7 = t7; + uint64_t z8 = t8; + uint64_t z9 = t9; + tmp[0U] = z0; + tmp[1U] = z1; + tmp[2U] = z2; + tmp[3U] = z3; + tmp[4U] = z4; + tmp[5U] = z5; + tmp[6U] = z6; + tmp[7U] = z7; + tmp[8U] = z8; + tmp[9U] = z9; + barrett_reduction(out, tmp); +} + +static inline void +add_modq(uint64_t *out, uint64_t *x, uint64_t *y) +{ + uint64_t x0 = x[0U]; + uint64_t x1 = x[1U]; + uint64_t x2 = x[2U]; + uint64_t x3 = x[3U]; + uint64_t x4 = x[4U]; + uint64_t y0 = y[0U]; + uint64_t y1 = y[1U]; + uint64_t y2 = y[2U]; + uint64_t y3 = y[3U]; + uint64_t y4 = y[4U]; + uint64_t carry0 = (x0 + y0) >> (uint32_t)56U; + uint64_t t0 = (x0 + y0) & (uint64_t)0xffffffffffffffU; + uint64_t t00 = t0; + uint64_t c0 = carry0; + uint64_t carry1 = (x1 + y1 + c0) >> (uint32_t)56U; + uint64_t t1 = (x1 + y1 + c0) & (uint64_t)0xffffffffffffffU; + uint64_t t10 = t1; + uint64_t c1 = carry1; + uint64_t carry2 = (x2 + y2 + c1) >> (uint32_t)56U; + uint64_t t2 = (x2 + y2 + c1) & (uint64_t)0xffffffffffffffU; + uint64_t t20 = t2; + uint64_t c2 = carry2; + uint64_t carry = (x3 + y3 + c2) >> (uint32_t)56U; + uint64_t t3 = (x3 + y3 + c2) & (uint64_t)0xffffffffffffffU; + uint64_t t30 = t3; + uint64_t c3 = carry; + uint64_t t4 = x4 + y4 + c3; + uint64_t m0 = (uint64_t)0x12631a5cf5d3edU; + uint64_t m1 = (uint64_t)0xf9dea2f79cd658U; + uint64_t m2 = (uint64_t)0x000000000014deU; + uint64_t m3 = (uint64_t)0x00000000000000U; + uint64_t m4 = (uint64_t)0x00000010000000U; + uint64_t y01 = m0; + uint64_t y11 = m1; + uint64_t y21 = m2; + uint64_t y31 = m3; + uint64_t y41 = m4; + uint64_t b5 = (t00 - y01) >> (uint32_t)63U; + uint64_t t5 = (b5 << (uint32_t)56U) + t00 - y01; + uint64_t b0 = b5; + uint64_t t01 = t5; + uint64_t b6 = (t10 - (y11 + b0)) >> (uint32_t)63U; + uint64_t t6 = (b6 << (uint32_t)56U) + t10 - (y11 + b0); + uint64_t b1 = b6; + uint64_t t11 = t6; + uint64_t b7 = (t20 - (y21 + b1)) >> (uint32_t)63U; + uint64_t t7 = (b7 << (uint32_t)56U) + t20 - (y21 + b1); + uint64_t b2 = b7; + uint64_t t21 = t7; + uint64_t b8 = (t30 - (y31 + b2)) >> (uint32_t)63U; + uint64_t t8 = (b8 << (uint32_t)56U) + t30 - (y31 + b2); + uint64_t b3 = b8; + uint64_t t31 = t8; + uint64_t b = (t4 - (y41 + b3)) >> (uint32_t)63U; + uint64_t t = (b << (uint32_t)56U) + t4 - (y41 + b3); + uint64_t b4 = b; + uint64_t t41 = t; + uint64_t mask = b4 - (uint64_t)1U; + uint64_t z00 = t00 ^ (mask & (t00 ^ t01)); + uint64_t z10 = t10 ^ (mask & (t10 ^ t11)); + uint64_t z20 = t20 ^ (mask & (t20 ^ t21)); + uint64_t z30 = t30 ^ (mask & (t30 ^ t31)); + uint64_t z40 = t4 ^ (mask & (t4 ^ t41)); + uint64_t z01 = z00; + uint64_t z11 = z10; + uint64_t z21 = z20; + uint64_t z31 = z30; + uint64_t z41 = z40; + uint64_t o0 = z01; + uint64_t o1 = z11; + uint64_t o2 = z21; + uint64_t o3 = z31; + uint64_t o4 = z41; + uint64_t z0 = o0; + uint64_t z1 = o1; + uint64_t z2 = o2; + uint64_t z3 = o3; + uint64_t z4 = o4; + out[0U] = z0; + out[1U] = z1; + out[2U] = z2; + out[3U] = z3; + out[4U] = z4; +} + +static inline bool +gte_q(uint64_t *s) +{ + uint64_t s0 = s[0U]; + uint64_t s1 = s[1U]; + uint64_t s2 = s[2U]; + uint64_t s3 = s[3U]; + uint64_t s4 = s[4U]; + if (s4 > (uint64_t)0x00000010000000U) { + return true; + } + if (s4 < (uint64_t)0x00000010000000U) { + return false; + } + if (s3 > (uint64_t)0x00000000000000U) { + return true; + } + if (s2 > (uint64_t)0x000000000014deU) { + return true; + } + if (s2 < (uint64_t)0x000000000014deU) { + return false; + } + if (s1 > (uint64_t)0xf9dea2f79cd658U) { + return true; + } + if (s1 < (uint64_t)0xf9dea2f79cd658U) { + return false; + } + if (s0 >= (uint64_t)0x12631a5cf5d3edU) { + return true; + } + return false; +} + +static inline bool +eq(uint64_t *a, uint64_t *b) +{ + uint64_t a0 = a[0U]; + uint64_t a1 = a[1U]; + uint64_t a2 = a[2U]; + uint64_t a3 = a[3U]; + uint64_t a4 = a[4U]; + uint64_t b0 = b[0U]; + uint64_t b1 = b[1U]; + uint64_t b2 = b[2U]; + uint64_t b3 = b[3U]; + uint64_t b4 = b[4U]; + return a0 == b0 && a1 == b1 && a2 == b2 && a3 == b3 && a4 == b4; +} + +bool +Hacl_Impl_Ed25519_PointEqual_point_equal(uint64_t *p, uint64_t *q) +{ + uint64_t tmp[20U] = { 0U }; + uint64_t *pxqz = tmp; + uint64_t *qxpz = tmp + (uint32_t)5U; + fmul0(pxqz, p, q + (uint32_t)10U); + reduce(pxqz); + fmul0(qxpz, q, p + (uint32_t)10U); + reduce(qxpz); + bool b = eq(pxqz, qxpz); + if (b) { + uint64_t *pyqz = tmp + (uint32_t)10U; + uint64_t *qypz = tmp + (uint32_t)15U; + fmul0(pyqz, p + (uint32_t)5U, q + (uint32_t)10U); + reduce(pyqz); + fmul0(qypz, q + (uint32_t)5U, p + (uint32_t)10U); + reduce(qypz); + return eq(pyqz, qypz); + } + return false; +} + +void +Hacl_Impl_Ed25519_PointNegate_point_negate(uint64_t *p, uint64_t *out) +{ + uint64_t zero[5U] = { 0U }; + zero[0U] = (uint64_t)0U; + zero[1U] = (uint64_t)0U; + zero[2U] = (uint64_t)0U; + zero[3U] = (uint64_t)0U; + zero[4U] = (uint64_t)0U; + uint64_t *x = p; + uint64_t *y = p + (uint32_t)5U; + uint64_t *z = p + (uint32_t)10U; + uint64_t *t = p + (uint32_t)15U; + uint64_t *x1 = out; + uint64_t *y1 = out + (uint32_t)5U; + uint64_t *z1 = out + (uint32_t)10U; + uint64_t *t1 = out + (uint32_t)15U; + fdifference(x1, zero, x); + Hacl_Bignum25519_reduce_513(x1); + memcpy(y1, y, (uint32_t)5U * sizeof(uint64_t)); + memcpy(z1, z, (uint32_t)5U * sizeof(uint64_t)); + fdifference(t1, zero, t); + Hacl_Bignum25519_reduce_513(t1); +} + +void +Hacl_Impl_Ed25519_Ladder_point_mul(uint64_t *out, uint8_t *scalar, uint64_t *q) +{ + uint64_t bscalar[4U] = { 0U }; + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + uint64_t *os = bscalar; + uint8_t *bj = scalar + i * (uint32_t)8U; + uint64_t u = load64_le(bj); + uint64_t r = u; + uint64_t x = r; + os[i] = x;); + uint64_t table[320U] = { 0U }; + uint64_t tmp[20U] = { 0U }; + uint64_t *t0 = table; + uint64_t *t1 = table + (uint32_t)20U; + Hacl_Impl_Ed25519_PointConstants_make_point_inf(t0); + memcpy(t1, q, (uint32_t)20U * sizeof(uint64_t)); + KRML_MAYBE_FOR7(i, + (uint32_t)0U, + (uint32_t)7U, + (uint32_t)1U, + uint64_t *t11 = table + (i + (uint32_t)1U) * (uint32_t)20U; + Hacl_Impl_Ed25519_PointDouble_point_double(tmp, t11); + memcpy(table + ((uint32_t)2U * i + (uint32_t)2U) * (uint32_t)20U, + tmp, + (uint32_t)20U * sizeof(uint64_t)); + uint64_t *t2 = table + ((uint32_t)2U * i + (uint32_t)2U) * (uint32_t)20U; + Hacl_Impl_Ed25519_PointAdd_point_add(tmp, q, t2); + memcpy(table + ((uint32_t)2U * i + (uint32_t)3U) * (uint32_t)20U, + tmp, + (uint32_t)20U * sizeof(uint64_t));); + Hacl_Impl_Ed25519_PointConstants_make_point_inf(out); + uint64_t tmp0[20U] = { 0U }; + for (uint32_t i0 = (uint32_t)0U; i0 < (uint32_t)64U; i0++) { + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + Hacl_Impl_Ed25519_PointDouble_point_double(out, out);); + uint32_t k = (uint32_t)256U - (uint32_t)4U * i0 - (uint32_t)4U; + uint64_t bits_l = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)4U, bscalar, k, (uint32_t)4U); + memcpy(tmp0, (uint64_t *)table, (uint32_t)20U * sizeof(uint64_t)); + KRML_MAYBE_FOR15( + i1, + (uint32_t)0U, + (uint32_t)15U, + (uint32_t)1U, + uint64_t c = FStar_UInt64_eq_mask(bits_l, (uint64_t)(i1 + (uint32_t)1U)); + const uint64_t *res_j = table + (i1 + (uint32_t)1U) * (uint32_t)20U; + for (uint32_t i = (uint32_t)0U; i < (uint32_t)20U; i++) { + uint64_t *os = tmp0; + uint64_t x = (c & res_j[i]) | (~c & tmp0[i]); + os[i] = x; + }); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp0); + } +} + +static inline void +precomp_get_consttime(const uint64_t *table, uint64_t bits_l, uint64_t *tmp) +{ + memcpy(tmp, (uint64_t *)table, (uint32_t)20U * sizeof(uint64_t)); + KRML_MAYBE_FOR15( + i0, + (uint32_t)0U, + (uint32_t)15U, + (uint32_t)1U, + uint64_t c = FStar_UInt64_eq_mask(bits_l, (uint64_t)(i0 + (uint32_t)1U)); + const uint64_t *res_j = table + (i0 + (uint32_t)1U) * (uint32_t)20U; + for (uint32_t i = (uint32_t)0U; i < (uint32_t)20U; i++) { + uint64_t *os = tmp; + uint64_t x = (c & res_j[i]) | (~c & tmp[i]); + os[i] = x; + }); +} + +static inline void +point_mul_g(uint64_t *out, uint8_t *scalar) +{ + uint64_t bscalar[4U] = { 0U }; + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + uint64_t *os = bscalar; + uint8_t *bj = scalar + i * (uint32_t)8U; + uint64_t u = load64_le(bj); + uint64_t r = u; + uint64_t x = r; + os[i] = x;); + uint64_t q1[20U] = { 0U }; + uint64_t *gx = q1; + uint64_t *gy = q1 + (uint32_t)5U; + uint64_t *gz = q1 + (uint32_t)10U; + uint64_t *gt = q1 + (uint32_t)15U; + gx[0U] = (uint64_t)0x00062d608f25d51aU; + gx[1U] = (uint64_t)0x000412a4b4f6592aU; + gx[2U] = (uint64_t)0x00075b7171a4b31dU; + gx[3U] = (uint64_t)0x0001ff60527118feU; + gx[4U] = (uint64_t)0x000216936d3cd6e5U; + gy[0U] = (uint64_t)0x0006666666666658U; + gy[1U] = (uint64_t)0x0004ccccccccccccU; + gy[2U] = (uint64_t)0x0001999999999999U; + gy[3U] = (uint64_t)0x0003333333333333U; + gy[4U] = (uint64_t)0x0006666666666666U; + gz[0U] = (uint64_t)1U; + gz[1U] = (uint64_t)0U; + gz[2U] = (uint64_t)0U; + gz[3U] = (uint64_t)0U; + gz[4U] = (uint64_t)0U; + gt[0U] = (uint64_t)0x00068ab3a5b7dda3U; + gt[1U] = (uint64_t)0x00000eea2a5eadbbU; + gt[2U] = (uint64_t)0x0002af8df483c27eU; + gt[3U] = (uint64_t)0x000332b375274732U; + gt[4U] = (uint64_t)0x00067875f0fd78b7U; + uint64_t + q2[20U] = { + (uint64_t)13559344787725U, (uint64_t)2051621493703448U, (uint64_t)1947659315640708U, + (uint64_t)626856790370168U, (uint64_t)1592804284034836U, (uint64_t)1781728767459187U, + (uint64_t)278818420518009U, (uint64_t)2038030359908351U, (uint64_t)910625973862690U, + (uint64_t)471887343142239U, (uint64_t)1298543306606048U, (uint64_t)794147365642417U, + (uint64_t)129968992326749U, (uint64_t)523140861678572U, (uint64_t)1166419653909231U, + (uint64_t)2009637196928390U, (uint64_t)1288020222395193U, (uint64_t)1007046974985829U, + (uint64_t)208981102651386U, (uint64_t)2074009315253380U + }; + uint64_t + q3[20U] = { + (uint64_t)557549315715710U, (uint64_t)196756086293855U, (uint64_t)846062225082495U, + (uint64_t)1865068224838092U, (uint64_t)991112090754908U, (uint64_t)522916421512828U, + (uint64_t)2098523346722375U, (uint64_t)1135633221747012U, (uint64_t)858420432114866U, + (uint64_t)186358544306082U, (uint64_t)1044420411868480U, (uint64_t)2080052304349321U, + (uint64_t)557301814716724U, (uint64_t)1305130257814057U, (uint64_t)2126012765451197U, + (uint64_t)1441004402875101U, (uint64_t)353948968859203U, (uint64_t)470765987164835U, + (uint64_t)1507675957683570U, (uint64_t)1086650358745097U + }; + uint64_t + q4[20U] = { + (uint64_t)1129953239743101U, (uint64_t)1240339163956160U, (uint64_t)61002583352401U, + (uint64_t)2017604552196030U, (uint64_t)1576867829229863U, (uint64_t)1508654942849389U, + (uint64_t)270111619664077U, (uint64_t)1253097517254054U, (uint64_t)721798270973250U, + (uint64_t)161923365415298U, (uint64_t)828530877526011U, (uint64_t)1494851059386763U, + (uint64_t)662034171193976U, (uint64_t)1315349646974670U, (uint64_t)2199229517308806U, + (uint64_t)497078277852673U, (uint64_t)1310507715989956U, (uint64_t)1881315714002105U, + (uint64_t)2214039404983803U, (uint64_t)1331036420272667U + }; + uint64_t *r1 = bscalar; + uint64_t *r2 = bscalar + (uint32_t)1U; + uint64_t *r3 = bscalar + (uint32_t)2U; + uint64_t *r4 = bscalar + (uint32_t)3U; + Hacl_Impl_Ed25519_PointConstants_make_point_inf(out); + uint64_t tmp[20U] = { 0U }; + KRML_MAYBE_FOR16(i, + (uint32_t)0U, + (uint32_t)16U, + (uint32_t)1U, + KRML_MAYBE_FOR4(i0, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + Hacl_Impl_Ed25519_PointDouble_point_double(out, out);); + uint32_t k = (uint32_t)64U - (uint32_t)4U * i - (uint32_t)4U; + uint64_t bits_l = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)1U, r4, k, (uint32_t)4U); + precomp_get_consttime(Hacl_Ed25519_PrecompTable_precomp_g_pow2_192_table_w4, bits_l, tmp); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp); + uint32_t k0 = (uint32_t)64U - (uint32_t)4U * i - (uint32_t)4U; + uint64_t bits_l0 = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)1U, r3, k0, (uint32_t)4U); + precomp_get_consttime(Hacl_Ed25519_PrecompTable_precomp_g_pow2_128_table_w4, bits_l0, tmp); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp); + uint32_t k1 = (uint32_t)64U - (uint32_t)4U * i - (uint32_t)4U; + uint64_t bits_l1 = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)1U, r2, k1, (uint32_t)4U); + precomp_get_consttime(Hacl_Ed25519_PrecompTable_precomp_g_pow2_64_table_w4, bits_l1, tmp); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp); + uint32_t k2 = (uint32_t)64U - (uint32_t)4U * i - (uint32_t)4U; + uint64_t bits_l2 = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)1U, r1, k2, (uint32_t)4U); + precomp_get_consttime(Hacl_Ed25519_PrecompTable_precomp_basepoint_table_w4, bits_l2, tmp); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp);); + KRML_HOST_IGNORE(q2); + KRML_HOST_IGNORE(q3); + KRML_HOST_IGNORE(q4); +} + +static inline void +point_mul_g_double_vartime(uint64_t *out, uint8_t *scalar1, uint8_t *scalar2, uint64_t *q2) +{ + uint64_t tmp[28U] = { 0U }; + uint64_t *g = tmp; + uint64_t *bscalar1 = tmp + (uint32_t)20U; + uint64_t *bscalar2 = tmp + (uint32_t)24U; + uint64_t *gx = g; + uint64_t *gy = g + (uint32_t)5U; + uint64_t *gz = g + (uint32_t)10U; + uint64_t *gt = g + (uint32_t)15U; + gx[0U] = (uint64_t)0x00062d608f25d51aU; + gx[1U] = (uint64_t)0x000412a4b4f6592aU; + gx[2U] = (uint64_t)0x00075b7171a4b31dU; + gx[3U] = (uint64_t)0x0001ff60527118feU; + gx[4U] = (uint64_t)0x000216936d3cd6e5U; + gy[0U] = (uint64_t)0x0006666666666658U; + gy[1U] = (uint64_t)0x0004ccccccccccccU; + gy[2U] = (uint64_t)0x0001999999999999U; + gy[3U] = (uint64_t)0x0003333333333333U; + gy[4U] = (uint64_t)0x0006666666666666U; + gz[0U] = (uint64_t)1U; + gz[1U] = (uint64_t)0U; + gz[2U] = (uint64_t)0U; + gz[3U] = (uint64_t)0U; + gz[4U] = (uint64_t)0U; + gt[0U] = (uint64_t)0x00068ab3a5b7dda3U; + gt[1U] = (uint64_t)0x00000eea2a5eadbbU; + gt[2U] = (uint64_t)0x0002af8df483c27eU; + gt[3U] = (uint64_t)0x000332b375274732U; + gt[4U] = (uint64_t)0x00067875f0fd78b7U; + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + uint64_t *os = bscalar1; + uint8_t *bj = scalar1 + i * (uint32_t)8U; + uint64_t u = load64_le(bj); + uint64_t r = u; + uint64_t x = r; + os[i] = x;); + KRML_MAYBE_FOR4(i, + (uint32_t)0U, + (uint32_t)4U, + (uint32_t)1U, + uint64_t *os = bscalar2; + uint8_t *bj = scalar2 + i * (uint32_t)8U; + uint64_t u = load64_le(bj); + uint64_t r = u; + uint64_t x = r; + os[i] = x;); + uint64_t table2[640U] = { 0U }; + uint64_t tmp1[20U] = { 0U }; + uint64_t *t0 = table2; + uint64_t *t1 = table2 + (uint32_t)20U; + Hacl_Impl_Ed25519_PointConstants_make_point_inf(t0); + memcpy(t1, q2, (uint32_t)20U * sizeof(uint64_t)); + KRML_MAYBE_FOR15(i, + (uint32_t)0U, + (uint32_t)15U, + (uint32_t)1U, + uint64_t *t11 = table2 + (i + (uint32_t)1U) * (uint32_t)20U; + Hacl_Impl_Ed25519_PointDouble_point_double(tmp1, t11); + memcpy(table2 + ((uint32_t)2U * i + (uint32_t)2U) * (uint32_t)20U, + tmp1, + (uint32_t)20U * sizeof(uint64_t)); + uint64_t *t2 = table2 + ((uint32_t)2U * i + (uint32_t)2U) * (uint32_t)20U; + Hacl_Impl_Ed25519_PointAdd_point_add(tmp1, q2, t2); + memcpy(table2 + ((uint32_t)2U * i + (uint32_t)3U) * (uint32_t)20U, + tmp1, + (uint32_t)20U * sizeof(uint64_t));); + uint64_t tmp10[20U] = { 0U }; + uint32_t i0 = (uint32_t)255U; + uint64_t bits_c = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)4U, bscalar1, i0, (uint32_t)5U); + uint32_t bits_l32 = (uint32_t)bits_c; + const uint64_t + *a_bits_l = Hacl_Ed25519_PrecompTable_precomp_basepoint_table_w5 + bits_l32 * (uint32_t)20U; + memcpy(out, (uint64_t *)a_bits_l, (uint32_t)20U * sizeof(uint64_t)); + uint32_t i1 = (uint32_t)255U; + uint64_t bits_c0 = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)4U, bscalar2, i1, (uint32_t)5U); + uint32_t bits_l320 = (uint32_t)bits_c0; + const uint64_t *a_bits_l0 = table2 + bits_l320 * (uint32_t)20U; + memcpy(tmp10, (uint64_t *)a_bits_l0, (uint32_t)20U * sizeof(uint64_t)); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp10); + uint64_t tmp11[20U] = { 0U }; + for (uint32_t i = (uint32_t)0U; i < (uint32_t)51U; i++) { + KRML_MAYBE_FOR5(i2, + (uint32_t)0U, + (uint32_t)5U, + (uint32_t)1U, + Hacl_Impl_Ed25519_PointDouble_point_double(out, out);); + uint32_t k = (uint32_t)255U - (uint32_t)5U * i - (uint32_t)5U; + uint64_t bits_l = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)4U, bscalar2, k, (uint32_t)5U); + uint32_t bits_l321 = (uint32_t)bits_l; + const uint64_t *a_bits_l1 = table2 + bits_l321 * (uint32_t)20U; + memcpy(tmp11, (uint64_t *)a_bits_l1, (uint32_t)20U * sizeof(uint64_t)); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp11); + uint32_t k0 = (uint32_t)255U - (uint32_t)5U * i - (uint32_t)5U; + uint64_t bits_l0 = Hacl_Bignum_Lib_bn_get_bits_u64((uint32_t)4U, bscalar1, k0, (uint32_t)5U); + uint32_t bits_l322 = (uint32_t)bits_l0; + const uint64_t + *a_bits_l2 = Hacl_Ed25519_PrecompTable_precomp_basepoint_table_w5 + bits_l322 * (uint32_t)20U; + memcpy(tmp11, (uint64_t *)a_bits_l2, (uint32_t)20U * sizeof(uint64_t)); + Hacl_Impl_Ed25519_PointAdd_point_add(out, out, tmp11); + } +} + +static inline void +point_negate_mul_double_g_vartime( + uint64_t *out, + uint8_t *scalar1, + uint8_t *scalar2, + uint64_t *q2) +{ + uint64_t q2_neg[20U] = { 0U }; + Hacl_Impl_Ed25519_PointNegate_point_negate(q2, q2_neg); + point_mul_g_double_vartime(out, scalar1, scalar2, q2_neg); +} + +static inline void +store_56(uint8_t *out, uint64_t *b) +{ + uint64_t b0 = b[0U]; + uint64_t b1 = b[1U]; + uint64_t b2 = b[2U]; + uint64_t b3 = b[3U]; + uint64_t b4 = b[4U]; + uint32_t b4_ = (uint32_t)b4; + uint8_t *b8 = out; + store64_le(b8, b0); + uint8_t *b80 = out + (uint32_t)7U; + store64_le(b80, b1); + uint8_t *b81 = out + (uint32_t)14U; + store64_le(b81, b2); + uint8_t *b82 = out + (uint32_t)21U; + store64_le(b82, b3); + store32_le(out + (uint32_t)28U, b4_); +} + +static inline void +load_64_bytes(uint64_t *out, uint8_t *b) +{ + uint8_t *b80 = b; + uint64_t u = load64_le(b80); + uint64_t z = u; + uint64_t b0 = z & (uint64_t)0xffffffffffffffU; + uint8_t *b81 = b + (uint32_t)7U; + uint64_t u0 = load64_le(b81); + uint64_t z0 = u0; + uint64_t b1 = z0 & (uint64_t)0xffffffffffffffU; + uint8_t *b82 = b + (uint32_t)14U; + uint64_t u1 = load64_le(b82); + uint64_t z1 = u1; + uint64_t b2 = z1 & (uint64_t)0xffffffffffffffU; + uint8_t *b83 = b + (uint32_t)21U; + uint64_t u2 = load64_le(b83); + uint64_t z2 = u2; + uint64_t b3 = z2 & (uint64_t)0xffffffffffffffU; + uint8_t *b84 = b + (uint32_t)28U; + uint64_t u3 = load64_le(b84); + uint64_t z3 = u3; + uint64_t b4 = z3 & (uint64_t)0xffffffffffffffU; + uint8_t *b85 = b + (uint32_t)35U; + uint64_t u4 = load64_le(b85); + uint64_t z4 = u4; + uint64_t b5 = z4 & (uint64_t)0xffffffffffffffU; + uint8_t *b86 = b + (uint32_t)42U; + uint64_t u5 = load64_le(b86); + uint64_t z5 = u5; + uint64_t b6 = z5 & (uint64_t)0xffffffffffffffU; + uint8_t *b87 = b + (uint32_t)49U; + uint64_t u6 = load64_le(b87); + uint64_t z6 = u6; + uint64_t b7 = z6 & (uint64_t)0xffffffffffffffU; + uint8_t *b8 = b + (uint32_t)56U; + uint64_t u7 = load64_le(b8); + uint64_t z7 = u7; + uint64_t b88 = z7 & (uint64_t)0xffffffffffffffU; + uint8_t b63 = b[63U]; + uint64_t b9 = (uint64_t)b63; + out[0U] = b0; + out[1U] = b1; + out[2U] = b2; + out[3U] = b3; + out[4U] = b4; + out[5U] = b5; + out[6U] = b6; + out[7U] = b7; + out[8U] = b88; + out[9U] = b9; +} + +static inline void +load_32_bytes(uint64_t *out, uint8_t *b) +{ + uint8_t *b80 = b; + uint64_t u0 = load64_le(b80); + uint64_t z = u0; + uint64_t b0 = z & (uint64_t)0xffffffffffffffU; + uint8_t *b81 = b + (uint32_t)7U; + uint64_t u1 = load64_le(b81); + uint64_t z0 = u1; + uint64_t b1 = z0 & (uint64_t)0xffffffffffffffU; + uint8_t *b82 = b + (uint32_t)14U; + uint64_t u2 = load64_le(b82); + uint64_t z1 = u2; + uint64_t b2 = z1 & (uint64_t)0xffffffffffffffU; + uint8_t *b8 = b + (uint32_t)21U; + uint64_t u3 = load64_le(b8); + uint64_t z2 = u3; + uint64_t b3 = z2 & (uint64_t)0xffffffffffffffU; + uint32_t u = load32_le(b + (uint32_t)28U); + uint32_t b4 = u; + uint64_t b41 = (uint64_t)b4; + out[0U] = b0; + out[1U] = b1; + out[2U] = b2; + out[3U] = b3; + out[4U] = b41; +} + +static inline void +sha512_modq_pre(uint64_t *out, uint8_t *prefix, uint32_t len, uint8_t *input) +{ + uint64_t tmp[10U] = { 0U }; + uint8_t hash[64U] = { 0U }; + sha512_pre_msg(hash, prefix, len, input); + load_64_bytes(tmp, hash); + barrett_reduction(out, tmp); +} + +static inline void +sha512_modq_pre_pre2( + uint64_t *out, + uint8_t *prefix, + uint8_t *prefix2, + uint32_t len, + uint8_t *input) +{ + uint64_t tmp[10U] = { 0U }; + uint8_t hash[64U] = { 0U }; + sha512_pre_pre2_msg(hash, prefix, prefix2, len, input); + load_64_bytes(tmp, hash); + barrett_reduction(out, tmp); +} + +static inline void +point_mul_g_compress(uint8_t *out, uint8_t *s) +{ + uint64_t tmp[20U] = { 0U }; + point_mul_g(tmp, s); + Hacl_Impl_Ed25519_PointCompress_point_compress(out, tmp); +} + +static inline void +secret_expand(uint8_t *expanded, uint8_t *secret) +{ + Hacl_Streaming_SHA2_hash_512(secret, (uint32_t)32U, expanded); + uint8_t *h_low = expanded; + uint8_t h_low0 = h_low[0U]; + uint8_t h_low31 = h_low[31U]; + h_low[0U] = h_low0 & (uint8_t)0xf8U; + h_low[31U] = (h_low31 & (uint8_t)127U) | (uint8_t)64U; +} + +/******************************************************************************** + Verified C library for EdDSA signing and verification on the edwards25519 curve. +********************************************************************************/ + +/** +Compute the public key from the private key. + + The outparam `public_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + The argument `private_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. +*/ +void +Hacl_Ed25519_secret_to_public(uint8_t *public_key, uint8_t *private_key) +{ + uint8_t expanded_secret[64U] = { 0U }; + secret_expand(expanded_secret, private_key); + uint8_t *a = expanded_secret; + point_mul_g_compress(public_key, a); +} + +/** +Compute the expanded keys for an Ed25519 signature. + + The outparam `expanded_keys` points to 96 bytes of valid memory, i.e., uint8_t[96]. + The argument `private_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + + If one needs to sign several messages under the same private key, it is more efficient + to call `expand_keys` only once and `sign_expanded` multiple times, for each message. +*/ +void +Hacl_Ed25519_expand_keys(uint8_t *expanded_keys, uint8_t *private_key) +{ + uint8_t *public_key = expanded_keys; + uint8_t *s_prefix = expanded_keys + (uint32_t)32U; + uint8_t *s = expanded_keys + (uint32_t)32U; + secret_expand(s_prefix, private_key); + point_mul_g_compress(public_key, s); +} + +/** +Create an Ed25519 signature with the (precomputed) expanded keys. + + The outparam `signature` points to 64 bytes of valid memory, i.e., uint8_t[64]. + The argument `expanded_keys` points to 96 bytes of valid memory, i.e., uint8_t[96]. + The argument `msg` points to `msg_len` bytes of valid memory, i.e., uint8_t[msg_len]. + + The argument `expanded_keys` is obtained through `expand_keys`. + + If one needs to sign several messages under the same private key, it is more efficient + to call `expand_keys` only once and `sign_expanded` multiple times, for each message. +*/ +void +Hacl_Ed25519_sign_expanded( + uint8_t *signature, + uint8_t *expanded_keys, + uint32_t msg_len, + uint8_t *msg) +{ + uint8_t *rs = signature; + uint8_t *ss = signature + (uint32_t)32U; + uint64_t rq[5U] = { 0U }; + uint64_t hq[5U] = { 0U }; + uint8_t rb[32U] = { 0U }; + uint8_t *public_key = expanded_keys; + uint8_t *s = expanded_keys + (uint32_t)32U; + uint8_t *prefix = expanded_keys + (uint32_t)64U; + sha512_modq_pre(rq, prefix, msg_len, msg); + store_56(rb, rq); + point_mul_g_compress(rs, rb); + sha512_modq_pre_pre2(hq, rs, public_key, msg_len, msg); + uint64_t aq[5U] = { 0U }; + load_32_bytes(aq, s); + mul_modq(aq, hq, aq); + add_modq(aq, rq, aq); + store_56(ss, aq); +} + +/** +Create an Ed25519 signature. + + The outparam `signature` points to 64 bytes of valid memory, i.e., uint8_t[64]. + The argument `private_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + The argument `msg` points to `msg_len` bytes of valid memory, i.e., uint8_t[msg_len]. + + The function first calls `expand_keys` and then invokes `sign_expanded`. + + If one needs to sign several messages under the same private key, it is more efficient + to call `expand_keys` only once and `sign_expanded` multiple times, for each message. +*/ +void +Hacl_Ed25519_sign(uint8_t *signature, uint8_t *private_key, uint32_t msg_len, uint8_t *msg) +{ + uint8_t expanded_keys[96U] = { 0U }; + Hacl_Ed25519_expand_keys(expanded_keys, private_key); + Hacl_Ed25519_sign_expanded(signature, expanded_keys, msg_len, msg); +} + +/** +Verify an Ed25519 signature. + + The function returns `true` if the signature is valid and `false` otherwise. + + The argument `public_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + The argument `msg` points to `msg_len` bytes of valid memory, i.e., uint8_t[msg_len]. + The argument `signature` points to 64 bytes of valid memory, i.e., uint8_t[64]. +*/ +bool +Hacl_Ed25519_verify(uint8_t *public_key, uint32_t msg_len, uint8_t *msg, uint8_t *signature) +{ + uint64_t a_[20U] = { 0U }; + bool b = Hacl_Impl_Ed25519_PointDecompress_point_decompress(a_, public_key); + if (b) { + uint64_t r_[20U] = { 0U }; + uint8_t *rs = signature; + bool b_ = Hacl_Impl_Ed25519_PointDecompress_point_decompress(r_, rs); + if (b_) { + uint8_t hb[32U] = { 0U }; + uint8_t *rs1 = signature; + uint8_t *sb = signature + (uint32_t)32U; + uint64_t tmp[5U] = { 0U }; + load_32_bytes(tmp, sb); + bool b1 = gte_q(tmp); + bool b10 = b1; + if (b10) { + return false; + } + uint64_t tmp0[5U] = { 0U }; + sha512_modq_pre_pre2(tmp0, rs1, public_key, msg_len, msg); + store_56(hb, tmp0); + uint64_t exp_d[20U] = { 0U }; + point_negate_mul_double_g_vartime(exp_d, sb, hb, a_); + bool b2 = Hacl_Impl_Ed25519_PointEqual_point_equal(exp_d, r_); + return b2; + } + return false; + } + return false; +} diff --git a/security/nss/lib/freebl/verified/Hacl_Ed25519.h b/security/nss/lib/freebl/verified/Hacl_Ed25519.h new file mode 100644 index 0000000000..7d6f87dff2 --- /dev/null +++ b/security/nss/lib/freebl/verified/Hacl_Ed25519.h @@ -0,0 +1,114 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * 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. + */ + +#ifndef __Hacl_Ed25519_H +#define __Hacl_Ed25519_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#include <string.h> +#include "krml/internal/types.h" +#include "krml/lowstar_endianness.h" +#include "krml/internal/target.h" + +#include "Hacl_Streaming_Types.h" +#include "Hacl_Krmllib.h" + +/******************************************************************************** + Verified C library for EdDSA signing and verification on the edwards25519 curve. +********************************************************************************/ + +/** +Compute the public key from the private key. + + The outparam `public_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + The argument `private_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. +*/ +void Hacl_Ed25519_secret_to_public(uint8_t *public_key, uint8_t *private_key); + +/** +Compute the expanded keys for an Ed25519 signature. + + The outparam `expanded_keys` points to 96 bytes of valid memory, i.e., uint8_t[96]. + The argument `private_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + + If one needs to sign several messages under the same private key, it is more efficient + to call `expand_keys` only once and `sign_expanded` multiple times, for each message. +*/ +void Hacl_Ed25519_expand_keys(uint8_t *expanded_keys, uint8_t *private_key); + +/** +Create an Ed25519 signature with the (precomputed) expanded keys. + + The outparam `signature` points to 64 bytes of valid memory, i.e., uint8_t[64]. + The argument `expanded_keys` points to 96 bytes of valid memory, i.e., uint8_t[96]. + The argument `msg` points to `msg_len` bytes of valid memory, i.e., uint8_t[msg_len]. + + The argument `expanded_keys` is obtained through `expand_keys`. + + If one needs to sign several messages under the same private key, it is more efficient + to call `expand_keys` only once and `sign_expanded` multiple times, for each message. +*/ +void +Hacl_Ed25519_sign_expanded( + uint8_t *signature, + uint8_t *expanded_keys, + uint32_t msg_len, + uint8_t *msg); + +/** +Create an Ed25519 signature. + + The outparam `signature` points to 64 bytes of valid memory, i.e., uint8_t[64]. + The argument `private_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + The argument `msg` points to `msg_len` bytes of valid memory, i.e., uint8_t[msg_len]. + + The function first calls `expand_keys` and then invokes `sign_expanded`. + + If one needs to sign several messages under the same private key, it is more efficient + to call `expand_keys` only once and `sign_expanded` multiple times, for each message. +*/ +void +Hacl_Ed25519_sign(uint8_t *signature, uint8_t *private_key, uint32_t msg_len, uint8_t *msg); + +/** +Verify an Ed25519 signature. + + The function returns `true` if the signature is valid and `false` otherwise. + + The argument `public_key` points to 32 bytes of valid memory, i.e., uint8_t[32]. + The argument `msg` points to `msg_len` bytes of valid memory, i.e., uint8_t[msg_len]. + The argument `signature` points to 64 bytes of valid memory, i.e., uint8_t[64]. +*/ +bool +Hacl_Ed25519_verify(uint8_t *public_key, uint32_t msg_len, uint8_t *msg, uint8_t *signature); + +#if defined(__cplusplus) +} +#endif + +#define __Hacl_Ed25519_H_DEFINED +#endif diff --git a/security/nss/lib/freebl/verified/Hacl_Hash_SHA3.c b/security/nss/lib/freebl/verified/Hacl_Hash_SHA3.c index 3cd1091267..8fb5a86dbb 100644 --- a/security/nss/lib/freebl/verified/Hacl_Hash_SHA3.c +++ b/security/nss/lib/freebl/verified/Hacl_Hash_SHA3.c @@ -105,10 +105,9 @@ Hacl_Hash_SHA3_update_last_sha3( uint32_t len = block_len(a); if (input_len == len) { Hacl_Impl_SHA3_absorb_inner(len, input, s); - uint8_t *uu____0 = input + input_len; uint8_t lastBlock_[200U] = { 0U }; uint8_t *lastBlock = lastBlock_; - memcpy(lastBlock, uu____0, (uint32_t)0U * sizeof(uint8_t)); + memcpy(lastBlock, input + input_len, (uint32_t)0U * sizeof(uint8_t)); lastBlock[0U] = suffix; Hacl_Impl_SHA3_loadState(len, lastBlock, s); if (!((suffix & (uint8_t)0x80U) == (uint8_t)0U) && (uint32_t)0U == len - (uint32_t)1U) { @@ -144,8 +143,7 @@ typedef struct hash_buf2_s { Spec_Hash_Definitions_hash_alg Hacl_Streaming_Keccak_get_alg(Hacl_Streaming_Keccak_state *s) { - Hacl_Streaming_Keccak_state scrut = *s; - Hacl_Streaming_Keccak_hash_buf block_state = scrut.block_state; + Hacl_Streaming_Keccak_hash_buf block_state = (*s).block_state; return block_state.fst; } @@ -706,6 +704,7 @@ Hacl_Impl_SHA3_keccak( uint32_t outputByteLen, uint8_t *output) { + KRML_HOST_IGNORE(capacity); uint32_t rateInBytes = rate / (uint32_t)8U; uint64_t s[25U] = { 0U }; absorb(s, rateInBytes, inputByteLen, input, delimitedSuffix); diff --git a/security/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h b/security/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h index c3e86ca512..162dd66edf 100644 --- a/security/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h +++ b/security/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h @@ -84,6 +84,7 @@ Hacl_Impl_Curve25519_Field51_fmul( uint64_t *f2, FStar_UInt128_uint128 *uu___) { + KRML_HOST_IGNORE(uu___); uint64_t f10 = f1[0U]; uint64_t f11 = f1[1U]; uint64_t f12 = f1[2U]; @@ -166,6 +167,7 @@ Hacl_Impl_Curve25519_Field51_fmul2( uint64_t *f2, FStar_UInt128_uint128 *uu___) { + KRML_HOST_IGNORE(uu___); uint64_t f10 = f1[0U]; uint64_t f11 = f1[1U]; uint64_t f12 = f1[2U]; @@ -371,6 +373,7 @@ Hacl_Impl_Curve25519_Field51_fmul1(uint64_t *out, uint64_t *f1, uint64_t f2) static inline void Hacl_Impl_Curve25519_Field51_fsqr(uint64_t *out, uint64_t *f, FStar_UInt128_uint128 *uu___) { + KRML_HOST_IGNORE(uu___); uint64_t f0 = f[0U]; uint64_t f1 = f[1U]; uint64_t f2 = f[2U]; @@ -446,6 +449,7 @@ Hacl_Impl_Curve25519_Field51_fsqr(uint64_t *out, uint64_t *f, FStar_UInt128_uint static inline void Hacl_Impl_Curve25519_Field51_fsqr2(uint64_t *out, uint64_t *f, FStar_UInt128_uint128 *uu___) { + KRML_HOST_IGNORE(uu___); uint64_t f10 = f[0U]; uint64_t f11 = f[1U]; uint64_t f12 = f[2U]; diff --git a/security/nss/lib/freebl/verified/internal/Hacl_Ed25519.h b/security/nss/lib/freebl/verified/internal/Hacl_Ed25519.h new file mode 100644 index 0000000000..ad36672b92 --- /dev/null +++ b/security/nss/lib/freebl/verified/internal/Hacl_Ed25519.h @@ -0,0 +1,73 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * 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. + */ + +#ifndef __internal_Hacl_Ed25519_H +#define __internal_Hacl_Ed25519_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#include <string.h> +#include "krml/internal/types.h" +#include "krml/lowstar_endianness.h" +#include "krml/internal/target.h" + +#include "internal/Hacl_Krmllib.h" +#include "internal/Hacl_Ed25519_PrecompTable.h" +#include "internal/Hacl_Curve25519_51.h" +#include "internal/Hacl_Bignum_Base.h" +#include "internal/Hacl_Bignum25519_51.h" +#include "../Hacl_Ed25519.h" + +void Hacl_Bignum25519_reduce_513(uint64_t *a); + +void Hacl_Bignum25519_inverse(uint64_t *out, uint64_t *a); + +void Hacl_Bignum25519_load_51(uint64_t *output, uint8_t *input); + +void Hacl_Bignum25519_store_51(uint8_t *output, uint64_t *input); + +void Hacl_Impl_Ed25519_PointDouble_point_double(uint64_t *out, uint64_t *p); + +void Hacl_Impl_Ed25519_PointAdd_point_add(uint64_t *out, uint64_t *p, uint64_t *q); + +void Hacl_Impl_Ed25519_PointConstants_make_point_inf(uint64_t *b); + +bool Hacl_Impl_Ed25519_PointDecompress_point_decompress(uint64_t *out, uint8_t *s); + +void Hacl_Impl_Ed25519_PointCompress_point_compress(uint8_t *z, uint64_t *p); + +bool Hacl_Impl_Ed25519_PointEqual_point_equal(uint64_t *p, uint64_t *q); + +void Hacl_Impl_Ed25519_PointNegate_point_negate(uint64_t *p, uint64_t *out); + +void Hacl_Impl_Ed25519_Ladder_point_mul(uint64_t *out, uint8_t *scalar, uint64_t *q); + +#if defined(__cplusplus) +} +#endif + +#define __internal_Hacl_Ed25519_H_DEFINED +#endif diff --git a/security/nss/lib/freebl/verified/internal/Hacl_Ed25519_PrecompTable.h b/security/nss/lib/freebl/verified/internal/Hacl_Ed25519_PrecompTable.h new file mode 100644 index 0000000000..fe852f31a9 --- /dev/null +++ b/security/nss/lib/freebl/verified/internal/Hacl_Ed25519_PrecompTable.h @@ -0,0 +1,687 @@ +/* MIT License + * + * Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation + * Copyright (c) 2022-2023 HACL* Contributors + * + * 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. + */ + +#ifndef __internal_Hacl_Ed25519_PrecompTable_H +#define __internal_Hacl_Ed25519_PrecompTable_H + +#if defined(__cplusplus) +extern "C" { +#endif + +#include <string.h> +#include "krml/internal/types.h" +#include "krml/lowstar_endianness.h" +#include "krml/internal/target.h" + +static const uint64_t + Hacl_Ed25519_PrecompTable_precomp_basepoint_table_w4[320U] = { + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)1738742601995546U, (uint64_t)1146398526822698U, + (uint64_t)2070867633025821U, (uint64_t)562264141797630U, (uint64_t)587772402128613U, + (uint64_t)1801439850948184U, (uint64_t)1351079888211148U, (uint64_t)450359962737049U, + (uint64_t)900719925474099U, (uint64_t)1801439850948198U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1841354044333475U, + (uint64_t)16398895984059U, (uint64_t)755974180946558U, (uint64_t)900171276175154U, + (uint64_t)1821297809914039U, (uint64_t)1661154287933054U, (uint64_t)284530020860578U, + (uint64_t)1390261174866914U, (uint64_t)1524110943907984U, (uint64_t)1045603498418422U, + (uint64_t)928651508580478U, (uint64_t)1383326941296346U, (uint64_t)961937908925785U, + (uint64_t)80455759693706U, (uint64_t)904734540352947U, (uint64_t)1507481815385608U, + (uint64_t)2223447444246085U, (uint64_t)1083941587175919U, (uint64_t)2059929906842505U, + (uint64_t)1581435440146976U, (uint64_t)782730187692425U, (uint64_t)9928394897574U, + (uint64_t)1539449519985236U, (uint64_t)1923587931078510U, (uint64_t)552919286076056U, + (uint64_t)376925408065760U, (uint64_t)447320488831784U, (uint64_t)1362918338468019U, + (uint64_t)1470031896696846U, (uint64_t)2189796996539902U, (uint64_t)1337552949959847U, + (uint64_t)1762287177775726U, (uint64_t)237994495816815U, (uint64_t)1277840395970544U, + (uint64_t)543972849007241U, (uint64_t)1224692671618814U, (uint64_t)162359533289271U, + (uint64_t)282240927125249U, (uint64_t)586909166382289U, (uint64_t)17726488197838U, + (uint64_t)377014554985659U, (uint64_t)1433835303052512U, (uint64_t)702061469493692U, + (uint64_t)1142253108318154U, (uint64_t)318297794307551U, (uint64_t)954362646308543U, + (uint64_t)517363881452320U, (uint64_t)1868013482130416U, (uint64_t)262562472373260U, + (uint64_t)902232853249919U, (uint64_t)2107343057055746U, (uint64_t)462368348619024U, + (uint64_t)1893758677092974U, (uint64_t)2177729767846389U, (uint64_t)2168532543559143U, + (uint64_t)443867094639821U, (uint64_t)730169342581022U, (uint64_t)1564589016879755U, + (uint64_t)51218195700649U, (uint64_t)76684578423745U, (uint64_t)560266272480743U, + (uint64_t)922517457707697U, (uint64_t)2066645939860874U, (uint64_t)1318277348414638U, + (uint64_t)1576726809084003U, (uint64_t)1817337608563665U, (uint64_t)1874240939237666U, + (uint64_t)754733726333910U, (uint64_t)97085310406474U, (uint64_t)751148364309235U, + (uint64_t)1622159695715187U, (uint64_t)1444098819684916U, (uint64_t)130920805558089U, + (uint64_t)1260449179085308U, (uint64_t)1860021740768461U, (uint64_t)110052860348509U, + (uint64_t)193830891643810U, (uint64_t)164148413933881U, (uint64_t)180017794795332U, + (uint64_t)1523506525254651U, (uint64_t)465981629225956U, (uint64_t)559733514964572U, + (uint64_t)1279624874416974U, (uint64_t)2026642326892306U, (uint64_t)1425156829982409U, + (uint64_t)2160936383793147U, (uint64_t)1061870624975247U, (uint64_t)2023497043036941U, + (uint64_t)117942212883190U, (uint64_t)490339622800774U, (uint64_t)1729931303146295U, + (uint64_t)422305932971074U, (uint64_t)529103152793096U, (uint64_t)1211973233775992U, + (uint64_t)721364955929681U, (uint64_t)1497674430438813U, (uint64_t)342545521275073U, + (uint64_t)2102107575279372U, (uint64_t)2108462244669966U, (uint64_t)1382582406064082U, + (uint64_t)2206396818383323U, (uint64_t)2109093268641147U, (uint64_t)10809845110983U, + (uint64_t)1605176920880099U, (uint64_t)744640650753946U, (uint64_t)1712758897518129U, + (uint64_t)373410811281809U, (uint64_t)648838265800209U, (uint64_t)813058095530999U, + (uint64_t)513987632620169U, (uint64_t)465516160703329U, (uint64_t)2136322186126330U, + (uint64_t)1979645899422932U, (uint64_t)1197131006470786U, (uint64_t)1467836664863979U, + (uint64_t)1340751381374628U, (uint64_t)1810066212667962U, (uint64_t)1009933588225499U, + (uint64_t)1106129188080873U, (uint64_t)1388980405213901U, (uint64_t)533719246598044U, + (uint64_t)1169435803073277U, (uint64_t)198920999285821U, (uint64_t)487492330629854U, + (uint64_t)1807093008537778U, (uint64_t)1540899012923865U, (uint64_t)2075080271659867U, + (uint64_t)1527990806921523U, (uint64_t)1323728742908002U, (uint64_t)1568595959608205U, + (uint64_t)1388032187497212U, (uint64_t)2026968840050568U, (uint64_t)1396591153295755U, + (uint64_t)820416950170901U, (uint64_t)520060313205582U, (uint64_t)2016404325094901U, + (uint64_t)1584709677868520U, (uint64_t)272161374469956U, (uint64_t)1567188603996816U, + (uint64_t)1986160530078221U, (uint64_t)553930264324589U, (uint64_t)1058426729027503U, + (uint64_t)8762762886675U, (uint64_t)2216098143382988U, (uint64_t)1835145266889223U, + (uint64_t)1712936431558441U, (uint64_t)1017009937844974U, (uint64_t)585361667812740U, + (uint64_t)2114711541628181U, (uint64_t)2238729632971439U, (uint64_t)121257546253072U, + (uint64_t)847154149018345U, (uint64_t)211972965476684U, (uint64_t)287499084460129U, + (uint64_t)2098247259180197U, (uint64_t)839070411583329U, (uint64_t)339551619574372U, + (uint64_t)1432951287640743U, (uint64_t)526481249498942U, (uint64_t)931991661905195U, + (uint64_t)1884279965674487U, (uint64_t)200486405604411U, (uint64_t)364173020594788U, + (uint64_t)518034455936955U, (uint64_t)1085564703965501U, (uint64_t)16030410467927U, + (uint64_t)604865933167613U, (uint64_t)1695298441093964U, (uint64_t)498856548116159U, + (uint64_t)2193030062787034U, (uint64_t)1706339802964179U, (uint64_t)1721199073493888U, + (uint64_t)820740951039755U, (uint64_t)1216053436896834U, (uint64_t)23954895815139U, + (uint64_t)1662515208920491U, (uint64_t)1705443427511899U, (uint64_t)1957928899570365U, + (uint64_t)1189636258255725U, (uint64_t)1795695471103809U, (uint64_t)1691191297654118U, + (uint64_t)282402585374360U, (uint64_t)460405330264832U, (uint64_t)63765529445733U, + (uint64_t)469763447404473U, (uint64_t)733607089694996U, (uint64_t)685410420186959U, + (uint64_t)1096682630419738U, (uint64_t)1162548510542362U, (uint64_t)1020949526456676U, + (uint64_t)1211660396870573U, (uint64_t)613126398222696U, (uint64_t)1117829165843251U, + (uint64_t)742432540886650U, (uint64_t)1483755088010658U, (uint64_t)942392007134474U, + (uint64_t)1447834130944107U, (uint64_t)489368274863410U, (uint64_t)23192985544898U, + (uint64_t)648442406146160U, (uint64_t)785438843373876U, (uint64_t)249464684645238U, + (uint64_t)170494608205618U, (uint64_t)335112827260550U, (uint64_t)1462050123162735U, + (uint64_t)1084803668439016U, (uint64_t)853459233600325U, (uint64_t)215777728187495U, + (uint64_t)1965759433526974U, (uint64_t)1349482894446537U, (uint64_t)694163317612871U, + (uint64_t)860536766165036U, (uint64_t)1178788094084321U, (uint64_t)1652739626626996U, + (uint64_t)2115723946388185U, (uint64_t)1577204379094664U, (uint64_t)1083882859023240U, + (uint64_t)1768759143381635U, (uint64_t)1737180992507258U, (uint64_t)246054513922239U, + (uint64_t)577253134087234U, (uint64_t)356340280578042U, (uint64_t)1638917769925142U, + (uint64_t)223550348130103U, (uint64_t)470592666638765U, (uint64_t)22663573966996U, + (uint64_t)596552461152400U, (uint64_t)364143537069499U, (uint64_t)3942119457699U, + (uint64_t)107951982889287U, (uint64_t)1843471406713209U, (uint64_t)1625773041610986U, + (uint64_t)1466141092501702U, (uint64_t)1043024095021271U, (uint64_t)310429964047508U, + (uint64_t)98559121500372U, (uint64_t)152746933782868U, (uint64_t)259407205078261U, + (uint64_t)828123093322585U, (uint64_t)1576847274280091U, (uint64_t)1170871375757302U, + (uint64_t)1588856194642775U, (uint64_t)984767822341977U, (uint64_t)1141497997993760U, + (uint64_t)809325345150796U, (uint64_t)1879837728202511U, (uint64_t)201340910657893U, + (uint64_t)1079157558888483U, (uint64_t)1052373448588065U, (uint64_t)1732036202501778U, + (uint64_t)2105292670328445U, (uint64_t)679751387312402U, (uint64_t)1679682144926229U, + (uint64_t)1695823455818780U, (uint64_t)498852317075849U, (uint64_t)1786555067788433U, + (uint64_t)1670727545779425U, (uint64_t)117945875433544U, (uint64_t)407939139781844U, + (uint64_t)854632120023778U, (uint64_t)1413383148360437U, (uint64_t)286030901733673U, + (uint64_t)1207361858071196U, (uint64_t)461340408181417U, (uint64_t)1096919590360164U, + (uint64_t)1837594897475685U, (uint64_t)533755561544165U, (uint64_t)1638688042247712U, + (uint64_t)1431653684793005U, (uint64_t)1036458538873559U, (uint64_t)390822120341779U, + (uint64_t)1920929837111618U, (uint64_t)543426740024168U, (uint64_t)645751357799929U, + (uint64_t)2245025632994463U, (uint64_t)1550778638076452U, (uint64_t)223738153459949U, + (uint64_t)1337209385492033U, (uint64_t)1276967236456531U, (uint64_t)1463815821063071U, + (uint64_t)2070620870191473U, (uint64_t)1199170709413753U, (uint64_t)273230877394166U, + (uint64_t)1873264887608046U, (uint64_t)890877152910775U + }; + +static const uint64_t + Hacl_Ed25519_PrecompTable_precomp_g_pow2_64_table_w4[320U] = { + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)13559344787725U, (uint64_t)2051621493703448U, + (uint64_t)1947659315640708U, (uint64_t)626856790370168U, (uint64_t)1592804284034836U, + (uint64_t)1781728767459187U, (uint64_t)278818420518009U, (uint64_t)2038030359908351U, + (uint64_t)910625973862690U, (uint64_t)471887343142239U, (uint64_t)1298543306606048U, + (uint64_t)794147365642417U, (uint64_t)129968992326749U, (uint64_t)523140861678572U, + (uint64_t)1166419653909231U, (uint64_t)2009637196928390U, (uint64_t)1288020222395193U, + (uint64_t)1007046974985829U, (uint64_t)208981102651386U, (uint64_t)2074009315253380U, + (uint64_t)1564056062071967U, (uint64_t)276822668750618U, (uint64_t)206621292512572U, + (uint64_t)470304361809269U, (uint64_t)895215438398493U, (uint64_t)1527859053868686U, + (uint64_t)1624967223409369U, (uint64_t)811821865979736U, (uint64_t)350450534838340U, + (uint64_t)219143807921807U, (uint64_t)507994540371254U, (uint64_t)986513794574720U, + (uint64_t)1142661369967121U, (uint64_t)621278293399257U, (uint64_t)556189161519781U, + (uint64_t)351964007865066U, (uint64_t)2011573453777822U, (uint64_t)1367125527151537U, + (uint64_t)1691316722438196U, (uint64_t)731328817345164U, (uint64_t)1284781192709232U, + (uint64_t)478439299539269U, (uint64_t)204842178076429U, (uint64_t)2085125369913651U, + (uint64_t)1980773492792985U, (uint64_t)1480264409524940U, (uint64_t)688389585376233U, + (uint64_t)612962643526972U, (uint64_t)165595382536676U, (uint64_t)1850300069212263U, + (uint64_t)1176357203491551U, (uint64_t)1880164984292321U, (uint64_t)10786153104736U, + (uint64_t)1242293560510203U, (uint64_t)1358399951884084U, (uint64_t)1901358796610357U, + (uint64_t)1385092558795806U, (uint64_t)1734893785311348U, (uint64_t)2046201851951191U, + (uint64_t)1233811309557352U, (uint64_t)1531160168656129U, (uint64_t)1543287181303358U, + (uint64_t)516121446374119U, (uint64_t)723422668089935U, (uint64_t)1228176774959679U, + (uint64_t)1598014722726267U, (uint64_t)1630810326658412U, (uint64_t)1343833067463760U, + (uint64_t)1024397964362099U, (uint64_t)1157142161346781U, (uint64_t)56422174971792U, + (uint64_t)544901687297092U, (uint64_t)1291559028869009U, (uint64_t)1336918672345120U, + (uint64_t)1390874603281353U, (uint64_t)1127199512010904U, (uint64_t)992644979940964U, + (uint64_t)1035213479783573U, (uint64_t)36043651196100U, (uint64_t)1220961519321221U, + (uint64_t)1348190007756977U, (uint64_t)579420200329088U, (uint64_t)1703819961008985U, + (uint64_t)1993919213460047U, (uint64_t)2225080008232251U, (uint64_t)392785893702372U, + (uint64_t)464312521482632U, (uint64_t)1224525362116057U, (uint64_t)810394248933036U, + (uint64_t)932513521649107U, (uint64_t)592314953488703U, (uint64_t)586334603791548U, + (uint64_t)1310888126096549U, (uint64_t)650842674074281U, (uint64_t)1596447001791059U, + (uint64_t)2086767406328284U, (uint64_t)1866377645879940U, (uint64_t)1721604362642743U, + (uint64_t)738502322566890U, (uint64_t)1851901097729689U, (uint64_t)1158347571686914U, + (uint64_t)2023626733470827U, (uint64_t)329625404653699U, (uint64_t)563555875598551U, + (uint64_t)516554588079177U, (uint64_t)1134688306104598U, (uint64_t)186301198420809U, + (uint64_t)1339952213563300U, (uint64_t)643605614625891U, (uint64_t)1947505332718043U, + (uint64_t)1722071694852824U, (uint64_t)601679570440694U, (uint64_t)1821275721236351U, + (uint64_t)1808307842870389U, (uint64_t)1654165204015635U, (uint64_t)1457334100715245U, + (uint64_t)217784948678349U, (uint64_t)1820622417674817U, (uint64_t)1946121178444661U, + (uint64_t)597980757799332U, (uint64_t)1745271227710764U, (uint64_t)2010952890941980U, + (uint64_t)339811849696648U, (uint64_t)1066120666993872U, (uint64_t)261276166508990U, + (uint64_t)323098645774553U, (uint64_t)207454744271283U, (uint64_t)941448672977675U, + (uint64_t)71890920544375U, (uint64_t)840849789313357U, (uint64_t)1223996070717926U, + (uint64_t)196832550853408U, (uint64_t)115986818309231U, (uint64_t)1586171527267675U, + (uint64_t)1666169080973450U, (uint64_t)1456454731176365U, (uint64_t)44467854369003U, + (uint64_t)2149656190691480U, (uint64_t)283446383597589U, (uint64_t)2040542647729974U, + (uint64_t)305705593840224U, (uint64_t)475315822269791U, (uint64_t)648133452550632U, + (uint64_t)169218658835720U, (uint64_t)24960052338251U, (uint64_t)938907951346766U, + (uint64_t)425970950490510U, (uint64_t)1037622011013183U, (uint64_t)1026882082708180U, + (uint64_t)1635699409504916U, (uint64_t)1644776942870488U, (uint64_t)2151820331175914U, + (uint64_t)824120674069819U, (uint64_t)835744976610113U, (uint64_t)1991271032313190U, + (uint64_t)96507354724855U, (uint64_t)400645405133260U, (uint64_t)343728076650825U, + (uint64_t)1151585441385566U, (uint64_t)1403339955333520U, (uint64_t)230186314139774U, + (uint64_t)1736248861506714U, (uint64_t)1010804378904572U, (uint64_t)1394932289845636U, + (uint64_t)1901351256960852U, (uint64_t)2187471430089807U, (uint64_t)1003853262342670U, + (uint64_t)1327743396767461U, (uint64_t)1465160415991740U, (uint64_t)366625359144534U, + (uint64_t)1534791405247604U, (uint64_t)1790905930250187U, (uint64_t)1255484115292738U, + (uint64_t)2223291365520443U, (uint64_t)210967717407408U, (uint64_t)26722916813442U, + (uint64_t)1919574361907910U, (uint64_t)468825088280256U, (uint64_t)2230011775946070U, + (uint64_t)1628365642214479U, (uint64_t)568871869234932U, (uint64_t)1066987968780488U, + (uint64_t)1692242903745558U, (uint64_t)1678903997328589U, (uint64_t)214262165888021U, + (uint64_t)1929686748607204U, (uint64_t)1790138967989670U, (uint64_t)1790261616022076U, + (uint64_t)1559824537553112U, (uint64_t)1230364591311358U, (uint64_t)147531939886346U, + (uint64_t)1528207085815487U, (uint64_t)477957922927292U, (uint64_t)285670243881618U, + (uint64_t)264430080123332U, (uint64_t)1163108160028611U, (uint64_t)373201522147371U, + (uint64_t)34903775270979U, (uint64_t)1750870048600662U, (uint64_t)1319328308741084U, + (uint64_t)1547548634278984U, (uint64_t)1691259592202927U, (uint64_t)2247758037259814U, + (uint64_t)329611399953677U, (uint64_t)1385555496268877U, (uint64_t)2242438354031066U, + (uint64_t)1329523854843632U, (uint64_t)399895373846055U, (uint64_t)678005703193452U, + (uint64_t)1496357700997771U, (uint64_t)71909969781942U, (uint64_t)1515391418612349U, + (uint64_t)470110837888178U, (uint64_t)1981307309417466U, (uint64_t)1259888737412276U, + (uint64_t)669991710228712U, (uint64_t)1048546834514303U, (uint64_t)1678323291295512U, + (uint64_t)2172033978088071U, (uint64_t)1529278455500556U, (uint64_t)901984601941894U, + (uint64_t)780867622403807U, (uint64_t)550105677282793U, (uint64_t)975860231176136U, + (uint64_t)525188281689178U, (uint64_t)49966114807992U, (uint64_t)1776449263836645U, + (uint64_t)267851776380338U, (uint64_t)2225969494054620U, (uint64_t)2016794225789822U, + (uint64_t)1186108678266608U, (uint64_t)1023083271408882U, (uint64_t)1119289418565906U, + (uint64_t)1248185897348801U, (uint64_t)1846081539082697U, (uint64_t)23756429626075U, + (uint64_t)1441999021105403U, (uint64_t)724497586552825U, (uint64_t)1287761623605379U, + (uint64_t)685303359654224U, (uint64_t)2217156930690570U, (uint64_t)163769288918347U, + (uint64_t)1098423278284094U, (uint64_t)1391470723006008U, (uint64_t)570700152353516U, + (uint64_t)744804507262556U, (uint64_t)2200464788609495U, (uint64_t)624141899161992U, + (uint64_t)2249570166275684U, (uint64_t)378706441983561U, (uint64_t)122486379999375U, + (uint64_t)430741162798924U, (uint64_t)113847463452574U, (uint64_t)266250457840685U, + (uint64_t)2120743625072743U, (uint64_t)222186221043927U, (uint64_t)1964290018305582U, + (uint64_t)1435278008132477U, (uint64_t)1670867456663734U, (uint64_t)2009989552599079U, + (uint64_t)1348024113448744U, (uint64_t)1158423886300455U, (uint64_t)1356467152691569U, + (uint64_t)306943042363674U, (uint64_t)926879628664255U, (uint64_t)1349295689598324U, + (uint64_t)725558330071205U, (uint64_t)536569987519948U, (uint64_t)116436990335366U, + (uint64_t)1551888573800376U, (uint64_t)2044698345945451U, (uint64_t)104279940291311U, + (uint64_t)251526570943220U, (uint64_t)754735828122925U, (uint64_t)33448073576361U, + (uint64_t)994605876754543U, (uint64_t)546007584022006U, (uint64_t)2217332798409487U, + (uint64_t)706477052561591U, (uint64_t)131174619428653U, (uint64_t)2148698284087243U, + (uint64_t)239290486205186U, (uint64_t)2161325796952184U, (uint64_t)1713452845607994U, + (uint64_t)1297861562938913U, (uint64_t)1779539876828514U, (uint64_t)1926559018603871U, + (uint64_t)296485747893968U, (uint64_t)1859208206640686U, (uint64_t)538513979002718U, + (uint64_t)103998826506137U, (uint64_t)2025375396538469U, (uint64_t)1370680785701206U, + (uint64_t)1698557311253840U, (uint64_t)1411096399076595U, (uint64_t)2132580530813677U, + (uint64_t)2071564345845035U, (uint64_t)498581428556735U, (uint64_t)1136010486691371U, + (uint64_t)1927619356993146U + }; + +static const uint64_t + Hacl_Ed25519_PrecompTable_precomp_g_pow2_128_table_w4[320U] = { + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)557549315715710U, (uint64_t)196756086293855U, + (uint64_t)846062225082495U, (uint64_t)1865068224838092U, (uint64_t)991112090754908U, + (uint64_t)522916421512828U, (uint64_t)2098523346722375U, (uint64_t)1135633221747012U, + (uint64_t)858420432114866U, (uint64_t)186358544306082U, (uint64_t)1044420411868480U, + (uint64_t)2080052304349321U, (uint64_t)557301814716724U, (uint64_t)1305130257814057U, + (uint64_t)2126012765451197U, (uint64_t)1441004402875101U, (uint64_t)353948968859203U, + (uint64_t)470765987164835U, (uint64_t)1507675957683570U, (uint64_t)1086650358745097U, + (uint64_t)1911913434398388U, (uint64_t)66086091117182U, (uint64_t)1137511952425971U, + (uint64_t)36958263512141U, (uint64_t)2193310025325256U, (uint64_t)1085191426269045U, + (uint64_t)1232148267909446U, (uint64_t)1449894406170117U, (uint64_t)1241416717139557U, + (uint64_t)1940876999212868U, (uint64_t)829758415918121U, (uint64_t)309608450373449U, + (uint64_t)2228398547683851U, (uint64_t)1580623271960188U, (uint64_t)1675601502456740U, + (uint64_t)1360363115493548U, (uint64_t)1098397313096815U, (uint64_t)1809255384359797U, + (uint64_t)1458261916834384U, (uint64_t)210682545649705U, (uint64_t)1606836641068115U, + (uint64_t)1230478270405318U, (uint64_t)1843192771547802U, (uint64_t)1794596343564051U, + (uint64_t)229060710252162U, (uint64_t)2169742775467181U, (uint64_t)701467067318072U, + (uint64_t)696018499035555U, (uint64_t)521051885339807U, (uint64_t)158329567901874U, + (uint64_t)740426481832143U, (uint64_t)1369811177301441U, (uint64_t)503351589084015U, + (uint64_t)1781114827942261U, (uint64_t)1650493549693035U, (uint64_t)2174562418345156U, + (uint64_t)456517194809244U, (uint64_t)2052761522121179U, (uint64_t)2233342271123682U, + (uint64_t)1445872925177435U, (uint64_t)1131882576902813U, (uint64_t)220765848055241U, + (uint64_t)1280259961403769U, (uint64_t)1581497080160712U, (uint64_t)1477441080108824U, + (uint64_t)218428165202767U, (uint64_t)1970598141278907U, (uint64_t)643366736173069U, + (uint64_t)2167909426804014U, (uint64_t)834993711408259U, (uint64_t)1922437166463212U, + (uint64_t)1900036281472252U, (uint64_t)513794844386304U, (uint64_t)1297904164900114U, + (uint64_t)1147626295373268U, (uint64_t)1910101606251299U, (uint64_t)182933838633381U, + (uint64_t)806229530787362U, (uint64_t)155511666433200U, (uint64_t)290522463375462U, + (uint64_t)534373523491751U, (uint64_t)1302938814480515U, (uint64_t)1664979184120445U, + (uint64_t)304235649499423U, (uint64_t)339284524318609U, (uint64_t)1881717946973483U, + (uint64_t)1670802286833842U, (uint64_t)2223637120675737U, (uint64_t)135818919485814U, + (uint64_t)1144856572842792U, (uint64_t)2234981613434386U, (uint64_t)963917024969826U, + (uint64_t)402275378284993U, (uint64_t)141532417412170U, (uint64_t)921537468739387U, + (uint64_t)963905069722607U, (uint64_t)1405442890733358U, (uint64_t)1567763927164655U, + (uint64_t)1664776329195930U, (uint64_t)2095924165508507U, (uint64_t)994243110271379U, + (uint64_t)1243925610609353U, (uint64_t)1029845815569727U, (uint64_t)1001968867985629U, + (uint64_t)170368934002484U, (uint64_t)1100906131583801U, (uint64_t)1825190326449569U, + (uint64_t)1462285121182096U, (uint64_t)1545240767016377U, (uint64_t)797859025652273U, + (uint64_t)1062758326657530U, (uint64_t)1125600735118266U, (uint64_t)739325756774527U, + (uint64_t)1420144485966996U, (uint64_t)1915492743426702U, (uint64_t)752968196344993U, + (uint64_t)882156396938351U, (uint64_t)1909097048763227U, (uint64_t)849058590685611U, + (uint64_t)840754951388500U, (uint64_t)1832926948808323U, (uint64_t)2023317100075297U, + (uint64_t)322382745442827U, (uint64_t)1569741341737601U, (uint64_t)1678986113194987U, + (uint64_t)757598994581938U, (uint64_t)29678659580705U, (uint64_t)1239680935977986U, + (uint64_t)1509239427168474U, (uint64_t)1055981929287006U, (uint64_t)1894085471158693U, + (uint64_t)916486225488490U, (uint64_t)642168890366120U, (uint64_t)300453362620010U, + (uint64_t)1858797242721481U, (uint64_t)2077989823177130U, (uint64_t)510228455273334U, + (uint64_t)1473284798689270U, (uint64_t)5173934574301U, (uint64_t)765285232030050U, + (uint64_t)1007154707631065U, (uint64_t)1862128712885972U, (uint64_t)168873464821340U, + (uint64_t)1967853269759318U, (uint64_t)1489896018263031U, (uint64_t)592451806166369U, + (uint64_t)1242298565603883U, (uint64_t)1838918921339058U, (uint64_t)697532763910695U, + (uint64_t)294335466239059U, (uint64_t)135687058387449U, (uint64_t)2133734403874176U, + (uint64_t)2121911143127699U, (uint64_t)20222476737364U, (uint64_t)1200824626476747U, + (uint64_t)1397731736540791U, (uint64_t)702378430231418U, (uint64_t)59059527640068U, + (uint64_t)460992547183981U, (uint64_t)1016125857842765U, (uint64_t)1273530839608957U, + (uint64_t)96724128829301U, (uint64_t)1313433042425233U, (uint64_t)3543822857227U, + (uint64_t)761975685357118U, (uint64_t)110417360745248U, (uint64_t)1079634164577663U, + (uint64_t)2044574510020457U, (uint64_t)338709058603120U, (uint64_t)94541336042799U, + (uint64_t)127963233585039U, (uint64_t)94427896272258U, (uint64_t)1143501979342182U, + (uint64_t)1217958006212230U, (uint64_t)2153887831492134U, (uint64_t)1519219513255575U, + (uint64_t)251793195454181U, (uint64_t)392517349345200U, (uint64_t)1507033011868881U, + (uint64_t)2208494254670752U, (uint64_t)1364389582694359U, (uint64_t)2214069430728063U, + (uint64_t)1272814257105752U, (uint64_t)741450148906352U, (uint64_t)1105776675555685U, + (uint64_t)824447222014984U, (uint64_t)528745219306376U, (uint64_t)589427609121575U, + (uint64_t)1501786838809155U, (uint64_t)379067373073147U, (uint64_t)184909476589356U, + (uint64_t)1346887560616185U, (uint64_t)1932023742314082U, (uint64_t)1633302311869264U, + (uint64_t)1685314821133069U, (uint64_t)1836610282047884U, (uint64_t)1595571594397150U, + (uint64_t)615441688872198U, (uint64_t)1926435616702564U, (uint64_t)235632180396480U, + (uint64_t)1051918343571810U, (uint64_t)2150570051687050U, (uint64_t)879198845408738U, + (uint64_t)1443966275205464U, (uint64_t)481362545245088U, (uint64_t)512807443532642U, + (uint64_t)641147578283480U, (uint64_t)1594276116945596U, (uint64_t)1844812743300602U, + (uint64_t)2044559316019485U, (uint64_t)202620777969020U, (uint64_t)852992984136302U, + (uint64_t)1500869642692910U, (uint64_t)1085216217052457U, (uint64_t)1736294372259758U, + (uint64_t)2009666354486552U, (uint64_t)1262389020715248U, (uint64_t)1166527705256867U, + (uint64_t)1409917450806036U, (uint64_t)1705819160057637U, (uint64_t)1116901782584378U, + (uint64_t)1278460472285473U, (uint64_t)257879811360157U, (uint64_t)40314007176886U, + (uint64_t)701309846749639U, (uint64_t)1380457676672777U, (uint64_t)631519782380272U, + (uint64_t)1196339573466793U, (uint64_t)955537708940017U, (uint64_t)532725633381530U, + (uint64_t)641190593731833U, (uint64_t)7214357153807U, (uint64_t)481922072107983U, + (uint64_t)1634886189207352U, (uint64_t)1247659758261633U, (uint64_t)1655809614786430U, + (uint64_t)43105797900223U, (uint64_t)76205809912607U, (uint64_t)1936575107455823U, + (uint64_t)1107927314642236U, (uint64_t)2199986333469333U, (uint64_t)802974829322510U, + (uint64_t)718173128143482U, (uint64_t)539385184235615U, (uint64_t)2075693785611221U, + (uint64_t)953281147333690U, (uint64_t)1623571637172587U, (uint64_t)655274535022250U, + (uint64_t)1568078078819021U, (uint64_t)101142125049712U, (uint64_t)1488441673350881U, + (uint64_t)1457969561944515U, (uint64_t)1492622544287712U, (uint64_t)2041460689280803U, + (uint64_t)1961848091392887U, (uint64_t)461003520846938U, (uint64_t)934728060399807U, + (uint64_t)117723291519705U, (uint64_t)1027773762863526U, (uint64_t)56765304991567U, + (uint64_t)2184028379550479U, (uint64_t)1768767711894030U, (uint64_t)1304432068983172U, + (uint64_t)498080974452325U, (uint64_t)2134905654858163U, (uint64_t)1446137427202647U, + (uint64_t)551613831549590U, (uint64_t)680288767054205U, (uint64_t)1278113339140386U, + (uint64_t)378149431842614U, (uint64_t)80520494426960U, (uint64_t)2080985256348782U, + (uint64_t)673432591799820U, (uint64_t)739189463724560U, (uint64_t)1847191452197509U, + (uint64_t)527737312871602U, (uint64_t)477609358840073U, (uint64_t)1891633072677946U, + (uint64_t)1841456828278466U, (uint64_t)2242502936489002U, (uint64_t)524791829362709U, + (uint64_t)276648168514036U, (uint64_t)991706903257619U, (uint64_t)512580228297906U, + (uint64_t)1216855104975946U, (uint64_t)67030930303149U, (uint64_t)769593945208213U, + (uint64_t)2048873385103577U, (uint64_t)455635274123107U, (uint64_t)2077404927176696U, + (uint64_t)1803539634652306U, (uint64_t)1837579953843417U, (uint64_t)1564240068662828U, + (uint64_t)1964310918970435U, (uint64_t)832822906252492U, (uint64_t)1516044634195010U, + (uint64_t)770571447506889U, (uint64_t)602215152486818U, (uint64_t)1760828333136947U, + (uint64_t)730156776030376U + }; + +static const uint64_t + Hacl_Ed25519_PrecompTable_precomp_g_pow2_192_table_w4[320U] = { + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)1129953239743101U, (uint64_t)1240339163956160U, + (uint64_t)61002583352401U, (uint64_t)2017604552196030U, (uint64_t)1576867829229863U, + (uint64_t)1508654942849389U, (uint64_t)270111619664077U, (uint64_t)1253097517254054U, + (uint64_t)721798270973250U, (uint64_t)161923365415298U, (uint64_t)828530877526011U, + (uint64_t)1494851059386763U, (uint64_t)662034171193976U, (uint64_t)1315349646974670U, + (uint64_t)2199229517308806U, (uint64_t)497078277852673U, (uint64_t)1310507715989956U, + (uint64_t)1881315714002105U, (uint64_t)2214039404983803U, (uint64_t)1331036420272667U, + (uint64_t)296286697520787U, (uint64_t)1179367922639127U, (uint64_t)25348441419697U, + (uint64_t)2200984961703188U, (uint64_t)150893128908291U, (uint64_t)1978614888570852U, + (uint64_t)1539657347172046U, (uint64_t)553810196523619U, (uint64_t)246017573977646U, + (uint64_t)1440448985385485U, (uint64_t)346049108099981U, (uint64_t)601166606218546U, + (uint64_t)855822004151713U, (uint64_t)1957521326383188U, (uint64_t)1114240380430887U, + (uint64_t)1349639675122048U, (uint64_t)957375954499040U, (uint64_t)111551795360136U, + (uint64_t)618586733648988U, (uint64_t)490708840688866U, (uint64_t)1267002049697314U, + (uint64_t)1130723224930028U, (uint64_t)215603029480828U, (uint64_t)1277138555414710U, + (uint64_t)1556750324971322U, (uint64_t)1407903521793741U, (uint64_t)1836836546590749U, + (uint64_t)576500297444199U, (uint64_t)2074707599091135U, (uint64_t)1826239864380012U, + (uint64_t)1935365705983312U, (uint64_t)239501825683682U, (uint64_t)1594236669034980U, + (uint64_t)1283078975055301U, (uint64_t)856745636255925U, (uint64_t)1342128647959981U, + (uint64_t)945216428379689U, (uint64_t)938746202496410U, (uint64_t)105775123333919U, + (uint64_t)1379852610117266U, (uint64_t)1770216827500275U, (uint64_t)1016017267535704U, + (uint64_t)1902885522469532U, (uint64_t)994184703730489U, (uint64_t)2227487538793763U, + (uint64_t)53155967096055U, (uint64_t)1264120808114350U, (uint64_t)1334928769376729U, + (uint64_t)393911808079997U, (uint64_t)826229239481845U, (uint64_t)1827903006733192U, + (uint64_t)1449283706008465U, (uint64_t)1258040415217849U, (uint64_t)1641484112868370U, + (uint64_t)1140150841968176U, (uint64_t)391113338021313U, (uint64_t)162138667815833U, + (uint64_t)742204396566060U, (uint64_t)110709233440557U, (uint64_t)90179377432917U, + (uint64_t)530511949644489U, (uint64_t)911568635552279U, (uint64_t)135869304780166U, + (uint64_t)617719999563692U, (uint64_t)1802525001631319U, (uint64_t)1836394639510490U, + (uint64_t)1862739456475085U, (uint64_t)1378284444664288U, (uint64_t)1617882529391756U, + (uint64_t)876124429891172U, (uint64_t)1147654641445091U, (uint64_t)1476943370400542U, + (uint64_t)688601222759067U, (uint64_t)2120281968990205U, (uint64_t)1387113236912611U, + (uint64_t)2125245820685788U, (uint64_t)1030674016350092U, (uint64_t)1594684598654247U, + (uint64_t)1165939511879820U, (uint64_t)271499323244173U, (uint64_t)546587254515484U, + (uint64_t)945603425742936U, (uint64_t)1242252568170226U, (uint64_t)561598728058142U, + (uint64_t)604827091794712U, (uint64_t)19869753585186U, (uint64_t)565367744708915U, + (uint64_t)536755754533603U, (uint64_t)1767258313589487U, (uint64_t)907952975936127U, + (uint64_t)292851652613937U, (uint64_t)163573546237963U, (uint64_t)837601408384564U, + (uint64_t)591996990118301U, (uint64_t)2126051747693057U, (uint64_t)182247548824566U, + (uint64_t)908369044122868U, (uint64_t)1335442699947273U, (uint64_t)2234292296528612U, + (uint64_t)689537529333034U, (uint64_t)2174778663790714U, (uint64_t)1011407643592667U, + (uint64_t)1856130618715473U, (uint64_t)1557437221651741U, (uint64_t)2250285407006102U, + (uint64_t)1412384213410827U, (uint64_t)1428042038612456U, (uint64_t)962709733973660U, + (uint64_t)313995703125919U, (uint64_t)1844969155869325U, (uint64_t)787716782673657U, + (uint64_t)622504542173478U, (uint64_t)930119043384654U, (uint64_t)2128870043952488U, + (uint64_t)537781531479523U, (uint64_t)1556666269904940U, (uint64_t)417333635741346U, + (uint64_t)1986743846438415U, (uint64_t)877620478041197U, (uint64_t)2205624582983829U, + (uint64_t)595260668884488U, (uint64_t)2025159350373157U, (uint64_t)2091659716088235U, + (uint64_t)1423634716596391U, (uint64_t)653686638634080U, (uint64_t)1972388399989956U, + (uint64_t)795575741798014U, (uint64_t)889240107997846U, (uint64_t)1446156876910732U, + (uint64_t)1028507012221776U, (uint64_t)1071697574586478U, (uint64_t)1689630411899691U, + (uint64_t)604092816502174U, (uint64_t)1909917373896122U, (uint64_t)1602544877643837U, + (uint64_t)1227177032923867U, (uint64_t)62684197535630U, (uint64_t)186146290753883U, + (uint64_t)414449055316766U, (uint64_t)1560555880866750U, (uint64_t)157579947096755U, + (uint64_t)230526795502384U, (uint64_t)1197673369665894U, (uint64_t)593779215869037U, + (uint64_t)214638834474097U, (uint64_t)1796344443484478U, (uint64_t)493550548257317U, + (uint64_t)1628442824033694U, (uint64_t)1410811655893495U, (uint64_t)1009361960995171U, + (uint64_t)604736219740352U, (uint64_t)392445928555351U, (uint64_t)1254295770295706U, + (uint64_t)1958074535046128U, (uint64_t)508699942241019U, (uint64_t)739405911261325U, + (uint64_t)1678760393882409U, (uint64_t)517763708545996U, (uint64_t)640040257898722U, + (uint64_t)384966810872913U, (uint64_t)407454748380128U, (uint64_t)152604679407451U, + (uint64_t)185102854927662U, (uint64_t)1448175503649595U, (uint64_t)100328519208674U, + (uint64_t)1153263667012830U, (uint64_t)1643926437586490U, (uint64_t)609632142834154U, + (uint64_t)980984004749261U, (uint64_t)855290732258779U, (uint64_t)2186022163021506U, + (uint64_t)1254052618626070U, (uint64_t)1850030517182611U, (uint64_t)162348933090207U, + (uint64_t)1948712273679932U, (uint64_t)1331832516262191U, (uint64_t)1219400369175863U, + (uint64_t)89689036937483U, (uint64_t)1554886057235815U, (uint64_t)1520047528432789U, + (uint64_t)81263957652811U, (uint64_t)146612464257008U, (uint64_t)2207945627164163U, + (uint64_t)919846660682546U, (uint64_t)1925694087906686U, (uint64_t)2102027292388012U, + (uint64_t)887992003198635U, (uint64_t)1817924871537027U, (uint64_t)746660005584342U, + (uint64_t)753757153275525U, (uint64_t)91394270908699U, (uint64_t)511837226544151U, + (uint64_t)736341543649373U, (uint64_t)1256371121466367U, (uint64_t)1977778299551813U, + (uint64_t)817915174462263U, (uint64_t)1602323381418035U, (uint64_t)190035164572930U, + (uint64_t)603796401391181U, (uint64_t)2152666873671669U, (uint64_t)1813900316324112U, + (uint64_t)1292622433358041U, (uint64_t)888439870199892U, (uint64_t)978918155071994U, + (uint64_t)534184417909805U, (uint64_t)466460084317313U, (uint64_t)1275223140288685U, + (uint64_t)786407043883517U, (uint64_t)1620520623925754U, (uint64_t)1753625021290269U, + (uint64_t)751937175104525U, (uint64_t)905301961820613U, (uint64_t)697059847245437U, + (uint64_t)584919033981144U, (uint64_t)1272165506533156U, (uint64_t)1532180021450866U, + (uint64_t)1901407354005301U, (uint64_t)1421319720492586U, (uint64_t)2179081609765456U, + (uint64_t)2193253156667632U, (uint64_t)1080248329608584U, (uint64_t)2158422436462066U, + (uint64_t)759167597017850U, (uint64_t)545759071151285U, (uint64_t)641600428493698U, + (uint64_t)943791424499848U, (uint64_t)469571542427864U, (uint64_t)951117845222467U, + (uint64_t)1780538594373407U, (uint64_t)614611122040309U, (uint64_t)1354826131886963U, + (uint64_t)221898131992340U, (uint64_t)1145699723916219U, (uint64_t)798735379961769U, + (uint64_t)1843560518208287U, (uint64_t)1424523160161545U, (uint64_t)205549016574779U, + (uint64_t)2239491587362749U, (uint64_t)1918363582399888U, (uint64_t)1292183072788455U, + (uint64_t)1783513123192567U, (uint64_t)1584027954317205U, (uint64_t)1890421443925740U, + (uint64_t)1718459319874929U, (uint64_t)1522091040748809U, (uint64_t)399467600667219U, + (uint64_t)1870973059066576U, (uint64_t)287514433150348U, (uint64_t)1397845311152885U, + (uint64_t)1880440629872863U, (uint64_t)709302939340341U, (uint64_t)1813571361109209U, + (uint64_t)86598795876860U, (uint64_t)1146964554310612U, (uint64_t)1590956584862432U, + (uint64_t)2097004628155559U, (uint64_t)656227622102390U, (uint64_t)1808500445541891U, + (uint64_t)958336726523135U, (uint64_t)2007604569465975U, (uint64_t)313504950390997U, + (uint64_t)1399686004953620U, (uint64_t)1759732788465234U, (uint64_t)1562539721055836U, + (uint64_t)1575722765016293U, (uint64_t)793318366641259U, (uint64_t)443876859384887U, + (uint64_t)547308921989704U, (uint64_t)636698687503328U, (uint64_t)2179175835287340U, + (uint64_t)498333551718258U, (uint64_t)932248760026176U, (uint64_t)1612395686304653U, + (uint64_t)2179774103745626U, (uint64_t)1359658123541018U, (uint64_t)171488501802442U, + (uint64_t)1625034951791350U, (uint64_t)520196922773633U, (uint64_t)1873787546341877U, + (uint64_t)303457823885368U + }; + +static const uint64_t + Hacl_Ed25519_PrecompTable_precomp_basepoint_table_w5[640U] = { + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)1738742601995546U, (uint64_t)1146398526822698U, + (uint64_t)2070867633025821U, (uint64_t)562264141797630U, (uint64_t)587772402128613U, + (uint64_t)1801439850948184U, (uint64_t)1351079888211148U, (uint64_t)450359962737049U, + (uint64_t)900719925474099U, (uint64_t)1801439850948198U, (uint64_t)1U, (uint64_t)0U, + (uint64_t)0U, (uint64_t)0U, (uint64_t)0U, (uint64_t)1841354044333475U, + (uint64_t)16398895984059U, (uint64_t)755974180946558U, (uint64_t)900171276175154U, + (uint64_t)1821297809914039U, (uint64_t)1661154287933054U, (uint64_t)284530020860578U, + (uint64_t)1390261174866914U, (uint64_t)1524110943907984U, (uint64_t)1045603498418422U, + (uint64_t)928651508580478U, (uint64_t)1383326941296346U, (uint64_t)961937908925785U, + (uint64_t)80455759693706U, (uint64_t)904734540352947U, (uint64_t)1507481815385608U, + (uint64_t)2223447444246085U, (uint64_t)1083941587175919U, (uint64_t)2059929906842505U, + (uint64_t)1581435440146976U, (uint64_t)782730187692425U, (uint64_t)9928394897574U, + (uint64_t)1539449519985236U, (uint64_t)1923587931078510U, (uint64_t)552919286076056U, + (uint64_t)376925408065760U, (uint64_t)447320488831784U, (uint64_t)1362918338468019U, + (uint64_t)1470031896696846U, (uint64_t)2189796996539902U, (uint64_t)1337552949959847U, + (uint64_t)1762287177775726U, (uint64_t)237994495816815U, (uint64_t)1277840395970544U, + (uint64_t)543972849007241U, (uint64_t)1224692671618814U, (uint64_t)162359533289271U, + (uint64_t)282240927125249U, (uint64_t)586909166382289U, (uint64_t)17726488197838U, + (uint64_t)377014554985659U, (uint64_t)1433835303052512U, (uint64_t)702061469493692U, + (uint64_t)1142253108318154U, (uint64_t)318297794307551U, (uint64_t)954362646308543U, + (uint64_t)517363881452320U, (uint64_t)1868013482130416U, (uint64_t)262562472373260U, + (uint64_t)902232853249919U, (uint64_t)2107343057055746U, (uint64_t)462368348619024U, + (uint64_t)1893758677092974U, (uint64_t)2177729767846389U, (uint64_t)2168532543559143U, + (uint64_t)443867094639821U, (uint64_t)730169342581022U, (uint64_t)1564589016879755U, + (uint64_t)51218195700649U, (uint64_t)76684578423745U, (uint64_t)560266272480743U, + (uint64_t)922517457707697U, (uint64_t)2066645939860874U, (uint64_t)1318277348414638U, + (uint64_t)1576726809084003U, (uint64_t)1817337608563665U, (uint64_t)1874240939237666U, + (uint64_t)754733726333910U, (uint64_t)97085310406474U, (uint64_t)751148364309235U, + (uint64_t)1622159695715187U, (uint64_t)1444098819684916U, (uint64_t)130920805558089U, + (uint64_t)1260449179085308U, (uint64_t)1860021740768461U, (uint64_t)110052860348509U, + (uint64_t)193830891643810U, (uint64_t)164148413933881U, (uint64_t)180017794795332U, + (uint64_t)1523506525254651U, (uint64_t)465981629225956U, (uint64_t)559733514964572U, + (uint64_t)1279624874416974U, (uint64_t)2026642326892306U, (uint64_t)1425156829982409U, + (uint64_t)2160936383793147U, (uint64_t)1061870624975247U, (uint64_t)2023497043036941U, + (uint64_t)117942212883190U, (uint64_t)490339622800774U, (uint64_t)1729931303146295U, + (uint64_t)422305932971074U, (uint64_t)529103152793096U, (uint64_t)1211973233775992U, + (uint64_t)721364955929681U, (uint64_t)1497674430438813U, (uint64_t)342545521275073U, + (uint64_t)2102107575279372U, (uint64_t)2108462244669966U, (uint64_t)1382582406064082U, + (uint64_t)2206396818383323U, (uint64_t)2109093268641147U, (uint64_t)10809845110983U, + (uint64_t)1605176920880099U, (uint64_t)744640650753946U, (uint64_t)1712758897518129U, + (uint64_t)373410811281809U, (uint64_t)648838265800209U, (uint64_t)813058095530999U, + (uint64_t)513987632620169U, (uint64_t)465516160703329U, (uint64_t)2136322186126330U, + (uint64_t)1979645899422932U, (uint64_t)1197131006470786U, (uint64_t)1467836664863979U, + (uint64_t)1340751381374628U, (uint64_t)1810066212667962U, (uint64_t)1009933588225499U, + (uint64_t)1106129188080873U, (uint64_t)1388980405213901U, (uint64_t)533719246598044U, + (uint64_t)1169435803073277U, (uint64_t)198920999285821U, (uint64_t)487492330629854U, + (uint64_t)1807093008537778U, (uint64_t)1540899012923865U, (uint64_t)2075080271659867U, + (uint64_t)1527990806921523U, (uint64_t)1323728742908002U, (uint64_t)1568595959608205U, + (uint64_t)1388032187497212U, (uint64_t)2026968840050568U, (uint64_t)1396591153295755U, + (uint64_t)820416950170901U, (uint64_t)520060313205582U, (uint64_t)2016404325094901U, + (uint64_t)1584709677868520U, (uint64_t)272161374469956U, (uint64_t)1567188603996816U, + (uint64_t)1986160530078221U, (uint64_t)553930264324589U, (uint64_t)1058426729027503U, + (uint64_t)8762762886675U, (uint64_t)2216098143382988U, (uint64_t)1835145266889223U, + (uint64_t)1712936431558441U, (uint64_t)1017009937844974U, (uint64_t)585361667812740U, + (uint64_t)2114711541628181U, (uint64_t)2238729632971439U, (uint64_t)121257546253072U, + (uint64_t)847154149018345U, (uint64_t)211972965476684U, (uint64_t)287499084460129U, + (uint64_t)2098247259180197U, (uint64_t)839070411583329U, (uint64_t)339551619574372U, + (uint64_t)1432951287640743U, (uint64_t)526481249498942U, (uint64_t)931991661905195U, + (uint64_t)1884279965674487U, (uint64_t)200486405604411U, (uint64_t)364173020594788U, + (uint64_t)518034455936955U, (uint64_t)1085564703965501U, (uint64_t)16030410467927U, + (uint64_t)604865933167613U, (uint64_t)1695298441093964U, (uint64_t)498856548116159U, + (uint64_t)2193030062787034U, (uint64_t)1706339802964179U, (uint64_t)1721199073493888U, + (uint64_t)820740951039755U, (uint64_t)1216053436896834U, (uint64_t)23954895815139U, + (uint64_t)1662515208920491U, (uint64_t)1705443427511899U, (uint64_t)1957928899570365U, + (uint64_t)1189636258255725U, (uint64_t)1795695471103809U, (uint64_t)1691191297654118U, + (uint64_t)282402585374360U, (uint64_t)460405330264832U, (uint64_t)63765529445733U, + (uint64_t)469763447404473U, (uint64_t)733607089694996U, (uint64_t)685410420186959U, + (uint64_t)1096682630419738U, (uint64_t)1162548510542362U, (uint64_t)1020949526456676U, + (uint64_t)1211660396870573U, (uint64_t)613126398222696U, (uint64_t)1117829165843251U, + (uint64_t)742432540886650U, (uint64_t)1483755088010658U, (uint64_t)942392007134474U, + (uint64_t)1447834130944107U, (uint64_t)489368274863410U, (uint64_t)23192985544898U, + (uint64_t)648442406146160U, (uint64_t)785438843373876U, (uint64_t)249464684645238U, + (uint64_t)170494608205618U, (uint64_t)335112827260550U, (uint64_t)1462050123162735U, + (uint64_t)1084803668439016U, (uint64_t)853459233600325U, (uint64_t)215777728187495U, + (uint64_t)1965759433526974U, (uint64_t)1349482894446537U, (uint64_t)694163317612871U, + (uint64_t)860536766165036U, (uint64_t)1178788094084321U, (uint64_t)1652739626626996U, + (uint64_t)2115723946388185U, (uint64_t)1577204379094664U, (uint64_t)1083882859023240U, + (uint64_t)1768759143381635U, (uint64_t)1737180992507258U, (uint64_t)246054513922239U, + (uint64_t)577253134087234U, (uint64_t)356340280578042U, (uint64_t)1638917769925142U, + (uint64_t)223550348130103U, (uint64_t)470592666638765U, (uint64_t)22663573966996U, + (uint64_t)596552461152400U, (uint64_t)364143537069499U, (uint64_t)3942119457699U, + (uint64_t)107951982889287U, (uint64_t)1843471406713209U, (uint64_t)1625773041610986U, + (uint64_t)1466141092501702U, (uint64_t)1043024095021271U, (uint64_t)310429964047508U, + (uint64_t)98559121500372U, (uint64_t)152746933782868U, (uint64_t)259407205078261U, + (uint64_t)828123093322585U, (uint64_t)1576847274280091U, (uint64_t)1170871375757302U, + (uint64_t)1588856194642775U, (uint64_t)984767822341977U, (uint64_t)1141497997993760U, + (uint64_t)809325345150796U, (uint64_t)1879837728202511U, (uint64_t)201340910657893U, + (uint64_t)1079157558888483U, (uint64_t)1052373448588065U, (uint64_t)1732036202501778U, + (uint64_t)2105292670328445U, (uint64_t)679751387312402U, (uint64_t)1679682144926229U, + (uint64_t)1695823455818780U, (uint64_t)498852317075849U, (uint64_t)1786555067788433U, + (uint64_t)1670727545779425U, (uint64_t)117945875433544U, (uint64_t)407939139781844U, + (uint64_t)854632120023778U, (uint64_t)1413383148360437U, (uint64_t)286030901733673U, + (uint64_t)1207361858071196U, (uint64_t)461340408181417U, (uint64_t)1096919590360164U, + (uint64_t)1837594897475685U, (uint64_t)533755561544165U, (uint64_t)1638688042247712U, + (uint64_t)1431653684793005U, (uint64_t)1036458538873559U, (uint64_t)390822120341779U, + (uint64_t)1920929837111618U, (uint64_t)543426740024168U, (uint64_t)645751357799929U, + (uint64_t)2245025632994463U, (uint64_t)1550778638076452U, (uint64_t)223738153459949U, + (uint64_t)1337209385492033U, (uint64_t)1276967236456531U, (uint64_t)1463815821063071U, + (uint64_t)2070620870191473U, (uint64_t)1199170709413753U, (uint64_t)273230877394166U, + (uint64_t)1873264887608046U, (uint64_t)890877152910775U, (uint64_t)983226445635730U, + (uint64_t)44873798519521U, (uint64_t)697147127512130U, (uint64_t)961631038239304U, + (uint64_t)709966160696826U, (uint64_t)1706677689540366U, (uint64_t)502782733796035U, + (uint64_t)812545535346033U, (uint64_t)1693622521296452U, (uint64_t)1955813093002510U, + (uint64_t)1259937612881362U, (uint64_t)1873032503803559U, (uint64_t)1140330566016428U, + (uint64_t)1675726082440190U, (uint64_t)60029928909786U, (uint64_t)170335608866763U, + (uint64_t)766444312315022U, (uint64_t)2025049511434113U, (uint64_t)2200845622430647U, + (uint64_t)1201269851450408U, (uint64_t)590071752404907U, (uint64_t)1400995030286946U, + (uint64_t)2152637413853822U, (uint64_t)2108495473841983U, (uint64_t)3855406710349U, + (uint64_t)1726137673168580U, (uint64_t)51004317200100U, (uint64_t)1749082328586939U, + (uint64_t)1704088976144558U, (uint64_t)1977318954775118U, (uint64_t)2062602253162400U, + (uint64_t)948062503217479U, (uint64_t)361953965048030U, (uint64_t)1528264887238440U, + (uint64_t)62582552172290U, (uint64_t)2241602163389280U, (uint64_t)156385388121765U, + (uint64_t)2124100319761492U, (uint64_t)388928050571382U, (uint64_t)1556123596922727U, + (uint64_t)979310669812384U, (uint64_t)113043855206104U, (uint64_t)2023223924825469U, + (uint64_t)643651703263034U, (uint64_t)2234446903655540U, (uint64_t)1577241261424997U, + (uint64_t)860253174523845U, (uint64_t)1691026473082448U, (uint64_t)1091672764933872U, + (uint64_t)1957463109756365U, (uint64_t)530699502660193U, (uint64_t)349587141723569U, + (uint64_t)674661681919563U, (uint64_t)1633727303856240U, (uint64_t)708909037922144U, + (uint64_t)2160722508518119U, (uint64_t)1302188051602540U, (uint64_t)976114603845777U, + (uint64_t)120004758721939U, (uint64_t)1681630708873780U, (uint64_t)622274095069244U, + (uint64_t)1822346309016698U, (uint64_t)1100921177951904U, (uint64_t)2216952659181677U, + (uint64_t)1844020550362490U, (uint64_t)1976451368365774U, (uint64_t)1321101422068822U, + (uint64_t)1189859436282668U, (uint64_t)2008801879735257U, (uint64_t)2219413454333565U, + (uint64_t)424288774231098U, (uint64_t)359793146977912U, (uint64_t)270293357948703U, + (uint64_t)587226003677000U, (uint64_t)1482071926139945U, (uint64_t)1419630774650359U, + (uint64_t)1104739070570175U, (uint64_t)1662129023224130U, (uint64_t)1609203612533411U, + (uint64_t)1250932720691980U, (uint64_t)95215711818495U, (uint64_t)498746909028150U, + (uint64_t)158151296991874U, (uint64_t)1201379988527734U, (uint64_t)561599945143989U, + (uint64_t)2211577425617888U, (uint64_t)2166577612206324U, (uint64_t)1057590354233512U, + (uint64_t)1968123280416769U, (uint64_t)1316586165401313U, (uint64_t)762728164447634U, + (uint64_t)2045395244316047U, (uint64_t)1531796898725716U, (uint64_t)315385971670425U, + (uint64_t)1109421039396756U, (uint64_t)2183635256408562U, (uint64_t)1896751252659461U, + (uint64_t)840236037179080U, (uint64_t)796245792277211U, (uint64_t)508345890111193U, + (uint64_t)1275386465287222U, (uint64_t)513560822858784U, (uint64_t)1784735733120313U, + (uint64_t)1346467478899695U, (uint64_t)601125231208417U, (uint64_t)701076661112726U, + (uint64_t)1841998436455089U, (uint64_t)1156768600940434U, (uint64_t)1967853462343221U, + (uint64_t)2178318463061452U, (uint64_t)481885520752741U, (uint64_t)675262828640945U, + (uint64_t)1033539418596582U, (uint64_t)1743329872635846U, (uint64_t)159322641251283U, + (uint64_t)1573076470127113U, (uint64_t)954827619308195U, (uint64_t)778834750662635U, + (uint64_t)619912782122617U, (uint64_t)515681498488209U, (uint64_t)1675866144246843U, + (uint64_t)811716020969981U, (uint64_t)1125515272217398U, (uint64_t)1398917918287342U, + (uint64_t)1301680949183175U, (uint64_t)726474739583734U, (uint64_t)587246193475200U, + (uint64_t)1096581582611864U, (uint64_t)1469911826213486U, (uint64_t)1990099711206364U, + (uint64_t)1256496099816508U, (uint64_t)2019924615195672U, (uint64_t)1251232456707555U, + (uint64_t)2042971196009755U, (uint64_t)214061878479265U, (uint64_t)115385726395472U, + (uint64_t)1677875239524132U, (uint64_t)756888883383540U, (uint64_t)1153862117756233U, + (uint64_t)503391530851096U, (uint64_t)946070017477513U, (uint64_t)1878319040542579U, + (uint64_t)1101349418586920U, (uint64_t)793245696431613U, (uint64_t)397920495357645U, + (uint64_t)2174023872951112U, (uint64_t)1517867915189593U, (uint64_t)1829855041462995U, + (uint64_t)1046709983503619U, (uint64_t)424081940711857U, (uint64_t)2112438073094647U, + (uint64_t)1504338467349861U, (uint64_t)2244574127374532U, (uint64_t)2136937537441911U, + (uint64_t)1741150838990304U, (uint64_t)25894628400571U, (uint64_t)512213526781178U, + (uint64_t)1168384260796379U, (uint64_t)1424607682379833U, (uint64_t)938677789731564U, + (uint64_t)872882241891896U, (uint64_t)1713199397007700U, (uint64_t)1410496326218359U, + (uint64_t)854379752407031U, (uint64_t)465141611727634U, (uint64_t)315176937037857U, + (uint64_t)1020115054571233U, (uint64_t)1856290111077229U, (uint64_t)2028366269898204U, + (uint64_t)1432980880307543U, (uint64_t)469932710425448U, (uint64_t)581165267592247U, + (uint64_t)496399148156603U, (uint64_t)2063435226705903U, (uint64_t)2116841086237705U, + (uint64_t)498272567217048U, (uint64_t)1829438076967906U, (uint64_t)1573925801278491U, + (uint64_t)460763576329867U, (uint64_t)1705264723728225U, (uint64_t)999514866082412U, + (uint64_t)29635061779362U, (uint64_t)1884233592281020U, (uint64_t)1449755591461338U, + (uint64_t)42579292783222U, (uint64_t)1869504355369200U, (uint64_t)495506004805251U, + (uint64_t)264073104888427U, (uint64_t)2088880861028612U, (uint64_t)104646456386576U, + (uint64_t)1258445191399967U, (uint64_t)1348736801545799U, (uint64_t)2068276361286613U, + (uint64_t)884897216646374U, (uint64_t)922387476801376U, (uint64_t)1043886580402805U, + (uint64_t)1240883498470831U, (uint64_t)1601554651937110U, (uint64_t)804382935289482U, + (uint64_t)512379564477239U, (uint64_t)1466384519077032U, (uint64_t)1280698500238386U, + (uint64_t)211303836685749U, (uint64_t)2081725624793803U, (uint64_t)545247644516879U, + (uint64_t)215313359330384U, (uint64_t)286479751145614U, (uint64_t)2213650281751636U, + (uint64_t)2164927945999874U, (uint64_t)2072162991540882U, (uint64_t)1443769115444779U, + (uint64_t)1581473274363095U, (uint64_t)434633875922699U, (uint64_t)340456055781599U, + (uint64_t)373043091080189U, (uint64_t)839476566531776U, (uint64_t)1856706858509978U, + (uint64_t)931616224909153U, (uint64_t)1888181317414065U, (uint64_t)213654322650262U, + (uint64_t)1161078103416244U, (uint64_t)1822042328851513U, (uint64_t)915817709028812U, + (uint64_t)1828297056698188U, (uint64_t)1212017130909403U, (uint64_t)60258343247333U, + (uint64_t)342085800008230U, (uint64_t)930240559508270U, (uint64_t)1549884999174952U, + (uint64_t)809895264249462U, (uint64_t)184726257947682U, (uint64_t)1157065433504828U, + (uint64_t)1209999630381477U, (uint64_t)999920399374391U, (uint64_t)1714770150788163U, + (uint64_t)2026130985413228U, (uint64_t)506776632883140U, (uint64_t)1349042668246528U, + (uint64_t)1937232292976967U, (uint64_t)942302637530730U, (uint64_t)160211904766226U, + (uint64_t)1042724500438571U, (uint64_t)212454865139142U, (uint64_t)244104425172642U, + (uint64_t)1376990622387496U, (uint64_t)76126752421227U, (uint64_t)1027540886376422U, + (uint64_t)1912210655133026U, (uint64_t)13410411589575U, (uint64_t)1475856708587773U, + (uint64_t)615563352691682U, (uint64_t)1446629324872644U, (uint64_t)1683670301784014U, + (uint64_t)1049873327197127U, (uint64_t)1826401704084838U, (uint64_t)2032577048760775U, + (uint64_t)1922203607878853U, (uint64_t)836708788764806U, (uint64_t)2193084654695012U, + (uint64_t)1342923183256659U, (uint64_t)849356986294271U, (uint64_t)1228863973965618U, + (uint64_t)94886161081867U, (uint64_t)1423288430204892U, (uint64_t)2016167528707016U, + (uint64_t)1633187660972877U, (uint64_t)1550621242301752U, (uint64_t)340630244512994U, + (uint64_t)2103577710806901U, (uint64_t)221625016538931U, (uint64_t)421544147350960U, + (uint64_t)580428704555156U, (uint64_t)1479831381265617U, (uint64_t)518057926544698U, + (uint64_t)955027348790630U, (uint64_t)1326749172561598U, (uint64_t)1118304625755967U, + (uint64_t)1994005916095176U, (uint64_t)1799757332780663U, (uint64_t)751343129396941U, + (uint64_t)1468672898746144U, (uint64_t)1451689964451386U, (uint64_t)755070293921171U, + (uint64_t)904857405877052U, (uint64_t)1276087530766984U, (uint64_t)403986562858511U, + (uint64_t)1530661255035337U, (uint64_t)1644972908910502U, (uint64_t)1370170080438957U, + (uint64_t)139839536695744U, (uint64_t)909930462436512U, (uint64_t)1899999215356933U, + (uint64_t)635992381064566U, (uint64_t)788740975837654U, (uint64_t)224241231493695U, + (uint64_t)1267090030199302U, (uint64_t)998908061660139U, (uint64_t)1784537499699278U, + (uint64_t)859195370018706U, (uint64_t)1953966091439379U, (uint64_t)2189271820076010U, + (uint64_t)2039067059943978U, (uint64_t)1526694380855202U, (uint64_t)2040321513194941U, + (uint64_t)329922071218689U, (uint64_t)1953032256401326U, (uint64_t)989631424403521U, + (uint64_t)328825014934242U, (uint64_t)9407151397696U, (uint64_t)63551373671268U, + (uint64_t)1624728632895792U, (uint64_t)1608324920739262U, (uint64_t)1178239350351945U, + (uint64_t)1198077399579702U, (uint64_t)277620088676229U, (uint64_t)1775359437312528U, + (uint64_t)1653558177737477U, (uint64_t)1652066043408850U, (uint64_t)1063359889686622U, + (uint64_t)1975063804860653U + }; + +#if defined(__cplusplus) +} +#endif + +#define __internal_Hacl_Ed25519_PrecompTable_H_DEFINED +#endif diff --git a/security/nss/lib/freebl/verified/karamel/include/krml/internal/target.h b/security/nss/lib/freebl/verified/karamel/include/krml/internal/target.h index b63967f480..198d65f64b 100644 --- a/security/nss/lib/freebl/verified/karamel/include/krml/internal/target.h +++ b/security/nss/lib/freebl/verified/karamel/include/krml/internal/target.h @@ -57,6 +57,14 @@ #define KRML_HOST_IGNORE(x) (void)(x) #endif +#ifndef KRML_MAYBE_UNUSED +#if defined(__GNUC__) +#define KRML_MAYBE_UNUSED __attribute__((unused)) +#else +#define KRML_MAYBE_UNUSED +#endif +#endif + #ifndef KRML_NOINLINE #if defined(_MSC_VER) #define KRML_NOINLINE __declspec(noinline) diff --git a/security/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/fstar_uint128_gcc64.h b/security/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/fstar_uint128_gcc64.h index 33cff6b6d4..51c2325854 100644 --- a/security/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/fstar_uint128_gcc64.h +++ b/security/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/fstar_uint128_gcc64.h @@ -148,7 +148,7 @@ FStar_UInt128_eq_mask(uint128_t x, uint128_t y) { uint64_t mask = FStar_UInt64_eq_mask((uint64_t)(x >> 64), (uint64_t)(y >> 64)) & - FStar_UInt64_eq_mask(x, y); + FStar_UInt64_eq_mask((uint64_t)x, (uint64_t)y); return ((uint128_t)mask) << 64 | mask; } @@ -158,7 +158,7 @@ FStar_UInt128_gte_mask(uint128_t x, uint128_t y) uint64_t mask = (FStar_UInt64_gte_mask(x >> 64, y >> 64) & ~(FStar_UInt64_eq_mask(x >> 64, y >> 64))) | - (FStar_UInt64_eq_mask(x >> 64, y >> 64) & FStar_UInt64_gte_mask(x, y)); + (FStar_UInt64_eq_mask(x >> 64, y >> 64) & FStar_UInt64_gte_mask((uint64_t)x, (uint64_t)y)); return ((uint128_t)mask) << 64 | mask; } diff --git a/security/nss/lib/nss/nss.h b/security/nss/lib/nss/nss.h index 67272f98a6..f3608b5813 100644 --- a/security/nss/lib/nss/nss.h +++ b/security/nss/lib/nss/nss.h @@ -22,9 +22,9 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define NSS_VERSION "3.98" _NSS_CUSTOMIZED +#define NSS_VERSION "3.99" _NSS_CUSTOMIZED #define NSS_VMAJOR 3 -#define NSS_VMINOR 98 +#define NSS_VMINOR 99 #define NSS_VPATCH 0 #define NSS_VBUILD 0 #define NSS_BETA PR_FALSE diff --git a/security/nss/lib/pk11wrap/pk11akey.c b/security/nss/lib/pk11wrap/pk11akey.c index 343a5bdef5..b797b54aef 100644 --- a/security/nss/lib/pk11wrap/pk11akey.c +++ b/security/nss/lib/pk11wrap/pk11akey.c @@ -41,6 +41,7 @@ pk11_MakeIDFromPublicKey(SECKEYPublicKey *pubKey) case dhKey: pubKeyIndex = &pubKey->u.dh.publicValue; break; + case edKey: case ecKey: pubKeyIndex = &pubKey->u.ec.publicValue; break; @@ -190,6 +191,19 @@ PK11_ImportPublicKey(PK11SlotInfo *slot, SECKEYPublicKey *pubKey, pubKey->u.dh.publicValue.len); attrs++; break; + case edKey: + keyType = CKK_EC_EDWARDS; + PK11_SETATTRS(attrs, CKA_VERIFY, &cktrue, sizeof(CK_BBOOL)); + attrs++; + PK11_SETATTRS(attrs, CKA_EC_PARAMS, + pubKey->u.ec.DEREncodedParams.data, + pubKey->u.ec.DEREncodedParams.len); + attrs++; + PK11_SETATTRS(attrs, CKA_EC_POINT, + pubKey->u.ec.publicValue.data, + pubKey->u.ec.publicValue.len); + attrs++; + break; case ecKey: keyType = CKK_EC; PK11_SETATTRS(attrs, CKA_VERIFY, &cktrue, sizeof(CK_BBOOL)); @@ -248,7 +262,7 @@ PK11_ImportPublicKey(PK11SlotInfo *slot, SECKEYPublicKey *pubKey, } templateCount = attrs - theTemplate; PORT_Assert(templateCount <= (sizeof(theTemplate) / sizeof(CK_ATTRIBUTE))); - if (pubKey->keyType != ecKey && pubKey->keyType != kyberKey) { + if (pubKey->keyType != ecKey && pubKey->keyType != kyberKey && pubKey->keyType != edKey) { PORT_Assert(signedattr); signedcount = attrs - signedattr; for (attrs = signedattr; signedcount; attrs++, signedcount--) { @@ -407,6 +421,7 @@ pk11_get_EC_PointLenInBytes(PLArenaPool *arena, const SECItem *ecParams, case SEC_OID_SECG_EC_SECT571R1: return 145; /*curve len in bytes = 72 bytes */ case SEC_OID_CURVE25519: + case SEC_OID_ED25519_PUBLIC_KEY: *plain = PR_TRUE; return 32; /* curve len in bytes = 32 bytes (only X) */ /* unknown or unrecognized OIDs. return unknown length */ @@ -642,6 +657,9 @@ PK11_ExtractPublicKey(PK11SlotInfo *slot, KeyType keyType, CK_OBJECT_HANDLE id) case CKK_EC: keyType = ecKey; break; + case CKK_EC_EDWARDS: + keyType = edKey; + break; case CKK_NSS_KYBER: keyType = kyberKey; break; @@ -771,6 +789,7 @@ PK11_ExtractPublicKey(PK11SlotInfo *slot, KeyType keyType, CK_OBJECT_HANDLE id) if (crv != CKR_OK) break; break; + case edKey: case ecKey: pubKey->u.ec.size = 0; ecparams = attrs; @@ -785,7 +804,7 @@ PK11_ExtractPublicKey(PK11SlotInfo *slot, KeyType keyType, CK_OBJECT_HANDLE id) if (crv != CKR_OK) break; - if ((keyClass != CKO_PUBLIC_KEY) || (pk11KeyType != CKK_EC)) { + if ((keyClass != CKO_PUBLIC_KEY) || (pk11KeyType != CKK_EC && pk11KeyType != CKK_EC_EDWARDS)) { crv = CKR_OBJECT_HANDLE_INVALID; break; } @@ -886,6 +905,9 @@ PK11_MakePrivKey(PK11SlotInfo *slot, KeyType keyType, case CKK_EC: keyType = ecKey; break; + case CKK_EC_EDWARDS: + keyType = edKey; + break; case CKK_NSS_KYBER: keyType = kyberKey; break; @@ -1093,6 +1115,7 @@ pk11_loadPrivKeyWithFlags(PK11SlotInfo *slot, SECKEYPrivateKey *privKey, extra_count++; break; case ecKey: + case edKey: ap->type = CKA_EC_PARAMS; ap++; count++; @@ -1101,10 +1124,13 @@ pk11_loadPrivKeyWithFlags(PK11SlotInfo *slot, SECKEYPrivateKey *privKey, ap++; count++; extra_count++; - ap->type = CKA_DERIVE; - ap++; - count++; - extra_count++; + if (privKey->keyType == ecKey) { + ap->type = CKA_DERIVE; + ap++; + count++; + extra_count++; + } + ap->type = CKA_SIGN; ap++; count++; @@ -1143,7 +1169,7 @@ pk11_loadPrivKeyWithFlags(PK11SlotInfo *slot, SECKEYPrivateKey *privKey, * them the raw data as unsigned. The exception is EC, * where the values are encoded or zero-preserving * per-RFC5915 */ - if (privKey->keyType != ecKey) { + if (privKey->keyType != ecKey && privKey->keyType != edKey) { for (ap = attrs; extra_count; ap++, extra_count--) { pk11_SignedToUnsigned(ap); } @@ -1499,6 +1525,16 @@ PK11_GenerateKeyPairWithOpFlags(PK11SlotInfo *slot, CK_MECHANISM_TYPE type, keyType = kyberKey; test_mech.mechanism = CKM_NSS_KYBER; break; + case CKM_EC_EDWARDS_KEY_PAIR_GEN: + ecParams = (SECKEYECParams *)param; + attrs = ecPubTemplate; + PK11_SETATTRS(attrs, CKA_EC_PARAMS, ecParams->data, + ecParams->len); + attrs++; + pubTemplate = ecPubTemplate; + keyType = edKey; + test_mech.mechanism = CKM_EDDSA; + break; default: PORT_SetError(SEC_ERROR_BAD_KEY); return NULL; @@ -1555,6 +1591,10 @@ PK11_GenerateKeyPairWithOpFlags(PK11SlotInfo *slot, CK_MECHANISM_TYPE type, case CKM_ECDSA: mechanism_info.flags = CKF_SIGN | CKF_VERIFY; break; + case CKM_EDDSA: + mechanism_info.flags = CKF_SIGN | CKF_VERIFY; + break; + default: break; } @@ -1835,6 +1875,7 @@ SECKEY_SetPublicValue(SECKEYPrivateKey *privKey, SECItem *publicValue) rv = PK11_ReadAttribute(slot, privKeyID, CKA_BASE, arena, &pubKey.u.dh.base); break; + case edKey: case ecKey: pubKey.u.ec.publicValue = *publicValue; pubKey.u.ec.encoding = ECPoint_Undefined; @@ -1905,6 +1946,7 @@ PK11_ImportEncryptedPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, CK_ATTRIBUTE_TYPE dsaUsage[] = { CKA_SIGN }; CK_ATTRIBUTE_TYPE dhUsage[] = { CKA_DERIVE }; CK_ATTRIBUTE_TYPE ecUsage[] = { CKA_SIGN, CKA_DERIVE }; + CK_ATTRIBUTE_TYPE edUsage[] = { CKA_SIGN }; if ((epki == NULL) || (pwitem == NULL)) return SECFailure; @@ -1959,6 +2001,11 @@ PK11_ImportEncryptedPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, break; } break; + case edKey: + key_type = CKK_EC_EDWARDS; + usage = edUsage; + usageCount = 1; + break; } try_faulty_3des: diff --git a/security/nss/lib/pk11wrap/pk11cert.c b/security/nss/lib/pk11wrap/pk11cert.c index 580d02b613..fb37b713ed 100644 --- a/security/nss/lib/pk11wrap/pk11cert.c +++ b/security/nss/lib/pk11wrap/pk11cert.c @@ -171,6 +171,7 @@ PK11_IsUserCert(PK11SlotInfo *slot, CERTCertificate *cert, pubKey->u.dh.publicValue.len); break; case ecKey: + case edKey: PK11_SETATTRS(&theTemplate, CKA_EC_POINT, pubKey->u.ec.publicValue.data, pubKey->u.ec.publicValue.len); @@ -187,7 +188,7 @@ PK11_IsUserCert(PK11SlotInfo *slot, CERTCertificate *cert, SECKEY_DestroyPublicKey(pubKey); return PR_FALSE; } - if (pubKey->keyType != ecKey) { + if (pubKey->keyType != ecKey && pubKey->keyType != edKey) { pk11_SignedToUnsigned(&theTemplate); } if (pk11_FindObjectByTemplate(slot, &theTemplate, 1) != CK_INVALID_HANDLE) { @@ -1113,6 +1114,7 @@ PK11_GetPubIndexKeyID(CERTCertificate *cert) newItem = SECITEM_DupItem(&pubk->u.dh.publicValue); break; case ecKey: + case edKey: newItem = SECITEM_DupItem(&pubk->u.ec.publicValue); break; case fortezzaKey: diff --git a/security/nss/lib/pk11wrap/pk11mech.c b/security/nss/lib/pk11wrap/pk11mech.c index 54e55c6da2..df7e3455bc 100644 --- a/security/nss/lib/pk11wrap/pk11mech.c +++ b/security/nss/lib/pk11wrap/pk11mech.c @@ -198,6 +198,8 @@ PK11_GetKeyMechanism(CK_KEY_TYPE type) return CKM_KEA_KEY_DERIVE; case CKK_EC: /* CKK_ECDSA is deprecated */ return CKM_ECDSA; + case CKK_EC_EDWARDS: + return CKM_EDDSA; case CKK_HKDF: return CKM_HKDF_DERIVE; case CKK_GENERIC_SECRET: @@ -388,6 +390,9 @@ PK11_GetKeyType(CK_MECHANISM_TYPE type, unsigned long len) case CKM_EC_KEY_PAIR_GEN: /* aka CKM_ECDSA_KEY_PAIR_GEN */ case CKM_ECDH1_DERIVE: return CKK_EC; /* CKK_ECDSA is deprecated */ + case CKM_EC_EDWARDS_KEY_PAIR_GEN: + case CKM_EDDSA: + return CKK_EC_EDWARDS; case CKM_HKDF_KEY_GEN: case CKM_HKDF_DERIVE: case CKM_HKDF_DATA: @@ -603,6 +608,8 @@ PK11_GetKeyGenWithSize(CK_MECHANISM_TYPE type, int size) case CKM_EC_KEY_PAIR_GEN: /* aka CKM_ECDSA_KEY_PAIR_GEN */ case CKM_ECDH1_DERIVE: return CKM_EC_KEY_PAIR_GEN; + case CKM_EDDSA: + return CKM_EC_EDWARDS_KEY_PAIR_GEN; case CKM_SSL3_PRE_MASTER_KEY_GEN: case CKM_SSL3_MASTER_KEY_DERIVE: case CKM_SSL3_KEY_AND_MAC_DERIVE: @@ -1917,6 +1924,8 @@ PK11_MapSignKeyType(KeyType keyType) return CKM_DSA; case ecKey: return CKM_ECDSA; + case edKey: + return CKM_EDDSA; case dhKey: default: break; diff --git a/security/nss/lib/pk11wrap/pk11obj.c b/security/nss/lib/pk11wrap/pk11obj.c index 1661bcb2b4..5759408a27 100644 --- a/security/nss/lib/pk11wrap/pk11obj.c +++ b/security/nss/lib/pk11wrap/pk11obj.c @@ -575,7 +575,7 @@ PK11_SignatureLen(SECKEYPrivateKey *key) return length * 2; } return pk11_backupGetSignLength(key); - + case edKey: case ecKey: rv = PK11_ReadAttribute(key->pkcs11Slot, key->pkcs11ID, CKA_EC_PARAMS, NULL, &attributeItem); diff --git a/security/nss/lib/pk11wrap/pk11pars.c b/security/nss/lib/pk11wrap/pk11pars.c index bda4ab688a..45b4a5934a 100644 --- a/security/nss/lib/pk11wrap/pk11pars.c +++ b/security/nss/lib/pk11wrap/pk11pars.c @@ -402,6 +402,8 @@ static const oidValDef signOptList[] = { NSS_USE_ALG_IN_SSL_KX | NSS_USE_ALG_IN_SIGNATURE }, { CIPHER_NAME("ECDSA"), SEC_OID_ANSIX962_EC_PUBLIC_KEY, NSS_USE_ALG_IN_SSL_KX | NSS_USE_ALG_IN_SIGNATURE }, + { CIPHER_NAME("ED25519"), SEC_OID_ED25519_PUBLIC_KEY, + NSS_USE_ALG_IN_SIGNATURE }, }; typedef struct { diff --git a/security/nss/lib/pk11wrap/pk11pk12.c b/security/nss/lib/pk11wrap/pk11pk12.c index 917b7f0f67..5d8b00d3d0 100644 --- a/security/nss/lib/pk11wrap/pk11pk12.c +++ b/security/nss/lib/pk11wrap/pk11pk12.c @@ -180,6 +180,13 @@ const SEC_ASN1Template SECKEY_ECPrivateKeyExportTemplate[] = { { 0 } }; +/* The template operates a private key consisting only of private key. */ +const SEC_ASN1Template SECKEY_EDPrivateKeyExportTemplate[] = { + { SEC_ASN1_OCTET_STRING, + offsetof(SECKEYRawPrivateKey, u.ec.privateValue) }, + { 0 } +}; + const SEC_ASN1Template SECKEY_EncryptedPrivateKeyInfoTemplate[] = { { SEC_ASN1_SEQUENCE, 0, NULL, sizeof(SECKEYEncryptedPrivateKeyInfo) }, @@ -270,8 +277,10 @@ PK11_ImportDERPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, SECItem *derPKI, SECStatus rv = SECFailure; temparena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE); - if (!temparena) + if (!temparena) { return rv; + } + pki = PORT_ArenaZNew(temparena, SECKEYPrivateKeyInfo); if (!pki) { PORT_FreeArena(temparena, PR_FALSE); @@ -523,13 +532,31 @@ PK11_ImportAndReturnPrivateKey(PK11SlotInfo *slot, SECKEYRawPrivateKey *lpk, lpk->u.ec.publicValue.len); attrs++; break; + case edKey: + keyType = CKK_EC_EDWARDS; + PK11_SETATTRS(attrs, CKA_SIGN, &cktrue, sizeof(CK_BBOOL)); + attrs++; + if (nickname) { + PK11_SETATTRS(attrs, CKA_LABEL, nickname->data, nickname->len); + attrs++; + } + + /* No signed attrs for EC */ + /* curveOID always is a copy of AlgorithmID.parameters. */ + PK11_SETATTRS(attrs, CKA_EC_PARAMS, lpk->u.ec.curveOID.data, + lpk->u.ec.curveOID.len); + attrs++; + PK11_SETATTRS(attrs, CKA_VALUE, lpk->u.ec.privateValue.data, + lpk->u.ec.privateValue.len); + attrs++; + break; default: PORT_SetError(SEC_ERROR_BAD_KEY); goto loser; } templateCount = attrs - theTemplate; PORT_Assert(templateCount <= sizeof(theTemplate) / sizeof(CK_ATTRIBUTE)); - if (lpk->keyType != ecKey) { + if (lpk->keyType != ecKey && lpk->keyType != edKey) { PORT_Assert(signedattr); signedcount = attrs - signedattr; for (ap = signedattr; signedcount; ap++, signedcount--) { @@ -604,6 +631,12 @@ PK11_ImportPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, paramDest = NULL; lpk->keyType = dhKey; break; + case SEC_OID_ED25519_PUBLIC_KEY: + keyTemplate = SECKEY_EDPrivateKeyExportTemplate; + paramTemplate = NULL; + paramDest = NULL; + lpk->keyType = edKey; + break; case SEC_OID_ANSIX962_EC_PUBLIC_KEY: prepare_ec_priv_key_export_for_asn1(lpk); keyTemplate = SECKEY_ECPrivateKeyExportTemplate; @@ -641,6 +674,26 @@ PK11_ImportPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, } } + if (lpk->keyType == edKey) { + /* Convert length in bits to length in bytes. */ + lpk->u.ec.publicValue.len >>= 3; + + if (pki->algorithm.parameters.len != 0) { + /* Currently supporting only (Pure)Ed25519 .*/ + PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); + goto loser; + } + + SECOidData *oidEd25519 = SECOID_FindOIDByTag(SEC_OID_ED25519_PUBLIC_KEY); + + if (!SECITEM_AllocItem(arena, &lpk->u.ec.curveOID, oidEd25519->oid.len + 2)) { + goto loser; + } + lpk->u.ec.curveOID.data[0] = SEC_ASN1_OBJECT_ID; + lpk->u.ec.curveOID.data[1] = oidEd25519->oid.len; + PORT_Memcpy(lpk->u.ec.curveOID.data + 2, oidEd25519->oid.data, oidEd25519->oid.len); + } + if (paramDest && paramTemplate) { rv = SEC_ASN1DecodeItem(arena, paramDest, paramTemplate, &(pki->algorithm.parameters)); @@ -651,7 +704,6 @@ PK11_ImportPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, rv = PK11_ImportAndReturnPrivateKey(slot, lpk, nickname, publicValue, isPerm, isPrivate, keyUsage, privk, wincx); - loser: if (arena != NULL) { PORT_FreeArena(arena, PR_TRUE); @@ -800,6 +852,28 @@ PK11_ExportPrivKeyInfo(SECKEYPrivateKey *pk, void *wincx) } } break; + case edKey: { + rawKey.u.ec.version.type = siUnsignedInteger; + rawKey.u.ec.version.data = (unsigned char *)PORT_ArenaAlloc(arena, 1); + if (!rawKey.u.ec.version.data) { + goto loser; + } + rawKey.u.ec.version.data[0] = ecVersion; + rawKey.u.ec.version.len = 1; + + if (!ReadAttribute(pk, CKA_VALUE, arena, + &rawKey.u.ec.privateValue)) { + goto loser; + } + + keyTemplate = SECKEY_EDPrivateKeyExportTemplate; + /* Currently, ED25519 does not support any parameter. */ + rv = SECOID_SetAlgorithmID(arena, &pki->algorithm, SEC_OID_ED25519_PUBLIC_KEY, NULL); + if (rv != SECSuccess) { + goto loser; + } + + } break; default: { PORT_SetError(PR_NOT_IMPLEMENTED_ERROR); goto loser; diff --git a/security/nss/lib/pk11wrap/pk11skey.c b/security/nss/lib/pk11wrap/pk11skey.c index f09519ee27..02db85b6bf 100644 --- a/security/nss/lib/pk11wrap/pk11skey.c +++ b/security/nss/lib/pk11wrap/pk11skey.c @@ -2097,7 +2097,7 @@ PK11_DerivePubKeyFromPrivKey(SECKEYPrivateKey *privKey) /* * This Generates a wrapping key based on a privateKey, publicKey, and two * random numbers. For Mail usage RandomB should be NULL. In the Sender's - * case RandomA is generate, outherwize it is passed. + * case RandomA is generate, otherwise it is passed. */ PK11SymKey * PK11_PubDerive(SECKEYPrivateKey *privKey, SECKEYPublicKey *pubKey, @@ -2218,6 +2218,9 @@ PK11_PubDerive(SECKEYPrivateKey *privKey, SECKEYPublicKey *pubKey, return symKey; PORT_SetError(PK11_MapError(crv)); } break; + case edKey: + PORT_SetError(SEC_ERROR_BAD_KEY); + break; case ecKey: { CK_BBOOL cktrue = CK_TRUE; CK_OBJECT_CLASS keyClass = CKO_SECRET_KEY; diff --git a/security/nss/lib/pk11wrap/pk11slot.c b/security/nss/lib/pk11wrap/pk11slot.c index d61d0f750d..90a429d952 100644 --- a/security/nss/lib/pk11wrap/pk11slot.c +++ b/security/nss/lib/pk11wrap/pk11slot.c @@ -36,6 +36,7 @@ const PK11DefaultArrayEntry PK11_DefaultArray[] = { { "RSA", SECMOD_RSA_FLAG, CKM_RSA_PKCS }, { "DSA", SECMOD_DSA_FLAG, CKM_DSA }, { "ECC", SECMOD_ECC_FLAG, CKM_ECDSA }, + { "EDDSA", SECMOD_ECC_FLAG, CKM_EDDSA }, { "DH", SECMOD_DH_FLAG, CKM_DH_PKCS_DERIVE }, { "RC2", SECMOD_RC2_FLAG, CKM_RC2_CBC }, { "RC4", SECMOD_RC4_FLAG, CKM_RC4 }, @@ -940,6 +941,8 @@ PK11_GetSlotList(CK_MECHANISM_TYPE type) case CKM_DH_PKCS_KEY_PAIR_GEN: case CKM_DH_PKCS_DERIVE: return &pk11_dhSlotList; + case CKM_EDDSA: + case CKM_EC_EDWARDS_KEY_PAIR_GEN: case CKM_ECDSA: case CKM_ECDSA_SHA1: case CKM_EC_KEY_PAIR_GEN: /* aka CKM_ECDSA_KEY_PAIR_GEN */ diff --git a/security/nss/lib/smime/cms.h b/security/nss/lib/smime/cms.h index f4a8a39e9e..fb803e1f79 100644 --- a/security/nss/lib/smime/cms.h +++ b/security/nss/lib/smime/cms.h @@ -815,6 +815,9 @@ NSS_CMSEnvelopedData_Decode_AfterEnd(NSSCMSEnvelopedData *envd); * cmsrecinfo.c - CMS recipientInfo methods ************************************************************************/ +extern PRBool +NSS_CMSRecipient_IsSupported(CERTCertificate *cert); + /* * NSS_CMSRecipientInfo_Create - create a recipientinfo * diff --git a/security/nss/lib/smime/cmsrecinfo.c b/security/nss/lib/smime/cmsrecinfo.c index 20dd698e8f..6cf2c68c31 100644 --- a/security/nss/lib/smime/cmsrecinfo.c +++ b/security/nss/lib/smime/cmsrecinfo.c @@ -118,6 +118,8 @@ nss_cmsrecipientinfo_create(NSSCMSMessage *cmsg, certalgtag = SECOID_GetAlgorithmTag(&(spki->algorithm)); rid = &ri->ri.keyTransRecipientInfo.recipientIdentifier; + + // This switch must match the switch in NSS_CMSRecipient_IsSupported. switch (certalgtag) { case SEC_OID_PKCS1_RSA_ENCRYPTION: ri->recipientInfoType = NSSCMSRecipientInfoID_KeyTrans; @@ -258,6 +260,28 @@ loser: } /* + * NSS_CMSRecipient_IsSupported - checks for a support certificate + * + * Use this function to confirm that the given certificate will be + * accepted by NSS_CMSRecipientInfo_Create, which means that the + * certificate can be used with a supported encryption algorithm. + */ +PRBool +NSS_CMSRecipient_IsSupported(CERTCertificate *cert) +{ + CERTSubjectPublicKeyInfo *spki = &(cert->subjectPublicKeyInfo); + SECOidTag certalgtag = SECOID_GetAlgorithmTag(&(spki->algorithm)); + + switch (certalgtag) { + case SEC_OID_PKCS1_RSA_ENCRYPTION: + case SEC_OID_X942_DIFFIE_HELMAN_KEY: /* dh-public-number */ + return PR_TRUE; + default: + return PR_FALSE; + } +} + +/* * NSS_CMSRecipientInfo_Create - create a recipientinfo * * we currently do not create KeyAgreement recipientinfos with multiple diff --git a/security/nss/lib/smime/smime.def b/security/nss/lib/smime/smime.def index ba9d09d8cb..d5cff92f37 100644 --- a/security/nss/lib/smime/smime.def +++ b/security/nss/lib/smime/smime.def @@ -291,3 +291,9 @@ NSS_CMSSignerInfo_GetDigestAlgTag; ;+ local: ;+ *; ;+}; +;+NSS_3.99 { # NSS 3.99 release +;+ global: +NSS_CMSRecipient_IsSupported; +;+ local: +;+ *; +;+}; diff --git a/security/nss/lib/softoken/lowkey.c b/security/nss/lib/softoken/lowkey.c index f47bda231d..5adae04263 100644 --- a/security/nss/lib/softoken/lowkey.c +++ b/security/nss/lib/softoken/lowkey.c @@ -9,6 +9,7 @@ #include "secasn1.h" #include "secerr.h" #include "softoken.h" +#include "ec.h" SEC_ASN1_MKSUB(SEC_AnyTemplate) SEC_ASN1_MKSUB(SEC_BitStringTemplate) @@ -381,6 +382,24 @@ nsslowkey_ConvertToPublicKey(NSSLOWKEYPrivateKey *privk) pubk->arena = arena; pubk->keyType = privk->keyType; + + /* if the public key value doesn't exist, calculate it */ + if (privk->u.ec.publicValue.len == 0) { + /* Checking if it's an ed25519 key. */ + SECOidTag privKeyOIDTag = SECOID_FindOIDTag(&privk->u.ec.ecParams.curveOID); + if (privKeyOIDTag == SEC_OID_ED25519_PUBLIC_KEY) { + PORT_Memset(&privk->u.ec.publicValue, 0, sizeof(privk->u.ec.publicValue)); + if (SECITEM_AllocItem(privk->arena, &privk->u.ec.publicValue, Ed25519_PUBLIC_KEYLEN) == NULL) { + break; + } + + rv = ED_DerivePublicKey(&privk->u.ec.privateValue, &privk->u.ec.publicValue); + if (rv != CKR_OK) { + break; + } + } + } + rv = SECITEM_CopyItem(arena, &pubk->u.ec.publicValue, &privk->u.ec.publicValue); if (rv != SECSuccess) diff --git a/security/nss/lib/softoken/lowpbe.c b/security/nss/lib/softoken/lowpbe.c index ff80f573ff..68c19aaaf4 100644 --- a/security/nss/lib/softoken/lowpbe.c +++ b/security/nss/lib/softoken/lowpbe.c @@ -803,13 +803,7 @@ nsspkcs5_ComputeKeyAndIV(NSSPKCS5PBEParameter *pbe_param, SECItem *pwitem, goto loser; } - if (pbe_param->is2KeyDES) { - PORT_Memcpy(key->data, hash->data, (key->len * 2) / 3); - PORT_Memcpy(&(key->data[(key->len * 2) / 3]), key->data, - key->len / 3); - } else { - PORT_Memcpy(key->data, hash->data, key->len); - } + PORT_Memcpy(key->data, hash->data, key->len); SECITEM_ZfreeItem(hash, PR_TRUE); return key; @@ -878,10 +872,15 @@ nsspkcs5_FillInParam(SECOidTag algorithm, HASH_HashType hashType, /* DES3 Algorithms */ case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_2KEY_TRIPLE_DES_CBC: pbe_param->is2KeyDES = PR_TRUE; - /* fall through */ + pbe_param->pbeType = NSSPKCS5_PKCS12_V2; + pbe_param->keyLen = 16; + pbe_param->encAlg = SEC_OID_DES_EDE3_CBC; + break; case SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC: pbe_param->pbeType = NSSPKCS5_PKCS12_V2; - /* fall through */ + pbe_param->keyLen = 24; + pbe_param->encAlg = SEC_OID_DES_EDE3_CBC; + break; case SEC_OID_PKCS12_PBE_WITH_SHA1_AND_TRIPLE_DES_CBC: pbe_param->keyLen = 24; pbe_param->encAlg = SEC_OID_DES_EDE3_CBC; diff --git a/security/nss/lib/softoken/pkcs11.c b/security/nss/lib/softoken/pkcs11.c index 9c0d93e317..768c7c2669 100644 --- a/security/nss/lib/softoken/pkcs11.c +++ b/security/nss/lib/softoken/pkcs11.c @@ -310,6 +310,7 @@ struct mechanismList { #define CKF_EC_PNU CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS #define CKF_EC_BPNU CKF_EC_F_2M | CKF_EC_PNU +#define CKF_EC_POC CKF_EC_F_P | CKF_EC_OID | CKF_EC_COMPRESS #define CK_MAX 0xffffffff @@ -379,6 +380,8 @@ static const struct mechanismList mechanisms[] = { { CKM_ECDSA_SHA256, { EC_MIN_KEY_BITS, EC_MAX_KEY_BITS, CKF_SN_VR | CKF_EC_BPNU }, PR_TRUE }, { CKM_ECDSA_SHA384, { EC_MIN_KEY_BITS, EC_MAX_KEY_BITS, CKF_SN_VR | CKF_EC_BPNU }, PR_TRUE }, { CKM_ECDSA_SHA512, { EC_MIN_KEY_BITS, EC_MAX_KEY_BITS, CKF_SN_VR | CKF_EC_BPNU }, PR_TRUE }, + { CKM_EC_EDWARDS_KEY_PAIR_GEN, { ECD_MIN_KEY_BITS, ECD_MAX_KEY_BITS, CKF_GENERATE_KEY_PAIR }, PR_TRUE }, + { CKM_EDDSA, { ECD_MIN_KEY_BITS, ECD_MAX_KEY_BITS, CKF_SN_VR | CKF_EC_POC }, PR_TRUE }, /* ------------------------- RC2 Operations --------------------------- */ { CKM_RC2_KEY_GEN, { 1, 128, CKF_GENERATE }, PR_TRUE }, { CKM_RC2_ECB, { 1, 128, CKF_EN_DE_WR_UN }, PR_TRUE }, @@ -1074,6 +1077,8 @@ sftk_handlePublicKeyObject(SFTKSession *session, SFTKObject *object, recover = CK_FALSE; wrap = CK_FALSE; break; + case CKK_EC_MONTGOMERY: + case CKK_EC_EDWARDS: case CKK_EC: if (!sftk_hasAttribute(object, CKA_EC_PARAMS)) { return CKR_TEMPLATE_INCOMPLETE; @@ -1081,8 +1086,9 @@ sftk_handlePublicKeyObject(SFTKSession *session, SFTKObject *object, if (!sftk_hasAttribute(object, CKA_EC_POINT)) { return CKR_TEMPLATE_INCOMPLETE; } - derive = CK_TRUE; /* for ECDH */ - verify = CK_TRUE; /* for ECDSA */ + /* for ECDSA and EDDSA. Change if the structure of any of them is modified. */ + derive = (key_type == CKK_EC_EDWARDS) ? CK_FALSE : CK_TRUE; /* CK_TRUE for ECDH */ + verify = CK_TRUE; /* for ECDSA */ encrypt = CK_FALSE; recover = CK_FALSE; wrap = CK_FALSE; @@ -1129,7 +1135,7 @@ sftk_handlePublicKeyObject(SFTKSession *session, SFTKObject *object, object->infoFree = (SFTKFree)nsslowkey_DestroyPublicKey; /* Check that an imported EC key is valid */ - if (key_type == CKK_EC) { + if (key_type == CKK_EC || key_type == CKK_EC_EDWARDS || key_type == CKK_EC_MONTGOMERY) { NSSLOWKEYPublicKey *pubKey = (NSSLOWKEYPublicKey *)object->objectInfo; SECStatus rv = EC_ValidatePublicKey(&pubKey->u.ec.ecParams, &pubKey->u.ec.publicValue); @@ -1271,6 +1277,8 @@ sftk_handlePrivateKeyObject(SFTKSession *session, SFTKObject *object, CK_KEY_TYP wrap = CK_FALSE; break; case CKK_EC: + case CKK_EC_EDWARDS: + case CKK_EC_MONTGOMERY: if (!sftk_hasAttribute(object, CKA_EC_PARAMS)) { return CKR_TEMPLATE_INCOMPLETE; } @@ -1926,6 +1934,8 @@ sftk_GetPubKey(SFTKObject *object, CK_KEY_TYPE key_type, crv = sftk_Attribute2SSecItem(arena, &pubKey->u.dh.publicValue, object, CKA_VALUE); break; + case CKK_EC_EDWARDS: + case CKK_EC_MONTGOMERY: case CKK_EC: pubKey->keyType = NSSLOWKEYECKey; crv = sftk_Attribute2SSecItem(arena, @@ -2098,7 +2108,8 @@ sftk_mkPrivKey(SFTKObject *object, CK_KEY_TYPE key_type, CK_RV *crvp) /* privKey was zero'd so public value is already set to NULL, 0 * if we don't set it explicitly */ break; - + case CKK_EC_EDWARDS: + case CKK_EC_MONTGOMERY: case CKK_EC: privKey->keyType = NSSLOWKEYECKey; crv = sftk_Attribute2SSecItem(arena, @@ -2414,6 +2425,8 @@ sftk_PutPubKey(SFTKObject *publicKey, SFTKObject *privateKey, CK_KEY_TYPE keyTyp sftk_item_expand(&pubKey->u.dh.publicValue)); break; case CKK_EC: + case CKK_EC_MONTGOMERY: + case CKK_EC_EDWARDS: sftk_DeleteAttributeType(publicKey, CKA_EC_PARAMS); sftk_DeleteAttributeType(publicKey, CKA_EC_POINT); crv = sftk_AddAttributeType(publicKey, CKA_EC_PARAMS, diff --git a/security/nss/lib/softoken/pkcs11c.c b/security/nss/lib/softoken/pkcs11c.c index 856c98e7cf..758a7eba45 100644 --- a/security/nss/lib/softoken/pkcs11c.c +++ b/security/nss/lib/softoken/pkcs11c.c @@ -2668,13 +2668,9 @@ static SECStatus nsc_DSA_Verify_Stub(void *ctx, void *sigBuf, unsigned int sigLen, void *dataBuf, unsigned int dataLen) { - SECItem signature, digest; + SECItem signature = { siBuffer, (unsigned char *)sigBuf, sigLen }; + SECItem digest = { siBuffer, (unsigned char *)dataBuf, dataLen }; NSSLOWKEYPublicKey *key = (NSSLOWKEYPublicKey *)ctx; - - signature.data = (unsigned char *)sigBuf; - signature.len = sigLen; - digest.data = (unsigned char *)dataBuf; - digest.len = dataLen; return DSA_VerifyDigest(&(key->u.dsa), &signature, &digest); } @@ -2683,15 +2679,10 @@ nsc_DSA_Sign_Stub(void *ctx, void *sigBuf, unsigned int *sigLen, unsigned int maxSigLen, void *dataBuf, unsigned int dataLen) { - SECItem signature, digest; - SECStatus rv; NSSLOWKEYPrivateKey *key = (NSSLOWKEYPrivateKey *)ctx; - - signature.data = (unsigned char *)sigBuf; - signature.len = maxSigLen; - digest.data = (unsigned char *)dataBuf; - digest.len = dataLen; - rv = DSA_SignDigest(&(key->u.dsa), &signature, &digest); + SECItem signature = { siBuffer, (unsigned char *)sigBuf, maxSigLen }; + SECItem digest = { siBuffer, (unsigned char *)dataBuf, dataLen }; + SECStatus rv = DSA_SignDigest(&(key->u.dsa), &signature, &digest); if (rv != SECSuccess && PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) { sftk_fatalError = PR_TRUE; } @@ -2703,13 +2694,9 @@ static SECStatus nsc_ECDSAVerifyStub(void *ctx, void *sigBuf, unsigned int sigLen, void *dataBuf, unsigned int dataLen) { - SECItem signature, digest; + SECItem signature = { siBuffer, (unsigned char *)sigBuf, sigLen }; + SECItem digest = { siBuffer, (unsigned char *)dataBuf, dataLen }; NSSLOWKEYPublicKey *key = (NSSLOWKEYPublicKey *)ctx; - - signature.data = (unsigned char *)sigBuf; - signature.len = sigLen; - digest.data = (unsigned char *)dataBuf; - digest.len = dataLen; return ECDSA_VerifyDigest(&(key->u.ec), &signature, &digest); } @@ -2718,15 +2705,38 @@ nsc_ECDSASignStub(void *ctx, void *sigBuf, unsigned int *sigLen, unsigned int maxSigLen, void *dataBuf, unsigned int dataLen) { - SECItem signature, digest; - SECStatus rv; NSSLOWKEYPrivateKey *key = (NSSLOWKEYPrivateKey *)ctx; + SECItem signature = { siBuffer, (unsigned char *)sigBuf, maxSigLen }; + SECItem digest = { siBuffer, (unsigned char *)dataBuf, dataLen }; - signature.data = (unsigned char *)sigBuf; - signature.len = maxSigLen; - digest.data = (unsigned char *)dataBuf; - digest.len = dataLen; - rv = ECDSA_SignDigest(&(key->u.ec), &signature, &digest); + SECStatus rv = ECDSA_SignDigest(&(key->u.ec), &signature, &digest); + if (rv != SECSuccess && PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) { + sftk_fatalError = PR_TRUE; + } + *sigLen = signature.len; + return rv; +} + +static SECStatus +nsc_EDDSAVerifyStub(void *ctx, void *sigBuf, unsigned int sigLen, + void *dataBuf, unsigned int dataLen) +{ + SECItem signature = { siBuffer, (unsigned char *)sigBuf, sigLen }; + SECItem digest = { siBuffer, (unsigned char *)dataBuf, dataLen }; + NSSLOWKEYPublicKey *key = (NSSLOWKEYPublicKey *)ctx; + return ED_VerifyMessage(&(key->u.ec), &signature, &digest); +} + +static SECStatus +nsc_EDDSASignStub(void *ctx, void *sigBuf, + unsigned int *sigLen, unsigned int maxSigLen, + void *dataBuf, unsigned int dataLen) +{ + NSSLOWKEYPrivateKey *key = (NSSLOWKEYPrivateKey *)ctx; + SECItem signature = { siBuffer, (unsigned char *)sigBuf, maxSigLen }; + SECItem digest = { siBuffer, (unsigned char *)dataBuf, dataLen }; + + SECStatus rv = ED_SignMessage(&(key->u.ec), &signature, &digest); if (rv != SECSuccess && PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) { sftk_fatalError = PR_TRUE; } @@ -2953,6 +2963,29 @@ NSC_SignInit(CK_SESSION_HANDLE hSession, break; + case CKM_EDDSA: + if (key_type != CKK_EC_EDWARDS) { + crv = CKR_KEY_TYPE_INCONSISTENT; + break; + } + + if (pMechanism->pParameter) { + crv = CKR_MECHANISM_PARAM_INVALID; + break; + } + + privKey = sftk_GetPrivKey(key, CKK_EC_EDWARDS, &crv); + if (privKey == NULL) { + crv = CKR_HOST_MEMORY; + break; + } + context->cipherInfo = privKey; + context->update = (SFTKCipher)nsc_EDDSASignStub; + context->destroy = (privKey == key->objectInfo) ? (SFTKDestroy)sftk_Null : (SFTKDestroy)sftk_FreePrivKey; + context->maxLen = MAX_ECKEY_LEN * 2; + + break; + #define INIT_HMAC_MECH(mmm) \ case CKM_##mmm##_HMAC_GENERAL: \ PORT_Assert(pMechanism->pParameter); \ @@ -3736,6 +3769,27 @@ NSC_VerifyInit(CK_SESSION_HANDLE hSession, INIT_HMAC_MECH(SHA3_384) INIT_HMAC_MECH(SHA3_512) + case CKM_EDDSA: + if (key_type != CKK_EC_EDWARDS) { + crv = CKR_KEY_TYPE_INCONSISTENT; + break; + } + pubKey = sftk_GetPubKey(key, CKK_EC_EDWARDS, &crv); + if (pubKey == NULL) { + crv = CKR_HOST_MEMORY; + break; + } + + if (pMechanism->pParameter) { + crv = CKR_FUNCTION_NOT_SUPPORTED; + break; + } + + context->cipherInfo = pubKey; + context->verify = (SFTKVerify)nsc_EDDSAVerifyStub; + context->destroy = sftk_Null; + break; + case CKM_SSL3_MD5_MAC: PORT_Assert(pMechanism->pParameter); if (!pMechanism->pParameter) { @@ -5070,6 +5124,10 @@ sftk_PairwiseConsistencyCheck(CK_SESSION_HANDLE hSession, SFTKSlot *slot, signature_length = MAX_ECKEY_LEN * 2; mech.mechanism = CKM_ECDSA; break; + case CKK_EC_EDWARDS: + signature_length = ED25519_SIGN_LEN; + mech.mechanism = CKM_EDDSA; + break; default: return CKR_DEVICE_ERROR; } @@ -5749,6 +5807,61 @@ NSC_GenerateKeyPair(CK_SESSION_HANDLE hSession, SECITEM_FreeItem(&pubKey, PR_FALSE); break; + case CKM_EC_EDWARDS_KEY_PAIR_GEN: + sftk_DeleteAttributeType(privateKey, CKA_EC_PARAMS); + sftk_DeleteAttributeType(privateKey, CKA_VALUE); + sftk_DeleteAttributeType(privateKey, CKA_NSS_DB); + key_type = CKK_EC_EDWARDS; + + /* extract the necessary parameters and copy them to private keys */ + crv = sftk_Attribute2SSecItem(NULL, &ecEncodedParams, publicKey, + CKA_EC_PARAMS); + if (crv != CKR_OK) { + break; + } + + crv = sftk_AddAttributeType(privateKey, CKA_EC_PARAMS, + sftk_item_expand(&ecEncodedParams)); + if (crv != CKR_OK) { + SECITEM_ZfreeItem(&ecEncodedParams, PR_FALSE); + break; + } + + /* Decode ec params before calling EC_NewKey */ + rv = EC_DecodeParams(&ecEncodedParams, &ecParams); + SECITEM_ZfreeItem(&ecEncodedParams, PR_FALSE); + if (rv != SECSuccess) { + crv = sftk_MapCryptError(PORT_GetError()); + break; + } + + rv = EC_NewKey(ecParams, &ecPriv); + if (rv != SECSuccess) { + if (PORT_GetError() == SEC_ERROR_LIBRARY_FAILURE) { + sftk_fatalError = PR_TRUE; + } + PORT_FreeArena(ecParams->arena, PR_TRUE); + crv = sftk_MapCryptError(PORT_GetError()); + break; + } + PORT_FreeArena(ecParams->arena, PR_TRUE); + crv = sftk_AddAttributeType(publicKey, CKA_EC_POINT, + sftk_item_expand(&ecPriv->publicValue)); + if (crv != CKR_OK) + goto edgn_done; + + crv = sftk_AddAttributeType(privateKey, CKA_VALUE, + sftk_item_expand(&ecPriv->privateValue)); + if (crv != CKR_OK) + goto edgn_done; + + crv = sftk_AddAttributeType(privateKey, CKA_NSS_DB, + sftk_item_expand(&ecPriv->publicValue)); + edgn_done: + /* should zeroize, since this function doesn't. */ + PORT_FreeArena(ecPriv->ecParams.arena, PR_TRUE); + break; + default: crv = CKR_MECHANISM_INVALID; } diff --git a/security/nss/lib/softoken/softkver.h b/security/nss/lib/softoken/softkver.h index 1a203f56f2..ae4ebbe017 100644 --- a/security/nss/lib/softoken/softkver.h +++ b/security/nss/lib/softoken/softkver.h @@ -17,9 +17,9 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define SOFTOKEN_VERSION "3.98" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.99" SOFTOKEN_ECC_STRING #define SOFTOKEN_VMAJOR 3 -#define SOFTOKEN_VMINOR 98 +#define SOFTOKEN_VMINOR 99 #define SOFTOKEN_VPATCH 0 #define SOFTOKEN_VBUILD 0 #define SOFTOKEN_BETA PR_FALSE diff --git a/security/nss/lib/ssl/ssl3ext.h b/security/nss/lib/ssl/ssl3ext.h index c1bed29901..6176bd5c9e 100644 --- a/security/nss/lib/ssl/ssl3ext.h +++ b/security/nss/lib/ssl/ssl3ext.h @@ -30,16 +30,6 @@ typedef struct { sslExtensionBuilderFunc ex_sender; } sslExtensionBuilder; -/* RFC 8879: TLS Certificate Compression - 3. Negotiating Certificate Compression -** enum { -** zlib(1), -** brotli(2), -** zstd(3), -** (65535) -** } CertificateCompressionAlgorithm; -*/ -typedef PRUint16 SSLCertificateCompressionAlgorithmID; - struct TLSExtensionDataStr { /* registered callbacks that send server hello extensions */ sslExtensionBuilder serverHelloSenders[SSL_MAX_EXTENSIONS]; diff --git a/security/nss/lib/ssl/sslexp.h b/security/nss/lib/ssl/sslexp.h index b26afd9b17..b51d224d50 100644 --- a/security/nss/lib/ssl/sslexp.h +++ b/security/nss/lib/ssl/sslexp.h @@ -1079,10 +1079,10 @@ typedef struct SSLMaskingContextStr { * The function SSL_SetCertificateCompressionAlgorithm() adds a certificate * compression mechanism to the socket fd. */ -#define SSL_SetCertificateCompressionAlgorithm(fd, t) \ - SSL_EXPERIMENTAL_API("SSL_SetCertificateCompressionAlgorithm", \ - (PRFileDesc * _fd, \ - SSLCertificateCompressionAlgorithmType t), \ +#define SSL_SetCertificateCompressionAlgorithm(fd, t) \ + SSL_EXPERIMENTAL_API("SSL_SetCertificateCompressionAlgorithm", \ + (PRFileDesc * _fd, \ + SSLCertificateCompressionAlgorithm t), \ (fd, t)) /* Deprecated experimental APIs */ diff --git a/security/nss/lib/ssl/sslimpl.h b/security/nss/lib/ssl/sslimpl.h index 7a5757b6db..973a5db9f7 100644 --- a/security/nss/lib/ssl/sslimpl.h +++ b/security/nss/lib/ssl/sslimpl.h @@ -26,6 +26,8 @@ #include "pkcs11t.h" #if defined(XP_UNIX) #include "unistd.h" +#elif defined(XP_WIN) +#include <process.h> #endif #include "nssrwlk.h" #include "prthread.h" @@ -733,8 +735,8 @@ typedef struct SSL3HandshakeStateStr { PRUint32 rtRetries; /* The retry counter */ SECItem srvVirtName; /* for server: name that was negotiated - * with a client. For client - is - * always set to NULL.*/ + * with a client. For client - is + * always set to NULL.*/ /* This group of values is used for TLS 1.3 and above */ PK11SymKey *currentSecret; /* The secret down the "left hand side" @@ -815,14 +817,6 @@ typedef struct SSL3HandshakeStateStr { PORT_Assert(ss->ssl3.hs.messages.len == 0); \ PORT_Assert(ss->ssl3.hs.echInnerMessages.len == 0); \ } while (0) - -typedef struct SSLCertificateCompressionAlgorithmStr { - SSLCertificateCompressionAlgorithmID id; - const char *name; - SECStatus (*encode)(const SECItem *input, SECItem *output); - SECStatus (*decode)(const SECItem *input, SECItem *output, size_t expectedLenDecodedCertificate); -} SSLCertificateCompressionAlgorithm; - /* ** This is the "ssl3" struct, as in "ss->ssl3". ** note: @@ -2039,7 +2033,6 @@ SEC_END_PROTOS #if defined(XP_UNIX) || defined(XP_OS2) #define SSL_GETPID getpid #elif defined(WIN32) -extern int __cdecl _getpid(void); #define SSL_GETPID _getpid #else #define SSL_GETPID() 0 diff --git a/security/nss/lib/ssl/sslsock.c b/security/nss/lib/ssl/sslsock.c index 8f6c50c67c..befa4eda43 100644 --- a/security/nss/lib/ssl/sslsock.c +++ b/security/nss/lib/ssl/sslsock.c @@ -4376,6 +4376,7 @@ struct { EXP(SetResumptionToken), EXP(SetServerEchConfigs), EXP(SetTimeFunc), + EXP(SetCertificateCompressionAlgorithm), #endif { "", NULL } }; diff --git a/security/nss/lib/ssl/sslt.h b/security/nss/lib/ssl/sslt.h index 133ae6a296..d8927319c2 100644 --- a/security/nss/lib/ssl/sslt.h +++ b/security/nss/lib/ssl/sslt.h @@ -585,4 +585,21 @@ typedef enum { ssl_dhe_group_max } SSLDHEGroupType; +/* RFC 8879: TLS Certificate Compression - 3. Negotiating Certificate Compression +** enum { +** zlib(1), +** brotli(2), +** zstd(3), +** (65535) +** } CertificateCompressionAlgorithm; +*/ +typedef PRUint16 SSLCertificateCompressionAlgorithmID; + +typedef struct SSLCertificateCompressionAlgorithmStr { + SSLCertificateCompressionAlgorithmID id; + const char* name; + SECStatus (*encode)(const SECItem* input, SECItem* output); + SECStatus (*decode)(const SECItem* input, SECItem* output, size_t expectedLenDecodedCertificate); +} SSLCertificateCompressionAlgorithm; + #endif /* __sslt_h_ */ diff --git a/security/nss/lib/util/nssutil.h b/security/nss/lib/util/nssutil.h index b1a7c5fc59..d49a6890c1 100644 --- a/security/nss/lib/util/nssutil.h +++ b/security/nss/lib/util/nssutil.h @@ -19,9 +19,9 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]" */ -#define NSSUTIL_VERSION "3.98" +#define NSSUTIL_VERSION "3.99" #define NSSUTIL_VMAJOR 3 -#define NSSUTIL_VMINOR 98 +#define NSSUTIL_VMINOR 99 #define NSSUTIL_VPATCH 0 #define NSSUTIL_VBUILD 0 #define NSSUTIL_BETA PR_FALSE diff --git a/security/nss/lib/util/secoid.c b/security/nss/lib/util/secoid.c index 800cc7ff62..05208eeffa 100644 --- a/security/nss/lib/util/secoid.c +++ b/security/nss/lib/util/secoid.c @@ -613,6 +613,22 @@ CONST_OID evIncorporationCountry[] = { EV_NAME_ATTRIBUTE, 3 }; */ CONST_OID curve25519[] = { 0x2B, 0x06, 0x01, 0x04, 0x01, 0xDA, 0x47, 0x0F, 0x01 }; +/* + https://oid-rep.orange-labs.fr/get/1.3.101.112 + A.1. ASN.1 Object for Ed25519 + id-Ed25519 OBJECT IDENTIFIER ::= { 1.3.101.112 } + Parameters are absent. Length is 7 bytes. + Binary encoding: 3005 0603 2B65 70 + + The same algorithm identifiers are used for identifying a public key, + a private key, and a signature (for the two EdDSA related OIDs). + Additional encoding information is provided below for each of these + locations. +*/ + +CONST_OID ed25519PublicKey[] = { 0x2B, 0x65, 0x70 }; +CONST_OID ed25519Signature[] = { 0x2B, 0x65, 0x70 }; + #define OI(x) \ { \ siDEROID, (unsigned char *)x, sizeof x \ @@ -1819,6 +1835,13 @@ const static SECOidData oids[SEC_OID_TOTAL] = { ODE(SEC_OID_XYBER768D00, "X25519+Kyber768 key exchange", CKM_INVALID_MECHANISM, INVALID_CERT_EXTENSION), + + OD(ed25519Signature, SEC_OID_ED25519_SIGNATURE, "X9.62 EDDSA signature", CKM_EDDSA, + INVALID_CERT_EXTENSION), + + OD(ed25519PublicKey, SEC_OID_ED25519_PUBLIC_KEY, + "X9.62 elliptic edwards curve public key", CKM_EC_EDWARDS_KEY_PAIR_GEN, INVALID_CERT_EXTENSION), + }; /* PRIVATE EXTENDED SECOID Table @@ -2133,10 +2156,9 @@ SECOID_Init(void) for (i = 0; i < SEC_OID_TOTAL; i++) { oid = &oids[i]; - PORT_Assert(oid->offset == i); - entry = PL_HashTableAdd(oidhash, &oid->oid, (void *)oid); + if (entry == NULL) { PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); PORT_Assert(0); /*This function should never fail. */ @@ -2196,7 +2218,6 @@ SECOID_FindOID(const SECItem *oid) PORT_SetError(SEC_ERROR_UNRECOGNIZED_OID); } } - return (ret); } @@ -2206,8 +2227,9 @@ SECOID_FindOIDTag(const SECItem *oid) SECOidData *oiddata; oiddata = SECOID_FindOID(oid); - if (oiddata == NULL) + if (oiddata == NULL) { return SEC_OID_UNKNOWN; + } return oiddata->offset; } diff --git a/security/nss/lib/util/secoidt.h b/security/nss/lib/util/secoidt.h index 3ab0d6cc74..f2618d62cb 100644 --- a/security/nss/lib/util/secoidt.h +++ b/security/nss/lib/util/secoidt.h @@ -514,6 +514,9 @@ typedef enum { SEC_OID_XYBER768D00 = 372, + SEC_OID_ED25519_SIGNATURE = 373, + SEC_OID_ED25519_PUBLIC_KEY = 374, + SEC_OID_TOTAL } SECOidTag; diff --git a/security/sandbox/chromium-shim/patches/with_update/fix_max_syscalls_linux_aarch64.patch b/security/sandbox/chromium-shim/patches/with_update/fix_max_syscalls_linux_aarch64.patch new file mode 100644 index 0000000000..c5f816213a --- /dev/null +++ b/security/sandbox/chromium-shim/patches/with_update/fix_max_syscalls_linux_aarch64.patch @@ -0,0 +1,25 @@ +# HG changeset patch +# User Paul Bone <pbone@mozilla.org> +# Date 1708492973 -39600 +# Wed Feb 21 16:22:53 2024 +1100 +# Node ID 501cb36ee885ebd0939e1892f821d55ac149ceec +# Parent cf015b6f24b494190f562b255147f96e8b8b4139 +Bug 1866396 - Hard code the number of system calls for Linux on aarch64 r=jld + +Differential Revision: https://phabricator.services.mozilla.com/D202293 + +diff --git a/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h b/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +--- a/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h ++++ b/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +@@ -51,9 +51,9 @@ + + #elif defined(__aarch64__) + +-#include <asm-generic/unistd.h> ++// The unistd.h included in the sysroot has a very old __NR_syscalls + #define MIN_SYSCALL 0u +-#define MAX_PUBLIC_SYSCALL __NR_syscalls ++#define MAX_PUBLIC_SYSCALL (MIN_SYSCALL + 1024u) + #define MAX_SYSCALL MAX_PUBLIC_SYSCALL + + #else diff --git a/security/sandbox/chromium-shim/patches/with_update/patch_order.txt b/security/sandbox/chromium-shim/patches/with_update/patch_order.txt index 8d40aeaa7f..028348a0f0 100755 --- a/security/sandbox/chromium-shim/patches/with_update/patch_order.txt +++ b/security/sandbox/chromium-shim/patches/with_update/patch_order.txt @@ -1,5 +1,3 @@ -revert_remove_AddTargetPeer.patch -revert_remove_BrokerDuplicateHandle.patch replace_ScopedNativeLibrary_in_ApplyMitigationsToCurrentThread.patch ifdef_out_FromStringInternal.patch add_option_to_not_use_restricting_sids.patch @@ -32,3 +30,4 @@ derive_sid_from_name.patch add_loongarch_defines.patch block_NtImpersonateAnonymousToken_before_LowerToken.patch fix_broker_alive_mutex.patch +fix_max_syscalls_linux_aarch64.patch diff --git a/security/sandbox/chromium-shim/patches/with_update/revert_remove_AddTargetPeer.patch b/security/sandbox/chromium-shim/patches/with_update/revert_remove_AddTargetPeer.patch deleted file mode 100644 index 04020b60b7..0000000000 --- a/security/sandbox/chromium-shim/patches/with_update/revert_remove_AddTargetPeer.patch +++ /dev/null @@ -1,310 +0,0 @@ -# HG changeset patch -# User Toshihito Kikuchi <tkikuchi@mozilla.com> -# Date 1589671259 25200 -# Sat May 16 16:20:59 2020 -0700 -# Node ID 0b5183a01df78cc85264f2eae2c4d8e407bb1112 -# Parent d093cd9ccfcf06f4a1f0d7f1a4bd0f143ef92b4b -Add BrokerServicesBase::IsSafeDuplicationTarget. r=bobowen - -This patch adds BrokerServicesBase::IsSafeDuplicationTarget and -BrokerServicesBase::AddTargetPeer using the new ProcessTracker introduced by -https://chromium.googlesource.com/chromium/src.git/+/3d8382cf9dd44cf9c05e43e42c500f4825e1fed8 -We need these methods for HandlePolicy which is added as a different patch. - -Chromium used to have AddTargetPeer and IsActiveTarget, but removed by -the following commits because they were no longer used in Chromium. -https://chromium.googlesource.com/chromium/src.git/+/996b42db5296bd3d11b3d7fde1a4602bbcefed2c -https://chromium.googlesource.com/chromium/src.git/+/e615a1152ac6e10f1a91f0629fb8b5ca223ffbdc - -diff --git a/security/sandbox/chromium/sandbox/win/src/broker_services.cc b/security/sandbox/chromium/sandbox/win/src/broker_services.cc ---- a/security/sandbox/chromium/sandbox/win/src/broker_services.cc -+++ b/security/sandbox/chromium/sandbox/win/src/broker_services.cc -@@ -154,16 +154,18 @@ namespace sandbox { - BrokerServicesBase::BrokerServicesBase() {} - - // The broker uses a dedicated worker thread that services the job completion - // port to perform policy notifications and associated cleanup tasks. - ResultCode BrokerServicesBase::Init() { - if (job_port_.IsValid() || thread_pool_) - return SBOX_ERROR_UNEXPECTED_CALL; - -+ ::InitializeCriticalSection(&lock_); -+ - job_port_.Set(::CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, 0, 0)); - if (!job_port_.IsValid()) - return SBOX_ERROR_CANNOT_INIT_BROKERSERVICES; - - no_targets_.Set(::CreateEventW(nullptr, true, false, nullptr)); - - job_thread_.Set(::CreateThread(nullptr, 0, // Default security and stack. - TargetEventsThread, this, 0, nullptr)); -@@ -191,16 +193,17 @@ BrokerServicesBase::~BrokerServicesBase( - - if (job_thread_.IsValid() && - WAIT_TIMEOUT == ::WaitForSingleObject(job_thread_.Get(), 1000)) { - // Cannot clean broker services. - NOTREACHED(); - return; - } - thread_pool_.reset(); -+ ::DeleteCriticalSection(&lock_); - } - - scoped_refptr<TargetPolicy> BrokerServicesBase::CreatePolicy() { - // If you change the type of the object being created here you must also - // change the downcast to it in SpawnTarget(). - scoped_refptr<TargetPolicy> policy(new PolicyBase); - // PolicyBase starts with refcount 1. - policy->Release(); -@@ -283,16 +286,21 @@ DWORD WINAPI BrokerServicesBase::TargetE - if (1 == target_counter) { - ::ResetEvent(no_targets); - } - break; - } - - case JOB_OBJECT_MSG_EXIT_PROCESS: - case JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: { -+ { -+ AutoLock lock(&broker->lock_); -+ broker->active_targets_.erase( -+ static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl))); -+ } - size_t erase_result = child_process_ids.erase( - static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl))); - if (erase_result != 1U) { - // The process was untracked e.g. a child process of the target. - --untracked_target_counter; - DCHECK(untracked_target_counter >= 0); - } - --target_counter; -@@ -348,27 +356,31 @@ DWORD WINAPI BrokerServicesBase::TargetE - tracker->wait_handle = INVALID_HANDLE_VALUE; - } - processes.push_back(std::move(tracker)); - - } else if (THREAD_CTRL_PROCESS_SIGNALLED == key) { - ProcessTracker* tracker = - static_cast<ProcessTracker*>(reinterpret_cast<void*>(ovl)); - -+ { -+ AutoLock lock(&broker->lock_); -+ broker->active_targets_.erase(tracker->process_id); -+ } -+ - ::UnregisterWait(tracker->wait_handle); - tracker->wait_handle = INVALID_HANDLE_VALUE; - - // PID is unique until the process handle is closed in dtor. - processes.erase(std::remove_if(processes.begin(), processes.end(), - [&](auto&& p) -> bool { - return p->process_id == - tracker->process_id; - }), - processes.end()); -- - } else if (THREAD_CTRL_GET_POLICY_INFO == key) { - // Clone the policies for sandbox diagnostics. - std::unique_ptr<PolicyDiagnosticsReceiver> receiver; - receiver.reset(static_cast<PolicyDiagnosticsReceiver*>( - reinterpret_cast<void*>(ovl))); - // The PollicyInfo ctor copies essential information from the trackers. - auto policy_list = std::make_unique<PolicyDiagnosticList>(); - for (auto&& process_tracker : processes) { -@@ -637,47 +649,79 @@ ResultCode BrokerServicesBase::SpawnTarg - // the tracker. The worker thread takes ownership of these objects. - CHECK(::PostQueuedCompletionStatus( - job_port_.Get(), 0, THREAD_CTRL_NEW_JOB_TRACKER, - reinterpret_cast<LPOVERLAPPED>(tracker))); - // There is no obvious recovery after failure here. Previous version with - // SpawnCleanup() caused deletion of TargetProcess twice. crbug.com/480639 - CHECK( - AssociateCompletionPort(tracker->job.Get(), job_port_.Get(), tracker)); -+ -+ AutoLock lock(&lock_); -+ active_targets_.insert(process_info.process_id()); - } else { -- // Duplicate the process handle to give the tracking machinery -- // something valid to wait on in the tracking thread. -- HANDLE tmp_process_handle = INVALID_HANDLE_VALUE; -- if (!::DuplicateHandle(::GetCurrentProcess(), process_info.process_handle(), -- ::GetCurrentProcess(), &tmp_process_handle, -- SYNCHRONIZE, false, 0 /*no options*/)) { -- *last_error = ::GetLastError(); -+ result = AddTargetPeerInternal(process_info.process_handle(), -+ process_info.process_id(), -+ policy_base, last_error); -+ if (result != SBOX_ALL_OK) { - // This may fail in the same way as Job associated processes. - // crbug.com/480639. - SpawnCleanup(target); -- return SBOX_ERROR_CANNOT_DUPLICATE_PROCESS_HANDLE; -+ return result; - } -- base::win::ScopedHandle dup_process_handle(tmp_process_handle); -- ProcessTracker* tracker = new ProcessTracker( -- policy_base, process_info.process_id(), std::move(dup_process_handle)); -- // The tracker and policy will leak if this call fails. -- ::PostQueuedCompletionStatus(job_port_.Get(), 0, -- THREAD_CTRL_NEW_PROCESS_TRACKER, -- reinterpret_cast<LPOVERLAPPED>(tracker)); - } - - *target_info = process_info.Take(); - return result; - } - - ResultCode BrokerServicesBase::WaitForAllTargets() { - ::WaitForSingleObject(no_targets_.Get(), INFINITE); - return SBOX_ALL_OK; - } - -+bool BrokerServicesBase::IsSafeDuplicationTarget(DWORD process_id) { -+ AutoLock lock(&lock_); -+ return active_targets_.find(process_id) != active_targets_.end(); -+} -+ -+ResultCode BrokerServicesBase::AddTargetPeerInternal( -+ HANDLE peer_process_handle, -+ DWORD peer_process_id, -+ scoped_refptr<PolicyBase> policy_base, -+ DWORD* last_error) { -+ // Duplicate the process handle to give the tracking machinery -+ // something valid to wait on in the tracking thread. -+ HANDLE tmp_process_handle = INVALID_HANDLE_VALUE; -+ if (!::DuplicateHandle(::GetCurrentProcess(), peer_process_handle, -+ ::GetCurrentProcess(), &tmp_process_handle, -+ SYNCHRONIZE, false, 0 /*no options*/)) { -+ *last_error = ::GetLastError(); -+ return SBOX_ERROR_CANNOT_DUPLICATE_PROCESS_HANDLE; -+ } -+ base::win::ScopedHandle dup_process_handle(tmp_process_handle); -+ ProcessTracker* tracker = new ProcessTracker( -+ policy_base, peer_process_id, std::move(dup_process_handle)); -+ // The tracker and policy will leak if this call fails. -+ ::PostQueuedCompletionStatus(job_port_.Get(), 0, -+ THREAD_CTRL_NEW_PROCESS_TRACKER, -+ reinterpret_cast<LPOVERLAPPED>(tracker)); -+ -+ AutoLock lock(&lock_); -+ active_targets_.insert(peer_process_id); -+ -+ return SBOX_ALL_OK; -+} -+ -+ResultCode BrokerServicesBase::AddTargetPeer(HANDLE peer_process) { -+ DWORD last_error; -+ return AddTargetPeerInternal(peer_process, ::GetProcessId(peer_process), -+ nullptr, &last_error); -+} -+ - ResultCode BrokerServicesBase::GetPolicyDiagnostics( - std::unique_ptr<PolicyDiagnosticsReceiver> receiver) { - CHECK(job_thread_.IsValid()); - // Post to the job thread. - if (!::PostQueuedCompletionStatus( - job_port_.Get(), 0, THREAD_CTRL_GET_POLICY_INFO, - reinterpret_cast<LPOVERLAPPED>(receiver.get()))) { - receiver->OnError(SBOX_ERROR_GENERIC); -diff --git a/security/sandbox/chromium/sandbox/win/src/broker_services.h b/security/sandbox/chromium/sandbox/win/src/broker_services.h ---- a/security/sandbox/chromium/sandbox/win/src/broker_services.h -+++ b/security/sandbox/chromium/sandbox/win/src/broker_services.h -@@ -13,16 +13,17 @@ - - #include "base/compiler_specific.h" - #include "base/macros.h" - #include "base/memory/scoped_refptr.h" - #include "base/win/scoped_handle.h" - #include "sandbox/win/src/crosscall_server.h" - #include "sandbox/win/src/job.h" - #include "sandbox/win/src/sandbox.h" -+#include "sandbox/win/src/sandbox_policy_base.h" - #include "sandbox/win/src/sharedmem_ipc_server.h" - #include "sandbox/win/src/win2k_threadpool.h" - #include "sandbox/win/src/win_utils.h" - - namespace sandbox { - - // BrokerServicesBase --------------------------------------------------------- - // Broker implementation version 0 -@@ -43,16 +44,24 @@ class BrokerServicesBase final : public - scoped_refptr<TargetPolicy> CreatePolicy() override; - ResultCode SpawnTarget(const wchar_t* exe_path, - const wchar_t* command_line, - scoped_refptr<TargetPolicy> policy, - ResultCode* last_warning, - DWORD* last_error, - PROCESS_INFORMATION* target) override; - ResultCode WaitForAllTargets() override; -+ ResultCode AddTargetPeer(HANDLE peer_process) override; -+ -+ // Checks if the supplied process ID matches one of the broker's active -+ // target processes. We use this method for the specific purpose of -+ // checking if we can safely duplicate a handle to the supplied process -+ // in DuplicateHandleProxyAction. -+ bool IsSafeDuplicationTarget(DWORD process_id); -+ - ResultCode GetPolicyDiagnostics( - std::unique_ptr<PolicyDiagnosticsReceiver> receiver) override; - - private: - // The routine that the worker thread executes. It is in charge of - // notifications and cleanup-related tasks. - static DWORD WINAPI TargetEventsThread(PVOID param); - -@@ -65,14 +74,27 @@ class BrokerServicesBase final : public - base::win::ScopedHandle no_targets_; - - // Handle to the worker thread that reacts to job notifications. - base::win::ScopedHandle job_thread_; - - // Provides a pool of threads that are used to wait on the IPC calls. - std::unique_ptr<ThreadProvider> thread_pool_; - -+ // The set representing the broker's active target processes including -+ // both sandboxed and unsandboxed peer processes. -+ std::set<DWORD> active_targets_; -+ -+ // Lock used to protect active_targets_ from being simultaneously accessed -+ // by multiple threads. -+ CRITICAL_SECTION lock_; -+ -+ ResultCode AddTargetPeerInternal(HANDLE peer_process_handle, -+ DWORD peer_process_id, -+ scoped_refptr<PolicyBase> policy_base, -+ DWORD* last_error); -+ - DISALLOW_COPY_AND_ASSIGN(BrokerServicesBase); - }; - - } // namespace sandbox - - #endif // SANDBOX_WIN_SRC_BROKER_SERVICES_H_ -diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox.h b/security/sandbox/chromium/sandbox/win/src/sandbox.h ---- a/security/sandbox/chromium/sandbox/win/src/sandbox.h -+++ b/security/sandbox/chromium/sandbox/win/src/sandbox.h -@@ -96,16 +96,24 @@ class BrokerServices { - - // This call blocks (waits) for all the targets to terminate. - // Returns: - // ALL_OK if successful. All other return values imply failure. - // If the return is ERROR_GENERIC, you can call ::GetLastError() to get - // more information. - virtual ResultCode WaitForAllTargets() = 0; - -+ // Adds an unsandboxed process as a peer for policy decisions (e.g. -+ // HANDLES_DUP_ANY policy). -+ // Returns: -+ // ALL_OK if successful. All other return values imply failure. -+ // If the return is ERROR_GENERIC, you can call ::GetLastError() to get -+ // more information. -+ virtual ResultCode AddTargetPeer(HANDLE peer_process) = 0; -+ - // This call creates a snapshot of policies managed by the sandbox and - // returns them via a helper class. - // Parameters: - // receiver: The |PolicyDiagnosticsReceiver| implementation will be - // called to accept the results of the call. - // Returns: - // ALL_OK if the request was dispatched. All other return values - // imply failure, and the responder will not receive its completion diff --git a/security/sandbox/chromium-shim/patches/with_update/revert_remove_BrokerDuplicateHandle.patch b/security/sandbox/chromium-shim/patches/with_update/revert_remove_BrokerDuplicateHandle.patch deleted file mode 100644 index 970c0d1db2..0000000000 --- a/security/sandbox/chromium-shim/patches/with_update/revert_remove_BrokerDuplicateHandle.patch +++ /dev/null @@ -1,743 +0,0 @@ -# HG changeset patch -# User Toshihito Kikuchi <tkikuchi@mozilla.com> -# Date 1589671733 25200 -# Sat May 16 16:28:53 2020 -0700 -# Node ID 91bb5c3807cfe657cc24c9a3c217dd1f57db6d5c -# Parent 22eb0bf7180801edf775be44cf299a50e01eb7bf -Reinstate sandbox::TargetServices::BrokerDuplicateHandle. r=bobowen - -This patch reverts the commit removing sandbox::TargetServices::BrokerDuplicateHandle -and applies the new IpcTag type. - -https://chromium.googlesource.com/chromium/src.git/+/569193665184525ca366e65d0735f5c851106e43 -https://chromium.googlesource.com/chromium/src.git/+/c8cff7f9663ce6d1ef35e5c717f43c867c3906eb - -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc b/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc -@@ -0,0 +1,93 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "sandbox/win/src/handle_dispatcher.h" -+ -+#include <stdint.h> -+ -+#include "base/win/scoped_handle.h" -+#include "sandbox/win/src/handle_interception.h" -+#include "sandbox/win/src/handle_policy.h" -+#include "sandbox/win/src/ipc_tags.h" -+#include "sandbox/win/src/policy_broker.h" -+#include "sandbox/win/src/policy_params.h" -+#include "sandbox/win/src/sandbox.h" -+#include "sandbox/win/src/sandbox_nt_util.h" -+#include "sandbox/win/src/sandbox_types.h" -+#include "sandbox/win/src/sandbox_utils.h" -+ -+namespace sandbox { -+ -+HandleDispatcher::HandleDispatcher(PolicyBase* policy_base) -+ : policy_base_(policy_base) { -+ static const IPCCall duplicate_handle_proxy = { -+ {IpcTag::DUPLICATEHANDLEPROXY, -+ {VOIDPTR_TYPE, UINT32_TYPE, UINT32_TYPE, UINT32_TYPE}}, -+ reinterpret_cast<CallbackGeneric>( -+ &HandleDispatcher::DuplicateHandleProxy)}; -+ -+ ipc_calls_.push_back(duplicate_handle_proxy); -+} -+ -+bool HandleDispatcher::SetupService(InterceptionManager* manager, -+ IpcTag service) { -+ // We perform no interceptions for handles right now. -+ switch (service) { -+ case IpcTag::DUPLICATEHANDLEPROXY: -+ return true; -+ -+ default: -+ return false; -+ } -+} -+ -+bool HandleDispatcher::DuplicateHandleProxy(IPCInfo* ipc, -+ HANDLE source_handle, -+ uint32_t target_process_id, -+ uint32_t desired_access, -+ uint32_t options) { -+ static NtQueryObject QueryObject = NULL; -+ if (!QueryObject) -+ ResolveNTFunctionPtr("NtQueryObject", &QueryObject); -+ -+ // Get a copy of the handle for use in the broker process. -+ HANDLE handle_temp; -+ if (!::DuplicateHandle(ipc->client_info->process, source_handle, -+ ::GetCurrentProcess(), &handle_temp, -+ 0, FALSE, DUPLICATE_SAME_ACCESS | options)) { -+ ipc->return_info.win32_result = ::GetLastError(); -+ return false; -+ } -+ options &= ~DUPLICATE_CLOSE_SOURCE; -+ base::win::ScopedHandle handle(handle_temp); -+ -+ // Get the object type (32 characters is safe; current max is 14). -+ BYTE buffer[sizeof(OBJECT_TYPE_INFORMATION) + 32 * sizeof(wchar_t)]; -+ OBJECT_TYPE_INFORMATION* type_info = -+ reinterpret_cast<OBJECT_TYPE_INFORMATION*>(buffer); -+ ULONG size = sizeof(buffer) - sizeof(wchar_t); -+ NTSTATUS error = -+ QueryObject(handle.Get(), ObjectTypeInformation, type_info, size, &size); -+ if (!NT_SUCCESS(error)) { -+ ipc->return_info.nt_status = error; -+ return false; -+ } -+ type_info->Name.Buffer[type_info->Name.Length / sizeof(wchar_t)] = L'\0'; -+ -+ CountedParameterSet<HandleTarget> params; -+ params[HandleTarget::NAME] = ParamPickerMake(type_info->Name.Buffer); -+ params[HandleTarget::TARGET] = ParamPickerMake(target_process_id); -+ -+ EvalResult eval = policy_base_->EvalPolicy(IpcTag::DUPLICATEHANDLEPROXY, -+ params.GetBase()); -+ ipc->return_info.win32_result = -+ HandlePolicy::DuplicateHandleProxyAction(eval, handle.Get(), -+ target_process_id, -+ &ipc->return_info.handle, -+ desired_access, options); -+ return true; -+} -+ -+} // namespace sandbox -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h b/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h -@@ -0,0 +1,41 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef SANDBOX_SRC_HANDLE_DISPATCHER_H_ -+#define SANDBOX_SRC_HANDLE_DISPATCHER_H_ -+ -+#include <stdint.h> -+ -+#include "base/macros.h" -+#include "sandbox/win/src/crosscall_server.h" -+#include "sandbox/win/src/sandbox_policy_base.h" -+ -+namespace sandbox { -+ -+// This class handles handle-related IPC calls. -+class HandleDispatcher : public Dispatcher { -+ public: -+ explicit HandleDispatcher(PolicyBase* policy_base); -+ ~HandleDispatcher() override {} -+ -+ // Dispatcher interface. -+ bool SetupService(InterceptionManager* manager, IpcTag service) override; -+ -+ private: -+ // Processes IPC requests coming from calls to -+ // TargetServices::DuplicateHandle() in the target. -+ bool DuplicateHandleProxy(IPCInfo* ipc, -+ HANDLE source_handle, -+ uint32_t target_process_id, -+ uint32_t desired_access, -+ uint32_t options); -+ -+ PolicyBase* policy_base_; -+ DISALLOW_COPY_AND_ASSIGN(HandleDispatcher); -+}; -+ -+} // namespace sandbox -+ -+#endif // SANDBOX_SRC_HANDLE_DISPATCHER_H_ -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_interception.cc b/security/sandbox/chromium/sandbox/win/src/handle_interception.cc -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_interception.cc -@@ -0,0 +1,45 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "sandbox/win/src/handle_interception.h" -+ -+#include "sandbox/win/src/crosscall_client.h" -+#include "sandbox/win/src/ipc_tags.h" -+#include "sandbox/win/src/sandbox_factory.h" -+#include "sandbox/win/src/sandbox_nt_util.h" -+#include "sandbox/win/src/sharedmem_ipc_client.h" -+#include "sandbox/win/src/target_services.h" -+ -+namespace sandbox { -+ -+ResultCode DuplicateHandleProxy(HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options) { -+ *target_handle = NULL; -+ -+ void* memory = GetGlobalIPCMemory(); -+ if (NULL == memory) -+ return SBOX_ERROR_NO_SPACE; -+ -+ SharedMemIPCClient ipc(memory); -+ CrossCallReturn answer = {0}; -+ ResultCode code = CrossCall(ipc, IpcTag::DUPLICATEHANDLEPROXY, -+ source_handle, target_process_id, -+ desired_access, options, &answer); -+ if (SBOX_ALL_OK != code) -+ return code; -+ -+ if (answer.win32_result) { -+ ::SetLastError(answer.win32_result); -+ return SBOX_ERROR_GENERIC; -+ } -+ -+ *target_handle = answer.handle; -+ return SBOX_ALL_OK; -+} -+ -+} // namespace sandbox -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_interception.h b/security/sandbox/chromium/sandbox/win/src/handle_interception.h -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_interception.h -@@ -0,0 +1,24 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "sandbox/win/src/nt_internals.h" -+#include "sandbox/win/src/sandbox_types.h" -+ -+#ifndef SANDBOX_SRC_HANDLE_INTERCEPTION_H_ -+#define SANDBOX_SRC_HANDLE_INTERCEPTION_H_ -+ -+namespace sandbox { -+ -+// TODO(jschuh) Add an interception to catch dangerous DuplicateHandle calls. -+ -+ResultCode DuplicateHandleProxy(HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options); -+ -+} // namespace sandbox -+ -+#endif // SANDBOX_SRC_HANDLE_INTERCEPTION_H_ -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_policy.cc b/security/sandbox/chromium/sandbox/win/src/handle_policy.cc -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_policy.cc -@@ -0,0 +1,93 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "sandbox/win/src/handle_policy.h" -+ -+#include <string> -+ -+#include "base/win/scoped_handle.h" -+#include "sandbox/win/src/broker_services.h" -+#include "sandbox/win/src/ipc_tags.h" -+#include "sandbox/win/src/policy_engine_opcodes.h" -+#include "sandbox/win/src/policy_params.h" -+#include "sandbox/win/src/sandbox_types.h" -+#include "sandbox/win/src/sandbox_utils.h" -+ -+namespace sandbox { -+ -+bool HandlePolicy::GenerateRules(const wchar_t* type_name, -+ TargetPolicy::Semantics semantics, -+ LowLevelPolicy* policy) { -+ PolicyRule duplicate_rule(ASK_BROKER); -+ -+ switch (semantics) { -+ case TargetPolicy::HANDLES_DUP_ANY: { -+ if (!duplicate_rule.AddNumberMatch(IF_NOT, HandleTarget::TARGET, -+ ::GetCurrentProcessId(), EQUAL)) { -+ return false; -+ } -+ break; -+ } -+ -+ case TargetPolicy::HANDLES_DUP_BROKER: { -+ if (!duplicate_rule.AddNumberMatch(IF, HandleTarget::TARGET, -+ ::GetCurrentProcessId(), EQUAL)) { -+ return false; -+ } -+ break; -+ } -+ -+ default: -+ return false; -+ } -+ if (!duplicate_rule.AddStringMatch(IF, HandleTarget::NAME, type_name, -+ CASE_INSENSITIVE)) { -+ return false; -+ } -+ if (!policy->AddRule(IpcTag::DUPLICATEHANDLEPROXY, &duplicate_rule)) { -+ return false; -+ } -+ return true; -+} -+ -+DWORD HandlePolicy::DuplicateHandleProxyAction(EvalResult eval_result, -+ HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options) { -+ // The only action supported is ASK_BROKER which means duplicate the handle. -+ if (ASK_BROKER != eval_result) { -+ return ERROR_ACCESS_DENIED; -+ } -+ -+ base::win::ScopedHandle remote_target_process; -+ if (target_process_id != ::GetCurrentProcessId()) { -+ // Sandboxed children are dynamic, so we check that manually. -+ if (!BrokerServicesBase::GetInstance()->IsSafeDuplicationTarget( -+ target_process_id)) { -+ return ERROR_ACCESS_DENIED; -+ } -+ -+ remote_target_process.Set(::OpenProcess(PROCESS_DUP_HANDLE, FALSE, -+ target_process_id)); -+ if (!remote_target_process.IsValid()) -+ return ::GetLastError(); -+ } -+ -+ // If the policy didn't block us and we have no valid target, then the broker -+ // (this process) is the valid target. -+ HANDLE target_process = remote_target_process.IsValid() ? -+ remote_target_process.Get() : ::GetCurrentProcess(); -+ if (!::DuplicateHandle(::GetCurrentProcess(), source_handle, target_process, -+ target_handle, desired_access, FALSE, -+ options)) { -+ return ::GetLastError(); -+ } -+ -+ return ERROR_SUCCESS; -+} -+ -+} // namespace sandbox -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_policy.h b/security/sandbox/chromium/sandbox/win/src/handle_policy.h -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_policy.h -@@ -0,0 +1,39 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef SANDBOX_SRC_HANDLE_POLICY_H_ -+#define SANDBOX_SRC_HANDLE_POLICY_H_ -+ -+#include <string> -+ -+#include "sandbox/win/src/crosscall_server.h" -+#include "sandbox/win/src/policy_low_level.h" -+#include "sandbox/win/src/sandbox_policy.h" -+ -+namespace sandbox { -+ -+enum EvalResult; -+ -+// This class centralizes most of the knowledge related to handle policy. -+class HandlePolicy { -+ public: -+ // Creates the required low-level policy rules to evaluate a high-level -+ // policy rule for handles, in particular duplicate action. -+ static bool GenerateRules(const wchar_t* type_name, -+ TargetPolicy::Semantics semantics, -+ LowLevelPolicy* policy); -+ -+ // Processes a 'TargetPolicy::DuplicateHandle()' request from the target. -+ static DWORD DuplicateHandleProxyAction(EvalResult eval_result, -+ HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options); -+}; -+ -+} // namespace sandbox -+ -+#endif // SANDBOX_SRC_HANDLE_POLICY_H_ -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc b/security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc -new file mode 100644 ---- /dev/null -+++ b/security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc -@@ -0,0 +1,114 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "base/strings/stringprintf.h" -+#include "sandbox/win/src/handle_policy.h" -+#include "sandbox/win/src/nt_internals.h" -+#include "sandbox/win/src/sandbox.h" -+#include "sandbox/win/src/sandbox_factory.h" -+#include "sandbox/win/src/sandbox_policy.h" -+#include "sandbox/win/src/win_utils.h" -+#include "sandbox/win/tests/common/controller.h" -+#include "testing/gtest/include/gtest/gtest.h" -+ -+namespace sandbox { -+ -+// Just waits for the supplied number of milliseconds. -+SBOX_TESTS_COMMAND int Handle_WaitProcess(int argc, wchar_t **argv) { -+ if (argc != 1) -+ return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; -+ -+ ::Sleep(::wcstoul(argv[0], NULL, 10)); -+ return SBOX_TEST_TIMED_OUT; -+} -+ -+// Attempts to duplicate an event handle into the target process. -+SBOX_TESTS_COMMAND int Handle_DuplicateEvent(int argc, wchar_t **argv) { -+ if (argc != 1) -+ return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; -+ -+ // Create a test event to use as a handle. -+ base::win::ScopedHandle test_event; -+ test_event.Set(::CreateEvent(NULL, TRUE, TRUE, NULL)); -+ if (!test_event.IsValid()) -+ return SBOX_TEST_FIRST_ERROR; -+ -+ // Get the target process ID. -+ DWORD target_process_id = ::wcstoul(argv[0], NULL, 10); -+ -+ HANDLE handle = NULL; -+ ResultCode result = SandboxFactory::GetTargetServices()->DuplicateHandle( -+ test_event.Get(), target_process_id, &handle, 0, DUPLICATE_SAME_ACCESS); -+ -+ return (result == SBOX_ALL_OK) ? SBOX_TEST_SUCCEEDED : SBOX_TEST_DENIED; -+} -+ -+// Tests that duplicating an object works only when the policy allows it. -+TEST(HandlePolicyTest, DuplicateHandle) { -+ TestRunner target; -+ TestRunner runner; -+ -+ // Kick off an asynchronous target process for testing. -+ target.SetAsynchronous(true); -+ EXPECT_EQ(SBOX_TEST_SUCCEEDED, target.RunTest(L"Handle_WaitProcess 30000")); -+ -+ // First test that we fail to open the event. -+ base::string16 cmd_line = base::StringPrintf(L"Handle_DuplicateEvent %d", -+ target.process_id()); -+ EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); -+ -+ // Now successfully open the event after adding a duplicate handle rule. -+ EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, -+ TargetPolicy::HANDLES_DUP_ANY, -+ L"Event")); -+ EXPECT_EQ(SBOX_TEST_SUCCEEDED, runner.RunTest(cmd_line.c_str())); -+} -+ -+// Tests that duplicating an object works only when the policy allows it. -+TEST(HandlePolicyTest, DuplicatePeerHandle) { -+ TestRunner target; -+ TestRunner runner; -+ -+ // Kick off an asynchronous target process for testing. -+ target.SetAsynchronous(true); -+ target.SetUnsandboxed(true); -+ EXPECT_EQ(SBOX_TEST_SUCCEEDED, target.RunTest(L"Handle_WaitProcess 30000")); -+ -+ // First test that we fail to open the event. -+ base::string16 cmd_line = base::StringPrintf(L"Handle_DuplicateEvent %d", -+ target.process_id()); -+ EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); -+ -+ // Now successfully open the event after adding a duplicate handle rule. -+ EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, -+ TargetPolicy::HANDLES_DUP_ANY, -+ L"Event")); -+ EXPECT_EQ(SBOX_TEST_SUCCEEDED, runner.RunTest(cmd_line.c_str())); -+} -+ -+// Tests that duplicating an object works only when the policy allows it. -+TEST(HandlePolicyTest, DuplicateBrokerHandle) { -+ TestRunner runner; -+ -+ // First test that we fail to open the event. -+ base::string16 cmd_line = base::StringPrintf(L"Handle_DuplicateEvent %d", -+ ::GetCurrentProcessId()); -+ EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); -+ -+ // Add the peer rule and make sure we fail again. -+ EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, -+ TargetPolicy::HANDLES_DUP_ANY, -+ L"Event")); -+ EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); -+ -+ -+ // Now successfully open the event after adding a broker handle rule. -+ EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, -+ TargetPolicy::HANDLES_DUP_BROKER, -+ L"Event")); -+ EXPECT_EQ(SBOX_TEST_SUCCEEDED, runner.RunTest(cmd_line.c_str())); -+} -+ -+} // namespace sandbox -+ -diff --git a/security/sandbox/chromium/sandbox/win/src/ipc_tags.h b/security/sandbox/chromium/sandbox/win/src/ipc_tags.h ---- a/security/sandbox/chromium/sandbox/win/src/ipc_tags.h -+++ b/security/sandbox/chromium/sandbox/win/src/ipc_tags.h -@@ -23,16 +23,17 @@ enum class IpcTag { - NTOPENPROCESS, - NTOPENPROCESSTOKEN, - NTOPENPROCESSTOKENEX, - CREATEPROCESSW, - CREATEEVENT, - OPENEVENT, - NTCREATEKEY, - NTOPENKEY, -+ DUPLICATEHANDLEPROXY, - GDI_GDIDLLINITIALIZE, - GDI_GETSTOCKOBJECT, - USER_REGISTERCLASSW, - CREATETHREAD, - USER_ENUMDISPLAYMONITORS, - USER_ENUMDISPLAYDEVICES, - USER_GETMONITORINFO, - GDI_CREATEOPMPROTECTEDOUTPUTS, -diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox.h b/security/sandbox/chromium/sandbox/win/src/sandbox.h ---- a/security/sandbox/chromium/sandbox/win/src/sandbox.h -+++ b/security/sandbox/chromium/sandbox/win/src/sandbox.h -@@ -161,16 +161,30 @@ class TargetServices { - // fails the current process could be terminated immediately. - virtual void LowerToken() = 0; - - // Returns the ProcessState object. Through that object it's possible to have - // information about the current state of the process, such as whether - // LowerToken has been called or not. - virtual ProcessState* GetState() = 0; - -+ // Requests the broker to duplicate the supplied handle into the target -+ // process. The target process must be an active sandbox child process -+ // and the source process must have a corresponding policy allowing -+ // handle duplication for this object type. -+ // Returns: -+ // ALL_OK if successful. All other return values imply failure. -+ // If the return is ERROR_GENERIC, you can call ::GetLastError() to get -+ // more information. -+ virtual ResultCode DuplicateHandle(HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options) = 0; -+ - protected: - ~TargetServices() {} - }; - - class PolicyInfo { - public: - // Returns a JSON representation of the policy snapshot. - // This pointer has the same lifetime as this PolicyInfo object. -diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h b/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h ---- a/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h -+++ b/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h -@@ -25,28 +25,32 @@ class TargetPolicy { - // exactly like the CreateProcess API does. See the comment at the top of - // process_thread_dispatcher.cc for more details. - enum SubSystem { - SUBSYS_FILES, // Creation and opening of files and pipes. - SUBSYS_NAMED_PIPES, // Creation of named pipes. - SUBSYS_PROCESS, // Creation of child processes. - SUBSYS_REGISTRY, // Creation and opening of registry keys. - SUBSYS_SYNC, // Creation of named sync objects. -+ SUBSYS_HANDLES, // Duplication of handles to other processes. - SUBSYS_WIN32K_LOCKDOWN, // Win32K Lockdown related policy. - SUBSYS_SIGNED_BINARY // Signed binary policy. - }; - - // Allowable semantics when a rule is matched. - enum Semantics { - FILES_ALLOW_ANY, // Allows open or create for any kind of access that - // the file system supports. - FILES_ALLOW_READONLY, // Allows open or create with read access only. - FILES_ALLOW_QUERY, // Allows access to query the attributes of a file. - FILES_ALLOW_DIR_ANY, // Allows open or create with directory semantics - // only. -+ HANDLES_DUP_ANY, // Allows duplicating handles opened with any -+ // access permissions. -+ HANDLES_DUP_BROKER, // Allows duplicating handles to the broker process. - NAMEDPIPES_ALLOW_ANY, // Allows creation of a named pipe. - PROCESS_MIN_EXEC, // Allows to create a process with minimal rights - // over the resulting process and thread handles. - // No other parameters besides the command line are - // passed to the child process. - PROCESS_ALL_EXEC, // Allows the creation of a process and return full - // access on the returned handles. - // This flag can be used only when the main token of -diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc b/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc ---- a/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc -+++ b/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc -@@ -12,16 +12,17 @@ - #include "base/logging.h" - #include "base/macros.h" - #include "base/stl_util.h" - #include "base/strings/stringprintf.h" - #include "base/win/win_util.h" - #include "base/win/windows_version.h" - #include "sandbox/win/src/acl.h" - #include "sandbox/win/src/filesystem_policy.h" -+#include "sandbox/win/src/handle_policy.h" - #include "sandbox/win/src/interception.h" - #include "sandbox/win/src/job.h" - #include "sandbox/win/src/named_pipe_policy.h" - #include "sandbox/win/src/policy_broker.h" - #include "sandbox/win/src/policy_engine_processor.h" - #include "sandbox/win/src/policy_low_level.h" - #include "sandbox/win/src/process_mitigations.h" - #include "sandbox/win/src/process_mitigations_win32k_policy.h" -@@ -754,16 +755,24 @@ ResultCode PolicyBase::AddRuleInternal(S - } - case SUBSYS_REGISTRY: { - if (!RegistryPolicy::GenerateRules(pattern, semantics, policy_maker_)) { - NOTREACHED(); - return SBOX_ERROR_BAD_PARAMS; - } - break; - } -+ case SUBSYS_HANDLES: { -+ if (!HandlePolicy::GenerateRules(pattern, semantics, policy_maker_)) { -+ NOTREACHED(); -+ return SBOX_ERROR_BAD_PARAMS; -+ } -+ break; -+ } -+ - case SUBSYS_WIN32K_LOCKDOWN: { - // Win32k intercept rules only supported on Windows 8 and above. This must - // match the version checks in process_mitigations.cc for consistency. - if (base::win::GetVersion() >= base::win::Version::WIN8) { - DCHECK_EQ(MITIGATION_WIN32K_DISABLE, - mitigations_ & MITIGATION_WIN32K_DISABLE) - << "Enable MITIGATION_WIN32K_DISABLE before adding win32k policy " - "rules."; -diff --git a/security/sandbox/chromium/sandbox/win/src/target_services.cc b/security/sandbox/chromium/sandbox/win/src/target_services.cc ---- a/security/sandbox/chromium/sandbox/win/src/target_services.cc -+++ b/security/sandbox/chromium/sandbox/win/src/target_services.cc -@@ -7,16 +7,17 @@ - #include <new> - - #include <process.h> - #include <stdint.h> - - #include "base/win/windows_version.h" - #include "sandbox/win/src/crosscall_client.h" - #include "sandbox/win/src/handle_closer_agent.h" -+#include "sandbox/win/src/handle_interception.h" - #include "sandbox/win/src/heap_helper.h" - #include "sandbox/win/src/ipc_tags.h" - #include "sandbox/win/src/process_mitigations.h" - #include "sandbox/win/src/restricted_token_utils.h" - #include "sandbox/win/src/sandbox.h" - #include "sandbox/win/src/sandbox_nt_util.h" - #include "sandbox/win/src/sandbox_types.h" - #include "sandbox/win/src/sharedmem_ipc_client.h" -@@ -239,9 +240,19 @@ void ProcessState::SetRevertedToSelf() { - if (process_state_ < ProcessStateInternal::REVERTED_TO_SELF) - process_state_ = ProcessStateInternal::REVERTED_TO_SELF; - } - - void ProcessState::SetCsrssConnected(bool csrss_connected) { - csrss_connected_ = csrss_connected; - } - -+ -+ResultCode TargetServicesBase::DuplicateHandle(HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options) { -+ return sandbox::DuplicateHandleProxy(source_handle, target_process_id, -+ target_handle, desired_access, options); -+} -+ - } // namespace sandbox -diff --git a/security/sandbox/chromium/sandbox/win/src/target_services.h b/security/sandbox/chromium/sandbox/win/src/target_services.h ---- a/security/sandbox/chromium/sandbox/win/src/target_services.h -+++ b/security/sandbox/chromium/sandbox/win/src/target_services.h -@@ -40,16 +40,21 @@ class ProcessState { - class TargetServicesBase : public TargetServices { - public: - TargetServicesBase(); - - // Public interface of TargetServices. - ResultCode Init() override; - void LowerToken() override; - ProcessState* GetState() override; -+ ResultCode DuplicateHandle(HANDLE source_handle, -+ DWORD target_process_id, -+ HANDLE* target_handle, -+ DWORD desired_access, -+ DWORD options) override; - - // Factory method. - static TargetServicesBase* GetInstance(); - - // Sends a simple IPC Message that has a well-known answer. Returns true - // if the IPC was successful and false otherwise. There are 2 versions of - // this test: 1 and 2. The first one send a simple message while the - // second one send a message with an in/out param. -diff --git a/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc b/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc ---- a/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc -+++ b/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc -@@ -5,16 +5,17 @@ - #include "sandbox/win/src/top_level_dispatcher.h" - - #include <stdint.h> - #include <string.h> - - #include "base/logging.h" - #include "sandbox/win/src/crosscall_server.h" - #include "sandbox/win/src/filesystem_dispatcher.h" -+#include "sandbox/win/src/handle_dispatcher.h" - #include "sandbox/win/src/interception.h" - #include "sandbox/win/src/internal_types.h" - #include "sandbox/win/src/ipc_tags.h" - #include "sandbox/win/src/named_pipe_dispatcher.h" - #include "sandbox/win/src/process_mitigations_win32k_dispatcher.h" - #include "sandbox/win/src/process_thread_dispatcher.h" - #include "sandbox/win/src/registry_dispatcher.h" - #include "sandbox/win/src/sandbox_policy_base.h" -@@ -55,16 +56,20 @@ TopLevelDispatcher::TopLevelDispatcher(P - ipc_targets_[static_cast<size_t>(IpcTag::OPENEVENT)] = dispatcher; - sync_dispatcher_.reset(dispatcher); - - dispatcher = new RegistryDispatcher(policy_); - ipc_targets_[static_cast<size_t>(IpcTag::NTCREATEKEY)] = dispatcher; - ipc_targets_[static_cast<size_t>(IpcTag::NTOPENKEY)] = dispatcher; - registry_dispatcher_.reset(dispatcher); - -+ dispatcher = new HandleDispatcher(policy_); -+ ipc_targets_[static_cast<size_t>(IpcTag::DUPLICATEHANDLEPROXY)] = dispatcher; -+ handle_dispatcher_.reset(dispatcher); -+ - dispatcher = new ProcessMitigationsWin32KDispatcher(policy_); - ipc_targets_[static_cast<size_t>(IpcTag::GDI_GDIDLLINITIALIZE)] = dispatcher; - ipc_targets_[static_cast<size_t>(IpcTag::GDI_GETSTOCKOBJECT)] = dispatcher; - ipc_targets_[static_cast<size_t>(IpcTag::USER_REGISTERCLASSW)] = dispatcher; - ipc_targets_[static_cast<size_t>(IpcTag::USER_ENUMDISPLAYMONITORS)] = - dispatcher; - ipc_targets_[static_cast<size_t>(IpcTag::USER_ENUMDISPLAYDEVICES)] = - dispatcher; diff --git a/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h b/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h index 313511f22e..c43e73448f 100644 --- a/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +++ b/security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h @@ -51,9 +51,9 @@ #elif defined(__aarch64__) -#include <asm-generic/unistd.h> +// The unistd.h included in the sysroot has a very old __NR_syscalls #define MIN_SYSCALL 0u -#define MAX_PUBLIC_SYSCALL __NR_syscalls +#define MAX_PUBLIC_SYSCALL (MIN_SYSCALL + 1024u) #define MAX_SYSCALL MAX_PUBLIC_SYSCALL #else diff --git a/security/sandbox/chromium/sandbox/win/src/broker_services.cc b/security/sandbox/chromium/sandbox/win/src/broker_services.cc index 0ba71bbd5d..613becf37b 100644 --- a/security/sandbox/chromium/sandbox/win/src/broker_services.cc +++ b/security/sandbox/chromium/sandbox/win/src/broker_services.cc @@ -159,8 +159,6 @@ ResultCode BrokerServicesBase::Init() { if (job_port_.IsValid() || thread_pool_) return SBOX_ERROR_UNEXPECTED_CALL; - ::InitializeCriticalSection(&lock_); - job_port_.Set(::CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, 0, 0)); if (!job_port_.IsValid()) return SBOX_ERROR_CANNOT_INIT_BROKERSERVICES; @@ -201,7 +199,6 @@ BrokerServicesBase::~BrokerServicesBase() { return; } thread_pool_.reset(); - ::DeleteCriticalSection(&lock_); } scoped_refptr<TargetPolicy> BrokerServicesBase::CreatePolicy() { @@ -294,11 +291,6 @@ DWORD WINAPI BrokerServicesBase::TargetEventsThread(PVOID param) { case JOB_OBJECT_MSG_EXIT_PROCESS: case JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: { - { - AutoLock lock(&broker->lock_); - broker->active_targets_.erase( - static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl))); - } size_t erase_result = child_process_ids.erase( static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl))); if (erase_result != 1U) { @@ -364,11 +356,6 @@ DWORD WINAPI BrokerServicesBase::TargetEventsThread(PVOID param) { ProcessTracker* tracker = static_cast<ProcessTracker*>(reinterpret_cast<void*>(ovl)); - { - AutoLock lock(&broker->lock_); - broker->active_targets_.erase(tracker->process_id); - } - ::UnregisterWait(tracker->wait_handle); tracker->wait_handle = INVALID_HANDLE_VALUE; // Copy process_id so that we can legally reference it even after we have @@ -659,19 +646,26 @@ ResultCode BrokerServicesBase::SpawnTarget(const wchar_t* exe_path, // SpawnCleanup() caused deletion of TargetProcess twice. crbug.com/480639 CHECK( AssociateCompletionPort(tracker->job.Get(), job_port_.Get(), tracker)); - - AutoLock lock(&lock_); - active_targets_.insert(process_info.process_id()); } else { - result = AddTargetPeerInternal(process_info.process_handle(), - process_info.process_id(), - policy_base, last_error); - if (result != SBOX_ALL_OK) { + // Duplicate the process handle to give the tracking machinery + // something valid to wait on in the tracking thread. + HANDLE tmp_process_handle = INVALID_HANDLE_VALUE; + if (!::DuplicateHandle(::GetCurrentProcess(), process_info.process_handle(), + ::GetCurrentProcess(), &tmp_process_handle, + SYNCHRONIZE, false, 0 /*no options*/)) { + *last_error = ::GetLastError(); // This may fail in the same way as Job associated processes. // crbug.com/480639. target->Terminate(); - return result; + return SBOX_ERROR_CANNOT_DUPLICATE_PROCESS_HANDLE; } + base::win::ScopedHandle dup_process_handle(tmp_process_handle); + ProcessTracker* tracker = new ProcessTracker( + policy_base, process_info.process_id(), std::move(dup_process_handle)); + // The tracker and policy will leak if this call fails. + ::PostQueuedCompletionStatus(job_port_.Get(), 0, + THREAD_CTRL_NEW_PROCESS_TRACKER, + reinterpret_cast<LPOVERLAPPED>(tracker)); } *target_info = process_info.Take(); @@ -683,45 +677,6 @@ ResultCode BrokerServicesBase::WaitForAllTargets() { return SBOX_ALL_OK; } -bool BrokerServicesBase::IsSafeDuplicationTarget(DWORD process_id) { - AutoLock lock(&lock_); - return active_targets_.find(process_id) != active_targets_.end(); -} - -ResultCode BrokerServicesBase::AddTargetPeerInternal( - HANDLE peer_process_handle, - DWORD peer_process_id, - scoped_refptr<PolicyBase> policy_base, - DWORD* last_error) { - // Duplicate the process handle to give the tracking machinery - // something valid to wait on in the tracking thread. - HANDLE tmp_process_handle = INVALID_HANDLE_VALUE; - if (!::DuplicateHandle(::GetCurrentProcess(), peer_process_handle, - ::GetCurrentProcess(), &tmp_process_handle, - SYNCHRONIZE, false, 0 /*no options*/)) { - *last_error = ::GetLastError(); - return SBOX_ERROR_CANNOT_DUPLICATE_PROCESS_HANDLE; - } - base::win::ScopedHandle dup_process_handle(tmp_process_handle); - ProcessTracker* tracker = new ProcessTracker( - policy_base, peer_process_id, std::move(dup_process_handle)); - // The tracker and policy will leak if this call fails. - ::PostQueuedCompletionStatus(job_port_.Get(), 0, - THREAD_CTRL_NEW_PROCESS_TRACKER, - reinterpret_cast<LPOVERLAPPED>(tracker)); - - AutoLock lock(&lock_); - active_targets_.insert(peer_process_id); - - return SBOX_ALL_OK; -} - -ResultCode BrokerServicesBase::AddTargetPeer(HANDLE peer_process) { - DWORD last_error; - return AddTargetPeerInternal(peer_process, ::GetProcessId(peer_process), - nullptr, &last_error); -} - ResultCode BrokerServicesBase::GetPolicyDiagnostics( std::unique_ptr<PolicyDiagnosticsReceiver> receiver) { CHECK(job_thread_.IsValid()); diff --git a/security/sandbox/chromium/sandbox/win/src/broker_services.h b/security/sandbox/chromium/sandbox/win/src/broker_services.h index 64dc6d66e5..1d7eafdea3 100644 --- a/security/sandbox/chromium/sandbox/win/src/broker_services.h +++ b/security/sandbox/chromium/sandbox/win/src/broker_services.h @@ -19,7 +19,6 @@ #include "sandbox/win/src/crosscall_server.h" #include "sandbox/win/src/job.h" #include "sandbox/win/src/sandbox.h" -#include "sandbox/win/src/sandbox_policy_base.h" #include "sandbox/win/src/sharedmem_ipc_server.h" #include "sandbox/win/src/win2k_threadpool.h" #include "sandbox/win/src/win_utils.h" @@ -51,14 +50,6 @@ class BrokerServicesBase final : public BrokerServices, DWORD* last_error, PROCESS_INFORMATION* target) override; ResultCode WaitForAllTargets() override; - ResultCode AddTargetPeer(HANDLE peer_process) override; - - // Checks if the supplied process ID matches one of the broker's active - // target processes. We use this method for the specific purpose of - // checking if we can safely duplicate a handle to the supplied process - // in DuplicateHandleProxyAction. - bool IsSafeDuplicationTarget(DWORD process_id); - ResultCode GetPolicyDiagnostics( std::unique_ptr<PolicyDiagnosticsReceiver> receiver) override; @@ -84,19 +75,6 @@ class BrokerServicesBase final : public BrokerServices, // Provides a pool of threads that are used to wait on the IPC calls. std::unique_ptr<ThreadProvider> thread_pool_; - // The set representing the broker's active target processes including - // both sandboxed and unsandboxed peer processes. - std::set<DWORD> active_targets_; - - // Lock used to protect active_targets_ from being simultaneously accessed - // by multiple threads. - CRITICAL_SECTION lock_; - - ResultCode AddTargetPeerInternal(HANDLE peer_process_handle, - DWORD peer_process_id, - scoped_refptr<PolicyBase> policy_base, - DWORD* last_error); - DISALLOW_COPY_AND_ASSIGN(BrokerServicesBase); }; diff --git a/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc b/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc deleted file mode 100644 index 611e33d2a6..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "sandbox/win/src/handle_dispatcher.h" - -#include <stdint.h> - -#include "base/win/scoped_handle.h" -#include "sandbox/win/src/handle_interception.h" -#include "sandbox/win/src/handle_policy.h" -#include "sandbox/win/src/ipc_tags.h" -#include "sandbox/win/src/policy_broker.h" -#include "sandbox/win/src/policy_params.h" -#include "sandbox/win/src/sandbox.h" -#include "sandbox/win/src/sandbox_nt_util.h" -#include "sandbox/win/src/sandbox_types.h" -#include "sandbox/win/src/sandbox_utils.h" - -namespace sandbox { - -HandleDispatcher::HandleDispatcher(PolicyBase* policy_base) - : policy_base_(policy_base) { - static const IPCCall duplicate_handle_proxy = { - {IpcTag::DUPLICATEHANDLEPROXY, - {VOIDPTR_TYPE, UINT32_TYPE, UINT32_TYPE, UINT32_TYPE}}, - reinterpret_cast<CallbackGeneric>( - &HandleDispatcher::DuplicateHandleProxy)}; - - ipc_calls_.push_back(duplicate_handle_proxy); -} - -bool HandleDispatcher::SetupService(InterceptionManager* manager, - IpcTag service) { - // We perform no interceptions for handles right now. - switch (service) { - case IpcTag::DUPLICATEHANDLEPROXY: - return true; - - default: - return false; - } -} - -bool HandleDispatcher::DuplicateHandleProxy(IPCInfo* ipc, - HANDLE source_handle, - uint32_t target_process_id, - uint32_t desired_access, - uint32_t options) { - static NtQueryObject QueryObject = NULL; - if (!QueryObject) - ResolveNTFunctionPtr("NtQueryObject", &QueryObject); - - // Get a copy of the handle for use in the broker process. - HANDLE handle_temp; - if (!::DuplicateHandle(ipc->client_info->process, source_handle, - ::GetCurrentProcess(), &handle_temp, - 0, FALSE, DUPLICATE_SAME_ACCESS | options)) { - ipc->return_info.win32_result = ::GetLastError(); - return false; - } - options &= ~DUPLICATE_CLOSE_SOURCE; - base::win::ScopedHandle handle(handle_temp); - - // Get the object type (32 characters is safe; current max is 14). - BYTE buffer[sizeof(OBJECT_TYPE_INFORMATION) + 32 * sizeof(wchar_t)]; - OBJECT_TYPE_INFORMATION* type_info = - reinterpret_cast<OBJECT_TYPE_INFORMATION*>(buffer); - ULONG size = sizeof(buffer) - sizeof(wchar_t); - NTSTATUS error = - QueryObject(handle.Get(), ObjectTypeInformation, type_info, size, &size); - if (!NT_SUCCESS(error)) { - ipc->return_info.nt_status = error; - return false; - } - type_info->Name.Buffer[type_info->Name.Length / sizeof(wchar_t)] = L'\0'; - - CountedParameterSet<HandleTarget> params; - params[HandleTarget::NAME] = ParamPickerMake(type_info->Name.Buffer); - params[HandleTarget::TARGET] = ParamPickerMake(target_process_id); - - EvalResult eval = policy_base_->EvalPolicy(IpcTag::DUPLICATEHANDLEPROXY, - params.GetBase()); - ipc->return_info.win32_result = - HandlePolicy::DuplicateHandleProxyAction(eval, handle.Get(), - target_process_id, - &ipc->return_info.handle, - desired_access, options); - return true; -} - -} // namespace sandbox - diff --git a/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h b/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h deleted file mode 100644 index 6f9adbc10b..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef SANDBOX_SRC_HANDLE_DISPATCHER_H_ -#define SANDBOX_SRC_HANDLE_DISPATCHER_H_ - -#include <stdint.h> - -#include "base/macros.h" -#include "sandbox/win/src/crosscall_server.h" -#include "sandbox/win/src/sandbox_policy_base.h" - -namespace sandbox { - -// This class handles handle-related IPC calls. -class HandleDispatcher : public Dispatcher { - public: - explicit HandleDispatcher(PolicyBase* policy_base); - ~HandleDispatcher() override {} - - // Dispatcher interface. - bool SetupService(InterceptionManager* manager, IpcTag service) override; - - private: - // Processes IPC requests coming from calls to - // TargetServices::DuplicateHandle() in the target. - bool DuplicateHandleProxy(IPCInfo* ipc, - HANDLE source_handle, - uint32_t target_process_id, - uint32_t desired_access, - uint32_t options); - - PolicyBase* policy_base_; - DISALLOW_COPY_AND_ASSIGN(HandleDispatcher); -}; - -} // namespace sandbox - -#endif // SANDBOX_SRC_HANDLE_DISPATCHER_H_ - diff --git a/security/sandbox/chromium/sandbox/win/src/handle_interception.cc b/security/sandbox/chromium/sandbox/win/src/handle_interception.cc deleted file mode 100644 index 53db4a8b27..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_interception.cc +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "sandbox/win/src/handle_interception.h" - -#include "sandbox/win/src/crosscall_client.h" -#include "sandbox/win/src/ipc_tags.h" -#include "sandbox/win/src/sandbox_factory.h" -#include "sandbox/win/src/sandbox_nt_util.h" -#include "sandbox/win/src/sharedmem_ipc_client.h" -#include "sandbox/win/src/target_services.h" -#include "mozilla/sandboxing/sandboxLogging.h" - -namespace sandbox { - -ResultCode DuplicateHandleProxy(HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options) { - *target_handle = NULL; - - void* memory = GetGlobalIPCMemory(); - if (NULL == memory) - return SBOX_ERROR_NO_SPACE; - - SharedMemIPCClient ipc(memory); - CrossCallReturn answer = {0}; - ResultCode code = CrossCall(ipc, IpcTag::DUPLICATEHANDLEPROXY, - source_handle, target_process_id, - desired_access, options, &answer); - if (SBOX_ALL_OK != code) - return code; - - if (answer.win32_result) { - ::SetLastError(answer.win32_result); - mozilla::sandboxing::LogBlocked("DuplicateHandle"); - return SBOX_ERROR_GENERIC; - } - - *target_handle = answer.handle; - mozilla::sandboxing::LogAllowed("DuplicateHandle"); - return SBOX_ALL_OK; -} - -} // namespace sandbox - diff --git a/security/sandbox/chromium/sandbox/win/src/handle_interception.h b/security/sandbox/chromium/sandbox/win/src/handle_interception.h deleted file mode 100644 index 6f60811f17..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_interception.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "sandbox/win/src/nt_internals.h" -#include "sandbox/win/src/sandbox_types.h" - -#ifndef SANDBOX_SRC_HANDLE_INTERCEPTION_H_ -#define SANDBOX_SRC_HANDLE_INTERCEPTION_H_ - -namespace sandbox { - -// TODO(jschuh) Add an interception to catch dangerous DuplicateHandle calls. - -ResultCode DuplicateHandleProxy(HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options); - -} // namespace sandbox - -#endif // SANDBOX_SRC_HANDLE_INTERCEPTION_H_ - diff --git a/security/sandbox/chromium/sandbox/win/src/handle_policy.cc b/security/sandbox/chromium/sandbox/win/src/handle_policy.cc deleted file mode 100644 index fa3295ae3f..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_policy.cc +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "sandbox/win/src/handle_policy.h" - -#include <string> - -#include "base/win/scoped_handle.h" -#include "sandbox/win/src/broker_services.h" -#include "sandbox/win/src/ipc_tags.h" -#include "sandbox/win/src/policy_engine_opcodes.h" -#include "sandbox/win/src/policy_params.h" -#include "sandbox/win/src/sandbox_types.h" -#include "sandbox/win/src/sandbox_utils.h" - -namespace sandbox { - -bool HandlePolicy::GenerateRules(const wchar_t* type_name, - TargetPolicy::Semantics semantics, - LowLevelPolicy* policy) { - PolicyRule duplicate_rule(ASK_BROKER); - - switch (semantics) { - case TargetPolicy::HANDLES_DUP_ANY: { - if (!duplicate_rule.AddNumberMatch(IF_NOT, HandleTarget::TARGET, - ::GetCurrentProcessId(), EQUAL)) { - return false; - } - break; - } - - case TargetPolicy::HANDLES_DUP_BROKER: { - if (!duplicate_rule.AddNumberMatch(IF, HandleTarget::TARGET, - ::GetCurrentProcessId(), EQUAL)) { - return false; - } - break; - } - - default: - return false; - } - if (!duplicate_rule.AddStringMatch(IF, HandleTarget::NAME, type_name, - CASE_INSENSITIVE)) { - return false; - } - if (!policy->AddRule(IpcTag::DUPLICATEHANDLEPROXY, &duplicate_rule)) { - return false; - } - return true; -} - -DWORD HandlePolicy::DuplicateHandleProxyAction(EvalResult eval_result, - HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options) { - // The only action supported is ASK_BROKER which means duplicate the handle. - if (ASK_BROKER != eval_result) { - return ERROR_ACCESS_DENIED; - } - - base::win::ScopedHandle remote_target_process; - if (target_process_id != ::GetCurrentProcessId()) { - // Sandboxed children are dynamic, so we check that manually. - if (!BrokerServicesBase::GetInstance()->IsSafeDuplicationTarget( - target_process_id)) { - return ERROR_ACCESS_DENIED; - } - - remote_target_process.Set(::OpenProcess(PROCESS_DUP_HANDLE, FALSE, - target_process_id)); - if (!remote_target_process.IsValid()) - return ::GetLastError(); - } - - // If the policy didn't block us and we have no valid target, then the broker - // (this process) is the valid target. - HANDLE target_process = remote_target_process.IsValid() ? - remote_target_process.Get() : ::GetCurrentProcess(); - if (!::DuplicateHandle(::GetCurrentProcess(), source_handle, target_process, - target_handle, desired_access, FALSE, - options)) { - return ::GetLastError(); - } - - return ERROR_SUCCESS; -} - -} // namespace sandbox - diff --git a/security/sandbox/chromium/sandbox/win/src/handle_policy.h b/security/sandbox/chromium/sandbox/win/src/handle_policy.h deleted file mode 100644 index 29ce5ab666..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_policy.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef SANDBOX_SRC_HANDLE_POLICY_H_ -#define SANDBOX_SRC_HANDLE_POLICY_H_ - -#include <string> - -#include "sandbox/win/src/crosscall_server.h" -#include "sandbox/win/src/policy_low_level.h" -#include "sandbox/win/src/sandbox_policy.h" - -namespace sandbox { - -enum EvalResult; - -// This class centralizes most of the knowledge related to handle policy. -class HandlePolicy { - public: - // Creates the required low-level policy rules to evaluate a high-level - // policy rule for handles, in particular duplicate action. - static bool GenerateRules(const wchar_t* type_name, - TargetPolicy::Semantics semantics, - LowLevelPolicy* policy); - - // Processes a 'TargetPolicy::DuplicateHandle()' request from the target. - static DWORD DuplicateHandleProxyAction(EvalResult eval_result, - HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options); -}; - -} // namespace sandbox - -#endif // SANDBOX_SRC_HANDLE_POLICY_H_ - diff --git a/security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc b/security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc deleted file mode 100644 index 11382da811..0000000000 --- a/security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/strings/stringprintf.h" -#include "sandbox/win/src/handle_policy.h" -#include "sandbox/win/src/nt_internals.h" -#include "sandbox/win/src/sandbox.h" -#include "sandbox/win/src/sandbox_factory.h" -#include "sandbox/win/src/sandbox_policy.h" -#include "sandbox/win/src/win_utils.h" -#include "sandbox/win/tests/common/controller.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace sandbox { - -// Just waits for the supplied number of milliseconds. -SBOX_TESTS_COMMAND int Handle_WaitProcess(int argc, wchar_t **argv) { - if (argc != 1) - return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; - - ::Sleep(::wcstoul(argv[0], NULL, 10)); - return SBOX_TEST_TIMED_OUT; -} - -// Attempts to duplicate an event handle into the target process. -SBOX_TESTS_COMMAND int Handle_DuplicateEvent(int argc, wchar_t **argv) { - if (argc != 1) - return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; - - // Create a test event to use as a handle. - base::win::ScopedHandle test_event; - test_event.Set(::CreateEvent(NULL, TRUE, TRUE, NULL)); - if (!test_event.IsValid()) - return SBOX_TEST_FIRST_ERROR; - - // Get the target process ID. - DWORD target_process_id = ::wcstoul(argv[0], NULL, 10); - - HANDLE handle = NULL; - ResultCode result = SandboxFactory::GetTargetServices()->DuplicateHandle( - test_event.Get(), target_process_id, &handle, 0, DUPLICATE_SAME_ACCESS); - - return (result == SBOX_ALL_OK) ? SBOX_TEST_SUCCEEDED : SBOX_TEST_DENIED; -} - -// Tests that duplicating an object works only when the policy allows it. -TEST(HandlePolicyTest, DuplicateHandle) { - TestRunner target; - TestRunner runner; - - // Kick off an asynchronous target process for testing. - target.SetAsynchronous(true); - EXPECT_EQ(SBOX_TEST_SUCCEEDED, target.RunTest(L"Handle_WaitProcess 30000")); - - // First test that we fail to open the event. - base::string16 cmd_line = base::StringPrintf(L"Handle_DuplicateEvent %d", - target.process_id()); - EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); - - // Now successfully open the event after adding a duplicate handle rule. - EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, - TargetPolicy::HANDLES_DUP_ANY, - L"Event")); - EXPECT_EQ(SBOX_TEST_SUCCEEDED, runner.RunTest(cmd_line.c_str())); -} - -// Tests that duplicating an object works only when the policy allows it. -TEST(HandlePolicyTest, DuplicatePeerHandle) { - TestRunner target; - TestRunner runner; - - // Kick off an asynchronous target process for testing. - target.SetAsynchronous(true); - target.SetUnsandboxed(true); - EXPECT_EQ(SBOX_TEST_SUCCEEDED, target.RunTest(L"Handle_WaitProcess 30000")); - - // First test that we fail to open the event. - base::string16 cmd_line = base::StringPrintf(L"Handle_DuplicateEvent %d", - target.process_id()); - EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); - - // Now successfully open the event after adding a duplicate handle rule. - EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, - TargetPolicy::HANDLES_DUP_ANY, - L"Event")); - EXPECT_EQ(SBOX_TEST_SUCCEEDED, runner.RunTest(cmd_line.c_str())); -} - -// Tests that duplicating an object works only when the policy allows it. -TEST(HandlePolicyTest, DuplicateBrokerHandle) { - TestRunner runner; - - // First test that we fail to open the event. - base::string16 cmd_line = base::StringPrintf(L"Handle_DuplicateEvent %d", - ::GetCurrentProcessId()); - EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); - - // Add the peer rule and make sure we fail again. - EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, - TargetPolicy::HANDLES_DUP_ANY, - L"Event")); - EXPECT_EQ(SBOX_TEST_DENIED, runner.RunTest(cmd_line.c_str())); - - - // Now successfully open the event after adding a broker handle rule. - EXPECT_TRUE(runner.AddRule(TargetPolicy::SUBSYS_HANDLES, - TargetPolicy::HANDLES_DUP_BROKER, - L"Event")); - EXPECT_EQ(SBOX_TEST_SUCCEEDED, runner.RunTest(cmd_line.c_str())); -} - -} // namespace sandbox - diff --git a/security/sandbox/chromium/sandbox/win/src/ipc_tags.h b/security/sandbox/chromium/sandbox/win/src/ipc_tags.h index ec6de4a66a..e655fc4b9a 100644 --- a/security/sandbox/chromium/sandbox/win/src/ipc_tags.h +++ b/security/sandbox/chromium/sandbox/win/src/ipc_tags.h @@ -28,7 +28,6 @@ enum class IpcTag { OPENEVENT, NTCREATEKEY, NTOPENKEY, - DUPLICATEHANDLEPROXY, GDI_GDIDLLINITIALIZE, GDI_GETSTOCKOBJECT, USER_REGISTERCLASSW, diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox.h b/security/sandbox/chromium/sandbox/win/src/sandbox.h index 858c350558..6133687f48 100644 --- a/security/sandbox/chromium/sandbox/win/src/sandbox.h +++ b/security/sandbox/chromium/sandbox/win/src/sandbox.h @@ -102,14 +102,6 @@ class BrokerServices { // more information. virtual ResultCode WaitForAllTargets() = 0; - // Adds an unsandboxed process as a peer for policy decisions (e.g. - // HANDLES_DUP_ANY policy). - // Returns: - // ALL_OK if successful. All other return values imply failure. - // If the return is ERROR_GENERIC, you can call ::GetLastError() to get - // more information. - virtual ResultCode AddTargetPeer(HANDLE peer_process) = 0; - // This call creates a snapshot of policies managed by the sandbox and // returns them via a helper class. // Parameters: @@ -172,20 +164,6 @@ class TargetServices { // LowerToken has been called or not. virtual ProcessState* GetState() = 0; - // Requests the broker to duplicate the supplied handle into the target - // process. The target process must be an active sandbox child process - // and the source process must have a corresponding policy allowing - // handle duplication for this object type. - // Returns: - // ALL_OK if successful. All other return values imply failure. - // If the return is ERROR_GENERIC, you can call ::GetLastError() to get - // more information. - virtual ResultCode DuplicateHandle(HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options) = 0; - virtual ResultCode GetComplexLineBreaks(const WCHAR* text, uint32_t length, uint8_t* break_before) = 0; diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h b/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h index 75514ef595..10a29d6f3b 100644 --- a/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h +++ b/security/sandbox/chromium/sandbox/win/src/sandbox_policy.h @@ -30,7 +30,6 @@ class TargetPolicy { SUBSYS_PROCESS, // Creation of child processes. SUBSYS_REGISTRY, // Creation and opening of registry keys. SUBSYS_SYNC, // Creation of named sync objects. - SUBSYS_HANDLES, // Duplication of handles to other processes. SUBSYS_WIN32K_LOCKDOWN, // Win32K Lockdown related policy. SUBSYS_SIGNED_BINARY, // Signed binary policy. SUBSYS_LINE_BREAK // Complex line break policy. @@ -44,9 +43,6 @@ class TargetPolicy { FILES_ALLOW_QUERY, // Allows access to query the attributes of a file. FILES_ALLOW_DIR_ANY, // Allows open or create with directory semantics // only. - HANDLES_DUP_ANY, // Allows duplicating handles opened with any - // access permissions. - HANDLES_DUP_BROKER, // Allows duplicating handles to the broker process. NAMEDPIPES_ALLOW_ANY, // Allows creation of a named pipe. PROCESS_MIN_EXEC, // Allows to create a process with minimal rights // over the resulting process and thread handles. diff --git a/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc b/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc index f228dbbc31..0a23cb4470 100644 --- a/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc +++ b/security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc @@ -17,7 +17,6 @@ #include "base/win/windows_version.h" #include "sandbox/win/src/acl.h" #include "sandbox/win/src/filesystem_policy.h" -#include "sandbox/win/src/handle_policy.h" #include "sandbox/win/src/interception.h" #include "sandbox/win/src/job.h" #include "sandbox/win/src/line_break_policy.h" @@ -775,14 +774,6 @@ ResultCode PolicyBase::AddRuleInternal(SubSystem subsystem, } break; } - case SUBSYS_HANDLES: { - if (!HandlePolicy::GenerateRules(pattern, semantics, policy_maker_)) { - NOTREACHED(); - return SBOX_ERROR_BAD_PARAMS; - } - break; - } - case SUBSYS_WIN32K_LOCKDOWN: { // Win32k intercept rules only supported on Windows 8 and above. This must // match the version checks in process_mitigations.cc for consistency. diff --git a/security/sandbox/chromium/sandbox/win/src/target_services.cc b/security/sandbox/chromium/sandbox/win/src/target_services.cc index a80e0106ef..7bd0e87aab 100644 --- a/security/sandbox/chromium/sandbox/win/src/target_services.cc +++ b/security/sandbox/chromium/sandbox/win/src/target_services.cc @@ -12,7 +12,6 @@ #include "base/win/windows_version.h" #include "sandbox/win/src/crosscall_client.h" #include "sandbox/win/src/handle_closer_agent.h" -#include "sandbox/win/src/handle_interception.h" #include "sandbox/win/src/heap_helper.h" #include "sandbox/win/src/line_break_interception.h" #include "sandbox/win/src/ipc_tags.h" @@ -246,15 +245,6 @@ void ProcessState::SetCsrssConnected(bool csrss_connected) { csrss_connected_ = csrss_connected; } -ResultCode TargetServicesBase::DuplicateHandle(HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options) { - return sandbox::DuplicateHandleProxy(source_handle, target_process_id, - target_handle, desired_access, options); -} - ResultCode TargetServicesBase::GetComplexLineBreaks(const WCHAR* text, uint32_t length, uint8_t* break_before) { diff --git a/security/sandbox/chromium/sandbox/win/src/target_services.h b/security/sandbox/chromium/sandbox/win/src/target_services.h index 1d70d4cd34..0231a250f3 100644 --- a/security/sandbox/chromium/sandbox/win/src/target_services.h +++ b/security/sandbox/chromium/sandbox/win/src/target_services.h @@ -45,11 +45,6 @@ class TargetServicesBase : public TargetServices { ResultCode Init() override; void LowerToken() override; ProcessState* GetState() override; - ResultCode DuplicateHandle(HANDLE source_handle, - DWORD target_process_id, - HANDLE* target_handle, - DWORD desired_access, - DWORD options) override; ResultCode GetComplexLineBreaks(const WCHAR* text, uint32_t length, uint8_t* break_before) final; diff --git a/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc b/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc index 3c8f8e25e5..7c072d5279 100644 --- a/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc +++ b/security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc @@ -10,7 +10,6 @@ #include "base/logging.h" #include "sandbox/win/src/crosscall_server.h" #include "sandbox/win/src/filesystem_dispatcher.h" -#include "sandbox/win/src/handle_dispatcher.h" #include "sandbox/win/src/interception.h" #include "sandbox/win/src/internal_types.h" #include "sandbox/win/src/ipc_tags.h" @@ -62,10 +61,6 @@ TopLevelDispatcher::TopLevelDispatcher(PolicyBase* policy) : policy_(policy) { ipc_targets_[static_cast<size_t>(IpcTag::NTOPENKEY)] = dispatcher; registry_dispatcher_.reset(dispatcher); - dispatcher = new HandleDispatcher(policy_); - ipc_targets_[static_cast<size_t>(IpcTag::DUPLICATEHANDLEPROXY)] = dispatcher; - handle_dispatcher_.reset(dispatcher); - dispatcher = new ProcessMitigationsWin32KDispatcher(policy_); ipc_targets_[static_cast<size_t>(IpcTag::GDI_GDIDLLINITIALIZE)] = dispatcher; ipc_targets_[static_cast<size_t>(IpcTag::GDI_GETSTOCKOBJECT)] = dispatcher; diff --git a/security/sandbox/common/SandboxSettings.cpp b/security/sandbox/common/SandboxSettings.cpp index b0b24bf7d0..d44413da0b 100644 --- a/security/sandbox/common/SandboxSettings.cpp +++ b/security/sandbox/common/SandboxSettings.cpp @@ -104,10 +104,9 @@ nsIXULRuntime::ContentWin32kLockdownState GetContentWin32kLockdownState() { static auto getLockdownState = [] { auto state = GetWin32kLockdownState(); - const char* stateStr = ContentWin32kLockdownStateToString(state); - CrashReporter::AnnotateCrashReport( + CrashReporter::RecordAnnotationCString( CrashReporter::Annotation::ContentSandboxWin32kState, - nsDependentCString(stateStr)); + ContentWin32kLockdownStateToString(state)); return state; }; diff --git a/security/sandbox/linux/SandboxInfo.cpp b/security/sandbox/linux/SandboxInfo.cpp index 3d71e55921..aefd9dac2d 100644 --- a/security/sandbox/linux/SandboxInfo.cpp +++ b/security/sandbox/linux/SandboxInfo.cpp @@ -134,11 +134,21 @@ static bool CanCreateUserNamespace() { // the new capabilities (in this case, cloning another namespace) to // detect AppArmor policies that allow CLONE_NEWUSER but don't allow // doing anything useful with it. - pid_t pid = syscall(__NR_clone, SIGCHLD | CLONE_NEWUSER | CLONE_NEWPID, - nullptr, nullptr, nullptr, nullptr); + // + // Bug 1884347: There's a new AppArmor feature which can result in + // unsharing NEWUSER and NEWPID (or NEWNET etc.) in one syscall + // being allowed, but further use of capabilities will be blocked + // afterwards. That may be a bug, but we need to handle it. + pid_t pid = syscall(__NR_clone, SIGCHLD | CLONE_NEWUSER, nullptr, nullptr, + nullptr, nullptr); if (pid == 0) { - // In the child. Do as little as possible. - _exit(0); + // The exact meaning of `unshare(CLONE_NEWPID)` is slightly + // counterintuitive but in this case it doesn't matter. This just + // needs to be some operation that attempts to use capabilities, + // to check if it's blocked by an LSM. + int rv = unshare(CLONE_NEWPID); + // Exit with status 0 on success, 1 on failure. + _exit(rv == 0 ? 0 : 1); } if (pid == -1) { // Failure. @@ -149,11 +159,17 @@ static bool CanCreateUserNamespace() { return false; } // Otherwise, in the parent and successful. - bool waitpid_ok = HANDLE_EINTR(waitpid(pid, nullptr, 0)) == pid; + int wstatus; + bool waitpid_ok = HANDLE_EINTR(waitpid(pid, &wstatus, 0)) == pid; MOZ_ASSERT(waitpid_ok); if (!waitpid_ok) { return false; } + // Check for failures reported by the child process. + if (!WIFEXITED(wstatus) || WEXITSTATUS(wstatus) != 0) { + setenv(kCacheEnvName, "0", 1); + return false; + } setenv(kCacheEnvName, "1", 1); return true; } diff --git a/security/sandbox/linux/launch/SandboxLaunch.cpp b/security/sandbox/linux/launch/SandboxLaunch.cpp index bec94f3c4c..6617ff475d 100644 --- a/security/sandbox/linux/launch/SandboxLaunch.cpp +++ b/security/sandbox/linux/launch/SandboxLaunch.cpp @@ -511,6 +511,8 @@ static pid_t ForkWithFlags(int aFlags) { return ret; } +// Returns true for success, or returns false and sets errno on +// failure. Intended only for procfs pseudo-files. static bool WriteStringToFile(const char* aPath, const char* aStr, const size_t aLen) { int fd = open(aPath, O_WRONLY); @@ -519,6 +521,11 @@ static bool WriteStringToFile(const char* aPath, const char* aStr, } ssize_t written = write(fd, aStr, aLen); if (close(fd) != 0 || written != ssize_t(aLen)) { + // procfs shouldn't ever cause a short write, but ensure that + // errno is set to something distinctive if it does + if (written >= 0) { + errno = EMSGSIZE; + } return false; } return true; @@ -537,6 +544,7 @@ static void ConfigureUserNamespace(uid_t uid, gid_t gid) { len = static_cast<size_t>(SafeSPrintf(buf, "%d %d 1", uid, uid)); MOZ_RELEASE_ASSERT(len < sizeof(buf)); if (!WriteStringToFile("/proc/self/uid_map", buf, len)) { + SANDBOX_LOG_ERRNO("writing /proc/self/uid_map"); MOZ_CRASH("Failed to write /proc/self/uid_map"); } @@ -549,6 +557,7 @@ static void ConfigureUserNamespace(uid_t uid, gid_t gid) { len = static_cast<size_t>(SafeSPrintf(buf, "%d %d 1", gid, gid)); MOZ_RELEASE_ASSERT(len < sizeof(buf)); if (!WriteStringToFile("/proc/self/gid_map", buf, len)) { + SANDBOX_LOG_ERRNO("writing /proc/self/gid_map"); MOZ_CRASH("Failed to write /proc/self/gid_map"); } } @@ -641,6 +650,9 @@ void SandboxLaunch::StartChrootServer() { char msg; ssize_t msgLen = HANDLE_EINTR(read(mChrootServer, &msg, 1)); + if (msgLen < 0) { + SANDBOX_LOG_ERRNO("chroot server couldn't read request"); + } if (msgLen == 0) { // Process exited before chrooting (or chose not to chroot?). _exit(0); @@ -653,7 +665,10 @@ void SandboxLaunch::StartChrootServer() { // exits at the end of this function, and which is always // unwriteable. int rv = chroot("/proc/self/fdinfo"); - MOZ_RELEASE_ASSERT(rv == 0); + if (rv != 0) { + SANDBOX_LOG_ERRNO("chroot"); + MOZ_CRASH("chroot failed"); + } // Drop CAP_SYS_CHROOT ASAP. This must happen before responding; // the main child won't be able to waitpid(), so it could start @@ -664,10 +679,16 @@ void SandboxLaunch::StartChrootServer() { // remove that. (Note: if the process can obtain directory fds, for // example via SandboxBroker, it must be blocked from using fchdir.) rv = chdir("/"); - MOZ_RELEASE_ASSERT(rv == 0); + if (rv != 0) { + SANDBOX_LOG_ERRNO("chdir(\"/\")"); + MOZ_CRASH("chdir(\"/\") failed"); + } msg = kSandboxChrootResponse; msgLen = HANDLE_EINTR(write(mChrootServer, &msg, 1)); + if (msgLen < 0) { + SANDBOX_LOG_ERRNO("chroot server couldn't send response"); + } MOZ_RELEASE_ASSERT(msgLen == 1); _exit(0); } diff --git a/security/sandbox/mac/Sandbox.mm b/security/sandbox/mac/Sandbox.mm index 2c9972a8fa..e4167a335a 100644 --- a/security/sandbox/mac/Sandbox.mm +++ b/security/sandbox/mac/Sandbox.mm @@ -303,11 +303,13 @@ bool StartMacSandbox(MacSandboxInfo const& aInfo, std::string& aErrorMessage) { // Nothing to do here specifically break; +#ifdef MOZ_APPLEMEDIA case ipc::SandboxingKind::UTILITY_AUDIO_DECODING_APPLE_MEDIA: { profile.append(SandboxPolicyUtilityAudioDecoderAppleMediaAddend); params.push_back("MAC_OS_VERSION"); params.push_back(combinedVersion.c_str()); } break; +#endif default: MOZ_ASSERT(false, "Invalid SandboxingKind"); diff --git a/security/sandbox/moz.build b/security/sandbox/moz.build index 806af7e58b..468573f220 100644 --- a/security/sandbox/moz.build +++ b/security/sandbox/moz.build @@ -113,9 +113,6 @@ elif CONFIG["OS_ARCH"] == "WINNT": "chromium/sandbox/win/src/filesystem_policy.cc", "chromium/sandbox/win/src/handle_closer.cc", "chromium/sandbox/win/src/handle_closer_agent.cc", - "chromium/sandbox/win/src/handle_dispatcher.cc", - "chromium/sandbox/win/src/handle_interception.cc", - "chromium/sandbox/win/src/handle_policy.cc", "chromium/sandbox/win/src/heap_helper.cc", "chromium/sandbox/win/src/interception.cc", "chromium/sandbox/win/src/interception_agent.cc", diff --git a/security/sandbox/test/browser_content_sandbox_fs_snap.js b/security/sandbox/test/browser_content_sandbox_fs_snap.js index a8b26a1e31..06f04c1d33 100644 --- a/security/sandbox/test/browser_content_sandbox_fs_snap.js +++ b/security/sandbox/test/browser_content_sandbox_fs_snap.js @@ -18,7 +18,7 @@ Services.scriptloader.loadSubScript( add_task(async function () { // Ensure that SNAP is there const snap = Services.env.get("SNAP"); - ok(snap.length > 1, "SNAP is defined"); + Assert.greater(snap.length, 1, "SNAP is defined"); // If it is there, do actual testing sanityChecks(); diff --git a/security/sandbox/test/browser_content_sandbox_fs_xdg.js b/security/sandbox/test/browser_content_sandbox_fs_xdg.js index f5150fc329..34dee9d1a0 100644 --- a/security/sandbox/test/browser_content_sandbox_fs_xdg.js +++ b/security/sandbox/test/browser_content_sandbox_fs_xdg.js @@ -18,7 +18,7 @@ Services.scriptloader.loadSubScript( add_task(async function () { // Ensure that XDG_CONFIG_HOME is there const xdgConfigHome = Services.env.get("XDG_CONFIG_HOME"); - ok(xdgConfigHome.length > 1, "XDG_CONFIG_HOME is defined"); + Assert.greater(xdgConfigHome.length, 1, "XDG_CONFIG_HOME is defined"); // If it is there, do actual testing sanityChecks(); diff --git a/security/sandbox/test/browser_content_sandbox_syscalls.js b/security/sandbox/test/browser_content_sandbox_syscalls.js index dab47cf356..71d3c7ad12 100644 --- a/security/sandbox/test/browser_content_sandbox_syscalls.js +++ b/security/sandbox/test/browser_content_sandbox_syscalls.js @@ -262,7 +262,7 @@ add_task(async function () { } info(`security.sandbox.content.level=${level}`); - ok(level > 0, "content sandbox is enabled."); + Assert.greater(level, 0, "content sandbox is enabled."); let areSyscallsSandboxed = areContentSyscallsSandboxed(level); @@ -282,7 +282,7 @@ add_task(async function () { // exec something harmless, this should fail let cmd = getOSExecCmd(); let rv = await SpecialPowers.spawn(browser, [{ lib, cmd }], callExec); - ok(rv == -1, `exec(${cmd}) is not permitted`); + Assert.equal(rv, -1, `exec(${cmd}) is not permitted`); } // use open syscall @@ -295,7 +295,7 @@ add_task(async function () { [{ lib, path, flags }], callOpen ); - ok(fd < 0, "opening a file for writing in home is not permitted"); + Assert.less(fd, 0, "opening a file for writing in home is not permitted"); } // use open syscall @@ -311,19 +311,24 @@ add_task(async function () { callOpen ); if (isMac()) { - ok( - fd === -1, + Assert.strictEqual( + fd, + -1, "opening a file for writing in content temp is not permitted" ); } else { - ok(fd >= 0, "opening a file for writing in content temp is permitted"); + Assert.greaterOrEqual( + fd, + 0, + "opening a file for writing in content temp is permitted" + ); } } // use fork syscall if (isLinux() || isMac()) { let rv = await SpecialPowers.spawn(browser, [{ lib }], callFork); - ok(rv == -1, "calling fork is not permitted"); + Assert.equal(rv, -1, "calling fork is not permitted"); } // On macOS before 10.10 the |sysctl-name| predicate didn't exist for @@ -336,21 +341,21 @@ add_task(async function () { [{ lib, name: "kern.boottime" }], callSysctl ); - ok(rv == -1, "calling sysctl('kern.boottime') is not permitted"); + Assert.equal(rv, -1, "calling sysctl('kern.boottime') is not permitted"); rv = await SpecialPowers.spawn( browser, [{ lib, name: "net.inet.ip.ttl" }], callSysctl ); - ok(rv == -1, "calling sysctl('net.inet.ip.ttl') is not permitted"); + Assert.equal(rv, -1, "calling sysctl('net.inet.ip.ttl') is not permitted"); rv = await SpecialPowers.spawn( browser, [{ lib, name: "hw.ncpu" }], callSysctl ); - ok(rv == 0, "calling sysctl('hw.ncpu') is permitted"); + Assert.equal(rv, 0, "calling sysctl('hw.ncpu') is permitted"); } if (isLinux()) { @@ -359,7 +364,11 @@ add_task(async function () { // verify we block PR_CAPBSET_READ with EINVAL let option = lazy.LIBC.PR_CAPBSET_READ; let rv = await SpecialPowers.spawn(browser, [{ lib, option }], callPrctl); - ok(rv === lazy.LIBC.EINVAL, "prctl(PR_CAPBSET_READ) is blocked"); + Assert.strictEqual( + rv, + lazy.LIBC.EINVAL, + "prctl(PR_CAPBSET_READ) is blocked" + ); const kernelVersion = await getKernelVersion(); const glibcVersion = getGlibcVersion(); @@ -375,8 +384,9 @@ add_task(async function () { [{ lib, dirfd, path, mode, flag: 0x01 }], callFaccessat2 ); - ok( - rv === lazy.LIBC.ENOSYS, + Assert.strictEqual( + rv, + lazy.LIBC.ENOSYS, "faccessat2 (flag=0x01) was blocked with ENOSYS" ); @@ -385,8 +395,9 @@ add_task(async function () { [{ lib, dirfd, path, mode, flag: lazy.LIBC.AT_EACCESS }], callFaccessat2 ); - ok( - rv === lazy.LIBC.EACCES, + Assert.strictEqual( + rv, + lazy.LIBC.EACCES, "faccessat2 (flag=0x200) was allowed, errno=EACCES" ); } else { diff --git a/security/sandbox/test/browser_content_sandbox_utils.js b/security/sandbox/test/browser_content_sandbox_utils.js index ce6ed39ff6..9b4c4af70a 100644 --- a/security/sandbox/test/browser_content_sandbox_utils.js +++ b/security/sandbox/test/browser_content_sandbox_utils.js @@ -33,7 +33,7 @@ function sanityChecks() { } info(`security.sandbox.content.level=${level}`); - ok(level > 0, "content sandbox is enabled."); + Assert.greater(level, 0, "content sandbox is enabled."); let isFileIOSandboxed = isContentFileIOSandboxed(level); @@ -234,7 +234,7 @@ function isContentFileIOSandboxed(level) { // Returns the lowest sandbox level where blanket reading of the profile // directory from the content process should be blocked by the sandbox. -function minProfileReadSandboxLevel(level) { +function minProfileReadSandboxLevel() { switch (Services.appinfo.OS) { case "WINNT": return 3; @@ -250,7 +250,7 @@ function minProfileReadSandboxLevel(level) { // Returns the lowest sandbox level where blanket reading of the home // directory from the content process should be blocked by the sandbox. -function minHomeReadSandboxLevel(level) { +function minHomeReadSandboxLevel() { switch (Services.appinfo.OS) { case "WINNT": return 3; @@ -391,8 +391,9 @@ function GetBrowserType(type) { } browserType = GetBrowserType[type]; - ok( - browserType.remoteType === type, + Assert.strictEqual( + browserType.remoteType, + type, `GetBrowserType(${type}) returns a ${type} process` ); return browserType; @@ -445,8 +446,9 @@ async function runTestsList(tests) { test.func ); - ok( - result.ok == test.ok, + Assert.equal( + result.ok, + test.ok, `reading ${test.desc} from a ${processType} process ` + `is ${okString} (${test.file.path})` ); @@ -454,7 +456,11 @@ async function runTestsList(tests) { // if the directory is not expected to be readable, // ensure the listing has zero entries if (test.func === readDir && !test.ok) { - ok(result.numEntries == 0, `directory list is empty (${test.file.path})`); + Assert.equal( + result.numEntries, + 0, + `directory list is empty (${test.file.path})` + ); } if (test.cleanup != undefined) { diff --git a/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp b/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp index 9b9ed97262..3e2ce617bd 100644 --- a/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp +++ b/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp @@ -30,7 +30,6 @@ #include "mozilla/Telemetry.h" #include "mozilla/WinDllServices.h" #include "mozilla/WindowsVersion.h" -#include "mozilla/WinHeaderOnlyUtils.h" #include "mozilla/ipc/LaunchError.h" #include "nsAppDirectoryServiceDefs.h" #include "nsCOMPtr.h" @@ -116,11 +115,27 @@ static sandbox::ResultCode AddWin32kLockdownPolicy( return result; } +static void CacheDirAndAutoClear(const nsAString& aDir, + StaticAutoPtr<nsString>* cacheVar) { + *cacheVar = new nsString(aDir); + ClearOnShutdown(cacheVar); + + // Convert network share path to format for sandbox policy. + if (Substring(**cacheVar, 0, 2).Equals(u"\\\\"_ns)) { + (*cacheVar)->InsertLiteral(u"??\\UNC", 1); + } +} + /* static */ -void SandboxBroker::Initialize(sandbox::BrokerServices* aBrokerServices) { +void SandboxBroker::Initialize(sandbox::BrokerServices* aBrokerServices, + const nsAString& aBinDir) { sBrokerService = aBrokerServices; sRunningFromNetworkDrive = widget::WinUtils::RunningFromANetworkDrive(); + + if (!aBinDir.IsEmpty()) { + CacheDirAndAutoClear(aBinDir, &sBinDir); + } } static void CacheDirAndAutoClear(nsIProperties* aDirSvc, const char* aDirKey, @@ -135,14 +150,9 @@ static void CacheDirAndAutoClear(nsIProperties* aDirSvc, const char* aDirKey, return; } - *cacheVar = new nsString(); - ClearOnShutdown(cacheVar); - MOZ_ALWAYS_SUCCEEDS(dirToCache->GetPath(**cacheVar)); - - // Convert network share path to format for sandbox policy. - if (Substring(**cacheVar, 0, 2).Equals(u"\\\\"_ns)) { - (*cacheVar)->InsertLiteral(u"??\\UNC", 1); - } + nsAutoString dirPath; + MOZ_ALWAYS_SUCCEEDS(dirToCache->GetPath(dirPath)); + CacheDirAndAutoClear(dirPath, cacheVar); } /* static */ @@ -166,7 +176,6 @@ void SandboxBroker::GeckoDependentInitialize() { return; } - CacheDirAndAutoClear(dirSvc, NS_GRE_DIR, &sBinDir); CacheDirAndAutoClear(dirSvc, NS_APP_USER_PROFILE_50_DIR, &sProfileDir); CacheDirAndAutoClear(dirSvc, NS_WIN_LOCAL_APPDATA_DIR, &sLocalAppDataDir); #ifdef ENABLE_SYSTEM_EXTENSION_DIRS @@ -481,33 +490,11 @@ static sandbox::ResultCode AllowProxyLoadFromBinDir( sandbox::TargetPolicy* aPolicy) { // Allow modules in the directory containing the executable such as // mozglue.dll, nss3.dll, etc. - static UniquePtr<nsString> sInstallDir; - if (!sInstallDir) { - // Since this function can be called before sBinDir is initialized, - // we cache the install path by ourselves. - UniquePtr<wchar_t[]> appDirStr; - if (GetInstallDirectory(appDirStr)) { - sInstallDir = MakeUnique<nsString>(appDirStr.get()); - sInstallDir->Append(u"\\*"); - - auto setClearOnShutdown = [ptr = &sInstallDir]() -> void { - ClearOnShutdown(ptr); - }; - if (NS_IsMainThread()) { - setClearOnShutdown(); - } else { - SchedulerGroup::Dispatch(NS_NewRunnableFunction( - "InitSignedPolicyRulesToBypassCig", std::move(setClearOnShutdown))); - } - } - - if (!sInstallDir) { - return sandbox::SBOX_ERROR_GENERIC; - } - } + nsAutoString rulePath(*sBinDir); + rulePath.Append(u"\\*"_ns); return aPolicy->AddRule(sandbox::TargetPolicy::SUBSYS_SIGNED_BINARY, sandbox::TargetPolicy::SIGNED_ALLOW_LOAD, - sInstallDir->get()); + rulePath.get()); } static sandbox::ResultCode AddCigToPolicy( @@ -1084,6 +1071,10 @@ void SandboxBroker::SetSecurityLevelForGPUProcess(int32_t aSandboxLevel) { sandbox::TargetPolicy::FILES_ALLOW_ANY, L"\\??\\pipe\\gecko-crash-server-pipe.*")); + // Add rule to allow read access to installation directory. + AddCachedDirRule(mPolicy, sandbox::TargetPolicy::FILES_ALLOW_READONLY, + sBinDir, u"\\*"_ns); + // The GPU process needs to write to a shader cache for performance reasons if (sProfileDir) { AddCachedDirRule(mPolicy, sandbox::TargetPolicy::FILES_ALLOW_DIR_ANY, @@ -1833,8 +1824,6 @@ void SandboxBroker::ApplyLoggingPolicy() { L"HKEY_CURRENT_USER\\dummy"); mPolicy->AddRule(sandbox::TargetPolicy::SUBSYS_SYNC, sandbox::TargetPolicy::EVENTS_ALLOW_READONLY, L"dummy"); - mPolicy->AddRule(sandbox::TargetPolicy::SUBSYS_HANDLES, - sandbox::TargetPolicy::HANDLES_DUP_BROKER, L"dummy"); } SandboxBroker::~SandboxBroker() { diff --git a/security/sandbox/win/src/sandboxbroker/sandboxBroker.h b/security/sandbox/win/src/sandboxbroker/sandboxBroker.h index 45a0cbb38b..40b3cf1501 100644 --- a/security/sandbox/win/src/sandboxbroker/sandboxBroker.h +++ b/security/sandbox/win/src/sandboxbroker/sandboxBroker.h @@ -75,7 +75,8 @@ class SandboxBroker : public AbstractSandboxBroker { public: SandboxBroker(); - static void Initialize(sandbox::BrokerServices* aBrokerServices); + static void Initialize(sandbox::BrokerServices* aBrokerServices, + const nsAString& aBinDir); static void EnsureLpacPermsissionsOnDir(const nsString& aDir); |