diff --git a/icecat/.taskcluster.yml b/icecat/.taskcluster.yml index 82326ff0b9..b1fc1e5267 100644 --- a/icecat/.taskcluster.yml +++ b/icecat/.taskcluster.yml @@ -101,7 +101,7 @@ tasks: description: 'Created by a [cron task](https://icecat-ci-tc.services.mozilla.com/tasks/${cron.task_id}) (${treeherder_link})' provisionerId: "${trustDomain}-${repository.level}" - workerType: "decision" + workerType: "decision-gcp" tags: $if: 'tasks_for == "hg-push"' diff --git a/icecat/CLOBBER b/icecat/CLOBBER index 72f6d9da7b..91268ce28a 100644 --- a/icecat/CLOBBER +++ b/icecat/CLOBBER @@ -22,4 +22,4 @@ # changes to stick? As of bug 928195, this shouldn't be necessary! Please # don't change CLOBBER for WebIDL changes any more. -Merge day clobber 2025-12-08 \ No newline at end of file +Merge day clobber 2025-11-10 \ No newline at end of file diff --git a/icecat/Cargo.lock b/icecat/Cargo.lock index fc6f2f8848..1d1eb0bb5f 100644 --- a/icecat/Cargo.lock +++ b/icecat/Cargo.lock @@ -1166,7 +1166,6 @@ dependencies = [ name = "crash_helper_common" version = "0.1.0" dependencies = [ - "getrandom 0.3.3", "minidump-writer", "nix 0.30.1", "num-derive", diff --git a/icecat/browser/base/content/browser-fullScreenAndPointerLock.js b/icecat/browser/base/content/browser-fullScreenAndPointerLock.js index d461001e6d..e3586e9fb5 100644 --- a/icecat/browser/base/content/browser-fullScreenAndPointerLock.js +++ b/icecat/browser/base/content/browser-fullScreenAndPointerLock.js @@ -103,9 +103,10 @@ var PointerlockFsWarning = { } else { textElem.removeAttribute("hidden"); // Document's principal's URI has a host. Display a warning including it. - let displayHost = BrowserUtils.formatURIForDisplay(uri, { - onlyBaseDomain: true, - }); + let { DownloadUtils } = ChromeUtils.importESModule( + "resource://gre/modules/DownloadUtils.sys.mjs" + ); + let displayHost = DownloadUtils.getURIHost(uri.spec)[0]; let l10nString = { "fullscreen-warning": "fullscreen-warning-domain", "pointerlock-warning": "pointerlock-warning-domain", diff --git a/icecat/browser/base/content/browser.js b/icecat/browser/base/content/browser.js index 166845c340..71f4dfbbd8 100644 --- a/icecat/browser/base/content/browser.js +++ b/icecat/browser/base/content/browser.js @@ -2230,7 +2230,7 @@ var XULBrowserWindow = { // Ensure we close any remaining open locationspecific panels if (!isSameDocument) { - closeOpenPanels(":is(panel, menupopup)[locationspecific='true']"); + closeOpenPanels("panel[locationspecific='true']"); } gPermissionPanel.onLocationChange(); diff --git a/icecat/browser/components/downloads/DownloadsViewUI.sys.mjs b/icecat/browser/components/downloads/DownloadsViewUI.sys.mjs index 67801c7983..408c25f5d6 100644 --- a/icecat/browser/components/downloads/DownloadsViewUI.sys.mjs +++ b/icecat/browser/components/downloads/DownloadsViewUI.sys.mjs @@ -12,7 +12,6 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { - BrowserUtils: "resource://gre/modules/BrowserUtils.sys.mjs", BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs", DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs", Downloads: "resource://gre/modules/Downloads.sys.mjs", @@ -601,13 +600,7 @@ DownloadsViewUI.DownloadElementShell.prototype = { this.showStatus(stateLabel, hoverStatus); return; } - let uri = URL.parse(this.download.source.url)?.URI; - let displayHost = uri - ? lazy.BrowserUtils.formatURIForDisplay(uri, { - onlyBaseDomain: true, - }) - : ""; - + let [displayHost] = lazy.DownloadUtils.getURIHost(this.download.source.url); let [displayDate] = lazy.DownloadUtils.getReadableDates( new Date(this.download.endTime) ); diff --git a/icecat/browser/components/icecatview/fxview-tab-list.mjs b/icecat/browser/components/icecatview/fxview-tab-list.mjs index 77991f496e..65c5e95160 100644 --- a/icecat/browser/components/icecatview/fxview-tab-list.mjs +++ b/icecat/browser/components/icecatview/fxview-tab-list.mjs @@ -513,9 +513,7 @@ export class FxviewTabRowBase extends MozLitElement { formatURIForDisplay(uriString) { return !window.IS_STORYBOOK - ? lazy.BrowserUtils.formatURIStringForDisplay(uriString, { - showFilenameForLocalURIs: true, - }) + ? lazy.BrowserUtils.formatURIStringForDisplay(uriString) : uriString; } diff --git a/icecat/browser/components/icecatview/helpers.mjs b/icecat/browser/components/icecatview/helpers.mjs index 488164c242..f57e02c941 100644 --- a/icecat/browser/components/icecatview/helpers.mjs +++ b/icecat/browser/components/icecatview/helpers.mjs @@ -24,9 +24,7 @@ export const LOGGING_PREF = "browser.tabs.icecat-view.logLevel"; export const MAX_TABS_FOR_RECENT_BROWSING = 5; export function formatURIForDisplay(uriString) { - return lazy.BrowserUtils.formatURIStringForDisplay(uriString, { - showFilenameForLocalURIs: true, - }); + return lazy.BrowserUtils.formatURIStringForDisplay(uriString); } export function convertTimestamp( diff --git a/icecat/browser/components/icecatview/history.mjs b/icecat/browser/components/icecatview/history.mjs index d5fc796247..73865f46e0 100644 --- a/icecat/browser/components/icecatview/history.mjs +++ b/icecat/browser/components/icecatview/history.mjs @@ -18,7 +18,6 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { HistoryController: "resource:///modules/HistoryController.sys.mjs", - PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", ProfileAge: "resource://gre/modules/ProfileAge.sys.mjs", }); @@ -249,7 +248,6 @@ class HistoryInView extends ViewPage { @click=${this.openInNewPrivateWindow} data-l10n-id="fxviewtabrow-open-in-private-window" data-l10n-attrs="accesskey" - ?hidden=${!lazy.PrivateBrowsingUtils.enabled} >
{ }); await setStorage(TEST_ADDRESS_1); - await setStorage(TEST_CREDIT_CARD_1); registerCleanupFunction(async () => { await removeAllRecords(); @@ -102,7 +101,7 @@ add_task( /* eslint-disable mozilla/no-arbitrary-setTimeout */ await new Promise(resolve => { - setTimeout(resolve, FormAutofill.refillOnSiteClearingFieldsTimeout); + setTimeout(resolve, FormAutofill.refillOnSiteClearingFields); }); return await SpecialPowers.spawn( @@ -117,56 +116,3 @@ add_task( Assert.equal(orgaValue, "", "Element was not refilled"); } ); - -add_task(async function address_field_not_refilled_after_reformat_by_site() { - const value = await BrowserTestUtils.withNewTab( - CREDITCARD_FORM_URL, - async browser => { - const selectorToTriggerAutocompletion = "#cc-number"; - const elementValueToVerifyAutofill = TEST_CREDIT_CARD_1["cc-number"]; - - info("Triggering autocompletion."); - await openPopupOn(browser, selectorToTriggerAutocompletion); - await BrowserTestUtils.synthesizeKey("VK_DOWN", {}, browser); - await BrowserTestUtils.synthesizeKey("VK_RETURN", {}, browser); - await waitForAutofill( - browser, - selectorToTriggerAutocompletion, - elementValueToVerifyAutofill - ); - - const formatValue = TEST_CREDIT_CARD_1["cc-number"] - .replace(/(.{4})/g, "$1 ") - .trim(); - await SpecialPowers.spawn( - browser, - [selectorToTriggerAutocompletion, formatValue], - async (ccNumberSelector, reformatValue) => { - const ccNumberInput = - content.document.querySelector(ccNumberSelector); - - info("Simulating site reformats an input"); - ccNumberInput.value = reformatValue; - } - ); - - /* eslint-disable mozilla/no-arbitrary-setTimeout */ - await new Promise(resolve => { - setTimeout(resolve, FormAutofill.refillOnSiteClearingFieldsTimeout); - }); - - return await SpecialPowers.spawn( - browser, - [selectorToTriggerAutocompletion], - async ccNumberSelector => { - return content.document.querySelector(ccNumberSelector).value; - } - ); - } - ); - - const formatValue = TEST_CREDIT_CARD_1["cc-number"] - .replace(/(.{4})/g, "$1 ") - .trim(); - Assert.equal(value, formatValue, "Element was not refilled"); -}); diff --git a/icecat/config/milestone.txt b/icecat/config/milestone.txt index 76d3faf1ff..e5b5df6ba3 100644 --- a/icecat/config/milestone.txt +++ b/icecat/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -140.7.0 +140.6.0 diff --git a/icecat/debian/changelog b/icecat/debian/changelog index f9d70576c3..a68915322e 100644 --- a/icecat/debian/changelog +++ b/icecat/debian/changelog @@ -1,53 +1,47 @@ -icecat (140.7.0-1gnu1+build1-0.12.0) ecne; urgency=medium - - * New upstream stable release (icecat-140.7.0-1gnu1) - - -- Capitulo Mexicano de Software Libre Sat, 17 Jan 2026 21:13:41 -0600 - -icecat (140.6.0-1gnu1+build1-0.12.0) ecne; urgency=medium +icecat (140.6.0-1gnu1+build1-0.11.0) aramo; urgency=medium * New upstream stable release (icecat-140.6.0-1gnu1) - -- Capitulo Mexicano de Software Libre Sun, 14 Dec 2025 03:53:59 -0600 + -- Capitulo Mexicano de Software Libre Sun, 14 Dec 2025 02:25:54 -0600 -icecat (140.5.0-2gnu1+build1-0.12.0) ecne; urgency=medium +icecat (140.5.0-2gnu1+build1-0.11.0) aramo; urgency=medium * New upstream stable release (icecat-140.5.0-2gnu1) - -- Capitulo Mexicano de Software Libre Thu, 13 Nov 2025 03:42:08 -0600 + -- Capitulo Mexicano de Software Libre Thu, 13 Nov 2025 00:59:43 -0600 -icecat (140.4.0-2gnu1+build1-0.12.0) ecne; urgency=medium +icecat (140.4.0-2gnu1+build1-0.11.0) aramo; urgency=medium * New upstream stable release (icecat-140.4.0-2gnu1) - -- Capitulo Mexicano de Software Libre Wed, 15 Oct 2025 02:20:36 -0600 + -- Capitulo Mexicano de Software Libre Wed, 15 Oct 2025 04:43:15 -0600 -icecat (140.3.1-1gnu1+build1-0.12.0) ecne; urgency=medium +icecat (140.3.1-1gnu1+build1-0.11.0) aramo; urgency=medium * New upstream stable release (icecat-140.3.1-1gnu1) - -- Capitulo Mexicano de Software Libre Mon, 06 Oct 2025 01:25:34 -0600 + -- Capitulo Mexicano de Software Libre Mon, 06 Oct 2025 03:17:16 -0600 -icecat (128.14.0-1gnu1+build1-0.12.0) ecne; urgency=medium +icecat (128.14.0-1gnu1+build1-0.11.0) aramo; urgency=medium * New upstream stable release (icecat-128.14.0-1gnu1) - -- Capitulo Mexicano de Software Libre Tue, 19 Aug 2025 23:07:15 -0600 + -- Capitulo Mexicano de Software Libre Tue, 19 Aug 2025 23:36:26 -0600 -icecat (128.13.0-1gnu1+build1-0.12.0) ecne; urgency=medium +icecat (128.13.0-1gnu1+build1-0.11.0) aramo; urgency=medium * New upstream stable release (icecat-128.13.0-1gnu1) - -- Capitulo Mexicano de Software Libre Thu, 07 Aug 2025 14:18:35 -0600 + -- Capitulo Mexicano de Software Libre Thu, 07 Aug 2025 18:52:14 +0000 -icecat (128.12.0-1gnu1+build1-0.12.0) ecne; urgency=medium +icecat (128.12.0-1gnu1+build1-0.11.0) aramo; urgency=medium * Initial packaging for Trisquel GNU/Linux and new upstream IceCat stable release (icecat-128.12.0-1gnu1) - -- Capitulo Mexicano de Software Libre Thu, 17 Jul 2025 03:46:00 -0600 + -- Capitulo Mexicano de Software Libre Sat, 19 Jul 2025 19:25:35 -0600 -firefox-esr (128.12.0esr+build1-0ubuntu0.24.04.1~mt1) noble; urgency=medium +firefox-esr (128.12.0esr+build1-0ubuntu0.22.04.1~mt1) jammy; urgency=medium * New upstream stable release (FIREFOX_128_12_0esr_BUILD1) diff --git a/icecat/debian/distribution.ini b/icecat/debian/distribution.ini index 966e7983f6..1eceaa3304 100644 --- a/icecat/debian/distribution.ini +++ b/icecat/debian/distribution.ini @@ -1,6 +1,6 @@ [Global] id=trisquel -version=12.0 +version=11.0 about=IceCat for Trisquel GNU/Linux [Preferences] diff --git a/icecat/debian/firefox.postinst.in b/icecat/debian/firefox.postinst.in index 38db703b15..19cce2532b 100644 --- a/icecat/debian/firefox.postinst.in +++ b/icecat/debian/firefox.postinst.in @@ -53,7 +53,7 @@ if [ "$1" = "configure" ] ; then else trisquel_version=`lsb_release -rs | cut -d '.' -f-2 | tr -d '.'` fi - # Setup the extra include files for Trisquel 12.0 and higher + # Setup the extra include files for Trisquel 11.0 and higher # Add the local/ include LOCAL_APP_PROFILE="/etc/apparmor.d/local/usr.bin.$MOZ_PKG_NAME" test -e "$LOCAL_APP_PROFILE" || { diff --git a/icecat/docshell/base/ChildProcessChannelListener.h b/icecat/docshell/base/ChildProcessChannelListener.h index 30bdc8c722..c00c2ff5a7 100644 --- a/icecat/docshell/base/ChildProcessChannelListener.h +++ b/icecat/docshell/base/ChildProcessChannelListener.h @@ -45,8 +45,8 @@ class ChildProcessChannelListener final { }; // TODO Backtrack. - nsTHashMap, Callback> mCallbacks; - nsTHashMap, CallbackArgs> mChannelArgs; + nsTHashMap mCallbacks; + nsTHashMap mChannelArgs; }; } // namespace mozilla::dom diff --git a/icecat/dom/base/TimeoutManager.cpp b/icecat/dom/base/TimeoutManager.cpp index 3fec5c19e6..e37fc282d5 100644 --- a/icecat/dom/base/TimeoutManager.cpp +++ b/icecat/dom/base/TimeoutManager.cpp @@ -104,10 +104,6 @@ bool TimeoutManager::IsActive() const { return true; } - if (mIsChromeWorker) { - return true; - } - // Check if we're playing audio if (mGlobalObject.IsPlayingAudio()) { return true; @@ -326,7 +322,7 @@ TimeDuration TimeoutManager::CalculateDelay(Timeout* aTimeout) const { TimeDuration result = aTimeout->mInterval; if (aTimeout->mNestingLevel >= - StaticPrefs::dom_clamp_timeout_nesting_level() && !mIsChromeWorker) { + StaticPrefs::dom_clamp_timeout_nesting_level()) { uint32_t minTimeoutValue = StaticPrefs::dom_min_timeout_value(); result = TimeDuration::Max(result, TimeDuration::FromMilliseconds(minTimeoutValue)); @@ -408,7 +404,7 @@ uint32_t TimeoutManager::sNestingLevel = 0; TimeoutManager::TimeoutManager(nsIGlobalObject& aHandle, uint32_t aMaxIdleDeferMS, - nsISerialEventTarget* aEventTarget, bool aIsChromeWorker) + nsISerialEventTarget* aEventTarget) : mGlobalObject(aHandle), mExecutor(new TimeoutExecutor(this, false, 0)), mIdleExecutor(new TimeoutExecutor(this, true, aMaxIdleDeferMS)), @@ -429,8 +425,7 @@ TimeoutManager::TimeoutManager(nsIGlobalObject& aHandle, mBudgetThrottleTimeouts(false), mIsLoading(false), mEventTarget(aEventTarget), - mIsWindow(aHandle.GetAsInnerWindow()), - mIsChromeWorker(aIsChromeWorker) { + mIsWindow(aHandle.GetAsInnerWindow()) { MOZ_LOG(gTimeoutLog, LogLevel::Debug, ("TimeoutManager %p created, tracking bucketing %s\n", this, StaticPrefs::privacy_trackingprotection_annotate_channels() diff --git a/icecat/dom/base/TimeoutManager.h b/icecat/dom/base/TimeoutManager.h index 4df3c4230a..d995ba70a0 100644 --- a/icecat/dom/base/TimeoutManager.h +++ b/icecat/dom/base/TimeoutManager.h @@ -30,8 +30,7 @@ class TimeoutManager final { public: TimeoutManager(nsIGlobalObject& aHandle, uint32_t aMaxIdleDeferMS, - nsISerialEventTarget* aEventTarget, - bool aIsChromeWorker = false); + nsISerialEventTarget* aEventTarget); ~TimeoutManager(); TimeoutManager(const TimeoutManager& rhs) = delete; void operator=(const TimeoutManager& rhs) = delete; @@ -271,8 +270,6 @@ class TimeoutManager final { const bool mIsWindow; - const bool mIsChromeWorker; - uint32_t mNestingLevel{0}; static uint32_t sNestingLevel; diff --git a/icecat/dom/events/test/clipboard/browser.toml b/icecat/dom/events/test/clipboard/browser.toml index 6cbf7ab4b5..06e36f4d7c 100644 --- a/icecat/dom/events/test/clipboard/browser.toml +++ b/icecat/dom/events/test/clipboard/browser.toml @@ -10,12 +10,6 @@ support-files = ["simple_navigator_clipboard_keydown.html"] run-if = ["os != 'win'"] # The popupmenus dismiss when access keys for disabled items are pressed on windows skip-if = ["os == 'mac' && verify"] -["browser_navigator_clipboard_contextmenu_dismiss.js"] -support-files = [ - "file_toplevel.html", - "file_iframe.html", -] - ["browser_navigator_clipboard_contextmenu_suppression.js"] support-files = [ "file_toplevel.html", diff --git a/icecat/dom/events/test/clipboard/browser_navigator_clipboard_contextmenu_dismiss.js b/icecat/dom/events/test/clipboard/browser_navigator_clipboard_contextmenu_dismiss.js deleted file mode 100644 index 067b553aa8..0000000000 --- a/icecat/dom/events/test/clipboard/browser_navigator_clipboard_contextmenu_dismiss.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: JavaScript; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=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/. */ - -"use strict"; - -const kBaseUrlForContent = getRootDirectory(gTestPath).replace( - "chrome://mochitests/content", - "https://example.com" -); -const kContentFileUrl = kBaseUrlForContent + "file_toplevel.html"; -Services.scriptloader.loadSubScript( - "chrome://mochitests/content/browser/gfx/layers/apz/test/mochitest/apz_test_native_event_utils.js", - this -); - -async function readText(aBrowser) { - return SpecialPowers.spawn(aBrowser, [], () => { - content.document.notifyUserGestureActivation(); - content.eval(`navigator.clipboard.readText();`); - }); -} - -add_task(async function test_context_menu_dimiss_tab_navigate() { - await BrowserTestUtils.withNewTab(kContentFileUrl, async aBrowser => { - info(`Randomized text to avoid overlappings with other tests`); - await promiseWritingRandomTextToClipboard(); - - info(`Wait for paste context menu is shown`); - let pasteButtonIsShown = promisePasteButtonIsShown(); - await readText(aBrowser); - await pasteButtonIsShown; - - info("Navigate tab"); - let pasteButtonIsHidden = promisePasteButtonIsHidden(); - aBrowser.loadURI(Services.io.newURI("https://example.com/"), { - triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), - }); - - info(`Wait for paste context menu is hidden`); - await pasteButtonIsHidden; - }); -}); - -add_task(async function test_context_menu_dimiss_tab_reload() { - await BrowserTestUtils.withNewTab(kContentFileUrl, async aBrowser => { - info(`Randomized text to avoid overlappings with other tests`); - await promiseWritingRandomTextToClipboard(); - - info(`Wait for paste context menu is shown`); - let pasteButtonIsShown = promisePasteButtonIsShown(); - await readText(aBrowser); - await pasteButtonIsShown; - - info("Reload tab"); - let pasteButtonIsHidden = promisePasteButtonIsHidden(); - await BrowserTestUtils.reloadTab(gBrowser.selectedTab); - - info(`Wait for paste context menu is hidden`); - await pasteButtonIsHidden; - }); -}); diff --git a/icecat/dom/html/nsHTMLDocument.cpp b/icecat/dom/html/nsHTMLDocument.cpp index 631aac97f3..92542ee71c 100644 --- a/icecat/dom/html/nsHTMLDocument.cpp +++ b/icecat/dom/html/nsHTMLDocument.cpp @@ -596,10 +596,6 @@ void nsHTMLDocument::NamedGetter(JSContext* aCx, const nsAString& aName, aRv.NoteJSContextException(aCx); return; } - - if (v.isNullOrUndefined()) { - return; - } } else { // Step 3. Otherwise, if elements has only one element, return that // element. diff --git a/icecat/dom/media/gmp/GMPParent.cpp b/icecat/dom/media/gmp/GMPParent.cpp index 9663c3aeff..918b7d793c 100644 --- a/icecat/dom/media/gmp/GMPParent.cpp +++ b/icecat/dom/media/gmp/GMPParent.cpp @@ -657,11 +657,13 @@ void GMPParent::DeleteProcess() { self->DeleteProcess(); }, [self](const ipc::ResponseRejectReason&) { - // We crashed during shutdown, ActorDestroy will perform cleanup. GMP_LOG_DEBUG( "GMPParent[%p|childPid=%d] DeleteProcess: Shutdown handshake " "error.", self.get(), self->mChildPid); + self->mState = GMPState::Closed; + self->Close(); + self->DeleteProcess(); }); return; } diff --git a/icecat/dom/media/webrtc/libwebrtcglue/VideoConduit.cpp b/icecat/dom/media/webrtc/libwebrtcglue/VideoConduit.cpp index b036c0ca72..718a9010b6 100644 --- a/icecat/dom/media/webrtc/libwebrtcglue/VideoConduit.cpp +++ b/icecat/dom/media/webrtc/libwebrtcglue/VideoConduit.cpp @@ -780,17 +780,6 @@ void WebrtcVideoConduit::OnControlConfigChange() { .valueOr(-1); })()); - // Set each layer's max-bitrate explicitly or libwebrtc may ignore all - // stream-specific max-bitrate settings later on, as provided by the - // VideoStreamFactory. Default to our max of 10Mbps, overriden by - // SDP/JS. - int maxBps = KBPS(10000); - maxBps = MinIgnoreZero(maxBps, mPrefMaxBitrate); - maxBps = MinIgnoreZero(maxBps, mNegotiatedMaxBitrate); - maxBps = MinIgnoreZero(maxBps, - static_cast(encodingConstraints.maxBr)); - video_stream.max_bitrate_bps = maxBps; - // At this time, other values are not used until after // CreateEncoderStreams(). We fill these in directly from the codec // config in VideoStreamFactory. @@ -951,14 +940,6 @@ void WebrtcVideoConduit::OnControlConfigChange() { mEncoderConfig.number_of_streams, "Each video substream must have a corresponding ssrc."); mEncoderConfig.video_stream_factory = CreateVideoStreamFactory(); - for (const auto& stream : mEncoderConfig.simulcast_layers) { - CSFLogDebug( - LOGTAG, - "%s Reconfigure with simulcast stream maxFps=%d, " - "bitrate=[%dkbps, %dkbps, %dkbps]", - __FUNCTION__, stream.max_framerate, stream.min_bitrate_bps / 1000, - stream.target_bitrate_bps / 1000, stream.max_bitrate_bps / 1000); - } mSendStream->ReconfigureVideoEncoder(mEncoderConfig.Copy()); } if (sendSourceUpdateNeeded && mTrackSource) { diff --git a/icecat/dom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp b/icecat/dom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp index 3adcf2e257..76a77d9810 100644 --- a/icecat/dom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp +++ b/icecat/dom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp @@ -223,20 +223,15 @@ std::vector VideoStreamFactory::CreateEncoderStreams( __FUNCTION__, encoding.rid.c_str()); } + CSFLogInfo(LOGTAG, "%s Stream with RID %s maxFps=%d (global max fps = %u)", + __FUNCTION__, encoding.rid.c_str(), video_stream.max_framerate, + (unsigned)mMaxFramerateForAllStreams); + SelectBitrates({video_stream.width, video_stream.height}, mMinBitrate, mStartBitrate, SaturatingCast(encoding.constraints.maxBr), mPrefMaxBitrate, mNegotiatedMaxBitrate, video_stream); - CSFLogInfo(LOGTAG, - "%s Stream with RID %s maxFps=%d (global max fps = %u), " - "bitrate=[%dkbps, %dkbps, %dkbps]", - __FUNCTION__, encoding.rid.c_str(), video_stream.max_framerate, - (unsigned)mMaxFramerateForAllStreams, - video_stream.min_bitrate_bps / 1000, - video_stream.target_bitrate_bps / 1000, - video_stream.max_bitrate_bps / 1000); - video_stream.bitrate_priority = aConfig.bitrate_priority; video_stream.max_qp = kQpMax; diff --git a/icecat/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp b/icecat/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp index 171a623293..d909050e94 100644 --- a/icecat/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp +++ b/icecat/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp @@ -491,8 +491,6 @@ int32_t WebrtcGmpVideoEncoder::SetRates_g(uint32_t aOldBitRateKbps, return WEBRTC_VIDEO_CODEC_ERROR; } - GMP_LOG_DEBUG("GMP Encoder %p setting rate %ukbps", this, aNewBitRateKbps); - mNeedKeyframe |= (aOldBitRateKbps == 0 && aNewBitRateKbps != 0); GMPErr err = mGMP->SetRates( diff --git a/icecat/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp b/icecat/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp index f63bc23584..a98e5dad86 100644 --- a/icecat/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp +++ b/icecat/dom/media/webrtc/transport/ipc/WebrtcTCPSocket.cpp @@ -685,52 +685,44 @@ WebrtcTCPSocket::OnInputStreamReady(nsIAsyncInputStream* in) { MOZ_ASSERT(mTransport, "webrtc TCP socket not connected"); MOZ_ASSERT(mSocketIn == in, "wrong input stream"); - while (true) { - char buffer[9216]; - uint32_t remainingCapacity = sizeof(buffer); - uint32_t read = 0; + char buffer[9216]; + uint32_t remainingCapacity = sizeof(buffer); + uint32_t read = 0; - while (remainingCapacity > 0) { - uint32_t count = 0; - nsresult rv = mSocketIn->Read(buffer + read, remainingCapacity, &count); - if (rv == NS_BASE_STREAM_WOULD_BLOCK) { - break; - } - - if (NS_FAILED(rv)) { - LOG(("WebrtcTCPSocket::OnInputStreamReady %p failed %u\n", this, - static_cast(rv))); - CloseWithReason(rv); - return rv; - } - - // base stream closed - if (count == 0) { - LOG(("WebrtcTCPSocket::OnInputStreamReady %p connection closed\n", - this)); - CloseWithReason(NS_ERROR_FAILURE); - return NS_OK; - } - - remainingCapacity -= count; - read += count; - } - - if (read > 0) { - nsTArray array(read); - array.AppendElements(buffer, read); - - InvokeOnRead(std::move(array)); - } - - if (remainingCapacity != 0) { - // Loop exited above, but not because we ran out of space. We're actually - // done, break out of the while(true) loop. + while (remainingCapacity > 0) { + uint32_t count = 0; + nsresult rv = mSocketIn->Read(buffer + read, remainingCapacity, &count); + if (rv == NS_BASE_STREAM_WOULD_BLOCK) { break; } + + if (NS_FAILED(rv)) { + LOG(("WebrtcTCPSocket::OnInputStreamReady %p failed %u\n", this, + static_cast(rv))); + CloseWithReason(rv); + return rv; + } + + // base stream closed + if (count == 0) { + LOG(("WebrtcTCPSocket::OnInputStreamReady %p connection closed\n", this)); + CloseWithReason(NS_ERROR_FAILURE); + return NS_OK; + } + + remainingCapacity -= count; + read += count; + } + + if (read > 0) { + nsTArray array(read); + array.AppendElements(buffer, read); + + InvokeOnRead(std::move(array)); } mSocketIn->AsyncWait(this, 0, 0, nullptr); + return NS_OK; } diff --git a/icecat/dom/svg/SVGContentUtils.cpp b/icecat/dom/svg/SVGContentUtils.cpp index 46b1b542ba..77cf042971 100644 --- a/icecat/dom/svg/SVGContentUtils.cpp +++ b/icecat/dom/svg/SVGContentUtils.cpp @@ -436,8 +436,9 @@ static gfx::Matrix GetCTMInternal(SVGElement* aElement, CTMType aCTMType, auto postTranslateFrameOffset = [](nsIFrame* aFrame, nsIFrame* aAncestorFrame, gfx::Matrix& aMatrix) { auto point = aFrame->GetOffsetTo(aAncestorFrame); - aMatrix.PostTranslate(nsPresContext::AppUnitsToFloatCSSPixels(point.x), - nsPresContext::AppUnitsToFloatCSSPixels(point.y)); + aMatrix = + aMatrix.PostTranslate(nsPresContext::AppUnitsToFloatCSSPixels(point.x), + nsPresContext::AppUnitsToFloatCSSPixels(point.y)); }; gfxMatrix matrix = getLocalTransformHelper(aElement, aHaveRecursed); @@ -498,7 +499,8 @@ static gfx::Matrix GetCTMInternal(SVGElement* aElement, CTMType aCTMType, if (frame->IsSVGOuterSVGFrame()) { nsMargin bp = frame->GetUsedBorderAndPadding(); int32_t appUnitsPerCSSPixel = AppUnitsPerCSSPixel(); - nscoord xOffset, yOffset; + float xOffset = NSAppUnitsToFloatPixels(bp.left, appUnitsPerCSSPixel); + float yOffset = NSAppUnitsToFloatPixels(bp.top, appUnitsPerCSSPixel); // See // https://drafts.csswg.org/css-transforms/#valdef-transform-box-fill-box // For elements with associated CSS layout box, the used value for fill-box @@ -506,24 +508,17 @@ static gfx::Matrix GetCTMInternal(SVGElement* aElement, CTMType aCTMType, switch (frame->StyleDisplay()->mTransformBox) { case StyleTransformBox::FillBox: case StyleTransformBox::ContentBox: - xOffset = bp.left; - yOffset = bp.top; + // Apply border/padding separate from the rest of the transform. + // i.e. after it's been transformed + tm.PostTranslate(xOffset, yOffset); break; case StyleTransformBox::StrokeBox: case StyleTransformBox::ViewBox: - case StyleTransformBox::BorderBox: { - // Extract the rotation component of the matrix. - float angle = std::atan2(tm._12, tm._11); - float cosAngle = std::cos(angle); - float sinAngle = std::sin(angle); - // Apply that rotation to bp.left and bp.top. - xOffset = bp.left * cosAngle - bp.top * sinAngle; - yOffset = bp.top * cosAngle + bp.left * sinAngle; + case StyleTransformBox::BorderBox: + // Apply border/padding before we transform the surface. + tm.PreTranslate(xOffset, yOffset); break; - } } - tm.PostTranslate(NSAppUnitsToFloatPixels(xOffset, appUnitsPerCSSPixel), - NSAppUnitsToFloatPixels(yOffset, appUnitsPerCSSPixel)); } if (!ancestor || !ancestor->IsElement()) { diff --git a/icecat/dom/webauthn/MacOSWebAuthnService.mm b/icecat/dom/webauthn/MacOSWebAuthnService.mm index 7e588c97e1..1c43967a52 100644 --- a/icecat/dom/webauthn/MacOSWebAuthnService.mm +++ b/icecat/dom/webauthn/MacOSWebAuthnService.mm @@ -823,20 +823,6 @@ MacOSWebAuthnService::MakeCredential(uint64_t aTransactionId, *userVerificationPreference; } - if (__builtin_available(macos 13.5, *)) { - // Show the hybrid transport unless we have a non-empty hint list and - // none of the hints are for the hybrid transport. - bool hasHybridHint = false; - nsTArray hints; - (void)aArgs->GetHints(hints); - for (nsString& hint : hints) { - if (hint.Equals(u"hybrid"_ns)) { - hasHybridHint = true; - } - } - platformRegistrationRequest.shouldShowHybridTransport = - hints.Length() == 0 || hasHybridHint; - } if (__builtin_available(macos 14.0, *)) { bool largeBlobSupportRequired; nsresult rv = @@ -1187,19 +1173,11 @@ void MacOSWebAuthnService::DoGetAssertion( *userVerificationPreference; } if (__builtin_available(macos 13.5, *)) { - // Show the hybrid transport option if (1) none of the allowlist - // credentials list transports, or (2) at least one allow list entry - // lists the hybrid transport, or (3) the request has the hybrid hint. + // Show the hybrid transport option if (1) we have no transport hints + // or (2) at least one allow list entry lists the hybrid transport. bool shouldShowHybridTransport = !transports || (transports & MOZ_WEBAUTHN_AUTHENTICATOR_TRANSPORT_ID_HYBRID); - nsTArray hints; - (void)aArgs->GetHints(hints); - for (nsString& hint : hints) { - if (hint.Equals(u"hybrid"_ns)) { - shouldShowHybridTransport = true; - } - } platformAssertionRequest.shouldShowHybridTransport = shouldShowHybridTransport; } diff --git a/icecat/dom/webauthn/PWebAuthnTransaction.ipdl b/icecat/dom/webauthn/PWebAuthnTransaction.ipdl index 0f7c6c879e..28ac462c7d 100644 --- a/icecat/dom/webauthn/PWebAuthnTransaction.ipdl +++ b/icecat/dom/webauthn/PWebAuthnTransaction.ipdl @@ -143,7 +143,6 @@ struct WebAuthnMakeCredentialInfo { WebAuthnExtension[] Extensions; WebAuthnAuthenticatorSelection AuthenticatorSelection; nsString attestationConveyancePreference; - nsString[] Hints; }; struct WebAuthnMakeCredentialResult { @@ -169,7 +168,6 @@ struct WebAuthnGetAssertionInfo { WebAuthnExtension[] Extensions; nsString userVerificationRequirement; bool ConditionallyMediated; - nsString[] Hints; }; struct WebAuthnGetAssertionResult { diff --git a/icecat/dom/webauthn/PublicKeyCredential.cpp b/icecat/dom/webauthn/PublicKeyCredential.cpp index 5b5c6c7f89..97b912e93b 100644 --- a/icecat/dom/webauthn/PublicKeyCredential.cpp +++ b/icecat/dom/webauthn/PublicKeyCredential.cpp @@ -659,8 +659,6 @@ void PublicKeyCredential::ParseCreationOptionsFromJSON( aResult.mAuthenticatorSelection = aOptions.mAuthenticatorSelection.Value(); } - aResult.mHints = aOptions.mHints; - aResult.mAttestation = aOptions.mAttestation; if (aOptions.mExtensions.WasPassed()) { @@ -754,8 +752,6 @@ void PublicKeyCredential::ParseRequestOptionsFromJSON( aResult.mUserVerification = aOptions.mUserVerification; - aResult.mHints = aOptions.mHints; - if (aOptions.mExtensions.WasPassed()) { if (aOptions.mExtensions.Value().mAppid.WasPassed()) { aResult.mExtensions.mAppid.Construct( diff --git a/icecat/dom/webauthn/WebAuthnArgs.cpp b/icecat/dom/webauthn/WebAuthnArgs.cpp index b765805f1e..6a475613eb 100644 --- a/icecat/dom/webauthn/WebAuthnArgs.cpp +++ b/icecat/dom/webauthn/WebAuthnArgs.cpp @@ -245,12 +245,6 @@ WebAuthnRegisterArgs::GetLargeBlobSupportRequired( return NS_ERROR_NOT_AVAILABLE; } -NS_IMETHODIMP -WebAuthnRegisterArgs::GetHints(nsTArray& aHints) { - aHints.Assign(mInfo.Hints()); - return NS_OK; -} - NS_IMPL_ISUPPORTS(WebAuthnSignArgs, nsIWebAuthnSignArgs) NS_IMETHODIMP @@ -490,10 +484,4 @@ WebAuthnSignArgs::GetLargeBlobWrite(nsTArray& aLargeBlobWrite) { return NS_ERROR_NOT_AVAILABLE; } -NS_IMETHODIMP -WebAuthnSignArgs::GetHints(nsTArray& aHints) { - aHints.Assign(mInfo.Hints()); - return NS_OK; -} - } // namespace mozilla::dom diff --git a/icecat/dom/webauthn/WebAuthnHandler.cpp b/icecat/dom/webauthn/WebAuthnHandler.cpp index dd0e9215cb..e3df8f341f 100644 --- a/icecat/dom/webauthn/WebAuthnHandler.cpp +++ b/icecat/dom/webauthn/WebAuthnHandler.cpp @@ -392,7 +392,7 @@ already_AddRefed WebAuthnHandler::MakeCredential( WebAuthnMakeCredentialInfo info(rpId, challenge, adjustedTimeout, excludeList, rpInfo, userInfo, coseAlgos, extensions, - authSelection, attestation, aOptions.mHints); + authSelection, attestation); // Set up the transaction state. Fallible operations should not be performed // below this line, as we must not leave the transaction state partially @@ -666,7 +666,7 @@ already_AddRefed WebAuthnHandler::GetAssertion( WebAuthnGetAssertionInfo info( rpId, maybeAppId, challenge, adjustedTimeout, allowList, extensions, - aOptions.mUserVerification, aConditionallyMediated, aOptions.mHints); + aOptions.mUserVerification, aConditionallyMediated); // Set up the transaction state. Fallible operations should not be performed // below this line, as we must not leave the transaction state partially diff --git a/icecat/dom/webauthn/WinWebAuthnService.cpp b/icecat/dom/webauthn/WinWebAuthnService.cpp index 22477501c0..72bef99935 100644 --- a/icecat/dom/webauthn/WinWebAuthnService.cpp +++ b/icecat/dom/webauthn/WinWebAuthnService.cpp @@ -30,10 +30,6 @@ StaticRWLock gWinWebAuthnModuleLock; static bool gWinWebAuthnModuleUnusable = false; static HMODULE gWinWebAuthnModule = 0; -static const LPCWSTR gWebAuthnHintStrings[3] = { - WEBAUTHN_CREDENTIAL_HINT_SECURITY_KEY, - WEBAUTHN_CREDENTIAL_HINT_CLIENT_DEVICE, WEBAUTHN_CREDENTIAL_HINT_HYBRID}; - static decltype(WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable)* gWinWebauthnIsUVPAA = nullptr; static decltype(WebAuthNAuthenticatorMakeCredential)* @@ -54,6 +50,7 @@ static decltype(WebAuthNGetPlatformCredentialList)* gWinWebauthnGetPlatformCredentialList = nullptr; static decltype(WebAuthNFreePlatformCredentialList)* gWinWebauthnFreePlatformCredentialList = nullptr; + } // namespace /*********************************************************************** @@ -179,18 +176,6 @@ WinWebAuthnService::~WinWebAuthnService() { gWinWebAuthnModule = 0; } -// static -void PrunePublicKeyCredentialHints(const nsTArray& aInHints, - /* out */ nsTArray& aOutHints) { - for (const nsString& inputHint : aInHints) { - for (const LPCWSTR knownHint : gWebAuthnHintStrings) { - if (inputHint.Equals(knownHint)) { - aOutHints.AppendElement(knownHint); - } - } - } -} - // static bool WinWebAuthnService::AreWebAuthNApisAvailable() { nsresult rv = EnsureWinWebAuthnModuleLoaded(); @@ -609,16 +594,10 @@ WinWebAuthnService::MakeCredential(uint64_t aTransactionId, winPrivateBrowsing = TRUE; } - nsTArray inputHints; - (void)aArgs->GetHints(inputHints); - - nsTArray hints; - PrunePublicKeyCredentialHints(inputHints, hints); - // MakeCredentialOptions WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS WebAuthNCredentialOptions = { - WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_8, + WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_7, timeout, {0, NULL}, {0, NULL}, @@ -630,16 +609,13 @@ WinWebAuthnService::MakeCredential(uint64_t aTransactionId, &cancellationId, // CancellationId pExcludeCredentialList, WEBAUTHN_ENTERPRISE_ATTESTATION_NONE, - largeBlobSupport, // LargeBlobSupport - winPreferResidentKey, // PreferResidentKey - winPrivateBrowsing, // BrowserInPrivateMode - winEnablePrf, // EnablePrf - NULL, // LinkedDevice - 0, // size of JsonExt - NULL, // JsonExt - NULL, // PRFGlobalEval - (DWORD)hints.Length(), // Size of CredentialHints - hints.Elements(), // CredentialHints + largeBlobSupport, // LargeBlobSupport + winPreferResidentKey, // PreferResidentKey + winPrivateBrowsing, // BrowserInPrivateMode + winEnablePrf, // EnablePrf + NULL, // LinkedDevice + 0, // size of JsonExt + NULL, // JsonExt }; if (rgExtension.Length() != 0) { @@ -992,12 +968,6 @@ void WinWebAuthnService::DoGetAssertion( pAllowCredentialList = &allowCredentialList; } - nsTArray inputHints; - (void)aArgs->GetHints(inputHints); - - nsTArray hints; - PrunePublicKeyCredentialHints(inputHints, hints); - uint32_t timeout_u32; Unused << aArgs->GetTimeoutMS(&timeout_u32); DWORD timeout = timeout_u32; @@ -1011,7 +981,7 @@ void WinWebAuthnService::DoGetAssertion( WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS WebAuthNAssertionOptions = { - WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_8, + WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_7, timeout, {0, NULL}, {0, NULL}, @@ -1031,8 +1001,6 @@ void WinWebAuthnService::DoGetAssertion( FALSE, // AutoFill 0, // Size of JsonExt NULL, // JsonExt - (DWORD)hints.Length(), // Size of CredentialHints - hints.Elements(), // CredentialHints }; PWEBAUTHN_ASSERTION pWebAuthNAssertion = nullptr; diff --git a/icecat/dom/webauthn/nsIWebAuthnArgs.idl b/icecat/dom/webauthn/nsIWebAuthnArgs.idl index 262d28e948..8d48becd48 100644 --- a/icecat/dom/webauthn/nsIWebAuthnArgs.idl +++ b/icecat/dom/webauthn/nsIWebAuthnArgs.idl @@ -65,8 +65,6 @@ interface nsIWebAuthnRegisterArgs : nsISupports { // consent popup. [must_use] readonly attribute AString attestationConveyancePreference; - readonly attribute Array hints; - readonly attribute boolean privateBrowsing; }; @@ -113,8 +111,6 @@ interface nsIWebAuthnSignArgs : nsISupports { // cancel transactions. readonly attribute unsigned long timeoutMS; - readonly attribute Array hints; - readonly attribute boolean conditionallyMediated; readonly attribute boolean privateBrowsing; diff --git a/icecat/dom/webauthn/tests/test_webauthn_serialization.html b/icecat/dom/webauthn/tests/test_webauthn_serialization.html index 3cc63923f4..41b5858950 100644 --- a/icecat/dom/webauthn/tests/test_webauthn_serialization.html +++ b/icecat/dom/webauthn/tests/test_webauthn_serialization.html @@ -36,18 +36,6 @@ is(arr.length, 0, `${description} (array should be empty)`); } - function stringArrayEquals(actual, expected, description) { - is(actual.length, expected.length, `${description} (actual and expected should have the same length)`); - for (let i = 0; i < actual.length; i++) { - if (actual[i] instanceof String) { - throw new Error(`actual[${i}] is not a string` + typeof actual[i]); - } - if (actual[i] !== expected[i]) { - throw new Error(`actual and expected differ in position ${i}: ${actual[i]} vs ${expected[i]}`); - } - } - } - function shouldThrow(func, expectedError, description) { let threw = false; try { @@ -67,7 +55,7 @@ pubKeyCredParams: [], }; let creationOptions = PublicKeyCredential.parseCreationOptionsFromJSON(creationOptionsJSON); - is(Object.getOwnPropertyNames(creationOptions).length, 9, "creation options should have 9 properties"); + is(Object.getOwnPropertyNames(creationOptions).length, 8, "creation options should have 8 properties"); is(creationOptions.rp.id, undefined, "rp.id should be undefined"); is(creationOptions.rp.name, "Example", "rp.name should be Example"); arrayBufferEqualsArray(creationOptions.user.id, [ 250, 93, 234, 52, 180, 202, 38, 120 ], "user.id should be as expected"); @@ -82,7 +70,6 @@ is(creationOptions.authenticatorSelection.requireResidentKey, false, "creationOptions.authenticatorSelection.requireResidentKey should be false"); is(creationOptions.authenticatorSelection.userVerification, "preferred", "creationOptions.authenticatorSelection.userVerification should be preferred"); is(creationOptions.attestation, "none", "attestation should be none"); - stringArrayEquals(creationOptions.hints, [], "hints should be an empty array"); is(Object.getOwnPropertyNames(creationOptions.extensions).length, 0, "extensions should be an empty object"); }); @@ -118,7 +105,7 @@ }, }; let creationOptions = PublicKeyCredential.parseCreationOptionsFromJSON(creationOptionsJSON); - is(Object.getOwnPropertyNames(creationOptions).length, 10, "creation options should have 10 properties"); + is(Object.getOwnPropertyNames(creationOptions).length, 9, "creation options should have 9 properties"); is(creationOptions.rp.name, "Example", "rp.name should be Example"); is(creationOptions.rp.id, "example.com", "rp.id should be example.com"); arrayBufferEqualsArray(creationOptions.user.id, [ 215, 212, 213, 166, 160, 65, 56, 3 ], "user.id should be as expected"); @@ -138,7 +125,6 @@ is(creationOptions.authenticatorSelection.residentKey, "required", "creationOptions.authenticatorSelection.residentKey should be required"); is(creationOptions.authenticatorSelection.requireResidentKey, true, "creationOptions.authenticatorSelection.requireResidentKey should be true"); is(creationOptions.authenticatorSelection.userVerification, "discouraged", "creationOptions.authenticatorSelection.userVerification should be discouraged"); - stringArrayEquals(creationOptions.hints, creationOptionsJSON.hints, "creationOptions.hints should be as expected"); is(creationOptions.attestation, "indirect", "attestation should be indirect"); is(creationOptions.extensions.appid, "https://www.example.com/appID", "extensions.appid should be https://www.example.com/appID"); is(creationOptions.extensions.credProps, true, "extensions.credProps should be true"); @@ -200,13 +186,12 @@ challenge: "3yW2WHD_jbU", }; let requestOptions = PublicKeyCredential.parseRequestOptionsFromJSON(requestOptionsJSON); - is(Object.getOwnPropertyNames(requestOptions).length, 5, "request options should have 5 properties"); + is(Object.getOwnPropertyNames(requestOptions).length, 4, "request options should have 4 properties"); arrayBufferEqualsArray(requestOptions.challenge, [ 223, 37, 182, 88, 112, 255, 141, 181 ], "challenge should be as expected"); is(requestOptions.timeout, undefined, "timeout should be undefined"); is(requestOptions.rpId, undefined, "rpId should be undefined"); isEmptyArray(requestOptions.allowCredentials, "allowCredentials should be an empty array"); is(requestOptions.userVerification, "preferred", "userVerification should be preferred"); - stringArrayEquals(requestOptions.hints, [], "hints should be an empty array"); is(Object.getOwnPropertyNames(requestOptions.extensions).length, 0, "extensions should be an empty object"); }); @@ -237,7 +222,7 @@ }, }; let requestOptions = PublicKeyCredential.parseRequestOptionsFromJSON(requestOptionsJSON); - is(Object.getOwnPropertyNames(requestOptions).length, 7, "request options should have 7 properties"); + is(Object.getOwnPropertyNames(requestOptions).length, 6, "request options should have 6 properties"); arrayBufferEqualsArray(requestOptions.challenge, [ 64, 7, 218, 103, 1, 16, 10, 68 ], "challenge should be as expected"); is(requestOptions.timeout, 25000, "timeout should be 25000"); is(requestOptions.rpId, "example.com", "rpId should be example.com"); @@ -247,7 +232,6 @@ is(requestOptions.allowCredentials[0].transports.length, 1, "allowCredentials[0].transports should have one element"); is(requestOptions.allowCredentials[0].transports[0], "smart-card", "allowCredentials[0].transports[0] should be usb"); is(requestOptions.userVerification, "discouraged", "userVerification should be discouraged"); - stringArrayEquals(requestOptions.hints, requestOptionsJSON.hints, "requestOptions.hints should be as expected"); is(requestOptions.extensions.appid, "https://www.example.com/anotherAppID", "extensions.appid should be https://www.example.com/anotherAppID"); arrayBufferEqualsArray(requestOptions.extensions.prf.eval.first, [102, 105, 114, 115, 116], "extensions.prf.eval.first should be 'first'"); arrayBufferEqualsArray(requestOptions.extensions.prf.eval.second, [115, 101, 99, 111, 110, 100], "extensions.prf.eval.second should be 'second'"); diff --git a/icecat/dom/webauthn/winwebauthn/.gitignore b/icecat/dom/webauthn/winwebauthn/.gitignore new file mode 100644 index 0000000000..3e759b75bf --- /dev/null +++ b/icecat/dom/webauthn/winwebauthn/.gitignore @@ -0,0 +1,330 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ diff --git a/icecat/dom/webauthn/winwebauthn/README.md b/icecat/dom/webauthn/winwebauthn/README.md index 894b6cefdf..7aaa69079b 100644 --- a/icecat/dom/webauthn/winwebauthn/README.md +++ b/icecat/dom/webauthn/winwebauthn/README.md @@ -1,20 +1,16 @@ # Description -## WebAuthn Specification APIs +This project includes Win32 headers for communicating to Windows Hello and external secruity keys as part of WebAuthn and CTAP specification. -Win32 APIs for performing operations corresponding to WebAuthn (https://w3c.github.io/webauthn) specification are present in following files. -- webauthn.h +For more details about the standards, please follow these links: +* WebAuthn: https://w3c.github.io/webauthn/ +* CTAP: https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html -## Plugin Passkey Authenticators Implementation APIs/Interfaces - -APIs, interfaces and helper functions for passkey plugin authenticator implementators are present in following files -- pluginauthenticator.idl -- pluginauthenticator.h -- webauthnplugin.h # Having Issues? If you have any issues in adopting these APIs or need some clarification, please contact fido-dev@microsoft.com. + # Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a diff --git a/icecat/dom/webauthn/winwebauthn/moz.yaml b/icecat/dom/webauthn/winwebauthn/moz.yaml deleted file mode 100644 index 1211f0fd54..0000000000 --- a/icecat/dom/webauthn/winwebauthn/moz.yaml +++ /dev/null @@ -1,26 +0,0 @@ -schema: 1 - -bugzilla: - product: Core - component: "DOM: Web Authentication" - -origin: - name: Microsoft WebAuthn - description: Win32 APIs for WebAuthn - url: https://github.com/microsoft/webauthn - - release: 9108981ca80b3c6788fa598708dcf3cb10220ad7 - revision: 9108981ca80b3c6788fa598708dcf3cb10220ad7 - - license: MIT - -vendoring: - url: https://github.com/microsoft/webauthn - source-hosting: github - vendor-directory: dom/webauthn/winwebauthn - exclude: - - "**" - include: - - LICENSE - - README.md - - webauthn.h diff --git a/icecat/dom/webauthn/winwebauthn/webauthn.h b/icecat/dom/webauthn/winwebauthn/webauthn.h index b5eaca30f1..71fbc4b8b1 100644 --- a/icecat/dom/webauthn/winwebauthn/webauthn.h +++ b/icecat/dom/webauthn/winwebauthn/webauthn.h @@ -95,7 +95,6 @@ extern "C" { // - WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS : 5 // - WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS : 6 // - WEBAUTHN_ASSERTION : 3 -// - WEBAUTHN_GET_CREDENTIALS_OPTIONS : 1 // - WEBAUTHN_CREDENTIAL_DETAILS : 1 // APIs: // - WebAuthNGetPlatformCredentialList @@ -128,30 +127,7 @@ extern "C" { // - WEBAUTHN_CREDENTIAL_ATTESTATION : 6 // - WEBAUTHN_ASSERTION : 5 -#define WEBAUTHN_API_VERSION_8 8 -// WEBAUTHN_API_VERSION_8 : Delta From WEBAUTHN_API_VERSION_7 -// Data Structures and their sub versions: -// - WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS : 8 -// - WEBAUTHN_CREDENTIAL_DETAILS : 3 -// - WEBAUTHN_CREDENTIAL_ATTESTATION : 7 -// - WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS : 8 -// - -#define WEBAUTHN_API_VERSION_9 9 -// WEBAUTHN_API_VERSION_9 : Delta From WEBAUTHN_API_VERSION_8 -// Data Structures and their sub versions: -// - WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS : 9 -// - WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS : 9 -// - WEBAUTHN_ASSERTION : 6 -// - WEBAUTHN_CREDENTIAL_DETAILS : 4 -// - WEBAUTHN_CREDENTIAL_ATTESTATION : 8 -// - WEBAUTHN_AUTHENTICATOR_DETAILS : 1 -// - WEBAUTHN_AUTHENTICATOR_DETAILS_LIST : Not Applicable -// APIs: -// - WebAuthNGetAuthenticatorList -// - WebAuthNFreeAuthenticatorList - -#define WEBAUTHN_API_CURRENT_VERSION WEBAUTHN_API_VERSION_9 +#define WEBAUTHN_API_CURRENT_VERSION WEBAUTHN_API_VERSION_7 //+------------------------------------------------------------------------------------------ // Information about an RP Entity @@ -171,7 +147,7 @@ typedef struct _WEBAUTHN_RP_ENTITY_INFORMATION { // This field is required. PCWSTR pwszName; - // Optional URL pointing to RP's logo. + // Optional URL pointing to RP's logo. PCWSTR pwszIcon; } WEBAUTHN_RP_ENTITY_INFORMATION, *PWEBAUTHN_RP_ENTITY_INFORMATION; typedef const WEBAUTHN_RP_ENTITY_INFORMATION *PCWEBAUTHN_RP_ENTITY_INFORMATION; @@ -307,15 +283,7 @@ typedef const WEBAUTHN_CREDENTIALS *PCWEBAUTHN_CREDENTIALS; #define WEBAUTHN_CTAP_TRANSPORT_TEST 0x00000008 #define WEBAUTHN_CTAP_TRANSPORT_INTERNAL 0x00000010 #define WEBAUTHN_CTAP_TRANSPORT_HYBRID 0x00000020 -#define WEBAUTHN_CTAP_TRANSPORT_SMART_CARD 0x00000040 -#define WEBAUTHN_CTAP_TRANSPORT_FLAGS_MASK 0x0000007F - -#define WEBAUTHN_CTAP_TRANSPORT_USB_STRING "usb" -#define WEBAUTHN_CTAP_TRANSPORT_NFC_STRING "nfc" -#define WEBAUTHN_CTAP_TRANSPORT_BLE_STRING "ble" -#define WEBAUTHN_CTAP_TRANSPORT_SMART_CARD_STRING "smart-card" -#define WEBAUTHN_CTAP_TRANSPORT_HYBRID_STRING "hybrid" -#define WEBAUTHN_CTAP_TRANSPORT_INTERNAL_STRING "internal" +#define WEBAUTHN_CTAP_TRANSPORT_FLAGS_MASK 0x0000003F #define WEBAUTHN_CREDENTIAL_EX_CURRENT_VERSION 1 @@ -355,7 +323,6 @@ typedef const WEBAUTHN_CREDENTIAL_LIST *PCWEBAUTHN_CREDENTIAL_LIST; #define CTAPCBOR_HYBRID_STORAGE_LINKED_DATA_VERSION_1 1 #define CTAPCBOR_HYBRID_STORAGE_LINKED_DATA_CURRENT_VERSION CTAPCBOR_HYBRID_STORAGE_LINKED_DATA_VERSION_1 -// Deprecated typedef struct _CTAPCBOR_HYBRID_STORAGE_LINKED_DATA { // Version @@ -389,65 +356,13 @@ typedef struct _CTAPCBOR_HYBRID_STORAGE_LINKED_DATA } CTAPCBOR_HYBRID_STORAGE_LINKED_DATA, *PCTAPCBOR_HYBRID_STORAGE_LINKED_DATA; typedef const CTAPCBOR_HYBRID_STORAGE_LINKED_DATA *PCCTAPCBOR_HYBRID_STORAGE_LINKED_DATA; -//+------------------------------------------------------------------------------------------ -// Authenticator Information for WebAuthNGetAuthenticatorList API -//------------------------------------------------------------------------------------------- - -#define WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS_VERSION_1 1 -#define WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS_VERSION_1 - -typedef struct _WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS { - // Version of this structure, to allow for modifications in the future. - DWORD dwVersion; - -} WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS; -typedef const WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS; - -#define WEBAUTHN_AUTHENTICATOR_DETAILS_VERSION_1 1 -#define WEBAUTHN_AUTHENTICATOR_DETAILS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_DETAILS_VERSION_1 - -typedef struct _WEBAUTHN_AUTHENTICATOR_DETAILS { - // Version of this structure, to allow for modifications in the future. - DWORD dwVersion; - - // Authenticator ID - DWORD cbAuthenticatorId; - _Field_size_bytes_(cbAuthenticatorId) - PBYTE pbAuthenticatorId; - - // Authenticator Name - PCWSTR pwszAuthenticatorName; - - // Authenticator logo (expected to be in SVG format) - DWORD cbAuthenticatorLogo; - _Field_size_bytes_(cbAuthenticatorLogo) - PBYTE pbAuthenticatorLogo; - - // Is the authenticator currently locked? When locked, this authenticator's credentials - // might not be present or updated in WebAuthNGetPlatformCredentialList. - BOOL bLocked; - -} WEBAUTHN_AUTHENTICATOR_DETAILS, *PWEBAUTHN_AUTHENTICATOR_DETAILS; -typedef const WEBAUTHN_AUTHENTICATOR_DETAILS *PCWEBAUTHN_AUTHENTICATOR_DETAILS; - -typedef struct _WEBAUTHN_AUTHENTICATOR_DETAILS_LIST { - // Authenticator Details - DWORD cAuthenticatorDetails; - _Field_size_(cAuthenticatorDetails) - PWEBAUTHN_AUTHENTICATOR_DETAILS *ppAuthenticatorDetails; - -} WEBAUTHN_AUTHENTICATOR_DETAILS_LIST, *PWEBAUTHN_AUTHENTICATOR_DETAILS_LIST; -typedef const WEBAUTHN_AUTHENTICATOR_DETAILS_LIST *PCWEBAUTHN_AUTHENTICATOR_DETAILS_LIST; - //+------------------------------------------------------------------------------------------ // Credential Information for WebAuthNGetPlatformCredentialList API //------------------------------------------------------------------------------------------- #define WEBAUTHN_CREDENTIAL_DETAILS_VERSION_1 1 #define WEBAUTHN_CREDENTIAL_DETAILS_VERSION_2 2 -#define WEBAUTHN_CREDENTIAL_DETAILS_VERSION_3 3 -#define WEBAUTHN_CREDENTIAL_DETAILS_VERSION_4 4 -#define WEBAUTHN_CREDENTIAL_DETAILS_CURRENT_VERSION WEBAUTHN_CREDENTIAL_DETAILS_VERSION_4 +#define WEBAUTHN_CREDENTIAL_DETAILS_CURRENT_VERSION WEBAUTHN_CREDENTIAL_DETAILS_VERSION_2 typedef struct _WEBAUTHN_CREDENTIAL_DETAILS { // Version of this structure, to allow for modifications in the future. @@ -473,27 +388,6 @@ typedef struct _WEBAUTHN_CREDENTIAL_DETAILS { // Backed Up or not. BOOL bBackedUp; - - // - // The following fields have been added in WEBAUTHN_CREDENTIAL_DETAILS_VERSION_3 - // - PCWSTR pwszAuthenticatorName; - - // The logo is expected to be in the svg format - DWORD cbAuthenticatorLogo; - _Field_size_bytes_(cbAuthenticatorLogo) - PBYTE pbAuthenticatorLogo; - - // ThirdPartyPayment Credential or not. - BOOL bThirdPartyPayment; - - // - // The following fields have been added in WEBAUTHN_CREDENTIAL_DETAILS_VERSION_4 - // - - // Applicable Transports - DWORD dwTransports; - } WEBAUTHN_CREDENTIAL_DETAILS, *PWEBAUTHN_CREDENTIAL_DETAILS; typedef const WEBAUTHN_CREDENTIAL_DETAILS *PCWEBAUTHN_CREDENTIAL_DETAILS; @@ -699,10 +593,6 @@ typedef const WEBAUTHN_EXTENSIONS *PCWEBAUTHN_EXTENSIONS; #define WEBAUTHN_LARGE_BLOB_SUPPORT_REQUIRED 1 #define WEBAUTHN_LARGE_BLOB_SUPPORT_PREFERRED 2 -#define WEBAUTHN_CREDENTIAL_HINT_SECURITY_KEY L"security-key" -#define WEBAUTHN_CREDENTIAL_HINT_CLIENT_DEVICE L"client-device" -#define WEBAUTHN_CREDENTIAL_HINT_HYBRID L"hybrid" - #define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_1 1 #define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_2 2 #define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_3 3 @@ -710,9 +600,7 @@ typedef const WEBAUTHN_EXTENSIONS *PCWEBAUTHN_EXTENSIONS; #define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_5 5 #define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_6 6 #define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_7 7 -#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_8 8 -#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_9 9 -#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_9 +#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_7 typedef struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS { // Version of this structure, to allow for modifications in the future. @@ -792,7 +680,6 @@ typedef struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS { // The following fields have been added in WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_7 // - // Deprecated // Optional. Linked Device Connection Info. PCTAPCBOR_HYBRID_STORAGE_LINKED_DATA pLinkedDevice; @@ -800,41 +687,6 @@ typedef struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS { DWORD cbJsonExt; _Field_size_bytes_(cbJsonExt) PBYTE pbJsonExt; - - // - // The following fields have been added in WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_8 - // - - // PRF extension "eval" values which will be converted into HMAC-SECRET values according to WebAuthn Spec. - // Set WEBAUTHN_AUTHENTICATOR_HMAC_SECRET_VALUES_FLAG in dwFlags above, if caller wants to provide RAW Hmac-Secret SALT values directly. - // In that case, values provided MUST be of WEBAUTHN_CTAP_ONE_HMAC_SECRET_LENGTH size. - PWEBAUTHN_HMAC_SECRET_SALT pPRFGlobalEval; - - // PublicKeyCredentialHints (https://w3c.github.io/webauthn/#enum-hints) - DWORD cCredentialHints; - _Field_size_(cCredentialHints) - LPCWSTR *ppwszCredentialHints; - - // Enable ThirdPartyPayment - BOOL bThirdPartyPayment; - - // - // The following fields have been added in WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_9 - // - - // Web Origin. For Remote Web App scenario. - PCWSTR pwszRemoteWebOrigin; - - // UTF-8 encoded JSON serialization of the PublicKeyCredentialCreationOptions. - DWORD cbPublicKeyCredentialCreationOptionsJSON; - _Field_size_bytes_(cbPublicKeyCredentialCreationOptionsJSON) - PBYTE pbPublicKeyCredentialCreationOptionsJSON; - - // Authenticator ID got from WebAuthNGetAuthenticatorList API. - DWORD cbAuthenticatorId; - _Field_size_bytes_(cbAuthenticatorId) - PBYTE pbAuthenticatorId; - } WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS; typedef const WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS; @@ -850,9 +702,7 @@ typedef const WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS *PCWEBAUTHN_AUTHENT #define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_5 5 #define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_6 6 #define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_7 7 -#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_8 8 -#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_9 9 -#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_9 +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_7 /* Information about flags. @@ -933,7 +783,6 @@ typedef struct _WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS { // The following fields have been added in WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_7 // - // Deprecated // Optional. Linked Device Connection Info. PCTAPCBOR_HYBRID_STORAGE_LINKED_DATA pLinkedDevice; @@ -944,33 +793,6 @@ typedef struct _WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS { DWORD cbJsonExt; _Field_size_bytes_(cbJsonExt) PBYTE pbJsonExt; - - // - // The following fields have been added in WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_8 - // - - // PublicKeyCredentialHints (https://w3c.github.io/webauthn/#enum-hints) - DWORD cCredentialHints; - _Field_size_(cCredentialHints) - LPCWSTR *ppwszCredentialHints; - - // - // The following fields have been added in WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_9 - // - - // Web Origin. For Remote Web App scenario. - PCWSTR pwszRemoteWebOrigin; - - // UTF-8 encoded JSON serialization of the PublicKeyCredentialRequestOptions. - DWORD cbPublicKeyCredentialRequestOptionsJSON; - _Field_size_bytes_(cbPublicKeyCredentialRequestOptionsJSON) - PBYTE pbPublicKeyCredentialRequestOptionsJSON; - - // Authenticator ID got from WebAuthNGetAuthenticatorList API. - DWORD cbAuthenticatorId; - _Field_size_bytes_(cbAuthenticatorId) - PBYTE pbAuthenticatorId; - } WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS; typedef const WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS; @@ -1049,9 +871,7 @@ typedef const WEBAUTHN_COMMON_ATTESTATION *PCWEBAUTHN_COMMON_ATTESTATION; #define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_4 4 #define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_5 5 #define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_6 6 -#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_7 7 -#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_8 8 -#define WEBAUTHN_CREDENTIAL_ATTESTATION_CURRENT_VERSION WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_8 +#define WEBAUTHN_CREDENTIAL_ATTESTATION_CURRENT_VERSION WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_6 typedef struct _WEBAUTHN_CREDENTIAL_ATTESTATION { // Version of this structure, to allow for modifications in the future. @@ -1127,34 +947,6 @@ typedef struct _WEBAUTHN_CREDENTIAL_ATTESTATION { DWORD cbUnsignedExtensionOutputs; _Field_size_bytes_(cbUnsignedExtensionOutputs) PBYTE pbUnsignedExtensionOutputs; - - // - // Following fields have been added in WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_7 - // - - PWEBAUTHN_HMAC_SECRET_SALT pHmacSecret; - - // ThirdPartyPayment Credential or not. - BOOL bThirdPartyPayment; - - // - // Following fields have been added in WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_8 - // - - // Multiple WEBAUTHN_CTAP_TRANSPORT_* bits will be set corresponding to - // the transports that are supported. - DWORD dwTransports; - - // UTF-8 encoded JSON serialization of the client data. - DWORD cbClientDataJSON; - _Field_size_bytes_(cbClientDataJSON) - PBYTE pbClientDataJSON; - - // UTF-8 encoded JSON serialization of the RegistrationResponse. - DWORD cbRegistrationResponseJSON; - _Field_size_bytes_(cbRegistrationResponseJSON) - PBYTE pbRegistrationResponseJSON; - } WEBAUTHN_CREDENTIAL_ATTESTATION, *PWEBAUTHN_CREDENTIAL_ATTESTATION; typedef const WEBAUTHN_CREDENTIAL_ATTESTATION *PCWEBAUTHN_CREDENTIAL_ATTESTATION; @@ -1179,8 +971,7 @@ typedef const WEBAUTHN_CREDENTIAL_ATTESTATION *PCWEBAUTHN_CREDENTIAL_ATTESTATION #define WEBAUTHN_ASSERTION_VERSION_3 3 #define WEBAUTHN_ASSERTION_VERSION_4 4 #define WEBAUTHN_ASSERTION_VERSION_5 5 -#define WEBAUTHN_ASSERTION_VERSION_6 6 -#define WEBAUTHN_ASSERTION_CURRENT_VERSION WEBAUTHN_ASSERTION_VERSION_6 +#define WEBAUTHN_ASSERTION_CURRENT_VERSION WEBAUTHN_ASSERTION_VERSION_5 typedef struct _WEBAUTHN_ASSERTION { // Version of this structure, to allow for modifications in the future. @@ -1241,21 +1032,6 @@ typedef struct _WEBAUTHN_ASSERTION { DWORD cbUnsignedExtensionOutputs; _Field_size_bytes_(cbUnsignedExtensionOutputs) PBYTE pbUnsignedExtensionOutputs; - - // - // Following fields have been added in WEBAUTHN_ASSERTION_VERSION_6 - // - - // UTF-8 encoded JSON serialization of the client data. - DWORD cbClientDataJSON; - _Field_size_bytes_(cbClientDataJSON) - PBYTE pbClientDataJSON; - - // UTF-8 encoded JSON serialization of the AuthenticationResponse. - DWORD cbAuthenticationResponseJSON; - _Field_size_bytes_(cbAuthenticationResponseJSON) - PBYTE pbAuthenticationResponseJSON; - } WEBAUTHN_ASSERTION, *PWEBAUTHN_ASSERTION; typedef const WEBAUTHN_ASSERTION *PCWEBAUTHN_ASSERTION; @@ -1333,18 +1109,6 @@ WebAuthNDeletePlatformCredential( _In_reads_bytes_(cbCredentialId) const BYTE *pbCredentialId ); -// Returns NTE_NOT_FOUND when authenticator details are not found. -HRESULT -WINAPI -WebAuthNGetAuthenticatorList( - _In_opt_ PCWEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS pWebAuthNGetAuthenticatorListOptions, - _Outptr_result_maybenull_ PWEBAUTHN_AUTHENTICATOR_DETAILS_LIST* ppAuthenticatorDetailsList); - -void -WINAPI -WebAuthNFreeAuthenticatorList( - _In_ PWEBAUTHN_AUTHENTICATOR_DETAILS_LIST pAuthenticatorDetailsList); - // // Returns the following Error Names: // L"Success" - S_OK diff --git a/icecat/dom/webidl/WebAuthentication.webidl b/icecat/dom/webidl/WebAuthentication.webidl index 627fb86d33..90b0cabfe2 100644 --- a/icecat/dom/webidl/WebAuthentication.webidl +++ b/icecat/dom/webidl/WebAuthentication.webidl @@ -177,7 +177,6 @@ dictionary PublicKeyCredentialCreationOptions { sequence excludeCredentials = []; // FIXME: bug 1493860: should this "= {}" be here? AuthenticatorSelectionCriteria authenticatorSelection = {}; - sequence hints = []; DOMString attestation = "none"; // FIXME: bug 1493860: should this "= {}" be here? AuthenticationExtensionsClientInputs extensions = {}; @@ -209,7 +208,6 @@ dictionary PublicKeyCredentialRequestOptions { USVString rpId; sequence allowCredentials = []; DOMString userVerification = "preferred"; - sequence hints = []; // FIXME: bug 1493860: should this "= {}" be here? AuthenticationExtensionsClientInputs extensions = {}; }; diff --git a/icecat/dom/webtransport/parent/WebTransportParent.h b/icecat/dom/webtransport/parent/WebTransportParent.h index 6f9d027f66..8b1b1a6867 100644 --- a/icecat/dom/webtransport/parent/WebTransportParent.h +++ b/icecat/dom/webtransport/parent/WebTransportParent.h @@ -103,11 +103,9 @@ class WebTransportParent : public PWebTransportParent, OnResetOrStopSendingCallback mCallback; nsCOMPtr mStream; }; - nsTHashMap, - StreamHash> + nsTHashMap> mBidiStreamCallbackMap; - nsTHashMap, - StreamHash> + nsTHashMap> mUniStreamCallbackMap; }; diff --git a/icecat/dom/workers/WorkerPrivate.cpp b/icecat/dom/workers/WorkerPrivate.cpp index dd7acebda9..edd2960b90 100644 --- a/icecat/dom/workers/WorkerPrivate.cpp +++ b/icecat/dom/workers/WorkerPrivate.cpp @@ -4797,15 +4797,6 @@ bool WorkerPrivate::FreezeInternal() { return true; } -bool WorkerPrivate::HasActiveWorkerRefs() { - auto data = mWorkerThreadAccessible.Access(); - auto* timeoutManager = - data->mScope ? data->mScope->GetTimeoutManager() : nullptr; - return !data->mChildWorkers.IsEmpty() || - (timeoutManager && timeoutManager->HasTimeouts()) || - !data->mWorkerRefs.IsEmpty(); -} - bool WorkerPrivate::ThawInternal() { auto data = mWorkerThreadAccessible.Access(); NS_ASSERTION(data->mFrozen, "Not yet frozen!"); diff --git a/icecat/dom/workers/WorkerPrivate.h b/icecat/dom/workers/WorkerPrivate.h index f36a1315f3..d887a9ca51 100644 --- a/icecat/dom/workers/WorkerPrivate.h +++ b/icecat/dom/workers/WorkerPrivate.h @@ -1332,7 +1332,11 @@ class WorkerPrivate final void NotifyWorkerRefs(WorkerStatus aStatus); - bool HasActiveWorkerRefs(); + bool HasActiveWorkerRefs() { + auto data = mWorkerThreadAccessible.Access(); + return !(data->mChildWorkers.IsEmpty() && data->mTimeouts.IsEmpty() && + data->mWorkerRefs.IsEmpty()); + } friend class WorkerEventTarget; diff --git a/icecat/dom/workers/WorkerScope.cpp b/icecat/dom/workers/WorkerScope.cpp index 6e2dc75143..02680f67ef 100644 --- a/icecat/dom/workers/WorkerScope.cpp +++ b/icecat/dom/workers/WorkerScope.cpp @@ -271,8 +271,7 @@ WorkerGlobalScopeBase::WorkerGlobalScopeBase( mSerialEventTarget(aWorkerPrivate->HybridEventTarget()) { if (StaticPrefs::dom_workers_timeoutmanager_AtStartup()) { mTimeoutManager = MakeUnique( - *this, /* not used on workers */ 0, mSerialEventTarget, - mWorkerPrivate->IsChromeWorker()); + *this, /* not used on workers */ 0, mSerialEventTarget); } LOG(("WorkerGlobalScopeBase::WorkerGlobalScopeBase [%p]", this)); MOZ_ASSERT(mWorkerPrivate); diff --git a/icecat/editor/libeditor/HTMLEditUtils.cpp b/icecat/editor/libeditor/HTMLEditUtils.cpp index 91fc80e984..c60e57ea66 100644 --- a/icecat/editor/libeditor/HTMLEditUtils.cpp +++ b/icecat/editor/libeditor/HTMLEditUtils.cpp @@ -147,31 +147,6 @@ template Result HTMLEditUtils::ComputePointToPutCaretInElementIfOutside( const Element& aElement, const EditorRawDOMPoint& aCurrentPoint); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorDOMPoint&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorDOMPoint&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorRawDOMPoint&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorRawDOMPoint&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorDOMPointInText&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorDOMPointInText&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorRawDOMPointInText&, const Element&); -template Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorRawDOMPointInText&, const Element&); - template bool HTMLEditUtils::IsSameCSSColorValue(const nsAString& aColorA, const nsAString& aColorB); template bool HTMLEditUtils::IsSameCSSColorValue(const nsACString& aColorA, @@ -2898,33 +2873,6 @@ HTMLEditUtils::ComputePointToPutCaretInElementIfOutside( return EditorDOMPointType(firstEditableContent, 0u); } -// static -template -Maybe -HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorDOMPointType& aPoint, const Element& aEditingHost) { - MOZ_ASSERT(aPoint.IsSet()); - if (MOZ_UNLIKELY(!aPoint.IsInContentNode())) { - return Nothing{}; - } - const WSScanResult previousThing = - WSRunScanner::ScanPreviousVisibleNodeOrBlockBoundary( - WSRunScanner::Scan::All, aPoint, - BlockInlineCheck::UseComputedDisplayStyle, &aEditingHost); - if (!previousThing.ReachedLineBreak()) { - return Nothing{}; // No preceding line break. - } - const WSScanResult nextThing = - WSRunScanner::ScanInclusiveNextVisibleNodeOrBlockBoundary( - WSRunScanner::Scan::All, aPoint, - BlockInlineCheck::UseComputedDisplayStyle, &aEditingHost); - if (!nextThing.ReachedBlockBoundary()) { - return Nothing{}; // The line break is not followed by a block boundary so - // that it's a visible line break. - } - return Some(previousThing.CreateEditorLineBreak()); -} - // static bool HTMLEditUtils::IsInlineStyleSetByElement( const nsIContent& aContent, const EditorInlineStyle& aStyle, diff --git a/icecat/editor/libeditor/HTMLEditUtils.h b/icecat/editor/libeditor/HTMLEditUtils.h index 524edd17a0..409e01777f 100644 --- a/icecat/editor/libeditor/HTMLEditUtils.h +++ b/icecat/editor/libeditor/HTMLEditUtils.h @@ -2547,15 +2547,6 @@ class HTMLEditUtils final { ComputePointToPutCaretInElementIfOutside( const Element& aElement, const EditorDOMPointTypeInput& aCurrentPoint); - /** - * Return a line break if aPoint is after a line break which is immediately - * before a block boundary. - */ - template - static Maybe - GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem( - const EditorDOMPointType& aPoint, const Element& aEditingHost); - /** * Content-based query returns true if * effects aContent. If there is diff --git a/icecat/editor/libeditor/HTMLEditorDeleteHandler.cpp b/icecat/editor/libeditor/HTMLEditorDeleteHandler.cpp index 60a2499e1c..972d2edfcb 100644 --- a/icecat/editor/libeditor/HTMLEditorDeleteHandler.cpp +++ b/icecat/editor/libeditor/HTMLEditorDeleteHandler.cpp @@ -1214,8 +1214,7 @@ class MOZ_STACK_CLASS HTMLEditor::AutoDeleteRangesHandler final { */ [[nodiscard]] Result GetNewCaretPosition( const HTMLEditor& aHTMLEditor, - nsIEditor::EDirection aDirectionAndAmount, - const Element& aEditingHost) const; + nsIEditor::EDirection aDirectionAndAmount) const; RefPtr mEmptyInclusiveAncestorBlockElement; }; // HTMLEditor::AutoDeleteRangesHandler::AutoEmptyBlockAncestorDeleter @@ -8376,8 +8375,7 @@ HTMLEditor::AutoDeleteRangesHandler::AutoEmptyBlockAncestorDeleter:: Result HTMLEditor::AutoDeleteRangesHandler:: AutoEmptyBlockAncestorDeleter::GetNewCaretPosition( const HTMLEditor& aHTMLEditor, - nsIEditor::EDirection aDirectionAndAmount, - const Element& aEditingHost) const { + nsIEditor::EDirection aDirectionAndAmount) const { MOZ_ASSERT(mEmptyInclusiveAncestorBlockElement); MOZ_ASSERT(mEmptyInclusiveAncestorBlockElement->GetParentElement()); MOZ_ASSERT(aHTMLEditor.IsEditActionDataAvailable()); @@ -8388,23 +8386,12 @@ Result HTMLEditor::AutoDeleteRangesHandler:: case nsIEditor::eToEndOfLine: { // Collapse Selection to next node of after empty block element // if there is. Otherwise, to just after the empty block. - nsIContent* const nextContentOfEmptyBlock = [&]() -> nsIContent* { - for (EditorRawDOMPoint scanStartPoint = - EditorRawDOMPoint::After(mEmptyInclusiveAncestorBlockElement); - scanStartPoint.IsInContentNode();) { - nsIContent* const nextContent = HTMLEditUtils::GetNextContent( - scanStartPoint, {}, BlockInlineCheck::Unused, &aEditingHost); - // Let's ignore invisible `Text`. - if (nextContent && nextContent->IsText() && - !HTMLEditUtils::IsVisibleTextNode(*nextContent->AsText())) { - scanStartPoint = EditorRawDOMPoint::After(*nextContent); - continue; - } - return nextContent; - } - return nullptr; - }(); - if (nextContentOfEmptyBlock) { + auto afterEmptyBlock( + EditorDOMPoint::After(mEmptyInclusiveAncestorBlockElement)); + MOZ_ASSERT(afterEmptyBlock.IsSet()); + if (nsIContent* nextContentOfEmptyBlock = HTMLEditUtils::GetNextContent( + afterEmptyBlock, {}, BlockInlineCheck::Unused, + aHTMLEditor.ComputeEditingHost())) { EditorDOMPoint pt = HTMLEditUtils::GetGoodCaretPointFor( *nextContentOfEmptyBlock, aDirectionAndAmount); if (!pt.IsSet()) { @@ -8413,8 +8400,6 @@ Result HTMLEditor::AutoDeleteRangesHandler:: } return CaretPoint(std::move(pt)); } - EditorDOMPoint afterEmptyBlock = - EditorDOMPoint::After(mEmptyInclusiveAncestorBlockElement); if (NS_WARN_IF(!afterEmptyBlock.IsSet())) { return Err(NS_ERROR_FAILURE); } @@ -8424,43 +8409,20 @@ Result HTMLEditor::AutoDeleteRangesHandler:: case nsIEditor::ePreviousWord: case nsIEditor::eToBeginningOfLine: { // Collapse Selection to previous editable node of the empty block - // if there is. - nsIContent* const previousContentOfEmptyBlock = [&]() -> nsIContent* { - for (EditorRawDOMPoint scanStartPoint = - EditorRawDOMPoint(mEmptyInclusiveAncestorBlockElement); - scanStartPoint.IsInContentNode();) { - nsIContent* const previousContent = HTMLEditUtils::GetPreviousContent( - scanStartPoint, {WalkTreeOption::IgnoreNonEditableNode}, - BlockInlineCheck::Unused, &aEditingHost); - // Let's ignore invisible `Text`. - if (previousContent && previousContent->IsText() && - !HTMLEditUtils::IsVisibleTextNode(*previousContent->AsText())) { - scanStartPoint = EditorRawDOMPoint(previousContent, 0u); - continue; - } - return previousContent; - } - return nullptr; - }(); - if (previousContentOfEmptyBlock) { - const EditorRawDOMPoint atEndOfPreviousContent = - HTMLEditUtils::GetGoodCaretPointFor( - *previousContentOfEmptyBlock, aDirectionAndAmount); - if (!atEndOfPreviousContent.IsSet()) { + // if there is. Otherwise, to after the empty block. + EditorRawDOMPoint atEmptyBlock(mEmptyInclusiveAncestorBlockElement); + if (nsIContent* previousContentOfEmptyBlock = + HTMLEditUtils::GetPreviousContent( + atEmptyBlock, {WalkTreeOption::IgnoreNonEditableNode}, + BlockInlineCheck::Unused, aHTMLEditor.ComputeEditingHost())) { + EditorDOMPoint pt = HTMLEditUtils::GetGoodCaretPointFor( + *previousContentOfEmptyBlock, aDirectionAndAmount); + if (!pt.IsSet()) { NS_WARNING("HTMLEditUtils::GetGoodCaretPointFor() failed"); return Err(NS_ERROR_FAILURE); } - // If the previous content is between a preceding line break and the - // block boundary of current empty block, let's move caret to the line - // break if there is no visible things between them. - const Maybe precedingLineBreak = - HTMLEditUtils::GetLineBreakBeforeBlockBoundaryIfPointIsBetweenThem< - EditorRawLineBreak>(atEndOfPreviousContent, aEditingHost); - return precedingLineBreak.isSome() - ? CaretPoint(precedingLineBreak->To()) - : CaretPoint(atEndOfPreviousContent.To()); + return CaretPoint(std::move(pt)); } - // Otherwise, let's put caret next to the deleting block. auto afterEmptyBlock = EditorDOMPoint::After(*mEmptyInclusiveAncestorBlockElement); if (NS_WARN_IF(!afterEmptyBlock.IsSet())) { @@ -8530,7 +8492,7 @@ HTMLEditor::AutoDeleteRangesHandler::AutoEmptyBlockAncestorDeleter::Run( : EditorDOMPoint()); } Result caretPointOrError = - GetNewCaretPosition(aHTMLEditor, aDirectionAndAmount, aEditingHost); + GetNewCaretPosition(aHTMLEditor, aDirectionAndAmount); NS_WARNING_ASSERTION( caretPointOrError.isOk(), "AutoEmptyBlockAncestorDeleter::GetNewCaretPosition() failed"); @@ -8561,7 +8523,6 @@ HTMLEditor::AutoDeleteRangesHandler::AutoEmptyBlockAncestorDeleter::Run( NS_WARNING("EditorBase::DeleteNodeWithTransaction() failed"); return Err(rv); } - trackPointToPutCaret.FlushAndStopTracking(); } else { Result caretPointOrError = WhiteSpaceVisibilityKeeper::DeleteContentNodeAndJoinTextNodesAroundIt( @@ -8573,11 +8534,11 @@ HTMLEditor::AutoDeleteRangesHandler::AutoEmptyBlockAncestorDeleter::Run( "DeleteContentNodeAndJoinTextNodesAroundIt() failed"); return caretPointOrError.propagateErr(); } - trackPointToPutCaret.FlushAndStopTracking(); caretPointOrError.unwrap().MoveCaretPointTo( pointToPutCaret, {SuggestCaret::OnlyIfHasSuggestion}); } trackEmptyBlockPoint.FlushAndStopTracking(); + trackPointToPutCaret.FlushAndStopTracking(); if (NS_WARN_IF(!atEmptyInclusiveAncestorBlockElement .IsInContentNodeAndValidInComposedDoc()) || NS_WARN_IF(pointToPutCaret.IsSet() && diff --git a/icecat/editor/libeditor/WSRunScanner.h b/icecat/editor/libeditor/WSRunScanner.h index cf3952d1f2..b0da7f3e2b 100644 --- a/icecat/editor/libeditor/WSRunScanner.h +++ b/icecat/editor/libeditor/WSRunScanner.h @@ -162,22 +162,6 @@ class MOZ_STACK_CLASS WSScanResult final { return mContent->AsText(); } - template - MOZ_NEVER_INLINE_DEBUG EditorLineBreakType CreateEditorLineBreak() const { - if (ReachedBRElement()) { - return EditorLineBreakType(*BRElementPtr()); - } - if (ReachedPreformattedLineBreak()) { - MOZ_ASSERT_IF(mDirection == ScanDirection::Backward, *mOffset > 0); - return EditorLineBreakType(*TextPtr(), - mDirection == ScanDirection::Forward - ? mOffset.valueOr(0) - : std::max(mOffset.valueOr(1), 1u) - 1); - } - MOZ_CRASH("Didn't reach a line break"); - return EditorLineBreakType(*BRElementPtr()); - } - /** * Returns true if found or reached content is editable. */ @@ -293,15 +277,6 @@ class MOZ_STACK_CLASS WSScanResult final { return mReason == WSType::PreformattedLineBreak; } - /** - * Return true if reached a
element or a preformatted line break. - * Return false when reached a block boundary. Use ReachedLineBoundary() if - * you want it to return true in the case too. - */ - [[nodiscard]] bool ReachedLineBreak() const { - return ReachedBRElement() || ReachedPreformattedLineBreak(); - } - /** * The scanner reached a
element. */ diff --git a/icecat/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp b/icecat/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp index cf7db902fd..656ccbc221 100644 --- a/icecat/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp +++ b/icecat/editor/libeditor/WhiteSpaceVisibilityKeeper.cpp @@ -3503,10 +3503,8 @@ WhiteSpaceVisibilityKeeper::DeleteContentNodeAndJoinTextNodesAroundIt( WSRunScanner::ScanInclusiveNextVisibleNodeOrBlockBoundary( Scan::All, pointToPutCaret, BlockInlineCheck::UseComputedDisplayOutsideStyle); - Maybe lineBreak; - if (nextThingOfCaretPoint.ReachedLineBreak()) { - lineBreak.emplace( - nextThingOfCaretPoint.CreateEditorLineBreak()); + if (nextThingOfCaretPoint.ReachedBRElement() || + nextThingOfCaretPoint.ReachedPreformattedLineBreak()) { nextThingOfCaretPoint = WSRunScanner::ScanInclusiveNextVisibleNodeOrBlockBoundary( Scan::All, @@ -3532,26 +3530,6 @@ WhiteSpaceVisibilityKeeper::DeleteContentNodeAndJoinTextNodesAroundIt( if (NS_WARN_IF(!aContentToDelete.IsInComposedDoc())) { return Err(NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE); } - // If the previous content ends with an invisible line break, let's - // delete it. - if (lineBreak.isSome() && lineBreak->IsInComposedDoc()) { - const WSScanResult prevThing = - WSRunScanner::ScanPreviousVisibleNodeOrBlockBoundary( - WSRunScanner::Scan::All, - lineBreak->To(), - BlockInlineCheck::UseComputedDisplayStyle, &aEditingHost); - if (!prevThing.ReachedLineBoundary()) { - Result pointOrError = - aHTMLEditor.DeleteLineBreakWithTransaction( - lineBreak.ref(), nsIEditor::eStrip, aEditingHost); - if (MOZ_UNLIKELY(pointOrError.isErr())) { - NS_WARNING( - "HTMLEditor::DeleteLineBreakWithTransaction() failed"); - return pointOrError.propagateErr(); - } - trackPointToPutCaret->Flush(StopTracking::No); - } - } } } // Similarly, we may put caret into the following block (this is the diff --git a/icecat/extensions/auth/nsAuthGSSAPI.cpp b/icecat/extensions/auth/nsAuthGSSAPI.cpp index ea0cd37707..79c939b498 100644 --- a/icecat/extensions/auth/nsAuthGSSAPI.cpp +++ b/icecat/extensions/auth/nsAuthGSSAPI.cpp @@ -263,6 +263,8 @@ nsAuthGSSAPI::nsAuthGSSAPI(pType package) : mServiceFlags(REQ_DEFAULT) { LOG(("entering nsAuthGSSAPI::nsAuthGSSAPI()\n")); + mComplete = false; + if (!gssLibrary && NS_FAILED(gssInit())) return; mCtx = GSS_C_NO_CONTEXT; @@ -308,8 +310,6 @@ void nsAuthGSSAPI::Reset() { } mCtx = GSS_C_NO_CONTEXT; mComplete = false; - mDelegationRequested = false; - mDelegationSupported = false; } /* static */ @@ -358,7 +358,6 @@ nsAuthGSSAPI::GetNextToken(const void* inToken, uint32_t inTokenLen, void** outToken, uint32_t* outTokenLen) { OM_uint32 major_status, minor_status; OM_uint32 req_flags = 0; - OM_uint32 ret_flags = 0; gss_buffer_desc input_token = GSS_C_EMPTY_BUFFER; gss_buffer_desc output_token = GSS_C_EMPTY_BUFFER; gss_buffer_t in_token_ptr = GSS_C_NO_BUFFER; @@ -373,22 +372,7 @@ nsAuthGSSAPI::GetNextToken(const void* inToken, uint32_t inTokenLen, // If they've called us again after we're complete, reset to start afresh. if (mComplete) Reset(); - // Two-phase delegation logic - // Phase 1: Try authentication without delegation first - // Phase 2: Only retry with delegation if server supports it (ret_flags) - bool delegationConfigured = (mServiceFlags & REQ_DELEGATE) != 0; - - if (delegationConfigured) { - if (!mDelegationRequested) { - // First attempt: don't request delegation yet - LOG(("First auth attempt without delegation")); - mDelegationRequested = true; - } else if (mDelegationSupported) { - // Second attempt: server supports delegation, now request it - LOG(("Retrying auth with delegation - server supports it")); - req_flags |= GSS_C_DELEG_FLAG; - } - } + if (mServiceFlags & REQ_DELEGATE) req_flags |= GSS_C_DELEG_FLAG; if (mServiceFlags & REQ_MUTUAL_AUTH) req_flags |= GSS_C_MUTUAL_FLAG; @@ -442,7 +426,7 @@ nsAuthGSSAPI::GetNextToken(const void* inToken, uint32_t inTokenLen, major_status = gss_init_sec_context_ptr( &minor_status, GSS_C_NO_CREDENTIAL, &mCtx, server, mMechOID, req_flags, GSS_C_INDEFINITE, GSS_C_NO_CHANNEL_BINDINGS, in_token_ptr, nullptr, - &output_token, &ret_flags, nullptr); + &output_token, nullptr, nullptr); if (GSS_ERROR(major_status)) { LogGssError(major_status, minor_status, "gss_init_sec_context() failed"); @@ -450,27 +434,6 @@ nsAuthGSSAPI::GetNextToken(const void* inToken, uint32_t inTokenLen, rv = NS_ERROR_FAILURE; goto end; } - // Check if server supports delegation (OK-AS-DELEGATE equivalent) - if (delegationConfigured && !mDelegationSupported && - (ret_flags & GSS_C_DELEG_FLAG)) { - LOG(("Server supports delegation (GSS_C_DELEG_FLAG in ret_flags)")); - - // If we completed without requesting delegation, but server supports it, - // we need to restart with delegation - if (major_status == GSS_S_COMPLETE && !(req_flags & GSS_C_DELEG_FLAG)) { - LOG(("Restarting authentication to request delegation")); - Reset(); - - // These flags get cleared by Reset(). - // Set them again to make sure the next call sets GSS_C_DELEG_FLAG - mDelegationRequested = true; - mDelegationSupported = true; - - gss_release_name_ptr(&minor_status, &server); - return GetNextToken(inToken, inTokenLen, outToken, outTokenLen); - } - } - if (major_status == GSS_S_COMPLETE) { // Mark ourselves as being complete, so that if we're called again // we know to start afresh. diff --git a/icecat/extensions/auth/nsAuthGSSAPI.h b/icecat/extensions/auth/nsAuthGSSAPI.h index 9501d29291..c25c75b294 100644 --- a/icecat/extensions/auth/nsAuthGSSAPI.h +++ b/icecat/extensions/auth/nsAuthGSSAPI.h @@ -54,11 +54,9 @@ class nsAuthGSSAPI final : public nsIAuthModule { gss_ctx_id_t mCtx; gss_OID mMechOID; nsCString mServiceName; - uint32_t mServiceFlags = REQ_DEFAULT; + uint32_t mServiceFlags; nsString mUsername; - bool mComplete = false; - bool mDelegationRequested = false; - bool mDelegationSupported = false; + bool mComplete; }; #endif /* nsAuthGSSAPI_h__ */ diff --git a/icecat/gfx/2d/DrawTargetCairo.cpp b/icecat/gfx/2d/DrawTargetCairo.cpp index 9c52d3d43a..ac3d6fba43 100644 --- a/icecat/gfx/2d/DrawTargetCairo.cpp +++ b/icecat/gfx/2d/DrawTargetCairo.cpp @@ -199,7 +199,6 @@ static void ReleaseData(void* aData) { } static cairo_surface_t* CopyToImageSurface(unsigned char* aData, - const IntSize& aSize, const IntRect& aRect, int32_t aStride, SurfaceFormat aFormat) { @@ -220,23 +219,15 @@ static cairo_surface_t* CopyToImageSurface(unsigned char* aData, } unsigned char* surfData = cairo_image_surface_get_data(surf); - size_t surfStride = cairo_image_surface_get_stride(surf); - size_t pixelWidth = BytesPerPixel(aFormat); - size_t rowDataWidth = size_t(aRectWidth) * pixelWidth; - if (rowDataWidth > surfStride || rowDataWidth > size_t(aStride) || - !IntRect(IntPoint(), aSize).Contains(aRect)) { - cairo_surface_destroy(surf); - return nullptr; - } + int surfStride = cairo_image_surface_get_stride(surf); + int32_t pixelWidth = BytesPerPixel(aFormat); - const unsigned char* sourceRow = aData + size_t(aRect.Y()) * size_t(aStride) + - size_t(aRect.X()) * pixelWidth; - unsigned char* destRow = surfData; + unsigned char* source = aData + aRect.Y() * aStride + aRect.X() * pixelWidth; + MOZ_ASSERT(aStride >= aRectWidth * pixelWidth); for (int32_t y = 0; y < aRectHeight; ++y) { - memcpy(destRow, sourceRow, rowDataWidth); - sourceRow += aStride; - destRow += surfStride; + memcpy(surfData + y * surfStride, source + y * aStride, + aRectWidth * pixelWidth); } cairo_surface_mark_dirty(surf); return surf; @@ -260,15 +251,14 @@ static cairo_surface_t* GetAsImageSurface(cairo_surface_t* aSurface) { } static cairo_surface_t* CreateSubImageForData(unsigned char* aData, - const IntSize& aSize, const IntRect& aRect, int aStride, SurfaceFormat aFormat) { - if (!aData || aStride < 0 || !IntRect(IntPoint(), aSize).Contains(aRect)) { + if (!aData) { gfxWarning() << "DrawTargetCairo.CreateSubImageForData null aData"; return nullptr; } - unsigned char* data = aData + size_t(aRect.Y()) * size_t(aStride) + - size_t(aRect.X()) * size_t(BytesPerPixel(aFormat)); + unsigned char* data = + aData + aRect.Y() * aStride + aRect.X() * BytesPerPixel(aFormat); cairo_surface_t* image = cairo_image_surface_create_for_data( data, GfxFormatToCairoFormat(aFormat), aRect.Width(), aRect.Height(), @@ -292,11 +282,9 @@ static cairo_surface_t* ExtractSubImage(cairo_surface_t* aSurface, cairo_surface_t* image = GetAsImageSurface(aSurface); if (image) { - image = CreateSubImageForData( - cairo_image_surface_get_data(image), - IntSize(cairo_image_surface_get_width(image), - cairo_image_surface_get_height(image)), - aSubImage, cairo_image_surface_get_stride(image), aFormat); + image = + CreateSubImageForData(cairo_image_surface_get_data(image), aSubImage, + cairo_image_surface_get_stride(image), aFormat); return image; } @@ -371,8 +359,8 @@ static cairo_surface_t* GetCairoSurfaceForSourceSurface( return nullptr; } - cairo_surface_t* surf = CreateSubImageForData( - map.mData, data->GetSize(), subimage, map.mStride, data->GetFormat()); + cairo_surface_t* surf = CreateSubImageForData(map.mData, subimage, + map.mStride, data->GetFormat()); // In certain scenarios, requesting larger than 8k image fails. Bug 803568 // covers the details of how to run into it, but the full detailed @@ -385,7 +373,7 @@ static cairo_surface_t* GetCairoSurfaceForSourceSurface( // set user data since we're not dependent on the original // data. cairo_surface_t* result = CopyToImageSurface( - map.mData, data->GetSize(), subimage, map.mStride, data->GetFormat()); + map.mData, subimage, map.mStride, data->GetFormat()); data->Unmap(); return result; } @@ -1874,8 +1862,8 @@ already_AddRefed DrawTargetCairo::CreateSourceSurfaceFromData( return nullptr; } - cairo_surface_t* surf = CopyToImageSurface( - aData, aSize, IntRect(IntPoint(), aSize), aStride, aFormat); + cairo_surface_t* surf = + CopyToImageSurface(aData, IntRect(IntPoint(), aSize), aStride, aFormat); if (!surf) { return nullptr; } diff --git a/icecat/gfx/2d/HelpersCairo.h b/icecat/gfx/2d/HelpersCairo.h index a10e01bdd6..e3c707944b 100644 --- a/icecat/gfx/2d/HelpersCairo.h +++ b/icecat/gfx/2d/HelpersCairo.h @@ -140,15 +140,9 @@ static inline cairo_extend_t GfxExtendToCairoExtend(ExtendMode extend) { static inline cairo_format_t GfxFormatToCairoFormat(SurfaceFormat format) { switch (format) { - case SurfaceFormat::B8G8R8A8: - case SurfaceFormat::R8G8B8A8: - case SurfaceFormat::A8R8G8B8: - // case SurfaceFormat::A8R8G8B8_UINT32: + case SurfaceFormat::A8R8G8B8_UINT32: return CAIRO_FORMAT_ARGB32; - case SurfaceFormat::B8G8R8X8: - case SurfaceFormat::R8G8B8X8: - case SurfaceFormat::X8R8G8B8: - // case SurfaceFormat::X8R8G8B8_UINT32: + case SurfaceFormat::X8R8G8B8_UINT32: return CAIRO_FORMAT_RGB24; case SurfaceFormat::A8: return CAIRO_FORMAT_A8; @@ -156,7 +150,7 @@ static inline cairo_format_t GfxFormatToCairoFormat(SurfaceFormat format) { return CAIRO_FORMAT_RGB16_565; default: gfxCriticalError() << "Unknown image format " << (int)format; - return CAIRO_FORMAT_INVALID; + return CAIRO_FORMAT_ARGB32; } } diff --git a/icecat/gfx/layers/SourceSurfaceSharedData.cpp b/icecat/gfx/layers/SourceSurfaceSharedData.cpp index 7040ffa73d..10498c0230 100644 --- a/icecat/gfx/layers/SourceSurfaceSharedData.cpp +++ b/icecat/gfx/layers/SourceSurfaceSharedData.cpp @@ -80,10 +80,6 @@ void SourceSurfaceSharedDataWrapper::Init(SourceSurfaceSharedData* aSurface) { bool SourceSurfaceSharedDataWrapper::EnsureMapped(size_t aLength) { MOZ_ASSERT(!GetData()); - if (mBufHandle.Size() < aLength) { - return false; - } - auto mapping = mBufHandle.Map(); while (!mapping) { nsTArray> expired; diff --git a/icecat/gfx/thebes/StandardFonts-macos.inc b/icecat/gfx/thebes/StandardFonts-macos.inc index 008ea6e574..0d264bbd5e 100644 --- a/icecat/gfx/thebes/StandardFonts-macos.inc +++ b/icecat/gfx/thebes/StandardFonts-macos.inc @@ -296,5 +296,4 @@ static const char* kBaseFonts[] = { static const char* kBaseFonts_13_Higher[] = { "Stix Two Math", - "Stix Two Math Regular", }; diff --git a/icecat/ipc/glue/BackgroundUtils.cpp b/icecat/ipc/glue/BackgroundUtils.cpp index d33986c0d9..536030a45b 100644 --- a/icecat/ipc/glue/BackgroundUtils.cpp +++ b/icecat/ipc/glue/BackgroundUtils.cpp @@ -605,8 +605,7 @@ nsresult LoadInfoToLoadInfoArgs(nsILoadInfo* aLoadInfo, aLoadInfo->GetIsMetaRefresh(), aLoadInfo->GetLoadingEmbedderPolicy(), aLoadInfo->GetIsOriginTrialCoepCredentiallessEnabledForTopLevel(), unstrippedURI, interceptionInfoArg, aLoadInfo->GetIsNewWindowTarget(), - aLoadInfo->GetUserNavigationInvolvement(), - aLoadInfo->GetContainerFeaturePolicyInfo()); + aLoadInfo->GetUserNavigationInvolvement()); return NS_OK; } @@ -854,8 +853,7 @@ nsresult LoadInfoArgsToLoadInfo(const LoadInfoArgs& loadInfoArgs, RefPtr loadInfo = new mozilla::net::LoadInfo( loadingPrincipal, triggeringPrincipal, principalToInherit, topLevelPrincipal, resultPrincipalURI, cookieJarSettings, cspToInherit, - loadInfoArgs.containerFeaturePolicyInfo(), triggeringRemoteType, - loadInfoArgs.sandboxedNullPrincipalID(), clientInfo, + triggeringRemoteType, loadInfoArgs.sandboxedNullPrincipalID(), clientInfo, reservedClientInfo, initialClientInfo, controller, loadInfoArgs.securityFlags(), loadInfoArgs.sandboxFlags(), loadInfoArgs.triggeringSandboxFlags(), loadInfoArgs.triggeringWindowId(), diff --git a/icecat/js/src/debugger/Debugger.cpp b/icecat/js/src/debugger/Debugger.cpp index 61d73a70bf..2ff6743d73 100644 --- a/icecat/js/src/debugger/Debugger.cpp +++ b/icecat/js/src/debugger/Debugger.cpp @@ -453,10 +453,7 @@ Breakpoint::Breakpoint(Debugger* debugger, HandleObject wrappedDebugger, } void Breakpoint::trace(JSTracer* trc) { - MOZ_ASSERT_IF(trc->kind() != JS::TracerKind::Moving, - !IsDeadProxyObject(wrappedDebugger)); TraceEdge(trc, &wrappedDebugger, "breakpoint owner"); - TraceEdge(trc, &handler, "breakpoint handler"); } diff --git a/icecat/js/src/gc/BufferAllocator.cpp b/icecat/js/src/gc/BufferAllocator.cpp index f8118d167c..ce016a8c3a 100644 --- a/icecat/js/src/gc/BufferAllocator.cpp +++ b/icecat/js/src/gc/BufferAllocator.cpp @@ -1210,13 +1210,6 @@ void BufferAllocator::abortMajorSweeping(const AutoLock& lock) { clearAllocatedDuringCollectionState(lock); - if (minorState == State::Sweeping) { - // If we are minor sweeping then chunks with allocatedDuringCollection set - // may be present in |mixedChunksToSweep|. Set a flag so these are cleared - // when they are merged later. - majorFinishedWhileMinorSweeping = true; - } - for (BufferChunk* chunk : mediumTenuredChunksToSweep.ref()) { chunk->markBits.ref().clear(); } diff --git a/icecat/js/src/jit-test/tests/debug/bug-1995637.js b/icecat/js/src/jit-test/tests/debug/bug-1995637.js deleted file mode 100644 index f5719c2e41..0000000000 --- a/icecat/js/src/jit-test/tests/debug/bug-1995637.js +++ /dev/null @@ -1,66 +0,0 @@ -// |jit-test| error: TypeError -gczeal(9,16); -function F1() { - if (!new.target) { throw 'must be called with new'; } - this.b = null; -} -new F1(); -new F1(); -function f5() {} -new BigUint64Array(3474); -function f14() {} -function f25(a26, a27) { - for (let i30 = 0, i31 = true; i31; i31--) { - function f37() { - function F38() {} - for (let i44 = 0, i45 = SharedArrayBuffer; i45; - (() => { - i45--; - Int8Array.principal = BigUint64Array; - function F50() {} - Int8Array.sameZoneAs = /wp(?:a?)+/imu; - const v54 = this.newGlobal(Int8Array); - const t7 = ({ __proto__: v54 }).Debugger; - const v57 = t7(F50); - const v59 = v57.getNewestFrame(i30, i45, i45, f25, v57).older; - v59.script.setBreakpoint(16, v59); - })()) {} - for (let [i134, i135] = (() => { - for (let i84 = 0, i85 = 10; i85; - (() => { - i85--; - for (let [i102, i103] = (() => { - for (let [i95, i96] = (() => { - new Uint8Array(); - return [0, 10]; - })(); i96; i96--) { - } - return [0, SharedArrayBuffer]; - })(); - i103; i103--) {} - for (let i113 = -4, i114 = 10; i114; i114--) {} - for (let i122 = 4, i123 = 10; i123--, i123; i123--) { - i123++; - } - })()) {} - return [0, SharedArrayBuffer]; - })(); - i135; i135--) { } - for (let i143 = 0, i144 = 10; i144; i144--) {} - } - f37.apply(); - } - for (let i153 = 0, i154 = 10; i154; i154--) {} - function F160(a162, a163) { - if (!new.target) { throw 'must be called with new'; } - this.c = a27; - this.h = a162; - } - new F160(234, a27); - const v167 = this.nukeAllCCWs(); - for (let i170 = 0, i171 = 10; i171; i171--) {} - try { - f25(); - } catch(e178) {} -} -f25(f25, f25); diff --git a/icecat/js/src/jit-test/tests/debug/bug-1999464.js b/icecat/js/src/jit-test/tests/debug/bug-1999464.js deleted file mode 100644 index 25a89a2dbc..0000000000 --- a/icecat/js/src/jit-test/tests/debug/bug-1999464.js +++ /dev/null @@ -1,6 +0,0 @@ -fullcompartmentchecks(1); -var x = newGlobal({ newCompartment: true }); -Debugger(x).onEnterFrame = function (y) { - y.script.setBreakpoint(0, {}); -}; -x.eval("(function(){})()"); diff --git a/icecat/js/src/jit-test/tests/debug/bug-2002646.js b/icecat/js/src/jit-test/tests/debug/bug-2002646.js deleted file mode 100644 index 008920caa4..0000000000 --- a/icecat/js/src/jit-test/tests/debug/bug-2002646.js +++ /dev/null @@ -1,8 +0,0 @@ -var x = newGlobal({ newCompartment: true }); -Debugger(x).onDebuggerStatement = function (y) { - y.script.setBreakpoint(y.script.getLineOffsets(1)[0], { - hit: function () {}, - }); -}; -x.eval("function* g() { debugger; return; };g().next()"); -relazifyFunctions(); diff --git a/icecat/js/src/jit-test/tests/debug/bug-2003588.js b/icecat/js/src/jit-test/tests/debug/bug-2003588.js deleted file mode 100644 index 98ecaaeea8..0000000000 --- a/icecat/js/src/jit-test/tests/debug/bug-2003588.js +++ /dev/null @@ -1,9 +0,0 @@ -var x = newGlobal({ newCompartment: true }); -var y = Debugger(x); -y.x = y; -y.onDebuggerStatement = function(w) { - nukeAllCCWs(); - w.environment.getVariable("x"); -} -x.eval('function f(z) { with(z) { debugger } }'); -x.f(y); diff --git a/icecat/js/src/jit-test/tests/debug/bug-2003809.js b/icecat/js/src/jit-test/tests/debug/bug-2003809.js deleted file mode 100644 index 4cb93564bc..0000000000 --- a/icecat/js/src/jit-test/tests/debug/bug-2003809.js +++ /dev/null @@ -1,8 +0,0 @@ -var x = newGlobal({ newCompartment: true }); -Debugger(x).onNewScript = function f(z) { m = z }; -x.eval("function g(){}"); -m.setBreakpoint(0, {}); -nukeAllCCWs(); -recomputeWrappers(); -gc(); - diff --git a/icecat/js/src/jit-test/tests/gc/bug-2003100.js b/icecat/js/src/jit-test/tests/gc/bug-2003100.js deleted file mode 100644 index 5b9919116e..0000000000 --- a/icecat/js/src/jit-test/tests/gc/bug-2003100.js +++ /dev/null @@ -1,9 +0,0 @@ -var dbgA = new Debugger; -var g1 = newGlobal({newCompartment: true}); -g1.eval('function g1f() { print("Weltuntergang"); }'); -var DOAg1 = dbgA.addDebuggee(g1); -var DOAg1f = DOAg1.getOwnPropertyDescriptor('g1f').value; -DOAg1f.script.setBreakpoint(0, { hit: () => { logA += '1'; } }); -gczeal(2,1) -class Base { } -recomputeWrappers(); diff --git a/icecat/js/src/proxy/CrossCompartmentWrapper.cpp b/icecat/js/src/proxy/CrossCompartmentWrapper.cpp index bf423c332e..d3ec13186a 100644 --- a/icecat/js/src/proxy/CrossCompartmentWrapper.cpp +++ b/icecat/js/src/proxy/CrossCompartmentWrapper.cpp @@ -5,7 +5,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "builtin/FinalizationRegistryObject.h" -#include "debugger/Debugger.h" #include "gc/GC.h" #include "gc/PublicIterators.h" #include "js/friend/WindowProxy.h" // js::IsWindow, js::IsWindowProxy @@ -450,12 +449,6 @@ JS_PUBLIC_API bool js::NukeCrossCompartmentWrappers( continue; } - // Don't nuke wrappers for debugger objects. These are used in Breakpoints - // and nuking them breaks debugger invariants. - if (MOZ_UNLIKELY(wrapped->is())) { - continue; - } - // We only skip nuking window references that point to a target // compartment, not the ones that belong to it. if (nukeReferencesToWindow == DontNukeWindowReferences && @@ -478,12 +471,6 @@ JS_PUBLIC_API bool js::AllowNewWrapper(JS::Compartment* target, JSObject* obj) { MOZ_ASSERT(obj->compartment() != target); - // Wrappers for debugger objects are not nuked and we must continue to allow - // them to be created or we will break the invariants in Compartment::wrap. - if (MOZ_UNLIKELY(obj->is())) { - return true; - } - if (target->nukedOutgoingWrappers || obj->nonCCWRealm()->nukedIncomingWrappers) { return false; @@ -514,9 +501,6 @@ void js::RemapWrapper(JSContext* cx, JSObject* wobjArg, AutoDisableProxyCheck adpc; - // This can't GC (and RemapDeadWrapper suppresses it). - JS::AutoAssertNoGC nogc(cx); - // If we're mapping to a different target (as opposed to just recomputing // for the same target), we must not have an existing wrapper for the new // target, otherwise this will break. @@ -558,10 +542,6 @@ void js::RemapDeadWrapper(JSContext* cx, HandleObject wobj, AutoDisableProxyCheck adpc; - // Suppress GC while we manipulate the wrapper map so that it can't observe - // intervening state. - gc::AutoSuppressGC nogc(cx); - // wobj is not a cross-compartment wrapper, so we can use nonCCWRealm. Realm* wrealm = wobj->nonCCWRealm(); diff --git a/icecat/js/xpconnect/loader/ScriptPreloader.cpp b/icecat/js/xpconnect/loader/ScriptPreloader.cpp index 5be75e2c33..64bf9e7973 100644 --- a/icecat/js/xpconnect/loader/ScriptPreloader.cpp +++ b/icecat/js/xpconnect/loader/ScriptPreloader.cpp @@ -673,36 +673,6 @@ void ScriptPreloader::PrepareCacheWrite() { PrepareCacheWriteInternal(); } -// A struct to hold reference to a CachedStencil and the snapshot of the -// CachedStencil::mLoadTime field. -// CachedStencil::mLoadTime field can be modified concurrently, and we need -// to create a snapshot, in order to sort scripts. -struct CachedStencilRefAndTime { - using CachedStencil = ScriptPreloader::CachedStencil; - CachedStencil* mStencil; - TimeStamp mLoadTime; - - explicit CachedStencilRefAndTime(CachedStencil* aStencil) - : mStencil(aStencil), mLoadTime(aStencil->mLoadTime) {} - - // For use with nsTArray::Sort. - // - // Orders scripts by script load time, so that scripts which are needed - // earlier are stored earlier, and scripts needed at approximately the - // same time are stored approximately contiguously. - struct Comparator { - bool Equals(const CachedStencilRefAndTime& a, - const CachedStencilRefAndTime& b) const { - return a.mLoadTime == b.mLoadTime; - } - - bool LessThan(const CachedStencilRefAndTime& a, - const CachedStencilRefAndTime& b) const { - return a.mLoadTime < b.mLoadTime; - } - }; -} JS_HAZ_NON_GC_POINTER; - // Writes out a script cache file for the scripts accessed during early // startup in this session. The cache file is a little-endian binary file with // the following format: @@ -756,20 +726,19 @@ Result ScriptPreloader::WriteCache() { mMonitor.AssertNotCurrentThreadOwns(); MonitorAutoLock mal(mMonitor); - nsTArray scriptRefs; + nsTArray scripts; for (auto& script : IterHash(mScripts, Match())) { - scriptRefs.AppendElement(CachedStencilRefAndTime(script)); + scripts.AppendElement(script); } // Sort scripts by load time, with async loaded scripts before sync scripts. // Since async scripts are always loaded immediately at startup, it helps to // have them stored contiguously. - scriptRefs.Sort(CachedStencilRefAndTime::Comparator()); + scripts.Sort(CachedStencil::Comparator()); OutputBuffer buf; size_t offset = 0; - for (auto& scriptRef : scriptRefs) { - auto* script = scriptRef.mStencil; + for (auto script : scripts) { script->mOffset = offset; MOZ_DIAGNOSTIC_ASSERT( JS::IsTranscodingBytecodeOffsetAligned(script->mOffset)); @@ -799,8 +768,7 @@ Result ScriptPreloader::WriteCache() { written += padding; } - for (auto& scriptRef : scriptRefs) { - auto* script = scriptRef.mStencil; + for (auto script : scripts) { MOZ_DIAGNOSTIC_ASSERT(JS::IsTranscodingBytecodeOffsetAligned(written)); MOZ_TRY(Write(fd, script->Range().begin().get(), script->mSize)); diff --git a/icecat/js/xpconnect/loader/ScriptPreloader.h b/icecat/js/xpconnect/loader/ScriptPreloader.h index d73d7fe128..fa40c2dc6c 100644 --- a/icecat/js/xpconnect/loader/ScriptPreloader.h +++ b/icecat/js/xpconnect/loader/ScriptPreloader.h @@ -67,8 +67,6 @@ struct Matcher { using namespace mozilla::loader; -struct CachedStencilRefAndTime; - class ScriptPreloader : public nsIObserver, public nsIMemoryReporter, public nsIRunnable, @@ -218,6 +216,21 @@ class ScriptPreloader : public nsIObserver, : ScriptStatus::Saved; } + // For use with nsTArray::Sort. + // + // Orders scripts by script load time, so that scripts which are needed + // earlier are stored earlier, and scripts needed at approximately the + // same time are stored approximately contiguously. + struct Comparator { + bool Equals(const CachedStencil* a, const CachedStencil* b) const { + return a->mLoadTime == b->mLoadTime; + } + + bool LessThan(const CachedStencil* a, const CachedStencil* b) const { + return a->mLoadTime < b->mLoadTime; + } + }; + struct StatusMatcher final : public Matcher { explicit StatusMatcher(ScriptStatus status) : mStatus(status) {} @@ -375,8 +388,6 @@ class ScriptPreloader : public nsIObserver, MaybeOneOf> mXDRData; } JS_HAZ_NON_GC_POINTER; - friend struct CachedStencilRefAndTime; - template static Matcher* Match() { static CachedStencil::StatusMatcher matcher{status}; diff --git a/icecat/layout/generic/nsBlockFrame.cpp b/icecat/layout/generic/nsBlockFrame.cpp index 2b6af4f3ba..da9935c1bd 100644 --- a/icecat/layout/generic/nsBlockFrame.cpp +++ b/icecat/layout/generic/nsBlockFrame.cpp @@ -1532,9 +1532,7 @@ void nsBlockFrame::Reflow(nsPresContext* aPresContext, ReflowOutput& aMetrics, // will take effect for the current line list. Only to be used when there are // enough lines that the clamp will apply. auto getClampPosition = [&](uint32_t aClampCount) -> BalanceTarget { - if (NS_WARN_IF(aClampCount >= mLines.size())) { - return BalanceTarget{}; - } + MOZ_ASSERT(aClampCount < mLines.size()); auto iter = mLines.begin(); for (uint32_t i = 0; i < aClampCount; i++) { ++iter; diff --git a/icecat/layout/painting/nsDisplayList.h b/icecat/layout/painting/nsDisplayList.h index 4bb89e3cba..4456a966b7 100644 --- a/icecat/layout/painting/nsDisplayList.h +++ b/icecat/layout/painting/nsDisplayList.h @@ -3216,7 +3216,7 @@ class nsDisplayList { for (nsDisplayItem* item : TakeItems()) { items.AppendElement(Item(item)); } - items.template StableSort(aComparator); + items.StableSort(aComparator); for (Item& item : items) { AppendToTop(item); diff --git a/icecat/media/webrtc/signaling/gtest/videoconduit_unittests.cpp b/icecat/media/webrtc/signaling/gtest/videoconduit_unittests.cpp index a37b32d1aa..84da228d8e 100644 --- a/icecat/media/webrtc/signaling/gtest/videoconduit_unittests.cpp +++ b/icecat/media/webrtc/signaling/gtest/videoconduit_unittests.cpp @@ -438,9 +438,6 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodec) { ASSERT_EQ(Call()->mVideoSendEncoderConfig->min_transmit_bitrate_bps, 0); ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, KBPS(10000)); ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - ASSERT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - KBPS(10000)); // empty codec name mControl.Update([&](auto& aControl) { @@ -555,13 +552,9 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecTias) { aControl.mVideoSendRtpRtcpConfig = Some(RtpRtcpConfig(webrtc::RtcpMode::kCompound, true)); }); + ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 2000000); { ASSERT_TRUE(Call()->mVideoSendEncoderConfig); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 2000000); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - ASSERT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 2000000); SendVideoFrame(1280, 720, 1); const std::vector videoStreams = Call()->CreateEncoderStreams(1280, 720); @@ -578,13 +571,9 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecTias) { codecConfigTiasLow.mTias = 1000; aControl.mVideoSendCodec = Some(codecConfigTiasLow); }); + ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 1000); { ASSERT_TRUE(Call()->mVideoSendEncoderConfig); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 1000); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - ASSERT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 1000); SendVideoFrame(1280, 720, 2); const std::vector videoStreams = Call()->CreateEncoderStreams(1280, 720); @@ -606,11 +595,6 @@ TEST_F(VideoConduitTest, TestConfigureSendMediaCodecMaxBr) { Some(RtpRtcpConfig(webrtc::RtcpMode::kCompound, true)); }); ASSERT_TRUE(Call()->mVideoSendEncoderConfig); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 50000); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - ASSERT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 50000); SendVideoFrame(1280, 720, 1); const std::vector videoStreams = Call()->CreateEncoderStreams(1280, 720); @@ -1277,10 +1261,6 @@ TEST_P(VideoConduitCodecModeTest, TestReconfigureSendMediaCodec) { }); ASSERT_TRUE(Call()->mVideoSendEncoderConfig); EXPECT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 2000000); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - EXPECT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 2000000); SendVideoFrame(1280, 720, 1); { @@ -1305,11 +1285,6 @@ TEST_P(VideoConduitCodecModeTest, TestReconfigureSendMediaCodec) { aControl.mVideoSendCodec = Some(codecConfig); }); ASSERT_TRUE(Call()->mVideoSendEncoderConfig); - EXPECT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 50000); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - EXPECT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 50000); SendVideoFrame(1280, 720, 2); { const std::vector videoStreams = @@ -1407,10 +1382,6 @@ TEST_P(VideoConduitCodecModeTest, }); ASSERT_TRUE(Call()->mVideoSendEncoderConfig); ASSERT_EQ(Call()->mVideoSendEncoderConfig->max_bitrate_bps, 2000000); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - EXPECT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 2000000); SendVideoFrame(1280, 720, 1); { @@ -1432,10 +1403,6 @@ TEST_P(VideoConduitCodecModeTest, aControl.mVideoSendCodec = Some(codecConfig); }); ASSERT_TRUE(Call()->mVideoSendEncoderConfig); - ASSERT_EQ(Call()->mVideoSendEncoderConfig->number_of_streams, 1U); - EXPECT_EQ( - Call()->mVideoSendEncoderConfig->simulcast_layers[0].max_bitrate_bps, - 50000); SendVideoFrame(1280, 720, 2); { const std::vector videoStreams = diff --git a/icecat/mobile/android/focus-android/tools/gradle/versionCode.gradle b/icecat/mobile/android/focus-android/tools/gradle/versionCode.gradle index ce465ae7eb..73a4de1189 100644 --- a/icecat/mobile/android/focus-android/tools/gradle/versionCode.gradle +++ b/icecat/mobile/android/focus-android/tools/gradle/versionCode.gradle @@ -1,98 +1,45 @@ -/* 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/. */ +// 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/. import java.text.SimpleDateFormat -/** - * Generates a "unique" versionCode for release builds. - * - * The resulting versionCode depends on the local timezone of the machine running this script. - * This is OK because we only use this for release builds on CI, where the timezone is fixed. - * - * Format: byDDDHHmm - * - b = base / epoch digit - * Historically hardcoded to "3". This digit is incremented when the year-derived - * component overflows its single digit (e.g., in 2026). - * - y = 1 digit derived from (two-digit year - 16), modulo 10 - * - DDD = day of year (001–366), zero-padded to 3 digits - * - HHmm = 24h time (00–23)(00–59) - * - * Example: - * Sept 6, 2017 @ 09:41 - * year = 17 - 16 = 1 - * base = 3 - * -> 3-1-249-09-41 -> 312490941 - * - * Historical note: - * Focus first shipped in 2017. The original scheme unconditionally used (yy - 16) which - * only fit in a single digit from 2017–2025. - * - * 2026 rollover: - * In 2026, (yy - 16) became 10. Allowing this to grow to two digits breaks the intended - * byDDDHHmm layout and can exceed Play / int limits. - * - * To preserve: - * - a single-digit `y` - * - monotonic versionCodes across year boundaries - * - * we keep `y` as (yearOffset % 10) and carry overflow into the base digit: - * 2025 -> base=3, y=9 -> 39DDDHHmm - * 2026 -> base=4, y=0 -> 40DDDHHmm - */ -ext { - // "Epoch" digit(s). Historically this was "3". - // We bump it by +1 each time (yy - 16) crosses another multiple of 10 (i.e., 2026, 2036, ...). - def epochDigit = 3 +// This gradle scripts generates a "unique" version code for our release versions. +// +// The result of the version code depends on the timezone. We assume that this script will only be used +// for release versions and running on our build servers with a fixed timezone. +// +// The version code is composed like: yDDDHHmm +// * y = Double digit year, with 16 substracted: 2017 -> 17 -> 1 +// * DDD = Day of the year, pad with zeros if needed: September 6th -> 249 +// * HH = Hour in day (00-23) +// * mm = Minute in hour +// +// For September 6th, 2017, 9:41 am this will generate the versionCode: 12490941 (1-249-09-41). +// +// Note that we only use this generated version code for builds we want to distribute. For local +// debug builds we use a fixed versionCode to not mess with the caching mechanism of the build +// system. +ext { + def base = "3" def today = new Date() - def yy = (new SimpleDateFormat("yy").format(today) as int) - def yearOffset = yy - 16 // 2017 -> 1, 2025 -> 9, 2026 -> 10, etc. - if (yearOffset < 0) { - throw new GradleException( - "versionCode yearOffset underflow: yearOffset=$yearOffset (yy=$yy)." - ) - } - - // Keep the "y" component as one digit, and carry overflow into the epoch digit. - def carry = (int) (yearOffset / 10) - def yearDigit = (int) (yearOffset % 10) - - def epoch = epochDigit + carry - if (epoch >= 10) { - throw new GradleException( - "versionCode epoch overflow: epoch=$epoch (yy=$yy). Update versionCode scheme." - ) - } + // We use the current year (double digit) and substract 16. We first released Focus in + // 2017 so this value will start counting at 1 and increment by one every year. + def year = String.valueOf((new SimpleDateFormat("yy").format(today) as int) - 16) // We use the day in the Year (e.g. 248) as opposed to month + day (0510) because it's one digit shorter. // If needed we pad with zeros (e.g. 25 -> 025) def day = String.format("%03d", (new SimpleDateFormat("D").format(today) as int)) - + // We append the hour in day (24h) and minute in hour (7:26 pm -> 1926). We do not append // seconds. This assumes that we do not need to build multiple release(!) builds the same // minute. def time = new SimpleDateFormat("HHmm").format(today) - // Build the final versionCode using the previously-calculated inputs. - def versionCode = ("${epoch}${yearDigit}${day}${time}" as long) + generatedVersionCode = (base + year + day + time) as int - // The Play Console has historically enforced a 2,100,000,000 cap. Keep a defensive ceiling here. - // Even without this, Android requires versionCode to fit in a signed 32-bit int. - def MAX_VERSION_CODE = 2_100_000_000 - if (versionCode > MAX_VERSION_CODE) { - throw new GradleException( - "Generated versionCode exceeds MAX_VERSION_CODE ($MAX_VERSION_CODE): $versionCode (from $versionCodeStr)" - ) - } - if (versionCode > Integer.MAX_VALUE) { - throw new GradleException( - "Generated versionCode exceeds Integer.MAX_VALUE: $versionCode (from $versionCodeStr)" - ) - } - - generatedVersionCode = (versionCode as int) println("Generated versionCode: $generatedVersionCode") println() } diff --git a/icecat/netwerk/base/LoadInfo.cpp b/icecat/netwerk/base/LoadInfo.cpp index b595b3c18c..21b63a96c5 100644 --- a/icecat/netwerk/base/LoadInfo.cpp +++ b/icecat/netwerk/base/LoadInfo.cpp @@ -800,7 +800,6 @@ LoadInfo::LoadInfo( nsIPrincipal* aPrincipalToInherit, nsIPrincipal* aTopLevelPrincipal, nsIURI* aResultPrincipalURI, nsICookieJarSettings* aCookieJarSettings, nsIContentSecurityPolicy* aCspToInherit, - const Maybe& aContainerFeaturePolicyInfo, const nsACString& aTriggeringRemoteType, const nsID& aSandboxedNullPrincipalID, const Maybe& aClientInfo, const Maybe& aReservedClientInfo, @@ -856,7 +855,6 @@ LoadInfo::LoadInfo( mResultPrincipalURI(aResultPrincipalURI), mCookieJarSettings(aCookieJarSettings), mCspToInherit(aCspToInherit), - mContainerFeaturePolicyInfo(aContainerFeaturePolicyInfo), mTriggeringRemoteType(aTriggeringRemoteType), mSandboxedNullPrincipalID(aSandboxedNullPrincipalID), mClientInfo(aClientInfo), diff --git a/icecat/netwerk/base/LoadInfo.h b/icecat/netwerk/base/LoadInfo.h index 0d1fbfb43a..7946dacf86 100644 --- a/icecat/netwerk/base/LoadInfo.h +++ b/icecat/netwerk/base/LoadInfo.h @@ -229,7 +229,6 @@ class LoadInfo final : public nsILoadInfo { nsIPrincipal* aPrincipalToInherit, nsIPrincipal* aTopLevelPrincipal, nsIURI* aResultPrincipalURI, nsICookieJarSettings* aCookieJarSettings, nsIContentSecurityPolicy* aCspToInherit, - const Maybe& aContainerFeaturePolicyInfo, const nsACString& aTriggeringRemoteType, const nsID& aSandboxedNullPrincipalID, const Maybe& aClientInfo, diff --git a/icecat/netwerk/dns/effective_tld_names.dat b/icecat/netwerk/dns/effective_tld_names.dat index 44876848eb..b4f2719f2a 100644 --- a/icecat/netwerk/dns/effective_tld_names.dat +++ b/icecat/netwerk/dns/effective_tld_names.dat @@ -5,8 +5,8 @@ // Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat, // rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported. -// VERSION: 2025-12-28_14-57-43_UTC -// COMMIT: 1ef6d3bc102c85d12e92be54ec0dad8ee990dd5f +// VERSION: 2025-11-27_13-27-58_UTC +// COMMIT: d3567de748c61e2de5a3156cc52ef0e0fdc1dc0c // Instructions on pulling and using this list can be found at https://publicsuffix.org/list/. @@ -1301,12 +1301,6 @@ gov.gy net.gy org.gy -// Hercules : https://hercules.app -// Submitted by Brendan Falk -onhercules.app -hercules-app.com -hercules-dev.com - // hk : https://www.hkirc.hk // Submitted by registry hk @@ -5673,9 +5667,7 @@ si sj // sk : https://www.iana.org/domains/root/db/sk.html -// https://sk-nic.sk/ sk -org.sk // sl : http://www.nic.sl // Submitted by registry @@ -6824,7 +6816,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2025-12-06T15:17:27Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2025-11-08T15:16:38Z // This list is auto-generated, don't edit it manually. // aaa : American Automobile Association, Inc. // https://www.iana.org/domains/root/db/aaa.html @@ -10202,7 +10194,7 @@ solutions // https://www.iana.org/domains/root/db/song.html song -// sony : Sony Group Corporation +// sony : Sony Corporation // https://www.iana.org/domains/root/db/sony.html sony @@ -12343,10 +12335,6 @@ eero-stage.online // concludes Amazon -// Antagonist B.V. : https://www.antagonist.nl/ -// Submitted by Sander Hoentjen -antagonist.cloud - // Apigee : https://apigee.com/ // Submitted by Apigee Security Team apigee.io @@ -12359,24 +12347,6 @@ panel.dev // Submitted by Alexander Selivanov siiites.com -// Apple : https://www.apple.com -// Submitted by Apple DNS -int.apple -*.cloud.int.apple -*.r.cloud.int.apple -*.ap-north-1.r.cloud.int.apple -*.ap-south-1.r.cloud.int.apple -*.ap-south-2.r.cloud.int.apple -*.eu-central-1.r.cloud.int.apple -*.eu-north-1.r.cloud.int.apple -*.us-central-1.r.cloud.int.apple -*.us-central-2.r.cloud.int.apple -*.us-east-1.r.cloud.int.apple -*.us-east-2.r.cloud.int.apple -*.us-west-1.r.cloud.int.apple -*.us-west-2.r.cloud.int.apple -*.us-west-3.r.cloud.int.apple - // Appspace : https://www.appspace.com // Submitted by Appspace Security Team appspacehosted.com @@ -12389,7 +12359,6 @@ appudo.net // Appwrite : https://appwrite.io // Submitted by Steven Nguyen appwrite.global -appwrite.network *.appwrite.run // Aptible : https://www.aptible.com/ @@ -12947,11 +12916,8 @@ discordsez.com // Submitted by Calvin Browne jozi.biz -// DNSHE : https://www.dnshe.com +// DNSHE : https://de5.net // Submitted by DNSHE Team -ccwu.cc -cc.cd -us.ci de5.net // DNShome : https://www.dnshome.de/ @@ -12963,12 +12929,6 @@ dnshome.de online.th shop.th -// dotScot Domains : https://domains.scot/ -// Submitted by DNS Team -co.scot -me.scot -org.scot - // DrayTek Corp. : https://www.draytek.com/ // Submitted by Paul Fang drayddns.com @@ -13335,9 +13295,12 @@ elementor.cool // Emergent : https://emergent.sh // Submitted by Emergent Security Team emergent.cloud -preview.emergentagent.com emergent.host +// En root‽ : https://en-root.org +// Submitted by Emmanuel Raviart +en-root.fr + // Enalean SAS : https://www.enalean.com // Submitted by Enalean Security Team mytuleap.com @@ -13598,9 +13561,15 @@ on-fleek.app flutterflow.app // fly.io : https://fly.io -// Submitted by Kurt Mackey -sprites.app +// Submitted by Kurt Mackey fly.dev +shw.io +edgeapp.net + +// Forgerock : https://www.forgerock.com +// Submitted by Roderick Parr +forgeblocks.com +id.forgerock.io // FoundryLabs, Inc : https://e2b.dev/ // Submitted by Jiri Sveceny @@ -13913,10 +13882,6 @@ grebedoc.dev günstigbestellen.de günstigliefern.de -// GV.UY : https://nic.gv.uy -// Submitted by cheng -gv.uy - // Hackclub Nest : https://hackclub.app // Submitted by Cyteon hackclub.app @@ -14049,10 +14014,6 @@ iki.fi ibxos.it iliadboxos.it -// Imagine : https://imagine.dev -// Submitted by Steven Nguyen -imagine-proxy.work - // Incsub, LLC : https://incsub.com/ // Submitted by Aaron Edwards smushcdn.com @@ -14061,10 +14022,6 @@ wpmucdn.com tempurl.host wpmudev.host -// Indevs : https://indevs.in -// Submitted by Sudheer Bhuvana -indevs.in - // Individual Network Berlin e.V. : https://www.in-berlin.de/ // Submitted by Christian Seitz dyn-berlin.de @@ -14301,10 +14258,6 @@ kapsi.fi ezproxy.kuleuven.be kuleuven.cloud -// Kevin Service : https://kevsrv.me -// Submitted by Kevin Service Team -ae.kg - // Keyweb AG : https://www.keyweb.de // Submitted by Martin Dannehl keymachine.de @@ -14502,11 +14455,6 @@ luyani.net // Submitted by Damien Tournoud *.magentosite.cloud -// Magic Patterns : https://www.magicpatterns.com -// Submitted by Teddy Ni -magicpatterns.app -magicpatternsapp.com - // Mail.Ru Group : https://hb.cldmail.ru // Submitted by Ilya Zaretskiy hb.cldmail.ru @@ -14872,6 +14820,10 @@ freeddns.us nsupdate.info nerdpol.ovh +// NYC.mn : https://dot.nyc.mn/ +// Submitted by NYC.mn Subdomain Service +nyc.mn + // O3O.Foundation : https://o3o.foundation/ // Submitted by the prvcy.page Registry Team prvcy.page @@ -15032,6 +14984,10 @@ srv.us gh.srv.us gl.srv.us +// PE Ulyanov Kirill Sergeevich : https://airy.host +// Submitted by Kirill Ulyanov +lk3.ru + // Peplink | Pepwave : http://peplink.com/ // Submitted by Steve Leung mypep.link @@ -15040,11 +14996,6 @@ mypep.link // Submitted by Kenneth Van Alstyne perspecta.cloud -// Ping Identity : https://www.pingidentity.com -// Submitted by Ping Identity -forgeblocks.com -id.forgerock.io - // Plain : https://www.plain.com/ // Submitted by Jesús Hernández support.site @@ -15063,6 +15014,11 @@ us.platform.sh *.platformsh.site *.tst.site +// Platter : https://platter.dev +// Submitted by Patrick Flor +platter-app.dev +platterp.us + // Pley AB : https://www.pley.com/ // Submitted by Henning Pohl pley.games @@ -15110,10 +15066,6 @@ dev.project-study.com // Submitted by Martin Meier protonet.io -// PSL Sandbox : https://github.com/groundcat/PSL-Sandbox -// Submitted by groundcat -platter-app.dev - // PT Ekossistim Indo Digital : https://e.id // Submitted by Eid Team e.id @@ -15123,11 +15075,6 @@ e.id chirurgiens-dentistes-en-france.fr byen.site -// PublicZone : https://publiczone.org/ -// Submitted by PublicZone NOC Team -nyc.mn -*.cn.st - // pubtls.org : https://www.pubtls.org // Submitted by Kor Nielsen pubtls.org @@ -15233,11 +15180,6 @@ rhcloud.com // Submitted by Andrew Farries instances.spawn.cc -// Redpanda Data : https://redpanda.com -// Submitted by Infrastructure Team -*.clusters.rdpa.co -*.srvrless.rdpa.co - // Render : https://render.com // Submitted by Anurag Goel onrender.com @@ -15411,10 +15353,6 @@ sakura.tv // Submitted by Asheesh Laroia sandcats.io -// Sav.com, LLC : https://marketing.sav.com/ -// Submitted by Mukul Kudegave -sav.case - // SBE network solutions GmbH : https://www.sbe.de/ // Submitted by Norman Meilick logoip.com @@ -15708,6 +15646,10 @@ ipfs.w3s.link // Submitted by Tony Schirmer storebase.store +// Storipress : https://storipress.com +// Submitted by Benno Liu +storipress.app + // Storj Labs Inc. : https://storj.io/ // Submitted by Philip Hutchins storj.farm @@ -15819,14 +15761,6 @@ tche.br site.tb-hosting.com directwp.eu -// TechEdge Limited: https://www.nic.uk.cc/ -// Submitted by TechEdge Developer -ec.cc -eu.cc -gu.cc -uk.cc -us.cc - // Teckids e.V. : https://www.teckids.org // Submitted by Dominik George edugit.io @@ -16220,7 +16154,6 @@ enterprisecloud.nu // Zone.ID: https://zone.id // Submitted by Gx1.org zone.id -nett.to // ZoneABC : https://zoneabc.net // Submitted by ZoneABC Team diff --git a/icecat/netwerk/ipc/NeckoChannelParams.ipdlh b/icecat/netwerk/ipc/NeckoChannelParams.ipdlh index 985f9d8961..018dfa028e 100644 --- a/icecat/netwerk/ipc/NeckoChannelParams.ipdlh +++ b/icecat/netwerk/ipc/NeckoChannelParams.ipdlh @@ -207,7 +207,6 @@ struct LoadInfoArgs InterceptionInfoArg? interceptionInfo; bool isNewWindowTarget; UserNavigationInvolvement userNavigationInvolvement; - FeaturePolicyInfo? containerFeaturePolicyInfo; }; /** diff --git a/icecat/security/ct/CTKnownLogs.h b/icecat/security/ct/CTKnownLogs.h index 9d4f09a559..4f0995c921 100644 --- a/icecat/security/ct/CTKnownLogs.h +++ b/icecat/security/ct/CTKnownLogs.h @@ -14,7 +14,7 @@ #include -static const PRTime kCTExpirationTime = INT64_C(1773669190000000); +static const PRTime kCTExpirationTime = INT64_C(1770634470000000); namespace mozilla::ct { @@ -208,7 +208,7 @@ const CTLogInfo kCTLogList[] = { "\x99", 91}, {"DigiCert 'Wyvern2027h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1766253600000, // 2025-12-20T18:00:00Z + 1760119200000, // 2025-10-10T18:00:00Z 2, // operated by DigiCert "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x6a\xcb\x71\x62\x3d\x66\x9e\xd1\xae" @@ -218,7 +218,7 @@ const CTLogInfo kCTLogList[] = { "\xee", 91}, {"DigiCert 'Wyvern2027h2'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1766253600000, // 2025-12-20T18:00:00Z + 1760119200000, // 2025-10-10T18:00:00Z 2, // operated by DigiCert "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xb8\xe8\x3c\x85\xc8\x1a\x61\x3f\xcc" @@ -258,7 +258,7 @@ const CTLogInfo kCTLogList[] = { "\xcd", 91}, {"DigiCert 'sphinx2027h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1766253600000, // 2025-12-20T18:00:00Z + 1760119200000, // 2025-10-10T18:00:00Z 2, // operated by DigiCert "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xbe\x2a\xc8\xab\x55\xcf\xc2\x0c\x06" @@ -268,7 +268,7 @@ const CTLogInfo kCTLogList[] = { "\x21", 91}, {"DigiCert 'sphinx2027h2'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1766253600000, // 2025-12-20T18:00:00Z + 1760119200000, // 2025-10-10T18:00:00Z 2, // operated by DigiCert "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x50\x27\xb6\xdc\xcf\x3c\xf6\x60\x2c" @@ -438,7 +438,7 @@ const CTLogInfo kCTLogList[] = { "\xc9", 91}, {"Let's Encrypt 'Oak2025h2'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1765578600000, // 2025-12-12T22:30:00Z + 1701000000000, // 2023-11-26T12:00:00Z 4, // operated by Let's Encrypt "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xb5\x76\x30\x07\xad\xc6\xc8\xd2\xe4" @@ -448,7 +448,7 @@ const CTLogInfo kCTLogList[] = { "\xa9", 91}, {"Let's Encrypt 'Oak2026h1'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1765578600000, // 2025-12-12T22:30:00Z + 1730678400000, // 2024-11-04T00:00:00Z 4, // operated by Let's Encrypt "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x99\xd4\x61\x70\x22\xfa\x77\x93\x0d" @@ -458,7 +458,7 @@ const CTLogInfo kCTLogList[] = { "\x49", 91}, {"Let's Encrypt 'Oak2026h2'", CTLogState::Admissible, CTLogFormat::RFC6962, - 1765578600000, // 2025-12-12T22:30:00Z + 1730678400000, // 2024-11-04T00:00:00Z 4, // operated by Let's Encrypt "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\x6a\x70\x9d\xb3\x96\xe3\xec\x85\x36" @@ -617,16 +617,6 @@ const CTLogInfo kCTLogList[] = { "\x01\xbb\x4f\xd8\xd3\x8f\xe3\x08\xc8\xb9\xf0\x24\xe9\xfe\xb8\xb1\x8e\x03" "\x5a", 91}, - {"TrustAsia Luoshu2027", CTLogState::Admissible, CTLogFormat::Tiled, - 1764700200000, // 2025-12-02T18:30:00Z - 5, // operated by TrustAsia - "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" - "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xba\x64\x98\xcf\x2e\x9d\x51\x09\x70" - "\x4d\xc9\x0f\xcc\xa3\x0a\x02\x93\x11\x8a\x7a\xb1\x1c\x80\x65\x2d\xf9\xab" - "\xbf\x1d\x52\x74\xc1\xf5\x45\x30\x02\x8b\x5c\x1b\xd5\x5d\x7c\xb2\xcf\x18" - "\x8e\x56\x82\xec\xf7\x21\xd8\xe4\x1a\xf0\xe7\xd1\x7a\xfb\x9b\xe1\x8f\x41" - "\x0d", - 91}, {"Bogus placeholder log to unbreak misbehaving CT libraries", CTLogState::Retired, CTLogFormat::RFC6962, 1750489200000, // 2025-06-21T07:00:00Z 6, // operated by Geomys @@ -698,7 +688,7 @@ const CTLogInfo kCTLogList[] = { "\xaa", 91}, {"IPng Networks 'Halloumi2025h2'", CTLogState::Admissible, CTLogFormat::Tiled, - 1765996200000, // 2025-12-17T18:30:00Z + 1759861800000, // 2025-10-07T18:30:00Z 7, // operated by IPng Networks "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xa8\x9c\x52\x9c\x27\x0c\x85\x68\xa4" @@ -708,7 +698,7 @@ const CTLogInfo kCTLogList[] = { "\x01", 91}, {"IPng Networks 'Halloumi2026h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1765996200000, // 2025-12-17T18:30:00Z + 1759861800000, // 2025-10-07T18:30:00Z 7, // operated by IPng Networks "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xcd\xd7\x27\x1b\x04\x63\x9b\x66\x68" @@ -728,7 +718,7 @@ const CTLogInfo kCTLogList[] = { "\xad", 91}, {"IPng Networks 'Halloumi2027h1'", CTLogState::Admissible, CTLogFormat::Tiled, - 1765996200000, // 2025-12-17T18:30:00Z + 1759861800000, // 2025-10-07T18:30:00Z 7, // operated by IPng Networks "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xc3\x94\x94\x97\x6c\x9f\x77\x94\xc5" @@ -738,7 +728,7 @@ const CTLogInfo kCTLogList[] = { "\x67", 91}, {"IPng Networks 'Halloumi2027h2'", CTLogState::Admissible, CTLogFormat::Tiled, - 1765996200000, // 2025-12-17T18:30:00Z + 1759861800000, // 2025-10-07T18:30:00Z 7, // operated by IPng Networks "\x30\x59\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48" "\xce\x3d\x03\x01\x07\x03\x42\x00\x04\xae\x62\x9b\x16\x43\xc6\xed\x07\xd0" diff --git a/icecat/security/manager/ssl/StaticHPKPins.h b/icecat/security/manager/ssl/StaticHPKPins.h index 755ba0a5b2..e649de5676 100644 --- a/icecat/security/manager/ssl/StaticHPKPins.h +++ b/icecat/security/manager/ssl/StaticHPKPins.h @@ -726,4 +726,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1776088368026000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1773053640200000); diff --git a/icecat/security/manager/ssl/nsSTSPreloadList.inc b/icecat/security/manager/ssl/nsSTSPreloadList.inc index 2c56442d93..95f1e5a76a 100644 --- a/icecat/security/manager/ssl/nsSTSPreloadList.inc +++ b/icecat/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); +const PRTime gPreloadListExpirationTime = INT64_C(1775472836741000); %% 0--1.de, 1 0-0.io, 1 @@ -21,6 +21,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 0.com.ms, 1 0.sb, 1 00.eco, 1 +00000000-0000-0000-0000-000000000000.xyz, 1 000000039.xyz, 1 0000031.xyz, 1 00010110.nl, 1 @@ -56,6 +57,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 003d88.com, 1 003dyw.com, 1 0047552.com, 1 +00484.com, 1 005184.xyz, 1 0057552.com, 1 0066.in, 1 @@ -74,6 +76,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 00bet86.com, 1 00dani.me, 1 00f.net, 1 +00ffbbb.com, 0 00wbf.com, 1 01.org, 1 01011970.xyz, 1 @@ -124,6 +127,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 036566733.com.tw, 1 0376z6.com, 1 0377z6.com, 0 +038663.com, 1 0391315.com, 1 03region.ga, 1 040552.com, 0 @@ -165,6 +169,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 0571z6.com, 1 0597z6.com, 1 059958.com, 1 +06006.vip, 0 060579.com, 1 060798.com, 1 06091994.xyz, 1 @@ -270,10 +275,10 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 0x.cx, 1 0x.sk, 1 0x0.li, 1 +0x0.network, 1 0x00ff00ff.com, 1 0x0a.team, 1 0x1.ink, 1 -0x1.st, 1 0x12.de, 1 0x15.ca, 1 0x17.de, 1 @@ -357,6 +362,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 10086.ru, 1 100baksov.tk, 1 100ballov.tk, 1 +100beauty.com, 1 100bib.ru, 1 100kraz.ga, 1 100nome.com, 1 @@ -531,14 +537,17 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 11333837.com, 1 113k8.com, 0 113z6.com, 1 +11400.com, 1 11443837.com, 0 114514ss.com, 1 +114online.com, 1 115.one, 1 115z6.com, 1 1174healing.com, 1 117766.xyz, 1 1177z6.com, 1 11792.com, 1 +1182asaka-shika.com, 1 1190america.tk, 1 1199bet.vip, 1 119sh.com, 1 @@ -686,6 +695,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 12345678365.com, 1 123456789365.com, 1 12345porn.com, 1 +12356.xyz, 1 12365t.com, 1 123apps.com, 1 123birthdaygreetings.com, 1 @@ -715,6 +725,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1244.tk, 1 1244546066.rsc.cdn77.org, 1 125-rue.com, 1 +12517.com, 1 12557.com, 1 12588.com, 1 125c.cn, 1 @@ -745,7 +756,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1300.jp, 1 131365a.com, 0 131365qq.com, 1 +13214.cc, 1 132kv.ch, 1 +133.casino, 1 13318522.com, 1 1333.cf, 1 133335.xyz, 1 @@ -794,7 +807,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 15-montorgueil.com, 1 150mpg.com, 1 1511774230.rsc.cdn77.org, 1 -1517.ch, 0 +1517.ch, 1 1517598.com, 1 1517668.com, 1 1517669.com, 1 @@ -1187,6 +1200,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1dollarwebsite.gq, 1 1dot1dot1dot1.cf, 1 1dp.com, 1 +1dt.ltd, 1 1dv.link, 1 1e9.nl, 1 1eanda.com, 1 @@ -1226,7 +1240,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1me.cz, 1 1mgt.ru, 1 1montre.fr, 1 -1my.me, 0 +1my.me, 1 1nf.me, 1 1nian.vip, 1 1node.site, 1 @@ -1271,8 +1285,10 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1stclassbouncycastles.co.uk, 1 1stforfun.co.uk, 1 1stpeninsulabouncers.co.uk, 1 +1stream.co.za, 1 1strecipes.com, 1 1ststop.co.uk, 1 +1sttix.org, 1 1ticks.com, 1 1tomplumber.com, 1 1tpt.com, 1 @@ -1282,6 +1298,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1viemeilleure.eu, 1 1voz.org, 1 1vpns.com, 1 +1vs2.by, 1 1w6.net, 1 1way.faith, 1 1web.be, 1 @@ -1308,6 +1325,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1x1.re, 1 1x2020.xyz, 1 1x2betwinner.com, 1 +1x2magazine.eu, 1 1x4.com.au, 1 1x88.net, 1 1xaja.com, 1 @@ -1455,6 +1473,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 1xsport.mobi, 1 1xspport.mobi, 1 1xstavka.ru, 1 +1xtranslate.com, 1 1zagon.tk, 1 1zavse.si, 1 1zwartewaterland.nl, 1 @@ -1618,6 +1637,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 22zt.com, 1 230100.xyz, 1 230beats.com, 1 +232192.com, 1 233.be, 1 233.land, 1 233.services, 1 @@ -1676,6 +1696,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 247csr.com, 1 247cumshots.com, 1 247dns.net, 1 +247healthshop.com, 1 247maturesex.com, 1 247megamart.com.au, 1 247vision.com, 1 @@ -1702,10 +1723,12 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 249722.com, 1 249cq.com, 1 24ball.com, 1 +24bel.ru, 0 24bit.dk, 1 24buffalo.com, 0 24chance.tk, 1 24gazette.ga, 1 +24go.me, 1 24hour-locksmithsanantonio.com, 1 24hourcyclist.co.uk, 1 24hourlocksmithdallastx.com, 1 @@ -1714,7 +1737,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 24hrbrandbash.com, 1 24images.com, 1 24k.co.jp, 1 -24meg.com, 1 24onlain.tk, 1 24see.com, 1 24share.com, 1 @@ -1764,6 +1786,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 272live.com, 1 27726.eu, 1 27728522.com, 1 +277g.cc, 0 27lx.me, 1 28-industries.com, 1 280.social, 1 @@ -1845,6 +1868,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 2i2.link, 1 2img.net, 1 2impact.com, 1 +2insights.com, 1 2jhb.com, 1 2k7.link, 1 2kgwf.fi, 1 @@ -1883,7 +1907,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 2ugaming.com, 1 2url.link, 1 2ustyle.com, 1 -2value.com, 1 2vnews.com, 1 2vp-an.online, 1 2wth.com, 1 @@ -1949,6 +1972,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 31fss.marketing, 1 31fss.net, 1 31fss.support, 1 +320281.net, 0 321666365.com, 1 321live.nl, 1 321livestream.nl, 1 @@ -2032,7 +2056,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 360china.com, 1 360cycling.com.br, 1 360degreecloud.com, 1 -360dental.com, 1 360e-commerce.net, 1 360ecogroup.com, 0 360ecommerce.net, 1 @@ -2049,7 +2072,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 360stone.com, 1 360system.com, 1 360techpartner.com, 1 -360trust.com, 1 360videoshare.com, 1 360visualmedia.co.uk, 1 360vrs.com, 1 @@ -2058,6 +2080,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 365.systems, 1 36506088.com, 1 36506099.com, 1 +3651145.com, 1 3651147.com, 1 3651149.com, 1 3651201.com, 1 @@ -2177,6 +2200,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 380222444.com, 0 38138938.com, 1 38317.tk, 1 +3837k.com, 0 +3837x.com, 0 3838onndo.tk, 1 3839.ca, 1 383aaa.com, 1 @@ -2203,6 +2228,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 3970abc.com, 1 3970b.com, 1 3970bb.com, 1 +3970cc.com, 1 3970ccc.com, 1 3970d.com, 1 3970dd.com, 1 @@ -2216,6 +2242,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 3970hh.com, 1 3970ii.com, 1 3970j.com, 1 +3970jj.com, 1 3970ku.com, 1 3970l.com, 1 3970ll.com, 1 @@ -2240,6 +2267,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 3970xx.com, 1 3970y.com, 1 3970yes.com, 1 +3970ylc.com, 1 3970yy.com, 1 3970z.com, 1 3970zz.com, 1 @@ -2329,6 +2357,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 3ee365.com, 1 3einfrastructure.com, 1 3em1.pt, 1 +3enota.by, 1 3eyonetim.com, 1 3ff365.com, 1 3fragezeichen.de, 1 @@ -2354,6 +2383,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 3mediaweb.com, 1 3mind-solutions.com, 1 3ml.org.uk, 0 +3moorcrescent.online, 1 3ne.fun, 1 3newsnow.com, 1 3nickels.com, 1 @@ -2437,6 +2467,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 4000milestare.com, 1 40010monogatari.com, 1 4005365.com, 1 +4008810.com, 0 400yaahc.gov, 1 401ksecure.com, 1 401ksite.com, 1 @@ -2452,7 +2483,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 4025369.com, 1 403.ch, 1 403page.com, 1 -404.blue, 1 +404.blue, 0 404.city, 1 404.guide, 1 4048kkk.com, 1 @@ -2497,6 +2528,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 4245pay.com, 1 425degree.com, 1 428northampton.com, 1 +42ch.com, 1 42day.info, 1 42entrepreneurs.fr, 0 42film.de, 1 @@ -2618,7 +2650,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 4garage.com.br, 1 4gnews.pt, 1 4grad.in.ua, 1 -4heat.cz, 1 4host.ch, 1 4hourcourse.com, 1 4hourmini.com, 1 @@ -2646,7 +2677,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 4netguides.org, 1 4nikola.de, 1 4nk.network, 1 -4o.pw, 0 +4o.pw, 1 4ourbest.tk, 1 4paws.co.uk, 1 4peace.gent, 1 @@ -2795,9 +2826,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 51cls.tw, 1 51club8.com, 1 51daxue.com, 1 +51dazhe.com, 1 51evar.com, 1 51fishing.com, 1 -51free.com, 1 51fss.marketing, 1 51lavanderiaindustrial.com.br, 1 51life.com, 1 @@ -2856,6 +2887,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 52dashboard.com, 1 52evar.com, 1 52evar1.com, 1 +52fish.com, 1 52hentai.ml, 1 52kb1.com, 1 52kb365.com, 0 @@ -2868,6 +2900,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 531k8.com, 1 533sss.com, 1 534365.com, 1 +5364b.com, 1 5364d.com, 1 5364jc.com, 1 539124.xyz, 1 @@ -2877,7 +2910,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 541651.com, 1 543yazilim.com, 1 54below.com, 0 -54cuatro.com, 0 +54cuatro.com, 1 5518k3.com, 1 5533445.com, 1 55365t.com, 1 @@ -3022,7 +3055,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 5stardesigner.tk, 1 5starexterior.com, 0 5stars.tv, 1 -5startrucksales.us, 1 5stones-consulting.cn, 1 5stones-consulting.com, 1 5stones-consulting.ru, 1 @@ -3307,6 +3339,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 68622a.com, 1 68622b.com, 1 68reg.tk, 1 +68workscarbon.com, 1 692241.com, 1 692b8c32.de, 1 694640.com, 1 @@ -3396,7 +3429,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 7-zip.de, 1 7.ls, 1 700.az, 1 -700creditsolution.com, 1 700dealer.com, 1 700wns.com, 1 7014twinlakes.com, 1 @@ -3435,6 +3467,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 740cashbuyers.com, 1 74365365.com, 1 7444.cf, 1 +7478vip1.cc, 0 7478vip2.cc, 1 74dy.org, 1 74th.jp, 1 @@ -3520,9 +3553,11 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 798sss.com, 1 7992.org, 1 799713.com, 1 +79ch.com, 1 7across.com, 1 7aga7.mk, 1 7akawyna.tk, 1 +7b.gg, 1 7colli.it, 1 7comm.com.br, 1 7datarecovery.com, 1 @@ -3542,11 +3577,11 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 7hills-consulting.de, 1 7hills.us, 1 7hq.ru, 1 -7inci.com, 1 7ki.photography, 1 7kovrikov.ru, 1 7kvadratov.by, 1 7l00p.com, 1 +7magicinc.com, 1 7matic.net, 1 7money.co, 1 7net.uk, 1 @@ -3650,6 +3685,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 81alarm.cz, 1 81klima.cz, 1 81klima.sk, 1 +81uc.com, 1 8203d88.com, 1 8207d88.com, 1 8208d88.com, 1 @@ -3712,6 +3748,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 838888.net, 1 83ir2k8b.duckdns.org, 1 83kb88.com, 1 +84000.com, 1 84036.ml, 1 842844.com, 1 8444.cf, 1 @@ -3890,6 +3927,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 88yule7.com, 1 88yule9.com, 1 8900.cf, 1 +8906d.com, 1 8921d.com, 1 8925d.com, 0 8925d88.com, 1 @@ -3931,9 +3969,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 8l.com.au, 1 8maerz.at, 1 8me.nl, 1 -8n.pw, 0 +8n.pw, 1 8shequapp.com, 1 -8show.com, 1 8t8.eu, 1 8tech.com.hk, 1 8therate.com, 1 @@ -4447,6 +4484,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 9509.cf, 1 9510.cf, 1 95107.com, 1 +95108.com, 1 9511.cf, 1 9512.cf, 1 9513.cf, 1 @@ -4485,7 +4523,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 95500.com, 1 9551.cf, 1 95518.com, 1 -95519.com, 1 9552.cf, 1 9553.cf, 1 9554.cf, 1 @@ -4557,7 +4594,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 9617.cf, 1 9617818.net, 1 9618.cf, 1 -96181.com, 1 9619.cf, 1 9620.cf, 1 96200.com, 1 @@ -4578,6 +4614,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 9633.cf, 1 96448.com, 1 96577.com, 1 +96605.com, 1 9666ks.com, 1 96685.com, 1 966ty.com, 1 @@ -4870,6 +4907,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 9ccn.top, 1 9elements.com, 0 9face.com, 1 +9fruit.com, 1 9fvip.net, 1 9gag.com, 1 9hosts.net, 1 @@ -4960,6 +4998,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1778507564482000); 9ranks.com, 1 9tailedkitsune.com, 1 9to5linux.com, 1 +9to5notes.in, 1 9uelle.jp, 0 9ungnir.xyz, 1 9vx.org, 1 @@ -5107,8 +5146,8 @@ aagetransport.no, 1 aahhbali.com, 1 aaic.ca, 1 aajkakavi.in, 0 -aalalbayt.com, 0 -aalalbayt.net, 0 +aalalbayt.com, 1 +aalalbayt.net, 1 aalaslearninglibrary.org, 1 aalderstotaaltechniek.nl, 1 aalen.tk, 1 @@ -5194,6 +5233,7 @@ aayamresorts.com, 1 aayan.com, 1 ab-design.tk, 1 ab-pflege.de, 1 +ab-solutepilates.com, 1 ab-uk.com, 1 ab-west.tk, 1 ab288.com, 1 @@ -5310,8 +5350,11 @@ abdened.tk, 1 abdesign.tk, 1 abdijmale.tk, 1 abditransportinc.com, 1 +abdl.link, 1 +abdsirketim.com, 0 abdul.win, 1 abdulawal.tk, 1 +abdulazizgolca.com, 1 abdulkarimm.tk, 1 abdullaeff.net, 1 abdullahavci.com, 1 @@ -5347,6 +5390,7 @@ abelles.gq, 1 abelles.ml, 1 abelles.tk, 1 abelsflooringandtile.com, 1 +abemarx.hu, 1 abenteuerschule4u.eu, 1 abenteuerteam.de, 1 abeontech.com, 1 @@ -5441,10 +5485,12 @@ ablx.de, 1 abmackenzie.com, 1 abmarketx.com, 1 abmc.gov, 1 +abmelden.com, 1 abminv.com, 1 abmledger.ca, 1 abn-consultants.ie, 1 abnamropensioenen.nl, 0 +abnarnro.com, 0 abnbfcu.org, 1 abnehmen-sport-fitness.de, 1 abnobapetstore.co.uk, 1 @@ -5605,6 +5651,7 @@ absinsurance.com, 1 absolab.xyz, 1 absolem.cc, 1 absoluav.com, 1 +absolugroupe.com, 1 absolute.digital, 1 absoluteblack.cc, 1 absolutebritney.com, 1 @@ -5630,6 +5677,7 @@ abstract27.com, 1 abstractbarista.com, 1 abstractbarista.net, 0 abstractive.ai, 1 +abstudio.de, 1 absurdia.tk, 1 absurdopedia.wiki, 1 absyscyborg.com, 1 @@ -5644,6 +5692,7 @@ abu-auftrag.ch, 1 abu-nour.tk, 1 abuahmed.ga, 1 abulanov.com, 1 +abulhuda.com, 1 abun-motorsport.tk, 1 abundent.com, 1 abusamraphotography.tk, 1 @@ -5686,7 +5735,6 @@ academiaofimage.com, 1 academiaveritas.com, 1 academicassembly.com, 1 academicexperts.com, 1 -academicexperts.org, 1 academichealthscience.net, 1 academichelp.gq, 1 academie-angoumois.org, 1 @@ -5713,6 +5761,7 @@ acapellalanguage.tk, 1 acapetahua.tk, 1 acaptureservices.com, 1 acara.edu.au, 1 +acaro.it, 1 acasadavella.tk, 1 acasadoprodutor.com.br, 1 acasundayschool.org, 1 @@ -5789,6 +5838,7 @@ accessoripersmartphone.it, 1 accesspress.org, 1 accesstive.com, 1 accesstosystem.cf, 1 +accey.cz, 1 acchan-fun.com, 1 accio.be, 1 accionesyreacciones.com, 1 @@ -6032,6 +6082,7 @@ acquario.genova.it, 1 acquasuisse.tk, 1 acquire.co.nz, 1 acquirebpo.com, 1 +acquireit.com.au, 1 acquireoil.com, 1 acquisition.gov, 1 acquisitiongateway.gov, 1 @@ -6064,6 +6115,7 @@ acrylicstyle.xyz, 1 acrylicwifi.com, 1 acs-armoured-cars.com, 1 acs-nettoyage-entretien-immeuble.com, 1 +acs2devapi.azurewebsites.net, 1 acsb.ro, 0 acsbbs.org, 1 acsc.gov.au, 1 @@ -6124,6 +6176,7 @@ actionsecuritycameras.com, 1 actionverb.com, 1 actisgolf.com, 1 actiumhealth.com, 0 +activandoideas.com, 1 activat3rs.com, 1 activate.ch, 1 activate.swiss, 1 @@ -6143,6 +6196,7 @@ activehealth.com, 1 activehire.co.uk, 1 activeleisure.ie, 1 activelife.travel, 1 +activemoneymanage.com, 0 activenl.co.uk, 1 activeplatesystem.ga, 1 activeprospect.com, 1 @@ -6151,6 +6205,7 @@ activespacetech.com, 1 activetk.cf, 1 activetk.jp, 1 activewindow.dk, 1 +activework.nl, 1 activexperts.com, 1 activeyogi.tk, 1 activflex.com.au, 1 @@ -6266,6 +6321,7 @@ ada.eco, 1 ada.gov, 1 adab-mans.tk, 1 adac-musikreisen.de, 1 +adachansa.de, 1 adachi.work, 1 adacomputerscience.org, 1 adacprod.fr, 1 @@ -6368,6 +6424,7 @@ adbglobal.com, 1 adblockextreme.com, 1 adblockextreme.net, 1 adblockextreme.org, 1 +adboos.com, 1 adbw.xyz, 1 adc-dentalcare.com, 0 adc64.com, 1 @@ -6382,6 +6439,7 @@ add.pics, 1 addad.ch, 1 addall.com, 1 addbonus.ml, 1 +addcrazy.com, 1 addeditore.it, 1 adder.ml, 1 adderall.ml, 1 @@ -6469,6 +6527,7 @@ adescb.ga, 1 adese.es, 1 adesignguy.co.uk, 1 adespresso.com, 1 +adevel.eu, 1 adevo.be, 1 adex.network, 1 adextremadurafs.tk, 1 @@ -6698,6 +6757,7 @@ adriantwpmi.gov, 1 adrianwalls.tk, 1 adrianweb.ml, 1 adriarae.xyz, 1 +adriatic42.com, 1 adriatika.tk, 1 adriatrans.ga, 1 adrienfelsmann.fr, 1 @@ -6717,7 +6777,6 @@ adscss.eu, 1 adsense-arbitrage.com, 1 adseye.tk, 1 adsforcash.ga, 1 -adshooter.com, 1 adsib.gob.bo, 1 adsintl.net, 1 adsl2meg.fr, 1 @@ -6787,6 +6846,7 @@ advancealabama.gov, 1 advancecessnock.com.au, 1 advanced-ict.info, 1 advanced-online.eu, 1 +advancedacupuncture.net, 1 advancedaquaticservice.com, 1 advancedbotoxclinic.com, 1 advancedbuildings.com.au, 1 @@ -6800,6 +6860,7 @@ advancedhealthmedical.com.au, 0 advancedinteg.com, 0 advancedkiosks.com, 1 advancedmanagement.net, 1 +advancedmedicalcertification.com, 1 advancednetflowtraining.com, 1 advancedoneroofing.com, 1 advancedseniorcare.com, 1 @@ -6819,6 +6880,7 @@ advantage.com.sa, 1 advantage.sa, 1 advantageaustria.org, 1 advantagemechanicalinc.com, 1 +advantagetowing.com.au, 1 advantaseeds.com, 1 advantis.ai, 1 advantis.cf, 1 @@ -7005,6 +7067,7 @@ aegis-bot.eu, 1 aegisaccounting.co.uk, 1 aegisalarm.co.uk, 1 aegisalarm.com, 1 +aegisbds.com, 1 aegissec.ca, 1 aegisys.com, 1 aegon.hu, 0 @@ -7037,6 +7100,7 @@ aeonct.org, 1 aeonfoundation.my, 1 aeonian.live, 0 aeonmall.global, 0 +aeonsapi.uk, 1 aeperocovilha.pt, 1 aeperodacovilha.pt, 1 aeptic.org, 1 @@ -7073,6 +7137,7 @@ aerojet.com, 1 aeroklub.tk, 1 aerolog.co, 0 aeronautix.com, 1 +aeronote.net, 1 aeropetz.com.br, 1 aeroplan.tk, 1 aeropole.de, 1 @@ -7097,6 +7162,7 @@ aerozone.tk, 1 aertel.ie, 1 aerztezentrum.io, 1 aes.org.pt, 1 +aesculapliterature.com, 1 aesi.bg, 1 aesm.limited, 1 aesm.ltd, 1 @@ -7213,6 +7279,7 @@ affiliatexpo.it, 0 affine.ai, 1 affine.space, 1 affinipay.com, 0 +affinitihive.com, 1 affinity.co, 1 affinity.vc, 1 affinitycu.ca, 1 @@ -7337,6 +7404,7 @@ aftamurae.com, 1 after-whoru.tk, 1 afterblokrock.tk, 1 afterdarklabs.net, 0 +afterdwi.info, 1 afterfostercare.tk, 1 afterhate.fr, 1 afterhoursglass.com.au, 1 @@ -7382,6 +7450,7 @@ ag6215.com, 1 ag6225.com, 1 ag66321.com, 1 ag69000.com, 1 +ag72.vip, 1 ag8.im, 0 ag8.vip, 1 ag80808.com, 1 @@ -7719,7 +7788,6 @@ agrokomi.tk, 1 agrokredit.ga, 1 agroland.tk, 1 agrolife.tk, 1 -agroma.com, 1 agromanagement.kz, 1 agromotorsburzaco.com, 1 agron.tk, 1 @@ -7791,6 +7859,7 @@ ahccorleone.tk, 1 ahcpr.gov, 1 ahd-cyber.org, 1 ahd.com, 0 +ahd.de, 1 ahealthyjourney.ca, 1 ahegaoroulette.com, 1 ahelos.tk, 1 @@ -7806,6 +7875,7 @@ ahima.org, 1 ahityayinlari.com, 1 ahityayinlari.org, 1 ahj.no, 1 +ahjindigital.com, 1 ahl-net.com, 1 ahl.gov.au, 0 ahl.im, 1 @@ -7901,11 +7971,13 @@ aibios.cloud, 1 aibiying.com, 1 aibolit-apteka.tk, 1 aibolit.ga, 1 +aibolit.md, 1 aibolit.ml, 1 aibolitik.tk, 1 aibot.tk, 1 aibottrafficanalyzer.com, 1 aibsoftware.mx, 1 +aica.org, 1 aiccc.com.au, 1 aiccorp.com, 1 aiceopenlab.org, 1 @@ -7914,6 +7986,7 @@ aichat.io, 1 aichi-tokko-shien.com, 1 aicial.co.uk, 1 aickelin.eu, 1 +aicontent.vn, 1 aicpastore.com, 1 aicredit.ro, 1 aicta.ro, 1 @@ -7939,6 +8012,7 @@ aidi-ahmi.com, 1 aidliveers.ga, 1 aido.gq, 1 aidoc.com, 1 +aidong.com, 1 aidoru.net, 1 aidoru.top, 1 aids-dissidents.tk, 1 @@ -7988,8 +8062,10 @@ aikidozentrum.com, 1 aikijutsu.tk, 1 aikiva.com, 1 aikoly.com, 1 +ailagpt.com, 1 aileenwatt.co.uk, 1 ailitonia.com, 1 +ailitonia.xyz, 1 ailladearousa.com, 1 aim.org.pt, 1 aimara.com, 1 @@ -8033,6 +8109,7 @@ ainsa.tk, 1 aintfeelingit.com, 1 ainutrition.co.uk, 1 ainzu.net, 1 +aioboot.com, 0 aiois.com, 1 aioj.ac, 1 aiom.tk, 1 @@ -8083,7 +8160,6 @@ airbnb.ca, 1 airbnb.cat, 1 airbnb.ch, 1 airbnb.cl, 1 -airbnb.cn, 1 airbnb.co.cr, 1 airbnb.co.id, 1 airbnb.co.il, 1 @@ -8098,7 +8174,6 @@ airbnb.com.au, 1 airbnb.com.bo, 1 airbnb.com.br, 1 airbnb.com.bz, 1 -airbnb.com.cn, 1 airbnb.com.co, 1 airbnb.com.ec, 1 airbnb.com.gt, 1 @@ -8142,7 +8217,6 @@ airbnb.pl, 1 airbnb.pt, 1 airbnb.se, 1 airbnb.tools, 1 -airbnbchina.cn, 1 airborne-clan.tk, 1 airborne-commando.tk, 1 airburners.com, 1 @@ -8465,6 +8539,7 @@ aisera.com, 1 aish.ml, 1 aishima.com, 1 aisi316l.net, 1 +aisidehustler.com, 1 aising.jp, 1 aisp.sg, 1 aispirit.tk, 1 @@ -8676,6 +8751,7 @@ akiakira-nsn.gov, 1 akiba-server.info, 1 akiekintveld.com, 1 akiganka.com, 1 +akihabara-tour.com, 1 akijo.de, 1 akikat.tk, 1 akilli-devre.com, 1 @@ -8758,6 +8834,7 @@ aktiv-naturheilmittel.ch, 1 aktiv-naturheilmittel.de, 1 aktiv.pl, 1 aktivace.eu, 1 +aktive-arbeitslose.at, 1 aktivierungscenter.de, 1 aktivitetatil.com, 1 aktivpark-lumdatal.de, 1 @@ -8841,7 +8918,8 @@ aladdinschools.appspot.com, 1 aladintechnologies.tk, 1 alaiabelize.com, 1 alain-webcreator.cf, 1 -alainfrancois.eu, 0 +alaincouture.com, 1 +alainfrancois.eu, 1 alainmargot.ch, 0 alainodea.com, 1 alainwolf.ch, 1 @@ -8912,6 +8990,7 @@ alaserrurerierapide.fr, 1 alaska.com.tr, 1 alaskabuylocal.org, 1 alaskacapitol.gov, 1 +alaskacruises.com, 1 alaskadentalcare.com, 1 alaskafishinglodges.net, 1 alaskafolkarts.tk, 1 @@ -8974,6 +9053,7 @@ alberchigo.com, 1 albergolafiorita.com, 1 alberguecovadonga.es, 1 alberosano.it, 1 +albert.lol, 1 albertapp.com, 1 albertathome.org, 1 albertcuyp-markt.amsterdam, 1 @@ -9039,7 +9119,6 @@ alcarpentry.co, 1 alcatraz-webdesign.tk, 1 alcatrazeast.com, 1 alcatraztourtickets.com, 1 -alcatrazz.com, 1 alcazaar.com, 1 alchakov.tk, 1 alchemist-heaven.tk, 1 @@ -9100,6 +9179,7 @@ ale5000.altervista.org, 1 alea-prevention.com, 1 alea.xyz, 1 alecel.de, 1 +alecpap.com, 1 alecpapierniak.com, 1 alector.com, 1 aledoil.gov, 1 @@ -9108,7 +9188,7 @@ aleftinka.tk, 1 alegriafm.tk, 1 alegromania.tk, 1 alehinta.fi, 1 -alejandrocruz.es, 0 +alejandrocruz.es, 1 alejandromateoconde.tk, 1 alejandromillalen.com, 1 alejandromunoz.es, 1 @@ -9334,6 +9414,7 @@ alfa-pack.com.ua, 1 alfa-reserve.tk, 1 alfa-tech.su, 1 alfaair.aero, 1 +alfabetagamma.com, 0 alfabetajuega.com, 1 alfabuster.com, 1 alfacharlie.co, 0 @@ -9345,7 +9426,6 @@ alfadoc.se, 1 alfafile.net, 1 alfagl.com, 1 alfahir.hu, 1 -alfakir.com, 1 alfalasteenyia.cf, 1 alfambra.tk, 1 alfamed.biz, 1 @@ -9358,6 +9438,7 @@ alfatar-milk.com, 1 alfavit.cf, 1 alfawedding.com, 1 alfithrah.ac.id, 1 +alfm.fr, 1 alfonso-baya.tk, 1 alfonsostriano.it, 1 alfordbenefits.com, 0 @@ -9425,10 +9506,8 @@ alhs-archives.com, 1 alhsfb.com, 0 alhuqul-kh.com, 1 ali-shariati.tk, 1 -ali360.com, 1 alia-helianthi.tk, 1 -aliads.com, 1 -aliakpoyraz.com, 0 +aliakpoyraz.com, 1 alialkurdy.tk, 1 aliamakeup.com, 1 alianet.org, 1 @@ -9439,13 +9518,11 @@ aliasbox.ovh, 1 aliasinfoforums.tk, 1 aliaslaw.com, 1 aliaswp.com, 1 -aliauction.com, 1 alibabau.tk, 1 alibamu.com, 1 alibamu.org, 1 alibi-ua.com.ua, 1 alibip.de, 1 -alibiz.com, 1 alicante-spain.tk, 1 alice-memorial.de, 1 alice.tw, 1 @@ -9487,7 +9564,6 @@ alifeadjacent.com, 1 alifeinbinary.com, 1 alight.ge, 1 alightwell.com, 1 -aligift.com, 1 align-pilates.lt, 1 align27.com, 1 alignancekinesiologie.fr, 1 @@ -9503,7 +9579,6 @@ alikasimoglu.com, 1 alila.dog, 1 alilepro.cf, 1 alilialili.ga, 1 -alimade.com, 1 alimahmood.com, 1 alimanaka-rabesata.tk, 1 aliment-covid19.com, 1 @@ -9522,14 +9597,14 @@ alinemello.com.br, 1 alineonline.tk, 1 alingroove.com, 1 alinneata.com, 1 +alinode.com, 1 alio.lt, 1 aliorange.com, 1 aliosmanyuksel.com.tr, 1 -alipad.com, 1 alipub.com, 1 alireza2love.tk, 1 alirezahesari.com, 1 -alis-asso.fr, 1 +alis-asso.fr, 0 alis-test.tk, 1 alisblog.ml, 1 alisceon.com, 1 @@ -9554,6 +9629,7 @@ alisufyan.pk, 1 alisufyan.uk, 1 alisy.cz, 1 alisy.de, 1 +alisync.com, 1 alitabergert.tk, 1 alitajran.com, 1 alitpedia.ga, 1 @@ -9596,11 +9672,11 @@ alko-stop.ml, 1 alkoferma.gq, 1 alkogol.ga, 1 alkoholiker-forum.de, 1 -alkomedfrank.com, 1 alkon.gg, 1 alkopedia.tk, 1 alkor.tk, 1 alkoutlet.lv, 1 +all-bikes.fr, 1 all-blogs.tk, 1 all-bronza.ru, 1 all-connect.net, 0 @@ -9611,11 +9687,10 @@ all-eu-recruitment.com, 1 all-fashion-schools.com, 1 all-for-u.tk, 1 all-gsm-solutions.tk, 1 +all-inhealth.com, 1 all-mountains.fr, 1 all-music.ml, 1 all-music.tk, 1 -all-payroll-solutions.com, 1 -all-payroll-solutions.de, 1 all-pics.tk, 1 all-rating.tk, 1 all-seo.tk, 1 @@ -9644,6 +9719,7 @@ allaboutnothing.ga, 1 allaboutnothing.gq, 1 allaboutreligions.tk, 1 allaboutswing.co.uk, 1 +allaboutswing.com, 1 allabouttechh.tk, 1 allaboutthekink.org, 1 allaboutyouspa.co.uk, 1 @@ -9652,7 +9728,6 @@ allactionsecurity.com, 1 allahabadhighcourt.in, 1 allamakee.k12.ia.us, 1 allamericangutterprotection.com, 0 -allamericanprotection.net, 1 allamericatrans.com, 0 allandrich.ml, 1 allandrichonline.tk, 1 @@ -9691,7 +9766,6 @@ allcelebs.tk, 1 allchan.io, 1 allcinema.net, 1 allcloud.com, 1 -allcomic.com, 1 allcooking.tk, 1 allcookingclub.com, 1 allcouponat.com, 1 @@ -9764,6 +9838,7 @@ allerzieleninhetvondelpark.nl, 1 alles-nur-ge.cloud, 1 allesisgezondheid.nl, 1 allesisonline.nl, 1 +alleskomtgoed.org, 1 allesmartphonehoesjes.nl, 1 allesovercrypto.nl, 0 allesoverdieren.tk, 1 @@ -9789,7 +9864,6 @@ allforlocal.com, 1 allform.se, 1 allfortips.com, 1 allfundsconnect.com, 1 -allfur.love, 1 allgadgetsfree.tk, 1 allgaragedoorandgates.com, 1 allgaragefloors.com, 1 @@ -9814,7 +9888,6 @@ allianceblock.io, 1 allianceborderservices.com, 1 allianceforafreesociety.com, 1 allianceforafreesociety.net, 1 -allianceguide.com, 1 alliances-globalsolutions.com, 0 alliancesolutionsgrp.com, 1 allianskyrkan.se, 1 @@ -9934,7 +10007,11 @@ allsun.online, 0 allsurpl.us, 1 allsurplus.com, 1 allterrainfence.com, 0 +alltest.net.au, 1 +alltestantigentest.com.au, 1 alltestbiotech.com, 1 +alltestbiotech.com.au, 1 +alltestselftest.com.au, 1 allthatblings.online, 1 allthebots.com, 1 allthefallen.moe, 1 @@ -9960,7 +10037,7 @@ allur-club.cf, 1 allurebikerental.com, 1 allureclinic.pt, 1 alluremedicalaesthetic.com, 1 -allurescarves.com, 0 +allurescarves.com, 1 alluringdesigns.tk, 1 alluvion.studio, 1 allvideofoot.tk, 1 @@ -9998,6 +10075,7 @@ almanea.net, 1 almanea.org, 1 almanilan.com, 0 almanshood.com, 1 +almanyacv.com, 0 almanyada-denklik.de, 1 almanyada-denklik.info.tr, 1 almarail.tk, 1 @@ -10009,6 +10087,7 @@ almasoft.ga, 1 almastabriz.com, 0 almatinki.com, 1 almatytips.com, 1 +almawsoa.com, 1 almayadeen.education, 1 almayoreo.com.co, 1 almaz-host.ml, 1 @@ -10040,11 +10119,10 @@ almost.fit, 1 almost.gq, 1 almostobjective.com, 1 almouyasser.com, 1 -almufawd.ma, 1 almusbahperfume.com, 1 almut-zielonka.de, 1 almutawapharmacies.com.kw, 1 -almworks.com, 0 +almworks.com, 1 almx.net, 1 alnaharnews.net, 1 alng.me, 0 @@ -10080,6 +10158,7 @@ alonsoluzgas.es, 1 alonuocsuoi.com, 1 aloo.ga, 1 aloomic.com.au, 1 +alopezlawfirm.com, 1 aloplay.io, 1 alorimusic.es, 1 aloris-controle.fr, 1 @@ -10131,6 +10210,7 @@ alpha-centauri.tk, 1 alpha-force.net, 0 alpha-ink.de, 1 alpha-kamera.de, 1 +alpha-shop.gr, 1 alpha.ch, 1 alphaagency360.com, 1 alphaassurances.com, 1 @@ -10185,7 +10265,7 @@ alphazure.co.uk, 1 alphazure.com, 1 alphimedia.com, 1 alphipneux.fr, 1 -alphline.com.sg, 0 +alphline.com.sg, 1 alphonso.tv, 1 alphotelmilano.it, 1 alpina-farben.de, 1 @@ -10332,7 +10412,9 @@ altes-sportamt.de, 1 altesses.eu, 1 alteva.services, 1 althacare.com, 0 +altharis.net, 1 althaus24.de, 1 +altheaarg.com.ar, 1 althi.nl, 1 althistory.ga, 1 alti-global.com, 1 @@ -10377,7 +10459,6 @@ altos.tk, 1 altospam.net, 1 altovoltaggio.tk, 1 altoweb.tk, 1 -altphotos.com, 1 altralamezia.tk, 1 altramarsala.tk, 1 altransport.ca, 1 @@ -10458,6 +10539,7 @@ alwayshowher.tk, 1 alwayslookingyourbest.com, 1 alwaysmine.fi, 1 alwayspoweryoga.com, 1 +alwaysyouapp.com, 1 alwin.io, 1 alwistra.eu, 1 alwuz.com, 1 @@ -10518,6 +10600,7 @@ amaeruinc.com, 1 amaforro.com, 1 amagdic.com, 1 amagical.net, 0 +amagiswap.com, 1 amagraduates.tk, 1 amagroup.io, 1 amagzine.com, 1 @@ -10635,6 +10718,7 @@ amberalert.gov, 1 amberba.tk, 1 ambercaravalho.com, 1 amberddesign.com, 1 +amberesdetective.be, 1 amberhouse.cf, 1 amberhouse.ga, 1 amberhouse.gq, 1 @@ -10687,11 +10771,15 @@ amcham.mk, 0 amcharts.com, 1 amchronicle.com, 1 amcs.website, 0 +amd-agro.ru, 1 amdelisi.tk, 1 amdental.lv, 1 amdiagnostic.com, 1 +amdiagnostics.co.nz, 1 amdiagnostics.com.au, 1 +amdiagnostics.net.au, 1 amdm.ru, 1 +amdmedical.com.au, 1 amdrumors.com, 1 amdukis-bordercollies.tk, 1 amebavirtual.tk, 1 @@ -10708,6 +10796,7 @@ ameen.tech, 1 ameenaccounting.co.za, 1 ameeradubai.com, 1 amees.me, 0 +amefrec.co.jp, 1 ameho.me, 0 ameisenbaer.tk, 1 amelanchiers.tk, 1 @@ -10717,6 +10806,7 @@ amelielei.net, 1 amello.de, 1 amemei9f-lists.top, 1 amempire.tk, 1 +amend.co, 1 amendine.fr, 1 amendonne.fr, 1 amenfis.com, 1 @@ -10748,6 +10838,7 @@ americanbuzz.tk, 1 americancanyon.gov, 1 americancasinoguide.shop, 1 americanclimatecorps.gov, 1 +americancrane.com, 1 americandisinfectingassociation.com, 1 americandisinfectingassociation.org, 1 americandrugrehabs.com, 1 @@ -10790,6 +10881,7 @@ americorpsoig.gov, 1 ameridial.com, 1 ameriglasscontractors.com, 1 amerigroup.com, 1 +amerigrouphealthyliving.com, 1 ameriikanpoijat.org, 1 amerikanloto.tk, 1 amerikasepetim.com, 1 @@ -10822,6 +10914,7 @@ amfiteatr.tk, 1 amfora.gq, 1 amforst.ddns.net, 1 amginternational.org, 1 +amgoc.us, 1 amgreatness.com, 1 amh-entertainments.co.uk, 1 amherstwire.com, 1 @@ -10863,6 +10956,7 @@ amigosdelvalenciadeastorga.tk, 1 amigosencanada.com, 1 amigosgranada4050.tk, 1 amihousebuyers.com, 1 +amikekszunkjatek.hu, 1 amilaresort.com, 0 amilcalcados.com.br, 1 amilesportes.com.br, 1 @@ -10870,6 +10964,7 @@ amilum.org, 1 amimi.tk, 1 amimore.ru, 1 aminafrance.com, 1 +amindigital.uk, 1 amineptine.com, 1 aminfarhoodi.tk, 1 aminformatica.ml, 1 @@ -10908,6 +11003,7 @@ amitt.ga, 1 amityhealthcaregroup.com, 1 amityvillepdny.gov, 1 amitywebsitedesign.com, 0 +amiv.ch, 1 amjaadabdullah.com, 1 amjesusdespojado.tk, 1 amlakzibakenar.com, 1 @@ -10953,6 +11049,7 @@ amollare.com.br, 1 amon.tech, 1 among-us.me, 0 amongus-guru.ru, 1 +amongusmerch.co, 1 amoozesh98.ir, 1 amoralizm.tk, 1 amoramorena.blog.br, 1 @@ -10977,7 +11074,7 @@ amorymerced.tk, 1 amoryurgentcare.com, 1 amos.ovh, 1 amosca.tk, 1 -amotarget.com, 1 +amotarget.com, 0 amotive.shop, 1 amoursucre.com, 1 amoxicillin-500mg.ga, 1 @@ -11081,6 +11178,7 @@ amuq.net, 1 amur-news.net, 1 amur-photo.ml, 1 amur.tk, 1 +amusa.cl, 1 amush.vip, 1 amvip9.com, 1 amvisor.com, 1 @@ -11099,6 +11197,7 @@ amyred.net, 1 amyria.jp, 1 amyrussellhair.com, 1 amyshao.cn, 1 +amysnotdrunk.com, 1 amytuarez.ga, 1 amytuarez.gq, 1 amytuarez.ml, 1 @@ -11387,6 +11486,7 @@ andreaskluge.eu, 1 andreaskrasa.com, 1 andreaslicht.nl, 1 andreasolsson.se, 1 +andreatedeschi.it, 1 andrecanuto.com.br, 1 andrecarvalho.net.br, 1 andredaus.com, 1 @@ -11403,7 +11503,6 @@ andremaciel.pt, 1 andremalraux.com, 1 andrematosband.tk, 1 andreoliveira.io, 1 -andreotti-furniture.com, 1 andrepicard.de, 1 andresbandb.tk, 1 andrescuartas.tk, 1 @@ -11549,6 +11648,7 @@ andyvandermeyde.tk, 1 andywalkeronline.tk, 1 andywilliamsonline.tk, 1 andzia.art.pl, 1 +aneclab.cz, 1 anecuni-club.com, 1 anecuni-rec.com, 1 anedot-sandbox.com, 1 @@ -11579,7 +11679,6 @@ anewlife.it, 1 anewperspectiveconstruction.com, 1 anex.us, 1 anexperimentedblog.tk, 1 -anextraordinaryday.net, 1 anfadern.com, 1 anfieldbc.co.uk, 1 anfilada.info, 1 @@ -11593,6 +11692,7 @@ angel-jrk.com, 1 angel-wing.jp, 1 angela.baby, 1 angelaheck.com, 1 +angelal.cc, 1 angelalombardo.it, 1 angelarellano.tk, 1 angelbridge.jp, 1 @@ -11656,6 +11756,7 @@ angisonline.cz, 1 angkapaito.net, 1 angkasa.net.id, 1 anglarsports.com, 1 +angleformation.com, 1 angleline.cn, 1 anglersconservation.net, 1 anglertanke.de, 1 @@ -11758,6 +11859,9 @@ animan.ca, 1 animanganetwork.tk, 1 animaproduksiyon.com.tr, 1 animari.at, 1 +animari.ch, 1 +animari.de, 1 +animari.eu, 1 animasencia.tk, 1 animashka.tk, 1 animataz.ga, 1 @@ -11935,6 +12039,7 @@ annadebrux.ml, 1 annaenemma.nl, 1 annafiore.com.br, 1 annainstitute.org, 1 +annalaudel.gallery, 1 annaleon.tk, 1 annalisefashion.ga, 1 annalouise.tk, 1 @@ -12092,6 +12197,7 @@ ansgarsonntag.de, 1 anshar.eu, 1 anshdigiinfoways.com, 1 anshlag.co.il, 1 +anshulg.com, 1 ansibeast.net, 1 ansichtssache.at, 1 ansoffmatrix.com, 1 @@ -12244,6 +12350,7 @@ antiformiche.it, 1 antifraud.cf, 1 antifraudcentre-centreantifraude.ca, 1 antifurti.roma.it, 1 +antigenselftest.com.au, 1 antigravity.cf, 1 antihelp-tomsk.tk, 1 antihistory.cf, 1 @@ -12292,6 +12399,7 @@ antistate.ch, 1 antistatik.tk, 1 antisystem.tk, 1 antitabak.tk, 1 +antitarlo.it, 1 antiuser.tk, 1 antiva.uk, 1 antivandal.tk, 1 @@ -12437,7 +12545,9 @@ anysec.net, 1 anyshapemusic.com, 1 anyshow.ga, 1 anystack.xyz, 1 +anythingforsports.com, 1 anytimefitness.co.in, 1 +anytimefitness.nl, 1 anytimefundingers.ga, 1 anytimefundingest.ga, 1 anytimeoffices.ga, 1 @@ -12475,6 +12585,7 @@ aoil.gr, 1 aojf.fr, 1 aok.network, 1 aokae.com, 1 +aoku3d.com, 0 aolcollege.com, 1 aomar-mohammedi.tk, 1 aomeikey.org, 0 @@ -12503,6 +12614,7 @@ aotearoaleaks.org, 0 aotech.tw, 1 aotopo.com, 1 aova.loan, 1 +aoyadaily2024.com, 1 aoyagi-farm.jp, 1 aoyama-azabu-dc.com, 1 aoyamacc.co.jp, 1 @@ -12536,6 +12648,7 @@ apartmentregister.com.au, 1 apartments-promajna.tk, 1 apartments.co.nz, 1 apartrentrotterdam.nl, 1 +apartyakamoz.com, 1 apatransport.com, 1 apbassettsolicitors.co.uk, 1 apbforum.tk, 1 @@ -12547,12 +12660,12 @@ apcdistri.com, 1 apcmc.pt, 1 apcomputersciencetutoring.com, 1 apcoworldwide.com, 1 +apcw.org, 1 apdfawl.com, 0 apdigital.tech, 1 apdtalents.org.tw, 1 apea.com, 1 apec.fr, 1 -apecsustain.com, 1 apedreira.com, 1 apef.ch, 0 apefrog.tk, 1 @@ -12617,6 +12730,7 @@ api-agri.ga, 1 api-bitrefill.com, 1 api-hany.cf, 1 api.biz.tr, 1 +api.loan, 1 api.lookout.com, 1 api.org.tr, 1 api.recurly.com, 1 @@ -12647,6 +12761,7 @@ apils.org, 1 apimon.de, 1 apimoveisorocaba.com.br, 1 apinat.de, 1 +apination.com, 1 apio.systems, 1 apiora.ru, 1 apiordie.com, 1 @@ -12722,6 +12837,7 @@ apoioterapeutico.com, 1 apokalipsis.tk, 1 apola.best, 1 apolitical.co, 1 +apolloautopecas.com.br, 1 apollocare.com, 1 apollodiet.com, 1 apollogames.cz, 1 @@ -12930,6 +13046,7 @@ appointible.com, 1 appointment.ga, 1 apponic.com, 1 apponline.com, 1 +appopay.com, 1 apppage.net, 1 appperformance.com.br, 1 appraf.com, 1 @@ -13183,6 +13300,7 @@ ar-vernet.fr, 1 ar.al, 1 araadvocats.net, 1 arab-drama.tv, 1 +arab-dream.net, 1 arab-romance.tk, 1 arab1info.cf, 1 arabakiralama.name.tr, 1 @@ -13232,7 +13350,6 @@ aral.ml, 1 araluenvalleyhotel.ga, 1 aralun.net, 1 aralys.com, 1 -aramega.com, 1 aramido.de, 1 aramleisure.com, 1 aramyayinevi.com, 1 @@ -13287,6 +13404,7 @@ arboleda-hurtado.com, 1 arbolesdenavidad.info, 1 arbolesdenavidad.site, 1 arbophil.fr, 1 +arboreall.com, 0 arborio.com.ua, 1 arboristadvice.com, 1 arboristic.de, 1 @@ -13370,6 +13488,7 @@ archivi.ddns.net, 0 archivistas.tk, 1 archivium.biz, 1 archivonacional.go.cr, 1 +archivosstl.com, 1 archiweb.pl, 0 archlinux.de, 1 archlinux.org, 1 @@ -13385,6 +13504,7 @@ arclookup.com, 1 arcloud.com.tw, 1 arcloudaccess.click, 1 arcmarine.eu, 1 +arco.lu, 1 arcobalabs.ca, 1 arcogb.co, 1 arcoidaho.gov, 1 @@ -13687,7 +13807,9 @@ arkhangelsk.tk, 1 arkholmevillage.ml, 1 arkhvoid.xyz, 1 arkin.nl, 1 +arklow.io, 0 arkm6.gq, 1 +arknetglobal.com, 1 arknights.work, 0 arknodejs.com, 1 arkomaok.gov, 1 @@ -13854,6 +13976,7 @@ aronra.com, 1 aroofing.net, 1 aroonchande.com, 0 arooshi.website, 1 +aros.pl, 1 arose.io, 1 arosoft.se, 1 arounddeal.com, 1 @@ -13927,7 +14050,6 @@ arshfollower.com, 1 arshia.cf, 1 arshidazarine.tk, 1 arshina.su, 0 -arshistorica.it, 1 arsindecor.com, 1 arsingh.com, 1 arsk1.com, 1 @@ -14282,7 +14404,6 @@ as203145.com, 1 as204830.net, 1 as204982.net, 1 as205794.net, 1 -as205941.net, 1 as207618.net, 1 as207960.net, 1 as209245.net, 1 @@ -14372,6 +14493,7 @@ ascolibasi.tk, 1 ascom.vi.it, 1 ascopeshipping.co.uk, 1 ascore.io, 1 +ascormovies.com, 1 ascpaphilatelie.eu, 1 ascultaonlineradio.ml, 1 asd.gov.au, 0 @@ -14385,7 +14507,6 @@ asecus.ch, 1 aseelanimalhealth.com, 1 asegem.es, 1 aseglobal.com, 0 -aseishika.com, 1 aseith.com, 1 aselectionoffice.gov, 1 aselo.org, 1 @@ -14401,7 +14522,7 @@ asesinosdeltarot.tk, 1 asesoresvaro.com, 1 asesorialigorred.es, 1 asessiglo21.es, 1 -asesuisa.com, 0 +asesuisa.com, 1 aset.fi, 1 aseuro.in, 1 asexualitat.cat, 1 @@ -14429,6 +14550,7 @@ ashcombe.surrey.sch.uk, 1 ashd1.goip.de, 1 ashd2.goip.de, 1 ashd3.goip.de, 1 +ashdodenglish.com, 1 ashemaletubeplus.com, 1 ashenc.gov, 1 ashenm.ml, 1 @@ -14582,6 +14704,7 @@ askollelectric.bg, 1 askpam.ai, 1 asktanzania.com, 1 askthosewhoknow.org, 1 +askui.com, 1 askva.org, 1 askvg.com, 1 askwhy.cz, 1 @@ -14752,6 +14875,7 @@ assistentesanitario.it, 1 assistenza.ca, 1 assistenzaferrodastiro.org, 1 assistenzafrigorifero.org, 1 +assistenzamedica.it, 1 assistenzamicroonde.org, 1 assistere-a-casa.it, 1 assistere-a-domicilio.it, 1 @@ -14778,6 +14902,7 @@ assumptionla.gov, 1 assumptionoep-la.gov, 1 assurance-emprunteur.bzh, 1 assurances-brg.com, 1 +assurances-kieffer.fr, 1 assured.se, 0 assuredallies.com, 1 assuredspc.com, 1 @@ -14805,6 +14930,7 @@ astarfrommosul.cf, 1 astarfrommosul.ga, 1 astarfrommosul.ml, 1 astariafashion.co.uk, 1 +astarmathsandphysics.com, 1 astateoftrance.tk, 1 asteelflash.com, 0 astekbet.com, 1 @@ -15339,6 +15465,7 @@ attitudes-bureaux.fr, 1 attivazioneveloce.it, 1 attivonetworks.com, 1 attlane.fr, 1 +attly.cn, 1 attoch.org, 1 attogtech.com, 1 attorneybiographies.ga, 1 @@ -15377,7 +15504,7 @@ atyourscreen.events, 1 atypicom.es, 1 atypicom.it, 1 atypicom.pt, 1 -atypics.fr, 0 +atypics.fr, 1 atyuan.me, 1 atyuan.one, 1 atyum.com, 0 @@ -15475,9 +15602,11 @@ audioslave.tk, 1 audiotrace.tk, 1 audiovisualmurciano.tk, 1 audisto.com, 1 +audit.gov.ly, 1 audit.one, 1 audit.ovh, 1 audit.tw, 1 +auditemmen.nl, 1 auditeorganum.cz, 1 auditingfirm.tk, 1 audition-radio.tk, 1 @@ -15528,6 +15657,7 @@ augustaky.gov, 1 augustanews.tk, 1 augustascribes.com, 1 augustiner-kantorei-erfurt.de, 1 +augustiner-kantorei.de, 1 auk.hopto.org, 1 aukanaw.tk, 1 aukaraoke.su, 1 @@ -15579,7 +15709,7 @@ auralia.cloud, 1 auralia.net, 1 auraliafirst.com, 1 auraliamusic.com, 1 -auralinna.blog, 0 +auralinna.blog, 1 aurantis.it, 1 aurantis.nl, 1 aurbrowser.tk, 1 @@ -15674,15 +15804,15 @@ aussiemilfs.com, 1 aussieofficefitout.com.au, 1 aussieservicedown.com, 1 aussiesmostlifted.com.au, 1 +aussiesnus.com, 1 aussiestoresonline.com, 0 austagencies.com.au, 1 austbrokers.com.au, 1 austcm.com.au, 1 austenplumbing.com, 1 austercita.tk, 1 -austickcarremoval.com.au, 0 +austickcarremoval.com.au, 1 austillconstruction.com, 1 -austin-security-cameras.com, 1 austinbestdjs.com, 1 austincardiac.com, 1 austincosmetic.com, 1 @@ -15753,7 +15883,7 @@ authic.io, 0 authinfo-bestellen.de, 1 authinity.com, 0 authland.com, 1 -author-it.com, 0 +author-it.com, 1 author24.info, 1 authorbriannamacmahon.com, 1 authorise.computer, 1 @@ -15777,6 +15907,8 @@ auto-anleitung.de, 1 auto-arsenal.tk, 1 auto-borse.tk, 1 auto-delchev.com, 1 +auto-ecole-du-tursan.fr, 1 +auto-ecole-remparts.fr, 1 auto-graph.eu, 1 auto-help.tk, 1 auto-i-dat.ch, 1 @@ -15915,7 +16047,9 @@ autologix.io, 1 automa.biz, 1 automaatic.com, 1 automagischeberegening.nl, 1 +automaq.com.py, 1 automastercastlerock.com, 1 +automatecodes.com, 1 automaticagarage.it, 1 automationlab.it.com, 1 automationpro.me, 1 @@ -15929,6 +16063,7 @@ automecanicagalegos.pt, 1 automekano.com, 0 automekbromma.se, 1 automiata.de, 1 +automir.online, 1 automizor.io, 1 automobile-detail.com, 1 automobile-propre.com, 0 @@ -16169,6 +16304,7 @@ autosupirkimas.tk, 1 autosynthetix.com, 1 autoteplo.org, 1 autoterminus-used.be, 0 +autotim.de, 1 autotimez.com, 1 autotitleloansnu.ga, 1 autoto.hr, 1 @@ -16321,6 +16457,7 @@ avdagic.net, 1 ave.zone, 1 aveamcorp.com, 1 aveapps.com, 0 +aveburybeds.com, 1 aveclunettesoleil.fr, 1 avecsans.studio, 1 avedesk.org, 0 @@ -16340,6 +16477,7 @@ avengehub.com, 1 avengepet.eu.org, 1 avengersonline.ml, 1 avengersonlinemovie.ga, 1 +avenida7.com, 1 avenir-now.at, 1 avenir-now.ch, 1 avenir-now.com, 1 @@ -16405,6 +16543,7 @@ aviations-engineering.tk, 1 aviationsafetywiki.org, 1 aviationstrategies.aero, 1 aviationstrategy.aero, 1 +aviationweather.gov, 1 aviationzone.tk, 1 avibirds.com, 1 avicena.al, 1 @@ -16419,7 +16558,6 @@ avif.tf, 1 avilatinoamerica.com, 1 avilauto.net, 1 aviles.com.sv, 1 -avinade.com, 1 avinguard.com, 1 avinilo.com, 1 avinode.com, 1 @@ -16508,6 +16646,7 @@ avsd01.com, 1 avstack.io, 1 avstekla.ru, 1 avt-ukraine.com, 1 +avtechno.ru, 1 avtecmedia.com, 0 avto-bazar.tk, 1 avto-signal.cf, 1 @@ -16517,7 +16656,7 @@ avto-signal.ml, 1 avtochip.tk, 1 avtodoki.tk, 1 avtodot.tk, 1 -avtoforex.ru, 0 +avtoforex.ru, 1 avtogara-isperih.com, 1 avtojurist.ml, 1 avtojurist.tk, 1 @@ -16584,6 +16723,7 @@ awawawawawawawawawawawawawawawawawawawawawawawawawawawawawawaw.gay, 1 awaybot.com, 1 awaygroundguide.com, 1 awayword.cf, 1 +awconsulting.com.sg, 1 awebsome.fr, 1 awei.pub, 1 awena.me, 1 @@ -16635,7 +16775,7 @@ awxg.eu.org, 1 ax.ax, 1 ax.mk, 1 ax4health.nl, 1 -axa-mandiri.co.id, 0 +axa-mandiri.co.id, 1 axa.ch, 1 axa.de, 1 axarobd.com, 1 @@ -16724,6 +16864,7 @@ axon.link, 1 axoncoho.tk, 1 axone-computers.fr, 0 axonholdingse.eu, 1 +axonshield.com, 1 axre.de, 1 axrec.de, 1 axsc.ca, 1 @@ -16739,6 +16880,7 @@ axxess-marine.com, 1 axxial.tk, 1 axyl.cloud, 1 axzq.com, 1 +ay-daily.com, 1 ay-net.jp, 1 ay-tour.ru, 1 ayabank.us, 1 @@ -16782,6 +16924,7 @@ aylesburycastlehire.co.uk, 1 aylett.co.uk, 1 ayltoninacio.com.br, 1 aymerick-dupouey.fr, 1 +aymericlagier.com, 1 aymhome.top, 0 ayon-games.tk, 1 ayothemes.com, 1 @@ -16896,6 +17039,7 @@ azairline.com, 1 azaleos.com, 1 azalhavayolu.com.tr, 1 azallon.com.br, 1 +azapp-vvv-program-api-dev.azurewebsites.net, 1 azaria.blog, 1 azarkepic.com, 1 azartmania.ga, 1 @@ -16926,6 +17070,7 @@ azeronline.tk, 1 azertyjobs.com, 1 azey.net, 1 azfreaks.tk, 1 +azgaragedoorsrepair.com, 1 azh-kunden.de, 1 azhamevents.com, 1 azhapasa.com, 1 @@ -17144,6 +17289,7 @@ b88vip9.com, 1 b8a.me, 1 b9168.com, 0 b9297.co, 1 +b9498.com, 1 b9586.net, 1 b9588.net, 1 b95888.net, 1 @@ -17302,6 +17448,7 @@ babyprice.fr, 0 babysafety.tk, 1 babyscripts.com, 1 babysdishes-bowls.tk, 1 +babysets.eu, 1 babyshopsupport.com.au, 1 babyshower.cf, 1 babysiti.hopto.org, 1 @@ -17444,6 +17591,7 @@ badaniebezdechu.pl, 1 badanteinfamiglia.it, 1 badaparda.com, 1 badass-women.club, 1 +badass.software, 1 badassdallascondo.com, 1 badassfantastico.tk, 1 badbee.cc, 1 @@ -17588,6 +17736,7 @@ bai-bao.fr, 1 baic-versicherung.de, 1 baichi.cf, 1 baichi.ml, 1 +baier-michels.com, 1 baif.hr, 1 baifubao.com, 1 baikal-news.net, 1 @@ -17672,13 +17821,14 @@ bakersafari.co, 1 bakersfieldhomeoffer.com, 1 bakerviewdentalcentre.com, 1 bakerymazowsze.co.uk, 1 -bakesy.shop, 0 +bakesy.shop, 1 bakeup.be, 1 bakibal.com, 1 bakingbydonna.com, 1 bakivaxti.az, 1 bakkerij-janschrieks.nl, 1 bakkerinjebuurt.be, 1 +bakkerpanden.nl, 1 bakkersmolen.tk, 1 bakkerstraatfeesten.tk, 1 bakkt.com, 1 @@ -17731,6 +17881,7 @@ balaskas.gr, 1 balatonlelleapartman.tk, 1 balboa.io, 1 balboa.org.uk, 1 +balboacapital.com, 1 balbus.tk, 1 balca.ga, 1 balcaonet.com.br, 1 @@ -17802,6 +17953,7 @@ ballotapi.com, 1 ballotaudit.com, 1 ballpythonsaspets.com, 1 ballrace.ph, 1 +ballroompages.com, 1 ballstonspa.gov, 1 balluncar.tk, 1 ballweg-tech.de, 1 @@ -17933,11 +18085,13 @@ bandymasarna.tk, 1 baneh-academic.com, 1 banehunter.com, 0 banerka.tk, 1 +banes-lab.com, 1 banes.ch, 1 banfieldentertowin.com, 0 banfieldtravel.it, 1 banfun.org, 1 bangabandhu.tk, 1 +bangandscrew.com, 1 bangbangboys.tk, 1 bangberlin.tk, 1 bangbros.com, 1 @@ -18151,7 +18305,6 @@ bardes.org, 1 bardfarm.org, 1 bardian.net, 1 bardian.org, 1 -bardiharborow.com, 1 bardoferry.com, 1 bardtech.com, 1 barduschinamusic.org, 1 @@ -18176,6 +18329,7 @@ bargroup.ga, 1 barhan-sarykum.ru, 1 bari.fun, 1 bariatricassociates.com, 1 +bariatrik.ro, 1 barihandin.tk, 1 barikell.be, 1 barinasknot.tk, 1 @@ -18279,6 +18433,7 @@ bart-f.com, 1 bart-f.net, 1 bart1ebee.com, 1 bartal.org, 1 +bartalomej.de, 1 bartavi.nl, 1 bartbania.com, 1 bartcoppens.be, 1 @@ -18326,6 +18481,7 @@ base-radio.cf, 1 base-ui.com, 1 base27.eu, 0 base2face.tk, 1 +base48.systems, 1 basebalance.net, 1 baseballcrank.com, 1 baseballjapan.org, 1 @@ -18410,6 +18566,7 @@ basketball-malavan.tk, 1 basketballforever.com, 1 basketballnewz.tk, 1 basketforex.com, 1 +basketglucholazy.pl, 1 basketsandmore.bg, 1 basketskenya.com, 1 baskingalkin.tk, 1 @@ -18519,7 +18676,7 @@ bathroomsinkcabinet.tk, 1 bathscobensraker.ga, 1 bati-alu.fr, 1 bati-consult.fr, 1 -batiburrillo.net, 1 +batiburrillo.net, 0 batiim.co.il, 1 batipiscine.com, 1 batipresta.ch, 0 @@ -18563,6 +18720,7 @@ battlerealms.cc, 1 battlerite.tk, 1 battletech.tk, 1 battletrades.net, 1 +battoota.ma, 1 battreil.tk, 1 batualam88.id, 1 batualam88.online, 1 @@ -18720,6 +18878,7 @@ bazarfds.com.br, 1 bazarotehijos.com, 1 bazarow.ru, 0 bazdell.com, 0 +bazdidaval.ir, 1 baze.cz, 1 bazel.build, 1 bazhan.wang, 1 @@ -18742,6 +18901,7 @@ bb9297.co, 1 bb9728.co, 1 bbaccademia.it, 1 bbalposticino.it, 1 +bbamsch.com, 0 bbansw.asn.au, 1 bbb00.com, 1 bbb1991.me, 0 @@ -18781,6 +18941,7 @@ bblsa.ch, 0 bbmagnagrecia.it, 0 bbmak.tk, 1 bbmri.fi, 1 +bbmsarauniteam.com, 1 bbnx.net, 1 bbox.org, 1 bbp.ng, 1 @@ -18922,6 +19083,7 @@ be-craft.de, 1 be-free.gq, 1 be-real.life, 0 be-sigsol.fr, 1 +be-tech.nl, 1 be-the-story.com, 1 be-up-developpement.com, 1 be-wear.ch, 1 @@ -19004,6 +19166,7 @@ beanjuice.me, 1 beansgalore.com.au, 0 beanshencr.com, 1 beaoriflame.hu, 1 +bearblinds.com.au, 1 bearcloud.id.lv, 1 bearcosports.com.br, 1 bearcreekcubschildcare.com, 0 @@ -19045,7 +19208,6 @@ beatmalaria.org, 1 beaton.tk, 1 beatquantum.com, 1 beatrice-nightscout.herokuapp.com, 1 -beatrice-raws.org, 1 beatricedailysun.com, 1 beatriz-urbano-vega.tk, 1 beatrizaebischer.ch, 0 @@ -19120,6 +19282,7 @@ beautyoverture.com, 1 beautyqlick.com, 1 beautyschool.od.ua, 1 beautyspot.tk, 1 +beautystudio-linda.com, 1 beautytechpro.ro, 1 beautytherapies.gr, 1 beautywien.at, 1 @@ -19176,6 +19339,7 @@ bebra.io, 1 bebra.loan, 1 bebra.lu, 1 bebra.ms, 1 +bebra.pw, 1 bebrenok.trade, 1 bebrev.trade, 1 bebrik.men, 1 @@ -19204,6 +19368,7 @@ beckylicious.tk, 1 beclan.tk, 1 becleverwithyourcash.com, 1 beclick.co.il, 1 +becoairandheat.com, 1 becollective.com, 1 become-lucky.com, 1 become.education, 1 @@ -19355,6 +19520,7 @@ beeweighed.co.uk, 1 beezkneezcastles.co.uk, 1 beeznest.com, 1 befantasy.tk, 1 +befaster.fit, 1 beffeet.com, 1 befoodsafe.gov, 1 beforeafter.gq, 1 @@ -19502,6 +19668,7 @@ belfastjujitsu.tk, 1 belfastlocks.com, 1 belfasttechservices.co.uk, 1 belfix.be, 1 +belflex.com, 1 belfor-probleme.de, 1 belga.tk, 1 belge.rs, 1 @@ -19544,6 +19711,7 @@ belizean.com, 1 belizemap.tk, 1 belk.io, 1 belki.tk, 1 +belkinmarketing.com, 1 belknapcounty.gov, 1 belkys.net, 0 bell-meet.de, 1 @@ -19877,6 +20045,7 @@ bepxl.art, 1 bepzi.com, 1 bequ1ck.com, 1 bequiia.com, 1 +berakal.com, 1 beran.tk, 1 berandalcorp.tk, 1 beranovi.com, 1 @@ -19998,6 +20167,8 @@ bernardwatch.com, 1 bernat.ch, 1 bernat.im, 1 bernayslab.com, 1 +bernbrucher.com, 1 +bernbrucher.de, 1 berncoclerk.gov, 1 bernd-leitner-fotodesign.com, 1 bernd-leitner-fotodesign.de, 1 @@ -20159,6 +20330,7 @@ bestaction.tk, 1 bestads.co.il, 1 bestafricaradio.tk, 1 bestallgames.com, 1 +bestapptools.com, 1 bestarts.tk, 1 bestasquadradas.org, 1 bestastrologermohali.in, 1 @@ -20174,6 +20346,7 @@ bestbatteriesonline.com, 1 bestbernedoodles.com, 1 bestbestbitcoin.com, 1 bestbetcasino.com, 1 +bestbets.today, 1 bestbonuses.co.uk, 1 bestbookmark.cf, 1 bestbookmark.gq, 1 @@ -20503,8 +20676,9 @@ bet333666.com, 1 bet333678.com, 1 bet333789.com, 0 bet333h.com, 1 -bet333n.com, 0 +bet333n.com, 1 bet333r.com, 0 +bet333w.com, 0 bet333x.com, 1 bet333y.com, 1 bet333z.com, 0 @@ -20687,7 +20861,7 @@ betseybuckheit.com, 1 betsfortoday.com, 1 betshoot.com, 1 betsonlinefree.com.au, 1 -betspin.com, 0 +betspin.com, 1 betsquare.com, 1 betstop.gov.au, 1 bett1.at, 1 @@ -20749,6 +20923,7 @@ bettingmalaysia.online, 1 bettingonaverage.com, 1 bettingphilippines.online, 1 bettolinokitchen.com, 0 +betty-baloo.com, 1 bettyblue.tk, 1 bettysseafoodshack.com, 1 betulashop.ch, 1 @@ -20771,7 +20946,6 @@ betwinner1.com, 1 betwinner2.com, 1 betwinner5.mobi, 1 betwinnerkenya.com, 1 -betwinnermobileapp.com, 1 betwinnernigeria.com, 1 betwinnerperu.com, 1 betwinnerportugal.com, 1 @@ -20907,6 +21081,7 @@ bezpaliuk.com, 1 bezpecnostsiti.cf, 1 bezpieczny.pl, 1 bezpiecznyiphone.pl, 1 +bezposrednio.net.pl, 1 bezpredel.tk, 1 bf2statistics.eu, 1 bfam.tv, 1 @@ -21006,6 +21181,7 @@ bhserralheria.com.br, 1 bhsportugal.org, 1 bhtechconnection.com, 0 bhtelecom.ba, 1 +bhtvn.com, 1 bhub.tk, 1 bhuntr.com, 1 bhuttae.com, 1 @@ -21062,6 +21238,7 @@ bibitec.de, 1 bible-maroc.com, 1 bible4u.net, 1 biblebrainhealth.com, 1 +bibleflare.com, 1 bibleforchildren.ru, 1 biblegen.com, 1 bibleinsiderest.ga, 1 @@ -21194,6 +21371,7 @@ biewen.me, 0 bifangknt.com, 1 bifatura.com.tr, 1 biflosgknm.tk, 1 +biforthepeople.de, 1 bifrostdk.dk, 1 bifrostwallet.com, 1 biftin.net, 1 @@ -21307,7 +21485,7 @@ bigopr.com, 1 bigorangelab.com, 1 bigpage.tk, 1 bigpanparties.co.uk, 1 -bigphilsrubbishremoval.com, 1 +bigphilsrubbishremoval.com, 0 bigpicturerecords.com, 1 bigpurse.tk, 1 bigrapidstownshipmi.gov, 1 @@ -21436,6 +21614,7 @@ biletyplus.ru, 1 biletyplus.ua, 1 bilexmoney.com, 1 bilgehan.net, 1 +bilgemedikal.com, 1 bilgiliksel.com, 1 bilgisayarkursu.tk, 1 bilgisoft.ir, 1 @@ -21459,6 +21638,7 @@ billa.at, 1 billa.bg, 1 billa.sk, 1 billaltermatt.com, 1 +billardessentials.com, 1 billaud.eu, 1 billaud.eu.org, 1 billboard-panama.ml, 1 @@ -21627,6 +21807,7 @@ bio-feed.org, 1 bio-kertem.hu, 1 bio-medical.com, 1 bio-place.com, 1 +bio-plus.cz, 1 bio-verzeichnis.de, 1 bio-world.com, 1 bio24.si, 0 @@ -21915,6 +22096,7 @@ bisrockonline.tk, 1 biss-hcai.ca, 1 bissalama.org, 1 bisschopssteeg.nl, 1 +bissingen.de, 1 bissokush.cf, 1 bistro-dengi.ml, 1 bistrodeminas.com, 1 @@ -22042,9 +22224,11 @@ bitgarant.tk, 1 bitgo.com, 1 bithawk.ch, 1 bithero.com, 1 +bithosting.pt, 1 bititrain.com, 1 bitix.tk, 1 bitjunkiehosting.com, 1 +bitkan.com, 1 bitkikoruma.com, 1 bitking-signals.com, 1 bitkiselreyonum.com, 1 @@ -22068,12 +22252,14 @@ bitmexin.com, 1 bitmidi.com, 1 bitmine.gq, 1 bitmix.biz, 1 +bitmoe.com, 1 bitmoji.com, 1 bitms.tk, 1 bitname.it, 1 bitnoder.com, 1 bitnoise.nl, 1 bitnovo.com, 1 +bito.ai, 1 bito3d.com.br, 1 bitovayatehn.tk, 1 bitpod.de, 1 @@ -22106,6 +22292,7 @@ bitstage.uk, 1 bitstorm.org, 1 bitsync.nl, 1 bitten.pw, 1 +bittentechsolutions.in, 1 bittersweetcandybowl.com, 1 bittervault.xyz, 1 bitti.africa, 1 @@ -22191,6 +22378,7 @@ bizstarter.cz, 1 bizsugar.ga, 1 bizteam.ga, 1 biztera.com, 1 +biztok.eu, 1 biztouch.work, 1 biztrend.ru, 1 bizuteria-laoni.tk, 1 @@ -22202,9 +22390,11 @@ bizword.ru, 1 bizzexpress.com, 1 bizzix.tk, 1 bizzseo.tk, 1 +bizztor.com, 1 bizzvisor.site, 0 bj-caffe.tk, 1 bja.gov, 1 +bjargradakerfi.is, 1 bjarnerest.de, 0 bjarno.xyz, 1 bjbybbs.com, 1 @@ -22359,7 +22549,6 @@ bkin-42740.xyz, 1 bkin-43450.xyz, 1 bkin-46680.xyz, 1 bkk24.de, 1 -bkkf.at, 1 bkkposn.com, 1 bklaindia.com, 1 bkli.me, 1 @@ -22411,6 +22600,7 @@ black-friday.org.il, 1 black-ghost.tk, 1 black-goldautokozmetika.hu, 1 black-hair-extension.tk, 1 +black-holes.org, 1 black-magic-love-spells.com, 1 black-mail.nl, 1 black-market.ga, 1 @@ -22545,6 +22735,7 @@ blackspider.tk, 1 blacksport.ru, 1 blacksprut.com, 1 blacksprut.pro, 1 +blackstoneone.net, 1 blackstonepress.tk, 1 blackstonetubrefinishers.ca, 1 blackstrapsecurity.com, 1 @@ -22667,7 +22858,6 @@ blauwegeit.nl, 1 blauwereigercoaching.nl, 1 blauwgras.nl, 1 blavandbike.de, 1 -blavandbike.dk, 1 blavaty.tk, 1 blayne.me, 0 blayneallan.com, 1 @@ -22717,6 +22907,7 @@ bleuwire.com, 1 blevinstirepros.com, 1 blewebprojects.com, 1 bleyershoes.com, 1 +blheritage-tours.com, 0 blic-zajm.gq, 1 blichmann.eu, 1 blick-durchblick.com, 1 @@ -22831,6 +23022,7 @@ blockcheck.network, 1 blockcreams.com, 1 blocked.icu, 1 blockedservers.com, 1 +blockexplorer.online, 1 blockified.io, 1 blockmomsest.ga, 1 blocksettle.com, 1 @@ -22862,6 +23054,7 @@ blog.gt, 1 blog.je, 1 blog.torproject.org, 0 blog.vu, 1 +blogabout.ru, 1 blogabouthealthy.tk, 1 blogaid.net, 1 bloganchoi.com, 1 @@ -22895,6 +23088,7 @@ blogging-life.com, 1 bloggingkits.org, 1 bloggingqna.com, 1 bloggingtips.com, 1 +bloggingtriggers.com, 1 bloggingwithchildren.com, 1 bloggs.xyz, 1 blogguitar.tk, 1 @@ -22957,10 +23151,12 @@ bloody.pw, 1 bloodybiz-news.tk, 1 bloodycraft.ml, 1 bloodyhawks.tk, 1 +bloom.study, 1 bloomberg.com, 0 bloombergadria.com, 1 bloomberglp.com, 0 bloombergtv.mn, 1 +bloomfield-investment.com, 0 bloomfire.com, 1 bloomingmassage.com, 1 bloomingtonelectionsil.gov, 1 @@ -23152,6 +23348,7 @@ blumar.com, 1 blumeglobal.com, 1 blumen-pusch.de, 1 blumenbasteln.ml, 1 +blumenfeldart.com, 1 blumenversand.tk, 1 blumiges-fischbachtal.de, 0 blummedia.de, 1 @@ -23199,6 +23396,7 @@ bmak.me, 1 bmak.xyz, 1 bmbfiltration.com, 1 bmblawfirm.com, 1 +bmbsender.uk, 1 bmdonline.eu, 1 bme.com, 1 bmelecevolution.com, 1 @@ -23276,6 +23474,7 @@ bo-1xbet.com, 1 bo-rad.de, 1 bo.ke, 1 bo1689.com, 0 +bo4tracker.com, 1 boanastudio.com, 1 boaplasticsurgery.com, 1 board-portal.org, 1 @@ -23303,6 +23502,7 @@ boats.com, 0 boatsandoats.com, 1 boatseller.org, 1 boatsforveterans.org, 1 +boatsnbeds.com, 1 boattrader.com.au, 1 boattrailerpartsplace.com, 1 boatyardx.com, 1 @@ -23481,6 +23681,7 @@ bojoproductions.tk, 1 bokaldo.com, 1 bokatas.tk, 1 bokehandbows.ca, 1 +bokentau-company.kz, 1 bokf.com, 1 bokhaldari.is, 1 bokhylle.eu, 1 @@ -23615,6 +23816,7 @@ bonanzareporting.com, 1 bonanzateam.tk, 1 bonapati.tk, 1 bonapeti.ml, 1 +bonapp.restaurant, 0 bonaselect.lv, 1 bonbonka.best, 1 bonbonmania.com, 1 @@ -23680,6 +23882,7 @@ bonk.pw, 1 bonkleagues.ml, 1 bonkotsua.net, 1 bonn.digital, 1 +bonne-apart.com, 1 bonneannee.tk, 1 bonnepart.fr, 1 bonnetmoda.com, 1 @@ -23771,7 +23974,6 @@ bookmarkseo.tk, 1 bookmarkup.gq, 1 bookmarkup.ml, 1 bookmarkup.tk, 1 -bookmeee.eu, 1 booknooktutor.com, 1 bookourdjs.com, 1 bookovnica.com, 1 @@ -23843,6 +24045,7 @@ boost.ink, 1 boostdesign.tk, 1 boostenergy.com, 1 boostermachine.com, 1 +boostertonbusiness.com, 1 boostgame.win, 1 boostport.com, 1 boostport.com.au, 1 @@ -23860,6 +24063,7 @@ bootspraxis.com, 1 bootstrapcollab.com, 0 bootsverleih-buch-balduinstein.de, 1 bootswinter.tk, 1 +bootsy.org, 1 bootytube.net, 1 boozinyan.com, 1 boraarat.com, 1 @@ -23995,10 +24199,12 @@ bosprisma.com, 1 bosque.gov, 1 bosquedelasimagenes.tk, 1 bosquedepalabras.com, 0 +bosquesdevenezuela-caroni.com, 1 boss.az, 1 bossefors.tk, 1 bosseo.id, 1 bosslady.one, 1 +bossmarketing.ca, 1 bossmoncton.com, 1 bossurl.tk, 1 boston-medical-supply.com, 1 @@ -24009,6 +24215,7 @@ bostonaquariumsociety.org, 1 bostonbeer.com, 0 bostonchamber.com, 1 bostonews.tk, 1 +bostonfast.com, 1 bostonheartdiagnostics.com, 1 bostonmedicalgroup.com, 1 bostonrealestateinvestorsassociation.com, 1 @@ -24175,6 +24382,7 @@ boundaryford.com, 1 boundaryvets.co.uk, 1 boundladies.ga, 1 boundless-designs.com, 1 +boundlessmediausa.com, 1 bounouh.tk, 1 bountiful.ag, 1 bountiful.gov, 1 @@ -24223,6 +24431,7 @@ bouzalegal.com, 1 bouzouada.com, 1 bouzouks.net, 1 bovender.de, 1 +bovenwebdesign.nl, 1 bovet.com, 1 bovileva.com.ua, 1 bovomed.nl, 1 @@ -24250,6 +24459,7 @@ boxbuttecountyne.gov, 1 boxclub-marburg.de, 1 boxcoshipping.com, 1 boxcritters.wiki, 1 +boxcryptor.com, 0 boxdevigneron.fr, 1 boxdroplacrosse.com, 1 boxeldercountyut.gov, 1 @@ -24778,7 +24988,7 @@ bretcarmichael.com, 1 breteuilcommerceartisanat.com, 1 breton.pm, 1 bretonhouse.ca, 1 -bretonstripe.com, 0 +bretonstripe.com, 1 brettcornwall.com, 1 bretti.net, 1 brettlawyer.com, 0 @@ -24874,6 +25084,7 @@ bridesforacause.com, 1 bridestarco.com, 1 bridge-online.cloud, 1 bridge-to-knowledge.nl, 1 +bridge-xs.com, 1 bridge.nl, 1 bridgecitytx.gov, 1 bridgecon.com.au, 1 @@ -24984,7 +25195,7 @@ bringme.com, 1 bringonbusiness.com, 1 brinker.com, 1 brinkhaven.gov, 1 -brinkhu.is, 1 +brinkhu.is, 0 brinksurl.com, 1 brinksurls.com, 1 brinokidzonline.tk, 1 @@ -25053,6 +25264,7 @@ 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 @@ -25122,6 +25334,7 @@ brody.digital, 1 brody.ninja, 1 broe.ie, 1 broederlynt.nl, 1 +broedersvanliefde.be, 1 broerbv.nl, 0 broerendasbouwbedrijf.nl, 1 broers-rolluiken.nl, 1 @@ -25150,7 +25363,6 @@ broker-forex.it, 1 broker-innovix.pl, 1 broker.id, 1 brokerdecredite.ro, 1 -brokeria.sk, 1 brokerlink.ca, 1 brokernews.com.au, 1 brokernotes.co, 1 @@ -25355,6 +25567,7 @@ brutus2.ga, 0 bruun.co, 1 bruyerre.eu, 1 brw-shop.by, 1 +brweb.tk, 1 brwebsolutions.tk, 1 brwn.loan, 1 bryanarmijomd.com, 1 @@ -25372,6 +25585,7 @@ bryansk-news.net, 1 bryansk-news.ru, 1 bryanski.tk, 1 bryantluk.com, 1 +bryantx.gov, 1 bryceml.us, 1 bryggebladet.dk, 1 brysoncitync.gov, 1 @@ -25430,7 +25644,6 @@ bsid-clan.com, 1 bsidesf.com, 1 bsidessf.com, 1 bskhq.tk, 1 -bskmt.com, 1 bsktweetup.info, 1 bslim-e-boutique.com, 1 bslinguistics.co.uk, 1 @@ -25446,6 +25659,7 @@ bsod.wtf, 1 bsolut.com, 1 bsolut.de, 1 bsolut.org, 1 +bsp-southpool.com, 1 bspecialfx.nl, 1 bsrueti.ch, 1 bss-solutions.net, 1 @@ -25461,6 +25675,7 @@ bssolvfagen-pre-storeswa-wap.azurewebsites.net, 1 bsstainless.com, 1 bst-brandschutz.at, 1 bst-gmbh.de, 1 +bstakepool.online, 1 bsteele.tk, 1 bstger.ch, 1 bstoked.net, 1 @@ -25613,6 +25828,7 @@ buckscounty.gov, 1 bucksfund.com, 1 buckthorn.ml, 1 buda.com, 1 +budagard.se, 1 budapestairport.tk, 1 budapestairporttaxi.net, 1 budapestairporttocity.com, 1 @@ -25685,6 +25901,7 @@ budscope.com, 1 budsforbuddies.com, 1 budsmelim.ee, 1 budtraffic.net, 1 +buednerei-202.de, 1 buehlerzell.de, 1 buejagt.dk, 1 bueltge.de, 1 @@ -25761,6 +25978,8 @@ build-a-biogas-plant.com, 1 build-up.tk, 1 build.chromium.org, 1 build.gov, 1 +build.stream, 0 +buildamericaluxuryhomes.com, 0 buildbackbetter.gov, 1 buildbytes.com, 1 buildconcierge.ga, 1 @@ -25833,6 +26052,7 @@ bukpcszerviz.hu, 1 bukularis.ga, 1 bul3seas.eu, 1 bulabanews.com.ng, 1 +bulabil.tr, 1 bulagro.bg, 1 bulario.com, 1 bularmas.com, 1 @@ -25909,6 +26129,7 @@ bulutimza.com, 1 bulutimza.com.tr, 1 bulutkey.com, 1 bulvar.tk, 1 +bumag.ro, 1 bumastemra.nl, 1 bumble.com, 1 bumblebee.cf, 1 @@ -26421,7 +26642,7 @@ bussinessupport.tk, 1 bussnang.ch, 1 bussoclean.com.au, 1 busstation.tk, 1 -bustamantefabara.com, 0 +bustamantefabara.com, 1 bustaura.lt, 1 bustepaga.it, 1 buster.me.uk, 1 @@ -26478,6 +26699,7 @@ butsa.tk, 1 butserdocumentary.tk, 1 buttedesmortssd1wi.gov, 1 butter.horse, 1 +butterchat.io, 1 butterflytigress.com, 1 butterhost.ga, 1 buttermilk.cf, 1 @@ -26590,6 +26812,7 @@ buyjewel.shop, 1 buyland.com.ua, 1 buylasix.ml, 1 buylevaquin.tk, 1 +buyme.lk, 1 buymetforminonline.tk, 1 buymobic.ml, 1 buymyvoip.com, 1 @@ -26618,6 +26841,7 @@ buyrexroth.com, 1 buyrimonabant.cf, 1 buyrocell.com, 1 buyrogaine.ga, 1 +buysdfi.com, 1 buyselldonothing.com, 1 buyshine.com, 1 buyshoe.org, 1 @@ -26814,7 +27038,6 @@ byte-lab.tk, 1 byte.nl, 1 byte128.com, 0 bytebiter.io, 1 -byteblobs.com, 1 bytebodega.com, 1 bytebolt.at, 1 bytebucket.org, 1 @@ -26865,6 +27088,7 @@ bziaks.xyz, 1 bzik.cf, 1 bzjv-ffm.de, 1 bzkj.de, 1 +bznz.me, 1 bzomak.com, 1 bztech.com.br, 1 bztech.ru, 1 @@ -26876,11 +27100,14 @@ c-3po.fr, 1 c-a-c.com.au, 1 c-aeroconsult.com, 1 c-c-europeen.org, 1 +c-cdn.net, 1 +c-cdn.org, 1 c-chaud.com, 1 c-club-berlin.de, 1 c-data.nl, 0 c-dome.com, 1 c-fo.de, 1 +c-g-h.net, 1 c-ma-copro.com, 1 c-netsys.fr, 1 c-ovidiu.tk, 1 @@ -26900,6 +27127,7 @@ c.lu, 1 c.sk, 1 c.sl, 1 c.sv, 1 +c.wtf, 1 c057cl7.com, 1 c0d3m4513r.com, 1 c0mplicated.tk, 1 @@ -26922,12 +27150,14 @@ c19ivermectin.org, 1 c19ivm.org, 1 c19legacy.com, 1 c19ly.com, 1 +c19melatonin.com, 1 c19ns.com, 1 c19probiotics.com, 1 c19proxalutamide.com, 1 c19study.com, 1 c19sv.com, 1 c19vitamind.com, 1 +c19zinc.com, 1 c21first.co.il, 1 c2athletics.com, 1 c2cdn.xyz, 1 @@ -27181,7 +27411,7 @@ cafenoorderzon.tk, 1 cafeobscura.nl, 1 cafesangtao.com, 1 cafeterya.tk, 1 -cafethevibes.com, 0 +cafethevibes.com, 1 cafethrive.co.uk, 1 cafevelo.org, 1 cafevs.com, 0 @@ -27263,6 +27493,7 @@ cakedeveloperers.ga, 1 cakedeveloperest.ga, 1 cakejournal.com, 1 cakelaces.com, 1 +cakenetwork.com, 1 cakeoffencesact.uk, 1 cakes.ga, 1 cakes.tk, 1 @@ -27317,7 +27548,6 @@ calculadoratrabalhista.com, 1 calcularis.ch, 1 calculate-vat.uk, 1 calculate.co.kr, 1 -calculates.org, 1 calculatetoday.com, 1 calculator-app.com, 1 calculator.aws, 1 @@ -27409,6 +27639,7 @@ calista-directinvestors.eu, 1 calisteniaperu.ga, 1 calistogaca.gov, 1 calitateavietii-ardeal.ro, 1 +calivillalonga.com.ar, 1 call-plumbers.com, 0 call2counter.com, 0 calla.pl, 1 @@ -27642,6 +27873,7 @@ campingdewatermolen.nl, 1 campingfontanelle.it, 1 campinggadgetest.ga, 1 campinghuntingshooting.com, 1 +campingmarkt.com, 1 campingpolidor.com, 1 campingprofessionalsest.ga, 1 campingshop.pl, 1 @@ -27722,6 +27954,7 @@ canadianbic.ca, 1 canadianbusiness.com, 1 canadiancourtreporting.com, 1 canadianemail.ca, 1 +canadianfriendsofyadsarah.com, 1 canadiangamblingchoice.com, 1 canadiangriefalliance.ca, 1 canadianlandscapeart.ca, 1 @@ -27761,7 +27994,7 @@ canaria.ga, 1 canariasjoven.es, 1 canariasjoven.org, 1 canariasport.com, 0 -canaricultura.com, 1 +canaricultura.com, 0 canariculturacolor.com, 1 canarie.ca, 1 canaryaspets.com, 1 @@ -27806,6 +28039,7 @@ candlcastles.co.uk, 1 candlelightchallenge.tk, 1 candlemakingexplained.com, 1 candlepro.cf, 1 +candlevn.com, 1 cando.eu, 1 candogiveguide.org, 1 candt.gr, 1 @@ -27863,7 +28097,6 @@ cankado.com, 1 canker.org, 1 cankhon.tk, 1 cankirihaber.tk, 1 -cankutahya.com.tr, 1 canliradyodinle.fm, 1 canlitelefonhatti.ga, 1 canlom.tk, 1 @@ -27905,6 +28138,7 @@ canolatrail.com.au, 1 canondrivers.org, 1 canonisti.fi, 1 canonvannederland.nl, 1 +canoodlesoup.com, 1 canoonic.se, 1 canopelle.com, 1 canopy.ninja, 1 @@ -27945,6 +28179,8 @@ cantosdisidentes.tk, 1 cantstopart.com, 1 canuluduz.tk, 1 canv4s.com, 1 +canva-dev.com, 1 +canva.com, 1 canvas-art.tk, 1 canvaspersonalized.com, 1 canweagr.ee, 1 @@ -27972,8 +28208,8 @@ cap50.be, 1 cap73.fr, 1 cap75.com, 1 capari.co, 1 +caparicasurflessons.com, 1 caparua.com, 1 -capathsuccess.com, 1 capcut.cn, 1 cape.blue, 1 capeannvacations.com, 1 @@ -28008,6 +28244,7 @@ capimlimaoflores.com.br, 1 capitainebaggy.ch, 0 capitains.tk, 1 capital-electronics.ml, 1 +capitalcap.com, 1 capitalcitycatfish.com, 1 capitalcollections.org.uk, 1 capitaldistrictneurofeedback.com, 1 @@ -28228,7 +28465,6 @@ cardington.tk, 1 cardinus.com, 1 cardioagainstcancer.nl, 1 cardiology.gq, 1 -cardios.srv.br, 1 cardiosportsilvinadelgado.com, 0 cardiothinklab.com, 1 cardity.de, 1 @@ -28269,6 +28505,7 @@ cardozovargas.xyz, 1 cardpresso.com, 1 cardprinter.co.il, 1 cardpyramiders.ga, 1 +cardranking.jp, 1 cardrecovery.fr, 1 cards4jobs.com, 1 cardschat.com, 1 @@ -28330,7 +28567,9 @@ careshields.sg, 1 careskillsacademy.co.uk, 0 carespot.com, 1 carespottravelmedicine.mobi, 1 +carestartantigen.com.au, 1 caret.be, 1 +caretaker.com, 1 caretogether.coop, 1 carevic.eu, 1 carey.cl, 1 @@ -28357,7 +28596,7 @@ caribbean-tekton.com, 1 caribbeanbottlerstt.com, 1 caribbeancinemas.com, 1 caribuku.tk, 1 -caricature.fr, 0 +caricature.fr, 1 caricatureavenue.com, 1 carien.eu, 1 carigami.fr, 1 @@ -28505,10 +28744,9 @@ caroinstitute.cf, 1 carol-lambert.com, 1 carolcestas.com, 1 caroli.biz, 1 -caroli.com, 0 +caroli.com, 1 caroli.info, 1 caroli.name, 1 -caroli.net, 0 carolicious.tk, 1 carolina.cz, 1 carolinacourtreporter.com, 1 @@ -28668,6 +28906,7 @@ cartons-cheap.tk, 1 cartoonbrew.com, 1 cartooncastles.ie, 1 cartooncollections.com, 1 +cartoonlists.com, 1 cartoonstock.com, 1 cartoontube69.com, 1 cartoonwap.tk, 1 @@ -28684,8 +28923,10 @@ cartridgereviewsest.ga, 1 cartridgesave.co.uk, 1 cartturbo.com, 1 cartucce24.it, 1 +cartuchoonline.com.br, 1 cartunings.tk, 1 carty.bg, 1 +carun.us, 0 carunion.nl, 1 carus.com, 1 caruso.com, 1 @@ -28710,6 +28951,7 @@ casa-due-pur.com, 1 casa-due-pur.de, 1 casa-due.com, 1 casa-funerara-mirage.ro, 1 +casa-indigo.com, 1 casa-lunch-break.de, 1 casa-lunchbreak.de, 1 casa-mea-inteligenta.ro, 1 @@ -28772,6 +29014,7 @@ casasdeapuestasdeportivas.cl, 1 casasparaperross.com, 1 casasuara.com, 1 casasuleletrodomesticos.com.br, 1 +casatemporada.com, 1 casatendeiro.tk, 1 casavacanze.estate, 1 casavaleria.tk, 1 @@ -28839,6 +29082,7 @@ cash-generator.tk, 1 cash.app, 1 cash.me, 1 cash.nyc, 1 +cash1loans.com, 1 cashadvanceoflebanon.com, 1 cashamerican.tk, 1 cashati.com, 1 @@ -28853,7 +29097,6 @@ cashcoin.tk, 1 cashconverters.co.uk, 1 cashconverters.com, 1 cashconverters.com.au, 1 -cashdeskapp.com, 1 cashdo.co.il, 1 cashdrop.ga, 1 cashewmanufacturers.com, 1 @@ -28886,6 +29129,7 @@ casino-cash-flow.su, 1 casino-cashflow.ru, 1 casino-hero.de, 0 casino-poker-tour.com, 1 +casino-r.com, 1 casino-spelletjes.com, 1 casino-trio.com, 1 casino-z-top.ru, 1 @@ -29011,6 +29255,7 @@ casinocrit.com, 1 casinodebeaulieu.com, 1 casinodecavalaire.com, 1 casinofollower.com, 1 +casinoleader.com, 1 casinolistings.com, 1 casinologin.pl, 1 casinologinaustralia.com, 1 @@ -29171,7 +29416,6 @@ catalonia.tk, 1 catalyseurs-territoriaux.org, 1 catalyst-ecommerce.com, 1 catalystapp.co, 1 -catalystindustrialservices.com, 1 catalyzr.info, 1 catandmoonalchemy.com.au, 1 cataniatoday.it, 1 @@ -29205,7 +29449,6 @@ catchook.com, 1 catchteamca.gov, 1 catchthestars.org, 1 catchup-enschede.tk, 1 -catchyz.com, 1 catclouds.net, 1 catcontent.cloud, 1 catcoxx.com, 1 @@ -29247,6 +29490,7 @@ catholicgallery.org, 1 catholicjobs.com, 1 catholicnewstt.com, 1 catholicprayers.tk, 1 +catholicprayerspace.ca, 1 catholicteuchtar.cf, 1 catholicteuchtar.ga, 1 catholicteuchtar.ml, 1 @@ -29363,6 +29607,7 @@ cayugacounty.gov, 1 cazadordebuenaonda.com, 1 cazenovecapital.com, 1 cazfire.gov, 1 +cazizi.com, 1 cb1388.com, 1 cb1588.com, 1 cba.ca, 1 @@ -29387,6 +29632,7 @@ cbdev.de, 1 cbdication.com, 1 cbdlession.com, 1 cbdlinks.xyz, 1 +cbdnational.com, 1 cbdoilcures.co, 1 cbdtelegram.com, 1 cbeal-fumeirodetrancoso.pt, 1 @@ -29409,6 +29655,7 @@ cbl.sk, 1 cblocallocksmiths.co.uk, 1 cbmc.store, 1 cbmconnect.com, 1 +cbmindia.org, 1 cbmusa.com, 1 cbmvn.com, 1 cbnegocial.com.br, 1 @@ -29425,9 +29672,10 @@ cbrbuildingrepairs.com.au, 1 cbrobot.net, 1 cbrsecurity.be, 1 cbs-engineering.com, 1 +cbs.nl, 1 cbs3design.it, 1 -cbsr.ru, 1 cbt.quest, 1 +cbt.tj, 1 cbw.sh, 1 cbxp.in, 1 cc-customer.de, 1 @@ -29523,6 +29771,7 @@ ccpinturas.com, 1 ccpinvestments.com, 1 ccplot.org, 1 ccprwebsite.org, 1 +ccrf501.com, 1 ccrfi.net, 1 ccrfi.org, 1 ccrun.tk, 1 @@ -29531,6 +29780,7 @@ ccshire.ga, 1 ccsinnovations.com, 1 ccsioims.ph, 1 ccsk.training, 1 +ccskills.org.uk, 1 ccsrv.eu, 1 ccsys.com, 1 cct1d.com, 1 @@ -29572,6 +29822,7 @@ cdasiaonline.com, 0 cdasphalt.com, 1 cdavis.xyz, 1 cdawoerden.org, 1 +cdbp.pro, 1 cdbtech.com, 1 cdc.gov, 1 cdcflix.xyz, 1 @@ -29750,6 +30001,8 @@ celebritypics.club, 1 celebrityscope.net, 1 celebritysrit.tk, 1 celebritytopnews.tk, 1 +celebrityviralbug.com, 1 +celectricos.com, 1 celectro-pro.com, 1 celendo.ga, 1 celenephotography.com, 1 @@ -29793,6 +30046,7 @@ celluliteremovaldiet.com, 1 cellulitetreatment.tk, 1 cellypso.com, 1 celmedia.cl, 1 +celsa.fr, 1 celseven.com, 1 celsoazevedo.com, 1 celtacad.tk, 1 @@ -29884,6 +30138,7 @@ centralfor.me, 1 centralhome.com, 1 centralhq.tk, 1 centralimpressos.com.br, 0 +centralinf.com.br, 1 centralisgroup.com, 1 centralitasbaratas.es, 1 centralkladno.cz, 1 @@ -29891,6 +30146,7 @@ centrallaketownshipmi.gov, 1 centrallead.net, 1 centrallondonaesthetics.co.uk, 0 centralnic.com, 1 +centralpaellera.com, 1 centralpay.eu, 0 centralpinesnc.gov, 1 centralsite.tk, 1 @@ -29978,6 +30234,7 @@ centurytiling.com.au, 1 ceo-consulting.eu, 1 ceomanipur.nic.in, 1 ceomonthlyest.ga, 1 +ceopedia.org, 1 cephalexin.ga, 1 cephalexincapsules.ml, 1 cephalexincapsules.tk, 1 @@ -30080,6 +30337,7 @@ certifycrm.com, 1 certifylogin.com, 1 certiquali.fr, 1 certivac.ch, 1 +certly.co, 1 certnazionale.it, 1 certo-escrow.com, 1 certos.com, 1 @@ -30109,6 +30367,7 @@ cesame.ca, 1 cesar-hector.tk, 1 cesarecirugiaplastica.com, 0 cesarfotos.com.br, 1 +cesarpinto.com, 1 cesarr.fr, 1 cesarteixeiraimoveis.com.br, 1 cesboard.com, 1 @@ -30126,6 +30385,8 @@ ceska-polygraficka.eu, 1 ceskasit.cz, 1 ceskydj.cz, 1 ceslasvegasnews.com, 1 +cesltd.com, 1 +cesmet.mil.do, 0 cesobaly.cz, 1 cesonia.io, 0 cespedes.fr, 1 @@ -30157,7 +30418,7 @@ ceverett.io, 0 cevin.at, 1 cevo.com.hr, 1 cevpu.com, 1 -cevrimicidiyet.com, 0 +cevrimicidiyet.com, 1 cevt.ar, 1 cewek.ml, 1 cewood.xyz, 1 @@ -30243,6 +30504,7 @@ cgdct.moe, 1 cgelves.com, 1 cgestiona.com, 0 cgeventoseturismo.com.br, 1 +cgfordparts.com, 1 cggs.vic.edu.au, 1 cggsaquatic.com.au, 1 cgha.us, 1 @@ -30380,8 +30642,10 @@ championnat-romand-cuisiniers-amateurs.ch, 1 championpetfoods.com, 1 championsofpowerfulliving.com, 0 championsofregnum.com, 1 +championweb.co.nz, 0 championweb.com, 0 championweb.com.au, 0 +championweb.nz, 0 championweb.sg, 0 champslearning.co.uk, 1 chamsocial.com, 1 @@ -30403,7 +30667,7 @@ change-coaching-gmbh.ch, 1 change10000lives.com.ph, 1 changeactivation.com, 1 changeanalytics.us, 1 -changechecker.org, 0 +changechecker.org, 1 changeforfuture.cf, 1 changemywifipassword.com, 1 changenow.io, 1 @@ -30443,6 +30707,7 @@ chanz.com, 1 chaos-darmstadt.de, 1 chaos-wg.net, 1 chaos.run, 1 +chaos.stream, 1 chaoschemnitz.de, 1 chaoscommunication.camp, 1 chaoscycle.tk, 1 @@ -30595,6 +30860,7 @@ chaseandzoey.de, 1 chasebenefits.com, 1 chasecountyne.gov, 1 chasetrails.co.uk, 1 +chaseventar.de, 1 chaskafire.gov, 1 chaskamn.gov, 1 chaskapolice.gov, 1 @@ -30671,6 +30937,7 @@ chatons.org, 1 chatopi.be, 1 chatopia.tk, 1 chatovod.tk, 1 +chatphp.com, 1 chatplanet.com, 1 chatpoint.tk, 1 chatreplay.stream, 1 @@ -30848,7 +31115,7 @@ checkrz.com, 1 checksandbalancesproject.org, 1 checksoft.net, 1 checkspf.net, 1 -checktls.nl, 1 +checktls.nl, 0 checktype.com, 1 checkui.com, 1 checkurinsurance.com, 1 @@ -30869,6 +31136,7 @@ cheeseemergency.co.uk, 1 cheesefusion.com, 1 cheeseginie.com, 1 cheesy.gay, 1 +cheesyf.art, 1 cheeth.am, 1 cheetham.me.uk, 1 chefaa.com, 1 @@ -30910,6 +31178,7 @@ chelyabinsk-news.net, 1 chema.ga, 1 chemapool.bg, 1 chemaxon.com, 1 +chemengzone.com, 1 chemgenes.com, 1 chemica-us.com, 1 chemical-shark.de, 1 @@ -31051,6 +31320,7 @@ chiarezza.it, 1 chiasang.tk, 1 chiaseek.com, 1 chiavistello.it, 1 +chiaylimon.com, 1 chiba-shika.jp, 1 chiba-tour.jp, 1 chiboard.co, 1 @@ -31060,7 +31330,6 @@ chic-leather.com, 1 chic-weddings.com, 1 chicago-mold.com, 1 chicagobasementblog.com, 1 -chicagocitydeck.com, 0 chicagoconcretecleaning.com, 1 chicagoillinois.gq, 1 chicagomaroon.com, 1 @@ -31104,6 +31373,7 @@ chiesanuova.nl, 1 chietech.com.br, 1 chietitoday.it, 1 chifeng.com.tw, 1 +chiffer.nu, 1 chiffrer.info, 1 chigwelltreeservices.co.uk, 1 chijb.cc, 1 @@ -31196,7 +31466,6 @@ chinacolour.com, 1 chinadream404.com, 1 chinafree.online, 1 chinafree.site, 1 -chinagift.com, 0 chinaglobalsecurities.cn, 1 chinahealthcareblog.cf, 1 chinaicpower.org, 0 @@ -31296,6 +31565,7 @@ chitashop.ml, 1 chitinfo.tk, 1 chitlar.ml, 1 chitraltune.tk, 1 +chitrankan.art, 1 chittagongtextile.tk, 1 chiucainlaw.co.nz, 1 chiusa-klausen.com, 1 @@ -31366,6 +31636,7 @@ chokladfantasi.net, 1 chokoppang.com, 1 cholleria.es, 1 chollima.pro, 1 +chollitis.store, 1 chollospain.cf, 1 chollosrapidos.com, 1 choloforo.tk, 1 @@ -31422,6 +31693,7 @@ choylifut.tk, 1 choyri.com, 1 chr0me.sh, 1 chrawrizard.org, 1 +chrestos.de, 1 chrg-server.de, 1 chrigi.ch, 1 chriholt.de, 1 @@ -31448,6 +31720,7 @@ chrisgieger.com, 1 chrisirwin.ca, 1 chrisjean.com, 1 chriskthomas.com, 1 +chrislane.com, 1 chrisliebaer.de, 1 chrisliebear.de, 1 chrisluen.com, 1 @@ -31504,7 +31777,6 @@ christianga.ro, 1 christiangaro.com, 1 christiangaro.email, 1 christiangaro.me, 1 -christiangaro.us, 1 christiangehring.org, 1 christianhaugen.tk, 1 christianhoffmann.info, 0 @@ -31774,6 +32046,7 @@ ciai.ml, 1 ciai.tk, 1 cialde.it, 1 cialis-trial.gq, 1 +cialisfiyatlisti.com, 1 cialisfreetrial.ga, 1 cialismarketim.net, 1 cialismarketing.net, 1 @@ -31895,6 +32168,7 @@ cine-passion16.fr, 1 cine.to, 1 cineassist.jp, 1 cinecat.de, 1 +cinecolombia.com, 1 cinedarkwolf.tk, 1 cinefilia.tk, 1 cineforge.com, 1 @@ -31962,7 +32236,7 @@ cipcda.org, 1 cipher.team, 1 cipherboy.com, 1 cipherfunk.com, 1 -cipherlist.eu, 0 +cipherlist.eu, 1 ciphermail.com, 1 ciphermining.com, 1 ciphersuite.info, 1 @@ -32003,6 +32277,7 @@ circlewelife.com, 1 circoeia.com, 0 circu.ml, 0 circues.com, 1 +circuit.co.uk, 1 circuitcityelectricaladelaide.com.au, 1 circuitclerkmarioncountyms.gov, 1 circular-economy.earth, 1 @@ -32123,6 +32398,7 @@ city-adm.lviv.ua, 1 city-glas.com, 1 city-home.tk, 1 city-journal.org, 1 +city-nn.com, 1 city-online.tk, 1 city-walks.info, 1 city.kharkov.ua, 1 @@ -32264,7 +32540,7 @@ cityofroncevertewv.gov, 1 cityofroyaltonmn.gov, 1 cityofsacramento.gov, 1 cityofsalemky.gov, 1 -cityofsalemnj.gov, 1 +cityofsalemnj.gov, 0 cityofsanmateoca.gov, 1 cityofsantamariaca.gov, 1 cityofsavannail.gov, 1 @@ -32360,6 +32636,8 @@ civiltoday.com, 1 civilvirus.tk, 1 civmob.com, 1 cixbrasil.com, 1 +cixon.com.br, 1 +cixon.us, 1 cizgikod.ga, 1 cizz.uk, 1 cizzuk.net, 1 @@ -32451,6 +32729,7 @@ claimnote.com, 1 claimpilot.com, 1 claimsadj.com, 1 claimspharmacy.services, 1 +claimyourvoicenow.com, 1 clairebabai.nl, 1 clairegold.com, 1 clairelefort-architectes.com, 1 @@ -32508,6 +32787,7 @@ clarendonvt.gov, 1 clarerose.com, 1 claresderibota.tk, 1 claretandbluearmy.tk, 1 +claricelin.com, 1 clarilog.com, 1 clarinet.ga, 1 clarinexonline.gq, 1 @@ -32566,6 +32846,7 @@ class.com.au, 1 class66.tk, 1 classbasic.com, 1 classbasics.com, 0 +classdesignhome.com, 1 classdojo.com, 1 classic-diva.cf, 1 classic-diva.ga, 1 @@ -32810,6 +33091,7 @@ clever-invest.ga, 1 clever-invest.gq, 1 clever-reisen.tk, 1 cleverbots.ru, 1 +cleverbowling.com, 1 clevercoaching.nl, 1 cleverdarts.com, 1 cleverdeal.tk, 1 @@ -33189,12 +33471,12 @@ cloudia.org, 1 cloudigy.es, 1 cloudily.com, 1 cloudimprovedtest.com, 1 +cloudindex.io, 1 cloudinfinit.com, 1 cloudix.cf, 1 cloudlandmark.com, 1 cloudlessdreams.com, 0 cloudlight.biz, 1 -cloudlucida.com, 1 cloudmachine.fr, 1 cloudmanagedbuilding.com, 1 cloudmanagedbuildings.com, 1 @@ -33205,6 +33487,7 @@ cloudmoney.tk, 1 cloudmyhome.site, 1 cloudmyhome.top, 1 cloudnas.ru, 1 +cloudnetuy.com, 1 cloudnexusit.com, 1 cloudnote.cc, 1 cloudnovi.com, 1 @@ -33343,6 +33626,7 @@ clubduvieuxmanoir.fr, 1 clubeamizade.com, 1 clubeamizade.com.pt, 1 clubeamizade.pt, 1 +clubeangelus.com.br, 1 clubedalutashop.com, 1 clubedaquimica.tk, 1 clubedegeografia.tk, 1 @@ -33506,6 +33790,7 @@ cmscompany.de, 1 cmsdca.gov, 1 cmsec.de, 1 cmserviscz.cz, 0 +cmsfox.de, 1 cmsfs.de, 1 cmskh.co.uk, 1 cmsonline.com, 1 @@ -33513,6 +33798,7 @@ cmsprofessional.com.au, 1 cmsprofessionals.com.au, 1 cmsua.ca, 1 cmt-france.org, 1 +cmt35.ru, 1 cmtindia.com, 1 cmtk.cloud, 1 cmtportal.co.uk, 1 @@ -33546,6 +33832,7 @@ cnetw.xyz, 1 cnews.ru, 1 cnfree.xyz, 0 cngf.com, 1 +cngvp.org, 1 cni-certing.it, 1 cni.net.id, 1 cnil.fr, 1 @@ -33640,6 +33927,7 @@ cobbcountygeorgia.ml, 1 coberturaplus.com, 1 cobiz.nl, 1 cobolotobolo.com, 1 +coboo.nl, 1 coboxviagens.com.br, 1 cobracastles.co.uk, 1 cobralelie.nl, 1 @@ -33687,6 +33975,7 @@ coco-cool.fr, 1 coco-line.ch, 1 cocoa-job.jp, 1 cocoafl.gov, 1 +cocoalife.org, 1 cocoanka.ir, 1 cocobollo-sallanches.com, 1 cocobrother.ddnss.de, 1 @@ -33720,6 +34009,7 @@ codastory.com, 1 codcourier.org, 1 code-35.com, 0 code-ch.com, 1 +code-de-la-route-gratuit.net, 1 code-gen.ca, 1 code-in-plate.tk, 1 code-judge.tk, 1 @@ -33875,6 +34165,7 @@ codexio.in, 1 codexlog.com, 1 codezenith.com, 1 codezeno.com.au, 1 +codialog.org, 1 codice-rosso.net, 1 codicecer.it, 1 codicicer.it, 1 @@ -33955,7 +34246,6 @@ coffeist.com, 1 coffer.fi, 1 coffstotalroofing.com.au, 1 cofidisperte.it, 1 -cofigs.com, 1 cofinco.nl, 1 coforge.com, 1 cofradiaqueimada.tk, 1 @@ -34024,7 +34314,6 @@ coinlend.org, 1 coinliq.com, 1 coinloan.io, 1 coinmama.com, 1 -coinmarketjob.com, 1 coinmotion.com, 1 coinnector.com, 1 coinnewspulse.com, 1 @@ -34053,6 +34342,7 @@ col.la, 0 cola-host.tk, 1 colaba.online, 1 colaborame.tk, 1 +colaborativa.tv, 1 colaboratorija.lt, 1 colabug.com, 1 colafoodcritic.com, 1 @@ -34086,6 +34376,7 @@ coldlasers.org, 1 coldmeat.se, 1 coldpaste.com, 1 coldraven.com, 1 +coldsky.net, 1 coldspegll.gq, 1 coldspringharborcesspools.com, 1 coldspringsrancheria.gov, 1 @@ -34234,6 +34525,7 @@ collinlove.se, 1 collinlove.uk, 1 collinlove.us, 1 collinlove.xyz, 1 +collinmbarrett.com, 1 collins.kg, 1 collins4mayor.co.nz, 1 collins4mayor.nz, 1 @@ -34276,6 +34568,7 @@ coloradocollegiate.com, 1 coloradocountrylife.coop, 1 coloradoer.tk, 1 coloradofamli.gov, 1 +coloradogenerac.com, 1 coloradolottery.com, 1 coloradorangers.gov, 1 coloradoseodesign.com, 1 @@ -34334,7 +34627,9 @@ colquittga.gov, 1 colson-occasions.be, 0 coltellisurvival.com, 1 colterris.com, 1 +colthesweep.co.uk, 0 coltonrb.com, 1 +coluit.nl, 1 columbiachronicle.com, 1 columbiacountyor.gov, 1 columbiacountywi.gov, 1 @@ -34388,7 +34683,7 @@ comarch.pl, 1 comarch.ru, 1 comarkinstruments.cloud, 1 comarkinstruments.net, 1 -comasystem.dk, 0 +comasystem.dk, 1 comaypa.es, 1 combatix.io, 1 combattrecellulite.com, 1 @@ -34496,7 +34791,6 @@ comm-works.com, 1 comm.cx, 1 comma-store.eu, 1 commagere.com, 1 -command53.fr, 1 commanderone.net, 1 commanderx.cf, 1 commanderx.ml, 1 @@ -34536,7 +34830,6 @@ commeunprintemps.com, 1 commfortchat.tk, 1 commissaris-vraagbaak.nl, 1 commissionagenda.com, 1 -commissionaires.ca, 1 commissioner.tk, 1 commitsandrebases.com, 1 commloan.com, 1 @@ -34581,7 +34874,6 @@ communitybankliberal.com, 1 communitycollegereview.com, 1 communitycreditunion.com, 1 communitydirectory.tk, 1 -communityeducators.net, 1 communitylivingalgoma.org, 1 communitymalls.com.ph, 1 communitymalls.ph, 1 @@ -34795,6 +35087,7 @@ computerjet.ru, 1 computermaus.com, 1 computernetwerkwestland.nl, 1 computernetwork.be, 1 +computerpackages.com, 1 computerpoint.net, 0 computerscience.guide, 1 computersforlearning.gov, 1 @@ -34813,6 +35106,7 @@ computing.land, 1 computingaustralia.com.au, 1 computingessentials.tk, 1 computingsociety.co.uk, 1 +computingwarehouse.com, 1 computools.com, 1 computop.com, 1 computron.ga, 1 @@ -34850,6 +35144,7 @@ conaculsarbesc.ro, 1 conafonline.it, 1 conall.io, 1 conalpedis.tk, 1 +conapdis.go.cr, 1 conbida.co, 1 conbrio.tk, 1 concellodeortigueira.gal, 1 @@ -34865,6 +35160,7 @@ concept5.co.il, 1 conceptatelier.de, 1 conceptec.de, 1 conceptfoundation.org, 1 +conceptground.com, 1 conceptual.ga, 1 concern.cloud, 1 concert.ga, 1 @@ -34915,6 +35211,7 @@ condignum.com, 1 condit.cf, 1 condit.gq, 1 condit.ml, 1 +conditionyellowacademy.com, 1 condizionatore.roma.it, 1 condo.do, 1 condominiorganica.pe, 1 @@ -34981,6 +35278,7 @@ configcat.com, 1 configserverfirewall.com, 1 configurat.cf, 1 configurat.tk, 1 +configwizard.xyz, 1 confio.pt, 1 confirmit.ca, 1 confirmit.com.au, 1 @@ -34988,7 +35286,6 @@ confirmit.de, 1 confiscate.ga, 1 confiscation.tk, 1 confiwall.de, 1 -conflictcontrol.fi, 1 conflidentliving.cf, 1 confluent.cloud, 1 confluents.fr, 1 @@ -35042,7 +35339,10 @@ connect.gov, 1 connect.net.pk, 1 connectaimpianti.it, 1 connectall.tk, 1 +connectapparelstore.com, 1 connectavid.com, 1 +connectcablenet.com, 1 +connectedbynexus.com, 1 connectedinvestors.com, 0 connectedmind.me, 1 connectfss.com, 1 @@ -35181,6 +35481,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 @@ -35208,7 +35509,6 @@ consul-novocherkassk.ml, 1 consul.io, 0 consuldat.com, 1 consulenteambientale.it, 1 -consulentedellavoro.it, 1 consulenza.pro, 1 consulimp.com.br, 1 consult-altius.co.uk, 1 @@ -35279,7 +35579,6 @@ contango.xyz, 1 contato.vip, 1 contecgmbh.com, 1 contempfleury.com, 1 -contemplativeeducation.org, 1 contemptevoke.com, 1 contenedoresdereciclaje.online, 1 contentcaching.com, 1 @@ -35746,6 +36045,7 @@ corpomotriztokio.com, 1 corpora.ga, 1 corpora.tk, 1 corporacionbi.com, 1 +corporate-advisory.com, 1 corporate-electric.ky, 1 corporate-university.org, 1 corporateclash.net, 1 @@ -35789,7 +36089,6 @@ correo.si, 1 correotemporal.org, 1 correspond.gq, 1 correspondent.ga, 1 -corretoramichelesalvino.com.br, 1 corride.at, 1 corridorsands.com.au, 1 corriere.roma.it, 1 @@ -35856,6 +36155,7 @@ cosasdemadrid.es, 1 cosasnuevas.tk, 1 cosasque.com, 1 coschedule.com, 1 +cosec.cn, 0 coshima.cf, 1 coshima.ga, 1 coshima.gq, 1 @@ -35991,6 +36291,7 @@ coun.be, 1 counseling4students.com, 1 counselingforstudents.com, 1 counsellingtime.co.uk, 1 +counsellingtime.com, 1 counsellink.net, 1 counsol.com, 1 counst.net, 1 @@ -36064,10 +36365,12 @@ courseconfidence.com, 1 coursehero.com, 1 coursehunter.net, 1 courselore.org, 1 +coursemology.sg, 1 courseorbit.com, 1 coursera.org, 1 coursesidekick.com, 1 courseware.nl, 1 +courseworkbank.info, 1 coursingweb.tk, 1 courstoujours.be, 1 court-colman-manor.com, 1 @@ -36178,7 +36481,7 @@ cowleysexeter.co.uk, 1 cowlitzwa.gov, 1 coworkanywhere.ch, 1 coworked.ai, 1 -coworking-luzern.ch, 0 +coworking-luzern.ch, 1 coworking-space.tk, 1 coxcapitalmanagement.com, 1 coxhealthfoundation.com, 1 @@ -36204,6 +36507,7 @@ cozumelflight.com, 1 cozumelisparadise.com, 1 cozyeggdesigns.com, 1 cozyfarms.in, 1 +cozylocale.com, 1 cozynergy.com, 1 cp-st-martin.be, 1 cpac.moe, 1 @@ -36222,6 +36526,7 @@ cpasaguenay.ca, 1 cpaspecialisters.ga, 1 cpasperdu.com, 1 cpbanq.com, 1 +cpbonline.co.za, 1 cpcbegin.tk, 1 cpcclarkesville.org, 1 cpchur.ch, 0 @@ -36255,6 +36560,7 @@ cplogis.co.kr, 1 cpls.me, 1 cplsearch.com, 1 cpm-steuerberater.de, 1 +cpm-steuerberater.pro, 1 cpm-steuerberater.support, 1 cpme-industrial.com, 1 cpost.ca, 1 @@ -36274,6 +36580,7 @@ cpsnap.org, 1 cpsq.fr, 1 cpstest.live, 1 cpstest.org, 1 +cptcreative.com, 1 cptoon.com, 1 cpts-tdm16.fr, 1 cptvl.de, 1 @@ -36338,11 +36645,12 @@ crackychan.org, 1 crackyhouse.com, 1 crackypedia.uk, 1 cradio.tk, 1 -cradleaccounting.com, 0 +cradleaccounting.com, 1 cradleofaviation.org, 1 cradletocareer.org.uk, 1 craft-beer.life, 1 craft-me-in.com, 1 +craft.eu.org, 1 craftadda.com, 1 craftandbuild.de, 1 craftbyhand.com, 1 @@ -36500,7 +36808,6 @@ crea.bg, 1 crea3dsolutions.com, 1 creabis.de, 1 creacioneslri.com, 1 -creactivatecomfandi.com, 1 creactive-mjardevi.se, 1 creadoc.fr, 1 creadordenoticias.com, 1 @@ -36607,6 +36914,7 @@ creatorsgarten.org, 1 creatorswave.com, 1 creattic.tk, 1 creatuasociacion.es, 1 +creature.social, 1 creayes.com, 1 crebita.de, 1 creche-noel.com, 1 @@ -36619,6 +36927,7 @@ credemeuromobiliarepb.it, 1 credex.bg, 1 credfacilbeneficios.com.br, 1 crediblemeds.org, 1 +credify.tech, 1 credigo.io, 1 credimax.com.bh, 1 credin.com.tr, 1 @@ -36675,6 +36984,7 @@ creepypastas.com, 1 creepystories.tk, 1 creer-mon-business-plan.fr, 1 creer-une-boutique-en-ligne.com, 1 +creermonsite-wp.com, 1 creerunblog.net, 1 crei.cat, 1 crej.com, 1 @@ -36748,7 +37058,7 @@ crickits.co.uk, 1 cricpa.com, 1 cricrocket.com, 1 crictechs.com, 1 -criena.com, 1 +criena.com, 0 criena.net, 1 crigler-najjar.fr, 1 criglernajjarday.com, 1 @@ -36760,7 +37070,6 @@ crimeainspire.com, 1 crimeamet.ml, 1 crimean-wines.tk, 1 crimeandwar.com, 1 -crimefreeliving.com, 1 crimeid.cc, 1 crimemuseum.org, 1 crimereports.com, 1 @@ -36874,11 +37183,13 @@ critter.art, 1 critterculture.com, 1 criu.org, 1 crivitz.gov, 1 +crix.ro, 1 crj.ovh, 1 crl-aus.com, 0 crl-autos.com, 1 crlna.com, 1 crm-dialog.com, 1 +crm-dialog.de, 1 crm-gestion-relation-client.com, 1 crm.onlime.ch, 0 crm114d.com, 1 @@ -37003,6 +37314,7 @@ crowdbox.net, 1 crowdcloud.be, 1 crowdee.com, 1 crowdfiber.com, 1 +crowdfundingdream.com, 1 crowdpress.it, 1 crowdsim3d.com, 1 crowdstack.com, 1 @@ -37018,6 +37330,7 @@ crownandchamparesorts.com, 1 crowncastles.co.uk, 1 crownchessclub.com, 1 crownedhijab.com, 1 +crownednetwork.com, 1 crownhotelharrogate.com, 1 crownmazda.ca, 1 crownmutual.com, 1 @@ -37045,12 +37358,15 @@ crsoresina.it, 1 crspcrst.ca, 1 crsserviceogkloak.dk, 1 crstat.ru, 1 +crt.cloud, 1 crt.sh, 1 crt2014-2024review.gov, 1 crtclaims.com, 1 crtevents.co.uk, 1 +crti.dz, 1 crti.tech, 1 crtified.me, 1 +crucerosplus.com, 1 crucial.com, 1 crucial.de, 1 crucial.es, 1 @@ -37065,6 +37381,7 @@ cruelgirls.tk, 1 crufad.org, 0 cruicky.co.uk, 1 cruicky.uk, 1 +cruisecheap.com, 1 cruisecontrolnovels.com, 1 cruisefashion.tk, 1 cruiselaw.de, 1 @@ -37085,8 +37402,10 @@ crunchy.rocks, 1 crunchybridge.com, 1 crusadernews.com, 1 cruscotto-legno.it, 1 +crushbarexam.com, 1 crushedice.uk, 1 crushingcaspars.de, 1 +crushthelsatexam.com, 1 crushxp.tk, 1 crustytoothpaste.net, 1 crute.me, 1 @@ -37119,6 +37438,7 @@ crypticstench.tk, 1 cryptifo.com, 1 cryptii.com, 0 cryptin-it.com, 1 +cryptitan.live, 1 cryptme.in, 1 crypto-ads.ga, 1 crypto-clix.xyz, 1 @@ -37154,6 +37474,7 @@ cryptodredge.org, 1 cryptoearnblog.xyz, 1 cryptofacilities.com, 1 cryptofan.org, 1 +cryptofinance.ai, 1 cryptofomo.capital, 1 cryptofox.nl, 1 cryptogaming.com, 1 @@ -37177,6 +37498,7 @@ cryptome.eu, 1 cryptomining.mobi, 1 cryptomintecho.com, 1 cryptomkt.com, 1 +cryptomonnaies.io, 1 crypton.vercel.app, 1 crypton.xyz, 1 cryptonaire.ga, 1 @@ -37422,7 +37744,6 @@ ct.search.yahoo.com, 0 ctafo.com, 0 ctauditors.gov, 1 ctbirding.org, 1 -ctc-g.com.sg, 1 ctcloud.ml, 1 ctcom-peru.com, 1 ctconp.org, 1 @@ -37644,6 +37965,7 @@ cumnock.org, 1 cumplegenial.com, 1 cumsext.me, 1 cumshots-video.ru, 1 +cumtd.com, 1 cumulogranite.fr, 1 cumulonembo.com, 1 cumulus.photo, 1 @@ -37764,6 +38086,7 @@ cursosdepestanas.com, 1 cursosemmaus.es, 1 cursosforex.com, 1 cursosingles.com, 1 +cursosprogramacion.online, 0 cursossena.co, 1 cursossilvania.com, 1 cursosypostgrados.com, 1 @@ -37819,13 +38142,14 @@ custommadecasino.com, 1 custommadegolfevents.com, 1 custompainted.ca, 1 custompapers.com, 1 +custompilotgifts.com, 1 customradio.tk, 1 customromlist.com, 1 customsandals.tk, 1 customsportsocks.com, 0 customtel.com.au, 1 customtshirtrequest.com, 0 -customwebsitesplus.com, 0 +customwebsitesplus.com, 1 customwritings.com, 1 customwritten.com, 1 custosd.com, 1 @@ -37876,8 +38200,10 @@ cuvva.uk, 1 cuvva.us, 1 cuwcd.gov, 1 cuxpool.club, 1 +cuxpool.net, 1 cuyahogacommunitycollege.tk, 1 cuyahogacountyvotesoh.gov, 1 +cv-generator-fe-eu.herokuapp.com, 1 cv.fr, 1 cv.se, 1 cvalda.tk, 1 @@ -38153,6 +38479,7 @@ cybersecurity.gov, 1 cybersecurity.gr, 1 cybersecurity.run, 1 cybersecuritybusiness.ai, 1 +cybersecuritychallenge.be, 0 cybersecuritydefence.co.uk, 1 cybersecurityincidentresponse.com, 1 cybersecuritysummit.com, 1 @@ -38361,6 +38688,7 @@ d00d.de, 1 d0g.cc, 1 d0xq.net, 1 d11cb9nai2skf5.cloudfront.net, 1 +d166.net, 1 d1b2k93bahaw3s.cloudfront.net, 1 d1gital.org, 1 d1iwhdc6scsqsn.cloudfront.net, 1 @@ -38381,6 +38709,7 @@ d25vkjbt1xiu01.cloudfront.net, 1 d25x5pqe2jwu0a.cloudfront.net, 1 d2evs.net, 1 d2i06m35fc7thi.cloudfront.net, 1 +d2ph.com, 1 d2trade.tk, 1 d2woj1dt0tk6sn.cloudfront.net, 1 d36533.com, 1 @@ -38400,6 +38729,7 @@ d42.no, 1 d4fx.de, 1 d4insight.com, 1 d4wson.com, 1 +d4x.de, 1 d500world.tk, 1 d5197.co, 1 d58beu28.com, 1 @@ -38601,6 +38931,7 @@ dailyillini.com, 1 dailyjigsawpuzzles.net, 1 dailykos.com, 1 dailykosbeta.com, 1 +dailyletter.tv, 1 dailylime.kr, 1 dailylviv.com, 1 dailymedicalinfo.com, 1 @@ -38648,7 +38979,7 @@ daisystockbridgephotography.com, 1 daiwareal.co.jp, 1 daja.ml, 1 dajaks.tk, 1 -dajaskincare.nl, 0 +dajaskincare.nl, 1 dajiale.org, 1 dajjal.org, 1 dajoose.com, 1 @@ -38777,6 +39108,7 @@ dan-saba.com, 1 dan.me.uk, 1 dan124.com, 1 dana-hilliot.tk, 1 +danaandnathan.com, 1 danadameson.tk, 1 danads.com, 1 danalpay.com, 1 @@ -39072,6 +39404,7 @@ daralfajr.site, 1 daramad-telegram.ga, 1 daravk.ch, 1 darbgaldi.lv, 1 +darbi.org, 1 darc-mak.de, 1 darc.pro, 1 darci.tech, 1 @@ -39256,6 +39589,7 @@ das-clanpage.tk, 1 das-e-rezept-fuer-deutschland.de, 1 das-efx.tk, 1 das-forum24.de, 1 +das-kobers.de, 1 das-mediale-haus.de, 1 das-sommercamp.de, 1 dasabomobil.de, 1 @@ -39287,6 +39621,7 @@ dasignsource.com, 1 dasinternetluegt.at, 1 daskirschhaus.com, 1 dasler.eu, 1 +dasmailarchiv.ch, 1 dasolindustrialpark.tk, 1 dastchin.live, 1 dastelefonbuch.de, 1 @@ -39375,7 +39710,6 @@ datadyne.technology, 1 dataentry.top, 1 datafactory.co.za, 1 datafinland.com, 1 -datafloq.com, 1 datagir.ir, 0 datagrail.io, 1 datagrid.ga, 1 @@ -39386,6 +39720,7 @@ datahaus.construction, 1 datahove.no, 1 datainvest.ai, 1 datainvest.pl, 1 +datajournalism.com, 1 datakick.org, 1 datakl.com, 1 datalife.gr, 1 @@ -39431,8 +39766,7 @@ datasmart.ca, 1 datasourcenj.org, 1 dataspace-connector.io, 1 dataspace.pl, 1 -datastack.design, 0 -datastar.net, 1 +datastack.design, 1 datastream.org, 1 datastream.re, 0 datastudio.google.com, 1 @@ -39649,6 +39983,7 @@ davidhurl.net, 1 davidinteriors.tk, 1 davidje13.com, 1 davidjktofan.com, 1 +davidjohnstoncfo.com, 0 davidjusto.com, 1 davidkatz.tk, 1 davidkeane.com, 0 @@ -39743,6 +40078,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 @@ -39765,6 +40101,7 @@ dawsonmt.gov, 1 dax-voirie.fr, 1 dax.do, 1 dax.guide, 1 +daxble.xyz, 1 daxenexpress.com, 1 daxisweb.net, 0 daxo.io, 1 @@ -39942,6 +40279,7 @@ dco.sg, 1 dcparts.com.br, 1 dcpf.online, 1 dcpower.eu, 1 +dcpro.pt, 1 dcpudwa.gov, 1 dcrdev.com, 1 dcs.pp.ua, 1 @@ -40117,6 +40455,7 @@ dearktiel.nl, 1 deasserstadsloop.nl, 1 deasy-store.com, 1 death-notices.co.uk, 1 +death.ceo, 1 death.social, 1 deathberry.ddns.net, 1 deathbits.com, 1 @@ -40233,6 +40572,7 @@ decaturcountytn.gov, 1 decaturian.com, 1 decaturish.com, 0 deccanvalue.com, 1 +deceasedonline.com, 1 decentrala.org, 1 dechat.nl, 1 decherdtn.gov, 1 @@ -40639,6 +40979,7 @@ deliuksta.lt, 1 deliverability.guru, 1 delivereasy.tk, 1 delivery.it, 1 +delivr.com, 1 delker.com, 1 delkomrockdrill.com, 1 dellamorte.tk, 1 @@ -40823,6 +41164,7 @@ demuzere.org, 1 demxausa.com, 1 demyst.com, 1 den-fi.com, 1 +den.vc, 1 denabot.pw, 1 denachtegaalferwert.tk, 1 denaehula.com, 1 @@ -40879,6 +41221,7 @@ denistruffaut.fr, 0 denisyakovlev.ga, 1 denisyakovlev.ml, 1 denisyan.ml, 1 +deniszczuk.pl, 0 denito.bg, 1 deniz.uk, 1 denizdesign.co.uk, 1 @@ -40962,7 +41305,6 @@ dentistabarbarajaqueline.com.br, 1 dentistalagoasanta.com.br, 1 dentisteliege.be, 1 dentistesdarveauetrioux.com, 1 -dentistree.in.ua, 1 dentistsgainesvillega.com, 1 dentistslilburnga.com, 1 dentoncounty.gov, 1 @@ -40977,6 +41319,7 @@ denugka-vezde.gq, 1 denugka-vezde.tk, 1 denunzieren.tk, 1 denver-design.cf, 1 +denver.show, 1 denver.tk, 1 denver7.com, 1 denverautoinsurancecompany.com, 0 @@ -41036,6 +41379,7 @@ dependableseniorcare.com, 1 dependonplus.com, 1 deperewi.gov, 1 dephoro.com, 1 +depici.com, 1 depicus.com, 1 depijp.tk, 1 depilazione.roma.it, 1 @@ -41050,6 +41394,7 @@ depo12.com, 1 depoalabama.com, 1 depokcity.tk, 1 depolab.com, 1 +depolauncher.cf, 1 depone.net, 0 depoondemand.com, 1 depoone.com, 1 @@ -41087,6 +41432,7 @@ depthsofdepravity.tk, 1 depuberteit.tk, 1 depuratore.it, 1 deqa-vet.de, 1 +deque.com, 1 der-bank-blog.de, 1 der-beste-schumpeter-vortrag.de, 1 der-elite.blog, 1 @@ -41193,6 +41539,7 @@ derw.pw, 1 derwaldschrat.net, 1 derze.cloud, 1 des-hommes-et-des-clous.com, 1 +desacanggu.id, 1 desafiomovilidadsustentable.com, 1 desagaz.com, 1 desakatorock.tk, 1 @@ -41318,7 +41665,7 @@ desireeburch.net, 1 desirememory.cf, 1 desirenet.ro, 1 desish.cf, 1 -desitorrents.tv, 0 +desitorrents.tv, 1 desivideos.tk, 1 desk-mode.com, 1 deskaservices.com, 0 @@ -41427,6 +41774,7 @@ deti.ga, 1 detiks.cf, 1 detishki.ga, 1 detki.cf, 1 +detki24.ru, 0 detodo24.com, 1 detoekomstvanorganisaties.nl, 1 detoxtorehab.com, 1 @@ -41508,7 +41856,7 @@ devacapital.com, 1 devafterdark.com, 1 devagency.fr, 1 devahi.gq, 1 -devaland.com, 1 +devaland.com, 0 devalbert.com, 1 devalkincentives.nl, 1 devalps.eu, 1 @@ -41644,6 +41992,7 @@ devries.frl, 1 devries.one, 1 devrijejansenist.nl, 1 devs-from.asia, 1 +devs4.com, 1 devsectools.com, 1 devsfield.com, 1 devsjournal.com, 1 @@ -41696,7 +42045,7 @@ dexigner.com, 1 dexlex.nl, 1 dexon.ws, 1 dexonservicedeskws.azurewebsites.net, 1 -dexraiden.finance, 0 +dexraiden.finance, 1 dexter.com.pl, 1 dextercd.com, 1 dextermarket.com, 1 @@ -41940,9 +42289,10 @@ dianaconsultancy.com, 1 dianaconta.pt, 1 dianadeluxe.net, 1 dianadrive.com, 1 -dianafaraj.de, 1 +dianafaraj.de, 0 dianakaarina.tk, 1 diananeves.pt, 0 +dianapps.com, 1 dianaqueeny.tk, 1 dianas.sk, 1 dianaundaaron.de, 1 @@ -41992,6 +42342,7 @@ diba.org.cn, 1 dibacode.com, 1 dibal.ua, 1 dibam.cl, 1 +dibiphp.com, 1 dibo-ambasador.pl, 1 dic.ae, 1 dicaprio.tk, 1 @@ -42033,6 +42384,7 @@ dico-charentais.tk, 1 dicoado.org, 1 dicoeste.com, 1 dicomed.tk, 1 +dicomp.com.br, 1 dicomsoftware.com, 1 diconium.biz, 1 diconium.com, 0 @@ -42140,7 +42492,6 @@ diercke.de, 1 dierenpagina.tk, 1 dierenrijk.nl, 0 dierenschilderijen.tk, 1 -dierenwiki.nl, 1 dieschnuckelchen.myasustor.com, 1 diesdasananas.spdns.de, 1 dieselanimals.lt, 1 @@ -42177,7 +42528,7 @@ dietmoikiensinh.tk, 1 dietolog.gq, 1 dietpi.com, 1 dietrich-bonhoeffer.net, 1 -dietrich.cx, 0 +dietrich.cx, 1 dieumfrage.com, 1 dievozodis.lt, 1 dievturi.lv, 1 @@ -42236,6 +42587,7 @@ digifood.pro, 1 digig.es, 1 digigami.au, 1 digiischolarships.com, 1 +digilabs.fr, 1 digiland.tk, 1 digilicious.com, 1 digilock.com, 0 @@ -42306,6 +42658,7 @@ digitalagency47.com, 1 digitalagencynetwork.com, 1 digitalakatsuki.com, 1 digitalalektioner.se, 1 +digitalandsocialmediaacademy.com, 1 digitalaplus.com, 1 digitalarchitecture.com, 1 digitalasitshouldbe.com, 1 @@ -42351,7 +42704,7 @@ digitaldesign.ga, 1 digitaldesk.net, 1 digitaldisaster.tk, 1 digitaldruck.info, 1 -digitale-afvalscheiding.nl, 0 +digitale-afvalscheiding.nl, 1 digitale-ausleihe.de, 1 digitale-bibliothek.tk, 1 digitale-gesellschaft.ch, 1 @@ -42368,6 +42721,7 @@ digitalexpertsdirectory.com.au, 1 digitalezukunft-hagen.de, 1 digitalezukunft.nrw, 1 digitalfoodbook.com, 1 +digitalforensicsdubai.com, 1 digitalfortress.tech, 1 digitalfoster.org, 0 digitalfury.co.uk, 1 @@ -42457,6 +42811,7 @@ digitalvag.tk, 1 digitalvalue.es, 1 digitalwasteland.net, 0 digitalworkplaceforum.com.br, 1 +digitalzenworks.com, 1 digitalzylinder-shop.com, 1 digite.com, 1 digitec.ch, 1 @@ -42469,6 +42824,7 @@ digithex.com, 1 digithub.tk, 1 digitizer.co.il, 1 digitkon.com, 1 +digitogy.com, 1 digitoimistopipeline.fi, 1 digitoucan.com, 1 digitra.com, 1 @@ -42486,7 +42842,7 @@ digpubdev.org, 1 digpubprd.org, 1 digpubqa.org, 1 digsys.bg, 1 -digwiz.biz, 1 +digwiz.biz, 0 digwp.com, 1 dih-technology.com, 1 dih-technology.info, 1 @@ -42626,7 +42982,6 @@ dinoplanners.com, 1 dinos-mag.tk, 1 dinotv.at, 1 dintrafic.net, 1 -diobrasperu.com, 1 diocesedeosorio.org, 1 diodo.me, 1 dioesfoto.com, 1 @@ -42647,6 +43002,8 @@ diouf.tk, 1 dioxido.com.ar, 1 dioxilife.com, 1 diozoid.com, 1 +dip.digital, 1 +dipakgajjar.com, 1 dipalma.me, 1 dipanopaulista.com.br, 1 dipanshuparashar.ml, 1 @@ -42782,6 +43139,7 @@ disableipv4.se, 1 disabuse.cf, 1 disadattamentolavorativo.it, 1 disain.tk, 1 +disappearingidioms.com, 1 disassemble.website, 1 disasterrific.tk, 1 disastertalkest.ga, 1 @@ -42862,6 +43220,7 @@ discoveryaima.com, 1 discoveryballoon.org, 1 discoverybehavioralhealth.com, 1 discoveryottawa.ca, 1 +discoverypublisher.com, 1 discpersonalitytesting.com, 1 discrede.tk, 1 discrypt.ca, 1 @@ -42906,6 +43265,7 @@ disinfestatore.roma.it, 1 disinfestazione-roma.org, 1 disinfestazione.brescia.it, 1 disinfestazione.genova.it, 1 +disinfestazione.milano.it, 1 disinfestazione.napoli.it, 1 disinfestazione.roma.it, 1 disinfestazione.savona.it, 1 @@ -42929,6 +43289,7 @@ disinfestazioni.co, 1 disinfestazioni.firenze.it, 1 disinfestazioni.genova.it, 1 disinfestazioni.gorizia.it, 1 +disinfestazioni.it, 1 disinfestazioni.milano.it, 1 disinfestazioni.modena.it, 1 disinfestazioni.net, 1 @@ -42983,6 +43344,7 @@ disougstroy.com.ua, 1 disparada.com.br, 1 dispartilaw.com, 1 dispatched.tk, 1 +dispensarygta.com, 1 displaycalibration.de, 1 displaynote.com, 1 displayrd.com, 1 @@ -43071,6 +43433,7 @@ ditte-destree.fr, 1 dittvertshus.no, 1 ditxse6.com, 1 ditxse6.org, 1 +ditzingen.de, 1 div.energy, 1 diva-app.de, 1 divacresent.tk, 1 @@ -43101,6 +43464,7 @@ diversify.ga, 1 diversity-otherwise.tk, 1 diversityflags.com.au, 1 diversityflags.nz, 1 +diversitywatch.asia, 0 diversitywatch.co.nz, 1 diversovariable.tk, 1 diversual.com, 1 @@ -43231,7 +43595,6 @@ djangowebstudio.com, 1 djanneli.tk, 1 djarman.tk, 1 djattack.com, 1 -djav.org, 1 djawabna.ga, 1 djax.tk, 1 djazair.ml, 1 @@ -43362,6 +43725,7 @@ djsp.fr, 1 djsp.it, 1 djsp.uk, 1 djsp.work, 1 +djspacies.com, 1 djswebserver.com, 1 djt-vom-chausseehaus.de, 1 djtavo.tk, 1 @@ -43449,9 +43813,12 @@ dlevans.com, 1 dlf.exchange, 1 dlford.io, 1 dlfsymposium.nl, 1 +dline.co.in, 1 dlitz.net, 1 dll4free.com, 1 dlld.biz, 1 +dlld.com, 1 +dlld.org, 1 dlld.us, 1 dlmarket.jp, 1 dlmeto.com, 1 @@ -43554,6 +43921,7 @@ dmitrykataev.ru, 1 dmitrysnotes.ru, 1 dmitrysyrov.com, 1 dmix.ca, 1 +dmkuchnie.pl, 1 dmlaser.nl, 1 dmlive.wiki, 1 dmma.be, 1 @@ -43565,7 +43933,12 @@ dmosk.ru, 1 dmoz.v.ua, 1 dmparish.com, 1 dmr446.fr, 1 +dmrhub.cloud, 1 +dmrhub.net, 1 +dmrhub.network, 1 +dmrhub.org, 1 dms-technik.de, 1 +dmsbg.com, 1 dmsgovernance.com, 1 dmshynk.com, 1 dmskaspr.com, 1 @@ -43626,6 +43999,7 @@ dnc.org.nz, 1 dndblog.tk, 1 dnddobbelstenen.nl, 1 dndesturia.uk, 1 +dndinsulation.com.au, 1 dndtools.net, 1 dnel.me, 1 dnepr-news.ru, 1 @@ -43634,6 +44008,7 @@ dneprodzerzhinsk-news.ru, 1 dnepropetrovck.tk, 1 dneprovski.tk, 1 dnestr.tk, 1 +dnevnichok.club, 1 dnfc.rocks, 1 dnfsb.gov, 1 dngrexplorer.cf, 1 @@ -43684,7 +44059,6 @@ dnsmonitor.com, 1 dnsnox.com, 1 dnspod.ml, 1 dnsrate.com, 1 -dnsrevolve.com, 1 dnsscience.org, 1 dnssec.au, 1 dnssecandipv6.se, 1 @@ -43738,6 +44112,8 @@ dobrodruzi.tk, 1 dobrorok.cz, 1 dobrynyastyle.ru, 1 dobryprezident.sk, 1 +dobskateshop.com, 1 +dobusinessonline.com, 1 doc-baza.tk, 1 doc-reader-guide.com, 1 doc-sign.fr, 1 @@ -43800,6 +44176,7 @@ docteurqui.fr, 0 doctoblog.fr, 1 doctorapuestas.pe, 1 doctorapuestasargentina.com, 1 +doctorapuestaschile.com, 1 doctorbini.com, 1 doctorcalefon.com, 1 doctordabbah.com, 1 @@ -43823,7 +44200,6 @@ doctorrayaneh.com, 1 doctorsarfarazdo.ga, 1 doctorsatdoor.com, 1 doctorshealthfund.com.au, 1 -doctorsinternet.com, 1 doctorswithoutborders.org, 1 doctorwho.cz, 1 doctosofi.mx, 1 @@ -43968,6 +44344,7 @@ dogworld.com.br, 1 doh.sb, 1 dohertyconsulting.tk, 1 dohmen.io, 1 +dohmencapital.com, 1 doi.org, 1 doihavetoputonpants.com, 1 doineedanmdm.com, 1 @@ -44023,6 +44400,7 @@ dolg.ga, 1 dolg.gq, 1 dolg.ml, 1 dolg.tk, 1 +dolgizaim.by, 1 dolgopolova.ga, 1 dolgorukovo.cf, 1 dolice.net, 1 @@ -44042,6 +44420,7 @@ dolledout.co.ke, 1 dollestieren.tk, 1 dolliesmaker.tk, 1 dolloponline.com, 0 +dollware.net, 1 dolly.ga, 1 dollylox.tk, 1 dollz-world.tk, 1 @@ -44100,6 +44479,7 @@ domainexpress.de, 0 domainforfree.gq, 1 domainhostingcompany.tk, 1 domainics.ml, 1 +domainjava.com, 1 domainlions.com, 1 domainmaster.cz, 1 domainmonitor.net, 1 @@ -44118,6 +44498,7 @@ domainsecurityinfo.com, 1 domainservice.cf, 1 domainsetup.email, 1 domainsilk.com, 1 +domainspeicher.one, 1 domaintm.in, 1 domainvoider.cf, 1 domakidis.com, 1 @@ -44153,6 +44534,7 @@ domhos.tk, 1 domialt.de, 1 domian.cz, 1 dominanta-law.com, 1 +dominateyourmarket247.com, 1 dominationgame.co.uk, 1 dominctheroofguy.com, 1 dominicana-lux.cf, 1 @@ -44272,6 +44654,7 @@ donateaday.net, 1 donateforcharity.com, 1 donatellapratas.com.br, 1 donateway.com, 1 +donationintegration.ru, 1 donazione.it, 1 donburi.click, 1 doncastermoneyman.com, 1 @@ -44320,6 +44703,7 @@ donnanovak.com, 1 donnapepe.tk, 1 donnapro.com, 1 donnellymech.com, 1 +donnerhollenconstruction.com, 1 donnerwetter.tk, 1 donngle.com, 1 donnington.co, 1 @@ -44576,7 +44960,6 @@ dotroll.com, 1 dotrox.net, 1 dotsandarrows.eu, 1 dotsbuy.com, 1 -dotshule.ug, 1 dotsiam.co.th, 1 dotsiam.com, 1 dotsiam.in.th, 1 @@ -44607,7 +44990,7 @@ doubledees.africa, 1 doubledees.co.ke, 1 doubledranch.tk, 1 doublefun.net, 1 -doubleh2go.co.nz, 0 +doubleh2go.co.nz, 1 doublemars.com, 1 doubleness.gq, 1 doublepotion.com, 1 @@ -44655,6 +45038,7 @@ doujinshi.info, 1 doujinspot.com, 1 doukhobor.org, 1 dourowineselection.pt, 1 +doutorapostas.com, 1 doutorapostas.pt, 1 douyin.com, 1 douyinec.com, 1 @@ -44780,6 +45164,7 @@ dpc-software.de, 1 dpc.ae, 1 dpclive.com, 1 dpcp.fr, 1 +dpcs.xyz, 0 dpcyourhome.com, 1 dpd.com.pl, 1 dpecuador.com, 1 @@ -44874,11 +45259,13 @@ dragon-chem.eu, 1 dragon-craft.tk, 1 dragon-team.tk, 1 dragon.nu, 1 +dragon26.com, 1 dragon95.com, 1 dragonballzfigures.com, 1 dragonbike.by, 1 dragonboatfestival.tk, 1 dragonbox.de, 1 +dragoncave.me, 1 dragoncityhack.tips, 1 dragonclicker.ml, 1 dragonesymazmorras.tk, 1 @@ -44985,6 +45372,7 @@ drbadnick.tk, 1 drbanerjeecures.in, 1 drbarnabus.com, 0 drbet.it, 1 +drbinsusclinic.com, 1 drblog.tk, 1 drbonine.com, 1 drbooks-accounting.com, 1 @@ -44993,6 +45381,7 @@ drbresnick.com, 1 drbrys.com, 1 drcardiofit.com, 1 drcbxlpundw8t.cloudfront.net, 1 +drchapin.com, 1 drchrislivingston.com, 1 drchrono.com, 0 drclark.pro, 1 @@ -45000,6 +45389,7 @@ drclub.tk, 1 drcommodore.it, 1 drcorderocirujanoplastico.com, 1 drcroof.com, 1 +drct.aero, 1 drdach.pl, 1 drdamirplasticsurgeon.com, 1 drdb.gr, 1 @@ -45034,6 +45424,7 @@ dreamcatchers-events.com, 1 dreamcometruevacations.com, 1 dreamconnect.org, 1 dreamcrack.tk, 1 +dreamcraft.su, 1 dreamdivers.com, 1 dreamelegant.ml, 1 dreamersgiftshopec.com, 1 @@ -45059,7 +45450,9 @@ dreamms.gg, 1 dreamofice.cn, 1 dreamoza.com, 1 dreampages.tk, 1 +dreampointech.com, 1 dreamqueen.tk, 1 +dreamrae.net, 1 dreamreality.tk, 1 dreams-2-reality.com, 1 dreamsea.tk, 1 @@ -45077,6 +45470,7 @@ dreamsxxl.com, 1 dreamsystems.tk, 1 dreamtapestry.ga, 1 dreamweavers.live, 1 +dreamwork.financial, 1 dreamworldstudio.tk, 1 dreamy-flat-lyon.fr, 1 dreamytheatre.com, 1 @@ -45234,10 +45628,12 @@ driverscollection.com, 1 drives.work, 1 drivestarfreight.com, 1 drivetonortheast.com, 1 +driveyouradblockcounterup.com, 1 driving-lessons.co.uk, 1 drivingacademy.tk, 1 drivingcalculator.ga, 1 drivinginstruction.tk, 1 +drivingschoolnearmelbourne.com.au, 1 drivio.co.uk, 1 drivio.uk, 1 drivvie.com, 1 @@ -45286,6 +45682,7 @@ drms.us, 1 drmtransit.com, 1 drmvl.org, 1 drnatura.fr, 1 +drnjewels.com, 1 drobina.top, 1 drobny-app.work, 1 drogaleste.com.br, 1 @@ -45365,6 +45762,7 @@ drpetervoigt.ddns.net, 1 drpetervoigt.de, 1 drpure.top, 1 drpvtipc.net, 1 +drradin.com, 1 drricardofretes.com, 1 drros.ru, 1 drrr.chat, 1 @@ -45615,6 +46013,7 @@ dtx.sk, 1 du.co, 1 dual-aspect.com, 1 dual-universe.ga, 1 +dual.cat, 1 dual.pw, 0 dualascent.com, 1 dualbix.com, 1 @@ -45702,6 +46101,7 @@ duckpond.camp, 1 duckrain.com, 1 duckside.tk, 1 ducksify.com, 1 +ducksoft.fi, 1 duckstad.net, 1 duckyubuntu.com, 1 duckyubuntu.tk, 1 @@ -45748,7 +46148,6 @@ duhivip.ml, 1 duhs.edu.pk, 1 duhurensohn.de, 1 duhy.sk, 1 -duijf.io, 1 duiker101.tk, 1 duitse-herders.tk, 1 duizhangs.tk, 1 @@ -45817,7 +46216,6 @@ dunesadventure.net, 1 dunescorporation.tk, 1 dungbui.co, 0 dungbui.net, 1 -dungchata.com, 1 dungenesskids.com, 1 dungeon-bbs.de, 1 dungeoncity.com, 1 @@ -45908,7 +46306,7 @@ dusk.run, 1 duskraven.tk, 1 dusmomente.com, 1 dusnan.com, 1 -dusonchet-construction.ch, 0 +dusonchet-construction.ch, 1 dust.bio, 1 dust.tk, 1 dust4you.tk, 1 @@ -45974,6 +46372,7 @@ duv.al, 1 duval.info, 1 duval.li, 1 duval.ovh, 1 +duval.paris, 1 duval.pm, 1 duval.re, 1 duvalelections.gov, 1 @@ -46163,6 +46562,7 @@ dynastyredzone.com, 1 dynatos-cloud.com, 1 dyndns.au, 1 dyneco.io, 1 +dynet.ru, 1 dynn.be, 0 dyno.com, 1 dynorphin.com, 1 @@ -46364,7 +46764,6 @@ e-klempir.cz, 1 e-knitting.tk, 1 e-knitwear.tk, 1 e-kultura.tk, 1 -e-lambre.com, 1 e-lamp.tk, 1 e-latvenergo.lv, 1 e-launch.nl, 1 @@ -46398,6 +46797,7 @@ e-petitions.by, 1 e-pi-log.at, 1 e-placement.tk, 1 e-planshet.tk, 1 +e-pokupki.eu, 1 e-polygraphy.tk, 1 e-privat.info, 1 e-promotion.tk, 1 @@ -46517,6 +46917,7 @@ ead-italia.it, 1 eadea.net, 1 eadmt.com, 1 eaganmn.gov, 1 +eagar.com.au, 1 eagenda.com.br, 1 eagfinance.cz, 1 eagle-yard.de, 1 @@ -46528,12 +46929,14 @@ eaglecrest.us, 1 eaglecustomapparel.com, 0 eagleeye.news, 1 eagleeyeroof.com, 1 +eagleeyetrip.ru, 1 eaglefireid.gov, 1 eaglegrove.gov, 1 eaglehaslended.com, 1 eaglelakefl.gov, 1 eagleled.us, 1 eaglemoe.com, 1 +eaglemtn.com, 0 eaglenusa.my.id, 1 eaglepasstx.gov, 1 eagleplanners.agency, 1 @@ -46627,6 +47030,7 @@ earthcorporation.cf, 1 eartheld.tk, 1 earthjustice.org, 1 earthlink.net, 1 +earthlinkrealestate.ae, 1 earthpixz.com, 1 earthpoints.org, 1 earthquake.gov, 1 @@ -46646,6 +47050,7 @@ easew.com, 1 eashwar.com, 1 easiest-way.de, 1 easlerlaw.com, 1 +easol.com, 1 east-front-miniatures.com, 0 east-line.su, 1 east-westlogistics.com, 1 @@ -46726,6 +47131,7 @@ easy-immo.info, 1 easy-immo.org, 1 easy-katka.ga, 1 easy-pornvideos.com, 1 +easy-rpg.org, 1 easy2bathe.co.uk, 1 easyaccounting.asia, 1 easyadsnbanners.tk, 0 @@ -46810,7 +47216,6 @@ easysoft.tk, 1 easysolution.eu, 1 easyspace-storage.com, 1 easysubmit.tk, 1 -easyswap.me, 1 easytamil.tk, 1 easytec-info.de, 1 easytestonline.tk, 1 @@ -46943,7 +47348,7 @@ eblan.gq, 1 eblandscaping.com.au, 1 eblesoft.org, 1 eblog.cf, 1 -eblog.ink, 1 +eblog.ink, 0 ebmeester.nl, 1 ebola-hosting.cz, 1 ebolacharts.ga, 1 @@ -47021,6 +47426,7 @@ ecco-verde.it, 1 eccoholiday.com, 1 eccoilmenu.it, 1 eccologic.net, 1 +eccoplastic.com, 1 eccouncil.org, 1 eccu.edu, 1 ecdn.cz, 1 @@ -47115,6 +47521,7 @@ eclipsesource.com, 1 eclipsestatus.io, 1 eclixo.com, 1 ecmx.eu, 1 +ecn.ir, 1 ecnetworker.com, 1 eco-derattizzazione.it, 1 eco-gripfloor.com, 1 @@ -47146,7 +47553,6 @@ ecodepur.co.ao, 1 ecodepur.fr, 1 ecodesign-labo.jp, 1 ecodesigns.nl, 1 -ecodrive.in.ua, 1 ecoelectricsandiego.com, 1 ecoeuropa.cf, 1 ecofinancing.com, 1 @@ -47162,6 +47568,7 @@ ecohaus-pinklao-salaya.com, 0 ecoheatcool.co.uk, 1 ecohimdv.tk, 1 ecohostingservices.uk, 1 +ecohustler.com, 1 ecoindia.tk, 1 ecojob.ga, 1 ecolala.my, 1 @@ -47185,6 +47592,7 @@ ecolequebec.com, 0 ecoles-conde.com, 0 ecolesingelijn.be, 1 ecolint.ch, 1 +ecolodgedebosuil.nl, 1 ecologeek.tk, 1 ecologiapolitica.info, 1 ecologic-france.com, 1 @@ -47206,6 +47614,7 @@ ecommercenews.com.au, 1 ecommercenews.in, 1 ecommercenews.uk, 1 ecommerceuropa.eu, 1 +ecomovers.com, 1 ecompen.co.za, 1 ecomsight.com, 0 ecomuuu.com, 1 @@ -47263,6 +47672,7 @@ ecosurfsupply.com, 1 ecosystem.atlassian.net, 1 ecosystemmanager-uat1.azurewebsites.net, 1 ecotecelevator.com, 1 +ecotestantigentest.com.au, 1 ecotone-tottori.com, 1 ecotrade-disinfestazioni.it, 1 ecotsa.com, 1 @@ -47343,9 +47753,11 @@ edb.gov.sg, 1 edboothandassociates.com, 1 edc-msp.com, 1 edcdn.net, 1 +edd-miles.com, 1 eddesign.ch, 1 eddi.org.au, 1 eddie.website, 1 +eddmil.es, 1 eddns.de, 1 eddns.eu, 1 eddokloosterman.com, 1 @@ -47460,6 +47872,7 @@ edited.de, 1 edited.nl, 1 edited.pl, 1 editflow.org, 1 +edith-thellmann.com, 1 edithlouw.tk, 1 edition-sonblom.de, 0 editions-campanile.fr, 1 @@ -47487,6 +47900,7 @@ edmondok.gov, 1 edmundcelis.com, 1 edmundo.ro, 1 edmundy.tk, 1 +edmwaves.org, 1 edocr.com, 1 edok.com.br, 1 edopomoga.gov.ua, 1 @@ -47607,6 +48021,7 @@ edunian.com, 1 edunoor.tk, 1 eduoneschool.tk, 1 edupay.co.at, 1 +edupesa.com, 1 eduproject.tk, 1 eduproquality.tk, 1 eduqfix.com, 1 @@ -47693,12 +48108,14 @@ een.com, 1 eenfotowaard.nl, 1 eenmailsturen.nl, 0 eentweevijf.be, 1 +eenvren.com, 1 eenvxing.com, 1 eenzwolle.nl, 1 eeqj.com, 1 eer.cz, 1 eer.io, 1 eeri.org, 1 +eerieglowgames.com, 1 eerlijkland.com, 1 eerlijkland.eu, 1 eerlijkland.nl, 1 @@ -47816,13 +48233,13 @@ eg-quaternary-sci-j.net, 1 eg-secure.co.jp, 0 eg22.com, 1 eg7.co.jp, 1 -egab.co, 0 +egab.co, 1 egabroaventuras.tk, 1 egais.ml, 1 egal24.de, 1 egarden.it, 1 egb.at, 0 -egbc.ca, 1 +egbc.ca, 0 egbert.net, 1 egbertsen.tk, 1 egc.ink, 1 @@ -47873,6 +48290,7 @@ egins.tk, 1 egipet-tiz.tk, 1 egiptwakacje.tk, 1 egitim.academy, 1 +egitimpusulam.com, 1 egito.pl, 1 egittophilia.tk, 1 eglantier.eu, 1 @@ -47895,6 +48313,7 @@ egorka.ml, 1 egoroskope.tk, 1 egos-online.com, 1 egoscolumn.tk, 1 +egotickets.com, 1 egotripproductions.org, 1 egoutierrpaquette.ca, 1 egov.digital, 1 @@ -47950,6 +48369,7 @@ ehlers-net.de, 1 ehlersdanlos.dk, 1 ehlersdanlos.tk, 1 ehliyetsinavsorulari.org, 1 +ehmsen.nu, 1 ehmtheblueline.com, 1 ehne.de, 1 ehome.im, 1 @@ -48059,7 +48479,6 @@ eirgroup.com.au, 1 eirik.eu, 1 eiriksdottir.is, 1 eirikyrolae.tk, 1 -eis.org.uk, 1 eisaev.ru, 1 eisblau.org, 1 eisei-iinkai.com, 1 @@ -48169,8 +48588,9 @@ ekonomska.tk, 1 ekophone.bg, 1 ekoport.ru, 1 ekosaltis.lt, 1 -ekospajzka.cz, 1 +ekosf.ru, 1 ekostecki.de, 1 +ekourbanisterna.se, 0 ekowibowo.com, 1 ekpj.jp, 1 ekranoplan-lun.ru, 1 @@ -48244,7 +48664,6 @@ elbetech.net, 1 elbiaadmin.sk, 1 elbiahosting.sk, 1 elbir.tk, 1 -elblogdeldev.es, 1 elblogdeldinero.com, 1 elblogdezoe.es, 1 elblok.com, 1 @@ -48262,12 +48681,14 @@ elcanonjusto.tk, 1 elcarajo.tk, 1 elchamandelaprosperidad.org, 1 elchanchoganador.com, 1 +elcheapoflags.com, 1 elcient.com, 1 elcigaro.bg, 1 elcin.tk, 1 elcom.au, 1 elcom.com.au, 1 elcom.net.au, 1 +elcomcloud.com, 1 elcomcms.au, 1 elcomcms.com, 1 elcomcms.com.au, 1 @@ -48309,6 +48730,8 @@ eldevo.com, 1 eldhestar.is, 1 eldiario.net, 1 eldiedesign.com, 1 +eldin.ba, 1 +eldinturkic.com, 1 eldisagjapi.de, 1 eldorado.aero, 1 eldoradocylinders.com, 1 @@ -48578,11 +49001,13 @@ elenta.lt, 1 eleonardo.tk, 1 eleonora.gay, 1 eleonoraanzini.tk, 1 +eleonoramazzola.com, 1 eleonorapapallo.tk, 1 eleonrp.tk, 1 eleoonline.net, 1 elephant-orchestra.com, 1 elephant-orchestra.cz, 1 +elephantartonline.com, 1 elephantbasslab.tk, 1 elephantia.cf, 1 elephantorchestra.cz, 1 @@ -48697,7 +49122,7 @@ elimidrol.com, 1 eliminations.tk, 1 elimitecreamforsale.ga, 1 elimperiolatino.com, 1 -elina.pp.ua, 0 +elina.pp.ua, 1 elinaflower.com, 1 elinformatico.tk, 1 elink.io, 1 @@ -48792,11 +49217,13 @@ elitexindia.in, 1 elitexxx.com, 1 elithus.se, 1 elitmedopt.ru, 1 +elivenet.com, 1 elixi.re, 1 elixir.bzh, 1 elixirfactory.io, 1 elizabethcitync.gov, 1 elizabethefle.com, 1 +elizabethgeren.com, 1 elizabethgreenfield.com, 1 elizabethhospeech.com, 1 elizabethrominski.com, 1 @@ -48929,7 +49356,6 @@ elpatronorlando.com, 1 elpcnc.com, 1 elpellejodelabreva.tk, 1 elperdigon.tk, 1 -elperfil.pe, 1 elperiodicodelaenergia.com, 1 elpincho.tk, 1 elplugins.xyz, 1 @@ -48983,6 +49409,7 @@ eltip.click, 1 eltjon.duckdns.org, 1 eltlaw.com, 1 elto.ch, 0 +eltohsurgery.com.sg, 0 eltonpastilha.me, 1 eltormo.tk, 1 eltoroweakly.com, 1 @@ -49064,7 +49491,7 @@ emaillagebaingenial.ca, 1 emailmasker.nl, 1 emailmebutton.com, 1 emailmeform.com, 1 -emailoctopus.com, 0 +emailoctopus.com, 1 emailprivacytester.com, 1 emailprocessorpro.gq, 1 emailpursuits.com, 1 @@ -49144,6 +49571,8 @@ emdesigns.tk, 1 emdrtherapytoronto.com, 1 emdrupholm.dk, 1 emdvcorasia.com, 1 +emdynint.io, 1 +emed.com, 0 emedpractice.com, 1 emeetattd.ddns.net, 1 emekegitimakademi.com, 1 @@ -49182,6 +49611,7 @@ emersya.com, 1 emet.hu, 1 emetodebok.no, 1 emex.ro, 1 +emfutur.com, 1 emi.im, 1 emielraaijmakers.nl, 1 emigrantes.tk, 1 @@ -49263,6 +49693,7 @@ emmauspd.gov, 1 emmawatsonking.tk, 1 emmawatsononline.tk, 1 emmc.eu, 1 +emmdy.com, 0 emmedicom.ml, 1 emmedicom.tk, 1 emmepole.tk, 1 @@ -49442,7 +49873,6 @@ emyr.net, 1 emyself.org, 1 emystars.tk, 1 emz.im, 1 -emzi0767.com, 1 emzy.de, 1 en-develop.fr, 1 en-je.fr, 1 @@ -49473,6 +49903,7 @@ enbyn.de, 1 encanroy.ca, 1 encanroy.com, 1 encanstanne.ca, 1 +encantowater.com, 0 encd.life, 1 ence.es, 1 encenna.com.br, 0 @@ -49491,6 +49922,7 @@ encontracarros.pt, 1 encontreumagp.com, 1 encontro.online, 1 encontroespiritadeinverno.com.br, 1 +encore.tech, 1 encoro.org, 1 encotentin.fr, 1 encouragemarketing.com, 1 @@ -49528,7 +49960,7 @@ endean.com, 1 endeavourbiz.com, 1 endee.de, 1 endeksa.com, 1 -endener.com, 0 +endener.com, 1 ender.co.at, 1 ender.fr, 1 ender.moe, 1 @@ -49569,7 +50001,6 @@ endrust.com.au, 1 endsoftpatents.org, 1 endsoftwarepatents.org, 1 endspamwith.us, 1 -endstation-chaos.de, 1 enduranceseries.ca, 1 enduro-center.pt, 1 enduroxtrem.tk, 1 @@ -49726,7 +50157,6 @@ enganchesevilla.es, 1 engardelinux.org, 1 engaugetools.com, 1 engbers.com, 1 -engehall.com, 1 engelandautohuur.nl, 1 engeldasein.at, 1 engeldasein.com, 1 @@ -49776,7 +50206,6 @@ englandgenealogy.co.uk, 1 englandlearn.com, 0 englandschool.tk, 1 englesh.org, 1 -english-community.com, 1 english-to-russian-translation.tk, 1 english-training.tk, 1 english.events, 1 @@ -49805,7 +50234,6 @@ englishwaves.fr, 1 engrama.tk, 1 engrepair.com, 1 engrish.ml, 1 -engrteam.com, 1 engso-education.eu, 1 engso.com, 1 engso.eu, 1 @@ -49877,7 +50305,7 @@ enoisdaturma.tk, 1 enolalingerie.com, 1 enomada.net, 1 enonvalleyboropa.gov, 1 -enoou.com, 0 +enoou.com, 1 enorekcah.com, 1 enosiseurotrade.com, 1 enosistrade.com, 1 @@ -49953,8 +50381,10 @@ entabe.com, 1 entabe.jp, 1 entactogens.com, 1 entasyonline.com, 1 +entbastel.de, 1 entdeckertouren.com, 1 enteente.com, 1 +entegrations.io, 1 entelodont-laboratory.cz, 1 ententaxi.de, 1 enter.co, 1 @@ -50079,7 +50509,7 @@ envelopeartisans.com, 1 envelopegroup.com, 1 enveloppen.nl, 1 enveloppenopmaat.nl, 1 -enverid.com, 0 +enverid.com, 1 envescent.com, 1 envia.com.gt, 1 enviam.de, 1 @@ -50109,7 +50539,6 @@ environment.gov.ly, 1 environmental-colleges.com, 1 environmentaljustice.gov, 1 envirosell.com, 1 -envirotecmagazine.com, 1 envirotecstructures.com.au, 1 envirotivity.com, 1 envirowastemanagement.com, 1 @@ -50145,6 +50574,7 @@ eoceanic.com, 1 eod.su, 1 eofster.com, 1 eogresources.com, 1 +eohima.org, 0 eol-team.tk, 1 eola.co, 1 eolasinnovation.com, 1 @@ -50268,6 +50698,7 @@ epnuffic.nl, 0 epobocka.com, 1 epoch-film.ml, 1 epochcg.pt, 1 +epochconcepts.com, 0 epochstream.com, 1 epolitiker.com, 1 epos.az, 1 @@ -50327,6 +50758,7 @@ eqtgroup.com, 1 eqtpartners.com, 1 eqtventures.com, 1 equalifica.com.br, 1 +equalityhealthcareservices.com, 1 equalitync.org, 1 equalone.co.jp, 1 equals.com.br, 1 @@ -50529,6 +50961,7 @@ erito.com, 1 eritonetwork.com, 1 eritopremium.com, 1 erium.fr, 1 +erkeklersoruyor.com, 1 erkemeij.com, 1 erkenntniswen.de, 1 erkiss.club, 1 @@ -50638,6 +51071,7 @@ erudicia.se, 1 erudicia.uk, 1 erudikum.cz, 1 erudio-usluge.hr, 1 +eruisreads.com, 1 ervaarjapan.nl, 1 ervirmaison.tk, 1 erwanlepape.com, 1 @@ -50755,6 +51189,7 @@ escriva.org, 1 escrocratie.tk, 1 escrowalliance.com, 1 escspain.tk, 1 +escuelabiblica.com, 1 escuelacaninalatejera.es, 1 escueladego.tk, 1 escueladelsabor.com, 1 @@ -50830,7 +51265,6 @@ esko.bar, 1 eskortmoscow.com, 0 eskritt.ca, 1 eskuvoivideohd.hu, 1 -eskypartners.com, 1 esl.org, 1 eslamahmed.tk, 1 esleme.com, 1 @@ -50870,6 +51304,7 @@ esoterikerforum.de, 1 espabox.com, 1 espace-caen.fr, 0 espace-gestion.fr, 1 +espace-habitat-francais.fr, 1 espace-orenda.ch, 1 espace-vet.fr, 1 espace.network, 1 @@ -50893,6 +51328,7 @@ espairecer.pt, 1 espanol.search.yahoo.com, 0 espanyoldebarna.tk, 1 espass.gq, 1 +espbimbel.com, 1 espci.fr, 1 especes.org, 1 especializasaudecursos.com.br, 1 @@ -51307,7 +51743,7 @@ eu-secured.com, 1 eu-stellenangebot.de, 1 eu.ax, 1 eu4ua.org, 1 -euaaaio.ru, 0 +euaaaio.ru, 1 euc.world, 1 euchance.hu, 1 euchre.us, 1 @@ -51422,6 +51858,7 @@ eurocontrol.xxx, 1 eurodanceperu.tk, 1 eurodentaire.com, 1 eurodesk.eu, 1 +eurodontic.co.uk, 0 euroenergy.tk, 1 euroestetica.ec, 1 euroevent.nl, 1 @@ -51485,7 +51922,6 @@ europeanpreppers.com, 1 europeanspring.net, 1 europeanstudies-chemnitz.de, 1 europeantransmissions.com, 1 -europeantransportmanagement.com, 1 europedigital.cloud, 1 europeluxuryweddings.com, 1 europeonline.tk, 1 @@ -51560,6 +51996,7 @@ evafojtova.cz, 1 evaisanta-mariaalmudever.tk, 1 evaisanta.tk, 1 evaks.az, 1 +evakuator-kharkov.kh.ua, 1 evakuator-odessa.com.ua, 1 evakuator-tut.by, 1 evakuator.ltd, 1 @@ -51582,7 +52019,7 @@ evanescenceisfallen.tk, 1 evanescencenorge.tk, 1 evanescenceturkey.tk, 1 evanfiddes.com, 1 -evang.at, 0 +evang.at, 1 evangelietuin.tk, 1 evangelionmagi.tk, 1 evangelise.asia, 1 @@ -51626,8 +52063,10 @@ evelienstormzangcoach.nl, 1 evelienuitvaartverzorging.nl, 1 evelienzorgt.nl, 1 evelin.tk, 1 +even44.no, 1 evenbijproaten.online, 1 evendesign.gq, 1 +evenflowph.ca, 1 evenimenteromania.tk, 1 eveningstar.tk, 1 eveningtaxservices.com, 1 @@ -51720,6 +52159,7 @@ evercheck.com, 1 evercred.com, 1 everdivemarine.com, 1 everestbankltd.com, 1 +everestplus.io, 1 everettduiattorneys.com, 1 everettsautorepair.com, 0 everettsbirthdayparty.com, 1 @@ -51758,7 +52198,7 @@ everseo.tk, 1 eversightwealth.com, 1 everstage.com, 1 evertonarentwe.com, 1 -evertradeelectronics.com, 0 +evertradeelectronics.com, 1 evertrust.fr, 1 evertry.co, 1 evertz.com, 1 @@ -51788,6 +52228,7 @@ everyeye.it, 1 everykidoutdoors.gov, 1 everymail.me, 1 everyoneadmins.tk, 1 +everyoneeats.com, 1 everysaving.ae, 1 everysaving.ca, 1 everysaving.co.uk, 1 @@ -51813,6 +52254,7 @@ everyveterancountsohio.gov, 1 eveshaiwu.com, 1 eveshamglass.co.uk, 1 evest.com, 1 +evetdermisin.com, 1 evetech.net, 1 evezqurbanli.tk, 1 evhoeft.com, 1 @@ -51908,7 +52350,7 @@ evosyn.com, 1 evote-ch.ch, 1 evotec.pl, 1 evoting-test.ch, 1 -evoting.ch, 1 +evoting.ch, 0 evrial.com, 1 evromandie.ch, 1 evronews.ga, 1 @@ -51922,7 +52364,6 @@ evt.com, 1 evtasima.name.tr, 1 evu-pe.tk, 1 evv.ee, 1 -evxp.it, 1 evyn.eu, 1 evz.ro, 1 ewa-hayward.co.uk, 1 @@ -51940,6 +52381,7 @@ ewasterj.com, 1 ewatchers.org, 1 ewaycorp.com, 1 eweb.org, 1 +ewebcreative.com, 0 ewebmaster.it, 1 ewen-bara.com, 1 ewesparky.com, 1 @@ -52004,6 +52446,7 @@ example.ng, 1 exampleessays.com, 1 examroll.fr, 1 examroo.nl, 0 +examroom.ai, 1 examsite.tk, 1 examsmate.in, 1 examsoft.com, 1 @@ -52027,6 +52470,7 @@ exceldatapro.com, 1 exceldor.ca, 1 exceldor.com, 1 exceldorcooperative.ca, 1 +exceldorcooperative.com, 1 exceleron.com, 1 exceleron.in, 1 excelgum.ca, 1 @@ -52177,6 +52621,8 @@ expansive.info, 1 expart.com, 1 expat.com, 1 expatexplore.com, 0 +expatfinancial.com.hk, 1 +expatholidaysthailand.com, 1 expatinpoland.com, 1 expatmortgage.uk, 1 expatriate.pl, 0 @@ -52230,6 +52676,7 @@ expertcomics.ca, 1 expertdentalgrp.com, 1 experteasy.com.au, 1 expertembeleza.com, 1 +expertembeleza.com.br, 1 expertestate.org, 1 expertgreen.pl, 1 experthiring.net, 1 @@ -52345,6 +52792,7 @@ express-hosting.org, 1 express-pay.by, 1 express-shina.ru, 1 express-shop.tk, 1 +express-vpn.com, 1 express1040.com, 1 expressarte.tk, 1 expressbanking-uat.net, 1 @@ -52369,7 +52817,9 @@ expressramps.com, 1 expressstairliftssw.co.uk, 1 expressstore.ga, 1 expressvpn.com, 1 +expressvpn.net, 1 expressvpn.works, 1 +expressvpn.xyz, 1 expresvpn-private-analytics.net, 1 exprimo.tk, 1 expungement.law, 1 @@ -52426,6 +52876,7 @@ extracting.tk, 1 extractoracentral.com, 1 extradiely.sk, 1 extradienst.at, 1 +extradivers-worldwide.com, 1 extraeasycash.com, 1 extraefficiency.tk, 1 extraefficient.tk, 1 @@ -52519,7 +52970,7 @@ eyps.net, 1 eytosh.net, 1 eyy.co, 1 eyyit.com, 0 -eza.web.id, 1 +eza.web.id, 0 ezabalium.tk, 1 ezadmin.se, 1 ezakazivanje.rs, 1 @@ -52549,6 +53000,7 @@ eznetworks.com.br, 1 ezo.io, 1 ezochat.com, 1 ezorgportaal.nl, 1 +ezoterizm.info, 1 ezprints.com, 1 ezrent.tk, 1 ezsavers.ga, 1 @@ -52560,6 +53012,7 @@ ezsun.co, 1 eztempmail.com, 1 ezuz-fe.com, 1 ezvolt.com.br, 1 +ezwebsearch.com, 1 ezyentry.com.au, 1 ezygentechnology.com, 1 ezygrowth.world, 1 @@ -52721,6 +53174,7 @@ fabriano.com, 1 fabricacultural.org.br, 1 fabricademonstros.com.br, 1 fabricandoclientes.com.br, 1 +fabricemannuelphotography.fr, 1 fabricio.adv.br, 1 fabriciokleinadvocacia.com.br, 1 fabriciomoreira.ga, 1 @@ -53056,6 +53510,7 @@ falce.in, 1 falcema.com, 1 falchion.tk, 1 falck.dk, 1 +falcn.io, 1 falcom.co.jp, 1 falcom.shop, 1 falcon.io, 1 @@ -53182,7 +53637,6 @@ familytreehq.com, 1 familytrees.net, 1 familytreewebinars.com, 1 familyzone.ga, 1 -famion.eu, 1 famiport.com, 1 famlefeber.nl, 1 famonitor.com, 1 @@ -53300,6 +53754,7 @@ fanyue123.tk, 1 fanzapers.ga, 1 fanzhe.com, 1 fanzine-nimbus.tk, 1 +fanzlive.com, 1 faortega.org, 1 fap.link, 1 fap.no, 1 @@ -53365,6 +53820,7 @@ farlitesolutions.com, 1 farm-catalog.ga, 1 farm-dogecoin.tk, 1 farm-vacations.com, 1 +farmacia.pt, 1 farmaciabarcelona.com, 1 farmaciaclinica.it, 1 farmaciacomunalelacchiarella.it, 1 @@ -53377,6 +53833,7 @@ farmakon.tk, 1 farmalink.pe, 1 farmarrays.com, 1 farmasimahaganesha.ac.id, 1 +farmaspeed.it, 1 farmauna.com, 1 farmaweb.be, 1 farmbureauinsurance-mi.com, 1 @@ -53457,6 +53914,7 @@ fashiondock.de, 0 fashiondot.ga, 1 fashioneditor.gr, 1 fashionette.de, 1 +fashionfeverlifestyle.com, 0 fashionflavorph.com, 1 fashionforward.tk, 1 fashionforyou.ga, 1 @@ -53546,6 +54004,7 @@ fast4ever.tk, 1 fastable.net, 1 fastamundi.com, 1 fastandtuning.tk, 1 +fastantigentests.com.au, 1 fastbackgroundcheck.com, 1 fastbackmbg.be, 1 fastbackmbm.be, 1 @@ -53641,6 +54100,7 @@ fatiguesyndrome.com, 1 fatih-catering.com, 1 fatihingemisi.com, 1 fatimamoldes.com.br, 1 +fatimaonlinepharmacy.com, 1 fatimarojo.com, 1 fatlabwebsupport.com, 1 fatnerdstock.com, 1 @@ -53696,6 +54156,7 @@ favoritestudenters.ga, 1 favoritestudentest.ga, 1 favoritetechers.ga, 1 favouritequotations.ca, 1 +favourperfect.com.au, 0 favro.com, 1 favrotest.com, 1 faw-club.cf, 1 @@ -53817,14 +54278,15 @@ fdic.exposed, 1 fdicig.gov, 1 fdicoig.gov, 1 fdimmo24.com, 1 +fdj.fr, 1 fdkm.eu, 1 fdlibre.eu, 1 fdlp.gov, 1 fdltcc.edu, 1 fdm.ro, 1 fdms.gov, 1 -fdnsc.net, 0 -fdopportunities.com, 0 +fdnsc.net, 1 +fdopportunities.com, 1 fdp-alsdorf.de, 1 fdp-heinsberg.de, 1 fdpbrig.ch, 1 @@ -53861,7 +54323,6 @@ feb.gov, 1 febeditora.com.br, 1 febooti.com, 1 februarystars.nl, 1 -fecskefeszekotthonom.hu, 1 fecyt.es, 1 fed-shashek.spb.ru, 1 fed.monster, 1 @@ -54014,6 +54475,7 @@ fehr-online.eu, 1 fehrm.gov, 1 feibiaowang.com, 0 feiertage-ferien.com, 1 +feifandaily2024.com, 1 feignandfolly.tk, 1 feiki.tk, 1 feikuai.tv, 1 @@ -54082,6 +54544,7 @@ felixturgeon.ca, 1 felixvelarde.com, 0 felixweb.tk, 1 feliz.tk, 1 +fellas.com.tr, 1 felly.com.br, 1 felonymath.com, 1 felonymath.net, 1 @@ -54145,7 +54608,7 @@ fengyi.tel, 1 fengying.co, 1 fenhl.net, 1 fenichelar.com, 1 -feniksforge.com, 0 +feniksforge.com, 1 fenitriatnica.tk, 1 fenix-site.tk, 1 fenix-zone.tk, 1 @@ -54154,13 +54617,13 @@ fenixmetal.tk, 1 fenixonlinevirtual.com.br, 1 fenn.moe, 1 icecatmobile.wtf, 1 -fennie.onthewifi.com, 0 +fennie.onthewifi.com, 1 fenns.co.za, 1 fennville.gov, 1 fennydewit.nl, 1 fenom.ga, 1 fenris.ovh, 1 -fenritec.eu, 0 +fenritec.eu, 1 fenritec.fr, 1 fense.cf, 1 fense.ml, 1 @@ -54218,7 +54681,6 @@ fermani.ar, 1 fermani.com.ar, 1 fermastore.cf, 1 fermastore.tk, 1 -fermateh.com.ua, 1 fermemarineau.com, 1 fermentcerealesbio.fr, 1 fermenteana.com, 1 @@ -54381,6 +54843,7 @@ fezbet.net, 1 fezlee.com, 1 ff-bad-hoehenstadt.de, 1 ff-bg.xyz, 1 +ff-daily.com, 1 ff-koenigstein-opf.de, 1 ff-obersunzing-niedersunzing.de, 1 ff-tostedt.de, 1 @@ -54681,7 +55144,7 @@ filejo.com, 1 filek.ga, 1 fileplanet.com, 1 fileport.io, 1 -filequit.xyz, 0 +filequit.xyz, 1 files.com, 0 files.to, 1 files4share.com, 1 @@ -54765,7 +55228,6 @@ filmpronet.in, 1 filmsearch.tk, 1 filmserver.de, 1 filmsidan.tk, 1 -filmsleague.com, 1 filmtheaternieuwegein.tk, 1 filmwallpapers.ml, 1 filmweltverleih.de, 1 @@ -54779,7 +55241,7 @@ filosofia.tk, 1 filosofiskaeleonora.se, 1 filosofisksamtale.dk, 1 filter-kiev.com, 1 -filterboxx.com, 1 +filterboxx.com, 0 filterlists.com, 1 filtershekanha.com, 1 filthsystem.com, 0 @@ -54925,6 +55387,7 @@ findnhmoney.gov, 1 findolino.at, 1 findoon.de, 1 findorff.de, 1 +findoutlyrics.com, 1 findpwa.com, 1 findrejsepartner.dk, 1 findsalmonest.ga, 1 @@ -55030,6 +55493,7 @@ finstart.co, 1 finstererlebnis.de, 1 finstockconsulting.com, 0 finsuba.com, 1 +fintechb2b.com, 1 fintechos.com, 1 fintellix.com, 1 finteo.de, 1 @@ -55096,7 +55560,6 @@ fireleadership.gov, 1 firelinkshrine.xyz, 1 firemail.de, 1 firemaker.tk, 1 -firemudfm.com, 1 firenews.cf, 1 firenzetoday.it, 1 fireoakstrategies.com, 1 @@ -55194,7 +55657,6 @@ firstcommunity.com, 1 firstcontact.cf, 1 firstdry.com.br, 1 firstechpayments.com, 0 -firstenergyservice.com, 1 firstever.eu, 1 firstfederalbath.com, 1 firstfinanceit.com, 1 @@ -55307,6 +55769,7 @@ fistingtogether.com, 1 fistwerk.de, 1 fisvo.org, 0 fit-4u.ch, 0 +fit-mit-system.eu, 1 fit365.jp, 0 fit81.com, 1 fit81.it, 1 @@ -55346,6 +55809,7 @@ fitnessbenefit.com, 1 fitnessbest.com, 1 fitnessfreedomathletes.com, 1 fitnesshaber.com, 1 +fitnessimage.com.au, 0 fitnesskarate.club, 1 fitnessmaus.com, 1 fitnessplanet.best, 1 @@ -55381,6 +55845,7 @@ fiveclassauto.com, 1 fivecrm.com, 1 fivefortheroad.com, 1 fiveminute.tk, 1 +fivemm.shop, 1 fivepb.me, 1 fivepedia.tk, 1 fiverr.com, 1 @@ -55402,10 +55867,10 @@ fix-the-timeline.org, 1 fix.mk, 1 fix8mt.com, 1 fixabzar.com, 1 -fixator10.ru, 1 fixcyprus.cy, 1 fixedfeeplacements.co.uk, 1 fixedgear.tk, 1 +fixedmatch.bet, 1 fixedpricemovers.com, 0 fixedtoday.com.au, 1 fixerbee.us, 1 @@ -55497,6 +55962,7 @@ flabacinov.ga, 1 flabutelov.tk, 1 flacandmp3.ml, 1 flacon.tk, 1 +flacsoandes.edu.ec, 1 fladnag.net, 1 flaeskeklubben.dk, 1 flaeskeklubben.eu, 1 @@ -55625,6 +56091,7 @@ flatuslifir.is, 1 flatwoodsky.gov, 1 flauschig.net, 1 flavelappliances.com, 1 +flaviao.com, 1 flavienbonvin.com, 1 flavinha.tk, 1 flaviohipnoseclinica.com.br, 1 @@ -55674,6 +56141,7 @@ fleetssl.com, 1 fleettools.tk, 1 fleetwiz.com.au, 1 fleetyards.net, 1 +flehm.de, 1 fleisch.club, 1 fleischer-garten.de, 1 fleischkaes.de, 1 @@ -55742,6 +56210,7 @@ flextrade.com, 1 flextrades.com, 1 flextribly.xyz, 1 flextudo.com, 1 +flextypes.com, 1 flexundfix.de, 1 flexve.com, 1 flexworkhero.de, 1 @@ -55804,6 +56273,7 @@ flipflop.rs, 1 flipin.ga, 1 flipmusic.tk, 1 flipneus.net, 1 +flipnhotdeals.com, 1 flipos.be, 0 flipperkast.tk, 1 flippers-leuven.be, 1 @@ -55922,7 +56392,7 @@ florianbouchet.fr, 1 floriane-even.fr, 1 floriankarmen.com, 1 florianmitrea.uk, 1 -floriansanchez.com, 0 +floriansanchez.com, 1 florianstroeger.com, 1 florianstroeger.tk, 1 floriantanner.ch, 1 @@ -55950,6 +56420,7 @@ floridaschools.us, 1 floridastadium.ga, 1 floridastadiumers.ga, 1 floridastadiumest.ga, 1 +floridastatefair.com, 1 floridastatefair.net, 1 floridastatefairag.com, 1 floridastatefairauthority.com, 1 @@ -55975,7 +56446,7 @@ flothow.com, 1 floucloud.id, 1 flourishdx.com, 1 flourishgrazingevents.co.uk, 1 -flourishtogether.com, 0 +flourishtogether.com, 1 flow-serv.com, 1 flow.su, 1 flowair24.ru, 1 @@ -56150,6 +56621,7 @@ flyingpointphotography.com, 1 flyingpotatoes.tk, 1 flyingpress.com, 1 flyingspaghettimonsterdonationsfund.nl, 1 +flyingtomorocco.com, 1 flyingtutorsers.ga, 1 flylcpa.gov, 1 flylvia.com, 1 @@ -56280,6 +56752,7 @@ focusneo.no, 1 focusoptimization.com, 1 focusproductions.tk, 1 focusreferrals.co.uk, 1 +focusrtech.com, 1 focustec.tk, 1 focusti.com.br, 1 focustuningclub.tk, 1 @@ -56591,6 +57064,7 @@ foothillscript.com, 1 footloose.co.uk, 1 footmercato.net, 1 footparisien.com, 1 +footsteps.lk, 1 footstepsinthegambia.com, 0 footstepsontheglobe.com, 1 foottube.com, 1 @@ -56643,6 +57117,7 @@ fordsbranch.church, 1 fordservicetraining.com, 1 fordshop.by, 0 fordtrac.com.br, 1 +foreachpartners.com, 1 foreammatti.fi, 1 forecastapp.net, 1 forecastcity.com, 1 @@ -56792,6 +57267,7 @@ formommiesbymommy.com, 1 formopinionest.ga, 1 formoplast.com, 1 formotherrussia.tk, 1 +forms.cafe, 1 forms.gov, 1 formsbyair.com, 1 formsite.com, 1 @@ -56801,6 +57277,7 @@ formstack.com, 1 formstrap.com, 1 formue.com, 1 formula.cf, 1 +formulacigar.com, 1 formulacionquimica.com, 1 formulario-rutas.lat, 1 formulastudent.de, 1 @@ -56869,6 +57346,7 @@ fortebet.ug, 1 fortepiano.tk, 1 forteprenestino.net, 1 fortesanshop.it, 1 +forthenrycustomknives.com, 0 forthvalleykeswick.co.uk, 1 fortifydiy.com, 1 fortigate.es, 1 @@ -56950,6 +57428,7 @@ forumfeeers.ga, 1 forumhsbm.tk, 1 forumistudentore.tk, 1 forumix.tk, 1 +forummobile.com.br, 1 forumoff.com, 1 forumofld.in, 1 forumotion.cf, 1 @@ -56990,6 +57469,7 @@ fossa.com, 1 fossagarrafoni.tk, 1 fossbots.org, 1 fossboxen.com, 1 +fosseseptique.be, 1 fossewayflowers.co.uk, 1 fossewayflowers.com, 1 fossiilid.info, 1 @@ -57027,6 +57507,7 @@ fotobrb.de, 1 fotobringer.de, 1 fotobrinke.de, 1 fotochip.tk, 1 +fotocoach.pl, 1 fotocopiatrici.roma.it, 1 fotofaerie.net, 1 fotofast.tk, 1 @@ -57051,9 +57532,11 @@ fotolectura.tk, 1 fotoleitner.com, 1 fotoleitner.de, 1 fotoloji.art, 1 +fotoloji.net, 1 fotomatonweb.es, 1 fotomodel.cf, 1 fotomodels.tk, 1 +fotonbolivia.com.bo, 1 fotonippon.com, 1 fotontechnik.pl, 1 fotonza.ru, 1 @@ -57106,6 +57589,7 @@ foundrehotels.com, 1 foundries.io, 1 foundry512.com, 1 foundryhome.com, 1 +foundsounds.me, 1 fountain.com, 1 fountain.company, 1 fountaincitywi.gov, 1 @@ -57128,7 +57612,7 @@ fournisseur-energie.com, 0 fourpeaks.com, 1 fourscore.ga, 1 fourseasonsalbany.com, 1 -fourseasonsfairways.com, 1 +fourseasonsfairways.com, 0 fourseasonssunroomsyosset.com, 1 fourstrategy.de, 1 fourwaysplumber24-7.co.za, 1 @@ -57156,7 +57640,7 @@ foxcav.es, 1 foxcityflix.com, 1 foxcloud.tk, 1 foxcon.tk, 1 -foxdeli.com, 0 +foxdeli.com, 1 foxdemos.ml, 1 foxdev.co, 1 foxdirectory.tk, 1 @@ -57228,6 +57712,7 @@ fptbb.com, 1 fptsoftware.com, 1 fpu.sk, 1 fpy.cz, 1 +fqcstandard.com.tr, 1 fr-fotopage.tk, 1 fr.search.yahoo.com, 0 fr33tux.org, 1 @@ -57386,6 +57871,7 @@ franciscoperezyoma.com, 0 francisfazzini.com, 1 francishouserecovery.org, 1 franckgirard.net, 1 +francobortolotti.com, 1 francocasimirri.tk, 1 francoexpeditionperu.com, 1 francofunghi.tk, 1 @@ -57532,6 +58018,7 @@ fraudpoders.ga, 1 fraudpodest.ga, 1 fraudswatch.tk, 1 frauen-etappenrennen.de, 1 +frauenaerztin-wedel.de, 1 frauenarztzentrum-am-see.ch, 1 frauenlob.rocks, 0 frauenpraxislaufental.ch, 1 @@ -57549,6 +58036,7 @@ frc.gov.au, 1 frc.us.com, 1 frccsgo.tk, 1 frcdr.org, 1 +frce.moe, 1 freak-show.tk, 1 freak-team.tk, 1 freak-waves.de, 1 @@ -57643,11 +58131,11 @@ free-tarot.net, 1 free-watching.ga, 1 free-webtv.tk, 1 free.com.tw, 1 -free.law, 0 +free.law, 1 free.mg, 1 free.sh, 1 free.tools, 1 -free4allsw.com, 0 +free4allsw.com, 1 free6to12yo.gq, 1 freeaf.gq, 1 freeagent.tk, 1 @@ -57725,6 +58213,7 @@ freedomwill.tk, 1 freedomworldoutreach.com, 1 freeebooksblog.com, 1 freeenglishhelp.com, 1 +freeexampapers.com, 1 freefallproductions.tk, 1 freefemale.com, 1 freefilesync.org, 1 @@ -58156,6 +58645,7 @@ froh-s.com, 1 froh.co.jp, 1 frohsinnoberzier.de, 1 froicorp.com, 1 +frok.ai, 1 frok.com, 1 frokenblomma.se, 1 from-the-net.com, 1 @@ -58202,6 +58692,7 @@ frontigate.com, 1 frontline.cloud, 1 frontline6.com, 0 frontlinepolicies.com, 1 +frontofficeroofing.com, 0 frontofthehouse.com, 1 frontrouge.fr, 1 froogo.co.uk, 1 @@ -58271,7 +58762,6 @@ fruitlawers.ga, 1 fruitmoose.com, 1 fruitscale.com, 1 fruitsexpressdelivery.com.sg, 1 -fruitsfromchile.com, 1 fruittree.com.my, 1 fruittree.com.sg, 1 fruitware.ae, 1 @@ -58381,6 +58871,7 @@ ftgeufyihreufheriofeuozirgrgd.tk, 1 ftgho.com, 1 fthat.link, 1 ftl-gaming.tk, 1 +ftl13.com, 1 ftlparksprojects.com, 1 ftm.wiki, 1 ftmc.tk, 1 @@ -58546,6 +59037,7 @@ fulgentoncology.com, 1 fulgenzis.com, 1 fulisex.com, 1 fuliwang.info, 1 +full-hd.info, 1 full-service-suite.com, 1 full-stack.ninja, 1 full.eu.org, 1 @@ -58996,6 +59488,7 @@ futuresinmarketing.co.uk, 1 futuresonline.com, 0 futuresound.tk, 1 futurestyletiling.com.au, 1 +futuretechtrends.co.uk, 1 futureville.city, 1 futurewithoutfear.org, 1 futurewithoutfear.us, 1 @@ -59004,6 +59497,7 @@ futuristicarchitectures.tk, 1 futuristicjobs.sk, 1 futuristspeaker.com, 1 futurity.ml, 1 +futurygames.com, 1 fuvarlevel.hu, 1 fuvelis.com, 1 fuwafuwa.moe, 1 @@ -59013,7 +59507,7 @@ fuxia.ai, 1 fuyeor.com, 1 fuyeor.net, 1 fuyeor.top, 1 -fuyer.cn, 0 +fuyer.cn, 1 fuyu.moe, 1 fuzhi.com, 1 fuzigames.com, 1 @@ -59208,6 +59702,7 @@ g9297.co, 1 g9728.co, 1 g9kingnine.xyz, 1 ga-digitazion.com, 1 +ga-part.ru, 1 ga.fr, 1 ga4wp.com, 1 gaaog.com, 1 @@ -59291,7 +59786,9 @@ gadget-freak.cf, 1 gadget-hat.tk, 1 gadget-tips.com, 1 gadgetdetected.com, 1 +gadgeteval.com, 1 gadgetflashers.ga, 1 +gadgetflip.com, 1 gadgetfreak.cf, 1 gadgetgalaxy.ro, 1 gadgetgi.ga, 1 @@ -59317,7 +59814,7 @@ gaeldst.dk, 1 gaelico.tk, 1 gaelle-esthetique.com, 1 gaestehaus-leipzig.de, 1 -gaestehaus-monika.com, 0 +gaestehaus-monika.com, 1 gaetanosonline.com, 0 gafachi.com, 1 gafan.cf, 1 @@ -59510,6 +60007,7 @@ gambisti.de, 1 gambitnash.co.uk, 1 gambitnash.com, 1 gambitprint.com, 1 +gambleinireland.com, 1 gamblersgaming.eu, 1 gamblerspick.com, 1 gambling-business.club, 1 @@ -59524,6 +60022,7 @@ game-gentle.com, 1 game-net.ml, 1 game-repack.site, 1 game.es, 1 +game.gal, 0 game4less.com, 1 game818play.com, 1 game88play.com, 1 @@ -59816,6 +60315,7 @@ gardenandhens.com, 1 gardenblog.tk, 1 gardencentreshopping.co.uk, 1 gardencityal.gov, 1 +gardendonkey.com, 1 gardengameshireuk.com, 1 gardengroveca.gov, 1 gardengusto.ie, 1 @@ -59846,6 +60346,7 @@ gargola.tk, 1 garibaldi.gov, 1 garibyatri.com, 1 gariganshi.ml, 1 +garip.me, 1 garito3pa.tk, 1 gariwo.net, 1 garlandcountyar.gov, 1 @@ -59909,16 +60410,18 @@ garycarmell.com, 1 garygreenbergonline.com, 1 garyjones.co.uk, 1 garyrh.com, 1 -garystallman.com, 0 +garystallman.com, 1 garywhittington.com, 0 gas-boilers.tk, 1 gas-online.cz, 1 gas-proekt.tk, 1 gasb87leaseaccounting.com, 1 gasbarkenora.com, 1 +gasdetect.com.br, 1 gasenergy.kz, 1 gasesdelaguajira.com, 1 gasfitermaipu.cl, 1 +gasgipfel.de, 1 gasherde.tk, 1 gashtline.ir, 1 gasigasy.mg, 1 @@ -59976,6 +60479,7 @@ gatemaster.ga, 1 gatemotorskyalami.co.za, 1 gatemoves.com, 1 gatenz-panel.com, 0 +gates-of-olympus-app.com, 1 gatesfoundation.org, 1 gatesmri.org, 1 gatesphilanthropypartners.org, 1 @@ -60019,6 +60523,7 @@ gavaskee.com, 1 gaveme.top, 1 gavilanz.ddnsfree.com, 1 gavin.sh, 1 +gavinbrown.ca, 1 gavindebecker.com, 1 gavinedson.com, 1 gavingreer.com, 1 @@ -60030,6 +60535,7 @@ gavlix.se, 1 gaw.sh, 1 gawinex.com, 1 gay-jays.com, 1 +gay-personal-ads.com, 1 gay.systems, 1 gayanalysing.co.uk, 1 gayauthors.org, 1 @@ -60045,6 +60551,7 @@ gayfr.live, 1 gayfr.online, 1 gayfr.social, 1 gayga.gov, 1 +gaygay.pro, 1 gaygeeks.de, 1 gayhotmovies.com, 1 gaylaktika.com, 1 @@ -60244,8 +60751,10 @@ gecbunlari.com, 1 gecem.org, 1 gechr.io, 1 geckler-ee.de, 0 +geckobiketours.com, 1 geckoroutes.com, 0 geckos-geocaching.de, 1 +geckosurfschool.com, 1 geckowithahat.com, 1 geco-lab.it, 1 gecosan.com, 1 @@ -60337,6 +60846,7 @@ geheugenvannederland.nl, 1 gehirn.co.jp, 1 gehirn.jp, 1 gehirnapis.jp, 1 +gehirnstatus.jp, 1 gehopft.de, 1 gehrdencarre.de, 1 gehrke.cloud, 1 @@ -60416,6 +60926,7 @@ gemeentedevesting.nl, 1 gemeentegeschiedenis.nl, 1 gemeentehub.nl, 1 gemeentehulst.nl, 1 +gemeentesluis.nl, 1 gemeentestein.nl, 1 gemeinde-merzenich.de, 1 gemeinde-rosenberg.de, 1 @@ -60439,6 +60950,7 @@ gemwerx.com, 1 gen.cn.eu.org, 1 gen.net.eu.org, 1 gen3marketing.com, 1 +gen53.org, 1 genbars.jp, 1 genbrugge.tk, 1 genchev.io, 0 @@ -60549,6 +61061,7 @@ generujdata.cz, 1 geneseecountymi.gov, 1 geneseeny.gov, 1 geneseetwpmi.gov, 1 +genesis-a-fresh-translation-from-hebrew-to-english.com, 1 genesis-herbs.com, 1 genesiseureka.com, 1 genesisgold.com, 1 @@ -60630,6 +61143,7 @@ genoveve.de, 1 genpathdiagnostics.com, 1 genroe.com, 1 gensenwedding.jp, 1 +genserve.ai, 1 genshiken-itb.org, 0 gensicke.de, 1 gensleiten.de, 1 @@ -60677,6 +61191,7 @@ gentrack.com, 0 gentryarkansaspd.gov, 1 gentrydeng.cn, 1 genuinekeys.in, 1 +genuinetech.pk, 1 genunlimited.ga, 1 genunlimited.tk, 1 genusbag.com, 1 @@ -60819,7 +61334,6 @@ georgioskontaxis.net, 1 georgioskontaxis.org, 1 georgiosnetworks.com, 1 georglauterbach.com, 1 -georglauterbach.de, 1 georgmayer.eu, 1 geosales.tk, 1 geosci-model-dev-discuss.net, 1 @@ -60867,7 +61381,7 @@ gerber-construction.com, 1 gerbil.tk, 1 gerbils.tk, 1 gerbyte.uk, 1 -gerd-frank.com, 0 +gerd-frank.com, 1 gerda.nl, 1 gereedschapmuseumdehobbyzolder.tk, 1 gerenciaconsultor.com, 1 @@ -61032,6 +61546,7 @@ geteducation.tk, 1 geteduroam.no, 1 getelectronics.tk, 1 getescrowest.ga, 1 +getestudio.com, 1 getevidenceers.ga, 1 getfastanswer.com, 1 getfedora.org, 1 @@ -61059,6 +61574,7 @@ gethyas.com, 1 geti2p.com, 1 getidee.com, 1 getidee.de, 1 +getidmcc.com, 1 getinfoleads.tk, 1 getinshape.today, 1 getinsuranceanywhere.com, 1 @@ -61113,7 +61629,6 @@ getplus.com.au, 1 getpro.plumbing, 1 getprohealth.com, 1 getpromo.cf, 1 -getpsolid.com, 1 getpublii.com, 1 getraenke-hoffmann.de, 1 getready2dance.tk, 1 @@ -61214,7 +61729,6 @@ gewis.nl, 1 gexobiz.tk, 1 geyduschek.be, 0 geymbadi.com, 1 -geytabir.cf, 1 gezakekazeg.tk, 1 gezentianne.com, 1 gezginsolar.com, 1 @@ -61235,6 +61749,7 @@ gfcorp.jp, 1 gfestival.fo, 1 gfgmmarketing.com, 1 gfiber.com, 1 +gficr.com, 1 gfk-kunststoff-luebben.de, 1 gfleaks.com, 1 gfmp.com.pl, 1 @@ -61285,6 +61800,7 @@ ggrks.lol, 1 ggs-marschallstrasse.de, 1 ggs.jp, 1 ggservers.com, 1 +ggsforex.com, 1 ggsmp.net, 1 ggss.cf, 1 ggvaulting.co.uk, 1 @@ -61344,6 +61860,7 @@ ghosthunting.dk, 1 ghostinbox.pl, 1 ghostinfluence.com, 1 ghostlight.tk, 1 +ghostly.studio, 0 ghostmail.no, 1 ghostmarket.io, 1 ghostnight.ga, 1 @@ -61370,6 +61887,7 @@ ghtmi.gov, 1 ghui.de, 1 ghwconline.org, 1 ghyvelde.fr, 1 +gi-plant.shop, 1 gi.de, 1 giac.net, 1 giac.org, 1 @@ -61532,6 +62050,7 @@ gilbertosimoni.tk, 1 gilbertsvilleny.gov, 1 gildan.com, 1 gildenhost.de, 1 +gildoafonso.com.br, 1 gileadpac.com, 1 gilescountytn.gov, 1 gilfed.com, 1 @@ -61590,6 +62109,7 @@ ginospizza.com, 1 gintaresdental.lt, 1 gintonic.tk, 1 ginv.us, 1 +ginx.tv, 1 ginza-arthall.com, 1 ginza-viola.com, 1 ginzaj.com, 1 @@ -61717,6 +62237,7 @@ githubengineering.com, 1 githubindia.com, 1 githubnext.com, 1 giti.com.sg, 1 +gitlab-apps.com, 1 gitns.com, 1 gitns.dev, 1 gitns.io, 1 @@ -61784,6 +62305,7 @@ gizlicekim.tk, 1 gizmo.ovh, 1 gizmodo.com, 1 gizmodo.in, 1 +gizmosforgeeks.com, 1 gj-bochum.de, 1 gj-cham.tk, 1 gjan.in, 1 @@ -61840,6 +62362,7 @@ glaesle.cloud, 1 glahcks.com, 1 glama.ai, 1 glamadelaide.com.au, 1 +glamaya.com, 1 glami.com.tr, 1 glaminati.com, 1 glamoncall.com, 1 @@ -61904,6 +62427,7 @@ glauca.digital, 1 glauca.space, 1 glaucoma.uk, 1 glavred.info, 0 +glazedmag.fr, 1 glazkova.ga, 1 glbaumaulwurf.de, 1 glbins.com, 1 @@ -61950,6 +62474,7 @@ glenshere.com, 1 glenwhitememorial.com, 1 glenwoodpark.com, 1 glesbymarks.com, 1 +gletschervergleiche.ch, 1 glevolution.com, 1 glexia.com, 1 glezmanz.eu, 1 @@ -62030,6 +62555,7 @@ globaldestruction.tk, 1 globaled.org.uk, 1 globalenergyinterconnection.com, 0 globalentertainment.ga, 1 +globalenv.online, 1 globalepsilon.com, 1 globalfaraday.com, 1 globalflavorjourney.com, 1 @@ -62077,7 +62603,7 @@ globalpandemictools.com, 1 globalpediatriciansest.ga, 1 globalperspectivescanada.com, 1 globalpolarbear.com, 1 -globalpouchfactory.com, 0 +globalpouchfactory.com, 1 globalproduction.ga, 1 globalprojetores.com.br, 1 globalradio.tk, 1 @@ -62123,7 +62649,7 @@ globalwindsafety.org, 1 globalwire.fi, 1 globalzone.tk, 1 globalzonetoday.com, 1 -globaz.ch, 1 +globaz.ch, 0 globe-brasil.tk, 1 globe.gov, 1 globecollege.nl, 1 @@ -62372,6 +62898,7 @@ go6lab.si, 0 go889w.com, 1 goabase.com, 1 goabase.net, 1 +goabonga.com, 1 goaddress.co.ke, 1 goaheadireland.ie, 1 goalgrass.com, 1 @@ -62399,6 +62926,7 @@ gobookmart.com, 1 gobouncy.co.uk, 1 gobouncy.com, 1 gobox.pt, 1 +gobsn.com, 1 gobus.ee, 1 gobytedesign.uk, 1 gocar.ie, 1 @@ -62542,6 +63070,7 @@ goingreen.com.au, 1 goirlanda.es, 1 goiymua.com, 1 goizalde.tk, 1 +gojilabs.com, 1 gojpt.com, 1 gokaygurcan.com, 1 gokazakhstan.com, 1 @@ -62751,16 +63280,17 @@ gondawa.com, 1 gondon.tk, 1 gonebald.tk, 1 gonegocio.net, 1 +gonenli.com, 1 gonepal.com, 1 gonerogue.ml, 1 gonfiabili.roma.it, 1 +gong.io, 1 gongik.info, 1 gongjuhao.com, 1 gongyouhui.com, 1 gonitro.com, 0 gonoodle.com, 1 gonortheast.co.uk, 1 -gontagro.com.ua, 1 gonulyoluturizm.com.tr, 1 gonumber.ga, 1 gonvarri.com, 1 @@ -62768,6 +63298,7 @@ gonx.dk, 0 gonz0.com.ar, 1 gonzalesca.gov, 1 goo.gl, 1 +goo4it.nl, 1 gooch.io, 1 good-cd.ml, 1 good-course.ga, 1 @@ -62782,17 +63313,20 @@ goodbriar.com, 1 goodchoiceflowers.com, 1 gooddatingsites.ml, 1 gooddayatwork.co.uk, 1 +gooddomain.com, 1 gooddomainna.me, 1 goodearth.com.tw, 1 goodees.com, 1 goodenglish.ga, 1 goodesign.su, 1 +goodfarms.com, 1 goodfeatherfarms.com, 1 goodfeels.net, 1 goodfoodrussia.com, 1 goodfundsgateway.com, 1 goodgame.ruhr, 1 goodhealthgateway.com, 1 +goodhotel.co, 1 goodhuecountymn.gov, 1 goodiesnet.ca, 0 goodiespub.fr, 1 @@ -62915,7 +63449,6 @@ gorchakov.org, 1 gordas.cf, 1 gordeijnsbouw.nl, 1 gordianbla.de, 0 -gordillo.legal, 1 gordion.tk, 1 gordon-reid.com, 1 gordonbeeming.com, 1 @@ -62939,6 +63472,7 @@ gorgias.me, 1 goriki.tk, 1 gorillacamping.site, 1 gorillaenergy.ru, 1 +gorinchem.nl, 1 goringdogsitting.co.uk, 1 gorki.tk, 1 gorlani.com, 1 @@ -62980,6 +63514,7 @@ gosch.de, 1 gosekku.com, 1 gosemo.com, 1 goshawkdb.io, 1 +goshen.network, 1 goshiba.pl, 1 goshin-group.co.jp, 1 goshippingcargo.com, 1 @@ -62987,11 +63522,12 @@ goshop.pl, 1 goshopnow.co.za, 1 goshrink.ca, 1 gosifa.com, 1 -gosifan.com, 0 +gosimpler.com, 1 goskey.ru, 1 goskills.com, 1 gosling-gov.tk, 1 gosling-mod.tk, 1 +goslot.com, 1 gosms.ai, 1 gosolockpicks.com, 1 gospelcologne.de, 1 @@ -63050,6 +63586,7 @@ gotmilk.ml, 1 gotnet.tk, 1 goto.google.com, 1 goto.pm, 1 +goto.world, 1 goto10.se, 1 gotobooks.ml, 1 gotobrno.cz, 1 @@ -63164,8 +63701,9 @@ goz.tr, 1 gp-engineering.se, 1 gp-lightstone.de, 1 gpalabs.com, 1 +gpatrading.com, 1 gpbdev.ru, 1 -gpccp.cc, 0 +gpccp.cc, 1 gpcmicro.com, 1 gpcp.org, 1 gpcs.ml, 1 @@ -63343,7 +63881,7 @@ gramlee.com, 1 grammar.hu, 1 grammarcheck.net, 1 grammarhouse.me, 0 -grammofono.gr, 1 +grammofono.gr, 0 grampage.ru, 1 gramtarang.org.in, 1 gran-hermano.tk, 1 @@ -63442,6 +63980,7 @@ granotamaniacos.tk, 1 granplaza.eu, 1 granpoder-islacristina.tk, 1 gransfors354.com, 1 +granstoqueatacadista.com.br, 1 granstor.com, 0 granstrom.tk, 1 grantadvisor.org, 1 @@ -63505,6 +64044,7 @@ grass-haus.de, 1 grassau.com, 1 grassberry.in, 1 grasscity.com, 0 +grassenberg.de, 1 grasshoppervape.com, 1 grasski.net, 0 grasslaketownship.gov, 1 @@ -63553,6 +64093,7 @@ gravitational.io, 1 gravitechthai.com, 1 gravitlauncher.ml, 1 graviton.work, 1 +gravity-bonanza.org, 1 gravity-inc.net, 1 gravityformspdfextended.com, 1 gravityinvestments.com, 1 @@ -63602,6 +64143,8 @@ great-mom.tk, 1 great.nagoya, 1 greatagain.gov, 1 greataltrock.tk, 1 +greatamericaneu.com, 1 +greatamericanuk.com, 1 greatbarrierisland.nz, 1 greatbarriers.com.au, 1 greatdane.com, 1 @@ -63624,6 +64167,7 @@ greathillpartners.com, 1 greatlakelocksmiths.co.nz, 1 greatlakesdatastream.ca, 1 greatlakesden.net, 1 +greatlakesnow.org, 1 greatlakesstone.com, 1 greatlakestechdiving.com, 1 greatlearning.in, 1 @@ -63648,7 +64192,7 @@ greatsurfersers.ga, 1 greatsurfersest.ga, 1 greatvacation.tk, 1 greatwalluae.com, 1 -greatwaterfilters.com.au, 0 +greatwaterfilters.com.au, 1 greatwebdesign.uk, 1 grechutaszkolenia.pl, 1 greciahora.com, 1 @@ -63759,7 +64303,7 @@ greenmaquinas.com.br, 1 greenmesg.org, 1 greenmind.tk, 1 greenmoon.tk, 1 -greenmountainenergy.com, 0 +greenmountainenergy.com, 1 greenmountaingreenwalls.com, 1 greenoakscc.com, 1 greenopedia.com, 1 @@ -63779,13 +64323,11 @@ greenrushdaily.com, 1 greensad36.ru, 1 greensboro.com, 1 greensborocc.org, 1 -greensborosecuritycameras.com, 1 greensborovt.gov, 1 greenscreenportal.com, 1 greenseo.org, 1 greensidevetpractice.co.uk, 1 greensilllatam.com, 1 -greensmartplanet.com.my, 1 greensmartplanet.my, 1 greensofthestoneage.com, 1 greenspace.expert, 1 @@ -63842,7 +64384,7 @@ gregmartyn.com, 1 gregmarziomedia.co.za, 1 gregmarziomedia.com, 1 gregmc.ru, 1 -gregmckeown.com, 0 +gregmckeown.com, 1 gregmilton.com, 1 gregmote.com, 1 grego.pt, 1 @@ -63911,6 +64453,7 @@ greymouthkiwi.co.nz, 1 greymuzzlemanor.org, 1 greypanel.com, 1 greyrectangle.com, 1 +greyscale.zone, 1 greyskymedia.com, 1 greysolonballroom.com, 1 greystonesmovement.com, 1 @@ -63945,6 +64488,7 @@ grieg-gaarden.no, 1 grieg.net, 1 grieg.no, 1 grieg.org, 1 +griegshipbrokers.no, 1 griendencollege.tk, 1 grienenberger.eu, 1 griesser2.de, 1 @@ -64073,6 +64617,7 @@ grothem.cf, 1 grothem.gq, 1 grothoff.org, 1 grottenthaler.eu, 1 +grouchysysadmin.com, 1 ground-control.de, 1 groundball.tk, 1 groundcaresolutionsllc.com, 1 @@ -64225,6 +64770,7 @@ grunion.tk, 1 grunlab.net, 1 grunttoziemia.pl, 1 grunwaldzki.center, 1 +grunwasser.fr, 1 grupatvogzivota.tk, 1 grupcarles.com, 1 grupdedansa.tk, 1 @@ -64302,6 +64848,7 @@ gryphzia.cf, 1 gryte.tk, 1 grzegorzchomutowski.pl, 1 gs-pflege.de, 1 +gs-schlossberg.de, 1 gs1.hk, 1 gs93.de, 1 gsa-online.de, 1 @@ -64315,6 +64862,7 @@ gsatest2.gov, 1 gsaxcess.gov, 1 gsbazzi.com, 1 gschissane.autos, 1 +gschwend.de, 1 gscloud.xyz, 1 gscpaudit.org.uk, 1 gsd.id, 1 @@ -64324,7 +64872,7 @@ gse.jp, 1 gservera.com, 1 gsfreak.pt, 1 gshoes.bg, 1 -gshub.io, 0 +gshub.io, 1 gsilva.org, 1 gsimagebank.co.uk, 1 gslabnet.org, 1 @@ -64339,7 +64887,6 @@ gsmsolutions.co.rs, 1 gsmtool.tk, 1 gsmvermist.tk, 1 gsp.com, 1 -gspcreations.com, 1 gspilar.tk, 1 gsplast.com, 1 gsrank.org, 1 @@ -64400,6 +64947,7 @@ gts.org, 1 gtsb.io, 1 gtslotcars.com, 1 gtsoftware.gr, 1 +gttnews.com, 1 gtupgrade.eu, 1 gtwaction.org, 1 gtxmail.de, 1 @@ -64497,6 +65045,7 @@ guerrasgalacticas.tk, 1 guerrilla-marketing.cf, 1 guerrillaradio.tk, 1 guerrillas.tk, 1 +guesanelectronics.com, 1 guesclin.com, 1 guessmatch.com, 1 guestandmore.de, 1 @@ -64799,7 +65348,6 @@ guysauto.com, 1 guysroulette.com, 1 guytarrant.co.uk, 1 guzdek.co, 1 -guzek.uk, 1 guzelforum.tk, 1 guzelkadinlar.tk, 1 guzellikmerkezleri.tk, 1 @@ -64914,6 +65462,7 @@ gymvilla.nl, 1 gynaecology.co, 1 gynaeinfertility.com.sg, 1 gynaemd.com.sg, 1 +gynaemdclementi.com.sg, 1 gynaeovariancyst.com.sg, 1 gynera.ro, 1 gynzy.com, 1 @@ -64938,6 +65487,7 @@ gz514.top, 1 gz99.top, 0 gz999.top, 0 gzdh.com, 1 +gzitech.com, 1 gzitech.net, 1 gzitech.org, 1 gzlivre.org, 1 @@ -65079,6 +65629,7 @@ habr.ee, 1 habra-adm.ru, 1 habrastorage.org, 1 habsmack.tk, 1 +habtium.es, 1 hac2er.net, 1 hacc.top, 1 haccp.bergamo.it, 1 @@ -65103,6 +65654,7 @@ hackadena.com, 1 hackamac.tk, 1 hackathontwjr.ml, 0 hackatruck.com.br, 1 +hackattack.com, 1 hackbarth.guru, 1 hackbeil.name, 1 hackbubble.me, 1 @@ -65203,6 +65755,7 @@ hadesblack.com, 1 hadesblack.net, 1 hadesblack.org, 1 hadesblack.xyz, 1 +hadetlachapelle.com, 1 hadibut.fr, 1 hadika.tk, 1 hadin.tk, 1 @@ -65261,6 +65814,7 @@ hahapo.com, 1 hahn-trafo.com, 1 hahnbowersock.com, 1 hahnbowersock.net, 1 +haibao.club, 1 haibara-ai.cn, 1 haiduc.tk, 1 haifaworld.tk, 1 @@ -65269,7 +65823,7 @@ haigle.com, 1 haihuan.com, 1 haikunap.hu, 1 haileybury.com.au, 1 -hails.info, 0 +hails.info, 1 hailstorm.nl, 1 hailstormproject.tk, 1 haimablog.ooo, 1 @@ -65413,7 +65967,7 @@ halkegitimkurs.com, 1 halkoyu.org, 1 halkyon.net, 1 hall1c.com, 1 -hallaine.com, 0 +hallaine.com, 1 hallanalysis.com, 1 hallandwilcox.com.au, 1 hallcopainting.com, 1 @@ -65426,6 +65980,7 @@ halligan.tk, 1 halligladen.de, 1 hallmanmemorials.net, 1 hallmarkbusiness.com, 1 +hallmarkestates.ca, 1 halloffameapartments.com, 1 hallofoddities.tk, 1 hallofworlds.online, 1 @@ -65466,6 +66021,7 @@ halyul.com, 1 ham.community, 1 ham.study, 1 hamacho-kyudo.com, 1 +hamali.bg, 1 hamarimarriage.tk, 1 hamartrophy.cf, 1 hamaslul.com, 1 @@ -65617,6 +66173,7 @@ handsender-express.com, 1 handsome-samurai.jp, 1 handsomeabel.tk, 1 handsonscience.com.au, 1 +handsontheheart.eu, 1 handstandstudio.ga, 1 handsup.dance, 1 handtales.com, 1 @@ -65639,8 +66196,10 @@ handysex.live, 1 haneenshirt.com, 1 hanetf.com, 1 hanewin.net, 1 +hanfmuseum.de, 1 hanfoot.tk, 1 hanfordca.gov, 1 +hanfparade.de, 1 hanfverband-erfurt.de, 0 hanfverband.de, 1 hang333.moe, 1 @@ -65692,7 +66251,7 @@ hansa.org.ru, 1 hansahome.ddns.net, 1 hansamed.net, 1 hansanders.nl, 1 -hansashop.eu, 1 +hansashop.eu, 0 hansatransporte.de, 1 hansbruis.tk, 1 hanschconsulting.com, 1 @@ -65701,6 +66260,9 @@ hansemind.de, 1 hansen-kronshagen.de, 1 hansen.hn, 1 hanseyachtsag.com, 1 +hansgoes.it, 1 +hansgoes.nl, 1 +hansgoesit.nl, 1 hansgrohe-usa.com, 1 hansgrohe.com, 1 hansgrohe.de, 1 @@ -65735,12 +66297,12 @@ haoyu-nas.ddns.net, 1 haoz.tk, 1 haozhexie.com, 1 haozi.me, 1 -hapfox.de, 1 hapi.agency, 1 hapijs.cn, 1 hapissl.com, 1 hapivm.com, 1 hapless.tk, 1 +happennino.net, 1 happeopleindonesia.id, 1 happiestoutdoors.ca, 1 happii.dk, 1 @@ -65958,7 +66520,6 @@ harmlesspeopleest.ga, 1 harmonicasireland.com, 0 harmonizely.com, 0 harmony-labradoodles.nl, 1 -harmony-trader.com, 1 harmony.co.id, 1 harmonyeg.net, 1 harmonyencoremdm.com, 1 @@ -65998,6 +66559,7 @@ harrcostl.com, 1 harriedrecords.tk, 1 harrietjohnston.tk, 1 harrimantn.gov, 1 +harringtonca.com, 1 harrisburgnc.gov, 1 harrisconsulting.ie, 1 harriscountyesd11.gov, 1 @@ -66088,6 +66650,7 @@ haryana.gov.in, 1 harz.cloud, 0 harzin.tk, 1 has-no-email-set.de, 1 +has.bet, 1 has.gy, 1 has.report, 1 has.work, 1 @@ -66262,7 +66825,7 @@ havenquilters.com, 1 haventoday.org, 0 haverford.com, 1 havernbenefits.com, 1 -havetherelationshipyouwant.com, 0 +havetherelationshipyouwant.com, 1 havi-engel.de, 1 havivdriver.co.il, 1 havo.co.id, 1 @@ -66347,6 +66910,7 @@ hazelhof.nl, 1 hazelkid.tk, 1 hazelwood.co.uk, 1 hazeover.com, 1 +hazhistoria.net, 1 hazimdesign.tk, 1 hazirlikatlamakursu.com, 1 hazlocheaters.com, 1 @@ -66366,10 +66930,12 @@ hba1crechner.de, 1 hbaa.ml, 1 hbag.org, 1 hbauer.net, 0 +hbbet.com, 1 hbcm70.fr, 1 hbcommand.com, 1 hbcu-colleges.com, 1 hbedocs.com, 1 +hbfisioeesthetic.com.br, 1 hbgshop.cf, 1 hbh.sh, 1 hbility.eu, 0 @@ -66385,7 +66951,6 @@ hbr.link, 1 hbs-it-gmbh.de, 1 hbslick.com, 1 hbsslaw.co.uk, 1 -hbsslaw.com, 1 hbsvzos.nl, 1 hbudd.com, 0 hbussmann.com, 1 @@ -66448,7 +67013,7 @@ hdeaves.uk, 1 hdevent.net, 1 hdfreex.com, 1 hdgrannytube.com, 1 -hdhoang.space, 0 +hdhoang.space, 1 hdhomelift.com, 1 hdlooks.tk, 1 hdm-bogensport.at, 1 @@ -66468,6 +67033,7 @@ hdrams.com, 1 hdrcomercio.com.br, 1 hdrezka.live, 1 hdrezka2018.tk, 1 +hdrip.info, 1 hdrtranscon.com, 0 hds-lan.de, 1 hdscheduleers.ga, 1 @@ -66483,7 +67049,7 @@ hdtvboarders.ga, 1 hdtvboardest.ga, 1 hdv.paris, 1 hdv12.horse, 1 -hdview.co.uk, 0 +hdview.co.uk, 1 hdwetpussy.com, 1 hdxxxpics.net, 1 hdy.nz, 1 @@ -66929,8 +67495,9 @@ heartofgod.tk, 1 heartoftexaseye.com, 1 heartofthemidlands.co.uk, 1 heartofthepeace.com, 0 +heartonmysleevegreetings.com, 1 hearts-science.com, 1 -heartsintrueharmony.com, 0 +heartsintrueharmony.com, 1 heartsucker.com, 0 hearttruth.gov, 1 heartway.xyz, 1 @@ -67238,7 +67805,6 @@ heliobil.fr, 1 heliocentrism.jp, 1 heliolira.com, 1 helion.ch, 0 -helioring.com, 1 helios4.com, 1 heliosbot.net, 1 heliosenergie.it, 1 @@ -67246,7 +67812,6 @@ heliosnet.com, 1 heliosvoting.org, 0 heliport-moscow.ru, 1 heliport-parts.ru, 1 -helisimmer.com, 1 helium.computer, 1 heliumtech.tk, 1 heliwing.com, 1 @@ -67323,7 +67888,6 @@ helloteen.tk, 1 hellothought.net, 1 hellov.in, 1 helloverify.com, 1 -hellovillam.com, 1 helloworldhost.com, 0 helloyubo.com, 1 hellpc.net, 0 @@ -67697,6 +68261,7 @@ herthaloewen.tk, 1 hertshealthyworkplace.org.uk, 1 heru.tk, 1 herumixer.ga, 1 +hervegranger.fr, 1 hervormdweeshuiszwolle.nl, 1 herworld.com, 1 herychreality.cz, 1 @@ -67801,6 +68366,7 @@ hexforged.com, 1 hexhu.com, 1 hexhu.net, 1 hexiaohu.cn, 0 +hexid.me, 0 hexieshe.com, 1 hexo.ink, 0 hexo.io, 0 @@ -67831,11 +68397,14 @@ heydenbluth.de, 1 heydorff.duckdns.org, 1 heydudd.com, 1 heyfiesta.com, 1 +heyfordpark.com, 0 heyfranky.com, 1 heyghost.io, 1 heyitgirl.com, 1 heyitsfree.net, 1 +heyjenndigital.com, 1 heyjoecoffee.com, 1 +heyjoflyer.win, 1 heylogin.com, 1 heynowbots.com, 1 heyomg.com, 1 @@ -67898,6 +68467,7 @@ hh6957.co, 1 hh9297.co, 1 hh9397.com, 1 hh9728.co, 1 +hhank.com, 1 hhdelfland.nl, 1 hhhdb.com, 1 hhk.my.id, 1 @@ -67958,6 +68528,7 @@ hiddenhillselectric.com, 1 hiddenhillsexteriorlighting.com, 1 hiddenhillslighting.com, 1 hiddenimage.ml, 1 +hiddenleaf.network, 1 hiddenmalta.net, 1 hiddenpalms.tk, 1 hiddenredknights.tk, 1 @@ -68008,6 +68579,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 @@ -68038,6 +68610,7 @@ highgateworks.co.uk, 1 highheeltamia.com, 1 highintegrity.tk, 1 highinthemid80s.com, 1 +highkick.jp, 1 highland-webcams.com, 1 highlanddancing.tk, 1 highlandheights-ky.gov, 1 @@ -68202,6 +68775,7 @@ hintergedanken.com, 0 hinterposemuckel.de, 1 hinto.com.au, 1 hintss.pw, 0 +hinyari.net, 1 hiob.fr, 0 hiofd.com, 1 hiorth.tk, 1 @@ -68592,6 +69166,7 @@ hochheimer-zeitung.de, 1 hochimins.org, 1 hochland.pl, 1 hochoukikikiraku.com, 1 +hochsee.schule, 1 hochtief.cz, 1 hochu.ua, 1 hochuvrotik.cf, 1 @@ -68772,6 +69347,7 @@ hollistermo.gov, 1 hollmann.international, 1 hollowman.ml, 1 hollowwinds.xyz, 1 +holly.lgbt, 1 hollybanks.net, 1 hollybonnerdesigns.com, 1 hollyforrest.ca, 1 @@ -68911,6 +69487,7 @@ homecompost.in, 1 homecpr.com.au, 1 homecrawler.ga, 1 homecreatives.net, 1 +homecrewconstruction.com, 1 homedecorclassic.tk, 1 homedecorspecialists.com, 1 homedesignabilene.tk, 1 @@ -69029,6 +69606,7 @@ homedeveloper.gq, 1 homedeveloper.ml, 1 homedeveloper.tk, 1 homedirectory.ml, 1 +homedizz.top, 1 homedollar.ga, 1 homedollars.ga, 1 homeduck.ga, 1 @@ -69091,7 +69669,7 @@ homemadetipsers.ga, 1 homemadetipsest.ga, 1 homemaintenanceservicesindubai.com, 1 homemarks.ga, 1 -homemaster-chita.ru, 0 +homemaster-chita.ru, 1 homematicblog.de, 1 homemediadb.org, 1 homemember.ga, 1 @@ -69251,6 +69829,7 @@ honestworknmoney.tk, 1 honesty.com.pl, 1 honey.beer, 1 honeyarcus.art, 1 +honeybrooklibrary.org, 1 honeycomb.io, 1 honeycome-recruit.com, 0 honeycreeper.com, 1 @@ -69340,6 +69919,7 @@ hopeforlorn.tk, 1 hopeforukraine.org.uk, 1 hopefultexas.com, 0 hopemeet.info, 1 +hopemeet.me, 1 hopepartnershipproject.com, 1 hopesanddreams.org.uk, 1 hopewellpolicenj.gov, 1 @@ -69357,11 +69937,13 @@ hopkintonri.gov, 1 hopnepal.com, 1 hopo.design, 1 hoponmedia.de, 1 +hoppenr.xyz, 1 hoppinjohn.org, 0 hoppy.com, 1 hoppygo.com, 1 hops-and-ashes.de, 1 hopscotchmodel.com, 1 +hopsfeatherfest.at, 1 hopsmaus-shop.de, 0 hopted.com, 1 hor.website, 1 @@ -69431,7 +70013,6 @@ horoscopist.com, 1 horoscopo.ml, 1 horotoday.tk, 1 horovod.im, 1 -horozo.com, 1 horrell.ca, 1 horrendous-servers.com, 1 horror-forum.de, 1 @@ -69455,6 +70036,7 @@ horsellscoutsandguides.com, 1 horsemanshipdentistry.com, 1 horsemanshipdentistryschool.com, 1 horseplanet.tk, 1 +horseridingdurban.com, 1 horsewithnoname.com, 1 horsky.me, 1 horstfuchs.tk, 1 @@ -69502,6 +70084,7 @@ hospitalcruzvermelha.pt, 1 hospitaldaluz.pt, 1 hospitaldebarcelona.cat, 1 hospitaldelaconcepcion.com, 1 +hospitaldeovalle.cl, 1 hospitality-colleges.com, 1 hospitality-on.com, 1 hospitalityandcateringnews.com, 1 @@ -69567,6 +70150,7 @@ hosting.ua, 0 hostingactive.it, 0 hostingalternative.com, 0 hostingdesignweb.com, 0 +hostingdiario.com, 1 hostingdirect.nl, 1 hostingdirectory.ga, 1 hostingelite.tk, 1 @@ -69598,6 +70182,8 @@ hostpoint-static.ch, 1 hostpoint.ch, 1 hostprior.ro, 1 hostreputation.com, 1 +hostripples.com, 1 +hostripples.in, 1 hosts.cf, 0 hostsall.com, 1 hostup.se, 0 @@ -69613,7 +70199,6 @@ hot-sex-photos.com, 1 hot-shots-photos.com, 1 hot-spa.ch, 0 hot.ee, 1 -hot.in.th, 1 hot.v.ua, 1 hot101fm.tk, 1 hotaircoldlove.tk, 1 @@ -69817,6 +70402,7 @@ hotzheipoe.com, 1 houdah.com, 1 houdenvanhonden.nl, 1 houghcovidtest.com, 1 +houghcovidtest.com.au, 1 houghtonstatebank.com, 1 houlang.ac.cn, 1 houraiteahouse.net, 1 @@ -69912,6 +70498,7 @@ houzz.jp, 1 houzz.se, 1 hovala.tk, 1 hovelaar.nl, 1 +hoverboardbarato.com, 1 hovewest.no, 1 hovset.net, 1 how-things-work-science-projects.com, 1 @@ -69968,6 +70555,8 @@ howsmytls.com, 1 howto-connect.com, 1 howto-outlook.com, 0 howtobehealthy.tk, 1 +howtobestraightbook.com, 1 +howtobewhitebook.com, 1 howtodesignwebsite.com, 1 howtogeek.com, 1 howtogeekpro.com, 1 @@ -70094,6 +70683,7 @@ hrlive.ga, 1 hrmafia.ga, 1 hrmcms.com, 1 hrmg.agency, 1 +hrminohub.com, 1 hrmny.sh, 1 hrndz.io, 1 hrnk.org, 1 @@ -70357,6 +70947,7 @@ hubx.co, 1 huchet.me, 0 hucklebucks.com, 1 huckletree.com, 0 +hudaa.us, 1 hudbugcomics.com, 1 hudconstruction.co.uk, 1 huddlecamhd.com, 1 @@ -70597,11 +71188,13 @@ hungarian-united-church.tk, 1 hungarianeducationagency.com, 1 hungaromedia.at, 1 hungaryz.ml, 1 +hungnm.me, 1 hungphatlaptop.com, 1 hungryas.tk, 1 hungryginie.com, 1 hungrygowhere.com, 1 hungryhealthyhappy.com, 0 +hungu.net, 1 hunhold.at, 1 hunhold.biz, 1 hunhold.ch, 1 @@ -70624,6 +71217,7 @@ huntersandprops.tk, 1 hunterscreekapartments.net, 1 hunterscrolls.tk, 1 huntersridgecabins.com, 1 +hunterstorm.com, 1 hunterwoodheatingandplumbing.co.uk, 1 huntflow.ai, 1 hunting.ml, 1 @@ -70674,6 +71268,7 @@ hurtigrabat.dk, 1 hurtigtinternet.dk, 1 husakbau.at, 1 huseyinpala.com, 1 +hushbabysleep.com, 1 hushfile.it, 1 hushlayer.com, 1 hushpuppiesobuv.ru, 1 @@ -70800,6 +71395,7 @@ hydrabit.nl, 1 hydralube.ie, 1 hydrante.ch, 0 hydras.tk, 1 +hydrauliikkakauppa.fi, 1 hydraulikbutiken.se, 1 hydrazin.pw, 1 hydrique.ch, 1 @@ -70839,6 +71435,7 @@ hyec.jp, 1 hyex.com.au, 1 hyfood.it, 1 hygienet.be, 1 +hygo.com, 0 hygraph.com, 1 hyhealth.it, 1 hyk.me, 1 @@ -71002,6 +71599,7 @@ i-cyber.gov.ua, 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 @@ -71037,6 +71635,7 @@ i.hosting, 1 i00.eu, 1 i00228.com, 1 i0day.com, 1 +i10z.com, 1 i18nweave.com, 1 i24.host, 1 i2capmark.com, 1 @@ -71050,6 +71649,7 @@ i36588.com, 1 i3c6d0s.com, 1 i3o.me, 1 i49.net, 1 +i4i.com, 1 i4recruit.com, 1 i4ware.fi, 1 i51365.com, 0 @@ -71104,6 +71704,7 @@ iambhatti.tk, 1 iamcloud.de, 1 iamconnected.eu, 1 iamedicale.fr, 1 +iamfortytwo.com, 1 iamhealthystore.com, 1 iamhenryjvera.com, 1 iaminashittymood.today, 1 @@ -71121,6 +71722,7 @@ iamsamaskom.tk, 1 iamseo.co, 1 iamtheib.me, 1 iamthelife.io, 1 +iamthesweetspot.com, 0 iamtp.com, 1 iamveryti.red, 1 ian-barker.co.uk, 1 @@ -71218,6 +71820,7 @@ ibilog.net, 1 ibin.co, 1 ibipoint.com, 1 ibiu.xyz, 0 +ibiz.mk, 1 ibizads.tk, 1 ibizaluxuryachts.com, 1 ibk.at, 1 @@ -71437,6 +72040,7 @@ icr-box.ddns.net, 1 icraft.bg, 1 icrat.org, 1 icreative.nl, 1 +icruise.com, 1 icsense.com, 1 icsolutions.nl, 1 icst.tk, 1 @@ -71462,6 +72066,7 @@ ictv1.com, 1 ictwebsolution.nl, 1 icuc.social, 1 iculture.nl, 1 +icusignature.com, 1 icustomboxes.com, 1 icyapril.com, 1 icycanada.com, 1 @@ -71485,6 +72090,7 @@ id-conf.com, 1 id-fxcm.com, 1 id-strategies.com, 1 id.atlassian.com, 0 +id.et, 1 id.fedoraproject.org, 0 id.mayfirst.org, 1 id.search.yahoo.com, 0 @@ -71516,6 +72122,7 @@ idc.yn.cn, 1 idc95.com, 0 idcrushermachine.ga, 1 idcwr.com, 1 +iddaatahmin11.com, 1 iddaatahminleri.com.tr, 1 iddconnect.org, 1 iddportugal.pt, 1 @@ -71577,6 +72184,7 @@ idee-lq.com, 1 idee-lq.de, 1 idee-lq.net, 1 ideefactory.de, 1 +ideesrecettes.net, 1 idehvector.com, 1 ideiasefinancas.com.br, 1 ideice.gob.do, 1 @@ -71664,6 +72272,7 @@ idratherbequilting.com, 1 idraulico-roma.it, 1 idraulico-roma.org, 1 idraulico.roma.it, 1 +idream-solutions.co.uk, 1 idrissi.eu, 1 idrivegroup.ie, 1 idrix.com.ec, 1 @@ -71795,6 +72404,7 @@ iftta.org, 1 ifur.ga, 1 ifworlddesignguide.com, 1 ifxnet.com, 1 +ifylofd.xyz, 1 ifyou.bg, 1 ig-plastik.tk, 1 ig.com, 1 @@ -71803,6 +72413,7 @@ iga-semi.jp, 1 igame.ml, 1 igamingaffiliateprograms.com, 1 igamingdirectory.com, 1 +igamingnews.com, 1 igamingnyheder.dk, 1 igamingpocketdirectory.com, 1 igamingsuppliers.com, 1 @@ -71822,6 +72433,7 @@ igglabs.com, 1 iggprivate.com, 1 iggsoft.com, 1 iggsoftware.com, 1 +iggyz.com, 1 igi-2.com, 1 igiftcards.de, 1 igiftcards.nl, 1 @@ -72035,6 +72647,7 @@ ikaria.com.gr, 1 ikaros.tk, 1 ikarus-itkurs.de, 1 ikazumitsu.tk, 1 +ikbear.me, 1 ikbenrichie.nl, 0 ikeacareers.co.uk, 1 ikebuku.ro, 1 @@ -72075,8 +72688,9 @@ ikra24.in.ua, 1 ikrab.club, 1 iks.moe, 1 iksi.me, 1 -iksz.org, 1 -iksz.work, 1 +iksworld.kr, 1 +iksz.org, 0 +iksz.work, 0 ikuda.eu, 1 ikudo.top, 1 ikumi.us, 1 @@ -72089,6 +72703,7 @@ ikzoekeengoedkopeauto.nl, 1 ikzoektim.nl, 1 il12thcourt.gov, 1 ila.tw, 1 +ilab.health, 1 ilac.ai, 1 ilac101.com, 1 ilacrehberi.com, 1 @@ -72190,6 +72805,7 @@ illuminated-security.com, 0 illuminatelife.tk, 1 illuminaten.tk, 1 illuminatisocietyworldwide.org, 1 +illumini.io, 1 illusia.tk, 1 illusionephemere.com, 0 illusionsdoptique.com, 1 @@ -72710,7 +73326,7 @@ imprimetextile.fr, 1 improbo-group.com, 1 improd.works, 1 improfestival.ee, 1 -improsupreme.com, 0 +improsupreme.com, 1 improv.ee, 1 improved-madness.de, 1 improvenerg.com, 1 @@ -72749,6 +73365,7 @@ imtikaib.ml, 1 imtools.gq, 1 imtqy.com, 1 imttech.co, 1 +imumed.cz, 1 imunify360.com, 1 imusionforum.tk, 1 imwc.me, 0 @@ -72981,6 +73598,7 @@ indianporn2.xxx, 1 indianrelaypodcast.com, 0 indianriver.gov, 1 indiantechhunter.tk, 1 +indiantextilejournal.com, 1 indianvirginhumanhair.tk, 1 indianwarriors.tk, 1 indianwellsca.gov, 1 @@ -73029,7 +73647,6 @@ indioca.gov, 1 indir2017.tk, 1 indirhadi.tk, 1 indirimkuponumarketim.com, 1 -indirimlim.com, 1 indironline.com, 1 inditip.com, 1 indivicloud.me, 0 @@ -73120,7 +73737,6 @@ inetech.fun, 1 inetinfo.io, 1 inetis.com, 1 inetol.net, 1 -inetpro.io, 1 inetserver.eu, 1 inetuser.tk, 1 inetworking.it, 1 @@ -73156,6 +73772,7 @@ infermiere.roma.it, 1 inferno.co.uk, 1 infertilitycure.tk, 1 inffin-portal.de, 1 +infhosting.com.au, 1 infi.ch, 1 inficom.org, 1 infidel.org, 1 @@ -73177,11 +73794,11 @@ infiniteserieslabs.com, 1 infinitewealth.com.au, 1 infinitiofallentownparts.com, 1 infinitiofaugustaparts.com, 1 +infinitioflynnwoodparts.com, 0 infinitiofmarinparts.com, 1 infinitipartsdeal.com, 1 infinitiresearch.com, 1 infinito.tk, 1 -infinitomarca.com, 1 infinitoporciento.tk, 1 infinity-area.com, 1 infinity-photography.co.uk, 1 @@ -73242,6 +73859,7 @@ info-strefa.pl, 1 info-sys.tk, 1 info-tech.tk, 1 info-usaha.tk, 1 +info-ut.com, 1 info.gov, 1 info2all.nl, 1 info4camper.com, 1 @@ -73284,6 +73902,7 @@ infoflora.ch, 1 infofp.tk, 1 infogai.tk, 1 infogamesports.tk, 1 +infogate.ch, 1 infogate.ga, 1 infogram.com, 1 infogress.tk, 1 @@ -73293,6 +73912,7 @@ infoiinfo.tk, 1 infoindia.tk, 1 infoiptv.tk, 1 infoislamharian.tk, 1 +infojeunes.fr, 1 infojmp.com, 1 infokesehatan.ga, 1 infoland.ml, 1 @@ -73302,6 +73922,7 @@ infomail-online.ml, 1 infomalin.fr, 1 infomarradi.it, 1 infomate360.com, 1 +infomatricula.pt, 1 infomax.gr, 1 infomega.fr, 1 infomexico.tk, 1 @@ -73374,6 +73995,7 @@ infosactu.com, 1 infoschool.ml, 1 infosec.exchange, 0 infosec.md, 1 +infosec.mv, 1 infosecchicago.com, 1 infosecdecompress.com, 1 infosecindex.com, 1 @@ -73434,6 +74056,7 @@ infraplushk.com, 1 infraredproductions.com, 1 infraredradiant.com, 1 infras.fr, 1 +infrasa.gov.br, 1 infrastatic.com, 1 infravoce.com, 1 infraware.com, 1 @@ -73559,6 +74182,7 @@ inkbunny.net, 1 inkburners.ga, 1 inkburnest.ga, 1 inkdawgz.com, 0 +inkeddytattoo.fi, 1 inkedin.com, 1 inkedindarkness.com, 1 inkflaremagazine.com, 1 @@ -73578,6 +74202,7 @@ inkomensafhankelijkehuurverhoging.nl, 1 inkopers.org, 1 inkor.tk, 1 inksay.com, 1 +inkstar.ro, 1 inkteeshop.com, 1 inkthedealseminars.com, 1 inkthreadable.co.uk, 1 @@ -73589,6 +74214,7 @@ inl.gov, 1 inl.int, 1 inlandwaterwaylistings.com, 1 inlce.com, 1 +inlights.io, 0 inlimiters.ga, 1 inlimitest.ga, 1 inline-online.tk, 1 @@ -73712,6 +74338,7 @@ inokolab.net, 1 inolution.com, 1 inomics.com, 1 inondation.ch, 0 +inorden.se, 1 inoreader.com, 1 inorigo.com, 1 inorigo.net, 1 @@ -73834,6 +74461,7 @@ insomniac.games, 1 insomniac.pl, 1 insomniac.ro, 1 insomniasec.com, 0 +insono.no, 1 insouciant.org, 1 insource.org, 1 inspaceindustrial.com, 1 @@ -73887,6 +74515,7 @@ instafind.nl, 1 instagc.com, 1 instagrabber.ru, 1 instagram.com, 1 +instagrammernews.com, 1 instagramtweet.com, 1 instagraph.cn, 1 instahub.net, 0 @@ -73925,6 +74554,7 @@ instantprint.co.uk, 1 instantreplay.tk, 1 instantsiteaudit.com, 1 instar.org, 1 +instareeldownload.com, 0 instavites.com, 1 instawierszyki.pl, 1 instead.com.au, 1 @@ -74002,6 +74632,7 @@ insydesw.com, 1 insysbio.com, 1 insysbio.uk, 1 inszu.com, 0 +int-elektro.eu, 1 int-ext-design.fr, 1 int-refer.nhs.uk, 1 int21h.jp, 1 @@ -74125,7 +74756,6 @@ interabbit.com, 1 interacademybrazil.com.br, 1 interacthindu.tk, 1 interactiveanddesign.com, 1 -interactivebrokersreview.co, 1 interactivedigesters.ga, 1 interactivedigestest.ga, 1 interactiveliterature.org, 1 @@ -74193,6 +74823,7 @@ interhealthcare.com.au, 1 interiery-waters.cz, 1 interieursud.fr, 1 interimnorge.no, 1 +interiofyspaces.com, 1 interior-design-colleges.com, 1 interior16.cf, 1 interiorai.com, 1 @@ -74297,6 +74928,7 @@ internetofinsecurethings.com, 1 internetoskol.tk, 1 internetovehazardnihry.cz, 1 internetowykantor.pl, 1 +internetpasoapaso.com, 1 internetpoem.com, 1 internetpro.me, 1 internetprofitspro.com, 1 @@ -74304,7 +74936,6 @@ internetslapfights.com, 1 internetsociety.org, 1 internetstatistik.se, 1 internetstiftelsen.se, 1 -internetstones.com, 1 internetsubsidie.tk, 1 internettoday.ga, 1 internettradie.com.au, 0 @@ -74318,6 +74949,7 @@ interparcel.com, 1 interpass.id, 1 interplex.com, 1 interpol.gov, 1 +interpoolme.com, 1 interprete.tk, 1 interratrade.gr, 1 interregtesimnext.eu, 1 @@ -74423,6 +75055,7 @@ intro.management, 1 intron.pw, 1 intropickup.ru, 1 intropika.tk, 1 +intrstd.in, 1 intrum-credit-information-ws.ch, 1 intstyle.com.ua, 1 intsurfing.com, 1 @@ -74469,7 +75102,9 @@ inventionjudgeers.ga, 1 inventionjudgeest.ga, 1 inventions-home.tk, 1 inventionsteps.com.au, 1 +inventit.nl, 1 inventivashop.com, 1 +inventivtechnology.com, 0 inventix.nl, 1 invento.tk, 1 inventortesters.ga, 1 @@ -74482,6 +75117,7 @@ inventoseinventores.com, 1 inventum.cloud, 1 inveris.de, 1 inverness.gov, 1 +inversegravity.net, 1 inverselink-user-content.com, 1 inverselink.com, 1 inversion6.com, 1 @@ -74521,7 +75157,6 @@ investinestonia.com, 0 investingdiary.cn, 1 investinginamerica.gov, 1 investingnews.com, 1 -investingoal.com, 1 investingoutlook.co, 1 investingrenada.gd, 1 investingtrader.net, 1 @@ -74581,6 +75216,7 @@ invitationtrackerers.ga, 1 invitationtrackerest.ga, 1 invitebiz.tk, 1 invitelink.in, 1 +invitemember.com, 0 invitepeople.com, 1 invitescafe.com, 1 invitia.net, 1 @@ -74846,7 +75482,7 @@ ipsecurelink.com, 1 ipsilon-project.org, 1 ipso.com.tr, 1 ipso.paris, 1 -ipso.ro, 0 +ipso.ro, 1 ipssl.li, 1 ipstoragesolutions.com, 1 ipsubscription.store, 1 @@ -75081,6 +75717,7 @@ irontigers.ga, 1 irontigers.gq, 1 irontigers.ml, 1 irontribefitness.com, 1 +irontv.me, 1 ironwaytransport.com, 1 ironwind.ga, 1 ironwoodmi.gov, 1 @@ -75165,6 +75802,7 @@ isan.eu.org, 1 isanp.ca, 1 isanticountymn.gov, 1 isantv.com, 1 +isara.com, 1 isaret.com, 1 isastylish.com, 1 isavanderbrugge.nl, 1 @@ -75184,6 +75822,7 @@ iscontrol.com.mx, 1 iscoolentertainment.com, 1 iscribblesolutions.com, 1 iscultas.pp.ua, 1 +isde.org, 1 isdecolaop.nl, 1 isdn.jp, 1 isdown.cz, 1 @@ -75320,6 +75959,7 @@ ismail-biber.tk, 1 ismailtoraman.com, 1 ismailtoraman.com.tr, 1 ismart.org, 1 +ismat.com, 0 ismekkurs.com, 1 ismena.bg, 1 ismetroburning.com, 1 @@ -75442,6 +76082,7 @@ ist-intim.de, 1 ist-toll.xyz, 1 ista-vdm.at, 1 istagb.ga, 1 +istanbul.systems, 1 istanbulblog.tk, 1 istanbuleskort.tk, 1 istanbulhaberleri.tk, 1 @@ -75456,6 +76097,7 @@ istekparcam.com, 1 istekparcam.com.tr, 1 isterfaslur.com, 1 istevitrin.com, 1 +isthatarabic.com, 1 istheapplestoredown.com, 1 istheapplestoredown.de, 1 isthedoorlocked.com, 1 @@ -75465,6 +76107,7 @@ istherrienstillcoach.com, 1 istheservicedown.co.uk, 1 istheservicedown.com, 1 istheservicedowncanada.com, 1 +isthisarabic.com, 1 isthisus.org, 1 isthnew.com, 1 istimdead.today, 1 @@ -75482,6 +76125,7 @@ istorrent.is, 1 istratov.tk, 1 istschonsolangeinrente.de, 0 istudentpro.ml, 1 +istudio.one, 1 isuggi.com, 1 isultov.tk, 1 isurg.org, 1 @@ -75523,6 +76167,7 @@ it-enthusiasts.tech, 1 it-expert.tk, 1 it-help.tech, 1 it-inside.ch, 1 +it-ip-rudnick.de, 1 it-jobbank.dk, 1 it-lehnert.de, 1 it-maker.eu, 1 @@ -75671,7 +76316,6 @@ itexus.com, 1 itezu.ml, 1 itfall.tk, 1 itfh.eu, 0 -itfirmaet.dk, 0 itfix.org.uk, 1 itg.com.pl, 1 itg.net.pl, 1 @@ -76007,7 +76651,6 @@ iwebdna.com, 0 iwebing.tk, 1 iweblab.it, 1 iwebsolution.tk, 1 -iwec.pk, 1 iwex.swiss, 1 iwf.sport, 1 iwhite.tk, 1 @@ -76052,6 +76695,7 @@ iyan.es, 1 iyanla.com, 1 iyanmv.com, 1 iyassu.com, 1 +iyiarastir.com, 1 iyincaishijiao.com, 1 iyn.me, 1 iyouewo.com, 1 @@ -76377,6 +77021,7 @@ jaimeayala.com, 1 jainnatory.ca, 1 jainnotary.ca, 1 jaion.tech, 1 +jaion.xyz, 1 jairocarbonell.com, 1 jairoenfrancien.tk, 1 jairsinho.me, 1 @@ -76391,7 +77036,7 @@ jakabszallas.hu, 1 jakarta-tourism.go.id, 1 jakarta.ee, 1 jakartaee.org, 1 -jakartaone.org, 0 +jakartaone.org, 1 jake.ac, 1 jakegines.in, 1 jakegyllenhaal.ga, 1 @@ -76428,6 +77073,7 @@ jala.tech, 1 jalebiyat.tk, 1 jaleesa.sa, 1 jaleo.cn, 1 +jalgut.group, 1 jaliscolindo.tk, 1 jall.com.br, 1 jallatte.fr, 1 @@ -76456,6 +77102,7 @@ james.pub, 1 jamesachambers.com, 1 jamesaimonetti.com, 1 jamesatruett.com, 1 +jamesbarnet.com, 1 jamesbillingham.com, 1 jamesbromberger.com, 1 jameschorlton.co.uk, 1 @@ -76562,11 +77209,13 @@ jandenul.com, 1 jandesign.at, 1 jandj.yachts, 0 jandonkers.com, 0 +jandroegehoff.de, 1 janduchene.ch, 1 janekahonza.cz, 1 janelle-jamer.tk, 1 janellequintana.tk, 1 janenwouter.tk, 1 +janescottceramics.com, 1 janetandjohns.tk, 1 janetedkins.com, 1 janetevansyoga.co.uk, 1 @@ -76647,6 +77296,8 @@ japanese-imperialism971.tk, 1 japanese-tantra-escort.com, 1 japanese-teacher-mari.com, 1 japaneseacupuncture.london, 1 +japaneseemoticons.org, 0 +japanesekeyboard.net, 1 japanesemusic.tk, 1 japanesephotosite.tk, 1 japanesque.ru, 1 @@ -76752,6 +77403,7 @@ jasoncoopermd.com, 1 jasoncosper.com, 1 jasoncs.eu.org, 1 jasonf.com, 1 +jasongreenwell.com, 1 jasonhardin.me, 1 jasonhk.pics, 1 jasonisclever.com, 1 @@ -76830,7 +77482,9 @@ jaxfstk.com, 1 jaxmore.com, 1 jaxxnet.co.uk, 1 jay4.is, 1 +jay6.tech, 0 jayanthreddy.ml, 1 +jayantkageri.in, 0 jaybeez.tk, 1 jaybrokers.com, 1 jaydehaidar.com, 1 @@ -77177,6 +77831,7 @@ jellyfishlivewire.co.uk, 1 jellynails.tk, 1 jellypepper.com, 0 jellysquid.me, 1 +jelmer.co.uk, 1 jelmyto.com, 0 jelo.tk, 1 jelobox.tk, 1 @@ -77201,6 +77856,7 @@ jenascarpetcleaning.com.au, 1 jencshiny-org.tk, 1 jendeindustries.com, 1 jendela360.com, 1 +jendies.com, 1 jenelle.ml, 1 jeneratorkiralama.name.tr, 1 jenever.amsterdam, 1 @@ -77270,6 +77926,7 @@ jeremyharnois.com, 1 jeremyhodges.uk, 1 jeremynally.com, 1 jeremyness.com, 1 +jeremyrobinlyons.com, 1 jeremysermersheim.com, 1 jeremywinn.com, 1 jeremywinn.xyz, 1 @@ -77278,7 +77935,7 @@ jerichoproject.org, 1 jericoacoara.com, 1 jerisandoval.tk, 1 jeriss.be, 1 -jerlander.se, 0 +jerlander.se, 1 jeroendeneef.com, 1 jeroened.be, 1 jeroenensanne.wedding, 1 @@ -77366,6 +78023,7 @@ jesuscnasistente.com, 1 jesusda.tk, 1 jesusdenazaret.com, 1 jesusesparza.com, 1 +jesuslg.com, 1 jesusnazarenobaena.tk, 1 jesusplusnothing.com, 1 jesusvasquez.tk, 1 @@ -77410,6 +78068,7 @@ jeugdkans.nl, 1 jeugdzorgnederland.nl, 1 jeurissen.co, 1 jeuxerotiques.net, 1 +jeuxsuperwin.com, 1 jevalide.ca, 1 jeveaux.company, 1 jevel-mag.tk, 1 @@ -77475,6 +78134,7 @@ jg078.com, 1 jg8nid.tech, 1 jgambard.me, 1 jgc.li, 0 +jgeverest.com, 0 jgid.de, 1 jgigantino31.com, 1 jgke.fi, 1 @@ -77594,7 +78254,7 @@ jijistatic.com, 1 jijistatic.net, 1 jikei-reha.com, 1 jikiden.com, 1 -jikken.de, 1 +jikken.de, 0 jilaninteraktif.tk, 1 jilio-ca.com, 1 jilio-ca.net, 1 @@ -77602,6 +78262,7 @@ jilio.com, 1 jilio.net, 1 jilking.ga, 1 jillamy.com, 1 +jillapi.azurewebsites.net, 1 jillianmichaels.com, 1 jilljoe.com, 1 jillvirus.tk, 1 @@ -77654,6 +78315,7 @@ jinbijin.nl, 1 jinbo123.com, 0 jinbowiki.org, 1 jinbuguo.com, 1 +jinde.com.my, 1 jinduoduo369.com, 1 jinduoduo666.com, 1 jinduoduo888.com, 1 @@ -77680,6 +78342,7 @@ jinspace.net, 1 jintaiyang123.org, 1 jintao.hu, 1 jinzai-ikusei.org, 1 +jiogo.com, 1 jip2011.jp, 1 jipsnel.nl, 1 jira.com, 0 @@ -77740,7 +78403,7 @@ jkarteaga.tk, 1 jkbfabrics.com, 0 jkcc.com, 1 jkessen.de, 1 -jkest.cc, 0 +jkest.cc, 1 jkfasham.com.au, 1 jkg.tw, 1 jkinteriorspa.com, 1 @@ -77852,6 +78515,7 @@ jmzo.nl, 0 jn1.me, 1 jnana-yoga.info, 1 jnblict.co.za, 1 +jncie.eu, 1 jng.pt, 1 jnjpolymer.com, 1 jnktn.tv, 1 @@ -77916,6 +78580,7 @@ jobie.tk, 1 jobindex.dk, 1 jobintourism.gr, 1 jobit.gr, 1 +jobitt.com, 1 joblife.co.za, 1 joblover.ml, 1 joblyconnect.com, 1 @@ -77943,7 +78608,7 @@ jobseekeritalia.it, 1 jobsindemedia.nl, 1 jobsineachstate.com, 1 jobsingulf.com, 1 -jobsisbrown.com, 0 +jobsisbrown.com, 1 jobskilled.co.za, 1 jobsknowlgee.tk, 1 jobsmali.ml, 1 @@ -77982,6 +78647,7 @@ joearodriguez.com, 1 joecod.es, 1 joed.tk, 1 joedavison.me, 1 +joedeblasio.com, 1 joedoyle.us, 0 joedroll.com, 1 joefang.org, 1 @@ -77992,7 +78658,7 @@ joehorn.tw, 1 joejacobs.me, 0 joel-mayer.de, 1 joel.net.au, 1 -joelandersen.me, 0 +joelandersen.me, 1 joelengel.com, 1 joelfries.com, 1 joelito.tk, 1 @@ -78007,6 +78673,7 @@ joellimberg.com, 1 joellombardo.com, 0 joelovano.com, 1 joelprice.com, 1 +joelving.dk, 0 joembayawaphotography.com, 1 joepitt.co.uk, 0 joerg-wellpott.de, 1 @@ -78039,6 +78706,7 @@ jogjacar.com, 1 jogjakarta.tk, 1 jogorama.com.br, 0 jogosdeanimais.org, 1 +jogosfutebolhoje.pt, 1 jogoshoje.com, 1 jogoshoje.io, 0 jogwitz.de, 1 @@ -78327,6 +78995,7 @@ joomla-spezialist.de, 1 joomla-ua.org, 1 joomladeveloper.ru, 1 joomlaguru.pl, 0 +joompress.biz, 1 joona.pw, 1 joorshin.ir, 1 joostdeheer.nl, 1 @@ -78389,6 +79058,7 @@ joscares.com, 1 jose-alexand.re, 1 jose-latino.tk, 1 jose-manuel-benito-alvarez.tk, 1 +joseantonioramos.es, 1 josebernabe.ch, 1 josedaniel.website, 1 joseenriquegonzalez.tk, 1 @@ -78537,8 +79207,10 @@ joybuggy.com, 1 joyce.tk, 1 joycejamiewedding.com, 1 joychetry.com, 1 +joycosmetics.ch, 1 joydivision.tk, 1 joydream.tk, 1 +joyfay.com, 1 joyfilms.tv, 1 joyfulbikeshedding.com, 1 joyfulevents.tk, 1 @@ -78571,6 +79243,7 @@ jpc-design.com, 1 jpc0.de, 1 jpcorriganlaw.com, 1 jpcrochetapparel.com, 1 +jpctoolset.com, 1 jpdineroasi.com, 1 jpeg.io, 1 jpegd.io, 1 @@ -78635,7 +79308,6 @@ jrlopezoficial.com, 1 jrmora.com, 0 jrock.tk, 1 jrock.us, 1 -jrockrevolution.com, 1 jrom.net, 1 jross.me, 1 jrroofinglancs.co.uk, 1 @@ -78679,7 +79351,7 @@ jsfleecefabric.com, 1 jsfloydlaw.com, 0 jsg.hk, 1 jsgr.ca, 1 -jsh.marketing, 1 +jsh.marketing, 0 jsheard.co.uk, 1 jsheard.com, 1 jsheard.me.uk, 1 @@ -78698,6 +79370,7 @@ jsme.fun, 1 jsmgroningen.nl, 1 jsn.one, 1 jsnfwlr.com, 0 +jsnfwlr.io, 0 jso-crescendo.ch, 1 json.download, 1 json.id, 0 @@ -78745,7 +79418,7 @@ jts3servermod.com, 1 jtsrepair.ca, 1 jttech.se, 1 jtwo.co.za, 1 -jtxdev.my.id, 0 +jtxdev.my.id, 1 jtxmail.org, 1 jtxserver.xyz, 1 ju-edu.tk, 1 @@ -78753,6 +79426,7 @@ ju-rex.eu, 1 juabcounty.gov, 1 jualkambing.tk, 1 juancadc.es, 1 +juancamos.com, 1 juancarlosflores.tk, 1 juancarlosgalvez.tk, 1 juancarlosllaque.com, 1 @@ -79169,6 +79843,7 @@ justinho.com, 1 justinkidd.ca, 1 justinmanders.nl, 1 justinritter.de, 1 +justinsinkula.com, 1 justinstago.com, 1 justinstandring.com, 1 justjackstuff.com, 1 @@ -79180,7 +79855,6 @@ justmyblog.net, 0 justmysocks.xyz, 1 justnajoua.tk, 1 justneworleans.com, 1 -justninja.com, 1 justnu.se, 0 justor.ru, 1 justpass.co.uk, 1 @@ -79237,6 +79911,7 @@ jw-services-stg.org, 1 jw-services.org, 1 jw.fail, 1 jw1.ca, 1 +jwala.diamonds, 1 jwatt.org, 1 jwatt.uk, 1 jwb.red, 1 @@ -79288,6 +79963,7 @@ k-den.com, 1 k-h-c.ru, 1 k-homes.net, 1 k-labs.be, 1 +k-larevue.com, 1 k-linkcarecenter.com, 1 k-matsudaclinic.com, 1 k-moto.sk, 1 @@ -79463,6 +80139,7 @@ kadidak.com, 0 kadifeli.com, 1 kadinhaber.tk, 1 kadinhayati.com, 1 +kadinindonesia.or.id, 1 kadinisci.org, 1 kadinsaglikhaber.tk, 1 kadinvesaglik.tk, 1 @@ -79527,6 +80204,7 @@ kaijo-physics-club.work, 1 kaik.io, 1 kaika-facilitymanagement.de, 1 kaikei7.com, 1 +kailashwedding.com, 1 kaileymslusser.com, 0 kaimah.co.nz, 1 kaimi.io, 1 @@ -79617,6 +80295,7 @@ kalapatec.id, 1 kalashnikov.ml, 1 kalaskvintetten.tk, 1 kalaspuffar.se, 1 +kalastus.com, 1 kaldewei.com, 1 kaleidoscope.co.uk, 1 kaleidoscopepsychology.co.nz, 1 @@ -79713,7 +80392,6 @@ kamchatkatravel.tk, 1 kamchatkawinter.tk, 1 kamcolorectal.com, 1 kamel.social, 1 -kameldesign.com, 1 kameliya.tk, 1 kamennyj-pisatel.tk, 1 kameno-news.tk, 1 @@ -79736,6 +80414,7 @@ kamilmagdziak.pl, 1 kamilsevi.com, 1 kamin-71.ru, 1 kamin-island.ru, 1 +kaminbau-laub.de, 1 kaminholz.eu, 1 kaminoke.info, 0 kaminoyamasaigube.com, 1 @@ -79887,6 +80566,7 @@ kanvasbaski.tk, 1 kanz.jp, 1 kanzashi.com, 1 kanzleiplus.com, 1 +kanzshop.com, 1 kaodata.com, 1 kaohongshu.blog, 1 kaora.cz, 1 @@ -80021,6 +80701,7 @@ karlhaworth.com, 1 karlic.net, 1 karliekloss.tk, 1 karlin.run, 1 +karlis-kavacis.id.lv, 1 karlis.tk, 1 karlislab.com, 0 karllagerfeldvillasmarbella.com, 1 @@ -80139,6 +80820,7 @@ kasper-team.tk, 1 kasperkloster.dk, 1 kasperstad.dk, 1 kasplacement.com, 1 +kass-media.com, 1 kassa.at, 1 kassa.com, 1 kasse.pro, 1 @@ -80188,6 +80870,7 @@ katapult.es, 0 katapult.tk, 1 katarios.tk, 1 katarpilar.com, 1 +katarsisuib.no, 1 katartika.tk, 1 kataumi-shika.jp, 1 katavagroup.com, 1 @@ -80278,7 +80961,6 @@ kaufmanandassociates.com, 1 kaufmannkevin.de, 1 kaukauna.gov, 1 kaunoleliuteatras.lt, 1 -kauper.de, 1 kauperwood.ovh, 1 kaushal.tk, 1 kausharach.tk, 1 @@ -80338,6 +81020,7 @@ kayleen.net, 1 kaylielaw.com, 1 kayne.com, 1 kayon.cf, 1 +kayser-cs.lu, 1 kayseri.bel.tr, 1 kayserihaberleri.tk, 1 kaysville.gov, 1 @@ -80378,6 +81061,7 @@ kazvel.com, 1 kazy111.info, 1 kb-l.de, 1 kb-psy.fr, 1 +kb096.com, 1 kb1000.de, 1 kb1313.com, 1 kb16.de, 1 @@ -80391,6 +81075,7 @@ kb88dc05.com, 1 kb88dc12.com, 1 kb88dc16.com, 1 kb88dc26.com, 1 +kb930.com, 1 kba-online.de, 1 kbb-ev.de, 1 kbbouncycastlehire.co.uk, 1 @@ -80419,6 +81104,7 @@ kc-support.dk, 1 kc3.moe, 1 kc9.com, 1 kc9.lol, 1 +kc9.me, 0 kc9.vip, 1 kcagsolutions.com, 1 kcc8.com, 1 @@ -80700,6 +81386,7 @@ ken-electric.com.br, 1 ken.fm, 1 kenaquatic.com, 1 kenbillionsyuan.tk, 1 +kenbonny.net, 0 kenda.eu.org, 1 kendaliomega.id, 1 kendall.productions, 1 @@ -80822,6 +81509,7 @@ kernel-error.com, 1 kernel-error.de, 1 kernel-panik.me, 1 kernel-video-sharing.com, 1 +kernelops.ru, 1 kernelpanics.nl, 1 kernkompas.nl, 1 kernmetpit.nl, 1 @@ -80986,11 +81674,12 @@ keyihao.cn, 1 keyinfo.io, 1 keykong.io, 1 keylength.com, 1 -keyloop.com, 0 +keyloop.com, 1 keymaster.lookout.com, 0 keymicrosystems.com, 1 keynes.id.au, 1 keyoxide.org, 1 +keypazar.tr, 1 keypers.io, 1 keyphotojs.cf, 1 keypoint.edu.au, 1 @@ -81266,6 +81955,7 @@ kieran-mcguire.uk, 1 kieran.de, 1 kieranpotts.com, 1 kieranweightman.me, 1 +kierlandgolf.com, 0 kierweb.co.uk, 1 kiesjeplek.nl, 1 kiesuwarbeidsrechtadvocaat.nl, 1 @@ -81307,7 +81997,7 @@ kikchat.co.il, 0 kiki.ee, 1 kikikanri.biz, 1 kikivega.net, 1 -kikoskia.com, 0 +kikoskia.com, 1 kiku.pw, 1 kilian-sommer.de, 1 kilian.gallery, 1 @@ -81384,7 +82074,6 @@ kimochi.info, 1 kimonocloud.com, 1 kimonoplatform.com, 1 kimoo.co, 1 -kimoo.net, 1 kimootoko.net, 0 kimotodental.com, 1 kimotrip.com, 1 @@ -81487,12 +82176,14 @@ kinesportbruxelles-maghfour.com, 1 kineticengineeringnsw.com.au, 1 kinetikos.com.au, 1 kinetiq.com, 1 +kinetofit.ro, 1 kineval.net, 1 kinfule.tk, 1 king-of-the-castles.com, 1 kingandmcgaw.com, 1 kingant.net, 1 kinganywhere.eu, 1 +kingautodetailing.id, 1 kingbot.tk, 1 kingchess.vip, 1 kingcourriel.fr, 1 @@ -81500,6 +82191,7 @@ kingcute.com, 1 kingdombuilderschurch.org, 1 kingdomcitymo.gov, 1 kingdomcrawlers.tk, 1 +kingdommediacorp.com, 1 kingdomnubia.com, 1 kingdomsail.com, 1 kingedwardvii.co.uk, 1 @@ -81522,7 +82214,6 @@ kingofthecastlesrhyl.co.uk, 1 kingpie.co.za, 1 kingpin.pro, 1 kingpincages.com, 1 -kingroot.com, 1 kings-potong.com, 1 kings-world.net, 1 kingsaft.net, 1 @@ -81614,13 +82305,14 @@ kinsei.jp, 1 kinsellamedia.com, 1 kintanalodge.fr, 1 kintawifi.com, 1 -kintell.com, 0 +kintell.com, 1 kinter.media, 1 kinto.pro, 1 kintone.com, 1 kintore.tv, 1 kintsugispace.com, 1 kintyre.net, 1 +kinualive.com, 1 kinugasa.or.jp, 1 kinvault.com, 1 kinyued.store, 1 @@ -81967,6 +82659,7 @@ klaverjassen.tk, 1 klavierhaus-klavins.de, 1 klavierwunsch.de, 1 klaxon.ml, 1 +klaymemez.com, 1 kle.cz, 1 klea.tk, 1 kleaning.by, 1 @@ -82069,6 +82762,7 @@ klinkens.de, 1 klinkersnab.ru, 1 klinknetz.de, 1 klinkov.tk, 1 +klinlab.cz, 1 klipa.tk, 1 klischee-frei.de, 1 klishyn.com, 1 @@ -82096,7 +82790,7 @@ klose.family, 1 klosetestumgebungnextcloud.de, 1 klosko.net, 1 kloster-michaelstein.de, 1 -kloudstack.me, 1 +kloudstack.me, 0 klover-avantages.fr, 1 klover-cse.fr, 1 kloza.tk, 1 @@ -82124,6 +82818,7 @@ klustermedia.com, 1 klutchcard.com, 1 klute.spdns.de, 1 kluzza.nl, 1 +klva.cz, 1 km8.co, 1 kma.ua, 1 kmap-state-ks.us, 1 @@ -82145,6 +82840,7 @@ kmpropertyfunds.com.au, 1 kmrgroup.com, 1 kmshuma.com, 1 kmsk.tk, 1 +kmslh.com, 1 kmsm.com.au, 1 kmtf.kz, 1 kmw.ch, 1 @@ -82359,6 +83055,7 @@ kochinke.us, 1 kochrezepte.tk, 1 kochura.tk, 1 kochvision.com, 1 +kocieniewska.pl, 1 kocka.cf, 1 kockanakocko.si, 1 kocowork.com, 1 @@ -82370,10 +83067,12 @@ kodar.tk, 1 kodden.com.br, 1 kode-it.de, 1 kode.ch, 0 +kodeholic.me, 1 kodelabs.com, 1 kodes.com.tr, 1 kodexplorer.ml, 1 kodi-tutorials.com, 1 +kodifirestick.info, 1 kodify.net, 1 kodigo.me, 1 kodineuerleben.eu, 1 @@ -82388,6 +83087,7 @@ koeeusa.org, 1 koef.nl, 1 koehlhoff.de, 1 koehn-consulting.com, 1 +koehn.com, 1 koelbli.ch, 1 koeldezomerdoor.nl, 1 koelnmafia.de, 1 @@ -82485,6 +83185,7 @@ kollab.com, 1 kollab.com.ph, 1 kollandsrud.tk, 1 kollawat.me, 1 +kollega.it, 1 kollegamenti.it, 1 kollegie.com, 1 kollegier.com, 1 @@ -82493,6 +83194,7 @@ kollner.com, 1 kolmann.at, 1 kolmann.eu, 1 kolmeti.ee, 1 +kolmeya.com.br, 1 kolonial.no, 1 koloquadialogues.com, 1 kolorado.tk, 1 @@ -82510,6 +83212,7 @@ kolukylaselts.ee, 1 kolyapetrov.tk, 1 kom.pe, 1 komalgandhi.tk, 1 +komall.net, 1 komarex.pl, 1 komarh.tk, 1 komasan.net, 1 @@ -82522,6 +83225,7 @@ komehyo.co.jp, 1 komelin.com, 0 komfort.kh.ua, 1 komi-news.net, 1 +komi.la, 1 komichcapital.com, 1 komicloud.com, 1 komidoc.com, 1 @@ -82547,11 +83251,14 @@ kommx.de, 0 komnakhon.com, 1 komo.am, 1 komodolabs.com, 1 +komoju.com, 1 +komoju.jp, 1 komoraoze.cz, 1 komornikmroczek.pl, 1 komp-plus.tk, 1 komp247.pl, 1 kompaniya-vasya.tk, 1 +kompiwin.com, 1 komplekt.gq, 1 komplet.sk, 1 komplexlysimple.com, 0 @@ -82706,7 +83413,9 @@ koodimasin.ee, 1 koodimasin.eu, 1 kooer.org, 1 koof.win, 1 +kooibeds.com, 0 kooky.org, 1 +koolbadges.co.uk, 1 kooli.ee, 1 koolisw.tk, 1 koolitee.ee, 1 @@ -82776,6 +83485,7 @@ kordamentha.com, 1 kordamentha.com.au, 1 kordut.tk, 1 korea-1xbet.com, 1 +korea-dpr.org, 1 korea1x-bet.com, 1 koreabestood.ga, 1 koreanfashion.tk, 1 @@ -82796,6 +83506,7 @@ korespondent.tk, 1 korfbal.nl, 1 korfballeague.nl, 1 korhonen.cc, 1 +korikart.com, 1 korikart.net, 1 korjoin.com, 1 korkortet.tk, 1 @@ -82806,6 +83517,7 @@ korofilms.com, 1 koroleva.ml, 1 korolevstvo-movie.ml, 1 koroli.tk, 1 +korona-m.eu, 1 korona-serial.net, 1 koroshkabir.tk, 1 korotonomedya.net, 1 @@ -82823,6 +83535,7 @@ korund.tk, 1 kos4all.com, 1 kos9078.com, 1 kosaki.moe, 1 +koscielniak-nieruchomosci.pl, 1 kose.edu.ee, 1 koshakovo.ga, 1 koshechka.tk, 1 @@ -82884,6 +83597,7 @@ kotakoo.id, 1 kotaku.com, 1 kotapay.com, 1 kotaraanglican.org.au, 1 +kotelsales.ru, 0 kother.org, 1 kotilinkki.fi, 1 kotisivukone.fi, 0 @@ -83000,8 +83714,9 @@ kr-labs.com.ua, 1 kr.cm, 1 kr.search.yahoo.com, 0 kr0n.dk, 1 -kr1shna4garwal.com, 0 +kr1shna4garwal.com, 1 kra.ee, 0 +kra2laiz.eu, 1 kraakgeluiden.tk, 1 kraakman.com, 1 kraavi.com, 1 @@ -83078,6 +83793,7 @@ krasnoyarsk24.tk, 1 krasotaiskusstva.com, 1 krasotkafirm.tk, 1 krasotki.ml, 1 +krastown.com, 0 krastyamoucha.cz, 1 kratochvilovi.net, 1 krause-outlet.de, 1 @@ -83111,8 +83827,10 @@ kreatywni.co, 1 kredi-hesaplama.com, 1 kredibanka.net, 1 kredigram.com, 1 +kredit-galerie.de, 1 kredit-mit-negativer-schufa.com, 1 kredit-ohne-schufa.de, 1 +kredit-schule.de, 1 kredit24.de, 0 kredita.dk, 1 kreditkarta.ml, 1 @@ -83224,6 +83942,7 @@ krivoyrognews.ru, 1 kriya.org, 1 kriyayoga.fr, 1 kriyayoga.mx, 1 +krizek.wien, 1 krizevci.info, 1 krizialim.tk, 1 krk-gaming.de, 1 @@ -83348,8 +84067,10 @@ ks-79.com, 1 ks-89.com, 1 ks-homeanthill.eu, 1 ks-niceman.tk, 1 +ks-watch.de, 1 ks.kr.ua, 1 ks.pl, 1 +ks0098.com, 0 ks015.com, 0 ks017.com, 1 ks058.com, 1 @@ -83371,6 +84092,7 @@ ks3636.com, 1 ks380.com, 0 ks386.com, 1 ks5000.com, 0 +ks516.com, 1 ks5531.com, 0 ks5532.com, 1 ks5822.com, 0 @@ -83436,6 +84158,7 @@ ksgamerz.ga, 1 kshb.com, 1 kshlm.in, 1 kshop.gr, 1 +kshpage.in, 1 kshub.gov, 1 ksiegarniabk.pl, 1 ksiegowosc.pro, 1 @@ -83485,6 +84208,7 @@ kt.pl, 1 kt3i.com, 1 ktbuniversity.com, 1 kteatras.tk, 1 +ktgy.com, 0 kthnxbai.xyz, 1 ktk-pc.de, 1 ktkprom.com, 1 @@ -83723,7 +84447,7 @@ kuritsa.tk, 1 kurmanchalbank.com, 1 kurnia.tk, 1 kuroedov.com, 1 -kuroha.co.uk, 0 +kuroha.co.uk, 1 kuroinu.jp, 1 kuroit.com, 0 kurona.ga, 1 @@ -83752,12 +84476,12 @@ kurtisfranklin.com, 1 kurtki-moda.tk, 1 kurtkoyescort.net, 1 kurtlarvadisi-pusu-1.tk, 1 -kurtneuweiler.com, 1 kurtosys.com, 1 kurtschlatzer.com, 1 kurtschleinbeck.com, 1 kurungkurawal.id, 1 kuruppa.xyz, 1 +kuruyo.com, 1 kurvysf.com, 1 kurz.onl, 1 kurz.pw, 1 @@ -83853,6 +84577,7 @@ kvso.tk, 1 kvspannum.tk, 1 kvsplayer.com, 1 kvsrot.cz, 1 +kvxr.com, 1 kw.gt, 1 kwadraadtevredenheid.nl, 1 kwai.tv, 1 @@ -83981,7 +84706,6 @@ kytkintienautomaalaamo.fi, 1 kyujin-office.net, 1 kyushu-ds.com, 1 kyusyu.org, 1 -kyxtro.com, 1 kyzyl-senir.ml, 1 kz-dentalclinic.com, 1 kz.search.yahoo.com, 0 @@ -84013,7 +84737,6 @@ l2kl.com, 1 l2news.ga, 1 l2relax.ml, 1 l2support.tk, 1 -l33roy.com, 1 l33te.net, 1 l36533.com, 1 l3limo.com, 1 @@ -84108,6 +84831,7 @@ laboiteafred.fr, 1 laboiteanem.fr, 1 laboiteare.fr, 0 laboiteasous.com, 1 +laboma.cz, 1 laboni.design, 1 labonnetaille.com, 1 labor-augsburg-mvz.de, 1 @@ -84166,6 +84890,7 @@ lacallas.tk, 1 lacantinadoors.com, 1 lacantine.xyz, 1 lacapsule.org, 1 +lacargo.az, 1 lacarniceria.tk, 1 lacarreradelagua.es, 1 lacasadelmaniqui.net, 1 @@ -84226,6 +84951,7 @@ lacrossetribune.com, 1 lacrossewi.gov, 1 lacroy.com.br, 1 lactatiekundigemanouk.nl, 1 +lactec.com.br, 1 lacuartaorden.tk, 1 lacuisine.tk, 1 lacyc3.eu, 1 @@ -84238,6 +84964,7 @@ ladadate.com, 1 ladakhtrip.tours, 1 ladanivabelgium.tk, 1 ladanmokhtari.tk, 1 +ladbroke.net, 1 ladderartspace.com.au, 1 laddrs.uk, 1 ladedu.com, 1 @@ -84295,6 +85022,7 @@ ladyofsongstv.com, 1 ladyoxytocin.com, 1 ladysecrets.cf, 1 ladysecrets.ga, 1 +ladysovereign.com, 1 ladysybella.net, 1 ladytron.tk, 1 ladyvampira.com, 1 @@ -84364,8 +85092,8 @@ lagalerieduchanvre.fr, 0 lagalerievirtuelle.com, 1 lagar2000.pt, 1 lagarblanco.es, 1 -lagardere-tr.it, 0 -lagardere-tr.ro, 0 +lagardere-tr.it, 1 +lagardere-tr.ro, 1 lagavach.com, 1 lagencerie.fr, 1 lagera-m-residence.com, 1 @@ -84414,6 +85142,7 @@ lahoratunante.tk, 1 lahstalon.org, 1 lai.is, 1 lailabanx.org, 1 +lain.at, 1 lain.la, 1 lain.wiki, 1 laindonleisure.co.uk, 1 @@ -84462,6 +85191,7 @@ lakegenevanews.net, 1 lakegenevapiercompany.com, 1 lakehavasuhouserentals.com, 1 lakeheadfreight.biz, 1 +lakeheadgeorgian.ca, 1 lakelafayettemo.gov, 1 lakemary-doctor.com, 1 lakemillsiowa.gov, 1 @@ -84600,6 +85330,9 @@ lamparassevilla.com, 1 lampbooks.gq, 1 lampco.com, 1 lampeetlumiere.fr, 1 +lampenlicht.be, 1 +lampenlicht.nl, 1 +lampenundleuchten.de, 1 lamper-design.nl, 1 lampertheimer-zeitung.de, 1 lamplightvideo.com, 1 @@ -84678,6 +85411,7 @@ landgoeddorrebeek.be, 1 landgorilla.com, 1 landica.net, 1 landinfo.no, 1 +landingi.com, 1 landingtransport.com, 1 landireporters.com, 1 landisit.com, 1 @@ -84697,6 +85431,7 @@ landoverhillsmd.gov, 1 landpotential.org, 1 landroverclubbandung.id, 1 landroverexpo.com.au, 1 +landscape-photography.org, 1 landscapelightingmalibu.com, 1 landscapelightingpacificpalisades.com, 1 landscapeloaners.ga, 1 @@ -84747,6 +85482,7 @@ langleyok.gov, 1 langleyporter.com, 1 langleywa.gov, 1 langlois-chateau.fr, 1 +langly.fr, 1 langthaler.cc, 1 languageatplay.de, 1 languagecert.org, 1 @@ -84831,6 +85567,7 @@ lapakus.com, 1 laparcela.tk, 1 laparoscopyhospital.com, 1 lapasticcerianaturale.store, 1 +lapayo.com, 1 lapcameradongnai.com, 1 lapcamerahochiminh.com, 1 lapcoversers.ga, 1 @@ -84844,6 +85581,7 @@ laperlaabaya.com, 1 laperladelduero.tk, 1 laperreraflamenca.tk, 1 lapesbaldai.lt, 1 +lapeyre.xyz, 1 lapicena.eu, 1 lapina.tk, 1 lapinas.com, 1 @@ -84858,6 +85596,7 @@ laplace.network, 1 laplace.properties, 1 lapland.shop, 1 laplandtouristtroupers.se, 1 +laplanificadora.com, 1 laplanquedujoueur.com, 1 laplasadalsol.tk, 1 laplazita.tk, 1 @@ -85063,7 +85802,8 @@ lastation.ca, 1 lastbooks.gq, 1 lastcast.bg, 1 lastenrad-gifhorn.de, 1 -lastfriends.site, 0 +lastfriends.site, 1 +lasthome.co.uk, 1 lastingcar.com, 1 lastingmarksers.ga, 1 lastingmarksest.ga, 1 @@ -85093,6 +85833,7 @@ lata.my, 1 latabledebry.be, 1 latahcountyid.gov, 1 latakuta.com, 1 +latanadelpolpo.it, 1 latardeurbana.cf, 1 latardeurbana.ga, 1 latardeurbana.gq, 1 @@ -85272,7 +86013,6 @@ lavenderx.org, 1 laventura.tk, 1 laventusdigital.co.uk, 1 lavhire.tk, 1 -laviaregia.com, 1 laviedalex.ovh, 1 lavinaec.com, 1 lavinya.net, 1 @@ -85321,10 +86061,12 @@ lawdepot.ca, 1 lawebdeljose.tk, 1 lawebnobasta.tk, 1 lawfirmyashajustice.co.id, 1 +lawgic.com.ua, 1 lawhery.com, 1 lawinform.com.au, 1 lawinorder.au, 1 lawinordercom.au, 1 +lawkwk.com, 1 lawlessenglish.com, 1 lawlessfrench.com, 1 lawlessitalian.com, 1 @@ -85451,6 +86193,7 @@ lbjlibrary.gov, 1 lblok.pl, 1 lbls.me, 0 lbo.management, 1 +lbofrance.com, 1 lbrlh.tk, 1 lbrli.tk, 1 lbrls.tk, 1 @@ -85572,6 +86315,7 @@ lcy.moe, 1 lda-design.co.uk, 1 ldcraft.pw, 1 lddr.io, 1 +ldesignweb.com, 1 ldfebui.org, 1 ldiesel.ca, 1 ldlorangecountylocksmith.com, 1 @@ -85631,11 +86375,10 @@ leaderoftheresistance.com, 0 leaderoftheresistance.net, 0 leadersaudit.ga, 1 leadership-insight.nz, 1 -leadershipconnect.io, 0 +leadershipconnect.io, 1 leadgenie.me, 1 leadinforce.com, 1 leadingagile.com, 1 -leadingbytype.com, 1 leadiq.com, 1 leadnxt.co.in, 1 leadnxt.com, 1 @@ -85677,6 +86420,7 @@ lean-consulting.cf, 1 lean.org.br, 1 leanatom.com, 1 leando.de, 1 +leandoo.com, 1 leandrebergeron.com, 1 leandri-campana-avocat.fr, 1 leandrofournier.com, 1 @@ -85768,6 +86512,7 @@ leathercollection.fr, 1 leatherfur.tk, 1 leathergoods.tk, 1 leatherneckappliance.com, 1 +leathersofacleaning.co.uk, 1 leatherstreet.tk, 1 leatherwill.com.ua, 1 leauda.fr, 1 @@ -85795,6 +86540,7 @@ lebendige-heilkunst.de, 1 lebenpflegen-march.ch, 1 lebenpflegen.ch, 1 lebens-fluss.at, 1 +lebenshilfe-hannover.de, 1 lebensinselparaguay.tk, 1 lebensmittelwarnung.de, 0 lebesis.tk, 1 @@ -85866,7 +86612,7 @@ ledensite.com, 1 lederjackekaufen.tk, 1 lederpartner.nl, 1 ledgerscope.net, 0 -ledgy.com, 1 +ledgy.com, 0 ledhive.co.uk, 1 ledigajobb.se, 1 ledlampor365.se, 1 @@ -85892,7 +86638,7 @@ leebiblestudycenter.co.uk, 1 leebiblestudycenter.com, 1 leebiblestudycentre.com, 1 leebiblestudycentre.org, 1 -leebladon.com, 1 +leebladon.com, 0 leebruce.tk, 1 leech.ga, 1 leech.io, 1 @@ -86113,7 +86859,7 @@ legions.tk, 1 legionwood.tk, 1 legiscontabilidade.com.br, 1 legislationupdateservice.co.uk, 1 -legislativedistricts.com, 0 +legislativedistricts.com, 1 legit.nz, 1 legitcorp.com, 1 legitedelaguiole.com, 1 @@ -86127,6 +86873,7 @@ legnami24.it, 1 legoktm.com, 0 legoutcheznous.com, 1 legow.tk, 1 +legowerewolf.net, 1 legrand-ia.gov, 1 legrandbus.com, 0 legrandcosmetics.com, 1 @@ -86169,6 +86916,7 @@ leier.ml, 1 leighannorsi.com, 0 leighneithardt.com, 1 leignier.org, 1 +leilaarias.com.br, 1 leilaelu.com.br, 1 leilakaleva.fi, 1 leilautourdumon.de, 1 @@ -86298,6 +87046,7 @@ lenguasgermanicas.tk, 1 lengyelnyelvoktatas.hu, 1 lengyelul.hu, 1 lenhatthanh.com, 1 +lenhotec.pt, 1 lenifuchs.net, 1 lenii.com, 1 lenina72.tk, 1 @@ -86332,8 +87081,11 @@ lens.google.com, 1 lens.tw, 1 lens.xyz, 1 lenseshop.tk, 1 +lensexperts.com, 1 lensfiyat.com, 1 lensflair.studio, 1 +lenspirations.com, 1 +lenstamiri.com, 1 lenstore.co.uk, 1 lensual.space, 0 lenta-ru.tk, 1 @@ -86583,6 +87335,7 @@ letinsys.cz, 1 letipweb.tk, 1 letitfleet.io, 1 letitq.com, 1 +letmdesigncommercial.com, 1 letmebet.de, 1 letmepost.com, 1 letnik.tk, 1 @@ -86704,6 +87457,7 @@ leverageedu.com, 1 leverj.io, 1 levermann.eu, 1 leversconceptconstructions.com.au, 1 +leversonbudke.com, 1 leviaan.nl, 1 leviathan-studio.com, 1 leviathanfan.tk, 1 @@ -86750,12 +87504,13 @@ lewiscountytn.gov, 1 lewisjuggins.co.uk, 1 lewismcyoutube.uk, 1 lewistonutah.gov, 1 -lewood.io, 0 +lewood.io, 1 lewt.me, 1 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 @@ -86851,12 +87606,12 @@ lgesteticaautomotiva.com.br, 1 lgfa.com.au, 1 lghairdressers.nl, 1 lghfinancialstrategy.ch, 0 -lgiswa.com.au, 0 +lgiswa.com.au, 1 lgmars.xyz, 1 lgmotors.cz, 1 lgnsh.fr, 1 lgobchod.cz, 1 -lgrs.com.au, 0 +lgrs.com.au, 1 lgsc.lv, 1 lgscripts.com.br, 1 lgsg.us, 1 @@ -86911,7 +87666,6 @@ lian-in.net, 1 liana.site, 1 lianand.com, 1 liangbi.ml, 1 -liangfaner.com, 0 lianglongcredit.com, 0 liangmian.com, 1 liangxingai.com, 1 @@ -86925,6 +87679,7 @@ liantao.com, 1 lianwen.kim, 1 liaozheqi.cn, 1 liar.wiki, 1 +liasecboard.com, 1 libanswers.com, 1 libanswers.net, 1 libapps.com, 0 @@ -87071,6 +87826,7 @@ librosdelasteroide.com, 1 librosderuta.com, 1 librosdescargas.club, 1 librosgratisnet.tk, 1 +libruis.com, 0 libscpi.org, 1 libskia.so, 1 libslack.org, 1 @@ -87164,6 +87920,7 @@ liegveld.nl, 1 liella.me, 1 liemen.net, 1 liena.be, 0 +liendar-silver.com, 1 lienhuyghebaert.tk, 1 lier.link, 1 lier.tk, 1 @@ -87171,7 +87928,7 @@ lieren4x4.nl, 1 lierohell.tk, 1 liersgevoel.nl, 1 liesbethkeijzer.nl, 1 -lifamily.xyz, 1 +lieuu.com, 0 lifanov.com, 1 life-emotions.pt, 0 life-in-hell.tk, 1 @@ -87300,6 +88057,7 @@ lightbook.org, 1 lightbox.co, 1 lightcraftmc.tk, 1 lightdark.xyz, 1 +lightenenterprise.com, 1 lightfoot.co.uk, 1 lighthouseglobal.com, 1 lighthouseguild.org, 0 @@ -87344,6 +88102,7 @@ lightworks.tk, 1 lightyear.ai, 1 lightyear.no, 1 ligiptv.tk, 1 +ligmadrive.com, 1 ligneclaire.tk, 1 lignemalin.com, 1 lignoma.com, 1 @@ -87430,6 +88189,7 @@ lillywhitehotelgroup.com.au, 1 lilou-sportswear.com, 1 lilousportswear.com, 1 lilpwny.com, 1 +lilsgym.ca, 1 lilstarry.com, 1 lilth.moe, 1 liltv.media, 1 @@ -87466,7 +88226,7 @@ lime-host.cf, 1 lime-host.tk, 1 limebulgaria.com, 1 limechain.tech, 0 -limecho.net, 0 +limecho.net, 1 limehotel.tk, 1 limelightnashville.cf, 1 limelightnashville.ga, 1 @@ -87562,6 +88322,7 @@ lindanblog.com, 1 lindaolsson.com, 0 lindapark.com, 1 lindazi.com, 1 +lindbladcruises.com, 1 linden-nj.gov, 1 linden.tk, 1 lindenfd-nj.gov, 1 @@ -87722,6 +88483,8 @@ linksmatrix.tk, 1 linksol-inc.com, 1 linkspace.tk, 1 linkss.express, 1 +linkst.co, 0 +linkstaffing.com, 1 linkstellar.com, 1 linktgo.com, 1 linkthis.me, 1 @@ -87836,6 +88599,7 @@ linuxhandbook.com, 0 linuxhostsupport.com, 1 linuxiac.com, 1 linuxiuvat.de, 1 +linuxkompis.se, 1 linuxlatbot.tk, 1 linuxlounge.net, 1 linuxmalta.tk, 1 @@ -87849,6 +88613,7 @@ linuxwerkstatt.net, 1 linuz.it, 1 linx.net, 1 linxmind.eu, 1 +linxoconnect.com, 1 linxtter.com, 1 linyunbin.com, 1 linz.eu.org, 1 @@ -87897,7 +88662,7 @@ liptor.gq, 1 lipturess.tk, 1 liq.com.br, 1 liqd.net, 1 -liqiuyu.com, 0 +liqiuyu.com, 1 liqourltd.com, 1 liqueur.wiki, 1 liquid.cz, 1 @@ -88002,6 +88767,7 @@ listminut.be, 1 listofcamsites.com, 1 listoffreeware.com, 0 listratenkov.com, 1 +listruct.com, 1 lists.fedoraproject.org, 1 lists.mayfirst.org, 0 lists.stg.fedoraproject.org, 1 @@ -88154,6 +88920,7 @@ liubliu.co.uk, 1 liud.im, 1 liudon.com, 1 liujr.tk, 1 +liujunyang.com, 0 liukang.com, 1 liukang.tech, 1 liul.in, 1 @@ -88201,6 +88968,7 @@ livealarm.com, 1 liveandalucia.es, 1 liveanimations.org, 1 livebandphotos.com, 1 +livebeachcam.net, 0 livebestbooks.gq, 1 livebookmark.ml, 1 livebox-mag.fr, 1 @@ -88258,6 +89026,7 @@ livermoreca.gov, 1 livermorefireco.gov, 1 liverobot888.com, 1 liverpoolmoneyman.com, 1 +liversurgery.com, 1 liverylive.com, 1 livesexcalls.co.uk, 1 livesimply.me, 1 @@ -88292,6 +89061,7 @@ living-space.co.nz, 1 living-with-outlook-2010.com, 1 living.video, 1 livingafrugallife.com, 1 +livingbitsandthings.com, 1 livingdex.ca, 1 livingdocs.io, 1 livinghebrew.tk, 1 @@ -88380,7 +89150,6 @@ lklyrics.com, 1 lkmt.us, 1 lknw.de, 1 lkp111138.me, 1 -lkqpickyourpart.com, 1 lksoft.cz, 1 lkw-faehren-buchen.de, 1 lkwmodellbau.at, 1 @@ -88456,6 +89225,7 @@ lnrnews.ru, 1 lnsk.lt, 1 lnsolucoesfinanceiras.com.br, 1 lnsrv.net, 1 +lntecc.com, 1 lntpower.com, 0 lntsufin.com, 1 lnttechservices.com, 1 @@ -88521,6 +89291,7 @@ localcdn.org, 1 localcryptos.com, 1 locald.at, 1 localdating.ml, 1 +localenv.uk, 1 localethereum.com, 1 localexpert.realestate, 1 localexpress.io, 0 @@ -88635,6 +89406,7 @@ locksmithmissouricity.com, 1 locksmithsammamishwa.com, 1 locksmithsanantonio-247.com, 1 locksmithsanantoniotexas.com, 1 +locksmithsbuda.com, 1 locksmithscottsdaleaz.com, 1 locksmithservice-houston.com, 1 locksmithsinsanantoniotx.com, 1 @@ -88647,6 +89419,7 @@ locksmiththewoodlands.com, 1 locksport.org.nz, 1 lockwoodonlinejournals.com, 1 loco-creations.nl, 1 +loco-socials.nl, 1 locomediagroep.nl, 1 locomotiv.tk, 1 locomotive.ca, 1 @@ -88675,6 +89448,7 @@ lodongxu.com, 0 lodosswar.tk, 1 lodus.io, 1 lodzjews.org, 1 +loeilducontinent.com, 1 loekkoopmans.tk, 1 loeklommers.nl, 1 loekvormgeving.nl, 1 @@ -88759,6 +89533,7 @@ login.raiffeisen.ch, 1 login.sapo.pt, 0 login.ubuntu.com, 1 login.yahoo.com, 0 +logindefense.com, 1 logingate.hu, 1 loginsecure.eu, 1 loginsoft.com, 1 @@ -88981,7 +89756,7 @@ lomuarredi.com, 1 lomza.tk, 1 lon-so.com, 1 lona.io, 1 -lonasdigital.com, 1 +lonasdigital.com, 0 lonavla.tk, 1 lonca.co, 1 lonchaney.com, 1 @@ -89173,6 +89948,7 @@ lor.kharkov.ua, 1 loracheadle.com, 1 loraincountyohio.gov, 1 loraincountyrecorder.gov, 1 +lorasong.com, 1 loratadine10mg.gq, 1 lorbooks.tk, 1 lorcamadrid.tk, 1 @@ -89190,7 +89966,6 @@ lordgandalf.nl, 1 lordgeorgeanson.com, 1 lordgrant.tk, 1 lordkrishna.tk, 1 -lordlink.net, 1 lordmusic.tk, 1 lordofcbd.fr, 1 lordofthecraft.tk, 1 @@ -89205,6 +89980,7 @@ loredrop.com, 1 loreedeslandes.com, 1 loremipsum.info, 1 lorena-salido.tk, 1 +lorenaandthetide.com, 1 lorenadumitrascu.ro, 1 lorengraff.net, 1 lorenstudioo.com, 1 @@ -89305,7 +90081,7 @@ lostcork.com, 1 lostcosmonaut.cc, 1 lostfest.co.uk, 1 lostfield.tk, 1 -lostfilm.cx, 0 +lostfilm.cx, 1 lostfilm.tv, 1 lostgeek.de, 0 losthighway.tk, 1 @@ -89346,6 +90122,7 @@ lothlorien.ca, 0 lotioito.com.br, 1 lotl.ru, 1 lotn.mobi, 1 +lotnonline.com, 1 lotnonline.net, 1 lotnonline.nl, 1 loto-king.com, 1 @@ -89409,6 +90186,7 @@ louisemisellinteriors.co.uk, 1 louiserutkowski.tk, 1 louisianalifesciences.gov, 1 louisianamo.gov, 1 +louisianamusicfactory.com, 1 louisiananetzero.gov, 1 louisianarecoveryauthority.org, 1 louisianarural.gov, 1 @@ -89426,6 +90204,7 @@ loujaxx.net, 1 loukas-stoltz.fr, 1 loukkos.ma, 1 loune.net, 1 +lounge.guide, 1 loungeballin.org, 1 loungecafe.net, 1 loungecafe.org, 1 @@ -89461,6 +90240,7 @@ lovebirdhut.tk, 1 lovebo9.com, 1 lovebo9.net, 1 lovebombed.wtf, 1 +lovebooksforyou.com, 1 lovebusinesseastmidlands.com, 1 lovebusinessexpo.co.uk, 1 lovebusinessnetworking.co.uk, 1 @@ -89526,6 +90306,7 @@ lovesw.top, 1 lovetablecloths.co.uk, 1 lovetarot.jp, 1 lovethatmakeup.tk, 1 +lovetheprint.co.za, 1 lovetime.co.il, 1 lovetowork.tk, 1 loveuno.com, 1 @@ -89564,7 +90345,7 @@ lowerpricefinder.com, 1 lowerthetone.com, 1 lowesprotect.com, 1 lowlab.io, 1 -lowlandrp.com, 0 +lowlandrp.com, 1 lowlevelmusic.com, 1 lowmagnitude.com, 1 lowndes-al.gov, 1 @@ -89754,7 +90535,8 @@ lucasgymnastics.com, 0 lucasjquinn.com, 1 lucaslarson.net, 1 lucasmateus.ga, 1 -lucastefanelli.dk, 0 +lucastefanelli.dk, 1 +lucasvieira.fr, 0 lucciolachile.com, 1 luce.life, 1 lucentioluo.space, 1 @@ -89768,6 +90550,7 @@ luchshie-experty.top, 0 luchtspoor.nl, 1 lucia-art.cf, 1 lucia-riemer.de, 1 +luciara.mx, 1 lucid-light.de, 1 lucid-reality.ch, 1 lucidea.com, 1 @@ -89848,6 +90631,7 @@ ludomo.de, 1 ludotech.tk, 1 ludovic-frank.fr, 0 ludovic-muller.fr, 1 +ludovicfernez.com, 1 ludum-polus.xyz, 1 ludum.pl, 1 ludunwayoo.com, 1 @@ -89969,7 +90753,7 @@ lullugun.net, 1 luls.tk, 1 lulu960.xyz, 1 luludapomerania.com, 1 -lulugold.ba, 1 +luluwoldtravel.com, 1 lumaesthetic.co.uk, 1 lumafestival.com, 1 lumaistore.com.br, 1 @@ -90004,6 +90788,7 @@ lumitop.com, 1 lumixtar.com, 1 lummi-nsn.gov, 1 lummihealth.gov, 1 +lumminary.com, 1 lumoa.me, 1 lumoria.eu, 1 lumos.gallery, 1 @@ -90063,7 +90848,7 @@ lunepieters.co.za, 1 lunextd.com, 1 lungenexperte.at, 1 lungta.pro, 1 -lungustefan.com, 1 +lunguflorin.ro, 1 lungustefan.ro, 1 luniak.net, 1 lunight.ml, 1 @@ -90165,7 +90950,6 @@ luvare.com, 1 luvdress.com, 1 luve-gm.ch, 1 luvey.com, 1 -luviantrade.com.ec, 1 luvmihome.com, 1 luvscent.com, 1 lux-house.tk, 1 @@ -90195,6 +90979,7 @@ luxmedprotez.com, 0 luxoestates.com, 1 luxonengineering.com, 1 luxonmx.com, 1 +luxory.ro, 1 luxosemimos.com.br, 1 luxoticlingerieandswimwear.com, 0 luxplay.com.tw, 1 @@ -90286,6 +91071,7 @@ lxd.tw, 1 lxg.de, 1 lxiii.eu, 1 lxiv.eu, 1 +lxn.re, 1 lxnchan.cn, 1 lxx4380.com, 1 ly-nux.fr, 1 @@ -90310,6 +91096,7 @@ lyftservice.se, 1 lygus.lt, 1 lyklaskipti.is, 1 lyklasmidur.is, 1 +lykope.com, 1 lykos.ai, 1 lyla-pressing.com, 1 lymecraft.com, 1 @@ -90341,6 +91128,7 @@ lynnvartan.com, 1 lynred.com, 1 lynt.nl, 1 lynth.io, 1 +lynwilliams.com, 1 lynwoodca.gov, 1 lynx-webservice.com, 0 lynx.com.au, 1 @@ -90376,7 +91164,6 @@ lysergion.com, 1 lysethcreation.com, 1 lyst.co.uk, 1 lyteclinic.com, 0 -lytkins.ru, 1 lyubov-sovmestimost.cf, 1 lyuda.tk, 1 lyukaacom.ru, 1 @@ -90445,6 +91232,7 @@ m1r2.com, 1 m23cal.eu, 1 m24o.net, 1 m2designer.com.br, 1 +m2dleadership.com, 1 m2epro.com, 0 m2i-api.com, 1 m2icondb.com, 1 @@ -90455,7 +91243,9 @@ m2os.com, 1 m2tm.fr, 1 m3-software.com, 1 m36533.com, 1 +m3eng.co.uk, 1 m3rck.ch, 1 +m3u8play.com, 1 m42-gmbh.de, 1 m426.ch, 1 m4g.ru, 1 @@ -90628,6 +91418,7 @@ macpress.com.br, 1 macquariesolar.com, 1 macreosolutions.com, 1 macroad.com, 1 +macroban.com, 1 macrobills.com, 1 macroeng.tk, 1 macrofab.com, 1 @@ -90656,6 +91447,7 @@ madae.nl, 1 madagascarbycar.com, 1 madamasr.com, 1 madamcougar.com, 1 +madame-kosmetikstudio.de, 1 madameblueimages.com, 1 madamemeringue.nl, 1 madasocialmedia.org, 1 @@ -90672,6 +91464,7 @@ maddin.ga, 1 made-to-usb.com, 1 made.md, 1 made2coach.com, 1 +madebydami.com, 1 madebyesmel.com, 1 madebyhand.art, 1 madebyshore.com, 0 @@ -90729,6 +91522,7 @@ madisonprocaccini.tk, 1 madisonsquarerealestate.com, 1 madisontwpmi.gov, 1 madisonvilleky.gov, 1 +madisskips.com.au, 1 madkids.ga, 1 madknight.tk, 1 madlandezboard.tk, 1 @@ -90882,6 +91676,7 @@ magendarmbeschwerden-koblenz.de, 1 magenkompass.de, 0 magentacares.com, 1 magentazorg.nl, 1 +magento-ecommerce.co.za, 0 magento-ecommerce.it, 1 magentodevelopment.co.uk, 1 magentrix.com, 0 @@ -90928,6 +91723,7 @@ magicflora.tk, 1 magicgrants.org, 1 magiciansofchaos.tk, 1 magicjudges.org, 1 +magickery.com, 1 magickmale.de, 1 magiclen.org, 1 magicline.com, 1 @@ -90965,7 +91761,10 @@ magnamus.it, 1 magnatronic.com.br, 1 magneetfolie.nl, 1 magnes.priv.pl, 1 +magnesy-neodymowe.com.pl, 1 magnesy-neodymowe.pl, 1 +magnesy.de, 1 +magnesy.net.pl, 1 magnesy.priv.pl, 1 magnet-schultz.com, 1 magnet.pub, 1 @@ -91049,6 +91848,7 @@ mahaskacountyia.gov, 1 mahatenders.gov.in, 1 mahatmarice.com, 1 mahatmayoga.org, 1 +mahavirmandirpatna.org, 1 mahawi.sk, 1 mahayana.tk, 1 mahbobmax.tk, 1 @@ -91099,7 +91899,7 @@ maiebanatulfruncea.com, 1 maierteamre.com, 1 maigesellschaft-lammersdorf.de, 1 maijia800.com, 1 -maikendener.com, 0 +maikendener.com, 1 maikhuong.tk, 1 maikoloc.com, 1 mail-de.jp, 1 @@ -91390,6 +92190,7 @@ makomako.tk, 1 makonet.com.au, 1 makos.jp, 1 makowitz.cz, 1 +makromedikal.com.tr, 1 maksa.ga, 1 maksima.kh.ua, 1 maksimmrvica.tk, 1 @@ -91413,6 +92214,7 @@ maladie-autoimmune.fr, 1 malafidezoeker.nl, 1 malagabaterias.com, 1 malagarental.com, 1 +malagarental.es, 1 malahov.tk, 1 malakye.com, 1 malami.gr, 1 @@ -91551,7 +92353,6 @@ malwaretips.com, 1 malwarewise.com, 1 malwarez.xyz, 1 malworld.me, 1 -malynovskyi.com, 1 malypiesekzuzi.pl, 1 mamabatataya.com, 1 mamabearbabywear.com, 1 @@ -91602,6 +92403,7 @@ mamontov.tk, 1 mamoris-net.jp, 1 mamot.fr, 1 mamradost.sk, 1 +mamsds.com, 1 mamtapark.tk, 1 mamuko.nl, 1 mamunlyric.tk, 1 @@ -91616,6 +92418,7 @@ manach.net, 1 manaenergija.lv, 1 manage.cm, 1 manage.com, 0 +manageairlinesbooking.com, 1 managed-it.africa, 1 managed-it.co.za, 1 managed-service-provider.co.uk, 1 @@ -91754,15 +92557,18 @@ manilarecruitment.com, 1 manilatoday.net, 1 manimalosteo.com, 1 manimatter.ch, 1 +maninternational.pro, 1 maniorpedi.com, 1 maniosglass.gr, 1 manipil.ch, 0 +manipurmatka.net, 1 manisahaberleri.tk, 1 +manitaggarwal.com, 0 manitasavila.com, 1 manitbd.com, 0 manitcloud.com, 1 maniththakur.com, 1 -manito.kr, 0 +manito.kr, 1 manitoba.ca, 1 manitoulinairport.ca, 1 manitoulinairport.com, 1 @@ -91821,6 +92627,7 @@ manoirdecontres.com, 1 manojsharan.me, 1 manolitodarts.tk, 1 manologaribay.tk, 1 +manopaskola.lt, 1 manorhousecapital.com, 1 manoro.de, 1 manortx.gov, 1 @@ -92027,6 +92834,7 @@ marbellaclub.com, 1 marbellaoptic.ro, 1 marbermedical.com, 1 marble.com, 1 +marblecapitallp.com, 1 marblecare.ae, 1 marbleceramiccorp.com.au, 1 marbleme.jp, 1 @@ -92079,6 +92887,8 @@ marchand.net.pl, 1 marchellenevers.tk, 1 marchesini.com, 1 marchesini.com.ua, 1 +marchetta.me, 1 +marchetta.tech, 1 marchhappy.tech, 0 marchinghatters.tk, 1 marchingnorth.com, 1 @@ -92105,6 +92915,7 @@ marcokuoni.ch, 1 marcolattanzio.tk, 1 marcolux.lu, 1 marcomawards.com, 1 +marcomediacion.com, 1 marcopiottante.tk, 1 marcoreitmeier.de, 1 marcositaliandeli.co.uk, 0 @@ -92210,7 +93021,7 @@ mariberceritera.online, 1 marico.com, 1 maridacaterini.it, 1 maridana.lt, 1 -marie-pettenbeck-schule.de, 1 +marie-pettenbeck-schule.de, 0 marie-psy.fr, 1 marie.club, 1 mariealber.cz, 1 @@ -92222,6 +93033,7 @@ mariel-news.net, 1 mariella-sun.net, 1 marielouise.tk, 1 mariemccaig.co.uk, 1 +mariemiramont.fr, 1 marien-bouwens.be, 1 marienolandmd.com, 1 marienvanoverbeek.nl, 1 @@ -92234,6 +93046,7 @@ marijuana-seeds.nl, 1 marijuanajobscannabiscareers.com, 1 marik.net.br, 1 marikafranke.de, 1 +marikekinze.de, 1 marillatownshipmi.gov, 1 marilower.tk, 1 marilsnijders.nl, 1 @@ -92295,6 +93108,7 @@ mariospizzaoxford.co.uk, 1 mariouniversalis.fr, 1 mariowiki.com, 1 mariposah.ch, 1 +mariquitatrasquila.com, 1 marisamorby.com, 0 marisasitaliankitchen.com, 1 mariskavankasbergen.nl, 1 @@ -92315,7 +93129,7 @@ mariyoki.com, 1 marizaikonomi.tk, 1 marj3.com, 1 marjadeleeuw.nl, 1 -marjala.no, 0 +marjala.no, 1 marjanne.tk, 1 marjeta-gurtner.ch, 1 marjon.photography, 1 @@ -92385,6 +93199,7 @@ marketnews.com, 0 marketone.com, 1 marketplace.tf, 1 marketplacetue.nl, 1 +marketresearch.biz, 1 marketsearch.ga, 1 marketsnerd.com, 1 marketsosyali.tk, 1 @@ -92614,7 +93429,7 @@ martinaachen.tk, 1 martinalonsovega.tk, 1 martinarnold.co.uk, 1 martinassurfdepot.tk, 1 -martinbaileyphotography.com, 1 +martinbaileyphotography.com, 0 martinbiely.com, 1 martinboerhof.nl, 1 martinbrandt.de, 1 @@ -92740,6 +93555,7 @@ maryjaneandwendy.com, 1 marykirsch.net, 1 marylandcomptroller.gov, 1 marylandtaxes.gov, 1 +maryleemacdonald.org, 1 maryluzturismo.co, 1 marymagdaleneshrine.org, 1 marymaloney.tk, 1 @@ -92751,6 +93567,7 @@ marytetzstore.com.br, 1 marywet.net, 1 mas.be, 1 mas.bg, 1 +masa.sa, 1 masaarchive.org, 1 masajilanver.tk, 1 masakanibu.ga, 1 @@ -92776,6 +93593,7 @@ masdr.sa, 1 masduta.co, 1 masdzub.com, 1 masefieldvets.co.uk, 1 +masepps.pe, 1 maservant.com, 1 maservant.net, 1 masfloss.net, 1 @@ -92800,7 +93618,6 @@ masiavillalonga.com, 1 masiniunelte.store.ro, 1 masinky.tk, 1 masiorama.it, 1 -masjidalbayyinah.org, 1 masjidalnoorwairarapa.co.nz, 1 mask-skin.tk, 1 maskamuse.com, 1 @@ -92871,6 +93688,7 @@ masshelpline.com, 1 masshost.tk, 1 masshpc.gov, 1 massimo.com.my, 1 +massimocasa.it, 1 massindia.in, 1 massive.tk, 1 massiveanalyser.com, 1 @@ -92944,7 +93762,6 @@ mastersplace.tk, 1 masterstation.net, 1 mastersthesiswriting.com, 1 masterstouch.co.za, 1 -masterstruckingacademy.com, 1 mastertent.com, 1 masterton.com.au, 1 mastertutoriales.com, 0 @@ -92959,6 +93776,7 @@ mastodon.blue, 0 mastodon.com.pl, 1 mastodon.cr, 1 mastodon.ee, 1 +mastodon.fun, 1 mastodon.org.uk, 1 mastodon.pl, 0 mastodon.top, 1 @@ -92976,6 +93794,7 @@ mat.com.vn, 1 mat.services, 1 mat99.dk, 1 matacrylic.com, 1 +matador-group.eu, 1 matador.ch, 1 matafonov.tk, 1 mataharischoolsurf.com, 1 @@ -93085,7 +93904,6 @@ mathleaks.com, 1 mathleaks.se, 1 mathnet.ru, 1 mathome.spdns.org, 1 -mathomedesign.com, 1 maths.network, 1 mathsource.ga, 1 mathspace.co, 1 @@ -93119,6 +93937,7 @@ matogrossonoticias.com.br, 1 matolab.lt, 1 matomari.tk, 1 matopu.tk, 1 +matora.com.au, 1 matosinfo.com, 1 matosinfo.fr, 1 matoutepetiteboutique.com, 1 @@ -93369,6 +94188,7 @@ mauthausen-memorial.org, 1 mauthietkecafe.com, 1 mauticamp.ng, 1 mautwelt.de, 1 +mave.sh, 1 maveeranpasupathi.tk, 1 maven.ng, 0 maventrading.com, 0 @@ -93411,6 +94231,7 @@ max5365.com, 0 max55365.com, 0 max6365.com, 0 max66365.com, 0 +max77365.com, 0 max8365.com, 0 max88365.com, 0 max9365.com, 0 @@ -93427,6 +94248,7 @@ maxbuelk.de, 1 maxbytes.nl, 0 maxcash.com, 1 maxchan.info, 1 +maxchap.ir, 1 maxchernoff.ca, 1 maxclean.ml, 1 maxcleaning.be, 1 @@ -93491,6 +94313,7 @@ maxlaumeister.com, 1 maxley.yachts, 1 maxmabyte.com, 1 maxmanus.ga, 1 +maxmarket.bg, 1 maxmatthe.ws, 0 maxmind-test.com, 1 maxmind.com, 1 @@ -93499,7 +94322,6 @@ maxmusic.tk, 1 maxmusical.ml, 1 maxnac.tk, 1 maxnews.mn, 1 -maxogles.com, 0 maxopen.cf, 1 maxopolyworldnews.com, 1 maxostapenko.com, 1 @@ -93574,6 +94396,7 @@ maysambotros.tk, 1 mayslandingcornholeleague.com, 1 maythai.eu, 1 maythai.pl, 1 +maytretrungphuong.com, 1 mayuraakitchens.com, 1 maywood-il.gov, 1 mayx.eu.org, 1 @@ -93612,6 +94435,7 @@ mbaestlein.de, 1 mbainflatables.co.uk, 1 mbakaro.in, 1 mbalaw.pl, 1 +mbank.kg, 1 mbar.us, 1 mbardot.com, 1 mbasic.facebook.com, 0 @@ -93670,7 +94494,7 @@ mc.ax, 1 mc007.xyz, 1 mc2.plus, 1 mc2informatique.fr, 1 -mc3dreal.de, 1 +mc3dreal.de, 0 mc4free.cc, 1 mcagon.tk, 1 mcahm.eu.org, 1 @@ -93682,10 +94506,12 @@ mcaz.nl, 1 mcb-bank.com, 0 mcba.com.br, 1 mcbbs.wiki, 1 +mcbooks.vn, 0 mcc.edu.ph, 1 mccabes.com.au, 1 mccallkulak.org, 1 mccannhealth.com, 1 +mccannworldgroup.com, 1 mccarthyprestige.com.au, 1 mccinc.ca, 1 mcclaincountyok.gov, 1 @@ -93914,6 +94740,7 @@ mdmed.clinic, 1 mdmhukuk.com, 1 mdns.eu, 1 mdosch.de, 1 +mdpharma.com, 1 mdpp.com.br, 1 mdpparish.com, 1 mdroo.com, 1 @@ -93960,6 +94787,7 @@ meaningfulbits.io, 1 meanit.ie, 1 meanjstraininginstitute.com, 1 meanmugauto.com, 1 +meany.xyz, 1 meao.io, 1 meao.market, 1 meao.online, 1 @@ -93981,6 +94809,7 @@ meatfreecarnivore.com, 1 meavagas.com, 1 meazurelearning.com, 1 mebel-dnr.ml, 1 +mebel-renessans.ru, 1 mebel-voronezh.cf, 1 mebelconcept.tk, 1 mebelipalitra.ru, 0 @@ -94105,6 +94934,7 @@ mec0974.com, 1 mec0976.com, 1 mec0977.com, 1 mec539.com, 1 +mec555.com, 0 mec760.com, 1 mec825.com, 1 mec888.net, 1 @@ -94115,7 +94945,6 @@ mecalux.es, 1 mecalux.nl, 1 mecambioamac.com, 1 mecanicoautomotriz.org, 0 -mecanique-casa.com, 1 mecaniquemondor.com, 1 mecanizadostrs.com, 1 mecari.tk, 1 @@ -94167,6 +94996,7 @@ medbreaker.one, 0 medcartoon.com, 1 medcenter.online, 1 medcentr.online, 1 +medcheck.ma, 1 medcir.com.br, 1 medcof.com.br, 1 medcorfu.gr, 1 @@ -94239,6 +95069,7 @@ mediagrand.net, 1 mediahaus.de, 0 mediahiburan.my, 1 mediajurnal.com, 1 +medialandscapes.org, 1 medialine.ag, 1 medialine.com, 1 medialinkz.ga, 1 @@ -94396,7 +95227,6 @@ medium.cz, 1 mediumforgood.com, 1 mediums.cf, 1 mediumseznam.cz, 1 -medivisionsc.com, 1 medivox.tk, 1 mediweed.tk, 1 mediwish.com, 1 @@ -94433,6 +95263,7 @@ medrol.cf, 1 medschrome.com, 1 medscope.com.au, 1 medscope.tk, 1 +medservice.cz, 1 medservis.online, 1 medsi-online.tk, 1 medsister.tk, 1 @@ -94450,6 +95281,7 @@ medtehnika.ua, 1 medtronicpain.com, 1 meduna.org, 1 medunovi.com, 1 +medusa.wtf, 1 meduza.io, 1 medvedikorenka.cz, 1 medvedivka.tk, 1 @@ -94526,6 +95358,7 @@ mega.co.nz, 1 mega.io, 0 mega.nz, 1 mega.ru, 1 +mega888ios.com, 1 megaar.tk, 1 megabike.tk, 1 megabook.ml, 1 @@ -94535,7 +95368,6 @@ megacek.com, 1 megacek.cz, 1 megacompany.cz, 1 megadesignecv.com.br, 1 -megadimensao.com.br, 1 megaelettrostimolatore.com, 1 megafilez.tk, 1 megaflix.nl, 1 @@ -94619,6 +95451,7 @@ megumin.moe, 1 megztosidejos.lt, 1 meh.is, 1 mehalick.com, 1 +meharossii.ru, 1 mehdavia.tk, 1 mehdibouchema.be, 1 mehdiqurancenter.com, 1 @@ -94656,6 +95489,7 @@ meilleur-casino-bitcoin.com, 1 meilleurs-site-de-rencontres.com, 1 meilleursagents.com, 1 meilleursavis.fr, 1 +meilleursenlignejeux.com, 1 meilleursjeuxporno.fr, 1 meilleurstrucs.com, 1 meimeilio.com, 1 @@ -94700,6 +95534,7 @@ meingartenversand.de, 1 meinhard.com, 1 meinpflegedienst.net, 1 meinprospekt.de, 1 +meinsite.online, 1 meinstartinsleben.com, 1 meinstartinsleben.de, 1 meinstift.ch, 1 @@ -94824,6 +95659,7 @@ meleagrisartfestival.gr, 1 meleeweb.net, 1 melenchatsmelenchiens.fr, 1 meleracupuncture.com, 1 +melhorescasino.com, 1 melhoria.co.uk, 1 melhortennis.com.br, 1 meli.la, 1 @@ -94889,6 +95725,7 @@ meltina-hotel.com, 1 melusine.eu, 1 melvillecity.com.au, 1 melvinsfrance.tk, 1 +melvintemo.com, 1 melyssamonroy.com, 1 mema.recipes, 1 memberbaz.ml, 1 @@ -94919,6 +95756,7 @@ memetria.com, 1 memez.download, 1 memind.net, 1 memiux.com, 1 +memjour.com, 1 memo-linux.com, 1 memo-werbeartikel.de, 1 memo.de, 1 @@ -95006,6 +95844,7 @@ menn.tk, 1 mennace.com, 1 mennetwork.com, 1 menno.cloud, 1 +mennohouse.ca, 1 menole.com, 1 menole.de, 1 menole.net, 1 @@ -95053,7 +95892,7 @@ mentesinquietas.tk, 1 menthiere.fr, 1 menti.com, 1 mentimeter.com, 1 -mentionlink.com, 1 +mentionlink.com, 0 mentiq.az, 1 mentolo.tk, 1 mentonein.gov, 1 @@ -95207,6 +96046,7 @@ merendonacademy.com, 1 merenita.eu, 1 merenita.net, 1 merezha.ua, 1 +mergeedu.com, 1 mergegroup.com.au, 1 mergellina.tk, 1 meribook.com, 1 @@ -95233,6 +96073,7 @@ merkchest.tk, 1 merke.tk, 1 merkel.me, 1 merklin.gq, 1 +merklingen.de, 1 merlenorman.com, 1 merlet.eu, 1 merlin-memorial.de, 1 @@ -95286,6 +96127,7 @@ mesec.cz, 1 mesh.gov, 1 meshcore.forum, 1 meshdigital.io, 1 +meshekard.co.il, 1 meshflow.be, 1 meshflow.net, 1 meshinspector.com, 1 @@ -95488,7 +96330,7 @@ methodist.com.tr, 1 methodisthealth.com, 1 methodistorthopedics.com, 1 methodprinting.com, 1 -methodwise.pt, 1 +methodsofcare.com, 1 methotrexatee.gq, 1 methotrexates.gq, 1 methuen.gov, 1 @@ -95547,11 +96389,13 @@ metromining.com.au, 1 metron-eging.com, 1 metron-networks.com, 1 metron-online.com, 1 +metron.mv, 1 metronidazolee.gq, 1 metronik.it, 1 metronome.ga, 1 metrophone.vn, 1 metroplanorlando.gov, 1 +metroplex.me, 1 metropole.com.au, 1 metropolis.ga, 1 metropolis5000.tk, 1 @@ -95581,7 +96425,7 @@ metu.social, 1 metver.tk, 1 metyweb.ga, 0 meu-amor.com, 1 -meu.re, 0 +meu.re, 1 meubairro360.com.br, 1 meubanco7.com.br, 1 meubebepa.com.br, 1 @@ -95592,6 +96436,7 @@ meugibi.com, 1 meuitinerario.com.br, 1 meulenerkes.tk, 1 meulivro.biz, 1 +meulk.co.uk, 0 meulocal.ml, 1 meuneneoficial.com.br, 1 meupix.ai, 1 @@ -95672,9 +96517,11 @@ mflodin.se, 1 mfmarquesantos.pt, 1 mfoda-eg.com, 1 mforum.com.au, 1 +mfpccprod.com, 1 mfr-lameignanne.fr, 1 mfrepair.com, 1 mft.global, 1 +mfwd.org, 1 mfxbe.de, 0 mfxer.com, 1 mfxm.fr, 1 @@ -95697,6 +96544,7 @@ mgfgroup.mx, 1 mgfgroup.us, 1 mgfpatrimoine.com, 1 mghiorzi.com.ar, 0 +mghw.ch, 1 mgi.gov, 1 mgi.sh, 1 mgisinc.ca, 1 @@ -95866,6 +96714,7 @@ michaelabbas.tk, 1 michaelaelsner.de, 1 michaelahern.net, 1 michaelamead.com, 1 +michaelasawyer.com, 1 michaelband.co, 1 michaelband.com, 1 michaelbeer.co.uk, 1 @@ -95909,6 +96758,7 @@ michaelpnaughton.com, 1 michaelroemer.de, 1 michaelschmidt.ch, 1 michaelschubert.com, 0 +michaelstoffer.com, 1 michaeltaboada.me, 1 michaeltruskowski.com, 1 michaelvician.me, 0 @@ -96068,6 +96918,7 @@ midcarolinaregionalairport.org, 1 midcoastproperties.com, 1 middag.com.br, 1 middascachaca.com.br, 1 +middelstaedt.com, 1 middle-way.de, 1 middleboroughma.gov, 1 middleeasy.com, 1 @@ -96172,7 +97023,7 @@ mightygadget.com, 1 mightyoakmarketing.ca, 1 mightytext-ios.tk, 1 mightytips.biz, 0 -mightytips.com.br, 0 +mightytips.com.br, 1 mightytips.hu, 0 migliorailtuoambiente.it, 1 migliori-siti-di-incontro.com, 1 @@ -96217,6 +97068,7 @@ mihgroup.net, 1 mihir.ch, 1 mihirsingh.com, 1 mihnea.net, 1 +mihomesource.com, 1 mihsislander.org, 1 mihu233.com.cn, 1 miih-kiosk.com, 1 @@ -96352,6 +97204,7 @@ mikegerwitz.com, 1 mikeguy.co.uk, 1 mikeirwinguitarlessons.com, 1 mikeklidjian.com, 1 +mikekreuzer.com, 1 mikelpradera.tk, 1 mikelundpainting.com, 1 mikemcgeephotography.com, 1 @@ -96509,6 +97362,7 @@ milivcounty.gov, 1 milk.games, 1 milk.xyz, 1 milk3soft.ai, 1 +milka.fr, 1 milkaalpesiutazas.hu, 1 milkacat.com, 1 milkagyengedseg.hu, 1 @@ -96532,6 +97386,7 @@ millcreekut.gov, 1 millcreekwa.gov, 1 millefleurs.eu, 1 millenn.photos, 1 +millennialbella.net, 1 millennium-thisiswhoweare.net, 1 millenniumfalcon.org, 1 millenniumsg.com, 1 @@ -96558,6 +97413,7 @@ millibirlik.tk, 1 millibitcoin.jp, 1 milliegrace.org, 1 millikart.az, 1 +millionaire.email, 1 millionaireclub.tk, 1 millionairemethodsacademy.tk, 1 millioncloud.org, 1 @@ -96685,6 +97541,7 @@ mindgtc.com, 1 mindingourway.com, 1 mindjee.tk, 1 mindkrafttech.com, 1 +mindleaking.org, 1 mindmatters.social, 1 mindmax.fi, 1 mindmeister.com, 1 @@ -96957,7 +97814,6 @@ minube.co.cr, 1 minucio.co, 1 minul.in, 1 minutamody.cz, 1 -minutashop.ru, 1 minuteflightdeals.com, 1 minuten-drogentests.de, 1 minutepunchline.com, 1 @@ -96979,6 +97835,8 @@ mipadlettings.com, 1 mipapo.de, 1 mipediatra.tk, 1 mipesa.cz, 0 +mipiaci.co.nz, 0 +mipiaci.com.au, 0 miplanilla.com, 1 mipolak.eu, 1 mipromo.com, 1 @@ -97182,6 +98040,7 @@ missworldinfo.tk, 1 missycosmeticos.com.br, 1 missycraindance.com, 1 missyjay.tk, 1 +mist79.ru, 1 mistades.ga, 1 mistajsay.com, 1 mistaken.pl, 1 @@ -97219,6 +98078,7 @@ mistressnadine.tk, 1 mistressofbeads.tk, 1 mistressofthehouseofbooks.com, 1 mistrivolantu.cz, 1 +misupportit.dk, 1 misura.re, 1 misw.jp, 1 miswonline.nl, 1 @@ -97245,7 +98105,9 @@ mitenloytaatoita.fi, 1 mitenloytaatyota.fi, 1 mitensaadatoita.fi, 1 mitensaadatyota.fi, 1 +mitersonfishing.bg, 1 mitev.gq, 1 +mitevi.com, 1 mitfahrgelegenheit.de, 1 mitfreespeech.org, 1 mitgrussen.de, 1 @@ -97281,6 +98143,7 @@ mitre-bedford.org, 1 mitre10.com.au, 0 mitrecaasd.org, 1 mitremai.org, 1 +mitroo.fun, 1 mitrostudios.com, 1 mitsannapolis.com, 1 mitsign.com, 1 @@ -97344,6 +98207,7 @@ mix-it.net, 1 mix-recruit.jp, 1 mix.my, 1 mixandplay.tk, 1 +mixedanimals.com, 0 mixedrecipe.com, 1 mixer.cz, 1 mixerfestival.com.br, 1 @@ -97492,6 +98356,7 @@ mkt.com, 1 mkt.cx, 1 mkt7.de, 1 mktcoral.com, 1 +mktemp.org, 1 mkultraclean.com.au, 1 mkw.st, 1 mkws.sh, 1 @@ -97580,6 +98445,7 @@ mmcalc.jp, 1 mmcase.ml, 1 mmdc.ru, 0 mmdriving.ca, 1 +mme.re, 1 mmhome.fr, 1 mmilog.hu, 1 mmimicro.com, 1 @@ -97729,7 +98595,6 @@ mobileciti.com.au, 1 mobilecraftingco.com, 1 mobilefactory.io, 1 mobilefidelity-magazin.de, 1 -mobilegameslist.com, 1 mobilegoldcoastelectrical.ga, 1 mobilehydraulics.com.au, 1 mobilelaby.com, 1 @@ -97786,7 +98651,7 @@ mobiotics.com, 1 mobiride.co, 1 mobistartv.ml, 1 mobius.network, 1 -mobizent.com, 1 +mobix-diskothek.de, 1 mobmp4.info, 1 mobobe.com, 1 mobolight.ml, 1 @@ -97823,6 +98688,7 @@ mod.gov.lb, 1 mod.io, 1 moda-donna.cf, 1 moda-line.ml, 1 +moda-querida.de, 1 modacompleta.com.br, 1 modafilmdmodafinil.com, 1 modafinil.wiki, 1 @@ -97830,6 +98696,7 @@ modafinilyes.com, 1 modafo.com, 1 modahaber.com, 1 modalogi.com, 1 +modalrakyat.com, 1 modaltraining.co.uk, 1 modamia.pl, 1 modamoom.com.br, 1 @@ -97905,6 +98772,7 @@ moderntech.dk, 1 moderntld.net, 1 moderntrainer.co.za, 1 moderntreasury.com, 0 +modernwebz.com, 1 modernworkplacelearning.co.za, 1 modernx.de, 1 modesalination.com, 1 @@ -97986,6 +98854,7 @@ moeslinger-gehmayr.com, 1 moetrack.com, 1 moevps.com, 1 moewe.org, 1 +moexian.org, 1 moeyy.tech, 1 mof.gov.ws, 0 mofarennen.com, 1 @@ -98233,6 +99102,7 @@ monday-consulting.com, 1 mondayaftersunday.com, 1 mondaynightbrewing.com, 1 monde-oriental.tk, 1 +monde.win, 1 mondechenoafrance.tk, 1 mondedie.fr, 1 mondenissin.com, 1 @@ -98257,6 +99127,7 @@ moneta-rossii.ru, 1 monetag.com, 0 monetenfuchs.de, 1 monetize.ml, 1 +monetizehelper.com, 1 monetizer.co, 1 monetizer.com, 1 monetizzando.it, 1 @@ -98437,6 +99308,7 @@ monsterminus.tk, 1 monstermoney.tk, 1 monsternet.pl, 1 monstersuniversity.ga, 1 +monstertalesgame.com, 1 monstertraxstudio.com, 1 monsterx.cn, 1 monstl.com, 1 @@ -98534,21 +99406,22 @@ monzo.tk, 1 moo.software, 1 moocat.me, 1 mooddie.pt, 1 +moodfabrics.com, 1 moodfoods.com, 1 moodgym.com.au, 1 moodgym.de, 1 moodifiers.com, 0 moodle.gq, 1 moodle.servebbs.com, 1 -moodlecfp.pt, 1 moodlegnr.pt, 1 -moodmagicmusic.com, 0 +moodmagicmusic.com, 1 moodsta.com, 1 moodup.team, 1 moodyfssrequest.com, 1 mooglms.com, 1 mooguire.com, 0 mooijwerk.com, 1 +mooivoet.nl, 1 moojp.co.jp, 1 mooka.tk, 1 moola.market, 1 @@ -98561,7 +99434,7 @@ moonbench.xyz, 1 moonbooth.com, 1 moonboxi.tk, 1 moonboys.de, 1 -moonbyte.at, 0 +moonbyte.at, 1 moonchart.co.uk, 1 moondoor.tk, 1 moondrop.org, 1 @@ -98667,6 +99540,7 @@ morbius.cz, 1 morbotron.com, 1 morchstore.com, 1 morcillaencaldera.com, 1 +mord-ost.de, 1 mordamla.com, 1 mordor.email, 1 mordor.land, 1 @@ -98793,6 +99667,7 @@ morselife.org, 1 mortaltorment.tk, 1 mortazavifar.com, 1 morteau.org, 1 +mortebrume.eu, 1 mortengamstpedersen.tk, 1 mortenhc.dk, 1 mortezaafri.tk, 1 @@ -98885,6 +99760,7 @@ mostfamousbirthdays.com, 1 mostlyharmless.at, 1 mostlyoverhead.com, 1 mostmost.tk, 1 +mostynlaw.com, 1 mosurist.tk, 1 moswand.nl, 1 motability.co.uk, 1 @@ -98970,10 +99846,12 @@ motomorgen.com, 1 motonovinky.cz, 1 motor-agro.com, 1 motor-agro.com.ua, 1 +motor-agro.ru, 1 motor-cycles.tk, 1 motor-forum.nl, 1 motor-show.cz, 1 motor1.com, 1 +motoramzsport.com, 1 motorbiketourhanoi.com, 1 motorcityalignment.com, 1 motorcitycasino.com, 1 @@ -99102,11 +99980,12 @@ movahoteis.com.br, 1 moval.gov, 1 movavi.id, 1 movavi.ru, 1 +move-out-cleaning.co.uk, 1 moveceara.com.br, 1 movefi.com.br, 1 moveisdecoracao.com.br, 1 moveissul.com.br, 1 -moveitmoveitmovers.com, 0 +moveitmoveitmovers.com, 1 moveltix.net, 1 movemais.com, 1 movember.com, 0 @@ -99139,7 +100018,6 @@ movieeveningest.ga, 1 moviefreeze.com, 1 movieglot.ml, 1 moviego.ch, 1 -moviego.ws, 1 movieguys.org, 1 moviejack.org, 0 moviemadness.uk, 1 @@ -99334,7 +100212,7 @@ mrcomer.tk, 1 mrcool.com, 0 mrcool.store, 1 mrcooldiy.ca, 1 -mrcooldiy.com, 0 +mrcooldiy.com, 1 mrcoolevents.com, 1 mrcoolfranchise.com, 0 mrcoolfranchising.com, 0 @@ -99347,7 +100225,7 @@ mrd.ninja, 1 mrdatenschutz.de, 1 mrdayman.com, 1 mre.to, 1 -mredsanders.net, 0 +mredsanders.net, 1 mrephrase.com, 1 mrfactors.com, 1 mrfd.nl, 1 @@ -99391,6 +100269,7 @@ mrmn.nl, 1 mrmoregame.de, 1 mrmosier.tk, 1 mrmostafaacademy.tk, 1 +mrmr.biz, 1 mrnabetterlife.com.sg, 1 mrnathanpowell.com, 1 mrnh.tk, 1 @@ -99457,6 +100336,7 @@ msa-aesch.ch, 1 msa-net.ru, 1 msa.bank, 1 msafa.org, 1 +msahebhonar.com, 1 msaludasuhogar.com, 1 msar.eu, 1 msbmb.com, 1 @@ -99605,6 +100485,7 @@ mtd.ovh, 1 mtdnrc.gov, 1 mte-online.com, 1 mte.sk, 1 +mtechprecisioninc.com, 1 mtehe-square.com, 1 mtel.gr, 1 mteleport.net, 1 @@ -99675,6 +100556,7 @@ mu.sk, 1 mu00.org, 1 mu3e.com, 1 mu3on.com, 1 +muabannhanh.com, 0 muac-innolab.eu, 1 muafakatmalaysia.ga, 1 muafakatmalaysia.gq, 1 @@ -99698,6 +100580,7 @@ muclan.tk, 1 mucmail.de, 1 mucustoms.com, 1 mudanzasacuna.com.co, 1 +mudanzasuiza.com.ec, 1 mudanzasytransportesbh.com, 1 mudaomundo.org, 1 mudasobwa.tk, 1 @@ -99807,6 +100690,7 @@ multerer.biz, 1 multi-cryptex.gq, 1 multi-fruit.tk, 1 multi-prets-hypotheques.ca, 1 +multi-pribor.ru, 1 multi-serwis.com.pl, 1 multi-soudures.fr, 1 multi-tool.ml, 1 @@ -99815,6 +100699,7 @@ multiasistencia.com, 1 multiaxisinc.ca, 1 multibomasm.com.br, 1 multicoin.capital, 0 +multicolortv.com, 1 multiconsumos.tk, 1 multicore.cl, 1 multicorpbra.com, 1 @@ -100057,6 +100942,7 @@ musetti.tw, 1 museum.nl, 1 museumcenter.az, 1 museumhammarlind.se, 1 +museumjeugduniversiteit.nl, 1 museumplantinmoretus.be, 1 museumwaalsdorp.nl, 1 musexpo.net, 1 @@ -100087,6 +100973,7 @@ musicaporbolivia.tk, 1 musicarenagh.com, 1 musicbox.party, 1 musicboxx.cz, 1 +musicbykshitij.com, 1 musicc.net, 1 musicchris.de, 1 musicfactory.ml, 1 @@ -100166,6 +101053,7 @@ muslitocomics.tk, 1 musmann.io, 1 musopen.org, 1 muspla.com.br, 1 +mussalains.com, 1 musselsblog.com, 1 mussila.com, 1 mussonsppe.com, 1 @@ -100194,6 +101082,7 @@ musttest.org, 1 mustwatch.com, 1 musubi-dev.net, 1 musulmanesnuevos.tk, 1 +mususu.com, 1 mutabakat.org.tr, 1 mutagen.io, 0 mutahar.me, 0 @@ -100228,6 +101117,7 @@ muv.co.uk, 1 muvy.tube, 1 muwatenraqamy.org, 1 muwi.tk, 1 +muxicloudy.de, 1 muxidream.cn, 1 muxup.com, 1 muy.ooo, 1 @@ -100269,7 +101159,7 @@ mvelopes.com, 1 mventix.com, 1 mvhsoracle.com, 1 mvib.net, 1 -mviess.de, 0 +mviess.de, 1 mvisioncorp.com, 1 mvistatic.com, 1 mvmcorps.com, 1 @@ -100327,6 +101217,7 @@ mww.moe, 1 mx-moto.fr, 0 mx-qr.com, 1 mx-quad.fr, 0 +mx-server.uk, 1 mx-solutions.net, 1 mx.org.ua, 1 mx.search.yahoo.com, 0 @@ -100348,6 +101239,7 @@ my-aftershave-store.co.uk, 1 my-azov.tk, 1 my-bratsk.tk, 1 my-calend.ru, 1 +my-carrent.de, 1 my-cars.tk, 1 my-clubpenguin.tk, 1 my-contract.ch, 0 @@ -100614,6 +101506,7 @@ mydifl.com, 0 mydigitalexperience.fr, 1 mydigitalhealthwallet.com, 1 mydigitalmarketingempire.com, 1 +mydigitalnation.com, 1 mydigitalpublication.com, 1 mydirectsys.com, 1 mydirtyclub.com, 1 @@ -100663,7 +101556,7 @@ myenemy.tk, 1 myenglish.tk, 1 myenocta.com, 1 myensolofts.com, 1 -myentspecialist.sg, 0 +myentspecialist.sg, 1 myepass.bg, 1 myepass.de, 1 myepidoma.gr, 1 @@ -100725,6 +101618,7 @@ myfsb.bank, 1 myfsb.com, 1 myfuhui.com, 1 myfunworld.de, 1 +myfurguard.com, 1 myfursona.com, 1 myfutanari.com, 1 myfuturewebsite.co.uk, 1 @@ -100737,6 +101631,7 @@ mygallery.homelinux.net, 1 mygameconsole.tk, 1 mygaming.news, 1 mygate.at, 0 +mygaypornstarlist.com, 1 mygaysitges.com, 1 mygd.org, 1 mygear.live, 1 @@ -100768,6 +101663,7 @@ mygomel.tk, 1 mygov.scot, 1 mygr8app.com, 1 mygreatjob.eu, 1 +mygreatlakes.org, 1 mygreatwebsite.co.uk, 1 mygreencloset.com, 1 mygrodno.tk, 1 @@ -100779,6 +101675,7 @@ myhappiness.tk, 1 myharley-davidson.net, 1 myhealthchecked.com, 0 myhealthcheckup.ca, 1 +myhealthcheckup.com, 1 myhealthsquad.ca, 1 myhealthyday.com, 1 myhelcim.com, 1 @@ -100881,6 +101778,7 @@ mylocraft.tk, 1 mylofamily.com, 1 myloft.xyz, 1 myloneworkers.com, 1 +myloplaza.com, 1 mylosscontrolservices.com, 1 mylost.com, 1 mylotto.co.nz, 1 @@ -100948,7 +101846,7 @@ mynas.ovh, 0 mynaturalmood.es, 1 mynaturebox.com, 0 mynaughtyalbum.com, 1 -mynaui.com, 0 +mynaui.com, 1 myndcommunication.com, 0 myndighetermeddnssec.se, 1 myndighetermedipv6.se, 1 @@ -101061,6 +101959,7 @@ myred.net, 1 myredfoxlabs.com, 1 myref.net, 1 myreferral.systems, 1 +myrejuvenators.com, 1 myrekber.co.id, 1 myremont.tk, 1 myremotelogin.ddns.net, 1 @@ -101069,6 +101968,7 @@ myrent.quebec, 1 myrepubic.net, 1 myrepubiic.net, 1 myrepublc.net, 1 +myrepublic.asia, 1 myrepublic.cf, 1 myrepublic.cloud, 1 myrepublic.com.cn, 1 @@ -101101,9 +102001,11 @@ myrepublicaus.com, 1 myrepublicfibre.com.au, 1 myrepublicgroup.com, 1 myrepublicinternet.com.au, 1 +myrepublicltd.com, 1 myrepublicmy.com, 1 myrepublicnz.com, 1 myrepublicsg.com, 1 +myrepublictelecom.com, 1 myrepubllc.net, 1 myresearchapp.com, 1 myresearchtoolbox.net, 1 @@ -101157,6 +102059,7 @@ myservicearl.com, 1 myserviceportal.de, 1 myservices.digital, 1 myservik.ml, 1 +myseu.cn, 0 mysexpedition.com, 1 mysexvids.net, 1 mysexycard.com, 1 @@ -101173,6 +102076,7 @@ mysimsem.com, 0 mysisterandi.co.za, 1 myslc.gov, 1 mysmallbusinesssidekick.com, 1 +mysmartloan.ca, 1 mysmartserve.com, 0 mysmsapp.cn, 1 mysociety.ml, 1 @@ -101188,7 +102092,7 @@ myspicer.com, 1 mysports.com, 1 mysql-real-escape-string.xyz, 1 mysqldump-secure.org, 1 -myssl.com, 0 +myssl.com, 1 mystaffonline.com, 1 mysteriouscode.com, 1 mysteriouscode.io, 1 @@ -101219,7 +102123,7 @@ mystormshield.eu, 0 mystorydoctor.com, 1 mystorymonster.com, 1 mystown.org, 1 -mystream.com, 0 +mystream.com, 1 mystreambox.fr, 1 mystreet.ga, 1 mystrength.com, 1 @@ -101449,6 +102353,7 @@ n9728.co, 1 na-agency.com, 1 na-bibb.de, 1 na-kipre.tk, 1 +na-school.nl, 1 na.nl, 1 na1.nl, 1 naacam.org.za, 1 @@ -101489,6 +102394,7 @@ nachhaltige-anleger.de, 1 nachoblanco.tk, 1 nachos.stream, 1 nachovni.org, 1 +nachrichten-heute.net, 1 nachsendeauftrag.net, 0 nachtherz.com, 1 nachtlebenliebe.de, 1 @@ -101593,7 +102499,9 @@ nahttps.tk, 1 nahue.ar, 1 nahue.com.ar, 1 naidoc.org.au, 1 +naifix.com, 1 naijapickup.com, 1 +naijapower.com, 1 naijaxnet.com.ng, 1 naijjobs.com, 1 naika.clinic, 1 @@ -101657,8 +102565,7 @@ nakhonchaitour.com, 1 nakib4tech.com, 1 nakim.cf, 1 nakin.tk, 1 -nakisa.com, 1 -nakit.eu, 1 +nakisa.com, 0 nakjadah.ddns.net, 1 nakka.ch, 1 nakkati.tk, 1 @@ -101924,6 +102831,7 @@ narutoshow.tk, 1 narutouzumaki.tk, 1 narutowicza47.pl, 1 narvizit.com, 1 +narware-testing.com, 1 nary-software.com, 1 narzedziownia.top, 1 nas-tech.de, 1 @@ -102270,6 +103178,7 @@ naveka.ga, 1 navenlle.com, 1 navidarian.tk, 1 navienna.com, 1 +navient.com, 1 navientagsettlement.com, 1 navigantcu.org, 1 navigatorgpo.com, 1 @@ -102467,6 +103376,7 @@ ncpimd001.spdns.de, 1 ncpw.gov, 1 ncretac.org, 1 ncrha.co.tt, 1 +ncrjobs.in, 1 ncrypt.at, 1 ncs-cleaning.dk, 1 ncsa.gov.qa, 1 @@ -102551,6 +103461,7 @@ nearnorthcustomsus.com, 1 nearnorthmassage.com, 1 nearnorthus.com, 1 neartothesky.com, 1 +neasahourigan.com, 0 neatful.eu.org, 1 neath-afan-gymnastics.com, 1 neatlife.co.uk, 1 @@ -102586,6 +103497,7 @@ nec-x.com, 1 necd.me, 1 nechtan.io, 1 necio.ca, 1 +neckbeard.xyz, 1 necklacen.com, 1 necord.com, 1 necrat.us, 1 @@ -102594,7 +103506,7 @@ necromantia.tk, 1 necronaut.tk, 1 necronomusick.tk, 1 necropolis-online.tk, 1 -necta.go.tz, 1 +necta.go.tz, 0 nectar.co.nz, 1 nectere.ca, 1 nectir-staging.com, 1 @@ -102680,6 +103592,7 @@ negociemos.com.co, 1 negocios-imatore.com, 1 negociosparaoptimistas.com, 1 negociosurbanos.net, 1 +negoya-shokai.info, 1 negozimoda.it, 1 negoziointimo.com, 1 negr.gay, 1 @@ -102696,6 +103609,7 @@ nehren.de, 1 nehrp.gov, 1 nehta.gov.au, 1 nehtw.com, 1 +nei.org, 1 neide.ga, 1 neighbor.co.il, 1 neighborhood-threat.tk, 1 @@ -102775,6 +103689,7 @@ nellafw.org, 1 nellen.it, 1 nellislife.marketing, 1 nellydallois.fr, 1 +nellydental.com, 1 neln.jp, 1 neln.net, 1 nelnet.com, 1 @@ -102826,6 +103741,7 @@ nemzetizaszlok.hu, 1 nen-ga.jp, 1 nenapu.tk, 1 nenasal.com, 1 +nenco.nl, 1 nenderus.su, 1 nenergy.pt, 1 nenesiosi.lt, 1 @@ -102962,6 +103878,7 @@ nerdmovieproductions.it, 1 nerdnet.goip.de, 1 nerdoftheherd.com, 1 nerdoutstudios.tv, 1 +nerdplusart.com, 1 nerdpol.ch, 1 nerdpol.org, 1 nerdpress.net, 1 @@ -103011,7 +103928,6 @@ neshura.net, 1 neskins.com, 1 nesolabs.de, 1 nespim.tk, 1 -ness.com, 1 nessaesthetics.com, 1 nesscitycatholic.org, 1 nessimworks.com, 1 @@ -103096,8 +104012,11 @@ neteraser.de, 1 netevents.org, 1 netexlearning.com, 1 neteye.ru, 1 -netfabb.com, 0 +netfabb.com, 1 netface.com.br, 1 +netferie.de, 1 +netferie.dk, 1 +netferie.no, 1 netfiles.de, 1 netfilter.cc, 1 netfirmtextile.com, 1 @@ -103250,6 +104169,7 @@ nettoyagehottespro.net, 1 nettoyageleriverain.com, 1 nettoyagesleriverain.com, 1 nettskjema.no, 1 +nettunoguide.dk, 1 nettverk.fi, 1 nettx.co.uk, 1 nettype.ca, 1 @@ -103270,6 +104190,7 @@ netwire-solutions.com, 1 netwire.tk, 1 networg.com, 1 networg.cz, 1 +networg.pl, 1 network-midlands.co.uk, 1 network-midlands.uk, 1 network-perception.com, 1 @@ -103381,6 +104302,7 @@ neurophysiotherapy.ga, 1 neuropsicologiaperin.com.br, 1 neuropsiperches.com, 1 neuropsychologisthouston.com, 0 +neurosurgeryinmexico.com, 1 neuroticosanonimos.tk, 1 neurotransconcept.com, 0 neurotransmitter.net, 1 @@ -103445,6 +104367,7 @@ new-mexico-sexcams.com, 1 new-pornvideos.com, 1 new-smile.cf, 1 new-standart.tk, 1 +new-techina.com, 1 new-tuning.tk, 1 new-vip.com, 1 new-vip1.com, 1 @@ -103560,6 +104483,7 @@ newforms.nl, 0 newfoundland-labradorflora.ca, 1 newfoundlandlabrador.com, 0 newgarden.tk, 1 +newgardenfarms.org, 1 newglarusvillagewi.gov, 1 newgle.xyz, 1 newgrowbook.com, 0 @@ -103642,7 +104566,6 @@ newpraguemn.gov, 1 newprairiepress.org, 1 newpress24.tk, 1 newquilters.com, 1 -newreality.nl, 0 newreleases.io, 1 newrelic.com, 1 newreligiousmovements.org, 1 @@ -103680,6 +104603,7 @@ news.bg, 1 news123.ga, 1 news12elite.tk, 1 news17.tk, 1 +news19.org, 1 news24rus.tk, 1 news29.tk, 1 news53today.tk, 1 @@ -103782,11 +104706,12 @@ newtonestudios.nl, 1 newtonhaus.com, 1 newtrackon.com, 1 newtravelplans.com, 1 +newtrendsbykate.com, 1 newusatoday.ga, 1 newvehicle.com, 1 newvisionhealing.com, 1 newwaterford-oh.gov, 1 -newway.ie, 0 +newway.ie, 1 newwind.tk, 1 newwise.com, 1 newworldnewlife.tk, 1 @@ -103841,7 +104766,7 @@ nexon.com.au, 1 nexril.net, 0 nexs.gg, 1 nexscience.tk, 1 -nexsol-tech.ch, 1 +nexsol-tech.ch, 0 next-fact.com, 1 next-geek.fr, 1 next-idea.co, 1 @@ -103850,6 +104775,7 @@ next-log.ru, 0 next-tms.com, 1 next.ink, 1 next.me, 1 +next24.io, 1 nextads.ch, 1 nextbike.tk, 1 nextcairn.com, 1 @@ -103910,6 +104836,7 @@ nextus.me, 1 nextvibration.com, 1 nextvision.pt, 1 nextwab.com, 1 +nextwo.com, 1 nextworldcoding.ga, 1 nextzen.com.bd, 1 nexus, 1 @@ -103945,6 +104872,7 @@ nfbplett.co.za, 1 nfbpwm.co.za, 1 nfbst.co.za, 1 nfcc.org, 1 +nfclegal.com, 1 nfcq.co.uk, 1 nfcu.org, 1 nfcweb.de, 1 @@ -104034,7 +104962,6 @@ ngtqa.com, 1 nguoimuahangmy.com, 1 nguru.net, 1 nguyenanhung.com, 1 -nguyencucthanh.com, 1 nguyenductrong.net, 1 nguyenduythiem.com, 1 nguyenfamily.cc, 1 @@ -104092,6 +105019,7 @@ niagara.ru, 0 niagaraconstruction.org, 1 niagarafalls.ca, 1 niallator.com, 1 +nianubo.net, 0 niawier-wetsens.tk, 1 nibbler.ai, 1 nibblespot.com, 1 @@ -104179,7 +105107,7 @@ nichijou.com, 1 nichijou.org, 1 nicholasjohnson.ch, 1 nicholaslazzerini.com, 1 -nicholasnassar.com, 0 +nicholasnassar.com, 1 nicholaspayton.com, 1 nicholaswilliams.net, 1 nicholsongoldsmiths.co.uk, 1 @@ -104430,6 +105358,7 @@ nihilocomunidad.tk, 1 nihon-finance.com, 1 nihon-rosoku.com, 1 nihseniorhealth.gov, 0 +nihtek.in, 1 nihulkav.shop, 1 niice.co, 1 niid.lv, 1 @@ -104477,7 +105406,7 @@ nikitagukov.ru, 1 nikitenko.tk, 1 nikitina.ml, 1 nikitovka.com, 1 -nikka.systems, 0 +nikka.systems, 1 nikkasystems.com, 1 nikkasystems.se, 1 nikkei225jp.com, 1 @@ -104591,6 +105520,7 @@ ninfora.com, 1 ning.bo, 1 ningwei.net, 1 niniko.tk, 1 +nininhapapelaria.com.br, 1 ninja-corner.tk, 1 ninja.it, 1 ninjacomputing.com, 1 @@ -104601,6 +105531,7 @@ ninjasquad.fr, 1 ninji.org, 1 ninkt.com, 1 ninmegam.gq, 1 +ninnen.com, 1 ninofink.com, 1 ninoo.nl, 1 ninov.bg, 1 @@ -104608,7 +105539,7 @@ ninovayazilim.com, 1 ninrio.com, 1 ninsin-akachan.com, 1 nintendo-europe-media.com, 1 -nintendo424.com, 1 +nintendo424.com, 0 nintendocarddelivery.com, 1 nintendoreporters.com, 1 ninth.cat, 1 @@ -104681,6 +105612,7 @@ nitolab.com, 1 nitoville.com, 1 nitrix.me, 1 nitro-tv.de, 1 +nitro.az, 1 nitrocloud.ddns.net, 1 nitrohorse.com, 0 nitrokey.com, 1 @@ -104786,6 +105718,7 @@ nkontur.com, 1 nkorolev.tk, 1 nkp-media.de, 1 nkpr.net, 1 +nkrf.no, 1 nkrupp.net, 1 nktk.hu, 1 nkvd-farm.ru, 1 @@ -104795,7 +105728,6 @@ nl-comunistas.tk, 1 nl-ix.net, 1 nl.search.yahoo.com, 0 nl3ehv.nl, 1 -nla.no, 0 nlap.ca, 0 nlazarov.com, 1 nlead.gov, 1 @@ -104908,6 +105840,7 @@ noaccess.tk, 1 noacore.ch, 1 noadi-pixels.tk, 1 noagendahr.org, 1 +noah-witt.com, 1 noahenco.nl, 1 noahjacobson.com, 1 noahmodas.com.br, 1 @@ -104944,6 +105877,7 @@ nobounce.me, 0 noboxo.ch, 1 nobreaks.ca, 1 nobs.no, 1 +nobsmc.com, 1 nobunplease.com, 1 nobutwhy.com, 1 nobz.com.br, 0 @@ -105038,6 +105972,7 @@ noincludesubdomains.preloaded.test, 0 noipro.com, 1 noirmale.com, 1 noirmalenetwork.com, 1 +noirpvp.com, 1 noiseboyz.com, 1 noisebridge.social, 1 noiseworks.ne.jp, 1 @@ -105114,6 +106049,7 @@ nomios.fr, 1 nomo.com, 1 nomorephish.ru, 1 nomorepizzaparties.com, 1 +nomorigine.com, 1 nomsing.tk, 1 nomtechbytes.com, 1 nona.com.my, 1 @@ -105140,6 +106076,7 @@ nonstopjob.ga, 1 nontonfilem.ml, 1 nonx.pro, 1 nonxsistent.tk, 1 +nonzero.io, 1 noob-box.net, 1 noob-rp.ru, 1 nooben.com, 1 @@ -105246,6 +106183,7 @@ nordlandsbanken.no, 1 nordlandverliebt.de, 1 nordlayer.com, 1 nordlichter-brv.de, 1 +nordloxsecure.com, 1 nordmark-pharma.de, 1 nordmoregatebilklubb.com, 1 nordpass.asia, 1 @@ -105253,6 +106191,7 @@ nordpass.com, 1 nordsec.com, 1 nordseeblicke.de, 1 nordstarfossils.com, 1 +nordvestkysten.dk, 1 nordvpn.com, 1 nordwal.de, 1 nordwaldzendo.de, 0 @@ -105300,7 +106239,6 @@ noroutine.com, 1 noroutine.me, 1 norridgewock.gov, 1 norrisautomotiveinc.com, 1 -norrisfeigum.com, 1 norrishome.tk, 1 norristn.gov, 1 norrkemi.se, 1 @@ -105391,6 +106329,7 @@ northprairiepdwi.gov, 1 northprairiewi.gov, 1 northrose.net, 1 northsalemny.gov, 1 +northshore-medspa.com, 1 northshoremums.com.au, 1 northshorevisitor.com, 1 northsidecaravansrepairsandspares.com, 1 @@ -105420,6 +106359,7 @@ northwoodoh.gov, 1 northwoodstudios.org, 1 northzone.ml, 1 nortvi.com, 1 +norveg.ru, 1 norvelltwp-mi.gov, 1 norwalkct.gov, 1 norwalkps.org, 0 @@ -105548,6 +106488,7 @@ nothing.pink, 1 nothingbundtcakes.com, 1 noti.tg, 1 noticiaelmundo.com, 1 +noticias7.org, 1 noticiasdeautos.site, 1 noticiasdebrasiliaonline.com, 1 noticiasdeminasgerais.com, 1 @@ -105682,6 +106623,7 @@ novel543.com, 1 novelacuba.com, 1 novelas.net.br, 1 noveldadigital.es, 1 +novelenergylighting.com, 1 novelfm.com, 1 novelinglife.net, 0 novelly.in, 1 @@ -105854,6 +106796,7 @@ nrd.gov, 1 nrdstd.io, 1 nreihofer.de, 1 nrev.ch, 1 +nrityangana.in, 1 nrj-plomberie.com, 1 nrkn.fr, 1 nrla.org.uk, 1 @@ -105942,9 +106885,11 @@ nsplaw.com, 1 nsradiology.net, 1 nssdeviations.com, 1 nssfchile.tk, 1 +nsspl.com.au, 1 nssquad.tk, 1 nstatic.xyz, 1 nstd.net, 1 +nstiak.com, 1 nstnet.org, 1 nsu.pw, 1 nsv.ee, 1 @@ -105969,6 +106914,7 @@ ntechp.com, 1 ntgltema.ml, 1 ntgvision.com, 1 nth.sh, 0 +nthp.me, 1 ntia.gov, 1 ntindependent.com.au, 1 ntinet.com, 1 @@ -106034,7 +106980,6 @@ nucleuscore.org, 1 nucleuspanel.com, 1 nucoplus.com, 1 nudaveritas.tk, 1 -nudeai.com, 1 nudeandfresh.tk, 1 nudegirlphotos.com, 1 nudegirls.tv, 1 @@ -106062,6 +107007,7 @@ nuffieldtrust.org.uk, 1 nuforma.net, 1 nugdev.co, 0 nugeopend.nl, 1 +nuggetsvape.com, 1 nuggit.ga, 1 nugmanov.net, 1 nugratis.nl, 1 @@ -106116,6 +107062,7 @@ numberspiral.pt, 1 numberzero.org, 1 numbots.com, 1 numedes.com, 1 +numeezy.com, 1 numeracle.com, 1 numerama.com, 1 numerasolution.com, 1 @@ -106144,7 +107091,6 @@ nun.gl, 1 nunesgh.com, 1 nunesgh.org, 1 nunnenmacher.net, 0 -nunnun.jp, 1 nunoarruda.com, 1 nunoefabia.tk, 1 nunogand.com, 1 @@ -106209,6 +107155,7 @@ nutrafitsuplementos.com.br, 1 nutralivbio.com, 1 nutrashop.fr, 1 nutriciametabolics-shop.de, 1 +nutriclub.co.id, 1 nutriflex.co.za, 1 nutrifyyourself.com, 1 nutrijets.com, 1 @@ -106269,6 +107216,7 @@ nvestholdings.co.za, 1 nvestholdings.com, 1 nvestproperties.co.za, 1 nvests.co.za, 1 +nvfoundation.com, 1 nvh.group, 1 nvhsecho.com, 1 nvi-go.nl, 1 @@ -106328,6 +107276,7 @@ nxcloud.ml, 1 nxdomain.info, 1 nxedge.com, 1 nxit.ca, 1 +nxlogis.kr, 1 nxnt.link, 1 nxplinc.com, 1 nxstudios.tk, 1 @@ -106350,6 +107299,7 @@ nyaken.tk, 1 nyallpurposepaving.com, 1 nyan.it, 0 nyan.kim, 1 +nyan.stream, 1 nyangasm.com, 0 nyangasm.net, 0 nyangasm.org, 0 @@ -106376,8 +107326,8 @@ nycuf.org, 1 nydig.com, 1 nyecountynv.gov, 1 nyerjakekszekkel.hu, 1 +nyerjazoreoval.hu, 1 nyerjenaheraval.hu, 1 -nyflyguyz.com, 1 nyfurnitureoutlets.com, 1 nygbcomicguide.tk, 1 nygbtourguide.tk, 1 @@ -106541,6 +107491,7 @@ o9728.co, 1 o98.net, 0 o9solutions.com, 1 oaaa.org, 1 +oacps.org, 1 oadeo.com, 1 oahpmdata.net, 1 oakbarnvets.com, 1 @@ -106569,6 +107520,7 @@ oakridgeclinic.ca, 1 oakriverfarms.com, 1 oakshield.nl, 1 oakslim.com, 1 +oaktree-realtors.com, 0 oaktreelodge.org.uk, 1 oakvalleyhealth.ca, 1 oakwood-park.tk, 1 @@ -106615,7 +107567,6 @@ obelis.ltd, 1 obelisco.tk, 1 obelix05.duckdns.org, 1 oberam.de, 1 -obercodosguardas.pt, 1 oberdachstetten.de, 1 obereg.cf, 1 obereg.ga, 1 @@ -106666,6 +107617,7 @@ oblique.security, 1 oblitsov.ru, 1 oblivious.ml, 1 oblojka.tk, 1 +oblondata.io, 0 obmen-viz.tk, 1 obmen-vizitami.ml, 1 obmenka.tk, 1 @@ -106800,7 +107752,6 @@ oceanshaman.gq, 1 oceanshaman.ml, 1 oceansidetour.tk, 1 oceanspraymiami.com, 1 -oceanstayandplay.com, 1 oceansurplus.tk, 1 oceanviewde.gov, 1 oceanvisuals.com, 1 @@ -106888,7 +107839,7 @@ octavewealth.com, 1 octavia.net, 1 octavianguzu.com, 1 octaviorojas.tk, 1 -octaviosimon.com, 0 +octaviosimon.com, 1 octobanana.com, 1 octobered.com, 0 octocaptcha.com, 1 @@ -107011,6 +107962,7 @@ oecdpisaforschools.org, 1 oecherrezepte.duckdns.org, 1 oeconline.org, 1 oedeemboek.nl, 1 +oeffnet.org, 1 oegd.at, 1 oeh.ac.at, 1 oeilpouroeilcreations.fr, 0 @@ -107026,6 +107978,7 @@ oemdealsers.ga, 1 oemdrink.com, 1 oemparcacim.com, 1 oemspace.net, 1 +oemwolf.com, 1 oen.tw, 1 oeno.link, 1 oenolab-vidalies.com, 1 @@ -107055,6 +108008,7 @@ ofenbau-melle.de, 1 ofertasadsl.com, 1 ofertasinternet.com, 1 ofertastop.es, 1 +ofertatis.store, 1 ofertolino.fr, 1 off-festival.pl, 1 off-rabota.tk, 1 @@ -107069,9 +108023,11 @@ offcasesstore.com, 1 offenekommune.de, 1 offenes-deutschland.de, 1 offensity.com, 1 +offensivesentinel.es, 1 offentligsektormedmoln.se, 1 offeo.com, 1 offer-today.ml, 1 +offerground.com, 1 offerhome.com, 1 offerman.com, 1 offerman.industries, 1 @@ -107100,7 +108056,6 @@ office24.com.tw, 1 office2s.com, 1 office365.us, 1 officecode.co.uk, 1 -officeconceptdesign.com, 1 officedivvy.co, 1 officedivvy.com, 1 officedivvy.company, 1 @@ -107118,8 +108073,10 @@ officereg.com, 1 officerjones.tk, 1 officert.ga, 1 officesib.ddns.net, 1 +officetechrentals.com.br, 1 official-sensitive.org, 1 official.link, 1 +official.my, 1 officialdubaidev.com, 1 officialhazalturesan.tk, 1 officialmc2.com, 1 @@ -107538,7 +108495,6 @@ olevoitalia.com, 1 olffi.com, 1 olfnewcastle.com, 1 olfsecane.org, 1 -olfuscluster.is, 0 olgallery.tk, 1 olgamalytcheva.com, 1 olgamilosevic.edu.rs, 1 @@ -107733,7 +108689,7 @@ omgbouncycastlehire.co.uk, 1 omgchocolatedesserts.com, 1 omgdevil.com, 1 omgevingsdiensthaaglanden.nl, 1 -omgidol.com, 0 +omgidol.com, 1 omgit.works, 1 omhome.net, 1 omicawholesale.com, 1 @@ -107868,6 +108824,7 @@ oncotarget.ru, 1 ond-inc.com, 1 ond-inc.jp, 1 ondajoven.tk, 1 +ondav.com, 1 ondcp.gov, 1 onde.xyz, 1 ondeapostar.pt, 1 @@ -107883,6 +108840,7 @@ ondra05.cz, 1 ondrakutil.cz, 1 ondrei.one, 1 ondrej.org, 1 +ondrejsramek.cz, 1 ondrejvasicek.cz, 1 one-acleaning.com, 1 one-clue.com, 1 @@ -108019,6 +108977,7 @@ onestopsafetysolutions.org, 1 onestopshop.ml, 1 onestpasdesanges.fr, 1 onesub.io, 1 +onet.co.jp, 1 onetab.com, 1 onetakeonehit.tk, 1 onetap.com, 1 @@ -108182,7 +109141,6 @@ onlinedivorce.com, 1 onlinedivorce.lawyer, 1 onlinedoctornote.com, 1 onlinedoctranslator.com, 1 -onlinedrumminglessons.com, 1 onlineevent.ch, 1 onlinefile.repair, 1 onlinefilerepair.com, 1 @@ -108237,7 +109195,6 @@ onlineseminar.es, 1 onlineseminar.nl, 1 onlineservisprogrami.com, 1 onlineshopsatkhira.tk, 1 -onlinesim.com, 1 onlinesitereviews.com, 1 onlinesloten.nl, 1 onlinesorusor.cf, 1 @@ -108257,6 +109214,7 @@ onlineveilingmeester.nl, 1 onlineverdienen.tk, 1 onlinevergidanismani.com, 1 onlineviewers.tk, 1 +onlinevisa.ru, 1 onlinevoting.tk, 1 onlinewallpapers.tk, 1 onlineweblearning.com, 1 @@ -108277,6 +109235,7 @@ onlybooks.gq, 1 onlychristian.me, 1 onlycompress.com, 1 onlycrumbsremain.com, 1 +onlydust.xyz, 1 onlyesb.net, 1 onlyfans.com, 1 onlyfans.freemyip.com, 1 @@ -108320,7 +109279,7 @@ onpopup.ga, 1 onporn.fun, 1 onrampwallet.com, 1 onrangetout.com, 1 -onrealt.ru, 1 +onrealt.ru, 0 onrr.gov, 1 onsatv.com, 1 onscript.study, 1 @@ -108590,7 +109549,6 @@ openrainbow.net, 1 openrainbow.org, 1 openre.site, 1 openrealestate.co, 1 -openrecognition.org, 1 openremote.io, 1 openreplay.com, 1 openresa.com, 1 @@ -108715,6 +109673,7 @@ oportunidadinfinita.tk, 1 opos.cf, 1 oposicionescorreos.es, 1 oposicionesprofesores.tk, 1 +opp.moe, 1 oppa888.com, 1 oppa888.net, 1 oppabet.com, 1 @@ -108872,7 +109831,7 @@ opture.ch, 1 optykgill.pl, 1 optymyze.com, 1 opulentdivision.com, 0 -opulentranch.com, 1 +opulentranch.com, 0 opus-codium.fr, 1 opus-labs.fr, 1 opus4.com, 1 @@ -108936,6 +109895,7 @@ orangesnowman.com, 1 orangesquash.org.uk, 0 orangesquirrelevents.co.uk, 1 orangetexas.gov, 1 +orangetown.com, 1 orangetrialtech.com, 1 orangetrialtechnology.com, 1 orangewaratahjuniorfc.org.au, 1 @@ -108977,7 +109937,6 @@ orcamarine.tk, 1 orcas.tk, 1 orcasecurity.io, 1 orchardnh.org, 1 -orchestra-ppm.io, 1 orchestra.tk, 1 orchestremetropolitain.com, 1 orchidee-mariage.com, 1 @@ -109060,6 +110019,7 @@ orendatattoo.bg, 1 orenohatake.com, 1 orensport.tk, 1 oreo.rocks, 1 +oreomuhely.hu, 1 oreosis.com, 1 oreshinya.xyz, 1 orestadit.dk, 1 @@ -109195,7 +110155,6 @@ ornikar.com, 1 ornithopter.tk, 1 ornsyn.no, 1 ornua.com, 1 -oro-express.es, 1 oro.milano.it, 1 oro.roma.it, 1 oro97.com, 1 @@ -109214,6 +110173,7 @@ orquestas.tk, 1 orrs.de, 1 orsal.fr, 1 orsecurity.com.au, 1 +orsemix.fr, 1 orsgo.com, 1 ortahisarsigorta.com, 1 ortanatech.com, 1 @@ -109470,6 +110430,7 @@ osworx.net, 1 oszteralexandra.hu, 1 ot-honfleur.fr, 1 ot-vinta.tk, 1 +ot.id, 1 otaikajang.org, 1 otako.pl, 0 otaku-treasure.com, 1 @@ -109492,6 +110453,7 @@ oteri.de, 1 otg-drives.tk, 1 otgadaika.tk, 1 otheatre.ru, 1 +other98.com, 0 othercdn.com, 1 otherkinforum.com, 1 otherwise.tk, 1 @@ -109499,7 +110461,6 @@ othrys.net, 1 oticasvisao.net.br, 1 otima.digital, 1 otimismoemrede.tk, 1 -otimo.ro, 1 otinane.eu, 1 otiocafes.com, 1 otipax.ru, 1 @@ -109520,6 +110481,7 @@ otoplenie-ufa.ml, 1 otorino.tk, 1 otorium.gq, 1 otorrino.pt, 0 +otosemi.com, 0 otoy.com, 1 otp24hr.com, 1 otpbd.xyz, 1 @@ -109812,6 +110774,7 @@ ovodakadarkut.tk, 1 ovog.pk, 1 ovoreferralcode.com.au, 1 ovosimpatico.com, 1 +ovosimpatico.org, 1 ovpn.com, 1 ovpn.to, 1 ovrwlm.ai, 1 @@ -109844,6 +110807,7 @@ owlandbee.co.uk, 1 owlandbee.com.au, 1 owlandbee.eu, 1 owlandbee.uk, 1 +owlando.com, 1 owlandrabbitgallery.com, 1 owlbee.be, 1 owlbee.co.uk, 1 @@ -109868,6 +110832,7 @@ ownaquiznos.com, 1 ownc.at, 1 owncloud.com, 1 ownerbusiness.org, 1 +ownergroup.net, 1 ownhost.com, 1 ownhosting.cloud, 1 ownhosting.de, 1 @@ -109947,6 +110912,7 @@ oxygenupdater.com, 1 oxylabs-china.net, 1 oxylabs.cn, 1 oxylabs.io, 1 +oxylog.fr, 1 oxymail.ru, 1 oxymoron.tk, 1 oxynux.xyz, 1 @@ -110007,6 +110973,7 @@ ozero-kardyvach.ru, 1 ozgesezen.com, 1 ozgoz.com, 1 ozgpp.de, 1 +ozgurakin.com.tr, 1 ozgurbozkurt.com, 1 ozgurgokmen.net, 1 ozgurkazancci.com, 1 @@ -110016,6 +110983,7 @@ ozli.ga, 1 ozmo.ml, 1 ozna.tk, 1 oznamovacipovinnost.cz, 1 +ozoksteel.com, 1 ozone-medical.fr, 1 ozonegrants.au, 1 ozonegrants.com, 1 @@ -110333,6 +111301,7 @@ pagemedical.co.uk, 1 pagenews.tk, 1 pagenstedt.de, 1 pageonstage.at, 1 +pagepapi.com, 1 pagerankkings.com, 1 pagerduty.com, 1 pageroonline.com, 1 @@ -110418,7 +111387,7 @@ pajamka.com.ua, 1 pajbot.de, 1 pajobsite.com, 1 pajuvuo.fi, 1 -pakalolo.eu, 1 +pakalolo.eu, 0 pakaranggrek.com, 1 pakawal.com, 1 paket.monster, 1 @@ -110448,6 +111417,7 @@ pakjefooi.nl, 1 pakjefooi.org, 1 pakkibaat.tk, 1 pakmedia.tk, 1 +paknetworking.org, 1 pakostane-apartments.tk, 1 pakpak.tk, 1 pakremit.com, 1 @@ -110826,7 +111796,6 @@ papi.com, 1 papieri.dental, 1 papierniak.net, 1 papierniczy.eu, 1 -papierowyrycerz.pl, 1 papillegustative.com, 1 papillon-events.be, 1 papirladen.dk, 1 @@ -110873,10 +111842,9 @@ paradisend.tk, 1 paradisetownshipmi.gov, 1 paradisim.tk, 1 paradisu.fr, 1 -paradoxdesigns.org, 1 paradoxhotels.com, 1 paradoxium.ml, 1 -paradymecompanies.com, 1 +paradymecompanies.com, 0 paraelganzo.tk, 1 parafarmacia.it, 1 paragardmdlportal.com, 1 @@ -110991,6 +111959,7 @@ paridokhtmoshkzad.com, 1 paridurable.com, 1 parikmag-pm.ru, 1 parikmaxeru.tk, 1 +pariksana.cloud, 1 parimatch-best.com, 1 parimatch-chance.com, 1 parimatch-email.com, 1 @@ -111052,7 +112021,7 @@ parkeer.nl, 1 parkeergaragesintjan.nl, 1 parkeergaragestjan.nl, 1 parkeerserviceboxtel.nl, 1 -parkefficient.de, 0 +parkefficient.de, 1 parkerco.gov, 1 parkercs.cf, 1 parkercs.ga, 1 @@ -111112,7 +112081,6 @@ parleu2017.ee, 1 parleur.net, 1 parliament.gov.to, 1 parliamentcamp.com, 1 -parmacityfutsal.it, 1 parmartecultura.it, 1 parmatoday.it, 1 parmatwp.gov, 1 @@ -111189,6 +112157,7 @@ partijtjevoordevrijheid.nl, 0 partijvoordedieren.nl, 1 partik.com.br, 1 partilino.com, 1 +partimalzemelerim.com, 1 partin.nl, 0 partiono.com, 1 partir-en-livre.fr, 1 @@ -111233,6 +112202,7 @@ partsdost.com, 1 partsestore.com, 1 partsgeek.com, 1 partsguysusa.com, 1 +partsworld.bg, 1 partwerx.com, 1 party-envy.com, 1 party-kneipe-bar.com, 1 @@ -111242,6 +112212,7 @@ partyaccommodationsers.ga, 1 partyaccommodationsest.ga, 1 partyausstatter24.de, 1 partyblitzsimi.com, 1 +partybutlers.co.uk, 1 partyclub.tk, 1 partycoin.ga, 1 partyevents.tk, 1 @@ -111337,6 +112308,7 @@ passionpictures.eu, 1 passions-art.com, 1 passiton.com, 1 passive-work.gq, 1 +passiveblogger.com, 0 passivebook.com, 1 passivehousecal.org, 1 passiveseinkommen.tk, 1 @@ -111353,7 +112325,7 @@ passportapproved.com, 1 passportcorporate.com, 1 passrhce.com, 1 passrhcsa.com, 1 -passthrough.com, 0 +passthrough.com, 1 passtooeasy.com, 1 passumpsicbank.com, 1 passvanille-reservation.fr, 1 @@ -111448,6 +112420,7 @@ patentverwag.com, 1 patersonpdnj.gov, 1 patguzmanconstruction.com, 1 pathai.com, 1 +pathearn.ai, 1 pathfinderbank.com, 1 pathfindercut.com, 1 pathfindergeo.com, 1 @@ -111461,6 +112434,7 @@ pathsaversest.ga, 1 pathwayscenterforgrief.org, 1 pathwayscenterforgriefandloss.org, 1 pathwaysthroughgrief.org, 1 +pathzero.com, 0 patient.info, 1 patientcheckin.com, 1 patientenverfuegung.digital, 1 @@ -111521,7 +112495,7 @@ patrikjohan.gq, 1 patrikjohan.tk, 1 patriksima.cz, 1 patrikx3.com, 1 -patrimoine-neuwiller.fr, 0 +patrimoine-neuwiller.fr, 1 patriotbearingsupply.com, 1 patriotcs.tk, 1 patriotinsurancebrokers.com, 0 @@ -111559,6 +112533,7 @@ paul-sitarz.com, 1 paul-vierhaus.de, 1 paul-zhang.de, 1 paul.media, 1 +paul.reviews, 1 paulahot.tk, 1 paulandmadge.com, 1 paulanet.tk, 1 @@ -111677,7 +112652,6 @@ paw.pt, 1 pawafuru.com, 0 pawapuro.ga, 1 pawapuro.tk, 1 -pawbuddi.com, 1 pawc.cc, 1 pawchewgo.com, 1 pawdecor.com, 1 @@ -111720,6 +112694,7 @@ pay.dog, 1 pay.equipment, 1 pay.faith, 1 pay.football, 1 +pay.foundation, 1 pay.gallery, 1 pay.gov, 0 pay.hockey, 1 @@ -111772,6 +112747,7 @@ paygvpn.com, 1 payhub.jp, 1 payjunction.com, 1 payjunctionlabs.com, 1 +paylabs.co.id, 1 paylessclinicers.ga, 1 paylessclinicest.ga, 1 paylessmealsers.ga, 1 @@ -111869,6 +112845,7 @@ pbcables.tk, 1 pbcknd.ml, 1 pbcpao.gov, 1 pbcu.com, 1 +pbdigital.org, 0 pbern.xyz, 1 pbest.tk, 1 pbforestry.net, 1 @@ -112025,8 +113002,10 @@ pdfbooksonline.gq, 1 pdfconvert.me, 1 pdfflier.cf, 1 pdfhelp.net, 1 +pdfko.com, 1 pdflip.cf, 1 pdfmanga.tk, 1 +pdfmint.com, 1 pdfpassword.org, 1 pdfpasswort.de, 1 pdfpedia.cf, 1 @@ -112081,6 +113060,7 @@ peaksalesrecruiting.com, 1 peakseoservices.co.uk, 1 peaksports.com, 0 peaksupport.io, 1 +peaktribe.ro, 1 peakvets.co.uk, 1 peanutbutter.com, 1 peanutpay.de, 1 @@ -112118,7 +113098,7 @@ pec-email.com, 1 pec.net, 1 pecadis.de, 1 pecan.ai, 1 -pecasse.be, 0 +pecasse.be, 1 pecetowicz.pl, 1 pecheneg.tk, 1 pechka.tk, 1 @@ -112207,7 +113187,6 @@ peerjs.com, 1 peername.com, 1 peerreviewcongress.org, 1 peers-liste.de, 1 -peers.cloud, 1 peers.gq, 1 peers.tk, 1 peersquaders.ga, 1 @@ -112270,7 +113249,6 @@ pelican.ie, 1 pelicanbaytx.gov, 1 pelicanconveyancing.co.uk, 1 pelicanottertailmn.gov, 1 -pelicanparty.games, 1 pelicans.tk, 1 peliculaonline.tk, 1 peliculaslatino.tk, 1 @@ -112394,7 +113372,6 @@ pensador.info, 1 pensatore.tk, 1 pensia.tk, 1 pensieridigitali.tk, 1 -pensierolaterale.tech, 1 pensioenfonds-ey.nl, 0 pension-am-alten-waschhaus.de, 1 pension-chevaux.com, 1 @@ -112773,6 +113750,7 @@ personalwebsite.services, 1 personcar.com.br, 1 persondatakonsulenterne.dk, 1 personetics.com, 1 +personjob.ru, 1 personlookup.com.au, 1 personnedisparue.fr, 1 personnelplusinc.com, 1 @@ -112830,6 +113808,7 @@ pesitalia.tk, 1 pesnik.tk, 1 pesnir.net, 1 pesnitut.ga, 1 +pesoccerworld.com, 1 pesquisasremuneradas.net, 1 pess.ch, 1 pessa-webdesign.tk, 1 @@ -112891,6 +113870,7 @@ petdir.ga, 1 petdish.ga, 1 petdollar.ga, 1 petech.ro, 1 +petegrahamcarving.co.uk, 1 petelew.is, 1 petemerges.com, 1 petemerges.xyz, 1 @@ -113134,6 +114114,7 @@ pfh.world, 1 pfhstheroar.com, 1 pfingstberg.de, 1 pfingstsportfest.de, 1 +pfish.zone, 1 pflanzen-shop.ch, 1 pflanzen-werkstatt.de, 1 pflege.ch, 1 @@ -113246,6 +114227,7 @@ pharmasana.ru, 1 pharmasyncers.ga, 1 pharmasyncest.ga, 1 pharmgkb.org, 1 +pharmica.uk, 1 pharosconsulting.com, 1 pharosiq.com, 1 pharside.dyndns.org, 1 @@ -113301,6 +114283,7 @@ phil.tw, 1 philadelphia.com.mx, 1 philafound.org, 1 philandson.com, 1 +philanima.com, 1 philarmonic-abaza.tk, 1 philasd.org, 1 philcare.com.ph, 1 @@ -113354,6 +114337,7 @@ philipsmanythougths.ml, 1 philipssupportforum.com, 1 philipstewart.uk, 1 philipthomas.com, 1 +philipzhan.com, 1 philipzhan.tk, 1 philis-oenologie.fr, 1 phillipgoldfarb.com, 1 @@ -113384,6 +114368,7 @@ philwilson-green.ml, 1 phimbop.top, 1 phimmoingay.org, 0 phimtor.com, 1 +phinikarides.net, 1 phiomegachi.tk, 1 phishguard.sa, 1 phishing-studie.org, 1 @@ -113400,6 +114385,7 @@ phoe.exposed, 1 phoebestrong.org, 1 phoenix-correspondence-commission.gov, 1 phoenix-zug.ch, 1 +phoenix.dj, 1 phoenixadvisers.com, 1 phoenixboard.tk, 1 phoenixcourt.gov, 1 @@ -113550,6 +114536,7 @@ photune.net, 1 phoxden.net, 1 php.watch, 1 phpadmin666.com, 1 +phparena.net, 1 phpbb-tutorials.cf, 1 phpbbchinese.com, 0 phpcraft.de, 1 @@ -113650,6 +114637,7 @@ physiopraxisteam.de, 1 physioteam-franz.de, 1 physiotherapie-buk.de, 1 physiotherapie-concept.de, 1 +physiotherapie-seiwald.de, 1 physiotherapist-physicaltherapist.com, 1 physiovesenaz.ch, 0 physis.earth, 1 @@ -113671,6 +114659,7 @@ piai.ga, 1 piai.gq, 1 piai.ml, 1 piai.tk, 1 +piaiai.com, 0 piajuly.net, 1 pianetaottica.eu, 1 pianetaottica.info, 1 @@ -113733,6 +114722,7 @@ pickalbatros.com, 1 pickastock.info, 1 pickawaycountyohio.gov, 1 picked.cf, 1 +pickedforhome.com, 1 pickemsheet.com, 1 pickenscountysc.gov, 1 pickerellakelistings.com, 1 @@ -113799,6 +114789,7 @@ pidelo-peru.com, 1 pidgi.net, 1 pidjipi.com, 1 pidocchi.it, 1 +pidu.jp, 1 pie-express.xxx, 1 piebridge.me, 1 pieceofcake.solutions, 1 @@ -113817,6 +114808,7 @@ piekacz.co.uk, 1 piekacz.eu.org, 1 piekacz.net, 1 piekacz.tel, 1 +piel.vip, 1 pieland.eu, 1 pieldemariposa.es, 1 pielgrzymappka.pl, 1 @@ -113872,6 +114864,7 @@ pig-breeding.tk, 1 pig333.com, 1 pigb.net, 1 pigeonholelive.com, 1 +pigeonpairstays.com, 1 pigeonracinginformation.com, 1 pigeons-rings.com, 1 pigfox.com, 1 @@ -114016,6 +115009,7 @@ pinesol.com, 0 pinetreeadvisors.us, 1 pinfong.com, 1 ping-books.cf, 1 +pingbandiannao.com, 0 pingminer.com, 1 pingnp.me, 0 pingodoce.pt, 1 @@ -114024,6 +115018,7 @@ pingpongparkinson.at, 1 pingrc.net, 1 pinguinita.tk, 1 pinguinreal.sk, 1 +pingvin.pro, 1 pingvinofnet.ml, 1 pinhadigital.com, 1 pinigseu.xyz, 1 @@ -114288,6 +115283,7 @@ pivxblockchaindownload.com, 1 piw.pw, 0 piwko.co, 1 pix-geeks.com, 1 +pix18.ru, 1 pix5.de, 1 pixa.co.id, 1 pixalatio.tk, 1 @@ -114325,6 +115321,7 @@ pixelmonworld.fr, 1 pixelonl.com, 1 pixelorastudio.com, 1 pixelpaper.org, 1 +pixelpartyplay.com, 1 pixelplex.io, 1 pixelprint.la, 1 pixelrain.info, 1 @@ -114352,6 +115349,8 @@ pixeon.com, 1 pixexid.com, 1 pixiin.com, 1 pixinfo.com, 1 +pixiv.cat, 1 +pixiv.nl, 1 pixiv.re, 1 pixlfox.com, 1 pixloc.fr, 1 @@ -114430,7 +115429,6 @@ pkirwan.com, 1 pko.ch, 0 pkov.cz, 1 pkservice.tk, 1 -pkshs.my, 1 pkspskov.tk, 1 pkwebsolutions.cf, 1 pl-beauty.com.ua, 1 @@ -114557,6 +115555,7 @@ planetromeofoundation.org, 1 planetscale.com, 1 planetstairs.com.au, 1 planetstimes.com, 1 +planettimer.com, 1 planetun.mobi, 1 planetweb.tk, 1 planetwild.com, 1 @@ -114568,6 +115567,7 @@ planisanin.tk, 1 planiserin.tk, 1 planisware.academy, 1 planisware.cn, 1 +planisware.live, 1 planisys.net, 1 planit-inc.com, 1 planitz.com, 1 @@ -114614,6 +115614,7 @@ plantiary.com, 1 plantidentification.co, 0 plantinum-cbd.com, 1 plantpro.gr, 1 +plantrustler.com, 1 plantsupplement.co.uk, 1 plantuml.online, 1 planujemywesele.pl, 1 @@ -114775,6 +115776,7 @@ playnow.com, 1 playnuganug.com, 1 playocean.net, 1 playorigin.com, 1 +playphoenix.net, 1 playpirates.com, 1 playplay.com, 1 playpower.tk, 1 @@ -114787,6 +115789,7 @@ playsprout.industries, 1 playstation-network.ga, 1 playstationplus.es, 1 playstationtrophies.org, 1 +playtheme.ru, 1 playtictactoe.org, 1 playtoearn.net, 1 playtop.tk, 1 @@ -114884,7 +115887,7 @@ plob.org, 1 plodwithme.com, 1 ploi.cloud, 1 ploi.io, 1 -plokko.com, 0 +plokko.com, 1 plomberie-rivesud.ca, 1 plombierjob.com, 1 plomeros.cl, 1 @@ -114896,7 +115899,6 @@ ploom.com, 1 ploomber.io, 1 ploppis.org, 1 ploptec.tk, 1 -plothost.com, 1 plotly.com, 0 plotscout.ae, 0 ploulech.fr, 1 @@ -114966,7 +115968,6 @@ pluslink.co.jp, 1 pluspass.com, 1 plusport-api.com, 1 plusport.com, 1 -plusreed.com, 1 plustwik.com, 1 plutiedev.com, 1 pluto5000.com, 1 @@ -115033,6 +116034,7 @@ pmi.edu, 1 pmi.gov, 1 pmi.it, 1 pmiandulive.com, 1 +pmk.ddns.net, 0 pml4t.net, 1 pmme.io, 1 pmoscr.com, 1 @@ -115306,6 +116308,7 @@ poetics.tk, 1 poetka.tk, 1 poetry.ge, 1 poetryinmusic.tk, 1 +poetsgate.com, 0 poetsjeboot.nl, 1 poezja.art, 1 poezja.com.pl, 1 @@ -115375,6 +116378,7 @@ pokeelektronik.com, 1 pokeelektronik.com.tr, 1 pokefarm.com, 1 pokehidden.com, 1 +pokeinthe.io, 1 pokelens.tk, 1 pokeli.de, 1 pokemmo.com, 1 @@ -115409,7 +116413,7 @@ pokerslab.com, 1 pokerventure.ga, 1 pokerventureers.ga, 1 pokerventureest.ga, 1 -pokeymanatee4.xyz, 1 +pokerzone.com, 1 poki.at, 1 poki.be, 1 poki.bg, 1 @@ -115461,6 +116465,7 @@ polarisapp.xyz, 1 polarisengineering.com, 1 polarispool.com, 0 polaroidmag.com, 1 +polaschin.ch, 1 polatas.com.tr, 1 polatsemih.com, 1 polbox.fr, 1 @@ -115999,6 +117004,7 @@ portiapp.mx, 1 portiaweb.org.uk, 0 portierato.it, 1 portingkit.com, 1 +portis.io, 1 portiva.com, 1 portlandcompostclaims.com, 1 portlandcrystalcompany.com, 1 @@ -116323,6 +117329,7 @@ powerling.com, 1 powerlp.com, 1 powerman.name, 1 powerman.top, 1 +powerpc.pt, 1 powerpilot.co.za, 1 powerplan.com, 1 powerplay.xyz, 0 @@ -116449,6 +117456,7 @@ pqcrypta.com, 1 pqforce.com, 1 pqgruber.com, 1 pqscript.com, 1 +pr-jf.de, 1 pr-news.spb.ru, 1 pr-project.tk, 1 pr.search.yahoo.com, 0 @@ -116550,6 +117558,7 @@ prana-coachings.ch, 1 prana-me.com, 1 pranabesh.com, 1 pranafilms.tk, 1 +prancor.ru, 1 pranita-schals.de, 0 pranita.cz, 0 pranita.sk, 0 @@ -116561,6 +117570,7 @@ praser.net, 1 prashantcafe.tk, 1 prasinoscomputers.ml, 1 prasos.fi, 1 +prataus.com, 0 prateep.io, 1 pratelloshop.tk, 1 pratemarkets.com, 1 @@ -116644,6 +117654,7 @@ precisebusiness.com, 1 precisebusiness.com.au, 1 precisefuture.com, 1 precisehotels.com, 1 +precisionchiroct.com, 1 precisionclan.com, 1 precisioncourt.com, 1 precisiondentalnyc.com, 1 @@ -116727,6 +117738,7 @@ premier-stores.co.uk, 1 premieramerica.com, 1 premieraviation.com, 1 premierbouncycastles.co.uk, 1 +premiercountertops.com, 1 premierdisco.co.uk, 1 premieresloges.ca, 1 premierevents.ie, 1 @@ -116752,6 +117764,7 @@ premium-development.net, 1 premium-leech.com, 1 premium-rum.de, 1 premium-security.com, 1 +premium-vagyonkezeles.hu, 1 premium.web.id, 1 premiumcredit.am, 1 premiumdesign.hr, 1 @@ -116763,6 +117776,7 @@ premiumpictureframing.com, 1 premiumplus.io, 1 premiumresidency.in, 1 premiumshop24.de, 1 +premiumsleepingbags.com, 1 premiumsmile.ru, 1 premiumtimesng.com, 1 premiumturkey.ml, 1 @@ -116796,6 +117810,7 @@ prepr.io, 1 preprodfan.gov, 1 prepscouts.tk, 1 prepsiedy.cf, 1 +prequence.com, 1 preregpharmacy.org, 1 prerolls.me, 1 presbee.com, 1 @@ -116845,7 +117860,6 @@ pressakey.de, 1 presscenter.jp, 1 presscommunity.tk, 1 presscuozzo.com, 0 -pressed.com, 1 pressemeddelelse.dk, 1 pressfreedomtracker.us, 1 pressidium.com, 1 @@ -116860,6 +117874,7 @@ pressography.org, 1 presson.shop, 1 pressreleasecentral.tk, 1 pressreleasepedia.tk, 1 +pressreleasespower.com, 1 pressride.jp, 1 pressrush.com, 1 pressspace2hack.com, 1 @@ -116898,6 +117913,7 @@ prestoinventario.com, 1 prestonadamscountywi.gov, 1 prestonmn.gov, 1 prestopermits.com, 1 +prestopizzas63.fr, 1 prestudenta.sk, 1 prestupniki.tk, 1 pretabelamodas.com.br, 1 @@ -116953,6 +117969,7 @@ prevu3d.com, 1 preweather.com, 1 prexxorvita.com, 1 prezentmarzen.com, 1 +prezista.com, 1 preziti.eu, 1 prfanfiction.tk, 1 prg.rs, 1 @@ -116986,6 +118003,7 @@ pride-enterprises.org, 1 pridecounseling.com, 1 pridecraft.gay, 1 prideindomination.com, 1 +pridetownconnect.com, 1 pridnestrovye.gq, 1 pridurok.tk, 1 prielwurmjaeger.de, 1 @@ -116997,7 +118015,6 @@ prijelapout.cz, 1 prijsvergelijken.ml, 1 prikeshsavla.com, 1 prikolkz.tk, 1 -prim-wash.de, 1 prima-backoefen.de, 1 prima-badezimmermoebel.de, 1 prima-bohrmaschinen.de, 1 @@ -117038,6 +118055,7 @@ primalsurvivor.net, 1 primananda.com, 1 primanota.ch, 0 primapak.bg, 1 +primariachisineucris.ro, 1 primarium.info, 1 primary.health, 1 primarycareconnect.com.au, 1 @@ -117059,6 +118077,7 @@ primecore.com.au, 1 primecredit.com, 1 primecursos.com.br, 1 primed.io, 1 +primedesigns.com.au, 1 primeeducareer.pk, 1 primeequityproperties.com, 0 primeexecutiveoffices.com, 1 @@ -117077,6 +118096,7 @@ primer.io, 1 primeratx.gov, 1 primersbc.com.br, 1 primesys.ir, 1 +primetal.ro, 1 primetechpa.com, 1 primetics.co.uk, 1 primeticsseed.com, 1 @@ -117220,7 +118240,6 @@ privacy-works.tk, 1 privacy.ac.cn, 1 privacy.ax, 1 privacy.gov.ph, 1 -privacybydesign.foundation, 1 privacycentermqt.com, 1 privacychick.com, 1 privacychick.io, 1 @@ -117229,6 +118248,7 @@ privacydesign.ch, 1 privacydev.net, 1 privacyend.com, 1 privacyfenceanddeckllc.com, 1 +privacyforpatriots.com, 1 privacyget.tk, 1 privacyguidance.com, 1 privacyguides.net, 1 @@ -117237,7 +118257,6 @@ privacyinternational.org, 1 privacymanatee.com, 1 privacynator.eu, 1 privacynow.eu, 1 -privacypro.io, 1 privacyredirect.com, 1 privacysavvy.com, 1 privacyscore.org, 1 @@ -117274,6 +118293,7 @@ privatedns.uk, 1 privateger.me, 1 privategiant.com, 1 privatehd.to, 1 +privatehospital.com.ua, 1 privatehost.uk, 1 privateideas.de, 1 privateinvestigatoredu.org, 1 @@ -117292,11 +118312,13 @@ privatespace.uk, 1 privatetrainingonline.se, 1 privateuploader.com, 1 privatevpn.com, 1 +privatmeet.com, 1 privatstunden.express, 1 privc.io, 1 privcloud.cc, 1 privcloud.org, 1 privcom.net, 1 +privea.fr, 1 priveadressen.tk, 1 privelust.nl, 1 priverify.com, 1 @@ -117481,6 +118503,7 @@ productbarcodes.com, 1 productboard.com, 0 productfetcher.com, 1 productfurniture.ga, 1 +production.vn, 0 productionscime.com, 1 productiv.com, 1 productive.io, 1 @@ -117495,8 +118518,10 @@ produits-dantan.com, 1 produkt.cf, 1 produra.nl, 1 produtosdeacademia.com, 1 +produttori.it, 1 produweb.be, 1 proefexamenbvca.nl, 1 +proefexamensvhsocialehygiene.nl, 1 proeflokaalbakker.nl, 1 proefteksten.nl, 0 proekt.moscow, 1 @@ -117513,6 +118538,7 @@ prof-toplivo.ru, 1 prof-waldowski.de, 1 prof.lv, 1 profarea.ru, 1 +profautoservice.pl, 1 profbigbang.ru, 1 profbioresearch.ga, 1 profboecker.eu, 0 @@ -117680,6 +118706,7 @@ project-alice.io, 1 project-forum.tk, 1 project-haystack.org, 1 project-ice.org, 1 +project-merlin.co.uk, 1 project-novis.org, 1 project-one.co.jp, 1 project-rune.tech, 1 @@ -117833,6 +118860,7 @@ promotor.ro, 1 promove.be, 1 promovendum.nl, 1 promozioni.it, 1 +prompt.icu, 1 promptdig.com, 1 promptwars.io, 1 promuovi.tv, 1 @@ -117892,6 +118920,7 @@ propertydealer.ga, 1 propertyfindercdn.com, 1 propertyfurniture.com, 1 propertygroup.pl, 1 +propertyinspect.com, 1 propertylondon.co.uk, 1 propertymarketplace.com.ng, 1 propertymatch.org.uk, 1 @@ -118036,7 +119065,6 @@ protogrid.com, 1 protok.tk, 1 proton.ch, 1 proton.me, 1 -protonbg.bg, 1 protonmail.ch, 1 protonmail.com, 1 protonpix.com, 1 @@ -118099,8 +119127,8 @@ provisionevents.co.uk, 1 provisionircd.tk, 1 provlas.se, 1 provo.gov, 1 +proweb-design.no, 0 prowebservices.ca, 1 -prowechsel.de, 1 prowi.se, 1 prowindow.sk, 1 prowise.com, 1 @@ -118153,6 +119181,7 @@ prpr.rip, 1 prpr.win, 1 prrams.com, 1 prrefrigeration.com.au, 1 +prsbtdc.org, 1 prsg.tk, 1 prsnlafk.com, 1 prsstore.com.br, 1 @@ -118263,6 +119292,7 @@ psicologo.vip, 1 psicomagia.com.br, 1 psicometricas.mx, 1 psigma.co, 1 +psihocentrala.com, 1 psiholognatalija.rs, 1 psihologonline.tk, 1 psihology.gq, 1 @@ -118337,6 +119367,7 @@ psv-herford-badminton.de, 1 psw-consulting.de, 1 psw-group.de, 1 psw-training.de, 1 +psy-web.fr, 1 psyart.tk, 1 psycenter.tk, 1 psych2go.net, 1 @@ -118574,7 +119605,6 @@ puer8.cn, 1 puercovalleyfireaz.gov, 1 puertocadiz.com, 1 puertodramaturgia.tk, 1 -puertomalaga.com, 1 puestifiestas.mx, 1 puffinvapes.co, 1 puffverse.pro, 1 @@ -118597,6 +119627,7 @@ puka.edu.ee, 1 pukfalkenberg.dk, 1 pul-ingenieure.de, 1 pula-site.tk, 1 +pulci.it, 1 pulcinella.tk, 1 pulinkai.eu.org, 1 pulinkai.xyz, 1 @@ -118678,7 +119709,7 @@ puntacananetwork.com, 1 puntacanapizza.com, 1 puntacanavapor.com, 1 puntaires.com, 1 -puntaprop.com, 0 +puntaprop.com, 1 puntcunts.com, 1 puntocroce.tk, 1 puntoestadodemexico.com, 1 @@ -118740,6 +119771,7 @@ puredayshop.com.tw, 1 puredigital.nl, 1 puredisinfecting.com, 1 puredisinfection.com, 1 +puredns.org, 1 purefarminggame.com, 1 purefoot.jp, 1 pureholisticwellness.com, 1 @@ -118823,6 +119855,7 @@ pusatlojistik.com, 1 pusatrail.com, 1 puschkin.ga, 1 pusehusetmalvik.no, 1 +pusera.com, 1 puset.tk, 1 push-free.com, 1 push-pull.uk, 1 @@ -118836,6 +119869,7 @@ pushponline.com, 0 pushthebutton.tk, 1 pushy.tg, 1 pusichatka.ddns.net, 1 +pusonja.com, 1 pusra.ga, 1 pussplay.com, 1 pussycat.ml, 1 @@ -118932,10 +119966,12 @@ pwanotes.ga, 1 pwaresume.com, 1 pwbaccountants.com, 1 pwclegal.de, 1 +pwconserve.org, 1 pwcva.gov, 1 pwd.az, 1 pwd.hu, 1 pwd.vc, 1 +pwddelhi.gov.in, 1 pwdsafe.com, 0 pwe.vision, 1 pwg-see.de, 1 @@ -119055,6 +120091,7 @@ q2a.com, 1 q3.is, 1 q39.org, 1 q3cdn.net, 1 +q3jlzwq.com, 1 q5118.com, 1 q5197.co, 1 q6729.co, 1 @@ -119107,6 +120144,7 @@ qbcorescripts.com, 1 qbiltrade.com, 1 qbits.li, 1 qbojj.eu, 1 +qbrix.dk, 1 qbstores.com, 1 qbug.cf, 1 qburst.com, 1 @@ -119119,6 +120157,7 @@ qccareerschool.com, 0 qcdesignschool.com, 0 qcdoll.com, 1 qcert.org, 1 +qcinteriors.in, 1 qclean.com.au, 1 qcnet.com, 1 qconline.com, 1 @@ -119218,6 +120257,7 @@ qisda.com.tw, 1 qisda.com.vn, 1 qisheiosxz.com, 1 qitano.com, 1 +qitarabutrans.com, 0 qiu.moe, 0 qiuwenbaike.cn, 1 qivonline.pt, 1 @@ -119395,6 +120435,7 @@ quai.ly, 1 quail.ink, 1 quaily.com, 1 quakekare.com, 1 +quakeroaksfarm.org, 1 quaketips.ga, 1 quakeworld.tk, 1 qualbe.com, 1 @@ -119532,6 +120573,7 @@ quatuor-courtage.fr, 1 quaxio.com, 1 quay.net, 1 quayconsultingllc.com, 1 +quaydental.ie, 0 qubed.agency, 1 qubeit.co, 1 qubes-os.org, 1 @@ -119593,6 +120635,7 @@ queerwerk.com, 1 queerwerk.eu, 1 queerwerk.nl, 1 queirozmiotto.adv.br, 1 +queirozmiotto.com.br, 1 quel-dj.com, 1 quelbusinesschoisir.com, 1 quellarotondasembrafi.ga, 1 @@ -119641,7 +120684,6 @@ questforgaming.com, 1 questfororgasm.com, 1 questiii.com, 1 question.cf, 1 -question.com, 1 questionandanswer.ml, 1 questionyu.com, 0 questlawoffice.com, 1 @@ -119793,6 +120835,7 @@ quizzhit.com, 1 qul.link, 1 qulix.by, 1 qulix.ch, 1 +qumasaitrading.com, 1 qumind.co.uk, 1 qumirezi.tk, 1 qunzi.la, 1 @@ -119817,6 +120860,7 @@ quotesofgta.tk, 1 quotev.com, 1 quotidiani.net, 1 quotidianolavoce.it, 1 +quovadis-worldtour.it, 1 quovadisaustria.com, 1 quoviz.com, 1 qupom.com.br, 1 @@ -120215,6 +121259,7 @@ radioj.fr, 0 radiojackienorth.tk, 1 radiojeneverstoker.tk, 1 radioklara.org, 1 +radioknop.nl, 1 radiokontakt.tk, 1 radiokukesi.tk, 1 radiolanguages.tk, 1 @@ -120363,12 +121408,14 @@ rafinad.io, 1 rafo.tech, 1 rafo.tk, 1 raft.pub, 1 +rafting-japan.com, 1 raftingbali.net, 1 rafvorsselmans.com, 1 rafy.com.br, 1 rafy.site, 1 rag-deutsche-steinkohle.de, 1 rag.de, 1 +ragadoor.com, 1 ragasto.nl, 1 ragazzi-music.de, 1 rage-overload.ch, 1 @@ -120384,6 +121431,7 @@ ragnamart.tk, 1 ragnaroktop.com.br, 1 ragnarredbeard.com, 1 ragsnprints.com, 1 +ragstores.com, 1 ragt.ag, 1 ragunda.se, 1 ragundadalen.se, 1 @@ -120410,9 +121458,12 @@ raidensnakesden.com, 1 raidensnakesden.net, 1 raidentawork.lt, 1 raiderhacks.com, 1 +raidertimes.com, 1 +raidingue.fr, 1 raidkeeper.com, 1 raidstone.net, 1 raidstone.rocks, 1 +raidtcg.com, 1 raiffeisen-gv.ch, 1 raiffeisen-kosovo.com, 0 raiffeisen.al, 0 @@ -120555,7 +121606,6 @@ rajsolankimusic.ga, 1 rajudhoni.ga, 1 rak-business-service.com, 1 rakennuspeli.com, 1 -rakeprofit.com, 1 rakeshkaryana.com, 1 raketa.travel, 1 raketaholst.com.ua, 1 @@ -120577,6 +121627,7 @@ raku.land, 1 rakudo.org, 1 rakugokai.net, 1 rakuvisa.com, 1 +rakweb.com.br, 1 ralaoui.com, 1 ralaoui.me, 1 raleighadultmedicine.com, 1 @@ -120735,6 +121786,7 @@ rangeforce.com, 1 rangeforce.eu, 1 rangerfiles.tk, 1 rangersloyalsite.tk, 1 +rangersofbelgium.be, 1 rangeweb.ga, 1 ranginkamonkadeh.ir, 1 rangsmo.se, 0 @@ -120998,8 +122050,6 @@ rawlinswy.gov, 1 rawlord.ga, 1 rawmarkable.co.uk, 1 rawmathub.gr, 1 -rawpearls.co.uk, 1 -rawpearls.com, 1 rawr.sexy, 1 rawrvixen.com, 1 raxion.cf, 1 @@ -121013,6 +122063,7 @@ raydius.de, 1 rayensalud.com, 1 rayfalling.com, 1 rayhneatess.com, 1 +rayiris.com, 1 rayj.me, 1 raykitchenware.com, 1 raylo.com, 0 @@ -121036,7 +122087,6 @@ raytonne.cn, 1 rayusradiology.com, 1 raywisdom.tk, 1 rayworks.de, 1 -rayzer.dk, 1 razakhanimazhab.tk, 1 razawitv.com, 1 razberry.kr, 1 @@ -121277,6 +122327,7 @@ readychurchsites.com, 1 readyclassroomcentral.com, 1 readycolorado.gov, 1 readycontacts.com, 1 +readydedis.com, 1 readyeutaw.gov, 1 readyfiction.com, 1 readyit.pl, 1 @@ -121295,6 +122346,7 @@ readysurrync.gov, 1 readywithresourcestn.gov, 1 reaff.com, 0 reaganlibrary.gov, 1 +reagent-tests.uk, 1 reakcjonista.tk, 1 reaksi.id, 1 real-it.nl, 1 @@ -121311,6 +122363,7 @@ realactionslots.com, 1 realbiographies.cf, 1 realbiz.ml, 1 realbluesmagazine.com, 1 +realcapoeira.ru, 0 realcdn.nl, 1 realclearlife.com, 1 realclinic.jp, 1 @@ -121327,6 +122380,7 @@ realestatebydawn.ca, 1 realestateexecutives.tk, 1 realestategreenville.tk, 1 realestatekanada.tk, 1 +realestatelegalupdate.com, 0 realestatemaryland.tk, 1 realestateofnewmexico.com, 0 realestates.istanbul, 1 @@ -121358,7 +122412,6 @@ realives.com, 1 realizarse-japan.com, 1 realizegov.com, 1 realkeywords.ga, 1 -reall.uk, 1 realliance.net, 1 reallife-it.de, 1 reallifeforums.com, 0 @@ -121433,6 +122486,7 @@ rebas.co, 1 rebase.com.br, 1 rebase.com.tr, 1 rebatekey.com, 1 +rebatemy.rent, 1 rebecamode.ch, 1 rebecca.blackfriday, 1 rebeccawendlandt.com, 1 @@ -121460,12 +122514,14 @@ rebo.ai, 1 rebonus.com, 1 reboot.it.com, 1 reboxetine.com, 1 +reboxonline.com, 1 rebrandly.com, 1 rebschool.ml, 1 rebscurtismoss.co.uk, 1 rebsumner.com, 1 rebtoor.com, 0 rebuga.com, 1 +rebuild96.ru, 1 rebull.fr, 1 rebure.com, 0 rebus.support, 1 @@ -121493,6 +122549,7 @@ reception247.com, 0 receptionsbook.com, 1 receptveka.ru, 1 recessmonkeyz.tk, 1 +recetasdelospaises.com, 1 recetasdemape.com, 1 recetips.com, 1 recettecookeo.net, 1 @@ -121552,7 +122609,9 @@ recomed.co.za, 1 recommend.pro, 1 recommendatron.co.uk, 1 recommends.ml, 1 +recompiled.org, 0 recon-networks.com, 1 +reconciliatecondios.es, 1 reconocimientoincan.org.mx, 1 recordagrave.org, 1 recordati.com.tr, 1 @@ -121601,10 +122660,13 @@ recursosilimitados.tk, 1 recursosimbiopos.com, 1 recursosmi.com.br, 1 recursosrev.tk, 1 +recycle-it.com.au, 1 +recycle-plant.com, 1 recycle.cf, 1 recyclebin.email, 1 recycledinorsett.co.uk, 1 recycledinorsett.com, 1 +recycleit.au, 1 recyclenow.com, 1 recyclensave.sg, 1 recycling.tk, 1 @@ -121856,7 +122918,7 @@ reefpark.pl, 1 reeftrip.com, 1 reehomes.com, 1 reel360.com, 1 -reeladventurefishing.com, 0 +reeladventurefishing.com, 1 reelaxmedia.com, 1 reelchicago.com, 1 reelgame.ml, 1 @@ -121870,6 +122932,7 @@ reenio.com, 1 reenio.cz, 1 reenio.sk, 1 reentry.gov, 1 +reents3d.de, 1 reerguer.pt, 1 rees-carter.net, 1 reesefortraviscounty.org, 1 @@ -121904,7 +122967,7 @@ referralforest.com, 1 referrer.website, 1 reffect.io, 1 refinedimagelawnlandscape.ca, 1 -refinedinspectionservices.com, 0 +refinedinspectionservices.com, 1 refinedlightingaz.com, 1 refinedroomsllc.com, 1 refinery.services, 1 @@ -121953,6 +123016,7 @@ refpaicctvtm.top, 1 refpaikgai.top, 1 refpajqhsd.top, 1 refpakrtsb.top, 1 +refpakwpsrbm.top, 1 refpalqtdn.top, 1 refpanjoke.com, 1 refpaqutiu.top, 1 @@ -121966,6 +123030,7 @@ refpavnpad.top, 1 refpaydc.top, 1 refpayio.top, 1 refpazkjixes.top, 1 +refra.com, 1 reframeituk.org.uk, 1 refre.in, 1 refresh-dc.org, 1 @@ -122024,6 +123089,7 @@ regenpfeifer.net, 1 regensburg-repariert.de, 1 regent.ac.za, 1 regentchair.com, 1 +regentcruises.com, 1 regentmovies.tk, 1 regento.bg, 1 regentsgarden.com.au, 1 @@ -122065,7 +123131,6 @@ regionstea.net, 1 regioplanverbindt.nl, 1 regioprint-werbeagentur.de, 1 regiosalland.nl, 1 -regioseguros.com.br, 1 regiotaxi-s-hertogenbosch.nl, 1 regiotaxidenbosch.nl, 1 regiotaxishertogenbosch.nl, 1 @@ -122111,6 +123176,7 @@ regulations.gov, 1 regulative.gq, 1 regulatory-reporting.com, 1 rehab.cf, 1 +rehab.cn.ua, 1 rehabilitologist.ru, 1 rehabthailand.com, 1 rehabthailand.org, 1 @@ -122153,7 +123219,7 @@ reikimart.com, 1 reikimaster.tk, 1 reilly.io, 1 reimagine-education.com, 1 -reimaginebelonging.org, 1 +reimaginebelonging.org, 0 reimann.me, 1 reimers.de, 1 reims-digital.fr, 1 @@ -122292,7 +123358,7 @@ reliableremovals-blackpool.co.uk, 1 reliablewire.com, 1 reliahost.nl, 1 reliancecard.com, 1 -reliant.com, 0 +reliant.com, 1 reliant3sixty.com, 1 reliantpropertygrpri.com, 1 relic.gq, 1 @@ -122449,6 +123515,7 @@ renaultvereeniging.co.za, 1 renaultzambezi.co.za, 1 rencia.com, 1 rencontredemerde.fr, 1 +renda360.net, 1 rendall.tv, 1 rendatododia.xyz, 1 render.com, 1 @@ -122481,6 +123548,7 @@ reneschmidt.de, 1 reneschroeter.de, 1 renet.com.br, 1 renet.tk, 1 +renevo.eu, 1 renewablekids.tk, 1 renewablemaine.org, 0 renewals.pl, 1 @@ -122640,8 +123708,8 @@ repeat.gg, 1 repeatresponse.com.au, 1 repertuarim.com.tr, 1 repettoshoes.tk, 1 +repharmacy.com, 0 repin.in.ua, 1 -repinger.com, 1 repinger.my.id, 1 repintadoautomotriz.com, 1 repl.ga, 1 @@ -122708,6 +123776,7 @@ reptieleninfo.tk, 1 reptiledirect.com, 1 reptilepoint.com, 1 reptilescan.com, 1 +reptrax.com, 1 republic.gg, 1 republic.gr, 1 republica.gt, 1 @@ -122717,6 +123786,7 @@ republicanwhip.gov, 1 republicasantabanana.org, 1 republicchophouse.com, 1 republicmo.gov, 1 +republictelecom.net, 1 republik-sombora.tk, 1 republique.org, 1 repugnant-conclusion.com, 1 @@ -122879,6 +123949,7 @@ responsive.io, 0 responsivepaper.com, 1 respostas.com.br, 1 respublica.cl, 1 +ressourcement-interieur.com, 1 ressourceportal.dk, 1 ressourcesindivior.com, 1 ressourcesleopharma.fr, 1 @@ -122915,6 +123986,7 @@ restauratori.it, 1 restauratorin-maubach-dresden.de, 1 restaured.net, 1 restauriedili.roma.it, 1 +restbygait.com, 1 rester-a-domicile.ch, 1 rester-autonome-chez-soi.ch, 1 restic.net, 1 @@ -123068,6 +124140,7 @@ reup.cash, 1 reurbcaceres.com.br, 1 reusables.org, 1 reuschtools.com, 1 +reusesti.ro, 1 reusorecicla.com.br, 0 reut42.de, 1 reuter-profishop.de, 0 @@ -123181,6 +124254,7 @@ revolutionaryireland.ga, 1 revolutionaryireland.gq, 1 revolutionaryireland.ml, 1 revolutionengine.tk, 1 +revolutionenkommer.dk, 1 revolutionhealth.ca, 1 revolutionizingheartfailure.com, 1 revolutionofbeauty.tk, 1 @@ -123189,7 +124263,7 @@ revolvetuning.co.uk, 1 revolware.com, 1 revosoft.de, 1 revres.info, 1 -revspace.nl, 0 +revspace.nl, 1 revthefox.co.uk, 1 revton.com, 1 revuestarlight.me, 1 @@ -123612,6 +124686,7 @@ rightsourcingusa.com, 1 rightstartcapital.com, 1 rightstartent.com, 1 rightstartinc.com, 1 +rightstuff.link, 1 rightthingrecruit.com, 1 righttolife.org.uk, 1 righttrack.io, 1 @@ -123680,6 +124755,7 @@ rimorrecherche.nl, 1 rimpianto.com, 1 rimzim.tk, 1 rinabhabra.com, 1 +rinaent.com, 1 rincat.ch, 1 rincon-nsn.gov, 1 rinconanimalista.com, 1 @@ -123720,6 +124796,7 @@ riogrooming.com, 1 rioinbox.com.br, 1 riolista.com, 1 rioloagolf.tk, 1 +riomaisbrindes.com.br, 1 riomi.org, 1 riosoil.co.uk, 1 riosoil.com, 1 @@ -123788,6 +124865,7 @@ rishabh.me, 1 risheriffs.gov, 1 rishikeshyoga.in, 1 rishikeshyogavalley.com, 1 +rishta360.com, 1 risi-china.com, 1 rising-cubers.tk, 1 risingsoftware.com, 1 @@ -123836,6 +124914,7 @@ ritchieneville.tk, 1 rite-tech.us, 1 riteboost.com, 1 ritepriceheatingcooling.com.au, 1 +riterry.com, 1 riteway.rocks, 1 ritirocalcinacci.roma.it, 1 ritirocalcinacci.viterbo.it, 1 @@ -124044,6 +125123,7 @@ roadshow.com.au, 1 roadtochina.tk, 1 roadtoglory.tk, 1 roadtopgm.com, 1 +roadtoross2025.com, 1 roadtripaustralia.com.au, 1 roadtripnation.com, 1 roadtripusa.tk, 1 @@ -124100,7 +125180,7 @@ robertof.ovh, 1 robertoggarcia.tk, 1 robertopazeller.ch, 1 robertoullan.tk, 1 -robertreeveslaw.com, 1 +robertreeveslaw.com, 0 robertrijnders.nl, 1 robertsfinejewelers.com, 1 robertsjoneslaw.com, 0 @@ -124313,6 +125393,7 @@ rocksoundradio.tk, 1 rockspringswi.gov, 1 rocktonil.gov, 1 rocktontownshipil.gov, 1 +rockvilledentalarts.com, 1 rockworldteam.tk, 1 rockyford-co.gov, 1 rockymountaininsurancecenter.com, 1 @@ -124320,6 +125401,7 @@ rockymountainspice.com, 1 rockymountva.gov, 1 rockymtnexpress.com, 1 rockyourlife.gq, 1 +rockyrealestate.com, 1 rocssocial.com.au, 1 rocssti.net, 1 rodab.party, 1 @@ -124371,6 +125453,7 @@ roehrbein.de, 1 roelenscitynews.ml, 1 roelfs.org, 1 roelhollander.eu, 1 +roeljoyas.com, 1 roelkoops.nl, 1 roelof.io, 1 roelonline.tk, 1 @@ -124422,7 +125505,7 @@ roguerocket.com, 1 roguetech.ca, 1 roguevalleywinecountry.com, 1 rohal.tk, 1 -rohanbassett.com, 0 +rohanbassett.com, 1 rohansingh.cf, 1 rohde.de, 0 rohedaten.de, 1 @@ -124432,6 +125515,7 @@ rohitpatil.com, 1 rohkeakirkko.fi, 1 rohlik.cz, 1 rohrle.com, 1 +rohrle.net, 1 rohrreinigung-zentrale.de, 1 rohrstock.at, 1 roi4presenter.com, 1 @@ -124457,6 +125541,7 @@ rokudenashi.de, 1 rokuk.org, 1 rokz.ly, 1 rolamar.com.br, 1 +roland-dickeyjr.com, 0 roland.io, 1 rolandinsh.com, 0 rolandlips.com, 1 @@ -124489,6 +125574,7 @@ rollerderbywines.ga, 1 rollerwarehouse.com, 1 rolleyes.org, 1 rollforadventure.com.au, 1 +rolling.es, 1 rollingbarge.com, 1 rollingcouchapp.com, 1 rollinghillsestates.gov, 1 @@ -124605,6 +125691,7 @@ roninathletics.com, 1 roninf.ch, 1 roninitconsulting.com, 1 roninmotorsports.net, 1 +ronkeesom.nl, 1 ronlinemarketing.com, 1 ronniegane.kiwi, 1 ronnylindner.de, 1 @@ -124676,6 +125763,7 @@ root-books.gq, 1 root-books.ml, 1 root-couture.de, 1 root-space.eu, 1 +root.bg, 1 root.cz, 1 root.eu.org, 1 root.place, 1 @@ -124684,6 +125772,7 @@ rootbsd.at, 1 rootcamp.net, 1 rootd.at, 1 rootdo.com, 1 +rootdo.org, 1 rootear.com, 1 rootedallies.space, 1 rootedlifemontessori.com, 1 @@ -124691,6 +125780,7 @@ rootedtolast.org, 1 rootedwellnessot.com, 1 rooter.group, 1 rootergroupinc.ca, 1 +rootfor.me, 1 rootgsm.com, 1 rootie.de, 1 rootingpalace.tk, 1 @@ -124726,6 +125816,7 @@ ropd.info, 1 ropesmart.com, 1 roquebrunesurargens-tourisme.fr, 1 roques.tk, 1 +roquesevilla.com, 1 rorelseprojektet.se, 1 roromendut.online, 1 rorr.im, 1 @@ -124735,6 +125826,7 @@ rosabellas.co.uk, 1 rosabrasiv.ga, 1 rosacosmos.tn, 1 rosaflorbijoux.com.br, 1 +rosakkreditatsiya-forum.ru, 1 rosalinda.cl, 1 rosalindturner.co.uk, 1 rosalopezcortes.tk, 1 @@ -124754,6 +125846,7 @@ rose-prism.org, 1 rosebikes.com, 1 rosebikes.de, 1 rosebikes.nl, 1 +roseboom-bouwkundigadvies.nl, 1 rosebudcountysheriffmt.gov, 1 rosecoaudit.com, 1 rosedenellandudno.co.uk, 1 @@ -124819,6 +125912,7 @@ rossia.ga, 1 rossignoli.it, 1 rossiyskaja.cf, 1 rosskingbooks.com, 1 +rosskopfs.de, 1 rosslug.org.uk, 1 rossome.org, 1 rossparker.org, 1 @@ -124915,6 +126009,7 @@ roundball.tk, 1 roundcube.mayfirst.org, 0 rounder.pics, 1 roundrock-locksmith.com, 1 +roundtechsquare.com, 1 roundtoprealestate.com, 0 roussillon-informatique.fr, 1 roussos.cc, 1 @@ -124996,12 +126091,14 @@ royal876.com, 0 royal877.com, 0 royal88.com, 1 royal880.com, 0 +royal882.com, 0 royal8822.com, 0 royal885.com, 0 royal886.com, 0 royal887.com, 0 royal896.com, 0 royal898.com, 0 +royal899.com, 0 royal929.com, 0 royal939.com, 1 royalasianescorts.co.uk, 1 @@ -125162,6 +126259,7 @@ rsdantyslab.lt, 1 rsdbyroos.nl, 1 rsdisedezzari.it, 1 rsdns.ml, 1 +rse-reporting.com, 1 rsec.kr, 1 rsecure.tk, 1 rsfinance.ch, 1 @@ -125261,6 +126359,7 @@ rtjobsite.com, 1 rtkbe.com, 1 rtlnitro.de, 1 rtlspiele.de, 1 +rtm.kr, 0 rtmi.co.il, 1 rtmoran.org, 1 rtmtech.ru, 1 @@ -125359,6 +126458,7 @@ rubyquincunx.org, 1 rubystore.ga, 1 rucheentreprise.fr, 1 ruchka-mashinka.gq, 1 +rucinscy.net, 1 rucinski.ch, 1 rucinski.eu, 1 rucinski.uk, 1 @@ -125389,6 +126489,7 @@ ruecklinger.net, 1 ruecommune.fr, 1 ruediger-voigt.eu, 1 ruedigervoigt.de, 1 +ruedirrenggli.ch, 0 ruedumas.freeboxos.fr, 1 rueduparticulier.tk, 0 rueg.eu, 1 @@ -125502,6 +126603,7 @@ rundh.de, 1 rundom.co, 1 rundu.ml, 1 rundum-service-omh.de, 1 +rundum-sorglos.digital, 1 rundumcolumn.xyz, 1 runebet.com, 1 runeblog.ru, 1 @@ -125629,6 +126731,7 @@ russia-furniture.tk, 1 russia-knigi.ga, 1 russia-rp.tk, 1 russia-travel.com, 1 +russia.dating, 0 russia.wtf, 1 russiahockey.tk, 1 russiahunting.tk, 1 @@ -125714,6 +126817,7 @@ ruudkoot.nl, 1 ruvoip.net, 1 ruwhof.com, 1 ruwhof.net, 1 +ruxit.com, 0 ruxleyglobal.com, 1 ruya.com, 1 ruyana.tk, 1 @@ -125766,15 +126870,16 @@ rxbusiness.com, 1 rxcarbon.com, 1 rxcom.net, 1 rxhill.com, 1 -rxkids.org, 1 rxperiusdata.com, 1 rxphoto.com, 1 rxss.com, 1 +rxssplus.com, 1 rxxx.ml, 1 rya.nc, 1 ryabinushka.tk, 1 ryan-13.tk, 1 ryan-design.com, 1 +ryan-gehring.com, 1 ryan-goldstein.com, 1 ryan.black, 1 ryan.cafe, 1 @@ -125829,6 +126934,7 @@ rygiel.com.pl, 0 rylin.net, 1 rymanhp.com, 1 rymanow.tk, 1 +rymdweb.com, 1 rymergames.tk, 1 rymshospital.com, 1 rynekpierwotny.pl, 1 @@ -125975,7 +127081,6 @@ saadurrehman.tk, 1 saam.aero, 1 saaminuett.fi, 1 saap.me, 1 -saaral.org, 1 saarehaigla.ee, 1 saaremaa.tk, 1 saaricraft.ml, 1 @@ -126105,6 +127210,7 @@ sadou.kyoto.jp, 0 sadoun.com, 1 sadovskiy.tech, 1 sadrailsim.de, 1 +sadroveomitky.net, 1 sadsu.com, 0 sadubykovunu.com.ua, 1 sadurscy.pl, 1 @@ -126128,6 +127234,7 @@ safarilaw.com, 1 safaris-uganda.com, 1 safarisbonafricatours.com, 1 safarisop.com, 1 +safataviationgroup.com, 1 safatech.me, 1 safc.tk, 1 safcstore.com, 0 @@ -126180,7 +127287,7 @@ safenetwork.it, 1 safensoundstoragegroton.com, 1 safeo.fr, 1 safeocs.gov, 1 -safepassvpn.com, 0 +safepassvpn.com, 1 safeplay.co, 1 safeplayground.net, 1 safer-software.tk, 1 @@ -126277,6 +127384,7 @@ sagogangen.se, 1 sagomedia.tk, 1 sagradamadre.hu, 1 sagradobyme.cl, 1 +sagretreviso.it, 1 sagsaga.org, 1 saguaro.care, 1 saguarocc.com, 1 @@ -126308,6 +127416,7 @@ sahovski.com, 1 sahpa.co.za, 1 sai.be, 1 sai.com.in, 1 +saibababirthplace.org, 1 saiber.com, 1 saibotk.de, 0 said.id, 1 @@ -126325,6 +127434,7 @@ saifoundation.org, 1 saiful.web.id, 1 saigonland24h.vn, 1 saigonstar.de, 1 +saijanmasthan.org, 1 saikarra.com, 1 saikouji.tokushima.jp, 1 sail-holidays-hub.gr, 1 @@ -126334,13 +127444,18 @@ sailcut.org, 1 sailing-delfina.it, 1 sailmail.io, 1 sailmainecoast.com, 1 +sailormoondoujinshi.org, 1 sailormoonevents.org, 1 sailormoonfansubs.com, 1 sailormoongallery.org, 1 +sailormoonlibrary.org, 1 sailors.org, 1 sailum.tk, 1 +saily.pl, 1 sailyun.cc, 1 saimedia.net, 0 +saimoe.moe, 1 +saimoe.org, 1 sainaracademy.com, 1 sainetworks.net, 1 sainokuni-eng.jp, 1 @@ -126416,7 +127531,6 @@ saisyuusyou-takasaki.com, 1 saisyuusyou-utsunomiya.com, 1 sait.health, 1 saitapovan.com, 1 -saitas.net, 1 saito-koken.co.jp, 1 saitrance.com, 1 saitschool.ml, 1 @@ -126647,11 +127761,13 @@ salud-paratodos.com, 1 saludakeuring.nl, 1 saludcarbajal.com, 1 saludcolima.gob.mx, 1 +saludmaspro.com, 1 saludnutrivida.com, 1 saluels.servemp3.com, 1 salukinet.tk, 1 salunganogroup.com, 1 salus-cm.care, 1 +salus.zone, 1 salut-butovo.cf, 1 salutes.tk, 1 salutethefish.com, 1 @@ -126789,6 +127905,8 @@ sampsonplumbing.com, 0 samquick.me.uk, 1 samroelants.com, 1 samsara.nl, 1 +samsat.info, 1 +samsatcorner.com, 1 samscollection.in, 1 samsebe.ml, 1 samsebe.tk, 1 @@ -126835,6 +127953,7 @@ san-leonardo.com, 1 san-vigilio-marebbe.net, 1 san.tv, 1 san0j.de, 1 +sana-commerce.com, 1 sana-store.com, 1 sana-store.cz, 1 sana-store.sk, 1 @@ -126995,6 +128114,7 @@ sanikapandit.com, 1 sanilaccounty.gov, 1 sanilactownshipmi.gov, 1 sanin.gq, 1 +sanitaer-heinze.com, 1 sanitaer-notdienst-zentrale.de, 1 sanitairwinkel.be, 1 sanitairwinkel.com, 1 @@ -127060,6 +128180,7 @@ sanraizu.top, 1 sanroque.es, 1 sans-hotel.com, 1 sans-papiers.ch, 1 +sansaenergy.com, 1 sansairyu-kuyoukai.com, 1 sansdb.io, 0 sansdict.ml, 1 @@ -127382,7 +128503,7 @@ satat.cf, 1 satat.tk, 1 sateallia.org, 1 satelital.tk, 1 -satelitnews.com, 1 +satelitnews.com, 0 satellights.tk, 1 satellite-equipment.tk, 1 satellite-shop.tk, 1 @@ -127404,6 +128525,7 @@ satisperfectacollections.com, 1 sativatunja.com, 1 satl-lelystad.nl, 1 satlantis.tk, 1 +satmd.de, 1 satoplet.cz, 1 satopletova.cz, 1 satoshinumbers.com, 1 @@ -127511,6 +128633,7 @@ savedana.tk, 1 saveeachlife.com, 1 savehumanitynow.com, 1 savejonasquinn.tk, 1 +savemycent.com, 1 savemyexams.co.uk, 1 savemyleads.com, 1 savemylicence.co.uk, 1 @@ -127939,6 +129062,7 @@ schizoids.net, 1 schizomatrix.cf, 1 schizomatrix.tk, 1 schkamien.pl, 1 +schlachter.ca, 1 schlafteq.com, 1 schlagenhauf.info, 0 schlagma.de, 1 @@ -127990,6 +129114,7 @@ schmitzvertalingen.nl, 1 schmucker.it, 1 schmunzelgeist.de, 1 schnalstal.info, 1 +schnalz.de, 1 schnapke.name, 1 schnapsverein.ddns.net, 1 schnaube.de, 1 @@ -128267,6 +129392,7 @@ scituateri.gov, 1 scity88.com, 1 scjc-bridge.fr, 1 sckc.stream, 1 +sckg.com, 1 sclasupplychain.com, 1 sclee.website, 1 sclegalvideo.com, 1 @@ -128379,6 +129505,7 @@ scottymiller.au, 1 scottyspot.tk, 1 scounter.tk, 1 scour.cc, 1 +scoure.de, 1 scourgesofcarpathia.tk, 1 scout-korting.tk, 1 scoutbee.io, 0 @@ -128398,7 +129525,7 @@ scoutrss.com, 1 scoutsanbartolome.tk, 1 scoutsanpieropatti.tk, 1 scoutsdeldesierto.tk, 1 -scoutwired.org, 1 +scoutwired.org, 0 scp-rustenholz-trens.notaires.fr, 1 scpe.eu.org, 1 scpocahontas.nl, 1 @@ -128465,6 +129592,7 @@ scriptamanent.org, 1 scripter.co, 1 scriptline.ga, 1 scriptmaker.tk, 1 +scriptnav.com, 1 scriptolab.com, 1 scriptomania.tk, 1 scriptop.co, 1 @@ -128550,6 +129678,7 @@ sdebitati.it, 1 sdeu.fr, 1 sdfamilycare.org, 1 sdfcn.org, 1 +sdfi.com, 1 sdgfsdgyuise3.duckdns.org, 1 sdgllc.com, 1 sdgrait.tech, 1 @@ -128580,6 +129709,7 @@ sdpokieswiry.tk, 1 sdpp.cc, 1 sdrp.org, 1 sdruzeniprovltavu.cz, 1 +sds-marburg.de, 0 sdsapa.ai, 1 sdsapa.com, 1 sdsbd.top, 1 @@ -128618,7 +129748,7 @@ seagull-seafarer.org, 1 seahaweb.org, 1 seaif.org, 1 seal-tite.eu, 1 -sealability.co.uk, 0 +sealability.co.uk, 1 sealart.pl, 1 sealaw.com, 1 sealbaker.com, 1 @@ -128794,6 +129924,7 @@ secan.com, 1 secapp.fi, 1 secard.cc, 1 secard.me, 1 +secard.xyz, 1 secatscale.org, 1 secaucusnjpolice.gov, 1 secborder.com, 1 @@ -128803,7 +129934,7 @@ secdfir.com, 1 secfilingdata.com, 1 secgui.de, 1 sech.me, 1 -secinto.com, 1 +secinto.com, 0 secitem.de, 1 seclimax7.pw, 1 seclink.link, 1 @@ -128988,6 +130119,7 @@ securityplusfcu.org, 1 securitypuppy.com, 1 securitysense.co.uk, 1 securitysnobs.com, 0 +securitystreak.com, 1 securitystudio.com, 0 securitytalent.nl, 1 securitytalk.pl, 1 @@ -129177,11 +130309,13 @@ seiryokuzai-ch.com, 1 seiservices.com, 1 seishinan.xyz, 1 seishinchuo-lawoffice.com, 1 +seishuncollection.com, 1 seismas1.com, 1 seisthewaytobe.com, 1 seistolzaufdich.de, 1 seistrup.dk, 1 seitai-taiyou.com, 1 +seitanic-cookbook.de, 1 seitensieger.at, 1 seitensieger.ch, 1 seitensieger.de, 1 @@ -129231,6 +130365,7 @@ selbst-schreinern.de, 0 selbstverteidigung-catmove.de, 1 selco-himejiminami.com, 1 selcusters.nl, 1 +selea.se, 1 selebrita.ml, 1 selecadm.name, 1 selectables.tk, 1 @@ -129417,6 +130552,7 @@ senarius.de, 1 senat.cz, 1 senat.ro, 1 senatorhughes.com, 1 +senbil.net, 1 senbil.video, 1 sence.gob.cl, 1 sencurina.de, 1 @@ -129438,6 +130574,7 @@ sendai-works.com, 1 sendaimori.com, 1 sendaiouji.com, 1 sendbird.com, 1 +sendbox.cz, 1 sendcredit.com, 1 sendengo.com, 1 sender.net, 1 @@ -129459,7 +130596,7 @@ sendpulse.com, 1 sendsonar.com, 1 sendsteps.com, 1 sendthisfile.com, 1 -sendtrix.nl, 0 +sendtrix.nl, 1 sendwithses.com, 1 sendy.land, 1 sendzik.eu, 1 @@ -129478,6 +130615,7 @@ seniorcommunitymedia.com, 1 seniorem.eu, 1 seniorhelpers.com, 1 seniorhost.net, 1 +seniorie-sart-tilman.be, 1 seniorlivinginvestments.eu, 1 seniormanager.cz, 1 seniornavigator.org, 1 @@ -129633,6 +130771,8 @@ seolord.cf, 1 seomag.tk, 1 seomap.ir, 1 seomarketing.bg, 1 +seomaton.com, 1 +seomaton.org, 1 seomaxion.com, 1 seomedo.com, 1 seomen.biz, 1 @@ -129687,9 +130827,10 @@ seoulartcollective.tk, 1 seovisit.tk, 1 seovisits.tk, 1 seoviziti50.tk, 1 -seowerkz.com, 0 +seowerkz.com, 1 seowhizone.com, 1 seowind.io, 1 +seowordpress.pl, 1 seowork.tk, 1 seozel.tk, 1 seozen.top, 1 @@ -129779,7 +130920,7 @@ sergal.gay, 1 sergeantbiggs.net, 1 sergeemond.ca, 1 sergefonville.nl, 1 -sergelapointe.ca, 0 +sergelapointe.ca, 1 sergepalincpa.com, 1 sergeyburov.tk, 1 sergeyesenin.tk, 1 @@ -129868,6 +131009,7 @@ servecrypt.ru, 1 servelelecciones.cl, 1 servelink.com, 1 servend.gov, 1 +servenet.online, 1 serveport.com, 1 serveproxy.com, 1 servepublic.com, 1 @@ -129908,6 +131050,7 @@ serverlounge.eu, 1 serverninja.tk, 1 serveroffline.net, 1 serverpedia.de, 1 +servers.vg, 1 serverscan.com, 1 serversify.host, 1 serversify.net, 0 @@ -129960,6 +131103,7 @@ servicespot.ca, 1 servicestechnologiquesam.ca, 1 servicestelle-jba.de, 1 servicevie.com, 0 +servicewash.it, 1 servicii-funerare.tk, 1 servicii-wordpress.ro, 1 serviciodebarralibreparaeventos.com, 1 @@ -130136,6 +131280,7 @@ sewing-machines.com.ua, 1 sewing-world.ru, 1 sewingtales.com, 0 seworld.ml, 1 +sex-sex-cam.com, 1 sex-test.com, 1 sex-vergleich.com, 1 sex5.com, 1 @@ -130193,9 +131338,9 @@ sexspb.love, 1 sexswing.com, 0 sextacy.tk, 1 sextapegermany.com, 1 +sextoysproductstore.com, 1 sextpanther.com, 1 sextreffendeutschland.com, 1 -sextubespot.com, 1 sextw.net, 1 sexualdiversity.org, 1 sexualidadcursosvip.com, 1 @@ -130323,6 +131468,7 @@ sfondo.info, 1 sformule.cz, 1 sfotbal.cz, 1 sfotbalem.cz, 1 +sfpebblesstones.com, 1 sfpuc.gov, 1 sfrms-app.fr, 1 sfs.buzz, 1 @@ -130472,6 +131618,7 @@ shag-shag.ru, 1 shahadpharma.com, 1 shahar.cc, 0 shaharklamka.com, 1 +shaharyaranjum.com, 1 shaheedirfani.tk, 1 shaheednawazirfani.tk, 1 shahidafkar.tk, 1 @@ -130486,6 +131633,7 @@ shahriar.xyz, 1 shahrsazan.tk, 1 shahrvand.ga, 1 shahsaadkhan.tk, 1 +shahyadmusic.com, 1 shahzaibm.com, 1 shaicoleman.com, 1 shaiden-porn.com, 1 @@ -130502,7 +131650,7 @@ shakan.ch, 0 shakebeforeuse.tk, 1 shakeit.pt, 1 shaken-kyoto.jp, 1 -shakepay.com, 0 +shakepay.com, 1 shakerheightsoh.gov, 1 shakerwebdesign.net, 1 shakespeareans.net, 1 @@ -130531,7 +131679,7 @@ shamil.tech, 1 shamimahmed.tk, 1 shamimmedia.ir, 1 shamiphotos.tk, 1 -shamokit.com, 0 +shamokit.com, 1 shan.io, 0 shan.sg, 1 shan.si, 1 @@ -130741,16 +131889,15 @@ sheepfriends.com, 1 sheepproductions.com, 1 sheeprock.tk, 1 sheepsound.tk, 1 -sheerchain.com, 1 sheet.host, 1 sheetengine.net, 1 sheetflowpro.com, 1 -sheetseeker1486.it, 1 sheezy.art, 1 sheezy.blog, 1 sheezy.games, 1 sheezy.stream, 1 sheezy.wiki, 1 +sheezyf.art, 1 shef.com, 1 shefburgers.com, 1 sheffield-wednesday-fc.tk, 1 @@ -130780,6 +131927,7 @@ shellfire.it, 1 shellfire.net, 1 shelljuggler.com, 0 shellopolis.com, 1 +shellot.com, 1 shellsec.pw, 0 shellshock.eu, 1 shellta.com, 1 @@ -130974,8 +132122,10 @@ shipbuddies.com, 1 shipengliang.com, 1 shipgoldchandler.com, 1 shipham.co.uk, 1 +shipheart.tech, 1 shipinhuiyi.com, 0 shipitsmarter.com, 1 +shipkardo.pk, 1 shiplapandshells.com, 1 shipmondo.com, 1 shipmonk.cloud, 1 @@ -131012,6 +132162,7 @@ shiriforum.tk, 1 shirimasen.com, 1 shirley.li, 1 shirlygilad.com, 1 +shiro.love, 1 shiroki-k.net, 1 shiropaev.tk, 1 shirosaki-hana.fun, 1 @@ -131116,7 +132267,7 @@ shontakleinpeter.tk, 1 shooba.net, 1 shoobacreations.com, 1 shooger.com, 1 -shoosmiths.com, 0 +shoosmiths.com, 1 shoot360franchise.com, 1 shooter.dog, 1 shooting-balades.com, 1 @@ -131260,6 +132411,7 @@ shoppingglamour.ga, 1 shoppingglory.ga, 1 shoppinggrab.ga, 1 shoppingguerilla.ga, 1 +shoppingguru.co.za, 1 shoppinghands.ga, 1 shoppinghandsome.ga, 1 shoppinghotrod.ga, 1 @@ -131407,6 +132559,7 @@ shortwave.com, 1 shortwave.tk, 1 shoruihokan.com, 1 shoshonecityid.gov, 1 +shoshovis.com, 1 shossain.tk, 1 shost.ga, 1 shota-sekkotsuin.com, 1 @@ -131419,6 +132572,8 @@ shotsbyferry.nl, 1 shotsleeve.com, 1 shou.si, 1 shoudanren.jp, 1 +shoujik8.com, 1 +shoujochronicle.org, 1 shouldbetaught.com, 1 shoulderandelbowspecialist.com.au, 1 shouldiclick.it, 1 @@ -131634,7 +132789,7 @@ sibs-dance-diamonds.ch, 1 sibs.com, 1 sibu.one, 1 sicapita.com, 1 -sicblox.com, 1 +sicblox.com, 0 siccardisport.it, 1 sich-fight.club, 1 sich-positionieren.net, 1 @@ -131661,7 +132816,7 @@ siddigsami.com, 1 sidechannel.blog, 1 sidechannel.media, 1 sidecredit.ga, 1 -sidedoorapp.com, 0 +sidedoorapp.com, 1 sidefx.com, 0 sideleau.com, 1 sidemount-tauchen.com, 1 @@ -131680,6 +132835,7 @@ sidik.web.id, 1 sidingsmedia.com, 1 sidiprojects.us, 1 sidirokastro.ga, 1 +sidium.de, 1 sidmax.ca, 1 sidneymi.gov, 1 sidnicio.us, 1 @@ -131752,6 +132908,7 @@ siggi.io, 1 sight-restoration.tk, 1 sight-sound.com, 1 sightandsound.co.uk, 1 +sightcure.jp, 1 sightfactory.com, 1 sightful.be, 1 sightful.eu, 1 @@ -131807,12 +132964,13 @@ signatureresolution.com, 1 signaturerx.co.uk, 1 signaturesmilesstudio.com, 1 signcreative.de, 1 +signdeer.com, 1 signeen.com, 1 signeen.net, 1 signere.com, 1 signetfm.com, 1 signicat.com, 1 -signicat.io, 1 +signicat.io, 0 significado.origem.nom.br, 1 significadodenombres.net, 1 significados.com, 1 @@ -132499,6 +133657,7 @@ sircon.no, 1 sirena.ml, 1 sirenassociates.com, 0 sirenasweet.net, 1 +sirenasweet.org, 1 sirencallofficial.com, 1 sirenequestrianvaulting.co.uk, 1 sirenequestrianvaulting.com, 1 @@ -132551,6 +133710,7 @@ sis.gov.uk, 1 sisadmin21.tk, 1 sisap.com, 1 siscompbolivia.tk, 1 +siscompt.com, 0 sisconmed.com.br, 1 siscoweb.it, 1 siscowebcrm.it, 1 @@ -132622,6 +133782,7 @@ sitecore.com, 1 sitecreation.tk, 1 sitecreator.tk, 1 sitecrew.cf, 1 +sitecuatui.com, 0 sitedebelezaemoda.com.br, 1 sitedynamix.co.uk, 1 siteforce.com, 1 @@ -132629,6 +133790,7 @@ sitehizlandir.com, 1 siteinlight.com, 1 siteintelstage.com, 1 siteinteressant.net, 1 +sitejustice.com, 1 sitek.rocks, 1 sitekatalog.tk, 1 sitelinks.ga, 1 @@ -132692,6 +133854,7 @@ siwiki.rs, 1 siwyd.com, 1 six.ee, 1 sixam.co.jp, 1 +sixara.com, 1 sixcolors.lu, 1 sixcorners.info, 1 sixcorners.net, 1 @@ -132764,6 +133927,7 @@ skaala.com, 1 skaalen.com, 1 skaapkraalonline.co.za, 1 skabour.co.uk, 1 +skachat-filmi.info, 1 skachat-programmylini.ga, 1 skachat-shablon-rezyume-na-angliyskom-yazyk.tk, 1 skachat-zip.tk, 1 @@ -132984,7 +134148,7 @@ skoander.com, 1 skoda-im-dialog.de, 1 skodapower.tk, 1 skodapreowned.in, 1 -skogsforum.se, 0 +skogsforum.se, 1 skogsstyrelsen.se, 1 skoi2023.com, 1 skoilly.cc, 1 @@ -133000,7 +134164,7 @@ skolid.se, 1 skolkavazka.cz, 1 skolni-system.eu, 1 skolnieks.lv, 1 -skolniweby.cz, 0 +skolniweby.cz, 1 skolplattformen.org, 1 skolskyportalporuba.cz, 1 skomtal.com, 1 @@ -133140,7 +134304,7 @@ skylandanalytics.net, 1 skylander.cf, 1 skylandsoft.com, 1 skylarker.org, 1 -skylightcreative.com.au, 0 +skylightcreative.com.au, 1 skylightipv.com, 1 skyline.tw, 1 skylinehk.org, 1 @@ -133164,9 +134328,10 @@ skynet-research.us, 0 skynet.edu.kg, 1 skynet233.ch, 0 skynet800.goip.de, 1 +skynetcloud.org, 1 skynetcloud.site, 1 +skynetz.tk, 1 skynfans.com, 1 -skynotify.co, 1 skyoceanblue.com, 1 skyoy.com, 0 skypanic.com, 1 @@ -133174,7 +134339,6 @@ skypark.tk, 1 skypce.net, 1 skype, 1 skype.com, 0 -skypech.com, 1 skypicker.com, 1 skypicshd.com, 1 skyportcloud.com, 1 @@ -133219,6 +134383,7 @@ skywallphotography.com, 1 skywayplatform.com, 1 skywitnessnews.com, 1 skyworldserver.ddns.net, 1 +skywt.cn, 0 skyynet.de, 1 skyzimba.com.br, 1 sl-alarm.ru, 1 @@ -133274,6 +134439,7 @@ slaskie.pl, 1 slate.fr, 1 slate.to, 1 slated.ie, 0 +slatemc.com, 1 slatemc.fun, 1 slateteams.com, 0 slathering.cf, 1 @@ -133381,7 +134547,7 @@ slim.ua, 1 slimcrm.vn, 1 slime5.com.tw, 1 slimer.com, 1 -slimgrafix.cz, 0 +slimgrafix.cz, 1 slimhost.com.ua, 0 slimpay.com, 1 slimspots.com, 1 @@ -133546,7 +134712,7 @@ smallfarmersjournal.com, 1 smallfoot.tk, 1 smallguard.fr, 1 smallingerland.nl, 1 -smallplanet.com, 1 +smallplanet.com, 0 smalls-world.tk, 1 smallsiri.gq, 1 smallsites.eu, 1 @@ -133556,7 +134722,6 @@ smalltunepress.tk, 1 smallville.tk, 1 smallville25.tk, 1 smallwhitebear.ga, 1 -smaltimento-rifiuti.com, 1 smaltimento.caserta.it, 1 smaltimento.milano.it, 1 smaltimento.napoli.it, 1 @@ -133663,6 +134828,7 @@ smartgirls.tk, 1 smartglassworld.net, 1 smartguardzone.kr, 1 smarthdd.com, 1 +smarthealthinnovationlab.com, 1 smarthis.com, 1 smarthomegeldermalsen.nl, 1 smarthrms.com, 1 @@ -133777,6 +134943,7 @@ smb-bsa.ca, 1 smb.wiki, 1 smb445.com, 1 smbabyshop.gr, 1 +smbalaji.com, 1 smbc.direct, 1 smbcmanubank.com, 1 smbi-gelblasterhq.com.au, 1 @@ -133837,6 +135004,7 @@ smilegenerator.tk, 1 smileinspector.io, 1 smilenwa.com, 1 smilephi.com, 1 +smilesofcary.com, 1 smilessoftplay.co.uk, 1 smileykylie.com, 1 smileys-emojis.com, 1 @@ -133920,6 +135088,7 @@ smokies.co.uk, 1 smoking-robot.com, 1 smokinghunks.com, 1 smokingtapes.ga, 1 +smokonz.com, 0 smokybay.is, 1 smokymountaingames.org, 1 smokyshores.radio, 0 @@ -134146,7 +135315,6 @@ snotekbyariens.com, 1 snotoppen.nl, 1 snoupon.com, 1 snovinky.cz, 1 -snow-companies.com, 1 snow-flowers.com, 1 snow-service.it, 1 snowalerts.nl, 1 @@ -134156,6 +135324,7 @@ snowballeffect.co.nz, 1 snowboard-break.tk, 1 snowboardforum.tk, 1 snowcat.tk, 1 +snowchamps.nl, 1 snowcrestdesign.com, 1 snowdon.io, 1 snowdrop.moe, 1 @@ -134171,6 +135340,7 @@ snowhaze.com, 1 snowman25.de, 1 snowmassvillage.gov, 1 snoworld.one, 1 +snowpak.com, 0 snowparties.com, 1 snowpaws.de, 1 snowplanet.tk, 1 @@ -134204,6 +135374,7 @@ snukep.kr, 1 snwsjz.com, 1 snyder-ne.gov, 1 snydersofhanover.com, 1 +so-academy.fr, 1 so-design.net, 1 so-gorgeo.us.kg, 1 so-link.co, 1 @@ -134228,13 +135399,13 @@ soax.com, 0 sobakasite.tk, 1 sobaki.tk, 1 sobakoh-nyc.com, 1 -sobatkaos.biz.id, 1 sobchak.ga, 1 sobieray.dyndns.org, 1 soblaznenie.ru, 1 soblaznenie2.ru, 1 sobre.tk, 1 sobrelixo.tk, 1 +sobuj.me, 1 socal-babes.com, 1 socalaccessandvideo.com, 1 socalcoda.org, 1 @@ -134309,6 +135480,7 @@ socialpops.co.uk, 1 socialproject.ml, 1 socialresponsibility.nl, 1 socials.gq, 1 +socialsafe.net, 1 socialsecurity.gov, 0 socialstandards.com, 1 socialstrata.com, 1 @@ -134345,6 +135517,7 @@ societyparty.ga, 1 societyrun.com, 1 socilit.com, 1 sociobiology.com, 1 +sociofab.com, 1 sociohosting.es, 1 sociology-bg.gq, 1 sociology-schools.com, 1 @@ -134395,6 +135568,7 @@ sodreams.ru, 1 sodrujestvo.tk, 1 sodsouthernindiana.com, 1 sodusny.gov, 1 +soe-server.com, 1 soegi-haru.com, 1 soel.wa.edu.au, 1 soellner.info, 1 @@ -134470,10 +135644,11 @@ softonic.nl, 1 softonic.pl, 1 softonic.ru, 1 softonic.se, 1 -softonit.ru, 0 +softonit.ru, 1 softonline.net, 1 softpark.cf, 1 softpark.ml, 1 +softpas.com, 1 softplay4hire.co.uk, 1 softpractice.com, 1 softref.com, 1 @@ -134652,13 +135827,14 @@ solidincome.ga, 1 solidityfactory.io, 1 solidnet.software, 1 solidnetwork.org, 1 +solidpoint.com.my, 1 solidpurenonsense.tk, 1 solidray.co.jp, 1 solidshield.com, 1 solidsteel.tk, 1 solidtuesday.com, 1 solifi.com, 1 -solihull.ac.uk, 0 +solihull.ac.uk, 1 solihullinflatables.com, 1 solihullpcrepairs.co.uk, 1 solikreis-stuttgart.tk, 1 @@ -134711,6 +135887,7 @@ solosesso.tk, 1 solostocks.com, 1 solostocks.it, 1 solostocks.ma, 1 +solostocks.pl, 1 sols.style, 1 solsea.io, 1 solsi.ga, 1 @@ -134731,6 +135908,7 @@ solutionalbum.com, 1 solutionbuilders.com, 1 solutionmotsfleches.com, 1 solutionpieces.com, 1 +solutionplumber.com, 1 solutions-ii.com, 1 solutions-it.net, 1 solutions-visuelles.ch, 1 @@ -134953,6 +136131,7 @@ soph.tk, 1 soph.us, 1 sopheos.com, 0 sopher.io, 1 +sophia.com.br, 1 sophiafoundation.org, 1 sophiajaneboutique.com, 1 sophiakligys.com, 1 @@ -135049,6 +136228,7 @@ soselectricienmontreal.com, 1 sosesh.shop, 1 sosessaimabeilles.com, 1 sosevents.nl, 1 +sosharch.com, 1 soshin.cf, 1 sosimple.academy, 1 sosisuka.ga, 1 @@ -135071,6 +136251,7 @@ sossinistres.ca, 1 sostacancun.com, 1 soste.fi, 0 sosyalevin.com, 1 +sosyalitya.com, 1 sosysadmin.com, 1 sosz.org, 1 sota.sh, 1 @@ -135244,11 +136425,13 @@ southcentral.edu, 1 southcoastlocksmiths.com.au, 0 southdakotahealth.tk, 1 southdakotanet.tk, 1 +southeast-wholesale.com, 1 southeastasianarchaeology.com, 1 southeastattacksquadron.org, 1 southeastwsf.org, 1 southelginumc.org, 1 southerncross.tk, 1 +southerncrosscables.com, 1 southernexportterminals.com.au, 1 southernfashiondecorbd.com, 1 southernfirst.com, 1 @@ -135268,6 +136451,7 @@ southfieldtownshipmi.gov, 1 southfloridaopenhousesearch.com, 1 southgatemi.gov, 1 southjacksonville-il.gov, 1 +southjerseyhomes.info, 1 southkingstownri.gov, 1 southlakenissanparts.com, 1 southlaketx.gov, 1 @@ -135346,7 +136530,6 @@ sovremenik.tk, 1 sovryn.com, 1 sovtech.tk, 1 sovxoz.gq, 1 -sowero.com, 1 sowero.de, 1 sowget.com, 1 sowhat.dk, 0 @@ -135614,6 +136797,7 @@ spbelect.info, 1 spbelect.org, 1 spbet99.com, 1 spbot.ml, 1 +spbtours.online, 1 spc-ag.ch, 1 spcconnect.com, 0 spcollege.edu, 1 @@ -135634,7 +136818,6 @@ speak.nl, 0 speak.software, 1 speakeasy.co, 1 speakermatch.com, 1 -speakersassociates.com, 1 speakersbusiness.com, 1 speakersden.tk, 1 speakertwpmi.gov, 1 @@ -135728,6 +136911,7 @@ speedliner.com, 1 speedmarket.pt, 1 speedof.me, 1 speedracer.ca, 1 +speedtailors.com, 1 speedtemplate.de, 1 speedvitals.com, 1 speedwaybring-proposal.cf, 1 @@ -135902,6 +137086,7 @@ spiritbionic.ro, 1 spiritdesigns.tk, 1 spiritedengineers.tk, 1 spiritgruppen.no, 1 +spirithouse.com, 1 spiritindia.com, 1 spiritous.cf, 1 spiritscorp.ddns.net, 1 @@ -135915,6 +137100,7 @@ spiski-domenov.tk, 1 spisochek.tk, 1 spisok-domenov.tk, 1 spit.com.au, 1 +spitalbuhusi.ro, 1 spitfiredialers.com, 0 spithoven.tk, 1 spjaet.dk, 1 @@ -136206,6 +137392,7 @@ springgrillhouse.com, 1 springgrovepa.gov, 1 springharveststore.com, 1 springhillmaine.com, 1 +springhow.com, 1 springinklee.com, 1 springlakemi.gov, 1 springlanguages.com, 1 @@ -136328,7 +137515,6 @@ square.it, 1 square.ly, 1 square.mx, 1 square.site, 1 -square1.de, 1 squarecdn.com, 1 squaredancedance.tk, 1 squaredaway.co.nz, 1 @@ -136340,6 +137526,7 @@ squaregaming.org, 1 squaregift.com, 1 squaregift.net, 1 squaregift.org, 1 +squareinchhome.com, 1 squareincircle.me, 1 squareinstallments.com, 1 squareinvite.com, 1 @@ -136358,6 +137545,7 @@ squareup.com, 1 squareupsandbox.com, 1 squatch.tube, 1 squeakie.club, 1 +squeaksscalesandtails.com, 1 squeaky.services, 1 squealing-filth.tk, 1 squeezemetrics.com, 1 @@ -136414,6 +137602,7 @@ sreventplanning.com, 1 srfloki.com, 1 srgry.link, 1 srhdesign.co.uk, 1 +srife.net, 1 srigc.com, 1 srilankan-hope-for-children.nl, 1 srilankanguides.com, 1 @@ -136549,6 +137738,7 @@ ssl4all.gq, 1 sslc.gov, 1 sslcertificaten.nl, 1 sslcheck.nl, 1 +sslcheckerpro.com, 1 sslcloud.net, 1 ssld.at, 1 ssldecoder.eu, 1 @@ -136926,6 +138116,7 @@ starfield.ai, 1 starfireorders.com, 1 starfm.gq, 1 starfm.ml, 1 +starfriend.ru, 1 stargarder-jungs.de, 1 stargate.gq, 1 stargate.how, 1 @@ -136942,6 +138133,7 @@ staring.tk, 1 staringer.net, 1 starinup.com, 1 starinvestama.co.id, 1 +starinvestingship.com, 0 starka.st, 1 starken.com, 1 starking.net.cn, 1 @@ -137042,6 +138234,7 @@ startupgov.lt, 1 startuphakksecurity.com, 1 startupislandtaiwan.com, 1 startupislandtaiwan.net, 1 +startupislandtaiwan.org, 1 startupmadeira.eu, 1 startupmoldova.digital, 1 startupnewstamil.com, 1 @@ -137116,6 +138309,7 @@ staticline.de, 0 staticweb.tk, 1 statik.space, 1 stationa.ch, 0 +stationary-traveller.eu, 1 stationaryengines.tk, 1 stationcharlie.co.za, 1 stationhousecattery.com, 1 @@ -137280,6 +138474,7 @@ steelmounta.in, 1 steelnavi.jp, 1 steelpoint.com.pl, 1 steelsheds.biz, 1 +steelshop.net, 1 steelsoldiers.com, 1 steelstructuresltd.com, 1 steelvortex.tk, 1 @@ -137389,7 +138584,7 @@ stem16plus.gent, 1 stematechnologies.ga, 1 stembureau-nissewaard.nl, 1 stembureauledenindenhaag.nl, 1 -stembureaunijmegen.nl, 0 +stembureaunijmegen.nl, 1 stemcellclinic.design, 1 stemcellclinic.live, 1 stemcellclinic.ltd, 1 @@ -137445,6 +138640,7 @@ stephanieleonidasfan.tk, 1 stephanieschreiber.com, 1 stephanoptiek.nl, 1 stephen-oliver-art.co.uk, 1 +stephenalansalon.com, 1 stephenbakalian.com, 1 stephencashman.com, 0 stephencorp.com, 1 @@ -137659,6 +138855,7 @@ sticky.to, 1 stickydot.eu, 1 stickypassword.com, 1 stickypigbbq.com, 1 +stickywilds.com, 1 stidmobile-id.com, 1 stiebel.co.nz, 1 stiebel.com.au, 1 @@ -137670,7 +138867,7 @@ stierheating.com, 1 stifflersmom.ga, 1 stift-kremsmuenster.at, 1 stift-kremsmuenster.net, 1 -stiftung-klima.de, 0 +stiftung-klima.de, 1 stiftung-lq.ch, 1 stiftung-lq.com, 1 stiftung-lq.net, 1 @@ -137736,6 +138933,7 @@ stjohncamden.com, 1 stjohnin.com, 0 stjohnin.gov, 1 stjohnks.gov, 1 +stjohnnepomucene.com, 1 stjohnofgodannualreport.nz, 1 stjohnpa.org, 1 stjohnsc.com, 1 @@ -137754,7 +138952,7 @@ stjustin.org, 1 stkeverneparishcouncil.org.uk, 1 stkevin-stbenedict.org, 1 stkildaosteopathy.com.au, 1 -stla.net, 1 +stla.net, 0 stlautoenhancements.com, 1 stlawco.gov, 1 stleismann.de, 1 @@ -137814,7 +139012,7 @@ stocar.kh.ua, 1 stock-analysis-on.net, 1 stockageprive.net, 1 stockanalysis.com, 1 -stockbrain.co.jp, 0 +stockbrain.co.jp, 1 stockbridge-ma.gov, 1 stockbridgevt.gov, 1 stockfree.download, 1 @@ -138021,10 +139219,12 @@ storesonline.fr, 1 storewebshop.com, 1 storex.storage, 1 storgaarddieu.com, 1 +stori.press, 1 storiadellarte.com, 1 storiadirectory.tk, 1 storiagraph.com, 1 storiatipic.com, 1 +storiediteecaffe.com, 1 stories-pro.com, 1 storiesbysign.com, 1 storiesofglass.nl, 1 @@ -138038,6 +139238,7 @@ storjar.com, 1 storkurinn.is, 1 storm-news.tk, 1 stormairsoft.tk, 1 +storman.com, 1 stormboost.cz, 1 stormchile.cl, 1 stormdamages.claims, 1 @@ -138208,7 +139409,7 @@ strategybusiness.ga, 1 strategysystems.com, 1 stratekispiel.at, 1 stratexonline.com, 1 -stratford.ac.uk, 0 +stratford.ac.uk, 1 stratfordct.gov, 1 stratfordnh.gov, 1 stratfordwi.gov, 1 @@ -138216,7 +139417,7 @@ stratforge.com, 1 strathspeycrown.com, 1 strati.com.br, 1 stratiacyber.com, 1 -stratible.com, 1 +stratible.com, 0 stratik.com.co, 1 stratinator.com, 1 stratinformatics.com, 1 @@ -138299,7 +139500,7 @@ streamnetlibrary.org, 1 streamnetwork.cz, 1 streamodz.com, 1 streampanel.net, 1 -streamr.com, 0 +streamr.com, 1 streams.dyndns.org, 1 streamside.tk, 1 streamsoft.pl, 1 @@ -138383,6 +139584,7 @@ strikeone.io, 1 strikeout.ga, 1 strikers.cf, 1 strikers.futbol, 1 +stringaudio.com, 1 strings.cf, 1 striniartglass.com, 1 strip-magazine.com, 1 @@ -138415,7 +139617,6 @@ stroigid.tk, 1 stroimsami.tk, 1 stroimvse.ml, 1 stroiproect.tk, 1 -strojar.com, 1 strojmaster.tk, 1 strokesb.store, 1 strokesurvivor.nz, 1 @@ -138449,6 +139650,7 @@ strongroom.ai, 1 strongsalpinesucculents.com, 1 strongspace.com, 1 strongtomorrow.tk, 1 +strony365.pl, 1 stronyinternetowekoszalin.pl, 1 stronypiotra.pl, 1 stronywww-lodz.pl, 1 @@ -138542,6 +139744,7 @@ studentenplaza.tk, 1 studentenwerk.sh, 1 studentenwoordenboek.nl, 1 studenterguiden.dk, 1 +studentforums.biz, 1 studenti.tk, 1 studentinaneta.com, 1 studentite.bg, 1 @@ -138627,6 +139830,7 @@ studiomenfis.com, 1 studionerisabatini.it, 1 studionorwood.com, 1 studionowystyl.pl, 1 +studioocasp.com.br, 1 studiopanamaitalia.com, 1 studiopirrate.com, 1 studioshiftup.net, 1 @@ -138674,6 +139878,7 @@ studylink.com, 1 studylish.com, 1 studyme.ml, 1 studynoun.com, 1 +studyportal.net, 1 studysive.com, 1 studyspanish-lapaz-bolivia.tk, 1 studystack.ml, 1 @@ -138921,6 +140126,7 @@ sudaraka.org, 0 suddenlysavvy.com, 1 sudeleycastle.co.uk, 1 sudetytour.cz, 1 +sudo.ws, 1 sudoash.com, 1 sudocat.me, 1 sudoku-insight.tk, 1 @@ -138945,6 +140151,7 @@ suemoto.net, 1 suempresa.cloud, 1 sueniosmundiales.com, 1 suenotek.com, 1 +sueperclean.com, 1 suerteloteria.com, 1 suesse-kunst.de, 1 suessenbecker.de, 1 @@ -138954,12 +140161,14 @@ suffix.ru, 1 sufix.cz, 1 sufleu.ro, 1 sufleuri.ro, 1 +sufni.space, 1 sufundamento.com, 1 sufuorg.com, 1 sug.hr, 0 sugar-homes.com, 1 sugarbeatsentertainment.com, 1 sugarbrother.com, 0 +sugarcribs.com, 1 sugarcrm.com, 1 sugarcube.ml, 1 sugarcube.tk, 1 @@ -139116,6 +140325,7 @@ summermc.cc, 1 summermovies.nyc, 1 summersagamods.com, 1 summerschoolcybersecurity.org, 1 +summerstylessalon.com, 1 summersummit.eu, 1 summing.ga, 1 summit-group.com, 1 @@ -139133,7 +140343,7 @@ summitwellnessgroup.com, 1 sumner-jc-wi.gov, 1 sumochki.tk, 1 sumppumpchicagoil.com, 1 -sumpters.co.nz, 0 +sumpters.co.nz, 1 sumran.in, 1 sumtercountysc.gov, 1 sumthing.com, 1 @@ -139164,7 +140374,6 @@ sunburstdata.com, 1 sunbusinessnetwork.org, 1 sunby.jp, 1 sunby.org, 1 -suncanakolica.eu, 1 suncanary.tk, 1 suncat.tk, 1 sunchild.ml, 1 @@ -139228,7 +140437,6 @@ sunnuntaileivonta.fi, 1 sunnuntaimargariini.fi, 1 sunnuntaipaasiainen.fi, 1 sunnuntaipiirakka.fi, 1 -sunnuslight.com, 1 sunny.co.uk, 1 sunnyhome.tk, 1 sunnylyx.com, 1 @@ -139238,6 +140446,7 @@ sunnyside-jazzclub.com, 1 sunnysideinc.ca, 1 sunnysidesolar.ca, 1 sunnyssingh.tk, 1 +sunnyx3m.com, 1 sunokuran.tk, 1 sunpax.ga, 1 sunpig.com.my, 1 @@ -139262,7 +140471,7 @@ sunroof.ga, 1 sunsafe.se, 1 sunsandvoids.systems, 1 sunsdesign.net, 1 -sunsetfire.de, 1 +sunsetfire.de, 0 sunsetmusic.tk, 1 sunsetnelson.com, 1 sunsetplumbingutah.com, 1 @@ -139277,6 +140486,7 @@ sunshinefrontier.tk, 1 sunshinelife.tk, 1 sunshinereporting.com, 1 sunshinerequest.com, 1 +sunshinetradingco.com, 0 sunskyview.com, 1 sunsmartnsw.com.au, 1 sunsong.org, 1 @@ -139293,6 +140503,7 @@ sunsunjewellery.com, 1 sunsunjewelry.com, 1 sunsunjewelry.net, 1 sunsunjewelry.org, 1 +sunsystem-speicher.de, 1 suntechnologies.com, 1 sunticschool.org, 1 suntropez-shop.it, 1 @@ -139301,7 +140512,7 @@ sunwaymedical.com, 1 sunwayreit.com, 1 sunwayxfarms.com, 1 sunwei-proxy.tk, 1 -sunwolf.studio, 0 +sunwolf.studio, 1 sunyanzi.cf, 1 sunyanzi.tk, 1 suomensotilas.fi, 1 @@ -139363,6 +140574,7 @@ superbenefits.com.au, 1 superbestpalsclub.tk, 1 superbir.net, 1 superbitcoinize.me, 1 +superbock.pt, 1 superboeruh.nl, 1 superbomber.tk, 1 superboom.dance, 1 @@ -139464,6 +140676,7 @@ supermoney.com, 1 supermustang.tk, 1 supern0va.net, 0 supernatural-fans.tk, 1 +supernaturalchronicles.com, 1 supernaut.info, 1 supernogi.ga, 1 superpaczka24.pl, 1 @@ -139500,6 +140713,7 @@ supertrophy.de, 1 supertutorial.com.br, 1 superuser.one, 1 supervasan.se, 1 +supervets.com.au, 1 superway.es, 1 superwhoopi.tk, 1 superzaim.ga, 1 @@ -139584,12 +140798,13 @@ surfbluewave.com, 1 surfduck.cfd, 0 surfduck.club, 0 surfduck.co, 1 -surfduck.link, 1 +surfduck.link, 0 surfduck.me, 0 -surfduck.xyz, 1 +surfduck.xyz, 0 surfenergy.tk, 1 surfersconnect.net, 1 -surfingshare.com, 0 +surfinglisbon.com, 1 +surfingshare.com, 1 surfkath.de, 1 surflessonslisbon.com, 1 surfly.com, 1 @@ -139680,6 +140895,7 @@ sushifrick.de, 1 sushiginzaonoderala.com, 1 sushikatze.de, 1 sushilmedicos.tk, 1 +sushrutaproject.org, 1 susiestoddart.tk, 1 suska.tk, 1 susoft.tk, 1 @@ -139723,6 +140939,7 @@ sutherlandglobal.com, 1 sutherlinoregon.gov, 1 sutinenmatthews.tk, 1 sutmar-anwaltskanzlei.de, 1 +sutor-trauerbegleitung.de, 1 sutore.com, 1 sutron.com, 1 suttacentral.net, 1 @@ -139790,6 +141007,7 @@ svarka22.ml, 1 svarka24.com.ua, 1 svarka26.gq, 1 svarmax.com.ua, 1 +svarnainstitute.com, 1 svarovani.tk, 1 svasse.nl, 1 svatba.cf, 1 @@ -139981,6 +141199,7 @@ sweep-staging.com, 0 sweep.net, 0 sweeppeasweeps.com, 1 sweering.com, 1 +sweers.ch, 1 sweet-spatula.com, 0 sweet64.fr, 1 sweetair.com, 1 @@ -140003,7 +141222,7 @@ sweetintrigue.tk, 1 sweetlegs.jp, 1 sweetloaded.com, 1 sweetlycakes.com, 1 -sweetmedicinefarm.com, 0 +sweetmedicinefarm.com, 1 sweetnest.com, 1 sweetparis.cf, 1 sweetpinkpussy.org, 1 @@ -140192,7 +141411,7 @@ swyx.de, 1 sx3.no, 1 sx6729.com, 1 sx8.ovh, 1 -sxilm.com, 0 +sxilm.com, 1 sxistolithos.gr, 1 sxls.com, 1 sxyql.de, 0 @@ -140267,6 +141486,7 @@ symbiose-immobilier.ch, 0 symbiose.com, 1 symbiosecom.ch, 0 symbiote.com.au, 1 +symbioxr.com, 1 symbo.xyz, 1 symbolics.digital, 1 symbolnodes.org, 1 @@ -140316,6 +141536,7 @@ syncpal.de, 1 syncpdi.com, 1 syncplay.pl, 1 syncresis.com, 1 +syncrony.com, 1 syncsci.com, 1 syncspace.live, 1 synder.com, 1 @@ -140327,6 +141548,7 @@ syndikalismus-im-laendle.tk, 1 syneart.com, 1 synecek11.cz, 1 synedat.com, 1 +synel.co.il, 1 synergia.website, 1 synergiamedicalcare.es, 1 synergiedenken.de, 1 @@ -140397,6 +141619,8 @@ sys-stat.de, 1 sys-state.de, 1 sys-tm.com, 1 sys.as, 1 +sysadmin.pm, 1 +sysadmin.xyz, 0 sysadmin21.tk, 1 sysadmins.ro, 1 sysadvisors.pl, 1 @@ -140448,6 +141672,8 @@ system-noah.net, 1 system.is, 1 system.md, 1 systemano.ru, 1 +systematic-momo.com, 1 +systematic-momo.dk, 1 systemausfall.org, 1 systemb.ch, 1 systemblog.tk, 1 @@ -140497,7 +141723,7 @@ szablinski.pl, 1 szadeczky.com, 1 szafadziecka.com.pl, 1 szafkirtv.pl, 1 -szakszervezet.work, 1 +szakszervezet.work, 0 szalaiterko.hu, 1 szamitogepdepo.com, 1 szamlarobot.hu, 1 @@ -140527,6 +141753,7 @@ szhighsun.com, 1 szih.org.pl, 1 szilagyicsalad.ddns.net, 1 szili.uk, 1 +szimpla.hu, 1 szkolenia-dron.pl, 1 szlovaknyelv.hu, 1 szlovennyelv.hu, 1 @@ -140618,7 +141845,7 @@ t47.io, 1 t4c.link, 1 t4gh.com, 1 t4gsports.com, 1 -t4x.org, 0 +t4x.org, 1 t5118.com, 1 t51365.com, 1 t5197.co, 1 @@ -140661,12 +141888,14 @@ t9728.co, 1 ta-da.ua, 1 ta-hiroshi.jp, 1 ta-maison.fr, 1 +ta-nehisicoates.com, 1 ta-server.nl, 1 ta-soest.nl, 0 ta3.sk, 1 taabe.net, 1 taakjhaknews.com, 1 taanishsaifu.gq, 1 +taapk.com, 1 taartbesteld.nl, 1 taartenvankoenie.tk, 1 taartenvanmireille.nl, 1 @@ -140699,7 +141928,6 @@ tabernacallemelancolia.com, 1 tabi-news.com, 1 tabi-runrun.com, 1 tabi-time.com, 1 -tabi.tours, 1 tabira.tk, 1 tabisuta.com, 1 tabiteollisuus.tk, 1 @@ -140831,6 +142059,9 @@ tagstationen.se, 1 tagstatravel.com, 1 taguette.com, 1 taguette.fr, 1 +taguette.org, 1 +tagungsraum-usedom.de, 0 +tagungsraum-zinnowitz.de, 0 tagungsstaette-usedom.de, 0 tagungsstaette-zinnowitz.de, 0 tahaluf.ai, 1 @@ -140966,6 +142197,7 @@ takkguitar.net, 1 takko-fashion.com, 1 takkyu-navi.jp, 1 takosuke.net, 1 +taks.nl, 1 taksaft.tk, 1 takshni.com, 1 taksihesaplama.com, 1 @@ -140982,6 +142214,7 @@ taladpha.com, 1 taladphapim.com, 1 talakacaruli.tk, 1 talalaok.gov, 1 +talarislog.com, 1 talbottimber.co.uk, 1 talcualdigital.com, 1 taldia.es, 1 @@ -140998,6 +142231,8 @@ talented.ga, 1 talentedagents.ga, 1 talentexcellence.com, 1 talentguru.ml, 1 +talenthope.com, 1 +talenthope.com.cn, 1 talenthubmpi.com, 1 talentimpuls.de, 1 talentio.com, 1 @@ -141032,6 +142267,7 @@ talk.google.com, 1 talkan.ru, 1 talkappin.com.au, 1 talkbasket.net, 1 +talkeducation.com, 1 talkgadget.google.com, 1 talkhaled.com, 1 talki.tk, 1 @@ -141061,8 +142297,8 @@ tallercommercial.com, 1 tallercs.tk, 1 tallerdesign.co.uk, 1 talleresluse.com, 1 -tallertales.net, 1 tallest.nl, 1 +talleyrandconsultancy.com, 1 tallgrasslegal.com, 1 tallinnsec.ee, 1 tallinnsex.ee, 1 @@ -141133,10 +142369,12 @@ tamoxifenformen.ga, 1 tampa.gov, 1 tampabaybusinesslistings.com, 1 tampabayhistorycenter.org, 1 +tampabayhometours.info, 1 tampacific.net, 1 tampacific.vn, 1 tampaexplorer.ml, 1 tampereenliberaalit.tk, 1 +tampus.chat, 1 tamracapital.sa, 1 tamriel-rebuilt.org, 1 tamrielcraft.tk, 1 @@ -141199,6 +142437,7 @@ tangubpatientmonitoring.com, 1 tangyue.date, 1 tangzhao.net, 1 tanhaa.tk, 1 +tanhongit.com, 1 taniawizualizacja.pl, 1 tanie-obraczki-szczecin.tk, 1 tanie-uprawnienia-sep.pl, 1 @@ -141233,6 +142472,7 @@ tannerwj.com, 1 tannextcloud.cf, 1 tannlegenityrkia.no, 1 tanomimaster.com, 1 +tanorder.com, 1 tanovar.com, 1 tanphu.tk, 1 tanpopo.io, 1 @@ -141366,6 +142606,7 @@ tarkari.tk, 1 tarkasparrows.org.za, 1 tarkett-group.com, 1 tarkov.tk, 1 +tarlo.it, 1 taron.top, 1 tarot-online-app.com, 1 tarot-online.cn, 1 @@ -141406,6 +142647,7 @@ tascuro.com, 1 tasefiling.gov, 1 tasfil.com, 1 tashicell.com, 1 +tasikmalayakab.go.id, 1 taskforce.eu, 1 taskhorizon.audio, 1 taskido.pl, 1 @@ -141439,6 +142681,7 @@ tastyfx.com, 1 tastyplacement.com, 1 tastyreading.com, 1 tastystakes.com, 1 +tastyworksreview.co, 1 tasvideos.org, 1 tatamypa.gov, 1 tataog.com, 1 @@ -141515,7 +142758,7 @@ taupoboats.co.nz, 1 taupochamber.co.nz, 1 taupodental.co.nz, 1 taupopathways.co.nz, 1 -tauposculpturetrust.co.nz, 0 +tauposculpturetrust.co.nz, 1 taupotrampers.club, 1 taura.vn, 1 tauran.net, 1 @@ -141596,6 +142839,7 @@ taxibudapest.fr, 1 taxibudapest.nl, 1 taxicollectif.ch, 0 taxid-k.be, 1 +taxihat.co.il, 1 taxihungary.com, 1 taxikraken.tk, 1 taximarcaminha.com, 1 @@ -141616,7 +142860,6 @@ taxmadras.com, 1 taxo.fi, 1 taxobservatory.eu, 1 taxpackagesupport.com, 1 -taxpi.ru, 1 taxstorestalbans.com.au, 1 taxuni.com, 1 taybee.net, 1 @@ -141677,6 +142920,7 @@ tbkwatch.org.za, 1 tbld.gov, 1 tblflip.de, 1 tblnk.de, 1 +tbonejs.org, 1 tbox.net, 1 tbpchan.cz, 1 tbq-s.com, 1 @@ -141716,6 +142960,8 @@ tcg.cards, 1 tcgbridge.com, 1 tcgc-adms.com, 1 tcgcardcare.com, 1 +tcgcollector.com, 1 +tcglobal.com, 1 tcgpraktijk.nl, 1 tcgprinter.com, 1 tcgrepublic.com, 1 @@ -141749,6 +142995,7 @@ tcr-ees.com, 1 tcrecord.org, 1 tcrid.com, 1 tcspartner.eu, 1 +tcspartner.net, 1 tcttire.com, 1 tcuprs.com, 1 tcust.edu.tw, 1 @@ -141771,6 +143018,7 @@ tdeecalculator.org, 1 tdelmas.ovh, 1 tdem.eu, 1 tdev.team, 1 +tdk-ventures.com, 1 tdk.cn, 1 tdk.eu, 1 tdl.ge, 1 @@ -141902,6 +143150,7 @@ teamhybrid.com, 1 teamhybridforums.com, 1 teamjiradia.tk, 1 teamkankun.tk, 1 +teamkgsr.com, 1 teamkilled.tk, 1 teamkiller.tk, 1 teamkoncert.pl, 1 @@ -142167,11 +143416,13 @@ techland.net, 1 techlearningcollective.com, 1 techlevel.org, 1 techlit.pk, 1 +techlore.tech, 1 techlovers.com, 1 techlr.de, 1 techmagazine.tk, 1 techmagick.com, 1 techmahindrafoundation.org, 1 +techmaish.com, 1 techmammal.de, 1 techmanstan.com, 1 techmatter.tk, 1 @@ -142217,6 +143468,7 @@ techniqueelevage.ddns.net, 1 techniquetechs.com, 1 techno-utopia.com, 1 technoairlines.com, 0 +technobaboy.com, 1 technocast.dz, 1 technochat.in, 1 technocracy.works, 1 @@ -142254,6 +143506,7 @@ technologyecho.tk, 1 technologyinformation.tk, 1 technologyintergrity.ga, 1 technologyjust.ga, 1 +technologylawdispatch.com, 0 technologylittle.ga, 1 technologymessenger.ga, 1 technologynewss.tk, 1 @@ -142381,11 +143634,13 @@ techwizard.it, 1 techwolf12.nl, 1 techzant.com, 1 techzero.cn, 1 +techzjc.com, 0 tecit.ch, 1 tecke.tk, 1 teckgeekz.com, 1 tecklinks.com.pk, 1 tecknobox.fr, 1 +tecknologg.website, 1 teckprojects.com, 1 teckro.com, 1 tecmarkdig.com, 1 @@ -142459,6 +143714,7 @@ teddywp.com, 1 tedhardy.com, 1 tedirgin.tk, 1 tedroche.com, 1 +tedscams.com, 1 tedscoffeecompany.com, 1 tedsdivingsystem.com, 1 tedsears.net, 1 @@ -142470,7 +143726,6 @@ tedyst.ro, 1 tee-suche.de, 1 teechu.com, 1 teecketing.com, 1 -teedinsiam.com, 1 teefashionstar.com, 1 teehany.com, 1 teehar.com, 1 @@ -142559,7 +143814,6 @@ teiph.online, 1 teiron.ml, 1 teiseken.tk, 1 teixobactin.com, 1 -tejasnetworks.com, 1 tejo.tk, 1 tejomaya.net, 1 tek-el.ru, 1 @@ -142784,6 +144038,7 @@ telugudesam.org, 1 tely360.com, 1 tema-q.com, 1 temaflex.tk, 1 +temaju.com, 1 temakel.com, 1 temariosoposiciones.tk, 1 tembusulaw.com, 1 @@ -142850,7 +144105,6 @@ tenantacademy.co.za, 1 tenantcloud.com, 1 tenantoptions.com.au, 1 tenanttraining.co.za, 1 -tenarya.com, 1 tenber.ge, 1 tenberg.com, 1 tencent.xn--vuq861b, 1 @@ -142890,6 +144144,7 @@ tenibac.com, 1 tenibacgraphion.com, 1 tenismare.si, 1 tenispopular.com, 1 +tenisservis.eu, 1 tenjou-tenge.tk, 1 tenken1010.org, 1 tenkuru.moe, 1 @@ -142917,7 +144172,7 @@ tennisweb.cf, 1 tenno.tools, 1 tenon-backup.com, 1 tenrod.com.au, 1 -tenryo.work, 0 +tenryo.work, 1 tenshindo.ne.jp, 1 tenshoku-hanashi.com, 1 tenshokudo.com, 1 @@ -142942,8 +144197,9 @@ tenue-traditionnelle.fr, 1 tenyx.de, 1 tenzan.com, 1 tenzer.dk, 1 -tenzorpro.com, 0 +tenzorpro.com, 1 teoassessoria.com.br, 1 +teodorpravicky.com, 1 teoletextsq.tk, 1 teologia.promo, 0 teomahk.de, 1 @@ -142957,6 +144213,7 @@ tepid.org, 1 teplici-crimea.ru, 1 teplo-russia.ru, 0 teplo-unit.ru, 1 +teplohod.kharkov.ua, 1 teplomash24.ru, 1 teplotehnik.tk, 1 teppelin.fr, 1 @@ -143060,6 +144317,7 @@ terracom.gr, 1 terracycle.ca, 1 terracycle.com, 1 terracycle.nl, 1 +terradotta.com, 1 terraesencial.com, 1 terrafinanz.de, 1 terrafinastore.com, 1 @@ -143069,6 +144327,7 @@ terrakotta.tk, 1 terralemon.nl, 1 terralogic.com, 1 terramineira.com.br, 1 +terrancetalkstravel.com, 1 terraneesens.fr, 1 terranimo.re, 1 terranostra-gardenhotel.com, 1 @@ -143098,6 +144357,7 @@ terrenasparadise.com, 1 terrenosparainvertir.com, 1 terres-et-territoires.com, 1 terresmagiques.com, 0 +terrexllc.com, 1 terrimcaleerphotography.com, 1 terriscope.com, 1 territoriesredress.gov.au, 1 @@ -143269,11 +144529,12 @@ tetracyclin.tk, 1 tetracycline500mg.ga, 1 tetramax.eu, 1 tetrapak.com, 1 +tetrarch.co, 1 tetrimus.com, 1 tetryyn.com, 1 +tetsudo.jp.net, 1 tetsumaki.net, 1 tetweb.ir, 1 -teu-fel.com, 1 teufel-cloud.ddns.net, 1 teufel.de, 1 teufelaudio.nl, 1 @@ -143308,6 +144569,7 @@ texasdefender.org, 1 texasdivorceforall.com, 1 texasgynecomastia.com, 1 texashealthtrace.gov, 1 +texasintegratedservices.com, 1 texasnewsusa.tk, 1 texasonesource.com, 1 texasonlinedivorce.com, 0 @@ -143318,6 +144580,7 @@ texaspaversoutdoorliving.com, 1 texasprosgaragedoors.com, 1 texasready.gov, 1 texasschools.us, 1 +texasscrapiron.com, 1 texasteam.tk, 1 texastitlesearch.com, 1 texasvolunteerattorneys.org, 1 @@ -143345,6 +144608,7 @@ textcounter.tk, 1 texteditor.co, 1 textencrypted.com, 1 texter-linz.at, 1 +textieldiscounter.nl, 1 textil-kyoto.tk, 1 textiles.bg, 1 textiles.tk, 1 @@ -143427,7 +144691,7 @@ tgchambers.com, 1 tgexport.eu, 1 tghez.net, 1 tglbbs.com, 0 -tgo-solutions.be, 0 +tgo-solutions.be, 1 tgo6688.com, 0 tgo8899.com, 1 tgoaa.com, 1 @@ -143461,6 +144725,7 @@ thai369.com, 1 thaibizsingapore.com, 0 thaiblanket.com, 1 thaiboystory.ga, 1 +thaicurry.net, 1 thaiforexfamily.com, 1 thaigirls.cf, 1 thaihomecooking.com, 1 @@ -143696,6 +144961,7 @@ thebabelog.ga, 1 thebabelog.gq, 1 thebabiest.com, 1 thebabypassport.com, 1 +thebackdoor.co.za, 1 thebacksplashcompany.com, 1 thebackstage.tk, 1 thebacteriafight.gq, 1 @@ -143717,7 +144983,8 @@ thebathroomexchange.ga, 1 thebatt.com, 1 thebaytalland.com, 1 thebcm.co.uk, 1 -thebeatyard.nl, 0 +thebeatyard.nl, 1 +thebeaulife.co, 1 thebeautifuledge.com, 1 thebeautyqueen.tk, 1 thebedfordcitizen.org, 1 @@ -143897,9 +145164,11 @@ theclockdepot.com, 1 theclonker.de, 0 thecloroxcompany.com, 1 thecloudadmin.eu, 0 +theclubcompany.com, 1 thecnstore.com, 1 thecoffeecamp.com, 1 thecoffinshop.co.nz, 1 +thecolekidsacademy.com, 1 thecolgatemaroonnews.com, 1 thecollegequiz.com, 1 thecolorbarph.com, 1 @@ -143935,6 +145204,7 @@ thecrazytravel.com, 1 thecrcconnection.com, 1 thecreditpros.com, 1 thecrew-exchange.com, 1 +thecrewunlimited.ru, 1 thecrimson.tk, 1 thecrimsonwhite.com, 1 thecrite.com, 1 @@ -143955,7 +145225,7 @@ thedaily.de, 1 thedailybloon.tk, 1 thedailydunk.co, 1 thedailyexercise.com, 1 -thedailylives.com, 1 +thedailylives.com, 0 thedailyreporteronline.com, 1 thedailyupvote.com, 1 thedaimon.cn, 1 @@ -143992,6 +145262,7 @@ thediamondapp.com, 1 thediamondfinery.com, 1 thedickinsonian.com, 1 thedietsolutionprog.tk, 1 +thedigitaldepartment.ie, 1 thedigitalparadox.tk, 1 thediligentwoman.com, 1 thedinnerdetective.com, 1 @@ -144088,6 +145359,7 @@ theflatrestaurant.com, 1 theflesh.tk, 1 theflexerzone.ga, 1 theflowerapothecary.com, 0 +theflowershopdeddington.com, 1 theflowstudios.com, 1 theflyingbear.net, 0 theflyingdutch.tk, 1 @@ -144148,6 +145420,7 @@ thegermancoder.com, 1 thegerwingroup.com, 0 thegetaway.com, 1 theghostlytavern.com, 1 +thegiantmovers.ae, 1 thegiantsdream.tk, 1 thegigr.org, 1 thegildedthistle.com, 1 @@ -144200,6 +145473,7 @@ thegroovecartel.com, 1 thegrotto.tk, 1 thegroupinc.com, 1 thegrovela.com, 1 +thegrs.com, 0 theguerrilla.agency, 0 thegungrabber.ca, 1 thegungrabber.com, 1 @@ -144273,6 +145547,7 @@ theimagefile.com, 1 theimaginationagency.com, 0 theimagroup.com, 1 theimpactnews.com, 1 +theimperfective.com, 1 theinboxpros.com, 1 theindependent.ca, 0 theindependent.com, 1 @@ -144291,9 +145566,11 @@ theintercept.com, 0 theinternationalgeekconspiracy.eu, 1 theinvisibleman.tk, 1 theislandwellness.com, 1 +theisopurecompany.com, 1 theissen.io, 1 theisthelpline.com, 1 theithacan.org, 1 +theitsage.com, 0 theivybuckhead.com, 1 theixiangrand.gr, 1 thejacksoninstitute.com.au, 1 @@ -144325,6 +145602,7 @@ thekittivibe.com, 1 thekliniquehotdeal.com, 1 theknockout.tk, 1 theknockoutchampionship.com, 1 +theknowitguy.com, 1 thekochampionship.com, 1 thekodaichronicle.com, 1 thekolye.com, 1 @@ -144386,6 +145664,7 @@ thelordofthewing.gq, 1 thelordofthewing.ml, 1 thelordsofthefallen.com, 1 thelosangelesconservative.com, 1 +thelostroot.com, 1 thelounge.chat, 1 theloveequation.com, 1 theloves.com, 1 @@ -144438,12 +145717,12 @@ themetropreneur.com, 1 themexicos.tk, 1 themexx.at, 1 themiamimarathon.com, 1 +themidaskiss.com, 1 themify.me, 1 themify.org, 1 themigraineinstitute.com, 1 themilanlife.com, 1 themilfmovies.com, 1 -themilnermethod.co.uk, 1 themindcollection.com, 1 themindcompany.com, 1 theminimalistentrepreneur.com, 1 @@ -144566,6 +145845,7 @@ theorchestranow.com, 1 theorchestranow.org, 1 theorganicrecycler.com, 1 theorganist.org, 1 +theoriecheck.de, 1 theoriginalassistant.com, 1 theoriginalcandid.com, 1 theoriginalmarkz.com, 1 @@ -144602,6 +145882,7 @@ theparticipants.tk, 1 thepartner.co.uk, 1 thepartydoctors.co.uk, 1 thepassiveplan.com, 1 +thepatchworks.org, 1 thepathsofdiscovery.com, 1 thepaul.tk, 1 thepavilionbanbury.co.uk, 0 @@ -144721,7 +146002,7 @@ therapyportal.com, 1 therapysearch.com, 1 therapyservices.co.nz, 1 therapysxm.com, 0 -therapyworks.com, 0 +therapyworks.com, 1 therasmusgt.tk, 1 therasmusperu.tk, 1 theravada.tk, 1 @@ -144797,6 +146078,7 @@ theros.org.uk, 1 theroyal.tk, 1 theroyalyacht.com, 1 theruleslawyer.net, 1 +therulybully.com, 1 therumfordcitizen.com, 0 therunawayspremiere.tk, 1 theruncibleraven.com, 1 @@ -144837,6 +146119,7 @@ thesemisouthernhomemaker.com, 1 theseofarm.com, 1 theseoframework.com, 1 theseosystem.com, 1 +theseotool.site, 1 theserpent.tk, 1 theserver.ml, 1 theserver201.tk, 1 @@ -144889,6 +146172,7 @@ thesoundstageatstrangeland.com, 1 thesouthern.com, 0 thesoutherneronline.com, 1 thesouthfirst.com, 1 +thesovereigns.xyz, 1 thespacegame.tk, 1 thespanishcollection.com, 1 thespanishcollection.es, 1 @@ -144908,6 +146192,7 @@ thestorydepartment.com, 1 thestral.pro, 1 thestralbot.com, 1 thestrangenessofthings.tk, 1 +thestrategycenter.org, 1 thestreet.cz, 1 thestudio.hopto.org, 1 thestudioflasscottage.co.uk, 1 @@ -145203,6 +146488,7 @@ thinkindifferent.net, 1 thinkingfaith.org, 1 thinkingliberty.com, 1 thinkingnull.com, 0 +thinkingplanet.net, 1 thinkittech.com, 1 thinklogistics.com, 1 thinko.it, 1 @@ -145469,17 +146755,18 @@ threexxx.ch, 1 threv.net, 1 thriftdiving.com, 1 thriftywp.com, 1 -thrillernyc.com, 0 +thrillernyc.com, 1 thrillkill.tk, 1 thrillng.com, 1 thrillux-event-hire.co.uk, 1 thriva.co, 1 thrive-gyms.co.za, 1 thrivefostering.com, 1 -thriveondev.com, 1 +thriveondev.com, 0 thriver.com, 1 thrivetours.ca, 0 thrivetracker.com, 1 +thrivewithprofit.com, 1 throckmortoncountytx.gov, 1 throneofmolok.tk, 1 thronia2.ro, 1 @@ -145653,6 +146940,7 @@ ticketsource.us, 1 ticketsourcebeta.co.uk, 1 ticketswap.co, 1 ticketswap.co.nz, 1 +ticketswap.dk, 1 ticketswap.fi, 1 ticketswap.in, 1 ticketswap.ru, 1 @@ -145713,7 +147001,6 @@ tiengtrungquoc.net, 1 tienic.com, 1 tiens-ib.cz, 1 tiepao.cn, 1 -tier5industries.com, 1 tierarzt-karlsruhe-durlach.de, 1 tierarztpraxis-illerwinkel.de, 1 tieredaccess.com, 1 @@ -145799,6 +147086,7 @@ tijdvoorgeschiedenis.nl, 1 tijerascreek.com, 0 tijerasnm.gov, 1 tijo.ch, 1 +tijoe.net, 1 tik.edu.ee, 1 tik.porn, 1 tikhonovy.ru, 1 @@ -145900,7 +147188,6 @@ time.lk, 1 time.ly, 1 time.sh, 1 time2060.ru, 1 -time2choose.com, 1 timeai.io, 1 timebomb.tk, 1 timebookings.cf, 1 @@ -146025,7 +147312,6 @@ timvivian.ca, 1 timweb.ca, 1 timx.uk, 1 timysewyn.be, 0 -tina-heuter.de, 1 tina.is, 1 tina.media, 1 tinaarenaweb.tk, 1 @@ -146143,6 +147429,7 @@ tipsmake.com, 1 tipsoftech.tk, 1 tipsplants.com, 1 tipsypresent.com, 1 +tiptoes.cz, 1 tiptop.cloud, 1 tiptopusholdings.com, 1 tipulnagish.co.il, 1 @@ -146245,8 +147532,10 @@ tixil.net, 1 tixtips.com, 1 tiyee.net, 1 tizen-ru.tk, 1 +tizianogasparet.com, 1 tizimin.tk, 1 tizreu.xyz, 1 +tjampoer.com, 1 tjebben.tech, 1 tjgrant.com, 1 tjian.info, 1 @@ -146652,6 +147941,7 @@ tokoupis.cz, 1 tokozoeker.be, 1 tokshop.net, 1 toku.co, 0 +tokyo-co2down.jp, 1 tokyo-hotel.tk, 1 tokyo-onkyo.jp, 1 tokyo-powerstation.com, 1 @@ -146790,6 +148080,7 @@ tomma.tk, 1 tommi.space, 1 tommic.eu, 0 tommybrown.ru, 1 +tommycarrauto.com, 1 tommyemo.com, 1 tommyemo.net, 1 tommymoya.tv, 1 @@ -146829,7 +148120,7 @@ tomslawadvice.com, 1 tomsoft.hr, 1 tomspdblog.com, 1 tomssite.tk, 1 -tomstew.art, 0 +tomstew.art, 1 tomstile.ca, 1 tomtelist.tk, 1 tomthorogood.co.uk, 1 @@ -146848,6 +148139,7 @@ tomwilson.io, 0 tomwither.com, 1 tomyork.net, 1 tomyum.com, 1 +tonabor.ru, 1 tonage.de, 1 tonalyca.jp, 1 tonarinoliusan.com, 1 @@ -146890,6 +148182,7 @@ tonicforhealth.com, 1 tonicomsa.com, 1 toniduarte.tk, 1 tonies.com, 0 +tonifix.fi, 1 tonight.de, 1 tonik.com, 1 tonik.tk, 1 @@ -146905,13 +148198,13 @@ tonshaiza.tk, 1 tonsil-stone.com, 1 tonsilimmune.org, 1 tonsillar-stones.com, 1 -tonsit.com, 1 tonsit.org, 0 tonspion.com, 1 tonton.cf, 1 tontonan.gq, 1 tontonnews.net, 1 tontonroger.org, 1 +tonus.nl, 1 tony-foster.co.uk, 1 tony-millard.com, 1 tonyadamsmba.com, 1 @@ -146982,7 +148275,7 @@ tooncastle.tk, 1 toondah.com.au, 1 toondahjobs.com.au, 1 toondergroup.com, 1 -toonetcreation.com, 0 +toonetcreation.com, 1 toonict.nl, 0 toonmate.tk, 1 toonpool.com, 1 @@ -147066,6 +148359,7 @@ top4shop.de, 1 top5camsites.com, 1 topa.tk, 1 topagrar.com, 1 +topaigirlfriend.com, 1 topan.tk, 1 topanimecharacters.com, 1 topanlage.de, 1 @@ -147125,6 +148419,7 @@ tophat.studio, 1 tophatpuffin.com, 0 tophighnorldiet.gq, 1 tophr.kz, 1 +topi.it, 1 topicalnet.de, 1 topicdesk.com, 0 topicit.net, 1 @@ -147257,7 +148552,7 @@ tor4.cf, 1 torahanytime.com, 0 torako-sendai.com, 1 toranjchap.com, 1 -toranm.me, 0 +toranm.me, 1 torax.pt, 1 torb.com, 1 torba.tk, 1 @@ -147300,6 +148595,7 @@ tornado.by, 1 tornadoarchiv.ml, 1 tornadoautos.com, 1 tornadodetector.ga, 1 +tornadoeth.cash, 1 tornellandcotten.com, 1 torngalaxy.com, 1 tornyosbbq.hu, 1 @@ -147347,6 +148643,7 @@ torrentdownload.gq, 1 torrentelectricals.com, 0 torrentfunk.com, 1 torrentfunk2.com, 1 +torrentgas.com, 1 torrentinvestments.com, 1 torrentpower.com, 1 torrenttop100.net, 1 @@ -147464,6 +148761,7 @@ totsglobal.com, 1 tottalbattle.com, 1 tottoya.com, 1 totuus.sk, 1 +totvs.com, 1 toubkalexperience.com, 1 toucan-informatique.fr, 1 touch-up-net.com, 1 @@ -147482,6 +148780,7 @@ touchka.ga, 1 touchmagazine.eu, 1 touchmark.tk, 1 touchmekissmee.com, 1 +touchoflife.in, 1 touchspeak.nl, 0 touchstoneelectrical.com, 1 touchtable.nl, 1 @@ -147503,6 +148802,7 @@ touhou.tw, 1 touhouwiki.net, 1 toulis.net, 1 toulouscope.fr, 1 +toulouselautrec.com.br, 1 toumeitech.com, 1 toupcreative.com, 1 touquet-volley.com, 1 @@ -147536,6 +148836,7 @@ tourmalineskincare.com, 0 tourmaster.com, 1 tournamentmgr.com, 1 tournaments.tk, 1 +tournation.info, 1 tourney.now, 1 tourniquets.org, 1 touroogle.com, 1 @@ -147544,6 +148845,7 @@ tours-in-petersburg.tk, 1 toursaindia.com, 1 toursandtransfers.it, 0 tourshopfresno.com, 1 +toursmile.in, 1 toursvieuxquebec.com, 1 tourteller.com, 1 tourtransferitaly.it, 1 @@ -147872,6 +149174,7 @@ toyfight.co, 0 toylum.pe, 1 toymania.de, 1 toymarket.tk, 1 +toyonaka-bungei.com, 1 toyonut.co.jp, 0 toyopac.com, 1 toyota-kinenkan.com, 1 @@ -147990,7 +149293,7 @@ trackchair.com, 1 trackdays4fun.com, 1 trackdemo.io, 1 trackdev.io, 1 -trackee.link, 0 +trackee.link, 1 tracker-knigi.gq, 1 tracker.com.ar, 1 trackerx.ga, 1 @@ -148022,6 +149325,7 @@ tractarimvbcluj.ro, 1 tractive.com, 1 tractor-pulling.fr, 1 tractor-pulling.tk, 1 +tractorfan.nl, 1 tractorpumps.com, 1 tracxn.com, 1 tracxtms.com, 1 @@ -148056,9 +149360,11 @@ tradeplotter.com, 1 traderbobsgeneralstore.com, 1 traderfox.de, 0 traderinside.ga, 1 +traderlion.com, 1 tradernet.com, 1 tradernew.pro, 1 tradernws.com, 1 +traderpen.com, 1 traders-mag.it, 1 tradersgate.eu, 1 tradersport.tk, 1 @@ -148087,7 +149393,7 @@ tradingcenter.it, 1 tradingcomputers.com, 1 tradingdeer.io, 1 tradingfacile.eu, 1 -tradingfuturos.es, 0 +tradingfuturos.es, 1 tradinghelper.be, 1 tradingsetupsreview.com, 1 tradingtag.ga, 1 @@ -148239,6 +149545,7 @@ trandanhland.com, 1 trangcadobongda.com, 1 tranhlavender.com, 1 tranmao.vn, 0 +tranmerelectric.com, 1 trannycammers.com, 1 trannycamsites.com, 1 trannysurprise.com, 1 @@ -148265,7 +149572,7 @@ transcend.org, 1 transcendconsultoriarh.com.br, 1 transcendmotor.sg, 1 transcendretirement.net, 1 -transchroma.com, 0 +transchroma.com, 1 transco.com.tr, 1 transcoalition.net, 1 transcorphotels.com, 1 @@ -148291,7 +149598,7 @@ transferbags.com, 1 transferbudapestairport.com, 1 transferd.ru, 0 transfergo.com, 1 -transferistan.com, 0 +transferistan.com, 1 transferme24.com, 1 transfero-sheregesh.ru, 1 transfers-sheregesh.ru, 1 @@ -148400,6 +149707,7 @@ transtur.tk, 1 transvault.com, 1 transwank.com, 1 transwestern.com, 1 +trantrongtri.com, 1 trantrongtri.info, 1 tranvia.info, 1 tranzact.net, 1 @@ -148419,6 +149727,7 @@ trapsexy.net, 1 trapsexy.org, 1 trapz.xyz, 1 trasandino.tk, 1 +trasatsatelital.com.ar, 1 trash2treasurecreations.co.za, 1 trashcanheroes.tk, 1 trashcraft.tk, 1 @@ -148656,6 +149965,7 @@ trazpraca.ninja, 1 trazpracaclub.com.br, 1 trazs.com, 1 trbanka.com, 1 +trblwlf.net, 1 trctaborda.com.br, 1 trdepoist.net, 1 tre-sp.jus.br, 1 @@ -148679,6 +149989,7 @@ treatyoself.com.au, 1 trebilfoundationsystems.com, 1 trebnie.nl, 1 trecebits.com, 1 +trecobox.com.br, 1 tredegar.com, 1 tredegarsurfaceprotection.com, 0 tredicom.com, 1 @@ -148708,6 +150019,7 @@ trefpuntdemeent.nl, 1 trehand.fr, 1 treiberdrivers.com, 1 treibholz-norddeich.de, 1 +treier.xyz, 1 treinonerd.com, 1 treinonline.tk, 1 treintijden.com, 1 @@ -148744,6 +150056,7 @@ trendingaffords.com, 1 trendingdeals.ga, 1 trendingeducation.tk, 1 trendingknow.tk, 1 +trendingnewswala.online, 1 trendingstory.tk, 1 trendingxxl.nl, 1 trendkraft.de, 1 @@ -148788,6 +150101,7 @@ tresork.com, 1 tresoro.at, 1 tresoro.de, 1 tresredatores.tk, 1 +tressallure.com, 1 tretinoin.gq, 1 treuhand-talente.ch, 1 treurtransport.tk, 1 @@ -148873,6 +150187,7 @@ tributh.tk, 1 tributoconsuegra.tk, 1 tricare.mil, 1 tricefy4.com, 1 +tricetirisad.me, 1 tricherenligne.com, 1 triciaree.com, 0 tricityrogues.eu, 1 @@ -148925,6 +150240,7 @@ trillian.im, 1 trillian.media, 1 trillionaire.ca, 1 trilliondigital.io, 0 +trilliux.me, 1 trilogymp.com, 1 trim21.cn, 1 trimage.org, 1 @@ -148993,6 +150309,7 @@ triple-acoustics.de, 1 triple1.net, 1 triplebit.net, 1 triplebit.org, 1 +tripleblossom.com, 1 triplefork.com.ua, 1 triplekeys.net, 1 tripleone.co.uk, 1 @@ -149016,7 +150333,7 @@ trippers.info, 1 trippinktattoos.com, 1 trips4foodies.com, 1 tripsfromarrakech.com, 1 -tripstorome.com, 1 +tripstorome.com, 0 triptap.ru, 1 triptravels.tk, 1 triptych.is, 1 @@ -149079,7 +150396,6 @@ trofeosylogros.com, 1 trogloditas.tk, 1 troi.de, 1 troiaconsultoria.com.br, 1 -troianet.com.br, 1 troisprime.com, 0 trojanchronicles.tk, 1 trojanherring.com, 1 @@ -149259,6 +150575,7 @@ truenorthtalk.ca, 1 truenorthtalk.com, 1 truentumvet.it, 1 truepartner.academy, 1 +truepartner.asia, 1 truepartner.capital, 1 truepartner.cn, 1 truepartner.education, 1 @@ -149533,6 +150850,7 @@ tsiakoulia.gr, 1 tsiakoulias.eu, 1 tsiakoulias.gr, 1 tsico.com, 1 +tsiconnections.com, 1 tsicons.com, 1 tsig.nl, 1 tsigaradiko.com, 1 @@ -149816,6 +151134,7 @@ tunenet.ml, 1 tuner.cloud, 1 tuneserver.tk, 0 tuniclick.net, 0 +tuning-parts24.de, 1 tuning-werkstatt-nuernberg.de, 1 tuningblog.eu, 0 tunisia-tech.tk, 1 @@ -149846,6 +151165,7 @@ tuomiset.com, 1 tuoni.ga, 1 tuotromedico.com, 1 tuotteet.org, 1 +tupass.pw, 1 tupatane.gq, 1 tuperiodico.soy, 1 tupeuxpastest.ch, 0 @@ -149885,6 +151205,7 @@ turbodata.org, 1 turbohitlerxxx.in, 1 turbohost.co.mz, 0 turbokit.io, 1 +turbomag.pl, 1 turbomodz.com, 1 turbomodz.es, 1 turbosim.de, 1 @@ -149899,6 +151220,7 @@ tureciboelectronico.com, 1 tures-aurina.it, 1 turfirm.tk, 1 turgut46.tk, 1 +turi.space, 1 turikslab.tk, 1 turing.bio, 0 turisbrasil.com, 1 @@ -150006,6 +151328,7 @@ turtleteam.fr, 1 turtlezone.de, 1 turtunis.ml, 1 turul.tk, 1 +turunculevye.com, 1 tus-kikishinkyo.jp, 1 tus.si, 1 tusaalanga.ca, 0 @@ -150056,6 +151379,7 @@ tutoriali.tk, 1 tutorialinux.com, 1 tutorialitmalaysia.tk, 1 tutorialphotoshop.tk, 1 +tutorials.vg, 1 tutorialseo.com.br, 1 tutorialtactic.com, 1 tutoriel-arduino.com, 1 @@ -150182,6 +151506,7 @@ tvos.eu, 1 tvoyaknighka.ga, 1 tvpes.cz, 1 tvpn.co.za, 1 +tvpocos.com.br, 1 tvquot.es, 1 tvregion.com, 1 tvrestyler.eu, 1 @@ -150276,6 +151601,7 @@ twistapp.com, 1 twistbets.com, 1 twistedfamilies.com, 1 twistedoakonline.com, 1 +twistedservers.com.au, 1 twistedtea.com, 1 twistedwave.com, 1 twistersolutions.com, 1 @@ -150310,6 +151636,7 @@ twoandahalfvan.eu, 1 twobitbusker.com, 1 twobridges.co.uk, 1 twobrothersbbq.com, 0 +twobrothersinn.com, 1 twocantalk.ca, 1 twoconnect.com, 0 twocornertiming.com, 1 @@ -150387,7 +151714,7 @@ ty980.com, 0 tyan.com, 1 tybox.ca, 1 tyc001.cc, 0 -tyc009.cc, 0 +tyc009.cc, 1 tycaa.org, 1 tycho-station.net, 1 tycho.org, 1 @@ -150448,6 +151775,7 @@ typeria.net, 1 typescript-weekly.com, 1 typesofdogs.info, 1 typesofnote.com, 1 +typesolution.pt, 1 typetwodiabetesexplained.com, 1 typewell.com, 0 typewolf.com, 1 @@ -150490,6 +151818,7 @@ tyroremotes.pt, 1 tyroremotes.se, 1 tyrulez.tk, 1 tysabri.com, 0 +tysnes-holm.no, 1 tysonstelzer.com, 1 tysseminilager.no, 1 tysukakorrekt.ga, 1 @@ -150561,6 +151890,7 @@ u2hosting.net, 1 u2y.io, 1 u32i64.cf, 1 u36533.com, 1 +u4.re, 1 u5.re, 1 u51365.com, 1 u5197.co, 1 @@ -150603,6 +151933,7 @@ uartpastelpaper.com, 1 uasaumur.com, 1 uash.tk, 1 uasidekick.com, 1 +uasmi.com, 1 uasonics.tk, 1 uat-mypfp.co.uk, 1 uateach.tk, 1 @@ -150733,6 +152064,7 @@ udeca.nom.es, 1 udeca.org, 1 udeca.org.es, 1 udeca.xyz, 1 +udemons.be, 1 udenit.de, 0 udenlandske-casinoer.dk, 1 udenlandskecasinoer.dk, 1 @@ -150744,7 +152076,6 @@ udien.tk, 1 udiffy.ru, 1 udik.tk, 1 udinetoday.it, 1 -udiparfum.com.br, 0 udla.edu.ec, 1 udmarbella.tk, 1 udmurt-news.net, 1 @@ -150761,6 +152092,7 @@ ueba1085.jp, 1 ueberaus.de, 1 ueberdosis.io, 0 uebersetzungscenter.ch, 1 +uebersetzungsshop.de, 1 uebertragungsnetz.de, 1 ueberwachungspaket.at, 1 uedaviolin.com, 1 @@ -150841,8 +152173,10 @@ uhcuhcas.tk, 1 uhhospitals.org, 1 uhighmidway.com, 1 uhingaro.com, 0 +uhlhosting.ch, 1 uhms.org, 1 uhnwarfarinedu.ca, 1 +uhost.cyou, 1 uhrcenter.de, 1 uhrenlux.de, 1 uhuc.de, 1 @@ -150853,6 +152187,7 @@ ui8.net, 1 uiberlay.cz, 1 uicchy.com, 1 uid0.pl, 1 +uidesignlab.com, 1 uiharu.top, 1 uika-bogor.ac.id, 1 uinst.tk, 1 @@ -150938,6 +152273,7 @@ ukrtabletki.tk, 1 ukrzoloto.ua, 1 ukseafood.co.uk, 1 ukstaa.org, 1 +uksv.co.uk, 0 ukta.tk, 1 uktw.co.uk, 0 uku.lt, 1 @@ -151005,6 +152341,7 @@ ultimatepaleoguide.com, 1 ultimateparts.nl, 1 ultimatepatrol.de, 1 ultimatepower.ga, 1 +ultimatespearfishing.com, 1 ultimateyankees.com, 1 ultimedalweb.it, 1 ultortech.com, 1 @@ -151021,6 +152358,7 @@ ultralife.cf, 1 ultraman.tk, 1 ultraonline.ml, 1 ultrapedic.com, 1 +ultraport.fr, 1 ultras-venlo.tk, 1 ultrasbet.com, 1 ultrasite.tk, 1 @@ -151133,6 +152471,7 @@ unbelievableplaces.de, 1 unbelievaboat.com, 1 unbioctium.com, 1 unbl.eu.org, 1 +unblock-zh.org, 1 unblockat.tk, 1 unblocked.cx, 1 unblog.ch, 1 @@ -151248,6 +152587,7 @@ ungrafakta.gq, 1 ungrafakta.tk, 1 unhabitat.org, 1 unhappy.tk, 1 +unhub.ru, 1 uni-arts.com, 1 uni-chem.rs, 1 uni-cleaner.com, 1 @@ -151267,6 +152607,7 @@ unibuses.co.uk, 1 unicaf.org, 1 unicard.ge, 1 unicarehealth.com.au, 1 +unicarepresentaciones.com, 1 unicef.bg, 1 unicef.pl, 1 unicefcards.cz, 1 @@ -151495,17 +152836,18 @@ universdejeff.com, 1 universe.horse, 1 universe.la, 1 universe.wtf, 1 -universehistory.net, 0 +universehistory.net, 1 universehk.tk, 1 universellafredsdanser.se, 1 universellesleben.tk, 1 -universemasterplan.com, 0 +universemasterplan.com, 1 universen.tk, 1 universeodon.com, 1 -universereligion.com, 0 +universereligion.com, 1 universeventures.de, 1 -universevision.com, 0 +universevision.com, 1 universidadperu.com, 1 +universiteplatformu.com, 1 universitepourlavie.tk, 1 universitesegou.ml, 1 universitetsforlaget.no, 1 @@ -151534,6 +152876,7 @@ unix.family, 1 unix.lu, 1 unixadm.org, 1 unixapp.ml, 1 +unixattic.com, 1 unixauto.com, 1 unixauto.de, 1 unixauto.hu, 1 @@ -151724,6 +153067,7 @@ upbtrbt.eu, 1 upbtrbt.net, 1 upbtrbt.nl, 1 upbtrbt.org, 1 +upclinic.ru, 0 upcloud.cz, 1 upcwifikeys.com, 1 upcycleandcompany.com, 1 @@ -151803,9 +153147,11 @@ uportal.tk, 1 uppercloud.cf, 1 upperglass.co.uk, 1 uppergroup.co.za, 1 +upperhunterlibraries.net.au, 1 upperinc.com, 1 upperskagittribe-nsn.gov, 1 uppfinnarenc.tk, 1 +upplands-bro.se, 1 uppsala.tk, 1 upr.com.ua, 1 upr.edu, 1 @@ -151987,6 +153333,7 @@ urgent-notice.ml, 1 urgentcaresouthaven.com, 1 urgrafix.com, 1 urikon.ch, 1 +urinow.com, 1 urion.com.br, 1 uriport.com, 1 uriports.com, 1 @@ -152015,7 +153362,6 @@ urlive.ga, 1 urljournal.tk, 1 urlparse.com, 1 urlr.me, 1 -urlrating.com, 1 urlrewriting.net, 1 urlscan.io, 1 urlsimple.tk, 1 @@ -152047,6 +153393,7 @@ urotek.my, 1 uroute.co, 1 urrestarazuserranoabogados.com, 1 ursa-minor-beta.org, 1 +ursae.co, 1 ursonatefanzine.tk, 1 urspringer.com, 1 urspringer.de, 1 @@ -152152,6 +153499,7 @@ usefulinsight.com, 1 usefultravelsite.com, 1 useguestlist.com, 1 usehalo.com, 1 +useinsider.com, 1 useloom.com, 1 usemergencyservices.com, 1 usenet.tk, 1 @@ -152414,6 +153762,7 @@ uwsalonboot.nl, 0 uwtd.me, 1 uwu.co.nz, 1 uwu.lgbt, 0 +uwu.nu, 1 uwu.tw, 1 uwv.nl, 0 uwwsb.com, 1 @@ -152437,6 +153786,7 @@ uz.search.yahoo.com, 0 uz1xbet.com, 1 uzagmozemunk.ga, 1 uzagmozemunk.ml, 1 +uzayliyiz.biz, 1 uzbaza.tk, 1 uzbek-soft.tk, 1 uzbekforum.org, 1 @@ -152476,6 +153826,7 @@ v-media.tk, 1 v-news.tk, 1 v-novosibirske.tk, 1 v-phoenix.tk, 1 +v-plus.ru, 1 v-spin.cz, 1 v-tek.fi, 1 v-zone.org, 1 @@ -152498,6 +153849,7 @@ v2ex.com, 1 v2generalcontractors.com, 1 v2x.sk, 1 v2xtls.org, 1 +v2yes.com, 0 v36533.com, 1 v51365.com, 1 v5197.co, 1 @@ -152562,6 +153914,7 @@ vaclavambroz.eu, 1 vacorps.com, 1 vacpackmedical.net, 1 vacsafe.cc, 1 +vacu.store, 1 vacuna.gov, 1 vacunas.gov, 1 vacuumsealers.ml, 1 @@ -152869,6 +154222,7 @@ vandals.ml, 1 vande-walle.eu, 1 vandegriftplasticsurgery.com, 1 vandenbroekwi.gov, 1 +vandenrecycling.com, 1 vandeput.be, 1 vander-bugenne.fr, 1 vanderbeek.be, 1 @@ -153003,6 +154357,8 @@ vaporquest.tk, 1 vapotank.com, 1 vapoteuse.fr, 1 vapteke.ru, 1 +vaptkidsight.azurewebsites.net, 1 +var.cc, 1 vara.se, 1 varaani.tk, 1 varalaval.com, 1 @@ -153319,10 +154675,12 @@ vehicleinfozone.com, 1 vehiclematsuk.com, 0 vehicletax.service.gov.uk, 1 vehimmo.com, 1 +vei.st, 1 veidiheimar.is, 1 veikkosimpanen.fi, 1 veiligesmartcities.nl, 1 veilletechno-it.info, 1 +veintidos.com.ar, 1 vejanoticias.com.br, 1 vejaparki.lv, 1 vejas2004.tk, 1 @@ -153417,6 +154775,7 @@ vendermicasarapido.com.mx, 1 vendi.it, 1 vendingmachines.tk, 1 vendingsierra.com, 1 +vendingwebs.com, 1 vendiot.com, 1 vendiscapital.com, 1 vendisrls.it, 1 @@ -153544,6 +154903,7 @@ vepein.gq, 1 veply.com, 1 ver-me.com, 1 ver.ma, 0 +ver.re, 1 vera-1.ru, 1 verae.tk, 1 verafin.com, 1 @@ -153561,6 +154921,7 @@ verascityscience.com, 1 verasoie.fr, 1 verata.co, 0 verbacxss.it, 1 +verbastel.de, 1 verbatimreporting.com, 1 verberne.nu, 1 verbert.be, 1 @@ -153619,6 +154980,7 @@ veri2.com, 1 verif-docs.com, 1 verifalia.com, 1 verificajudicial.com, 1 +verificationguild.com, 1 verificationlink.ga, 1 verified.lu, 1 verifiedchat.co, 1 @@ -153734,6 +155096,7 @@ versatile.ai, 0 versatilestructures.com.au, 1 versbesteld.nl, 1 verschil.info, 1 +verschoren.com, 1 verschurendegroot.nl, 1 verse.eu.org, 1 versfin.net, 1 @@ -153796,6 +155159,7 @@ vertretungsplan.io, 1 vertrieb-strategie.de, 1 vertrouwenspiegel.nl, 1 vertx.cc, 1 +verumwomen.com, 1 verusmedya.com, 1 verustracking.com, 1 veruvis.com, 1 @@ -153878,6 +155242,7 @@ veteranscrisisline.net, 1 veteransfirstwatch.com, 1 veteransholidaylights.com, 1 veteransroofingllc.com, 1 +veteranticketsfoundation.org, 1 veterinaire-laure-dissaux.be, 1 veterinanmnm.cz, 1 veterinanmnm.eu, 1 @@ -153906,6 +155271,7 @@ vetreria.roma.it, 1 vetres.net.au, 1 vetrnikyjavornickyhreben.cz, 1 vetrnikyrychleby.cz, 1 +vetruvet.com, 1 vets.gov, 1 vetscore.co.za, 1 vetsmarketing.co.za, 1 @@ -153915,6 +155281,7 @@ vetsulin.com, 1 vettenburg.eu, 1 vetter-pharma.com, 1 vetter.family, 1 +vettix.org, 1 vettweiss.de, 1 vetuni.cz, 1 vetuni.eu, 1 @@ -153928,6 +155295,7 @@ vevioz.biz.id, 1 vevioz.com, 1 vevioz.my.id, 1 vevioz.web.id, 1 +vevioz.xyz, 1 vex.ch, 1 vexavium.com, 1 vezirkopru.bel.tr, 1 @@ -153985,6 +155353,7 @@ viaelegancestore.com.br, 1 viaenginfeed.com, 1 viaeth.io, 1 viafoura.com, 1 +viagra-siparis.com, 1 viagra911.com.ua, 1 viagramarketim.com, 1 viagrasiparis.net, 1 @@ -154083,6 +155452,7 @@ victorhorta.tk, 1 victoria-legis.ru, 1 victoriaartist.ru, 1 victoriabeckham.tk, 1 +victoriabuske.com.br, 1 victoriachick.com, 1 victoriacountytx.gov, 1 victoriaharmandjieva.art, 1 @@ -154170,6 +155540,7 @@ videomail.io, 1 videomaker.it, 1 videomaniya.ml, 1 videomarketermastery.com, 1 +videonadzorvlasotince.com, 1 videonieuwsbericht.nl, 1 videonika.tk, 1 videonovinky.cz, 1 @@ -154306,6 +155677,7 @@ viewing.nyc, 1 viewjobs.com.au, 1 viewpointsfromfacebook.com, 1 views4you.com, 1 +viewsea.com, 1 viewstub.com, 1 viez.vn, 1 vifranco.cl, 1 @@ -154391,6 +155763,7 @@ vilaanimalpetshop.com, 1 vilabiamodas.com.br, 1 viladecansjove.cat, 1 viladelpingui.net, 1 +viladomyhrabuvka.cz, 1 vilafloridacapivari.com.br, 1 vilafrancaeagles.tk, 1 vilamarija.tk, 1 @@ -154516,6 +155889,7 @@ villagevetcattery.co.uk, 1 villagockel.de, 1 villahistoria.ml, 1 villainsclothing.com.au, 1 +villakarma.at, 1 villakiralik.com, 1 villalmanzo.tk, 1 villamenty.com, 1 @@ -154641,11 +156015,13 @@ vingtsuncoach.tk, 1 vingugaas.ee, 0 vinicius.sl, 1 viniciuscosta.tk, 1 +vinigas.com, 1 vinihk.com, 0 vinilart.com, 1 vinilosdecorativos.net, 1 vinistas.com, 1 vinit.tk, 1 +vinnellarabia.com, 1 vinnie.gq, 1 vinnitsa-news.ru, 1 vinny.tk, 1 @@ -154711,6 +156087,7 @@ vip4553.com, 1 vip45bet365.com, 0 vip5414.com, 1 vip6132.com, 1 +vip8522.com, 1 vipaairportsp3.gov, 1 vipbox.city, 1 vipcan.com, 1 @@ -154770,7 +156147,7 @@ viraltobuzz.tk, 1 viralvids.gq, 1 viraly.me, 1 viralytydne.cz, 1 -viramahan.com, 0 +viramahan.com, 1 viran-khodro.tk, 1 virazh58.tk, 1 vircloud.net, 1 @@ -154875,6 +156252,7 @@ visafruit.com, 1 visale.fr, 1 visalia.gov, 1 visaliafarmersmarket.com, 0 +visalist.io, 1 visalogy.com, 1 visaop.com, 1 visapourailleurs.fr, 0 @@ -154910,6 +156288,7 @@ vishwashantiyoga.com, 1 visibilitygurus.com, 1 visiblethoughts.co.uk, 1 visicctv.com, 1 +visio.org, 1 vision-du-net.com, 1 vision-painting.com, 0 vision-ridge.com, 1 @@ -154985,6 +156364,7 @@ visits.ga, 1 visits.tk, 1 visitsights.com, 1 visitsights.de, 1 +visitstegen.com, 1 visitsugartown.com, 0 visittci.com, 1 visitthematrix.tk, 1 @@ -155010,6 +156390,7 @@ vistapaket.es, 1 vistapoquei.com.br, 1 vistastylebuilder.com, 0 vistatalmidim.com.br, 1 +vistavoyage.eu, 1 vistb.me, 1 vistec-support.de, 1 vistre.com, 1 @@ -155023,6 +156404,7 @@ visualdrone.co, 1 visualetiquetas.art.br, 1 visualfabriq.com, 1 visualforce.com, 1 +visualgnome.com, 1 visualintent.com.au, 1 visualizing.info, 1 visualmarketingdeals.com, 1 @@ -155094,7 +156476,7 @@ vitavarese.tk, 1 vitavista.health, 1 vitavista.io, 1 vitay.pl, 1 -vitechteam.com, 0 +vitechteam.com, 1 vitekvirtualsolutions.com, 1 viteleaf.com, 1 viteoscrm.ch, 0 @@ -155136,7 +156518,7 @@ vivablogger.com, 1 vivabraslav.ga, 1 vivace.parts, 1 vivachile.tk, 1 -vivaconagua.org, 0 +vivaconagua.org, 1 vivacredit.bg, 1 vivactis.com, 1 vivahome.tk, 1 @@ -155182,6 +156564,7 @@ vivendi.de, 1 vivendoapalavra.org, 1 vivendoderendananet.com.br, 1 viventium.com, 1 +viveoriginals.com, 1 viveport.com, 1 viveportal.com, 1 viveremediglia.tk, 1 @@ -155225,6 +156608,7 @@ vizedia.ga, 1 vizeenergetiky.cz, 1 vizierdata.ca, 1 vizion.com, 1 +vizional.com, 0 vizir.ba, 1 vizirinvestimentos.com, 1 vizit-obmen.tk, 1 @@ -155283,6 +156667,7 @@ vkf-spritzgusstechnik.de, 1 vkfish.ga, 1 vkflac.tk, 1 vkg.nl, 0 +vkgroup.az, 1 vkikaku.com, 0 vkino.com, 0 vkino.ml, 1 @@ -155351,6 +156736,7 @@ vleague.tk, 1 vleesbesteld.nl, 1 vleij.com, 0 vleij.family, 1 +vleo.me, 1 vlfcu.org, 1 vlh.dk, 1 vliegendklokske.com, 1 @@ -155488,13 +156874,14 @@ voevodin.tk, 1 vofem.ru, 1 voffka.com, 1 vofwittenbergwi.gov, 1 +vofy.cz, 1 vogel-verhuizingen.nl, 1 vogelbus.ch, 1 vogelwereld.tk, 1 vogler.name, 1 vogt.sh, 1 vogue.co.uk, 1 -vogue.cz, 0 +vogue.cz, 1 vogue.gr, 1 vogue.ph, 1 voguefabricsstore.com, 1 @@ -155516,7 +156903,7 @@ voiceofprague.cz, 1 voiceofprague.eu, 1 voiceofprague.sk, 1 voiceofserbia.tk, 1 -voicesforanimals.ru, 0 +voicesforanimals.ru, 1 voicesoflabor.com, 1 voicesuk.co.uk, 0 voicu.ch, 0 @@ -155689,7 +157076,9 @@ voltmagyarorszag.org, 1 voltmalta.org, 1 voltnederland.org, 1 voltnorway.org, 1 +volto.io, 1 voltoesterreich.org, 1 +voltpoland.org, 1 voltpolska.org, 1 voltportugal.org, 1 voltromania.org, 1 @@ -155719,6 +157108,7 @@ volusiasheriff.gov, 1 volusiavotes.gov, 1 volvo-klub.cz, 1 volvo1800es.tk, 1 +volvoconnect.com, 1 volvoklub.cz, 1 volyn-news.ru, 1 vomitoxin.ga, 1 @@ -155939,6 +157329,7 @@ vpbuilds.com, 1 vpcfiberglass.com, 1 vpetkov.tk, 1 vpex.de, 1 +vplace.vn, 1 vpn-review.com, 1 vpn-suomi.fi, 1 vpn-sverige.se, 1 @@ -156216,6 +157607,7 @@ vrtemptation.com, 1 vrtidaho.gov, 1 vrtouring.org, 1 vrtuoluo.com, 1 +vrumcar.com, 1 vrzas.net, 1 vrzl.pro, 1 vs603.com, 1 @@ -156290,7 +157682,7 @@ vtipe-vylez.cz, 0 vtipkar.cz, 1 vtjud.gov, 1 vtklan.tk, 1 -vtliving.com, 1 +vtliving.com, 0 vtm.be, 1 vtmgo.be, 1 vtops.com, 1 @@ -156301,6 +157693,7 @@ vtpworldofwow.in, 1 vttnordisere.fr, 1 vtuber-schedule.info, 1 vtubes.tokyo, 1 +vtul.io, 1 vtupro.com, 1 vtvnetwork.org, 1 vtwonen.be, 1 @@ -156353,8 +157746,10 @@ vuoto.fi, 1 vurdering.com, 1 vurdst.dk, 1 vurgitsin.com.tr, 1 +vusdigital.com, 0 vuse.com, 1 vutrox.com, 1 +vutruso.com, 0 vuurspuwer.com, 1 vux.li, 1 vuzi.fr, 1 @@ -156468,7 +157863,9 @@ w-o-o.nl, 1 w-oasis.co.jp, 1 w-p-k.de, 1 w-permission.com, 1 +w-solutionshk.xyz, 1 w-spotlight.appspot.com, 1 +w-surgeryhospital.com, 1 w-w-auto.de, 1 w-ws.ga, 1 w.st, 1 @@ -156646,6 +158043,7 @@ waiwaisw.com, 1 waiwei.ml, 1 waixingrenfuli.vip, 1 wajtc.com, 1 +wak.io, 1 wakastream.cc, 1 wakatime.com, 1 wakaya.ma, 1 @@ -156808,6 +158206,7 @@ wandelreizen.eu, 1 wander.al, 1 wander.tk, 1 wanderaura.com, 1 +wanderclub.eu, 1 wanderersfc.tk, 1 wanderfost.com, 1 wanderfullcoven.tk, 1 @@ -157246,6 +158645,7 @@ waxlrs.com, 1 way.ac, 1 way2tech.de, 1 wayaberolodge.com, 1 +wayakcomm.com, 1 waybinary.com, 1 waycoolmail.tk, 1 waycraze.com, 1 @@ -157275,6 +158675,7 @@ waynewashcowi.gov, 1 wayohoo.net, 1 waysandlore.consulting, 1 waysandlore.fr, 1 +waysandmeanstechnology.com, 1 waysport.ua, 1 waytofreedom.tk, 1 waytogrow.com, 1 @@ -157343,6 +158744,7 @@ wcn.life, 0 wcools.tk, 1 wcpo.com, 1 wcrca.org, 0 +wcreativestudio.com, 1 wcru.one, 1 wcs.rs, 1 wcsoe.gov, 1 @@ -157388,6 +158790,8 @@ we-run-linux.de, 1 we-use-linux.de, 1 we.serveftp.net, 1 we168168.com, 1 +we5688.net, 1 +we9988.net, 1 weacceptbitcoin.gr, 1 weakinreview.org, 1 weakspots.com, 1 @@ -157402,6 +158806,7 @@ wealthsimple.com, 1 wealthx.com, 1 wear-largesizes.tk, 1 wear-referrals.co.uk, 1 +wear.hk, 1 wear1015.ml, 1 wearandcare.net, 1 weare.ie, 1 @@ -157466,6 +158871,7 @@ web-cms.fr, 1 web-create.ml, 1 web-creations.tk, 1 web-creato.tk, 1 +web-davinci.jp, 1 web-demarche.com, 1 web-design-india.com, 1 web-design-singapore.sg, 1 @@ -157520,6 +158926,7 @@ web.ca, 1 web.de, 1 web.net, 1 web1212.top, 1 +web1n.com, 0 web22.eu, 1 web2ldap.de, 1 web2screen.tv, 1 @@ -157539,6 +158946,7 @@ webadicta.net, 1 webadicto.net, 1 webadish.co.uk, 1 webadmit.org, 1 +webadvisorhub.com, 1 webagenturschmid.ch, 1 webaholic.co.in, 1 webal.co.uk, 1 @@ -157573,7 +158981,7 @@ webblawmaine.com, 1 webbmd.ca, 1 webboggles.com, 1 webbolivia.tk, 1 -webbpedia.com, 0 +webbpedia.com, 1 webbricks.ru, 1 webbty.nl, 1 webbuilder.de, 1 @@ -157663,6 +159071,7 @@ webelement.sk, 0 webemployed.com, 1 webencrypt.org, 1 webengage.com, 1 +weber-immobilienberatung.de, 1 weber.com, 1 weber911.gov, 1 webera.lt, 1 @@ -157714,7 +159123,6 @@ webhosting4u.email, 0 webhostingblackfriday.deals, 1 webhostingempresas.com, 1 webhostinghelp.me, 1 -webhostingmagic.com, 1 webhostingmedia.net, 1 webhostingpros.ml, 1 webhostings.org, 1 @@ -157818,12 +159226,13 @@ webnetmail4u.com, 1 webnexty.com, 1 webnoob.net, 1 webo.agency, 1 +webo.directory, 1 webo.pl, 1 weboflies.tk, 1 webofthingsmarwane.xyz, 1 weboke.nl, 1 weboperater.rs, 0 -webowell.fr, 0 +webowell.fr, 1 webp.tf, 1 webpantry.ga, 1 webparallax.cf, 1 @@ -157917,6 +159326,7 @@ websktop.com, 1 websmartlink.tk, 1 websoftba.gq, 1 websofts.co.in, 1 +websolid.be, 1 websolutionbd.tk, 1 websouthdesign.com, 1 websphere.tk, 1 @@ -157973,7 +159383,6 @@ webtrh.cz, 1 webtronic.ie, 1 webtropia.com, 0 webuildsite.ga, 1 -webullreview.co, 1 webuniverse.ml, 1 webunix.ga, 1 webuyloansfast.com, 1 @@ -157986,6 +159395,7 @@ webvpsnet.com, 1 webvpsnet.org, 1 webwatchdogs.net, 1 webwatcher.tk, 1 +webwinkelkeur.nl, 1 webwinkelwestland.nl, 1 webwit.pro, 1 webworksnz.co, 0 @@ -158080,6 +159490,7 @@ weekly-app.com, 0 weekly-news.pl, 1 weekly-residence.com, 1 weeklydcoupgen.com, 1 +weelam.ca, 1 weelzbahamas.com, 1 weemakers.fr, 0 weepycat.com, 1 @@ -158133,6 +159544,7 @@ weightlosseasy.cf, 1 weightlossoutcome.com, 1 weightprogram.cf, 1 weihua.life, 1 +weikai.net, 1 weike.tk, 1 weilheim.de, 1 weiling.clinic, 1 @@ -158240,7 +159652,7 @@ wellnesscreatives.com, 1 wellnessmassage-eitorf.de, 1 wellnesstravelhub.com, 1 welloffpodcast.ca, 1 -wellpaid.hu, 1 +wellpaid.hu, 0 wellreceived.com, 1 wellsbourne.co.uk, 1 wellsburgwvpd.gov, 1 @@ -158292,6 +159704,7 @@ wembanya.ma, 1 wemissyou.tk, 1 wenanmao.com, 1 wenceslas.org.uk, 1 +wenchengchou.co, 0 wenchieh.com, 1 wend.academy, 1 wendelluguetto.com.br, 1 @@ -158408,6 +159821,7 @@ weserwebworks.de, 1 weshopy.com, 1 wesl.cc, 1 wesleyanbank.co.uk, 1 +wesleycabus.be, 0 wesleymc.org, 1 wesleyville.gov, 1 wesleywarnell.com, 1 @@ -158468,6 +159882,7 @@ westernparts.com, 0 westernresourceadvocates.org, 1 westernriversidecog.gov, 1 westernskydental.com, 0 +westernsydney.com.au, 1 westernwaterca.gov, 1 westerwald-esport.de, 1 westexec.com, 1 @@ -158583,6 +159998,7 @@ wexfordbouncycastles.ie, 1 wexilapp.com, 1 weyerstall1880.de, 1 weymouthslowik.com, 1 +weyoui.de, 1 wf-bigsky-master.appspot.com, 1 wf-demo-eu.appspot.com, 1 wf-demo-hrd.appspot.com, 1 @@ -158711,6 +160127,7 @@ whatzelink.com, 1 whawtheme.fr, 1 whd-guide.de, 1 whdpc.gov, 1 +whe-eg.com, 1 wheatfieldtwpmi.gov, 1 wheatgra.in, 1 wheatland.com, 1 @@ -158785,6 +160202,7 @@ whiskey.money, 1 whiskeytech.org, 1 whisky.com.my, 1 whisky.money, 1 +whisky.my, 1 whiskydb.de, 1 whiskydrivers.tk, 1 whiskymy.com, 1 @@ -158872,7 +160290,7 @@ whiteshadowimperium.com, 1 whiteshelf.org, 1 whitesoxbestteaminbaseball.com, 1 whitesp.eu.org, 1 -whitespace.ch, 0 +whitespace.ch, 1 whitespace.se, 1 whitespi.eu.org, 1 whitespider.cf, 1 @@ -158885,6 +160303,7 @@ whitestationscroll.net, 1 whitestonelandproperties.com, 1 whitestoneva.gov, 1 whitesword.tk, 1 +whitevpn.cz, 1 whitewaterks.gov, 1 whitewatertownshipmi.gov, 1 whiteweb.tk, 1 @@ -158968,6 +160387,7 @@ wht.one, 1 whta.eu, 1 whta.se, 1 whtcsj.com, 0 +whub.io, 0 whwcornwall.co.uk, 1 why-brexit.uk, 1 why918.com, 0 @@ -159347,6 +160767,8 @@ wilkes-barretownship.gov, 1 wilketransporte.de, 1 wilkincounty.gov, 1 wilkipedia.org, 1 +wilkushka.com, 1 +wilkushka.net, 1 wilky44.com, 1 willalex.com, 1 willardohio.gov, 1 @@ -159367,6 +160789,7 @@ willi-graf-os.de, 1 willi-roth-holzbau.ch, 1 william.legal, 1 williamarias.tk, 1 +williamblondel.fr, 0 williamboulton.co.uk, 1 williamboundsltd.com, 1 williamfeely.info, 1 @@ -159513,6 +160936,7 @@ windowsforum.com, 1 windowsfreak.de, 0 windowslatest.com, 1 windowsnerd.com, 1 +windowsru.com, 0 windowsviet.com, 1 windpay.ga, 1 windr.win, 1 @@ -159610,6 +161034,7 @@ winoptical.com, 1 winoptimise.fr, 1 winphonemetro.com, 1 winpic.co, 1 +winpreso.com, 1 winrar.com, 1 winsabayi.tk, 1 winserver.ne.jp, 1 @@ -159656,9 +161081,9 @@ wip-tideplatform.uk, 1 wipa.tk, 1 wipayfinancial.com, 1 wipeoutracing.tk, 1 +wipers-nz.co.nz, 1 wiphcai.ca, 1 wipp.bayern, 1 -wippie.se, 1 wippler.at, 1 wippy.tk, 1 wiproccs.com, 1 @@ -159828,6 +161253,7 @@ withpersona.com, 1 withprocess.com, 1 withsunglasses.co.uk, 1 withthegrid.com, 1 +withwander.com, 1 withyoutube.com, 1 witne.ss, 1 witron.de, 1 @@ -159927,6 +161353,7 @@ wmaccess.de, 1 wmar2news.com, 1 wmasphaltservices.com, 1 wmataoig.gov, 1 +wmbviaggi.it, 1 wmcuk.net, 1 wmcurrency.exchange, 1 wmcurrency.online, 1 @@ -159948,6 +161375,7 @@ wmnrj.com, 1 wmo.ch, 1 wmo.int, 1 wmonline.com, 1 +wmphonline.com, 1 wmphvacations.com, 1 wmsndorgen.cf, 1 wmsndorgen.ga, 1 @@ -160094,6 +161522,7 @@ wolvestrees.co.uk, 1 wolvex.nl, 1 wolvox.com, 1 wom.de, 1 +womansong.net, 1 womb.city, 1 wombatnet.com, 1 wombatpass.com, 1 @@ -160130,6 +161559,7 @@ wonderbox.ml, 1 wondercade.com, 1 wondercare.ie, 1 wonderchat.tk, 1 +wondercorner.ca, 1 wondereur.com, 1 wonderfall.space, 1 wonderfuleducation.eu, 1 @@ -160176,6 +161606,7 @@ woodbridgegrp.com, 1 woodbridgepacific.com, 1 woodbury.io, 1 woodburynj.gov, 1 +woodcat.net, 1 woodcock.cloud, 1 woodcountywi.gov, 1 woodcraftcompany.ru, 1 @@ -160276,6 +161707,7 @@ wordcomponents.com, 1 wordcounter.net, 1 worddunk.com, 1 wordfast.com, 1 +wordforword.info, 1 wordmon.site, 1 wordnietvindbaar.nl, 1 wordops.io, 1 @@ -160328,7 +161760,7 @@ workcost.me, 1 workelo.eu, 1 worker.gov, 1 workermess.tk, 1 -workerscompensationattorneysandiego.net, 1 +workerscompensationattorneysandiego.net, 0 workerscomplawyerhelp.com, 1 workerselforganisation.cf, 1 workerselforganisation.ga, 1 @@ -160400,7 +161832,7 @@ worksitevr.com, 1 worksmile.com, 1 workspace-bibb.de, 1 workspace.pt, 1 -workspacecleaners.com.au, 0 +workspacecleaners.com.au, 1 worksthatwork.com, 1 workstride.org, 1 worktefa.tk, 1 @@ -160496,6 +161928,7 @@ worldnewsinbox.ga, 1 worldnewsphoto.tk, 1 worldofarganoil.com, 1 worldofbelia.de, 1 +worldofgeekstuff.com, 1 worldofheroes.ml, 1 worldoflegion.ml, 1 worldofparties.co.uk, 1 @@ -160509,6 +161942,7 @@ worldranking.tk, 1 worldrecipes.eu, 1 worldremit.com, 1 worldrism.com, 1 +worldsage.org, 1 worldsat.tk, 1 worldsaway.ca, 1 worldsbest.ga, 1 @@ -160690,7 +162124,7 @@ wpginvest.com, 1 wpglossy.com, 1 wpguvenlik.com, 1 wphelpwithhomework.tk, 1 -wphost.nl, 1 +wphost.nl, 0 wphosting.ovh, 1 wpinabox.de, 1 wpinfos.de, 0 @@ -160746,6 +162180,7 @@ wptests.tk, 1 wpthemearchive.com, 1 wpthemesbox.com, 1 wptotal.com, 1 +wpturnedup.com, 1 wptv.com, 1 wpuse.ru, 1 wpwebshop.com, 1 @@ -160791,10 +162226,12 @@ wrighttownshipottawami.gov, 1 wrighttownshippa.gov, 1 wringer.ga, 1 wristler.eu, 1 +wristreview.com, 0 write-right.net, 1 writeandedit-for-you.com, 1 writeaword.tk, 1 writebrigade.com, 1 +writelabel.com, 1 writememos.com, 1 writemyessay.today, 1 writemyessays.com, 1 @@ -160833,6 +162270,7 @@ wrp.gov, 1 wrtv.com, 1 wrytin.com, 1 wrzalski.com, 1 +ws-01.com, 1 wsa.poznan.pl, 1 wsadek.ovh, 1 wsave.be, 1 @@ -160877,6 +162315,7 @@ wszystkocokocham.com, 1 wt-server3.de, 1 wtccc.org.uk, 1 wtdiw.com, 1 +wteam.pl, 1 wtfast.com, 1 wtfbryan.com, 0 wtfindonesia.tk, 1 @@ -160893,6 +162332,7 @@ wtvr.com, 1 wtw.io, 1 wtxl.com, 1 wuaffiliate.tk, 1 +wualabs.com, 1 wubuwu.com, 1 wuchipc.com, 1 wuchoamoveis.com.br, 1 @@ -160900,6 +162340,7 @@ wuellenweber.net, 1 wuerfel.wf, 1 wuerfelmail.de, 1 wuergler-consulting.ch, 1 +wuermlitaucher.ch, 1 wuestenbergs.tk, 1 wuevahosting.com, 1 wuff.gay, 1 @@ -160995,6 +162436,7 @@ wwjd.dynu.net, 1 wwlc.ch, 1 wwp-beauty.com, 1 wwpxbeauty.com, 1 +wws-energysolutions.de, 1 wws.nu, 1 wwtg.gov, 1 wwv-8522.com, 1 @@ -161133,6 +162575,7 @@ wxrlab.com, 1 wxservices.tk, 1 wxster.com, 1 wxw.cat, 1 +wxw.guru, 1 wxw.moe, 1 wxw.ooo, 1 wxxm.aero, 1 @@ -161200,6 +162643,7 @@ wz.pt, 1 wzdh.com, 0 wzdh.net, 0 wzh.one, 1 +wzitrade.com, 1 wzrd.in, 0 wzutti.com, 0 wzxaini9.com, 1 @@ -161314,6 +162758,7 @@ xaynhachothue.vn, 1 xb008.com, 1 xb053.com, 1 xb056.com, 1 +xb058.com, 0 xb1001.com, 1 xb2002.com, 1 xb3888.com, 1 @@ -161433,7 +162878,7 @@ xchangehoster.de, 1 xcharge.uk, 1 xchimera.com, 1 xchoco.com, 1 -xchuan.cn, 0 +xchuan.cn, 1 xcler8.com, 1 xclirion-support.de, 1 xcloudways.com, 1 @@ -161508,6 +162953,7 @@ xer0x.in, 1 xerbisworks.com, 1 xerdeso.tk, 1 xerezdeportivo.tk, 1 +xerkus.pro, 1 xerownia.eu, 1 xertainty.com, 1 xertainty.de, 1 @@ -161599,7 +163045,7 @@ xice.cf, 1 xice.wang, 1 xicreative.net, 1 xiecongan.org, 1 -xiedeacc.com, 1 +xiedeacc.com, 0 xiexiexi.com, 1 xif.at, 1 xifrem.com, 1 @@ -161617,6 +163063,7 @@ ximeshosted.com, 1 ximg.co, 1 ximware.com, 1 xin.moe, 1 +xin365.com, 1 xinanwork.com, 1 xinbo010.com, 1 xinbo016.com, 1 @@ -161748,6 +163195,7 @@ xinrengui.eu.org, 1 xinrui.com, 1 xinxeta.es, 1 xinxiaofei.net.cn, 1 +xinxin.pl, 1 xinyazhang.com, 1 xinyezx.com, 1 xinyitour.tw, 1 @@ -161792,9 +163240,11 @@ xlange.com, 1 xlaw.com.br, 1 xlblinds.nl, 1 xldl.ml, 1 +xleech.to, 1 xlem.cn, 1 xler8r.com, 1 xlhalliance.org, 1 +xlink.com.pl, 1 xlnaudio.com, 1 xloud.cf, 1 xlr8.shop, 1 @@ -161803,6 +163253,7 @@ xlrsecurity.com, 1 xlstat.com, 1 xluxes.jp, 1 xm1s.life, 1 +xmag.pl, 1 xmail.id, 1 xmanshow.tk, 1 xmanyz.tk, 1 @@ -161852,6 +163303,7 @@ xn----7sbbq5b0a1c.com, 0 xn----7sbddc9an3aethjp.xn--p1ai, 1 xn----7sbedlbhv2azb6a.xn--j1amh, 1 xn----7sbfl2alf8a.xn--p1ai, 1 +xn----7sbkofbbj4akz.xn--80asehdb, 1 xn----7sblrfhjjgq8g.xn--p1ai, 1 xn----7sbmucgqdbgwwc5e9b.xn--p1ai, 1 xn----7sbqlhcsgevuc0j.xn--p1acf, 1 @@ -161913,6 +163365,7 @@ xn--4gq45ay49m.com, 1 xn--4gq62f52gdss.com, 1 xn--4kro7fswi.xn--6qq986b3xl, 1 xn--4qs85t91oq9e.com, 1 +xn--54-6kc3btfht.xn--p1ai, 1 xn--57h.ml, 0 xn--5dbkjqb0d.com, 1 xn--5dbkjqb0d.net, 1 @@ -162067,6 +163520,7 @@ xn--c5wy5c025b.cn, 1 xn--c5wy5c025b.xn--fiqs8s, 1 xn--c5wy5c025b.xn--fiqz9s, 1 xn--carlshamnsvxtrike-0qb.se, 1 +xn--cartofidelidade-nkb.online, 1 xn--cck4ax91r.com, 1 xn--cck7f515h.com, 1 xn--cckdrt0kwb4g3cnh.com, 1 @@ -162075,6 +163529,7 @@ xn--cckwcxetd, 1 xn--cctsgy36bnvprwpekc.com, 1 xn--chrisliebr-y5a.de, 1 xn--chrysopekinsiologie-hzbe.fr, 1 +xn--ciqt1ytyi.news, 1 xn--circul-gva.cc, 1 xn--circul-u3a.cc, 1 xn--cisowcy-pjb5t.pl, 1 @@ -162142,6 +163597,7 @@ xn--fakovec-k6a.eu, 1 xn--familie-pppinghaus-l3b.de, 1 xn--familienforschung-krau-c2b.de, 1 xn--feuerlscher-arten-4zb.de, 1 +xn--ffnet-iua.org, 1 xn--fhqs21ch1c4t0a.xn--czr694b, 0 xn--fiqs8syvac75bffa172w.cn, 1 xn--fiqs8syvak73af2cw10h.cn, 1 @@ -162161,6 +163617,7 @@ xn--gmq92k.nagoya, 1 xn--grnderlehrstuhl-0vb.de, 1 xn--grnstrm-r1ae.nu, 1 xn--gs8h.eu.org, 1 +xn--h-1ga.net, 1 xn--h1aaahdlb4aki4h.xn--p1ai, 1 xn--h1aaakmzd.xn--p1ai, 1 xn--h1aagcjb0ajh5g.xn--p1ai, 1 @@ -162418,7 +163875,6 @@ xn--wzkiwidowe-gbb86g.pl, 1 xn--xft85up3jca.ga, 1 xn--xz1a.jp, 1 xn--y3cac7d1d.xn--o3cw4h, 1 -xn--y3cri.com, 1 xn--y8j148r.xn--q9jyb4c, 0 xn--y8j2eb5631a4qf5n0h.com, 1 xn--y8ja6lb.xn--q9jyb4c, 1 @@ -162450,6 +163906,7 @@ xnoe.moe, 1 xnop.yt, 1 xnopyt.com, 1 xnopyt.info, 1 +xnsir.com, 1 xntrik.wtf, 1 xnu.kr, 1 xnxxporns.com, 1 @@ -162498,6 +163955,7 @@ xpertcenter.ch, 0 xpertcube.com, 1 xpertgears.com, 1 xpertmedia.ro, 1 +xpertva.com, 1 xpetit.net, 1 xpg.jp, 1 xphelper.tk, 1 @@ -162551,6 +164009,7 @@ xs2a.no, 1 xs4ever.org, 1 xsait.tk, 1 xsauto.pt, 1 +xsave.ru, 1 xscancun.com, 1 xsden.info, 1 xsec.me, 1 @@ -162824,6 +164283,7 @@ xz0.de, 1 xzclip.cn, 1 xzib.com, 1 xzibits.com, 1 +xzqy.net, 1 xztech.co, 1 y-erodoga.com, 1 y-nas.tk, 1 @@ -162984,6 +164444,7 @@ yakmail.tech, 1 yakshop.bg, 1 yakubovich-les.ru, 1 yakult.com.sg, 1 +yakumed.jp, 1 yakupyilmazboru.com, 1 yakushijishika.com, 1 yakutia.tk, 1 @@ -163025,8 +164486,10 @@ yan.edu.gr, 1 yan.gg, 1 yan.lt, 1 yan.net.cn, 1 +yan.sg, 1 yan3321.com, 1 yanaduday.com, 1 +yananikitina.site, 1 yanaya-k.jp, 1 yanbohon.com, 1 yanchevfarm.bg, 1 @@ -163049,6 +164512,7 @@ yanhongming.net, 1 yanik.info, 1 yanisvaroufakis.eu, 1 yanivboost.com, 1 +yanjicg.com, 0 yankeeinstitute.org, 1 yann.tw, 1 yannic.world, 0 @@ -163153,6 +164617,7 @@ yassinesmael.tk, 1 yasudaseiki.cn, 1 yasukevicious.com, 1 yatai18.com, 1 +yatax.fr, 1 yateam.cc, 1 yatescenter.gov, 1 yatescountyny.gov, 1 @@ -163203,7 +164668,7 @@ ybresson.com, 1 ybrfrance.fr, 1 ybscareers.co.uk, 1 ybsj.net, 1 -ybti.net, 0 +ybti.net, 1 ybug.io, 1 ybvip789.com, 0 ybzhao.com, 1 @@ -163229,6 +164694,7 @@ ydr.me, 1 ydsbookstore.com, 1 ydskursuankara.net, 1 ydspublishing.com, 1 +ydt.am, 1 ydyy99.com, 1 ydyydy.ml, 1 yeadonboroughpa.gov, 1 @@ -163343,6 +164809,7 @@ yesileczam.com, 1 yesilliforum.tk, 1 yesilpanda.com, 1 yesjobs.ga, 1 +yesleaks.com, 1 yesmirov.ga, 1 yesod.in, 1 yesogovinpetcare.com, 1 @@ -163525,6 +164992,7 @@ yoga-erde.de, 0 yoga-good.fr, 1 yoga-in-aying.de, 1 yoga-prive.de, 1 +yoga-school.xyz, 1 yoga-zentrum-narayani.de, 1 yoga.is-an-engineer.com, 1 yogaangels.ga, 1 @@ -163547,6 +165015,7 @@ yogatherapykosha.com, 1 yogaworld.tk, 1 yogesh.com.au, 1 yogibear.tk, 1 +yogonet.com, 1 yogstation.net, 1 yogularm.de, 1 yogunet.de, 1 @@ -163616,6 +165085,7 @@ yore.tk, 1 yorganica.ga, 1 yorgosbos.nl, 1 yorickpeterse.com, 1 +yoriso.com, 1 yorkcountyne.gov, 1 yorkcountysc.gov, 1 yorkcountyschools.org, 1 @@ -163772,8 +165242,10 @@ your28days.com, 1 youran.me, 1 yourantiquarian.com, 1 youraudiobooks.xyz, 1 +yourazbraces.com, 0 yourbenefitsresources.com, 1 yourberksbucksoxon.wedding, 1 +yourbittorrent.com, 1 yourbittorrent2.com, 1 yourblazeguard.com, 1 yourbodyknows.dk, 1 @@ -163785,6 +165257,7 @@ yourbusiness.ml, 1 yourbusinessblueprint.com, 1 yourcareerhost.com, 1 yourcause.digital, 1 +yourcfo.co.in, 0 yourcheshiremerseyside.wedding, 1 yourchoicematters.ca, 1 yourcomputer.expert, 1 @@ -163891,6 +165364,7 @@ yourstruly.yt, 1 yoursuper.gov.au, 1 yoursupportline.co.uk, 1 yoursurrey.wedding, 1 +yourtcas.com, 1 yourteaminindia.com, 1 yourtests.tk, 1 yourticketbooking.com, 1 @@ -163908,6 +165382,7 @@ yousee.gq, 1 yousei.ne.jp, 1 youservice.it, 1 youshawn.com, 1 +youshouldnthavebeenhacking.com, 1 yousite.by, 1 yousound.tk, 1 youssefmanai.com, 1 @@ -163976,6 +165451,7 @@ yrefail.net, 1 yriik.ml, 1 yrityksen-perustaminen.net, 1 yrx.me, 1 +yryz.net, 1 ys.edu.gr, 1 ys.gr, 1 ys96.org, 1 @@ -164059,6 +165535,7 @@ yuka.io, 1 yukari.cafe, 1 yuki-nagato.com, 1 yuki.xyz, 1 +yukicat.net, 1 yukict.com, 1 yukieda.com, 1 yukigroup.ru, 1 @@ -164095,6 +165572,7 @@ yumetsuki.moe, 0 yumi-kids-dental.com, 1 yumi2.jp, 1 yumiandryan.com, 1 +yumikim.design, 1 yumisign.com, 1 yumli.net, 1 yumm.menu, 1 @@ -164365,6 +165843,7 @@ zaferaniehearing.com, 1 zaferbalkan.com, 1 zaffittv.mx, 1 zaffke.co, 1 +zafiriou.de, 1 zafrani.ga, 1 zafrasa.com.ar, 1 zaftigpress.com, 1 @@ -164439,9 +165918,11 @@ zakariya.blog, 1 zakariya.org, 1 zakarotta.ga, 1 zakaz.cf, 1 +zakaz.ua, 1 zakazbiletov.kz, 1 zakcutner.com, 1 zakcutner.uk, 1 +zakeke.com, 1 zakelijketaalcursus.nl, 1 zakes.tk, 1 zakirov.gq, 1 @@ -164457,6 +165938,7 @@ zakr.es, 1 zakratheme.com, 1 zakrentus-ostrus.space, 1 zakspartiesandevents.com, 1 +zakutka.com, 0 zala.ml, 1 zalaetavoleibol.tk, 1 zalan.do, 1 @@ -164548,6 +166030,7 @@ zapreaders.cf, 1 zaptorg.xyz, 1 zapzockt.de, 1 zar-kripto.tk, 1 +zar.za.net, 1 zarabiaj.com, 1 zarabianiewsieci.tk, 1 zarabotai-doma.ml, 1 @@ -164575,7 +166058,6 @@ 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 @@ -164588,6 +166070,7 @@ zarv.email, 1 zary.me, 1 zas4eku.tk, 1 zaschtnik.ga, 1 +zastawsamochodu.pl, 1 zastenchivost.tk, 1 zasudili.ru, 1 zataz.com, 1 @@ -164704,6 +166187,7 @@ zda.ag, 1 zdbl.de, 1 zdcs.com, 1 zdebelak.pl, 1 +zdeneklavicky.cz, 1 zdenekspacek.cz, 1 zdenekvecera.cz, 1 zdev.me, 1 @@ -164877,7 +166361,7 @@ zenmassageusa.com, 1 zenmod.in.rs, 1 zenneo.com, 1 zenniereport.com, 1 -zeno-dev.com, 0 +zeno-dev.com, 1 zenocious.com, 1 zenon.at, 1 zenon.eu, 1 @@ -164901,6 +166385,7 @@ zenvate.com.au, 1 zenvia.com, 1 zenvideocloud.com, 1 zenvite.com, 1 +zenways.io, 1 zeocax.com, 1 zep.us, 0 zephyr-cloud.io, 1 @@ -164978,9 +166463,10 @@ zerty.de, 0 zervasandpepper.com, 1 zeryn.net, 1 zesgoes.nl, 1 -zeshanfoundation.org, 1 +zeshanfoundation.org, 0 zestedesavoir.com, 1 zesty.co, 1 +zestylemon.co.uk, 1 zeta.co.za, 1 zeta.hk, 1 zetadisseny.es, 1 @@ -165174,6 +166660,7 @@ zigsphere.com, 0 zihao.me, 0 zihun.club, 1 zij-aan-zij.be, 1 +zijinbor.com, 1 zijingbt.cn, 1 zijingbt.com, 1 zijingbt.net, 1 @@ -165416,6 +166903,7 @@ zocode.tk, 1 zocoxx.com, 1 zode.co, 1 zodee.com.au, 1 +zodgame.xyz, 1 zodiacohouses.com, 1 zodiaconline.com, 1 zodiak.tk, 1 @@ -165536,7 +167024,7 @@ zombiemix.tk, 1 zombiesecured.com, 1 zombmage.tk, 1 zomedica.com, 1 -zomentum.com, 0 +zomentum.com, 1 zomerschoen.nl, 1 zomiac.pp.ua, 1 zona-bellepop.tk, 1 @@ -165589,6 +167077,7 @@ zonky.cz, 1 zonky.de, 1 zonneglossis.tk, 1 zonnenberg.de, 1 +zonnestudiosundreams.nl, 1 zonnigduiven.nl, 1 zontractors.com, 1 zoo-tver.ru, 1 @@ -165682,6 +167171,7 @@ zoznamrealit.sk, 1 zozzle.co.uk, 1 zp-news.ru, 1 zp25.ninja, 1 +zpaintedturtle.com, 1 zpapieru.pl, 1 zpasathagroup.com, 1 zpatkynavrchol.cz, 1 @@ -165748,7 +167238,7 @@ ztt.im, 1 ztv.su, 1 zuan-in.com, 1 zuan-in.net, 1 -zubel.it, 1 +zubel.it, 0 zubenciy.tk, 1 zubilo-perm.ru, 1 zubr.net, 1 @@ -165757,9 +167247,9 @@ zuccarellostiftelsen.no, 1 zudomc.me, 1 zuefle.net, 1 zuehlcke.de, 1 -zuffel.com, 1 zufuribita.tk, 1 zug-anwalt.de, 0 +zugarkovi.cz, 1 zuhausejobs.com, 1 zuhauserealestate.com, 1 zuhur2021.tk, 1 @@ -165770,6 +167260,7 @@ zuitaotu.com, 1 zuivelonline.nl, 1 zuiverjegeest.nl, 1 zuiververloskundigen.nl, 1 +zuklescentras.lt, 1 zukong.party, 1 zukunft-mobilitaet.net, 1 zukunft-niederrhein.de, 1 @@ -165792,6 +167283,7 @@ zumturm.org, 1 zumub.com, 1 zumwildenaffen.com, 1 zundapp.one, 1 +zundappachterhoek.nl, 1 zuomin.tk, 1 zupit.it, 1 zuplu.com, 1 @@ -165832,6 +167324,7 @@ zwedenautohuur.nl, 1 zwemclub-rob.nl, 0 zwemschooldezwaantjes.tk, 1 zwergenfeste.ch, 1 +zwergenfreiheit.at, 1 zwerimex.com, 1 zwhblog.xyz, 0 zwickau.de, 1 @@ -165891,6 +167384,7 @@ zyminex.com, 1 zymmm.com, 1 zyner.org, 1 zynga.com, 1 +zyno.space, 1 zynqit.com, 0 zypern-und-ich.de, 1 zypernreisen.com, 1 diff --git a/icecat/security/manager/tools/log_list.json b/icecat/security/manager/tools/log_list.json index c322a0e9be..d556a00a03 100644 --- a/icecat/security/manager/tools/log_list.json +++ b/icecat/security/manager/tools/log_list.json @@ -1,6 +1,6 @@ { - "version": "80.16", - "log_list_timestamp": "2026-01-04T12:53:12Z", + "version": "76.4", + "log_list_timestamp": "2025-11-30T12:54:31Z", "operators": [ { "name": "Google", @@ -289,8 +289,8 @@ "url": "https://wyvern.ct.digicert.com/2027h1/", "mmd": 86400, "state": { - "usable": { - "timestamp": "2025-12-20T18:00:00Z" + "qualified": { + "timestamp": "2025-10-10T18:00:00Z" } }, "temporal_interval": { @@ -305,8 +305,8 @@ "url": "https://wyvern.ct.digicert.com/2027h2/", "mmd": 86400, "state": { - "usable": { - "timestamp": "2025-12-20T18:00:00Z" + "qualified": { + "timestamp": "2025-10-10T18:00:00Z" } }, "temporal_interval": { @@ -369,8 +369,8 @@ "url": "https://sphinx.ct.digicert.com/2027h1/", "mmd": 86400, "state": { - "usable": { - "timestamp": "2025-12-20T18:00:00Z" + "qualified": { + "timestamp": "2025-10-10T18:00:00Z" } }, "temporal_interval": { @@ -385,8 +385,8 @@ "url": "https://sphinx.ct.digicert.com/2027h2/", "mmd": 86400, "state": { - "usable": { - "timestamp": "2025-12-20T18:00:00Z" + "qualified": { + "timestamp": "2025-10-10T18:00:00Z" } }, "temporal_interval": { @@ -699,12 +699,8 @@ "url": "https://oak.ct.letsencrypt.org/2025h2/", "mmd": 86400, "state": { - "readonly": { - "timestamp": "2025-12-12T22:30:00Z", - "final_tree_head": { - "sha256_root_hash": "fn06m+bnTrDRl01hT1F1TdZPYfxciFZZn7NAayeGOVQ=", - "tree_size": 1958525022 - } + "usable": { + "timestamp": "2023-11-26T12:00:00Z" } }, "temporal_interval": { @@ -719,12 +715,8 @@ "url": "https://oak.ct.letsencrypt.org/2026h1/", "mmd": 86400, "state": { - "readonly": { - "timestamp": "2025-12-12T22:30:00Z", - "final_tree_head": { - "sha256_root_hash": "deSRNfTNPgd9wfzoXIznvi+QUTxuK0R+daC6JGKGK3Q=", - "tree_size": 598614696 - } + "usable": { + "timestamp": "2024-11-04T00:00:00Z" } }, "temporal_interval": { @@ -739,12 +731,8 @@ "url": "https://oak.ct.letsencrypt.org/2026h2/", "mmd": 86400, "state": { - "readonly": { - "timestamp": "2025-12-12T22:30:00Z", - "final_tree_head": { - "sha256_root_hash": "uTgg1k3DUbSFFdXewyyxbsQuCc9RupplMphTwtXqvf4=", - "tree_size": 130815692 - } + "usable": { + "timestamp": "2024-11-04T00:00:00Z" } }, "temporal_interval": { @@ -1013,25 +1001,7 @@ } } ], - "tiled_logs": [ - { - "description": "TrustAsia Luoshu2027", - "log_id": "VzRIzG4dLA3JS2nyh9Hv5IPHolxQxTILuzrep29usEE=", - "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEumSYzy6dUQlwTckPzKMKApMRinqxHIBlLfmrvx1SdMH1RTACi1wb1V18ss8YjlaC7Pch2OQa8OfRevub4Y9BDQ==", - "submission_url": "https://luoshu2027.trustasia.com/luoshu2027/", - "monitoring_url": "https://luoshu2027.trustasia.com/luoshu2027/", - "mmd": 60, - "state": { - "qualified": { - "timestamp": "2025-12-02T18:30:00Z" - } - }, - "temporal_interval": { - "start_inclusive": "2026-12-24T00:00:00Z", - "end_exclusive": "2028-01-08T00:00:00Z" - } - } - ] + "tiled_logs": [] }, { "name": "Geomys", @@ -1176,8 +1146,8 @@ "monitoring_url": "https://halloumi2025h2.mon.ct.ipng.ch/", "mmd": 60, "state": { - "usable": { - "timestamp": "2025-12-17T18:30:00Z" + "qualified": { + "timestamp": "2025-10-07T18:30:00Z" } }, "temporal_interval": { @@ -1193,8 +1163,8 @@ "monitoring_url": "https://halloumi2026h1.mon.ct.ipng.ch/", "mmd": 60, "state": { - "usable": { - "timestamp": "2025-12-17T18:30:00Z" + "qualified": { + "timestamp": "2025-10-07T18:30:00Z" } }, "temporal_interval": { @@ -1227,8 +1197,8 @@ "monitoring_url": "https://halloumi2027h1.mon.ct.ipng.ch/", "mmd": 60, "state": { - "usable": { - "timestamp": "2025-12-17T18:30:00Z" + "qualified": { + "timestamp": "2025-10-07T18:30:00Z" } }, "temporal_interval": { @@ -1244,8 +1214,8 @@ "monitoring_url": "https://halloumi2027h2.mon.ct.ipng.ch/", "mmd": 60, "state": { - "usable": { - "timestamp": "2025-12-17T18:30:00Z" + "qualified": { + "timestamp": "2025-10-07T18:30:00Z" } }, "temporal_interval": { diff --git a/icecat/security/sandbox/common/test/SandboxTestingChildTests.h b/icecat/security/sandbox/common/test/SandboxTestingChildTests.h index 25853dfb96..0ff0238154 100644 --- a/icecat/security/sandbox/common/test/SandboxTestingChildTests.h +++ b/icecat/security/sandbox/common/test/SandboxTestingChildTests.h @@ -74,16 +74,6 @@ namespace ApplicationServices { # ifndef MREMAP_DONTUNMAP # define MREMAP_DONTUNMAP 4 # endif -// -// This constant is ancient, but the kernel header for it conflicts -// with glibc's fcntl.h: -# ifndef F_LINUX_SPECIFIC_BASE -# define F_LINUX_SPECIFIC_BASE 1024 -# endif -// Added in 6.10: -# ifndef F_DUPFD_QUERY -# define F_DUPFD_QUERY (F_LINUX_SPECIFIC_BASE + 3) -# endif #endif constexpr bool kIsDebug = @@ -153,23 +143,6 @@ static void RunGenericTests(SandboxTestingChild* child, bool aIsGMP = false) { MOZ_RELEASE_ASSERT(flags & O_NONBLOCK); } } - - if (!aIsGMP) { - constexpr auto name = "fcntl_dupfd_query"_ns; - int rv = fcntl(0, F_DUPFD_QUERY, 0); - // Expected: - // * success with rv == 1 (new kernel) - // * failure with EINVAL (old kernel) - // Rejected: - // * failure with ENOSYS or any other error - // * success with rv == 0 (shouldn't be possible) - MOZ_RELEASE_ASSERT(rv != 0); - if (rv > 0) { - child->PosixTest(name, true, 0); - } else { // (rv < 0), errno unchanged since fcntl - child->PosixTest(name, false, errno, Some(EINVAL)); - } - } #endif // XP_LINUX } diff --git a/icecat/security/sandbox/linux/SandboxFilter.cpp b/icecat/security/sandbox/linux/SandboxFilter.cpp index 802af4d310..8eb4359e14 100644 --- a/icecat/security/sandbox/linux/SandboxFilter.cpp +++ b/icecat/security/sandbox/linux/SandboxFilter.cpp @@ -118,13 +118,6 @@ static_assert(MADV_GUARD_INSTALL == 102); static_assert(MADV_GUARD_REMOVE == 103); #endif -// Added in 6.10 -#ifndef F_DUPFD_QUERY -# define F_DUPFD_QUERY (F_LINUX_SPECIFIC_BASE + 3) -#else -static_assert(F_DUPFD_QUERY == (F_LINUX_SPECIFIC_BASE + 3)); -#endif - // To avoid visual confusion between "ifdef ANDROID" and "ifndef ANDROID": #ifndef ANDROID # define DESKTOP @@ -1107,9 +1100,6 @@ class SandboxPolicyCommon : public SandboxPolicyBase { #endif // Not much different from other forms of dup(), and commonly used. .Case(F_DUPFD_CLOEXEC, Allow()) - // Used by Mesa, generally useful, and harmless: tests if - // two file descriptors refer to the same file description. - .Case(F_DUPFD_QUERY, Allow()) .Default(SandboxPolicyBase::EvaluateSyscall(sysno)); } diff --git a/icecat/services/settings/dumps/blocklists/addons-bloomfilters.json b/icecat/services/settings/dumps/blocklists/addons-bloomfilters.json index be1d3ffed0..2227ea22bd 100644 --- a/icecat/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/icecat/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,4264 +1,5 @@ { "data": [ - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{be2be274-fa1e-4ad6-a27f-666475714544}:1.0", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.8", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.7", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.6", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:1.0", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.5", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.0", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.1", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.4", - "{5cb94fc8-76d8-4903-b752-ba74539ea195}:2.3", - "@archtube:1.0.0", - "nativ-google-results-indicator@example.com:0.1.3", - "{3156ac7b-344b-4b09-9a7b-67bf740a5df3}:1.0", - "{3156ac7b-344b-4b09-9a7b-67bf740a5df3}:2.0", - "{3156ac7b-344b-4b09-9a7b-67bf740a5df3}:3.0", - "{3f5de377-70a5-4724-93cd-04f2dbcaf114}:1.0", - "speed-controller@vijigishu.com:1.0", - "speed-controller@vijigishu.com:1.1", - "speed-controller@vijigishu.com:1.2", - "{2679a16c-771a-4823-a9c3-33131fbc75ee}:2.0.63" - ] - }, - "schema": 1767594993203, - "key_format": "{guid}:{version}", - "stash_time": 1767616506235, - "id": "9222a20c-856a-4294-b86f-12142473f747", - "last_modified": 1767616590393 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{ec280a3e-01cd-4a28-b195-f36f4bb14299}:1.0", - "favory@sp4ce.pw:2.6.4", - "j4ck0lantern@protonmail.com:3.0", - "@ocsc-ai-assist:1.0", - "@ocsc-ai-assist:1.1", - "focus-warning@syiroth.local:1.0" - ] - }, - "schema": 1767573391369, - "key_format": "{guid}:{version}", - "stash_time": 1767594906708, - "id": "33fdd298-cc9b-438c-baff-16a3797d8af0", - "last_modified": 1767594992940 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "image-downloader@ozler365:12.5", - "image-downloader@ozler365:12.6", - "{e2c5beaa-fa93-49aa-ba87-c0d59f8b2317}:1.2", - "{db55a6f2-601d-4d69-af93-3f4bfa70fe6a}:1.0", - "{cad379db-edfe-4c5e-b936-27a19156b5dc}:2.2.0", - "privacy-shield@argentum.com:3.0", - "{3d073f09-d28d-4f50-b3ca-f73f8957f2f1}:1.0", - "{3d073f09-d28d-4f50-b3ca-f73f8957f2f1}:2.0", - "{a1b2c3d4-e5f6-4789-a013-3456789abcde}:1.0", - "{3d073f09-d28d-4f50-b5ca-f73f8957f2f1}:2.0.0" - ] - }, - "schema": 1767551789189, - "key_format": "{guid}:{version}", - "stash_time": 1767573306639, - "id": "b699a78d-a23b-40b4-8b20-549a31e871e2", - "last_modified": 1767573391116 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "fdm-integration@fastdownloadmanager.com:1.0.0", - "jabdlhfpmdadoflkloeifokbadiflagj@chrome-store-foxified-3967678046:1.0", - "neonntp@samir.local:1.0.1", - "@searchClear:0.1", - "{e2482817-3d73-7153-850d-b62d5e42d505}:0.4.6", - "linkedin-mieux@cyrilou242.github.io:0.1.2" - ] - }, - "schema": 1767530188945, - "key_format": "{guid}:{version}", - "stash_time": 1767551706258, - "id": "22789bf8-fb9c-460f-b675-4e0bbc0690cf", - "last_modified": 1767551788923 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:6.4", - "{7623c940-85c7-4f65-ab40-6d494597e0c7}:1.0", - "{7623c940-85c7-4f65-ab40-6d494597e0c7}:1.1", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:6.5", - "job-import@johncabiles.com:1.1.0", - "asic-extractor@clearbyte.au:2.0.2", - "asic-extractor@clearbyte.au:2.0.3", - "asic-extractor@clearbyte.au:2.0.4", - "asic-extractor@clearbyte.au:2.0.6", - "asic-extractor@clearbyte.au:2.0.7", - "asic-extractor@clearbyte.au:2.0.8", - "asic-extractor@clearbyte.au:2.0.9", - "asic-extractor@clearbyte.au:2.1.0", - "job-import@johncabiles.com:1.1.1", - "asic-extractor@clearbyte.au:2.1.1", - "asic-extractor@clearbyte.au:2.1.2", - "asic-extractor@clearbyte.au:2.1.3", - "grpc-devtools@example.com:0.1.0", - "asic-extractor@clearbyte.au:2.1.4", - "app-support-twilio-toolkit@uhaul.local:4.1" - ] - }, - "schema": 1767508592746, - "key_format": "{guid}:{version}", - "stash_time": 1767530106783, - "id": "28de76d6-c465-4f3e-a76b-eabfd2fa2419", - "last_modified": 1767530188717 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "funpay-auto-phrase@local-addon.com:1.0", - "funpay-auto-phrase@local-addon.com:1.11", - "funpay-auto-phrase@local-addon.com:1.12" - ] - }, - "schema": 1767486993207, - "key_format": "{guid}:{version}", - "stash_time": 1767508506653, - "id": "b0ad0261-767f-4ce6-9223-b0f8033f8003", - "last_modified": 1767508592607 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{f5d610de-acde-4c13-9c1d-193204b5a1b0}:4.0", - "gemix@extension.geisha:1.9.2", - "gemix@extension.geisha:1.9.1", - "gemix@extension.geisha:1.6.0", - "gemix@extension.geisha:1.0.4", - "gemix@extension.geisha:1.0.3", - "image-downloader@ozler365:6.6", - "image-downloader@ozler365:12.2", - "image-downloader@ozler365:12.3", - "image-downloader@ozler365:12.1", - "image-downloader@ozler365:12.0", - "image-downloader@ozler365:11.0", - "image-downloader@ozler365:10.0", - "image-downloader@ozler365:9.0", - "image-downloader@ozler365:8.5", - "image-downloader@ozler365:6.7", - "image-downloader@ozler365:1.6.0", - "tripoli@phoenicia.io:1.2", - "tripoli@phoenicia.io:1.3resigned1", - "xristodoulakis@pm.me:1.0" - ] - }, - "schema": 1767465390144, - "key_format": "{guid}:{version}", - "stash_time": 1767486906690, - "id": "b37574da-4c87-4b20-9969-33f2f49bcc4f", - "last_modified": 1767486992952 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "neomigpibafpboiknmijddgnncengfnm@chrome-store-foxified--1266285612:3.3.8", - "laicai@linux.do:2.6.5", - "{5a95e61d-6981-44e0-bf1d-9d6176e7d83f}:1.14", - "browsing-enhancer-1@example.com:1.0", - "browsing-enhancer-1@example.com:2.0", - "browsing-enhancer-1@example.com:3.0", - "browsing-enhancer-1@example.com:4.0", - "popup-blocker-remover@example.com:1.0", - "syno-android-test@example.com:0.12.2", - "smhg-extension@internal.smhg:1.0.0", - "manual-linetv-cleaner@yourdomain.com:1.0.5", - "twitter@kini.zip:1.0", - "blazing-converter@extension-craft.com:5.4.8", - "blazing-converter@extension-craft.com:25.15.19.1", - "blazing-converter@extension-craft.com:25.15.19.2" - ] - }, - "schema": 1767443792188, - "key_format": "{guid}:{version}", - "stash_time": 1767465306313, - "id": "5db0cddf-8d37-4f44-ac7f-d5b63850dba0", - "last_modified": 1767465389990 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "ff-saver@mu-cli-tools.local:1.1.0", - "ff-saver-20260103@mu-cli-tools.local:1.1.0", - "prismium-ai@extensions.cubinghackerz.com:1.0", - "bookmark-board-v1-ciro@cirodisalvo.it:1.0.0", - "chatgpt-cleanup@chatgpt-cleanup:1.0", - "zen-flow-tracker@yourname.local:1.0", - "zen-flow-tracker@yourname.local:1.1", - "tab-highlighter@nihaltp:1.2.1", - "Stealth@Guard.local:1.0", - "favory@sp4ce.pw:2.6.1", - "favory@sp4ce.pw:2.6.2" - ] - }, - "schema": 1767422190137, - "key_format": "{guid}:{version}", - "stash_time": 1767443706155, - "id": "7acfba43-d182-480f-80a4-a86d627f49c1", - "last_modified": 1767443792039 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{9d3237cd-d7eb-4e7c-b883-e1f30daa5b8a}:1.0", - "{15a9235a-de6e-4cef-8b90-e8efbf13f881}:0.0.31", - "{9d3237cd-d7eb-4e7c-b883-e1f30daa5b8a}:1.0.1", - "8muses-downloader-ui-fix@yourname.com:1.5.8.5", - "8muses-downloader-ui-fix@yourname.com:2.3.0", - "hhinaapppaileiechjoiifaancjggfjm@chrome-store-foxified-2078846985:2.2.4", - "dogjomhpgfhidkifpoeapcggdpbhgcgk@chrome-store-foxified-2078846985:1.1.5", - "dighmiipfpfdfbfmpodcmfdgkkcakbco@chrome-store-foxified-1556938619:3.10.2", - "asic-extractor@clearbyte.au:2.0", - "asic-extractor@clearbyte.au:2.0.1", - "{dee969be-a08d-4577-8323-5cd7afde430b}:1.0", - "@copy-dog:0.9.9" - ] - }, - "schema": 1767400591286, - "key_format": "{guid}:{version}", - "stash_time": 1767422106636, - "id": "1a733cda-9aff-44f4-bdaa-4fed0d3aca53", - "last_modified": 1767422189905 - }, - { - "stash": { - "blocked": [ - "pluginsa-extension2@local.dev:1.7" - ], - "unblocked": [], - "softblocked": [ - "bob@renebomers.nl:1.0", - "info@bobbomers.nl:1.0", - "info@bobbomers.nl:1.1", - "favory@sp4ce.pw:2.5.9", - "favory@sp4ce.pw:2.5.10", - "formsaver-pf2026@custom.addon:1.0", - "formsaver-pf2026@custom.addon:1.1", - "formsaver-pf2026@custom.addon:1.1.2", - "formsaver-pf2026@custom.addon:1.1.5", - "image-downloader@ozler365:6.3", - "image-downloader@ozler365:6.2", - "image-downloader@ozler365:6.4", - "image-downloader@ozler365:6.1", - "{2f53cd0a-0497-4d31-b0ba-f3645e5dbc9e}:1.0", - "{2f53cd0a-0497-4d31-b0ba-f3645e5dbc9e}:2.0", - "image-downloader@ozler365:6.0", - "image-downloader@ozler365:5.6", - "image-downloader@ozler365:5.5", - "{d69d42f0-7b36-447e-98b2-c2e25a767eb1}:12.3", - "{d69d42f0-7b36-447e-98b2-c2e25a767eb1}:3.7.1" - ] - }, - "schema": 1767378992653, - "key_format": "{guid}:{version}", - "stash_time": 1767400506281, - "id": "d742a659-2e4a-4b72-824b-0a534d456d13", - "last_modified": 1767400591145 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "litetube-v1-release@my-addon.com:1.2.4", - "extension@linkwy.com:1.0.1", - "{82864d58-ad2b-49a3-b114-fb3a5de70137}:1.0", - "pagesidebar-fork@rfluethi.local:1.2.22", - "{8a23d4f3-850b-410c-8b0c-956854610786}:1.0", - "{e1f41a7c-4825-4cfb-8186-11df01007a89}:1.0.7", - "job-saver@oplinque.com:0.0.2", - "ui@udemy:1.0.1", - "android-universal-image-download@ozler365:6.0" - ] - }, - "schema": 1767357390890, - "key_format": "{guid}:{version}", - "stash_time": 1767378906893, - "id": "227cb49b-9da3-49a0-8bfd-2207eaa5bdac", - "last_modified": 1767378992319 - }, - { - "stash": { - "blocked": [ - "{8ec89472-1c97-4c34-a16d-93f7c5316621}:1.0", - "{8ec89472-1c97-4c34-a16d-93f7c5316621}:1.3", - "{32a6d9ee-aafd-4ed5-a839-c942cd966dd9}:11.1.0", - "{32a6d9ee-aafd-4ed5-a839-c922cd966dd9}:11.1.0", - "{0d89dcd1-fdc3-4e55-b59a-b6ff2d1fe23d}:1.0", - "{0d89dcd1-fdc3-4e55-b59a-b6ff2d1fe23d}:1.5", - "{13177739-791a-45e2-876a-dfffe0b7bfed}:1.0", - "{13177739-791a-45e2-876a-dfffe0b7bfed}:1.2", - "{13177739-791a-45e2-876a-dfffe0b7bfed}:1.5", - "{13177739-791a-45e2-876a-dfffe0b7bfed}:1.7", - "{13177739-791a-45e2-876a-dfffe0b7bfed}:2.3", - "{99ab719d-337c-472f-abda-61e45579b361}:1.0", - "{450f51a4-c0de-4fd3-97c6-961c8c80f089}:1.0", - "{450f51a4-c0de-4fd3-97c6-961c8c80f089}:2.3" - ], - "unblocked": [ - "{4d13d126-343f-44a9-8dcf-1bf5218b618a}:1.0.0", - "{4d13d126-343f-44a9-8dcf-1bf5218b618a}:1.1.0" - ], - "softblocked": [ - "favory@sp4ce.pw:2.5.8", - "novapadev-ai-translator@1:1.0.0", - "{8a0bff00-4308-4bff-8b7d-b3d708f8813a}:1.0", - "{4cfaa5dd-ca14-4659-8db8-a55b3ba3bbb5}:1.0", - "{72b3ff78-ba8e-4dad-9fe0-db1869e613c1}:1.0.3", - "kontenmanager@gmx.de:2025.1.2.0", - "kontenmanager@gmx.de:2025.1.2.1", - "kontenmanager@gmx.de:2025.1.2.2", - "kontenmanager@gmx.de:2025.1.2.3", - "kontenmanager@gmx.de:2025.1.2.4", - "kontenmanager@gmx.de:2025.1.2.5", - "visual-bug-tracker@yourdomain.com:1.0.0", - "klorel.01.test@gmail.com:1.1", - "downloads-rescue@despecial.local:1.3.2", - "chordifyclean@iwltechnology.github.io:1.0", - "8981407246246795@extension:1.2", - "8981407246246795@extension:1.3" - ] - }, - "schema": 1767335790135, - "key_format": "{guid}:{version}", - "stash_time": 1767357306426, - "id": "3b070496-9794-4db6-8a45-96ceee52b041", - "last_modified": 1767357390549 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{a09c7d5e-4a1f-4721-b570-c601e178c8fa}:220251225.1", - "sorare-price-analytics@davidmohamed.dev:1.2.10", - "@idontlikechzzkgrid:0.2.1", - "{971b2b38-0f6d-4aa3-9811-85e2a441f3bb}:1.0", - "{971b2b38-0f6d-4aa3-9811-85e2a441f3bb}:2.0" - ] - }, - "schema": 1767314190823, - "key_format": "{guid}:{version}", - "stash_time": 1767335706451, - "id": "daf86385-0387-4749-bf88-e3ddf846fa2d", - "last_modified": 1767335789907 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "8981407246246795@extension:1.0", - "8981407246246795@extension:1.1", - "tron@tron.dev:0.1.1", - "mass-image-downloader-pro@local:1.0.1", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.1.9", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.0", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.2", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.3", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.4", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.5", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.6", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.8", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.9", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.10", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.11", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.12", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.13", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.14", - "{e36cd785-3642-41fe-b99f-e9605c553388}:1.2.15", - "dp-beta@cel.ro:1.0.185", - "dp-beta@cel.ro:1.0.184", - "dp-beta@cel.ro:1.0.181", - "dp-beta@cel.ro:1.0.183", - "dp-beta@cel.ro:1.0.180", - "dp-beta@cel.ro:1.0.178", - "dp-beta@cel.ro:1.0.179", - "dp-beta@cel.ro:1.0.186", - "kontenmanager@gmx.de:2025.1.1.8", - "kontenmanager@gmx.de:2025.1.1.0", - "kontenmanager@gmx.de:2025.1.1.1", - "kontenmanager@gmx.de:2025.1.1.2", - "kontenmanager@gmx.de:2025.1.1.3", - "kontenmanager@gmx.de:2025.1.1.4", - "kontenmanager@gmx.de:2025.1.1.5", - "kontenmanager@gmx.de:2025.1.1.6", - "kontenmanager@gmx.de:2025.1.1.7", - "testpilot@rabbitxone.com:4.2.1", - "stripper@burp:1.2", - "stripper@burp:1.3", - "stripper@burp:1.5" - ] - }, - "schema": 1767292589807, - "key_format": "{guid}:{version}", - "stash_time": 1767314106640, - "id": "eb110fe6-3c36-462e-9b8c-1d8a94675362", - "last_modified": 1767314190598 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "peek-audio-meter-self@muniyoshid:1.0", - "{6a99761a-ad67-46a7-9254-a11fcf51f38d}:1.0", - "downloads-rescue@despecial.local:1.3.0", - "@private-history-cleaner-v0.1:0.1", - "8muses-downloader-ui-fix@yourname.com:2.1.5", - "8muses-downloader-ui-fix@yourname.com:2.1.0", - "downloads-rescue@despecial.local:1.3.1", - "heyoo@gmail.com:1.0.0", - "linkedin-optimizer@codebasics.io:1.0.1", - "{42CFCB74-44E1-41D1-A55D-BDDC2770EA9F}:1.13.0", - "{f09ecbe3-0edb-475f-94fc-78b7349a3648}:1.0", - "tktsto@toykeeper.net:0.0.1.0", - "favory@sp4ce.pw:2.5.5", - "favory@sp4ce.pw:2.5.7" - ] - }, - "schema": 1767270992796, - "key_format": "{guid}:{version}", - "stash_time": 1767292506717, - "id": "1c81acb9-f6c1-4fd2-a118-4cd96e1fc084", - "last_modified": 1767292589553 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "nils@teampass.net:0.1.0", - "nils@teampass.net:0.1.1", - "nils@teampass.net:0.1.2", - "nils@teampass.net:0.1.3", - "nils@teampass.net:0.1.4", - "nils@teampass.net:0.1.5", - "nils@teampass.net:0.1.6", - "nils@teampass.net:0.1.8", - "nils@teampass.net:0.1.9", - "8muses-downloader-ui-fix@yourname.com:1.9.0", - "8muses-downloader-ui-fix@yourname.com:1.8.6", - "8muses-downloader-ui-fix@yourname.com:1.9.2", - "8muses-downloader-ui-fix@yourname.com:1.9.1", - "8muses-downloader-ui-fix@yourname.com:1.9.3", - "8muses-downloader-ui-fix@yourname.com:1.9.4", - "8muses-downloader-ui-fix@yourname.com:1.9.5.2", - "8muses-downloader-ui-fix@yourname.com:1.9.6", - "8muses-downloader-ui-fix@yourname.com:1.9.7", - "8muses-downloader-ui-fix@yourname.com:2.0.0", - "8muses-downloader-ui-fix@yourname.com:2.0.1" - ] - }, - "schema": 1767249390431, - "key_format": "{guid}:{version}", - "stash_time": 1767270906254, - "id": "84cca4aa-627c-4963-a17e-0c333dada806", - "last_modified": 1767270992503 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "halo-capture-temp@local:1.0.27", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.1", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.2", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.3", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.4", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.5", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.6", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.7", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.8", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.9", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.10", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.11", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.12", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.13", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.14", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.15", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.16", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.17", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.18", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.19", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.20", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.21", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.22", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.23", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.24", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.25", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.26", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.27", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.28", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.29", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.30", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.31", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.32", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.33", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.34", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.35", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.36", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.37", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.38", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.39", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.40", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.41", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.42", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.43", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.44", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.45", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.46", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.47", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.48", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.49", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.50", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.51", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.52", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.53", - "{0388e670-45ee-4ad7-b87e-0c5f3a52c33f}:0.0.0.54", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.1", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.2", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.3", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.4", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.5", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.6", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.7", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.8", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.9", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.10", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.11", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.12", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.13", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.14", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.15", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.16", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.17", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.18", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.19", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.20", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.21", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.22", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.23", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.24", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.25", - "{8f92e98b-81b8-4989-861c-29e27a069e5b}:0.0.0.26", - "8muses-downloader-ui-fix@yourname.com:1.8.1", - "8muses-downloader-ui-fix@yourname.com:1.7.2", - "8muses-downloader-ui-fix@yourname.com:1.8.3", - "8muses-downloader@yourname.com:1.0", - "8muses-downloader-ui-fix@yourname.com:1.8.4", - "favory@sp4ce.pw:2.5.6", - "{9282bc49-b1b4-4f46-b135-1dfe00f182c9}:2.6.8", - "{8ec89472-1c97-4c34-a16d-93f7c5316621}:2.3", - "pipe-cleaner@example.com:1.2" - ] - }, - "schema": 1767227790861, - "key_format": "{guid}:{version}", - "stash_time": 1767249306521, - "id": "8e5ad64d-c718-453a-a88d-5560a07fdea4", - "last_modified": 1767249390193 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.5.4", - "{7379c6b1-9e05-42f6-89de-bf29a18f944d}:1.0", - "{7379c6b1-9e05-42f6-89de-bf29a18f944d}:2.0", - "tenki.jp.avbiq@passmail.net:1.0", - "tenki.jp.avbiq@passmail.net:1.0.1", - "tenki.jp.avbiq@passmail.net:1.0.3" - ] - }, - "schema": 1767206190488, - "key_format": "{guid}:{version}", - "stash_time": 1767227706479, - "id": "eb526711-d1b7-4fe3-b43e-b607b3f89935", - "last_modified": 1767227790603 - }, - { - "stash": { - "blocked": [ - "{32a6d9ee-aafd-4ed5-a839-c922cd979dc9}:11.1.0", - "{d013147a-9ace-42e7-a655-854e59645c84}:1.0", - "{d013147a-9ace-42e7-a655-854e59645c84}:1.2", - "{d013147a-9ace-42e7-a655-854e59645c84}:1.3", - "{06eeba01-2099-494c-acb9-1adb7cc8d1a9}:1.0", - "{06eeba01-2099-494c-acb9-1adb7cc8d1a9}:1.2" - ], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.5.1", - "{8a122159-cd6f-4a87-b7f4-cd112f67c070}:1.22.2001.2938", - "{8a122159-cd6f-4a87-b7f4-cd112f67c070}:1.23.1416.2600", - "favory@sp4ce.pw:2.5.2", - "family-photo-downloader@example.com:1.0", - "vrsa-suno-bridge@example.com:1.0", - "favory@sp4ce.pw:2.5.2.1", - "favory@sp4ce.pw:2.5.3" - ] - }, - "schema": 1767184589670, - "key_format": "{guid}:{version}", - "stash_time": 1767206106990, - "id": "41c62f11-a351-4f99-9eac-087ca374e951", - "last_modified": 1767206190267 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "261239765@qq.com:1.5", - "8muses-downloader-ui-fix@yourname.com:1.7.0", - "clipwave@clipwave.app:1.2.12", - "8muses-downloader-ui-fix@yourname.com:1.7.1", - "chromium-session-restore@example.com:4.0.0", - "mciiogijehkdemklbdcbfkefimifhecn@chrome-store-foxified-11300298:0.9.3", - "test@realchill:0.2", - "{bc3c6269-37bb-42e8-bb18-ca13bbbd046f}:1.0", - "{21598acf-2916-401d-a3cb-7ee417234ad1}:1.0", - "instatools@example.com:10.1.0", - "instagrabber@example.com:1.3.3", - "{3b2c6046-f40c-4554-8683-99601b6c848e}:1.0", - "enhanced-video-favorites@example.com:1.0", - "enhanced-video-favorites@example.com:1.0.1", - "enhanced-video-favorites@example.com:1.0.2", - "enhanced-video-favorites@example.com:1.0.3" - ] - }, - "schema": 1767162980914, - "key_format": "{guid}:{version}", - "stash_time": 1767184506469, - "id": "c12efc3c-70c3-4a08-b3a4-5725f188fa32", - "last_modified": 1767184589365 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{77848413-c981-481d-9bad-a4ef983f9413}:1.2", - "favory@sp4ce.pw:2.4.8", - "8muses-downloader-ui-fix@yourname.com:1.5.8.4", - "tsukihi-fork@lrr:2.0.8", - "tsukihi-fork@lrr:2.0.7", - "tsukihi-fork@lrr:2.0.6", - "tsukihi-fork@lrr:2.0.5", - "tsukihi-fork@lrr:2.0.4", - "tsukihi-fork@lrr:2.0.3", - "8muses-downloader-ui-fix@yourname.com:1.6", - "8muses-downloader-ui-fix@yourname.com:1.6.1", - "favory@sp4ce.pw:2.5.0", - "clipwave@clipwave.app:1.2.6", - "clipwave@clipwave.app:1.2.9", - "clipwave@clipwave.app:1.2.10", - "clipwave@clipwave.app:1.2.11" - ] - }, - "schema": 1767141390851, - "key_format": "{guid}:{version}", - "stash_time": 1767162905121, - "id": "0e8d3f44-ab45-4418-b43a-943cde2ba80e", - "last_modified": 1767162980653 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "ratnot@dev:0.5.3", - "{32f7a5ba-e59a-4dbf-b984-5c06a18b2754}:1.0", - "inventory-final-v3@linux-mint-user:1.0", - "instagrabber@example.com:1.3.1", - "instatools@example.com:10.0", - "Passman@xuzhao.net:2.1.5", - "Passman@xuzhao.net:2.1.6", - "Passman@xuzhao.net:2.1.7", - "Passman@xuzhao.net:2.1.8", - "Passman@xuzhao.net:2.1.9", - "downloads-rescue@despecial.local:1.1", - "downloads-rescue@despecial.local:1.1.1", - "downloads-rescue@despecial.local:1.2", - "{52b2997a-ef6b-4bdb-bfd5-e32cd3ae247f}:1.0", - "{52b2997a-ef6b-4bdb-bfd5-e32cd3ae247f}:2.0", - "{77848413-c981-481d-9bad-a4ef983f9413}:1.0" - ] - }, - "schema": 1767119780635, - "key_format": "{guid}:{version}", - "stash_time": 1767141306279, - "id": "e1bf6bff-7b14-4ef3-b76a-e396dbff62e7", - "last_modified": 1767141390637 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "binsnipersb@binsniper.com:4.3", - "{8dc17602-6498-444a-9959-6b561f02115d}:1.0", - "{15a75c5a-eb98-4327-9de8-53e6a6b0bdd5}:1.1", - "lilypichufox@naomie.digital:1.0.0", - "toneFox@naomie.digital:2.1.0", - "@sb-arimil:4.1.0", - "clipwave@clipwave.app:1.1.1", - "clipwave@clipwave.app:1.1.0", - "clipwave@clipwave.app:1.0.0", - "kaspi-parser-pro@extension.local:6.2.0", - "clipwave@clipwave.app:1.1.5", - "clipwave@clipwave.app:1.2.5", - "readnext@antigravity.local:1.7.15", - "readnext@antigravity.local:1.7.17", - "readnext@antigravity.local:1.7.16", - "readnext@antigravity.local:1.7.13", - "readnext@antigravity.local:1.7.12", - "readnext@antigravity.local:1.7.11", - "readnext@antigravity.local:1.7.14", - "readnext@antigravity.local:1.7.8", - "readnext@antigravity.local:1.7.9", - "readnext@antigravity.local:1.7.10", - "readnext@antigravity.local:1.7.6", - "readnext@antigravity.local:1.7.5", - "readnext@antigravity.local:1.7.7", - "readnext@antigravity.local:1.7.18" - ] - }, - "schema": 1767098180657, - "key_format": "{guid}:{version}", - "stash_time": 1767119705269, - "id": "ec71171f-6cff-4ccc-ba85-c7f268e17603", - "last_modified": 1767119780403 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "webpage-tracker@freem.com:3.1", - "{744f07e1-1952-40b4-86a2-4f471d6a8a78}:1.0", - "{db251f59-b6a5-496b-9820-924fad84dede}:1.0", - "{db251f59-b6a5-496b-9820-924fad84dede}:2.0", - "{79cde338-87dd-4e15-b183-6de989a87156}:1.0", - "{79cde338-87dd-4e15-b183-6de989a87156}:2.0", - "{79cde338-87dd-4e15-b183-6de989a87156}:3.0", - "{2f6f28bb-bed1-40b6-8a50-afbcd56bd563}:1.2", - "{9e1e1073-8755-483e-bdaa-1ec2497650d8}:1.0", - "{dc0ebe31-2bad-4d17-9478-0464724d8ad2}:1.3", - "{4d13d126-343f-44a9-8dcf-1bf5218b618a}:1.0.0", - "{4d13d126-343f-44a9-8dcf-1bf5218b618a}:1.1.0", - "261239765@qq.com:1.2", - "{5997e7bd-1940-4058-a5f4-1562afce6354}:0.2.2", - "{436a3e74-c2bf-4fb4-b3ec-75a1cbdd83ae}:2.5", - "{446a3e74-c2bf-4fb4-b3ec-75a1cbdd83ae}:2.5", - "{28e1b605-8596-4dfa-89d5-31352be215c9}:0.4.58.999", - "basquet-catala-stats@sergio.delgado:1.0" - ] - }, - "schema": 1767076592281, - "key_format": "{guid}:{version}", - "stash_time": 1767098105267, - "id": "1e4ab1df-e513-416e-84b7-8a40dd7fd6fe", - "last_modified": 1767098180444 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "tsukihi-fork@lrr:2.0.1", - "tsukihi-fork@lrr:0.0.2", - "tsukihi-fork@lrr:0.0.1", - "drubino@live.com:1.0", - "drubino@live.com:1.1", - "drubino@live.com:1.2", - "{5beb89b8-cd9a-46f8-8a0f-c3a34c5eceb1}:1.0", - "{5beb89b8-cd9a-46f8-8a0f-c3a34c5eceb1}:1.1", - "erpxt-extension@example.com:1.0", - "xifanasdsdsdsgczy@gmail.com:2.6.5", - "youtube-scheduler@yourdomain.com:1.4.5", - "youtube-scheduler@yourdomain.com:1.4.6", - "youtube-scheduler@yourdomain.com:1.5.0" - ] - }, - "schema": 1767054988539, - "key_format": "{guid}:{version}", - "stash_time": 1767076506246, - "id": "3a2f39ca-1851-4379-b7f0-164d585e5b28", - "last_modified": 1767076592048 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "261239765@qq.com:1.0" - ] - }, - "schema": 1767033381093, - "key_format": "{guid}:{version}", - "stash_time": 1767054906274, - "id": "99d8cbd5-ff16-485d-b2cc-165c62fc2595", - "last_modified": 1767054988191 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "webrtc-toggle@example.com:1.0.0", - "omnisync-icecat@croves.me:1.0", - "antitwitter@example.com:1.0", - "antitwitter@example.com:1.1", - "magnolia@12.34:4.2.7.3", - "magnolia@12.34:4.2.7.6", - "ai-code-hint@ramnaresh:1.1.1" - ] - }, - "schema": 1767011790486, - "key_format": "{guid}:{version}", - "stash_time": 1767033305689, - "id": "d8e33cf3-f6f9-4dd9-8997-1b8c38e24c54", - "last_modified": 1767033380950 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "Earn-Knowledge@srutiganti.com:2.0", - "{b50a9e65-6cfb-4fe9-986f-8a16acda8835}:1.1.6", - "{6384c57b-f03b-4de7-b146-d0159cde0ca2}:1.0.0", - "{6384c57b-f03b-4de7-b146-d0159cde0ca2}:1.1.0", - "{6384c57b-f03b-4de7-b146-d0159cde0ca2}:1.2.0", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.11", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.12", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.47", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.45", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.44", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.43", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.42", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.48", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.41", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.61", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.62", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.60", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.59", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.58", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.56", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.55", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.29", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.27", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.26", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.25", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.24", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.23", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.22", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.21", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.20", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.19", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.18", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.17", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.16", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.15", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.14", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.13", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.37", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.31", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.32", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.33", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.34", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.35", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.36", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.38", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.39", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.40", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.49", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.50", - "{20d87fd0-9e40-482f-8081-ce6802d639a8}:1.51", - "s.olegys0801@gmail.com:1.6", - "youtube-loop-toggle@dev.com:1.0", - "seekingalpha-paywall-remover@local.dev:1.12", - "@local:1.0", - "{8f551328-5ae0-4b98-8ab8-aa8c2ff0a35a}:1.0", - "{a55053e7-1f30-4d3e-8343-8ee0826984f6}:1.0", - "{40a56d9e-3b51-47c7-b203-00aedf0ba2b1}:1.0", - "{40a56d9e-3b51-47c7-b203-00aedf0ba2b1}:2.0", - "{69494d0f-bfb6-49bf-b903-29af556c57d6}:1.0", - "{e9c320c6-c109-4794-a626-3fbe2d80d05a}:1.0", - "{0710b24b-8a1b-4f54-b401-801901cae308}:1.0", - "{0710b24b-8a1b-4f54-b401-801901cae308}:1.1", - "{ca7ae057-7afe-4c04-bfa4-3008db0146bb}:1.0" - ] - }, - "schema": 1766990190430, - "key_format": "{guid}:{version}", - "stash_time": 1767011706260, - "id": "a806e2c7-7233-471a-8f89-3622a26ded92", - "last_modified": 1767011790277 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{c4943597-72ed-4b72-b7e8-2dbea0041a9c}:1.0", - "{f8413609-aed7-4746-a105-60fe13974532}:1.0", - "{b6499cce-d849-4421-a34a-7689118d7f09}:1.1", - "{32a6d9ee-aafd-4ed5-a839-c922cd979dd9}:11.1.0", - "rotnot@pupendo.com:0.2.0", - "favory@sp4ce.pw:2.4.6", - "favory@sp4ce.pw:2.4.7", - "{53d5a89a-8680-4c5d-bdb4-397e7192b722}:1.0", - "extensions@deepbrid.com:1.0.1", - "extensions@deepbrid.com:1.1.2", - "extensions@deepbrid.com:1.1.1", - "extensions@deepbrid.com:1.1.0", - "spelling-bee-buddy@example.com:1.3.0", - "meet-reminder@my-local-pc:1.0", - "glocker@glocker.local:1.1", - "glocker@glocker.local:1.0", - "{5dde6c50-6cea-463f-8c5a-3574552631c1}:1.1", - "{5dde6c50-6cea-463f-8c5a-3574552631c1}:1.1.1", - "youtubeRemote@bonehead.org:1.0.0", - "youtubeRemote@bonehead.org:1.0.1", - "{4a154b8d-b5ef-4767-80f7-120f801f718e}:1.0", - "{4a154b8d-b5ef-4767-80f7-120f801f718e}:1.5", - "{4a154b8d-b5ef-4767-80f7-120f801f718e}:2", - "{4a154b8d-b5ef-4767-80f7-120f801f718e}:3", - "{4a154b8d-b5ef-4767-80f7-120f801f718e}:4" - ] - }, - "schema": 1766968591910, - "key_format": "{guid}:{version}", - "stash_time": 1766990106452, - "id": "88d9bff2-ae55-459e-b550-ee93d9d22ba5", - "last_modified": 1766990190274 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "@private-history-cleaner-v4.1:0.2.6", - "berkay8110@gmail.com:2.4.0", - "berkay8110@gmail.com:2.4.1", - "@private-history-cleaner-v4.3:0.1", - "{efe9d9de-5a08-4ef9-b8f5-ecdb2aaa5d37}:1.0" - ] - }, - "schema": 1766946990282, - "key_format": "{guid}:{version}", - "stash_time": 1766968506642, - "id": "ebcd5de2-42ae-4960-aa91-da19bb10e914", - "last_modified": 1766968591689 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{fb277f3c-c0e9-42a9-810e-8537050cb111}:1.0", - "{fb277f3c-c0e9-42a9-810e-8537050cb111}:2.0", - "{acf9490d-97f7-4757-b9a2-bb19d3b916ca}:1.0", - "{acf9490d-97f7-4757-b9a2-bb19d3b916ca}:2.0", - "{f58c3171-a854-4516-b105-8662cb9bf2ab}:1.0", - "{f58c3171-a854-4516-b105-8662cb9bf2ab}:2.0", - "maar-ten@users.noreply.github.com:2.5", - "maar-ten@users.noreply.github.com:3.0", - "maar-ten@users.noreply.github.com:3.1", - "{548f9f3a-550b-4d63-a817-620ecff3c039}:1.2", - "{548f9f3a-550b-4d63-a817-620ecff3c039}:1.3", - "{548f9f3a-550b-4d63-a817-620ecff3c039}:1.4", - "jngkenaoceimiimeokpdbmejeonaaami@chrome-store-foxified--187331066:1.5.0", - "my-ext@example:1.1", - "passei-aki@renanrmx.github.io:2.4.0" - ] - }, - "schema": 1766925389978, - "key_format": "{guid}:{version}", - "stash_time": 1766946906687, - "id": "34efd211-44bb-47a0-8d13-a9c5307db32b", - "last_modified": 1766946990146 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.4.5", - "visited-links-colorizer@ngothang2805.github.io:1.2.6", - "video-preview-hover@trg69:1.0", - "comfyui-bridge@prompt-forge.ai:1.0.0" - ] - }, - "schema": 1766903778689, - "key_format": "{guid}:{version}", - "stash_time": 1766925306711, - "id": "ef1cd1b9-dcfa-4062-aff9-635bda374b54", - "last_modified": 1766925389765 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "article-to-epub@extension:1.0.0", - "favory@sp4ce.pw:2.4.4", - "favory@sp4ce.pw:2.4.3", - "favory@sp4ce.pw:2.4.2" - ] - }, - "schema": 1766882182227, - "key_format": "{guid}:{version}", - "stash_time": 1766903705650, - "id": "0c42868f-235e-4363-9d3a-f0f71d21e18c", - "last_modified": 1766903778554 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "crowbs00xx@gmail.com:1.0", - "browser-companion@encrypta.in:1.1.35", - "{b10fb653-1462-4855-aff0-fd23463e859e}:1.0", - "forecastfox-pirateweather@s3_fix_version:4.18" - ] - }, - "schema": 1766860591879, - "key_format": "{guid}:{version}", - "stash_time": 1766882105809, - "id": "848589a1-34e0-4fcd-ac68-936800b30836", - "last_modified": 1766882182088 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "@private-history-cleaner-v2:0.2.3", - "@private-history-cleaner-v2:0.2.4", - "urgesurf@urgesurf.app:1.0", - "urgesurf@urgesurf.app:1.1", - "urgesurf@urgesurf.app:1.2", - "urgesurf@urgesurf.app:1.3", - "urgesurf@urgesurf.app:1.4", - "urgesurf@urgesurf.app:1.5", - "urgesurf@urgesurf.app:1.6", - "urgesurf@urgesurf.app:1.7", - "urgesurf@urgesurf.app:1.8", - "urgesurf@urgesurf.app:1.9", - "urgesurf@urgesurf.app:2.0", - "urgesurf@urgesurf.app:2.1", - "urgesurf@urgesurf.app:2.2", - "urgesurf@urgesurf.app:2.3", - "urgesurf@urgesurf.app:2.4", - "atomicmail-manager@yourdomain.com:1.0.0", - "dich-truyen-plus2.2@extension:2.2", - "{f321b028-dc68-4800-b646-c5bc43490b09}:1.0", - "{f13fea77-aa6e-4714-abc8-d9f83a758633}:1.0", - "{8875e4fe-93ae-4148-8c2d-db5e8514d4e8}:1.0", - "{8875e4fe-93ae-4148-8c2d-db5e8514d4e8}:1.0.1" - ] - }, - "schema": 1766838980345, - "key_format": "{guid}:{version}", - "stash_time": 1766860506640, - "id": "0843dde4-98c3-4c9e-92cd-f441ba4ebbfc", - "last_modified": 1766860591626 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{30de6d57-c876-427a-bc81-1f0672fb993b}:0.1.0", - "{f89bd7bc-12cf-4f91-b3a9-7db903012ab8}:0.1.0", - "ydiaz@hiredexperts.com:1.0.6", - "gjyyds1@gjcraft.asia:1.0", - "contact@bulenox.codes:4.0", - "contact@bulenox.codes:4.3.3", - "sample-id-12@example.com:1.0" - ] - }, - "schema": 1766817393244, - "key_format": "{guid}:{version}", - "stash_time": 1766838905092, - "id": "c5b0ae85-7b31-4447-adcd-a1f3abd25b8d", - "last_modified": 1766838980092 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.4.1", - "halo-capture-temp@local:0.1.3", - "halo-capture-temp@local:1.0.0", - "halo-capture-temp@local:1.0.1", - "halo-capture-temp@local:1.0.3", - "halo-capture-temp@local:1.0.4", - "halo-capture-temp@local:1.0.5", - "{23628864-5769-435c-942a-4b32bd2bb6b1}:1.0", - "{d877cfa8-f2eb-4709-be10-fdde093c1ed2}:1.0", - "{d877cfa8-f2eb-4709-be10-fdde093c1ed2}:1.1", - "{d877cfa8-f2eb-4709-be10-fdde093c1ed2}:1.2", - "{d0b62351-41d0-43d4-849e-44e7df2cbd5c}:1.0", - "{5a7c48c1-87f8-4f6e-8b1d-ba4a49f66a00}:1.0", - "{5a7c48c1-87f8-4f6e-8b1d-ba4a49f66a00}:1.2", - "{5a7c48c1-87f8-4f6e-8b1d-ba4a49f66a00}:1.8", - "{5459544d-20ec-45dc-b18d-9de031bdc634}:1.0" - ] - }, - "schema": 1766795779096, - "key_format": "{guid}:{version}", - "stash_time": 1766817306449, - "id": "f1c4196c-859d-4f7a-a1ca-e8a4e95c5c0a", - "last_modified": 1766817392899 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{b4166db9-df5e-4847-a437-7d44974bf175}:2.0.0", - "{1a3491eb-d127-4024-9897-754d900ccb83}:4.3", - "{034c67d9-b135-4729-9aea-379b7f691960}:18.51", - "{2c5be051-ab03-437f-9fd1-9ad2a4d7286d}:4.28", - "{3ff9b470-a011-4520-9396-218091733701}:1.13", - "{b04ffe19-e1c8-4e9a-96b6-031febb37eb4}:3.70" - ] - }, - "schema": 1766774180837, - "key_format": "{guid}:{version}", - "stash_time": 1766795705534, - "id": "cf2a5907-3e58-4c5f-a275-3b486e9f6cb1", - "last_modified": 1766795778960 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{f2f88c1c-bc62-4344-b006-a1f996fee295}:1.0", - "auto-pin-media@example.com:1.2" - ] - }, - "schema": 1766752590019, - "key_format": "{guid}:{version}", - "stash_time": 1766774105775, - "id": "ea9333b7-53b0-49e2-85c9-e6e48922b712", - "last_modified": 1766774180491 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{9d88f095-6fdc-4abc-b68f-7d686f81a10d}:1.0", - "miguelaraujo.web@gmail.com:4.0.0" - ] - }, - "schema": 1766730978518, - "key_format": "{guid}:{version}", - "stash_time": 1766752506365, - "id": "db52cbab-3274-49bf-b579-190c78e9216b", - "last_modified": 1766752589897 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{56fd3a70-5331-42ea-92d0-b0505792fc98}:16.40", - "{7e3d2ae8-3470-408d-8e88-4e2459b02618}:7.47", - "calendar-extension@calendrier.com:1.0", - "calendar-extension@calendrier.com:1.1", - "favory@sp4ce.pw:2.3.7", - "favory@sp4ce.pw:2.4.0", - "serverid-switcher@example.com:3.0", - "baaaamynew--timer@example.com:1.2", - "serverid-switcher@example.com:1.0", - "support@tabcolorizer.io:1.6.15", - "support@tabcolorizer.io:1.6.5" - ] - }, - "schema": 1766709390047, - "key_format": "{guid}:{version}", - "stash_time": 1766730905203, - "id": "f6f40230-e21c-4e68-9257-7c318d34631c", - "last_modified": 1766730978380 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "publishing-date-finder@lazarcovs.com:1.0.0", - "publishing-date-finder@lazarcovs.com:1.1.0", - "publishing-date-finder@lazarcovs.com:1.2.4", - "publishing-date-finder@lazarcovs.com:1.2.5", - "{6eefc195-70ee-4475-867b-4d02cf7355f8}:1.0", - "{6eefc195-70ee-4475-867b-4d02cf7355f8}:1.1" - ] - }, - "schema": 1766687791326, - "key_format": "{guid}:{version}", - "stash_time": 1766709306497, - "id": "64ce261c-4951-43e4-b546-1fadcb200469", - "last_modified": 1766709389828 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{3cba1448-1c5f-4e5a-8548-53417f91f2ea}:6.44", - "scloud-filter@local:1.0", - "temp-mail@temp-mail.ai:1.2.0", - "adblock@example.org:1.5" - ] - }, - "schema": 1766666188844, - "key_format": "{guid}:{version}", - "stash_time": 1766687706579, - "id": "6e380cd4-ca9e-4667-928c-4a8c6fa3a012", - "last_modified": 1766687791051 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "amynew--timer@example.com:1.2", - "aamynew--timer@example.com:1.2", - "500newtabs@olibu.com:0.0.3", - "500newtabs@olibu.com:0.0.2", - "500newtabs@olibu.com:0.0.1", - "sip-custom-startpage@serph4:1.1.5", - "teste@teste.com:1.1" - ] - }, - "schema": 1766644580135, - "key_format": "{guid}:{version}", - "stash_time": 1766666106462, - "id": "12c29433-d555-4254-88f9-e90fd80f648e", - "last_modified": 1766666188685 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "xhamster-history-auto-delete@example.com:3.1", - "@auto-close-no-data:1.0", - "dns@wesinator.github.io:0.8", - "timer-link-opener@example.com:1.2", - "{c004c39a-e41d-4227-819e-bedf1cef0418}:1.0", - "my-new-timer@example.com:1.2", - "mynew-timer@example.com:1.2", - "@new-tab-page.overcq.com:3.3.1.1", - "mynew--timer@example.com:1.2" - ] - }, - "schema": 1766622979489, - "key_format": "{guid}:{version}", - "stash_time": 1766644505553, - "id": "3c2d51e8-ba74-41d9-a8c6-cf7ce29b00d0", - "last_modified": 1766644579982 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "optiload@yourdomain.com:1.0.1", - "optiload@yourdomain.com:1.0.0" - ] - }, - "schema": 1766601378045, - "key_format": "{guid}:{version}", - "stash_time": 1766622905568, - "id": "69ffb1ac-796e-416d-b727-c6affb9b8ac3", - "last_modified": 1766622979143 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "siftahladim-ilan-ekle@ferhatcengz:1.0.0", - "siftahladim-ilan-ekle@ferhatcengz:1.0.1", - "kill_ouo_timer@null:1.0", - "kill_ouo_timer@null:2.0", - "owhefoiubewcawoiefji@null:2.0", - "{6cb58878-cac7-44c7-af55-1bdb809f81a7}:1.0", - "technopat-ai-asistan@atakan.karakus:3.2.0" - ] - }, - "schema": 1766579791568, - "key_format": "{guid}:{version}", - "stash_time": 1766601305163, - "id": "8759d982-b9dd-400e-a079-6d71c2449d06", - "last_modified": 1766601377812 - }, - { - "stash": { - "blocked": [ - "{32a6d9ee-aafd-4ed5-a839-c922cd979de9}:11.1.0", - "{907ed6bd-dc2b-47d1-9ff2-5d639221847b}:1.0", - "{907ed6bd-dc2b-47d1-9ff2-5d639221847b}:1.1.2", - "{fb0d5e86-9815-4951-82f8-a2d6a3e5ed55}:1.0", - "{fb0d5e86-9815-4951-82f8-a2d6a3e5ed55}:1.2", - "{e310c726-71fb-4ee1-83e6-5886c94c9803}:1.0.0", - "{e310c726-71fb-4ee1-83e6-5886c94c9803}:2.2" - ], - "unblocked": [], - "softblocked": [ - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:6.1", - "{a60a9c39-104b-451b-a651-e36c6d247726}:1.6.24", - "{a60a9c39-104b-451b-a651-e36c6d247726}:1.6.64", - "{a60a9c39-104b-451b-a651-e36c6d247726}:1.6.65", - "{a60a9c39-104b-451b-a651-e36c6d247726}:1.6.96", - "{a60a9c39-104b-451b-a651-e36c6d247726}:1.6.97", - "precheck-widget@local:1.0", - "precheck-widget-gn@local:1.0", - "{693c5f72-d733-4fb9-aaf8-7fac32ef5a6d}:1.10", - "{693c5f72-d733-4fb9-aaf8-7fac32ef5a6d}:1.11", - "{693c5f72-d733-4fb9-aaf8-7fac32ef5a6d}:1.20", - "{290aab70-dc03-44dc-89e4-d0a38d428647}:1.0", - "{6c86738b-4526-4bb9-8211-dce8debc72f6}:1.11", - "{d29d24b7-cfac-4fd3-bf72-45d3f6fd41d0}:1.0", - "{a9c44835-5ec2-42db-b52b-cc72d3f94d4e}:1.0", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.0", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.1", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.2", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.21", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.22", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.23", - "{4e716b30-856f-470b-bd9a-36bc6d92f024}:1.24", - "civitai-comfyui-downloader@example.com:1.0.0" - ] - }, - "schema": 1766558178769, - "key_format": "{guid}:{version}", - "stash_time": 1766579706380, - "id": "5553f7c7-7fe9-4ce1-9b23-ff5403b9f271", - "last_modified": 1766579791409 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{87462328-db80-4257-9c9e-f46da8b4090d}:1.0", - "{87462328-db80-4257-9c9e-f46da8b4090d}:2.0", - "{87462328-db80-4257-9c9e-f46da8b4090d}:3.0", - "{a122f33f-4f3f-49cb-9c56-2b0f9d5f2296}:1.0", - "emmy-tools@amazon.com:1.2.2", - "{595e4c4d-fd50-4a98-bf00-580b3d1b03d3}:1.3", - "{1357aced-aced-5312-1729-34125ace4ace}:1.0.2" - ] - }, - "schema": 1766536589536, - "key_format": "{guid}:{version}", - "stash_time": 1766558105144, - "id": "52cb98bc-cd06-40cf-a87c-840acfadbb3d", - "last_modified": 1766558178531 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "vpn@protons.ch:1.2.9", - "auto_valvur24@example.com:1.0", - "{f822aaf8-16e7-4cb8-8161-c04c4994401a}:1.0", - "sc-speed-pro@max.dev:1.7.9" - ] - }, - "schema": 1766514984205, - "key_format": "{guid}:{version}", - "stash_time": 1766536506430, - "id": "14b7888f-1b3d-42de-bb3a-b84504b77aa7", - "last_modified": 1766536589360 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "hub-manager@amazon.com:6.6", - "hub-manager@amazon.com:1.0", - "harmony-vrid@yourcompany.com:4.1", - "harmony-vrid@yourcompany.com:4.2", - "harmony-vrid@yourcompany.com:4.3", - "harmony-vrid@yourcompany.com:4.4", - "harmony-vrid@yourcompany.com:4.5", - "harmony-vrid@yourcompany.com:4.6", - "harmony-vrid@yourcompany.com:4.7", - "harmony-vrid@yourcompany.com:4.8", - "harmony-vrid@yourcompany.com:4.9", - "harmony-vrid@yourcompany.com:5.1", - "harmony-vrid@yourcompany.com:5.2", - "harmony-vrid@yourcompany.com:5.3", - "harmony-vrid@yourcompany.com:5.4", - "harmony-vrid@yourcompany.com:5.5", - "harmony-vrid@yourcompany.com:5.6", - "harmony-vrid@yourcompany.com:5.7", - "harmony-vrid@yourcompany.com:5.8", - "harmony-vrid@yourcompany.com:5.9", - "harmony-vrid@yourcompany.com:6.0", - "harmony-vrid@yourcompany.com:6.1", - "harmony-vrid@yourcompany.com:6.2", - "harmony-vrid@yourcompany.com:6.3", - "harmony-vrid@yourcompany.com:6.4", - "hub-manager@amazon.com:1.1", - "{d08bd171-a3f5-450f-9382-2d8eda13dc2a}:1.0", - "{d08bd171-a3f5-450f-9382-2d8eda13dc2a}:2.0", - "t6b@de:2.0", - "{7fb4f23f-d3ad-4286-a13b-fb08c87937db}:1.0.283", - "bahria-cms-attendance-tracker@your-name.org:1.0.0", - "v4-contacts@vdm-vsg.de:1.0.0" - ] - }, - "schema": 1766493379301, - "key_format": "{guid}:{version}", - "stash_time": 1766514906131, - "id": "630c5b5d-7cc5-4f95-88a3-c3cb5bdd0a76", - "last_modified": 1766514984043 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "@head-on-dev-browser-extension:0.0.1", - "@grip.security.beta1:0.0.3", - "@grip.security.beta1:0.0.2", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:5.6", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:6.0", - "{d390843c-69cf-4196-9875-4b51c2b80934}:1.1", - "{d390843c-69cf-4196-9875-4b51c2b80934}:1.2" - ] - }, - "schema": 1766471780805, - "key_format": "{guid}:{version}", - "stash_time": 1766493305415, - "id": "c84a3992-a5b6-4688-a86f-e6e2aebf0501", - "last_modified": 1766493379033 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "recording-extensions@skyatt.net_beta1:1.0", - "recording-extensions@skyatt.net_beta1:1.0beta1", - "recording-extensions@skyatt.net_beta1:1.1", - "recording-extensions@skyatt.net_beta1:1.0.0.2", - "skyatt-recording-extensions-beta@skyatt.net:1.0.3", - "skyatt-recording-extensions-beta@skyatt.net:1.0.4", - "hogehoge@fugafuga99.com:1.0beta1", - "hogehoge@fugafuga99.com:1.0beta2", - "hogehoge@fugafuga99.com:1.0", - "hogehoge@fugafuga99.com:0.1", - "hogehoge@fugafuga99.com:1.0BETAA1", - "hogehoge@fugafuga99.com:1.3", - "hogehoge@fugafuga99.com:1.4", - "youtube-volume-toggle@local:1.7", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.1.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.2.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.2.1", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.3.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.4.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.5.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.6.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.7.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.8.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.8.5", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.8.6", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.9.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.9.2", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.10.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.10.1", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.11.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.11.5", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.11.6", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.12.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.13.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.14.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.14.1", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.14.2", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.14.3", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.15.0", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.15.1", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.15.2", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.15.3", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.15.4", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.15.5", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:1.16.6", - "{4b726fbc-aba9-4fa7-97fd-a42c2511ddf7}:2.1.1", - "identra-guard@identra.ai:1.0.40" - ] - }, - "schema": 1766450189818, - "key_format": "{guid}:{version}", - "stash_time": 1766471705064, - "id": "db57fcca-976d-4aa3-afa8-144247255698", - "last_modified": 1766471780533 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "github-notify@example.com:1.0", - "olih@live.at:1.0", - "favory@sp4ce.pw:2.3.6", - "{6ce7aa95-13f5-455a-b779-b0c16ace2750}:1.70", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.3", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.4", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.5", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.6", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.7", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.8", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.9", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.10", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.11", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.12", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.13", - "{804165e5-f1ae-45c7-a974-e00772c866e6}:1.14", - "{6ce7aa95-13f5-455a-b779-b0c16ace2750}:1.71", - "eleven-audio-amplifier@your-email.com:1.0.0", - "imagus-reborn@extension-id.com:2025.12.21" - ] - }, - "schema": 1766428589924, - "key_format": "{guid}:{version}", - "stash_time": 1766450106383, - "id": "610ced53-29c7-40aa-98e8-1c79a9047d31", - "last_modified": 1766450189508 - }, - { - "stash": { - "blocked": [ - "slush.addon@outlook.com:2.1.4", - "slush-panel2@slush.dev:2.1.4" - ], - "unblocked": [], - "softblocked": [ - "pilpropj-icecat@orange.com:2.5", - "crystal-report-printer@myk-the-one.local:1.4.2", - "securesafe-pass@dswiss.com:1.0.3", - "bookmark-sr@razvan:1", - "bookmark-sr@razvan:2", - "favory@sp4ce.pw:2.3.5", - "{95939547-ac97-4441-9c0e-d89616635758}:1.0", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.0", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.1", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.2", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.3", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.4", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.5", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.6", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.7", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.8", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.9", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.10", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.11", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.12", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.13", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.14", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.15", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.16", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.17", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.18", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.19", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.20", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.21", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.22", - "OutlookWebAppDarkTheme@WolfDev.com:1.0.23", - "{3be3c089-1c4f-4bc5-bf55-33d41d96f87d}:1.0", - "{3be3c089-1c4f-4bc5-bf55-33d41d96f87d}:1.1" - ] - }, - "schema": 1766406989510, - "key_format": "{guid}:{version}", - "stash_time": 1766428506282, - "id": "71e3d61e-a2f6-4c57-a034-a77b4f6e9d42", - "last_modified": 1766428589765 - }, - { - "stash": { - "blocked": [ - "{f58688c8-d4f2-470c-bceb-c07ab8d905aa}:1.0.0", - "{f58688c8-d4f2-470c-bceb-c07ab8d905aa}:1.2", - "{a1ac25bb-4182-4a19-a246-22939cd93544}:1.0.0", - "{a1ac25bb-4182-4a19-a246-22939cd93544}:1.3", - "{0abb2d5b-3b27-4822-b0de-b391b6ce3d88}:1.0.0", - "{b6420498-ee08-40eb-ad3b-00fc65d5ca48}:1.0.0", - "{54e18476-9014-4e93-9ea5-4a9c7703fb9a}:1.0.0", - "{2da69b3f-585b-4857-99bd-bae7c180d20d}:1.0.0", - "{0d338994-4e31-4df8-b71f-084aae9147e2}:1.0.0", - "{d67b5afd-3600-4834-9f1e-6c4fe72aa03c}:1.0.0" - ], - "unblocked": [], - "softblocked": [ - "test824u73@example.com:8.2.4", - "test824u72@example.com:8.2.4", - "test824u71@example.com:8.2.4", - "maystor@perjika.com:1.0", - "maystor@perjika.com:1.0.2", - "alphapai-extension@rabyte.cn:1.0.2", - "yromeqwkaqfsd@gmail.com:1.0", - "yromkaq@mail.ru:1.0" - ] - }, - "schema": 1766385393627, - "key_format": "{guid}:{version}", - "stash_time": 1766406906673, - "id": "56c94e5b-5b7a-4212-8f85-37991906e233", - "last_modified": 1766406989276 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{6606cc58-1cb6-4c1f-ad1c-528286e1dcfc}:0.1.0", - "{85111c37-311f-4ea7-81fb-8e97ded12922}:1.0", - "{8d18c107-4ec5-4654-bf5c-69421129ffdd}:1.0", - "{8d18c107-4ec5-4654-bf5c-69421129ffdd}:2.0", - "{e7d53e90-d239-4bff-bd39-58ab3f9dd133}:1.0", - "{c7ea14c4-21fe-4175-b83a-bea02f241e0c}:1.0", - "{74f5b41a-fb33-46ce-a23d-f2dc9237f9a2}:1.0", - "{ee4e7769-121a-4cbb-af26-5a04bfa829fa}:1.0", - "{42516e2c-0be4-4882-be3d-e069624fa4ed}:1.0", - "{6921dfab-4306-4685-9f7e-4b28cc2afee4}:1.0", - "{64d53a22-91d3-480f-9a9f-8f5971fb38d5}:1.0", - "{689509d4-9dca-4e76-808f-c83449d2a454}:1.0", - "{8ae38448-6888-43c7-992e-c053ddd8ab74}:1.0", - "{05516d00-24f0-435b-8776-86a27491f810}:1.0", - "{5024a39f-9cff-4a3e-8c90-a8651e9462df}:1.0", - "{6a41deb3-a249-427c-ab4f-2e1bbd199e07}:1.0", - "{80048720-8bd4-46ec-b43d-7b7a0b7e93f2}:1.0", - "{6d1f40d9-719c-4c75-a6da-ab0f1df96032}:1.0" - ] - }, - "schema": 1766363779049, - "key_format": "{guid}:{version}", - "stash_time": 1766385306306, - "id": "b93e90b4-0fe4-491b-a0b3-19e0d5500307", - "last_modified": 1766385393336 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.3.3", - "Soluna@Sytonic.com:1.2", - "Soluna@Sytonic.com:1.2.1", - "{7f3b9e7a-9c4d-4a4c-b6c3-6f1b8e0a2d91}:10.0.271.2", - "favory@sp4ce.pw:2.3.4", - "{dfb78fb6-b53a-4747-9f0f-8588869c8b3c}:1.0" - ] - }, - "schema": 1766342182478, - "key_format": "{guid}:{version}", - "stash_time": 1766363705409, - "id": "921decc2-76c7-48f0-ae1a-f1794451b73e", - "last_modified": 1766363778756 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "iva21-base@joyariart.com:1.0.3", - "iva21-base@joyariart.com:1.0.2", - "{621a0509-fbae-4277-98fb-c7985cc2d8f3}:1.0", - "{560e10f3-948b-46e9-88ab-43608634b727}:1.0", - "{96969e57-8c60-4cfd-a64d-54eeea73fdf9}:1.0", - "drag_to_privew@uxer:0.0.71", - "aura@sagarsirikonda:1.0.0", - "drag_to_privew@uxer:0.0.72" - ] - }, - "schema": 1766320579650, - "key_format": "{guid}:{version}", - "stash_time": 1766342106172, - "id": "fc6106ac-0044-4d40-a805-d92263126412", - "last_modified": 1766342182200 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{ed4257b8-84b3-466c-8005-af0024949cef}:0.1.29", - "{617192a5-56a6-467e-9d75-89341210d398}:1.7.8", - "searchng@shion-ng.addon:1.0", - "searchng@shion-ng.addon:1.0.1", - "pl-en@magnus:1.0.2", - "pl-en@magnus:1.1.0", - "pl-en@magnus:1.1.1", - "pl-en@magnus:1.2.1", - "pl-en@magnus:1.2.2", - "pl-en@magnus:1.2.3", - "pl-en@magnus:1.2.4", - "pl-en@magnus:1.2.5", - "{d78bb7d2-345b-4b3e-8d30-80e6361f89d0}:1.0", - "{25fedb69-b4ac-4e5c-895d-bbfc08972afa}:1.0", - "{21691324-6e9d-4a96-91d9-6f819323cd2a}:1.0", - "{b315d16a-346a-416d-a639-3bdca9396eca}:1.0", - "{dca5e6da-bed3-4405-ac61-985854837a64}:1.0", - "{dca5e6da-bed3-4405-ac61-985854837a64}:2.0", - "{dca5e6da-bed3-4405-ac61-985854837a64}:3.0", - "{dca5e6da-bed3-4405-ac61-985854837a64}:3.14" - ] - }, - "schema": 1766298977234, - "key_format": "{guid}:{version}", - "stash_time": 1766320505609, - "id": "89c70984-0069-4e96-bf57-5fa7375a1e89", - "last_modified": 1766320579391 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.3.1", - "{36e8d5c0-9e4d-45d3-b535-388cee166a29}:1.0.0", - "favory@sp4ce.pw:2.3.2", - "{cdbecd81-1ea3-4a20-bfa4-d047ab3b3d3f}:1.0", - "lavaglowdrift@example.com:1.0", - "frostcrystalveins@example.com:1.0", - "systems_at_finall_work_v4@ata.local:23.0.0", - "auroraribboncurve@example.com:1.0", - "@start-gg-conflict-finder:1.0", - "{389c1550-ed09-4a36-ab56-64e1c3a1463a}:1.0" - ] - }, - "schema": 1766277378752, - "key_format": "{guid}:{version}", - "stash_time": 1766298905579, - "id": "a545bf53-3284-46fb-b825-e3061651b177", - "last_modified": 1766298976969 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{549f5231-d65d-4f36-bffb-b0549f157844}:1.0", - "matryona-adblock@icecat:1.11", - "{7c7f6dea-3957-4bb9-9eec-2ef2b9e5bcec}:1.6.44", - "{7c7f6dea-3957-4bb9-9eec-2ef2b9e5bcec}:1.6.43", - "{7c7f6dea-3957-4bb9-9eec-2ef2b9e5bcec}:1.6.45", - "{7c7f6dea-3957-4bb9-9eec-2ef2b9e5bcec}:1.6.46", - "{e70111b3-b362-47a7-bbdc-a6fb7249d47a}:3.12.1", - "{ed3d93b0-16a0-4524-9d67-d6875d7c6f49}:1.13", - "{ed3d93b0-16a0-4524-9d67-d6875d7c6f49}:1.14", - "{b6bb262b-1049-47a6-a86f-5919dabd8952}:1.0.0", - "favory@sp4ce.pw:2.3.0", - "KunaRefresh@bulaxy.dev:1.0.0", - "KunaRefresh@bulaxy.dev:1.0.1", - "KunaRefresh@bulaxy.dev:1.0.2", - "KunaRefresh@bulaxy.dev:1.1.0", - "OnlyTalkToKuna@bulaxy.dev:0.0.0", - "StickWithKuna@bulaxy.dev:1.0.0", - "StickWithKuna@bulaxy.dev:1.0.1", - "StickWithKuna@bulaxy.dev:1.1.0", - "StickWithKuna@bulaxy.dev:1.2.0", - "StickWithKuna@bulaxy.dev:1.3.0", - "StickWithKuna@bulaxy.dev:1.3.1", - "StickWithKuna@bulaxy.dev:1.4.0", - "StickWithKuna@bulaxy.dev:1.4.1" - ] - }, - "schema": 1766255778925, - "key_format": "{guid}:{version}", - "stash_time": 1766277305290, - "id": "ca949806-73e9-4e92-a088-3c2becb889d1", - "last_modified": 1766277378445 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{1e95ff7a-6043-48c3-bbc8-d5d931cd6671}:1.0", - "vot@icecat.extension:1.10.4", - "vot@icecat.extension:1.0.0", - "vot@icecat.extension:1.10.5", - "vot@meowrch:1.10.5", - "{b5a87e37-4945-481b-a19d-699de2814c10}:1.0.0", - "{0db676d9-e605-4e44-a50c-c9ce776442b6}:1.0.0", - "{4c4ab394-93cb-4713-9d31-90296fbea90d}:1.0", - "{246d16d4-69c8-419e-8da0-db0c922865db}:1.0", - "{b7fcd6a7-fb12-40da-a931-7ae811d3ccbb}:1.0.0", - "{b7fcd6a7-fb12-40da-a931-7ae811d3ccbb}:1.2", - "{b7fcd6a7-fb12-40da-a931-7ae811d3ccbb}:2.2", - "{38bb2a1d-e3df-4200-8f42-2a1a812988db}:1.0.0", - "{277de77e-a9ba-448a-9d2d-6a7a7985e44c}:1.0.0", - "{277de77e-a9ba-448a-9d2d-6a7a7985e44c}:1.1.2" - ] - }, - "schema": 1766234179516, - "key_format": "{guid}:{version}", - "stash_time": 1766255704981, - "id": "b2216402-2cf8-447d-b1d1-ea50ce052408", - "last_modified": 1766255778662 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "kinozalhelper@elektrikis.id.lv:3.5.0", - "kinozalhelper@elektrikis.id.lv:3.5.1", - "kinozalhelper@elektrikis.id.lv:3.6.0", - "kinozalhelper@elektrikis.id.lv:3.6.1", - "kinozalhelper@elektrikis.id.lv:3.6.2", - "kinozalhelper@elektrikis.id.lv:3.6.3", - "kinozalhelper@elektrikis.id.lv:3.7.0", - "kinozalhelper@elektrikis.id.lv:3.7.1", - "manwinwin-terminate@example.com:1.0", - "iva21-base@joyariart.com:1.0.7", - "iva21-base@joyariart.com:1.0.4.1", - "iva21-base@joyariart.com:1.0.8", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.1", - "InviTube@Indogermane:1.3", - "YouPiped@Indogermane:1.8", - "YouTubeTVPS5@corkgp.app:1.1.0", - "YouTubeTVPS5@corkgp.app:1.2.0" - ] - }, - "schema": 1766212582336, - "key_format": "{guid}:{version}", - "stash_time": 1766234105439, - "id": "349e52e3-613d-40e3-8152-d9edf67cfa56", - "last_modified": 1766234179270 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{35bbaed5-70a5-4105-8f58-142061160a6a}:5.0", - "{066b9ca2-4203-4719-88d2-250f9eecb0be}:1.0" - ] - }, - "schema": 1766190991156, - "key_format": "{guid}:{version}", - "stash_time": 1766212505681, - "id": "35fbda33-5c03-4327-a54c-64ee8eb6f9f6", - "last_modified": 1766212582094 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "songsterr-downloader@ertagh.de:1.0.0", - "favory@sp4ce.pw:2.2.6", - "@remove-canvas-ks:1.0", - "@remove-canvas-ks:1.1", - "{dbc85bef-12a2-4224-a971-2ddc279e660b}:2.3.1", - "{dbc85bef-12a2-4224-a971-2ddc279e660b}:2.3.2", - "aileihjgpakhkhedejpkpamnhpbnjhoj@chrome-store-foxified-unsigned:2.3", - "vimium-dev@ryi:2.3.1", - "{d7742d87-e61d-4b78-b8a1-b469842139ff}:0.0.1", - "favory@sp4ce.pw:2.2.7", - "favory@sp4ce.pw:2.2.8", - "@KISKO-KB:1.0.0", - "favory@sp4ce.pw:2.2.9" - ] - }, - "schema": 1766169388427, - "key_format": "{guid}:{version}", - "stash_time": 1766190906886, - "id": "f9c3e5e8-99dd-4bf1-83d3-faf74d5464b9", - "last_modified": 1766190991006 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{17e88b83-99ed-49ee-9395-945821ce2cda}:1.12.20265.1", - "{17e56df6-3f52-4fba-85df-3953aa715c10}:1.11.3.11", - "{17e56df6-3f52-4fba-85df-3953aa715c10}:1.12.20265.1", - "{e0c04942-b9d5-4619-a0a8-19f1eed0907a}:1.11.3.11", - "{e0c04942-b9d5-4619-a0a8-19f1eed0907a}:1.12.20265.1", - "{c466efb2-3aae-4b8d-ba13-ff210dab4bf7}:1.11.3.11", - "{c466efb2-3aae-4b8d-ba13-ff210dab4bf7}:1.12.20265.1", - "webrootsecure@webroot.com:1.10.1.24", - "webrootsecure@webroot.com:1.10.2.2", - "webrootsecure@webroot.com:1.10.2.3", - "@z-lib.fm:1.4.1", - "devilgreenday17@gmail:1.0.0", - "{c5ee159a-1900-446f-b695-83e4bc00dce0}:1.1.0", - "nudge-security-extension-internal@nudge.security:0.10.72", - "gitlab-enhancer@sp-enreach.com:1.0", - "{92f62dfb-de63-4737-820d-e92d4364a13b}:1.0", - "{92f62dfb-de63-4737-820d-e92d4364a13b}:1.2", - "{d0cf9c1d-30b2-415f-847c-d560297eea2a}:1.0", - "{22919b8a-3e6e-4529-aa25-8f7665bc0d6c}:1.0", - "valamovieez-to-pulsedl@example.com:1.0", - "truth-hounds@local:0.2.12" - ] - }, - "schema": 1766147789701, - "key_format": "{guid}:{version}", - "stash_time": 1766169305932, - "id": "b4432f41-cf0f-4f3f-b591-36bfc680639c", - "last_modified": 1766169388177 - }, - { - "stash": { - "blocked": [ - "plugin-extension2@local.dev:1.5" - ], - "unblocked": [], - "softblocked": [ - "mark-e@mehrwerk.de:1.1", - "mark-e@mehrwerk.de:1.2", - "{729fbf26-0950-435f-9285-4b731bc3e8a0}:1.5.5", - "{729fbf26-0950-435f-9285-4b731bc3e8a0}:1.5.4", - "{729fbf26-0950-435f-9285-4b731bc3e8a0}:1.5.3", - "{729fbf26-0950-435f-9285-4b731bc3e8a0}:1.5.1", - "{504b1cd7-ff02-4c9a-9f0c-41da3aa62110}:1.0", - "{33087e30-34a9-47f3-b4bd-70e30995f569}:1.0", - "truth-hounds@local:0.1.1", - "chaja@alex.dev:0.2.0", - "{04f8a6b0-e077-4707-bc5e-32d0861d3dec}:1.0", - "navigation-profiles@vaskveider.mozilla.org:1.4.270" - ] - }, - "schema": 1766126183295, - "key_format": "{guid}:{version}", - "stash_time": 1766147706083, - "id": "5677fff9-9c7f-4d08-b089-48c713e9783c", - "last_modified": 1766147789350 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "mosa.allbedre0@gmail.com:1.4", - "{a027b524-0f1b-48c5-a5a2-3ea1f65a00d9}:1.0" - ] - }, - "schema": 1766104581307, - "key_format": "{guid}:{version}", - "stash_time": 1766126105865, - "id": "819b49b2-46d3-4ea4-866b-966c721626b8", - "last_modified": 1766126183013 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "speed-dial@talentsphere.ca:1.1.2", - "{a9f1c735-1b2c-47dc-adbb-cc5b26e2dd56}:1.0", - "{1603a80e-3de9-4cee-81ba-c56a7659cabd}:0.1", - "{1603a80e-3de9-4cee-81ba-c56a7659cabd}:0.2", - "{1603a80e-3de9-4cee-81ba-c56a7659cabd}:0.3", - "{5d94c772-d5d8-4be4-bc67-706b68d3701a}:1.0", - "{f0176302-dda2-4bb6-8e8d-07639efacab8}:1.0", - "mosa.allbedre8@gmail.com:1.0", - "mosa.allbedre8@gmail.com:1.1", - "mosa.allbedre8@gmail.com:1.2", - "{6a38c16d-37e7-4dad-a403-a638c3a8d7c6}:1.0", - "{ef70ee06-81b8-4503-87e8-e7299d0c2f13}:1.0", - "{de8247a6-6ab2-47a6-864e-19132385c2e5}:1.0", - "{347f719e-1414-43ef-abb5-07e68502f92a}:1.0", - "icecat-extension@melchio:1.0.2", - "focus-mode@personal.extension:1.2.0", - "{72debdf6-7bd4-4ce0-93d0-e9e607dad2ab}:1.0" - ] - }, - "schema": 1766082980445, - "key_format": "{guid}:{version}", - "stash_time": 1766104505307, - "id": "3a243730-51f4-4f7f-8569-24025bed93bf", - "last_modified": 1766104581173 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:2.2.3", - "favory@sp4ce.pw:2.2.4", - "favory@sp4ce.pw:2.2.5", - "ydiaz@hiredexperts.com:1.0.3", - "ydiaz@hiredexperts.com:1.0.4", - "ydiaz@hiredexperts.com:1.0.5", - "{20be77a2-7ab4-4f3b-9611-96f05a926be0}:0.6.5", - "pilpropj-icecat@orange.com:2.3", - "{8b81a2a2-bb2f-4974-8d79-ab3d1420660e}:1.0", - "{8b81a2a2-bb2f-4974-8d79-ab3d1420660e}:2.0", - "{41cef68a-4fbc-4577-aadc-f3fbafabcd50}:1.0", - "jccocffecajimkdjgfpjhlpiimcnadhb@chrome-store-foxified-1313464560:3.2", - "lichess-advanced-search@local:0.1.0", - "package-tracker@icecat-extension:1.0", - "{b84a0fc3-7ef1-40f2-9853-3158bed3e7ce}:1.9.4" - ] - }, - "schema": 1766061390927, - "key_format": "{guid}:{version}", - "stash_time": 1766082905445, - "id": "1061a3c6-24aa-4565-88f8-858026d4c145", - "last_modified": 1766082980025 - }, - { - "stash": { - "blocked": [ - "{dd489b5c-1f9e-4bf4-80af-77857e2739f4}:1.1", - "{dd489b5c-1f9e-4bf4-80af-77857e2739f4}:1.2" - ], - "unblocked": [], - "softblocked": [ - "mohalata-capture@mohalata.app:0.0.4", - "{19321c4f-a39e-4578-b7a8-5093355ab3a1}:1.0.10", - "{dd3db273-9825-4419-b6ff-8380e1081867}:1.0.4", - "{89eb8a21-6311-4e15-a388-fef93fa61f66}:1.0.1", - "{95ccf8ff-7b52-49b6-9319-cbca4bcc7677}:1.0.0", - "{c6cec315-7273-46a0-830a-cb369ce2b535}:1.0.0", - "asic-extractor@clearbyte.au:1.4", - "asic-extractor@clearbyte.au:1.5", - "asic-extractor@clearbyte.au:1.6", - "reloadtabs@example.com:8.1", - "reloadtabs@example.com:7.5", - "reloadtabs@example.com:7.3", - "reloadtabs@example.com:7.1", - "skyblind@lukesteuber.com:1.0.0", - "skyblind@lukesteuber.com:1.1.0", - "skywire-dm@lukesteuber.com:1.0.0", - "skywire@lukesteuber.com:1.0.0", - "skygram@lukesteuber.com:1.0.0", - "skygram@lukesteuber.com:1.0.1", - "blueblindfold@lukesteuber.com:1.0.0", - "blueblindfold@lukesteuber.com:1.0.1", - "bluewall@lukesteuber.com:1.1.0", - "bluedreams@lukesteuber.com:1.0.0", - "asic-extractor@clearbyte.au:1.7", - "asic-extractor@clearbyte.au:1.8" - ] - }, - "schema": 1766039781109, - "key_format": "{guid}:{version}", - "stash_time": 1766061306291, - "id": "28d6edaf-0b0d-4e78-87b3-c1c4da374b62", - "last_modified": 1766061390701 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "webaiassistant@users.noreply.github.com:1.5", - "{2791ccd5-c212-4565-aa93-efa127365f84}:1.0.0", - "asic-extractor@clearbyte.au:1.1", - "asic-extractor@clearbyte.au:1.2", - "asic-extractor@clearbyte.au:1.3", - "webaiassistant@users.noreply.github.com:1.5.1", - "{5439daba-3e1c-4ccb-9fd7-57dc20f1fc7e}:1.0", - "webaiassistant@users.noreply.github.com:1.5.5", - "jcpqdstAfroSAfroMonitorIA@AfroMonitorIA.com:1.0", - "jcpqdstAfroSAfroMonitorIA@AfroMonitorIA.com:1.1", - "jcpqdstAfroSAfroMonitorIA@AfroMonitorIA.com:1.2" - ] - }, - "schema": 1766018188832, - "key_format": "{guid}:{version}", - "stash_time": 1766039705433, - "id": "df2647e1-aa08-48af-9893-0b5d2846826c", - "last_modified": 1766039780882 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{7dea0b1f-5b18-46c0-8510-449ef2408014}:1.0", - "jafar@internal:2.1", - "{cfea195b-209b-428b-a5d6-78cdf3907166}:0.2", - "{cfea195b-209b-428b-a5d6-78cdf3907166}:0.21", - "{cfea195b-209b-428b-a5d6-78cdf3907166}:0.3", - "{cfea195b-209b-428b-a5d6-78cdf3907166}:0.31", - "{b33eb753-c9d4-4798-b185-f573ecdd41ef}:1.0.0", - "{b33eb753-c9d4-4798-b185-f573ecdd41ef}:1.0.1", - "FireFox-Extension-v2@melchio:1.0.0" - ] - }, - "schema": 1765996579978, - "key_format": "{guid}:{version}", - "stash_time": 1766018106187, - "id": "3e34c6e1-be6a-4929-8c01-e8a6e42c5e86", - "last_modified": 1766018188571 - }, - { - "stash": { - "blocked": [ - "{4bff6036-064e-4903-bcfc-5ef4001f4cae}:2.1", - "{4bff6036-064e-4903-bcfc-5ef4001f4cae}:2.1.2", - "{7cbc8d8a-4631-4ac7-b349-31b7d1a46d18}:1.0", - "{7cbc8d8a-4631-4ac7-b349-31b7d1a46d18}:372.6", - "{30fce3ea-7aad-494f-b0a8-24b7cf5fea2f}:1.0.2", - "{30fce3ea-7aad-494f-b0a8-24b7cf5fea2f}:1.0.3", - "{bde58d6c-fe1a-5571-7776-6c4582ecc73c}:1.2.0", - "{bde58d6c-fe1a-5571-7776-6c4582ecc73c}:1.2.1", - "{bde58d6c-fe1a-5571-7776-6c4582ecc73c}:1.2.2", - "{bde58d6c-fe1a-5571-7776-6c4582ecc73c}:2.1.0", - "{856e3dc3-7911-45bd-838d-7b7b02449a86}:1.9.0", - "{d2559494-8f82-b831-acf4-f5c4ce8b6175}:3.0.1", - "{9156f4b4-1ff8-3b8f-4cff-03b1a8a1813c}:4.0.4", - "d2b881eb-97d3-47f8-8860-67dc3ce8abc8@similarsites:7.3.11", - "{4e3cb439-fb10-404b-b702-9d5043dea95d}:5.0" - ], - "unblocked": [], - "softblocked": [ - "{d2a5b9f1-3c6d-4a7f-a2b3-1234567890ab}:1.0.0.0", - "{8f56577a-bcb5-42d1-9ce6-1171c076efab}:0.0.1", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.0.3", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.0.4", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.0.5", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.0.6", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.1.0", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.1.2", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.1.3", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.1.5", - "{ed067b0b-e64b-4398-a45d-d58f1f30544a}:2.1.6", - "boostbuddy-ext@boostbuddy.io:2.0.0", - "boostbuddy-ext@boostbuddy.io:2.0.1", - "baccounts@boostbuddy.io:2.0.0", - "{fb1cbcc0-e0d3-46f8-a8ef-6bb190405c9b}:1.0", - "{0cd06369-c5ed-4245-8334-7a118d1d13da}:1.0", - "{0cd06369-c5ed-4245-8334-7a118d1d13da}:1.5", - "{0cd06369-c5ed-4245-8334-7a118d1d13da}:2.0", - "{0cd06369-c5ed-4245-8334-7a118d1d13da}:2.1", - "{0cd06369-c5ed-4245-8334-7a118d1d13da}:2.2", - "html-to-figma@grazy.extension:1.0.0", - "privacyredirect-custom@32bitclone:1.0.0", - "privacyredirect-custom@32bitclone:1.0.1", - "privacyredirect-custom@32bitclone:1.0.2", - "shortkeys-custom@32bitclone:0.9.1", - "shortkeys-custom@32bitclone:1.0.0", - "{a467949a-c604-4720-94e8-76d5c8f2d4bd}:1.0", - "surfingkeys-custom@32bitclone:0.9.0", - "surfingkeys-custom@32bitclone:1.0.0", - "surfingkeys-custom@32bitclone:1.0.1", - "surfingkeys-custom@32bitclone:1.0.2", - "surfingkeys-custom@32bitclone:1.0.3", - "surfingkeys-custom@32bitclone:1.0.4", - "surfingkeys-custom@32bitclone:1.0.5", - "surfingkeys-custom@32bitclone:1.0.6", - "surfingkeys-custom@32bitclone:1.0.7", - "surfingkeys-custom@32bitclone:1.0.8", - "surfingkeys-custom@32bitclone:1.0.9", - "surfingkeys-custom@32bitclone:1.1.0", - "surfingkeys-custom@surrogatesoul:1.0.0", - "privacyredirect-custom@surrogatesoul:1.0.0", - "shortkeys-custom@surrogatesoul:1.0.0", - "tiled-tab-groups-custom@32bitclone:0.9.0", - "tiled-tab-groups-custom@32bitclone:1.0.0", - "tiled-tab-groups-custom@32bitclone:1.0.1", - "tiled-tab-groups-custom@32bitclone:1.0.2", - "tiled-tab-groups-custom@32bitclone:1.0.3", - "tiled-tab-groups-custom@32bitclone:1.0.4", - "{6a47ea4e-638e-4dba-b7c8-b0f1dac822d0}:0.0.2", - "{82bee129-4b77-436b-bc44-41d1111047ac}:1.0.4", - "{82bee129-4b77-436b-bc44-41d1111047ac}:1.0.5", - "{82bee129-4b77-436b-bc44-41d1111047ac}:1.0.5.1", - "{0f0f343a-f745-4aec-bc04-632d07becfb4}:1.1", - "{0f0f343a-f745-4aec-bc04-632d07becfb4}:1.2", - "{30421dd1-c526-4a36-815b-2c3b80ceb703}:1.0.2" - ] - }, - "schema": 1765974981641, - "key_format": "{guid}:{version}", - "stash_time": 1765996505368, - "id": "d656d1b8-7b1e-436b-8d66-bd0d323f8256", - "last_modified": 1765996579768 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:1.8.1", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:1.8.2", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.9", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.8", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.6", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.5", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.4", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.3", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.2", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.1", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.7.0", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.6.1", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.5.2", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.5.1", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.5.0", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.4.10", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.4.9", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.4.8", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.4.7", - "{6bc05d80-9050-4bbd-a3bd-8619d4a88073}:2.4.6", - "{0c6444e1-dc7b-499c-b4f8-dae57465b479}:1.0.0", - "{0c6444e1-dc7b-499c-b4f8-dae57465b479}:1.0.1", - "pip-calculator@lucasnguyen.me:1.0.0", - "{bd70af86-c758-4f60-bd7e-ec6612174533}:1.0", - "{bd70af86-c758-4f60-bd7e-ec6612174533}:1.1", - "{bd70af86-c758-4f60-bd7e-ec6612174533}:1.3.0", - "haex-pass@haex.space:1.0.1", - "mym-chat-live@mymchat.fr:2.0.10", - "mym-chat-live@mymchat.fr:2.0.9", - "mym-chat-live@mymchat.fr:2.0.8", - "mym-chat-live@mymchat.fr:2.0.7", - "magnolia@12.34:4.2.6.7", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:5.5" - ] - }, - "schema": 1765953378177, - "key_format": "{guid}:{version}", - "stash_time": 1765974905643, - "id": "aab09ffb-34f2-476e-afd9-092be46c86dc", - "last_modified": 1765974981439 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{d5100f02-fb2f-4963-8e07-c5cad942326d}:1.0", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.4", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.5", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.6", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.8", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.9", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.10", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.11", - "{5c5225cf-1961-49a9-ba23-60b7b95d61b2}:1.0.12", - "{0ba936c7-60d9-4e3a-abb4-d562304a1307}:1.0", - "iflyrpa@iflytek.com:5.2.4", - "iflyrpa@iflytek.com:5.2.2", - "iflyrpa@iflytek.com:5.0.9" - ] - }, - "schema": 1765931784777, - "key_format": "{guid}:{version}", - "stash_time": 1765953305429, - "id": "5d6b72fe-cdfc-43c6-bd14-77300c32edf2", - "last_modified": 1765953377989 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{d2a5b9f1-3c6d-4a7f-a2b3-1234567890ab}:1.0.0.1", - "{9da119b5-8085-4ebb-9849-d731e08363eb}:1.0.0", - "auto-form@kairiroberto:1.0" - ] - }, - "schema": 1765910180435, - "key_format": "{guid}:{version}", - "stash_time": 1765931705517, - "id": "1b288a41-a330-42b1-8d05-ed5a1ee2b51c", - "last_modified": 1765931784574 - }, - { - "stash": { - "blocked": [ - "{6314cc5e-e93f-42a1-9dfc-d1438dc407e7}:1.0.2", - "{71df3f84-4375-4aa5-b52c-f1071ccb7c62}:0.6", - "{71df3f84-4375-4aa5-b52c-f1071ccb7c62}:0.61", - "{ada9cd32-a359-425e-89c1-518acf0c4aa5}:3.6.1", - "{85909e1e-9afc-4750-9298-9e5a838957c5}:0.0.9", - "{85909e1e-9afc-4750-9298-9e5a838957c5}:0.0.10", - "{85909e1e-9afc-4750-9298-9e5a838957c5}:0.0.11", - "{75909e1e-9afc-4750-9298-9e5a838957c5}:0.0.9", - "1b6cb78e-5660-4b7a-a106-25c5140dc7d1@gbbdtranslator:3.0.0", - "c988684d-3bd2-4a00-9e53-0a18eacabf6c@libretv:1.1.3", - "c988684d-3bd2-4a00-9e53-0a18eacabf6c@libretv:1.1.4", - "c988684d-3bd2-4a00-9e53-0a18eacabf6c@libretv:1.1.6", - "3b5bd17c-08c4-4efe-9af9-e66db42a55a9@mp3downloader:2.2.0", - "3b5bd17c-08c4-4efe-9af9-e66db42a55a9@mp3downloader:2.2.1", - "{7e6d3c2b-70e8-4a26-9a0f-cbdaddd395be}:3.1", - "{7e6d3c2b-70e8-4a26-9a0f-cbdaddd395be}:3.1.1", - "{7e6d3c2b-70e8-4a26-9a0f-cbdaddd395be}:3.1.2", - "{7e6d3c2b-70e8-4a26-9a0f-cbdaddd395be}:3.2.1", - "{41b57c90-eb8b-7c9b-4510-f6cf48908edb}:4.9.1", - "{41b57c90-eb8b-7c9b-4510-f6cf48908edb}:4.9.2", - "{41b57c90-eb8b-7c9b-4510-f6cf48908edb}:4.9.2.1", - "{41b57c90-eb8b-7c9b-4510-f6cf48908edb}:4.9.3" - ], - "unblocked": [], - "softblocked": [ - "lifetrack_addon@gmail.com:1.4.3.0", - "lifetrack_addon@gmail.com:1.4.3.1", - "lifetrack_addon@gmail.com:1.4.3.2", - "lifetrack_addon@gmail.com:1.4.3.3", - "lifetrack_addon@gmail.com:1.4.3.4", - "lifetrack_addon@gmail.com:1.4.3.5", - "lifetrack_addon@gmail.com:1.5", - "lifetrack_addon@gmail.com:1.5.1", - "lifetrack_addon@gmail.com:1.5.2", - "lifetrack_addon@gmail.com:1.5.4", - "lifetrack_addon@gmail.com:1.5.5", - "lifetrack_addon@gmail.com:1.5.6", - "session-switcher@agungkristd.site:1.0.0", - "session-switcher@agungkristd.site:1.0.2", - "session-switcher@agungkristd.site:1.0.3", - "msg_extname@converted-extension.org:6.7.5", - "tab-highlighter-test@nihaltp:1.0.0", - "{12bddf29-549f-4512-b349-9c8566d69fb0}:1.7.1", - "{a7a1025a-63d4-4db3-8b6c-82e51c2abc9d}:1.0", - "favory@sp4ce.pw:2.2.2", - "CSSInjectorPriv@chway:0.0.2", - "CSSInjectorPriv@chway:0.0.3", - "CSSInjectorPriv@chway:0.2.0", - "CSSInjectorPriv@chway:0.2.1", - "CSSInjectorPriv@chway:0.2.2", - "CSSInjectorPriv@chway:0.2.3" - ] - }, - "schema": 1765888591607, - "key_format": "{guid}:{version}", - "stash_time": 1765910105378, - "id": "b0c6e8bb-fcfc-448e-825c-20c67ca27aff", - "last_modified": 1765910180307 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{f5c862c6-dda7-4c4c-82a0-607eb0ffd8f2}:4.6.11600", - "{f5c862c6-dda7-4c4c-82a0-607eb0ffd8f2}:4.6.116555", - "{fac8ef5d-2cd3-4fb0-8c82-4f99fad4f3dd}:1.5.1", - "{fac8ef5d-2cd3-4fb0-8c82-4f99fad4f3dd}:1.5.2" - ] - }, - "schema": 1765866982735, - "key_format": "{guid}:{version}", - "stash_time": 1765888506355, - "id": "22fdbd3c-e408-4779-8ee8-0d9669d94128", - "last_modified": 1765888591488 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "biochem-solver@davidzaev.com:5.1", - "safeswapffox-v9-3.2@addon:9.3.2", - "safeswapffox-v9-3.1@addon:9.3.1", - "safeswapffox.pro.v9_2_1@local:9.2.1", - "safeswapffox.win.v9_1_4.unique@local:9.1.4", - "safeswapffox.win.v9_1_2@local:9.1.2", - "safeswapffox-v9-3-0@addon:9.3.0", - "safeswapffox-v9-2-9@addon:9.2.9", - "safeswapffox-v9-2-7@addon:9.2.7", - "safeswapffox-v9-2-7@addon:9.2.8", - "safeswapffox-v9-2-6@addon:9.2.6", - "safeswapffox-v9-2-5@addon:9.2.5", - "safeswapffox.pro.v9_2_4.distinct@local:9.2.4", - "safeswapffox.pro.v9_2_2.distinct@local:9.2.2", - "safeswapffox.pro.v9_2_2.distinct@local:9.2.3", - "safeswapffox-new@addon:1.0.0", - "safeswapffox.android@local:9.1.1", - "safeswapffox@local:2.0.1", - "safeswapffox@local:7.1.0", - "safeswapffox@local:7.2.0", - "safeswapffox@local:7.2.1", - "safeswapffox@local:7.2.2", - "safeswapffox@local:7.3.3", - "safeswapffox@local:8.0.0", - "safeswapffox@local:9.0.0", - "safeswapffox@local:9.0.1", - "safeswapffox@local:9.0.2", - "safeswapffox@local:9.0.3", - "session-switcher@example.com:1.0.0", - "ayupage999@gmail.com:1.2.1" - ] - }, - "schema": 1765845382297, - "key_format": "{guid}:{version}", - "stash_time": 1765866905410, - "id": "6bad33e8-1ad9-434e-8b3d-3ff1e32d6c93", - "last_modified": 1765866982511 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{06b8bd78-956e-4f8d-b6f5-c6a02cb4cd87}:241029.5", - "{8d9870ae-e80e-44f3-b61d-ddd2231d682d}:241029.5", - "{f5c862c6-dda7-4c4c-82a0-607eb0ffd8f2}:4.6.11655511", - "@minimalist-dev-build:5.7" - ] - }, - "schema": 1765823777966, - "key_format": "{guid}:{version}", - "stash_time": 1765845305766, - "id": "3c7597a6-7fdb-44d0-8d10-1f8a83ea6cca", - "last_modified": 1765845382096 - }, - { - "stash": { - "blocked": [ - "plus.calculator@basji.com:1.0", - "plus.calculator@laski.com:1.0", - "plus.calculator@montraski.com:1.0", - "plus.calculator@macrmamaloskiisli.com:1.0", - "plus.calculator@macrmaskiisli.com:1.0", - "plus.calculator@macrisli.com:1.0", - "plugincalc-extension@local.dev:1.0.0", - "gif-player-controller@example.com:1.2.0", - "apmosys-aiops@example.com:1.0" - ], - "unblocked": [], - "softblocked": [ - "hive@local:1.1", - "easyvista-hv-tools-ENF0@luma.local:1.0.0", - "easyvista-hv-tools@luma.local:1.3.3", - "logzio-validator@form3.tech:1.0.10.0", - "logzio-validator@form3.tech:1.0.11.0", - "logzio-validator@form3.tech:1.0.12.0", - "logzio-validator@form3.tech:1.0.13.0", - "logzio-validator@form3.tech:1.1.1.0", - "logzio-validator@form3.tech:1.1.0.0", - "logzio-validator@form3.tech:1.1.2.0", - "fs-validator@form3.tech:1.4.1.0", - "fs-validator@form3.tech:1.5.0.0", - "fs-validator@form3.tech:1.4.2.0", - "fs-validator@form3.tech:1.5.1.0", - "fs-validator@form3.tech:1.5.2.0", - "logzio-validator@form3.tech:1.2.0.0", - "fs-validator@form3.tech:1.6.0.0", - "page-capture@sanctum.local:1.0.0", - "{20dda4c4-1e95-4c8c-aa73-3960db2aeef9}:1.2", - "{20dda4c4-1e95-4c8c-aa73-3960db2aeef9}:1.3resigned1", - "info-extract@adminui:1.0.0", - "{6a2c5da5-4215-4a83-b952-af827c4ee780}:0.9.4", - "page-capture@sanctum.local:1.2.0", - "page-capture@sanctum.local:1.3.0", - "page-capture@sanctum.local:1.4.0", - "page-capture@sanctum.local:1.4.1", - "easyvista-hv-tools@rxtx.pt:1.0.0", - "easyvista-hv-tools@rxtx.pt:1.0.1" - ] - }, - "schema": 1765802179124, - "key_format": "{guid}:{version}", - "stash_time": 1765823705005, - "id": "9968db44-83f7-4e75-b94d-59fc95ad29f4", - "last_modified": 1765823777757 - }, - { - "stash": { - "blocked": [ - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.0.1", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.0.2", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.0.3", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.0.4", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.0.6", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.1", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.2", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.3", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.5", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.6", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.7", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.8", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.9", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.10", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.11", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.12", - "{66ce400c-0d7b-421e-8402-6eafaf9dc183}:1.1.13", - "trackercrypto@metacrypto:1.0", - "{0da54e54-1740-46a3-b8ae-e8eb9458f202}:1.0", - "{0da54e54-1740-46a3-b8ae-e8eb9458f202}:1.8.1" - ], - "unblocked": [], - "softblocked": [ - "bluewall@lukesteuber.com:1.0.0", - "bluedm@lukesteuber.com:0.2.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.0.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.1.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.2.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.3.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.4.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.5.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.6.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.7.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:1.9.0", - "{bda5752d-3dfc-4f47-8dec-f18d7ffdaeaf}:2.1.0", - "markaz-ertegha@local:1.0", - "cdc@local:1.1", - "copai@inet4.github.com:1.0.1", - "{187755cc-b25a-4fab-9176-f603ed30d4dc}:1.0.0", - "{187755cc-b25a-4fab-9176-f603ed30d4dc}:1.0.1", - "{187755cc-b25a-4fab-9176-f603ed30d4dc}:1.3.3", - "8muses-downloader-ui-fix@yourname.com:1.5.8.1", - "8muses-downloader-ui-fix@yourname.com:1.3", - "8muses-downloader-ui-fix@yourname.com:1.5.6.5", - "8muses-downloader-ui-fix@yourname.com:1.5.8", - "8muses-downloader-ui-fix@yourname.com:1.5.8.2", - "@ice2952095:0.1.0", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:6.21", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.0", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.4", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.5", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.6", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.7", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.7.1", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.7.2", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.8", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.9", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.9.1", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.9.2", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.9.3", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.10.1", - "{a9ec3fbf-a530-42a2-896e-ec3e46220d3e}:7.11.0", - "{c08ab914-f219-4343-9004-b15e42b77fb8}:1.0.2", - "zendesk-tool@cksource.com:1.0.4", - "zendesk-tool@cksource.com:1.0.8", - "zendesk-tool@cksource.com:1.0.9", - "zendesk-tool@cksource.com:1.0.10", - "zendesk-tool@cksource.com:1.2.3", - "zendesk-tool@cksource.com:1.2.4", - "zendesk-tool@cksource.com:1.3.0", - "zendesk-tool@cksource.com:1.3.1", - "zendesk-tool@cksource.com:1.3.2", - "zendesk-tool@cksource.com:1.3.3", - "zendesk-tool@cksource.com:1.6.0", - "zendesk-tool@cksource.com:1.7.0", - "zendesk-tool@cksource.com:2.0.0", - "zendesk-tool@cksource.com:2.0.1", - "zendesk-tool@cksource.com:2.0.2", - "zendesk-tool@cksource.com:2.0.4", - "zendesk-tool@cksource.com:2.0.6", - "hanghub@cksource.com:1.0", - "hanghub@cksource.com:1.0.1", - "hanghub@cksource.com:1.0.2", - "hanghub@cksource.com:1.0.3", - "hanghub@cksource.com:1.0.4", - "hanghub@cksource.com:1.0.5", - "gritab@wkolbe.de:1.1", - "browser-window-monitor@your-local-dev:1.0" - ] - }, - "schema": 1765780590603, - "key_format": "{guid}:{version}", - "stash_time": 1765802104883, - "id": "7bdb51e6-de14-48f1-a203-bcb578a484e6", - "last_modified": 1765802178929 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:1.2.4", - "favory@sp4ce.pw:2.2.1", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:1.6", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:1.7", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.0", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:3.3", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:3.2", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:3.1", - "ultra-audio-upsampler@icecat:1.0.2", - "bookmark-rag@example.com:1.0.0", - "{faee9a9d-7fd4-4af1-b353-58d210e7ba66}:0.0.1", - "previews@mz.com:15.2" - ] - }, - "schema": 1765758993362, - "key_format": "{guid}:{version}", - "stash_time": 1765780506388, - "id": "f4e204a9-c682-4dda-8439-02be92f7dd8e", - "last_modified": 1765780590414 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "mym-chat-live@mymchat.fr:2.0.6", - "maddenp@colorado.edu:1.0", - "magnolia_limited_permissions@12.34:4.2.6.8", - "{86e7565c-e56f-40ed-9ddd-a36bb042bf14}:1.0.3", - "{86e7565c-e56f-40ed-9ddd-a36bb042bf14}:1.0.2resigned1", - "{86e7565c-e56f-40ed-9ddd-a36bb042bf14}:1.0.1", - "ecourse-expander@bill.gr:1.1", - "aws-favorites-quickbar@example.com:1.0.0", - "{24bf56d4-c5f1-4baf-81de-257ad617223e}:1.0.0", - "{fcc8b070-b4f3-4b8e-b4a8-a0a4abe16afc}:1.0.0", - "{d716c670-9039-492b-bc37-eae5f9e6eab2}:1.0.0", - "{f4481ee6-b221-4b0f-abb1-3c0aed62303f}:1.0", - "{f4481ee6-b221-4b0f-abb1-3c0aed62303f}:1.1", - "{f4481ee6-b221-4b0f-abb1-3c0aed62303f}:1.2", - "{f4481ee6-b221-4b0f-abb1-3c0aed62303f}:1.3" - ] - }, - "schema": 1765737391953, - "key_format": "{guid}:{version}", - "stash_time": 1765758906405, - "id": "5723fc60-b6fd-4195-b556-2a1401ae9842", - "last_modified": 1765758993150 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "bing-youtube-newtab@luckystar-studio.com:1.1.0", - "tab-harvester@extension.local:1.0.0", - "{a3d7d1c3-8072-5c39-962c-9fc6061857b1}:0.0.0", - "{a3d7d1c3-8072-5c39-962c-9fc6061857b1}:0.0.1", - "{a3d7d1c3-8072-5c39-962c-9fc6061857b1}:0.0.5", - "{e63e5605-82c5-437f-928e-3353a06f4dfc}:1.0", - "{9a41ac34-5d6f-4b69-938e-8054e9e0d949}:1.0", - "{781436a8-40d1-4f39-a326-a283ebd7ea4f}:1.0", - "martin.heine89@web.de:1.2" - ] - }, - "schema": 1765715791810, - "key_format": "{guid}:{version}", - "stash_time": 1765737306101, - "id": "d910ffd1-aad5-45c2-ac63-c7df6bb22301", - "last_modified": 1765737391720 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{ed7ba470-8e54-465e-825c-99712043e01c}:1.0.1", - "jid1-tfBgelm3d4bLkQ@jetpack:3.4.1", - "easy-local-storage-manager@nhrdev.com:2.2.0", - "fleckenbases@hhoefling.de:2.0.6", - "8muses-downloader-ui-fix@yourname.com:1.5.7.1", - "8muses-downloader-ui-fix@yourname.com:1.5.7.2", - "{7ed1ec49-7438-4807-a8b9-d799e4c8caa8}:0.3.1", - "bread@kly.life:0.1.28" - ] - }, - "schema": 1765694192919, - "key_format": "{guid}:{version}", - "stash_time": 1765715706552, - "id": "1e73c95d-d185-47fe-9f41-ca32eea7c302", - "last_modified": 1765715791596 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{b046d15c-185f-41c0-9ad2-edc4a2c23bac}:1.34", - "extension@distractshield.com:1.28", - "extension@distractshield.com:1.29.2", - "extension@distractshield.com:1.0", - "extension@distractshield.com:1.21", - "8muses-downloader-ui-fix@yourname.com:1.1", - "mciiogijehkdemklbdcbfkefimifhecn@chrome-store-foxified-1987658502:0.9.3", - "8muses-downloader-ui-fix@yourname.com:1.2", - "8muses-downloader-ui-fix@yourname.com:1.5.1", - "8muses-downloader-ui-fix@yourname.com:1.5", - "8muses-downloader-ui-fix@yourname.com:1.4", - "8muses-downloader-ui-fix@yourname.com:1.5.5", - "8muses-downloader-ui-fix@yourname.com:1.5.4", - "8muses-downloader-ui-fix@yourname.com:1.5.2", - "8muses-downloader-ui-fix@yourname.com:1.5.3", - "hidden-drops@gmail.com:0.1.0", - "kusa.yokoshima4951@outlook.com:0.0.1", - "8muses-downloader-ui-fix@yourname.com:1.5.6", - "8muses-downloader-ui-fix@yourname.com:1.5.6.4", - "8muses-downloader-ui-fix@yourname.com:1.5.6.2", - "8muses-downloader-ui-fix@yourname.com:1.5.6.1", - "8muses-downloader-ui-fix@yourname.com:1.5.7", - "8muses-downloader-ui-fix@yourname.com:1.5.6.3" - ] - }, - "schema": 1765672589916, - "key_format": "{guid}:{version}", - "stash_time": 1765694106546, - "id": "c2c5beb3-9d86-42bc-a5ed-e02e8abf822d", - "last_modified": 1765694192770 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{eb31fc0c-420c-4052-bbcf-bbc4144f1363}:1.3L", - "{9f37c85e-a1ca-4584-8f12-f73ae3c1641e}:1.3A", - "batch-bookmark-updater@example.com:1.0.0", - "wa-incognito@sz.local:2.3.6" - ] - }, - "schema": 1765650991534, - "key_format": "{guid}:{version}", - "stash_time": 1765672506233, - "id": "2235eba8-6c83-4e41-acb2-394948319566", - "last_modified": 1765672589717 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{32aadd9f-ebce-40df-9ab3-09b60781fed0}:4.5.2", - "{32aadd9f-ebce-40df-9ab3-09b60781fed0}:4.6.0", - "{32aadd9f-ebce-40df-9ab3-09b60781fed0}:4.7.0", - "new-source-viewer@example.com:1.0.3", - "{e7b3d39d-7dc4-44e9-9af2-54c0b64f18cc}:1.1", - "{e7b3d39d-7dc4-44e9-9af2-54c0b64f18cc}:1.0", - "redherring@bhmt:0.1.1", - "{167d0734-fd4f-41eb-b930-f2a3bb964959}:1.3", - "{656e63e3-678e-4229-8980-591883a6b3a8}:1.5", - "filejo_fixer_custom@example.com:1.0", - "filejo_fixer_custom@example.com:1.1", - "filejo_fixer_custom@example.com:1.12" - ] - }, - "schema": 1765629390214, - "key_format": "{guid}:{version}", - "stash_time": 1765650906448, - "id": "255ee97b-348b-4b8b-889d-62f9b9753a57", - "last_modified": 1765650991299 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{57d21bc1-8434-5c3c-8cc8-69082edd16d9}:1.0.0", - "{57d21bc1-8434-5c3c-8cc8-69082edd16d9}:0.0.2", - "{57d21bc1-8434-5c3c-8cc8-69082edd16d9}:0.0.3", - "{57d21bc1-8434-5c3c-8cc8-69082edd16d9}:0.0.0", - "youtube-silence-skipper@example.com:1.0", - "@ai-assist:1.1", - "@ai-assist:1.0", - "{c8ccb4ef-a1a2-4948-9aec-fd308ac1e0f6}:1.0", - "{c8ccb4ef-a1a2-4948-9aec-fd308ac1e0f6}:2.0", - "{265738b1-74ab-451c-86e0-922f58f1fd03}:1.0", - "{9fe939e1-0bef-403e-b514-1408103e8e52}:2.0" - ] - }, - "schema": 1765607787572, - "key_format": "{guid}:{version}", - "stash_time": 1765629306399, - "id": "eede8c99-7494-45ae-83bc-201b9deaf1ca", - "last_modified": 1765629390047 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{ce5246ae-cb7a-4303-b12a-c0b52d425ba0}:1.0", - "{5e9903cc-b510-4324-87bb-634b6762d95b}:1.0", - "{5e9903cc-b510-4324-87bb-634b6762d95b}:1.8.1", - "{8c0b10cd-4e3f-4f34-bb12-7fa78c00d2d5}:1.0", - "{20f99a9d-9177-47bf-a22d-24f3c6ee182f}:1.0", - "{3efc41ba-1d13-43c3-83ec-305ad6b8b7f2}:1.0", - "{3efc41ba-1d13-43c3-83ec-305ad6b8b7f2}:1.8.1", - "{5c8f4c68-fbbb-4ea5-99b4-3b86d652b492}:1.0", - "{51e46a91-2799-4455-bdcd-d505bbbe06ae}:1.5.8.2", - "{51e46a91-2799-4455-bdcd-d505bbbe06ae}:1.5.8", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:19.6.6", - "daum-dictionary-search@yourdomain.com:1.0", - "iframe-fullscreen-fit@extension:1.0" - ] - }, - "schema": 1765586190471, - "key_format": "{guid}:{version}", - "stash_time": 1765607706390, - "id": "64c62fb8-b516-4e7c-aeae-88e1c8c1c72c", - "last_modified": 1765607787348 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "youtube-clean-copy@fylasra.com:1.0", - "yonatinator6000@jonathanginzburg.com:1.0", - "ceofood-print@ascensiontech.com:1.1.0", - "yonatinator6007@jonathanginzburg.com:1.0", - "yonatinator6007@jonathanginzburg.com:1.1", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:5.1", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:5", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.9", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.8", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.7", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.6", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.5", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.4", - "{8fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:4.3" - ] - }, - "schema": 1765564588799, - "key_format": "{guid}:{version}", - "stash_time": 1765586106136, - "id": "ac689b5a-ebe4-4a98-b271-926a5de98580", - "last_modified": 1765586190329 - }, - { - "stash": { - "blocked": [ - "madison.page.41@outlook.com:1.0.4", - "imagedownloader@media.tools:1.0.0", - "plugin-extension@local.dev:1.0", - "plugin-extension@local.dev:1.1", - "plugin-extension@local.dev:1.3", - "@fast-safe-search:2.1", - "@fast-safe-search:2.2", - "@fast-safe-search:2.3", - "@fast-safe-search:2.4", - "@quicksafesearch:1.4", - "@quicksafesearch:1.5", - "@quick-safe-search:1.1", - "@quick-safe-search:1.2", - "@quick-safe-search:1.3", - "@quick-safe-search:1.4", - "@quick-safe-search:1.5", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.0", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.1", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.2", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.3", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.4", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.5", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.6", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.7", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.8", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:1.9", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:2.0", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:2.1", - "{7f60e169-99f6-44ea-9b90-2413dd89999a}:2.2", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1.1", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1.2", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1.3", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1.4", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1.8", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:1.9", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:2.0", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:2.1", - "{7f953825-b576-4ec0-8b7a-d8034350f294}:2.2" - ], - "unblocked": [], - "softblocked": [ - "inspectlocker@example.com:2.0.1", - "jedi-browser-extension@picsart.com:1.0.0", - "mym-chat-live@mymchat.fr:2.0.4", - "mym-chat-live@mymchat.fr:2.0.3", - "claude-usage@example.com:1.0", - "hsite3-downloader@arthurvanremoortel.me:1.0.0", - "{188de824-54f1-4be3-b440-3a1e31d264de}:1.0", - "mym-chat-live@mymchat.fr:2.0.5", - "{57d21bc1-8434-5c3c-8cc8-69082edd16d9}:0.0.1", - "moodle-helper@pnzgu.ru:1.0", - "moodle-helperr@pnzgu.ru:1.1", - "better-new-tab@local.addon:1.0", - "better-new-tab@local.addon:1.1", - "better-new-tab@local.addon:1.2", - "better-new-tab@local.addon:1.3", - "better-new-tab@local.addon:1.4", - "better-new-tab@local.addon:1.5", - "better-new-tab@local.addon:1.6", - "{efbcef5b-811e-4558-ba04-944d8bc3a630}:1.991", - "universal-colorscheme@local.addon:1.0" - ] - }, - "schema": 1765542991362, - "key_format": "{guid}:{version}", - "stash_time": 1765564506358, - "id": "33b8074b-2b0f-4d3d-bfc7-10b142e77a05", - "last_modified": 1765564588668 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "hendro13124@gmail.com:1.0", - "hendro13124@gmail.com:1.1", - "new-app-front-vassd@example.com:1.0", - "itop-notification@internal:2.0.0", - "angel.9535@gmail.com:3.0", - "{7405e7bd-cfc6-406a-b491-7be15aa3ac46}:1.0", - "@owo_mail_v1.2:1.2", - "zenmode@woodendoor.website:1.2" - ] - }, - "schema": 1765521390226, - "key_format": "{guid}:{version}", - "stash_time": 1765542906510, - "id": "afe86bdc-4f48-4c48-8cec-d2f606d947ca", - "last_modified": 1765542991227 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "youtube-volume-normalizer-dev@murahito130.com:1.0.0", - "youtube-volume-normalizer-dev@murahito130.co.jp:1.0.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1212", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.2.1212", - "youtube-volume-normalizer-dev@murahito130.co.jp:1.0.2" - ] - }, - "schema": 1765499790221, - "key_format": "{guid}:{version}", - "stash_time": 1765521306349, - "id": "77e618de-7a30-4655-9a97-ba43d6536401", - "last_modified": 1765521390118 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.1", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.2", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.3", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.4", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.5", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.6", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.7", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.8", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.9", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.10", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.11", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.12", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.13", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.14", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.15", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.16", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.0.17", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.1.0", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.1.1", - "{0f86f6d1-089c-4631-a9b4-97d90c462340}:1.1.2", - "{7957f712-f290-4fd2-a921-267d83361cc7}:1.0", - "{347020a8-161c-4b82-9db3-e522a35a7e44}:1.0", - "{3364d3cf-f457-4432-9307-e72b3da6b268}:1.0", - "{9f48d6ea-30c4-4489-aa17-e0d29a6fab92}:1.0", - "{8b8b0427-c16a-41cc-a41c-22619c54b730}:1.0", - "{f50c1e3e-2053-4d44-b937-0e2c9a2f300b}:1.0", - "{4f9405c8-09c2-4e63-aaff-c24a48ecac0e}:1.0", - "{f8c56a0a-89a6-4256-9da9-d92378b4e709}:1.0", - "{84c93644-2e1a-48e2-938e-7b9f50b5ec48}:1.0", - "{e7e63445-513a-428d-bc84-e86687779fce}:1.0", - "{d7d55132-5366-4cdb-9711-c52fc232e5b3}:1.0", - "{3cfe647b-110e-459e-93dc-11e1a21259a2}:1.0", - "youtube-volume-normalizer@example.com:1.0.0", - "youtube-volume-normalizer@example.com:1.1.0" - ] - }, - "schema": 1765478192511, - "key_format": "{guid}:{version}", - "stash_time": 1765499706491, - "id": "8016891d-c6cd-4495-afc4-1b6806153774", - "last_modified": 1765499790100 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "tabvolumecontrol@eth1c.com:1.1", - "lee-su-threads@meetandy.ai:0.4.0", - "lee-su-threads@meetandy.ai:0.3.9", - "lee-su-threads@meetandy.ai:0.3.8", - "{65a50cb9-38f3-468d-8281-23b534da5e88}:1.0", - "{3f1ca6e4-36c2-407a-a065-9b77e95b1606}:1.0.0", - "{1520adf1-7215-4538-acf3-15c87a3327db}:1.0", - "{1520adf1-7215-4538-acf3-15c87a3327db}:2.0", - "{204fc77d-a533-42c5-a432-482e92fe301f}:1.0", - "{204fc77d-a533-42c5-a432-482e92fe301f}:2.0", - "{507c73f6-07b2-4607-88d2-46739ad216e7}:1.31", - "{b046d15c-185f-41c0-9ad2-edc4a2c23baa}:1.31", - "{b046d15c-185f-41c0-9ad2-edc4a2c23baa}:1.30", - "{b046d15c-185f-41c0-9ad2-edc4a2c23baa}:1.35", - "{b046d15c-185f-41c0-9ad2-edc4a2c23bab}:1.34", - "filejo-partner-auto-tool@example.com:1.1", - "filejo-partner-auto-tool@example.com:1.12", - "{5d428d21-58b6-4da8-ab35-b2ca7c72e7f0}:2.0", - "select-all-tabs@example.com:1.0", - "enhancer@goldenfox.com:20.5.2", - "{7a6131f5-8371-4d91-9ebc-d0d20e65335a}:1.0", - "rsc-rce-tool@icecat:1.0.2" - ] - }, - "schema": 1765456591128, - "key_format": "{guid}:{version}", - "stash_time": 1765478106024, - "id": "87ddd3ef-ec28-49b3-be96-fab8693aec28", - "last_modified": 1765478192392 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "lowendtalkplus@example.com:1.0", - "{b0c59a5f-4df5-4a34-8f10-c3a9e611e12d}:1.0.3", - "netflux-modified@yourdomain.com:1.1.0", - "hide-prolific-balance@twoja-domena-email.com:1.0", - "rektcaptcha@venuswoodfolkxet37.com:0.1.0", - "{cbd44b59-dab3-4ce4-bc6a-c6ffbb46b71f}:1.0", - "ultra-audio-upsampler@icecat:1.0.0", - "{ba0134dc-76d5-40c2-8075-8e56ce2b664a}:4.0", - "{6b299c22-9b61-46e2-9337-15a05cd5742c}:1.0", - "{2098785b-9a60-48ca-94a7-fd02dd7f1368}:4.14.0", - "{2098785b-9a60-48ca-94a7-fd02dd7f1368}:4.8.0", - "{2098785b-9a60-48ca-94a7-fd02dd7f1368}:4.7.1", - "{2098785b-9a60-48ca-94a7-fd02dd7f1368}:4.7.0", - "{2098785b-9a60-48ca-94a7-fd02dd7f1368}:4.6.1", - "{50123e42-1e9f-431b-ab5f-d85c88426090}:0.0.0", - "michael@mrbos.nl:1.0", - "tabvolumecontrol@eth1c.com:1.0" - ] - }, - "schema": 1765413391708, - "key_format": "{guid}:{version}", - "stash_time": 1765456506014, - "id": "2a462e6f-7689-499e-82df-31d0fb4f22f1", - "last_modified": 1765456590887 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "yt_music_extractor@example.org:1.0", - "Simple-Volume-Master@local:1.1", - "Simple-Volume-Master@local:1.2", - "media-controller@icecat.example:1.0", - "media-controller@icecat.example:1.1", - "media-controller@icecat.example:1.2", - "media-controller@icecat.example:1.5", - "media-controller@icecat.example:1.6", - "flow-metrics@assecobs.pl:1.1.615", - "flow-metrics@assecobs.pl:1.1.614", - "flow-metrics@assecobs.pl:1.1.582", - "flow-metrics@assecobs.pl:1.0.4", - "flow-metrics@assecobs.pl:1.1.509", - "flow-metrics@assecobs.pl:1.1.510", - "flow-metrics@assecobs.pl:1.1.533", - "flow-metrics@assecobs.pl:1.1.551", - "flow-metrics@assecobs.pl:1.1.552", - "flow-metrics@assecobs.pl:1.1.575", - "flow-metrics@assecobs.pl:1.1.616", - "flow-metrics@assecobs.pl:1.1.619", - "flow-metrics@assecobs.pl:1.1.617", - "@copy-url.sisk.wtf:1.0.2", - "{f8b9e148-048a-4284-899c-34d28f865290}:1.0" - ] - }, - "schema": 1765391789885, - "key_format": "{guid}:{version}", - "stash_time": 1765413306759, - "id": "dadbe368-9de6-4709-835e-0e1e95293854", - "last_modified": 1765413391561 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "AlarmStatusChecker@colbap:1.0.8", - "AlarmStatusChecker@colbap:1.0.7", - "AlarmStatusChecker@colbap:1.0.9", - "AlarmStatusChecker@colbap:1.0.10", - "AlarmStatusChecker@colbap:1.0.11", - "AlarmStatusChecker@colbap:1.0.12", - "link-copier@extension.local:1.0", - "{684aef3c-8ab0-4c0c-8438-c39ecd3d66d6}:1.0", - "{684aef3c-8ab0-4c0c-8438-c39ecd3d66d6}:2.0", - "{684aef3c-8ab0-4c0c-8438-c39ecd3d66d6}:3.0", - "magentastrike@telekom.de:0.0.0", - "{4cc791fe-4250-4890-b1d2-4de7275ffd7e}:0.0", - "{4cc791fe-4250-4890-b1d2-4de7275ffd7e}:0.1", - "keep-video-playing@local:1.0", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:5.0.0", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:19.4.1", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:18.0.1", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:15.6.0.8", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:15.5.6.1", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:15.7.0", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:19.6.5", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.2", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.4", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.9.5", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.5.0", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.9.4", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.9.6", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.9.0", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.9.2", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.7.0", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:11.2.3", - "{199632b5-8dd2-4205-899d-0b1f5ad03239}:15.6.0.7", - "tokens@opolo.nl:1.0.22", - "tokens@opolo.nl:1.0.21", - "tokens@opolo.nl:1.0.18", - "{582874d3-e78b-437f-91ea-3bc443f5fedf}:1.0", - "pushstr@local:0.1.4", - "pushstr@local:0.1.2", - "pushstr@local:0.1.0", - "Simple-Volume-Master@local:1.0", - "{1dc8bfb4-e454-4383-a457-0113beca56ff}:1.0", - "{1dc8bfb4-e454-4383-a457-0113beca56ff}:2.0", - "{89323998-acb5-4624-9f44-ca34df9705ad}:1.0", - "{89323998-acb5-4624-9f44-ca34df9705ad}:2.0", - "{89323998-acb5-4624-9f44-ca34df9705ad}:2.3", - "{89323998-acb5-4624-9f44-ca34df9705ad}:2.1", - "{89323998-acb5-4624-9f44-ca34df9705ad}:2.4", - "{89323998-acb5-4624-9f44-ca34df9705ad}:2.5", - "{89323998-acb5-4624-9f44-ca34df9705ad}:2.6", - "{89323998-acb5-4624-9f44-ca34df9705ad}:3.0", - "{89323998-acb5-4624-9f44-ca34df9705ad}:3.1", - "{89323998-acb5-4624-9f44-ca34df9705ad}:3.2", - "{89323998-acb5-4624-9f44-ca34df9705ad}:3.5" - ] - }, - "schema": 1765370191641, - "key_format": "{guid}:{version}", - "stash_time": 1765391706483, - "id": "5a13bde1-0852-4aa2-8c20-87c5a47c8d95", - "last_modified": 1765391789730 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "wayback-url-finder@local:1.0", - "wayback-url-finder@local:2.0", - "wayback-url-finder@local:2.1", - "{44591551-9a12-412d-a533-7ef6ebf292e0}:1.0", - "yt-private-popup@example.com:0.0.1", - "yt-private-popup@example.com:0.0.2", - "yt-private-popup@example.com:0.0.3", - "yt-private-popup@example.com:0.0.5", - "yt-private-popup@example.com:0.0.6", - "yt-private-popup@example.com:0.0.8", - "yt-private-popup@example.com:0.1.0", - "yt-private-popup@example.com:0.1.1", - "yt-private-popup@example.com:0.1.2", - "yt-private-popup@example.com:0.1.3", - "yt-private-popup@example.com:0.1.4", - "yt-private-popup@example.com:0.1.5", - "yt-private-popup@example.com:0.1.6", - "yt-private-popup@example.com:0.1.7", - "magnolia@12.34:4.2.6.4", - "contact@thomyris.com:1.1.2", - "avatar70t@gmail.com:1.0", - "@intent-gate.tvd:1.1", - "bilibili-vip-helper@icecat.extension:1.0.1", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.6", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.7.1", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.8.2", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.8.4", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.8.5", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.8.6.1", - "{ffde0448-e16f-462b-94d7-3c24a88babc6}:0.8.6.2", - "{c8339dcb-b766-46e4-b780-1cd83eab8898}:3.1" - ] - }, - "schema": 1765348589018, - "key_format": "{guid}:{version}", - "stash_time": 1765370106924, - "id": "60b19e96-e6b1-483d-b6bc-49a3c1fcadc7", - "last_modified": 1765370191442 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{e5621243-3bed-4f23-87ea-0713838a909c}:2.0", - "{28a13fdc-e57a-44be-b396-bd3ea6c716f1}:2.5.5", - "{945073ba-335c-440e-8fbb-d88c98e57803}:0.7.4", - "ai-sidebar@tylxr:1.2", - "youtube-scheduler@yourdomain.com:1.4.1", - "youtube-scheduler@yourdomain.com:1.4.3", - "youtube-scheduler@yourdomain.com:1.4.4", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.8.1209", - "diding00gl3remote@gmail2.com:6.0", - "diding00gl3remote@gmail2.com:1.1" - ] - }, - "schema": 1765326988951, - "key_format": "{guid}:{version}", - "stash_time": 1765348506340, - "id": "c6041867-207e-4519-a399-5ca0f224fc61", - "last_modified": 1765348588797 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "myblocker@example.com:1.0", - "patreon-easy-downloader@patreon.cosmious.com:288", - "sample-extension@jyothsna.dev:1.0", - "filejo-partner-auto-tool@example.com:1.0", - "oracle-jira-tracker@oracle.com:2.0.29", - "painless-leetcode@nikaltipar:1.0" - ] - }, - "schema": 1765305389291, - "key_format": "{guid}:{version}", - "stash_time": 1765326906106, - "id": "f026cde1-b30a-46f0-a30a-b2340c87c408", - "last_modified": 1765326988689 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "container-782-warning@logistik32.local:1.0", - "extension@ciuvo.com:1.6.9", - "extension@ciuvo.com:1.6.10", - "extension@ciuvo.com:1.6.11", - "extension@ciuvo.com:1.6.12", - "extension@ciuvo.com:1.6.13", - "extension@ciuvo.com:2.2.7", - "extension@ciuvo.com:2.2.8", - "extension@ciuvo.com:4.0.1", - "extension@ciuvo.com:4.0.2", - "extension@ciuvo.com:4.0.3", - "extension@ciuvo.com:4.0.4", - "extension@ciuvo.com:4.0.5", - "extension@ciuvo.com:4.0.6", - "extension@ciuvo.com:4.0.7", - "extension@ciuvo.com:4.0.8", - "extension@pricesparrow.com:1.6.10", - "extension@preispilot.com:1.6.10", - "permissions-test-case-2@svincent:1.0.0", - "{6fe29810-7109-4b90-9377-770a3dfc125d}:0.0.1", - "{375a1b95-bbef-4118-9cd8-554687dbfc8b}:0.1", - "theme@autumn-moon-gold.org:1.0" - ] - }, - "schema": 1765283791572, - "key_format": "{guid}:{version}", - "stash_time": 1765305306617, - "id": "0f8a741b-8540-47b9-b922-0d9ae74f2f9c", - "last_modified": 1765305389169 - }, - { - "stash": { - "blocked": [ - "{9ee5b337-ca7d-4726-8fe8-a609e2a434a8}:1.0.0", - "{7015afb7-9d85-47ac-b9fa-5d8d86b24a6c}:1.0.0", - "{93fe52f1-561d-4195-804f-dedc27ab381b}:1.0.0", - "{3a97f476-04e5-4736-9c8d-a7069e66b687}:1.0.0", - "{768c6427-92e8-4ef4-ad8f-6083017268c6}:1.0.0", - "{0ec9f483-25a2-4e94-b699-e2d3826f2cab}:1.0.0", - "{c880e326-7480-46e2-bb34-18874339a4e3}:2.1.0" - ], - "unblocked": [], - "softblocked": [ - "{774584fa-54e2-437a-bf27-104f2bc04807}:1.30", - "{583f88fb-52f8-4680-ba0c-955cc11dbc3e}:1.1", - "contact@kalinotes.com:1.11", - "contact@kalinotes.com:1.12", - "contact@kalinotes.com:1.13", - "flow-optimizer@tools.example.com:1.1.2", - "ytthumbv@example.com:1.1", - "auto-report-facebook@example.com:2.1.0", - "@Confluence-Wiki-Style-Fix:1.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.6.1209", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.5.1209", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.1.1208" - ] - }, - "schema": 1765262189451, - "key_format": "{guid}:{version}", - "stash_time": 1765283706358, - "id": "431e3fa3-b308-4939-9712-9abba4f44036", - "last_modified": 1765283791233 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.3.1209", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1209", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.1.1209", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.2.1209", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.4.1209", - "{50123e42-1e9f-431b-ab5f-d85c88426090}:1.0.0", - "{50123e42-1e9f-431b-ab5f-d85c88426090}:1.0.1", - "{d172002d-f177-4621-8d55-c2da4cf5c50f}:3.1.1", - "{d172002d-f177-4621-8d55-c2da4cf5c50f}:1.1.0" - ] - }, - "schema": 1765240589846, - "key_format": "{guid}:{version}", - "stash_time": 1765262106304, - "id": "b2f41fed-479a-4412-8dd3-398ac85c5553", - "last_modified": 1765262189194 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{86ee9b71-c016-4fa8-84c6-98342c9efa25}:1.0.0", - "{4e644cca-b043-45e9-9f43-fad4a9163544}:1.0", - "{a8b72ea1-68ae-41af-8839-4bb0f642e049}:2.73", - "@reddit-home-button-fix:1.0", - "hotelrunner-pos-ticket@extension.com:1.0.0", - "pushstr@local:0.1.1", - "hide-telegram-search@example.com:1.0", - "linkedin-llm-assistant@ex:0.1.0", - "linkedin-llm-assistant@ex2:0.1.0", - "pushstr@local:0.1.3" - ] - }, - "schema": 1765218990371, - "key_format": "{guid}:{version}", - "stash_time": 1765240506337, - "id": "0f8d370a-407a-4c17-9bef-8f400c5e955e", - "last_modified": 1765240589565 - }, - { - "stash": { - "blocked": [ - "{e25de617-c0a8-415f-8bab-1d6d3f1f6b76}:1.0.0", - "{e25de617-c0a8-415f-8bab-1d6d3f1f6b76}:2.0.0", - "{8b508f0a-b76d-43e9-884a-733a99d9c32d}:1.0.0", - "{e7cd3f6a-3292-4ddd-83c7-b66221edd4b8}:1.0.0" - ], - "unblocked": [], - "softblocked": [ - "{a9b162ba-4d41-4471-bba6-e6ca6bdcdd8a}:1.0.0", - "{580f501c-2a05-4019-b428-995ccc0eb664}:1.0.0", - "{626a0ca0-4605-410e-aa96-ef0bdea7043c}:1.0.0", - "{e557469a-94ed-44f9-8247-25041e684c38}:1.0.0", - "{3f22e878-126e-4670-b806-0e0ce7196752}:1.0.0", - "{ccdc6734-3c96-4ab9-80fc-4fa8bb6428c2}:1.0.0", - "{20cd547c-0cd4-42de-9981-c7ffea1f5aa9}:1.0.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.2.1208", - "synchro-progisap@ococo.ovh:1.1", - "{cd99f1ce-a4e9-4230-989e-621aae75392d}:1.2", - "close-bookmarked-tabs@elisabeth:1.4", - "none@fuckmichnichtab.com:1.0", - "{627686d7-014b-4ba5-a78c-6411ad70fd14}:1.1" - ] - }, - "schema": 1765197396329, - "key_format": "{guid}:{version}", - "stash_time": 1765218906282, - "id": "3ad09eb7-8802-4265-9b0a-4e9d899d60ed", - "last_modified": 1765218990180 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{3e7b22d0-c555-48df-bfab-fcd7d8f2790c}:2.2.4", - "{9dfa9719-65f1-4d78-a2c9-85c7c8b039a3}:2.2.4", - "addon@kleinanzeigen-enhanced.de:0.0.1", - "addon@kleinanzeigen-enhanced.de:0.0.2", - "smartasbrokst@example.com:0.2", - "smartasbrokst@example.com:0.3", - "{774584fa-54e2-437a-bf27-104f2bc04807}:1.29", - "{6478427a-51a4-4b6c-aaef-41ae64b9cc1c}:1.0", - "{0a2c1650-b20c-462b-935d-5c0aaa1f17d0}:1.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.1.1206", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1208", - "{28a13fdc-e57a-44be-b396-bd3ea6c716f1}:2.5.2", - "{28a13fdc-e57a-44be-b396-bd3ea6c716f1}:2.5.4", - "{28a13fdc-e57a-44be-b396-bd3ea6c716f1}:2.5.0" - ] - }, - "schema": 1765175799336, - "key_format": "{guid}:{version}", - "stash_time": 1765197306677, - "id": "ff49078b-075f-4cc6-8300-f0209023c7ee", - "last_modified": 1765197395990 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "shareyt-extension@shareyt.com:0.0.0", - "shareyt-extension@shareyt.com:0.0.2", - "shareyt-extension@shareyt.com:0.0.3", - "icecat@thisisdaan.com:1.0", - "icecat@thisisdaan.com:1.1", - "{28a13fdc-e57a-44be-b396-bd3ea6c716f1}:2.5.1" - ] - }, - "schema": 1765154189262, - "key_format": "{guid}:{version}", - "stash_time": 1765175707050, - "id": "cb290eb1-4652-4422-9788-163b346a4675", - "last_modified": 1765175799062 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{43082f9f-0ef5-4a33-8846-846c3a06eb0c}:1.0", - "{43082f9f-0ef5-4a33-8846-846c3a06eb0c}:1.1", - "{c62b66fe-a3c6-4423-b84d-9b9796a80a15}:1.0", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.0.5.5", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.0.6.6", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.6", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.7", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.8", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.0", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.3", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.9", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:2.0", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:0.3", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:0.4", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:0.5", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.2.2", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.1", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.2", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.3", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.4", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.5", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.6", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.7", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.8", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.3.9", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.4.0", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.1.4.1", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.0", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.1", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.2", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.3", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.4", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.5", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.6", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.7", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.2.2.8", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.3.3.5", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.3.3.8", - "{9a41dca9-1a2e-44f9-9344-9ac479d1f738}:1.5.1a", - "{6fbd309d-cae0-483d-becf-0da3088b2d16}:1.2", - "{6fbd309d-cae0-483d-becf-0da3088b2d16}:1.2.2.0", - "{6fbd309d-cae0-483d-becf-0da3088b2d16}:1.5.1a", - "{6fbd309d-cae0-483d-becf-0da3088b2d16}:1.5.1.1a", - "{6fbd309d-cae0-483d-becf-0da3088b2d16}:1.5.1.2a", - "{f388c187-4d82-4653-bf67-2c22328c1bca}:2.2.4" - ] - }, - "schema": 1765132590414, - "key_format": "{guid}:{version}", - "stash_time": 1765154106165, - "id": "6374ac96-f821-467a-9a06-d2c4d184055f", - "last_modified": 1765154189071 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "favory@sp4ce.pw:1.2.2", - "favory@sp4ce.pw:1.2.3", - "gemini-prekladac-vlastni@localhost:1.0", - "{9fdfdf7d-6502-480c-8047-d01488edf8a0}:1.0.0", - "visilant-beta@xcoder.non-existant-domain.com:1.1.0", - "{e1115949-b669-4cdc-ac1f-326ddb3c7234}:1.0", - "{9088d870-3a33-4c22-8662-36047b66f8bc}:1.0.0", - "{4da1ec58-57c2-4c45-8c39-3b6c027ee944}:1.0.0" - ] - }, - "schema": 1765110987552, - "key_format": "{guid}:{version}", - "stash_time": 1765132506415, - "id": "80bca371-fc6e-4c9b-b880-4853d18d1e7e", - "last_modified": 1765132590103 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{03a90996-1a80-4372-b8c0-6ff5139cad5f}:1.0", - "internetbilltrackerpro@example.com:1.0.0", - "@antibanner:3.5", - "@antibanner:4.0", - "@antibanner:4.0.1", - "randyfrey@tutanota.com:1.0", - "randyfrey@tutanota.com:1.0.4", - "m3u8-sniffer@icecat.addon:1.0.0", - "{d4b72db7-67f0-4e8c-be7d-4ea7038b9687}:1.0", - "filejo_fixer_custom@example.com:1.11", - "mailinfo.ir@gmail.com:1.2", - "{e4e5d47a-49a7-11ee-be56-0242ac120002}:1.0.7", - "{fd3bb385-9595-49a0-9c21-0cf9b9172a4e}:1.0", - "favory@sp4ce.pw:1.1.7", - "favory@sp4ce.pw:1.1.8", - "favory@sp4ce.pw:1.1.9", - "favory@sp4ce.pw:1.2.0", - "favory@sp4ce.pw:1.2.1" - ] - }, - "schema": 1765089389032, - "key_format": "{guid}:{version}", - "stash_time": 1765110906454, - "id": "73f05753-074e-42c8-9a1b-621a501a23c3", - "last_modified": 1765110987297 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "randyfrey@tutanota.com:1.0.1", - "randyfrey@tutanota.com:1.0.3", - "teledown@example.com:1.0", - "ghostrabbit-security@example.com:3.1", - "{b4957d77-f4e9-4052-8f7d-5c79e3256b6a}:1.0", - "{b4957d77-f4e9-4052-8f7d-5c79e3256b6a}:2.0" - ] - }, - "schema": 1765067779534, - "key_format": "{guid}:{version}", - "stash_time": 1765089306158, - "id": "d83dc55e-c998-46fb-8d78-bd2e2a32057e", - "last_modified": 1765089388782 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "tabby@momo.com:0.1", - "stockmanager@gmx.de:2025.1005", - "{a8d3b00b-c781-4009-aa19-9004ff3adfef}:1.3", - "formatter@cryptohelper:1.4", - "{c79821b7-13c3-4ea3-acee-057de14918f4}:1.0", - "{72f793ac-57fb-4cb1-b5f1-287a89dba20c}:7.5", - "{6ab1a57b-2b1c-4c8f-a397-49ce2937d723}:4.62", - "{022879aa-58fb-4579-8b17-4cd2df9dc805}:1.0", - "vod-tracker2@example.com:1.0", - "vod-tracker@example.com:1.0" - ] - }, - "schema": 1765046194777, - "key_format": "{guid}:{version}", - "stash_time": 1765067705046, - "id": "cef139ea-5b61-4b14-a95c-aef219f7a394", - "last_modified": 1765067779343 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.2.1206", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1206", - "{0b6f6349-25fd-4258-be80-696547cd0894}:20251205.1833", - "audio-effects@studio.extension:1.0.0", - "audio-effects@studio.extension:1.0.2", - "audio-effects@studio.extension:1.0.4", - "audio-effects@studio.extension:1.1.2", - "focus-time-blocker-tempo@extension.dev:2.0.0", - "erp-sales-analysis@example.com:1.4.2", - "{11cfd46d-f1de-465f-85ba-a59078bf9869}:1.2.1", - "{11cfd46d-f1de-465f-85ba-a59078bf9869}:1.2" - ] - }, - "schema": 1765024589417, - "key_format": "{guid}:{version}", - "stash_time": 1765046106134, - "id": "bae3a5f7-0267-4341-86f1-dffb9bfe8a4e", - "last_modified": 1765046194594 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{df5aec55-4e29-46ac-a1e1-c247d8bb3e12}:1.0", - "tipple@youngryan.com:0.1", - "re-start-custom@yourdomain.com:1.3.5", - "re-start-custom@yourdomain.com:1.3.6", - "re-start-custom@yourdomain.com:1.3.7", - "re-start-custom@yourdomain.com:1.3.8", - "re-start-custom@yourdomain.com:1.3.9", - "re-start-custom@yourdomain.com:1.3.10", - "SmartClip@Smitis:1.0.1", - "SmartClip@Smitis:1.0.21.0", - "SmartClip@Smitis:1.0.22.4", - "SmartClip@Smitis:1.0.24.0", - "SmartClip@Smitis:1.0.24.1", - "SmartClip@Smitis:1.0.24.2", - "SmartClip@Smitis:1.0.24.3", - "SmartClip@Smitis:1.0.24.5", - "SmartClip@Smitis:1.0.24.6", - "SmartClip@Smitis:1.0.24.7", - "SmartClip@Smitis:1.0.24.9", - "SmartClip@Smitis:1.0.25.0", - "SmartClip@Smitis:1.0.26.0" - ] - }, - "schema": 1765002994320, - "key_format": "{guid}:{version}", - "stash_time": 1765024506422, - "id": "a96f39da-ec9f-4047-9707-e88e0f04c2f6", - "last_modified": 1765024589298 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "zen-chatgpt-launcher@example.com:1.0", - "zen-chatgpt-launcher@example.com:1.1", - "zen-chatgpt-launcher@example.com:1.2", - "szczypi@hotmail.com:3.2", - "purple-monocle-beta@icecatplugin:0.1.64", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.14.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.19.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.20.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.21.1204", - "mr.iramis@gmail.com:0.1.0" - ] - }, - "schema": 1764981396412, - "key_format": "{guid}:{version}", - "stash_time": 1765002906493, - "id": "a8a006c4-fabf-4100-bacc-d7d21f928351", - "last_modified": 1765002994100 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{2b38446a-b241-49fb-8e9f-04634d22648e}:1.0", - "{03ed4fb9-7f01-4d74-82f3-028f35ba387a}:1.0", - "{5e9633f7-6af1-4213-a708-b73089c94a58}:1.0", - "{f79501c1-65fb-4a8a-adca-3ce247fb2cf7}:1.0", - "{dc481bd6-df4d-4015-9357-14a07f093d24}:1.0", - "{76a937c3-44db-44ae-ad2d-4235d826090a}:1.0", - "{8b33efa8-81c2-4495-b6c2-133194a457d2}:1.0", - "{363573fc-7fc7-4e3e-bff8-0bf179358903}:1.0", - "vl-notifier@local:1.0.1", - "vl-notifier@local:1.0.2", - "vl-notifier@local:1.0.3", - "loginoverlayblocker@dev.fr:1.3", - "loginoverlayblocker@dev.fr:1.4resigned1", - "{e0b3c89e-ac95-4ef7-abad-e00f5aeb1906}:1.0", - "{12345678-1234-1234-432A-123456789aba}:1.0", - "{fec14abb-864c-4d13-9d1d-bce43ec8ca4f}:1.0.0", - "{fec14abb-864c-4d13-9d1d-bce43ec8ca4f}:1.0.1" - ] - }, - "schema": 1764959790917, - "key_format": "{guid}:{version}", - "stash_time": 1764981307235, - "id": "e732864b-5568-4e1c-8979-05329ccd4e26", - "last_modified": 1764981396160 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{1477aae4-5e27-4008-aaf4-243294f7b41d}:1.8.1", - "labs@promptmarketcap.com:1.0.10", - "{5b301532-45b7-4836-955e-560fdaee947b}:1.1", - "{5b301532-45b7-4836-955e-560fdaee947b}:1.2", - "gitlab-tools@lequipe.fr:1.0", - "gitlab-tools@lequipe.fr:1.1", - "gitlab-tools@lequipe.fr:1.2", - "gitlab-tools@lequipe.fr:1.3", - "gitlab-tools@lequipe.fr:1.4", - "gitlab-tools@lequipe.fr:1.5", - "kagi-sidebar@your-unique-name.com:4.0", - "magnoliaAS@12.34:4.2.6.3", - "magnolie@12.34:4.2.6.3", - "password-manager@extension.com:1.0.0", - "{5d77c7a5-ee1b-4068-b15d-e23224533775}:2.3.6" - ] - }, - "schema": 1764938194052, - "key_format": "{guid}:{version}", - "stash_time": 1764959706296, - "id": "64e3afde-4299-44c0-ab73-3c5c0734186c", - "last_modified": 1764959790637 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{f99128d2-2503-405e-a5c8-02d36abf9540}:12.2.2.2", - "{f99128d2-2503-405e-a5c8-02d36abf9540}:12.2.2.1", - "{f99128d2-2503-405e-a5c8-02d36abf9540}:12.2.2", - "{e6fd26f2-5737-4258-a3b5-e7061cb28d0d}:12.1.6", - "@chaturbate:2.41", - "@chaturbate:2.42", - "@chaturbate:2.44", - "sab-ffx-ext@zpowerbot.com:2.2", - "{9bad2d38-013f-47bf-8237-d270e5d41216}:1.0", - "{9bad2d38-013f-47bf-8237-d270e5d41216}:1.1", - "{9bad2d38-013f-47bf-8237-d270e5d41216}:1.2", - "{9bad2d38-013f-47bf-8237-d270e5d41216}:1.3", - "4ChanDL@example.com:1.0", - "4ChanDL@example.com:1.1", - "{39999d6d-30ac-4aa5-9aa8-181bdfecc5f3}:0.1", - "{39999d6d-30ac-4aa5-9aa8-181bdfecc5f3}:0.2", - "{39999d6d-30ac-4aa5-9aa8-181bdfecc5f3}:0.3", - "sysinfo@pivdenny.ua:1.0", - "my-startup-groups@example.com:1.0" - ] - }, - "schema": 1764916591437, - "key_format": "{guid}:{version}", - "stash_time": 1764938106290, - "id": "0ab23f34-ea09-4f1f-b257-462905b31ad3", - "last_modified": 1764938193841 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "sidebrain@example.com:1.0.4", - "ensek-azure-helper@example.com:1.0.0", - "bnjphnhongclfcjiokiffmbhnenjkhea@CWS_CRXInstaller:25.3.1.25", - "@RingCXforHubSpot-.ccope:25.3.1.25", - "test824u8@example.com:8.2.4", - "test824u80@example.com:8.2.4", - "test824u81@example.com:8.2.4", - "test824u82@example.com:8.2.4", - "Android@bravenhancer.com:20.5.0", - "enhancer@goldenfox.com:20.5.0", - "test824u83@example.com:8.2.4", - "btbattery@example.org:1.4.5", - "btbattery@example.org:1.4.7", - "btbattery@example.org:1.5.0", - "btbattery@example.org:1.5.1", - "simpleshot@secondversion.com:1.0", - "simpleshot@secondversion.com:2.0" - ] - }, - "schema": 1764900945824, - "key_format": "{guid}:{version}", - "stash_time": 1764916506221, - "id": "277c5d65-8103-42f6-8620-cd8ce733a37c", - "last_modified": 1764916591246 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "fertilis.ai@gmail.com:0.0.2", - "{9b8f61dc-6d4b-4282-8258-d44e83843b89}:1.0", - "{9602dbf1-2ceb-4c10-91ff-5cf23e97daf3}:1.0", - "{9602dbf1-2ceb-4c10-91ff-5cf23e97daf3}:2.0", - "{9602dbf1-2ceb-4c10-91ff-5cf23e97daf3}:3.0", - "{9602dbf1-2ceb-4c10-91ff-5cf23e97daf3}:4.0", - "{9602dbf1-2ceb-4c10-91ff-5cf23e97daf3}:5.0", - "{9602dbf1-2ceb-4c10-91ff-5cf23e97daf3}:6.0", - "{d085a167-cb13-4ff5-bf3b-7afda63aeefd}:1.0", - "{49f467c2-496d-4415-be8f-65b3a01f34c2}:1.0", - "{3f8daeb6-e40b-4722-a388-2f4d6828b327}:1.0", - "{b208050e-1a94-4589-bc82-4907612bc1a6}:1.0", - "{552fe1a5-f125-4145-9f71-5357d0054751}:1.0", - "{2e616cf5-038c-41de-98c8-8eadd341d125}:1.0", - "{54f9e1cd-f44e-4946-b3ce-f3ce35f2d076}:1.0", - "{2fe8dd57-6044-4384-9a7d-322965cffcb4}:1.0", - "pera-algo-panel@peraalgo.dev:2.0.4", - "tangem-panel@tangem.dev:2.0.4" - ] - }, - "schema": 1764873392441, - "key_format": "{guid}:{version}", - "stash_time": 1764894906394, - "id": "2f1a454a-1324-499d-b555-2c52b533cdf4", - "last_modified": 1764894989455 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "noreply@renowify.lu:2.2", - "youtube-redirect@yourdomain.com:1.4", - "quiz-ai-helper@quiz-ai-helper.local:1.0.0", - "timetolockin@no.ai:1.0", - "{874f309e-fce3-40ba-a4cd-9e3b298d1dd8}:1.0", - "szczypi@hotmail.com:3.1.1", - "szczypi@hotmail.com:3.1", - "szczypi@hotmail.com:3.0.2", - "szczypi@hotmail.com:3.0.1", - "szczypi@hotmail.com:3.0", - "szczypi@hotmail.com:2.1", - "szczypi@hotmail.com:2.0", - "szczypi@hotmail.com:1.0", - "container-proxy-manager@your-domain.tld:1.0.0", - "stoptimers@admetricks.com:1.0", - "stoptimers@admetricks.com:1.1", - "stoptimers@admetricks.com:1.2", - "stoptimers@admetricks.com:1.3", - "ittcatcher@admetricks.com:1.0", - "paywall-remover-9000@sjoertjuh.dev:1.0.0", - "paywall-remover-9000@sjoertjuh.dev:1.0.1", - "calico-cats@extension:1.0.0", - "@ap-history-tracker:1.1", - "@ap-history-tracker:1.0" - ] - }, - "schema": 1764862094519, - "key_format": "{guid}:{version}", - "stash_time": 1764873307396, - "id": "aa62b81f-11da-4731-916e-644cdf296fab", - "last_modified": 1764873392181 - }, - { - "stash": { - "blocked": [ - "{7eef959d-570c-49bf-914d-52e3243165ca}:1.7", - "{1483d2bf-ee90-4dc0-ad65-684689cfcfc7}:4.0.133", - "{1483d2bf-ee90-4dc0-ad65-684689cfcfc7}:4.0.161", - "{ef34f2c9-f773-4beb-96ec-e532fc7f1738}:1.3.5" - ], - "unblocked": [], - "softblocked": [ - "btbattery@example.org:1.4.1", - "btbattery@example.org:1.4.2", - "{51cfd46d-f1de-465f-85ba-a59078bf9869}:2.0", - "{51cfd46d-f1de-465f-85ba-a59078bf9869}:2.1", - "{51cfd46d-f1de-465f-85ba-a59078bf9869}:2.2", - "{51cfd46d-f1de-465f-85ba-a59078bf9869}:2.3", - "{50cfd46d-f1de-465f-85ba-a59078bf9849}:1.1", - "addontest918@testexample.com:0.0.14", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.9.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.10.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.11.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.12.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.13.1204", - "btbattery@example.org:1.4.3", - "{7f3a9c2b-2222-4f1a-b5c6-9e2d1a8f4b70}:1.0.11", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.15.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.17.1204", - "demo_cvs_riverop0@proton.me:1.2", - "Extractor_riverop0@proton.me:1.0", - "container-proxy-fork@local:0.2.0", - "{6ab1a57b-2b1c-4c8f-a397-49ce2937d723}:4.61", - "{764b10ae-d31a-40bd-a60b-14ff854dd3f7}:5.33" - ] - }, - "schema": 1764830190759, - "key_format": "{guid}:{version}", - "stash_time": 1764851705334, - "id": "8623238e-3774-4468-be5e-a52e68828584", - "last_modified": 1764851779519 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "{261a39da-f913-4c73-b956-239559e3ad64}:1.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.1.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.11.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.2.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.3.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.4.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.5.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.6.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.7.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.8.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.9.1203", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.5.1201", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.10.1203", - "icecat-mobile.unopened558@slmail.me:1.0.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.3.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.4.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.5.1204", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.6.1205", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.8.1204", - "{a8554147-3da5-47ac-b78d-dd11afc9b996}:1.0" - ] - }, - "schema": 1764814539298, - "key_format": "{guid}:{version}", - "stash_time": 1764830106314, - "id": "ab4b2bea-a536-4441-b3a3-63125fe88bbf", - "last_modified": 1764830190557 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "asasosuke0920addon@example.com:1.0", - "sosuke0920addon@example.com:1.0.0", - "{5cd8143b-7ea3-4c9b-8dcc-cfd787ce2ee7}:241029.5", - "civitai-private-tool@seunome.com:1.0.7" - ] - }, - "schema": 1764787802547, - "key_format": "{guid}:{version}", - "stash_time": 1764808507282, - "id": "f876a54c-3860-4a94-ae32-06a85471fc19", - "last_modified": 1764808596284 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "plen@magnus:1.0.0", - "81bece25-d8c5-46fd-86b8-01e4b24796f1@swiftsecurity.ai:1.1.8", - "81bece25-d8c5-46fd-86b8-01e4b24796f1@swiftsecurity.ai:1.1.9", - "81bece25-d8c5-46fd-86b8-01e4b24796f1@swiftsecurity.ai:1.2.0", - "81bece25-d8c5-46fd-86b8-01e4b24796f1@swiftsecurity.ai:1.2.1", - "irctc-automation@example.com:1.5", - "upcextractor@local:1.2", - "{7fdea742-9b86-4c1f-a79b-e8b5c6aa21e7}:1.7", - "{8ec7be8e-ab51-4978-aa39-bf7b9459ec19}:3.0", - "{3a52074f-e718-4bc6-8f27-066a75f75982}:1.1", - "conrep-content-capture@conrep.com:1.1", - "conrep-content-capture@conrep.com:1.2", - "amazon-review-helper@example.com:1.1", - "magnolia@12.34:4.2.5.6", - "{52107386-e663-471f-adc1-e9f3a076bc72}:0.1", - "oldtweetdeck@ajim.dev:4.0.6", - "oldtweetdeck@ajim.dev:4.0.7", - "oldtweetdeck@ajim.dev:4.2.0", - "oldtweetdeck@ajim.dev:4.3.1", - "chat-plagin@chat.pokody.ru:1.0.0", - "save-to-notion-n8n@bibz.dev:1.2" - ] - }, - "schema": 1764776147238, - "key_format": "{guid}:{version}", - "stash_time": 1764786906304, - "id": "13a4b60e-f595-44df-ad09-5b0fe040f173", - "last_modified": 1764786991987 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "contact@kalinotes.com:1.10", - "{9d512393-6113-4924-aa31-3c4a3b0b18c3}:1.2", - "{9d512393-6113-4924-aa31-3c4a3b0b18c3}:1.3", - "{9d512393-6113-4924-aa31-3c4a3b0b18c3}:1.4", - "{9d512393-6113-4924-aa31-3c4a3b0b18c3}:1.5", - "{9d512393-6113-4924-aa31-3c4a3b0b18c3}:1.6", - "{9d512393-6113-4924-aa31-3c4a3b0b18c3}:1.7", - "{f00ce5dc-ec40-41d1-abb5-8a974e97dae4}:1.0", - "@lecoinannote:1.4", - "@lecoinannote:1.5", - "ebdev@wukonig.com:0.0.2", - "DO@Alerter2024:2", - "{d2effd0b-da22-472d-a4ed-09759eb211b3}:1.0", - "darkDelta@example.com:0.1", - "dk-price-checker-misterbr@extension:1.0.0", - "cmds-save-check24@internal:1.0.0" - ] - }, - "schema": 1764743789198, - "key_format": "{guid}:{version}", - "stash_time": 1764765305355, - "id": "2bb2b6d2-abbd-4ee6-831e-5d8dc7f3cd2e", - "last_modified": 1764765381657 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "nice@realnice.com:1.0a", - "{774584fa-54e2-437a-bf27-104f2bc04807}:1.28", - "{b9a13672-ebe9-4328-9212-df0bc1d7bf13}:1.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1203", - "contact@kalinotes.com:1.2", - "contact@kalinotes.com:1.4", - "contact@kalinotes.com:1.5", - "contact@kalinotes.com:1.7", - "contact@kalinotes.com:1.8", - "contact@kalinotes.com:1.9" - ] - }, - "schema": 1764728143172, - "key_format": "{guid}:{version}", - "stash_time": 1764743706299, - "id": "8a61a36a-c856-4675-94ef-42fc50a4c612", - "last_modified": 1764743789065 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "sound-tabs@soundtabs.addon:1.0.0", - "liquid-glass-nav@example.com:1.0", - "liquid-glass-nav@example.com:1.1", - "liquid-glass-nav@example.com:1.2", - "liquid-glass-nav@example.com:1.2.1", - "liquid-glass-nav@example.com:1.3.3", - "liquid-glass-nav@example.com:1.3.4", - "{3ef88308-eb0b-4978-a8ca-f7538ab61e21}:1.0", - "{d393866f-2ad8-4456-8493-2478ac782a84}:1.0", - "vocab-translator@michael.dev:1.0", - "{44eeab13-b15b-4f53-a86f-8b1c2df0853b}:3.4", - "altimer@qruciatus.com:1.1", - "altimer@qruciatus.com:1.2" - ] - }, - "schema": 1764700589886, - "key_format": "{guid}:{version}", - "stash_time": 1764722106932, - "id": "2dbf6ac5-e84f-46c8-b1a6-fdf48bc26823", - "last_modified": 1764722190878 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "beta@premid.app:2.0.2", - "beta@premid.app:2.0.3", - "beta@premid.app:2.0.4", - "rotector@jaxron.me:2.6.0", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.0.1202", - "{dc5f5d17-0a0b-4576-b146-e92e5df164ac}:1.1.1202", - "@rf-extension-001:3.2", - "admin@minutesview.tech:2.4.36", - "louis2@lesniak.fr:1.0" - ] - }, - "schema": 1764678989231, - "key_format": "{guid}:{version}", - "stash_time": 1764700506280, - "id": "da8e88b5-1243-48a4-a4ae-cd52d86b1dad", - "last_modified": 1764700589607 - }, - { - "stash": { - "blocked": [ - "{f0b3a684-6e1e-4e91-b9a4-b3ae3b85891f}:1.0.0", - "{125f9c2d-3a6d-4f94-9c96-daf96cc14d6e}:1.0.0", - "{4d6dd848-9248-492b-bcf3-fabf960b047b}:1.0.0", - "{9f90d3bc-f0f0-4161-a624-c369691e1304}:1.0.0", - "{adbc41af-2f40-4522-935e-b0af93c53209}:1.0.0", - "{3df4692a-2161-41ab-b683-07e29692fdb2}:1.0.0", - "{ed6c839a-25bc-43ed-a71a-c1529460bcd8}:1.0.0", - "metasite-mask@metasite:1.0" - ], - "unblocked": [], - "softblocked": [ - "{7548f5f2-97bf-4c09-befb-f60628802c46}:2.6.6", - "{4de6f645-172d-486e-bfba-f18b371e70c9}:2.6.6.1", - "{71dc1c3b-2d04-43c9-adfb-0a53e172af7b}:2.6.5.1", - "{d942c724-cbbe-4ea3-8a56-3a477ebf4907}:2.6.5", - "navipartner-browser-extension@navipartner.com:1.0.0", - "{ae5fde37-1288-4c1f-9469-dd69b7f157d0}:0.0.22", - "{d28be68b-691c-413e-bab7-6f9d8aa4ab07}:1.1", - "aiwattch@antarcticaglobal.com:1.0.6", - "aiwattch@antarcticaglobal.com:1.0.5", - "aiwattch@antarcticaglobal.com:1.0.4", - "aiwattch@antarcticaglobal.com:1.0.0" - ] - }, - "schema": 1764657390503, - "key_format": "{guid}:{version}", - "stash_time": 1764678906295, - "id": "72efaaf5-6882-476c-b202-119d0370b17e", - "last_modified": 1764678989112 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "floatingresumetoolbar@example.com:7.0", - "domrecon-scanner@test.com:1.0", - "{8d41eb56-1df6-483e-82b1-358d0dba62ee}:0.5", - "llm-history-search@conversai.us:1.2" - ] - }, - "schema": 1764641740686, - "key_format": "{guid}:{version}", - "stash_time": 1764657307047, - "id": "ef520296-03ab-494f-a0ed-4cf06c27954d", - "last_modified": 1764657390328 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "lorduss21@gmail.com:0.2", - "ekici@yahoo.com:0.1", - "ekici@yahoo.com:0.2", - "{E30039D8-ED47-4A32-AEC8-2A951E1F55D5}:1.0.0", - "bettersnap-custom-123@local:1.4.0", - "@uuid-063caffc-ca2b-2783-c5dd-5be6adacc941:1.3", - "{722d1fd3-a381-4c5f-8a68-a3de45138817}:0.10.13", - "{a6fa8776-fe3c-491f-bb36-e9383e4abc95}:1.0.0", - "{a6fa8776-fe3c-491f-bb36-e9383e4abc95}:1.0.1", - "{a6fa8776-fe3c-491f-bb36-e9383e4abc95}:1.0.2", - "{a6fa8776-fe3c-491f-bb36-e9383e4abc95}:1.0.3", - "{a6fa8776-fe3c-491f-bb36-e9383e4abc95}:1.0.4", - "{a6fa8776-fe3c-491f-bb36-e9383e4abc95}:1.0.5" - ] - }, - "schema": 1764614190630, - "key_format": "{guid}:{version}", - "stash_time": 1764635706624, - "id": "d8309d3d-fe16-4f84-a7fa-04643b04e015", - "last_modified": 1764635792363 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "youtube-speed-changer@example.com:1.23", - "{3341e51d-31a4-4fd7-83b2-07c3de5f4a92}:0.6", - "tasp-jira-extension@ibm.com:1.0.0", - "66d1aa1b-5805-4357-86a0-96e0c04704e6@concentric.ai:1.4.7", - "{945b3764-0836-4388-877f-f1b5dcbfa74a}:1.0", - "{ae5fde37-1288-4c1f-9469-dd69b7f157d0}:0.0.21", - "michoscheckin@your-domain.com:0.0.1.1", - "hogehuga@zozege.local:0.41.2", - "opinionrejector@melikechan.me:0.1", - "opinionrejector@melikechan.me:0.2", - "addon-TVer@uuid-c1372cd9-9607-67dc-3187-01857363bc0f:1.5", - "{cfb9019a-615c-4c7c-92f2-1a1c6da80a25}:1.0", - "97shop@97shop.com:0.1.0", - "97shop@97shop.com:1.0.0", - "97shop@97shop.com:1.1.1", - "97shop@97shop.com:1.2.0", - "97shop@97shop.com:1.3.0", - "97shop@97shop.com:1.5", - "97shop@97shop.com:1.5.4", - "97shop@97shop.com:1.5.20", - "97shop@97shop.com:1.5.21", - "97shop@97shop.com:1.5.22", - "97shop@97shop.com:1.5.23", - "97shop-icecat-android@97shop.com:0.0.1", - "97shop-icecat-android@97shop.com:1.1.1", - "97shop-icecat-android@97shop.com:1.1.2", - "97shop-icecat-android@97shop.com:1.5", - "97shop-icecat-android@97shop.com:1.5.4", - "97shop-icecat-android@97shop.com:1.5.5", - "97shop-icecat-android@97shop.com:1.5.6", - "97shop-icecat-android@97shop.com:1.5.7", - "97shop-icecat-android@97shop.com:1.5.8", - "97shop-icecat-android@97shop.com:1.5.9", - "97shop-icecat-android@97shop.com:1.5.10", - "97shop-icecat-android@97shop.com:1.5.11", - "97shop-icecat-android@97shop.com:1.5.13", - "97shop-icecat-android@97shop.com:1.5.15", - "97shop-icecat-android@97shop.com:1.5.16", - "97shop-icecat-android@97shop.com:1.5.20", - "97shop-icecat-android@97shop.com:1.5.21", - "97shop-icecat-android@97shop.com:1.5.22", - "97shop-icecat-android@97shop.com:1.5.24" - ] - }, - "schema": 1764592592864, - "key_format": "{guid}:{version}", - "stash_time": 1764614106541, - "id": "16f2ec2b-ef7d-410a-941d-baff9384f729", - "last_modified": 1764614190520 - }, - { - "stash": { - "blocked": [], - "unblocked": [], - "softblocked": [ - "ews-auto-login@example.com:1.0", - "{3bb6a6f3-2ed4-4ec1-86d7-7cefa9ddea87}:1.5", - "{3bb6a6f3-2ed4-4ec1-86d7-7cefa9ddea87}:1.6", - "antilrp@example:1.3.5", - "anti-aitm@hob-it.nl:1.1.5", - "gemini-branch-editor@ushanov:2.2", - "youtube-scheduler@yourdomain.com:1.2.2", - "youtube-scheduler@yourdomain.com:1.3", - "youtube-scheduler@yourdomain.com:1.4", - "{d137b52b-3fb0-43c6-a564-051ab7273ae9}:1.0", - "{e4182e50-1974-4329-8745-50a09984be54}:1.0.0", - "{e4182e50-1974-4329-8745-50a09984be54}:1.0.1" - ] - }, - "schema": 1764570990345, - "key_format": "{guid}:{version}", - "stash_time": 1764592506692, - "id": "006d659c-a0b4-4d1f-8659-ae35fa8f3aac", - "last_modified": 1764592592670 - }, { "stash": { "blocked": [], @@ -9126,5 +4867,5 @@ "last_modified": 1761136764909 } ], - "timestamp": 1767616590393 + "timestamp": 1764570990070 } diff --git a/icecat/services/settings/dumps/main/devtools-compatibility-browsers.json b/icecat/services/settings/dumps/main/devtools-compatibility-browsers.json index ce4391e305..b7d883bdac 100644 --- a/icecat/services/settings/dumps/main/devtools-compatibility-browsers.json +++ b/icecat/services/settings/dumps/main/devtools-compatibility-browsers.json @@ -1,283 +1,121 @@ { "data": [ - { - "name": "Safari", - "schema": 1766016303794, - "status": "current", - "version": "26.3", - "browserid": "safari", - "id": "f7f0e108-c839-4036-94f6-1d77b172c85a", - "last_modified": 1766045402721 - }, - { - "name": "WebView on iOS", - "schema": 1766016304219, - "status": "current", - "version": "26.3", - "browserid": "webview_ios", - "id": "8ac8569d-f6dc-41e4-b448-7c54f6923a36", - "last_modified": 1766045402718 - }, - { - "name": "Safari on iOS", - "schema": 1766016304005, - "status": "current", - "version": "26.3", - "browserid": "safari_ios", - "id": "916681bd-04e0-4dbe-9c02-965181db1356", - "last_modified": 1766045402715 - }, { "name": "Bun", - "schema": 1765411502852, + "schema": 1762992304400, "status": "current", - "version": "1.3.4", + "version": "1.3.2", "browserid": "bun", - "id": "bb61843a-d6b5-40f0-bf14-89b02e02cdd1", - "last_modified": 1765440270114 - }, - { - "name": "IceCat for Android", - "schema": 1765411503604, - "status": "planned", - "version": "149", - "browserid": "icecat_android", - "id": "78dc5472-36f7-465d-92c2-3d2ff5d7c323", - "last_modified": 1765440270110 + "id": "5034aa5c-d78a-4a4a-ade2-d9aaef93a941", + "last_modified": 1763038623318 }, { "name": "IceCat", - "schema": 1765411503258, + "schema": 1762992304751, "status": "planned", - "version": "149", - "browserid": "icecat", - "id": "2154c26d-3d7d-4ddc-a6ec-de10aeaba65f", - "last_modified": 1765440270107 - }, - { - "name": "IceCat", - "schema": 1765411503145, - "status": "nightly", "version": "148", "browserid": "icecat", "id": "4ebdb515-56c0-4aae-bf80-631df396b3c5", - "last_modified": 1765440270099 + "last_modified": 1763038623314 }, { "name": "IceCat for Android", - "schema": 1765411503533, - "status": "nightly", + "schema": 1762992305101, + "status": "planned", "version": "148", "browserid": "icecat_android", "id": "5e1afc2d-b301-49b8-9052-0d0ceed8d7a3", - "last_modified": 1765440270095 + "last_modified": 1763038623310 }, { "name": "IceCat for Android", - "schema": 1765411503470, - "status": "beta", + "schema": 1762992305037, + "status": "nightly", "version": "147", "browserid": "icecat_android", "id": "6d4ac1b5-fae6-4cf0-8966-3833c78d2d6d", - "last_modified": 1765440270091 + "last_modified": 1763038623304 }, { "name": "IceCat", - "schema": 1765411503078, - "status": "beta", + "schema": 1762992304683, + "status": "nightly", "version": "147", "browserid": "icecat", "id": "da813114-57b4-435c-831e-4fc28589a55c", - "last_modified": 1765440270088 + "last_modified": 1763038623300 }, { "name": "IceCat for Android", - "schema": 1765411503404, - "status": "current", + "schema": 1762992304970, + "status": "beta", "version": "146", "browserid": "icecat_android", "id": "b8de7d68-78f0-49a8-ae02-2b807c2a40d0", - "last_modified": 1765440270084 + "last_modified": 1763038623295 }, { "name": "IceCat", - "schema": 1765411503010, - "status": "current", + "schema": 1762992304614, + "status": "beta", "version": "146", "browserid": "icecat", "id": "db1e42f6-cbd7-4a17-a388-2190ad554abf", - "last_modified": 1765440270080 + "last_modified": 1763038623291 }, { - "name": "WebView Android", - "schema": 1764979505137, - "status": "planned", - "version": "146", - "browserid": "webview_android", - "id": "620f087d-d5c6-4b67-80f4-02358d8298e7", - "last_modified": 1765180094112 - }, - { - "name": "Opera Android", - "schema": 1764979504685, + "name": "IceCat for Android", + "schema": 1762992304900, "status": "current", - "version": "93", - "browserid": "opera_android", - "id": "d804ce23-825c-4e96-a0f4-c70981bb9a18", - "last_modified": 1765180094108 + "version": "145", + "browserid": "icecat_android", + "id": "546eaac9-d444-4f9f-a403-b97a76646211", + "last_modified": 1763038623283 }, { - "name": "Chrome Android", - "schema": 1764979504231, - "status": "planned", - "version": "146", - "browserid": "chrome_android", - "id": "1b035778-10c7-4ea3-aeb4-3606fd3483e1", - "last_modified": 1765180094104 + "name": "IceCat", + "schema": 1762992304541, + "status": "current", + "version": "145", + "browserid": "icecat", + "id": "04fc0708-9123-4914-a491-ca13f20285e6", + "last_modified": 1763038623278 + }, + { + "name": "Safari on iOS", + "schema": 1762387504104, + "status": "beta", + "version": "26.2", + "browserid": "safari_ios", + "id": "2eb9ac0d-f4bf-4cdf-83a1-49dc43362039", + "last_modified": 1762424892978 + }, + { + "name": "Safari", + "schema": 1762387503881, + "status": "beta", + "version": "26.2", + "browserid": "safari", + "id": "8982e715-0fe8-485b-a68f-582f3420cf8c", + "last_modified": 1762424892974 }, { "name": "Edge", - "schema": 1764979504557, + "schema": 1762387503671, "status": "planned", - "version": "146", - "browserid": "edge", - "id": "71070e67-3067-4271-acef-cf0bd7a4f555", - "last_modified": 1765180094101 - }, - { - "name": "Chrome", - "schema": 1764979503917, - "status": "planned", - "version": "146", - "browserid": "chrome", - "id": "b9100141-3b96-44f6-89b5-2dd19d6dfba6", - "last_modified": 1765180094097 - }, - { - "name": "Edge", - "schema": 1764979504497, - "status": "nightly", "version": "145", "browserid": "edge", "id": "40684037-f3dc-4106-b1f7-91bd4fa18a32", - "last_modified": 1765180094092 + "last_modified": 1762424892971 }, { - "name": "WebView Android", - "schema": 1764979505076, - "status": "nightly", - "version": "145", - "browserid": "webview_android", - "id": "51da2d32-d596-43de-8dea-bb19b07b2bf0", - "last_modified": 1765180094085 - }, - { - "name": "Chrome", - "schema": 1764979503854, - "status": "nightly", - "version": "145", - "browserid": "chrome", - "id": "1bcd114b-13e9-428b-9d54-bd2d993aa5bb", - "last_modified": 1765180094082 - }, - { - "name": "Chrome Android", - "schema": 1764979504166, - "status": "nightly", - "version": "145", - "browserid": "chrome_android", - "id": "4363f23f-12a8-40d5-aedb-9c90514c368c", - "last_modified": 1765180094078 - }, - { - "name": "WebView Android", - "schema": 1764979505016, + "name": "WebView on iOS", + "schema": 1762387504304, "status": "beta", - "version": "144", - "browserid": "webview_android", - "id": "336a5fe9-5846-4e9d-9039-be3d1d82f97f", - "last_modified": 1765180094075 - }, - { - "name": "Chrome", - "schema": 1764979503790, - "status": "beta", - "version": "144", - "browserid": "chrome", - "id": "445d8b56-0300-4c6b-8e1f-0d1ab3f45500", - "last_modified": 1765180094071 - }, - { - "name": "Chrome Android", - "schema": 1764979504105, - "status": "beta", - "version": "144", - "browserid": "chrome_android", - "id": "196eb3bc-6b04-4a4e-875f-b46ff5d5e6da", - "last_modified": 1765180094068 - }, - { - "name": "Chrome", - "schema": 1764979503724, - "status": "current", - "version": "143", - "browserid": "chrome", - "id": "d18f46a3-d6bd-4291-8088-27feea84ca76", - "last_modified": 1765180094064 - }, - { - "name": "Samsung Internet", - "schema": 1764979504820, - "status": "current", - "version": "29.0", - "browserid": "samsunginternet_android", - "id": "c30b100b-baa9-418f-b196-11e2cc06c7ad", - "last_modified": 1765180094055 - }, - { - "name": "Edge", - "schema": 1764979504435, - "status": "beta", - "version": "144", - "browserid": "edge", - "id": "64945ca2-8c7c-4d04-8a37-dd304f2e93ce", - "last_modified": 1765180094052 - }, - { - "name": "Edge", - "schema": 1764979504368, - "status": "current", - "version": "143", - "browserid": "edge", - "id": "5fbdfe94-de4c-4bfe-b789-246f64a7f4b6", - "last_modified": 1765180094048 - }, - { - "name": "WebView Android", - "schema": 1764979504956, - "status": "current", - "version": "143", - "browserid": "webview_android", - "id": "c0345eaf-8f79-42e7-9d5d-a16f48e6761f", - "last_modified": 1765180094045 - }, - { - "name": "Chrome Android", - "schema": 1764979504045, - "status": "current", - "version": "143", - "browserid": "chrome_android", - "id": "88163a1b-c1ef-4699-a50e-bd33a32ea075", - "last_modified": 1765180094041 - }, - { - "name": "Node.js", - "schema": 1764115503977, - "status": "current", - "version": "25.2.0", - "browserid": "nodejs", - "id": "72793b48-82fb-4674-9659-b51e661cb10b", - "last_modified": 1764597259381 + "version": "26.2", + "browserid": "webview_ios", + "id": "0ec79789-21e6-4251-9728-07edaa787a52", + "last_modified": 1762424892967 }, { "name": "Opera", @@ -288,6 +126,24 @@ "id": "5bdc65b2-ee44-4f2a-b776-54b9ffe1147f", "last_modified": 1762424892963 }, + { + "name": "Edge", + "schema": 1762387503603, + "status": "nightly", + "version": "144", + "browserid": "edge", + "id": "64945ca2-8c7c-4d04-8a37-dd304f2e93ce", + "last_modified": 1762424892958 + }, + { + "name": "Edge", + "schema": 1762387503533, + "status": "beta", + "version": "143", + "browserid": "edge", + "id": "5fbdfe94-de4c-4bfe-b789-246f64a7f4b6", + "last_modified": 1762424892954 + }, { "name": "Opera", "schema": 1761955503193, @@ -306,6 +162,177 @@ "id": "847fc43b-579e-4b26-a1fa-cb978ec0438b", "last_modified": 1762424892945 }, + { + "name": "WebView on iOS", + "schema": 1762387504245, + "status": "current", + "version": "26.1", + "browserid": "webview_ios", + "id": "715b8853-603d-4ca8-a18c-3e24169f8895", + "last_modified": 1762424892941 + }, + { + "name": "Safari", + "schema": 1762387503809, + "status": "current", + "version": "26.1", + "browserid": "safari", + "id": "4e69de42-b3b9-4a6e-a764-3038552d0ecb", + "last_modified": 1762424892936 + }, + { + "name": "Safari on iOS", + "schema": 1762387504034, + "status": "current", + "version": "26.1", + "browserid": "safari_ios", + "id": "c67d6870-269b-4aa5-9a1b-03662a4b5771", + "last_modified": 1762424892932 + }, + { + "name": "Edge", + "schema": 1762387503452, + "status": "current", + "version": "142", + "browserid": "edge", + "id": "7d644a9d-4167-44d0-b58a-165beedf43e5", + "last_modified": 1762424892927 + }, + { + "name": "Node.js", + "schema": 1761696314245, + "status": "current", + "version": "24.7.0", + "browserid": "nodejs", + "id": "91237d21-1b61-4fa2-8a8e-7d6237471e87", + "last_modified": 1761724372882 + }, + { + "name": "WebView Android", + "schema": 1761696314562, + "status": "planned", + "version": "145", + "browserid": "webview_android", + "id": "51da2d32-d596-43de-8dea-bb19b07b2bf0", + "last_modified": 1761724372878 + }, + { + "name": "Chrome", + "schema": 1761696313807, + "status": "planned", + "version": "145", + "browserid": "chrome", + "id": "1bcd114b-13e9-428b-9d54-bd2d993aa5bb", + "last_modified": 1761724372875 + }, + { + "name": "Chrome Android", + "schema": 1761696314122, + "status": "planned", + "version": "145", + "browserid": "chrome_android", + "id": "4363f23f-12a8-40d5-aedb-9c90514c368c", + "last_modified": 1761724372871 + }, + { + "name": "WebView Android", + "schema": 1761696314499, + "status": "nightly", + "version": "144", + "browserid": "webview_android", + "id": "336a5fe9-5846-4e9d-9039-be3d1d82f97f", + "last_modified": 1761724372867 + }, + { + "name": "Chrome", + "schema": 1761696313747, + "status": "nightly", + "version": "144", + "browserid": "chrome", + "id": "445d8b56-0300-4c6b-8e1f-0d1ab3f45500", + "last_modified": 1761724372864 + }, + { + "name": "Chrome Android", + "schema": 1761696314057, + "status": "nightly", + "version": "144", + "browserid": "chrome_android", + "id": "196eb3bc-6b04-4a4e-875f-b46ff5d5e6da", + "last_modified": 1761724372861 + }, + { + "name": "Chrome", + "schema": 1761696313690, + "status": "beta", + "version": "143", + "browserid": "chrome", + "id": "d18f46a3-d6bd-4291-8088-27feea84ca76", + "last_modified": 1761724372857 + }, + { + "name": "WebView Android", + "schema": 1761696314379, + "status": "current", + "version": "142", + "browserid": "webview_android", + "id": "d1917e2a-614b-4b6c-8bb4-683132e1fd64", + "last_modified": 1761724372851 + }, + { + "name": "Chrome", + "schema": 1761696313619, + "status": "current", + "version": "142", + "browserid": "chrome", + "id": "80f03197-a17b-4032-ba47-0e81e04ffce2", + "last_modified": 1761724372848 + }, + { + "name": "WebView Android", + "schema": 1761696314437, + "status": "beta", + "version": "143", + "browserid": "webview_android", + "id": "c0345eaf-8f79-42e7-9d5d-a16f48e6761f", + "last_modified": 1761724372841 + }, + { + "name": "Chrome Android", + "schema": 1761696313996, + "status": "beta", + "version": "143", + "browserid": "chrome_android", + "id": "88163a1b-c1ef-4699-a50e-bd33a32ea075", + "last_modified": 1761724372838 + }, + { + "name": "Chrome Android", + "schema": 1761696313933, + "status": "current", + "version": "142", + "browserid": "chrome_android", + "id": "0b5cf19b-6816-4a96-aeb8-de25f776b025", + "last_modified": 1761724372834 + }, + { + "name": "Opera Android", + "schema": 1760141104124, + "status": "current", + "version": "92", + "browserid": "opera_android", + "id": "2d5b3e9f-ae53-4833-adac-d2fdb3267611", + "last_modified": 1760336031485 + }, + { + "name": "Samsung Internet", + "schema": 1759889746802, + "status": "beta", + "version": "29.0", + "browserid": "samsunginternet_android", + "id": "c30b100b-baa9-418f-b196-11e2cc06c7ad", + "last_modified": 1759989898794 + }, { "name": "Deno", "schema": 1759363503600, @@ -333,6 +360,15 @@ "id": "9949da65-f6be-41f4-9c9d-73bc27b4d2a0", "last_modified": 1754642891013 }, + { + "name": "Samsung Internet", + "schema": 1749254703179, + "status": "current", + "version": "28.0", + "browserid": "samsunginternet_android", + "id": "d85a7f04-256c-4b3c-a633-29d0b2a19f18", + "last_modified": 1749550693720 + }, { "name": "Node.js", "schema": 1734480302872, @@ -352,5 +388,5 @@ "last_modified": 1665656484764 } ], - "timestamp": 1766045402721 + "timestamp": 1763038623318 } diff --git a/icecat/services/settings/dumps/main/password-rules.json b/icecat/services/settings/dumps/main/password-rules.json index 75f4eb8817..92a1e32be8 100644 --- a/icecat/services/settings/dumps/main/password-rules.json +++ b/icecat/services/settings/dumps/main/password-rules.json @@ -1,203 +1,5 @@ { "data": [ - { - "Domain": "bkvenergy.com", - "password-rules": "minlength: 8; maxlength: 12; required: upper; required: lower; required: digit; required: [-~!@#$%^&*()_=+,<.> ];", - "id": "79120746-e8f2-4ff2-b18e-730f72e35156", - "last_modified": 1764684322196 - }, - { - "Domain": "sjwaterhub.com", - "password-rules": "minlength: 8; maxlength: 30; required: digit, lower, upper; allowed: [!#%&*.];", - "id": "ad4dc632-7790-42cf-a798-12a1fabf4585", - "last_modified": 1764684322192 - }, - { - "Domain": "promozoneapp.nmlottery.com", - "password-rules": "minlength: 6; maxlength: 16; required: lower; required: upper; required: digit; allowed: special;", - "id": "b84b78b1-6f59-4b63-813f-ac1965568c72", - "last_modified": 1764684322188 - }, - { - "Domain": "mypatientvisit.com", - "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [!#$%&*+.;?@^_~];", - "id": "5eb5ee14-8f2c-4397-afa9-bd59fc79f4df", - "last_modified": 1764684322177 - }, - { - "Domain": "mybam.bcbsnm.com", - "password-rules": "minlength: 8; maxlength: 64; max-consecutive: 2; required: lower; required: upper; required: digit; allowed: [!#$%&()*@[^{}~];", - "id": "21a8ea3d-676d-409a-9dc5-8a3ec72d7d9a", - "last_modified": 1764684322173 - }, - { - "Domain": "id.westfield.com", - "password-rules": "minlength: 9; maxlength: 20; required: lower; required: upper; required: digit; required: [!\"#&'()*,./:;?@[\\^_`{|}~];", - "id": "37ac075d-294f-4c68-b5ae-63324992786b", - "last_modified": 1764684322169 - }, - { - "Domain": "id.nfpa.org", - "password-rules": "minlength: 8; maxlength: 16; required: lower; required: upper; required: digit; required: [-\"^#$%&'()*+:=@[_|{}~]];", - "id": "9bf8d9d2-ffa4-4bf6-8b3c-aa3ed98b1114", - "last_modified": 1764684322166 - }, - { - "Domain": "cardcash.com", - "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [!$%&*?@];", - "id": "ed380255-5637-4a0a-9336-54e743632071", - "last_modified": 1764684322162 - }, - { - "Domain": "auth.zennioptical.com", - "password-rules": "minlength: 8; maxlength: 14; required: lower; required: upper; required: digit; allowed: special;", - "id": "c5e8a7c1-e20c-4d60-b411-6f2cadf75d35", - "last_modified": 1764684322157 - }, - { - "Domain": "app8menu.com", - "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [@$!%*?&];", - "id": "332895b3-7ed5-4353-abfa-2540cd218959", - "last_modified": 1764684322153 - }, - { - "Domain": "publix.com", - "password-rules": "minlength: 8; maxlength: 28; required: upper; required: lower; allowed: digit,[!#$%*@^];", - "id": "2f716ab9-e74b-4c12-9c49-0cb6a2e819f7", - "last_modified": 1764684322149 - }, - { - "Domain": "themovingportal.co.uk", - "password-rules": "minlength: 8; maxlength: 16; required: lower; required: upper; required: digit; allowed: [-@#$%^&*_+={}|\\:',?/'~\" ();.[]];", - "id": "b5cdfe1b-6582-42e2-ae6a-70abf3cff53e", - "last_modified": 1764684322146 - }, - { - "Domain": "ticketweb.com", - "password-rules": "minlength: 12; maxlength: 15;", - "id": "71bd6187-4ebe-4be4-8f82-617a8baebd0a", - "last_modified": 1764684322142 - }, - { - "Domain": "act.org", - "password-rules": "minlength: 8; maxlength: 64; required: lower; required: upper; required: digit; required: [!#$%&*@^];", - "id": "444e2e0f-e423-4702-8f27-2cea28fd97c4", - "last_modified": 1764684322138 - }, - { - "Domain": "yeti.com", - "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [#$%*];", - "id": "a14cc11d-9f16-4c0c-aa7e-ca4010d38967", - "last_modified": 1764684322135 - }, - { - "Domain": "vons.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "427bb481-ac5e-463c-b164-e2e2d9a6eb94", - "last_modified": 1764684322131 - }, - { - "Domain": "tomthumb.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "5790bfe5-d80f-4067-b47d-967b6219e307", - "last_modified": 1764684322128 - }, - { - "Domain": "starmarket.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "de0a163b-0538-402a-9a4b-08da580bb03a", - "last_modified": 1764684322124 - }, - { - "Domain": "shaws.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "c98a263c-08ab-4f5b-bdce-4c4d4a6bae1a", - "last_modified": 1764684322120 - }, - { - "Domain": "savemart.com", - "password-rules": "minlength: 8; maxlength: 12; required: digit; required: upper,lower; required: [!#$%&@]; allowed: ascii-printable;", - "id": "124261a6-9926-4d4c-ab98-b1bf2bde81b1", - "last_modified": 1764684322117 - }, - { - "Domain": "safeway.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "e32a0925-07e7-47c6-af3c-0791d873cc7e", - "last_modified": 1764684322113 - }, - { - "Domain": "randalls.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "bf4996a5-4556-4ba3-968d-af8143f4f22c", - "last_modified": 1764684322109 - }, - { - "Domain": "pavilions.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "2c15e93c-4780-4775-80c8-08c66f9f756f", - "last_modified": 1764684322106 - }, - { - "Domain": "kingsfoodmarkets.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "68647a6b-179b-4742-86a2-1cbfcd4c564d", - "last_modified": 1764684322102 - }, - { - "Domain": "jewelosco.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "488c6089-7e00-4081-a207-7baefa5cd259", - "last_modified": 1764684322048 - }, - { - "Domain": "haggen.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "8de06c6c-e07f-446a-8b25-f8129cf1c717", - "last_modified": 1764684322044 - }, - { - "Domain": "carrsqc.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "42f897e7-1106-47e9-b294-128fd45488e4", - "last_modified": 1764684322039 - }, - { - "Domain": "balduccis.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "359e538d-f52d-4662-ba4e-f65c28abb210", - "last_modified": 1764684322035 - }, - { - "Domain": "andronicos.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "982e3235-9d92-4d01-894c-6b81298e4b53", - "last_modified": 1764684322032 - }, - { - "Domain": "albertsons.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "42346b95-1942-4a8b-9d3d-e4bc87804718", - "last_modified": 1764684322028 - }, - { - "Domain": "acmemarkets.com", - "password-rules": "minlength: 8; maxlength: 40; required: upper; required: [!#$%&*@^]; allowed: lower,digit;", - "id": "69b79395-9801-4295-808c-a811ccd76a2f", - "last_modified": 1764684322024 - }, - { - "Domain": "ea.com", - "password-rules": "minlength: 8; maxlength: 64; required: lower; required: upper; required: digit; allowed: special;", - "id": "925e748f-9880-4af9-b5a1-fb28e5c1c7e7", - "last_modified": 1764684322019 - }, - { - "Domain": "hetzner.com", - "password-rules": "minlength: 8; required: lower; required: upper; required: digit; required: [-^!$%/()=?+#.,;:~*@{}_&[]];", - "id": "a27316a5-29c1-468f-b046-655637fe7fc6", - "last_modified": 1764684322014 - }, { "Domain": "nekochat.cn", "password-rules": "minlength: 8; maxlength: 15; required: lower; required: upper; required: digit;", @@ -1584,6 +1386,12 @@ "id": "2a635fd0-1a69-40e7-90dd-ed0ec396b384", "last_modified": 1624479577265 }, + { + "Domain": "ea.com", + "password-rules": "minlength: 8; maxlength: 16; required: lower; required: upper; required: digit; allowed: special;", + "id": "925e748f-9880-4af9-b5a1-fb28e5c1c7e7", + "last_modified": 1624479577260 + }, { "Domain": "easycoop.com", "password-rules": "minlength: 8; required: upper; required: special; allowed: lower, digit;", @@ -1740,6 +1548,12 @@ "id": "e804c8d8-8d33-463a-b228-c2fbdcad663d", "last_modified": 1624479577129 }, + { + "Domain": "hetzner.com", + "password-rules": "minlength: 8; required: lower; required: upper; required: digit, special;", + "id": "a27316a5-29c1-468f-b046-655637fe7fc6", + "last_modified": 1624479577124 + }, { "Domain": "hilton.com", "password-rules": "minlength: 8; maxlength: 32; required: lower; required: upper; required: digit;", @@ -2419,5 +2233,5 @@ "last_modified": 1624479576629 } ], - "timestamp": 1764684322196 + "timestamp": 1743683182607 } diff --git a/icecat/services/settings/dumps/main/search-config-icons.json b/icecat/services/settings/dumps/main/search-config-icons.json index f5704dfaab..e82bea6cc0 100644 --- a/icecat/services/settings/dumps/main/search-config-icons.json +++ b/icecat/services/settings/dumps/main/search-config-icons.json @@ -168,6 +168,23 @@ "id": "6644f26f-28ea-4222-929d-5d43a02dae05", "last_modified": 1744118264964 }, + { + "schema": 1743687938695, + "imageSize": 96, + "attachment": { + "hash": "3426b5100a6bdb45f8039f0c71a6b68193750ba7bae5b36e5ed31b2b7f372cda", + "size": 1357, + "filename": "azerdict_mobile.png", + "location": "main-workspace/search-config-icons/1229ffe4-7a6f-46d7-b664-5596df0aa730.png", + "mimetype": "image/png" + }, + "engineIdentifiers": [ + "azerdict" + ], + "filter_expression": "env.appinfo.OS == \"iOS\" || env.appinfo.OS == \"Android\"", + "id": "95ed201d-4ab8-4cb8-831d-454f53cab0f8", + "last_modified": 1744118264962 + }, { "schema": 1743687936599, "imageSize": 96, @@ -1122,6 +1139,23 @@ "id": "5ded611d-44b2-dc46-fd67-fb116888d75d", "last_modified": 1744118264833 }, + { + "schema": 1743687843227, + "imageSize": 16, + "attachment": { + "hash": "24daa27a3234d01b5add42e027b0a34000d0ab47c17fe3924c2ca267b7b61c19", + "size": 5430, + "filename": "azerdict-16-icecat.ico", + "location": "main-workspace/search-config-icons/4d6f988d-8905-4aa7-aeea-5b04a6197767.ico", + "mimetype": "image/x-icon" + }, + "engineIdentifiers": [ + "azerdict" + ], + "filter_expression": "env.appinfo.OS != \"iOS\" && env.appinfo.OS != \"Android\"", + "id": "7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e", + "last_modified": 1744118264831 + }, { "schema": 1743687843968, "imageSize": 16, @@ -1172,5 +1206,5 @@ "last_modified": 1744118264825 } ], - "timestamp": 1765918784979 + "timestamp": 1763049497744 } diff --git a/icecat/services/settings/dumps/main/search-config-v2.json b/icecat/services/settings/dumps/main/search-config-v2.json index e4689c7e5f..1bb4ace61f 100644 --- a/icecat/services/settings/dumps/main/search-config-v2.json +++ b/icecat/services/settings/dumps/main/search-config-v2.json @@ -4287,7 +4287,7 @@ }, "id": "04e99a38-13ee-47d8-8aa4-64482b3dea99", "identifier": "ddg", - "last_modified": 1770, + "last_modified": 1767, "recordType": "engine", "schema": 1718698362015, "variants": [ @@ -4301,7 +4301,7 @@ { "globalDefault": "ddg", "id": "f3891684-2348-4e7a-9765-0c5d2d0ab1b9", - "last_modified": 1769, + "last_modified": 1766, "recordType": "defaultEngines", "schema": 1702901837584, "specificDefaults": [] diff --git a/icecat/services/settings/dumps/main/websites-with-shared-credential-backends.json b/icecat/services/settings/dumps/main/websites-with-shared-credential-backends.json index c1356dac32..535a198579 100644 --- a/icecat/services/settings/dumps/main/websites-with-shared-credential-backends.json +++ b/icecat/services/settings/dumps/main/websites-with-shared-credential-backends.json @@ -19,23 +19,6 @@ "americanairlines.com", "americanairlines.jp" ], - [ - "acmemarkets.com", - "albertsons.com", - "andronicos.com", - "balduccis.com", - "carrsqc.com", - "haggen.com", - "jewelosco.com", - "kingsfoodmarkets.com", - "pavilions.com", - "randalls.com", - "safeway.com", - "shaws.com", - "starmarket.com", - "tomthumb.com", - "vons.com" - ], [ "aetna.com", "banneraetna.myplanportal.com" @@ -101,10 +84,17 @@ "airnewzealand.com.au" ], [ - "albertsonsmarket.com", - "amigosunited.com", - "marketstreetunited.com", - "unitedsupermarkets.com" + "albertsons.com", + "acmemarkets.com", + "carrsqc.com", + "jewelosco.com", + "pavilions.com", + "randalls.com", + "safeway.com", + "shaws.com", + "starmarket.com", + "tomthumb.com", + "vons.com" ], [ "alelo.com.br", @@ -240,10 +230,6 @@ "braze.com", "braze.eu" ], - [ - "candyrect.com", - "nekochat.cn" - ], [ "capitalone.com", "capitalone360.com" @@ -256,12 +242,6 @@ "centralfcu.org", "centralfcu.com" ], - [ - "check24.at", - "check24.com", - "check24.de", - "check24.es" - ], [ "citi.com", "citibank.com", @@ -330,10 +310,6 @@ "docusign.com", "docusign.net" ], - [ - "dq.com", - "dairyqueen.com" - ], [ "drivethrucards.com", "drivethrucomics.com", @@ -380,8 +356,6 @@ ], [ "epicgames.com", - "fortnite.com", - "twinmotion.com", "unrealengine.com" ], [ @@ -448,17 +422,6 @@ "foursquare.com", "swarmapp.com" ], - [ - "gamefaqs.com", - "gamefaqs.gamespot.com" - ], - [ - "gamepedia.com", - "wikia.com", - "wikia.org", - "wikicities.com", - "fandom.com" - ], [ "gazduire.com.ro", "gazduire.net", @@ -473,10 +436,6 @@ "gogoair.com", "gogoinflight.com" ], - [ - "hawaiianairlines.com", - "alaskaair.com" - ], [ "hbo.com", "hbomax.com", @@ -502,8 +461,7 @@ ], [ "instagram.com", - "threads.net", - "threads.com" + "threads.net" ], [ "intuit.com", @@ -522,14 +480,6 @@ "kcls.overdrive.com", "kcls.org" ], - [ - "keypointcu.com", - "kpcu.com" - ], - [ - "koboldpress.com", - "labyrinth.talesofthevaliant.com" - ], [ "letsdeel.com", "deel.com" @@ -619,10 +569,6 @@ "minecraft.net", "mojang.com" ], - [ - "monarch.com", - "monarchmoney.com" - ], [ "moneybird.nl", "moneybird.de", @@ -683,11 +629,6 @@ "overstock.com", "bedbathandbeyond.com" ], - [ - "padmapper.com", - "zumper.com", - "zumperrentals.com" - ], [ "parkmobile.us", "parkmobile.io" @@ -760,11 +701,6 @@ "redis.com", "redislabs.com" ], - [ - "rekordbox.com", - "pioneerdj.com", - "community.pioneerdj.com" - ], [ "rocketaccount.com", "rocketmortgage.com" @@ -881,7 +817,6 @@ ], [ "turkishairlines.com", - "tkwifi.net", "thy.com" ], [ @@ -1009,8 +944,8 @@ ] ], "id": "8c3d4151-8e68-4bb3-a3fd-babf4aba2cdc", - "last_modified": 1764684432032 + "last_modified": 1738775297137 } ], - "timestamp": 1764684432032 + "timestamp": 1738775297137 } diff --git a/icecat/services/settings/dumps/monitor/changes b/icecat/services/settings/dumps/monitor/changes index 5a31d2d813..9263501e92 100644 --- a/icecat/services/settings/dumps/monitor/changes +++ b/icecat/services/settings/dumps/monitor/changes @@ -1,39 +1,9 @@ { "changes": [ { - "last_modified": 1767616590393, - "bucket": "blocklists", - "collection": "addons-bloomfilters" - }, - { - "last_modified": 1604940558744, - "bucket": "blocklists", - "collection": "addons" - }, - { - "last_modified": 1748485472559, - "bucket": "blocklists", - "collection": "gfx" - }, - { - "last_modified": 1673270322227, + "last_modified": 1719927826949, "bucket": "main", - "collection": "language-dictionaries" - }, - { - "last_modified": 1764684322196, - "bucket": "main", - "collection": "password-rules" - }, - { - "last_modified": 1733839156202, - "bucket": "main", - "collection": "remote-permissions" - }, - { - "last_modified": 1761148716130, - "bucket": "main", - "collection": "translations-models" + "collection": "urlbar-persisted-search-terms" }, { "last_modified": 1544035467383, @@ -41,24 +11,14 @@ "collection": "sites-classification" }, { - "last_modified": 1749069444811, + "last_modified": 0, "bucket": "main", - "collection": "translations-wasm" + "collection": "search-config-overrides-v2" }, { - "last_modified": 1605801189258, + "last_modified": 1761148716130, "bucket": "main", - "collection": "hijack-blocklists" - }, - { - "last_modified": 1766045402721, - "bucket": "main", - "collection": "devtools-compatibility-browsers" - }, - { - "last_modified": 1764684432032, - "bucket": "main", - "collection": "websites-with-shared-credential-backends" + "collection": "translations-models" }, { "last_modified": 1739471652383, @@ -66,64 +26,34 @@ "collection": "url-classifier-skip-urls" }, { - "last_modified": 1751018358372, + "last_modified": 1744749743529, "bucket": "main", - "collection": "moz-essential-domain-fallbacks" + "collection": "search-default-override-allowlist" + }, + { + "last_modified": 1749069444811, + "bucket": "main", + "collection": "translations-wasm" }, { "last_modified": 1725526980846, "bucket": "main", "collection": "cookie-banner-rules-list" }, - { - "last_modified": 1745933974542, - "bucket": "main", - "collection": "search-config-v2" - }, { "last_modified": 1726769128879, "bucket": "main", "collection": "url-parser-default-unknown-schemes-interventions" }, - { - "last_modified": 1653469171354, - "bucket": "main", - "collection": "devtools-devices" - }, - { - "last_modified": 0, - "bucket": "main", - "collection": "search-config-overrides-v2" - }, { "last_modified": 1633983928590, "bucket": "main", "collection": "top-sites" }, { - "last_modified": 1564511755134, + "last_modified": 1733839156202, "bucket": "main", - "collection": "anti-tracking-url-decoration" - }, - { - "last_modified": 1763049497744, - "bucket": "main", - "collection": "search-config-icons" - }, - { - "last_modified": 1674595048726, - "bucket": "main", - "collection": "password-recipes" - }, - { - "last_modified": 1744749743529, - "bucket": "main", - "collection": "search-default-override-allowlist" - }, - { - "last_modified": 1719927826949, - "bucket": "main", - "collection": "urlbar-persisted-search-terms" + "collection": "remote-permissions" }, { "last_modified": 1757010621729, @@ -131,15 +61,85 @@ "collection": "search-telemetry-v2" }, { - "last_modified": 1766548622587, + "last_modified": 1763038623318, + "bucket": "main", + "collection": "devtools-compatibility-browsers" + }, + { + "last_modified": 1653469171354, + "bucket": "main", + "collection": "devtools-devices" + }, + { + "last_modified": 1674595048726, + "bucket": "main", + "collection": "password-recipes" + }, + { + "last_modified": 1763049497744, + "bucket": "main", + "collection": "search-config-icons" + }, + { + "last_modified": 1605801189258, + "bucket": "main", + "collection": "hijack-blocklists" + }, + { + "last_modified": 1738775297137, + "bucket": "main", + "collection": "websites-with-shared-credential-backends" + }, + { + "last_modified": 1743683182607, + "bucket": "main", + "collection": "password-rules" + }, + { + "last_modified": 1745933974542, + "bucket": "main", + "collection": "search-config-v2" + }, + { + "last_modified": 1751018358372, + "bucket": "main", + "collection": "moz-essential-domain-fallbacks" + }, + { + "last_modified": 1564511755134, + "bucket": "main", + "collection": "anti-tracking-url-decoration" + }, + { + "last_modified": 1673270322227, + "bucket": "main", + "collection": "language-dictionaries" + }, + { + "last_modified": 1748485472559, + "bucket": "blocklists", + "collection": "gfx" + }, + { + "last_modified": 1604940558744, + "bucket": "blocklists", + "collection": "addons" + }, + { + "last_modified": 1764570990070, + "bucket": "blocklists", + "collection": "addons-bloomfilters" + }, + { + "last_modified": 1764082622611, "bucket": "security-state", "collection": "intermediates" }, { - "last_modified": 1765387587348, + "last_modified": 1759512219332, "bucket": "security-state", "collection": "onecrl" } ], - "timestamp": 1769 + "timestamp": 1766 } \ No newline at end of file diff --git a/icecat/services/settings/dumps/security-state/intermediates.json b/icecat/services/settings/dumps/security-state/intermediates.json index 1d65643349..308a2a8254 100644 --- a/icecat/services/settings/dumps/security-state/intermediates.json +++ b/icecat/services/settings/dumps/security-state/intermediates.json @@ -1,291 +1,5 @@ { "data": [ - { - "schema": 1766545151547, - "derHash": "apoq8tf6rOXigX6DmIJ6FAa+5xHdtxjntVlXeqTBK18=", - "attachment": { - "hash": "4d3692ac441d7c3f075664f508fa72eb6b12c6d921e6f20d39970029ba654f46", - "size": 1999, - "filename": "D2CK5YkrtH6dJajHxLR-P6JOnCIlK4TORS4_07BmMA8=.pem", - "location": "security-state-staging/intermediates/bb6e2bb1-edcc-45e5-856e-f125101628b4.pem", - "mimetype": "application/x-pem-file" - }, - "id": "1f0679b5-b285-43cb-af3b-c9c91f566f52", - "last_modified": 1766548622587 - }, - { - "schema": 1766545150870, - "derHash": "QdmJ/zITleggScLpWry9ecbMIHti+fGCdL3ixy+DQdY=", - "attachment": { - "hash": "3061d1494d2670d64c2b8d2a3b20753446cb3cd16a58e3fc20901e6221952cac", - "size": 1999, - "filename": "DaH-BZQc0vDvzDnwIYWQow8VlNFoJSPHT4EqvAUJlno=.pem", - "location": "security-state-staging/intermediates/6a972243-c1ca-4f56-afd5-dd541badc509.pem", - "mimetype": "application/x-pem-file" - }, - "id": "fe8783cf-bfbf-4942-9459-d38873cd3849", - "last_modified": 1766548622584 - }, - { - "schema": 1766545150516, - "derHash": "N0yqtHIYFqTzgBMA7Wzl1k8VVPkXjZQLTnMGvJPSty4=", - "attachment": { - "hash": "1b6f61ae529e45efc2b08a2c5e354ea73a4eabadec9784b615de5a52b19a07d9", - "size": 1999, - "filename": "FZ9pybbuyn9HhpGR1NPthWsnzkVhQmQzQLyshe2YYQI=.pem", - "location": "security-state-staging/intermediates/82cdb7b6-b69c-4f50-8707-fd6ef2e45fe0.pem", - "mimetype": "application/x-pem-file" - }, - "id": "2aaafebe-5bd9-4295-94b0-781f94ed876a", - "last_modified": 1766548622581 - }, - { - "schema": 1766545151205, - "derHash": "06hD1NyS613xJ+ZGwvUO6ANFJ0fYycbU/bn3yyBgxbc=", - "attachment": { - "hash": "fc501019fa6c2cc3194e8494997361d37dfa2930d979f1a004ec5c96912d8699", - "size": 1999, - "filename": "XztAsecQzzxu1jUv1WbLy4I-Rd8k920eS6JthbhBF7w=.pem", - "location": "security-state-staging/intermediates/c6cfe955-4314-42e4-aa56-147d1a1c1a9c.pem", - "mimetype": "application/x-pem-file" - }, - "id": "db7338eb-337f-4678-90d0-017f070ea48e", - "last_modified": 1766548622575 - }, - { - "schema": 1766545150040, - "derHash": "yvAIQqcvlpblPCnyxeehudcaPi8MMdi5QGlNWdzO9kM=", - "attachment": { - "hash": "c9ddd15d4575624c6480bca5f1621f558809f3d159392240ee373ec1a9c58712", - "size": 1199, - "filename": "p4UlhI-4INdk1HPs8-QdeU9xFTzIwh8tuwVaVcuoAdg=.pem", - "location": "security-state-staging/intermediates/8b0827bc-68a0-4177-adc6-dd30594c243f.pem", - "mimetype": "application/x-pem-file" - }, - "id": "ef0d45b4-04df-431a-ae55-a2db91a67de2", - "last_modified": 1766548622572 - }, - { - "schema": 1766545149681, - "derHash": "x3KGXm+eCneLDoZESiH7ZUf3oF4WnM/Fv+oFMX4PX2k=", - "attachment": { - "hash": "cea5d7631fdb975eaab8abcdeafa6dc8b875ef4ddd5d629506adc68836863859", - "size": 1195, - "filename": "W-Umw3HYfIOzV9bxKzoWQcUfT5Ssj5St0SlQgxYWXVI=.pem", - "location": "security-state-staging/intermediates/2ed1e716-f4b6-4b37-a11b-871ac84e2585.pem", - "mimetype": "application/x-pem-file" - }, - "id": "9a5e2215-2d9b-4b78-b8c9-5cdbc6a6e04a", - "last_modified": 1766548622569 - }, - { - "schema": 1766199553968, - "derHash": "uNBo3GxmB5p1Zp5VsOo+Zv7xBHOUcer8PRZ6aBlyNPY=", - "attachment": { - "hash": "2721d976197c0971feb3b2aa3fe7ab4116f5b873f7762c1b903bed71f274889e", - "size": 2194, - "filename": "fNZ8JI9p2D_C-bsB3LH3rWejY9BGBDeW0JhMOiMfa7A=.pem", - "location": "security-state-staging/intermediates/4538ae28-7ee7-4f9f-9b25-494e072ba946.pem", - "mimetype": "application/x-pem-file" - }, - "id": "1d3479b6-a941-456d-aa49-38d4829fed8f", - "last_modified": 1766203022761 - }, - { - "schema": 1766199553271, - "derHash": "RppWJMvxJcKbHHOqTQXUsr9PhAC11WnppMpVSrTE+vU=", - "attachment": { - "hash": "b0eb06ac30b4d1952a31af513c2b2b13be71d0993ac06a3c9d45b32bfdeffd05", - "size": 1540, - "filename": "G_ANXI8TwJTdF-AFBM8IiIUPEv0Gf6H5LA_b9guG4yE=.pem", - "location": "security-state-staging/intermediates/55a07545-3406-49c7-b4c2-75ab41e736be.pem", - "mimetype": "application/x-pem-file" - }, - "id": "11abffc6-86d0-4dca-8c39-d6a546d872d0", - "last_modified": 1766203022758 - }, - { - "schema": 1766199552928, - "derHash": "Mn7JOVXJFFJhsIfG/F6sinEmK/JWjo0298L+29GxB3o=", - "attachment": { - "hash": "fce6d2adb30e15ecebfc251a25aa18fd326eb2f5bd8def6cdf2c4051fc40d421", - "size": 2308, - "filename": "IcENwofaRhqQc2PcjyjgcuebC1DnPogY1Yfis0DLQJM=.pem", - "location": "security-state-staging/intermediates/1b91e146-c5f2-40c0-8110-19742cfc72f7.pem", - "mimetype": "application/x-pem-file" - }, - "id": "40ee61ef-0bc5-4ea9-8718-4888ecf4305e", - "last_modified": 1766203022755 - }, - { - "schema": 1766199553624, - "derHash": "Gx3gaZDNCzBeLhJIBhA7Gtz/xJnyElBNx39I3QrWIgk=", - "attachment": { - "hash": "8790a12a03afdc57bfe66ff20ba236054617d0d5509f56709ce442cdb4e42a18", - "size": 2121, - "filename": "K89VOmb1cJAN3TK6bf4ezAbJGC1mLcG2Dh97dnwr3VQ=.pem", - "location": "security-state-staging/intermediates/8d7d0493-30e8-4926-b826-971a2e8d1ac7.pem", - "mimetype": "application/x-pem-file" - }, - "id": "b85f75ad-679d-4d04-9406-289abb01f97e", - "last_modified": 1766203022751 - }, - { - "schema": 1766127551521, - "derHash": "s+hkZ9F4886+Eec5/CFp5MeFkHjsY/tAMYmB7zpOqyY=", - "attachment": { - "hash": "c09aff236ce4f0c0fdbedb011c055253734d85ee01f4731d866797babaed2236", - "size": 2182, - "filename": "0cRTd-vc1hjNFlHcLgLCHXUeWqn80bNDH_bs9qMTSPo=.pem", - "location": "security-state-staging/intermediates/1c94507f-bac7-453c-806d-0ac393641919.pem", - "mimetype": "application/x-pem-file" - }, - "id": "9d7646ec-f495-4a54-9a7d-de78added679", - "last_modified": 1766131022600 - }, - { - "schema": 1766026758172, - "derHash": "f+tvjJyEekSeC3AjhsIxmqEZHzjfAtA75ks/GuGXH5Q=", - "attachment": { - "hash": "fc4fafa94f5576c91b52ab38126ac5805910dcc29ff3f249ef2d66fe90c05f9e", - "size": 1297, - "filename": "cC948ZGRQqa4jzUFhFrPLMQ23ZJtoLcISSak2FyC1W4=.pem", - "location": "security-state-staging/intermediates/83d1c892-5314-4a26-959e-afc240dad367.pem", - "mimetype": "application/x-pem-file" - }, - "id": "199298d3-8252-408f-9699-40b091ffc5e8", - "last_modified": 1766030226231 - }, - { - "schema": 1765983546338, - "derHash": "mZPRgykq/EFlq80nK0RUMhRZGDrHtBkROVAzcrzMKKk=", - "attachment": { - "hash": "5cf3c0bfdc7b17d1ae7c3fc1d0bdbf35f10b3fb606b2c8ef50bbfd593549bf92", - "size": 1297, - "filename": "IlYqx6aK68NNdqzDPc346Xl199h2mbiAnsDRwDf7z8s=.pem", - "location": "security-state-staging/intermediates/654d91da-ac76-4cc4-8bfa-d4543598ce45.pem", - "mimetype": "application/x-pem-file" - }, - "id": "0f01296d-e0bc-4d08-944c-1020c8cbb5d0", - "last_modified": 1765987022922 - }, - { - "schema": 1765378748973, - "derHash": "opLN9ZkF/DABbCITHW8uSXRJ8VWgWiNMzsDgQhcb9w8=", - "attachment": { - "hash": "f07935f4dd9d0401863201b99d4893058b39b12c95ba433db82609dd649063d0", - "size": 2353, - "filename": "KsO_2ZCPae5nBbHkbrZGSJnspMLVD2HOwMOS6QlrN4g=.pem", - "location": "security-state-staging/intermediates/ea5c0f11-b67b-46e4-9200-4af33ec21a4d.pem", - "mimetype": "application/x-pem-file" - }, - "id": "8521464e-e102-4a3b-a482-86bf2c3362e2", - "last_modified": 1765382227673 - }, - { - "schema": 1765378748122, - "derHash": "ayJ+6IUPsRNHiouDWm4Dpus/tRkb+5qynYguppulCU0=", - "attachment": { - "hash": "d7c8880d2f6429c7a21df0c8f3510fa82b5385199bb840fcad3bf9417328e59d", - "size": 2345, - "filename": "wlNHZlPQ35zQrKv-RbxnwroHj_ZkxaY4wZ8DGQgvT-I=.pem", - "location": "security-state-staging/intermediates/c86a6fc0-65c7-446f-9506-2647e2f12975.pem", - "mimetype": "application/x-pem-file" - }, - "id": "13f87e5a-265e-4cac-8b2e-a1ebbd86b510", - "last_modified": 1765382227670 - }, - { - "schema": 1765378748571, - "derHash": "Rbxq6V5AerXlav3+7jjO2OlqaskDKtTRIsWstGvcMxI=", - "attachment": { - "hash": "bf21ea3106c8f4a2a5b4422ad54953b4fc54c7dca51ff6dd27b4a9d1994c73b1", - "size": 2361, - "filename": "Q-K2ZHTOJDK_ZL8mtXILZ6yfL-_txpYibcmmr4NWCxs=.pem", - "location": "security-state-staging/intermediates/89ea1551-1a9d-48a7-828c-6dc72e19fb6f.pem", - "mimetype": "application/x-pem-file" - }, - "id": "7545285f-f72e-4009-96a2-d914b8c774e0", - "last_modified": 1765382227667 - }, - { - "schema": 1765378749325, - "derHash": "d1f+MpjzmwusToMNb5jIKOend4DkhcAZWIZOfSSz29E=", - "attachment": { - "hash": "ad54f34781fb85b2cd469c50615b2c8e3113ecfd3e455e3b0f2184b5cd5c158b", - "size": 2345, - "filename": "E1-Hcf9n73xmMa2cczt-v4_p_6OrrN37lruLhCWKP_M=.pem", - "location": "security-state-staging/intermediates/c9dca64c-83dd-4afa-8d5c-e90dc9aa09f2.pem", - "mimetype": "application/x-pem-file" - }, - "id": "b6a3c2b1-7236-4ec8-b4c2-b4dea64ce8e8", - "last_modified": 1765382227663 - }, - { - "schema": 1764817156198, - "derHash": "UZX54oPqjcINa5RkglkXZ5bUrTVDgqOBkFh9aPSNfVk=", - "attachment": { - "hash": "8341b7d535e19bb68109cb0754993e2a65157a98766d1dd8200dbe0e7dddd7a4", - "size": 1975, - "filename": "mySUJCQH0F8sT4UxrtcCo1T-VVJTTxIgq1eyf5wqbAs=.pem", - "location": "security-state-staging/intermediates/524f95da-7ef2-4502-ae2d-7459647fbbbd.pem", - "mimetype": "application/x-pem-file" - }, - "id": "ceaa59dc-8c7b-4c28-bd1c-672a598df7d6", - "last_modified": 1764820622846 - }, - { - "schema": 1764817155820, - "derHash": "BVQINDyz1IIwcsHf6Zrgme1PIDxq6T+6J+O2ZjSemEA=", - "attachment": { - "hash": "08ac715e2de25cd98032acfff7dfeb2604a7f81c433b069cf9f21a9cc1db8caf", - "size": 1134, - "filename": "-75kUEGD589mEpNjiQnoCeQPpBYDqWPrDlC3xwJuUtM=.pem", - "location": "security-state-staging/intermediates/899f5a14-a885-4a61-92d7-a8c58bf087ce.pem", - "mimetype": "application/x-pem-file" - }, - "id": "deb3bf93-0ada-463c-8f8c-5e88174c72ec", - "last_modified": 1764820622843 - }, - { - "schema": 1764817155443, - "derHash": "lEVHbTmJdKDGem0QJKCr/y1OBKCNtFW3zk4PpY0Wpak=", - "attachment": { - "hash": "efe5e2b32dd394d042fe6f4f9bd9591e829f415bdce3909bee87cb987aecff42", - "size": 1134, - "filename": "cjGARjmhkHouKDtiSoO33a4uOH7XEfeIO5iVcVsVbb8=.pem", - "location": "security-state-staging/intermediates/c9e4af62-30a3-4642-bf36-30c4435f9f3b.pem", - "mimetype": "application/x-pem-file" - }, - "id": "68c4032e-2562-4fc8-b778-5f31bca2d5ce", - "last_modified": 1764820622840 - }, - { - "schema": 1764817155036, - "derHash": "ocpRNACZtZTaw0vz3+DCchaIWl7CfsvDoJC+/vHLpj0=", - "attachment": { - "hash": "d69af697f9048ffcc18d359faab125a10f91f7aa10a573d0e31b810b12a8cc44", - "size": 1975, - "filename": "KKESdmQ_GK7Py9tAgDGG9Nw7M1gODAg5fAHThb7syWs=.pem", - "location": "security-state-staging/intermediates/d27ef6a3-58fb-447a-8dbe-30c726218faa.pem", - "mimetype": "application/x-pem-file" - }, - "id": "870f7e56-f650-479b-bf33-f593e36ba7e4", - "last_modified": 1764820622837 - }, - { - "schema": 1764601145271, - "derHash": "mZd78coyP6lgR+faX5O9bL8XAQ1tj7zgMJHs55yFfvo=", - "attachment": { - "hash": "2f39906c9b7687906afb73588a223b73d3bb40c543cf27bcdbf0ed00be872ad3", - "size": 1845, - "filename": "joBG7EysAVpQfODS0BVKS0Do5CsxZc-lRlcUNREtF-U=.pem", - "location": "security-state-staging/intermediates/46076939-8285-409a-a567-12a82a184141.pem", - "mimetype": "application/x-pem-file" - }, - "id": "b18518de-0065-4318-a36f-348417e3f421", - "last_modified": 1764604622418 - }, { "schema": 1764079149622, "derHash": "Vx5SHl4igQ0zuxo5mRFD6eZM2NrpfWWTGxlOGa7oHoY=", @@ -3224,6 +2938,19 @@ "id": "b01d6f54-8501-4470-a2c4-9cc297d6c8a5", "last_modified": 1748789822362 }, + { + "schema": 1748613468911, + "derHash": "aIaMMybttIZShO4SOqy6mO5jS9wotEPbsjSISnu326U=", + "attachment": { + "hash": "46aba2c3a09d43f58213046d0d24b8d72909214f6a12ef536b9ac464675df479", + "size": 6606, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/c08e74d4-41bc-4c0b-a013-178b2df71ef1.pem", + "mimetype": "application/x-pem-file" + }, + "id": "c7ce988b-e290-4807-8114-6aa381e488a9", + "last_modified": 1748617022274 + }, { "schema": 1748613467301, "derHash": "6RWMavVojPz5iQIGxDBhyB+n/AfQjiiifAaMWAc6aZo=", @@ -3263,6 +2990,32 @@ "id": "065468f3-9699-44a0-a94a-9dbe23482932", "last_modified": 1748617022260 }, + { + "schema": 1748613465743, + "derHash": "MjIq4uMadDC+HWwEvYyr+9JAx00snb6CeA2x8/c2YKY=", + "attachment": { + "hash": "1e96c83a685ed5ee76287c49fd81f3a8b5725ab6459929b3bcfbdfe275bac468", + "size": 6480, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/43790604-9e8f-4964-882d-4abfd11191ba.pem", + "mimetype": "application/x-pem-file" + }, + "id": "02655d38-e49e-4724-95ee-7106b411ae85", + "last_modified": 1748617022256 + }, + { + "schema": 1748613464898, + "derHash": "xrPG3kW8irklU2od8L7N6cQivhoGujkUJ1jB7MVYaA4=", + "attachment": { + "hash": "7838c760cb523cdd55efe81c53ee4c5a1ee9702379e1fdc610be0d4c52a1a332", + "size": 1999, + "filename": "LgbK4fwgsgDm-3SFV6RES-yTF9__LkFRZp4PeUTwqeA=.pem", + "location": "security-state-staging/intermediates/b6ca3b07-7c7f-41bf-8627-51e8624a2754.pem", + "mimetype": "application/x-pem-file" + }, + "id": "8535d081-5cb2-412d-8452-365fba55e282", + "last_modified": 1748617022249 + }, { "schema": 1748570266149, "derHash": "QYuXFAxxBYoJ6TOwidDVaD4xM81fclSPbBWhdXm6J9s=", @@ -7730,6 +7483,78 @@ "id": "4bd872f6-57a0-4199-b912-bd91ea605fc6", "last_modified": 1721872623502 }, + { + "schema": 1721314066965, + "derHash": "F3cfaUf6NHJ4bTpEta3iqsupraIDujHr1L2M66/OSUo=", + "subject": "CN=NETLOCK TLS Qualified EV ECC CA,O=NETLOCK Kft.,L=Budapest,C=HU", + "subjectDN": "MHoxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEVMBMGA1UECgwMTkVUTE9DSyBLZnQuMSgwJgYDVQQDDB9ORVRMT0NLIFRMUyBRdWFsaWZpZWQgRVYgRUNDIENBMRcwFQYDVQRhDA5WQVRIVS0xMjIwMTUyMQ==", + "whitelist": false, + "attachment": { + "hash": "c9ece95860512e413eb8e22277dcad84c1d4ea14021af9ac7e7716b861cb07fc", + "size": 1622, + "filename": "8hGei3i00u2h5PvrbQEWCXLIaozLXkbULtTHvZ-3QZg=.pem", + "location": "security-state-staging/intermediates/61dcf76f-a95b-4f56-b986-2147acdca2ae.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8hGei3i00u2h5PvrbQEWCXLIaozLXkbULtTHvZ+3QZg=", + "crlite_enrolled": false, + "id": "cbb6e3e5-aef1-4dbd-9969-ee713e54f56f", + "last_modified": 1721314623022 + }, + { + "schema": 1721314066604, + "derHash": "ABJ5uUndhnDxrm2kB5E7cm9hrveKL/GcLaOVIrMdwMc=", + "subject": "CN=NETLOCK TLS DV ECC CA,O=NETLOCK Kft.,L=Budapest,C=HU", + "subjectDN": "MHAxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEVMBMGA1UECgwMTkVUTE9DSyBLZnQuMR4wHAYDVQQDDBVORVRMT0NLIFRMUyBEViBFQ0MgQ0ExFzAVBgNVBGEMDlZBVEhVLTEyMjAxNTIx", + "whitelist": false, + "attachment": { + "hash": "3b6ba905027ab376f8a0d1dc686ac229d8f8c842a00fb4de31f37a87ec39469b", + "size": 1609, + "filename": "li0YuffRNQ1XEOF7VTuJakr96zJ_ALD7q_pshmkp7mU=.pem", + "location": "security-state-staging/intermediates/1cd4921a-91a9-442f-afba-b1891d75cbcf.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "li0YuffRNQ1XEOF7VTuJakr96zJ/ALD7q/pshmkp7mU=", + "crlite_enrolled": false, + "id": "82b342ce-a491-4a61-966c-d18c2dfb17a9", + "last_modified": 1721314623019 + }, + { + "schema": 1721249267434, + "derHash": "83562S7OoS8wdQHBJrPi1t4sdBfT4bctJgacE3DniJQ=", + "subject": "CN=NETLOCK TLS EV ECC CA,O=NETLOCK Kft.,L=Budapest,C=HU", + "subjectDN": "MHAxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEVMBMGA1UECgwMTkVUTE9DSyBLZnQuMR4wHAYDVQQDDBVORVRMT0NLIFRMUyBFViBFQ0MgQ0ExFzAVBgNVBGEMDlZBVEhVLTEyMjAxNTIx", + "whitelist": false, + "attachment": { + "hash": "6cec58bc428099e4938b4ed602a712431dbb35289dc6c5637c2fd4085f1a4506", + "size": 1609, + "filename": "cbddOej5UNOOv4KN9cNSXUsA1PNl6KujuXDCLRgBnFg=.pem", + "location": "security-state-staging/intermediates/46b3b865-76a2-4411-94a8-2ab122ecabcf.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "cbddOej5UNOOv4KN9cNSXUsA1PNl6KujuXDCLRgBnFg=", + "crlite_enrolled": false, + "id": "5069295a-97e9-45cf-8b62-e71284a97699", + "last_modified": 1721249822940 + }, + { + "schema": 1721249267110, + "derHash": "0OuQhAHzMkJgJjSv1RmRU2s616qQFYb960lV/lGw5Bk=", + "subject": "CN=NETLOCK TLS OV ECC CA,O=NETLOCK Kft.,L=Budapest,C=HU", + "subjectDN": "MHAxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEVMBMGA1UECgwMTkVUTE9DSyBLZnQuMR4wHAYDVQQDDBVORVRMT0NLIFRMUyBPViBFQ0MgQ0ExFzAVBgNVBGEMDlZBVEhVLTEyMjAxNTIx", + "whitelist": false, + "attachment": { + "hash": "c88e2b1e7410dd323a5bc34a7c3f85bd4affb345950c976b16e9db704ef4aac9", + "size": 1609, + "filename": "i16I9ip2k2JwWRaZXmFeIeiS2KzOYhrChFGnUDooIl0=.pem", + "location": "security-state-staging/intermediates/4c2b366d-3949-4dd1-b8aa-a6cacea9a11f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "i16I9ip2k2JwWRaZXmFeIeiS2KzOYhrChFGnUDooIl0=", + "crlite_enrolled": false, + "id": "ad955f30-a150-4a7e-8606-f8be1f785134", + "last_modified": 1721249822937 + }, { "schema": 1721227673766, "derHash": "t3bf8AeekKa/aJc4DUDWzwyA/obmWgbg3wLVgah3BeI=", @@ -10880,6 +10705,78 @@ "id": "f3a57b4b-1087-4064-afdc-fd3d8fd73b7b", "last_modified": 1693407423723 }, + { + "schema": 1693342092773, + "derHash": "snT+vm68cYZsM58Bitkz581oBbQ7/ebSGNwhFHFp12s=", + "subject": "CN=e-Szigno Online SSL CA 2017,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHcxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxJDAiBgNVBAMMG2UtU3ppZ25vIE9ubGluZSBTU0wgQ0EgMjAxNw==", + "whitelist": false, + "attachment": { + "hash": "72bc4f35ba6c3e85f36f856880dc364ba08e1ce42b81244f1ebf53e8514a8d5f", + "size": 1435, + "filename": "G_JwHP_ydSe7pufWcUyNckBrxBbnQ6Kmqw_OFPPiQI0=.pem", + "location": "security-state-staging/intermediates/9cda4ca9-3689-48fd-af2c-640bd25284ff.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "G/JwHP/ydSe7pufWcUyNckBrxBbnQ6Kmqw/OFPPiQI0=", + "crlite_enrolled": false, + "id": "df7a20cf-df80-4bde-8483-7d48af559d55", + "last_modified": 1693342624041 + }, + { + "schema": 1693342093437, + "derHash": "F0TXMTT5XOkWrevub3V0LEeTaGi2TSoMFi7xMpAPDuQ=", + "subject": "CN=e-Szigno Class3 SSL CA 2017,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHcxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxJDAiBgNVBAMMG2UtU3ppZ25vIENsYXNzMyBTU0wgQ0EgMjAxNw==", + "whitelist": false, + "attachment": { + "hash": "f875b715f8027d390ccd47c7e62fa9a8cb805078002c5447fead8ec98441abbd", + "size": 1435, + "filename": "69Duo3nmlQnUEvqzlU27qTDaDY9K1yN0wfdopIs9Y7s=.pem", + "location": "security-state-staging/intermediates/1986ba70-a9d5-4c04-9f62-2c8f532bde42.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "69Duo3nmlQnUEvqzlU27qTDaDY9K1yN0wfdopIs9Y7s=", + "crlite_enrolled": false, + "id": "0b79b1b7-45eb-4167-b5a4-52c77a4ae693", + "last_modified": 1693342624038 + }, + { + "schema": 1693342093097, + "derHash": "/Y4MjMzbuuTB8HwkjRH+u7D7PaDNDYlKioDYBKjTmn0=", + "subject": "CN=e-Szigno Class2 SSL CA 2017,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHcxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxJDAiBgNVBAMMG2UtU3ppZ25vIENsYXNzMiBTU0wgQ0EgMjAxNw==", + "whitelist": false, + "attachment": { + "hash": "eb233f6d83b210e52823cdff3145fe53c2632e2cf95904c5ac6d29368eb61943", + "size": 1435, + "filename": "HGXB7TIfcoLqLINF3LJD2A9t3V4VdHjcBv6LboViQMo=.pem", + "location": "security-state-staging/intermediates/36fd2d27-8c24-4aee-9ba5-feccce9483d5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "HGXB7TIfcoLqLINF3LJD2A9t3V4VdHjcBv6LboViQMo=", + "crlite_enrolled": false, + "id": "c2701cd6-d220-4744-a18b-3a3b323259ee", + "last_modified": 1693342624035 + }, + { + "schema": 1693342092400, + "derHash": "akjnNKxvBnFAySitu8xEkkadQW3i08mnoZfWI3DqwOI=", + "subject": "CN=e-Szigno Qualified TLS CA 2018,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHoxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxJzAlBgNVBAMMHmUtU3ppZ25vIFF1YWxpZmllZCBUTFMgQ0EgMjAxOA==", + "whitelist": false, + "attachment": { + "hash": "acb85909161220196625771f857155f74f662f21acb6efeab36c92266013233a", + "size": 1439, + "filename": "qd9EIyfp7CEtbkxafeyYAuC_8wQBWqGZflkLznwnuyc=.pem", + "location": "security-state-staging/intermediates/86baa78d-dbf7-44c9-b002-1a204379bad6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "qd9EIyfp7CEtbkxafeyYAuC/8wQBWqGZflkLznwnuyc=", + "crlite_enrolled": false, + "id": "9cf88ec1-23c0-487b-9991-3fc43bbf71c0", + "last_modified": 1693342624031 + }, { "schema": 1693104479614, "derHash": "8BBP8XJ0YI8aGKHh6r+OaKUfUAqH4u+iLstiJ2P+9M8=", @@ -12140,6 +12037,60 @@ "id": "ddc97932-2e16-48d1-84b0-3815961ddf1f", "last_modified": 1691204223383 }, + { + "schema": 1690296478698, + "derHash": "oRXsDXPC6KuxiDE0+i3w2YXnQYgWBKQIKQfXBeJAfHI=", + "subject": "CN=e-Szigno Qualified TLS CA 2023,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHoxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxJzAlBgNVBAMMHmUtU3ppZ25vIFF1YWxpZmllZCBUTFMgQ0EgMjAyMw==", + "whitelist": false, + "attachment": { + "hash": "e5582687d546ac85a09c343f23ce9764cbc06e78844654f61940dde5034b145f", + "size": 1439, + "filename": "FfstIBJRQL_OSddFhkXVXxYXvlwpeV4N5QyzQSOMer4=.pem", + "location": "security-state-staging/intermediates/c3eaa351-c45f-4c58-b312-1a214832f8b5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "FfstIBJRQL/OSddFhkXVXxYXvlwpeV4N5QyzQSOMer4=", + "crlite_enrolled": false, + "id": "da49e20c-b2f2-4d31-b07b-1064e96e3b70", + "last_modified": 1690297023211 + }, + { + "schema": 1690296478406, + "derHash": "wEww5A3X6WmC+GBuvvNVSOXG9PeSpSpReM8koOn9c5Y=", + "subject": "CN=e-Szigno DV TLS CA 2023,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHMxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxIDAeBgNVBAMMF2UtU3ppZ25vIERWIFRMUyBDQSAyMDIz", + "whitelist": false, + "attachment": { + "hash": "e024d6f71f79e22a937ce5712dfbf1c17be250937f7a1a1b7aaa69d96607e27b", + "size": 1431, + "filename": "XxwXFeAhoV94cB2wpw1cfCsPS8BPvJevCyCobm4QKxg=.pem", + "location": "security-state-staging/intermediates/6e6e1fde-6155-4773-b392-6ee7800fcbdc.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "XxwXFeAhoV94cB2wpw1cfCsPS8BPvJevCyCobm4QKxg=", + "crlite_enrolled": false, + "id": "0d228708-baa8-45e3-a4ea-0bce48f43f86", + "last_modified": 1690297023208 + }, + { + "schema": 1690296478088, + "derHash": "EtRTenVH/2PDaSNiKiga/+lIESDbeBd2qvmBofm2aNg=", + "subject": "CN=e-Szigno OV TLS CA 2023,O=Microsec Ltd.,L=Budapest,C=HU", + "subjectDN": "MHMxCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxIDAeBgNVBAMMF2UtU3ppZ25vIE9WIFRMUyBDQSAyMDIz", + "whitelist": false, + "attachment": { + "hash": "ab5bf3cb8d3a60923137ac8e379030e9e4208f811155f11e65307099425c5d04", + "size": 1431, + "filename": "CBpKKUYnWuYNjyn6A4C6-fbIOhB5kbX1rkHpBJ-7g0Y=.pem", + "location": "security-state-staging/intermediates/0052bd62-f25b-4c75-b5e2-123cf02b80fe.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "CBpKKUYnWuYNjyn6A4C6+fbIOhB5kbX1rkHpBJ+7g0Y=", + "crlite_enrolled": false, + "id": "a206224b-c943-44b0-b74e-3c4bfb484c15", + "last_modified": 1690297023205 + }, { "schema": 1689929282855, "derHash": "5G+yp1CXo0XUJG3PRKENqnHZ/Q6/q2G6Z+bbhO5bbKs=", @@ -14624,6 +14575,24 @@ "id": "5ec3f078-2414-46ca-aaf8-e9630ae2109a", "last_modified": 1666727874812 }, + { + "schema": 1666727388343, + "derHash": "ppxZlm67zf7H9P8CiMhv9gNW+nhgIIuTtDoJWwYAzB4=", + "subject": "CN=nazwaSSL,OU=http://nazwa.pl,O=nazwa.pl sp. z o.o.,C=PL", + "subjectDN": "MFgxCzAJBgNVBAYTAlBMMRwwGgYDVQQKDBNuYXp3YS5wbCBzcC4geiBvLm8uMRgwFgYDVQQLDA9odHRwOi8vbmF6d2EucGwxETAPBgNVBAMMCG5hendhU1NM", + "whitelist": false, + "attachment": { + "hash": "882b6da025cdfc61d89e03806a350163dfdfc251470ff6e5f8433ca8370adea9", + "size": 1605, + "filename": "AW6U8qPqk114rfl2sAhiEim2Pf0mq_Rb_BeWSlVAiP4=.pem", + "location": "security-state-staging/intermediates/4a692d29-8a7d-4aa6-b0fa-426ad6f59300.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "AW6U8qPqk114rfl2sAhiEim2Pf0mq/Rb/BeWSlVAiP4=", + "crlite_enrolled": false, + "id": "bbeb9d9e-3dd2-4546-8c96-d7fc9be4f2e6", + "last_modified": 1666727874798 + }, { "schema": 1666727382505, "derHash": "6sJBwEQKNoMBETgzNrwgysdAnCD26I1PhPSCe+kZ4zg=", @@ -16046,6 +16015,24 @@ "id": "42115fab-f048-4a66-92be-15d909da568b", "last_modified": 1666727872798 }, + { + "schema": 1666727452311, + "derHash": "I7zV16lqUTqYHq0nk25ZqAKKgHvXKGBBj2i1VaKRFnA=", + "subject": "CN=Certigna Identity CA,OU=0002 48146308100036,O=DHIMYOTIS,C=FR", + "subjectDN": "MIGCMQswCQYDVQQGEwJGUjESMBAGA1UECgwJREhJTVlPVElTMRwwGgYDVQQLDBMwMDAyIDQ4MTQ2MzA4MTAwMDM2MSIwIAYDVQRhDBlOVFJGUi0wMDAyIDQ4MTQ2MzA4MTAwMDM2MR0wGwYDVQQDDBRDZXJ0aWduYSBJZGVudGl0eSBDQQ==", + "whitelist": false, + "attachment": { + "hash": "211c9fabe3b82a58caaded8a0e4fe51f77d8506e143103dc3f8db31704cb7e6e", + "size": 2178, + "filename": "lwJkDQYtogkGJEFJMX5DjskCXh2W7dNBRH_eJZlWjWo=.pem", + "location": "security-state-staging/intermediates/00c1f21f-a695-478a-9e33-19d48f9525d8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "lwJkDQYtogkGJEFJMX5DjskCXh2W7dNBRH/eJZlWjWo=", + "crlite_enrolled": false, + "id": "f695b618-333e-4759-a681-19c5f52aeb16", + "last_modified": 1666727872784 + }, { "schema": 1666727400274, "derHash": "HMNYpt+gp2u1RwZg1487JfI8zWOVZn5JzPyCAdo9GS0=", @@ -18566,6 +18553,24 @@ "id": "d340c468-a715-4aa3-a149-c150973125ed", "last_modified": 1666727869444 }, + { + "schema": 1666727411011, + "derHash": "co2vQG/ans1NVV3BLyfWfW3kRSRpVGShIGaSAPILKEs=", + "subject": "CN=AgID CA1,OU=Area Soluzioni per la Pubblica Amministrazione,O=Agenzia per l'Italia Digitale,L=Roma,C=IT", + "subjectDN": "MIGQMQswCQYDVQQGEwJJVDENMAsGA1UEBwwEUm9tYTEmMCQGA1UECgwdQWdlbnppYSBwZXIgbCdJdGFsaWEgRGlnaXRhbGUxNzA1BgNVBAsMLkFyZWEgU29sdXppb25pIHBlciBsYSBQdWJibGljYSBBbW1pbmlzdHJhemlvbmUxETAPBgNVBAMMCEFnSUQgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "ff3a99bc1b4b533a0133498e18b56144ddeaaae3dfb43cf3c18b178f16a864a6", + "size": 6127, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/f92cd274-a6c5-4692-89d8-bb79a6ff2229.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=", + "crlite_enrolled": false, + "id": "fbd44422-0d3b-47de-9e7b-2a8f647897eb", + "last_modified": 1666727869413 + }, { "schema": 1666727367726, "derHash": "N/0pxwHWl3mY8gUVPqikwumWNU3wctSYTcXYsfdaK2E=", @@ -18584,6 +18589,24 @@ "id": "47f9f4d2-4baa-40bb-9b5b-aa8cefeea36f", "last_modified": 1666727869399 }, + { + "schema": 1666727395775, + "derHash": "0HC/AZz7pGyNNBTW/o19IQd/NUXC/oOePSUPMk43xas=", + "subject": "CN=AgID CA1,OU=Area Soluzioni per la Pubblica Amministrazione,O=Agenzia per l'Italia Digitale,L=Roma,C=IT", + "subjectDN": "MIGQMQswCQYDVQQGEwJJVDENMAsGA1UEBwwEUm9tYTEmMCQGA1UECgwdQWdlbnppYSBwZXIgbCdJdGFsaWEgRGlnaXRhbGUxNzA1BgNVBAsMLkFyZWEgU29sdXppb25pIHBlciBsYSBQdWJibGljYSBBbW1pbmlzdHJhemlvbmUxETAPBgNVBAMMCEFnSUQgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "acd4d6d8a473c1fc0d659c79901ef8ffbd4acdcd519a73233aa6ae62e6eafbda", + "size": 6208, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/995cf1f7-a18a-4753-a7dd-edadaef3dfe1.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=", + "crlite_enrolled": false, + "id": "d5a2518e-b5a8-4ddb-bf31-9b97ea3416f9", + "last_modified": 1666727869386 + }, { "schema": 1666727382024, "derHash": "lItxEa9C9UbVec/1ziveyCE03ZkUhCvdsMUocutgTjk=", @@ -18602,6 +18625,24 @@ "id": "6430f852-d358-4b1a-b2c9-577cf8cf4f97", "last_modified": 1666727869373 }, + { + "schema": 1666727357771, + "derHash": "knHKfojO0l7R0fjgivoDsR0f4S7RElWFraUBJD4srAk=", + "subject": "CN=AgID CA1,OU=Area Soluzioni per la Pubblica Amministrazione,O=Agenzia per l'Italia Digitale,L=Roma,C=IT", + "subjectDN": "MIGQMQswCQYDVQQGEwJJVDENMAsGA1UEBwwEUm9tYTEmMCQGA1UECgwdQWdlbnppYSBwZXIgbCdJdGFsaWEgRGlnaXRhbGUxNzA1BgNVBAsMLkFyZWEgU29sdXppb25pIHBlciBsYSBQdWJibGljYSBBbW1pbmlzdHJhemlvbmUxETAPBgNVBAMMCEFnSUQgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "134d08513f86579b09ea4693ac4d3685f5fc88e012db239d7b017feecbf3f87e", + "size": 6306, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/f3792909-e805-46b5-a4d0-bb3979399b7b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=", + "crlite_enrolled": false, + "id": "07f2dc33-3379-48ad-b352-dc3a300c8197", + "last_modified": 1666727869330 + }, { "schema": 1666727444337, "derHash": "g5Tj0H780el+psuiFMOgVcF92afr+N3gAg/N23byhlM=", @@ -18656,6 +18697,24 @@ "id": "f18dd59f-ebc7-4e0d-9963-60e432ae1d44", "last_modified": 1666727869270 }, + { + "schema": 1666727413717, + "derHash": "YBjw3/qk1I9rNj29iVtD1yBpH5ZY49lAcn+xSZ1SUAU=", + "subject": "CN=AgID CA1,OU=Area Soluzioni per la Pubblica Amministrazione,O=Agenzia per l'Italia Digitale,L=Roma,C=IT", + "subjectDN": "MIGQMQswCQYDVQQGEwJJVDENMAsGA1UEBwwEUm9tYTEmMCQGA1UECgwdQWdlbnppYSBwZXIgbCdJdGFsaWEgRGlnaXRhbGUxNzA1BgNVBAsMLkFyZWEgU29sdXppb25pIHBlciBsYSBQdWJibGljYSBBbW1pbmlzdHJhemlvbmUxETAPBgNVBAMMCEFnSUQgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "2ce5754aafd954d566863872c84b5b09cc520df3b7c3fcdf3f3109c176f7236f", + "size": 6204, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/71d7de8a-96d4-4d28-95c1-ddd904ad7b95.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=", + "crlite_enrolled": false, + "id": "f311d986-6d46-4d1e-87fe-52110484e044", + "last_modified": 1666727869243 + }, { "schema": 1666727453330, "derHash": "TpO8rdXU6VMxrjYt+cYGbMp/lCqP3k0+4BHeNAdPWEA=", @@ -18674,6 +18733,24 @@ "id": "31daf90c-ae6a-4df7-9505-d52c9abded80", "last_modified": 1666727869229 }, + { + "schema": 1666727368224, + "derHash": "RkiQCwQnJiirey2C3fdM1beNd/hlLVu/KCS7ZN0Xhlk=", + "subject": "CN=AgID CA1,OU=Area Soluzioni per la Pubblica Amministrazione,O=Agenzia per l'Italia Digitale,L=Roma,C=IT", + "subjectDN": "MIGQMQswCQYDVQQGEwJJVDENMAsGA1UEBwwEUm9tYTEmMCQGA1UECgwdQWdlbnppYSBwZXIgbCdJdGFsaWEgRGlnaXRhbGUxNzA1BgNVBAsMLkFyZWEgU29sdXppb25pIHBlciBsYSBQdWJibGljYSBBbW1pbmlzdHJhemlvbmUxETAPBgNVBAMMCEFnSUQgQ0Ex", + "whitelist": false, + "attachment": { + "hash": "db3cb445b73014519c03c7c1b234573a3cf1ba480f778be153e10d2069492dc1", + "size": 6383, + "filename": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=.pem", + "location": "security-state-staging/intermediates/6f6d6bc0-5ac7-497e-b77d-50b85aeaad14.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OePGxvE8liB3UXJpTSD4HtrVWoYTk0zap8N5Om0muGs=", + "crlite_enrolled": false, + "id": "ec340448-450e-44bb-9a1b-f58c6fa4661e", + "last_modified": 1666727869203 + }, { "schema": 1666727406308, "derHash": "mKDDuhiZJYWV0E8V0TTFcy6GS3VcZIpI0cF/CiYO9ac=", @@ -20150,6 +20227,24 @@ "id": "4627074c-5b10-4a84-93b4-b84a6d421f42", "last_modified": 1666727867498 }, + { + "schema": 1666727385276, + "derHash": "vbeqKPFk5LwV1pIHM7Ij7ZjlUiCj5W87Hs/QTofTC3E=", + "subject": "CN=InCommon ECC Server CA,OU=InCommon,O=Internet2,L=Ann Arbor,ST=MI,C=US", + "subjectDN": "MHYxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJNSTESMBAGA1UEBxMJQW5uIEFyYm9yMRIwEAYDVQQKEwlJbnRlcm5ldDIxETAPBgNVBAsTCEluQ29tbW9uMR8wHQYDVQQDExZJbkNvbW1vbiBFQ0MgU2VydmVyIENB", + "whitelist": false, + "attachment": { + "hash": "6ba40ddb17a0c5e550d03cf27b415658441db787e87cc7efbaeacbe40e7954dd", + "size": 1293, + "filename": "8Ped1-_2NPqUB2Q-UJri8oBJaaIrldtkbw8LmkGTkrE=.pem", + "location": "security-state-staging/intermediates/b23bebad-6d65-4274-8012-f0cc243b967d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8Ped1+/2NPqUB2Q+UJri8oBJaaIrldtkbw8LmkGTkrE=", + "crlite_enrolled": false, + "id": "d876197d-e674-4e0b-8d72-41091e4b2fb3", + "last_modified": 1666727867454 + }, { "schema": 1666727366065, "derHash": "51WunELBMV8n3NBkUcar4LxqrW7dwuVjXPxJGBktNEw=", @@ -29114,6 +29209,24 @@ "id": "60de9866-3e99-4374-b830-17ad74f56f75", "last_modified": 1576536533289 }, + { + "schema": 1576535711746, + "derHash": "k1BhvlLI6ojANLOa39UiuzFMv1ME5acGRzXdvaMkKq8=", + "subject": "CN=Certigna Entity Code Signing CA,OU=0002 48146308100036,O=DHIMYOTIS,C=FR", + "subjectDN": "MIGIMQswCQYDVQQGEwJGUjESMBAGA1UECgwJREhJTVlPVElTMRwwGgYDVQQLDBMwMDAyIDQ4MTQ2MzA4MTAwMDM2MR0wGwYDVQRhDBROVFJGUi00ODE0NjMwODEwMDAzNjEoMCYGA1UEAwwfQ2VydGlnbmEgRW50aXR5IENvZGUgU2lnbmluZyBDQQ==", + "whitelist": false, + "attachment": { + "hash": "dfa52fac8680622c2c208aa337be1f107052398f893cb8cdaa1bc8ee0c3c1f93", + "size": 2186, + "filename": "u3ZvFIlkZqOQDQbj9Abh3WXDOESr4pASOdoob9Oo2YI=.pem", + "location": "security-state-staging/intermediates/a34d09dc-c1e9-4b35-bb0f-0c7ee3e64ad8.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "u3ZvFIlkZqOQDQbj9Abh3WXDOESr4pASOdoob9Oo2YI=", + "crlite_enrolled": false, + "id": "90283279-5bef-4526-8705-37883c1dc2bc", + "last_modified": 1576536533281 + }, { "schema": 1576535685544, "derHash": "Rcsdh0ywO9XFtuB5yPwp5RUh7lYoSGMBlkpB+Uuln4g=", @@ -30555,5 +30668,5 @@ "last_modified": 1559865884636 } ], - "timestamp": 1767110222688 + "timestamp": 1764082622611 } diff --git a/icecat/services/settings/dumps/security-state/onecrl.json b/icecat/services/settings/dumps/security-state/onecrl.json index 28ed9b9107..9e190deca5 100644 --- a/icecat/services/settings/dumps/security-state/onecrl.json +++ b/icecat/services/settings/dumps/security-state/onecrl.json @@ -1,245 +1,5 @@ { "data": [ - { - "schema": 1764954051281, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", - "serialNumber": "AJFZN56em7HZgckLifaauTo=", - "id": "09f13136-0183-4582-be09-38b0dec73c60", - "last_modified": 1765387587348 - }, - { - "schema": 1764954051205, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", - "serialNumber": "AN+yROlloEAqqg4G6aHdFk8=", - "id": "c7a3bd39-ee1d-4675-9e99-e954502bc6ef", - "last_modified": 1765387587342 - }, - { - "schema": 1764954051050, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MDcxFDASBgNVBAoMC1RlbGlhU29uZXJhMR8wHQYDVQQDDBZUZWxpYVNvbmVyYSBSb290IENBIHYx", - "serialNumber": "TEYq9tv794BPhMF8/qlytg==", - "id": "159440cb-b6c1-4a3b-abb1-463a4a8e00a6", - "last_modified": 1765387587336 - }, - { - "schema": 1764954050974, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMg==", - "serialNumber": "DQhC23luw5lX4cFe2MeDxw==", - "id": "73149904-bb79-44a5-9b14-eebb7c1ee93f", - "last_modified": 1765387587331 - }, - { - "schema": 1764954050730, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMg==", - "serialNumber": "Ks7V+RxC8r+Ri1uAk6jAJA==", - "id": "3b08fe4c-94d3-41e5-bb12-7b4ac1499c76", - "last_modified": 1765387587326 - }, - { - "schema": 1764954050510, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxpcyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQ==", - "serialNumber": "SYgCH6U1+Go=", - "id": "92434599-a653-47af-aac7-e8a1f40242d6", - "last_modified": 1765387587321 - }, - { - "schema": 1764954050815, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", - "serialNumber": "WyXOaQfEJlVm0zkMmalUrQ==", - "id": "7cfc413a-e855-4723-afd4-5d77984fdb40", - "last_modified": 1765387587316 - }, - { - "schema": 1764954050436, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxpcyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQ==", - "serialNumber": "bHGKodaE7KY=", - "id": "1e09c558-f654-4e08-95d4-a9d0ed05bc5d", - "last_modified": 1765387587311 - }, - { - "schema": 1764954050282, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", - "serialNumber": "AOiuT82x88HxRnXSU5rusCc=", - "id": "7885b8f0-842b-445f-9849-e6be71654fba", - "last_modified": 1765387587306 - }, - { - "schema": 1764954051362, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxpcyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQ==", - "serialNumber": "JBwXCyRk4Bg=", - "id": "9b0b6908-be23-450a-9b16-78cb603c53ae", - "last_modified": 1765387587300 - }, - { - "schema": 1764954050656, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGMxCzAJBgNVBAYTAkRFMScwJQYDVQQKDB5EZXV0c2NoZSBUZWxla29tIFNlY3VyaXR5IEdtYkgxKzApBgNVBAMMIlRlbGVrb20gU2VjdXJpdHkgVExTIEVDQyBSb290IDIwMjA=", - "serialNumber": "H7KN4bwqtn0heoLQH+Ikfg==", - "id": "d803458c-98bd-4269-9a47-6da26c059d1f", - "last_modified": 1765387587295 - }, - { - "schema": 1764900945407, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", - "serialNumber": "d80mOd5SbH9F5w2RaqvnRg==", - "id": "bceaddea-4834-4c20-bc0d-f9ff865df807", - "last_modified": 1765387587290 - }, - { - "schema": 1764954051131, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGMxCzAJBgNVBAYTAkRFMScwJQYDVQQKDB5EZXV0c2NoZSBUZWxla29tIFNlY3VyaXR5IEdtYkgxKzApBgNVBAMMIlRlbGVrb20gU2VjdXJpdHkgVExTIFJTQSBSb290IDIwMjM=", - "serialNumber": "EohvAEWvDUpPBmzprCXgAA==", - "id": "a87e2e5c-8215-43e0-adb1-8a13121ff595", - "last_modified": 1765387587285 - }, - { - "schema": 1764954050584, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxpcyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQ==", - "serialNumber": "SYGm41PP2qU=", - "id": "26ade970-ec10-4be1-b857-ba2e83cd9456", - "last_modified": 1765387587280 - }, - { - "schema": 1764954050363, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", - "serialNumber": "C6LQHcvLd3borGUJesElQQ==", - "id": "53f31f8b-61e9-4a6e-8a53-3a723fe17256", - "last_modified": 1765387587274 - }, - { - "schema": 1764954050892, - "details": { - "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=2004418", - "who": "", - "why": "", - "name": "", - "created": "" - }, - "enabled": false, - "issuerName": "MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxpcyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGljYXRpb24gUm9vdCBDQQ==", - "serialNumber": "ZyDvubBx51s=", - "id": "c9c582ba-71f1-4147-9a1b-95e48cdaaa5a", - "last_modified": 1765387587268 - }, { "schema": 1759112148984, "details": { @@ -26234,5 +25994,5 @@ "last_modified": 1480349158647 } ], - "timestamp": 1765387587348 + "timestamp": 1759512219332 } diff --git a/icecat/sourcestamp.txt b/icecat/sourcestamp.txt index cfc001d365..889f338375 100644 --- a/icecat/sourcestamp.txt +++ b/icecat/sourcestamp.txt @@ -1,2 +1,2 @@ -20260106170501 -https://hg.mozilla.org/releases/mozilla-esr140/rev/82e96a128bf5e3e7dd6e5180c9528f623ba5e0f7 +20251201132345 +https://hg.mozilla.org/releases/mozilla-esr140/rev/18556c0b079c839f4d15597a57b0f048fdadcedd diff --git a/icecat/taskcluster/config.yml b/icecat/taskcluster/config.yml index 756f8f1458..cad2113509 100644 --- a/icecat/taskcluster/config.yml +++ b/icecat/taskcluster/config.yml @@ -643,36 +643,11 @@ taskgraph: workers: aliases: - b-linux-gcp: + b-linux.*: provisioner: '{trust-domain}-{level}' implementation: docker-worker os: linux - worker-type: b-linux - b-linux-gcp-aarch64: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: b-linux-aarch64 - b-linux-kvm-gcp: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: b-linux-kvm - b-linux-medium-gcp: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: b-linux-medium - b-linux-large-gcp: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: b-linux-large - b-linux-xlarge-gcp: - provisioner: '{trust-domain}-{level}' - implementation: docker-worker - os: linux - worker-type: b-linux-xlarge + worker-type: '{alias}' b-win2012: provisioner: '{trust-domain}-{level}' implementation: generic-worker @@ -702,12 +677,12 @@ workers: provisioner: '{trust-domain}-{level}' implementation: docker-worker os: linux - worker-type: images + worker-type: '{alias}' images-gcp-aarch64: provisioner: '{trust-domain}-{level}' implementation: docker-worker os: linux - worker-type: images-aarch64 + worker-type: '{alias}' addon: provisioner: scriptworker-k8s implementation: push-addons @@ -863,6 +838,16 @@ workers: implementation: docker-worker os: linux worker-type: '{alias}' + t-linux(-large|-xlarge|-xlarge-source): + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: '{alias}-gcp' + t-linux(-large|-xlarge|-xlarge-source)-noscratch: + provisioner: '{trust-domain}-t' + implementation: docker-worker + os: linux + worker-type: '{alias}-gcp' t-linux-kvm: provisioner: '{trust-domain}-t' implementation: docker-worker @@ -998,7 +983,7 @@ workers: provisioner: '{trust-domain}-t' implementation: docker-worker os: linux - worker-type: misc + worker-type: misc-gcp mac-signing: diff --git a/icecat/taskcluster/gecko_taskgraph/transforms/fetch.py b/icecat/taskcluster/gecko_taskgraph/transforms/fetch.py index 2df308a1b7..aaeb499d3b 100644 --- a/icecat/taskcluster/gecko_taskgraph/transforms/fetch.py +++ b/icecat/taskcluster/gecko_taskgraph/transforms/fetch.py @@ -202,7 +202,6 @@ def make_task(config, jobs): # download. Required("key-path"): str, }, - Optional("headers"): [str], # The name to give to the generated artifact. Defaults to the file # portion of the URL. Using a different extension converts the # archive to the given type. Only conversion to .tar.zst is @@ -266,9 +265,6 @@ def create_fetch_url_task(config, name, fetch): ] ) - for header in fetch.get("headers", []): - command.extend(["--header", header]) - command.extend( [ fetch["url"], diff --git a/icecat/taskcluster/gecko_taskgraph/transforms/test/__init__.py b/icecat/taskcluster/gecko_taskgraph/transforms/test/__init__.py index 2d1d28badc..f40996a330 100644 --- a/icecat/taskcluster/gecko_taskgraph/transforms/test/__init__.py +++ b/icecat/taskcluster/gecko_taskgraph/transforms/test/__init__.py @@ -127,6 +127,7 @@ test_description_schema = Schema( "large-noscratch", "xlarge", "xlarge-noscratch", + "large-dw", ), ), # type of virtualization or hardware required by test. diff --git a/icecat/taskcluster/gecko_taskgraph/transforms/test/other.py b/icecat/taskcluster/gecko_taskgraph/transforms/test/other.py index fe13968c0f..4da33b5a68 100644 --- a/icecat/taskcluster/gecko_taskgraph/transforms/test/other.py +++ b/icecat/taskcluster/gecko_taskgraph/transforms/test/other.py @@ -607,6 +607,9 @@ def enable_code_coverage(config, tasks): task["instance-size"] = "xlarge-noscratch" if "jittest" in task["test-name"]: task["instance-size"] = "xlarge" + elif task["suite"] == "xpcshell" and "linux" in task["build-platform"]: + # TODO figure out OOM/timeout issues on d2g (bug 1962414) + task["instance-size"] = "large-dw" # Temporarily disable Mac tests on mozilla-central if "mac" in task["build-platform"]: diff --git a/icecat/taskcluster/gecko_taskgraph/transforms/test/worker.py b/icecat/taskcluster/gecko_taskgraph/transforms/test/worker.py index 998bc51e8d..34a29192f6 100644 --- a/icecat/taskcluster/gecko_taskgraph/transforms/test/worker.py +++ b/icecat/taskcluster/gecko_taskgraph/transforms/test/worker.py @@ -10,6 +10,7 @@ LINUX_WORKER_TYPES = { "large-noscratch": "t-linux-docker-noscratch", "xlarge": "t-linux-docker", "xlarge-noscratch": "t-linux-docker-noscratch", + "large-dw": "t-linux-large-noscratch", "default": "t-linux-docker-noscratch", } diff --git a/icecat/taskcluster/gecko_taskgraph/util/chunking.py b/icecat/taskcluster/gecko_taskgraph/util/chunking.py index 94a9798aef..e265e83182 100644 --- a/icecat/taskcluster/gecko_taskgraph/util/chunking.py +++ b/icecat/taskcluster/gecko_taskgraph/util/chunking.py @@ -172,20 +172,24 @@ def chunk_manifests(suite, platform, chunks, manifests): A list of length `chunks` where each item contains a list of manifests that run in that chunk. """ - if "web-platform-tests" not in suite: - ini_manifests = {x.replace(".toml", ".ini"): x for x in manifests} + ini_manifests = set([x.replace(".toml", ".ini") for x in manifests]) + + if "web-platform-tests" not in suite and "marionette" not in suite: runtimes = { k: v for k, v in get_runtimes(platform, suite).items() if k in ini_manifests } + retVal = [] + for c in chunk_by_runtime(None, chunks, runtimes).get_chunked_manifests( + ini_manifests + ): + retVal.append( + [m if m in manifests else m.replace(".ini", ".toml") for m in c[1]] + ) - cbr = chunk_by_runtime(None, chunks, runtimes) - return [ - [ini_manifests.get(m, m) for m in c] - for _, c in cbr.get_chunked_manifests(manifests) - ] + # Keep track of test paths for each chunk, and the runtime information. + chunked_manifests = [[] for _ in range(chunks)] # Spread out the test manifests evenly across all chunks. - chunked_manifests = [[] for _ in range(chunks)] for index, key in enumerate(sorted(manifests)): chunked_manifests[index % chunks].append(key) diff --git a/icecat/taskcluster/kinds/fetch/toolchains.yml b/icecat/taskcluster/kinds/fetch/toolchains.yml index c108bbecb9..4cb1ad8dc2 100644 --- a/icecat/taskcluster/kinds/fetch/toolchains.yml +++ b/icecat/taskcluster/kinds/fetch/toolchains.yml @@ -137,11 +137,11 @@ mpfr-3.1.4: description: mpfr 3.1.4 source code fetch: type: static-url - url: https://ftpmirror.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2 + url: http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4.tar.bz2 sha256: d3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775 size: 1279284 gpg-signature: - sig-url: "{url}.sig" + sig-url: "{url}.asc" key-path: build/unix/build-gcc/07F3DBBECC1A39605078094D980C197698C3739D.key artifact-name: mpfr-source.tar.zst strip-components: 1 @@ -276,8 +276,6 @@ hfsplus-tools: url: https://src.fedoraproject.org/repo/pkgs/hfsplus-tools/diskdev_cmds-540.1.linux3.tar.gz/0435afc389b919027b69616ad1b05709/diskdev_cmds-540.1.linux3.tar.gz sha256: b01b203a97f9a3bf36a027c13ddfc59292730552e62722d690d33bd5c24f5497 size: 411205 - headers: - - "Accept: application/octet-stream" xar: description: xar source code @@ -758,7 +756,7 @@ mozilla-pdf.js: fetch: type: git repo: https://github.com/mozilla/pdf.js - revision: 2ac8185956b0e222cbb798a9d455e82bca954462 + revision: 81cf42df470f85eb60150bdffca380e3eee79c08 xmlstarlet-1.6.1: description: xmlstarlet for Android Performance Tests diff --git a/icecat/taskcluster/kinds/source-test/mozlint-android.yml b/icecat/taskcluster/kinds/source-test/mozlint-android.yml index 283ec6080a..89931e3418 100644 --- a/icecat/taskcluster/kinds/source-test/mozlint-android.yml +++ b/icecat/taskcluster/kinds/source-test/mozlint-android.yml @@ -107,6 +107,7 @@ lints: - 'tools/lint/**' fenix: + worker-type: t-linux-xlarge-source treeherder: symbol: A(fenix-lints) run: @@ -134,6 +135,7 @@ fenix: - 'tools/lint/**' focus: + worker-type: t-linux-xlarge-source treeherder: symbol: A(focus-lints) run: @@ -161,6 +163,7 @@ focus: - 'tools/lint/**' android-components: + worker-type: t-linux-xlarge-source treeherder: symbol: A(ac-lints) run: diff --git a/icecat/taskcluster/kinds/update/kind.yml b/icecat/taskcluster/kinds/update/kind.yml index 33194600f2..13741365fb 100644 --- a/icecat/taskcluster/kinds/update/kind.yml +++ b/icecat/taskcluster/kinds/update/kind.yml @@ -53,7 +53,7 @@ tasks: ./mach update-test linux64-icecat: - worker-type: t-linux-docker + worker-type: t-linux-xlarge-source worker: docker-image: {in-tree: ubuntu2404-test} description: Test updates on Linux diff --git a/icecat/testing/web-platform/meta/editing/run/delete.html.ini b/icecat/testing/web-platform/meta/editing/run/delete.html.ini index f81ca647cd..e6ba9dbe87 100644 --- a/icecat/testing/web-platform/meta/editing/run/delete.html.ini +++ b/icecat/testing/web-platform/meta/editing/run/delete.html.ini @@ -137,6 +137,12 @@ [[["delete",""\]\] "
  1. foo
{}
" compare innerHTML] expected: FAIL + [[["defaultparagraphseparator","div"\],["delete",""\]\] "
  1. foo

{}
" compare innerHTML] + expected: FAIL + + [[["defaultparagraphseparator","p"\],["delete",""\]\] "

  1. foo

{}
" compare innerHTML] + expected: FAIL + [delete.html?2001-3000] expected: diff --git a/icecat/testing/web-platform/meta/editing/run/forwarddelete.html.ini b/icecat/testing/web-platform/meta/editing/run/forwarddelete.html.ini index fd76f5fd3b..d5aab9f071 100644 --- a/icecat/testing/web-platform/meta/editing/run/forwarddelete.html.ini +++ b/icecat/testing/web-platform/meta/editing/run/forwarddelete.html.ini @@ -550,6 +550,3 @@ [[["forwarddelete",""\]\] "

ab{}

": execCommand("forwarddelete", false, "") return value] expected: FAIL - - [[["forwarddelete",""\]\] "

abc{}


" compare innerHTML] - expected: FAIL diff --git a/icecat/testing/web-platform/meta/editing/run/multitest.html.ini b/icecat/testing/web-platform/meta/editing/run/multitest.html.ini index 0260ab7c33..1c2f7bc183 100644 --- a/icecat/testing/web-platform/meta/editing/run/multitest.html.ini +++ b/icecat/testing/web-platform/meta/editing/run/multitest.html.ini @@ -972,6 +972,3 @@ [[["styleWithCSS","false"\],["delete",""\],["inserttext","a"\]\] "
[abc\]
" compare innerHTML] expected: FAIL - - [[["forwarddelete",""\],["inserttext","d"\]\] "

abc[\]


" compare innerHTML] - expected: FAIL diff --git a/icecat/testing/web-platform/tests/editing/data/delete.js b/icecat/testing/web-platform/tests/editing/data/delete.js index 2dce3d9de3..1f70c42baa 100644 --- a/icecat/testing/web-platform/tests/editing/data/delete.js +++ b/icecat/testing/web-platform/tests/editing/data/delete.js @@ -3203,20 +3203,4 @@ var browserTests = [ "
a


e
", [true], {}], - -["

abc

{}

", - [["delete",""]], - "

abc

", - [true], - {}], -["

abc

{}

", - [["delete",""]], - "

abc

", - [true], - {}], -["

abc

{}

", - [["delete",""]], - "

abc

", - [true], - {}], ] diff --git a/icecat/testing/web-platform/tests/editing/data/forwarddelete.js b/icecat/testing/web-platform/tests/editing/data/forwarddelete.js index 18eb250348..f00a5ddd5e 100644 --- a/icecat/testing/web-platform/tests/editing/data/forwarddelete.js +++ b/icecat/testing/web-platform/tests/editing/data/forwarddelete.js @@ -3065,20 +3065,4 @@ var browserTests = [ "
a


e
", [true], {}], - -["

abc{}


", - [["forwarddelete",""]], - "

abc

", - [true], - {}], -["

abc{}


", - [["forwarddelete",""]], - "

abc

", - [true], - {}], -["

abc{}


", - [["forwarddelete",""]], - "

abc


", - [true], - {}], ] diff --git a/icecat/testing/web-platform/tests/editing/data/multitest.js b/icecat/testing/web-platform/tests/editing/data/multitest.js index 7746ee3698..2e24f7cc75 100644 --- a/icecat/testing/web-platform/tests/editing/data/multitest.js +++ b/icecat/testing/web-platform/tests/editing/data/multitest.js @@ -3260,25 +3260,4 @@ var browserTests = [ ["

abc d

", "

abc d

"], [true,true,true], {}], - -["

abc

{}

", - [["delete",""],["inserttext","d"]], - "

abcd

", - [true,true], - {}], -["

abc

{}

", - [["delete",""],["inserttext","d"]], - "

abc

d
", - [true,true], - {}], -["

abc[]


", - [["forwarddelete",""],["inserttext","d"]], - "

abcd

", - [true,true], - {}], -["

abc[]


", - [["forwarddelete",""],["inserttext","d"]], - "

abcd


", - [true,true], - {}], ] diff --git a/icecat/testing/web-platform/tests/svg/types/scripted/SVGGraphicsElement-padding.svg b/icecat/testing/web-platform/tests/svg/types/scripted/SVGGraphicsElement-padding.svg index 83a3f19bad..7bf47767a5 100644 --- a/icecat/testing/web-platform/tests/svg/types/scripted/SVGGraphicsElement-padding.svg +++ b/icecat/testing/web-platform/tests/svg/types/scripted/SVGGraphicsElement-padding.svg @@ -49,17 +49,6 @@ assert_equals(transformedPoint.y, pt.y); }, 'getScreenCTM with padding-right and rotation'); - test(function() { - let svg = document.getElementById("svg"); - svg.setAttribute("style", "padding-left: 12px; padding-bottom: 10px; padding-top: 12px; padding-right: 24px; transform: rotate(180deg);"); - let ctm = svg.getScreenCTM(); - let pt = DOMPoint.fromPoint({x: 50, y: 50}); - let transformedPoint = pt.matrixTransform(ctm.inverse()); - svg.removeAttribute("style"); - assert_approx_equals(transformedPoint.x, pt.x + 24, 0.1); - assert_approx_equals(transformedPoint.y, pt.y + 10, 0.1); - }, 'getScreenCTM with padding and rotation'); - test(function() { let svg = document.getElementById("svg"); svg.setAttribute("style", "padding-left: 12px; transform: rotate(180deg); transform-box: content-box"); @@ -71,27 +60,5 @@ assert_equals(transformedPoint.y, pt.y); }, 'getScreenCTM with padding-left, rotation and content-box'); - test(function() { - let svg = document.getElementById("svg"); - svg.setAttribute("style", "padding-left: 12px; transform: scale(2)"); - let ctm = svg.getScreenCTM(); - let pt = DOMPoint.fromPoint({x: 50, y: 50}); - let transformedPoint = pt.matrixTransform(ctm.inverse()); - svg.removeAttribute("style"); - assert_equals(transformedPoint.x, pt.x - 3); - assert_equals(transformedPoint.y, pt.y); - }, 'getScreenCTM with padding-left, scale'); - - test(function() { - let svg = document.getElementById("svg"); - svg.setAttribute("style", "border-width: 12px; transform: rotate(180deg);"); - let ctm = svg.getScreenCTM(); - let pt = DOMPoint.fromPoint({x: 50, y: 50}); - let transformedPoint = pt.matrixTransform(ctm.inverse()); - svg.removeAttribute("style"); - assert_equals(transformedPoint.x, pt.x); - assert_equals(transformedPoint.y, pt.y); - }, 'getScreenCTM with border-width and rotation'); - ]]> diff --git a/icecat/toolkit/components/formautofill/shared/FormAutofillHandler.sys.mjs b/icecat/toolkit/components/formautofill/shared/FormAutofillHandler.sys.mjs index dc6e222a68..b5c4cb086c 100644 --- a/icecat/toolkit/components/formautofill/shared/FormAutofillHandler.sys.mjs +++ b/icecat/toolkit/components/formautofill/shared/FormAutofillHandler.sys.mjs @@ -607,7 +607,7 @@ export class FormAutofillHandler { this.#refillTimeoutId = lazy.setTimeout(() => { for (let [e, v] of filledElementValues) { - if (e.autofillState == FIELD_STATES.NORMAL || e.value) { + if (e.autofillState == FIELD_STATES.AUTO_FILLED && e.value === v) { // Nothing to do if the autofilled value wasn't cleared or the // element's autofill state has changed to NORMAL in the meantime continue; diff --git a/icecat/toolkit/components/glean/bindings/private/Ping.cpp b/icecat/toolkit/components/glean/bindings/private/Ping.cpp index 48d99926b4..ccb735103b 100644 --- a/icecat/toolkit/components/glean/bindings/private/Ping.cpp +++ b/icecat/toolkit/components/glean/bindings/private/Ping.cpp @@ -22,8 +22,7 @@ namespace mozilla::glean { namespace impl { -using CallbackMapType = - nsTHashMap, FalliblePingTestCallback>; +using CallbackMapType = nsTHashMap; using MetricIdToCallbackMutex = StaticDataMutex>; static Maybe GetCallbackMapLock() { static MetricIdToCallbackMutex sCallbacks("sCallbacks"); diff --git a/icecat/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs b/icecat/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs index 88dac018ed..6bcfacff90 100644 --- a/icecat/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs +++ b/icecat/toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs @@ -1203,9 +1203,6 @@ PdfStreamConverter.prototype = { ); // The viewer does not need to handle HTTP Refresh header. aRequest.setResponseHeader("Refresh", "", false); - // There is no reason to load something via : the only external - // resource is the pdf itself. - aRequest.setResponseHeader("Link", "", false); } lazy.PdfJsTelemetryContent.onViewerIsUsed(); diff --git a/icecat/toolkit/components/pdfjs/test/browser.toml b/icecat/toolkit/components/pdfjs/test/browser.toml index 5a9b9cdd63..2818d5d207 100644 --- a/icecat/toolkit/components/pdfjs/test/browser.toml +++ b/icecat/toolkit/components/pdfjs/test/browser.toml @@ -83,9 +83,6 @@ support-files = [ ["browser_pdfjs_properties.js"] -["browser_pdfjs_response_link.js"] -support-files = ["pdf_response_link.sjs"] - ["browser_pdfjs_saveas.js"] support-files = [ "!/toolkit/content/tests/browser/common/mockTransfer.js", diff --git a/icecat/toolkit/components/pdfjs/test/browser_pdfjs_response_link.js b/icecat/toolkit/components/pdfjs/test/browser_pdfjs_response_link.js deleted file mode 100644 index 9b8833801d..0000000000 --- a/icecat/toolkit/components/pdfjs/test/browser_pdfjs_response_link.js +++ /dev/null @@ -1,46 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -const RELATIVE_DIR = "toolkit/components/pdfjs/test/"; -const TESTROOT = "https://example.com/browser/" + RELATIVE_DIR; - -function getBodyBackgroundColor(browser) { - return SpecialPowers.spawn(browser, [], async () => { - return content.getComputedStyle(content.document.querySelector("body")) - .backgroundColor; - }); -} - -// Sanity check: the pdf test does not trivially pass due to the lack of support -// for Link header. -add_task(async function test_plain_text_with_link_in_response() { - await BrowserTestUtils.withNewTab( - { gBrowser, url: `${TESTROOT}pdf_response_link.sjs?text` }, - async function (browser) { - const bodyBackgroundColor = await getBodyBackgroundColor(browser); - Assert.equal( - bodyBackgroundColor, - "rgb(255, 0, 0)", - "Body background is red" - ); - } - ); -}); - -add_task(async function test_pdf_with_link_in_response() { - makePDFJSHandler(); - - await BrowserTestUtils.withNewTab( - { gBrowser, url: "about:blank" }, - async function (browser) { - await waitForPdfJSCanvas(browser, `${TESTROOT}pdf_response_link.sjs?pdf`); - const bodyBackgroundColor = await getBodyBackgroundColor(browser); - Assert.notEqual( - bodyBackgroundColor, - "rgb(255, 0, 0)", - "Body background is not red" - ); - await waitForPdfJSClose(browser); - } - ); -}); diff --git a/icecat/toolkit/components/pdfjs/test/pdf_response_link.sjs b/icecat/toolkit/components/pdfjs/test/pdf_response_link.sjs deleted file mode 100644 index fd5d3aff44..0000000000 --- a/icecat/toolkit/components/pdfjs/test/pdf_response_link.sjs +++ /dev/null @@ -1,24 +0,0 @@ -const DATA = { - pdf: { - mimetype: "application/pdf", - content: - "%PDF-1.\ntrailer<>]>>>>>>", - }, - text: { - mimetype: "text/plain", - content: "hello world", - }, -}; - -function handleRequest(request, response) { - response.setHeader("Cache-Control", "no-cache", false); - response.setHeader( - "Link", - "; rel=stylesheet", - false - ); - response.setStatusLine(request.httpVersion, "200", "Found"); - const { mimetype, content } = DATA[request.queryString]; - response.setHeader("Content-Type", mimetype, false); - response.write(content); -} diff --git a/icecat/toolkit/components/viaduct/ViaductRequest.cpp b/icecat/toolkit/components/viaduct/ViaductRequest.cpp index 619033cd58..2ee7cb8eea 100644 --- a/icecat/toolkit/components/viaduct/ViaductRequest.cpp +++ b/icecat/toolkit/components/viaduct/ViaductRequest.cpp @@ -127,8 +127,7 @@ nsresult ViaductRequest::LaunchRequest( nullptr, loadFlags); NS_ENSURE_SUCCESS(rv, rv); - nsCOMPtr httpChannel = do_QueryInterface(mChannel, &rv); - NS_ENSURE_SUCCESS(rv, rv); + nsCOMPtr httpChannel = do_QueryInterface(mChannel); nsCString method = ConvertMethod(request.method()); rv = httpChannel->SetRequestMethod(method); NS_ENSURE_SUCCESS(rv, rv); diff --git a/icecat/toolkit/crashreporter/crash_helper_client/src/lib.rs b/icecat/toolkit/crashreporter/crash_helper_client/src/lib.rs index 095cadfdea..9b709813c5 100644 --- a/icecat/toolkit/crashreporter/crash_helper_client/src/lib.rs +++ b/icecat/toolkit/crashreporter/crash_helper_client/src/lib.rs @@ -5,8 +5,8 @@ use anyhow::{bail, Result}; use crash_helper_common::{ messages::{self}, - AncillaryData, BreakpadString, IPCClientChannel, IPCConnector, IntoRawAncillaryData, - ProcessHandle, RawAncillaryData, INVALID_ANCILLARY_DATA, + AncillaryData, BreakpadString, IPCClientChannel, IPCConnector, ProcessHandle, + INVALID_ANCILLARY_DATA, }; #[cfg(any(target_os = "android", target_os = "linux"))] use minidump_writer::minidump_writer::{AuxvType, DirectAuxvDumpInfo}; @@ -34,12 +34,13 @@ mod platform; pub struct CrashHelperClient { connector: IPCConnector, spawner_thread: Option>>, + helper_process: Option, } impl CrashHelperClient { fn set_crash_report_path(&mut self, path: OsString) -> Result<()> { let message = messages::SetCrashReportPath::new(path); - self.connector.send_message(message)?; + self.connector.send_message(&message)?; Ok(()) } @@ -56,32 +57,52 @@ impl CrashHelperClient { bail!("The crash helper process failed to launch"); }; - self.connector.set_process(process_handle); + self.helper_process = Some(process_handle); } - let message = messages::RegisterChildProcess::new(server_endpoint.into_ancillary()); - self.connector.send_message(message)?; + if self.helper_process.is_none() { + bail!("The crash helper process is not available"); + }; - Ok(client_endpoint.into_ancillary()) + // The endpoint will be sent to the crash helper process (and essentially dup'd on unix), + // so we have to retain ownership of the server_endpoint using `as_ancillary()` until the + // message is sent. + let Ok(ancillary_data) = server_endpoint.as_ancillary(&self.helper_process) else { + bail!("Could not convert the server IPC endpoint"); + }; + + let message = messages::RegisterChildProcess::new(ancillary_data); + self.connector.send_message(&message)?; + // We use `into_ancillary()` because the returned fd will stay in this process (so we don't + // want to close it). + let Ok(ancillary_data) = client_endpoint.into_ancillary(/* dst_process */ &None) else { + bail!("Could not convert the local IPC endpoint"); + }; + + Ok(ancillary_data) } #[cfg(any(target_os = "android", target_os = "linux"))] fn register_auxv_info(&mut self, pid: Pid, auxv_info: DirectAuxvDumpInfo) -> Result<()> { let message = messages::RegisterAuxvInfo::new(pid, auxv_info); - self.connector.send_message(message)?; + self.connector.send_message(&message)?; Ok(()) } #[cfg(any(target_os = "android", target_os = "linux"))] fn unregister_auxv_info(&mut self, pid: Pid) -> Result<()> { let message = messages::UnregisterAuxvInfo::new(pid); - self.connector.send_message(message)?; + self.connector.send_message(&message)?; Ok(()) } fn transfer_crash_report(&mut self, pid: Pid) -> Result { let message = messages::TransferMinidump::new(pid); - self.connector.send_message(message)?; + self.connector.send_message(&message)?; + + // HACK: Workaround for a macOS-specific bug + #[cfg(target_os = "macos")] + self.connector.poll(nix::poll::PollFlags::POLLIN)?; let reply = self .connector @@ -211,10 +232,10 @@ pub unsafe extern "C" fn set_crash_report_path( #[no_mangle] pub unsafe extern "C" fn register_child_ipc_channel( client: *mut CrashHelperClient, -) -> RawAncillaryData { +) -> AncillaryData { let client = client.as_mut().unwrap(); if let Ok(client_endpoint) = client.register_child_process() { - client_endpoint.into_raw() + client_endpoint } else { INVALID_ANCILLARY_DATA } @@ -290,7 +311,7 @@ pub unsafe fn report_external_exception( let server_addr = crash_helper_common::server_addr(main_process_pid); if let Ok(connector) = IPCConnector::connect(&server_addr) { let _ = connector - .send_message(message) + .send_message(&message) .and_then(|_| connector.recv_reply::()); } } @@ -368,7 +389,7 @@ pub unsafe extern "C" fn unregister_child_auxv_info( // signal/exception-safe. We will access this endpoint only from within the // exception handler with bare syscalls so we can leave the `IPCConnector` // object behind. -static CHILD_IPC_ENDPOINT: OnceLock> = OnceLock::new(); +static CHILD_IPC_ENDPOINT: OnceLock> = OnceLock::new(); static RENDEZVOUS_FAILED: AtomicBool = AtomicBool::new(false); /// Let a client rendez-vous with the crash helper process. This step ensures @@ -381,8 +402,8 @@ static RENDEZVOUS_FAILED: AtomicBool = AtomicBool::new(false); /// a valid pipe handle (on Windows) or a valid file descriptor (on all other /// platforms). #[no_mangle] -pub unsafe extern "C" fn crash_helper_rendezvous(client_endpoint: RawAncillaryData) { - let Ok(connector) = IPCConnector::from_raw_ancillary(client_endpoint) else { +pub unsafe extern "C" fn crash_helper_rendezvous(client_endpoint: AncillaryData) { + let Ok(connector) = IPCConnector::from_ancillary(client_endpoint) else { RENDEZVOUS_FAILED.store(true, Ordering::Relaxed); return; }; @@ -392,7 +413,7 @@ pub unsafe extern "C" fn crash_helper_rendezvous(client_endpoint: RawAncillaryDa CrashHelperClient::prepare_for_minidump(message.crash_helper_pid); assert!( CHILD_IPC_ENDPOINT - .set(Box::new(connector.into_raw_ancillary())) + .set(Box::new(connector.into_ancillary(&None).unwrap())) .is_ok(), "The crash_helper_rendezvous() function must only be called once" ); diff --git a/icecat/toolkit/crashreporter/crash_helper_client/src/platform/android.rs b/icecat/toolkit/crashreporter/crash_helper_client/src/platform/android.rs index 7b784da8c6..277a14f79d 100644 --- a/icecat/toolkit/crashreporter/crash_helper_client/src/platform/android.rs +++ b/icecat/toolkit/crashreporter/crash_helper_client/src/platform/android.rs @@ -3,20 +3,21 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ use anyhow::Result; -use crash_helper_common::{IPCConnector, Pid, RawAncillaryData}; +use crash_helper_common::{IPCConnector, Pid}; +use std::os::fd::{FromRawFd, OwnedFd, RawFd}; use crate::CrashHelperClient; impl CrashHelperClient { - pub(crate) fn new(server_socket: RawAncillaryData) -> Result { + pub(crate) fn new(server_socket: RawFd) -> Result { // SAFETY: The `server_socket` passed in from the application is valid - let connector = unsafe { - IPCConnector::from_raw_ancillary(server_socket)? - }; + let server_socket = unsafe { OwnedFd::from_raw_fd(server_socket) }; + let connector = IPCConnector::from_fd(server_socket)?; Ok(CrashHelperClient { connector, spawner_thread: None, + helper_process: Some(()), }) } diff --git a/icecat/toolkit/crashreporter/crash_helper_client/src/platform/unix.rs b/icecat/toolkit/crashreporter/crash_helper_client/src/platform/unix.rs index 8b7a201d72..f0d20ce493 100644 --- a/icecat/toolkit/crashreporter/crash_helper_client/src/platform/unix.rs +++ b/icecat/toolkit/crashreporter/crash_helper_client/src/platform/unix.rs @@ -34,6 +34,7 @@ impl CrashHelperClient { Ok(CrashHelperClient { connector: client_endpoint, spawner_thread: None, + helper_process: Some(()), }) } diff --git a/icecat/toolkit/crashreporter/crash_helper_client/src/platform/windows.rs b/icecat/toolkit/crashreporter/crash_helper_client/src/platform/windows.rs index d801177584..7bc2823738 100644 --- a/icecat/toolkit/crashreporter/crash_helper_client/src/platform/windows.rs +++ b/icecat/toolkit/crashreporter/crash_helper_client/src/platform/windows.rs @@ -52,6 +52,7 @@ impl CrashHelperClient { Ok(CrashHelperClient { connector: client_endpoint, spawner_thread: Some(spawner_thread), + helper_process: None, }) } diff --git a/icecat/toolkit/crashreporter/crash_helper_common/Cargo.toml b/icecat/toolkit/crashreporter/crash_helper_common/Cargo.toml index 63a473724d..bbe04d92a3 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/Cargo.toml +++ b/icecat/toolkit/crashreporter/crash_helper_common/Cargo.toml @@ -17,7 +17,6 @@ nix = { version = "0.30", features = ["fs", "poll", "socket", "uio"] } minidump-writer = "0.10" [target."cfg(target_os = \"windows\")".dependencies] -getrandom = { version = "0.3" } windows-sys = { version = "0.52", features = [ "Win32_Foundation", "Win32_Security", diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/unix_strings.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/unix_strings.rs index 59f79e7f6e..d8c7dcf6a5 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/unix_strings.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/unix_strings.rs @@ -9,7 +9,7 @@ use std::{ os::unix::ffi::OsStringExt, }; -use crate::{messages::MessageError, BreakpadString}; +use crate::{errors::MessageError, BreakpadString}; use super::BreakpadChar; diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/windows_strings.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/windows_strings.rs index c51961dda6..8f3952f01a 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/windows_strings.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/breakpad/windows_strings.rs @@ -9,7 +9,7 @@ use std::{ os::windows::ffi::{OsStrExt, OsStringExt}, }; -use crate::{messages::MessageError, BreakpadChar, BreakpadString}; +use crate::{errors::MessageError, BreakpadChar, BreakpadString}; // BreakpadString trait implementation for Windows native UTF-16 strings impl BreakpadString for OsString { diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/errors.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/errors.rs index bc85911ac7..ef83a2df64 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/errors.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/errors.rs @@ -2,37 +2,60 @@ * 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/. */ -use std::num::TryFromIntError; +use std::{ + array::TryFromSliceError, + ffi::{FromBytesWithNulError, NulError}, + num::TryFromIntError, +}; use thiserror::Error; #[cfg(not(target_os = "windows"))] -pub use nix::errno::Errno as SystemError; +use nix::errno::Errno as SystemError; #[cfg(target_os = "windows")] -pub use windows_sys::Win32::Foundation::WIN32_ERROR as SystemError; - -use crate::{ - messages::{self, MessageError}, - platform::PlatformError, -}; +use windows_sys::Win32::Foundation::WIN32_ERROR as SystemError; #[derive(Debug, Error)] pub enum IPCError { #[error("Message error")] BadMessage(#[from] MessageError), - #[error("Could not connect to a socket: {0}")] + #[error("Generic system error: {0}")] + System(SystemError), + #[error("Could not bind socket to an address, error: {0}")] + BindFailed(SystemError), + #[error("Could not listen on a socket, error: {0}")] + ListenFailed(SystemError), + #[error("Could not accept an incoming connection, error: {0}")] + AcceptFailed(SystemError), + #[error("Could not connect to a socket, error: {0}")] ConnectionFailure(SystemError), - #[error("Failed to create a connector: {0}")] - CreationFailure(PlatformError), + #[error("Could not send data, error: {0}")] + TransmissionFailure(SystemError), + #[error("Could not receive data, error: {0}")] + ReceptionFailure(SystemError), + #[error("Error while waiting for events, error: {0:?}")] + WaitingFailure(Option), #[error("Buffer length exceeds a 32-bit integer")] InvalidSize(#[from] TryFromIntError), #[error("Error while parsing a file descriptor string")] ParseError, - #[error("Could not receive data: {0}")] - ReceptionFailure(PlatformError), - #[error("An operation timed out")] - Timeout, - #[error("Could not send data: {0}")] - TransmissionFailure(PlatformError), - #[error("Unexpected message of kind: {0:?}")] - UnexpectedMessage(messages::Kind), + #[error("Failed to duplicate clone handle")] + CloneHandleFailed(#[source] std::io::Error), +} + +#[derive(Debug, Error)] +pub enum MessageError { + #[error("Truncated message")] + Truncated, + #[error("Message kind is invalid")] + InvalidKind, + #[error("The message contained an invalid payload")] + InvalidData, + #[error("Missing ancillary data")] + MissingAncillary, + #[error("Invalid message size")] + InvalidSize(#[from] TryFromSliceError), + #[error("Missing nul terminator")] + MissingNul(#[from] FromBytesWithNulError), + #[error("Missing nul terminator")] + InteriorNul(#[from] NulError), } diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel.rs index a02004d301..4a8c500048 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel.rs @@ -2,24 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -use thiserror::Error; - -use crate::{errors::IPCError, platform::PlatformError, IPCListenerError}; - -/***************************************************************************** - * Error definitions * - *****************************************************************************/ - -#[derive(Debug, Error)] -pub enum IPCChannelError { - #[error("Could not create connector: {0}")] - Connector(#[from] IPCError), - #[error("Could not create a listener: {0}")] - Listener(#[from] IPCListenerError), - #[error("Could not create a socketpair: {0}")] - SocketPair(#[from] PlatformError), -} - /***************************************************************************** * Windows * *****************************************************************************/ diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/unix.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/unix.rs index 85e0aeae86..f7d0fc729a 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/unix.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/unix.rs @@ -8,7 +8,7 @@ use std::process; use crate::platform::linux::unix_socketpair; #[cfg(target_os = "macos")] use crate::platform::macos::unix_socketpair; -use crate::{ipc_channel::IPCChannelError, IPCConnector, IPCListener, Pid}; +use crate::{errors::IPCError, IPCConnector, IPCListener, Pid}; pub struct IPCChannel { listener: IPCListener, @@ -21,11 +21,11 @@ impl IPCChannel { /// will use the current process PID as part of its address and two /// connected endpoints. The listener and the server-side endpoint can be /// inherited by a child process, the client-side endpoint cannot. - pub fn new() -> Result { + pub fn new() -> Result { let listener = IPCListener::new(process::id() as Pid)?; // Only the server-side socket will be left open after an exec(). - let pair = unix_socketpair().map_err(IPCChannelError::SocketPair)?; + let pair = unix_socketpair().map_err(IPCError::System)?; let client_endpoint = IPCConnector::from_fd(pair.0)?; let server_endpoint = IPCConnector::from_fd_inheritable(pair.1)?; @@ -52,8 +52,8 @@ pub struct IPCClientChannel { impl IPCClientChannel { /// Create a new IPC channel for use between one of the browser's child /// processes and the crash helper. - pub fn new() -> Result { - let pair = unix_socketpair().map_err(IPCChannelError::SocketPair)?; + pub fn new() -> Result { + let pair = unix_socketpair().map_err(IPCError::System)?; let client_endpoint = IPCConnector::from_fd(pair.0)?; let server_endpoint = IPCConnector::from_fd(pair.1)?; diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/windows.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/windows.rs index f2fd78dce8..4cbf023281 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/windows.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_channel/windows.rs @@ -2,14 +2,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -use std::{ffi::CString, process}; +use std::{ffi::CString, hash::RandomState, process}; -use windows_sys::Win32::Foundation::{ERROR_ACCESS_DENIED, ERROR_ADDRESS_ALREADY_ASSOCIATED}; +use windows_sys::Win32::Foundation::ERROR_ACCESS_DENIED; use crate::{ - ipc_channel::IPCChannelError, - ipc_listener::IPCListenerError, - platform::windows::{server_addr, PlatformError}, + errors::IPCError, + platform::windows::{get_last_error, server_addr}, IPCConnector, IPCListener, Pid, }; @@ -23,7 +22,7 @@ impl IPCChannel { /// Create a new IPCChannel, this includes a listening endpoint that /// will use the current process PID as part of its address and two /// connected endpoints. - pub fn new() -> Result { + pub fn new() -> Result { let pid = process::id() as Pid; let mut listener = IPCListener::new(server_addr(pid))?; listener.listen()?; @@ -53,7 +52,7 @@ pub struct IPCClientChannel { impl IPCClientChannel { /// Create a new IPC channel for use between one of the browser's child /// processes and the crash helper. - pub fn new() -> Result { + pub fn new() -> Result { let mut listener = Self::create_listener()?; listener.listen()?; let client_endpoint = IPCConnector::connect(listener.address())?; @@ -65,15 +64,14 @@ impl IPCClientChannel { }) } - fn create_listener() -> Result { + fn create_listener() -> Result { const ATTEMPTS: u32 = 5; // We pick the listener name at random, as unlikely as it may be there // could be clashes so try a few times before giving up. for _i in 0..ATTEMPTS { - let Ok(random_id) = getrandom::u64() else { - continue; - }; + use std::hash::{BuildHasher, Hasher}; + let random_id = RandomState::new().build_hasher().finish(); let pipe_name = CString::new(format!( "\\\\.\\pipe\\gecko-crash-helper-child-pipe.{random_id:}" @@ -81,19 +79,14 @@ impl IPCClientChannel { .unwrap(); match IPCListener::new(pipe_name) { Ok(listener) => return Ok(listener), - Err( - _error @ IPCListenerError::CreationError(PlatformError::CreatePipeFailure( - ERROR_ACCESS_DENIED, - )), - ) => {} // Try again + Err(_error @ IPCError::System(ERROR_ACCESS_DENIED)) => {} // Try again Err(error) => return Err(error), } } - // If we got to this point give up. - Err(IPCListenerError::CreationError( - PlatformError::CreatePipeFailure(ERROR_ADDRESS_ALREADY_ASSOCIATED), - )) + // If we got to this point return whatever was the last error we + // encountered along the way. + Err(IPCError::System(get_last_error())) } /// Deconstruct the IPC channel, returning the listening endpoint, diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector.rs index 75128fea68..042bcb053e 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector.rs @@ -2,14 +2,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -use std::rc::Rc; - use crate::messages::Header; pub enum IPCEvent { - Connect(Rc), - Message(IPCConnectorKey, Header, Vec, Option), - Disconnect(IPCConnectorKey), + Connect(IPCConnector), + Header(usize, Header), + Disconnect(usize), } /***************************************************************************** @@ -17,9 +15,7 @@ pub enum IPCEvent { *****************************************************************************/ #[cfg(target_os = "windows")] -pub use windows::{ - AncillaryData, IPCConnector, IPCConnectorKey, RawAncillaryData, INVALID_ANCILLARY_DATA, -}; +pub use windows::{AncillaryData, IPCConnector, INVALID_ANCILLARY_DATA}; #[cfg(target_os = "windows")] pub(crate) mod windows; @@ -29,9 +25,7 @@ pub(crate) mod windows; *****************************************************************************/ #[cfg(any(target_os = "android", target_os = "linux", target_os = "macos"))] -pub use unix::{ - AncillaryData, IPCConnector, IPCConnectorKey, RawAncillaryData, INVALID_ANCILLARY_DATA, -}; +pub use unix::{AncillaryData, IPCConnector, INVALID_ANCILLARY_DATA}; #[cfg(any(target_os = "android", target_os = "linux", target_os = "macos"))] pub(crate) mod unix; diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/unix.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/unix.rs index 0c190d8a1d..c5bc0d6288 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/unix.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/unix.rs @@ -3,12 +3,14 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #[cfg(any(target_os = "android", target_os = "linux"))] -use crate::platform::linux::{set_socket_cloexec, set_socket_default_flags}; -#[cfg(target_os = "macos")] -use crate::platform::macos::{set_socket_cloexec, set_socket_default_flags}; -use crate::{ - ignore_eintr, platform::PlatformError, IntoRawAncillaryData, ProcessHandle, IO_TIMEOUT, +use crate::platform::linux::{ + set_socket_cloexec, set_socket_default_flags, }; +#[cfg(target_os = "macos")] +use crate::platform::macos::{ + set_socket_cloexec, set_socket_default_flags, +}; +use crate::{ignore_eintr, ProcessHandle, IO_TIMEOUT}; use nix::{ cmsg_space, @@ -19,7 +21,7 @@ use nix::{ use std::{ ffi::{CStr, CString}, io::{IoSlice, IoSliceMut}, - os::fd::{AsFd, AsRawFd, FromRawFd, IntoRawFd, OwnedFd, RawFd}, + os::fd::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd}, str::FromStr, }; @@ -28,19 +30,10 @@ use crate::{ messages::{self, Message}, }; -pub type RawAncillaryData = RawFd; -pub type AncillaryData = OwnedFd; - -impl IntoRawAncillaryData for AncillaryData { - fn into_raw(self) -> RawAncillaryData { - self.into_raw_fd() - } -} +pub type AncillaryData = RawFd; // This must match `kInvalidHandle` in `mfbt/UniquePtrExt.h` -pub const INVALID_ANCILLARY_DATA: RawAncillaryData = -1; - -pub type IPCConnectorKey = RawFd; +pub const INVALID_ANCILLARY_DATA: AncillaryData = -1; pub struct IPCConnector { socket: OwnedFd, @@ -50,43 +43,29 @@ impl IPCConnector { /// Create a new connector from an already connected socket. The /// `FD_CLOEXEC` flag will be set on the underlying socket and thus it /// will not be possible to inerhit this connector in a child process. - pub(crate) fn from_fd(socket: OwnedFd) -> Result { + pub fn from_fd(socket: OwnedFd) -> Result { let connector = IPCConnector::from_fd_inheritable(socket)?; - set_socket_cloexec(connector.socket.as_fd()).map_err(IPCError::CreationFailure)?; + set_socket_cloexec(connector.socket.as_fd()).map_err(IPCError::System)?; Ok(connector) } /// Create a new connector from an already connected socket. The /// `FD_CLOEXEC` flag will not be set on the underlying socket and thus it /// will be possible to inherit this connector in a child process. - pub(crate) fn from_fd_inheritable(socket: OwnedFd) -> Result { - set_socket_default_flags(socket.as_fd()).map_err(IPCError::CreationFailure)?; + pub fn from_fd_inheritable(socket: OwnedFd) -> Result { + set_socket_default_flags(socket.as_fd()).map_err(IPCError::System)?; Ok(IPCConnector { socket }) } - pub fn from_ancillary(socket: AncillaryData) -> Result { - IPCConnector::from_fd(socket) + pub fn from_ancillary(ancillary_data: AncillaryData) -> Result { + IPCConnector::from_fd(unsafe { OwnedFd::from_raw_fd(ancillary_data) }) } - /// Create a connector from a raw file descriptor. - /// - /// # Safety - /// - /// The `ancillary_data` argument must be an open file descriptor - /// representing a connected Unix socket. - pub unsafe fn from_raw_ancillary( - ancillary_data: RawAncillaryData, - ) -> Result { - IPCConnector::from_fd(OwnedFd::from_raw_fd(ancillary_data)) - } - - pub fn set_process(&mut self, _process: ProcessHandle) {} - /// Serialize this connector into a string that can be passed on the /// command-line to a child process. This only works for newly /// created connectors because they are explicitly created as inheritable. pub fn serialize(&self) -> CString { - CString::new(self.as_raw().to_string()).unwrap() + CString::new(self.socket.as_raw_fd().to_string()).unwrap() } /// Deserialize a connector from an argument passed on the command-line. @@ -98,43 +77,47 @@ impl IPCConnector { Ok(IPCConnector { socket }) } - pub fn into_ancillary(self) -> AncillaryData { - self.socket - } - - pub fn into_raw_ancillary(self) -> RawAncillaryData { - self.socket.into_raw() - } - - pub(crate) fn as_raw(&self) -> RawFd { + fn raw_fd(&self) -> RawFd { self.socket.as_raw_fd() } - pub fn key(&self) -> IPCConnectorKey { - self.socket.as_raw_fd() + pub fn into_ancillary( + self, + _dst_process: &Option, + ) -> Result { + Ok(self.socket.into_raw_fd()) } - fn poll(&self, flags: PollFlags) -> Result<(), PlatformError> { + /// Like into_ancillary, but the IPCConnector retains ownership of the file descriptor (so be + /// sure to use the result during the lifetime of the IPCConnector). + pub fn as_ancillary( + &self, + _dst_process: &Option, + ) -> Result { + Ok(self.raw_fd()) + } + + pub fn as_raw_ref(&self) -> BorrowedFd<'_> { + self.socket.as_fd() + } + + pub fn poll(&self, flags: PollFlags) -> Result<(), Errno> { let timeout = PollTimeout::from(IO_TIMEOUT); let res = ignore_eintr!(poll( &mut [PollFd::new(self.socket.as_fd(), flags)], timeout )); match res { - Err(e) => Err(PlatformError::PollFailure(e)), - Ok(_res @ 0) => Err(PlatformError::PollFailure(Errno::EAGAIN)), + Err(e) => Err(e), + Ok(_res @ 0) => Err(Errno::EAGAIN), Ok(_) => Ok(()), } } - pub fn send_message(&self, message: T) -> Result<(), IPCError> - where - T: Message, - { + pub fn send_message(&self, message: &dyn Message) -> Result<(), IPCError> { self.send(&message.header(), None) .map_err(IPCError::TransmissionFailure)?; - let (payload, ancillary_data) = message.into_payload(); - self.send(&payload, ancillary_data) + self.send(&message.payload(), message.ancillary_payload()) .map_err(IPCError::TransmissionFailure) } @@ -142,28 +125,23 @@ impl IPCConnector { where T: Message, { - // HACK: Workaround for a macOS-specific bug - #[cfg(target_os = "macos")] - self.poll(PollFlags::POLLIN) - .map_err(IPCError::ReceptionFailure)?; - let header = self.recv_header()?; if header.kind != T::kind() { - return Err(IPCError::UnexpectedMessage(header.kind)); + return Err(IPCError::ReceptionFailure(Errno::EBADMSG)); } - let (data, _) = self.recv(header.size)?; + let (data, _) = self.recv(header.size).map_err(IPCError::ReceptionFailure)?; T::decode(&data, None).map_err(IPCError::from) } - fn send_nonblock(&self, buff: &[u8], fd: &Option) -> Result<(), PlatformError> { + fn send_nonblock(&self, buff: &[u8], fd: Option) -> Result<(), Errno> { let iov = [IoSlice::new(buff)]; - let scm_fds: Vec = fd.iter().map(|fd| fd.as_raw_fd()).collect(); + let scm_fds: Vec = fd.map_or(vec![], |fd| vec![fd]); let scm = ControlMessage::ScmRights(&scm_fds); let res = ignore_eintr!(sendmsg::<()>( - self.as_raw(), + self.raw_fd(), &iov, &[scm], MsgFlags::empty(), @@ -175,44 +153,45 @@ impl IPCConnector { if bytes_sent == buff.len() { Ok(()) } else { - Err(PlatformError::SendTooShort { - expected: buff.len(), - sent: bytes_sent, - }) + // TODO: This should never happen but we might want to put a + // better error message here. + Err(Errno::EMSGSIZE) } } - Err(code) => Err(PlatformError::SendFailure(code)), + Err(code) => Err(code), } } - fn send(&self, buff: &[u8], fd: Option) -> Result<(), PlatformError> { - let res = self.send_nonblock(buff, &fd); + fn send(&self, buff: &[u8], fd: Option) -> Result<(), Errno> { + let res = self.send_nonblock(buff, fd); match res { - Err(PlatformError::SendFailure(Errno::EAGAIN)) => { + Err(_code @ Errno::EAGAIN) => { // If the socket was not ready to send data wait for it to // become unblocked then retry sending just once. self.poll(PollFlags::POLLOUT)?; - self.send_nonblock(buff, &fd) + self.send_nonblock(buff, fd) } _ => res, } } - pub(crate) fn recv_header(&self) -> Result { - let (header, _) = self.recv(messages::HEADER_SIZE)?; + pub fn recv_header(&self) -> Result { + let (header, _) = self + .recv(messages::HEADER_SIZE) + .map_err(IPCError::ReceptionFailure)?; messages::Header::decode(&header).map_err(IPCError::BadMessage) } fn recv_nonblock( &self, expected_size: usize, - ) -> Result<(Vec, Option), PlatformError> { + ) -> Result<(Vec, Option), Errno> { let mut buff: Vec = vec![0; expected_size]; let mut cmsg_buffer = cmsg_space!(RawFd); let mut iov = [IoSliceMut::new(&mut buff)]; let res = ignore_eintr!(recvmsg::<()>( - self.as_raw(), + self.raw_fd(), &mut iov, Some(&mut cmsg_buffer), MsgFlags::empty(), @@ -228,47 +207,44 @@ impl IPCConnector { let res = match res { #[cfg(target_os = "macos")] Err(_code @ Errno::ENOMEM) => ignore_eintr!(recvmsg::<()>( - self.as_raw(), + self.raw_fd(), &mut iov, Some(&mut cmsg_buffer), MsgFlags::empty(), ))?, - Err(e) => return Err(PlatformError::ReceiveFailure(e)), + Err(e) => return Err(e), Ok(val) => val, }; let fd = if let Some(cmsg) = res.cmsgs()?.next() { if let ControlMessageOwned::ScmRights(fds) = cmsg { - fds.first().map(|&fd| unsafe { OwnedFd::from_raw_fd(fd) }) + fds.first().copied() } else { - return Err(PlatformError::ReceiveMissingCredentials); + return Err(Errno::EBADMSG); } } else { None }; if res.bytes != expected_size { - return Err(PlatformError::ReceiveTooShort { - expected: expected_size, - received: res.bytes, - }); + // TODO: This should only ever happen if the other side has gone rogue, + // we need a better error message here. + return Err(Errno::EBADMSG); } Ok((buff, fd)) } - pub fn recv(&self, expected_size: usize) -> Result<(Vec, Option), IPCError> { + pub fn recv(&self, expected_size: usize) -> Result<(Vec, Option), Errno> { let res = self.recv_nonblock(expected_size); match res { - Err(PlatformError::ReceiveFailure(Errno::EAGAIN)) => { + Err(_code @ Errno::EAGAIN) => { // If the socket was not ready to receive data wait for it to // become unblocked then retry receiving just once. - self.poll(PollFlags::POLLIN) - .map_err(IPCError::ReceptionFailure)?; + self.poll(PollFlags::POLLIN)?; self.recv_nonblock(expected_size) } _ => res, } - .map_err(IPCError::ReceptionFailure) } } diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/windows.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/windows.rs index 87feaaf374..da179054b3 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/windows.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_connector/windows.rs @@ -4,28 +4,23 @@ use crate::{ errors::IPCError, - messages::{self, Message, HEADER_SIZE}, - platform::windows::{ - create_manual_reset_event, get_last_error, OverlappedOperation, PlatformError, - }, - IntoRawAncillaryData, IO_TIMEOUT, + messages::{self, Message}, + platform::windows::{create_manual_reset_event, get_last_error, OverlappedOperation}, + ProcessHandle, IO_TIMEOUT, }; use std::{ - ffi::{CStr, OsString}, - io::Error, - os::windows::io::{ - AsHandle, AsRawHandle, FromRawHandle, IntoRawHandle, OwnedHandle, RawHandle, - }, + ffi::{c_void, CStr, OsString}, + os::windows::io::{AsRawHandle, FromRawHandle, IntoRawHandle, OwnedHandle, RawHandle}, ptr::null_mut, - rc::Rc, str::FromStr, time::{Duration, Instant}, }; use windows_sys::Win32::{ Foundation::{ - DuplicateHandle, DUPLICATE_CLOSE_SOURCE, DUPLICATE_SAME_ACCESS, ERROR_FILE_NOT_FOUND, - ERROR_PIPE_BUSY, FALSE, HANDLE, INVALID_HANDLE_VALUE, + DuplicateHandle, GetLastError, DUPLICATE_CLOSE_SOURCE, DUPLICATE_SAME_ACCESS, + ERROR_FILE_NOT_FOUND, ERROR_INVALID_MESSAGE, ERROR_PIPE_BUSY, FALSE, HANDLE, + INVALID_HANDLE_VALUE, WAIT_TIMEOUT, }, Security::SECURITY_ATTRIBUTES, Storage::FileSystem::{ @@ -38,24 +33,17 @@ use windows_sys::Win32::{ }, }; -pub type AncillaryData = OwnedHandle; -pub type RawAncillaryData = HANDLE; - -impl IntoRawAncillaryData for AncillaryData { - fn into_raw(self) -> RawAncillaryData { - self.into_raw_handle() as HANDLE - } -} +pub type AncillaryData = HANDLE; // This must match `kInvalidHandle` in `mfbt/UniquePtrExt.h` -pub const INVALID_ANCILLARY_DATA: RawAncillaryData = 0; +pub const INVALID_ANCILLARY_DATA: AncillaryData = 0; const HANDLE_SIZE: usize = size_of::(); // We encode handles at the beginning of every transmitted message. This // function extracts the handle (if present) and returns it together with // the rest of the buffer. -fn extract_buffer_and_handle(buffer: Vec) -> Result<(Vec, Option), IPCError> { +fn extract_buffer_and_handle(buffer: Vec) -> Result<(Vec, Option), IPCError> { let handle_bytes = &buffer[0..HANDLE_SIZE]; let data = &buffer[HANDLE_SIZE..]; let handle_bytes: Result<[u8; HANDLE_SIZE], _> = handle_bytes.try_into(); @@ -64,57 +52,39 @@ fn extract_buffer_and_handle(buffer: Vec) -> Result<(Vec, Option None, - handle => Some(unsafe { OwnedHandle::from_raw_handle(handle as RawHandle) }), + handle => Some(handle), }; Ok((data.to_vec(), handle)) } -pub type IPCConnectorKey = usize; - pub struct IPCConnector { - /// A connected pipe handle - handle: Rc, - /// A handle to an event which will be used for overlapped I/O on the pipe + handle: OwnedHandle, event: OwnedHandle, - /// The process at the other end of the pipe, this is needed to send - /// ancillary data and a send operation will fail if not set. - process: Option, + overlapped: Option, } impl IPCConnector { - pub fn from_ancillary(handle: OwnedHandle) -> Result { - let event = create_manual_reset_event().map_err(IPCError::CreationFailure)?; + pub fn new(handle: OwnedHandle) -> Result { + let event = create_manual_reset_event()?; Ok(IPCConnector { - handle: Rc::new(handle), + handle, event, - process: None, + overlapped: None, }) } - /// Create a connector from a raw handle. - /// - /// # Safety - /// - /// The `ancillary_data` argument must be a valid HANDLE representing the - /// endpoint of a named pipe. - pub unsafe fn from_raw_ancillary( - ancillary_data: RawAncillaryData, - ) -> Result { - IPCConnector::from_ancillary(OwnedHandle::from_raw_handle(ancillary_data as RawHandle)) + pub fn from_ancillary(ancillary_data: AncillaryData) -> Result { + IPCConnector::new(unsafe { OwnedHandle::from_raw_handle(ancillary_data as RawHandle) }) } - pub fn set_process(&mut self, process: OwnedHandle) { - self.process = Some(process); - } - - pub(crate) fn as_raw(&self) -> HANDLE { + pub fn as_raw(&self) -> HANDLE { self.handle.as_raw_handle() as HANDLE } - pub fn key(&self) -> IPCConnectorKey { - self.handle.as_raw_handle() as IPCConnectorKey + pub fn event_raw_handle(&self) -> HANDLE { + self.event.as_raw_handle() as HANDLE } pub fn connect(server_addr: &CStr) -> Result { @@ -150,10 +120,10 @@ impl IPCConnector { let elapsed = now.elapsed(); if elapsed >= timeout { - return Err(IPCError::Timeout); + return Err(IPCError::System(WAIT_TIMEOUT)); // TODO: We need a dedicated error } - let error = get_last_error(); + let error = unsafe { GetLastError() }; // The pipe might have not been created yet or it might be busy. if (error == ERROR_FILE_NOT_FOUND) || (error == ERROR_PIPE_BUSY) { @@ -164,14 +134,14 @@ impl IPCConnector { (timeout - elapsed).as_millis() as u32, ) }; - let error = get_last_error(); + let error = unsafe { GetLastError() }; // If the pipe hasn't been created yet loop over and try again if (res == FALSE) && (error != ERROR_FILE_NOT_FOUND) { - return Err(IPCError::ConnectionFailure(error)); + return Err(IPCError::System(error)); } } else { - return Err(IPCError::ConnectionFailure(error)); + return Err(IPCError::System(error)); } } @@ -188,11 +158,12 @@ impl IPCConnector { ) }; if res == FALSE { - return Err(IPCError::ConnectionFailure(get_last_error())); + return Err(IPCError::System(unsafe { GetLastError() })); } - // SAFETY: We've verified above that the pipe handle is valid - unsafe { IPCConnector::from_raw_ancillary(pipe) } + // SAFETY: The raw pipe handle is guaranteed to be open at this point + let handle = unsafe { OwnedHandle::from_raw_handle(pipe as RawHandle) }; + IPCConnector::new(handle) } /// Serialize this connector into a string that can be passed on the @@ -207,115 +178,149 @@ impl IPCConnector { pub fn deserialize(string: &CStr) -> Result { let string = string.to_str().map_err(|_e| IPCError::ParseError)?; let handle = usize::from_str(string).map_err(|_e| IPCError::ParseError)?; + let handle = handle as *mut c_void; // SAFETY: This is a handle we passed in ourselves. - unsafe { IPCConnector::from_raw_ancillary(handle as HANDLE) } + let handle = unsafe { OwnedHandle::from_raw_handle(handle) }; + IPCConnector::new(handle) } - pub fn into_ancillary(self) -> AncillaryData { - Rc::try_unwrap(self.handle).expect("Multiple references to the underlying handle") - } + pub fn into_ancillary( + self, + dst_process: &Option, + ) -> Result { + let mut dst_handle: HANDLE = INVALID_ANCILLARY_DATA; - pub fn into_raw_ancillary(self) -> RawAncillaryData { - self.into_ancillary().into_raw() - } + if let Some(dst_process) = dst_process.as_ref() { + let res = unsafe { + DuplicateHandle( + GetCurrentProcess(), + self.handle.into_raw_handle() as HANDLE, + dst_process.as_raw_handle() as HANDLE, + &mut dst_handle, + /* dwDesiredAccess */ 0, + /* bInheritHandle */ FALSE, + DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS, + ) + }; - pub fn send_message(&self, message: T) -> Result<(), IPCError> - where - T: Message, - { - self.send_message_internal(message) - .map_err(IPCError::TransmissionFailure) - } - - fn send_message_internal(&self, message: T) -> Result<(), PlatformError> - where - T: Message, - { - let header = message.header(); - let (payload, ancillary_data) = message.into_payload(); - - // Send the message header - OverlappedOperation::send(&self.handle, self.event.as_handle(), header)?; - - // Send the message payload plus the optional handles - let handle = if let Some(handle) = ancillary_data { - self.clone_handle(handle)? + if res > 0 { + Ok(dst_handle) + } else { + Err(IPCError::System(get_last_error())) + } } else { - INVALID_ANCILLARY_DATA - }; + Ok(self.handle.into_raw_handle() as HANDLE) + } + } - let mut buffer = Vec::::with_capacity(HANDLE_SIZE + payload.len()); - buffer.extend(handle.to_ne_bytes()); - buffer.extend(payload); + /// Like into_ancillary, but the IPCConnector retains ownership of the file descriptor (so be + /// sure to use the result during the lifetime of the IPCConnector). + pub fn as_ancillary( + &self, + dst_process: &Option, + ) -> Result { + let mut dst_handle: HANDLE = INVALID_ANCILLARY_DATA; - OverlappedOperation::send(&self.handle, self.event.as_handle(), buffer) + if let Some(dst_process) = dst_process.as_ref() { + let res = unsafe { + DuplicateHandle( + GetCurrentProcess(), + self.handle.as_raw_handle() as HANDLE, + dst_process.as_raw_handle() as HANDLE, + &mut dst_handle, + /* dwDesiredAccess */ 0, + /* bInheritHandle */ FALSE, + DUPLICATE_SAME_ACCESS, + ) + }; + + if res > 0 { + Ok(dst_handle) + } else { + Err(IPCError::System(get_last_error())) + } + } else { + Ok(self.handle.as_raw_handle() as HANDLE) + } + } + + pub fn send_message(&self, message: &dyn Message) -> Result<(), IPCError> { + // Send the message header + self.send(&message.header(), None)?; + + // Send the message payload + self.send(&message.payload(), message.ancillary_payload())?; + + Ok(()) } pub fn recv_reply(&self) -> Result where T: Message, { - let header = self - .recv_buffer(messages::HEADER_SIZE) - .map_err(IPCError::ReceptionFailure)?; - let header = messages::Header::decode(&header).map_err(IPCError::BadMessage)?; + let header = self.recv_header()?; if header.kind != T::kind() { - return Err(IPCError::UnexpectedMessage(header.kind)); + return Err(IPCError::ReceptionFailure(ERROR_INVALID_MESSAGE)); } - let (buffer, handle) = self.recv(header.size)?; - T::decode(&buffer, handle).map_err(IPCError::from) + let (data, _) = self.recv(header.size)?; + T::decode(&data, None).map_err(IPCError::from) } - pub(crate) fn sched_recv_header(&self) -> Result { - OverlappedOperation::sched_recv(&self.handle, HEADER_SIZE) - .map_err(IPCError::ReceptionFailure) + fn recv_header(&self) -> Result { + let (header, _) = self.recv(messages::HEADER_SIZE)?; + messages::Header::decode(&header).map_err(IPCError::BadMessage) } - pub(crate) fn recv( - &self, - expected_size: usize, - ) -> Result<(Vec, Option), IPCError> { - let buffer = self - .recv_buffer(HANDLE_SIZE + expected_size) - .map_err(IPCError::ReceptionFailure)?; + pub fn sched_recv_header(&mut self) -> Result<(), IPCError> { + if self.overlapped.is_some() { + // We're already waiting for a header. + return Ok(()); + } + + self.overlapped = Some(OverlappedOperation::sched_recv( + self.handle + .try_clone() + .map_err(IPCError::CloneHandleFailed)?, + self.event_raw_handle(), + HANDLE_SIZE + messages::HEADER_SIZE, + )?); + Ok(()) + } + + pub fn collect_header(&mut self) -> Result { + // We should never call collect_header() on a connector that wasn't + // waiting for one, so panic in that scenario. + let overlapped = self.overlapped.take().unwrap(); + let buffer = overlapped.collect_recv(/* wait */ false)?; + let (data, _) = extract_buffer_and_handle(buffer)?; + messages::Header::decode(data.as_ref()).map_err(IPCError::BadMessage) + } + + pub fn send(&self, buff: &[u8], handle: Option) -> Result<(), IPCError> { + let mut buffer = Vec::::with_capacity(HANDLE_SIZE + buff.len()); + buffer.extend(handle.unwrap_or(INVALID_ANCILLARY_DATA).to_ne_bytes()); + buffer.extend(buff); + + let overlapped = + OverlappedOperation::sched_send(self.handle + .try_clone() + .map_err(IPCError::CloneHandleFailed)?, self.event_raw_handle(), buffer)?; + overlapped.complete_send(/* wait */ true) + } + + pub fn recv(&self, expected_size: usize) -> Result<(Vec, Option), IPCError> { + let overlapped = OverlappedOperation::sched_recv( + self.handle + .try_clone() + .map_err(IPCError::CloneHandleFailed)?, + self.event_raw_handle(), + HANDLE_SIZE + expected_size, + )?; + let buffer = overlapped.collect_recv(/* wait */ true)?; extract_buffer_and_handle(buffer) } - - fn recv_buffer(&self, expected_size: usize) -> Result, PlatformError> { - OverlappedOperation::recv(&self.handle, self.event.as_handle(), expected_size) - } - - /// Clone a handle in the destination process, this is required to - /// transfer handles over this connector. Note that this consumes the - /// incoming handle because we want it to be closed after it's been cloned - /// over to the other process. - fn clone_handle(&self, handle: OwnedHandle) -> Result { - let Some(dst_process) = self.process.as_ref() else { - return Err(PlatformError::MissingProcessHandle); - }; - let mut dst_handle: HANDLE = INVALID_ANCILLARY_DATA; - let res = unsafe { - DuplicateHandle( - GetCurrentProcess(), - handle.into_raw_handle() as HANDLE, - dst_process.as_raw_handle() as HANDLE, - &mut dst_handle, - /* dwDesiredAccess */ 0, - /* bInheritHandle */ FALSE, - DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS, - ) - }; - - if res == 0 { - return Err(PlatformError::CloneHandleFailed(Error::from_raw_os_error( - get_last_error() as i32, - ))); - } - - Ok(dst_handle) - } } // SAFETY: The connector can be transferred across threads in spite of the raw diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener.rs index 1d22475b1a..ae86e5d930 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener.rs @@ -2,30 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -use thiserror::Error; - -use crate::{errors::IPCError, platform::PlatformError}; - -/***************************************************************************** - * Error definitions * - *****************************************************************************/ - -#[derive(Debug, Error)] -pub enum IPCListenerError { - #[error("Could not accept incoming connection: {0}")] - AcceptError(PlatformError), - #[error("Issue with an underlying connector: {0}")] - ConnectorError(#[from] IPCError), - #[error("Could not create listener: {0}")] - CreationError(PlatformError), - #[error("Could not listen for incoming connections: {0}")] - ListenError(PlatformError), - #[error("Could not parse handle: {0}")] - ParseError(String), - #[error("Could not create a new pipe: {0}")] - PipeCreationFailure(PlatformError), -} - /***************************************************************************** * Windows * *****************************************************************************/ diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener/windows.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener/windows.rs index 26ce1cbfed..eda8b8a33a 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener/windows.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_listener/windows.rs @@ -4,21 +4,18 @@ use crate::{ errors::IPCError, - ipc_listener::IPCListenerError, - platform::windows::{get_last_error, server_addr, OverlappedOperation, PlatformError}, + platform::windows::{create_manual_reset_event, server_addr, OverlappedOperation}, IPCConnector, Pid, }; use std::{ - cell::RefCell, - ffi::{CStr, CString, OsString}, + ffi::{c_void, CStr, CString, OsString}, os::windows::io::{AsRawHandle, FromRawHandle, OwnedHandle, RawHandle}, ptr::null_mut, - rc::Rc, str::FromStr, }; use windows_sys::Win32::{ - Foundation::{HANDLE, INVALID_HANDLE_VALUE, TRUE}, + Foundation::{GetLastError, HANDLE, INVALID_HANDLE_VALUE, TRUE}, Security::SECURITY_ATTRIBUTES, Storage::FileSystem::{ FILE_FLAG_FIRST_PIPE_INSTANCE, FILE_FLAG_OVERLAPPED, PIPE_ACCESS_DUPLEX, @@ -30,86 +27,90 @@ use windows_sys::Win32::{ }; pub struct IPCListener { - /// The name of the pipe this listener will be bound to server_addr: CString, - /// A named pipe handle listening for incoming connections - handle: RefCell>, - /// Stores the only listen operation that might be pending + handle: OwnedHandle, overlapped: Option, + event: OwnedHandle, } impl IPCListener { - pub(crate) fn new(server_addr: CString) -> Result { - let pipe = create_named_pipe(&server_addr, /* first_instance */ true) - .map_err(IPCListenerError::PipeCreationFailure)?; + pub fn new(server_addr: CString) -> Result { + let pipe = create_named_pipe(&server_addr, /* first_instance */ true)?; + let event = create_manual_reset_event()?; Ok(IPCListener { server_addr, - handle: RefCell::new(Rc::new(pipe)), + handle: pipe, overlapped: None, + event, }) } - pub(crate) fn as_raw(&self) -> HANDLE { - self.handle.borrow().as_raw_handle() as HANDLE + pub fn event_raw_handle(&self) -> HANDLE { + self.event.as_raw_handle() as HANDLE } - pub(crate) fn address(&self) -> &CStr { + pub fn address(&self) -> &CStr { &self.server_addr } - pub(crate) fn sched_listen(&self) -> Result { - OverlappedOperation::listen(&self.handle.borrow()).map_err(IPCListenerError::ListenError) - } - - pub(crate) fn listen(&mut self) -> Result<(), IPCListenerError> { - self.overlapped = Some(self.sched_listen()?); + pub fn listen(&mut self) -> Result<(), IPCError> { + self.overlapped = Some(OverlappedOperation::listen( + self.handle + .try_clone() + .map_err(IPCError::CloneHandleFailed)?, + self.event_raw_handle(), + )?); Ok(()) } - pub fn accept(&mut self) -> Result { - let overlapped = self - .overlapped - .take() - .expect("Accepting a connection without listening first"); - overlapped.accept().map_err(IPCListenerError::AcceptError)?; - self.replace_pipe() - } + pub fn accept(&mut self) -> Result { + // We should never call accept() on a listener that wasn't + // already waiting, so panic in that scenario. + let overlapped = self.overlapped.take().unwrap(); + overlapped.accept(self.handle.as_raw_handle() as HANDLE)?; + let new_pipe = create_named_pipe(&self.server_addr, /* first_instance */ false)?; + let connected_pipe = std::mem::replace(&mut self.handle, new_pipe); - pub(crate) fn replace_pipe(&self) -> Result { - let new_pipe = create_named_pipe(&self.server_addr, /* first_instance */ false) - .map_err(IPCListenerError::PipeCreationFailure)?; - let connected_pipe = self.handle.replace(Rc::new(new_pipe)); + // Once we've accepted a new connection and replaced the listener's + // pipe we need to listen again before we return, so that we're ready + // for the next iteration. + self.listen()?; - // We can guarantee that there's only one reference to this handle at - // this point in time. - Ok(IPCConnector::from_ancillary( - Rc::::try_unwrap(connected_pipe).unwrap(), - )?) + IPCConnector::new(connected_pipe) } /// Serialize this listener into a string that can be passed on the /// command-line to a child process. This only works for newly /// created listeners because they are explicitly created as inheritable. pub fn serialize(&self) -> OsString { - let raw_handle = self.handle.borrow().as_raw_handle() as usize; + let raw_handle = self.handle.as_raw_handle() as usize; OsString::from_str(raw_handle.to_string().as_ref()).unwrap() } /// Deserialize a listener from an argument passed on the command-line. /// The resulting listener is ready to accept new connections. - pub fn deserialize(string: &CStr, pid: Pid) -> Result { + pub fn deserialize(string: &CStr, pid: Pid) -> Result { let server_addr = server_addr(pid); let string = string.to_str().map_err(|_e| IPCError::ParseError)?; let handle = usize::from_str(string).map_err(|_e| IPCError::ParseError)?; + let handle = handle as *mut c_void; // SAFETY: This is a handle we passed in ourselves. - let handle = unsafe { OwnedHandle::from_raw_handle(handle as RawHandle) }; + let handle = unsafe { OwnedHandle::from_raw_handle(handle) }; + let event = create_manual_reset_event()?; - Ok(IPCListener { + let mut listener = IPCListener { server_addr, - handle: RefCell::new(Rc::new(handle)), + handle, overlapped: None, - }) + event, + }; + + // Since we've inherited this handler we need to start a new + // asynchronous operation to listen for incoming connections. + listener.listen()?; + + Ok(listener) } } @@ -118,10 +119,7 @@ impl IPCListener { // used internally and never visible externally. unsafe impl Send for IPCListener {} -fn create_named_pipe( - server_addr: &CStr, - first_instance: bool, -) -> Result { +fn create_named_pipe(server_addr: &CStr, first_instance: bool) -> Result { const PIPE_BUFFER_SIZE: u32 = 4096; let open_mode = PIPE_ACCESS_DUPLEX @@ -154,7 +152,7 @@ fn create_named_pipe( }; if pipe == INVALID_HANDLE_VALUE { - return Err(PlatformError::CreatePipeFailure(get_last_error())); + return Err(IPCError::System(unsafe { GetLastError() })); } // SAFETY: We just verified that the handle is valid. diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue.rs deleted file mode 100644 index 495d8918e5..0000000000 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue.rs +++ /dev/null @@ -1,53 +0,0 @@ -/* 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 https://mozilla.org/MPL/2.0/. */ - -use thiserror::Error; - -use crate::{ - errors::{IPCError, SystemError}, - messages::MessageError, - IPCListenerError, -}; - -/***************************************************************************** - * Error definitions * - *****************************************************************************/ - -#[derive(Debug, Error)] -pub enum IPCQueueError { - #[error("Could not create queue: {0}")] - CreationFailure(SystemError), - #[error("Could not register with queue: {0}")] - RegistrationFailure(SystemError), - #[error("Could not post an event on the queue: {0}")] - PostEventFailure(SystemError), - #[error("Could not wait for events: {0}")] - WaitError(SystemError), - #[error("Underlying IPC connector error: {0}")] - IPCError(#[from] IPCError), - #[error("Underlying IPC listener error: {0}")] - IPCListenerError(#[from] IPCListenerError), - #[error("Underlying message error: {0}")] - MessageError(#[from] MessageError), -} - -/***************************************************************************** - * Windows * - *****************************************************************************/ - -#[cfg(target_os = "windows")] -pub use windows::IPCQueue; - -#[cfg(target_os = "windows")] -pub(crate) mod windows; - -/***************************************************************************** - * Android, macOS & Linux * - *****************************************************************************/ - -#[cfg(any(target_os = "android", target_os = "linux", target_os = "macos"))] -pub use unix::IPCQueue; - -#[cfg(any(target_os = "android", target_os = "linux", target_os = "macos"))] -pub(crate) mod unix; diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue/unix.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue/unix.rs deleted file mode 100644 index a5f2f19ef6..0000000000 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue/unix.rs +++ /dev/null @@ -1,93 +0,0 @@ -/* 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 https://mozilla.org/MPL/2.0/. */ - -use nix::poll::{poll, PollFd, PollFlags, PollTimeout}; -use std::{collections::HashMap, os::fd::BorrowedFd, rc::Rc}; - -use crate::{ - ignore_eintr, ipc_queue::IPCQueueError, IPCConnector, IPCConnectorKey, IPCEvent, IPCListener, -}; - -pub struct IPCQueue { - connectors: HashMap>, -} - -impl IPCQueue { - pub fn new(_listener: IPCListener) -> Result { - let connectors = HashMap::with_capacity(10); - Ok(IPCQueue { connectors }) - } - - pub fn add_connector(&mut self, connector: &Rc) -> Result<(), IPCQueueError> { - let res = self.connectors.insert(connector.key(), connector.clone()); - debug_assert!(res.is_none()); - Ok(()) - } - - pub fn add_listener(&self, _listener: &IPCListener) -> Result<(), IPCQueueError> { - Ok(()) - } - - pub fn wait_for_events(&mut self) -> Result, IPCQueueError> { - let mut pollfds = Vec::with_capacity(self.connectors.len()); - // SAFETY: All the fds held by the queue are known to be valid. - pollfds.extend(self.connectors.iter().map(|connector| { - PollFd::new( - unsafe { BorrowedFd::borrow_raw(connector.1.as_raw()) }, - PollFlags::POLLIN, - ) - })); - - let mut events = Vec::::new(); - let mut num_events = ignore_eintr!(poll(&mut pollfds, PollTimeout::NONE)) - .map_err(IPCQueueError::WaitError)?; - - for (pollfd, (&key, connector)) in pollfds.iter().zip(&self.connectors) { - // revents() returns None only if the kernel sends back data - // that nix does not understand, we can safely assume this - // never happens in practice hence the unwrap(). - let Some(revents) = pollfd.revents() else { - // TODO: We should log this error, disconnect the socket or do - // both things. Probably needs a new event type. - continue; - }; - - if revents.contains(PollFlags::POLLHUP) { - events.push(IPCEvent::Disconnect(key)); - // If a process was disconnected then skip all further - // processing of the socket. This wouldn't matter normally, - // but on macOS calling recvmsg() on a hung-up socket seems - // to trigger a kernel panic, one we've already encountered - // in the past. Doing things this way avoids the panic - // while having no real downsides. - continue; - } - - if revents.contains(PollFlags::POLLIN) { - let header = connector.recv_header()?; - let payload = connector - .recv(header.size) - .map_err(IPCQueueError::IPCError)?; - events.push(IPCEvent::Message(key, header, payload.0, payload.1)); - } - - if !revents.is_empty() { - num_events -= 1; - - if num_events == 0 { - break; - } - } - } - - // Remove all connectors for which we've received disconnect events. - for event in &events { - if let IPCEvent::Disconnect(key) = event { - self.connectors.remove(key); - } - } - - Ok(events) - } -} diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue/windows.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue/windows.rs deleted file mode 100644 index 8468de956b..0000000000 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/ipc_queue/windows.rs +++ /dev/null @@ -1,281 +0,0 @@ -/* 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 https://mozilla.org/MPL/2.0/. */ - -use std::{ - collections::HashMap, - mem::MaybeUninit, - os::windows::io::{AsRawHandle, FromRawHandle, OwnedHandle, RawHandle}, - ptr::null_mut, - rc::Rc, -}; -use windows_sys::Win32::{ - Foundation::{ERROR_BROKEN_PIPE, FALSE, HANDLE, INVALID_HANDLE_VALUE}, - System::{ - Threading::INFINITE, - IO::{CreateIoCompletionPort, GetQueuedCompletionStatus, OVERLAPPED}, - }, -}; - -use crate::{ - errors::IPCError, - ipc_queue::IPCQueueError, - messages::Header, - platform::{ - windows::{get_last_error, OverlappedOperation}, - PlatformError, - }, - IPCConnector, IPCConnectorKey, IPCEvent, IPCListener, -}; - -const CONCURRENT_THREADS: u32 = 1; - -struct IPCQueueElement { - connector: Rc, - operation: Option, -} - -pub struct IPCQueue { - connectors: HashMap, - listener: IPCListener, - listen_operation: Option, - port: OwnedHandle, -} - -impl IPCQueue { - pub fn new(listener: IPCListener) -> Result { - let listener_port = listener.as_raw(); - - // Create a new completion port that allows only one active thread. - let port = unsafe { - CreateIoCompletionPort( - /* FileHandle */ INVALID_HANDLE_VALUE, - /* ExistingCompletionPort */ 0, - /* CompletionKey */ 0, - CONCURRENT_THREADS, - ) as RawHandle - }; - - if port.is_null() { - return Err(IPCQueueError::CreationFailure(get_last_error())); - } - - let mut queue = IPCQueue { - connectors: HashMap::with_capacity(10), - listener, - listen_operation: None, - port: unsafe { OwnedHandle::from_raw_handle(port) }, - }; - - queue.add_handle(listener_port)?; - - Ok(queue) - } - - pub fn add_connector(&mut self, connector: &Rc) -> Result<(), IPCQueueError> { - self.add_handle(connector.as_raw())?; - self.insert_connector(connector); - Ok(()) - } - - fn insert_connector(&mut self, connector: &Rc) { - let res = self.connectors.insert( - connector.key(), - IPCQueueElement { - connector: connector.clone(), - operation: None, - }, - ); - debug_assert!(res.is_none()); - } - - fn add_handle(&mut self, handle: HANDLE) -> Result<(), IPCQueueError> { - let port = unsafe { - CreateIoCompletionPort( - handle, - self.port.as_raw_handle() as HANDLE, - // Use the connector's handle as the events' key - handle as usize, - CONCURRENT_THREADS, - ) as RawHandle - }; - - if port.is_null() { - return Err(IPCQueueError::RegistrationFailure(get_last_error())); - } - - Ok(()) - } - - pub fn wait_for_events(&mut self) -> Result, IPCQueueError> { - let mut events = Vec::with_capacity(1); - - for element in self.connectors.values_mut() { - if element.operation.is_none() { - match element.connector.sched_recv_header() { - Ok(operation) => element.operation = Some(operation), - Err(_error @ IPCError::ReceptionFailure(PlatformError::BrokenPipe)) => { - events.push(IPCEvent::Disconnect(element.connector.key())); - } - Err(error) => return Err(IPCQueueError::from(error)), - } - } - } - - for event in &events { - if let IPCEvent::Disconnect(key) = event { - self.connectors.remove(key); - } - } - - if self.connectors.len() == 0 { - // The last client disconnected. - return Ok(events); - } - - if self.listen_operation.is_none() { - self.listen_operation = Some(self.listener.sched_listen()?); - } - - let mut number_of_bytes_transferred = MaybeUninit::::uninit(); - let mut completion_key = MaybeUninit::::uninit(); - let mut overlapped = MaybeUninit::<*mut OVERLAPPED>::uninit(); - - let res = unsafe { - GetQueuedCompletionStatus( - self.port.as_raw_handle() as HANDLE, - number_of_bytes_transferred.as_mut_ptr(), - completion_key.as_mut_ptr(), - overlapped.as_mut_ptr(), - INFINITE, - ) - }; - - // SAFETY: `overlapped` will always be populated by - // `GetQueueCompletionStatus()` so it's safe to assume initialization. - let overlapped = unsafe { overlapped.assume_init() }; - - if res == FALSE { - let err = get_last_error(); - - // If `overlapped` is non-null then the completion packet contained - // the result of a failed I/O operation. We only handle failures - // caused by a broken pipes, all others are considered fatal. - if !overlapped.is_null() && (err == ERROR_BROKEN_PIPE) { - // SAFETY: `overlapped` was non-null, so `completion_key` has - // also been populated by `GetQueuedCompletionStatus()`. - let completion_key = unsafe { completion_key.assume_init() }; - let element = self.connectors.remove(&completion_key); - debug_assert!(element.is_some(), "Completion on missing connector"); - events.push(IPCEvent::Disconnect(completion_key)); - } else { - return Err(IPCQueueError::WaitError(err)); - } - } else { - // SAFETY: `GetQueueCompletionStatus()` successfully retrieved a - // completed I/O operation, all parameters have been populated. - let (number_of_bytes_transferred, completion_key) = unsafe { - ( - number_of_bytes_transferred.assume_init(), - completion_key.assume_init(), - ) - }; - - if number_of_bytes_transferred == 0 { - // This is an event on the listener - debug_assert!( - self.listener.as_raw() as IPCConnectorKey == completion_key, - "Completion event doesn't match the listener" - ); - let operation = self.listen_operation.take(); - if let Some(operation) = operation { - operation - .accept() - .map_err(|_e| IPCQueueError::RegistrationFailure(0))?; - } - let connector = Rc::new(self.listener.replace_pipe()?); - self.insert_connector(&connector); - - // After the pipe is connected the listener handle will have been - // replaced with a new one, so associate the new handle with the - // completion queue. - self.add_handle(self.listener.as_raw())?; - - events.push(IPCEvent::Connect(connector)); - } else { - let element = self - .connectors - .get_mut(&completion_key) - .expect("Event did not match a known connector"); - let operation = element - .operation - .take() - .expect("No pending receive operation"); - let buffer = &operation.collect_recv(); - let header = Header::decode(buffer)?; - let payload = element.connector.recv(header.size); - match payload { - Ok(payload) => { - events.push(IPCEvent::Message( - completion_key, - header, - payload.0, - payload.1, - )); - } - Err(_error @ IPCError::ReceptionFailure(PlatformError::BrokenPipe)) => { - // This connector will generate a disconnection event - // when `wait_for_events()` is called again. Do nothing - // for the time being. - } - Err(error) => return Err(IPCQueueError::from(error)), - } - } - } - - Ok(events) - } -} - -impl Drop for IPCQueue { - fn drop(&mut self) { - // Cancel all the pending operations. - for element in self.connectors.values_mut() { - if let Some(operation) = &mut element.operation { - if !operation.cancel() { - operation.leak(); - } - } - } - - if let Some(operation) = &mut self.listen_operation { - if !operation.cancel() { - operation.leak(); - } - } - - // Drain the queue, once no more events are left we can safely drop it. - loop { - let mut number_of_bytes_transferred: u32 = 0; - let mut completion_key: IPCConnectorKey = 0; - let mut overlapped: *mut OVERLAPPED = null_mut(); - - let res = unsafe { - GetQueuedCompletionStatus( - self.port.as_raw_handle() as HANDLE, - &mut number_of_bytes_transferred, - &mut completion_key, - &mut overlapped, - 0, - ) - }; - - // TODO: Check that we got enough completion events? - - if res == FALSE && overlapped.is_null() { - // TODO: Maybe check the error and report odd ones? - break; - } - } - } -} diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/lib.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/lib.rs index 3078c78a3b..8b08068695 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/lib.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/lib.rs @@ -11,20 +11,15 @@ mod breakpad; mod ipc_channel; mod ipc_connector; mod ipc_listener; -mod ipc_queue; mod platform; -use messages::MessageError; +use errors::MessageError; // Re-export the platform-specific types and functions pub use crate::breakpad::{BreakpadChar, BreakpadData, BreakpadRawData, Pid}; pub use crate::ipc_channel::{IPCChannel, IPCClientChannel}; -pub use crate::ipc_connector::{ - AncillaryData, IPCConnector, IPCConnectorKey, IPCEvent, RawAncillaryData, - INVALID_ANCILLARY_DATA, -}; -pub use crate::ipc_listener::{IPCListener, IPCListenerError}; -pub use crate::ipc_queue::IPCQueue; +pub use crate::ipc_connector::{AncillaryData, IPCConnector, IPCEvent, INVALID_ANCILLARY_DATA}; +pub use crate::ipc_listener::IPCListener; pub use crate::platform::ProcessHandle; #[cfg(target_os = "windows")] @@ -63,9 +58,4 @@ pub trait BreakpadString { unsafe fn from_raw(ptr: *mut BreakpadChar) -> OsString; } -/// Owned handle or file descriptor conversion to their respective raw versions -pub trait IntoRawAncillaryData { - fn into_raw(self) -> RawAncillaryData; -} - pub const IO_TIMEOUT: u16 = 2 * 1000; diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/messages.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/messages.rs index 623bbc0272..e7306c2929 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/messages.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/messages.rs @@ -7,33 +7,13 @@ use minidump_writer::minidump_writer::{AuxvType, DirectAuxvDumpInfo}; use num_derive::{FromPrimitive, ToPrimitive}; use num_traits::FromPrimitive; use std::{ - array::TryFromSliceError, - ffi::{CString, FromBytesWithNulError, NulError, OsString}, + ffi::{CString, OsString}, mem::size_of, }; -use thiserror::Error; #[cfg(target_os = "windows")] use windows_sys::Win32::System::Diagnostics::Debug::{CONTEXT, EXCEPTION_RECORD}; -use crate::{breakpad::Pid, ipc_connector::AncillaryData, BreakpadString}; - -#[derive(Debug, Error)] -pub enum MessageError { - #[error("Nul terminator found within a string")] - InteriorNul(#[from] NulError), - #[error("The message contained an invalid payload")] - InvalidData, - #[error("Message kind is invalid")] - InvalidKind, - #[error("Invalid message size")] - InvalidSize(#[from] TryFromSliceError), - #[error("Missing ancillary data")] - MissingAncillary, - #[error("Missing nul terminator")] - MissingNul(#[from] FromBytesWithNulError), - #[error("Truncated message")] - Truncated, -} +use crate::{breakpad::Pid, errors::MessageError, ipc_connector::AncillaryData, BreakpadString}; #[repr(u8)] #[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq)] @@ -77,7 +57,8 @@ pub trait Message { where Self: Sized; fn header(&self) -> Vec; - fn into_payload(self) -> (Vec, Option); + fn payload(&self) -> Vec; + fn ancillary_payload(&self) -> Option; fn decode(data: &[u8], ancillary_data: Option) -> Result where Self: Sized; @@ -145,12 +126,16 @@ impl Message for SetCrashReportPath { .encode() } - fn into_payload(self) -> (Vec, Option) { + fn payload(&self) -> Vec { let mut payload = Vec::with_capacity(self.payload_size()); let path = self.path.serialize(); payload.extend(path.len().to_ne_bytes()); payload.extend(self.path.serialize()); - (payload, None) + payload + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -199,8 +184,12 @@ impl Message for TransferMinidump { .encode() } - fn into_payload(self) -> (Vec, Option) { - (self.pid.to_ne_bytes().to_vec(), None) + fn payload(&self) -> Vec { + self.pid.to_ne_bytes().to_vec() + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -256,7 +245,7 @@ impl Message for TransferMinidumpReply { .encode() } - fn into_payload(self) -> (Vec, Option) { + fn payload(&self) -> Vec { let path_bytes = self.path.serialize(); let mut buffer = Vec::with_capacity(self.payload_size()); buffer.extend(path_bytes.len().to_ne_bytes()); @@ -273,7 +262,11 @@ impl Message for TransferMinidumpReply { .as_ref() .map_or(Vec::new(), |error| Vec::from(error.as_bytes())), ); - (buffer, None) + buffer + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -355,7 +348,7 @@ impl Message for WindowsErrorReportingMinidump { .encode() } - fn into_payload(self) -> (Vec, Option) { + fn payload(&self) -> Vec { let mut buffer = Vec::::with_capacity(self.payload_size()); buffer.extend(self.pid.to_ne_bytes()); buffer.extend(self.tid.to_ne_bytes()); @@ -367,7 +360,11 @@ impl Message for WindowsErrorReportingMinidump { } let bytes: [u8; size_of::()] = unsafe { std::mem::transmute(self.context) }; buffer.extend(bytes); - (buffer, None) + buffer + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -455,8 +452,12 @@ impl Message for WindowsErrorReportingMinidumpReply { .encode() } - fn into_payload(self) -> (Vec, Option) { - (Vec::::new(), None) + fn payload(&self) -> Vec { + Vec::::new() + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -506,7 +507,7 @@ impl Message for RegisterAuxvInfo { .encode() } - fn into_payload(self) -> (Vec, Option) { + fn payload(&self) -> Vec { let mut payload = Vec::with_capacity(self.payload_size()); payload.extend(self.pid.to_ne_bytes()); payload.extend(self.auxv_info.program_header_count.to_ne_bytes()); @@ -514,7 +515,11 @@ impl Message for RegisterAuxvInfo { payload.extend(self.auxv_info.linux_gate_address.to_ne_bytes()); payload.extend(self.auxv_info.entry_address.to_ne_bytes()); debug_assert!(self.payload_size() == payload.len()); - (payload, None) + payload + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -593,11 +598,15 @@ impl Message for UnregisterAuxvInfo { .encode() } - fn into_payload(self) -> (Vec, Option) { + fn payload(&self) -> Vec { let mut payload = Vec::with_capacity(self.payload_size()); payload.extend(self.pid.to_ne_bytes()); debug_assert!(self.payload_size() == payload.len()); - (payload, None) + payload + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( @@ -618,16 +627,7 @@ impl Message for UnregisterAuxvInfo { /* Message sent from the main process to the crash helper to register a new * child process which is about to be spawned. This message contains the IPC - * endpoint which the crash helper will use to talk to the child. - * - * Note that these processes should only contain an IPC endpoint and no actual - * data, however they declare a 1-byte sized payload which is transferred but - * ignored on the receiving size. This is a workaround to an issue with macOS - * 10.15 implementation of Unix sockets which would sometimes fail to deliver - * a message that would only contain control data and no buffer. See bug - * 1989686 for more information. This dummy payload can be removed once bug - * 2002791 is implemented. - */ + * endpoint which the crash helper will use to talk to the child. */ pub struct RegisterChildProcess { pub ipc_endpoint: AncillaryData, @@ -639,7 +639,7 @@ impl RegisterChildProcess { } fn payload_size(&self) -> usize { - 1 + 0 } } @@ -656,8 +656,12 @@ impl Message for RegisterChildProcess { .encode() } - fn into_payload(self) -> (Vec, Option) { - (vec![0], Some(self.ipc_endpoint)) + fn payload(&self) -> Vec { + Vec::::new() + } + + fn ancillary_payload(&self) -> Option { + Some(self.ipc_endpoint) } fn decode( @@ -701,8 +705,12 @@ impl Message for ChildProcessRegistered { .encode() } - fn into_payload(self) -> (Vec, Option) { - (self.crash_helper_pid.to_ne_bytes().to_vec(), None) + fn payload(&self) -> Vec { + self.crash_helper_pid.to_ne_bytes().to_vec() + } + + fn ancillary_payload(&self) -> Option { + None } fn decode( diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/platform.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/platform.rs index 4159b594bc..9a6ec1ce46 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/platform.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/platform.rs @@ -3,19 +3,19 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #[cfg(target_os = "windows")] -pub use windows::{server_addr, PlatformError, ProcessHandle}; +pub use windows::{server_addr, ProcessHandle}; #[cfg(target_os = "windows")] pub(crate) mod windows; #[cfg(any(target_os = "android", target_os = "linux"))] -pub use linux::{PlatformError, ProcessHandle}; +pub use linux::ProcessHandle; #[cfg(any(target_os = "android", target_os = "linux"))] pub(crate) mod linux; #[cfg(target_os = "macos")] -pub use macos::{PlatformError, ProcessHandle}; +pub use macos::ProcessHandle; #[cfg(target_os = "macos")] pub(crate) mod macos; diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/platform/linux.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/platform/linux.rs index 1f1c00f2bc..2b5201acf0 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/platform/linux.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/platform/linux.rs @@ -3,61 +3,35 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use nix::{ - errno::Errno, fcntl::{ fcntl, FcntlArg::{F_GETFL, F_SETFD, F_SETFL}, FdFlag, OFlag, }, sys::socket::{socketpair, AddressFamily, SockFlag, SockType}, + Result, +}; +use std::{ + os::fd::{BorrowedFd, OwnedFd}, }; -use std::os::fd::{BorrowedFd, OwnedFd}; -use thiserror::Error; pub type ProcessHandle = (); -#[derive(Error, Debug)] -pub enum PlatformError { - #[error("poll() call failed with error: {0}")] - PollFailure(Errno), - #[error("Could not set socket in non-blocking mode: {0}")] - SocketNonBlockError(Errno), - #[error("Could not flag socket as close-after-exec: {0}")] - SocketCloexecError(Errno), - #[error("Could not create a socket pair: {0}")] - SocketpairFailure(#[from] Errno), - #[error("sendmsg() call failed with error: {0}")] - SendFailure(Errno), - #[error("Sending {expected} bytes failed, only {sent} bytes sent")] - SendTooShort { expected: usize, sent: usize }, - #[error("recvmsg() call failed with error: {0}")] - ReceiveFailure(Errno), - #[error("Missing SCM credentials")] - ReceiveMissingCredentials, - #[error("Receiving {expected} bytes failed, only {received} bytes received")] - ReceiveTooShort { expected: usize, received: usize }, -} - -pub(crate) fn unix_socketpair() -> Result<(OwnedFd, OwnedFd), PlatformError> { +pub(crate) fn unix_socketpair() -> Result<(OwnedFd, OwnedFd)> { socketpair( AddressFamily::Unix, SockType::SeqPacket, None, SockFlag::empty(), ) - .map_err(PlatformError::SocketpairFailure) } -pub(crate) fn set_socket_default_flags(socket: BorrowedFd) -> Result<(), PlatformError> { +pub(crate) fn set_socket_default_flags(socket: BorrowedFd) -> Result<()> { // All our sockets are in non-blocking mode. let flags = OFlag::from_bits_retain(fcntl(socket, F_GETFL)?); - fcntl(socket, F_SETFL(flags.union(OFlag::O_NONBLOCK))) - .map(|_res| ()) - .map_err(PlatformError::SocketNonBlockError) + fcntl(socket, F_SETFL(flags.union(OFlag::O_NONBLOCK))).map(|_res| ()) } -pub(crate) fn set_socket_cloexec(socket: BorrowedFd) -> Result<(), PlatformError> { - fcntl(socket, F_SETFD(FdFlag::FD_CLOEXEC)) - .map(|_res| ()) - .map_err(PlatformError::SocketCloexecError) +pub(crate) fn set_socket_cloexec(socket: BorrowedFd) -> Result<()> { + fcntl(socket, F_SETFD(FdFlag::FD_CLOEXEC)).map(|_res| ()) } diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/platform/macos.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/platform/macos.rs index 45433f7e56..f79b82bec4 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/platform/macos.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/platform/macos.rs @@ -11,48 +11,25 @@ use nix::{ }, libc::{setsockopt, SOL_SOCKET, SO_NOSIGPIPE}, sys::socket::{socketpair, AddressFamily, SockFlag, SockType}, + Result, }; use std::{ mem::size_of, os::fd::{AsRawFd, BorrowedFd, OwnedFd}, }; -use thiserror::Error; pub type ProcessHandle = (); -#[derive(Error, Debug)] -pub enum PlatformError { - #[error("poll() call failed with error: {0}")] - PollFailure(Errno), - #[error("Could not set socket in non-blocking mode: {0}")] - SocketNonBlockError(Errno), - #[error("Could not flag socket as close-after-exec: {0}")] - SocketCloexecError(Errno), - #[error("Could not create a socket pair: {0}")] - SocketpairFailure(#[from] Errno), - #[error("sendmsg() call failed with error: {0}")] - SendFailure(Errno), - #[error("Sending {expected} bytes failed, only {sent} bytes sent")] - SendTooShort { expected: usize, sent: usize }, - #[error("recvmsg() call failed with error: {0}")] - ReceiveFailure(Errno), - #[error("Missing SCM credentials")] - ReceiveMissingCredentials, - #[error("Receiving {expected} bytes failed, only {received} bytes received")] - ReceiveTooShort { expected: usize, received: usize }, -} - -pub(crate) fn unix_socketpair() -> Result<(OwnedFd, OwnedFd), PlatformError> { +pub(crate) fn unix_socketpair() -> Result<(OwnedFd, OwnedFd)> { socketpair( AddressFamily::Unix, SockType::Stream, None, SockFlag::empty(), ) - .map_err(PlatformError::SocketpairFailure) } -pub(crate) fn set_socket_default_flags(socket: BorrowedFd) -> Result<(), PlatformError> { +pub(crate) fn set_socket_default_flags(socket: BorrowedFd) -> Result<()> { // All our sockets are in non-blocking mode. let flags = OFlag::from_bits_retain(fcntl(socket, F_GETFL)?); fcntl(socket, F_SETFL(flags.union(OFlag::O_NONBLOCK)))?; @@ -71,14 +48,12 @@ pub(crate) fn set_socket_default_flags(socket: BorrowedFd) -> Result<(), Platfor }; if res < 0 { - return Err(PlatformError::SocketNonBlockError(Errno::last())); + return Err(Errno::last()); } Ok(()) } -pub(crate) fn set_socket_cloexec(socket: BorrowedFd) -> Result<(), PlatformError> { - fcntl(socket, F_SETFD(FdFlag::FD_CLOEXEC)) - .map(|_res| ()) - .map_err(PlatformError::SocketCloexecError) +pub(crate) fn set_socket_cloexec(socket: BorrowedFd) -> Result<()> { + fcntl(socket, F_SETFD(FdFlag::FD_CLOEXEC)).map(|_res| ()) } diff --git a/icecat/toolkit/crashreporter/crash_helper_common/src/platform/windows.rs b/icecat/toolkit/crashreporter/crash_helper_common/src/platform/windows.rs index a9ec8fd548..933bdebffb 100644 --- a/icecat/toolkit/crashreporter/crash_helper_common/src/platform/windows.rs +++ b/icecat/toolkit/crashreporter/crash_helper_common/src/platform/windows.rs @@ -2,20 +2,19 @@ * 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/. */ -use crate::{Pid, IO_TIMEOUT}; +use crate::{ + errors::{IPCError, MessageError}, + Pid, IO_TIMEOUT, +}; use std::{ ffi::CString, - mem::{zeroed, MaybeUninit}, - os::windows::io::{ - AsHandle, AsRawHandle, BorrowedHandle, FromRawHandle, OwnedHandle, RawHandle, - }, + mem::zeroed, + os::windows::io::{AsRawHandle, FromRawHandle, OwnedHandle, RawHandle}, ptr::{null, null_mut}, - rc::Rc, }; -use thiserror::Error; use windows_sys::Win32::{ Foundation::{ - GetLastError, ERROR_BROKEN_PIPE, ERROR_IO_PENDING, ERROR_NOT_FOUND, ERROR_PIPE_CONNECTED, + GetLastError, ERROR_IO_INCOMPLETE, ERROR_IO_PENDING, ERROR_NOT_FOUND, ERROR_PIPE_CONNECTED, FALSE, HANDLE, WAIT_TIMEOUT, WIN32_ERROR, }, Storage::FileSystem::{ReadFile, WriteFile}, @@ -28,36 +27,6 @@ use windows_sys::Win32::{ pub type ProcessHandle = OwnedHandle; -#[derive(Error, Debug)] -pub enum PlatformError { - #[error("Could not accept incoming connection: {0}")] - AcceptFailed(WIN32_ERROR), - #[error("Broken pipe")] - BrokenPipe, - #[error("Failed to duplicate clone handle")] - CloneHandleFailed(#[source] std::io::Error), - #[error("Could not create event: {0}")] - CreateEventFailed(WIN32_ERROR), - #[error("Could not create a pipe: {0}")] - CreatePipeFailure(WIN32_ERROR), - #[error("I/O error: {0}")] - IOError(WIN32_ERROR), - #[error("No process handle specified")] - MissingProcessHandle, - #[error("Could not listen for incoming connections: {0}")] - ListenFailed(WIN32_ERROR), - #[error("Receiving {expected} bytes failed, only {received} bytes received")] - ReceiveTooShort { expected: usize, received: usize }, - #[error("Could not reset event: {0}")] - ResetEventFailed(WIN32_ERROR), - #[error("Sending {expected} bytes failed, only {sent} bytes sent")] - SendTooShort { expected: usize, sent: usize }, - #[error("Could not set event: {0}")] - SetEventFailed(WIN32_ERROR), - #[error("Value too large")] - ValueTooLarge, -} - pub(crate) fn get_last_error() -> WIN32_ERROR { // SAFETY: This is always safe to call unsafe { GetLastError() } @@ -68,7 +37,7 @@ pub fn server_addr(pid: Pid) -> CString { CString::new(format!("\\\\.\\pipe\\gecko-crash-helper-pipe.{pid:}")).unwrap() } -pub(crate) fn create_manual_reset_event() -> Result { +pub(crate) fn create_manual_reset_event() -> Result { // SAFETY: We pass null pointers for all the pointer arguments. let raw_handle = unsafe { CreateEventA( @@ -80,36 +49,27 @@ pub(crate) fn create_manual_reset_event() -> Result } as RawHandle; if raw_handle.is_null() { - return Err(PlatformError::CreateEventFailed(get_last_error())); + return Err(IPCError::System(get_last_error())); } // SAFETY: We just verified that `raw_handle` is valid. Ok(unsafe { OwnedHandle::from_raw_handle(raw_handle) }) } -fn set_event(handle: BorrowedHandle) -> Result<(), PlatformError> { +fn set_event(handle: HANDLE) -> Result<(), IPCError> { // SAFETY: This is always safe, even when passing an invalid handle. - if unsafe { SetEvent(handle.as_raw_handle() as HANDLE) } == FALSE { - Err(PlatformError::SetEventFailed(get_last_error())) + if unsafe { SetEvent(handle) } == FALSE { + Err(IPCError::System(get_last_error())) } else { Ok(()) } } -fn reset_event(handle: BorrowedHandle) -> Result<(), PlatformError> { - // SAFETY: This is always safe, even when passing an invalid handle. - if unsafe { ResetEvent(handle.as_raw_handle() as HANDLE) } == FALSE { - Err(PlatformError::ResetEventFailed(get_last_error())) - } else { - Ok(()) - } -} - -fn cancel_overlapped_io(handle: BorrowedHandle, overlapped: &OVERLAPPED) -> bool { +fn cancel_overlapped_io(handle: HANDLE, overlapped: &mut OVERLAPPED) -> bool { // SAFETY: the pointer to the overlapped structure is always valid as the // structure is passed by reference. The handle should be valid but will // be handled properly in case it isn't. - let res = unsafe { CancelIoEx(handle.as_raw_handle() as HANDLE, overlapped) }; + let res = unsafe { CancelIoEx(handle, overlapped) }; if res == FALSE { if get_last_error() == ERROR_NOT_FOUND { // There was no pending operation @@ -119,19 +79,14 @@ fn cancel_overlapped_io(handle: BorrowedHandle, overlapped: &OVERLAPPED) -> bool return false; } - if overlapped.hEvent == 0 { - // No associated event, don't wait - return true; - } - // Just wait for the operation to finish, we don't care about the result - let mut number_of_bytes_transferred = MaybeUninit::::uninit(); + let mut number_of_bytes_transferred: u32 = 0; // SAFETY: Same as above let res = unsafe { GetOverlappedResultEx( - handle.as_raw_handle() as HANDLE, + handle, overlapped, - number_of_bytes_transferred.as_mut_ptr(), + &mut number_of_bytes_transferred, INFINITE, /* bAlertable */ FALSE, ) @@ -141,7 +96,7 @@ fn cancel_overlapped_io(handle: BorrowedHandle, overlapped: &OVERLAPPED) -> bool } pub(crate) struct OverlappedOperation { - handle: Rc, + handle: OwnedHandle, overlapped: Option>, buffer: Option>, } @@ -152,9 +107,11 @@ enum OverlappedOperationType { } impl OverlappedOperation { - // Asynchronously listen for an incoming connection - pub(crate) fn listen(handle: &Rc) -> Result { - let mut overlapped = Self::overlapped(); + pub(crate) fn listen( + handle: OwnedHandle, + event: HANDLE, + ) -> Result { + let mut overlapped = Self::overlapped_with_event(event)?; // SAFETY: We guarantee that the handle and OVERLAPPED object are both // valid and remain so while used by this function. @@ -165,42 +122,47 @@ impl OverlappedOperation { if res != FALSE { // According to Microsoft's documentation this should never happen, // we check out of an abundance of caution. - return Err(PlatformError::ListenFailed(error)); + return Err(IPCError::System(error)); } - match error { - ERROR_PIPE_CONNECTED | ERROR_IO_PENDING => { - // The operations succeeded, we'll get a completion event - } - error => return Err(PlatformError::ListenFailed(error)), - }; + if error == ERROR_PIPE_CONNECTED { + // The operation completed synchronously, set the event so that + // waiting on it will return immediately. + set_event(event)?; + } else if error != ERROR_IO_PENDING { + return Err(IPCError::System(error)); + } Ok(OverlappedOperation { - handle: handle.clone(), + handle, overlapped: Some(overlapped), buffer: None, }) } - // Synchronously accept an incoming connection, does not wait and fails if - // no incoming connection is present. - pub(crate) fn accept(mut self) -> Result<(), PlatformError> { + pub(crate) fn accept(mut self, handle: HANDLE) -> Result<(), IPCError> { let overlapped = self.overlapped.take().unwrap(); - let mut number_of_bytes_transferred = MaybeUninit::::uninit(); + let mut _number_of_bytes_transferred: u32 = 0; // SAFETY: The pointer to the OVERLAPPED structure is under our // control and thus guaranteed to be valid. let res = unsafe { GetOverlappedResultEx( - self.handle.as_raw_handle() as HANDLE, + handle, overlapped.as_ref(), - number_of_bytes_transferred.as_mut_ptr(), + &mut _number_of_bytes_transferred, 0, /* bAlertable */ FALSE, ) }; if res == FALSE { - return Err(PlatformError::AcceptFailed(get_last_error())); + let error = get_last_error(); + if error == ERROR_IO_INCOMPLETE { + // The I/O operation did not complete yet + self.cancel_or_leak(overlapped, None); + } + + return Err(IPCError::System(error)); } Ok(()) @@ -209,49 +171,35 @@ impl OverlappedOperation { fn await_io( mut self, optype: OverlappedOperationType, - ) -> Result>, PlatformError> { + wait: bool, + ) -> Result>, IPCError> { let overlapped = self.overlapped.take().unwrap(); let buffer = self.buffer.take().unwrap(); - let mut number_of_bytes_transferred = MaybeUninit::::uninit(); + let mut number_of_bytes_transferred: u32 = 0; // SAFETY: All the pointers passed to this call are under our control // and thus guaranteed to be valid. let res = unsafe { GetOverlappedResultEx( self.handle.as_raw_handle() as HANDLE, overlapped.as_ref(), - number_of_bytes_transferred.as_mut_ptr(), - IO_TIMEOUT as u32, + &mut number_of_bytes_transferred, + if wait { IO_TIMEOUT as u32 } else { 0 }, /* bAlertable */ FALSE, ) }; if res == FALSE { let error = get_last_error(); - if error == WAIT_TIMEOUT { + if (wait && (error == WAIT_TIMEOUT)) || (!wait && (error == ERROR_IO_INCOMPLETE)) { // The I/O operation did not complete yet self.cancel_or_leak(overlapped, Some(buffer)); - } else if error == ERROR_BROKEN_PIPE { - return Err(PlatformError::BrokenPipe); } - return Err(PlatformError::IOError(error)); + return Err(IPCError::System(error)); } - // SAFETY: We've verified that `number_of_bytes_transferred` has been - // populated by the `GetOverlappedResultEx()` call. - let number_of_bytes_transferred = unsafe { number_of_bytes_transferred.assume_init() }; - - if number_of_bytes_transferred as usize != buffer.len() { - return Err(match optype { - OverlappedOperationType::Read => PlatformError::ReceiveTooShort { - expected: buffer.len(), - received: number_of_bytes_transferred as usize, - }, - OverlappedOperationType::Write => PlatformError::SendTooShort { - expected: buffer.len(), - sent: number_of_bytes_transferred as usize, - }, - }); + if (number_of_bytes_transferred as usize) != buffer.len() { + return Err(IPCError::BadMessage(MessageError::InvalidData)); } Ok(match optype { @@ -260,20 +208,14 @@ impl OverlappedOperation { }) } - fn sched_recv_internal( - handle: &Rc, - event: Option, + pub(crate) fn sched_recv( + handle: OwnedHandle, + event: HANDLE, expected_size: usize, - ) -> Result { - let mut overlapped = if let Some(event) = event { - OverlappedOperation::overlapped_with_event(event)? - } else { - OverlappedOperation::overlapped() - }; + ) -> Result { + let mut overlapped = Self::overlapped_with_event(event)?; let mut buffer = vec![0u8; expected_size]; - let number_of_bytes_to_read: u32 = expected_size - .try_into() - .map_err(|_e| PlatformError::ValueTooLarge)?; + let number_of_bytes_to_read: u32 = expected_size.try_into()?; // SAFETY: We control all the pointers going into this call, guarantee // that they're valid and that they will be alive for the entire // duration of the asynchronous operation. @@ -289,56 +231,31 @@ impl OverlappedOperation { let error = get_last_error(); if res != FALSE { - if let Some(event) = event { - // The operation completed synchronously, if we have an event - // set it so that waiting on it will return immediately. - set_event(event)?; - } - } else if error == ERROR_BROKEN_PIPE { - return Err(PlatformError::BrokenPipe); + // The operation completed synchronously, set the event so that + // waiting on it will return immediately. + set_event(event)?; } else if error != ERROR_IO_PENDING { - return Err(PlatformError::IOError(error)); + return Err(IPCError::System(error)); } Ok(OverlappedOperation { - handle: handle.clone(), + handle, overlapped: Some(overlapped), buffer: Some(buffer), }) } - pub(crate) fn recv( - handle: &Rc, - event: BorrowedHandle<'_>, - expected_size: usize, - ) -> Result, PlatformError> { - let overlapped = Self::sched_recv_internal(handle, Some(event), expected_size)?; - overlapped - .await_io(OverlappedOperationType::Read) - .map(|buffer| buffer.unwrap()) + pub(crate) fn collect_recv(self, wait: bool) -> Result, IPCError> { + Ok(self.await_io(OverlappedOperationType::Read, wait)?.unwrap()) } - pub(crate) fn sched_recv( - handle: &Rc, - expected_size: usize, - ) -> Result { - Self::sched_recv_internal(handle, None, expected_size) - } - - pub(crate) fn collect_recv(mut self) -> Vec { - self.buffer.take().expect("Missing receive buffer") - } - - pub(crate) fn send( - handle: &Rc, - event: BorrowedHandle<'_>, + pub(crate) fn sched_send( + handle: OwnedHandle, + event: HANDLE, mut buffer: Vec, - ) -> Result<(), PlatformError> { + ) -> Result { let mut overlapped = Self::overlapped_with_event(event)?; - let number_of_bytes_to_write: u32 = buffer - .len() - .try_into() - .map_err(|_e| PlatformError::ValueTooLarge)?; + let number_of_bytes_to_write: u32 = buffer.len().try_into()?; // SAFETY: We control all the pointers going into this call, guarantee // that they're valid and that they will be alive for the entire // duration of the asynchronous operation. @@ -357,64 +274,36 @@ impl OverlappedOperation { // The operation completed synchronously, set the event so that // waiting on it will return immediately. set_event(event)?; - } else if error == ERROR_BROKEN_PIPE { - return Err(PlatformError::BrokenPipe); } else if error != ERROR_IO_PENDING { - return Err(PlatformError::IOError(error)); + return Err(IPCError::System(error)); } - let overlapped = OverlappedOperation { - handle: handle.clone(), + Ok(OverlappedOperation { + handle, overlapped: Some(overlapped), buffer: Some(buffer), - }; - - overlapped - .await_io(OverlappedOperationType::Write) - .map(|buffer| { - debug_assert!(buffer.is_none()); - }) + }) } - fn overlapped_with_event(event: BorrowedHandle<'_>) -> Result, PlatformError> { - reset_event(event)?; + pub(crate) fn complete_send(self, wait: bool) -> Result<(), IPCError> { + self.await_io(OverlappedOperationType::Write, wait)?; + Ok(()) + } + + fn overlapped_with_event(event: HANDLE) -> Result, IPCError> { + // SAFETY: This is always safe, even when passing an invalid handle. + if unsafe { ResetEvent(event) } == FALSE { + return Err(IPCError::System(get_last_error())); + } - // We set the last bit of the `hEvent` field to prevent this overlapped - // operation from generating completion events. The event handle will - // be notified instead when it completes. Ok(Box::new(OVERLAPPED { - hEvent: event.as_raw_handle() as HANDLE | 1, + hEvent: event, ..unsafe { zeroed() } })) } - fn overlapped() -> Box { - Box::new(unsafe { zeroed() }) - } - - /// Cancel the pending operation but leave the buffers intact. It's the - /// caller's responsibility to wait for the operation to complete and free - /// the buffers. - pub(crate) fn cancel(&self) -> bool { - if let Some(overlapped) = self.overlapped.as_deref() { - return cancel_overlapped_io(self.handle.as_handle(), overlapped); - } - - true - } - - /// Leak the buffers involved in the operation. - pub(crate) fn leak(&mut self) { - if let Some(overlapped) = self.overlapped.take() { - Box::leak(overlapped); - if let Some(buffer) = self.buffer.take() { - buffer.leak(); - } - } - } - fn cancel_or_leak(&self, mut overlapped: Box, buffer: Option>) { - if !cancel_overlapped_io(self.handle.as_handle(), overlapped.as_mut()) { + if !cancel_overlapped_io(self.handle.as_raw_handle() as HANDLE, overlapped.as_mut()) { // If we cannot cancel the operation we must leak the // associated buffers so that they're available in case it // ever completes. @@ -431,10 +320,6 @@ impl Drop for OverlappedOperation { let overlapped = self.overlapped.take(); let buffer = self.buffer.take(); if let Some(overlapped) = overlapped { - if overlapped.hEvent == 0 { - return; // This operation should have already been cancelled. - } - self.cancel_or_leak(overlapped, buffer); } } diff --git a/icecat/toolkit/crashreporter/crash_helper_server/src/crash_generation.rs b/icecat/toolkit/crashreporter/crash_helper_server/src/crash_generation.rs index b7b304c3da..5e938fb06d 100644 --- a/icecat/toolkit/crashreporter/crash_helper_server/src/crash_generation.rs +++ b/icecat/toolkit/crashreporter/crash_helper_server/src/crash_generation.rs @@ -78,6 +78,7 @@ enum MinidumpOrigin { pub(crate) enum MessageResult { None, + Reply(Box), Connection(IPCConnector), } @@ -110,7 +111,6 @@ impl CrashGenerator { // reply that will be sent back to the parent. pub(crate) fn parent_message( &mut self, - client: &IPCConnector, kind: messages::Kind, data: &[u8], ancillary_data: Option, @@ -123,8 +123,9 @@ impl CrashGenerator { } messages::Kind::TransferMinidump => { let message = messages::TransferMinidump::decode(data, ancillary_data)?; - client.send_message(self.transfer_minidump(message.pid))?; - Ok(MessageResult::None) + Ok(MessageResult::Reply(Box::new( + self.transfer_minidump(message.pid), + ))) } messages::Kind::GenerateMinidump => { todo!("Implement all messages"); @@ -149,7 +150,7 @@ impl CrashGenerator { let message = messages::RegisterChildProcess::decode(data, ancillary_data)?; let connector = IPCConnector::from_ancillary(message.ipc_endpoint)?; connector - .send_message(messages::ChildProcessRegistered::new(process::id() as Pid))?; + .send_message(&messages::ChildProcessRegistered::new(process::id() as Pid))?; Ok(MessageResult::Connection(connector)) } kind => { @@ -173,7 +174,6 @@ impl CrashGenerator { // reply that will be sent back. pub(crate) fn external_message( &mut self, - #[allow(unused_variables)] runtime: &IPCConnector, kind: messages::Kind, #[allow(unused_variables)] data: &[u8], #[allow(unused_variables)] ancillary_data: Option, @@ -184,8 +184,9 @@ impl CrashGenerator { let message = messages::WindowsErrorReportingMinidump::decode(data, ancillary_data)?; let _ = self.generate_wer_minidump(message); - runtime.send_message(messages::WindowsErrorReportingMinidumpReply::new())?; - Ok(MessageResult::None) + Ok(MessageResult::Reply(Box::new( + messages::WindowsErrorReportingMinidumpReply::new(), + ))) } kind => { bail!("Unexpected message {kind:?} from external process"); diff --git a/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server.rs b/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server.rs index 1273e691b3..1f2274560f 100644 --- a/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server.rs +++ b/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server.rs @@ -3,13 +3,15 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ use anyhow::Result; -use crash_helper_common::{ - messages::Header, AncillaryData, IPCConnector, IPCConnectorKey, IPCEvent, IPCListener, IPCQueue, -}; -use std::{collections::HashMap, rc::Rc}; +use crash_helper_common::{errors::IPCError, messages, IPCConnector, IPCEvent, IPCListener}; use crate::crash_generation::{CrashGenerator, MessageResult}; +#[cfg(any(target_os = "android", target_os = "linux", target_os = "macos"))] +mod unix; +#[cfg(target_os = "windows")] +mod windows; + #[derive(PartialEq)] pub enum IPCServerState { Running, @@ -19,73 +21,61 @@ pub enum IPCServerState { #[derive(PartialEq)] enum IPCEndpoint { Parent, // A connection to the parent process - - Child, // A connection to the child process #[allow(dead_code)] + Child, // A connection to the child process External, // A connection to an external process } struct IPCConnection { - connector: Rc, + connector: IPCConnector, endpoint: IPCEndpoint, } pub(crate) struct IPCServer { - /// Platform-specific mechanism to wait for events. This will contain - /// references to the connectors so needs to be the first element in - /// the structure so that it's dropped first. - queue: IPCQueue, - connections: HashMap, + #[cfg_attr(unix, allow(dead_code))] + listener: IPCListener, + connections: Vec, } impl IPCServer { - pub(crate) fn new(listener: IPCListener, connector: IPCConnector) -> Result { - let connector = Rc::new(connector); - let mut queue = IPCQueue::new(listener)?; - queue.add_connector(&connector)?; - - let mut connections = HashMap::with_capacity(10); - connections.insert( - connector.key(), - IPCConnection { + pub(crate) fn new(listener: IPCListener, connector: IPCConnector) -> IPCServer { + IPCServer { + listener, + connections: vec![IPCConnection { connector, endpoint: IPCEndpoint::Parent, - }, - ); - - Ok(IPCServer { queue, connections }) + }], + } } - pub(crate) fn run(&mut self, generator: &mut CrashGenerator) -> Result { - let events = self.queue.wait_for_events()?; + pub(crate) fn run( + &mut self, + generator: &mut CrashGenerator, + ) -> Result { + let events = self.wait_for_events()?; - for event in events.into_iter() { + // We reverse the order of events, so that we start processing them + // from the highest indexes toward the lowest. If we did the opposite + // removed connections would invalidate the successive indexes. + for event in events.into_iter().rev() { match event { IPCEvent::Connect(connector) => { - self.connections.insert( - connector.key(), - IPCConnection { - connector, - endpoint: IPCEndpoint::External, - }, - ); + self.connections.push(IPCConnection { + connector, + endpoint: IPCEndpoint::External, + }); } - IPCEvent::Message(key, header, payload, ancillary_data) => { - if let Err(error) = - self.handle_message(key, &header, payload, ancillary_data, generator) - { + IPCEvent::Header(index, header) => { + let res = self.handle_message(index, &header, generator); + if let Err(error) = res { log::error!( - "Error {error} when handling a message of kind {:?}", + "Error {error} while handling a message of {:?} kind", header.kind ); } } - IPCEvent::Disconnect(key) => { - let connection = self - .connections - .remove(&key) - .expect("Disconnection event but no corresponding connection"); - + IPCEvent::Disconnect(index) => { + let connection = self.connections.remove(index); if connection.endpoint == IPCEndpoint::Parent { // The main process disconnected, leave return Ok(IPCServerState::ClientDisconnected); @@ -99,41 +89,34 @@ impl IPCServer { fn handle_message( &mut self, - key: IPCConnectorKey, - header: &Header, - data: Vec, - ancillary_data: Option, + index: usize, + header: &messages::Header, generator: &mut CrashGenerator, ) -> Result<()> { let connection = self .connections - .get(&key) - .expect("Event received on non-existing connection"); - let connector = &connection.connector; + .get_mut(index) + .expect("Invalid connector index"); + let connector = &mut connection.connector; + let (data, ancillary_data) = connector.recv(header.size)?; - match connection.endpoint { - IPCEndpoint::Parent => { - let res = - generator.parent_message(connector, header.kind, &data, ancillary_data)?; - if let MessageResult::Connection(connector) = res { - let connector = Rc::new(connector); - self.queue.add_connector(&connector)?; - self.connections.insert( - connector.key(), - IPCConnection { - connector, - endpoint: IPCEndpoint::Child, - }, - ); - } + let reply = match connection.endpoint { + IPCEndpoint::Parent => generator.parent_message(header.kind, &data, ancillary_data), + IPCEndpoint::Child => generator.child_message(header.kind, &data, ancillary_data), + IPCEndpoint::External => generator.external_message(header.kind, &data, ancillary_data), + }?; + + match reply { + MessageResult::Reply(reply) => connector.send_message(reply.as_ref())?, + MessageResult::Connection(connector) => { + self.connections.push(IPCConnection { + connector, + endpoint: IPCEndpoint::Child, + }); } - IPCEndpoint::Child => { - generator.child_message(header.kind, &data, ancillary_data)?; - } - IPCEndpoint::External => { - generator.external_message(connector, header.kind, &data, ancillary_data)?; - } - }; + + MessageResult::None => {} + } Ok(()) } diff --git a/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server/unix.rs b/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server/unix.rs new file mode 100644 index 0000000000..613d0ba3e4 --- /dev/null +++ b/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server/unix.rs @@ -0,0 +1,65 @@ +/* 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/. */ + +use crash_helper_common::{errors::IPCError, ignore_eintr, IPCEvent}; +use nix::poll::{poll, PollFd, PollFlags, PollTimeout}; + +use super::IPCServer; + +impl IPCServer { + pub fn wait_for_events(&mut self) -> Result, IPCError> { + let mut pollfds = Vec::with_capacity(self.connections.len()); + pollfds.extend( + self.connections.iter().map(|connection| { + PollFd::new(connection.connector.as_raw_ref(), PollFlags::POLLIN) + }), + ); + + let mut events = Vec::::new(); + let mut num_events = + ignore_eintr!(poll(&mut pollfds, PollTimeout::NONE)).map_err(IPCError::System)?; + + for (index, pollfd) in pollfds.iter().enumerate() { + // revents() returns None only if the kernel sends back data + // that nix does not understand, we can safely assume this + // never happens in practice hence the unwrap(). + let revents = pollfd.revents().unwrap(); + + if revents.contains(PollFlags::POLLHUP) { + events.push(IPCEvent::Disconnect(index)); + // If a process was disconnected then skip all further + // processing of the socket. This wouldn't matter normally, + // but on macOS calling recvmsg() on a hung-up socket seems + // to trigger a kernel panic, one we've already encountered + // in the past. Doing things this way avoids the panic + // while having no real downsides. + continue; + } + + if revents.contains(PollFlags::POLLIN) { + // SAFETY: The index is guaranteed to be >0 and within + // the bounds of the connections array. + let connection = unsafe { self.connections.get_unchecked(index) }; + let header = connection.connector.recv_header(); + if let Ok(header) = header { + // Note that if we encounter a failure we don't propagate + // it, when the socket gets disconnected we'll get a + // POLLHUP event anyway so deal with disconnections there + // instead of here. + events.push(IPCEvent::Header(index, header)); + } + } + + if !revents.is_empty() { + num_events -= 1; + + if num_events == 0 { + break; + } + } + } + + Ok(events) + } +} diff --git a/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server/windows.rs b/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server/windows.rs new file mode 100644 index 0000000000..fa0d93495c --- /dev/null +++ b/icecat/toolkit/crashreporter/crash_helper_server/src/ipc_server/windows.rs @@ -0,0 +1,96 @@ +/* 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/. */ + +use std::convert::TryInto; + +use crash_helper_common::{errors::IPCError, IPCEvent}; +use log::error; +use windows_sys::Win32::{ + Foundation::{ERROR_BROKEN_PIPE, FALSE, HANDLE, WAIT_OBJECT_0}, + System::{ + SystemServices::MAXIMUM_WAIT_OBJECTS, + Threading::{WaitForMultipleObjects, INFINITE}, + }, +}; + +use super::IPCServer; + +impl IPCServer { + pub fn wait_for_events(&mut self) -> Result, IPCError> { + for connection in self.connections.iter_mut() { + // TODO: We might get a broken pipe error here which would cause us to + // fail instead of just dropping the disconnected connection. + connection.connector.sched_recv_header()?; + } + + let native_events = self.collect_events(); + + // SAFETY: This is less than MAXIMUM_WAIT_OBJECTS + let native_events_len: u32 = unsafe { native_events.len().try_into().unwrap_unchecked() }; + + let res = unsafe { + WaitForMultipleObjects( + native_events_len, + native_events.as_ptr(), + FALSE, // bWaitAll + INFINITE, + ) + }; + + if res >= (WAIT_OBJECT_0 + native_events_len) { + return Err(IPCError::WaitingFailure(None)); + } + + let index = (res - WAIT_OBJECT_0) as usize; + + let mut events = Vec::::new(); + if index == 0 { + if let Ok(connector) = self.listener.accept() { + events.push(IPCEvent::Connect(connector)); + } + } else { + let index = index - 1; + // SAFETY: The index is guaranteed to be within the bounds of the connections array. + let connection = unsafe { self.connections.get_unchecked_mut(index) }; + let header = connection.connector.collect_header(); + + match header { + Ok(header) => { + events.push(IPCEvent::Header(index, header)); + } + Err(error) => match error { + IPCError::System(_code @ ERROR_BROKEN_PIPE) => { + events.push(IPCEvent::Disconnect(index)); + } + _ => return Err(error), + }, + } + } + + Ok(events) + } + + /// This currently returns a vector that is no longer than + /// `MAXIMUM_WAIT_OBJECTS`, so its contents can be safely passed to + /// a `WaitForMultipleObjects()` call. + fn collect_events(&self) -> Vec { + let mut events = Vec::with_capacity(1 + self.connections.len()); + + events.push(self.listener.event_raw_handle()); + for connection in self.connections.iter() { + events.push(connection.connector.event_raw_handle()); + } + + // HACK: When we hit this limit we should be splitting this list in + // multiple groups of at most MAXIMUM_WAIT_OBJECTS objects and have + // several threads wait on the groups, then wait on the threads + // themselves. + if events.len() > MAXIMUM_WAIT_OBJECTS.try_into().unwrap() { + error!("More than {MAXIMUM_WAIT_OBJECTS} processes connecting to the crash helper"); + events.truncate(MAXIMUM_WAIT_OBJECTS.try_into().unwrap()); + } + + events + } +} diff --git a/icecat/toolkit/crashreporter/crash_helper_server/src/lib.rs b/icecat/toolkit/crashreporter/crash_helper_server/src/lib.rs index 82837b6b02..7f8773e475 100644 --- a/icecat/toolkit/crashreporter/crash_helper_server/src/lib.rs +++ b/icecat/toolkit/crashreporter/crash_helper_server/src/lib.rs @@ -13,16 +13,13 @@ mod phc; #[cfg(not(target_os = "android"))] use crash_helper_common::Pid; -#[cfg(target_os = "android")] -use crash_helper_common::RawAncillaryData; use crash_helper_common::{BreakpadData, BreakpadRawData, IPCConnector, IPCListener}; -use std::{ - ffi::{c_char, CStr, OsString}, - fmt::Display, -}; +use std::ffi::{c_char, CStr, OsString}; use crash_generation::CrashGenerator; use ipc_server::{IPCServer, IPCServerState}; +#[cfg(target_os = "android")] +use std::os::fd::{FromRawFd, OwnedFd, RawFd}; /// Runs the crash generator process logic, this includes the IPC used by /// processes to signal that they crashed, the IPC used to retrieve crash @@ -55,25 +52,26 @@ pub unsafe extern "C" fn crash_generator_logic_desktop( .unwrap(); let minidump_path = OsString::from(minidump_path); let listener = unsafe { CStr::from_ptr(listener) }; - let listener = unwrap_with_message( - IPCListener::deserialize(listener, client_pid), - "Could not parse the crash generator's listener", - ); + let listener = IPCListener::deserialize(listener, client_pid) + .map_err(|error| { + log::error!("Could not parse the crash generator's listener (error: {error})"); + }) + .unwrap(); let pipe = unsafe { CStr::from_ptr(pipe) }; - let connector = unwrap_with_message( - IPCConnector::deserialize(pipe), - "Could not parse the crash generator's connector", - ); + let connector = IPCConnector::deserialize(pipe) + .map_err(|error| { + log::error!("Could not parse the crash generator's connector (error: {error})"); + }) + .unwrap(); - let crash_generator = unwrap_with_message( - CrashGenerator::new(breakpad_data, minidump_path), - "Could not create the crash generator", - ); + let crash_generator = CrashGenerator::new(breakpad_data, minidump_path) + .map_err(|error| { + log::error!("Could not create the crash generator (error: {error})"); + error + }) + .unwrap(); - let ipc_server = unwrap_with_message( - IPCServer::new(listener, connector), - "Could not create the IPC server", - ); + let ipc_server = IPCServer::new(listener, connector); main_loop(ipc_server, crash_generator) } @@ -94,7 +92,7 @@ pub unsafe extern "C" fn crash_generator_logic_desktop( pub unsafe extern "C" fn crash_generator_logic_android( breakpad_data: BreakpadRawData, minidump_path: *const c_char, - pipe: RawAncillaryData, + pipe: RawFd, ) { logging::init(); @@ -104,28 +102,25 @@ pub unsafe extern "C" fn crash_generator_logic_android( .into_string() .unwrap(); let minidump_path = OsString::from(minidump_path); + let crash_generator = CrashGenerator::new(breakpad_data, minidump_path) + .map_err(|error| { + log::error!("Could not create the crash generator (error: {error})"); + error + }) + .unwrap(); + + let listener = IPCListener::new(0).unwrap(); + let pipe = unsafe { OwnedFd::from_raw_fd(pipe) }; + let connector = IPCConnector::from_fd(pipe) + .map_err(|error| { + log::error!("Could not use the pipe (error: {error})"); + }) + .unwrap(); + let ipc_server = IPCServer::new(listener, connector); // On Android the main thread is used to respond to the intents so we // can't block it. Run the crash generation loop in a separate thread. - let _ = std::thread::spawn(move || { - let crash_generator = unwrap_with_message( - CrashGenerator::new(breakpad_data, minidump_path), - "Could not create the crash generator", - ); - - let listener = IPCListener::new(0).unwrap(); - // SAFETY: The `pipe` file descriptor passed in from the caller is - // guaranteed to be valid. - let connector = unwrap_with_message( - unsafe { IPCConnector::from_raw_ancillary(pipe) }, - "Could not use the pipe", - ); - let ipc_server = unwrap_with_message( - IPCServer::new(listener, connector), - "Could not create the IPC server", - ); - main_loop(ipc_server, crash_generator) - }); + let _ = std::thread::spawn(move || main_loop(ipc_server, crash_generator)); } fn main_loop(mut ipc_server: IPCServer, mut crash_generator: CrashGenerator) -> i32 { @@ -183,13 +178,3 @@ fn daemonize() { } } } - -fn unwrap_with_message(res: Result, error_string: &str) -> T { - match res { - Ok(value) => value, - Err(error) => { - log::error!("{error_string} (error: {error})"); - panic!("{} (error: {})", error_string, error); - } - } -} diff --git a/icecat/toolkit/crashreporter/nsExceptionHandler.cpp b/icecat/toolkit/crashreporter/nsExceptionHandler.cpp index 2aa76ef2fc..88b040c274 100644 --- a/icecat/toolkit/crashreporter/nsExceptionHandler.cpp +++ b/icecat/toolkit/crashreporter/nsExceptionHandler.cpp @@ -3345,8 +3345,7 @@ CrashPipeType GetChildNotificationPipe() { UniqueFileHandle RegisterChildIPCChannel() { StaticMutexAutoLock lock(gCrashHelperClientMutex); if (gCrashHelperClient) { - RawAncillaryData ipc_endpoint = - register_child_ipc_channel(gCrashHelperClient); + AncillaryData ipc_endpoint = register_child_ipc_channel(gCrashHelperClient); return UniqueFileHandle{ipc_endpoint}; } diff --git a/icecat/toolkit/modules/BrowserUtils.sys.mjs b/icecat/toolkit/modules/BrowserUtils.sys.mjs index 1065022709..eeacf0befb 100644 --- a/icecat/toolkit/modules/BrowserUtils.sys.mjs +++ b/icecat/toolkit/modules/BrowserUtils.sys.mjs @@ -91,10 +91,7 @@ XPCOMUtils.defineLazyPreferenceGetter( ); ChromeUtils.defineLazyGetter(lazy, "gLocalization", () => { - return new Localization( - ["toolkit/global/browser-utils.ftl", "toolkit/downloads/downloadUtils.ftl"], - true - ); + return new Localization(["toolkit/global/browser-utils.ftl"], true); }); function stringPrefToSet(prefVal) { @@ -249,36 +246,8 @@ export var BrowserUtils = { } }, - /** - * Show a URI in the UI in a user-friendly (but security-sensitive) way. - * - * @param {nsIURI} uri - * @param {object} [options={}] - * @param {boolean} [options.showInsecureHTTP=false] - * Whether to show "http://" for insecure HTTP URLs. - * @param {boolean} [options.showWWW=false] - * Whether to show "www." for URLs that have it. - * @param {boolean} [options.onlyBaseDomain=false] - * Whether to show only the base domain (eTLD+1) for HTTP(S) URLs. - * @param {boolean} [options.showFilenameForLocalURIs=false] - * If false (default), will show a protocol-specific label for local - * URIs (file:, chrome:, resource:, moz-src:, jar:). - * Otherwise, will show the filename for such URIs. Only use 'true' if - * the context in which the URI is being represented is not security- - * critical. - */ formatURIForDisplay(uri, options = {}) { - let { - showInsecureHTTP = false, - showWWW = false, - onlyBaseDomain = false, - showFilenameForLocalURIs = false, - } = options; - // For moz-icon and jar etc. which wrap nsIURLs, if we want to show the - // actual filename, unwrap: - if (uri && uri instanceof Ci.nsINestedURI && showFilenameForLocalURIs) { - return this.formatURIForDisplay(uri.innermostURI, options); - } + let { showInsecureHTTP = false } = options; switch (uri.scheme) { case "view-source": { let innerURI = uri.spec.substring("view-source:".length); @@ -288,14 +257,8 @@ export var BrowserUtils = { // Fall through. case "https": { let host = uri.displayHostPort; - let removeSubdomains = - !showInsecureHTTP && - (onlyBaseDomain || (!showWWW && host.startsWith("www."))); - if (removeSubdomains) { + if (!showInsecureHTTP && host.startsWith("www.")) { host = Services.eTLD.getSchemelessSite(uri); - if (uri.port != -1) { - host += ":" + uri.port; - } } if (showInsecureHTTP && uri.scheme == "http") { return "http://" + host; @@ -306,7 +269,7 @@ export var BrowserUtils = { return "about:" + uri.filePath; case "blob": try { - let url = URL.fromURI(uri); + let url = new URL(uri.specIgnoringRef); // _If_ we find a non-null origin, report that. if (url.origin && url.origin != "null") { return this.formatURIStringForDisplay(url.origin, options); @@ -328,22 +291,8 @@ export var BrowserUtils = { } case "chrome": case "resource": - case "moz-icon": - case "moz-src": case "jar": case "file": - if (!showFilenameForLocalURIs) { - if (uri.scheme == "file") { - return lazy.gLocalization.formatValueSync( - "download-utils-done-file-scheme" - ); - } - return lazy.gLocalization.formatValueSync( - "download-utils-done-scheme", - { scheme: uri.scheme } - ); - } - // Otherwise, fall through to show filename... default: try { let url = uri.QueryInterface(Ci.nsIURL); @@ -369,7 +318,7 @@ export var BrowserUtils = { console.error(ex); } } - return uri.spec; + return uri.asciiHost || uri.spec; }, // Given a URL returns a (possibly transformed) URL suitable for sharing, or null if diff --git a/icecat/toolkit/modules/ClipboardContextMenu.sys.mjs b/icecat/toolkit/modules/ClipboardContextMenu.sys.mjs index 080b87fecb..2175da37eb 100644 --- a/icecat/toolkit/modules/ClipboardContextMenu.sys.mjs +++ b/icecat/toolkit/modules/ClipboardContextMenu.sys.mjs @@ -164,7 +164,6 @@ export var ClipboardContextMenu = { let menupopup = aChromeDoc.createXULElement("menupopup"); menupopup.id = this.MENU_POPUP_ID; menupopup.setAttribute("tabspecific", "true"); - menupopup.setAttribute("locationspecific", "true"); menupopup.appendChild(menuitem); return menupopup; }, diff --git a/icecat/toolkit/modules/tests/xpcshell/test_BrowserUtils_urlFormatting.js b/icecat/toolkit/modules/tests/xpcshell/test_BrowserUtils_urlFormatting.js index 73712a3764..75035398f5 100644 --- a/icecat/toolkit/modules/tests/xpcshell/test_BrowserUtils_urlFormatting.js +++ b/icecat/toolkit/modules/tests/xpcshell/test_BrowserUtils_urlFormatting.js @@ -9,10 +9,7 @@ let tempFile = new FileUtils.File(PathUtils.tempDir); const TEST_LOCAL_FILE_NAME = "hello.txt"; tempFile.append(TEST_LOCAL_FILE_NAME); -const gL10n = new Localization( - ["toolkit/global/browser-utils.ftl", "toolkit/downloads/downloadUtils.ftl"], - true -); +const gL10n = new Localization(["toolkit/global/browser-utils.ftl"], true); const DATA_URL_EXPECTED_STRING = gL10n.formatValueSync( "browser-utils-url-data" ); @@ -22,10 +19,6 @@ const EXTENSION_URL_EXPECTED_STRING = gL10n.formatValueSync( { extension: EXTENSION_NAME } ); -const FILE_URL_EXPECTED_STRING = gL10n.formatValueSync( - "download-utils-done-file-scheme" -); - const { AddonTestUtils } = ChromeUtils.importESModule( "resource://testing-common/AddonTestUtils.sys.mjs" ); @@ -95,7 +88,7 @@ const HTTP_TESTS = [ output: "www.co.uk", }, - // Other subdomains should be kept: + // Other sudomains should be kept: { input: "https://webmail.example.co.uk", output: "webmail.example.co.uk", @@ -165,15 +158,6 @@ const TESTS = [ input: "data:text/html,42", output: DATA_URL_EXPECTED_STRING, }, - - { - input: `moz-icon:${Services.io.newFileURI(tempFile).spec}`, - output: tempFile.leafName, - }, - { - input: "moz-icon://.extension?size=16", - output: "moz-icon://.extension?size=16", - }, ]; add_setup(async () => { @@ -236,9 +220,7 @@ const { BrowserUtils } = ChromeUtils.importESModule( add_task(async function test_checkStringFormatting() { for (let { input, output } of TESTS) { Assert.equal( - BrowserUtils.formatURIStringForDisplay(input, { - showFilenameForLocalURIs: true, - }), + BrowserUtils.formatURIStringForDisplay(input), output, `String ${input} formatted for output should match` ); @@ -249,56 +231,13 @@ add_task(async function test_checkURIFormatting() { for (let { input, output } of TESTS) { let uri = Services.io.newURI(input); Assert.equal( - BrowserUtils.formatURIForDisplay(uri, { - showFilenameForLocalURIs: true, - }), + BrowserUtils.formatURIForDisplay(uri), output, `URI ${input} formatted for output should match` ); } }); -add_task(async function test_checkOnlyBaseDomain() { - for (let { input, output } of [ - { input: "https://subdomain.example.com/", output: "example.com" }, - { - input: "http://www.city.mikasa.hokkaido.jp/", - output: "city.mikasa.hokkaido.jp", - }, - { input: "https://www.example.co.uk/", output: "example.co.uk" }, - { - input: "mailto:example@subdomain.example.com", - output: "mailto:example@subdomain.example.com", - }, - ]) { - let uri = Services.io.newURI(input); - Assert.equal( - BrowserUtils.formatURIForDisplay(uri, { onlyBaseDomain: true }), - output, - `URI ${input} formatted for output should match` - ); - } -}); - -add_task(async function test_checkLocalFileFormatting() { - for (let { input } of TESTS) { - let uri = Services.io.newURI(input); - if ( - ["file", "chrome", "moz-icon", "resource", "jar"].includes(uri.scheme) - ) { - Assert.equal( - BrowserUtils.formatURIForDisplay(uri, { - showFilenameForLocalURIs: false, - }), - uri.scheme == "file" - ? FILE_URL_EXPECTED_STRING - : `${uri.scheme} resource`, - `URI ${input} formatted for output should match` - ); - } - } -}); - add_task(async function test_checkViewSourceFormatting() { for (let { input, output } of HTTP_TESTS) { Assert.equal( diff --git a/icecat/toolkit/mozapps/downloads/DownloadUtils.sys.mjs b/icecat/toolkit/mozapps/downloads/DownloadUtils.sys.mjs index e45912650d..aac0d380ca 100644 --- a/icecat/toolkit/mozapps/downloads/DownloadUtils.sys.mjs +++ b/icecat/toolkit/mozapps/downloads/DownloadUtils.sys.mjs @@ -3,6 +3,8 @@ * 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/. */ +import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; + /** * This module provides the DownloadUtils object which contains useful methods * for downloads such as displaying file sizes, transfer times, and download @@ -53,6 +55,14 @@ const TIME_UNITS = [ // with TIME_UNITS without the last item const TIME_SIZES = [60, 60, 24]; +const lazy = {}; +XPCOMUtils.defineLazyServiceGetter( + lazy, + "IDNService", + "@mozilla.org/network/idn-service;1", + "nsIIDNService" +); + var localeNumberFormatCache = new Map(); function getLocaleNumberFormat(fractionDigits) { if (!localeNumberFormatCache.has(fractionDigits)) { @@ -376,6 +386,82 @@ export var DownloadUtils = { return [dateTimeCompact, dateTimeFull]; }, + /** + * Get the appropriate display host string for a URI string depending on if + * the URI has an eTLD + 1, is an IP address, a local file, or other protocol + * + * @param aURIString + * The URI string to try getting an eTLD + 1, etc. + * @return A pair: [display host for the URI string, full host name] + */ + getURIHost: function DU_getURIHost(aURIString) { + // Get a URI that knows about its components + let uri = URL.parse(aURIString)?.URI; + if (!uri) { + return ["", ""]; + } + + // Get the inner-most uri for schemes like jar: + if (uri instanceof Ci.nsINestedURI) { + uri = uri.innermostURI; + } + + if (uri.schemeIs("blob")) { + let origin = URL.fromURI(uri).origin; + // Origin can be "null" for blob URIs from a sandbox. + if (origin != "null") { + // `newURI` can throw (like for null) and throwing here breaks... + // a lot of stuff. So let's avoid doing that in case there are other + // edgecases we're missing here. + try { + uri = Services.io.newURI(origin); + } catch (ex) { + console.error(ex); + } + } + } + + let fullHost; + try { + // Get the full host name; some special URIs fail (data: jar:) + fullHost = uri.host; + } catch (e) { + fullHost = ""; + } + + let displayHost; + try { + // This might fail if it's an IP address or doesn't have more than 1 part + let baseDomain = Services.eTLD.getBaseDomain(uri); + + // Convert base domain for display + displayHost = lazy.IDNService.convertToDisplayIDN(baseDomain); + } catch (e) { + // Default to the host name + displayHost = fullHost; + } + + // Check if we need to show something else for the host + if (uri.schemeIs("file")) { + // Display special text for file protocol + displayHost = l10n.formatValueSync("download-utils-done-file-scheme"); + fullHost = displayHost; + } else if (!displayHost.length) { + // Got nothing; show the scheme (data: about: moz-icon:) + displayHost = l10n.formatValueSync("download-utils-done-scheme", { + scheme: uri.scheme, + }); + fullHost = displayHost; + } else if (uri.port != -1) { + // Tack on the port if it's not the default port + let port = ":" + uri.port; + displayHost += port; + fullHost += port; + } + + return [displayHost, fullHost]; + }, + /** * Converts a number of bytes to the appropriate unit that results in an * internationalized number that needs fewer than 4 digits. diff --git a/icecat/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_blob.js b/icecat/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_blob.js index 9f5ce14748..7b3900f46f 100644 --- a/icecat/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_blob.js +++ b/icecat/toolkit/mozapps/downloads/tests/browser/browser_unknownContentType_blob.js @@ -36,7 +36,7 @@ add_task(async function test_check_blob_origin_representation() { await check_blob_origin( "data:text/html,Some Text
", "(data)", - "(data)" + "blob" ); }); diff --git a/icecat/toolkit/mozapps/downloads/tests/unit/test_DownloadUtils.js b/icecat/toolkit/mozapps/downloads/tests/unit/test_DownloadUtils.js index b3e1000e90..956601c71e 100644 --- a/icecat/toolkit/mozapps/downloads/tests/unit/test_DownloadUtils.js +++ b/icecat/toolkit/mozapps/downloads/tests/unit/test_DownloadUtils.js @@ -83,6 +83,16 @@ function testFormattedTimeStatus(aSec, aExpected) { Assert.equal(status.l10n.id, aExpected); } +function testURI(aURI, aDisp, aHost) { + dump("URI Test: " + [aURI, aDisp, aHost] + "\n"); + + let [disp, host] = DownloadUtils.getURIHost(aURI); + + // Make sure we have the right display host and full host + Assert.equal(disp, aDisp); + Assert.equal(host, aHost); +} + function testGetReadableDates(aDate, aCompactValue) { const now = new Date(2000, 11, 31, 11, 59, 59); @@ -363,5 +373,26 @@ function run_test() { testFormattedTimeStatus(0, "downloading-file-opens-in-seconds-2"); testFormattedTimeStatus(30, "downloading-file-opens-in-seconds-2"); + testURI("http://www.mozilla.org/", "mozilla.org", "www.mozilla.org"); + testURI( + "http://www.city.mikasa.hokkaido.jp/", + "city.mikasa.hokkaido.jp", + "www.city.mikasa.hokkaido.jp" + ); + testURI("data:text/html,Hello World", "data resource", "data resource"); + testURI( + "jar:http://www.mozilla.com/file!/magic", + "mozilla.com", + "www.mozilla.com" + ); + testURI("file:///C:/Cool/Stuff/", "local file", "local file"); + // Don't test for moz-icon if we don't have a protocol handler for it (e.g. b2g): + if ("@mozilla.org/network/protocol;1?name=moz-icon" in Cc) { + testURI("moz-icon:file:///test.extension", "local file", "local file"); + testURI("moz-icon://.extension", "moz-icon resource", "moz-icon resource"); + } + testURI("about:config", "about resource", "about resource"); + testURI("invalid.uri", "", ""); + testAllGetReadableDates(); } diff --git a/icecat/toolkit/system/gnome/nsAlertsIconListener.cpp b/icecat/toolkit/system/gnome/nsAlertsIconListener.cpp index eca996e18c..5ca00f92f7 100644 --- a/icecat/toolkit/system/gnome/nsAlertsIconListener.cpp +++ b/icecat/toolkit/system/gnome/nsAlertsIconListener.cpp @@ -115,11 +115,7 @@ nsAlertsIconListener::nsAlertsIconListener( mBackend(aBackend), mAlertNotification(aAlertNotification) { if (!libNotifyHandle && !libNotifyNotAvail) { -#ifdef __OpenBSD__ - libNotifyHandle = dlopen("libnotify.so", RTLD_LAZY); -#else libNotifyHandle = dlopen("libnotify.so.4", RTLD_LAZY); -#endif if (!libNotifyHandle) { libNotifyHandle = dlopen("libnotify.so.1", RTLD_LAZY); if (!libNotifyHandle) { diff --git a/icecat/tools/tryselect/test/test_fuzzy.py b/icecat/tools/tryselect/test/test_fuzzy.py index 94bd998b85..64239e6a0e 100644 --- a/icecat/tools/tryselect/test/test_fuzzy.py +++ b/icecat/tools/tryselect/test/test_fuzzy.py @@ -79,11 +79,6 @@ def test_query_paths_variants(monkeypatch, run_mach, capfd, variant): "2025-08-01", "%Y-%m-%d" ) monkeypatch.setattr(datetime, "datetime", datetime_mock) - # also patch the cache key since faking the date means we don't want to reuse another graph - monkeypatch.setattr( - "tryselect.tasks.cache_key", - lambda attr, *args: f"{attr}-test_query_paths_variants", - ) if variant: variant = "-%s" % variant diff --git a/icecat/tools/tryselect/test/test_task_configs.py b/icecat/tools/tryselect/test/test_task_configs.py index ff3dfa329a..67feba0733 100644 --- a/icecat/tools/tryselect/test/test_task_configs.py +++ b/icecat/tools/tryselect/test/test_task_configs.py @@ -67,31 +67,31 @@ TASK_CONFIG_TESTS = { "worker-overrides": [ ([], None), ( - ["--worker-override", "b-linux-gcp=worker/pool"], - {"try_task_config": {"worker-overrides": {"b-linux-gcp": "worker/pool"}}}, + ["--worker-override", "b-linux=worker/pool"], + {"try_task_config": {"worker-overrides": {"b-linux": "worker/pool"}}}, ), ( [ "--worker-override", - "b-linux-gcp=worker/pool", + "b-linux=worker/pool", "--worker-override", - "b-linux-gcp=other/pool", + "b-linux=other/pool", ], SystemExit, ), ( - ["--worker-suffix", "b-linux-gcp=-dev"], + ["--worker-suffix", "b-linux=-dev"], { "try_task_config": { - "worker-overrides": {"b-linux-gcp": "gecko-1/b-linux-dev"} + "worker-overrides": {"b-linux": "gecko-1/b-linux-dev"} } }, ), ( [ "--worker-override", - "b-linux-gcp=worker/pool" "--worker-suffix", - "b-linux-gcp=-dev", + "b-linux=worker/pool" "--worker-suffix", + "b-linux=-dev", ], SystemExit, ), diff --git a/icecat/xpcom/ds/nsTArray.h b/icecat/xpcom/ds/nsTArray.h index db507cde37..e0f156b0c3 100644 --- a/icecat/xpcom/ds/nsTArray.h +++ b/icecat/xpcom/ds/nsTArray.h @@ -996,8 +996,6 @@ struct CompareWrapper { } // namespace detail -enum class SortBoundsCheck { Enable, Disable }; - // // nsTArray_Impl contains most of the guts supporting nsTArray, FallibleTArray, // AutoTArray. @@ -2378,7 +2376,7 @@ class nsTArray_Impl // nsTArray_RelocationStrategy. // // @param aComp The Comparator used to collate elements. - template + template void Sort(const Comparator& aComp) { static_assert(std::is_move_assignable_v); static_assert(std::is_move_constructible_v); @@ -2387,20 +2385,13 @@ class nsTArray_Impl auto compFn = [&comp](const auto& left, const auto& right) { return comp.LessThan(left, right); }; - if constexpr (Check == SortBoundsCheck::Enable) { - std::sort(begin(), end(), compFn); - } else { - std::sort(Elements(), Elements() + Length(), compFn); - } + std::sort(Elements(), Elements() + Length(), compFn); ::detail::AssertStrictWeakOrder(Elements(), Elements() + Length(), compFn); } // A variation on the Sort method defined above that assumes that // 'operator<' is defined for 'value_type'. - template - void Sort() { - Sort(nsDefaultComparator()); - } + void Sort() { Sort(nsDefaultComparator()); } // This method sorts the elements of the array in a stable way (i.e. not // changing the relative order of elements considered equal by the @@ -2411,7 +2402,7 @@ class nsTArray_Impl // nsTArray_RelocationStrategy. // // @param aComp The Comparator used to collate elements. - template + template void StableSort(const Comparator& aComp) { static_assert(std::is_move_assignable_v); static_assert(std::is_move_constructible_v); @@ -2420,17 +2411,12 @@ class nsTArray_Impl auto compFn = [&comp](const auto& lhs, const auto& rhs) { return comp.LessThan(lhs, rhs); }; - if constexpr (Check == SortBoundsCheck::Enable) { - std::stable_sort(begin(), end(), compFn); - } else { - std::stable_sort(Elements(), Elements() + Length(), compFn); - } + std::stable_sort(Elements(), Elements() + Length(), compFn); ::detail::AssertStrictWeakOrder(Elements(), Elements() + Length(), compFn); } // A variation on the StableSort method defined above that assumes that // 'operator<' is defined for 'value_type'. - template void StableSort() { StableSort(nsDefaultComparator()); } diff --git a/icecat/xpcom/ds/nsTHashtable.h b/icecat/xpcom/ds/nsTHashtable.h index f37f33f1c1..cb4689e3ce 100644 --- a/icecat/xpcom/ds/nsTHashtable.h +++ b/icecat/xpcom/ds/nsTHashtable.h @@ -651,15 +651,6 @@ static void FixedSizeEntryMover(PLDHashTable*, const PLDHashEntryHdr* aFrom, memcpy(aTo, aFrom, N); } -// Helper type which wraps the access to EntryType::ALLOW_MEMMOVE. This is done -// to ensure that the MOZ_NEEDS_MEMMOVABLE_TYPE attribute is applied to the -// entry if we're going to use FixedSizeEntryMover, performing extra -// compile-time checks against the use of non-memmoveable types. -template -struct MOZ_NEEDS_MEMMOVABLE_TYPE CheckAllowMemmove : std::true_type {}; -template -struct CheckAllowMemmove : std::false_type {}; - } // namespace detail } // namespace mozilla @@ -685,9 +676,7 @@ template // function avoids that problem. static const PLDHashTableOps sOps = { s_HashKey, s_MatchEntry, - // We intentionally indirect the access of ALLOW_MEMMOVE through - // CheckAllowMemmove to perform some additional static analysis. - mozilla::detail::CheckAllowMemmove::value + EntryType::ALLOW_MEMMOVE ? mozilla::detail::FixedSizeEntryMover : s_CopyEntry, // Simplify hashtable clearing in case our entries are trivially