summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
Diffstat (limited to 'security')
-rw-r--r--security/.eslintrc.js9
-rw-r--r--security/certverifier/NSSCertDBTrustDomain.cpp42
-rw-r--r--security/certverifier/NSSCertDBTrustDomain.h3
-rw-r--r--security/manager/pki/nsIASN1Tree.idl6
-rw-r--r--security/manager/pki/resources/content/certManager.js8
-rw-r--r--security/manager/pki/resources/content/load_device.js6
-rw-r--r--security/manager/pki/resources/content/pippki.js6
-rw-r--r--security/manager/ssl/AppSignatureVerification.cpp103
-rw-r--r--security/manager/ssl/AppTrustDomain.cpp8
-rw-r--r--security/manager/ssl/OSReauthenticatorDarwin.mm4
-rw-r--r--security/manager/ssl/RemoteSecuritySettings.sys.mjs8
-rw-r--r--security/manager/ssl/StaticHPKPins.h2
-rw-r--r--security/manager/ssl/addons-stage-intermediate.crtbin0 -> 1796 bytes
-rw-r--r--security/manager/ssl/addons-stage.crtbin1895 -> 1606 bytes
-rw-r--r--security/manager/ssl/gen_cert_header.py1
-rw-r--r--security/manager/ssl/ipcclientcerts/src/lib.rs2
-rw-r--r--security/manager/ssl/metrics.yaml20
-rw-r--r--security/manager/ssl/moz.build7
-rw-r--r--security/manager/ssl/nsICertStorage.idl4
-rw-r--r--security/manager/ssl/nsICertTree.idl9
-rw-r--r--security/manager/ssl/nsINSSVersion.idl4
-rw-r--r--security/manager/ssl/nsIPK11TokenDB.idl3
-rw-r--r--security/manager/ssl/nsIX509CertDB.idl16
-rw-r--r--security/manager/ssl/nsSTSPreloadList.inc4164
-rw-r--r--security/manager/ssl/osclientcerts/Cargo.toml4
-rw-r--r--security/manager/ssl/osclientcerts/src/lib.rs12
-rw-r--r--security/manager/ssl/rsclientcerts/src/util.rs20
-rw-r--r--security/manager/ssl/tests/mochitest/browser/browser_add_exception_dialog.js2
-rw-r--r--security/manager/ssl/tests/mochitest/browser/browser_deleteCert_ui.js2
-rw-r--r--security/manager/ssl/tests/mochitest/browser/browser_downloadCert_ui.js2
-rw-r--r--security/manager/ssl/tests/mochitest/browser/browser_editCACertTrust.js2
-rw-r--r--security/manager/ssl/tests/mochitest/browser/browser_exportP12_passwordUI.js2
-rw-r--r--security/manager/ssl/tests/mochitest/browser/browser_loadPKCS11Module_ui.js4
-rw-r--r--security/manager/ssl/tests/mochitest/browser/head.js2
-rw-r--r--security/manager/ssl/tests/mochitest/mixedcontent/mochitest.toml1
-rw-r--r--security/manager/ssl/tests/unit/head_psm.js14
-rw-r--r--security/manager/ssl/tests/unit/test_certDB_export_pkcs12_with_primary_password.js4
-rw-r--r--security/manager/ssl/tests/unit/test_certDB_import.js4
-rw-r--r--security/manager/ssl/tests/unit/test_certDB_import_with_primary_password.js6
-rw-r--r--security/manager/ssl/tests/unit/test_cert_dbKey.js30
-rw-r--r--security/manager/ssl/tests/unit/test_cert_utf8.js5
-rw-r--r--security/manager/ssl/tests/unit/test_ev_certs.js4
-rw-r--r--security/manager/ssl/tests/unit/test_faulty_server.js2
-rw-r--r--security/manager/ssl/tests/unit/test_logoutAndTeardown.js2
-rw-r--r--security/manager/ssl/tests/unit/test_ocsp_private_caching.js11
-rw-r--r--security/manager/ssl/tests/unit/test_ocsp_timeout.js12
-rw-r--r--security/manager/ssl/tests/unit/test_oskeystore.js20
-rw-r--r--security/manager/ssl/tests/unit/test_osreauthenticator.js5
-rw-r--r--security/manager/ssl/tests/unit/test_password_prompt.js2
-rw-r--r--security/manager/ssl/tests/unit/test_pkcs11_slot.js2
-rw-r--r--security/manager/ssl/tests/unit/test_sdr.js2
-rw-r--r--security/manager/ssl/tests/unit/test_sdr_preexisting_with_password.js2
-rw-r--r--security/manager/ssl/tests/unit/test_self_signed_certs.js2
-rw-r--r--security/manager/ssl/tests/unit/test_signed_apps.js375
-rw-r--r--security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256-es384.zip (renamed from security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256.zip)bin458426 -> 457632 bytes
-rw-r--r--security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256-ps256.zip (renamed from security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-ES384.zip)bin459192 -> 458467 bytes
-rw-r--r--security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-es256.zip (renamed from security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-PS256.zip)bin459315 -> 456863 bytes
-rw-r--r--security/manager/ssl/tests/unit/test_signed_apps/addons-stage-tomato-clock-sha1-ps256.zip (renamed from security/manager/ssl/tests/unit/test_signed_apps/autograph-714ba248-stage-tomato-clock-PKCS7-SHA1-ES256-PS256.zip)bin460028 -> 457742 bytes
-rw-r--r--security/manager/ssl/tests/unit/test_sts_preloadlist_perwindowpb.js2
-rw-r--r--security/manager/ssl/tests/unit/tlsserver/cmd/FaultyServer.cpp2
-rw-r--r--security/moz.build4
-rw-r--r--security/nss/TAG-INFO2
-rw-r--r--security/nss/automation/abi-check/expected-report-libnss3.so.txt15
-rw-r--r--security/nss/automation/abi-check/expected-report-libnssutil3.so.txt15
-rw-r--r--security/nss/automation/abi-check/expected-report-libsmime3.so.txt49
-rw-r--r--security/nss/automation/abi-check/previous-nss-release2
-rw-r--r--security/nss/automation/taskcluster/docker-acvp/Dockerfile3
-rw-r--r--security/nss/automation/taskcluster/graph/src/extend.js1
-rw-r--r--security/nss/automation/taskcluster/graph/src/try_syntax.js2
-rw-r--r--security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.c.patch50
-rw-r--r--security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.internal.patch2
-rw-r--r--security/nss/automation/taskcluster/scripts/patches/Hacl_Ed25519.h.patch2
-rwxr-xr-xsecurity/nss/automation/taskcluster/scripts/run_hacl.sh62
-rw-r--r--security/nss/cmd/lib/basicutil.c90
-rw-r--r--security/nss/cmd/lib/pk11table.c3
-rw-r--r--security/nss/doc/rst/releases/index.rst39
-rw-r--r--security/nss/doc/rst/releases/nss_3_99.rst62
-rw-r--r--security/nss/gtests/common/testvectors_base/test-structs.h8
-rw-r--r--security/nss/gtests/common/wycheproof/source_vectors/eddsa_test.json2262
-rw-r--r--security/nss/gtests/freebl_gtest/ed25519_unittest.cc148
-rw-r--r--security/nss/gtests/freebl_gtest/freebl_gtest.gyp1
-rw-r--r--security/nss/gtests/pk11_gtest/manifest.mn2
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_eddsa_unittest.cc177
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_eddsa_vectors.h164
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_gtest.gyp2
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_import_unittest.cc1
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_keygen.cc7
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_pbe_unittest.cc69
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_signature_test.cc25
-rw-r--r--security/nss/gtests/pk11_gtest/pk11_signature_test.h24
-rw-r--r--security/nss/lib/cryptohi/keythi.h1
-rw-r--r--security/nss/lib/cryptohi/seckey.c129
-rw-r--r--security/nss/lib/cryptohi/secvfy.c2
-rw-r--r--security/nss/lib/freebl/Hacl_Hash_SHA2_shim.h38
-rw-r--r--security/nss/lib/freebl/Makefile3
-rw-r--r--security/nss/lib/freebl/blapi.h21
-rw-r--r--security/nss/lib/freebl/blapit.h5
-rw-r--r--security/nss/lib/freebl/ec.c142
-rw-r--r--security/nss/lib/freebl/ec.h4
-rw-r--r--security/nss/lib/freebl/ecdecode.c15
-rw-r--r--security/nss/lib/freebl/ecl/ecl-curve.h10
-rw-r--r--security/nss/lib/freebl/ecl/ecl-exp.h1
-rw-r--r--security/nss/lib/freebl/freebl_base.gypi2
-rw-r--r--security/nss/lib/freebl/ldvector.c5
-rw-r--r--security/nss/lib/freebl/loader.c28
-rw-r--r--security/nss/lib/freebl/loader.h7
-rw-r--r--security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c6
-rw-r--r--security/nss/lib/freebl/verified/Hacl_Chacha20_Vec256.c6
-rw-r--r--security/nss/lib/freebl/verified/Hacl_Curve25519_64.c18
-rw-r--r--security/nss/lib/freebl/verified/Hacl_Ed25519.c1853
-rw-r--r--security/nss/lib/freebl/verified/Hacl_Ed25519.h114
-rw-r--r--security/nss/lib/freebl/verified/Hacl_Hash_SHA3.c7
-rw-r--r--security/nss/lib/freebl/verified/internal/Hacl_Bignum25519_51.h4
-rw-r--r--security/nss/lib/freebl/verified/internal/Hacl_Ed25519.h73
-rw-r--r--security/nss/lib/freebl/verified/internal/Hacl_Ed25519_PrecompTable.h687
-rw-r--r--security/nss/lib/freebl/verified/karamel/include/krml/internal/target.h8
-rw-r--r--security/nss/lib/freebl/verified/karamel/krmllib/dist/minimal/fstar_uint128_gcc64.h4
-rw-r--r--security/nss/lib/nss/nss.h4
-rw-r--r--security/nss/lib/pk11wrap/pk11akey.c61
-rw-r--r--security/nss/lib/pk11wrap/pk11cert.c4
-rw-r--r--security/nss/lib/pk11wrap/pk11mech.c9
-rw-r--r--security/nss/lib/pk11wrap/pk11obj.c2
-rw-r--r--security/nss/lib/pk11wrap/pk11pars.c2
-rw-r--r--security/nss/lib/pk11wrap/pk11pk12.c80
-rw-r--r--security/nss/lib/pk11wrap/pk11skey.c5
-rw-r--r--security/nss/lib/pk11wrap/pk11slot.c3
-rw-r--r--security/nss/lib/smime/cms.h3
-rw-r--r--security/nss/lib/smime/cmsrecinfo.c24
-rw-r--r--security/nss/lib/smime/smime.def6
-rw-r--r--security/nss/lib/softoken/lowkey.c19
-rw-r--r--security/nss/lib/softoken/lowpbe.c17
-rw-r--r--security/nss/lib/softoken/pkcs11.c21
-rw-r--r--security/nss/lib/softoken/pkcs11c.c167
-rw-r--r--security/nss/lib/softoken/softkver.h4
-rw-r--r--security/nss/lib/ssl/ssl3ext.h10
-rw-r--r--security/nss/lib/ssl/sslexp.h8
-rw-r--r--security/nss/lib/ssl/sslimpl.h15
-rw-r--r--security/nss/lib/ssl/sslsock.c1
-rw-r--r--security/nss/lib/ssl/sslt.h17
-rw-r--r--security/nss/lib/util/nssutil.h4
-rw-r--r--security/nss/lib/util/secoid.c30
-rw-r--r--security/nss/lib/util/secoidt.h3
-rw-r--r--security/sandbox/chromium-shim/patches/with_update/fix_max_syscalls_linux_aarch64.patch25
-rwxr-xr-xsecurity/sandbox/chromium-shim/patches/with_update/patch_order.txt3
-rw-r--r--security/sandbox/chromium-shim/patches/with_update/revert_remove_AddTargetPeer.patch310
-rw-r--r--security/sandbox/chromium-shim/patches/with_update/revert_remove_BrokerDuplicateHandle.patch743
-rw-r--r--security/sandbox/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h4
-rw-r--r--security/sandbox/chromium/sandbox/win/src/broker_services.cc75
-rw-r--r--security/sandbox/chromium/sandbox/win/src/broker_services.h22
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_dispatcher.cc93
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_dispatcher.h41
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_interception.cc48
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_interception.h24
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_policy.cc93
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_policy.h39
-rw-r--r--security/sandbox/chromium/sandbox/win/src/handle_policy_test.cc114
-rw-r--r--security/sandbox/chromium/sandbox/win/src/ipc_tags.h1
-rw-r--r--security/sandbox/chromium/sandbox/win/src/sandbox.h22
-rw-r--r--security/sandbox/chromium/sandbox/win/src/sandbox_policy.h4
-rw-r--r--security/sandbox/chromium/sandbox/win/src/sandbox_policy_base.cc9
-rw-r--r--security/sandbox/chromium/sandbox/win/src/target_services.cc10
-rw-r--r--security/sandbox/chromium/sandbox/win/src/target_services.h5
-rw-r--r--security/sandbox/chromium/sandbox/win/src/top_level_dispatcher.cc5
-rw-r--r--security/sandbox/common/SandboxSettings.cpp5
-rw-r--r--security/sandbox/linux/SandboxInfo.cpp26
-rw-r--r--security/sandbox/linux/launch/SandboxLaunch.cpp25
-rw-r--r--security/sandbox/mac/Sandbox.mm2
-rw-r--r--security/sandbox/moz.build3
-rw-r--r--security/sandbox/test/browser_content_sandbox_fs_snap.js2
-rw-r--r--security/sandbox/test/browser_content_sandbox_fs_xdg.js2
-rw-r--r--security/sandbox/test/browser_content_sandbox_syscalls.js41
-rw-r--r--security/sandbox/test/browser_content_sandbox_utils.js22
-rw-r--r--security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp65
-rw-r--r--security/sandbox/win/src/sandboxbroker/sandboxBroker.h3
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
new file mode 100644
index 0000000000..1870c25f45
--- /dev/null
+++ b/security/manager/ssl/addons-stage-intermediate.crt
Binary files differ
diff --git a/security/manager/ssl/addons-stage.crt b/security/manager/ssl/addons-stage.crt
index 73e48cadfe..f72f690e2b 100644
--- a/security/manager/ssl/addons-stage.crt
+++ b/security/manager/ssl/addons-stage.crt
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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, &params,
&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,
&params);
- 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,
+ &params);
+ 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);