diff --git a/build/directive4.py b/build/directive4.py index 38465628be..650349d689 100644 --- a/build/directive4.py +++ b/build/directive4.py @@ -36,9 +36,6 @@ if ('MOZ_OFFICIAL_BRANDING' in listConfig) or (strBrandingDirectory.endswith("br 'MOZ_SYSTEM_JPEG', 'MOZ_SYSTEM_ZLIB', 'MOZ_SYSTEM_BZ2', - 'MOZ_SYSTEM_PNG', - 'MOZ_SYSTEM_LIBVPX', - 'MOZ_SYSTEM_SQLITE', 'MOZ_SYSTEM_JEMALLOC' ] diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure index a301103a36..c9154ce71f 100644 --- a/build/moz.configure/old.configure +++ b/build/moz.configure/old.configure @@ -234,7 +234,6 @@ def old_configure_options(*options): '--enable-system-cairo', '--enable-system-extension-dirs', '--enable-system-pixman', - '--enable-system-sqlite', '--enable-tasktracer', '--enable-tests', '--enable-thread-sanitizer', @@ -289,11 +288,6 @@ def old_configure_options(*options): '--with-soft-float', '--with-system-bz2', '--with-system-jpeg', - '--with-system-libevent', - '--with-system-libvpx', - '--with-system-nspr', - '--with-system-nss', - '--with-system-png', '--with-system-zlib', '--with-thumb', '--with-thumb-interwork', diff --git a/config/Makefile.in b/config/Makefile.in index 5fe0162f2d..c9cc3592c6 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -44,9 +44,7 @@ export:: $(export-preqs) -DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \ -DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \ -DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \ - -DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \ -DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \ - -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \ $(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) diff --git a/config/external/moz.build b/config/external/moz.build index fbf6da0892..321ca3a5b5 100644 --- a/config/external/moz.build +++ b/config/external/moz.build @@ -30,14 +30,12 @@ if CONFIG['MOZ_TREMOR']: if CONFIG['MOZ_WEBM_ENCODER']: external_dirs += ['media/libmkv'] -if not CONFIG['MOZ_SYSTEM_LIBVPX']: - external_dirs += ['media/libvpx'] +external_dirs += ['media/libvpx'] if CONFIG['MOZ_AV1']: external_dirs += ['media/libaom'] -if not CONFIG['MOZ_SYSTEM_PNG']: - external_dirs += ['media/libpng'] +external_dirs += ['media/libpng'] external_dirs += ['media/libwebp'] diff --git a/config/external/nss/Makefile.in b/config/external/nss/Makefile.in index eff80cd323..ddf956040c 100644 --- a/config/external/nss/Makefile.in +++ b/config/external/nss/Makefile.in @@ -119,7 +119,6 @@ DEFAULT_GMAKE_FLAGS += NSS_ENABLE_TLS_1_3=1 ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_1) DEFAULT_GMAKE_FLAGS += OS_DLLFLAGS='-static-libgcc' NSPR31_LIB_PREFIX=lib endif -ifndef MOZ_SYSTEM_SQLITE ifdef MOZ_FOLD_LIBS DEFAULT_GMAKE_FLAGS += SQLITE_LIB_NAME=nss3 else @@ -127,7 +126,6 @@ DEFAULT_GMAKE_FLAGS += SQLITE_LIB_NAME=mozsqlite3 DEFAULT_GMAKE_FLAGS += SQLITE_LIB_DIR=$(ABS_DIST)/../config/external/sqlite endif # MOZ_FOLD_LIBS DEFAULT_GMAKE_FLAGS += SQLITE_INCLUDE_DIR=$(ABS_DIST)/include -endif ifdef NSS_DISABLE_DBM DEFAULT_GMAKE_FLAGS += NSS_DISABLE_DBM=1 endif diff --git a/config/external/sqlite/moz.build b/config/external/sqlite/moz.build index 76908d902f..31f8e34382 100644 --- a/config/external/sqlite/moz.build +++ b/config/external/sqlite/moz.build @@ -4,19 +4,15 @@ # 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/. -if CONFIG['MOZ_SYSTEM_SQLITE']: +DIRS += ['../../../db/sqlite3/src'] +if CONFIG['MOZ_FOLD_LIBS']: Library('sqlite') - OS_LIBS += CONFIG['SQLITE_LIBS'] + # When folding libraries, sqlite is actually in the nss library. + USE_LIBS += [ + 'nss', + ] else: - DIRS += ['../../../db/sqlite3/src'] - if CONFIG['MOZ_FOLD_LIBS']: - Library('sqlite') - # When folding libraries, sqlite is actually in the nss library. - USE_LIBS += [ - 'nss', - ] - else: - SharedLibrary('sqlite') - SHARED_LIBRARY_NAME = 'mozsqlite3' + SharedLibrary('sqlite') + SHARED_LIBRARY_NAME = 'mozsqlite3' - SYMBOLS_FILE = '/db/sqlite3/src/sqlite.symbols' + SYMBOLS_FILE = '/db/sqlite3/src/sqlite.symbols' diff --git a/config/system-headers b/config/system-headers index a2d3b813d7..3685d6d1c3 100644 --- a/config/system-headers +++ b/config/system-headers @@ -1253,9 +1253,6 @@ soundtouch/SoundTouchFactory.h #if MOZ_LIBAV_FFT==1 libavcodec/avfft.h #endif -#if MOZ_SYSTEM_PNG==1 -png.h -#endif #if MOZ_SYSTEM_ZLIB==1 zlib.h #endif @@ -1291,15 +1288,6 @@ QtSparql/qsparqlresult.h #if MOZ_TREE_PIXMAN!=1 pixman.h #endif -#if MOZ_SYSTEM_LIBVPX==1 -vpx/svc_context.h -vpx/vpx_codec.h -vpx/vpx_decoder.h -vpx/vpx_encoder.h -vpx/vp8cx.h -vpx/vp8dx.h -vpx_mem/vpx_mem.h -#endif gst/gst.h gst/app/gstappsink.h gst/app/gstappsrc.h diff --git a/docs/UXP Coding Style.md b/docs/UXP Coding Style.md index 83f59c8b1f..75cbc8051b 100644 --- a/docs/UXP Coding Style.md +++ b/docs/UXP Coding Style.md @@ -11,9 +11,9 @@ Our own managed and maintained code should adhere to this guide where possible o ## General formatting rules The following formatting rules apply to all code: - Always use spaces for indentation, never use tabs! -- Put a space between a keyword and parenthesis, e.g. `if (`. +- Put a space between a keyword and parenthesis, e.g. `if (`. Do _not_ put a space between a function/type-assignment name and its parenthesis, e.g. `function(somevar)` or `int32_t(somevar)`. - Put a space between variables and operators, e.g. `a == b`. -- Put a space after a comma or semicolon in variable lists, e.g. `function (a, b, c)` or `for (i = 1; i < 10; i++)`. +- Put a space after a comma or semicolon in variable lists, e.g. `function(a, b, c)` or `for (i = 1; i < 10; i++)`. - Indentation of scopes is 2 spaces. - Indentation of long lines is variable-aligned or expression-aligned (see "long line wrapping") - Conditional defines are always placed on column 1. This is also true for nested defines. @@ -236,4 +236,4 @@ ExMSw4MzQ2MjYwNDksLTE5MDMyNzE5OTYsLTEwMTIwMjc3ODMs LTE4MzgzODM5MDIsODA5MjEzNTEyLC01Mzg0MjM4MDAsMzgyNj I3NDYzLDIwODYwMjIwODUsLTE1MjU5MjE2MjIsLTY1OTMzMTA0 MCwtNzQwOTE5MDQ1LDE4Njc1NTQxNDJdfQ== ---> \ No newline at end of file +--> diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index fdf151b6c4..1433f32571 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp @@ -40,7 +40,6 @@ #include "mozilla/dom/FlyWebPublishedServer.h" #include "mozilla/dom/FlyWebService.h" #include "mozilla/dom/Permissions.h" -#include "mozilla/dom/Presentation.h" #include "mozilla/dom/ServiceWorkerContainer.h" #include "mozilla/dom/StorageManager.h" #include "mozilla/dom/TCPSocket.h" @@ -67,8 +66,6 @@ #include "nsIAppsService.h" #include "mozIApplication.h" #include "WidgetUtils.h" -#include "nsIPresentationService.h" - #include "mozilla/dom/MediaDevices.h" #include "MediaManager.h" @@ -218,7 +215,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(Navigator) #ifdef MOZ_EME NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMediaKeySystemAccessManager) #endif - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPresentation) #ifdef MOZ_GAMEPAD NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mGamepadServiceTest) #endif @@ -284,10 +280,6 @@ Navigator::Invalidate() mTimeManager = nullptr; } - if (mPresentation) { - mPresentation = nullptr; - } - mServiceWorkerContainer = nullptr; #ifdef MOZ_EME @@ -1931,19 +1923,5 @@ Navigator::RequestMediaKeySystemAccess(const nsAString& aKeySystem, } #endif -Presentation* -Navigator::GetPresentation(ErrorResult& aRv) -{ - if (!mPresentation) { - if (!mWindow) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - mPresentation = Presentation::Create(mWindow); - } - - return mPresentation; -} - } // namespace dom } // namespace mozilla diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h index 91b7fc15ce..c681797fb6 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h @@ -74,7 +74,6 @@ class Connection; } // namespace network class PowerManager; -class Presentation; class LegacyMozTCPSocket; class StorageManager; @@ -210,8 +209,6 @@ public: system::AudioChannelManager* GetMozAudioChannelManager(ErrorResult& aRv); #endif // MOZ_AUDIO_CHANNEL_MANAGER - Presentation* GetPresentation(ErrorResult& aRv); - bool SendBeacon(const nsAString& aUrl, const Nullable& aData, ErrorResult& aRv); @@ -288,7 +285,6 @@ private: RefPtr mTimeManager; RefPtr mServiceWorkerContainer; nsCOMPtr mWindow; - RefPtr mPresentation; #ifdef MOZ_GAMEPAD RefPtr mGamepadServiceTest; #endif diff --git a/dom/base/nsAttrValue.cpp b/dom/base/nsAttrValue.cpp index ebddcb7edf..2418fb5011 100644 --- a/dom/base/nsAttrValue.cpp +++ b/dom/base/nsAttrValue.cpp @@ -1526,6 +1526,40 @@ nsAttrValue::ParseIntWithFallback(const nsAString& aString, int32_t aDefault, SetIntValueAndType(val, eInteger, nonStrict ? &aString : nullptr); } +void +nsAttrValue::ParseClampedNonNegativeInt(const nsAString& aString, + int32_t aDefault, int32_t aMin, + int32_t aMax) +{ + ResetIfSet(); + + nsContentUtils::ParseHTMLIntegerResultFlags result; + int32_t val = nsContentUtils::ParseHTMLInteger(aString, &result); + bool nonStrict = (result & nsContentUtils::eParseHTMLInteger_IsPercent) || + (result & nsContentUtils::eParseHTMLInteger_NonStandard) || + (result & nsContentUtils::eParseHTMLInteger_DidNotConsumeAllInput); + + if (result & nsContentUtils::eParseHTMLInteger_ErrorOverflow) { + if (result & nsContentUtils::eParseHTMLInteger_Negative) { + val = aDefault; + } else { + val = aMax; + } + nonStrict = true; + } else if ((result & nsContentUtils::eParseHTMLInteger_Error) || val < 0) { + val = aDefault; + nonStrict = true; + } else if (val < aMin) { + val = aMin; + nonStrict = true; + } else if (val > aMax) { + val = aMax; + nonStrict = true; + } + + SetIntValueAndType(val, eInteger, nonStrict ? &aString : nullptr); +} + bool nsAttrValue::ParseNonNegativeIntValue(const nsAString& aString) { diff --git a/dom/base/nsAttrValue.h b/dom/base/nsAttrValue.h index 655e4ca619..23f61a614a 100644 --- a/dom/base/nsAttrValue.h +++ b/dom/base/nsAttrValue.h @@ -362,6 +362,19 @@ public: */ bool ParseNonNegativeIntValue(const nsAString& aString); + /** + * Parse a string value into a clamped non-negative integer. + * This method follows the rules for parsing non-negative integer from: + * https://html.spec.whatwg.org/multipage/infrastructure.html#clamped-to-the-range + * + * @param aString the string to parse + * @param aDefault value to return for negative or invalid values + * @param aMin minimum value + * @param aMax maximum value + */ + void ParseClampedNonNegativeInt(const nsAString& aString, int32_t aDefault, + int32_t aMin, int32_t aMax); + /** * Parse a string value into a positive integer. * This method follows the rules for parsing non-negative integer from: diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index b6cbbbacef..4f7b71b193 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -1088,6 +1088,7 @@ nsContentUtils::ParseHTMLInteger(const nsAString& aValue, int sign = 1; if (*iter == char16_t('-')) { sign = -1; + result |= eParseHTMLInteger_Negative; ++iter; } else if (*iter == char16_t('+')) { result |= eParseHTMLInteger_NonStandard; diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h index bf6a59dcd9..64f7485cbb 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -445,7 +445,9 @@ public: // Set if one or more error flags were set. eParseHTMLInteger_Error = 1 << 3, eParseHTMLInteger_ErrorNoValue = 1 << 4, - eParseHTMLInteger_ErrorOverflow = 1 << 5 + eParseHTMLInteger_ErrorOverflow = 1 << 5, + // Use this flag to detect the difference between overflow and underflow + eParseHTMLInteger_Negative = 1 << 6, }; static int32_t ParseHTMLInteger(const nsAString& aValue, ParseHTMLIntegerResultFlags *aResult); diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index f3ef20bfc7..bc63eab512 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -1871,6 +1871,20 @@ nsresult HTMLMediaElement::LoadResource() // Set the media element's CORS mode only when loading a resource mCORSMode = AttrValueToCORSMode(GetParsedAttr(nsGkAtoms::crossorigin)); +#ifdef MOZ_EME + bool isBlob = false; + if (mMediaKeys && + Preferences::GetBool("media.eme.mse-only", true) && + // We only want mediaSource URLs, but they are BlobURL, so we have to + // check the schema and abort if they are not MediaStream or real Blob. + (NS_FAILED(mLoadingSrc->SchemeIs(BLOBURI_SCHEME, &isBlob)) || + !isBlob || + IsMediaStreamURI(mLoadingSrc) || + IsBlobURI(mLoadingSrc))) { + return NS_ERROR_DOM_NOT_SUPPORTED_ERR; + } +#endif + HTMLMediaElement* other = LookupMediaElementURITable(mLoadingSrc); if (other && other->mDecoder) { // Clone it. @@ -4000,7 +4014,6 @@ nsresult HTMLMediaElement::FinishDecoderSetup(MediaDecoder* aDecoder, return NS_ERROR_FAILURE; } } -#endif MediaEventSource* waitingForKeyProducer = mDecoder->WaitingForKeyEvent(); // Not every decoder will produce waitingForKey events, only add ones that can @@ -4008,6 +4021,7 @@ nsresult HTMLMediaElement::FinishDecoderSetup(MediaDecoder* aDecoder, mWaitingForKeyListener = waitingForKeyProducer->Connect( AbstractThread::MainThread(), this, &HTMLMediaElement::CannotDecryptWaitingForKey); } +#endif if (mChannelLoader) { mChannelLoader->Done(); @@ -6476,7 +6490,6 @@ HTMLMediaElement::GetTopLevelPrincipal() principal = doc->NodePrincipal(); return principal.forget(); } -#endif //MOZ_EME void HTMLMediaElement::CannotDecryptWaitingForKey() @@ -6495,6 +6508,7 @@ HTMLMediaElement::CannotDecryptWaitingForKey() UpdateReadyStateInternal(); } } +#endif //MOZ_EME NS_IMETHODIMP HTMLMediaElement::WindowAudioCaptureChanged(bool aCapture) { diff --git a/dom/html/HTMLTableCellElement.cpp b/dom/html/HTMLTableCellElement.cpp index d00d604003..1cf413413c 100644 --- a/dom/html/HTMLTableCellElement.cpp +++ b/dom/html/HTMLTableCellElement.cpp @@ -390,26 +390,16 @@ HTMLTableCellElement::ParseAttribute(int32_t aNamespaceID, return aResult.ParseIntWithBounds(aValue, 0); } if (aAttribute == nsGkAtoms::colspan) { - bool res = aResult.ParseIntWithBounds(aValue, -1); - if (res) { - int32_t val = aResult.GetIntegerValue(); - // reset large colspan values as IE and opera do - if (val > MAX_COLSPAN || val <= 0) { - aResult.SetTo(1, &aValue); - } - } - return res; + aResult.ParseClampedNonNegativeInt(aValue, 1, 1, MAX_COLSPAN); + return true; } if (aAttribute == nsGkAtoms::rowspan) { - bool res = aResult.ParseIntWithBounds(aValue, -1, MAX_ROWSPAN); - if (res) { - int32_t val = aResult.GetIntegerValue(); - // quirks mode does not honor the special html 4 value of 0 - if (val < 0 || (0 == val && InNavQuirksMode(OwnerDoc()))) { + aResult.ParseClampedNonNegativeInt(aValue, 1, 0, MAX_ROWSPAN); + // quirks mode does not honor the special html 4 value of 0 + if (aResult.GetIntegerValue() == 0 && InNavQuirksMode(OwnerDoc())) { aResult.SetTo(1, &aValue); - } } - return res; + return true; } if (aAttribute == nsGkAtoms::height) { return aResult.ParseSpecialIntValue(aValue); diff --git a/dom/html/HTMLTableCellElement.h b/dom/html/HTMLTableCellElement.h index 916333510f..ab7a918eb9 100644 --- a/dom/html/HTMLTableCellElement.h +++ b/dom/html/HTMLTableCellElement.h @@ -37,7 +37,7 @@ public: } void SetColSpan(uint32_t aColSpan, ErrorResult& aError) { - SetHTMLIntAttr(nsGkAtoms::colspan, aColSpan, aError); + SetUnsignedIntAttr(nsGkAtoms::colspan, aColSpan, 1, aError); } uint32_t RowSpan() const { @@ -45,7 +45,7 @@ public: } void SetRowSpan(uint32_t aRowSpan, ErrorResult& aError) { - SetHTMLIntAttr(nsGkAtoms::rowspan, aRowSpan, aError); + SetUnsignedIntAttr(nsGkAtoms::rowspan, aRowSpan, 1, aError); } //already_AddRefed Headers() const; void GetHeaders(DOMString& aHeaders) diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp index fdf0fcf3eb..41856eef8e 100644 --- a/dom/ipc/ContentChild.cpp +++ b/dom/ipc/ContentChild.cpp @@ -150,8 +150,6 @@ #endif #include "mozilla/dom/File.h" -#include "mozilla/dom/PPresentationChild.h" -#include "mozilla/dom/PresentationIPCService.h" #include "mozilla/ipc/InputStreamUtils.h" #ifdef MOZ_WEBSPEECH @@ -1417,20 +1415,6 @@ ContentChild::SendPBlobConstructor(PBlobChild* aActor, return PContentChild::SendPBlobConstructor(aActor, aParams); } -PPresentationChild* -ContentChild::AllocPPresentationChild() -{ - MOZ_CRASH("We should never be manually allocating PPresentationChild actors"); - return nullptr; -} - -bool -ContentChild::DeallocPPresentationChild(PPresentationChild* aActor) -{ - delete aActor; - return true; -} - PFlyWebPublishedServerChild* ContentChild::AllocPFlyWebPublishedServerChild(const nsString& name, const FlyWebPublishOptions& params) @@ -1447,35 +1431,6 @@ ContentChild::DeallocPFlyWebPublishedServerChild(PFlyWebPublishedServerChild* aA return true; } -bool -ContentChild::RecvNotifyPresentationReceiverLaunched(PBrowserChild* aIframe, - const nsString& aSessionId) -{ - nsCOMPtr docShell = - do_GetInterface(static_cast(aIframe)->WebNavigation()); - NS_WARNING_ASSERTION(docShell, "WebNavigation failed"); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - NS_WARNING_ASSERTION(service, "presentation service is missing"); - - Unused << NS_WARN_IF(NS_FAILED(static_cast(service.get())->MonitorResponderLoading(aSessionId, docShell))); - - return true; -} - -bool -ContentChild::RecvNotifyPresentationReceiverCleanUp(const nsString& aSessionId) -{ - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - NS_WARNING_ASSERTION(service, "presentation service is missing"); - - Unused << NS_WARN_IF(NS_FAILED(service->UntrackSessionInfo(aSessionId, nsIPresentationService::ROLE_RECEIVER))); - - return true; -} - bool ContentChild::RecvNotifyEmptyHTTPCache() { diff --git a/dom/ipc/ContentChild.h b/dom/ipc/ContentChild.h index 4c8f15cc05..403328a212 100644 --- a/dom/ipc/ContentChild.h +++ b/dom/ipc/ContentChild.h @@ -297,23 +297,12 @@ public: virtual bool DeallocPStorageChild(PStorageChild* aActor) override; - virtual PPresentationChild* AllocPPresentationChild() override; - - virtual bool DeallocPPresentationChild(PPresentationChild* aActor) override; - virtual PFlyWebPublishedServerChild* AllocPFlyWebPublishedServerChild(const nsString& name, const FlyWebPublishOptions& params) override; virtual bool DeallocPFlyWebPublishedServerChild(PFlyWebPublishedServerChild* aActor) override; - virtual bool - RecvNotifyPresentationReceiverLaunched(PBrowserChild* aIframe, - const nsString& aSessionId) override; - - virtual bool - RecvNotifyPresentationReceiverCleanUp(const nsString& aSessionId) override; - virtual bool RecvNotifyEmptyHTTPCache() override; virtual PSpeechSynthesisChild* AllocPSpeechSynthesisChild() override; diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 79446151c9..c32c9abaf6 100644 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -51,8 +51,6 @@ #include "mozilla/dom/ServiceWorkerRegistrar.h" #include "mozilla/dom/power/PowerManagerService.h" #include "mozilla/dom/Permissions.h" -#include "mozilla/dom/PresentationParent.h" -#include "mozilla/dom/PPresentationParent.h" #include "mozilla/dom/PushNotifier.h" #include "mozilla/dom/FlyWebPublishedServerIPC.h" #include "mozilla/dom/quota/QuotaManagerService.h" @@ -3123,27 +3121,6 @@ ContentParent::DeallocPStorageParent(PStorageParent* aActor) return true; } -PPresentationParent* -ContentParent::AllocPPresentationParent() -{ - RefPtr actor = new PresentationParent(); - return actor.forget().take(); -} - -bool -ContentParent::DeallocPPresentationParent(PPresentationParent* aActor) -{ - RefPtr actor = - dont_AddRef(static_cast(aActor)); - return true; -} - -bool -ContentParent::RecvPPresentationConstructor(PPresentationParent* aActor) -{ - return static_cast(aActor)->Init(mChildID); -} - PFlyWebPublishedServerParent* ContentParent::AllocPFlyWebPublishedServerParent(const nsString& name, const FlyWebPublishOptions& params) diff --git a/dom/ipc/ContentParent.h b/dom/ipc/ContentParent.h index 26b5c44acc..a4ddb9c64c 100644 --- a/dom/ipc/ContentParent.h +++ b/dom/ipc/ContentParent.h @@ -800,12 +800,6 @@ private: virtual bool DeallocPStorageParent(PStorageParent* aActor) override; - virtual PPresentationParent* AllocPPresentationParent() override; - - virtual bool DeallocPPresentationParent(PPresentationParent* aActor) override; - - virtual bool RecvPPresentationConstructor(PPresentationParent* aActor) override; - virtual PFlyWebPublishedServerParent* AllocPFlyWebPublishedServerParent(const nsString& name, const FlyWebPublishOptions& params) override; diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl index e8fb25aecc..9ed8363d70 100644 --- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -43,7 +43,6 @@ include protocol PJavaScript; include protocol PRemoteSpellcheckEngine; include protocol PWebBrowserPersistDocument; include protocol PWebrtcGlobal; -include protocol PPresentation; include protocol PVideoDecoderManager; include protocol PFlyWebPublishedServer; include DOMTypes; @@ -260,7 +259,6 @@ nested(upto inside_cpow) sync protocol PContent manages PRemoteSpellcheckEngine; manages PWebBrowserPersistDocument; manages PWebrtcGlobal; - manages PPresentation; manages PFlyWebPublishedServer; both: @@ -480,18 +478,6 @@ child: */ async UpdateWindow(uintptr_t aChildId); - /** - * Notify the child that presentation receiver has been launched with the - * correspondent iframe. - */ - async NotifyPresentationReceiverLaunched(PBrowser aIframe, nsString aSessionId); - - /** - * Notify the child that the info about a presentation receiver needs to be - * cleaned up. - */ - async NotifyPresentationReceiverCleanUp(nsString aSessionId); - /** * Notify the child that cache is emptied. */ @@ -682,8 +668,6 @@ parent: async PWebrtcGlobal(); - async PPresentation(); - async PFlyWebPublishedServer(nsString name, FlyWebPublishOptions params); // Services remoting diff --git a/dom/media/AbstractMediaDecoder.h b/dom/media/AbstractMediaDecoder.h index a0f04ec988..6babcce171 100644 --- a/dom/media/AbstractMediaDecoder.h +++ b/dom/media/AbstractMediaDecoder.h @@ -31,7 +31,9 @@ class MediaResource; class ReentrantMonitor; class VideoFrameContainer; class MediaDecoderOwner; +#ifdef MOZ_EME class CDMProxy; +#endif typedef nsDataHashtable MetadataTags; diff --git a/dom/media/MediaDecoder.cpp b/dom/media/MediaDecoder.cpp index 223c59c3b6..0cce91ccb7 100644 --- a/dom/media/MediaDecoder.cpp +++ b/dom/media/MediaDecoder.cpp @@ -387,7 +387,9 @@ MediaDecoder::MediaDecoder(MediaDecoderOwner* aOwner) , mLogicalPosition(0.0) , mDuration(std::numeric_limits::quiet_NaN()) , mResourceCallback(new ResourceCallback()) +#ifdef MOZ_EME , mCDMProxyPromise(mCDMProxyPromiseHolder.Ensure(__func__)) +#endif , mIgnoreProgressData(false) , mInfiniteStream(false) , mOwner(aOwner) @@ -472,7 +474,9 @@ MediaDecoder::Shutdown() mResourceCallback->Disconnect(); +#ifdef MOZ_EME mCDMProxyPromiseHolder.RejectIfExists(true, __func__); +#endif DiscardOngoingSeekIfExists(); @@ -1537,6 +1541,7 @@ MediaDecoder::CanPlayThrough() return GetStatistics().CanPlayThrough(); } +#ifdef MOZ_EME RefPtr MediaDecoder::RequestCDMProxy() const { @@ -1551,6 +1556,7 @@ MediaDecoder::SetCDMProxy(CDMProxy* aProxy) mCDMProxyPromiseHolder.ResolveIfExists(aProxy, __func__); } +#endif bool MediaDecoder::IsOpusEnabled() diff --git a/dom/media/MediaDecoder.h b/dom/media/MediaDecoder.h index 05e88db8bf..2985524335 100644 --- a/dom/media/MediaDecoder.h +++ b/dom/media/MediaDecoder.h @@ -8,7 +8,11 @@ #define MediaDecoder_h_ #include "mozilla/Atomics.h" + +#ifdef MOZ_EME #include "mozilla/CDMProxy.h" +#endif + #include "mozilla/MozPromise.h" #include "mozilla/ReentrantMonitor.h" #include "mozilla/StateMirroring.h" @@ -432,6 +436,7 @@ private: MediaDecoderOwner* GetOwner() const override; +#ifdef MOZ_EME typedef MozPromise, bool /* aIgnored */, /* IsExclusive = */ true> CDMProxyPromise; // Resolved when a CDMProxy is available and the capabilities are known or @@ -439,6 +444,7 @@ private: RefPtr RequestCDMProxy() const; void SetCDMProxy(CDMProxy* aProxy); +#endif static bool IsOggEnabled(); static bool IsOpusEnabled(); @@ -589,8 +595,10 @@ private: RefPtr mResourceCallback; +#ifdef MOZ_EME MozPromiseHolder mCDMProxyPromiseHolder; RefPtr mCDMProxyPromise; +#endif protected: // The promise resolving/rejection is queued as a "micro-task" which will be diff --git a/dom/media/MediaDecoderReader.h b/dom/media/MediaDecoderReader.h index 8a69978264..f53c74689f 100644 --- a/dom/media/MediaDecoderReader.h +++ b/dom/media/MediaDecoderReader.h @@ -24,7 +24,9 @@ namespace mozilla { +#ifdef MOZ_EME class CDMProxy; +#endif class MediaDecoderReader; struct WaitForDataRejectValue @@ -186,7 +188,9 @@ public: // when to call SetIdle(). virtual void SetIdle() {} +#ifdef MOZ_EME virtual void SetCDMProxy(CDMProxy* aProxy) {} +#endif // Tell the reader that the data decoded are not for direct playback, so it // can accept more files, in particular those which have more channels than diff --git a/dom/media/MediaDecoderReaderWrapper.h b/dom/media/MediaDecoderReaderWrapper.h index 92001ca333..1a8d3a68c7 100644 --- a/dom/media/MediaDecoderReaderWrapper.h +++ b/dom/media/MediaDecoderReaderWrapper.h @@ -113,7 +113,9 @@ public: return mReader->CanonicalBuffered(); } +#ifdef MOZ_EME void SetCDMProxy(CDMProxy* aProxy) { mReader->SetCDMProxy(aProxy); } +#endif void SetVideoBlankDecode(bool aIsBlankDecode); diff --git a/dom/media/MediaDecoderStateMachine.cpp b/dom/media/MediaDecoderStateMachine.cpp index 2ed1956c92..63222c22cc 100644 --- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -1238,7 +1238,12 @@ DecodeMetadataState::OnMetadataRead(MetadataHolder* aMetadata) // feeding in the CDM, which we need to decode the first frame (and // thus get the metadata). We could fix this if we could compute the start // time by demuxing without necessaring decoding. - bool waitingForCDM = Info().IsEncrypted() && !mMaster->mCDMProxy; + bool waitingForCDM = +#ifdef MOZ_EME + mMaster->Info().IsEncrypted() && !mMaster->mCDMProxy; +#else + false; +#endif mMaster->mNotifyMetadataBeforeFirstFrame = mMaster->mDuration.Ref().isSome() || waitingForCDM; @@ -1262,7 +1267,9 @@ DormantState::HandlePlayStateChanged(MediaDecoder::PlayState aPlayState) { if (aPlayState == MediaDecoder::PLAY_STATE_PLAYING) { // Exit dormant when the user wants to play. +#ifdef MOZ_EME MOZ_ASSERT(!Info().IsEncrypted() || mMaster->mCDMProxy); +#endif MOZ_ASSERT(mMaster->mSentFirstFrameLoadedEvent); SetState(Move(mPendingSeek), EventVisibility::Suppressed); } @@ -1575,7 +1582,9 @@ ShutdownState::Enter() // dispose of the timer. master->mVideoDecodeSuspendTimer.Reset(); +#ifdef MOZ_EME master->mCDMProxyPromise.DisconnectIfExists(); +#endif if (master->IsPlaying()) { master->StopPlayback(); @@ -2129,10 +2138,12 @@ nsresult MediaDecoderStateMachine::Init(MediaDecoder* aDecoder) mMediaSink = CreateMediaSink(mAudioCaptured); +#ifdef MOZ_EME mCDMProxyPromise.Begin(aDecoder->RequestCDMProxy()->Then( OwnerThread(), __func__, this, &MediaDecoderStateMachine::OnCDMProxyReady, &MediaDecoderStateMachine::OnCDMProxyNotReady)); +#endif nsresult rv = mReader->Init(); NS_ENSURE_SUCCESS(rv, rv); @@ -3108,6 +3119,7 @@ void MediaDecoderStateMachine::OnMediaSinkAudioError(nsresult aResult) DecodeError(MediaResult(NS_ERROR_DOM_MEDIA_MEDIASINK_ERR, __func__)); } +#ifdef MOZ_EME void MediaDecoderStateMachine::OnCDMProxyReady(RefPtr aProxy) { @@ -3124,6 +3136,7 @@ MediaDecoderStateMachine::OnCDMProxyNotReady() MOZ_ASSERT(OnTaskQueue()); mCDMProxyPromise.Complete(); } +#endif void MediaDecoderStateMachine::SetAudioCaptured(bool aCaptured) diff --git a/dom/media/MediaDecoderStateMachine.h b/dom/media/MediaDecoderStateMachine.h index ff3258ff1f..f04f34983b 100644 --- a/dom/media/MediaDecoderStateMachine.h +++ b/dom/media/MediaDecoderStateMachine.h @@ -768,10 +768,12 @@ private: // Playback will not start when audio is offloading. bool mAudioOffloading; +#ifdef MOZ_EME void OnCDMProxyReady(RefPtr aProxy); void OnCDMProxyNotReady(); RefPtr mCDMProxy; MozPromiseRequestHolder mCDMProxyPromise; +#endif private: // The buffered range. Mirrored from the decoder thread. diff --git a/dom/media/MediaFormatReader.cpp b/dom/media/MediaFormatReader.cpp index 773434710e..396f31e37f 100644 --- a/dom/media/MediaFormatReader.cpp +++ b/dom/media/MediaFormatReader.cpp @@ -4,7 +4,10 @@ * 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/. */ +#ifdef MOZ_EME #include "mozilla/CDMProxy.h" +#endif + #include "mozilla/ClearOnShutdown.h" #include "mozilla/dom/HTMLMediaElement.h" #include "mozilla/Preferences.h" @@ -611,7 +614,6 @@ private: nsTArray mInitData; nsString mInitDataType; }; -#endif void MediaFormatReader::SetCDMProxy(CDMProxy* aProxy) @@ -624,6 +626,7 @@ MediaFormatReader::SetCDMProxy(CDMProxy* aProxy) }); OwnerThread()->Dispatch(r.forget()); } +#endif // MOZ_EME bool MediaFormatReader::IsWaitingOnCDMResource() { diff --git a/dom/media/MediaFormatReader.h b/dom/media/MediaFormatReader.h index 4d05ca201c..be0b7cd174 100644 --- a/dom/media/MediaFormatReader.h +++ b/dom/media/MediaFormatReader.h @@ -20,7 +20,9 @@ namespace mozilla { +#ifdef MOZ_EME class CDMProxy; +#endif class MediaFormatReader final : public MediaDecoderReader { @@ -91,7 +93,9 @@ public: return mTrackDemuxersMayBlock; } +#ifdef MOZ_EME void SetCDMProxy(CDMProxy* aProxy) override; +#endif // Returns a string describing the state of the decoder data. // Used for debugging purposes. @@ -584,7 +588,9 @@ private: RefPtr mVideoFrameContainer; layers::ImageContainer* GetImageContainer(); +#ifdef MOZ_EME RefPtr mCDMProxy; +#endif RefPtr mCrashHelper; diff --git a/dom/media/PeerConnection.js b/dom/media/PeerConnection.js index 0569b15aeb..df36ae83ce 100644 --- a/dom/media/PeerConnection.js +++ b/dom/media/PeerConnection.js @@ -13,8 +13,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "PeerConnectionIdp", "resource://gre/modules/media/PeerConnectionIdp.jsm"); XPCOMUtils.defineLazyModuleGetter(this, "convertToRTCStatsReport", "resource://gre/modules/media/RTCStatsReport.jsm"); -XPCOMUtils.defineLazyModuleGetter(this, "AppConstants", - "resource://gre/modules/AppConstants.jsm"); const PC_CONTRACT = "@mozilla.org/dom/peerconnection;1"; const PC_OBS_CONTRACT = "@mozilla.org/dom/peerconnectionobserver;1"; diff --git a/dom/media/fmp4/MP4Decoder.cpp b/dom/media/fmp4/MP4Decoder.cpp index b293c251b1..bf937241c3 100644 --- a/dom/media/fmp4/MP4Decoder.cpp +++ b/dom/media/fmp4/MP4Decoder.cpp @@ -10,7 +10,9 @@ #include "MP4Demuxer.h" #include "mozilla/Preferences.h" #include "nsCharSeparatedTokenizer.h" +#ifdef MOZ_EME #include "mozilla/CDMProxy.h" +#endif #include "mozilla/Logging.h" #include "mozilla/SharedThreadPool.h" #include "nsMimeTypes.h" diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp index 14b06cc726..fa6f2f4c83 100644 --- a/dom/media/gmp/GMPChild.cpp +++ b/dom/media/gmp/GMPChild.cpp @@ -22,7 +22,9 @@ #include "GMPUtils.h" #include "prio.h" #include "base/task.h" +#ifdef MOZ_EME #include "widevine-adapter/WidevineAdapter.h" +#endif using namespace mozilla::ipc; @@ -254,9 +256,13 @@ GMPChild::AnswerStartPlugin(const nsString& aAdapter) return false; } +#ifdef MOZ_EME bool isWidevine = aAdapter.EqualsLiteral("widevine"); GMPAdapter* adapter = (isWidevine) ? new WidevineAdapter() : nullptr; +#else + GMPAdapter* adapter = nullptr; +#endif if (!mGMPLoader->Load(libPath.get(), libPath.Length(), mNodeId.BeginWriting(), diff --git a/dom/media/gmp/GMPDecryptorParent.cpp b/dom/media/gmp/GMPDecryptorParent.cpp index 1f8b9a7a8e..4f54021605 100644 --- a/dom/media/gmp/GMPDecryptorParent.cpp +++ b/dom/media/gmp/GMPDecryptorParent.cpp @@ -43,11 +43,13 @@ GMPDecryptorParent::~GMPDecryptorParent() bool GMPDecryptorParent::RecvSetDecryptorId(const uint32_t& aId) { +#ifdef MOZ_EME if (!mIsOpen) { NS_WARNING("Trying to use a dead GMP decrypter!"); return false; } mCallback->SetDecryptorId(aId); +#endif return true; } @@ -202,6 +204,7 @@ bool GMPDecryptorParent::RecvSetSessionId(const uint32_t& aCreateSessionId, const nsCString& aSessionId) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvSetSessionId(token=%u, sessionId='%s')", this, aCreateSessionId, aSessionId.get())); @@ -210,6 +213,7 @@ GMPDecryptorParent::RecvSetSessionId(const uint32_t& aCreateSessionId, return false; } mCallback->SetSessionId(aCreateSessionId, aSessionId); +#endif return true; } @@ -217,6 +221,7 @@ bool GMPDecryptorParent::RecvResolveLoadSessionPromise(const uint32_t& aPromiseId, const bool& aSuccess) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvResolveLoadSessionPromise(promiseId=%u)", this, aPromiseId)); @@ -225,12 +230,14 @@ GMPDecryptorParent::RecvResolveLoadSessionPromise(const uint32_t& aPromiseId, return false; } mCallback->ResolveLoadSessionPromise(aPromiseId, aSuccess); +#endif return true; } bool GMPDecryptorParent::RecvResolvePromise(const uint32_t& aPromiseId) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvResolvePromise(promiseId=%u)", this, aPromiseId)); @@ -239,6 +246,7 @@ GMPDecryptorParent::RecvResolvePromise(const uint32_t& aPromiseId) return false; } mCallback->ResolvePromise(aPromiseId); +#endif return true; } @@ -266,6 +274,7 @@ GMPDecryptorParent::RecvRejectPromise(const uint32_t& aPromiseId, const GMPDOMException& aException, const nsCString& aMessage) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvRejectPromise(promiseId=%u, exception=%d, msg='%s')", this, aPromiseId, aException, aMessage.get())); @@ -274,10 +283,11 @@ GMPDecryptorParent::RecvRejectPromise(const uint32_t& aPromiseId, return false; } mCallback->RejectPromise(aPromiseId, GMPExToNsresult(aException), aMessage); +#endif return true; } - +#ifdef MOZ_EME static dom::MediaKeyMessageType ToMediaKeyMessageType(GMPSessionMessageType aMessageType) { switch (aMessageType) { @@ -288,12 +298,14 @@ ToMediaKeyMessageType(GMPSessionMessageType aMessageType) { default: return dom::MediaKeyMessageType::License_request; }; }; +#endif bool GMPDecryptorParent::RecvSessionMessage(const nsCString& aSessionId, const GMPSessionMessageType& aMessageType, nsTArray&& aMessage) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvSessionMessage(sessionId='%s', type=%d, msg='%s')", this, aSessionId.get(), aMessageType, ToBase64(aMessage).get())); @@ -302,6 +314,7 @@ GMPDecryptorParent::RecvSessionMessage(const nsCString& aSessionId, return false; } mCallback->SessionMessage(aSessionId, ToMediaKeyMessageType(aMessageType), aMessage); +#endif return true; } @@ -309,6 +322,7 @@ bool GMPDecryptorParent::RecvExpirationChange(const nsCString& aSessionId, const double& aExpiryTime) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvExpirationChange(sessionId='%s', expiry=%lf)", this, aSessionId.get(), aExpiryTime)); @@ -317,12 +331,14 @@ GMPDecryptorParent::RecvExpirationChange(const nsCString& aSessionId, return false; } mCallback->ExpirationChange(aSessionId, aExpiryTime); +#endif return true; } bool GMPDecryptorParent::RecvSessionClosed(const nsCString& aSessionId) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvSessionClosed(sessionId='%s')", this, aSessionId.get())); @@ -331,6 +347,7 @@ GMPDecryptorParent::RecvSessionClosed(const nsCString& aSessionId) return false; } mCallback->SessionClosed(aSessionId); +#endif return true; } @@ -340,6 +357,7 @@ GMPDecryptorParent::RecvSessionError(const nsCString& aSessionId, const uint32_t& aSystemCode, const nsCString& aMessage) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvSessionError(sessionId='%s', exception=%d, sysCode=%d, msg='%s')", this, aSessionId.get(), aException, aSystemCode, aMessage.get())); @@ -352,9 +370,11 @@ GMPDecryptorParent::RecvSessionError(const nsCString& aSessionId, GMPExToNsresult(aException), aSystemCode, aMessage); +#endif return true; } +#ifdef MOZ_EME static dom::MediaKeyStatus ToMediaKeyStatus(GMPMediaKeyStatus aStatus) { switch (aStatus) { @@ -368,11 +388,13 @@ ToMediaKeyStatus(GMPMediaKeyStatus aStatus) { default: return dom::MediaKeyStatus::Internal_error; } } +#endif bool GMPDecryptorParent::RecvBatchedKeyStatusChanged(const nsCString& aSessionId, InfallibleTArray&& aKeyInfos) { +#ifdef MOZ_EME LOGD(("GMPDecryptorParent[%p]::RecvBatchedKeyStatusChanged(sessionId='%s', KeyInfos len='%d')", this, aSessionId.get(), aKeyInfos.Length())); @@ -392,9 +414,11 @@ GMPDecryptorParent::RecvBatchedKeyStatusChanged(const nsCString& aSessionId, } mCallback->BatchedKeyStatusChanged(aSessionId, cdmKeyInfos); } +#endif return true; } +#ifdef MOZ_EME DecryptStatus ToDecryptStatus(GMPErr aError) { @@ -405,12 +429,14 @@ ToDecryptStatus(GMPErr aError) default: return GenericErr; } } +#endif bool GMPDecryptorParent::RecvDecrypted(const uint32_t& aId, const GMPErr& aErr, InfallibleTArray&& aBuffer) { +#ifdef MOZ_EME LOGV(("GMPDecryptorParent[%p]::RecvDecrypted(id=%d, err=%d)", this, aId, aErr)); @@ -419,6 +445,7 @@ GMPDecryptorParent::RecvDecrypted(const uint32_t& aId, return false; } mCallback->Decrypted(aId, ToDecryptStatus(aErr), aBuffer); +#endif return true; } diff --git a/dom/media/gmp/GMPDecryptorProxy.h b/dom/media/gmp/GMPDecryptorProxy.h index 0ef31fd92d..ed16755f89 100644 --- a/dom/media/gmp/GMPDecryptorProxy.h +++ b/dom/media/gmp/GMPDecryptorProxy.h @@ -6,7 +6,9 @@ #ifndef GMPDecryptorProxy_h_ #define GMPDecryptorProxy_h_ +#ifdef MOZ_EME #include "mozilla/DecryptorProxyCallback.h" +#endif #include "GMPCallbackBase.h" #include "gmp-decryption.h" #include "nsString.h" @@ -15,8 +17,13 @@ namespace mozilla { class CryptoSample; } // namespace mozilla +#ifdef MOZ_EME class GMPDecryptorProxyCallback : public DecryptorProxyCallback, public GMPCallbackBase { +#else +class GMPDecryptorProxyCallback : public GMPCallbackBase { +#endif + public: virtual ~GMPDecryptorProxyCallback() {} }; diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp index 418f147361..12e7499b59 100644 --- a/dom/media/gmp/GMPParent.cpp +++ b/dom/media/gmp/GMPParent.cpp @@ -30,8 +30,10 @@ using mozilla::ipc::GeckoChildProcessHost; #include "WMFDecoderModule.h" #endif +#ifdef MOZ_EME #include "mozilla/dom/WidevineCDMManifestBinding.h" #include "widevine-adapter/WidevineAdapter.h" +#endif namespace mozilla { @@ -654,6 +656,7 @@ GMPParent::ReadGMPMetaData() return ReadGMPInfoFile(infoFile); } +#ifdef MOZ_EME // Maybe this is the Widevine adapted plugin? nsCOMPtr manifestFile; rv = mDirectory->Clone(getter_AddRefs(manifestFile)); @@ -662,6 +665,9 @@ GMPParent::ReadGMPMetaData() } manifestFile->AppendRelativePath(NS_LITERAL_STRING("manifest.json")); return ReadChromiumManifestFile(manifestFile); +#else + return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__); +#endif } RefPtr @@ -764,6 +770,7 @@ GMPParent::ReadChromiumManifestFile(nsIFile* aFile) RefPtr GMPParent::ParseChromiumManifest(nsString aJSON) { +#ifdef MOZ_EME LOGD("%s: for '%s'", __FUNCTION__, NS_LossyConvertUTF16toASCII(aJSON).get()); MOZ_ASSERT(NS_IsMainThread()); @@ -801,6 +808,10 @@ GMPParent::ParseChromiumManifest(nsString aJSON) #endif return GenericPromise::CreateAndResolve(true, __func__); +#else // !MOZ_EME + MOZ_ASSERT_UNREACHABLE("don't call me if EME isn't enabled"); + return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__); +#endif // !MOZ_EME } bool diff --git a/dom/media/gmp/moz.build b/dom/media/gmp/moz.build index 3b67fb5c91..79de6e1d96 100644 --- a/dom/media/gmp/moz.build +++ b/dom/media/gmp/moz.build @@ -35,8 +35,6 @@ EXPORTS += [ 'GMPAudioDecoderProxy.h', 'GMPAudioHost.h', 'GMPCallbackBase.h', - 'GMPCDMCallbackProxy.h', - 'GMPCDMProxy.h', 'GMPChild.h', 'GMPContentChild.h', 'GMPContentParent.h', @@ -73,6 +71,12 @@ EXPORTS += [ 'GMPVideoPlaneImpl.h', ] +if CONFIG['MOZ_EME']: + EXPORTS += [ + 'GMPCDMCallbackProxy.h', + 'GMPCDMProxy.h', + ] + # We link GMPLoader into xul on B2G/Fennec as its code does not need to be # covered by a DRM vendor's voucher. if CONFIG['OS_TARGET'] == 'Android': @@ -87,8 +91,6 @@ UNIFIED_SOURCES += [ 'GMPAudioDecoderChild.cpp', 'GMPAudioDecoderParent.cpp', 'GMPAudioHost.cpp', - 'GMPCDMCallbackProxy.cpp', - 'GMPCDMProxy.cpp', 'GMPChild.cpp', 'GMPContentChild.cpp', 'GMPContentParent.cpp', @@ -120,10 +122,16 @@ UNIFIED_SOURCES += [ 'GMPVideoPlaneImpl.cpp', ] -DIRS += [ - 'rlz', - 'widevine-adapter', -] +if CONFIG['MOZ_EME']: + UNIFIED_SOURCES += [ + 'GMPCDMCallbackProxy.cpp', + 'GMPCDMProxy.cpp', + ] + +DIRS += ['rlz'] + +if CONFIG['MOZ_EME']: + DIRS += ['widevine-adapter'] IPDL_SOURCES += [ 'GMPTypes.ipdlh', diff --git a/dom/media/gtest/moz.build b/dom/media/gtest/moz.build index a7ea738073..ae059962c8 100644 --- a/dom/media/gtest/moz.build +++ b/dom/media/gtest/moz.build @@ -28,6 +28,11 @@ UNIFIED_SOURCES += [ 'TestWebMBuffered.cpp', ] +if CONFIG['MOZ_EME']: + UNIFIED_SOURCES += [ + 'TestEME.cpp', + ] + if CONFIG['MOZ_WEBM_ENCODER']: UNIFIED_SOURCES += [ 'TestVideoTrackEncoder.cpp', diff --git a/dom/media/mediasource/TrackBuffersManager.cpp b/dom/media/mediasource/TrackBuffersManager.cpp index 21fb158b58..9a2d00ad8d 100644 --- a/dom/media/mediasource/TrackBuffersManager.cpp +++ b/dom/media/mediasource/TrackBuffersManager.cpp @@ -84,7 +84,7 @@ private: nsTArray mInitData; nsString mInitDataType; }; -#endif +#endif // MOZ_EME TrackBuffersManager::TrackBuffersManager(MediaSourceDecoder* aParentDecoder, const nsACString& aType) diff --git a/dom/media/moz.build b/dom/media/moz.build index df8cb619dc..41267a6ef4 100644 --- a/dom/media/moz.build +++ b/dom/media/moz.build @@ -20,7 +20,6 @@ with Files('GetUserMedia*'): BUG_COMPONENT = component_av DIRS += [ - 'eme', 'encoder', 'flac', 'gmp', @@ -49,6 +48,9 @@ if CONFIG['MOZ_FMP4']: if CONFIG['MOZ_WEBRTC']: DIRS += ['bridge'] +if CONFIG['MOZ_EME']: + DIRS += ['eme'] + TEST_DIRS += [ 'gtest', ] diff --git a/dom/media/platforms/PDMFactory.cpp b/dom/media/platforms/PDMFactory.cpp index 2680964f70..cf6f1dd45a 100644 --- a/dom/media/platforms/PDMFactory.cpp +++ b/dom/media/platforms/PDMFactory.cpp @@ -24,7 +24,6 @@ #endif #include "GMPDecoderModule.h" -#include "mozilla/CDMProxy.h" #include "mozilla/ClearOnShutdown.h" #include "mozilla/SharedThreadPool.h" #include "mozilla/StaticPtr.h" @@ -37,7 +36,11 @@ #include "H264Converter.h" #include "AgnosticDecoderModule.h" + +#ifdef MOZ_EME +#include "mozilla/CDMProxy.h" #include "EMEDecoderModule.h" +#endif #include "DecoderDoctorDiagnostics.h" @@ -463,11 +466,13 @@ PDMFactory::GetDecoder(const TrackInfo& aTrackInfo, return pdm.forget(); } +#ifdef MOZ_EME void PDMFactory::SetCDMProxy(CDMProxy* aProxy) { RefPtr m = new PDMFactory(); mEMEPDM = new EMEDecoderModule(aProxy, m); } +#endif } // namespace mozilla diff --git a/dom/media/platforms/PDMFactory.h b/dom/media/platforms/PDMFactory.h index 94be7e9283..2b43fa1ab8 100644 --- a/dom/media/platforms/PDMFactory.h +++ b/dom/media/platforms/PDMFactory.h @@ -11,7 +11,9 @@ #include "mozilla/Function.h" #include "mozilla/StaticMutex.h" +#ifdef MOZ_EME class CDMProxy; +#endif namespace mozilla { @@ -38,12 +40,14 @@ public: bool Supports(const TrackInfo& aTrackInfo, DecoderDoctorDiagnostics* aDiagnostics) const; +#ifdef MOZ_EME // Creates a PlatformDecoderModule that uses a CDMProxy to decrypt or // decrypt-and-decode EME encrypted content. If the CDM only decrypts and // does not decode, we create a PDM and use that to create MediaDataDecoders // that we use on on aTaskQueue to decode the decrypted stream. // This is called on the decode task queue. void SetCDMProxy(CDMProxy* aProxy); +#endif static constexpr int kYUV400 = 0; static constexpr int kYUV420 = 1; diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build index f5fb72c5de..c46d52e3f4 100644 --- a/dom/media/platforms/moz.build +++ b/dom/media/platforms/moz.build @@ -30,11 +30,13 @@ UNIFIED_SOURCES += [ ] DIRS += [ - 'agnostic/eme', 'agnostic/gmp', 'omx' ] +if CONFIG['MOZ_EME']: + DIRS += ['agnostic/eme'] + if CONFIG['MOZ_WMF']: DIRS += [ 'wmf' ]; diff --git a/dom/moz.build b/dom/moz.build index 54dc0510e7..731c9af722 100644 --- a/dom/moz.build +++ b/dom/moz.build @@ -107,8 +107,6 @@ if CONFIG['OS_ARCH'] == 'WINNT': if CONFIG['MOZ_SECUREELEMENT']: DIRS += ['secureelement'] -DIRS += ['presentation'] - TEST_DIRS += [ 'tests', 'imptests', diff --git a/dom/presentation/AvailabilityCollection.cpp b/dom/presentation/AvailabilityCollection.cpp deleted file mode 100644 index 73752c7505..0000000000 --- a/dom/presentation/AvailabilityCollection.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "AvailabilityCollection.h" - -#include "mozilla/ClearOnShutdown.h" -#include "PresentationAvailability.h" - -namespace mozilla { -namespace dom { - -/* static */ -StaticAutoPtr -AvailabilityCollection::sSingleton; -static bool gOnceAliveNowDead = false; - -/* static */ AvailabilityCollection* -AvailabilityCollection::GetSingleton() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!sSingleton && !gOnceAliveNowDead) { - sSingleton = new AvailabilityCollection(); - ClearOnShutdown(&sSingleton); - } - - return sSingleton; -} - -AvailabilityCollection::AvailabilityCollection() -{ - MOZ_COUNT_CTOR(AvailabilityCollection); -} - -AvailabilityCollection::~AvailabilityCollection() -{ - MOZ_COUNT_DTOR(AvailabilityCollection); - gOnceAliveNowDead = true; -} - -void -AvailabilityCollection::Add(PresentationAvailability* aAvailability) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!aAvailability) { - return; - } - - WeakPtr availability = aAvailability; - if (mAvailabilities.Contains(aAvailability)) { - return; - } - - mAvailabilities.AppendElement(aAvailability); -} - -void -AvailabilityCollection::Remove(PresentationAvailability* aAvailability) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!aAvailability) { - return; - } - - WeakPtr availability = aAvailability; - mAvailabilities.RemoveElement(availability); -} - -already_AddRefed -AvailabilityCollection::Find(const uint64_t aWindowId, const nsTArray& aUrls) -{ - MOZ_ASSERT(NS_IsMainThread()); - - // Loop backwards to allow removing elements in the loop. - for (int i = mAvailabilities.Length() - 1; i >= 0; --i) { - WeakPtr availability = mAvailabilities[i]; - if (!availability) { - // The availability object was destroyed. Remove it from the list. - mAvailabilities.RemoveElementAt(i); - continue; - } - - if (availability->Equals(aWindowId, aUrls)) { - RefPtr matchedAvailability = availability.get(); - return matchedAvailability.forget(); - } - } - - - return nullptr; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/AvailabilityCollection.h b/dom/presentation/AvailabilityCollection.h deleted file mode 100644 index d2faae4c29..0000000000 --- a/dom/presentation/AvailabilityCollection.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_AvailabilityCollection_h -#define mozilla_dom_AvailabilityCollection_h - -#include "mozilla/StaticPtr.h" -#include "mozilla/WeakPtr.h" -#include "nsString.h" -#include "nsTArray.h" - -namespace mozilla { -namespace dom { - -class PresentationAvailability; - -class AvailabilityCollection final -{ -public: - static AvailabilityCollection* GetSingleton(); - - void Add(PresentationAvailability* aAvailability); - - void Remove(PresentationAvailability* aAvailability); - - already_AddRefed - Find(const uint64_t aWindowId, const nsTArray& aUrls); - -private: - friend class StaticAutoPtr; - - AvailabilityCollection(); - virtual ~AvailabilityCollection(); - - static StaticAutoPtr sSingleton; - nsTArray> mAvailabilities; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_AvailabilityCollection_h diff --git a/dom/presentation/ControllerConnectionCollection.cpp b/dom/presentation/ControllerConnectionCollection.cpp deleted file mode 100644 index 7d3ffe6845..0000000000 --- a/dom/presentation/ControllerConnectionCollection.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "ControllerConnectionCollection.h" - -#include "mozilla/ClearOnShutdown.h" -#include "nsIPresentationService.h" -#include "PresentationConnection.h" - -namespace mozilla { -namespace dom { - -/* static */ -StaticAutoPtr -ControllerConnectionCollection::sSingleton; - -/* static */ ControllerConnectionCollection* -ControllerConnectionCollection::GetSingleton() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!sSingleton) { - sSingleton = new ControllerConnectionCollection(); - ClearOnShutdown(&sSingleton); - } - - return sSingleton; -} - -ControllerConnectionCollection::ControllerConnectionCollection() -{ - MOZ_COUNT_CTOR(ControllerConnectionCollection); -} - -ControllerConnectionCollection::~ControllerConnectionCollection() -{ - MOZ_COUNT_DTOR(ControllerConnectionCollection); -} - -void -ControllerConnectionCollection::AddConnection( - PresentationConnection* aConnection, - const uint8_t aRole) -{ - MOZ_ASSERT(NS_IsMainThread()); - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "This is allowed only to be called at controller side."); - return; - } - - if (!aConnection) { - return; - } - - WeakPtr connection = aConnection; - if (mConnections.Contains(connection)) { - return; - } - - mConnections.AppendElement(connection); -} - -void -ControllerConnectionCollection::RemoveConnection( - PresentationConnection* aConnection, - const uint8_t aRole) -{ - MOZ_ASSERT(NS_IsMainThread()); - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "This is allowed only to be called at controller side."); - return; - } - - if (!aConnection) { - return; - } - - WeakPtr connection = aConnection; - mConnections.RemoveElement(connection); -} - -already_AddRefed -ControllerConnectionCollection::FindConnection( - uint64_t aWindowId, - const nsAString& aId, - const uint8_t aRole) -{ - MOZ_ASSERT(NS_IsMainThread()); - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "This is allowed only to be called at controller side."); - return nullptr; - } - - // Loop backwards to allow removing elements in the loop. - for (int i = mConnections.Length() - 1; i >= 0; --i) { - WeakPtr connection = mConnections[i]; - if (!connection) { - // The connection was destroyed. Remove it from the list. - mConnections.RemoveElementAt(i); - continue; - } - - if (connection->Equals(aWindowId, aId)) { - RefPtr matchedConnection = connection.get(); - return matchedConnection.forget(); - } - } - - return nullptr; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ControllerConnectionCollection.h b/dom/presentation/ControllerConnectionCollection.h deleted file mode 100644 index c5300fe309..0000000000 --- a/dom/presentation/ControllerConnectionCollection.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_ControllerConnectionCollection_h -#define mozilla_dom_ControllerConnectionCollection_h - -#include "mozilla/StaticPtr.h" -#include "mozilla/WeakPtr.h" -#include "nsString.h" -#include "nsTArray.h" - -namespace mozilla { -namespace dom { - -class PresentationConnection; - -class ControllerConnectionCollection final -{ -public: - static ControllerConnectionCollection* GetSingleton(); - - void AddConnection(PresentationConnection* aConnection, - const uint8_t aRole); - - void RemoveConnection(PresentationConnection* aConnection, - const uint8_t aRole); - - already_AddRefed - FindConnection(uint64_t aWindowId, - const nsAString& aId, - const uint8_t aRole); - -private: - friend class StaticAutoPtr; - - ControllerConnectionCollection(); - virtual ~ControllerConnectionCollection(); - - static StaticAutoPtr sSingleton; - nsTArray> mConnections; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_ControllerConnectionCollection_h diff --git a/dom/presentation/DCPresentationChannelDescription.cpp b/dom/presentation/DCPresentationChannelDescription.cpp deleted file mode 100644 index a904dfe3f4..0000000000 --- a/dom/presentation/DCPresentationChannelDescription.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DCPresentationChannelDescription.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(DCPresentationChannelDescription, - nsIPresentationChannelDescription) - -NS_IMETHODIMP -DCPresentationChannelDescription::GetType(uint8_t* aRetVal) -{ - if (NS_WARN_IF(!aRetVal)) { - return NS_ERROR_INVALID_POINTER; - } - - *aRetVal = nsIPresentationChannelDescription::TYPE_DATACHANNEL; - return NS_OK; -} - -NS_IMETHODIMP -DCPresentationChannelDescription::GetTcpAddress(nsIArray** aRetVal) -{ - return NS_ERROR_FAILURE; -} - -NS_IMETHODIMP -DCPresentationChannelDescription::GetTcpPort(uint16_t* aRetVal) -{ - return NS_ERROR_FAILURE; -} - -NS_IMETHODIMP -DCPresentationChannelDescription::GetDataChannelSDP(nsAString& aDataChannelSDP) -{ - aDataChannelSDP = mSDP; - return NS_OK; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/DCPresentationChannelDescription.h b/dom/presentation/DCPresentationChannelDescription.h deleted file mode 100644 index 63a058f9a9..0000000000 --- a/dom/presentation/DCPresentationChannelDescription.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_DCPresentationChannelDescription_h -#define mozilla_dom_DCPresentationChannelDescription_h - -#include "nsIPresentationControlChannel.h" -#include "nsString.h" - -namespace mozilla { -namespace dom { - -// PresentationChannelDescription for Data Channel -class DCPresentationChannelDescription final : public nsIPresentationChannelDescription -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONCHANNELDESCRIPTION - - explicit DCPresentationChannelDescription(const nsAString& aSDP) - : mSDP(aSDP) - { - } - -private: - virtual ~DCPresentationChannelDescription() = default; - - nsString mSDP; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_DCPresentationChannelDescription_h diff --git a/dom/presentation/Presentation.cpp b/dom/presentation/Presentation.cpp deleted file mode 100644 index 07ca12f26d..0000000000 --- a/dom/presentation/Presentation.cpp +++ /dev/null @@ -1,182 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "Presentation.h" - -#include - -#include "mozilla/dom/PresentationBinding.h" -#include "mozilla/dom/Promise.h" -#include "nsContentUtils.h" -#include "nsCycleCollectionParticipant.h" -#include "nsIDocShell.h" -#include "nsIPresentationService.h" -#include "nsIScriptSecurityManager.h" -#include "nsJSUtils.h" -#include "nsNetUtil.h" -#include "nsPIDOMWindow.h" -#include "nsSandboxFlags.h" -#include "nsServiceManagerUtils.h" -#include "PresentationReceiver.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(Presentation, - mWindow, - mDefaultRequest, mReceiver) - -NS_IMPL_CYCLE_COLLECTING_ADDREF(Presentation) -NS_IMPL_CYCLE_COLLECTING_RELEASE(Presentation) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(Presentation) - NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY - NS_INTERFACE_MAP_ENTRY(nsISupports) -NS_INTERFACE_MAP_END - -/* static */ already_AddRefed -Presentation::Create(nsPIDOMWindowInner* aWindow) -{ - RefPtr presentation = new Presentation(aWindow); - return presentation.forget(); -} - -Presentation::Presentation(nsPIDOMWindowInner* aWindow) - : mWindow(aWindow) -{ -} - -Presentation::~Presentation() -{ -} - -/* virtual */ JSObject* -Presentation::WrapObject(JSContext* aCx, - JS::Handle aGivenProto) -{ - return PresentationBinding::Wrap(aCx, this, aGivenProto); -} - -void -Presentation::SetDefaultRequest(PresentationRequest* aRequest) -{ - nsCOMPtr doc = mWindow ? mWindow->GetExtantDoc() : nullptr; - if (NS_WARN_IF(!doc)) { - return; - } - - if (doc->GetSandboxFlags() & SANDBOXED_PRESENTATION) { - return; - } - - mDefaultRequest = aRequest; -} - -already_AddRefed -Presentation::GetDefaultRequest() const -{ - RefPtr request = mDefaultRequest; - return request.forget(); -} - -already_AddRefed -Presentation::GetReceiver() -{ - // return the same receiver if already created - if (mReceiver) { - RefPtr receiver = mReceiver; - return receiver.forget(); - } - - if (!HasReceiverSupport() || !IsInPresentedContent()) { - return nullptr; - } - - mReceiver = PresentationReceiver::Create(mWindow); - if (NS_WARN_IF(!mReceiver)) { - MOZ_ASSERT(mReceiver); - return nullptr; - } - - RefPtr receiver = mReceiver; - return receiver.forget(); -} - -void -Presentation::SetStartSessionUnsettled(bool aIsUnsettled) -{ - mStartSessionUnsettled = aIsUnsettled; -} - -bool -Presentation::IsStartSessionUnsettled() const -{ - return mStartSessionUnsettled; -} - -bool -Presentation::HasReceiverSupport() const -{ - if (!mWindow) { - return false; - } - - // Grant access to browser receiving pages and their same-origin iframes. (App - // pages should be controlled by "presentation" permission in app manifests.) - nsCOMPtr docShell = mWindow->GetDocShell(); - if (!docShell) { - return false; - } - - if (!Preferences::GetBool("dom.presentation.testing.simulate-receiver") && - !docShell->GetIsInMozBrowserOrApp() && - !docShell->GetIsTopLevelContentDocShell()) { - return false; - } - - nsAutoString presentationURL; - nsContentUtils::GetPresentationURL(docShell, presentationURL); - - if (presentationURL.IsEmpty()) { - return false; - } - - nsCOMPtr securityManager = - nsContentUtils::GetSecurityManager(); - if (!securityManager) { - return false; - } - - nsCOMPtr presentationURI; - nsresult rv = NS_NewURI(getter_AddRefs(presentationURI), presentationURL); - if (NS_FAILED(rv)) { - return false; - } - - nsCOMPtr docURI = mWindow->GetDocumentURI(); - return NS_SUCCEEDED(securityManager->CheckSameOriginURI(presentationURI, - docURI, - false)); -} - -bool -Presentation::IsInPresentedContent() const -{ - if (!mWindow) { - return false; - } - - nsCOMPtr docShell = mWindow->GetDocShell(); - MOZ_ASSERT(docShell); - - nsAutoString presentationURL; - nsContentUtils::GetPresentationURL(docShell, presentationURL); - - return !presentationURL.IsEmpty(); -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/Presentation.h b/dom/presentation/Presentation.h deleted file mode 100644 index 08d0003b33..0000000000 --- a/dom/presentation/Presentation.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_Presentation_h -#define mozilla_dom_Presentation_h - -#include "nsCOMPtr.h" -#include "nsCycleCollectionParticipant.h" -#include "nsISupportsImpl.h" -#include "nsWrapperCache.h" - -class nsPIDOMWindowInner; - -namespace mozilla { -namespace dom { - -class Promise; -class PresentationReceiver; -class PresentationRequest; - -class Presentation final : public nsISupports - , public nsWrapperCache -{ -public: - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(Presentation) - - static already_AddRefed Create(nsPIDOMWindowInner* aWindow); - - virtual JSObject* WrapObject(JSContext* aCx, - JS::Handle aGivenProto) override; - - nsPIDOMWindowInner* GetParentObject() const - { - return mWindow; - } - - // WebIDL (public APIs) - void SetDefaultRequest(PresentationRequest* aRequest); - - already_AddRefed GetDefaultRequest() const; - - already_AddRefed GetReceiver(); - - // For bookkeeping unsettled start session request - void SetStartSessionUnsettled(bool aIsUnsettled); - bool IsStartSessionUnsettled() const; - -private: - explicit Presentation(nsPIDOMWindowInner* aWindow); - - virtual ~Presentation(); - - bool HasReceiverSupport() const; - - bool IsInPresentedContent() const; - - RefPtr mDefaultRequest; - RefPtr mReceiver; - nsCOMPtr mWindow; - bool mStartSessionUnsettled = false; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_Presentation_h diff --git a/dom/presentation/PresentationAvailability.cpp b/dom/presentation/PresentationAvailability.cpp deleted file mode 100644 index 93f27dfbfc..0000000000 --- a/dom/presentation/PresentationAvailability.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "PresentationAvailability.h" - -#include "mozilla/dom/PresentationAvailabilityBinding.h" -#include "mozilla/dom/Promise.h" -#include "mozilla/Unused.h" -#include "nsCycleCollectionParticipant.h" -#include "nsIPresentationDeviceManager.h" -#include "nsIPresentationService.h" -#include "nsServiceManagerUtils.h" -#include "PresentationLog.h" - -using namespace mozilla; -using namespace mozilla::dom; - -NS_IMPL_CYCLE_COLLECTION_CLASS(PresentationAvailability) - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(PresentationAvailability, DOMEventTargetHelper) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPromises) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(PresentationAvailability, DOMEventTargetHelper) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mPromises); - tmp->Shutdown(); -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_ADDREF_INHERITED(PresentationAvailability, DOMEventTargetHelper) -NS_IMPL_RELEASE_INHERITED(PresentationAvailability, DOMEventTargetHelper) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(PresentationAvailability) - NS_INTERFACE_MAP_ENTRY(nsIPresentationAvailabilityListener) -NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) - -/* static */ already_AddRefed -PresentationAvailability::Create(nsPIDOMWindowInner* aWindow, - const nsTArray& aUrls, - RefPtr& aPromise) -{ - RefPtr availability = - new PresentationAvailability(aWindow, aUrls); - return NS_WARN_IF(!availability->Init(aPromise)) ? nullptr - : availability.forget(); -} - -PresentationAvailability::PresentationAvailability(nsPIDOMWindowInner* aWindow, - const nsTArray& aUrls) - : DOMEventTargetHelper(aWindow) - , mIsAvailable(false) - , mUrls(aUrls) -{ - for (uint32_t i = 0; i < mUrls.Length(); ++i) { - mAvailabilityOfUrl.AppendElement(false); - } -} - -PresentationAvailability::~PresentationAvailability() -{ - Shutdown(); -} - -bool -PresentationAvailability::Init(RefPtr& aPromise) -{ - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return false; - } - - nsresult rv = service->RegisterAvailabilityListener(mUrls, this); - if (NS_WARN_IF(NS_FAILED(rv))) { - // If the user agent is unable to monitor available device, - // Resolve promise with |value| set to false. - mIsAvailable = false; - aPromise->MaybeResolve(this); - return true; - } - - EnqueuePromise(aPromise); - - AvailabilityCollection* collection = AvailabilityCollection::GetSingleton(); - if (collection) { - collection->Add(this); - } - - return true; -} - -void PresentationAvailability::Shutdown() -{ - AvailabilityCollection* collection = AvailabilityCollection::GetSingleton(); - if (collection ) { - collection->Remove(this); - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return; - } - - Unused << - NS_WARN_IF(NS_FAILED(service->UnregisterAvailabilityListener(mUrls, - this))); -} - -/* virtual */ void -PresentationAvailability::DisconnectFromOwner() -{ - Shutdown(); - DOMEventTargetHelper::DisconnectFromOwner(); -} - -/* virtual */ JSObject* -PresentationAvailability::WrapObject(JSContext* aCx, - JS::Handle aGivenProto) -{ - return PresentationAvailabilityBinding::Wrap(aCx, this, aGivenProto); -} - -bool -PresentationAvailability::Equals(const uint64_t aWindowID, - const nsTArray& aUrls) const -{ - if (GetOwner() && GetOwner()->WindowID() == aWindowID && - mUrls.Length() == aUrls.Length()) { - for (const auto& url : aUrls) { - if (!mUrls.Contains(url)) { - return false; - } - } - return true; - } - - return false; -} - -bool -PresentationAvailability::IsCachedValueReady() -{ - // All pending promises will be solved when cached value is ready and - // no promise should be enqueued afterward. - return mPromises.IsEmpty(); -} - -void -PresentationAvailability::EnqueuePromise(RefPtr& aPromise) -{ - mPromises.AppendElement(aPromise); -} - -bool -PresentationAvailability::Value() const -{ - return mIsAvailable; -} - -NS_IMETHODIMP -PresentationAvailability::NotifyAvailableChange(const nsTArray& aAvailabilityUrls, - bool aIsAvailable) -{ - bool available = false; - for (uint32_t i = 0; i < mUrls.Length(); ++i) { - if (aAvailabilityUrls.Contains(mUrls[i])) { - mAvailabilityOfUrl[i] = aIsAvailable; - } - available |= mAvailabilityOfUrl[i]; - } - - return NS_DispatchToCurrentThread(NewRunnableMethod - (this, - &PresentationAvailability::UpdateAvailabilityAndDispatchEvent, - available)); -} - -void -PresentationAvailability::UpdateAvailabilityAndDispatchEvent(bool aIsAvailable) -{ - PRES_DEBUG("%s\n", __func__); - bool isChanged = (aIsAvailable != mIsAvailable); - - mIsAvailable = aIsAvailable; - - if (!mPromises.IsEmpty()) { - // Use the first availability change notification to resolve promise. - do { - nsTArray> promises = Move(mPromises); - for (auto& promise : promises) { - promise->MaybeResolve(this); - } - // more promises may have been added to mPromises, at least in theory - } while (!mPromises.IsEmpty()); - - return; - } - - if (isChanged) { - Unused << - NS_WARN_IF(NS_FAILED(DispatchTrustedEvent(NS_LITERAL_STRING("change")))); - } -} diff --git a/dom/presentation/PresentationAvailability.h b/dom/presentation/PresentationAvailability.h deleted file mode 100644 index edfae2c02b..0000000000 --- a/dom/presentation/PresentationAvailability.h +++ /dev/null @@ -1,74 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationAvailability_h -#define mozilla_dom_PresentationAvailability_h - -#include "mozilla/DOMEventTargetHelper.h" -#include "nsIPresentationListener.h" -#include "nsTArray.h" - -namespace mozilla { -namespace dom { - -class Promise; - -class PresentationAvailability final : public DOMEventTargetHelper - , public nsIPresentationAvailabilityListener - , public SupportsWeakPtr -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(PresentationAvailability, - DOMEventTargetHelper) - NS_DECL_NSIPRESENTATIONAVAILABILITYLISTENER - MOZ_DECLARE_WEAKREFERENCE_TYPENAME(PresentationAvailability) - - static already_AddRefed - Create(nsPIDOMWindowInner* aWindow, - const nsTArray& aUrls, - RefPtr& aPromise); - - virtual void DisconnectFromOwner() override; - - virtual JSObject* WrapObject(JSContext* aCx, - JS::Handle aGivenProto) override; - - bool Equals(const uint64_t aWindowID, const nsTArray& aUrls) const; - - bool IsCachedValueReady(); - - void EnqueuePromise(RefPtr& aPromise); - - // WebIDL (public APIs) - bool Value() const; - - IMPL_EVENT_HANDLER(change); - -private: - explicit PresentationAvailability(nsPIDOMWindowInner* aWindow, - const nsTArray& aUrls); - - virtual ~PresentationAvailability(); - - bool Init(RefPtr& aPromise); - - void Shutdown(); - - void UpdateAvailabilityAndDispatchEvent(bool aIsAvailable); - - bool mIsAvailable; - - nsTArray> mPromises; - - nsTArray mUrls; - nsTArray mAvailabilityOfUrl; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationAvailability_h diff --git a/dom/presentation/PresentationCallbacks.cpp b/dom/presentation/PresentationCallbacks.cpp deleted file mode 100644 index fd0ffee31c..0000000000 --- a/dom/presentation/PresentationCallbacks.cpp +++ /dev/null @@ -1,282 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "mozilla/dom/Promise.h" -#include "nsIDocShell.h" -#include "nsIInterfaceRequestorUtils.h" -#include "nsIPresentationService.h" -#include "nsIWebProgress.h" -#include "nsServiceManagerUtils.h" -#include "nsThreadUtils.h" -#include "PresentationCallbacks.h" -#include "PresentationRequest.h" -#include "PresentationConnection.h" -#include "PresentationTransportBuilderConstructor.h" - -using namespace mozilla; -using namespace mozilla::dom; - -/* - * Implementation of PresentationRequesterCallback - */ - -NS_IMPL_ISUPPORTS(PresentationRequesterCallback, nsIPresentationServiceCallback) - -PresentationRequesterCallback::PresentationRequesterCallback(PresentationRequest* aRequest, - const nsAString& aSessionId, - Promise* aPromise) - : mRequest(aRequest) - , mSessionId(aSessionId) - , mPromise(aPromise) -{ - MOZ_ASSERT(mRequest); - MOZ_ASSERT(mPromise); - MOZ_ASSERT(!mSessionId.IsEmpty()); -} - -PresentationRequesterCallback::~PresentationRequesterCallback() -{ -} - -// nsIPresentationServiceCallback -NS_IMETHODIMP -PresentationRequesterCallback::NotifySuccess(const nsAString& aUrl) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (aUrl.IsEmpty()) { - return NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - RefPtr connection = - PresentationConnection::Create(mRequest->GetOwner(), mSessionId, aUrl, - nsIPresentationService::ROLE_CONTROLLER); - if (NS_WARN_IF(!connection)) { - return NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - mRequest->NotifyPromiseSettled(); - mPromise->MaybeResolve(connection); - - return mRequest->DispatchConnectionAvailableEvent(connection); -} - -NS_IMETHODIMP -PresentationRequesterCallback::NotifyError(nsresult aError) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mRequest->NotifyPromiseSettled(); - mPromise->MaybeReject(aError); - return NS_OK; -} - -/* - * Implementation of PresentationRequesterCallback - */ - -NS_IMPL_ISUPPORTS_INHERITED0(PresentationReconnectCallback, - PresentationRequesterCallback) - -PresentationReconnectCallback::PresentationReconnectCallback( - PresentationRequest* aRequest, - const nsAString& aSessionId, - Promise* aPromise, - PresentationConnection* aConnection) - : PresentationRequesterCallback(aRequest, aSessionId, aPromise) - , mConnection(aConnection) -{ -} - -PresentationReconnectCallback::~PresentationReconnectCallback() -{ -} - -NS_IMETHODIMP -PresentationReconnectCallback::NotifySuccess(const nsAString& aUrl) -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsresult rv = NS_OK; - // We found a matched connection with the same window ID, URL, and - // the session ID. Resolve the promise with this connection and dispatch - // the event. - if (mConnection) { - mConnection->NotifyStateChange( - mSessionId, - nsIPresentationSessionListener::STATE_CONNECTING, - NS_OK); - mPromise->MaybeResolve(mConnection); - rv = mRequest->DispatchConnectionAvailableEvent(mConnection); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } else { - // Use |PresentationRequesterCallback::NotifySuccess| to create a new - // connection since we don't find one that can be reused. - rv = PresentationRequesterCallback::NotifySuccess(aUrl); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = service->UpdateWindowIdBySessionId(mSessionId, - nsIPresentationService::ROLE_CONTROLLER, - mRequest->GetOwner()->WindowID()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } - - nsString sessionId = nsString(mSessionId); - return NS_DispatchToMainThread( - NS_NewRunnableFunction([sessionId, service]() -> void { - service->BuildTransport(sessionId, - nsIPresentationService::ROLE_CONTROLLER); - })); -} - -NS_IMETHODIMP -PresentationReconnectCallback::NotifyError(nsresult aError) -{ - if (mConnection) { - mConnection->NotifyStateChange( - mSessionId, - nsIPresentationSessionListener::STATE_CLOSED, - aError); - } - return PresentationRequesterCallback::NotifyError(aError); -} - -NS_IMPL_ISUPPORTS(PresentationResponderLoadingCallback, - nsIWebProgressListener, - nsISupportsWeakReference) - -PresentationResponderLoadingCallback::PresentationResponderLoadingCallback(const nsAString& aSessionId) - : mSessionId(aSessionId) -{ -} - -PresentationResponderLoadingCallback::~PresentationResponderLoadingCallback() -{ - if (mProgress) { - mProgress->RemoveProgressListener(this); - mProgress = nullptr; - } -} - -nsresult -PresentationResponderLoadingCallback::Init(nsIDocShell* aDocShell) -{ - mProgress = do_GetInterface(aDocShell); - if (NS_WARN_IF(!mProgress)) { - return NS_ERROR_NOT_AVAILABLE; - } - - uint32_t busyFlags = nsIDocShell::BUSY_FLAGS_NONE; - nsresult rv = aDocShell->GetBusyFlags(&busyFlags); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if ((busyFlags == nsIDocShell::BUSY_FLAGS_NONE) || - (busyFlags & nsIDocShell::BUSY_FLAGS_PAGE_LOADING)) { - // The docshell has finished loading or is receiving data (|STATE_TRANSFERRING| - // has already been fired), so the page is ready for presentation use. - return NotifyReceiverReady(/* isLoading = */ true); - } - - // Start to listen to document state change event |STATE_TRANSFERRING|. - return mProgress->AddProgressListener(this, nsIWebProgress::NOTIFY_STATE_DOCUMENT); -} - -nsresult -PresentationResponderLoadingCallback::NotifyReceiverReady(bool aIsLoading) -{ - nsCOMPtr window = do_GetInterface(mProgress); - if (NS_WARN_IF(!window || !window->GetCurrentInnerWindow())) { - return NS_ERROR_NOT_AVAILABLE; - } - uint64_t windowId = window->GetCurrentInnerWindow()->WindowID(); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsCOMPtr constructor = - PresentationTransportBuilderConstructor::Create(); - return service->NotifyReceiverReady(mSessionId, - windowId,aIsLoading, - constructor); -} - -// nsIWebProgressListener -NS_IMETHODIMP -PresentationResponderLoadingCallback::OnStateChange(nsIWebProgress* aWebProgress, - nsIRequest* aRequest, - uint32_t aStateFlags, - nsresult aStatus) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (aStateFlags & (nsIWebProgressListener::STATE_TRANSFERRING | - nsIWebProgressListener::STATE_STOP)) { - mProgress->RemoveProgressListener(this); - - bool isLoading = aStateFlags & nsIWebProgressListener::STATE_TRANSFERRING; - return NotifyReceiverReady(isLoading); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationResponderLoadingCallback::OnProgressChange(nsIWebProgress* aWebProgress, - nsIRequest* aRequest, - int32_t aCurSelfProgress, - int32_t aMaxSelfProgress, - int32_t aCurTotalProgress, - int32_t aMaxTotalProgress) -{ - // Do nothing. - return NS_OK; -} - -NS_IMETHODIMP -PresentationResponderLoadingCallback::OnLocationChange(nsIWebProgress* aWebProgress, - nsIRequest* aRequest, - nsIURI* aURI, - uint32_t aFlags) -{ - // Do nothing. - return NS_OK; -} - -NS_IMETHODIMP -PresentationResponderLoadingCallback::OnStatusChange(nsIWebProgress* aWebProgress, - nsIRequest* aRequest, - nsresult aStatus, - const char16_t* aMessage) -{ - // Do nothing. - return NS_OK; -} - -NS_IMETHODIMP -PresentationResponderLoadingCallback::OnSecurityChange(nsIWebProgress* aWebProgress, - nsIRequest* aRequest, - uint32_t state) -{ - // Do nothing. - return NS_OK; -} diff --git a/dom/presentation/PresentationCallbacks.h b/dom/presentation/PresentationCallbacks.h deleted file mode 100644 index e493b05108..0000000000 --- a/dom/presentation/PresentationCallbacks.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationCallbacks_h -#define mozilla_dom_PresentationCallbacks_h - -#include "mozilla/RefPtr.h" -#include "nsCOMPtr.h" -#include "nsIPresentationService.h" -#include "nsIWebProgressListener.h" -#include "nsString.h" -#include "nsWeakReference.h" - -class nsIDocShell; -class nsIWebProgress; - -namespace mozilla { -namespace dom { - -class PresentationConnection; -class PresentationRequest; -class Promise; - -class PresentationRequesterCallback : public nsIPresentationServiceCallback -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSERVICECALLBACK - - PresentationRequesterCallback(PresentationRequest* aRequest, - const nsAString& aSessionId, - Promise* aPromise); - -protected: - virtual ~PresentationRequesterCallback(); - - RefPtr mRequest; - nsString mSessionId; - RefPtr mPromise; -}; - -class PresentationReconnectCallback final : public PresentationRequesterCallback -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSIPRESENTATIONSERVICECALLBACK - - PresentationReconnectCallback(PresentationRequest* aRequest, - const nsAString& aSessionId, - Promise* aPromise, - PresentationConnection* aConnection); - -private: - virtual ~PresentationReconnectCallback(); - - RefPtr mConnection; -}; - -class PresentationResponderLoadingCallback final : public nsIWebProgressListener - , public nsSupportsWeakReference -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIWEBPROGRESSLISTENER - - explicit PresentationResponderLoadingCallback(const nsAString& aSessionId); - - nsresult Init(nsIDocShell* aDocShell); - -private: - ~PresentationResponderLoadingCallback(); - - nsresult NotifyReceiverReady(bool aIsLoading); - - nsString mSessionId; - nsCOMPtr mProgress; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationCallbacks_h diff --git a/dom/presentation/PresentationConnection.cpp b/dom/presentation/PresentationConnection.cpp deleted file mode 100644 index e9c4a71ca2..0000000000 --- a/dom/presentation/PresentationConnection.cpp +++ /dev/null @@ -1,763 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "PresentationConnection.h" - -#include "ControllerConnectionCollection.h" -#include "mozilla/AsyncEventDispatcher.h" -#include "mozilla/dom/DOMException.h" -#include "mozilla/dom/File.h" -#include "mozilla/dom/MessageEvent.h" -#include "mozilla/dom/MessageEventBinding.h" -#include "mozilla/dom/PresentationConnectionCloseEvent.h" -#include "mozilla/ErrorNames.h" -#include "mozilla/DebugOnly.h" -#include "nsContentUtils.h" -#include "nsCycleCollectionParticipant.h" -#include "nsIPresentationService.h" -#include "nsServiceManagerUtils.h" -#include "nsStringStream.h" -#include "PresentationConnectionList.h" -#include "PresentationLog.h" - -using namespace mozilla; -using namespace mozilla::dom; - -NS_IMPL_CYCLE_COLLECTION_CLASS(PresentationConnection) - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(PresentationConnection, DOMEventTargetHelper) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOwningConnectionList) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(PresentationConnection, DOMEventTargetHelper) - tmp->Shutdown(); - NS_IMPL_CYCLE_COLLECTION_UNLINK(mOwningConnectionList) -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_ADDREF_INHERITED(PresentationConnection, DOMEventTargetHelper) -NS_IMPL_RELEASE_INHERITED(PresentationConnection, DOMEventTargetHelper) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(PresentationConnection) - NS_INTERFACE_MAP_ENTRY(nsIPresentationSessionListener) - NS_INTERFACE_MAP_ENTRY(nsIRequest) -NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) - -PresentationConnection::PresentationConnection(nsPIDOMWindowInner* aWindow, - const nsAString& aId, - const nsAString& aUrl, - const uint8_t aRole, - PresentationConnectionList* aList) - : DOMEventTargetHelper(aWindow) - , mId(aId) - , mUrl(aUrl) - , mState(PresentationConnectionState::Connecting) - , mOwningConnectionList(aList) - , mBinaryType(PresentationConnectionBinaryType::Arraybuffer) -{ - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - mRole = aRole; -} - -/* virtual */ PresentationConnection::~PresentationConnection() -{ -} - -/* static */ already_AddRefed -PresentationConnection::Create(nsPIDOMWindowInner* aWindow, - const nsAString& aId, - const nsAString& aUrl, - const uint8_t aRole, - PresentationConnectionList* aList) -{ - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - RefPtr connection = - new PresentationConnection(aWindow, aId, aUrl, aRole, aList); - if (NS_WARN_IF(!connection->Init())) { - return nullptr; - } - - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - ControllerConnectionCollection::GetSingleton()->AddConnection(connection, - aRole); - } - - return connection.forget(); -} - -bool -PresentationConnection::Init() -{ - if (NS_WARN_IF(mId.IsEmpty())) { - return false; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - return false; - } - - nsresult rv = service->RegisterSessionListener(mId, mRole, this); - if(NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - - rv = AddIntoLoadGroup(); - if(NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - - return true; -} - -void -PresentationConnection::Shutdown() -{ - PRES_DEBUG("connection shutdown:id[%s], role[%d]\n", - NS_ConvertUTF16toUTF8(mId).get(), mRole); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return; - } - - DebugOnly rv = service->UnregisterSessionListener(mId, mRole); - NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "UnregisterSessionListener failed"); - - DebugOnly rv2 = RemoveFromLoadGroup(); - NS_WARNING_ASSERTION(NS_SUCCEEDED(rv2), "RemoveFromLoadGroup failed"); - - if (mRole == nsIPresentationService::ROLE_CONTROLLER) { - ControllerConnectionCollection::GetSingleton()->RemoveConnection(this, - mRole); - } -} - -/* virtual */ void -PresentationConnection::DisconnectFromOwner() -{ - Unused << NS_WARN_IF(NS_FAILED(ProcessConnectionWentAway())); - DOMEventTargetHelper::DisconnectFromOwner(); -} - -/* virtual */ JSObject* -PresentationConnection::WrapObject(JSContext* aCx, - JS::Handle aGivenProto) -{ - return PresentationConnectionBinding::Wrap(aCx, this, aGivenProto); -} - -void -PresentationConnection::GetId(nsAString& aId) const -{ - aId = mId; -} - -void -PresentationConnection::GetUrl(nsAString& aUrl) const -{ - aUrl = mUrl; -} - -PresentationConnectionState -PresentationConnection::State() const -{ - return mState; -} - -PresentationConnectionBinaryType -PresentationConnection::BinaryType() const -{ - return mBinaryType; -} - -void -PresentationConnection::SetBinaryType(PresentationConnectionBinaryType aType) -{ - mBinaryType = aType; -} - -void -PresentationConnection::Send(const nsAString& aData, - ErrorResult& aRv) -{ - // Sending is not allowed if the session is not connected. - if (NS_WARN_IF(mState != PresentationConnectionState::Connected)) { - aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); - return; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send message due to an internal error.")); - return; - } - - nsresult rv = service->SendSessionMessage(mId, mRole, aData); - if(NS_WARN_IF(NS_FAILED(rv))) { - const uint32_t kMaxMessageLength = 256; - nsAutoString data(Substring(aData, 0, kMaxMessageLength)); - - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send message: \"") + data + - NS_LITERAL_STRING("\"")); - } -} - -void -PresentationConnection::Send(Blob& aData, - ErrorResult& aRv) -{ - if (NS_WARN_IF(mState != PresentationConnectionState::Connected)) { - aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); - return; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send message due to an internal error.")); - return; - } - - nsresult rv = service->SendSessionBlob(mId, mRole, &aData); - if(NS_WARN_IF(NS_FAILED(rv))) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send binary message for Blob message.")); - } -} - -void -PresentationConnection::Send(const ArrayBuffer& aData, - ErrorResult& aRv) -{ - if (NS_WARN_IF(mState != PresentationConnectionState::Connected)) { - aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); - return; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send message due to an internal error.")); - return; - } - - aData.ComputeLengthAndData(); - - static_assert(sizeof(*aData.Data()) == 1, "byte-sized data required"); - - uint32_t length = aData.Length(); - char* data = reinterpret_cast(aData.Data()); - nsDependentCSubstring msgString(data, length); - - nsresult rv = service->SendSessionBinaryMsg(mId, mRole, msgString); - if(NS_WARN_IF(NS_FAILED(rv))) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send binary message for ArrayBuffer message.")); - } -} - -void -PresentationConnection::Send(const ArrayBufferView& aData, - ErrorResult& aRv) -{ - if (NS_WARN_IF(mState != PresentationConnectionState::Connected)) { - aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); - return; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send message due to an internal error.")); - return; - } - - aData.ComputeLengthAndData(); - - static_assert(sizeof(*aData.Data()) == 1, "byte-sized data required"); - - uint32_t length = aData.Length(); - char* data = reinterpret_cast(aData.Data()); - nsDependentCSubstring msgString(data, length); - - nsresult rv = service->SendSessionBinaryMsg(mId, mRole, msgString); - if(NS_WARN_IF(NS_FAILED(rv))) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to send binary message for ArrayBufferView message.")); - } -} - -void -PresentationConnection::Close(ErrorResult& aRv) -{ - // It only works when the state is CONNECTED or CONNECTING. - if (NS_WARN_IF(mState != PresentationConnectionState::Connected && - mState != PresentationConnectionState::Connecting)) { - return; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - aRv.Throw(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - Unused << NS_WARN_IF(NS_FAILED( - service->CloseSession(mId, - mRole, - nsIPresentationService::CLOSED_REASON_CLOSED))); -} - -void -PresentationConnection::Terminate(ErrorResult& aRv) -{ - // It only works when the state is CONNECTED. - if (NS_WARN_IF(mState != PresentationConnectionState::Connected)) { - return; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - aRv.Throw(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - Unused << NS_WARN_IF(NS_FAILED(service->TerminateSession(mId, mRole))); -} - -bool -PresentationConnection::Equals(uint64_t aWindowId, - const nsAString& aId) -{ - return GetOwner() && - aWindowId == GetOwner()->WindowID() && - mId.Equals(aId); -} - -NS_IMETHODIMP -PresentationConnection::NotifyStateChange(const nsAString& aSessionId, - uint16_t aState, - nsresult aReason) -{ - PRES_DEBUG("connection state change:id[%s], state[%x], reason[%x], role[%d]\n", - NS_ConvertUTF16toUTF8(aSessionId).get(), aState, - aReason, mRole); - - if (!aSessionId.Equals(mId)) { - return NS_ERROR_INVALID_ARG; - } - - // A terminated connection should always remain in terminated. - if (mState == PresentationConnectionState::Terminated) { - return NS_OK; - } - - PresentationConnectionState state; - switch (aState) { - case nsIPresentationSessionListener::STATE_CONNECTING: - state = PresentationConnectionState::Connecting; - break; - case nsIPresentationSessionListener::STATE_CONNECTED: - state = PresentationConnectionState::Connected; - break; - case nsIPresentationSessionListener::STATE_CLOSED: - state = PresentationConnectionState::Closed; - break; - case nsIPresentationSessionListener::STATE_TERMINATED: - state = PresentationConnectionState::Terminated; - break; - default: - NS_WARNING("Unknown presentation session state."); - return NS_ERROR_INVALID_ARG; - } - - if (mState == state) { - return NS_OK; - } - mState = state; - - nsresult rv = ProcessStateChanged(aReason); - if(NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (mOwningConnectionList) { - mOwningConnectionList->NotifyStateChange(aSessionId, this); - } - - return NS_OK; -} - -nsresult -PresentationConnection::ProcessStateChanged(nsresult aReason) -{ - switch (mState) { - case PresentationConnectionState::Connecting: - return NS_OK; - case PresentationConnectionState::Connected: { - RefPtr asyncDispatcher = - new AsyncEventDispatcher(this, NS_LITERAL_STRING("connect"), false); - return asyncDispatcher->PostDOMEvent(); - } - case PresentationConnectionState::Closed: { - PresentationConnectionClosedReason reason = - PresentationConnectionClosedReason::Closed; - - nsString errorMsg; - if (NS_FAILED(aReason)) { - reason = PresentationConnectionClosedReason::Error; - nsCString name, message; - - // If aReason is not a DOM error, use error name as message. - if (NS_FAILED(NS_GetNameAndMessageForDOMNSResult(aReason, - name, - message))) { - mozilla::GetErrorName(aReason, message); - message.InsertLiteral("Internal error: ", 0); - } - CopyUTF8toUTF16(message, errorMsg); - } - - Unused << - NS_WARN_IF(NS_FAILED(DispatchConnectionCloseEvent(reason, errorMsg))); - - return RemoveFromLoadGroup(); - } - case PresentationConnectionState::Terminated: { - // Ensure onterminate event is fired. - RefPtr asyncDispatcher = - new AsyncEventDispatcher(this, NS_LITERAL_STRING("terminate"), false); - Unused << NS_WARN_IF(NS_FAILED(asyncDispatcher->PostDOMEvent())); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsresult rv = service->UnregisterSessionListener(mId, mRole); - if(NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return RemoveFromLoadGroup(); - } - default: - MOZ_CRASH("Unknown presentation session state."); - return NS_ERROR_INVALID_ARG; - } -} - -NS_IMETHODIMP -PresentationConnection::NotifyMessage(const nsAString& aSessionId, - const nsACString& aData, - bool aIsBinary) -{ - PRES_DEBUG("connection %s:id[%s], data[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), - nsPromiseFlatCString(aData).get(), mRole); - - if (!aSessionId.Equals(mId)) { - return NS_ERROR_INVALID_ARG; - } - - // No message should be expected when the session is not connected. - if (NS_WARN_IF(mState != PresentationConnectionState::Connected)) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - if (NS_WARN_IF(NS_FAILED(DoReceiveMessage(aData, aIsBinary)))) { - AsyncCloseConnectionWithErrorMsg( - NS_LITERAL_STRING("Unable to receive a message.")); - return NS_ERROR_FAILURE; - } - - return NS_OK; -} - -nsresult -PresentationConnection::DoReceiveMessage(const nsACString& aData, bool aIsBinary) -{ - // Transform the data. - AutoJSAPI jsapi; - if (!jsapi.Init(GetOwner())) { - return NS_ERROR_FAILURE; - } - JSContext* cx = jsapi.cx(); - JS::Rooted jsData(cx); - - nsresult rv; - if (aIsBinary) { - if (mBinaryType == PresentationConnectionBinaryType::Blob) { - RefPtr blob = - Blob::CreateStringBlob(GetOwner(), aData, EmptyString()); - MOZ_ASSERT(blob); - - if (!ToJSValue(cx, blob, &jsData)) { - return NS_ERROR_FAILURE; - } - } else if (mBinaryType == PresentationConnectionBinaryType::Arraybuffer) { - JS::Rooted arrayBuf(cx); - rv = nsContentUtils::CreateArrayBuffer(cx, aData, arrayBuf.address()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - jsData.setObject(*arrayBuf); - } else { - NS_RUNTIMEABORT("Unknown binary type!"); - return NS_ERROR_UNEXPECTED; - } - } else { - NS_ConvertUTF8toUTF16 utf16Data(aData); - if(NS_WARN_IF(!ToJSValue(cx, utf16Data, &jsData))) { - return NS_ERROR_FAILURE; - } - } - - return DispatchMessageEvent(jsData); -} - -nsresult -PresentationConnection::DispatchConnectionCloseEvent( - PresentationConnectionClosedReason aReason, - const nsAString& aMessage, - bool aDispatchNow) -{ - if (mState != PresentationConnectionState::Closed) { - MOZ_ASSERT(false, "The connection state should be closed."); - return NS_ERROR_FAILURE; - } - - PresentationConnectionCloseEventInit init; - init.mReason = aReason; - init.mMessage = aMessage; - - RefPtr closedEvent = - PresentationConnectionCloseEvent::Constructor(this, - NS_LITERAL_STRING("close"), - init); - closedEvent->SetTrusted(true); - - if (aDispatchNow) { - bool ignore; - return DOMEventTargetHelper::DispatchEvent(closedEvent, &ignore); - } - - RefPtr asyncDispatcher = - new AsyncEventDispatcher(this, static_cast(closedEvent)); - return asyncDispatcher->PostDOMEvent(); -} - -nsresult -PresentationConnection::DispatchMessageEvent(JS::Handle aData) -{ - nsCOMPtr global = do_QueryInterface(GetOwner()); - if (NS_WARN_IF(!global)) { - return NS_ERROR_NOT_AVAILABLE; - } - - // Get the origin. - nsAutoString origin; - nsresult rv = nsContentUtils::GetUTFOrigin(global->PrincipalOrNull(), origin); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - RefPtr messageEvent = new MessageEvent(this, nullptr, nullptr); - - messageEvent->InitMessageEvent(nullptr, - NS_LITERAL_STRING("message"), - false, false, aData, origin, - EmptyString(), nullptr, - Sequence>()); - messageEvent->SetTrusted(true); - - RefPtr asyncDispatcher = - new AsyncEventDispatcher(this, static_cast(messageEvent)); - return asyncDispatcher->PostDOMEvent(); -} - -nsresult -PresentationConnection::ProcessConnectionWentAway() -{ - if (mState != PresentationConnectionState::Connected && - mState != PresentationConnectionState::Connecting) { - // If the state is not connected or connecting, do not need to - // close the session. - return NS_OK; - } - - mState = PresentationConnectionState::Terminated; - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return service->CloseSession( - mId, mRole, nsIPresentationService::CLOSED_REASON_WENTAWAY); -} - -NS_IMETHODIMP -PresentationConnection::GetName(nsACString &aResult) -{ - aResult.AssignLiteral("about:presentation-connection"); - return NS_OK; -} - -NS_IMETHODIMP -PresentationConnection::IsPending(bool* aRetval) -{ - *aRetval = true; - return NS_OK; -} - -NS_IMETHODIMP -PresentationConnection::GetStatus(nsresult* aStatus) -{ - *aStatus = NS_OK; - return NS_OK; -} - -NS_IMETHODIMP -PresentationConnection::Cancel(nsresult aStatus) -{ - nsCOMPtr event = - NewRunnableMethod(this, &PresentationConnection::ProcessConnectionWentAway); - return NS_DispatchToCurrentThread(event); -} -NS_IMETHODIMP -PresentationConnection::Suspend(void) -{ - return NS_ERROR_NOT_IMPLEMENTED; -} -NS_IMETHODIMP -PresentationConnection::Resume(void) -{ - return NS_ERROR_NOT_IMPLEMENTED; -} - -NS_IMETHODIMP -PresentationConnection::GetLoadGroup(nsILoadGroup** aLoadGroup) -{ - *aLoadGroup = nullptr; - - nsCOMPtr doc = GetOwner() ? GetOwner()->GetExtantDoc() : nullptr; - if (!doc) { - return NS_ERROR_FAILURE; - } - - *aLoadGroup = doc->GetDocumentLoadGroup().take(); - return NS_OK; -} - -NS_IMETHODIMP -PresentationConnection::SetLoadGroup(nsILoadGroup * aLoadGroup) -{ - return NS_ERROR_UNEXPECTED; -} - -NS_IMETHODIMP -PresentationConnection::GetLoadFlags(nsLoadFlags* aLoadFlags) -{ - *aLoadFlags = nsIRequest::LOAD_BACKGROUND; - return NS_OK; -} - -NS_IMETHODIMP -PresentationConnection::SetLoadFlags(nsLoadFlags aLoadFlags) -{ - return NS_OK; -} - -nsresult -PresentationConnection::AddIntoLoadGroup() -{ - // Avoid adding to loadgroup multiple times - if (mWeakLoadGroup) { - return NS_OK; - } - - nsCOMPtr loadGroup; - nsresult rv = GetLoadGroup(getter_AddRefs(loadGroup)); - if(NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = loadGroup->AddRequest(this, nullptr); - if(NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mWeakLoadGroup = do_GetWeakReference(loadGroup); - return NS_OK; -} - -nsresult -PresentationConnection::RemoveFromLoadGroup() -{ - if (!mWeakLoadGroup) { - return NS_OK; - } - - nsCOMPtr loadGroup = do_QueryReferent(mWeakLoadGroup); - if (loadGroup) { - mWeakLoadGroup = nullptr; - return loadGroup->RemoveRequest(this, nullptr, NS_OK); - } - - return NS_OK; -} - -void -PresentationConnection::AsyncCloseConnectionWithErrorMsg(const nsAString& aMessage) -{ - if (mState == PresentationConnectionState::Terminated) { - return; - } - - nsString message = nsString(aMessage); - RefPtr self = this; - nsCOMPtr r = - NS_NewRunnableFunction([self, message]() -> void { - // Set |mState| to |PresentationConnectionState::Closed| here to avoid - // calling |ProcessStateChanged|. - self->mState = PresentationConnectionState::Closed; - - // Make sure dispatching the event and closing the connection are invoked - // at the same time by setting |aDispatchNow| to true. - Unused << NS_WARN_IF(NS_FAILED( - self->DispatchConnectionCloseEvent(PresentationConnectionClosedReason::Error, - message, - true))); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - return; - } - - Unused << NS_WARN_IF(NS_FAILED( - service->CloseSession(self->mId, - self->mRole, - nsIPresentationService::CLOSED_REASON_ERROR))); - }); - - Unused << NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(r))); -} diff --git a/dom/presentation/PresentationConnection.h b/dom/presentation/PresentationConnection.h deleted file mode 100644 index cecf6c3462..0000000000 --- a/dom/presentation/PresentationConnection.h +++ /dev/null @@ -1,128 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationConnection_h -#define mozilla_dom_PresentationConnection_h - -#include "mozilla/DOMEventTargetHelper.h" -#include "mozilla/dom/TypedArray.h" -#include "mozilla/WeakPtr.h" -#include "mozilla/dom/PresentationConnectionBinding.h" -#include "mozilla/dom/PresentationConnectionCloseEventBinding.h" -#include "nsIPresentationListener.h" -#include "nsIRequest.h" -#include "nsWeakReference.h" - -namespace mozilla { -namespace dom { - -class Blob; -class PresentationConnectionList; - -class PresentationConnection final : public DOMEventTargetHelper - , public nsIPresentationSessionListener - , public nsIRequest - , public SupportsWeakPtr -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(PresentationConnection, - DOMEventTargetHelper) - NS_DECL_NSIPRESENTATIONSESSIONLISTENER - NS_DECL_NSIREQUEST - MOZ_DECLARE_WEAKREFERENCE_TYPENAME(PresentationConnection) - - static already_AddRefed - Create(nsPIDOMWindowInner* aWindow, - const nsAString& aId, - const nsAString& aUrl, - const uint8_t aRole, - PresentationConnectionList* aList = nullptr); - - virtual void DisconnectFromOwner() override; - - virtual JSObject* WrapObject(JSContext* aCx, - JS::Handle aGivenProto) override; - - // WebIDL (public APIs) - void GetId(nsAString& aId) const; - - void GetUrl(nsAString& aUrl) const; - - PresentationConnectionState State() const; - - PresentationConnectionBinaryType BinaryType() const; - - void SetBinaryType(PresentationConnectionBinaryType aType); - - void Send(const nsAString& aData, - ErrorResult& aRv); - - void Send(Blob& aData, - ErrorResult& aRv); - - void Send(const ArrayBuffer& aData, - ErrorResult& aRv); - - void Send(const ArrayBufferView& aData, - ErrorResult& aRv); - - void Close(ErrorResult& aRv); - - void Terminate(ErrorResult& aRv); - - bool - Equals(uint64_t aWindowId, const nsAString& aId); - - IMPL_EVENT_HANDLER(connect); - IMPL_EVENT_HANDLER(close); - IMPL_EVENT_HANDLER(terminate); - IMPL_EVENT_HANDLER(message); - -private: - PresentationConnection(nsPIDOMWindowInner* aWindow, - const nsAString& aId, - const nsAString& aUrl, - const uint8_t aRole, - PresentationConnectionList* aList); - - ~PresentationConnection(); - - bool Init(); - - void Shutdown(); - - nsresult ProcessStateChanged(nsresult aReason); - - nsresult DispatchConnectionCloseEvent(PresentationConnectionClosedReason aReason, - const nsAString& aMessage, - bool aDispatchNow = false); - - nsresult DispatchMessageEvent(JS::Handle aData); - - nsresult ProcessConnectionWentAway(); - - nsresult AddIntoLoadGroup(); - - nsresult RemoveFromLoadGroup(); - - void AsyncCloseConnectionWithErrorMsg(const nsAString& aMessage); - - nsresult DoReceiveMessage(const nsACString& aData, bool aIsBinary); - - nsString mId; - nsString mUrl; - uint8_t mRole; - PresentationConnectionState mState; - RefPtr mOwningConnectionList; - nsWeakPtr mWeakLoadGroup; - PresentationConnectionBinaryType mBinaryType; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationConnection_h diff --git a/dom/presentation/PresentationConnectionList.cpp b/dom/presentation/PresentationConnectionList.cpp deleted file mode 100644 index 0e0e7696cb..0000000000 --- a/dom/presentation/PresentationConnectionList.cpp +++ /dev/null @@ -1,125 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "PresentationConnectionList.h" - -#include "mozilla/AsyncEventDispatcher.h" -#include "mozilla/dom/PresentationConnectionAvailableEvent.h" -#include "mozilla/dom/PresentationConnectionListBinding.h" -#include "mozilla/dom/Promise.h" -#include "PresentationConnection.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_CYCLE_COLLECTION_INHERITED(PresentationConnectionList, DOMEventTargetHelper, - mGetConnectionListPromise, - mConnections) - -NS_IMPL_ADDREF_INHERITED(PresentationConnectionList, DOMEventTargetHelper) -NS_IMPL_RELEASE_INHERITED(PresentationConnectionList, DOMEventTargetHelper) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(PresentationConnectionList) -NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) - -PresentationConnectionList::PresentationConnectionList(nsPIDOMWindowInner* aWindow, - Promise* aPromise) - : DOMEventTargetHelper(aWindow) - , mGetConnectionListPromise(aPromise) -{ - MOZ_ASSERT(aWindow); - MOZ_ASSERT(aPromise); -} - -/* virtual */ JSObject* -PresentationConnectionList::WrapObject(JSContext* aCx, - JS::Handle aGivenProto) -{ - return PresentationConnectionListBinding::Wrap(aCx, this, aGivenProto); -} - -void -PresentationConnectionList::GetConnections( - nsTArray>& aConnections) const -{ - aConnections = mConnections; -} - -nsresult -PresentationConnectionList::DispatchConnectionAvailableEvent( - PresentationConnection* aConnection) -{ - PresentationConnectionAvailableEventInit init; - init.mConnection = aConnection; - - RefPtr event = - PresentationConnectionAvailableEvent::Constructor( - this, - NS_LITERAL_STRING("connectionavailable"), - init); - - if (NS_WARN_IF(!event)) { - return NS_ERROR_FAILURE; - } - event->SetTrusted(true); - - RefPtr asyncDispatcher = - new AsyncEventDispatcher(this, event); - return asyncDispatcher->PostDOMEvent(); -} - -PresentationConnectionList::ConnectionArrayIndex -PresentationConnectionList::FindConnectionById( - const nsAString& aId) -{ - for (ConnectionArrayIndex i = 0; i < mConnections.Length(); i++) { - nsAutoString id; - mConnections[i]->GetId(id); - if (id == nsAutoString(aId)) { - return i; - } - } - - return mConnections.NoIndex; -} - -void -PresentationConnectionList::NotifyStateChange(const nsAString& aSessionId, - PresentationConnection* aConnection) -{ - if (!aConnection) { - MOZ_ASSERT(false, "PresentationConnection can not be null."); - return; - } - - bool connectionFound = - FindConnectionById(aSessionId) != mConnections.NoIndex ? true : false; - - PresentationConnectionListBinding::ClearCachedConnectionsValue(this); - switch (aConnection->State()) { - case PresentationConnectionState::Connected: - if (!connectionFound) { - mConnections.AppendElement(aConnection); - if (mGetConnectionListPromise) { - mGetConnectionListPromise->MaybeResolve(this); - mGetConnectionListPromise = nullptr; - return; - } - } - DispatchConnectionAvailableEvent(aConnection); - break; - case PresentationConnectionState::Terminated: - if (connectionFound) { - mConnections.RemoveElement(aConnection); - } - break; - default: - break; - } -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/PresentationConnectionList.h b/dom/presentation/PresentationConnectionList.h deleted file mode 100644 index b430219ce7..0000000000 --- a/dom/presentation/PresentationConnectionList.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationConnectionList_h -#define mozilla_dom_PresentationConnectionList_h - -#include "mozilla/DOMEventTargetHelper.h" -#include "nsTArray.h" - -namespace mozilla { -namespace dom { - -class PresentationConnection; -class Promise; - -class PresentationConnectionList final : public DOMEventTargetHelper -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(PresentationConnectionList, - DOMEventTargetHelper) - - PresentationConnectionList(nsPIDOMWindowInner* aWindow, - Promise* aPromise); - - virtual JSObject* WrapObject(JSContext* aCx, - JS::Handle aGivenProto) override; - - void GetConnections(nsTArray>& aConnections) const; - - void NotifyStateChange(const nsAString& aSessionId, PresentationConnection* aConnection); - - IMPL_EVENT_HANDLER(connectionavailable); - -private: - virtual ~PresentationConnectionList() = default; - - nsresult DispatchConnectionAvailableEvent(PresentationConnection* aConnection); - - typedef nsTArray> ConnectionArray; - typedef ConnectionArray::index_type ConnectionArrayIndex; - - ConnectionArrayIndex FindConnectionById(const nsAString& aId); - - RefPtr mGetConnectionListPromise; - - // This array stores only non-terminsted connections. - ConnectionArray mConnections; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationConnectionList_h diff --git a/dom/presentation/PresentationDataChannelSessionTransport.js b/dom/presentation/PresentationDataChannelSessionTransport.js deleted file mode 100644 index 9af6213cb0..0000000000 --- a/dom/presentation/PresentationDataChannelSessionTransport.js +++ /dev/null @@ -1,378 +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 http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components; - -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); - -// Bug 1228209 - plan to remove this eventually -function log(aMsg) { - //dump("-*- PresentationDataChannelSessionTransport.js : " + aMsg + "\n"); -} - -const PRESENTATIONTRANSPORT_CID = Components.ID("{dd2bbf2f-3399-4389-8f5f-d382afb8b2d6}"); -const PRESENTATIONTRANSPORT_CONTRACTID = "mozilla.org/presentation/datachanneltransport;1"; - -const PRESENTATIONTRANSPORTBUILDER_CID = Components.ID("{215b2f62-46e2-4004-a3d1-6858e56c20f3}"); -const PRESENTATIONTRANSPORTBUILDER_CONTRACTID = "mozilla.org/presentation/datachanneltransportbuilder;1"; - -function PresentationDataChannelDescription(aDataChannelSDP) { - this._dataChannelSDP = JSON.stringify(aDataChannelSDP); -} - -PresentationDataChannelDescription.prototype = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationChannelDescription]), - get type() { - return Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL; - }, - get tcpAddress() { - return null; - }, - get tcpPort() { - return null; - }, - get dataChannelSDP() { - return this._dataChannelSDP; - } -}; - -function PresentationTransportBuilder() { - log("PresentationTransportBuilder construct"); - this._isControlChannelNeeded = true; -} - -PresentationTransportBuilder.prototype = { - classID: PRESENTATIONTRANSPORTBUILDER_CID, - contractID: PRESENTATIONTRANSPORTBUILDER_CONTRACTID, - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransportBuilder, - Ci.nsIPresentationDataChannelSessionTransportBuilder, - Ci.nsITimerCallback]), - - buildDataChannelTransport: function(aRole, aWindow, aListener) { - if (!aRole || !aWindow || !aListener) { - log("buildDataChannelTransport with illegal parameters"); - throw Cr.NS_ERROR_ILLEGAL_VALUE; - } - - if (this._window) { - log("buildDataChannelTransport has started."); - throw Cr.NS_ERROR_UNEXPECTED; - } - - log("buildDataChannelTransport with role " + aRole); - this._role = aRole; - this._window = aWindow; - this._listener = aListener.QueryInterface(Ci.nsIPresentationSessionTransportBuilderListener); - - // TODO bug 1227053 set iceServers from |nsIPresentationDevice| - this._peerConnection = new this._window.RTCPeerConnection(); - - // |this._listener == null| will throw since the control channel is - // abnormally closed. - this._peerConnection.onicecandidate = aEvent => aEvent.candidate && - this._listener.sendIceCandidate(JSON.stringify(aEvent.candidate)); - - this._peerConnection.onnegotiationneeded = () => { - log("onnegotiationneeded with role " + this._role); - if (!this._peerConnection) { - log("ignoring negotiationneeded without PeerConnection"); - return; - } - this._peerConnection.createOffer() - .then(aOffer => this._peerConnection.setLocalDescription(aOffer)) - .then(() => this._listener - .sendOffer(new PresentationDataChannelDescription(this._peerConnection.localDescription))) - .catch(e => this._reportError(e)); - } - - switch (this._role) { - case Ci.nsIPresentationService.ROLE_CONTROLLER: - this._dataChannel = this._peerConnection.createDataChannel("presentationAPI"); - this._setDataChannel(); - break; - - case Ci.nsIPresentationService.ROLE_RECEIVER: - this._peerConnection.ondatachannel = aEvent => { - this._dataChannel = aEvent.channel; - // Ensure the binaryType of dataChannel is blob. - this._dataChannel.binaryType = "blob"; - this._setDataChannel(); - } - break; - default: - throw Cr.NS_ERROR_ILLEGAL_VALUE; - } - - // TODO bug 1228235 we should have a way to let device providers customize - // the time-out duration. - let timeout = Services.prefs.getIntPref("presentation.receiver.loading.timeout", 10000); - - // The timer is to check if the negotiation finishes on time. - this._timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); - this._timer.initWithCallback(this, timeout, this._timer.TYPE_ONE_SHOT); - }, - - notify: function() { - if (!this._sessionTransport) { - this._cleanup(Cr.NS_ERROR_NET_TIMEOUT); - } - }, - - _reportError: function(aError) { - log("report Error " + aError.name + ":" + aError.message); - this._cleanup(Cr.NS_ERROR_FAILURE); - }, - - _setDataChannel: function() { - this._dataChannel.onopen = () => { - log("data channel is open, notify the listener, role " + this._role); - - // Handoff the ownership of _peerConnection and _dataChannel to - // _sessionTransport - this._sessionTransport = new PresentationTransport(); - this._sessionTransport.init(this._peerConnection, this._dataChannel, this._window); - this._peerConnection.onicecandidate = null; - this._peerConnection.onnegotiationneeded = null; - this._peerConnection = this._dataChannel = null; - - this._listener.onSessionTransport(this._sessionTransport); - this._sessionTransport.callback.notifyTransportReady(); - - this._cleanup(Cr.NS_OK); - }; - - this._dataChannel.onerror = aError => { - log("data channel onerror " + aError.name + ":" + aError.message); - this._cleanup(Cr.NS_ERROR_FAILURE); - } - }, - - _cleanup: function(aReason) { - if (aReason != Cr.NS_OK) { - this._listener.onError(aReason); - } - - if (this._dataChannel) { - this._dataChannel.close(); - this._dataChannel = null; - } - - if (this._peerConnection) { - this._peerConnection.close(); - this._peerConnection = null; - } - - this._role = null; - this._window = null; - - this._listener = null; - this._sessionTransport = null; - - if (this._timer) { - this._timer.cancel(); - this._timer = null; - } - }, - - // nsIPresentationControlChannelListener - onOffer: function(aOffer) { - if (this._role !== Ci.nsIPresentationService.ROLE_RECEIVER || - this._sessionTransport) { - log("onOffer status error"); - this._cleanup(Cr.NS_ERROR_FAILURE); - } - - log("onOffer: " + aOffer.dataChannelSDP + " with role " + this._role); - - let offer = new this._window - .RTCSessionDescription(JSON.parse(aOffer.dataChannelSDP)); - - this._peerConnection.setRemoteDescription(offer) - .then(() => this._peerConnection.signalingState == "stable" || - this._peerConnection.createAnswer()) - .then(aAnswer => this._peerConnection.setLocalDescription(aAnswer)) - .then(() => { - this._isControlChannelNeeded = false; - this._listener - .sendAnswer(new PresentationDataChannelDescription(this._peerConnection.localDescription)) - }).catch(e => this._reportError(e)); - }, - - onAnswer: function(aAnswer) { - if (this._role !== Ci.nsIPresentationService.ROLE_CONTROLLER || - this._sessionTransport) { - log("onAnswer status error"); - this._cleanup(Cr.NS_ERROR_FAILURE); - } - - log("onAnswer: " + aAnswer.dataChannelSDP + " with role " + this._role); - - let answer = new this._window - .RTCSessionDescription(JSON.parse(aAnswer.dataChannelSDP)); - - this._peerConnection.setRemoteDescription(answer).catch(e => this._reportError(e)); - this._isControlChannelNeeded = false; - }, - - onIceCandidate: function(aCandidate) { - log("onIceCandidate: " + aCandidate + " with role " + this._role); - if (!this._window || !this._peerConnection) { - log("ignoring ICE candidate after connection"); - return; - } - let candidate = new this._window.RTCIceCandidate(JSON.parse(aCandidate)); - this._peerConnection.addIceCandidate(candidate).catch(e => this._reportError(e)); - }, - - notifyDisconnected: function(aReason) { - log("notifyDisconnected reason: " + aReason); - - if (aReason != Cr.NS_OK) { - this._cleanup(aReason); - } else if (this._isControlChannelNeeded) { - this._cleanup(Cr.NS_ERROR_FAILURE); - } - }, -}; - -function PresentationTransport() { - this._messageQueue = []; - this._closeReason = Cr.NS_OK; -} - -PresentationTransport.prototype = { - classID: PRESENTATIONTRANSPORT_CID, - contractID: PRESENTATIONTRANSPORT_CONTRACTID, - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransport]), - - init: function(aPeerConnection, aDataChannel, aWindow) { - log("initWithDataChannel"); - this._enableDataNotification = false; - this._dataChannel = aDataChannel; - this._peerConnection = aPeerConnection; - this._window = aWindow; - - this._dataChannel.onopen = () => { - log("data channel reopen. Should never touch here"); - }; - - this._dataChannel.onclose = () => { - log("data channel onclose"); - if (this._callback) { - this._callback.notifyTransportClosed(this._closeReason); - } - this._cleanup(); - } - - this._dataChannel.onmessage = aEvent => { - log("data channel onmessage " + aEvent.data); - - if (!this._enableDataNotification || !this._callback) { - log("queue message"); - this._messageQueue.push(aEvent.data); - return; - } - this._doNotifyData(aEvent.data); - }; - - this._dataChannel.onerror = aError => { - log("data channel onerror " + aError.name + ":" + aError.message); - if (this._callback) { - this._callback.notifyTransportClosed(Cr.NS_ERROR_FAILURE); - } - this._cleanup(); - } - }, - - // nsIPresentationTransport - get selfAddress() { - throw NS_ERROR_NOT_AVAILABLE; - }, - - get callback() { - return this._callback; - }, - - set callback(aCallback) { - this._callback = aCallback; - }, - - send: function(aData) { - log("send " + aData); - this._dataChannel.send(aData); - }, - - sendBinaryMsg: function(aData) { - log("sendBinaryMsg"); - - let array = new Uint8Array(aData.length); - for (let i = 0; i < aData.length; i++) { - array[i] = aData.charCodeAt(i); - } - - this._dataChannel.send(array); - }, - - sendBlob: function(aBlob) { - log("sendBlob"); - - this._dataChannel.send(aBlob); - }, - - enableDataNotification: function() { - log("enableDataNotification"); - if (this._enableDataNotification) { - return; - } - - if (!this._callback) { - throw NS_ERROR_NOT_AVAILABLE; - } - - this._enableDataNotification = true; - - this._messageQueue.forEach(aData => this._doNotifyData(aData)); - this._messageQueue = []; - }, - - close: function(aReason) { - this._closeReason = aReason; - - this._dataChannel.close(); - }, - - _cleanup: function() { - this._dataChannel = null; - - if (this._peerConnection) { - this._peerConnection.close(); - this._peerConnection = null; - } - this._callback = null; - this._messageQueue = []; - this._window = null; - }, - - _doNotifyData: function(aData) { - if (!this._callback) { - throw NS_ERROR_NOT_AVAILABLE; - } - - if (aData instanceof this._window.Blob) { - let reader = new this._window.FileReader(); - reader.addEventListener("load", (aEvent) => { - this._callback.notifyData(aEvent.target.result, true); - }); - reader.readAsBinaryString(aData); - } else { - this._callback.notifyData(aData, false); - } - }, -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PresentationTransportBuilder, - PresentationTransport]); diff --git a/dom/presentation/PresentationDataChannelSessionTransport.manifest b/dom/presentation/PresentationDataChannelSessionTransport.manifest deleted file mode 100644 index 6838f675fa..0000000000 --- a/dom/presentation/PresentationDataChannelSessionTransport.manifest +++ /dev/null @@ -1,6 +0,0 @@ -# PresentationDataChannelSessionTransport.js -component {dd2bbf2f-3399-4389-8f5f-d382afb8b2d6} PresentationDataChannelSessionTransport.js -contract @mozilla.org/presentation/datachanneltransport;1 {dd2bbf2f-3399-4389-8f5f-d382afb8b2d6} - -component {215b2f62-46e2-4004-a3d1-6858e56c20f3} PresentationDataChannelSessionTransport.js -contract @mozilla.org/presentation/datachanneltransportbuilder;1 {215b2f62-46e2-4004-a3d1-6858e56c20f3} diff --git a/dom/presentation/PresentationDeviceInfoManager.js b/dom/presentation/PresentationDeviceInfoManager.js deleted file mode 100644 index 29e7d370ce..0000000000 --- a/dom/presentation/PresentationDeviceInfoManager.js +++ /dev/null @@ -1,119 +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 http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -const {classes: Cc, interfaces: Ci, utils: Cu} = Components; - -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); -Cu.import("resource://gre/modules/DOMRequestHelper.jsm"); - -function log(aMsg) { - //dump("-*- PresentationDeviceInfoManager.js : " + aMsg + "\n"); -} - -const PRESENTATIONDEVICEINFOMANAGER_CID = Components.ID("{1bd66bef-f643-4be3-b690-0c656353eafd}"); -const PRESENTATIONDEVICEINFOMANAGER_CONTRACTID = "@mozilla.org/presentation-device/deviceInfo;1"; - -XPCOMUtils.defineLazyServiceGetter(this, "cpmm", - "@mozilla.org/childprocessmessagemanager;1", - "nsIMessageSender"); - -function PresentationDeviceInfoManager() {} - -PresentationDeviceInfoManager.prototype = { - __proto__: DOMRequestIpcHelper.prototype, - - classID: PRESENTATIONDEVICEINFOMANAGER_CID, - contractID: PRESENTATIONDEVICEINFOMANAGER_CONTRACTID, - QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, - Ci.nsIObserver, - Ci.nsIDOMGlobalPropertyInitializer]), - - receiveMessage: function(aMsg) { - if (!aMsg || !aMsg.data) { - return; - } - - let data = aMsg.data; - - log("receive aMsg: " + aMsg.name); - switch (aMsg.name) { - case "PresentationDeviceInfoManager:OnDeviceChange": { - let detail = { - detail: { - type: data.type, - deviceInfo: data.deviceInfo, - } - }; - let event = new this._window.CustomEvent("devicechange", Cu.cloneInto(detail, this._window)); - this.__DOM_IMPL__.dispatchEvent(event); - break; - } - case "PresentationDeviceInfoManager:GetAll:Result:Ok": { - let resolver = this.takePromiseResolver(data.requestId); - - if (!resolver) { - return; - } - - resolver.resolve(Cu.cloneInto(data.devices, this._window)); - break; - } - case "PresentationDeviceInfoManager:GetAll:Result:Error": { - let resolver = this.takePromiseResolver(data.requestId); - - if (!resolver) { - return; - } - - resolver.reject(data.error); - break; - } - } - }, - - init: function(aWin) { - log("init"); - this.initDOMRequestHelper(aWin, [ - {name: "PresentationDeviceInfoManager:OnDeviceChange", weakRef: true}, - {name: "PresentationDeviceInfoManager:GetAll:Result:Ok", weakRef: true}, - {name: "PresentationDeviceInfoManager:GetAll:Result:Error", weakRef: true}, - ]); - }, - - uninit: function() { - log("uninit"); - let self = this; - - this.forEachPromiseResolver(function(aKey) { - self.takePromiseResolver(aKey).reject("PresentationDeviceInfoManager got destroyed"); - }); - }, - - get ondevicechange() { - return this.__DOM_IMPL__.getEventHandler("ondevicechange"); - }, - - set ondevicechange(aHandler) { - this.__DOM_IMPL__.setEventHandler("ondevicechange", aHandler); - }, - - getAll: function() { - log("getAll"); - let self = this; - return this.createPromiseWithId(function(aResolverId) { - cpmm.sendAsyncMessage("PresentationDeviceInfoManager:GetAll", { - requestId: aResolverId, - }); - }); - }, - - forceDiscovery: function() { - cpmm.sendAsyncMessage("PresentationDeviceInfoManager:ForceDiscovery"); - }, -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PresentationDeviceInfoManager]); diff --git a/dom/presentation/PresentationDeviceInfoManager.jsm b/dom/presentation/PresentationDeviceInfoManager.jsm deleted file mode 100644 index 205982b9c0..0000000000 --- a/dom/presentation/PresentationDeviceInfoManager.jsm +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- / -/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ -/* 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 {classes: Cc, interfaces: Ci, utils: Cu} = Components; - -this.EXPORTED_SYMBOLS = ["PresentationDeviceInfoService"]; - -function log(aMsg) { - //dump("PresentationDeviceInfoManager.jsm: " + aMsg + "\n"); -} - -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -Cu.import("resource://gre/modules/Services.jsm"); - -XPCOMUtils.defineLazyServiceGetter(this, "presentationDeviceManager", - "@mozilla.org/presentation-device/manager;1", - "nsIPresentationDeviceManager"); - -XPCOMUtils.defineLazyServiceGetter(this, "ppmm", - "@mozilla.org/parentprocessmessagemanager;1", - "nsIMessageBroadcaster"); - -this.PresentationDeviceInfoService = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIMessageListener, - Ci.nsIObserver]), - - init: function() { - log("init"); - ppmm.addMessageListener("PresentationDeviceInfoManager:GetAll", this); - ppmm.addMessageListener("PresentationDeviceInfoManager:ForceDiscovery", this); - Services.obs.addObserver(this, "presentation-device-change", false); - }, - - getAll: function(aData, aMm) { - log("getAll"); - let deviceArray = presentationDeviceManager.getAvailableDevices().QueryInterface(Ci.nsIArray); - if (!deviceArray) { - aData.error = "DataError"; - aMm.sendAsyncMessage("PresentationDeviceInfoManager:GetAll:Result:Error", aData); - return; - } - - aData.devices = []; - for (let i = 0; i < deviceArray.length; i++) { - let device = deviceArray.queryElementAt(i, Ci.nsIPresentationDevice); - aData.devices.push({ - id: device.id, - name: device.name, - type: device.type, - }); - } - aMm.sendAsyncMessage("PresentationDeviceInfoManager:GetAll:Result:Ok", aData); - }, - - forceDiscovery: function() { - log("forceDiscovery"); - presentationDeviceManager.forceDiscovery(); - }, - - observe: function(aSubject, aTopic, aData) { - log("observe: " + aTopic); - - let device = aSubject.QueryInterface(Ci.nsIPresentationDevice); - let data = { - type: aData, - deviceInfo: { - id: device.id, - name: device.name, - type: device.type, - }, - }; - ppmm.broadcastAsyncMessage("PresentationDeviceInfoManager:OnDeviceChange", data); - }, - - receiveMessage: function(aMessage) { - if (!aMessage.target.assertPermission("presentation-device-manage")) { - debug("receive message " + aMessage.name + - " from a content process with no 'presentation-device-manage' privileges."); - return null; - } - - let msg = aMessage.data || {}; - let mm = aMessage.target; - - log("receiveMessage: " + aMessage.name); - switch (aMessage.name) { - case "PresentationDeviceInfoManager:GetAll": { - this.getAll(msg, mm); - break; - } - case "PresentationDeviceInfoManager:ForceDiscovery": { - this.forceDiscovery(); - break; - } - } - }, -}; - -this.PresentationDeviceInfoService.init(); diff --git a/dom/presentation/PresentationDeviceInfoManager.manifest b/dom/presentation/PresentationDeviceInfoManager.manifest deleted file mode 100644 index ae50b8e6a8..0000000000 --- a/dom/presentation/PresentationDeviceInfoManager.manifest +++ /dev/null @@ -1,3 +0,0 @@ -# PresentationDeviceInfoManager.js -component {1bd66bef-f643-4be3-b690-0c656353eafd} PresentationDeviceInfoManager.js -contract @mozilla.org/presentation-device/deviceInfo;1 {1bd66bef-f643-4be3-b690-0c656353eafd} diff --git a/dom/presentation/PresentationDeviceManager.cpp b/dom/presentation/PresentationDeviceManager.cpp deleted file mode 100644 index 7e5a4700c8..0000000000 --- a/dom/presentation/PresentationDeviceManager.cpp +++ /dev/null @@ -1,336 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#include "PresentationDeviceManager.h" - -#include "mozilla/Services.h" -#include "MainThreadUtils.h" -#include "nsArrayUtils.h" -#include "nsCategoryCache.h" -#include "nsCOMPtr.h" -#include "nsIMutableArray.h" -#include "nsIObserverService.h" -#include "nsXULAppAPI.h" -#include "PresentationSessionRequest.h" -#include "PresentationTerminateRequest.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(PresentationDeviceManager, - nsIPresentationDeviceManager, - nsIPresentationDeviceListener, - nsIObserver, - nsISupportsWeakReference) - -PresentationDeviceManager::PresentationDeviceManager() -{ -} - -PresentationDeviceManager::~PresentationDeviceManager() -{ - UnloadDeviceProviders(); - mDevices.Clear(); -} - -void -PresentationDeviceManager::Init() -{ - nsCOMPtr obs = mozilla::services::GetObserverService(); - if (obs) { - obs->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false); - } - - LoadDeviceProviders(); -} - -void -PresentationDeviceManager::Shutdown() -{ - nsCOMPtr obs = mozilla::services::GetObserverService(); - if (obs) { - obs->RemoveObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID); - } - - UnloadDeviceProviders(); -} - -void -PresentationDeviceManager::LoadDeviceProviders() -{ - MOZ_ASSERT(mProviders.IsEmpty()); - - nsCategoryCache providerCache(PRESENTATION_DEVICE_PROVIDER_CATEGORY); - providerCache.GetEntries(mProviders); - - for (uint32_t i = 0; i < mProviders.Length(); ++i) { - mProviders[i]->SetListener(this); - } -} - -void -PresentationDeviceManager::UnloadDeviceProviders() -{ - for (uint32_t i = 0; i < mProviders.Length(); ++i) { - mProviders[i]->SetListener(nullptr); - } - - mProviders.Clear(); -} - -void -PresentationDeviceManager::NotifyDeviceChange(nsIPresentationDevice* aDevice, - const char16_t* aType) -{ - nsCOMPtr obs = services::GetObserverService(); - if (obs) { - obs->NotifyObservers(aDevice, - PRESENTATION_DEVICE_CHANGE_TOPIC, - aType); - } -} - -// nsIPresentationDeviceManager -NS_IMETHODIMP -PresentationDeviceManager::ForceDiscovery() -{ - MOZ_ASSERT(NS_IsMainThread()); - - for (uint32_t i = 0; i < mProviders.Length(); ++i) { - mProviders[i]->ForceDiscovery(); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::AddDeviceProvider(nsIPresentationDeviceProvider* aProvider) -{ - NS_ENSURE_ARG(aProvider); - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(mProviders.Contains(aProvider))) { - return NS_OK; - } - - mProviders.AppendElement(aProvider); - aProvider->SetListener(this); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::RemoveDeviceProvider(nsIPresentationDeviceProvider* aProvider) -{ - NS_ENSURE_ARG(aProvider); - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!mProviders.RemoveElement(aProvider))) { - return NS_ERROR_FAILURE; - } - - aProvider->SetListener(nullptr); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::GetDeviceAvailable(bool* aRetVal) -{ - NS_ENSURE_ARG_POINTER(aRetVal); - MOZ_ASSERT(NS_IsMainThread()); - - *aRetVal = !mDevices.IsEmpty(); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::GetAvailableDevices(nsIArray* aPresentationUrls, nsIArray** aRetVal) -{ - NS_ENSURE_ARG_POINTER(aRetVal); - MOZ_ASSERT(NS_IsMainThread()); - - // Bug 1194049: some providers may discontinue discovery after timeout. - // Call |ForceDiscovery()| here to make sure device lists are updated. - NS_DispatchToMainThread( - NewRunnableMethod(this, &PresentationDeviceManager::ForceDiscovery)); - - nsTArray presentationUrls; - if (aPresentationUrls) { - uint32_t length; - nsresult rv = aPresentationUrls->GetLength(&length); - if (NS_SUCCEEDED(rv)) { - for (uint32_t i = 0; i < length; ++i) { - nsCOMPtr isupportStr = - do_QueryElementAt(aPresentationUrls, i); - - nsAutoString presentationUrl; - rv = isupportStr->GetData(presentationUrl); - if (NS_WARN_IF(NS_FAILED(rv))) { - continue; - } - - presentationUrls.AppendElement(presentationUrl); - } - } - } - - nsCOMPtr devices = do_CreateInstance(NS_ARRAY_CONTRACTID); - for (uint32_t i = 0; i < mDevices.Length(); ++i) { - if (presentationUrls.IsEmpty()) { - devices->AppendElement(mDevices[i], false); - continue; - } - - for (uint32_t j = 0; j < presentationUrls.Length(); ++j) { - bool isSupported; - if (NS_SUCCEEDED(mDevices[i]->IsRequestedUrlSupported(presentationUrls[j], - &isSupported)) && - isSupported) { - devices->AppendElement(mDevices[i], false); - break; - } - } - } - - devices.forget(aRetVal); - - return NS_OK; -} - -// nsIPresentationDeviceListener -NS_IMETHODIMP -PresentationDeviceManager::AddDevice(nsIPresentationDevice* aDevice) -{ - NS_ENSURE_ARG(aDevice); - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(mDevices.Contains(aDevice))) { - return NS_ERROR_FAILURE; - } - - mDevices.AppendElement(aDevice); - - NotifyDeviceChange(aDevice, u"add"); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::RemoveDevice(nsIPresentationDevice* aDevice) -{ - NS_ENSURE_ARG(aDevice); - MOZ_ASSERT(NS_IsMainThread()); - - int32_t index = mDevices.IndexOf(aDevice); - if (NS_WARN_IF(index < 0)) { - return NS_ERROR_FAILURE; - } - - mDevices.RemoveElementAt(index); - - NotifyDeviceChange(aDevice, u"remove"); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::UpdateDevice(nsIPresentationDevice* aDevice) -{ - NS_ENSURE_ARG(aDevice); - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!mDevices.Contains(aDevice))) { - return NS_ERROR_FAILURE; - } - - NotifyDeviceChange(aDevice, u"update"); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::OnSessionRequest(nsIPresentationDevice* aDevice, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) -{ - NS_ENSURE_ARG(aDevice); - NS_ENSURE_ARG(aControlChannel); - - nsCOMPtr obs = services::GetObserverService(); - NS_ENSURE_TRUE(obs, NS_ERROR_FAILURE); - - RefPtr request = - new PresentationSessionRequest(aDevice, aUrl, aPresentationId, aControlChannel); - obs->NotifyObservers(request, - PRESENTATION_SESSION_REQUEST_TOPIC, - nullptr); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::OnTerminateRequest(nsIPresentationDevice* aDevice, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel, - bool aIsFromReceiver) -{ - NS_ENSURE_ARG(aDevice); - NS_ENSURE_ARG(aControlChannel); - - nsCOMPtr obs = services::GetObserverService(); - NS_ENSURE_TRUE(obs, NS_ERROR_FAILURE); - - RefPtr request = - new PresentationTerminateRequest(aDevice, aPresentationId, - aControlChannel, aIsFromReceiver); - obs->NotifyObservers(request, - PRESENTATION_TERMINATE_REQUEST_TOPIC, - nullptr); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceManager::OnReconnectRequest(nsIPresentationDevice* aDevice, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) -{ - NS_ENSURE_ARG(aDevice); - NS_ENSURE_ARG(aControlChannel); - - nsCOMPtr obs = services::GetObserverService(); - NS_ENSURE_TRUE(obs, NS_ERROR_FAILURE); - - RefPtr request = - new PresentationSessionRequest(aDevice, aUrl, aPresentationId, aControlChannel); - obs->NotifyObservers(request, - PRESENTATION_RECONNECT_REQUEST_TOPIC, - nullptr); - - return NS_OK; -} - -// nsIObserver -NS_IMETHODIMP -PresentationDeviceManager::Observe(nsISupports *aSubject, - const char *aTopic, - const char16_t *aData) -{ - if (!strcmp(aTopic, "profile-after-change")) { - Init(); - } else if (!strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) { - Shutdown(); - } - - return NS_OK; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/PresentationDeviceManager.h b/dom/presentation/PresentationDeviceManager.h deleted file mode 100644 index f854ee8834..0000000000 --- a/dom/presentation/PresentationDeviceManager.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationDeviceManager_h__ -#define mozilla_dom_PresentationDeviceManager_h__ - -#include "nsIObserver.h" -#include "nsIPresentationDevice.h" -#include "nsIPresentationDeviceManager.h" -#include "nsIPresentationDeviceProvider.h" -#include "nsCOMArray.h" -#include "nsWeakReference.h" - -namespace mozilla { -namespace dom { - -class PresentationDeviceManager final : public nsIPresentationDeviceManager - , public nsIPresentationDeviceListener - , public nsIObserver - , public nsSupportsWeakReference -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICEMANAGER - NS_DECL_NSIPRESENTATIONDEVICELISTENER - NS_DECL_NSIOBSERVER - - PresentationDeviceManager(); - -private: - virtual ~PresentationDeviceManager(); - - void Init(); - - void Shutdown(); - - void LoadDeviceProviders(); - - void UnloadDeviceProviders(); - - void NotifyDeviceChange(nsIPresentationDevice* aDevice, - const char16_t* aType); - - nsCOMArray mProviders; - nsCOMArray mDevices; -}; - -} // namespace dom -} // namespace mozilla - -#endif /* mozilla_dom_PresentationDeviceManager_h__ */ diff --git a/dom/presentation/PresentationLog.h b/dom/presentation/PresentationLog.h deleted file mode 100644 index 96af0c1249..0000000000 --- a/dom/presentation/PresentationLog.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationLog_h -#define mozilla_dom_PresentationLog_h - -/* - * MOZ_LOG=Presentation:5 - * For detail, see PresentationService.cpp - */ -namespace mozilla { -namespace dom { -extern mozilla::LazyLogModule gPresentationLog; -} -} - -#undef PRES_ERROR -#define PRES_ERROR(...) MOZ_LOG(mozilla::dom::gPresentationLog, mozilla::LogLevel::Error, (__VA_ARGS__)) - -#undef PRES_DEBUG -#define PRES_DEBUG(...) MOZ_LOG(mozilla::dom::gPresentationLog, mozilla::LogLevel::Debug, (__VA_ARGS__)) - -#endif // mozilla_dom_PresentationLog_h diff --git a/dom/presentation/PresentationNetworkHelper.js b/dom/presentation/PresentationNetworkHelper.js deleted file mode 100644 index 9b6458dafa..0000000000 --- a/dom/presentation/PresentationNetworkHelper.js +++ /dev/null @@ -1,28 +0,0 @@ -// -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*- -/* 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 { classes: Cc, interfaces: Ci, utils: Cu } = Components; - -Cu.import("resource://gre/modules/Messaging.jsm"); -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); - -const NETWORKHELPER_CID = Components.ID("{5fb96caa-6d49-4f6b-9a4b-65dd0d51f92d}"); - -function PresentationNetworkHelper() {} - -PresentationNetworkHelper.prototype = { - classID: NETWORKHELPER_CID, - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationNetworkHelper]), - - getWifiIPAddress: function(aListener) { - Messaging.sendRequestForResult({type: "Wifi:GetIPAddress"}) - .then(result => aListener.onGetWifiIPAddress(result), - err => aListener.onError(err)); - } -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PresentationNetworkHelper]); diff --git a/dom/presentation/PresentationNetworkHelper.manifest b/dom/presentation/PresentationNetworkHelper.manifest deleted file mode 100644 index a061cef08f..0000000000 --- a/dom/presentation/PresentationNetworkHelper.manifest +++ /dev/null @@ -1,3 +0,0 @@ -# PresentationNetworkHelper.js -component {5fb96caa-6d49-4f6b-9a4b-65dd0d51f92d} PresentationNetworkHelper.js -contract @mozilla.org/presentation-device/networkHelper;1 {5fb96caa-6d49-4f6b-9a4b-65dd0d51f92d} diff --git a/dom/presentation/PresentationReceiver.cpp b/dom/presentation/PresentationReceiver.cpp deleted file mode 100644 index bc1776b456..0000000000 --- a/dom/presentation/PresentationReceiver.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "PresentationReceiver.h" - -#include "mozilla/dom/PresentationReceiverBinding.h" -#include "mozilla/dom/Promise.h" -#include "nsContentUtils.h" -#include "nsIPresentationService.h" -#include "nsPIDOMWindow.h" -#include "nsServiceManagerUtils.h" -#include "nsThreadUtils.h" -#include "PresentationConnection.h" -#include "PresentationConnectionList.h" -#include "PresentationLog.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(PresentationReceiver, - mOwner, - mGetConnectionListPromise, - mConnectionList) - -NS_IMPL_CYCLE_COLLECTING_ADDREF(PresentationReceiver) -NS_IMPL_CYCLE_COLLECTING_RELEASE(PresentationReceiver) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(PresentationReceiver) - NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY - NS_INTERFACE_MAP_ENTRY(nsIPresentationRespondingListener) - NS_INTERFACE_MAP_ENTRY(nsISupports) -NS_INTERFACE_MAP_END - -/* static */ already_AddRefed -PresentationReceiver::Create(nsPIDOMWindowInner* aWindow) -{ - RefPtr receiver = new PresentationReceiver(aWindow); - return NS_WARN_IF(!receiver->Init()) ? nullptr : receiver.forget(); -} - -PresentationReceiver::PresentationReceiver(nsPIDOMWindowInner* aWindow) - : mOwner(aWindow) -{ - MOZ_ASSERT(aWindow); -} - -PresentationReceiver::~PresentationReceiver() -{ - Shutdown(); -} - -bool -PresentationReceiver::Init() -{ - if (NS_WARN_IF(!mOwner)) { - return false; - } - mWindowId = mOwner->WindowID(); - - nsCOMPtr docShell = mOwner->GetDocShell(); - MOZ_ASSERT(docShell); - - nsContentUtils::GetPresentationURL(docShell, mUrl); - return !mUrl.IsEmpty(); -} - -void PresentationReceiver::Shutdown() -{ - PRES_DEBUG("receiver shutdown:windowId[%d]\n", mWindowId); - - // Unregister listener for incoming sessions. - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return; - } - - Unused << - NS_WARN_IF(NS_FAILED(service->UnregisterRespondingListener(mWindowId))); -} - -/* virtual */ JSObject* -PresentationReceiver::WrapObject(JSContext* aCx, - JS::Handle aGivenProto) -{ - return PresentationReceiverBinding::Wrap(aCx, this, aGivenProto); -} - -NS_IMETHODIMP -PresentationReceiver::NotifySessionConnect(uint64_t aWindowId, - const nsAString& aSessionId) -{ - PRES_DEBUG("receiver session connect:id[%s], windowId[%x]\n", - NS_ConvertUTF16toUTF8(aSessionId).get(), aWindowId); - - if (NS_WARN_IF(!mOwner)) { - return NS_ERROR_FAILURE; - } - - if (NS_WARN_IF(aWindowId != mWindowId)) { - return NS_ERROR_INVALID_ARG; - } - - if (NS_WARN_IF(!mConnectionList)) { - return NS_ERROR_FAILURE; - } - - RefPtr connection = - PresentationConnection::Create(mOwner, aSessionId, mUrl, - nsIPresentationService::ROLE_RECEIVER, - mConnectionList); - if (NS_WARN_IF(!connection)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return NS_OK; -} - -already_AddRefed -PresentationReceiver::GetConnectionList(ErrorResult& aRv) -{ - nsCOMPtr global = do_QueryInterface(mOwner); - if (NS_WARN_IF(!global)) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - - if (!mGetConnectionListPromise) { - mGetConnectionListPromise = Promise::Create(global, aRv); - if (NS_WARN_IF(aRv.Failed())) { - return nullptr; - } - - RefPtr self = this; - nsresult rv = - NS_DispatchToMainThread(NS_NewRunnableFunction([self] () -> void { - self->CreateConnectionList(); - })); - if (NS_FAILED(rv)) { - aRv.Throw(rv); - return nullptr; - } - } - - RefPtr promise = mGetConnectionListPromise; - return promise.forget(); -} - -void -PresentationReceiver::CreateConnectionList() -{ - MOZ_ASSERT(mGetConnectionListPromise); - - if (mConnectionList) { - return; - } - - mConnectionList = new PresentationConnectionList(mOwner, - mGetConnectionListPromise); - - // Register listener for incoming sessions. - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - mGetConnectionListPromise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - nsresult rv = service->RegisterRespondingListener(mWindowId, this); - if (NS_WARN_IF(NS_FAILED(rv))) { - mGetConnectionListPromise->MaybeReject(rv); - } -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/PresentationReceiver.h b/dom/presentation/PresentationReceiver.h deleted file mode 100644 index ee72f587bc..0000000000 --- a/dom/presentation/PresentationReceiver.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationReceiver_h -#define mozilla_dom_PresentationReceiver_h - -#include "mozilla/ErrorResult.h" -#include "nsCOMPtr.h" -#include "nsCycleCollectionParticipant.h" -#include "nsIPresentationListener.h" -#include "nsWrapperCache.h" -#include "nsString.h" - -class nsPIDOMWindowInner; - -namespace mozilla { -namespace dom { - -class PresentationConnection; -class PresentationConnectionList; -class Promise; - -class PresentationReceiver final : public nsIPresentationRespondingListener - , public nsWrapperCache -{ -public: - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(PresentationReceiver) - NS_DECL_NSIPRESENTATIONRESPONDINGLISTENER - - static already_AddRefed Create(nsPIDOMWindowInner* aWindow); - - virtual JSObject* WrapObject(JSContext* aCx, - JS::Handle aGivenProto) override; - - nsPIDOMWindowInner* GetParentObject() const - { - return mOwner; - } - - // WebIDL (public APIs) - already_AddRefed GetConnectionList(ErrorResult& aRv); - -private: - explicit PresentationReceiver(nsPIDOMWindowInner* aWindow); - - virtual ~PresentationReceiver(); - - MOZ_IS_CLASS_INIT bool Init(); - - void Shutdown(); - - void CreateConnectionList(); - - // Store the inner window ID for |UnregisterRespondingListener| call in - // |Shutdown| since the inner window may not exist at that moment. - uint64_t mWindowId; - - nsCOMPtr mOwner; - nsString mUrl; - RefPtr mGetConnectionListPromise; - RefPtr mConnectionList; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationReceiver_h diff --git a/dom/presentation/PresentationRequest.cpp b/dom/presentation/PresentationRequest.cpp deleted file mode 100644 index 221684e531..0000000000 --- a/dom/presentation/PresentationRequest.cpp +++ /dev/null @@ -1,563 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "PresentationRequest.h" - -#include "AvailabilityCollection.h" -#include "ControllerConnectionCollection.h" -#include "mozilla/BasePrincipal.h" -#include "mozilla/dom/Navigator.h" -#include "mozilla/dom/PresentationRequestBinding.h" -#include "mozilla/dom/PresentationConnectionAvailableEvent.h" -#include "mozilla/dom/Promise.h" -#include "mozilla/Move.h" -#include "mozIThirdPartyUtil.h" -#include "nsContentSecurityManager.h" -#include "nsCycleCollectionParticipant.h" -#include "nsGlobalWindow.h" -#include "nsIDocument.h" -#include "nsIPresentationService.h" -#include "nsIURI.h" -#include "nsIUUIDGenerator.h" -#include "nsNetUtil.h" -#include "nsSandboxFlags.h" -#include "nsServiceManagerUtils.h" -#include "Presentation.h" -#include "PresentationAvailability.h" -#include "PresentationCallbacks.h" -#include "PresentationLog.h" -#include "PresentationTransportBuilderConstructor.h" - -using namespace mozilla; -using namespace mozilla::dom; - -NS_IMPL_ADDREF_INHERITED(PresentationRequest, DOMEventTargetHelper) -NS_IMPL_RELEASE_INHERITED(PresentationRequest, DOMEventTargetHelper) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(PresentationRequest) -NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) - -static nsresult -GetAbsoluteURL(const nsAString& aUrl, - nsIURI* aBaseUri, - nsIDocument* aDocument, - nsAString& aAbsoluteUrl) -{ - nsCOMPtr uri; - nsresult rv = NS_NewURI(getter_AddRefs(uri), - aUrl, - aDocument ? aDocument->GetDocumentCharacterSet().get() - : nullptr, - aBaseUri); - - if (NS_FAILED(rv)) { - return rv; - } - - nsAutoCString spec; - uri->GetSpec(spec); - - aAbsoluteUrl = NS_ConvertUTF8toUTF16(spec); - - return NS_OK; -} - -/* static */ already_AddRefed -PresentationRequest::Constructor(const GlobalObject& aGlobal, - const nsAString& aUrl, - ErrorResult& aRv) -{ - Sequence urls; - urls.AppendElement(aUrl, fallible); - return Constructor(aGlobal, urls, aRv); -} - -/* static */ already_AddRefed -PresentationRequest::Constructor(const GlobalObject& aGlobal, - const Sequence& aUrls, - ErrorResult& aRv) -{ - nsCOMPtr window = do_QueryInterface(aGlobal.GetAsSupports()); - if (!window) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - - if (aUrls.IsEmpty()) { - aRv.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); - return nullptr; - } - - // Resolve relative URL to absolute URL - nsCOMPtr baseUri = window->GetDocBaseURI(); - nsTArray urls; - for (const auto& url : aUrls) { - nsAutoString absoluteUrl; - nsresult rv = - GetAbsoluteURL(url, baseUri, window->GetExtantDoc(), absoluteUrl); - if (NS_WARN_IF(NS_FAILED(rv))) { - aRv.Throw(NS_ERROR_DOM_SYNTAX_ERR); - return nullptr; - } - - urls.AppendElement(absoluteUrl); - } - - RefPtr request = - new PresentationRequest(window, Move(urls)); - return NS_WARN_IF(!request->Init()) ? nullptr : request.forget(); -} - -PresentationRequest::PresentationRequest(nsPIDOMWindowInner* aWindow, - nsTArray&& aUrls) - : DOMEventTargetHelper(aWindow) - , mUrls(Move(aUrls)) -{ -} - -PresentationRequest::~PresentationRequest() -{ -} - -bool -PresentationRequest::Init() -{ - return true; -} - -/* virtual */ JSObject* -PresentationRequest::WrapObject(JSContext* aCx, - JS::Handle aGivenProto) -{ - return PresentationRequestBinding::Wrap(aCx, this, aGivenProto); -} - -already_AddRefed -PresentationRequest::Start(ErrorResult& aRv) -{ - return StartWithDevice(NullString(), aRv); -} - -already_AddRefed -PresentationRequest::StartWithDevice(const nsAString& aDeviceId, - ErrorResult& aRv) -{ - nsCOMPtr global = do_QueryInterface(GetOwner()); - if (NS_WARN_IF(!global)) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - - // Get the origin. - nsAutoString origin; - nsresult rv = nsContentUtils::GetUTFOrigin(global->PrincipalOrNull(), origin); - if (NS_WARN_IF(NS_FAILED(rv))) { - aRv.Throw(rv); - return nullptr; - } - - nsCOMPtr doc = GetOwner()->GetExtantDoc(); - if (NS_WARN_IF(!doc)) { - aRv.Throw(NS_ERROR_FAILURE); - return nullptr; - } - - RefPtr promise = Promise::Create(global, aRv); - if (NS_WARN_IF(aRv.Failed())) { - return nullptr; - } - - if (IsProhibitMixedSecurityContexts(doc) && - !IsAllURLAuthenticated()) { - promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); - return promise.forget(); - } - - if (doc->GetSandboxFlags() & SANDBOXED_PRESENTATION) { - promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); - return promise.forget(); - } - - RefPtr navigator = - nsGlobalWindow::Cast(GetOwner())->GetNavigator(aRv); - if (NS_WARN_IF(aRv.Failed())) { - return nullptr; - } - - RefPtr presentation = navigator->GetPresentation(aRv); - if (NS_WARN_IF(aRv.Failed())) { - return nullptr; - } - - if (presentation->IsStartSessionUnsettled()) { - promise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return promise.forget(); - } - - // Generate a session ID. - nsCOMPtr uuidgen = - do_GetService("@mozilla.org/uuid-generator;1"); - if(NS_WARN_IF(!uuidgen)) { - promise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return promise.forget(); - } - - nsID uuid; - uuidgen->GenerateUUIDInPlace(&uuid); - char buffer[NSID_LENGTH]; - uuid.ToProvidedString(buffer); - nsAutoString id; - CopyASCIItoUTF16(buffer, id); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - promise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return promise.forget(); - } - - presentation->SetStartSessionUnsettled(true); - - // Get xul:browser element in parent process or nsWindowRoot object in child - // process. If it's in child process, the corresponding xul:browser element - // will be obtained at PresentationRequestParent::DoRequest in its parent - // process. - nsCOMPtr handler = - do_QueryInterface(GetOwner()->GetChromeEventHandler()); - nsCOMPtr principal = doc->NodePrincipal(); - nsCOMPtr callback = - new PresentationRequesterCallback(this, id, promise); - nsCOMPtr constructor = - PresentationTransportBuilderConstructor::Create(); - rv = service->StartSession(mUrls, - id, - origin, - aDeviceId, - GetOwner()->WindowID(), - handler, - principal, - callback, - constructor); - if (NS_WARN_IF(NS_FAILED(rv))) { - promise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - NotifyPromiseSettled(); - } - - return promise.forget(); -} - -already_AddRefed -PresentationRequest::Reconnect(const nsAString& aPresentationId, - ErrorResult& aRv) -{ - nsCOMPtr global = do_QueryInterface(GetOwner()); - if (NS_WARN_IF(!global)) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - - nsCOMPtr doc = GetOwner()->GetExtantDoc(); - if (NS_WARN_IF(!doc)) { - aRv.Throw(NS_ERROR_FAILURE); - return nullptr; - } - - RefPtr promise = Promise::Create(global, aRv); - if (NS_WARN_IF(aRv.Failed())) { - return nullptr; - } - - if (IsProhibitMixedSecurityContexts(doc) && - !IsAllURLAuthenticated()) { - promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); - return promise.forget(); - } - - if (doc->GetSandboxFlags() & SANDBOXED_PRESENTATION) { - promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); - return promise.forget(); - } - - nsString presentationId = nsString(aPresentationId); - nsCOMPtr r = - NewRunnableMethod>( - this, - &PresentationRequest::FindOrCreatePresentationConnection, - presentationId, - promise); - - if (NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(r)))) { - promise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - } - - return promise.forget(); -} - -void -PresentationRequest::FindOrCreatePresentationConnection( - const nsAString& aPresentationId, - Promise* aPromise) -{ - MOZ_ASSERT(aPromise); - - if (NS_WARN_IF(!GetOwner())) { - aPromise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - RefPtr connection = - ControllerConnectionCollection::GetSingleton()->FindConnection( - GetOwner()->WindowID(), - aPresentationId, - nsIPresentationService::ROLE_CONTROLLER); - - if (connection) { - nsAutoString url; - connection->GetUrl(url); - if (mUrls.Contains(url)) { - switch (connection->State()) { - case PresentationConnectionState::Closed: - // We found the matched connection. - break; - case PresentationConnectionState::Connecting: - case PresentationConnectionState::Connected: - aPromise->MaybeResolve(connection); - return; - case PresentationConnectionState::Terminated: - // A terminated connection cannot be reused. - connection = nullptr; - break; - default: - MOZ_CRASH("Unknown presentation session state."); - return; - } - } else { - connection = nullptr; - } - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if(NS_WARN_IF(!service)) { - aPromise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - nsCOMPtr callback = - new PresentationReconnectCallback(this, - aPresentationId, - aPromise, - connection); - - nsresult rv = - service->ReconnectSession(mUrls, - aPresentationId, - nsIPresentationService::ROLE_CONTROLLER, - callback); - if (NS_WARN_IF(NS_FAILED(rv))) { - aPromise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - } -} - -already_AddRefed -PresentationRequest::GetAvailability(ErrorResult& aRv) -{ - PRES_DEBUG("%s\n", __func__); - nsCOMPtr global = do_QueryInterface(GetOwner()); - if (NS_WARN_IF(!global)) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - - nsCOMPtr doc = GetOwner()->GetExtantDoc(); - if (NS_WARN_IF(!doc)) { - aRv.Throw(NS_ERROR_FAILURE); - return nullptr; - } - - RefPtr promise = Promise::Create(global, aRv); - if (NS_WARN_IF(aRv.Failed())) { - return nullptr; - } - - if (IsProhibitMixedSecurityContexts(doc) && - !IsAllURLAuthenticated()) { - promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); - return promise.forget(); - } - - if (doc->GetSandboxFlags() & SANDBOXED_PRESENTATION) { - promise->MaybeReject(NS_ERROR_DOM_SECURITY_ERR); - return promise.forget(); - } - - FindOrCreatePresentationAvailability(promise); - - return promise.forget(); -} - -void -PresentationRequest::FindOrCreatePresentationAvailability(RefPtr& aPromise) -{ - MOZ_ASSERT(aPromise); - - if (NS_WARN_IF(!GetOwner())) { - aPromise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - AvailabilityCollection* collection = AvailabilityCollection::GetSingleton(); - if (NS_WARN_IF(!collection)) { - aPromise->MaybeReject(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - RefPtr availability = - collection->Find(GetOwner()->WindowID(), mUrls); - - if (!availability) { - availability = PresentationAvailability::Create(GetOwner(), mUrls, aPromise); - } else { - PRES_DEBUG(">resolve with same object\n"); - - // Fetching cached available devices is asynchronous in our implementation, - // we need to ensure the promise is resolved in order. - if (availability->IsCachedValueReady()) { - aPromise->MaybeResolve(availability); - return; - } - - availability->EnqueuePromise(aPromise); - } - - if (!availability) { - aPromise->MaybeReject(NS_ERROR_DOM_NOT_SUPPORTED_ERR); - return; - } -} - -nsresult -PresentationRequest::DispatchConnectionAvailableEvent(PresentationConnection* aConnection) -{ - PresentationConnectionAvailableEventInit init; - init.mConnection = aConnection; - - RefPtr event = - PresentationConnectionAvailableEvent::Constructor(this, - NS_LITERAL_STRING("connectionavailable"), - init); - if (NS_WARN_IF(!event)) { - return NS_ERROR_FAILURE; - } - event->SetTrusted(true); - - RefPtr asyncDispatcher = - new AsyncEventDispatcher(this, event); - return asyncDispatcher->PostDOMEvent(); -} - -void -PresentationRequest::NotifyPromiseSettled() -{ - PRES_DEBUG("%s\n", __func__); - - if (!GetOwner()) { - return; - } - - ErrorResult rv; - RefPtr navigator = - nsGlobalWindow::Cast(GetOwner())->GetNavigator(rv); - if (!navigator) { - return; - } - - RefPtr presentation = navigator->GetPresentation(rv); - - if (presentation) { - presentation->SetStartSessionUnsettled(false); - } -} - -bool -PresentationRequest::IsProhibitMixedSecurityContexts(nsIDocument* aDocument) -{ - MOZ_ASSERT(aDocument); - - if (nsContentUtils::IsChromeDoc(aDocument)) { - return true; - } - - nsCOMPtr doc = aDocument; - while (doc && !nsContentUtils::IsChromeDoc(doc)) { - if (nsContentUtils::HttpsStateIsModern(doc)) { - return true; - } - - doc = doc->GetParentDocument(); - } - - return false; -} - -bool -PresentationRequest::IsPrioriAuthenticatedURL(const nsAString& aUrl) -{ - nsCOMPtr uri; - if (NS_FAILED(NS_NewURI(getter_AddRefs(uri), aUrl))) { - return false; - } - - nsAutoCString scheme; - nsresult rv = uri->GetScheme(scheme); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - - if (scheme.EqualsLiteral("data")) { - return true; - } - - nsAutoCString uriSpec; - rv = uri->GetSpec(uriSpec); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - - if (uriSpec.EqualsLiteral("about:blank") || - uriSpec.EqualsLiteral("about:srcdoc")) { - return true; - } - - PrincipalOriginAttributes attrs; - nsCOMPtr principal = - BasePrincipal::CreateCodebasePrincipal(uri, attrs); - if (NS_WARN_IF(!principal)) { - return false; - } - - nsCOMPtr csm = - do_GetService(NS_CONTENTSECURITYMANAGER_CONTRACTID); - if (NS_WARN_IF(!csm)) { - return false; - } - - bool isTrustworthyOrigin = false; - csm->IsOriginPotentiallyTrustworthy(principal, &isTrustworthyOrigin); - return isTrustworthyOrigin; -} - -bool -PresentationRequest::IsAllURLAuthenticated() -{ - for (const auto& url : mUrls) { - if (!IsPrioriAuthenticatedURL(url)) { - return false; - } - } - - return true; -} diff --git a/dom/presentation/PresentationRequest.h b/dom/presentation/PresentationRequest.h deleted file mode 100644 index ce82f2b447..0000000000 --- a/dom/presentation/PresentationRequest.h +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationRequest_h -#define mozilla_dom_PresentationRequest_h - -#include "mozilla/dom/BindingDeclarations.h" -#include "mozilla/DOMEventTargetHelper.h" - -class nsIDocument; - -namespace mozilla { -namespace dom { - -class Promise; -class PresentationAvailability; -class PresentationConnection; - -class PresentationRequest final : public DOMEventTargetHelper -{ -public: - NS_DECL_ISUPPORTS_INHERITED - - static already_AddRefed Constructor( - const GlobalObject& aGlobal, - const nsAString& aUrl, - ErrorResult& aRv); - - static already_AddRefed Constructor( - const GlobalObject& aGlobal, - const Sequence& aUrls, - ErrorResult& aRv); - - virtual JSObject* WrapObject(JSContext* aCx, - JS::Handle aGivenProto) override; - - // WebIDL (public APIs) - already_AddRefed Start(ErrorResult& aRv); - - already_AddRefed StartWithDevice(const nsAString& aDeviceId, - ErrorResult& aRv); - - already_AddRefed Reconnect(const nsAString& aPresentationId, - ErrorResult& aRv); - - already_AddRefed GetAvailability(ErrorResult& aRv); - - IMPL_EVENT_HANDLER(connectionavailable); - - nsresult DispatchConnectionAvailableEvent(PresentationConnection* aConnection); - - void NotifyPromiseSettled(); - -private: - PresentationRequest(nsPIDOMWindowInner* aWindow, - nsTArray&& aUrls); - - ~PresentationRequest(); - - bool Init(); - - void FindOrCreatePresentationConnection(const nsAString& aPresentationId, - Promise* aPromise); - - void FindOrCreatePresentationAvailability(RefPtr& aPromise); - - // Implement https://w3c.github.io/webappsec-mixed-content/#categorize-settings-object - bool IsProhibitMixedSecurityContexts(nsIDocument* aDocument); - - // Implement https://w3c.github.io/webappsec-mixed-content/#a-priori-authenticated-url - bool IsPrioriAuthenticatedURL(const nsAString& aUrl); - - bool IsAllURLAuthenticated(); - - nsTArray mUrls; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationRequest_h diff --git a/dom/presentation/PresentationService.cpp b/dom/presentation/PresentationService.cpp deleted file mode 100644 index bc525cdb8c..0000000000 --- a/dom/presentation/PresentationService.cpp +++ /dev/null @@ -1,1188 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 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/. */ - -#include "PresentationService.h" - -#include "ipc/PresentationIPCService.h" -#include "mozilla/Services.h" -#include "nsGlobalWindow.h" -#include "nsIMutableArray.h" -#include "nsIObserverService.h" -#include "nsIPresentationControlChannel.h" -#include "nsIPresentationDeviceManager.h" -#include "nsIPresentationDevicePrompt.h" -#include "nsIPresentationListener.h" -#include "nsIPresentationRequestUIGlue.h" -#include "nsIPresentationSessionRequest.h" -#include "nsIPresentationTerminateRequest.h" -#include "nsISupportsPrimitives.h" -#include "nsNetUtil.h" -#include "nsServiceManagerUtils.h" -#include "nsThreadUtils.h" -#include "nsXPCOMCID.h" -#include "nsXULAppAPI.h" -#include "PresentationLog.h" - -namespace mozilla { -namespace dom { - -static bool -IsSameDevice(nsIPresentationDevice* aDevice, nsIPresentationDevice* aDeviceAnother) { - if (!aDevice || !aDeviceAnother) { - return false; - } - - nsAutoCString deviceId; - aDevice->GetId(deviceId); - nsAutoCString anotherId; - aDeviceAnother->GetId(anotherId); - if (!deviceId.Equals(anotherId)) { - return false; - } - - nsAutoCString deviceType; - aDevice->GetType(deviceType); - nsAutoCString anotherType; - aDeviceAnother->GetType(anotherType); - if (!deviceType.Equals(anotherType)) { - return false; - } - - return true; -} - -static nsresult -ConvertURLArrayHelper(const nsTArray& aUrls, nsIArray** aResult) -{ - if (!aResult) { - return NS_ERROR_INVALID_POINTER; - } - - *aResult = nullptr; - - nsresult rv; - nsCOMPtr urls = - do_CreateInstance(NS_ARRAY_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - for (const auto& url : aUrls) { - nsCOMPtr isupportsString = - do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = isupportsString->SetData(url); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = urls->AppendElement(isupportsString, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } - - urls.forget(aResult); - return NS_OK; -} - -/* - * Implementation of PresentationDeviceRequest - */ - -class PresentationDeviceRequest final : public nsIPresentationDeviceRequest -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICEREQUEST - - PresentationDeviceRequest( - const nsTArray& aUrls, - const nsAString& aId, - const nsAString& aOrigin, - uint64_t aWindowId, - nsIDOMEventTarget* aEventTarget, - nsIPrincipal* aPrincipal, - nsIPresentationServiceCallback* aCallback, - nsIPresentationTransportBuilderConstructor* aBuilderConstructor); - -private: - virtual ~PresentationDeviceRequest() = default; - nsresult CreateSessionInfo(nsIPresentationDevice* aDevice, - const nsAString& aSelectedRequestUrl); - - nsTArray mRequestUrls; - nsString mId; - nsString mOrigin; - uint64_t mWindowId; - nsWeakPtr mChromeEventHandler; - nsCOMPtr mPrincipal; - nsCOMPtr mCallback; - nsCOMPtr mBuilderConstructor; -}; - -LazyLogModule gPresentationLog("Presentation"); - -NS_IMPL_ISUPPORTS(PresentationDeviceRequest, nsIPresentationDeviceRequest) - -PresentationDeviceRequest::PresentationDeviceRequest( - const nsTArray& aUrls, - const nsAString& aId, - const nsAString& aOrigin, - uint64_t aWindowId, - nsIDOMEventTarget* aEventTarget, - nsIPrincipal* aPrincipal, - nsIPresentationServiceCallback* aCallback, - nsIPresentationTransportBuilderConstructor* aBuilderConstructor) - : mRequestUrls(aUrls) - , mId(aId) - , mOrigin(aOrigin) - , mWindowId(aWindowId) - , mChromeEventHandler(do_GetWeakReference(aEventTarget)) - , mPrincipal(aPrincipal) - , mCallback(aCallback) - , mBuilderConstructor(aBuilderConstructor) -{ - MOZ_ASSERT(!mRequestUrls.IsEmpty()); - MOZ_ASSERT(!mId.IsEmpty()); - MOZ_ASSERT(!mOrigin.IsEmpty()); - MOZ_ASSERT(mCallback); - MOZ_ASSERT(mBuilderConstructor); -} - -NS_IMETHODIMP -PresentationDeviceRequest::GetOrigin(nsAString& aOrigin) -{ - aOrigin = mOrigin; - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceRequest::GetRequestURLs(nsIArray** aUrls) -{ - return ConvertURLArrayHelper(mRequestUrls, aUrls); -} - -NS_IMETHODIMP -PresentationDeviceRequest::GetChromeEventHandler(nsIDOMEventTarget** aChromeEventHandler) -{ - nsCOMPtr handler(do_QueryReferent(mChromeEventHandler)); - handler.forget(aChromeEventHandler); - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceRequest::GetPrincipal(nsIPrincipal** aPrincipal) -{ - nsCOMPtr principal(mPrincipal); - principal.forget(aPrincipal); - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceRequest::Select(nsIPresentationDevice* aDevice) -{ - MOZ_ASSERT(NS_IsMainThread()); - if (NS_WARN_IF(!aDevice)) { - MOZ_ASSERT(false, "|aDevice| should noe be null."); - mCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - return NS_ERROR_INVALID_ARG; - } - - // Select the most suitable URL for starting the presentation. - nsAutoString selectedRequestUrl; - for (const auto& url : mRequestUrls) { - bool isSupported; - if (NS_SUCCEEDED(aDevice->IsRequestedUrlSupported(url, &isSupported)) && - isSupported) { - selectedRequestUrl.Assign(url); - break; - } - } - - if (selectedRequestUrl.IsEmpty()) { - return mCallback->NotifyError(NS_ERROR_DOM_NOT_FOUND_ERR); - } - - if (NS_WARN_IF(NS_FAILED(CreateSessionInfo(aDevice, selectedRequestUrl)))) { - return mCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - return mCallback->NotifySuccess(selectedRequestUrl); -} - -nsresult -PresentationDeviceRequest::CreateSessionInfo( - nsIPresentationDevice* aDevice, - const nsAString& aSelectedRequestUrl) -{ - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - - // Create the controlling session info - RefPtr info = - static_cast(service.get())-> - CreateControllingSessionInfo(aSelectedRequestUrl, mId, mWindowId); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - info->SetDevice(aDevice); - - // Establish a control channel. If we failed to do so, the callback is called - // with an error message. - nsCOMPtr ctrlChannel; - nsresult rv = aDevice->EstablishControlChannel(getter_AddRefs(ctrlChannel)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return info->ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - // Initialize the session info with the control channel. - rv = info->Init(ctrlChannel); - if (NS_WARN_IF(NS_FAILED(rv))) { - return info->ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - info->SetTransportBuilderConstructor(mBuilderConstructor); - return NS_OK; -} - -NS_IMETHODIMP -PresentationDeviceRequest::Cancel(nsresult aReason) -{ - return mCallback->NotifyError(aReason); -} - -/* - * Implementation of PresentationService - */ - -NS_IMPL_ISUPPORTS(PresentationService, - nsIPresentationService, - nsIObserver) - -PresentationService::PresentationService() -{ -} - -PresentationService::~PresentationService() -{ - HandleShutdown(); -} - -bool -PresentationService::Init() -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsCOMPtr obs = services::GetObserverService(); - if (NS_WARN_IF(!obs)) { - return false; - } - - nsresult rv = obs->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - rv = obs->AddObserver(this, PRESENTATION_DEVICE_CHANGE_TOPIC, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - rv = obs->AddObserver(this, PRESENTATION_SESSION_REQUEST_TOPIC, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - rv = obs->AddObserver(this, PRESENTATION_TERMINATE_REQUEST_TOPIC, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - rv = obs->AddObserver(this, PRESENTATION_RECONNECT_REQUEST_TOPIC, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return false; - } - - return !NS_WARN_IF(NS_FAILED(rv)); -} - -NS_IMETHODIMP -PresentationService::Observe(nsISupports* aSubject, - const char* aTopic, - const char16_t* aData) -{ - if (!strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) { - HandleShutdown(); - return NS_OK; - } else if (!strcmp(aTopic, PRESENTATION_DEVICE_CHANGE_TOPIC)) { - // Ignore the "update" case here, since we only care about the arrival and - // removal of the device. - if (!NS_strcmp(aData, u"add")) { - nsCOMPtr device = do_QueryInterface(aSubject); - if (NS_WARN_IF(!device)) { - return NS_ERROR_FAILURE; - } - - return HandleDeviceAdded(device); - } else if(!NS_strcmp(aData, u"remove")) { - return HandleDeviceRemoved(); - } - - return NS_OK; - } else if (!strcmp(aTopic, PRESENTATION_SESSION_REQUEST_TOPIC)) { - nsCOMPtr request(do_QueryInterface(aSubject)); - if (NS_WARN_IF(!request)) { - return NS_ERROR_FAILURE; - } - - return HandleSessionRequest(request); - } else if (!strcmp(aTopic, PRESENTATION_TERMINATE_REQUEST_TOPIC)) { - nsCOMPtr request(do_QueryInterface(aSubject)); - if (NS_WARN_IF(!request)) { - return NS_ERROR_FAILURE; - } - - return HandleTerminateRequest(request); - } else if (!strcmp(aTopic, PRESENTATION_RECONNECT_REQUEST_TOPIC)) { - nsCOMPtr request(do_QueryInterface(aSubject)); - if (NS_WARN_IF(!request)) { - return NS_ERROR_FAILURE; - } - - return HandleReconnectRequest(request); - } else if (!strcmp(aTopic, "profile-after-change")) { - // It's expected since we add and entry to |kLayoutCategories| in - // |nsLayoutModule.cpp| to launch this service earlier. - return NS_OK; - } - - MOZ_ASSERT(false, "Unexpected topic for PresentationService"); - return NS_ERROR_UNEXPECTED; -} - -void -PresentationService::HandleShutdown() -{ - MOZ_ASSERT(NS_IsMainThread()); - - Shutdown(); - - mAvailabilityManager.Clear(); - mSessionInfoAtController.Clear(); - mSessionInfoAtReceiver.Clear(); - - nsCOMPtr obs = services::GetObserverService(); - if (obs) { - obs->RemoveObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID); - obs->RemoveObserver(this, PRESENTATION_DEVICE_CHANGE_TOPIC); - obs->RemoveObserver(this, PRESENTATION_SESSION_REQUEST_TOPIC); - obs->RemoveObserver(this, PRESENTATION_TERMINATE_REQUEST_TOPIC); - obs->RemoveObserver(this, PRESENTATION_RECONNECT_REQUEST_TOPIC); - } -} - -nsresult -PresentationService::HandleDeviceAdded(nsIPresentationDevice* aDevice) -{ - PRES_DEBUG("%s\n", __func__); - if (!aDevice) { - MOZ_ASSERT(false, "aDevice shoud no be null."); - return NS_ERROR_INVALID_ARG; - } - - // Query for only unavailable URLs while device added. - nsTArray unavailableUrls; - mAvailabilityManager.GetAvailbilityUrlByAvailability(unavailableUrls, false); - - nsTArray supportedAvailabilityUrl; - for (const auto& url : unavailableUrls) { - bool isSupported; - if (NS_SUCCEEDED(aDevice->IsRequestedUrlSupported(url, &isSupported)) && - isSupported) { - supportedAvailabilityUrl.AppendElement(url); - } - } - - if (!supportedAvailabilityUrl.IsEmpty()) { - return mAvailabilityManager.DoNotifyAvailableChange(supportedAvailabilityUrl, - true); - } - - return NS_OK; -} - -nsresult -PresentationService::HandleDeviceRemoved() -{ - PRES_DEBUG("%s\n", __func__); - - // Query for only available URLs while device removed. - nsTArray availabilityUrls; - mAvailabilityManager.GetAvailbilityUrlByAvailability(availabilityUrls, true); - - return UpdateAvailabilityUrlChange(availabilityUrls); -} - -nsresult -PresentationService::UpdateAvailabilityUrlChange( - const nsTArray& aAvailabilityUrls) -{ - nsCOMPtr deviceManager = - do_GetService(PRESENTATION_DEVICE_MANAGER_CONTRACTID); - if (NS_WARN_IF(!deviceManager)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsCOMPtr devices; - nsresult rv = deviceManager->GetAvailableDevices(nullptr, - getter_AddRefs(devices)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - uint32_t numOfDevices; - devices->GetLength(&numOfDevices); - - nsTArray supportedAvailabilityUrl; - for (const auto& url : aAvailabilityUrls) { - for (uint32_t i = 0; i < numOfDevices; ++i) { - nsCOMPtr device = do_QueryElementAt(devices, i); - if (device) { - bool isSupported; - if (NS_SUCCEEDED(device->IsRequestedUrlSupported(url, &isSupported)) && - isSupported) { - supportedAvailabilityUrl.AppendElement(url); - break; - } - } - } - } - - if (supportedAvailabilityUrl.IsEmpty()) { - return mAvailabilityManager.DoNotifyAvailableChange(aAvailabilityUrls, - false); - } - - return mAvailabilityManager.DoNotifyAvailableChange(supportedAvailabilityUrl, - true); -} - -nsresult -PresentationService::HandleSessionRequest(nsIPresentationSessionRequest* aRequest) -{ - nsCOMPtr ctrlChannel; - nsresult rv = aRequest->GetControlChannel(getter_AddRefs(ctrlChannel)); - if (NS_WARN_IF(NS_FAILED(rv) || !ctrlChannel)) { - return rv; - } - - nsAutoString url; - rv = aRequest->GetUrl(url); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - nsAutoString sessionId; - rv = aRequest->GetPresentationId(sessionId); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - nsCOMPtr device; - rv = aRequest->GetDevice(getter_AddRefs(device)); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - // Create or reuse session info. - RefPtr info = - GetSessionInfo(sessionId, nsIPresentationService::ROLE_RECEIVER); - - // This is the case for reconnecting a session. - // Update the control channel and device of the session info. - // Call |NotifyResponderReady| to indicate the receiver page is already there. - if (info) { - PRES_DEBUG("handle reconnection:id[%s]\n", - NS_ConvertUTF16toUTF8(sessionId).get()); - - info->SetControlChannel(ctrlChannel); - info->SetDevice(device); - return static_cast( - info.get())->DoReconnect(); - } - - // This is the case for a new session. - PRES_DEBUG("handle new session:url[%d], id[%s]\n", - NS_ConvertUTF16toUTF8(url).get(), - NS_ConvertUTF16toUTF8(sessionId).get()); - - info = new PresentationPresentingInfo(url, sessionId, device); - rv = info->Init(ctrlChannel); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - mSessionInfoAtReceiver.Put(sessionId, info); - - // Notify the receiver to launch. - nsCOMPtr glue = - do_CreateInstance(PRESENTATION_REQUEST_UI_GLUE_CONTRACTID); - if (NS_WARN_IF(!glue)) { - ctrlChannel->Disconnect(NS_ERROR_DOM_OPERATION_ERR); - return info->ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - nsCOMPtr promise; - rv = glue->SendRequest(url, sessionId, device, getter_AddRefs(promise)); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return info->ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - nsCOMPtr realPromise = do_QueryInterface(promise); - static_cast(info.get())->SetPromise(realPromise); - - return NS_OK; -} - -nsresult -PresentationService::HandleTerminateRequest(nsIPresentationTerminateRequest* aRequest) -{ - nsCOMPtr ctrlChannel; - nsresult rv = aRequest->GetControlChannel(getter_AddRefs(ctrlChannel)); - if (NS_WARN_IF(NS_FAILED(rv) || !ctrlChannel)) { - return rv; - } - - nsAutoString sessionId; - rv = aRequest->GetPresentationId(sessionId); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - nsCOMPtr device; - rv = aRequest->GetDevice(getter_AddRefs(device)); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - bool isFromReceiver; - rv = aRequest->GetIsFromReceiver(&isFromReceiver); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - RefPtr info; - if (!isFromReceiver) { - info = GetSessionInfo(sessionId, nsIPresentationService::ROLE_RECEIVER); - } else { - info = GetSessionInfo(sessionId, nsIPresentationService::ROLE_CONTROLLER); - } - if (NS_WARN_IF(!info)) { - // Cannot terminate non-existed session. - ctrlChannel->Disconnect(NS_ERROR_DOM_OPERATION_ERR); - return NS_ERROR_DOM_ABORT_ERR; - } - - // Check if terminate request comes from known device. - RefPtr knownDevice = info->GetDevice(); - if (NS_WARN_IF(!IsSameDevice(device, knownDevice))) { - ctrlChannel->Disconnect(NS_ERROR_DOM_OPERATION_ERR); - return NS_ERROR_DOM_ABORT_ERR; - } - - PRES_DEBUG("handle termination:id[%s], receiver[%d]\n", __func__, - sessionId.get(), isFromReceiver); - - return info->OnTerminate(ctrlChannel); -} - -nsresult -PresentationService::HandleReconnectRequest(nsIPresentationSessionRequest* aRequest) -{ - nsCOMPtr ctrlChannel; - nsresult rv = aRequest->GetControlChannel(getter_AddRefs(ctrlChannel)); - if (NS_WARN_IF(NS_FAILED(rv) || !ctrlChannel)) { - return rv; - } - - nsAutoString sessionId; - rv = aRequest->GetPresentationId(sessionId); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - uint64_t windowId; - rv = GetWindowIdBySessionIdInternal(sessionId, - nsIPresentationService::ROLE_RECEIVER, - &windowId); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - RefPtr info = - GetSessionInfo(sessionId, nsIPresentationService::ROLE_RECEIVER); - if (NS_WARN_IF(!info)) { - // Cannot reconnect non-existed session - ctrlChannel->Disconnect(NS_ERROR_DOM_OPERATION_ERR); - return NS_ERROR_DOM_ABORT_ERR; - } - - nsAutoString url; - rv = aRequest->GetUrl(url); - if (NS_WARN_IF(NS_FAILED(rv))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - // Make sure the url is the same as the previous one. - if (NS_WARN_IF(!info->GetUrl().Equals(url))) { - ctrlChannel->Disconnect(rv); - return rv; - } - - return HandleSessionRequest(aRequest); -} - -NS_IMETHODIMP -PresentationService::StartSession( - const nsTArray& aUrls, - const nsAString& aSessionId, - const nsAString& aOrigin, - const nsAString& aDeviceId, - uint64_t aWindowId, - nsIDOMEventTarget* aEventTarget, - nsIPrincipal* aPrincipal, - nsIPresentationServiceCallback* aCallback, - nsIPresentationTransportBuilderConstructor* aBuilderConstructor) -{ - PRES_DEBUG("%s:id[%s]\n", __func__, NS_ConvertUTF16toUTF8(aSessionId).get()); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aCallback); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(!aUrls.IsEmpty()); - - nsCOMPtr request = - new PresentationDeviceRequest(aUrls, - aSessionId, - aOrigin, - aWindowId, - aEventTarget, - aPrincipal, - aCallback, - aBuilderConstructor); - - if (aDeviceId.IsVoid()) { - // Pop up a prompt and ask user to select a device. - nsCOMPtr prompt = - do_GetService(PRESENTATION_DEVICE_PROMPT_CONTRACTID); - if (NS_WARN_IF(!prompt)) { - return aCallback->NotifyError(NS_ERROR_DOM_INVALID_ACCESS_ERR); - } - - nsresult rv = prompt->PromptDeviceSelection(request); - if (NS_WARN_IF(NS_FAILED(rv))) { - return aCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - return NS_OK; - } - - // Find the designated device from available device list. - nsCOMPtr deviceManager = - do_GetService(PRESENTATION_DEVICE_MANAGER_CONTRACTID); - if (NS_WARN_IF(!deviceManager)) { - return aCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - nsCOMPtr presentationUrls; - if (NS_WARN_IF(NS_FAILED( - ConvertURLArrayHelper(aUrls, getter_AddRefs(presentationUrls))))) { - return aCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - nsCOMPtr devices; - nsresult rv = deviceManager->GetAvailableDevices(presentationUrls, getter_AddRefs(devices)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return aCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - nsCOMPtr enumerator; - rv = devices->Enumerate(getter_AddRefs(enumerator)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return aCallback->NotifyError(NS_ERROR_DOM_OPERATION_ERR); - } - - NS_ConvertUTF16toUTF8 utf8DeviceId(aDeviceId); - bool hasMore; - while (NS_SUCCEEDED(enumerator->HasMoreElements(&hasMore)) && hasMore) { - nsCOMPtr isupports; - rv = enumerator->GetNext(getter_AddRefs(isupports)); - - nsCOMPtr device(do_QueryInterface(isupports)); - MOZ_ASSERT(device); - - nsAutoCString id; - if (NS_SUCCEEDED(device->GetId(id)) && id.Equals(utf8DeviceId)) { - request->Select(device); - return NS_OK; - } - } - - // Reject if designated device is not available. - return aCallback->NotifyError(NS_ERROR_DOM_NOT_FOUND_ERR); -} - -already_AddRefed -PresentationService::CreateControllingSessionInfo(const nsAString& aUrl, - const nsAString& aSessionId, - uint64_t aWindowId) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (aSessionId.IsEmpty()) { - return nullptr; - } - - RefPtr info = - new PresentationControllingInfo(aUrl, aSessionId); - - mSessionInfoAtController.Put(aSessionId, info); - AddRespondingSessionId(aWindowId, - aSessionId, - nsIPresentationService::ROLE_CONTROLLER); - return info.forget(); -} - -NS_IMETHODIMP -PresentationService::SendSessionMessage(const nsAString& aSessionId, - uint8_t aRole, - const nsAString& aData) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aData.IsEmpty()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return info->Send(aData); -} - -NS_IMETHODIMP -PresentationService::SendSessionBinaryMsg(const nsAString& aSessionId, - uint8_t aRole, - const nsACString &aData) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aData.IsEmpty()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return info->SendBinaryMsg(aData); -} - -NS_IMETHODIMP -PresentationService::SendSessionBlob(const nsAString& aSessionId, - uint8_t aRole, - nsIDOMBlob* aBlob) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - MOZ_ASSERT(aBlob); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return info->SendBlob(aBlob); -} - -NS_IMETHODIMP -PresentationService::CloseSession(const nsAString& aSessionId, - uint8_t aRole, - uint8_t aClosedReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aClosedReason, aRole); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - if (aClosedReason == nsIPresentationService::CLOSED_REASON_WENTAWAY) { - // Remove nsIPresentationSessionListener since we don't want to dispatch - // PresentationConnectionCloseEvent if the page is went away. - info->SetListener(nullptr); - } - - return info->Close(NS_OK, nsIPresentationSessionListener::STATE_CLOSED); -} - -NS_IMETHODIMP -PresentationService::TerminateSession(const nsAString& aSessionId, - uint8_t aRole) -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aRole); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return info->Close(NS_OK, nsIPresentationSessionListener::STATE_TERMINATED); -} - -NS_IMETHODIMP -PresentationService::ReconnectSession(const nsTArray& aUrls, - const nsAString& aSessionId, - uint8_t aRole, - nsIPresentationServiceCallback* aCallback) -{ - PRES_DEBUG("%s:id[%s]\n", __func__, NS_ConvertUTF16toUTF8(aSessionId).get()); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aCallback); - MOZ_ASSERT(!aUrls.IsEmpty()); - - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "Only controller can call ReconnectSession."); - return NS_ERROR_INVALID_ARG; - } - - if (NS_WARN_IF(!aCallback)) { - return NS_ERROR_INVALID_ARG; - } - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return aCallback->NotifyError(NS_ERROR_DOM_NOT_FOUND_ERR); - } - - if (NS_WARN_IF(!aUrls.Contains(info->GetUrl()))) { - return aCallback->NotifyError(NS_ERROR_DOM_NOT_FOUND_ERR); - } - - return static_cast(info.get())->Reconnect(aCallback); -} - -NS_IMETHODIMP -PresentationService::BuildTransport(const nsAString& aSessionId, - uint8_t aRole) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "Only controller can call BuildTransport."); - return NS_ERROR_INVALID_ARG; - } - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return static_cast(info.get())->BuildTransport(); -} - -NS_IMETHODIMP -PresentationService::RegisterAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aAvailabilityUrls.IsEmpty()); - MOZ_ASSERT(aListener); - - mAvailabilityManager.AddAvailabilityListener(aAvailabilityUrls, aListener); - return UpdateAvailabilityUrlChange(aAvailabilityUrls); -} - -NS_IMETHODIMP -PresentationService::UnregisterAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mAvailabilityManager.RemoveAvailabilityListener(aAvailabilityUrls, aListener); - return NS_OK; -} - -NS_IMETHODIMP -PresentationService::RegisterSessionListener(const nsAString& aSessionId, - uint8_t aRole, - nsIPresentationSessionListener* aListener) -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aRole); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aListener); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - // Notify the listener of TERMINATED since no correspondent session info is - // available possibly due to establishment failure. This would be useful at - // the receiver side, since a presentation session is created at beginning - // and here is the place to realize the underlying establishment fails. - nsresult rv = aListener->NotifyStateChange(aSessionId, - nsIPresentationSessionListener::STATE_TERMINATED, - NS_ERROR_NOT_AVAILABLE); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - return NS_ERROR_NOT_AVAILABLE; - } - - return info->SetListener(aListener); -} - -NS_IMETHODIMP -PresentationService::UnregisterSessionListener(const nsAString& aSessionId, - uint8_t aRole) -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aRole); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (info) { - // When content side decide not handling this session anymore, simply - // close the connection. Session info is kept for reconnection. - Unused << NS_WARN_IF(NS_FAILED(info->Close(NS_OK, nsIPresentationSessionListener::STATE_CLOSED))); - return info->SetListener(nullptr); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationService::RegisterRespondingListener( - uint64_t aWindowId, - nsIPresentationRespondingListener* aListener) -{ - PRES_DEBUG("%s:windowId[%lld]\n", __func__, aWindowId); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aListener); - - nsCOMPtr listener; - if (mRespondingListeners.Get(aWindowId, getter_AddRefs(listener))) { - return (listener == aListener) ? NS_OK : NS_ERROR_DOM_INVALID_STATE_ERR; - } - - nsTArray sessionIdArray; - nsresult rv = mReceiverSessionIdManager.GetSessionIds(aWindowId, - sessionIdArray); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - for (const auto& id : sessionIdArray) { - aListener->NotifySessionConnect(aWindowId, id); - } - - mRespondingListeners.Put(aWindowId, aListener); - return NS_OK; -} - -NS_IMETHODIMP -PresentationService::UnregisterRespondingListener(uint64_t aWindowId) -{ - PRES_DEBUG("%s:windowId[%lld]\n", __func__, aWindowId); - - MOZ_ASSERT(NS_IsMainThread()); - - mRespondingListeners.Remove(aWindowId); - return NS_OK; -} - -NS_IMETHODIMP -PresentationService::NotifyReceiverReady( - const nsAString& aSessionId, - uint64_t aWindowId, - bool aIsLoading, - nsIPresentationTransportBuilderConstructor* aBuilderConstructor) -{ - PRES_DEBUG("%s:id[%s], windowId[%lld], loading[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aWindowId, aIsLoading); - - RefPtr info = - GetSessionInfo(aSessionId, nsIPresentationService::ROLE_RECEIVER); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - AddRespondingSessionId(aWindowId, - aSessionId, - nsIPresentationService::ROLE_RECEIVER); - - if (!aIsLoading) { - return static_cast( - info.get())->NotifyResponderFailure(); - } - - nsCOMPtr listener; - if (mRespondingListeners.Get(aWindowId, getter_AddRefs(listener))) { - nsresult rv = listener->NotifySessionConnect(aWindowId, aSessionId); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } - - info->SetTransportBuilderConstructor(aBuilderConstructor); - return static_cast(info.get())->NotifyResponderReady(); -} - -nsresult -PresentationService::NotifyTransportClosed(const nsAString& aSessionId, - uint8_t aRole, - nsresult aReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aReason, aRole); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return info->NotifyTransportClosed(aReason); -} - -NS_IMETHODIMP -PresentationService::UntrackSessionInfo(const nsAString& aSessionId, - uint8_t aRole) -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aRole); - - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - // Remove the session info. - if (nsIPresentationService::ROLE_CONTROLLER == aRole) { - mSessionInfoAtController.Remove(aSessionId); - } else { - // Terminate receiver page. - uint64_t windowId; - nsresult rv = GetWindowIdBySessionIdInternal(aSessionId, aRole, &windowId); - if (NS_SUCCEEDED(rv)) { - NS_DispatchToMainThread(NS_NewRunnableFunction([windowId]() -> void { - PRES_DEBUG("Attempt to close window[%d]\n", windowId); - - if (auto* window = nsGlobalWindow::GetInnerWindowWithId(windowId)) { - window->Close(); - } - })); - } - - mSessionInfoAtReceiver.Remove(aSessionId); - } - - // Remove the in-process responding info if there's still any. - RemoveRespondingSessionId(aSessionId, aRole); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationService::GetWindowIdBySessionId(const nsAString& aSessionId, - uint8_t aRole, - uint64_t* aWindowId) -{ - return GetWindowIdBySessionIdInternal(aSessionId, aRole, aWindowId); -} - -NS_IMETHODIMP -PresentationService::UpdateWindowIdBySessionId(const nsAString& aSessionId, - uint8_t aRole, - const uint64_t aWindowId) -{ - return UpdateWindowIdBySessionIdInternal(aSessionId, aRole, aWindowId); -} - -bool -PresentationService::IsSessionAccessible(const nsAString& aSessionId, - const uint8_t aRole, - base::ProcessId aProcessId) -{ - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - RefPtr info = GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return false; - } - return info->IsAccessible(aProcessId); -} - -} // namespace dom -} // namespace mozilla - -already_AddRefed -NS_CreatePresentationService() -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsCOMPtr service; - if (XRE_GetProcessType() == GeckoProcessType_Content) { - service = new mozilla::dom::PresentationIPCService(); - } else { - service = new PresentationService(); - if (NS_WARN_IF(!static_cast(service.get())->Init())) { - return nullptr; - } - } - - return service.forget(); -} diff --git a/dom/presentation/PresentationService.h b/dom/presentation/PresentationService.h deleted file mode 100644 index b2d39e6915..0000000000 --- a/dom/presentation/PresentationService.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationService_h -#define mozilla_dom_PresentationService_h - -#include "nsCOMPtr.h" -#include "nsIObserver.h" -#include "PresentationServiceBase.h" -#include "PresentationSessionInfo.h" - -class nsIPresentationSessionRequest; -class nsIPresentationTerminateRequest; -class nsIURI; -class nsIPresentationSessionTransportBuilder; - -namespace mozilla { -namespace dom { - -class PresentationDeviceRequest; -class PresentationRespondingInfo; - -class PresentationService final - : public nsIPresentationService - , public nsIObserver - , public PresentationServiceBase -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIOBSERVER - NS_DECL_NSIPRESENTATIONSERVICE - - PresentationService(); - bool Init(); - - bool IsSessionAccessible(const nsAString& aSessionId, - const uint8_t aRole, - base::ProcessId aProcessId); - -private: - friend class PresentationDeviceRequest; - - virtual ~PresentationService(); - void HandleShutdown(); - nsresult HandleDeviceAdded(nsIPresentationDevice* aDevice); - nsresult HandleDeviceRemoved(); - nsresult HandleSessionRequest(nsIPresentationSessionRequest* aRequest); - nsresult HandleTerminateRequest(nsIPresentationTerminateRequest* aRequest); - nsresult HandleReconnectRequest(nsIPresentationSessionRequest* aRequest); - - // This is meant to be called by PresentationDeviceRequest. - already_AddRefed - CreateControllingSessionInfo(const nsAString& aUrl, - const nsAString& aSessionId, - uint64_t aWindowId); - - // Emumerate all devices to get the availability of each input Urls. - nsresult UpdateAvailabilityUrlChange( - const nsTArray& aAvailabilityUrls); -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationService_h diff --git a/dom/presentation/PresentationServiceBase.h b/dom/presentation/PresentationServiceBase.h deleted file mode 100644 index 227e954306..0000000000 --- a/dom/presentation/PresentationServiceBase.h +++ /dev/null @@ -1,401 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set sw=2 ts=8 et ft=cpp : */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationServiceBase_h -#define mozilla_dom_PresentationServiceBase_h - -#include "mozilla/Unused.h" -#include "nsClassHashtable.h" -#include "nsCOMArray.h" -#include "nsIPresentationListener.h" -#include "nsIPresentationService.h" -#include "nsRefPtrHashtable.h" -#include "nsString.h" -#include "nsTArray.h" - -namespace mozilla { -namespace dom { - -template -class PresentationServiceBase -{ -public: - PresentationServiceBase() = default; - - already_AddRefed - GetSessionInfo(const nsAString& aSessionId, const uint8_t aRole) - { - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info; - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - return mSessionInfoAtController.Get(aSessionId, getter_AddRefs(info)) ? - info.forget() : nullptr; - } else { - return mSessionInfoAtReceiver.Get(aSessionId, getter_AddRefs(info)) ? - info.forget() : nullptr; - } - } - -protected: - class SessionIdManager final - { - public: - explicit SessionIdManager() - { - MOZ_COUNT_CTOR(SessionIdManager); - } - - ~SessionIdManager() - { - MOZ_COUNT_DTOR(SessionIdManager); - } - - nsresult GetWindowId(const nsAString& aSessionId, uint64_t* aWindowId) - { - MOZ_ASSERT(NS_IsMainThread()); - - if (mRespondingWindowIds.Get(aSessionId, aWindowId)) { - return NS_OK; - } - return NS_ERROR_NOT_AVAILABLE; - } - - nsresult GetSessionIds(uint64_t aWindowId, nsTArray& aSessionIds) - { - MOZ_ASSERT(NS_IsMainThread()); - - nsTArray* sessionIdArray; - if (!mRespondingSessionIds.Get(aWindowId, &sessionIdArray)) { - return NS_ERROR_INVALID_ARG; - } - - aSessionIds.Assign(*sessionIdArray); - return NS_OK; - } - - void AddSessionId(uint64_t aWindowId, const nsAString& aSessionId) - { - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(aWindowId == 0)) { - return; - } - - nsTArray* sessionIdArray; - if (!mRespondingSessionIds.Get(aWindowId, &sessionIdArray)) { - sessionIdArray = new nsTArray(); - mRespondingSessionIds.Put(aWindowId, sessionIdArray); - } - - sessionIdArray->AppendElement(nsString(aSessionId)); - mRespondingWindowIds.Put(aSessionId, aWindowId); - } - - void RemoveSessionId(const nsAString& aSessionId) - { - MOZ_ASSERT(NS_IsMainThread()); - - uint64_t windowId = 0; - if (mRespondingWindowIds.Get(aSessionId, &windowId)) { - mRespondingWindowIds.Remove(aSessionId); - nsTArray* sessionIdArray; - if (mRespondingSessionIds.Get(windowId, &sessionIdArray)) { - sessionIdArray->RemoveElement(nsString(aSessionId)); - if (sessionIdArray->IsEmpty()) { - mRespondingSessionIds.Remove(windowId); - } - } - } - } - - nsresult UpdateWindowId(const nsAString& aSessionId, const uint64_t aWindowId) - { - MOZ_ASSERT(NS_IsMainThread()); - - RemoveSessionId(aSessionId); - AddSessionId(aWindowId, aSessionId); - return NS_OK; - } - - void Clear() - { - mRespondingSessionIds.Clear(); - mRespondingWindowIds.Clear(); - } - - private: - nsClassHashtable> mRespondingSessionIds; - nsDataHashtable mRespondingWindowIds; - }; - - class AvailabilityManager final - { - public: - explicit AvailabilityManager() - { - MOZ_COUNT_CTOR(AvailabilityManager); - } - - ~AvailabilityManager() - { - MOZ_COUNT_DTOR(AvailabilityManager); - } - - void AddAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener) - { - nsTArray dummy; - AddAvailabilityListener(aAvailabilityUrls, aListener, dummy); - } - - void AddAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener, - nsTArray& aAddedUrls) - { - if (!aListener) { - MOZ_ASSERT(false, "aListener should not be null."); - return; - } - - if (aAvailabilityUrls.IsEmpty()) { - MOZ_ASSERT(false, "aAvailabilityUrls should not be empty."); - return; - } - - aAddedUrls.Clear(); - nsTArray knownAvailableUrls; - for (const auto& url : aAvailabilityUrls) { - AvailabilityEntry* entry; - if (!mAvailabilityUrlTable.Get(url, &entry)) { - entry = new AvailabilityEntry(); - mAvailabilityUrlTable.Put(url, entry); - aAddedUrls.AppendElement(url); - } - if (!entry->mListeners.Contains(aListener)) { - entry->mListeners.AppendElement(aListener); - } - if (entry->mAvailable) { - knownAvailableUrls.AppendElement(url); - } - } - - if (!knownAvailableUrls.IsEmpty()) { - Unused << - NS_WARN_IF( - NS_FAILED(aListener->NotifyAvailableChange(knownAvailableUrls, - true))); - } else { - // If we can't find any known available url and there is no newly - // added url, we still need to notify the listener of the result. - // So, the promise returned by |getAvailability| can be resolved. - if (aAddedUrls.IsEmpty()) { - Unused << - NS_WARN_IF( - NS_FAILED(aListener->NotifyAvailableChange(aAvailabilityUrls, - false))); - } - } - } - - void RemoveAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener) - { - nsTArray dummy; - RemoveAvailabilityListener(aAvailabilityUrls, aListener, dummy); - } - - void RemoveAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener, - nsTArray& aRemovedUrls) - { - if (!aListener) { - MOZ_ASSERT(false, "aListener should not be null."); - return; - } - - if (aAvailabilityUrls.IsEmpty()) { - MOZ_ASSERT(false, "aAvailabilityUrls should not be empty."); - return; - } - - aRemovedUrls.Clear(); - for (const auto& url : aAvailabilityUrls) { - AvailabilityEntry* entry; - if (mAvailabilityUrlTable.Get(url, &entry)) { - entry->mListeners.RemoveElement(aListener); - if (entry->mListeners.IsEmpty()) { - mAvailabilityUrlTable.Remove(url); - aRemovedUrls.AppendElement(url); - } - } - } - } - - nsresult DoNotifyAvailableChange(const nsTArray& aAvailabilityUrls, - bool aAvailable) - { - typedef nsClassHashtable> ListenerToUrlsMap; - ListenerToUrlsMap availabilityListenerTable; - // Create a mapping from nsIPresentationAvailabilityListener to - // availabilityUrls. - for (auto it = mAvailabilityUrlTable.ConstIter(); !it.Done(); it.Next()) { - if (aAvailabilityUrls.Contains(it.Key())) { - AvailabilityEntry* entry = it.UserData(); - entry->mAvailable = aAvailable; - - for (uint32_t i = 0; i < entry->mListeners.Length(); ++i) { - nsIPresentationAvailabilityListener* listener = - entry->mListeners.ObjectAt(i); - nsTArray* urlArray; - if (!availabilityListenerTable.Get(listener, &urlArray)) { - urlArray = new nsTArray(); - availabilityListenerTable.Put(listener, urlArray); - } - urlArray->AppendElement(it.Key()); - } - } - } - - for (auto it = availabilityListenerTable.Iter(); !it.Done(); it.Next()) { - auto listener = - static_cast(it.Key()); - - Unused << - NS_WARN_IF(NS_FAILED(listener->NotifyAvailableChange(*it.UserData(), - aAvailable))); - } - return NS_OK; - } - - void GetAvailbilityUrlByAvailability(nsTArray& aOutArray, - bool aAvailable) - { - aOutArray.Clear(); - - for (auto it = mAvailabilityUrlTable.ConstIter(); !it.Done(); it.Next()) { - if (it.UserData()->mAvailable == aAvailable) { - aOutArray.AppendElement(it.Key()); - } - } - } - - void Clear() - { - mAvailabilityUrlTable.Clear(); - } - - private: - struct AvailabilityEntry - { - explicit AvailabilityEntry() - : mAvailable(false) - {} - - bool mAvailable; - nsCOMArray mListeners; - }; - - nsClassHashtable mAvailabilityUrlTable; - }; - - virtual ~PresentationServiceBase() = default; - - void Shutdown() - { - mRespondingListeners.Clear(); - mControllerSessionIdManager.Clear(); - mReceiverSessionIdManager.Clear(); - } - - nsresult GetWindowIdBySessionIdInternal(const nsAString& aSessionId, - uint8_t aRole, - uint64_t* aWindowId) - { - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - if (NS_WARN_IF(!aWindowId)) { - return NS_ERROR_INVALID_POINTER; - } - - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - return mControllerSessionIdManager.GetWindowId(aSessionId, aWindowId); - } - - return mReceiverSessionIdManager.GetWindowId(aSessionId, aWindowId); - } - - void AddRespondingSessionId(uint64_t aWindowId, - const nsAString& aSessionId, - uint8_t aRole) - { - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - mControllerSessionIdManager.AddSessionId(aWindowId, aSessionId); - } else { - mReceiverSessionIdManager.AddSessionId(aWindowId, aSessionId); - } - } - - void RemoveRespondingSessionId(const nsAString& aSessionId, - uint8_t aRole) - { - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - mControllerSessionIdManager.RemoveSessionId(aSessionId); - } else { - mReceiverSessionIdManager.RemoveSessionId(aSessionId); - } - } - - nsresult UpdateWindowIdBySessionIdInternal(const nsAString& aSessionId, - uint8_t aRole, - const uint64_t aWindowId) - { - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - return mControllerSessionIdManager.UpdateWindowId(aSessionId, aWindowId); - } - - return mReceiverSessionIdManager.UpdateWindowId(aSessionId, aWindowId); - } - - // Store the responding listener based on the window ID of the (in-process or - // OOP) receiver page. - nsRefPtrHashtable - mRespondingListeners; - - // Store the mapping between the window ID of the in-process and OOP page and the ID - // of the responding session. It's used for both controller and receiver page - // to retrieve the correspondent session ID. Besides, also keep the mapping - // between the responding session ID and the window ID to help look up the - // window ID. - SessionIdManager mControllerSessionIdManager; - SessionIdManager mReceiverSessionIdManager; - - nsRefPtrHashtable mSessionInfoAtController; - nsRefPtrHashtable mSessionInfoAtReceiver; - - AvailabilityManager mAvailabilityManager; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationServiceBase_h diff --git a/dom/presentation/PresentationSessionInfo.cpp b/dom/presentation/PresentationSessionInfo.cpp deleted file mode 100644 index 1dd92ab69d..0000000000 --- a/dom/presentation/PresentationSessionInfo.cpp +++ /dev/null @@ -1,1617 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "mozilla/dom/ContentParent.h" -#include "mozilla/dom/HTMLIFrameElementBinding.h" -#include "mozilla/dom/TabParent.h" -#include "mozilla/Function.h" -#include "mozilla/Logging.h" -#include "mozilla/Move.h" -#include "mozilla/Preferences.h" -#include "mozilla/Services.h" -#include "nsContentUtils.h" -#include "nsGlobalWindow.h" -#include "nsIDocShell.h" -#include "nsFrameLoader.h" -#include "nsIMutableArray.h" -#include "nsINetAddr.h" -#include "nsISocketTransport.h" -#include "nsISupportsPrimitives.h" -#include "nsNetCID.h" -#include "nsServiceManagerUtils.h" -#include "nsThreadUtils.h" -#include "PresentationLog.h" -#include "PresentationService.h" -#include "PresentationSessionInfo.h" - -#ifdef MOZ_WIDGET_ANDROID -#include "nsIPresentationNetworkHelper.h" -#endif // MOZ_WIDGET_ANDROID - -using namespace mozilla; -using namespace mozilla::dom; -using namespace mozilla::services; - -/* - * Implementation of PresentationChannelDescription - */ - -namespace mozilla { -namespace dom { - -#ifdef MOZ_WIDGET_ANDROID - -namespace { - -class PresentationNetworkHelper final : public nsIPresentationNetworkHelperListener -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONNETWORKHELPERLISTENER - - using Function = nsresult(PresentationControllingInfo::*)(const nsACString&); - - explicit PresentationNetworkHelper(PresentationControllingInfo* aInfo, - const Function& aFunc); - - nsresult GetWifiIPAddress(); - -private: - ~PresentationNetworkHelper() = default; - - RefPtr mInfo; - Function mFunc; -}; - -NS_IMPL_ISUPPORTS(PresentationNetworkHelper, - nsIPresentationNetworkHelperListener) - -PresentationNetworkHelper::PresentationNetworkHelper(PresentationControllingInfo* aInfo, - const Function& aFunc) - : mInfo(aInfo) - , mFunc(aFunc) -{ - MOZ_ASSERT(aInfo); - MOZ_ASSERT(aFunc); -} - -nsresult -PresentationNetworkHelper::GetWifiIPAddress() -{ - nsresult rv; - - nsCOMPtr networkHelper = - do_GetService(PRESENTATION_NETWORK_HELPER_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return networkHelper->GetWifiIPAddress(this); -} - -NS_IMETHODIMP -PresentationNetworkHelper::OnError(const nsACString & aReason) -{ - PRES_ERROR("PresentationNetworkHelper::OnError: %s", - nsPromiseFlatCString(aReason).get()); - return NS_OK; -} - -NS_IMETHODIMP -PresentationNetworkHelper::OnGetWifiIPAddress(const nsACString& aIPAddress) -{ - MOZ_ASSERT(mInfo); - MOZ_ASSERT(mFunc); - - NS_DispatchToMainThread( - NewRunnableMethod(mInfo, - mFunc, - aIPAddress)); - return NS_OK; -} - -} // anonymous namespace - -#endif // MOZ_WIDGET_ANDROID - -class TCPPresentationChannelDescription final : public nsIPresentationChannelDescription -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONCHANNELDESCRIPTION - - TCPPresentationChannelDescription(const nsACString& aAddress, - uint16_t aPort) - : mAddress(aAddress) - , mPort(aPort) - { - } - -private: - ~TCPPresentationChannelDescription() {} - - nsCString mAddress; - uint16_t mPort; -}; - -} // namespace dom -} // namespace mozilla - -NS_IMPL_ISUPPORTS(TCPPresentationChannelDescription, nsIPresentationChannelDescription) - -NS_IMETHODIMP -TCPPresentationChannelDescription::GetType(uint8_t* aRetVal) -{ - if (NS_WARN_IF(!aRetVal)) { - return NS_ERROR_INVALID_POINTER; - } - - *aRetVal = nsIPresentationChannelDescription::TYPE_TCP; - return NS_OK; -} - -NS_IMETHODIMP -TCPPresentationChannelDescription::GetTcpAddress(nsIArray** aRetVal) -{ - if (NS_WARN_IF(!aRetVal)) { - return NS_ERROR_INVALID_POINTER; - } - - nsCOMPtr array = do_CreateInstance(NS_ARRAY_CONTRACTID); - if (NS_WARN_IF(!array)) { - return NS_ERROR_OUT_OF_MEMORY; - } - - // TODO bug 1228504 Take all IP addresses in PresentationChannelDescription - // into account. And at the first stage Presentation API is only exposed on - // Firefox OS where the first IP appears enough for most scenarios. - nsCOMPtr address = do_CreateInstance(NS_SUPPORTS_CSTRING_CONTRACTID); - if (NS_WARN_IF(!address)) { - return NS_ERROR_OUT_OF_MEMORY; - } - address->SetData(mAddress); - - array->AppendElement(address, false); - array.forget(aRetVal); - - return NS_OK; -} - -NS_IMETHODIMP -TCPPresentationChannelDescription::GetTcpPort(uint16_t* aRetVal) -{ - if (NS_WARN_IF(!aRetVal)) { - return NS_ERROR_INVALID_POINTER; - } - - *aRetVal = mPort; - return NS_OK; -} - -NS_IMETHODIMP -TCPPresentationChannelDescription::GetDataChannelSDP(nsAString& aDataChannelSDP) -{ - aDataChannelSDP.Truncate(); - return NS_OK; -} - -/* - * Implementation of PresentationSessionInfo - */ - -NS_IMPL_ISUPPORTS(PresentationSessionInfo, - nsIPresentationSessionTransportCallback, - nsIPresentationControlChannelListener, - nsIPresentationSessionTransportBuilderListener); - -/* virtual */ nsresult -PresentationSessionInfo::Init(nsIPresentationControlChannel* aControlChannel) -{ - SetControlChannel(aControlChannel); - return NS_OK; -} - -/* virtual */ void -PresentationSessionInfo::Shutdown(nsresult aReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), aReason, mRole); - - NS_WARNING_ASSERTION(NS_SUCCEEDED(aReason), "bad reason"); - - // Close the control channel if any. - if (mControlChannel) { - Unused << NS_WARN_IF(NS_FAILED(mControlChannel->Disconnect(aReason))); - } - - // Close the data transport channel if any. - if (mTransport) { - // |mIsTransportReady| will be unset once |NotifyTransportClosed| is called. - Unused << NS_WARN_IF(NS_FAILED(mTransport->Close(aReason))); - } - - mIsResponderReady = false; - mIsOnTerminating = false; - - ResetBuilder(); -} - -nsresult -PresentationSessionInfo::SetListener(nsIPresentationSessionListener* aListener) -{ - mListener = aListener; - - if (mListener) { - // Enable data notification for the transport channel if it's available. - if (mTransport) { - nsresult rv = mTransport->EnableDataNotification(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } - - // The transport might become ready, or might become un-ready again, before - // the listener has registered. So notify the listener of the state change. - return mListener->NotifyStateChange(mSessionId, mState, mReason); - } - - return NS_OK; -} - -nsresult -PresentationSessionInfo::Send(const nsAString& aData) -{ - if (NS_WARN_IF(!IsSessionReady())) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - if (NS_WARN_IF(!mTransport)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->Send(aData); -} - -nsresult -PresentationSessionInfo::SendBinaryMsg(const nsACString& aData) -{ - if (NS_WARN_IF(!IsSessionReady())) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - if (NS_WARN_IF(!mTransport)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->SendBinaryMsg(aData); -} - -nsresult -PresentationSessionInfo::SendBlob(nsIDOMBlob* aBlob) -{ - if (NS_WARN_IF(!IsSessionReady())) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - if (NS_WARN_IF(!mTransport)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->SendBlob(aBlob); -} - -nsresult -PresentationSessionInfo::Close(nsresult aReason, - uint32_t aState) -{ - // Do nothing if session is already terminated. - if (nsIPresentationSessionListener::STATE_TERMINATED == mState) { - return NS_OK; - } - - SetStateWithReason(aState, aReason); - - switch (aState) { - case nsIPresentationSessionListener::STATE_CLOSED: { - Shutdown(aReason); - break; - } - case nsIPresentationSessionListener::STATE_TERMINATED: { - if (!mControlChannel) { - nsCOMPtr ctrlChannel; - nsresult rv = mDevice->EstablishControlChannel(getter_AddRefs(ctrlChannel)); - if (NS_FAILED(rv)) { - Shutdown(rv); - return rv; - } - - SetControlChannel(ctrlChannel); - return rv; - } - - ContinueTermination(); - return NS_OK; - } - } - - return NS_OK; -} - -nsresult -PresentationSessionInfo::OnTerminate(nsIPresentationControlChannel* aControlChannel) -{ - mIsOnTerminating = true; // Mark for terminating transport channel - SetStateWithReason(nsIPresentationSessionListener::STATE_TERMINATED, NS_OK); - SetControlChannel(aControlChannel); - - return NS_OK; -} - -nsresult -PresentationSessionInfo::ReplySuccess() -{ - SetStateWithReason(nsIPresentationSessionListener::STATE_CONNECTED, NS_OK); - return NS_OK; -} - -nsresult -PresentationSessionInfo::ReplyError(nsresult aError) -{ - Shutdown(aError); - - // Remove itself since it never succeeds. - return UntrackFromService(); -} - -/* virtual */ nsresult -PresentationSessionInfo::UntrackFromService() -{ - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - static_cast(service.get())->UntrackSessionInfo(mSessionId, mRole); - - return NS_OK; -} - -nsPIDOMWindowInner* -PresentationSessionInfo::GetWindow() -{ - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return nullptr; - } - uint64_t windowId = 0; - if (NS_WARN_IF(NS_FAILED(service->GetWindowIdBySessionId(mSessionId, - mRole, - &windowId)))) { - return nullptr; - } - - auto window = nsGlobalWindow::GetInnerWindowWithId(windowId); - if (!window) { - return nullptr; - } - - return window->AsInner(); -} - -/* virtual */ bool -PresentationSessionInfo::IsAccessible(base::ProcessId aProcessId) -{ - // No restriction by default. - return true; -} - -void -PresentationSessionInfo::ContinueTermination() -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mControlChannel); - - if (NS_WARN_IF(NS_FAILED(mControlChannel->Terminate(mSessionId))) - || mIsOnTerminating) { - Shutdown(NS_OK); - } -} - -// nsIPresentationSessionTransportCallback -NS_IMETHODIMP -PresentationSessionInfo::NotifyTransportReady() -{ - PRES_DEBUG("%s:id[%s], role[%d], state[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole, mState); - - MOZ_ASSERT(NS_IsMainThread()); - - if (mState != nsIPresentationSessionListener::STATE_CONNECTING && - mState != nsIPresentationSessionListener::STATE_CONNECTED) { - return NS_OK; - } - - mIsTransportReady = true; - - // Established RTCDataChannel implies responder is ready. - if (mTransportType == nsIPresentationChannelDescription::TYPE_DATACHANNEL) { - mIsResponderReady = true; - } - - // At sender side, session might not be ready at this point (waiting for - // receiver's answer). Yet at receiver side, session must be ready at this - // point since the data transport channel is created after the receiver page - // is ready for presentation use. - if (IsSessionReady()) { - return ReplySuccess(); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionInfo::NotifyTransportClosed(nsresult aReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), aReason, mRole); - - MOZ_ASSERT(NS_IsMainThread()); - - // Nullify |mTransport| here so it won't try to re-close |mTransport| in - // potential subsequent |Shutdown| calls. - mTransport = nullptr; - - if (NS_WARN_IF(!IsSessionReady() && - mState == nsIPresentationSessionListener::STATE_CONNECTING)) { - // It happens before the session is ready. Reply the callback. - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - // Unset |mIsTransportReady| here so it won't affect |IsSessionReady()| above. - mIsTransportReady = false; - - if (mState == nsIPresentationSessionListener::STATE_CONNECTED) { - // The transport channel is closed unexpectedly (not caused by a |Close| call). - SetStateWithReason(nsIPresentationSessionListener::STATE_CLOSED, aReason); - } - - Shutdown(aReason); - - if (mState == nsIPresentationSessionListener::STATE_TERMINATED) { - // Directly untrack the session info from the service. - return UntrackFromService(); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionInfo::NotifyData(const nsACString& aData, bool aIsBinary) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!IsSessionReady())) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - if (NS_WARN_IF(!mListener)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mListener->NotifyMessage(mSessionId, aData, aIsBinary); -} - -// nsIPresentationSessionTransportBuilderListener -NS_IMETHODIMP -PresentationSessionInfo::OnSessionTransport(nsIPresentationSessionTransport* aTransport) -{ - PRES_DEBUG("%s:id[%s], role[%d], state[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole, mState); - - ResetBuilder(); - - if (mState != nsIPresentationSessionListener::STATE_CONNECTING) { - return NS_ERROR_FAILURE; - } - - if (NS_WARN_IF(!aTransport)) { - return NS_ERROR_INVALID_ARG; - } - - mTransport = aTransport; - - nsresult rv = mTransport->SetCallback(this); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (mListener) { - mTransport->EnableDataNotification(); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionInfo::OnError(nsresult aReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), aReason, mRole); - - ResetBuilder(); - return ReplyError(aReason); -} - -NS_IMETHODIMP -PresentationSessionInfo::SendOffer(nsIPresentationChannelDescription* aOffer) -{ - return mControlChannel->SendOffer(aOffer); -} - -NS_IMETHODIMP -PresentationSessionInfo::SendAnswer(nsIPresentationChannelDescription* aAnswer) -{ - return mControlChannel->SendAnswer(aAnswer); -} - -NS_IMETHODIMP -PresentationSessionInfo::SendIceCandidate(const nsAString& candidate) -{ - return mControlChannel->SendIceCandidate(candidate); -} - -NS_IMETHODIMP -PresentationSessionInfo::Close(nsresult reason) -{ - return mControlChannel->Disconnect(reason); -} - -/** - * Implementation of PresentationControllingInfo - * - * During presentation session establishment, the sender expects the following - * after trying to establish the control channel: (The order between step 3 and - * 4 is not guaranteed.) - * 1. |Init| is called to open a socket |mServerSocket| for data transport - * channel. - * 2. |NotifyConnected| of |nsIPresentationControlChannelListener| is called to - * indicate the control channel is ready to use. Then send the offer to the - * receiver via the control channel. - * 3.1 |OnSocketAccepted| of |nsIServerSocketListener| is called to indicate the - * data transport channel is connected. Then initialize |mTransport|. - * 3.2 |NotifyTransportReady| of |nsIPresentationSessionTransportCallback| is - * called. - * 4. |OnAnswer| of |nsIPresentationControlChannelListener| is called to - * indicate the receiver is ready. Close the control channel since it's no - * longer needed. - * 5. Once both step 3 and 4 are done, the presentation session is ready to use. - * So notify the listener of CONNECTED state. - */ - -NS_IMPL_ISUPPORTS_INHERITED(PresentationControllingInfo, - PresentationSessionInfo, - nsIServerSocketListener) - -nsresult -PresentationControllingInfo::Init(nsIPresentationControlChannel* aControlChannel) -{ - PresentationSessionInfo::Init(aControlChannel); - - // Initialize |mServerSocket| for bootstrapping the data transport channel and - // use |this| as the listener. - mServerSocket = do_CreateInstance(NS_SERVERSOCKET_CONTRACTID); - if (NS_WARN_IF(!mServerSocket)) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - nsresult rv = mServerSocket->Init(-1, false, -1); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = mServerSocket->AsyncListen(this); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - int32_t port; - rv = mServerSocket->GetPort(&port); - if (!NS_WARN_IF(NS_FAILED(rv))) { - PRES_DEBUG("%s:ServerSocket created.port[%d]\n",__func__, port); - } - - return NS_OK; -} - -void -PresentationControllingInfo::Shutdown(nsresult aReason) -{ - PresentationSessionInfo::Shutdown(aReason); - - // Close the server socket if any. - if (mServerSocket) { - Unused << NS_WARN_IF(NS_FAILED(mServerSocket->Close())); - mServerSocket = nullptr; - } -} - -nsresult -PresentationControllingInfo::GetAddress() -{ -#if defined(MOZ_WIDGET_ANDROID) - RefPtr networkHelper = - new PresentationNetworkHelper(this, - &PresentationControllingInfo::OnGetAddress); - nsresult rv = networkHelper->GetWifiIPAddress(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - -#else - nsCOMPtr networkInfo = do_GetService(NETWORKINFOSERVICE_CONTRACT_ID); - MOZ_ASSERT(networkInfo); - - nsresult rv = networkInfo->ListNetworkAddresses(this); - - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } -#endif - - return NS_OK; -} - -nsresult -PresentationControllingInfo::OnGetAddress(const nsACString& aAddress) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!mServerSocket)) { - return NS_ERROR_FAILURE; - } - if (NS_WARN_IF(!mControlChannel)) { - return NS_ERROR_FAILURE; - } - - // Prepare and send the offer. - int32_t port; - nsresult rv = mServerSocket->GetPort(&port); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - RefPtr description = - new TCPPresentationChannelDescription(aAddress, static_cast(port)); - return mControlChannel->SendOffer(description); -} - -// nsIPresentationControlChannelListener -NS_IMETHODIMP -PresentationControllingInfo::OnIceCandidate(const nsAString& aCandidate) -{ - if (mTransportType != nsIPresentationChannelDescription::TYPE_DATACHANNEL) { - return NS_ERROR_FAILURE; - } - - nsCOMPtr - builder = do_QueryInterface(mBuilder); - - if (NS_WARN_IF(!builder)) { - return NS_ERROR_FAILURE; - } - - return builder->OnIceCandidate(aCandidate); -} - -NS_IMETHODIMP -PresentationControllingInfo::OnOffer(nsIPresentationChannelDescription* aDescription) -{ - MOZ_ASSERT(false, "Sender side should not receive offer."); - return NS_ERROR_FAILURE; -} - -NS_IMETHODIMP -PresentationControllingInfo::OnAnswer(nsIPresentationChannelDescription* aDescription) -{ - if (mTransportType == nsIPresentationChannelDescription::TYPE_DATACHANNEL) { - nsCOMPtr - builder = do_QueryInterface(mBuilder); - - if (NS_WARN_IF(!builder)) { - return NS_ERROR_FAILURE; - } - - return builder->OnAnswer(aDescription); - } - - mIsResponderReady = true; - - // Close the control channel since it's no longer needed. - nsresult rv = mControlChannel->Disconnect(NS_OK); - if (NS_WARN_IF(NS_FAILED(rv))) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - // Session might not be ready at this moment (waiting for the establishment of - // the data transport channel). - if (IsSessionReady()){ - return ReplySuccess(); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationControllingInfo::NotifyConnected() -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole); - - MOZ_ASSERT(NS_IsMainThread()); - - switch (mState) { - case nsIPresentationSessionListener::STATE_CONNECTING: { - if (mIsReconnecting) { - return ContinueReconnect(); - } - - nsresult rv = mControlChannel->Launch(GetSessionId(), GetUrl()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - Unused << NS_WARN_IF(NS_FAILED(BuildTransport())); - break; - } - case nsIPresentationSessionListener::STATE_TERMINATED: { - ContinueTermination(); - break; - } - default: - break; - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationControllingInfo::NotifyReconnected() -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole); - - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(mState != nsIPresentationSessionListener::STATE_CONNECTING)) { - return NS_ERROR_FAILURE; - } - - return NotifyReconnectResult(NS_OK); -} - -nsresult -PresentationControllingInfo::BuildTransport() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (mState != nsIPresentationSessionListener::STATE_CONNECTING) { - return NS_OK; - } - - if (NS_WARN_IF(!mBuilderConstructor)) { - return NS_ERROR_NOT_AVAILABLE; - } - - if (!Preferences::GetBool("dom.presentation.session_transport.data_channel.enable")) { - // Build TCP session transport - return GetAddress(); - } - /** - * Generally transport is maintained by the chrome process. However, data - * channel should be live with the DOM , which implies RTCDataChannel in an OOP - * page should be establish in the content process. - * - * |mBuilderConstructor| is responsible for creating a builder, which is for - * building a data channel transport. - * - * In the OOP case, |mBuilderConstructor| would create a builder which is - * an object of |PresentationBuilderParent|. So, |BuildDataChannelTransport| - * triggers an IPC call to make content process establish a RTCDataChannel - * transport. - */ - - mTransportType = nsIPresentationChannelDescription::TYPE_DATACHANNEL; - if (NS_WARN_IF(NS_FAILED( - mBuilderConstructor->CreateTransportBuilder(mTransportType, - getter_AddRefs(mBuilder))))) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsCOMPtr - dataChannelBuilder(do_QueryInterface(mBuilder)); - if (NS_WARN_IF(!dataChannelBuilder)) { - return NS_ERROR_NOT_AVAILABLE; - } - - // OOP window would be set from content process - nsPIDOMWindowInner* window = GetWindow(); - - nsresult rv = dataChannelBuilder-> - BuildDataChannelTransport(nsIPresentationService::ROLE_CONTROLLER, - window, - this); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationControllingInfo::NotifyDisconnected(nsresult aReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), aReason, mRole); - - MOZ_ASSERT(NS_IsMainThread()); - - if (mTransportType == nsIPresentationChannelDescription::TYPE_DATACHANNEL) { - nsCOMPtr - builder = do_QueryInterface(mBuilder); - if (builder) { - Unused << NS_WARN_IF(NS_FAILED(builder->NotifyDisconnected(aReason))); - } - } - - // Unset control channel here so it won't try to re-close it in potential - // subsequent |Shutdown| calls. - SetControlChannel(nullptr); - - if (NS_WARN_IF(NS_FAILED(aReason) || !mIsResponderReady)) { - // The presentation session instance may already exist. - // Change the state to CLOSED if it is not terminated. - if (nsIPresentationSessionListener::STATE_TERMINATED != mState) { - SetStateWithReason(nsIPresentationSessionListener::STATE_CLOSED, aReason); - } - - // If |aReason| is NS_OK, it implies that the user closes the connection - // before becomming connected. No need to call |ReplyError| in this case. - if (NS_FAILED(aReason)) { - if (mIsReconnecting) { - NotifyReconnectResult(NS_ERROR_DOM_OPERATION_ERR); - } - // Reply error for an abnormal close. - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - Shutdown(aReason); - } - - // This is the case for reconnecting a connection which is in - // connecting state and |mTransport| is not ready. - if (mDoReconnectAfterClose && !mTransport) { - mDoReconnectAfterClose = false; - return Reconnect(mReconnectCallback); - } - - return NS_OK; -} - -// nsIServerSocketListener -NS_IMETHODIMP -PresentationControllingInfo::OnSocketAccepted(nsIServerSocket* aServerSocket, - nsISocketTransport* aTransport) -{ - int32_t port; - nsresult rv = aTransport->GetPort(&port); - if (!NS_WARN_IF(NS_FAILED(rv))) { - PRES_DEBUG("%s:receive from port[%d]\n",__func__, port); - } - - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!mBuilderConstructor)) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - // Initialize session transport builder and use |this| as the callback. - nsCOMPtr builder; - if (NS_SUCCEEDED(mBuilderConstructor->CreateTransportBuilder( - nsIPresentationChannelDescription::TYPE_TCP, - getter_AddRefs(mBuilder)))) { - builder = do_QueryInterface(mBuilder); - } - - if (NS_WARN_IF(!builder)) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - mTransportType = nsIPresentationChannelDescription::TYPE_TCP; - return builder->BuildTCPSenderTransport(aTransport, this); -} - -NS_IMETHODIMP -PresentationControllingInfo::OnStopListening(nsIServerSocket* aServerSocket, - nsresult aStatus) -{ - PRES_DEBUG("controller %s:status[%x]\n",__func__, aStatus); - - MOZ_ASSERT(NS_IsMainThread()); - - if (aStatus == NS_BINDING_ABORTED) { // The server socket was manually closed. - return NS_OK; - } - - Shutdown(aStatus); - - if (NS_WARN_IF(!IsSessionReady())) { - // It happens before the session is ready. Reply the callback. - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - // It happens after the session is ready. Change the state to CLOSED. - SetStateWithReason(nsIPresentationSessionListener::STATE_CLOSED, aStatus); - - return NS_OK; -} - -/** - * The steps to reconnect a session are summarized below: - * 1. Change |mState| to CONNECTING. - * 2. Check whether |mControlChannel| is existed or not. Usually we have to - * create a new control cahnnel. - * 3.1 |mControlChannel| is null, which means we have to create a new one. - * |EstablishControlChannel| is called to create a new control channel. - * At this point, |mControlChannel| is not able to use yet. Set - * |mIsReconnecting| to true and wait until |NotifyConnected|. - * 3.2 |mControlChannel| is not null and is avaliable. - * We can just call |ContinueReconnect| to send reconnect command. - * 4. |NotifyReconnected| of |nsIPresentationControlChannelListener| is called - * to indicate the receiver is ready for reconnecting. - * 5. Once both step 3 and 4 are done, the rest is to build a new data - * transport channel by following the same steps as starting a - * new session. - */ - -nsresult -PresentationControllingInfo::Reconnect(nsIPresentationServiceCallback* aCallback) -{ - PRES_DEBUG("%s:id[%s], role[%d], state[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole, mState); - - if (!aCallback) { - return NS_ERROR_INVALID_ARG; - } - - mReconnectCallback = aCallback; - - if (NS_WARN_IF(mState == nsIPresentationSessionListener::STATE_TERMINATED)) { - return NotifyReconnectResult(NS_ERROR_DOM_INVALID_STATE_ERR); - } - - // If |mState| is not CLOSED, we have to close the connection before - // reconnecting. The process to reconnect will be continued after - // |NotifyDisconnected| or |NotifyTransportClosed| is invoked. - if (mState == nsIPresentationSessionListener::STATE_CONNECTING || - mState == nsIPresentationSessionListener::STATE_CONNECTED) { - mDoReconnectAfterClose = true; - return Close(NS_OK, nsIPresentationSessionListener::STATE_CLOSED); - } - - // Make sure |mState| is closed at this point. - MOZ_ASSERT(mState == nsIPresentationSessionListener::STATE_CLOSED); - - mState = nsIPresentationSessionListener::STATE_CONNECTING; - mIsReconnecting = true; - - nsresult rv = NS_OK; - if (!mControlChannel) { - nsCOMPtr ctrlChannel; - rv = mDevice->EstablishControlChannel(getter_AddRefs(ctrlChannel)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return NotifyReconnectResult(NS_ERROR_DOM_OPERATION_ERR); - } - - rv = Init(ctrlChannel); - if (NS_WARN_IF(NS_FAILED(rv))) { - return NotifyReconnectResult(NS_ERROR_DOM_OPERATION_ERR); - } - } else { - return ContinueReconnect(); - } - - return NS_OK; -} - -nsresult -PresentationControllingInfo::ContinueReconnect() -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mControlChannel); - - mIsReconnecting = false; - if (NS_WARN_IF(NS_FAILED(mControlChannel->Reconnect(mSessionId, GetUrl())))) { - return NotifyReconnectResult(NS_ERROR_DOM_OPERATION_ERR); - } - - return NS_OK; -} - -// nsIListNetworkAddressesListener -NS_IMETHODIMP -PresentationControllingInfo::OnListedNetworkAddresses(const char** aAddressArray, - uint32_t aAddressArraySize) -{ - if (!aAddressArraySize) { - return OnListNetworkAddressesFailed(); - } - - // TODO bug 1228504 Take all IP addresses in PresentationChannelDescription - // into account. And at the first stage Presentation API is only exposed on - // Firefox OS where the first IP appears enough for most scenarios. - - nsAutoCString ip; - ip.Assign(aAddressArray[0]); - - // On Firefox desktop, the IP address is retrieved from a callback function. - // To make consistent code sequence, following function call is dispatched - // into main thread instead of calling it directly. - NS_DispatchToMainThread( - NewRunnableMethod( - this, - &PresentationControllingInfo::OnGetAddress, - ip)); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationControllingInfo::OnListNetworkAddressesFailed() -{ - PRES_ERROR("PresentationControllingInfo:OnListNetworkAddressesFailed"); - - // In 1-UA case, transport channel can still be established - // on loopback interface even if no network address available. - NS_DispatchToMainThread( - NewRunnableMethod( - this, - &PresentationControllingInfo::OnGetAddress, - "127.0.0.1")); - - return NS_OK; -} - -nsresult -PresentationControllingInfo::NotifyReconnectResult(nsresult aStatus) -{ - if (!mReconnectCallback) { - MOZ_ASSERT(false, "mReconnectCallback can not be null here."); - return NS_ERROR_FAILURE; - } - - mIsReconnecting = false; - nsCOMPtr callback = - mReconnectCallback.forget(); - if (NS_FAILED(aStatus)) { - return callback->NotifyError(aStatus); - } - - return callback->NotifySuccess(GetUrl()); -} - -// nsIPresentationSessionTransportCallback -NS_IMETHODIMP -PresentationControllingInfo::NotifyTransportReady() -{ - return PresentationSessionInfo::NotifyTransportReady(); -} - -NS_IMETHODIMP -PresentationControllingInfo::NotifyTransportClosed(nsresult aReason) -{ - if (!mDoReconnectAfterClose) { - return PresentationSessionInfo::NotifyTransportClosed(aReason);; - } - - MOZ_ASSERT(mState == nsIPresentationSessionListener::STATE_CLOSED); - - mTransport = nullptr; - mIsTransportReady = false; - mDoReconnectAfterClose = false; - return Reconnect(mReconnectCallback); -} - -NS_IMETHODIMP -PresentationControllingInfo::NotifyData(const nsACString& aData, bool aIsBinary) -{ - return PresentationSessionInfo::NotifyData(aData, aIsBinary); -} - -/** - * Implementation of PresentationPresentingInfo - * - * During presentation session establishment, the receiver expects the following - * after trying to launch the app by notifying "presentation-launch-receiver": - * (The order between step 2 and 3 is not guaranteed.) - * 1. |Observe| of |nsIObserver| is called with "presentation-receiver-launched". - * Then start listen to document |STATE_TRANSFERRING| event. - * 2. |NotifyResponderReady| is called to indicate the receiver page is ready - * for presentation use. - * 3. |OnOffer| of |nsIPresentationControlChannelListener| is called. - * 4. Once both step 2 and 3 are done, establish the data transport channel and - * send the answer. (The control channel will be closed by the sender once it - * receives the answer.) - * 5. |NotifyTransportReady| of |nsIPresentationSessionTransportCallback| is - * called. The presentation session is ready to use, so notify the listener - * of CONNECTED state. - */ - -NS_IMPL_ISUPPORTS_INHERITED(PresentationPresentingInfo, - PresentationSessionInfo, - nsITimerCallback) - -nsresult -PresentationPresentingInfo::Init(nsIPresentationControlChannel* aControlChannel) -{ - PresentationSessionInfo::Init(aControlChannel); - - // Add a timer to prevent waiting indefinitely in case the receiver page fails - // to become ready. - nsresult rv; - int32_t timeout = - Preferences::GetInt("presentation.receiver.loading.timeout", 10000); - mTimer = do_CreateInstance(NS_TIMER_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - rv = mTimer->InitWithCallback(this, timeout, nsITimer::TYPE_ONE_SHOT); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -void -PresentationPresentingInfo::Shutdown(nsresult aReason) -{ - PresentationSessionInfo::Shutdown(aReason); - - if (mTimer) { - mTimer->Cancel(); - } - - mLoadingCallback = nullptr; - mRequesterDescription = nullptr; - mPendingCandidates.Clear(); - mPromise = nullptr; - mHasFlushPendingEvents = false; -} - -// nsIPresentationSessionTransportBuilderListener -NS_IMETHODIMP -PresentationPresentingInfo::OnSessionTransport(nsIPresentationSessionTransport* aTransport) -{ - nsresult rv = PresentationSessionInfo::OnSessionTransport(aTransport); - - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - // The session transport is managed by content process - if (NS_WARN_IF(!aTransport)) { - return NS_ERROR_INVALID_ARG; - } - - // send answer for TCP session transport - if (mTransportType == nsIPresentationChannelDescription::TYPE_TCP) { - // Prepare and send the answer. - // In the current implementation of |PresentationSessionTransport|, - // |GetSelfAddress| cannot return the real info when it's initialized via - // |buildTCPReceiverTransport|. Yet this deficiency only affects the channel - // description for the answer, which is not actually checked at requester side. - nsCOMPtr selfAddr; - rv = mTransport->GetSelfAddress(getter_AddRefs(selfAddr)); - NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "GetSelfAddress failed"); - - nsCString address; - uint16_t port = 0; - if (NS_SUCCEEDED(rv)) { - selfAddr->GetAddress(address); - selfAddr->GetPort(&port); - } - nsCOMPtr description = - new TCPPresentationChannelDescription(address, port); - - return mControlChannel->SendAnswer(description); - } - - return NS_OK; -} - -// Delegate the pending offer and ICE candidates to builder. -NS_IMETHODIMP -PresentationPresentingInfo::FlushPendingEvents(nsIPresentationDataChannelSessionTransportBuilder* builder) -{ - if (NS_WARN_IF(!builder)) { - return NS_ERROR_FAILURE; - } - - mHasFlushPendingEvents = true; - - if (mRequesterDescription) { - builder->OnOffer(mRequesterDescription); - } - mRequesterDescription = nullptr; - - for (size_t i = 0; i < mPendingCandidates.Length(); ++i) { - builder->OnIceCandidate(mPendingCandidates[i]); - } - mPendingCandidates.Clear(); - return NS_OK; -} - -nsresult -PresentationPresentingInfo::InitTransportAndSendAnswer() -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mState == nsIPresentationSessionListener::STATE_CONNECTING); - - uint8_t type = 0; - nsresult rv = mRequesterDescription->GetType(&type); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (NS_WARN_IF(!mBuilderConstructor)) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - if (NS_WARN_IF(NS_FAILED( - mBuilderConstructor->CreateTransportBuilder(type, - getter_AddRefs(mBuilder))))) { - return NS_ERROR_NOT_AVAILABLE; - } - - if (type == nsIPresentationChannelDescription::TYPE_TCP) { - // Establish a data transport channel |mTransport| to the sender and use - // |this| as the callback. - nsCOMPtr builder = - do_QueryInterface(mBuilder); - if (NS_WARN_IF(!builder)) { - return NS_ERROR_NOT_AVAILABLE; - } - - mTransportType = nsIPresentationChannelDescription::TYPE_TCP; - return builder->BuildTCPReceiverTransport(mRequesterDescription, this); - } - - if (type == nsIPresentationChannelDescription::TYPE_DATACHANNEL) { - if (!Preferences::GetBool("dom.presentation.session_transport.data_channel.enable")) { - return NS_ERROR_NOT_IMPLEMENTED; - } - /** - * Generally transport is maintained by the chrome process. However, data - * channel should be live with the DOM , which implies RTCDataChannel in an OOP - * page should be establish in the content process. - * - * |mBuilderConstructor| is responsible for creating a builder, which is for - * building a data channel transport. - * - * In the OOP case, |mBuilderConstructor| would create a builder which is - * an object of |PresentationBuilderParent|. So, |BuildDataChannelTransport| - * triggers an IPC call to make content process establish a RTCDataChannel - * transport. - */ - - mTransportType = nsIPresentationChannelDescription::TYPE_DATACHANNEL; - - nsCOMPtr dataChannelBuilder = - do_QueryInterface(mBuilder); - if (NS_WARN_IF(!dataChannelBuilder)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsPIDOMWindowInner* window = GetWindow(); - - rv = dataChannelBuilder-> - BuildDataChannelTransport(nsIPresentationService::ROLE_RECEIVER, - window, - this); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = FlushPendingEvents(dataChannelBuilder); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; - } - - MOZ_ASSERT(false, "Unknown nsIPresentationChannelDescription type!"); - return NS_ERROR_UNEXPECTED; -} - -nsresult -PresentationPresentingInfo::UntrackFromService() -{ - // Remove the OOP responding info (if it has never been used). - if (mContentParent) { - Unused << NS_WARN_IF(!static_cast(mContentParent.get())->SendNotifyPresentationReceiverCleanUp(mSessionId)); - } - - // Receiver device might need clean up after session termination. - if (mDevice) { - mDevice->Disconnect(); - } - mDevice = nullptr; - - // Remove the session info (and the in-process responding info if there's any). - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - static_cast(service.get())->UntrackSessionInfo(mSessionId, mRole); - - return NS_OK; -} - -bool -PresentationPresentingInfo::IsAccessible(base::ProcessId aProcessId) -{ - // Only the specific content process should access the responder info. - return (mContentParent) ? - aProcessId == static_cast(mContentParent.get())->OtherPid() : - false; -} - -nsresult -PresentationPresentingInfo::NotifyResponderReady() -{ - PRES_DEBUG("%s:id[%s], role[%d], state[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole, mState); - - if (mTimer) { - mTimer->Cancel(); - mTimer = nullptr; - } - - mIsResponderReady = true; - - // Initialize |mTransport| and send the answer to the sender if sender's - // description is already offered. - if (mRequesterDescription) { - nsresult rv = InitTransportAndSendAnswer(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - } - - return NS_OK; -} - -nsresult -PresentationPresentingInfo::NotifyResponderFailure() -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole); - - if (mTimer) { - mTimer->Cancel(); - mTimer = nullptr; - } - - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); -} - -nsresult -PresentationPresentingInfo::DoReconnect() -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole); - - MOZ_ASSERT(mState == nsIPresentationSessionListener::STATE_CLOSED); - - SetStateWithReason(nsIPresentationSessionListener::STATE_CONNECTING, NS_OK); - - return NotifyResponderReady(); -} - -// nsIPresentationControlChannelListener -NS_IMETHODIMP -PresentationPresentingInfo::OnOffer(nsIPresentationChannelDescription* aDescription) -{ - if (NS_WARN_IF(mHasFlushPendingEvents)) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - if (NS_WARN_IF(!aDescription)) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - mRequesterDescription = aDescription; - - // Initialize |mTransport| and send the answer to the sender if the receiver - // page is ready for presentation use. - if (mIsResponderReady) { - nsresult rv = InitTransportAndSendAnswer(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationPresentingInfo::OnAnswer(nsIPresentationChannelDescription* aDescription) -{ - MOZ_ASSERT(false, "Receiver side should not receive answer."); - return NS_ERROR_FAILURE; -} - -NS_IMETHODIMP -PresentationPresentingInfo::OnIceCandidate(const nsAString& aCandidate) -{ - if (!mBuilder && !mHasFlushPendingEvents) { - mPendingCandidates.AppendElement(nsString(aCandidate)); - return NS_OK; - } - - if (NS_WARN_IF(!mBuilder && mHasFlushPendingEvents)) { - return NS_ERROR_FAILURE; - } - - nsCOMPtr - builder = do_QueryInterface(mBuilder); - - return builder->OnIceCandidate(aCandidate); -} - -NS_IMETHODIMP -PresentationPresentingInfo::NotifyConnected() -{ - PRES_DEBUG("%s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), mRole); - - if (nsIPresentationSessionListener::STATE_TERMINATED == mState) { - ContinueTermination(); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationPresentingInfo::NotifyReconnected() -{ - MOZ_ASSERT(false, "NotifyReconnected should not be called at receiver side."); - return NS_OK; -} - -NS_IMETHODIMP -PresentationPresentingInfo::NotifyDisconnected(nsresult aReason) -{ - PRES_DEBUG("%s:id[%s], reason[%x], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(mSessionId).get(), aReason, mRole); - - MOZ_ASSERT(NS_IsMainThread()); - - if (mTransportType == nsIPresentationChannelDescription::TYPE_DATACHANNEL) { - nsCOMPtr - builder = do_QueryInterface(mBuilder); - if (builder) { - Unused << NS_WARN_IF(NS_FAILED(builder->NotifyDisconnected(aReason))); - } - } - - // Unset control channel here so it won't try to re-close it in potential - // subsequent |Shutdown| calls. - SetControlChannel(nullptr); - - if (NS_WARN_IF(NS_FAILED(aReason))) { - // The presentation session instance may already exist. - // Change the state to TERMINATED since it never succeeds. - SetStateWithReason(nsIPresentationSessionListener::STATE_TERMINATED, aReason); - - // Reply error for an abnormal close. - return ReplyError(NS_ERROR_DOM_OPERATION_ERR); - } - - return NS_OK; -} - -// nsITimerCallback -NS_IMETHODIMP -PresentationPresentingInfo::Notify(nsITimer* aTimer) -{ - MOZ_ASSERT(NS_IsMainThread()); - NS_WARNING("The receiver page fails to become ready before timeout."); - - mTimer = nullptr; - return ReplyError(NS_ERROR_DOM_TIMEOUT_ERR); -} - -// PromiseNativeHandler -void -PresentationPresentingInfo::ResolvedCallback(JSContext* aCx, - JS::Handle aValue) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aValue.isObject())) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - JS::Rooted obj(aCx, &aValue.toObject()); - if (NS_WARN_IF(!obj)) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - // Start to listen to document state change event |STATE_TRANSFERRING|. - // Use Element to support both HTMLIFrameElement and nsXULElement. - Element* frame = nullptr; - nsresult rv = UNWRAP_OBJECT(Element, &obj, frame); - if (NS_WARN_IF(!frame)) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - nsCOMPtr owner = do_QueryInterface((nsIFrameLoaderOwner*) frame); - if (NS_WARN_IF(!owner)) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - nsCOMPtr frameLoader = owner->GetFrameLoader(); - if (NS_WARN_IF(!frameLoader)) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - RefPtr tabParent = TabParent::GetFrom(frameLoader); - if (tabParent) { - // OOP frame - // Notify the content process that a receiver page has launched, so it can - // start monitoring the loading progress. - mContentParent = tabParent->Manager(); - Unused << NS_WARN_IF(!static_cast(mContentParent.get())->SendNotifyPresentationReceiverLaunched(tabParent, mSessionId)); - } else { - // In-process frame - nsCOMPtr docShell; - rv = frameLoader->GetDocShell(getter_AddRefs(docShell)); - if (NS_WARN_IF(NS_FAILED(rv))) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - - // Keep an eye on the loading progress of the receiver page. - mLoadingCallback = new PresentationResponderLoadingCallback(mSessionId); - rv = mLoadingCallback->Init(docShell); - if (NS_WARN_IF(NS_FAILED(rv))) { - ReplyError(NS_ERROR_DOM_OPERATION_ERR); - return; - } - } -} - -void -PresentationPresentingInfo::RejectedCallback(JSContext* aCx, - JS::Handle aValue) -{ - MOZ_ASSERT(NS_IsMainThread()); - NS_WARNING("Launching the receiver page has been rejected."); - - if (mTimer) { - mTimer->Cancel(); - mTimer = nullptr; - } - - ReplyError(NS_ERROR_DOM_OPERATION_ERR); -} diff --git a/dom/presentation/PresentationSessionInfo.h b/dom/presentation/PresentationSessionInfo.h deleted file mode 100644 index 6338d3c32a..0000000000 --- a/dom/presentation/PresentationSessionInfo.h +++ /dev/null @@ -1,304 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationSessionInfo_h -#define mozilla_dom_PresentationSessionInfo_h - -#include "base/process.h" -#include "mozilla/dom/nsIContentParent.h" -#include "mozilla/dom/Promise.h" -#include "mozilla/dom/PromiseNativeHandler.h" -#include "mozilla/DebugOnly.h" -#include "mozilla/RefPtr.h" -#include "nsCOMPtr.h" -#include "nsINetworkInfoService.h" -#include "nsIPresentationControlChannel.h" -#include "nsIPresentationDevice.h" -#include "nsIPresentationListener.h" -#include "nsIPresentationService.h" -#include "nsIPresentationSessionTransport.h" -#include "nsIPresentationSessionTransportBuilder.h" -#include "nsIServerSocket.h" -#include "nsITimer.h" -#include "nsString.h" -#include "PresentationCallbacks.h" - -namespace mozilla { -namespace dom { - -class PresentationSessionInfo : public nsIPresentationSessionTransportCallback - , public nsIPresentationControlChannelListener - , public nsIPresentationSessionTransportBuilderListener -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTCALLBACK - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTBUILDERLISTENER - - PresentationSessionInfo(const nsAString& aUrl, - const nsAString& aSessionId, - const uint8_t aRole) - : mUrl(aUrl) - , mSessionId(aSessionId) - , mIsResponderReady(false) - , mIsTransportReady(false) - , mState(nsIPresentationSessionListener::STATE_CONNECTING) - , mReason(NS_OK) - { - MOZ_ASSERT(!mUrl.IsEmpty()); - MOZ_ASSERT(!mSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - mRole = aRole; - } - - virtual nsresult Init(nsIPresentationControlChannel* aControlChannel); - - const nsAString& GetUrl() const - { - return mUrl; - } - - const nsAString& GetSessionId() const - { - return mSessionId; - } - - uint8_t GetRole() const - { - return mRole; - } - - nsresult SetListener(nsIPresentationSessionListener* aListener); - - void SetDevice(nsIPresentationDevice* aDevice) - { - mDevice = aDevice; - } - - already_AddRefed GetDevice() const - { - nsCOMPtr device = mDevice; - return device.forget(); - } - - void SetControlChannel(nsIPresentationControlChannel* aControlChannel) - { - if (mControlChannel) { - mControlChannel->SetListener(nullptr); - } - - mControlChannel = aControlChannel; - if (mControlChannel) { - mControlChannel->SetListener(this); - } - } - - nsresult Send(const nsAString& aData); - - nsresult SendBinaryMsg(const nsACString& aData); - - nsresult SendBlob(nsIDOMBlob* aBlob); - - nsresult Close(nsresult aReason, - uint32_t aState); - - nsresult OnTerminate(nsIPresentationControlChannel* aControlChannel); - - nsresult ReplyError(nsresult aReason); - - virtual bool IsAccessible(base::ProcessId aProcessId); - - void SetTransportBuilderConstructor( - nsIPresentationTransportBuilderConstructor* aBuilderConstructor) - { - mBuilderConstructor = aBuilderConstructor; - } - -protected: - virtual ~PresentationSessionInfo() - { - Shutdown(NS_OK); - } - - virtual void Shutdown(nsresult aReason); - - nsresult ReplySuccess(); - - bool IsSessionReady() - { - return mIsResponderReady && mIsTransportReady; - } - - virtual nsresult UntrackFromService(); - - void SetStateWithReason(uint32_t aState, nsresult aReason) - { - if (mState == aState) { - return; - } - - mState = aState; - mReason = aReason; - - // Notify session state change. - if (mListener) { - DebugOnly rv = - mListener->NotifyStateChange(mSessionId, mState, aReason); - NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "NotifyStateChanged"); - } - } - - void ContinueTermination(); - - void ResetBuilder() - { - mBuilder = nullptr; - } - - // Should be nsIPresentationChannelDescription::TYPE_TCP/TYPE_DATACHANNEL - uint8_t mTransportType = 0; - - nsPIDOMWindowInner* GetWindow(); - - nsString mUrl; - nsString mSessionId; - // mRole should be nsIPresentationService::ROLE_CONTROLLER - // or nsIPresentationService::ROLE_RECEIVER. - uint8_t mRole; - bool mIsResponderReady; - bool mIsTransportReady; - bool mIsOnTerminating = false; - uint32_t mState; // CONNECTED, CLOSED, TERMINATED - nsresult mReason; - nsCOMPtr mListener; - nsCOMPtr mDevice; - nsCOMPtr mTransport; - nsCOMPtr mControlChannel; - nsCOMPtr mBuilder; - nsCOMPtr mBuilderConstructor; -}; - -// Session info with controlling browsing context (sender side) behaviors. -class PresentationControllingInfo final : public PresentationSessionInfo - , public nsIServerSocketListener - , public nsIListNetworkAddressesListener -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSIPRESENTATIONCONTROLCHANNELLISTENER - NS_DECL_NSISERVERSOCKETLISTENER - NS_DECL_NSILISTNETWORKADDRESSESLISTENER - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTCALLBACK - - PresentationControllingInfo(const nsAString& aUrl, - const nsAString& aSessionId) - : PresentationSessionInfo(aUrl, - aSessionId, - nsIPresentationService::ROLE_CONTROLLER) - {} - - nsresult Init(nsIPresentationControlChannel* aControlChannel) override; - - nsresult Reconnect(nsIPresentationServiceCallback* aCallback); - - nsresult BuildTransport(); - -private: - ~PresentationControllingInfo() - { - Shutdown(NS_OK); - } - - void Shutdown(nsresult aReason) override; - - nsresult GetAddress(); - - nsresult OnGetAddress(const nsACString& aAddress); - - nsresult ContinueReconnect(); - - nsresult NotifyReconnectResult(nsresult aStatus); - - nsCOMPtr mServerSocket; - nsCOMPtr mReconnectCallback; - bool mIsReconnecting = false; - bool mDoReconnectAfterClose = false; -}; - -// Session info with presenting browsing context (receiver side) behaviors. -class PresentationPresentingInfo final : public PresentationSessionInfo - , public PromiseNativeHandler - , public nsITimerCallback -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSIPRESENTATIONCONTROLCHANNELLISTENER - NS_DECL_NSITIMERCALLBACK - - PresentationPresentingInfo(const nsAString& aUrl, - const nsAString& aSessionId, - nsIPresentationDevice* aDevice) - : PresentationSessionInfo(aUrl, - aSessionId, - nsIPresentationService::ROLE_RECEIVER) - { - MOZ_ASSERT(aDevice); - SetDevice(aDevice); - } - - nsresult Init(nsIPresentationControlChannel* aControlChannel) override; - - nsresult NotifyResponderReady(); - nsresult NotifyResponderFailure(); - - NS_IMETHODIMP OnSessionTransport(nsIPresentationSessionTransport* transport) override; - - void ResolvedCallback(JSContext* aCx, JS::Handle aValue) override; - - void RejectedCallback(JSContext* aCx, JS::Handle aValue) override; - - void SetPromise(Promise* aPromise) - { - mPromise = aPromise; - mPromise->AppendNativeHandler(this); - } - - bool IsAccessible(base::ProcessId aProcessId) override; - - nsresult DoReconnect(); - -private: - ~PresentationPresentingInfo() - { - Shutdown(NS_OK); - } - - void Shutdown(nsresult aReason) override; - - nsresult InitTransportAndSendAnswer(); - - nsresult UntrackFromService() override; - - NS_IMETHODIMP - FlushPendingEvents(nsIPresentationDataChannelSessionTransportBuilder* builder); - - bool mHasFlushPendingEvents = false; - RefPtr mLoadingCallback; - nsCOMPtr mTimer; - nsCOMPtr mRequesterDescription; - nsTArray mPendingCandidates; - RefPtr mPromise; - - // The content parent communicating with the content process which the OOP - // receiver page belongs to. - nsCOMPtr mContentParent; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationSessionInfo_h diff --git a/dom/presentation/PresentationSessionRequest.cpp b/dom/presentation/PresentationSessionRequest.cpp deleted file mode 100644 index 219fbd6a45..0000000000 --- a/dom/presentation/PresentationSessionRequest.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#include "PresentationSessionRequest.h" -#include "nsIPresentationControlChannel.h" -#include "nsIPresentationDevice.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(PresentationSessionRequest, nsIPresentationSessionRequest) - -PresentationSessionRequest::PresentationSessionRequest(nsIPresentationDevice* aDevice, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) - : mUrl(aUrl) - , mPresentationId(aPresentationId) - , mDevice(aDevice) - , mControlChannel(aControlChannel) -{ -} - -PresentationSessionRequest::~PresentationSessionRequest() -{ -} - -// nsIPresentationSessionRequest - -NS_IMETHODIMP -PresentationSessionRequest::GetDevice(nsIPresentationDevice** aRetVal) -{ - NS_ENSURE_ARG_POINTER(aRetVal); - - nsCOMPtr device = mDevice; - device.forget(aRetVal); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionRequest::GetUrl(nsAString& aRetVal) -{ - aRetVal = mUrl; - - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionRequest::GetPresentationId(nsAString& aRetVal) -{ - aRetVal = mPresentationId; - - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionRequest::GetControlChannel(nsIPresentationControlChannel** aRetVal) -{ - NS_ENSURE_ARG_POINTER(aRetVal); - - nsCOMPtr controlChannel = mControlChannel; - controlChannel.forget(aRetVal); - - return NS_OK; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/PresentationSessionRequest.h b/dom/presentation/PresentationSessionRequest.h deleted file mode 100644 index c56502d77d..0000000000 --- a/dom/presentation/PresentationSessionRequest.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationSessionRequest_h__ -#define mozilla_dom_PresentationSessionRequest_h__ - -#include "nsIPresentationSessionRequest.h" -#include "nsCOMPtr.h" -#include "nsString.h" - -namespace mozilla { -namespace dom { - -class PresentationSessionRequest final : public nsIPresentationSessionRequest -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSESSIONREQUEST - - PresentationSessionRequest(nsIPresentationDevice* aDevice, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel); - -private: - virtual ~PresentationSessionRequest(); - - nsString mUrl; - nsString mPresentationId; - nsCOMPtr mDevice; - nsCOMPtr mControlChannel; -}; - -} // namespace dom -} // namespace mozilla - -#endif /* mozilla_dom_PresentationSessionRequest_h__ */ - diff --git a/dom/presentation/PresentationTCPSessionTransport.cpp b/dom/presentation/PresentationTCPSessionTransport.cpp deleted file mode 100644 index 1ccb8b43c6..0000000000 --- a/dom/presentation/PresentationTCPSessionTransport.cpp +++ /dev/null @@ -1,589 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsArrayUtils.h" -#include "nsIAsyncStreamCopier.h" -#include "nsIInputStreamPump.h" -#include "nsIMultiplexInputStream.h" -#include "nsIMutableArray.h" -#include "nsIOutputStream.h" -#include "nsIPresentationControlChannel.h" -#include "nsIScriptableInputStream.h" -#include "nsISocketTransport.h" -#include "nsISocketTransportService.h" -#include "nsISupportsPrimitives.h" -#include "nsNetUtil.h" -#include "nsQueryObject.h" -#include "nsServiceManagerUtils.h" -#include "nsStreamUtils.h" -#include "nsThreadUtils.h" -#include "PresentationLog.h" -#include "PresentationTCPSessionTransport.h" - -#define BUFFER_SIZE 65536 - -using namespace mozilla; -using namespace mozilla::dom; - -class CopierCallbacks final : public nsIRequestObserver -{ -public: - explicit CopierCallbacks(PresentationTCPSessionTransport* aTransport) - : mOwner(aTransport) - {} - - NS_DECL_ISUPPORTS - NS_DECL_NSIREQUESTOBSERVER -private: - ~CopierCallbacks() {} - - RefPtr mOwner; -}; - -NS_IMPL_ISUPPORTS(CopierCallbacks, nsIRequestObserver) - -NS_IMETHODIMP -CopierCallbacks::OnStartRequest(nsIRequest* aRequest, nsISupports* aContext) -{ - return NS_OK; -} - -NS_IMETHODIMP -CopierCallbacks::OnStopRequest(nsIRequest* aRequest, nsISupports* aContext, nsresult aStatus) -{ - mOwner->NotifyCopyComplete(aStatus); - return NS_OK; -} - -NS_IMPL_CYCLE_COLLECTION(PresentationTCPSessionTransport, mTransport, - mSocketInputStream, mSocketOutputStream, - mInputStreamPump, mInputStreamScriptable, - mMultiplexStream, mMultiplexStreamCopier, mCallback) - -NS_IMPL_CYCLE_COLLECTING_ADDREF(PresentationTCPSessionTransport) -NS_IMPL_CYCLE_COLLECTING_RELEASE(PresentationTCPSessionTransport) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(PresentationTCPSessionTransport) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIPresentationSessionTransport) - NS_INTERFACE_MAP_ENTRY(nsIInputStreamCallback) - NS_INTERFACE_MAP_ENTRY(nsIPresentationSessionTransport) - NS_INTERFACE_MAP_ENTRY(nsIPresentationSessionTransportBuilder) - NS_INTERFACE_MAP_ENTRY(nsIPresentationTCPSessionTransportBuilder) - NS_INTERFACE_MAP_ENTRY(nsIRequestObserver) - NS_INTERFACE_MAP_ENTRY(nsIStreamListener) - NS_INTERFACE_MAP_ENTRY(nsITransportEventSink) -NS_INTERFACE_MAP_END - -PresentationTCPSessionTransport::PresentationTCPSessionTransport() - : mReadyState(ReadyState::CLOSED) - , mAsyncCopierActive(false) - , mCloseStatus(NS_OK) - , mDataNotificationEnabled(false) -{ -} - -PresentationTCPSessionTransport::~PresentationTCPSessionTransport() -{ -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::BuildTCPSenderTransport(nsISocketTransport* aTransport, - nsIPresentationSessionTransportBuilderListener* aListener) -{ - if (NS_WARN_IF(!aTransport)) { - return NS_ERROR_INVALID_ARG; - } - mTransport = aTransport; - - if (NS_WARN_IF(!aListener)) { - return NS_ERROR_INVALID_ARG; - } - mListener = aListener; - - nsresult rv = CreateStream(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mRole = nsIPresentationService::ROLE_CONTROLLER; - - nsCOMPtr sessionTransport = do_QueryObject(this); - nsCOMPtr onSessionTransportRunnable = - NewRunnableMethod - (mListener, - &nsIPresentationSessionTransportBuilderListener::OnSessionTransport, - sessionTransport); - - NS_DispatchToCurrentThread(onSessionTransportRunnable.forget()); - - nsCOMPtr setReadyStateRunnable = - NewRunnableMethod(this, - &PresentationTCPSessionTransport::SetReadyState, - ReadyState::OPEN); - return NS_DispatchToCurrentThread(setReadyStateRunnable.forget()); -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::BuildTCPReceiverTransport(nsIPresentationChannelDescription* aDescription, - nsIPresentationSessionTransportBuilderListener* aListener) -{ - if (NS_WARN_IF(!aDescription)) { - return NS_ERROR_INVALID_ARG; - } - - if (NS_WARN_IF(!aListener)) { - return NS_ERROR_INVALID_ARG; - } - mListener = aListener; - - uint16_t serverPort; - nsresult rv = aDescription->GetTcpPort(&serverPort); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - nsCOMPtr serverHosts; - rv = aDescription->GetTcpAddress(getter_AddRefs(serverHosts)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - // TODO bug 1228504 Take all IP addresses in PresentationChannelDescription - // into account. And at the first stage Presentation API is only exposed on - // Firefox OS where the first IP appears enough for most scenarios. - nsCOMPtr supportStr = do_QueryElementAt(serverHosts, 0); - if (NS_WARN_IF(!supportStr)) { - return NS_ERROR_INVALID_ARG; - } - - nsAutoCString serverHost; - supportStr->GetData(serverHost); - if (serverHost.IsEmpty()) { - return NS_ERROR_INVALID_ARG; - } - - PRES_DEBUG("%s:ServerHost[%s],ServerPort[%d]\n", __func__, serverHost.get(), serverPort); - - SetReadyState(ReadyState::CONNECTING); - - nsCOMPtr sts = - do_GetService(NS_SOCKETTRANSPORTSERVICE_CONTRACTID); - if (NS_WARN_IF(!sts)) { - return NS_ERROR_NOT_AVAILABLE; - } - rv = sts->CreateTransport(nullptr, 0, serverHost, serverPort, nullptr, - getter_AddRefs(mTransport)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - nsCOMPtr mainThread; - NS_GetMainThread(getter_AddRefs(mainThread)); - - mTransport->SetEventSink(this, mainThread); - - rv = CreateStream(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mRole = nsIPresentationService::ROLE_RECEIVER; - - nsCOMPtr sessionTransport = do_QueryObject(this); - nsCOMPtr runnable = - NewRunnableMethod - (mListener, - &nsIPresentationSessionTransportBuilderListener::OnSessionTransport, - sessionTransport); - return NS_DispatchToCurrentThread(runnable.forget()); -} - -nsresult -PresentationTCPSessionTransport::CreateStream() -{ - nsresult rv = mTransport->OpenInputStream(0, 0, 0, getter_AddRefs(mSocketInputStream)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - rv = mTransport->OpenOutputStream(nsITransport::OPEN_UNBUFFERED, 0, 0, getter_AddRefs(mSocketOutputStream)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - // If the other side is not listening, we will get an |onInputStreamReady| - // callback where |available| raises to indicate the connection was refused. - nsCOMPtr asyncStream = do_QueryInterface(mSocketInputStream); - if (NS_WARN_IF(!asyncStream)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsCOMPtr mainThread; - NS_GetMainThread(getter_AddRefs(mainThread)); - - rv = asyncStream->AsyncWait(this, nsIAsyncInputStream::WAIT_CLOSURE_ONLY, 0, mainThread); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mInputStreamScriptable = do_CreateInstance("@mozilla.org/scriptableinputstream;1", &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - rv = mInputStreamScriptable->Init(mSocketInputStream); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mMultiplexStream = do_CreateInstance("@mozilla.org/io/multiplex-input-stream;1", &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mMultiplexStreamCopier = do_CreateInstance("@mozilla.org/network/async-stream-copier;1", &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - nsCOMPtr sts = - do_GetService(NS_SOCKETTRANSPORTSERVICE_CONTRACTID); - if (NS_WARN_IF(!sts)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsCOMPtr target = do_QueryInterface(sts); - rv = mMultiplexStreamCopier->Init(mMultiplexStream, - mSocketOutputStream, - target, - true, /* source buffered */ - false, /* sink buffered */ - BUFFER_SIZE, - false, /* close source */ - false); /* close sink */ - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -nsresult -PresentationTCPSessionTransport::CreateInputStreamPump() -{ - if (NS_WARN_IF(mInputStreamPump)) { - return NS_OK; - } - - nsresult rv; - mInputStreamPump = do_CreateInstance(NS_INPUTSTREAMPUMP_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = mInputStreamPump->Init(mSocketInputStream, -1, -1, 0, 0, false); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = mInputStreamPump->AsyncRead(this, nullptr); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::EnableDataNotification() -{ - if (NS_WARN_IF(!mCallback)) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - if (mDataNotificationEnabled) { - return NS_OK; - } - - mDataNotificationEnabled = true; - - if (IsReadyToNotifyData()) { - return CreateInputStreamPump(); - } - - return NS_OK; -} - -// nsIPresentationSessionTransportBuilderListener -NS_IMETHODIMP -PresentationTCPSessionTransport::GetCallback(nsIPresentationSessionTransportCallback** aCallback) -{ - nsCOMPtr callback = mCallback; - callback.forget(aCallback); - return NS_OK; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::SetCallback(nsIPresentationSessionTransportCallback* aCallback) -{ - mCallback = aCallback; - - if (!!mCallback && ReadyState::OPEN == mReadyState) { - // Notify the transport channel is ready. - Unused << NS_WARN_IF(NS_FAILED(mCallback->NotifyTransportReady())); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::GetSelfAddress(nsINetAddr** aSelfAddress) -{ - if (NS_WARN_IF(!mTransport)) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - return mTransport->GetScriptableSelfAddr(aSelfAddress); -} - -void -PresentationTCPSessionTransport::EnsureCopying() -{ - if (mAsyncCopierActive) { - return; - } - - mAsyncCopierActive = true; - RefPtr callbacks = new CopierCallbacks(this); - Unused << NS_WARN_IF(NS_FAILED(mMultiplexStreamCopier->AsyncCopy(callbacks, nullptr))); -} - -void -PresentationTCPSessionTransport::NotifyCopyComplete(nsresult aStatus) -{ - mAsyncCopierActive = false; - mMultiplexStream->RemoveStream(0); - if (NS_WARN_IF(NS_FAILED(aStatus))) { - if (mReadyState != ReadyState::CLOSED) { - mCloseStatus = aStatus; - SetReadyState(ReadyState::CLOSED); - } - return; - } - - uint32_t count; - nsresult rv = mMultiplexStream->GetCount(&count); - if (NS_WARN_IF(NS_FAILED(rv))) { - return; - } - - if (count) { - EnsureCopying(); - return; - } - - if (mReadyState == ReadyState::CLOSING) { - mSocketOutputStream->Close(); - mCloseStatus = NS_OK; - SetReadyState(ReadyState::CLOSED); - } -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::Send(const nsAString& aData) -{ - if (NS_WARN_IF(mReadyState != ReadyState::OPEN)) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - nsresult rv; - nsCOMPtr stream = - do_CreateInstance(NS_STRINGINPUTSTREAM_CONTRACTID, &rv); - if(NS_WARN_IF(NS_FAILED(rv))) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - NS_ConvertUTF16toUTF8 msgString(aData); - rv = stream->SetData(msgString.BeginReading(), msgString.Length()); - if(NS_WARN_IF(NS_FAILED(rv))) { - return NS_ERROR_DOM_INVALID_STATE_ERR; - } - - mMultiplexStream->AppendStream(stream); - - EnsureCopying(); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::SendBinaryMsg(const nsACString& aData) -{ - return NS_ERROR_DOM_NOT_SUPPORTED_ERR; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::SendBlob(nsIDOMBlob* aBlob) -{ - return NS_ERROR_DOM_NOT_SUPPORTED_ERR; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::Close(nsresult aReason) -{ - PRES_DEBUG("%s:reason[%x]\n", __func__, aReason); - - if (mReadyState == ReadyState::CLOSED || mReadyState == ReadyState::CLOSING) { - return NS_OK; - } - - mCloseStatus = aReason; - SetReadyState(ReadyState::CLOSING); - - uint32_t count = 0; - mMultiplexStream->GetCount(&count); - if (!count) { - mSocketOutputStream->Close(); - } - - mSocketInputStream->Close(); - mDataNotificationEnabled = false; - - mListener = nullptr; - - return NS_OK; -} - -void -PresentationTCPSessionTransport::SetReadyState(ReadyState aReadyState) -{ - mReadyState = aReadyState; - - if (mReadyState == ReadyState::OPEN) { - if (IsReadyToNotifyData()) { - CreateInputStreamPump(); - } - - if (NS_WARN_IF(!mCallback)) { - return; - } - - // Notify the transport channel is ready. - Unused << NS_WARN_IF(NS_FAILED(mCallback->NotifyTransportReady())); - } else if (mReadyState == ReadyState::CLOSED && mCallback) { - if (NS_WARN_IF(!mCallback)) { - return; - } - - // Notify the transport channel has been shut down. - Unused << - NS_WARN_IF(NS_FAILED(mCallback->NotifyTransportClosed(mCloseStatus))); - mCallback = nullptr; - } -} - -// nsITransportEventSink -NS_IMETHODIMP -PresentationTCPSessionTransport::OnTransportStatus(nsITransport* aTransport, - nsresult aStatus, - int64_t aProgress, - int64_t aProgressMax) -{ - PRES_DEBUG("%s:aStatus[%x]\n", __func__, aStatus); - - MOZ_ASSERT(NS_IsMainThread()); - - if (aStatus != NS_NET_STATUS_CONNECTED_TO) { - return NS_OK; - } - - SetReadyState(ReadyState::OPEN); - - return NS_OK; -} - -// nsIInputStreamCallback -NS_IMETHODIMP -PresentationTCPSessionTransport::OnInputStreamReady(nsIAsyncInputStream* aStream) -{ - MOZ_ASSERT(NS_IsMainThread()); - - // Only used for detecting if the connection was refused. - uint64_t dummy; - nsresult rv = aStream->Available(&dummy); - if (NS_WARN_IF(NS_FAILED(rv))) { - if (mReadyState != ReadyState::CLOSED) { - mCloseStatus = NS_ERROR_CONNECTION_REFUSED; - SetReadyState(ReadyState::CLOSED); - } - } - - return NS_OK; -} - -// nsIRequestObserver -NS_IMETHODIMP -PresentationTCPSessionTransport::OnStartRequest(nsIRequest* aRequest, - nsISupports* aContext) -{ - // Do nothing. - return NS_OK; -} - -NS_IMETHODIMP -PresentationTCPSessionTransport::OnStopRequest(nsIRequest* aRequest, - nsISupports* aContext, - nsresult aStatusCode) -{ - PRES_DEBUG("%s:aStatusCode[%x]\n", __func__, aStatusCode); - - MOZ_ASSERT(NS_IsMainThread()); - - uint32_t count; - nsresult rv = mMultiplexStream->GetCount(&count); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mInputStreamPump = nullptr; - - if (count != 0 && NS_SUCCEEDED(aStatusCode)) { - // If we have some buffered output still, and status is not an error, the - // other side has done a half-close, but we don't want to be in the close - // state until we are done sending everything that was buffered. We also - // don't want to call |NotifyTransportClosed| yet. - return NS_OK; - } - - // We call this even if there is no error. - if (mReadyState != ReadyState::CLOSED) { - mCloseStatus = aStatusCode; - SetReadyState(ReadyState::CLOSED); - } - return NS_OK; -} - -// nsIStreamListener -NS_IMETHODIMP -PresentationTCPSessionTransport::OnDataAvailable(nsIRequest* aRequest, - nsISupports* aContext, - nsIInputStream* aStream, - uint64_t aOffset, - uint32_t aCount) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!mCallback)) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsCString data; - nsresult rv = mInputStreamScriptable->ReadBytes(aCount, data); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - // Pass the incoming data to the listener. - return mCallback->NotifyData(data, false); -} diff --git a/dom/presentation/PresentationTCPSessionTransport.h b/dom/presentation/PresentationTCPSessionTransport.h deleted file mode 100644 index f36b371a4b..0000000000 --- a/dom/presentation/PresentationTCPSessionTransport.h +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationSessionTransport_h -#define mozilla_dom_PresentationSessionTransport_h - -#include "mozilla/RefPtr.h" -#include "nsCOMPtr.h" -#include "nsIAsyncInputStream.h" -#include "nsIPresentationSessionTransport.h" -#include "nsIPresentationSessionTransportBuilder.h" -#include "nsIStreamListener.h" -#include "nsISupportsImpl.h" -#include "nsITransport.h" - -class nsISocketTransport; -class nsIInputStreamPump; -class nsIScriptableInputStream; -class nsIMultiplexInputStream; -class nsIAsyncStreamCopier; -class nsIInputStream; - -namespace mozilla { -namespace dom { - -/* - * App-to-App transport channel for the presentation session. It's usually - * initialized with an |InitWithSocketTransport| call if at the presenting sender - * side; whereas it's initialized with an |InitWithChannelDescription| if at the - * presenting receiver side. The lifetime is managed in either - * |PresentationControllingInfo| (sender side) or |PresentationPresentingInfo| - * (receiver side) in PresentationSessionInfo.cpp. - */ -class PresentationTCPSessionTransport final : public nsIPresentationSessionTransport - , public nsIPresentationTCPSessionTransportBuilder - , public nsITransportEventSink - , public nsIInputStreamCallback - , public nsIStreamListener -{ -public: - NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(PresentationTCPSessionTransport, - nsIPresentationSessionTransport) - - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORT - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTBUILDER - NS_DECL_NSIPRESENTATIONTCPSESSIONTRANSPORTBUILDER - NS_DECL_NSITRANSPORTEVENTSINK - NS_DECL_NSIINPUTSTREAMCALLBACK - NS_DECL_NSIREQUESTOBSERVER - NS_DECL_NSISTREAMLISTENER - - PresentationTCPSessionTransport(); - - void NotifyCopyComplete(nsresult aStatus); - -private: - ~PresentationTCPSessionTransport(); - - nsresult CreateStream(); - - nsresult CreateInputStreamPump(); - - void EnsureCopying(); - - enum class ReadyState { - CONNECTING, - OPEN, - CLOSING, - CLOSED - }; - - void SetReadyState(ReadyState aReadyState); - - bool IsReadyToNotifyData() - { - return mDataNotificationEnabled && mReadyState == ReadyState::OPEN; - } - - ReadyState mReadyState; - bool mAsyncCopierActive; - nsresult mCloseStatus; - bool mDataNotificationEnabled; - - uint8_t mRole = 0; - - // Raw socket streams - nsCOMPtr mTransport; - nsCOMPtr mSocketInputStream; - nsCOMPtr mSocketOutputStream; - - // Input stream machinery - nsCOMPtr mInputStreamPump; - nsCOMPtr mInputStreamScriptable; - - // Output stream machinery - nsCOMPtr mMultiplexStream; - nsCOMPtr mMultiplexStreamCopier; - - nsCOMPtr mCallback; - nsCOMPtr mListener; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationSessionTransport_h diff --git a/dom/presentation/PresentationTerminateRequest.cpp b/dom/presentation/PresentationTerminateRequest.cpp deleted file mode 100644 index 61fd8403f4..0000000000 --- a/dom/presentation/PresentationTerminateRequest.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#include "PresentationTerminateRequest.h" -#include "nsIPresentationControlChannel.h" -#include "nsIPresentationDevice.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(PresentationTerminateRequest, nsIPresentationTerminateRequest) - -PresentationTerminateRequest::PresentationTerminateRequest( - nsIPresentationDevice* aDevice, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel, - bool aIsFromReceiver) - : mPresentationId(aPresentationId) - , mDevice(aDevice) - , mControlChannel(aControlChannel) - , mIsFromReceiver(aIsFromReceiver) -{ -} - -PresentationTerminateRequest::~PresentationTerminateRequest() -{ -} - -// nsIPresentationTerminateRequest -NS_IMETHODIMP -PresentationTerminateRequest::GetDevice(nsIPresentationDevice** aRetVal) -{ - NS_ENSURE_ARG_POINTER(aRetVal); - - nsCOMPtr device = mDevice; - device.forget(aRetVal); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationTerminateRequest::GetPresentationId(nsAString& aRetVal) -{ - aRetVal = mPresentationId; - - return NS_OK; -} - -NS_IMETHODIMP -PresentationTerminateRequest::GetControlChannel( - nsIPresentationControlChannel** aRetVal) -{ - NS_ENSURE_ARG_POINTER(aRetVal); - - nsCOMPtr controlChannel = mControlChannel; - controlChannel.forget(aRetVal); - - return NS_OK; -} - -NS_IMETHODIMP -PresentationTerminateRequest::GetIsFromReceiver(bool* aRetVal) -{ - *aRetVal = mIsFromReceiver; - - return NS_OK; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/PresentationTerminateRequest.h b/dom/presentation/PresentationTerminateRequest.h deleted file mode 100644 index ca3563f8df..0000000000 --- a/dom/presentation/PresentationTerminateRequest.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationTerminateRequest_h__ -#define mozilla_dom_PresentationTerminateRequest_h__ - -#include "nsIPresentationTerminateRequest.h" -#include "nsCOMPtr.h" -#include "nsString.h" - -namespace mozilla { -namespace dom { - -class PresentationTerminateRequest final : public nsIPresentationTerminateRequest -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONTERMINATEREQUEST - - PresentationTerminateRequest(nsIPresentationDevice* aDevice, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel, - bool aIsFromReceiver); - -private: - virtual ~PresentationTerminateRequest(); - - nsString mPresentationId; - nsCOMPtr mDevice; - nsCOMPtr mControlChannel; - bool mIsFromReceiver; -}; - -} // namespace dom -} // namespace mozilla - -#endif /* mozilla_dom_PresentationTerminateRequest_h__ */ - diff --git a/dom/presentation/PresentationTransportBuilderConstructor.cpp b/dom/presentation/PresentationTransportBuilderConstructor.cpp deleted file mode 100644 index 98177958d1..0000000000 --- a/dom/presentation/PresentationTransportBuilderConstructor.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#include "PresentationTransportBuilderConstructor.h" - -#include "nsComponentManagerUtils.h" -#include "nsIPresentationControlChannel.h" -#include "nsIPresentationSessionTransport.h" -#include "nsXULAppAPI.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(DummyPresentationTransportBuilderConstructor, - nsIPresentationTransportBuilderConstructor) - -NS_IMETHODIMP -DummyPresentationTransportBuilderConstructor::CreateTransportBuilder( - uint8_t aType, - nsIPresentationSessionTransportBuilder** aRetval) -{ - MOZ_ASSERT(false, "Unexpected to be invoked."); - return NS_OK; -} - -NS_IMPL_ISUPPORTS_INHERITED0(PresentationTransportBuilderConstructor, - DummyPresentationTransportBuilderConstructor) - -/* static */ already_AddRefed -PresentationTransportBuilderConstructor::Create() -{ - nsCOMPtr constructor; - if (XRE_IsContentProcess()) { - constructor = new DummyPresentationTransportBuilderConstructor(); - } else { - constructor = new PresentationTransportBuilderConstructor(); - } - - return constructor.forget(); -} - -NS_IMETHODIMP -PresentationTransportBuilderConstructor::CreateTransportBuilder( - uint8_t aType, - nsIPresentationSessionTransportBuilder** aRetval) -{ - if (NS_WARN_IF(!aRetval)) { - return NS_ERROR_INVALID_ARG; - } - - *aRetval = nullptr; - - if (NS_WARN_IF(aType != nsIPresentationChannelDescription::TYPE_TCP && - aType != nsIPresentationChannelDescription::TYPE_DATACHANNEL)) { - return NS_ERROR_INVALID_ARG; - } - - if (XRE_IsContentProcess()) { - MOZ_ASSERT(false, - "CreateTransportBuilder can only be invoked in parent process."); - return NS_ERROR_FAILURE; - } - - nsCOMPtr builder; - if (aType == nsIPresentationChannelDescription::TYPE_TCP) { - builder = - do_CreateInstance(PRESENTATION_TCP_SESSION_TRANSPORT_CONTRACTID); - } else { - builder = - do_CreateInstance("@mozilla.org/presentation/datachanneltransportbuilder;1"); - } - - if (NS_WARN_IF(!builder)) { - return NS_ERROR_DOM_OPERATION_ERR; - } - - builder.forget(aRetval); - return NS_OK; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/PresentationTransportBuilderConstructor.h b/dom/presentation/PresentationTransportBuilderConstructor.h deleted file mode 100644 index 4250d61baa..0000000000 --- a/dom/presentation/PresentationTransportBuilderConstructor.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationTransportBuilderConstructor_h -#define mozilla_dom_PresentationTransportBuilderConstructor_h - -#include "nsCOMPtr.h" -#include "nsIPresentationSessionTransportBuilder.h" -#include "nsISupportsImpl.h" - -namespace mozilla { -namespace dom { - -class DummyPresentationTransportBuilderConstructor : - public nsIPresentationTransportBuilderConstructor -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONTRANSPORTBUILDERCONSTRUCTOR - - DummyPresentationTransportBuilderConstructor() = default; - -protected: - virtual ~DummyPresentationTransportBuilderConstructor() = default; -}; - -class PresentationTransportBuilderConstructor final : - public DummyPresentationTransportBuilderConstructor -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSIPRESENTATIONTRANSPORTBUILDERCONSTRUCTOR - - static already_AddRefed - Create(); - -private: - PresentationTransportBuilderConstructor() = default; - virtual ~PresentationTransportBuilderConstructor() = default; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationTransportBuilderConstructor_h diff --git a/dom/presentation/interfaces/moz.build b/dom/presentation/interfaces/moz.build deleted file mode 100644 index 935e390003..0000000000 --- a/dom/presentation/interfaces/moz.build +++ /dev/null @@ -1,30 +0,0 @@ -# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -XPIDL_SOURCES += [ - 'nsIPresentationControlChannel.idl', - 'nsIPresentationControlService.idl', - 'nsIPresentationDevice.idl', - 'nsIPresentationDeviceManager.idl', - 'nsIPresentationDevicePrompt.idl', - 'nsIPresentationDeviceProvider.idl', - 'nsIPresentationListener.idl', - 'nsIPresentationLocalDevice.idl', - 'nsIPresentationRequestUIGlue.idl', - 'nsIPresentationService.idl', - 'nsIPresentationSessionRequest.idl', - 'nsIPresentationSessionTransport.idl', - 'nsIPresentationSessionTransportBuilder.idl', - 'nsIPresentationTerminateRequest.idl', -] - -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': - XPIDL_SOURCES += [ - 'nsIPresentationNetworkHelper.idl', - ] - -XPIDL_MODULE = 'dom_presentation' - diff --git a/dom/presentation/interfaces/nsIPresentationControlChannel.idl b/dom/presentation/interfaces/nsIPresentationControlChannel.idl deleted file mode 100644 index 669e4088ee..0000000000 --- a/dom/presentation/interfaces/nsIPresentationControlChannel.idl +++ /dev/null @@ -1,139 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIArray; -interface nsIInputStream; - -[scriptable, uuid(ae318e05-2a4e-4f85-95c0-e8b191ad812c)] -interface nsIPresentationChannelDescription: nsISupports -{ - const unsigned short TYPE_TCP = 1; - const unsigned short TYPE_DATACHANNEL = 2; - - // Type of transport channel. - readonly attribute uint8_t type; - - // Addresses for TCP channel (as a list of nsISupportsCString). - // Should only be used while type == TYPE_TCP. - readonly attribute nsIArray tcpAddress; - - // Port number for TCP channel. - // Should only be used while type == TYPE_TCP. - readonly attribute uint16_t tcpPort; - - // SDP for Data Channel. - // Should only be used while type == TYPE_DATACHANNEL. - readonly attribute DOMString dataChannelSDP; -}; - -/* - * The callbacks for events on control channel. - */ -[scriptable, uuid(96dd548f-7d0f-43c1-b1ad-28e666cf1e82)] -interface nsIPresentationControlChannelListener: nsISupports -{ - /* - * Callback for receiving offer from remote endpoint. - * @param offer The received offer. - */ - void onOffer(in nsIPresentationChannelDescription offer); - - /* - * Callback for receiving answer from remote endpoint. - * @param answer The received answer. - */ - void onAnswer(in nsIPresentationChannelDescription answer); - - /* - * Callback for receiving ICE candidate from remote endpoint. - * @param answer The received answer. - */ - void onIceCandidate(in DOMString candidate); - - /* - * The callback for notifying channel connected. This should be async called - * after nsIPresentationDevice::establishControlChannel. - */ - void notifyConnected(); - - /* - * The callback for notifying channel disconnected. - * @param reason The reason of channel close, NS_OK represents normal close. - */ - void notifyDisconnected(in nsresult reason); - - /* - * The callback for notifying the reconnect command is acknowledged. - */ - void notifyReconnected(); -}; - -/* - * The control channel for establishing RTCPeerConnection for a presentation - * session. SDP Offer/Answer will be exchanged through this interface. The - * control channel should be in-order. - */ -[scriptable, uuid(e60e208c-a9f5-4bc6-9a3e-47f3e4ae9c57)] -interface nsIPresentationControlChannel: nsISupports -{ - // The listener for handling events of this control channel. - // All the events should be pending until listener is assigned. - attribute nsIPresentationControlChannelListener listener; - - /* - * Send offer to remote endpoint. |onOffer| should be invoked on remote - * endpoint. - * @param offer The offer to send. - * @throws NS_ERROR_FAILURE on failure - */ - void sendOffer(in nsIPresentationChannelDescription offer); - - /* - * Send answer to remote endpoint. |onAnswer| should be invoked on remote - * endpoint. - * @param answer The answer to send. - * @throws NS_ERROR_FAILURE on failure - */ - void sendAnswer(in nsIPresentationChannelDescription answer); - - /* - * Send ICE candidate to remote endpoint. |onIceCandidate| should be invoked - * on remote endpoint. - * @param candidate The candidate to send - * @throws NS_ERROR_FAILURE on failure - */ - void sendIceCandidate(in DOMString candidate); - - /* - * Launch a presentation on remote endpoint. - * @param presentationId The Id for representing this session. - * @param url The URL requested to open by remote device. - * @throws NS_ERROR_FAILURE on failure - */ - void launch(in DOMString presentationId, in DOMString url); - - /* - * Terminate a presentation on remote endpoint. - * @param presentationId The Id for representing this session. - * @throws NS_ERROR_FAILURE on failure - */ - void terminate(in DOMString presentationId); - - /* - * Disconnect the control channel. - * @param reason The reason of disconnecting channel; NS_OK represents normal. - */ - void disconnect(in nsresult reason); - - /* - * Reconnect a presentation on remote endpoint. - * Note that only controller is allowed to reconnect a session. - * @param presentationId The Id for representing this session. - * @param url The URL requested to open by remote device. - * @throws NS_ERROR_FAILURE on failure - */ - void reconnect(in DOMString presentationId, in DOMString url); -}; diff --git a/dom/presentation/interfaces/nsIPresentationControlService.idl b/dom/presentation/interfaces/nsIPresentationControlService.idl deleted file mode 100644 index d4b967b003..0000000000 --- a/dom/presentation/interfaces/nsIPresentationControlService.idl +++ /dev/null @@ -1,156 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationControlChannel; - -%{C++ -#define PRESENTATION_CONTROL_SERVICE_CONTACT_ID \ - "@mozilla.org/presentation/control-service;1" -%} - -/* - * The device information required for establishing control channel. - */ -[scriptable, uuid(296fd171-e4d0-4de0-99ff-ad8ed52ddef3)] -interface nsITCPDeviceInfo: nsISupports -{ - readonly attribute AUTF8String id; - readonly attribute AUTF8String address; - readonly attribute uint16_t port; - // SHA-256 fingerprint of server certificate. Empty string represents - // server doesn't support TLS or not available. - readonly attribute AUTF8String certFingerprint; -}; - -[scriptable, uuid(09bddfaf-fcc2-4dc9-b33e-a509a1c2fb6d)] -interface nsIPresentationControlServerListener: nsISupports -{ - /** - * Callback while the server is ready or restarted. - * @param aPort - * The port of the server socket. - * @param aCertFingerprint - * The SHA-256 fingerprint of TLS server certificate. - * Empty string represents server started without encryption. - */ - void onServerReady(in uint16_t aPort, in AUTF8String aCertFingerprint); - - /** - * Callback while the server is stopped or fails to start. - * @param aResult - * The error cause of server stopped or the reason of - * start failure. - * NS_OK means the server is stopped by close. - */ - void onServerStopped(in nsresult aResult); - - /** - * Callback while the remote host is requesting to start a presentation session. - * @param aDeviceInfo The device information related to the remote host. - * @param aUrl The URL requested to open by remote device. - * @param aPresentationId The Id for representing this session. - * @param aControlChannel The control channel for this session. - */ - void onSessionRequest(in nsITCPDeviceInfo aDeviceInfo, - in DOMString aUrl, - in DOMString aPresentationId, - in nsIPresentationControlChannel aControlChannel); - - /** - * Callback while the remote host is requesting to terminate a presentation session. - * @param aDeviceInfo The device information related to the remote host. - * @param aPresentationId The Id for representing this session. - * @param aControlChannel The control channel for this session. - * @param aIsFromReceiver true if termination is initiated by receiver. - */ - void onTerminateRequest(in nsITCPDeviceInfo aDeviceInfo, - in DOMString aPresentationId, - in nsIPresentationControlChannel aControlChannel, - in boolean aIsFromReceiver); - - /** - * Callback while the remote host is requesting to reconnect a presentation session. - * @param aDeviceInfo The device information related to the remote host. - * @param aUrl The URL requested to open by remote device. - * @param aPresentationId The Id for representing this session. - * @param aControlChannel The control channel for this session. - */ - void onReconnectRequest(in nsITCPDeviceInfo aDeviceInfo, - in DOMString url, - in DOMString aPresentationId, - in nsIPresentationControlChannel aControlChannel); -}; - -/** - * Presentation control service which can be used for both presentation - * control client and server. - */ -[scriptable, uuid(55d6b605-2389-4aae-a8fe-60d4440540ea)] -interface nsIPresentationControlService: nsISupports -{ - /** - * This method initializes server socket. Caller should set listener and - * monitor onServerReady event to get the correct server info. - * @param aEncrypted - * True for using TLS control channel. - * @param aPort - * The port of the server socket. Pass 0 or opt-out to indicate no - * preference, and a port will be selected automatically. - * @throws NS_ERROR_FAILURE if the server socket has been inited or the - * server socket can not be inited. - */ - void startServer(in boolean aEncrypted, [optional] in uint16_t aPort); - - /** - * Request connection to designated remote presentation control receiver. - * @param aDeviceInfo - * The remtoe device info for establish connection. - * @returns The control channel for this session. - * @throws NS_ERROR_FAILURE if the Id hasn't been inited. - */ - nsIPresentationControlChannel connect(in nsITCPDeviceInfo aDeviceInfo); - - /** - * Check the compatibility to remote presentation control server. - * @param aVersion - * The version of remote server. - */ - boolean isCompatibleServer(in uint32_t aVersion); - - /** - * Close server socket and call |listener.onClose(NS_OK)| - */ - void close(); - - /** - * Get the listen port of the TCP socket, valid after the server is ready. - * 0 indicates the server socket is not ready or is closed. - */ - readonly attribute uint16_t port; - - /** - * The protocol version implemented by this server. - */ - readonly attribute uint32_t version; - - /** - * The id of the TCP presentation server. |requestSession| won't - * work until the |id| is set. - */ - attribute AUTF8String id; - - /** - * The fingerprint of the TLS server certificate. - * Empty string indicates the server is not ready or not encrypted. - */ - attribute AUTF8String certFingerprint; - - /** - * The listener for handling events of this presentation control server. - * Listener must be provided before invoke |startServer| and |close|. - */ - attribute nsIPresentationControlServerListener listener; -}; diff --git a/dom/presentation/interfaces/nsIPresentationDevice.idl b/dom/presentation/interfaces/nsIPresentationDevice.idl deleted file mode 100644 index 63e4a52ef6..0000000000 --- a/dom/presentation/interfaces/nsIPresentationDevice.idl +++ /dev/null @@ -1,43 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationControlChannel; - -/* - * Remote device. - */ -[scriptable, uuid(b1e0a7af-5936-4066-8f2e-f789fb9a7e8f)] -interface nsIPresentationDevice : nsISupports -{ - // The unique Id for the device. UUID is recommanded. - readonly attribute AUTF8String id; - - // The human-readable name of this device. - readonly attribute AUTF8String name; - - // TODO expose more info in order to fulfill UX spec - // The category of this device, could be "wifi", "bluetooth", "hdmi", etc. - readonly attribute AUTF8String type; - - /* - * Establish a control channel to this device. - * @returns The control channel for this session. - * @throws NS_ERROR_FAILURE if the establishment fails - */ - nsIPresentationControlChannel establishControlChannel(); - - // Do something when presentation session is disconnected. - void disconnect(); - - /* - * Query if requested presentation URL is supported. - * @params requestedUrl the designated URL for a presentation request. - * @returns true if designated URL is supported. - */ - boolean isRequestedUrlSupported(in DOMString requestedUrl); -}; - - diff --git a/dom/presentation/interfaces/nsIPresentationDeviceManager.idl b/dom/presentation/interfaces/nsIPresentationDeviceManager.idl deleted file mode 100644 index adff9fc09e..0000000000 --- a/dom/presentation/interfaces/nsIPresentationDeviceManager.idl +++ /dev/null @@ -1,51 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIArray; -interface nsIPresentationDeviceProvider; - -%{C++ -#define PRESENTATION_DEVICE_MANAGER_CONTRACTID "@mozilla.org/presentation-device/manager;1" -#define PRESENTATION_DEVICE_CHANGE_TOPIC "presentation-device-change" -%} - -/* - * Manager for the device availability. User can observe "presentation-device-change" - * for any update of the available devices. - */ -[scriptable, uuid(beb61db5-3d5f-454f-a15a-dbfa0337c569)] -interface nsIPresentationDeviceManager : nsISupports -{ - // true if there is any device available. - readonly attribute boolean deviceAvailable; - - /* - * Register a device provider manually. - * @param provider The device provider to add. - */ - void addDeviceProvider(in nsIPresentationDeviceProvider provider); - - /* - * Unregister a device provider manually. - * @param provider The device provider to remove. - */ - void removeDeviceProvider(in nsIPresentationDeviceProvider provider); - - /* - * Force all registered device providers to update device information. - */ - void forceDiscovery(); - - /* - * Retrieve all available devices or all available devices that supports - * designated presentation URLs, return a list of nsIPresentationDevice. - * The returned list is a cached device list and could be out-of-date. - * Observe device change events to get following updates. - * @param presentationUrls the target presentation URLs for device filtering - */ - nsIArray getAvailableDevices([optional] in nsIArray presentationUrls); -}; - diff --git a/dom/presentation/interfaces/nsIPresentationDevicePrompt.idl b/dom/presentation/interfaces/nsIPresentationDevicePrompt.idl deleted file mode 100644 index 2900eb59cb..0000000000 --- a/dom/presentation/interfaces/nsIPresentationDevicePrompt.idl +++ /dev/null @@ -1,58 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIArray; -interface nsIDOMEventTarget; -interface nsIPresentationDevice; -interface nsIPrincipal; - -%{C++ -#define PRESENTATION_DEVICE_PROMPT_CONTRACTID "@mozilla.org/presentation-device/prompt;1" -%} - -/* - * The information and callbacks for device selection - */ -[scriptable, uuid(b2aa7f6a-9448-446a-bba4-9c29638b0ed4)] -interface nsIPresentationDeviceRequest : nsISupports -{ - // The origin which initiate the request. - readonly attribute DOMString origin; - - // The array of candidate URLs. - readonly attribute nsIArray requestURLs; - - // The XUL browser element that the request was originated in. - readonly attribute nsIDOMEventTarget chromeEventHandler; - - // The principal of the request. - readonly attribute nsIPrincipal principal; - - /* - * Callback after selecting a device - * @param device The selected device. - */ - void select(in nsIPresentationDevice device); - - /* - * Callback after selection failed or canceled by user. - * @param reason The error cause for canceling this request. - */ - void cancel(in nsresult reason); -}; - -/* - * UI prompt for device selection. - */ -[scriptable, uuid(ac1a7e44-de86-454f-a9f1-276de2539831)] -interface nsIPresentationDevicePrompt : nsISupports -{ - /* - * Request a device selection. - * @param request The information and callbacks of this selection request. - */ - void promptDeviceSelection(in nsIPresentationDeviceRequest request); -}; diff --git a/dom/presentation/interfaces/nsIPresentationDeviceProvider.idl b/dom/presentation/interfaces/nsIPresentationDeviceProvider.idl deleted file mode 100644 index b2c5e530cd..0000000000 --- a/dom/presentation/interfaces/nsIPresentationDeviceProvider.idl +++ /dev/null @@ -1,75 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationDevice; -interface nsIPresentationControlChannel; - -%{C++ -#define PRESENTATION_DEVICE_PROVIDER_CATEGORY "presentation-device-provider" -%} - -/* - * The callbacks for any device updates and session request. - */ -[scriptable, uuid(46fd372b-2e40-4179-9b36-0478d141e440)] -interface nsIPresentationDeviceListener: nsISupports -{ - void addDevice(in nsIPresentationDevice device); - void removeDevice(in nsIPresentationDevice device); - void updateDevice(in nsIPresentationDevice device); - - /* - * Callback while the remote device is requesting to start a presentation session. - * @param device The remote device that sent session request. - * @param url The URL requested to open by remote device. - * @param presentationId The Id for representing this session. - * @param controlChannel The control channel for this session. - */ - void onSessionRequest(in nsIPresentationDevice device, - in DOMString url, - in DOMString presentationId, - in nsIPresentationControlChannel controlChannel); - - /* - * Callback while the remote device is requesting to terminate a presentation session. - * @param device The remote device that sent session request. - * @param presentationId The Id for representing this session. - * @param controlChannel The control channel for this session. - * @param aIsFromReceiver true if termination is initiated by receiver. - */ - void onTerminateRequest(in nsIPresentationDevice device, - in DOMString presentationId, - in nsIPresentationControlChannel controlChannel, - in boolean aIsFromReceiver); - - /* - * Callback while the remote device is requesting to reconnect a presentation session. - * @param device The remote device that sent session request. - * @param aUrl The URL requested to open by remote device. - * @param presentationId The Id for representing this session. - * @param controlChannel The control channel for this session. - */ - void onReconnectRequest(in nsIPresentationDevice device, - in DOMString url, - in DOMString presentationId, - in nsIPresentationControlChannel controlChannel); -}; - -/* - * Device provider for any device protocol, can be registered as default - * providers by adding its contractID to category "presentation-device-provider". - */ -[scriptable, uuid(3db2578a-0f50-44ad-b01b-28427b71b7bf)] -interface nsIPresentationDeviceProvider: nsISupports -{ - // The listener for handling any device update. - attribute nsIPresentationDeviceListener listener; - - /* - * Force to update device information. - */ - void forceDiscovery(); -}; diff --git a/dom/presentation/interfaces/nsIPresentationListener.idl b/dom/presentation/interfaces/nsIPresentationListener.idl deleted file mode 100644 index 546c2fd4bf..0000000000 --- a/dom/presentation/interfaces/nsIPresentationListener.idl +++ /dev/null @@ -1,50 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -[ref] native URLArrayRef(const nsTArray); - -[uuid(0105f837-4279-4715-9d5b-2dc3f8b65353)] -interface nsIPresentationAvailabilityListener : nsISupports -{ - /* - * Called when device availability changes. - */ - [noscript] void notifyAvailableChange(in URLArrayRef urls, - in bool available); -}; - -[scriptable, uuid(7dd48df8-8f8c-48c7-ac37-7b9fd1acf2f8)] -interface nsIPresentationSessionListener : nsISupports -{ - const unsigned short STATE_CONNECTING = 0; - const unsigned short STATE_CONNECTED = 1; - const unsigned short STATE_CLOSED = 2; - const unsigned short STATE_TERMINATED = 3; - - /* - * Called when session state changes. - */ - void notifyStateChange(in DOMString sessionId, - in unsigned short state, - in nsresult reason); - - /* - * Called when receive messages. - */ - void notifyMessage(in DOMString sessionId, - in ACString data, - in boolean isBinary); -}; - -[scriptable, uuid(27f101d7-9ed1-429e-b4f8-43b00e8e111c)] -interface nsIPresentationRespondingListener : nsISupports -{ - /* - * Called when an incoming session connects. - */ - void notifySessionConnect(in unsigned long long windowId, - in DOMString sessionId); -}; diff --git a/dom/presentation/interfaces/nsIPresentationLocalDevice.idl b/dom/presentation/interfaces/nsIPresentationLocalDevice.idl deleted file mode 100644 index 80e3b4041f..0000000000 --- a/dom/presentation/interfaces/nsIPresentationLocalDevice.idl +++ /dev/null @@ -1,17 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsIPresentationDevice.idl" - -/* - * Local device. - * This device is used for 1-UA use case. The result for display is rendered by - * this host device. - */ -[scriptable, uuid(dd239720-cab6-4fb5-9025-cba23f1bbc2d)] -interface nsIPresentationLocalDevice : nsIPresentationDevice -{ - // (1-UA only) The property is used to get the window ID of 1-UA device. - readonly attribute AUTF8String windowId; -}; diff --git a/dom/presentation/interfaces/nsIPresentationNetworkHelper.idl b/dom/presentation/interfaces/nsIPresentationNetworkHelper.idl deleted file mode 100644 index 514075dfab..0000000000 --- a/dom/presentation/interfaces/nsIPresentationNetworkHelper.idl +++ /dev/null @@ -1,36 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -%{C++ -#define PRESENTATION_NETWORK_HELPER_CONTRACTID \ - "@mozilla.org/presentation-device/networkHelper;1" -%} - -[scriptable, uuid(0a7e134f-ff80-4e73-91e6-12b3134fe568)] -interface nsIPresentationNetworkHelperListener : nsISupports -{ - /** - * Called when error occurs. - * @param aReason error message. - */ - void onError(in AUTF8String aReason); - - /** - * Called when get Wi-Fi IP address. - * @param aIPAddress the IP address of Wi-Fi interface. - */ - void onGetWifiIPAddress(in AUTF8String aIPAddress); -}; - -[scriptable, uuid(650dc16b-3d9c-49a6-9037-1d6f2d18c90c)] -interface nsIPresentationNetworkHelper : nsISupports -{ - /** - * Get IP address of Wi-Fi interface. - * @param aListener the callback interface. - */ - void getWifiIPAddress(in nsIPresentationNetworkHelperListener aListener); -}; diff --git a/dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl b/dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl deleted file mode 100644 index dab1991e4d..0000000000 --- a/dom/presentation/interfaces/nsIPresentationRequestUIGlue.idl +++ /dev/null @@ -1,29 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationDevice; - -%{C++ -#define PRESENTATION_REQUEST_UI_GLUE_CONTRACTID \ - "@mozilla.org/presentation/requestuiglue;1" -%} - -[scriptable, uuid(faa45119-6fb5-496c-aa4c-f740177a38b5)] -interface nsIPresentationRequestUIGlue : nsISupports -{ - /* - * This method is called to open the responding app/page when - * a presentation request comes in at receiver side. - * - * @param url The url of the request. - * @param sessionId The session ID of the request. - * - * @return A promise that resolves to the opening frame. - */ - nsISupports sendRequest(in DOMString url, - in DOMString sessionId, - in nsIPresentationDevice device); -}; diff --git a/dom/presentation/interfaces/nsIPresentationService.idl b/dom/presentation/interfaces/nsIPresentationService.idl deleted file mode 100644 index c3c15bb9fe..0000000000 --- a/dom/presentation/interfaces/nsIPresentationService.idl +++ /dev/null @@ -1,275 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIDOMBlob; -interface nsIDOMEventTarget; -interface nsIInputStream; -interface nsIPresentationAvailabilityListener; -interface nsIPresentationRespondingListener; -interface nsIPresentationSessionListener; -interface nsIPresentationTransportBuilderConstructor; -interface nsIPrincipal; - -%{C++ -#define PRESENTATION_SERVICE_CID \ - { 0x1d9bb10c, 0xc0ab, 0x4fe8, \ - { 0x9e, 0x4f, 0x40, 0x58, 0xb8, 0x51, 0x98, 0x32 } } -#define PRESENTATION_SERVICE_CONTRACTID \ - "@mozilla.org/presentation/presentationservice;1" - -#include "nsTArray.h" - -class nsString; -%} - -[ref] native URLArrayRef(const nsTArray); - -[scriptable, uuid(12073206-0065-4b10-9488-a6eb9b23e65b)] -interface nsIPresentationServiceCallback : nsISupports -{ - /* - * Called when the operation succeeds. - * - * @param url: the selected request url used to start or reconnect a session. - */ - void notifySuccess(in DOMString url); - - /* - * Called when the operation fails. - * - * @param error: error message. - */ - void notifyError(in nsresult error); -}; - -[scriptable, uuid(de42b741-5619-4650-b961-c2cebb572c95)] -interface nsIPresentationService : nsISupports -{ - const unsigned short ROLE_CONTROLLER = 0x1; - const unsigned short ROLE_RECEIVER = 0x2; - - const unsigned short CLOSED_REASON_ERROR = 0x1; - const unsigned short CLOSED_REASON_CLOSED = 0x2; - const unsigned short CLOSED_REASON_WENTAWAY = 0x3; - - /* - * Start a new presentation session and display a prompt box which asks users - * to select a device. - * - * @param urls: The candidate Urls of presenting page. Only one url would be used. - * @param sessionId: An ID to identify presentation session. - * @param origin: The url of requesting page. - * @param deviceId: The specified device of handling this request, null string - * for prompt device selection dialog. - * @param windowId: The inner window ID associated with the presentation - * session. (0 implies no window ID since no actual window - * uses 0 as its ID. Generally it's the case the window is - * located in different process from this service) - * @param eventTarget: The chrome event handler, in particular XUL browser - * element in parent process, that the request was - * originated in. - * @param principal: The principal that initiated the session. - * @param callback: Invoke the callback when the operation is completed. - * NotifySuccess() is called with |id| if a session is - * established successfully with the selected device. - * Otherwise, NotifyError() is called with a error message. - * @param constructor: The constructor for creating a transport builder. - */ - [noscript] void startSession(in URLArrayRef urls, - in DOMString sessionId, - in DOMString origin, - in DOMString deviceId, - in unsigned long long windowId, - in nsIDOMEventTarget eventTarget, - in nsIPrincipal principal, - in nsIPresentationServiceCallback callback, - in nsIPresentationTransportBuilderConstructor constructor); - - /* - * Send the message to the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param data: the message being sent out. - */ - void sendSessionMessage(in DOMString sessionId, - in uint8_t role, - in DOMString data); - - /* - * Send the binary message to the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param data: the message being sent out. - */ - void sendSessionBinaryMsg(in DOMString sessionId, - in uint8_t role, - in ACString data); - - /* - * Send the blob to the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param blob: The input blob to be sent. - */ - void sendSessionBlob(in DOMString sessionId, - in uint8_t role, - in nsIDOMBlob blob); - - /* - * Close the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void closeSession(in DOMString sessionId, - in uint8_t role, - in uint8_t closedReason); - - /* - * Terminate the session. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void terminateSession(in DOMString sessionId, - in uint8_t role); - - /* - * Reconnect the session. - * - * @param url: The request Urls. - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param callback: NotifySuccess() is called when a control channel - * is opened successfully. - * Otherwise, NotifyError() is called with a error message. - */ - [noscript] void reconnectSession(in URLArrayRef urls, - in DOMString sessionId, - in uint8_t role, - in nsIPresentationServiceCallback callback); - - /* - * Register an availability listener. Must be called from the main thread. - * - * @param availabilityUrls: The Urls that this listener is interested in. - * @param listener: The listener to register. - */ - [noscript] void registerAvailabilityListener( - in URLArrayRef availabilityUrls, - in nsIPresentationAvailabilityListener listener); - - /* - * Unregister an availability listener. Must be called from the main thread. - * - * @param availabilityUrls: The Urls that are registered before. - * @param listener: The listener to unregister. - */ - [noscript] void unregisterAvailabilityListener( - in URLArrayRef availabilityUrls, - in nsIPresentationAvailabilityListener listener); - - /* - * Register a session listener. Must be called from the main thread. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param listener: The listener to register. - */ - void registerSessionListener(in DOMString sessionId, - in uint8_t role, - in nsIPresentationSessionListener listener); - - /* - * Unregister a session listener. Must be called from the main thread. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void unregisterSessionListener(in DOMString sessionId, - in uint8_t role); - - /* - * Register a responding listener. Must be called from the main thread. - * - * @param windowId: The window ID associated with the listener. - * @param listener: The listener to register. - */ - void registerRespondingListener(in unsigned long long windowId, - in nsIPresentationRespondingListener listener); - - /* - * Unregister a responding listener. Must be called from the main thread. - * @param windowId: The window ID associated with the listener. - */ - void unregisterRespondingListener(in unsigned long long windowId); - - /* - * Notify the receiver page is ready for presentation use. - * - * @param sessionId An ID to identify presentation session. - * @param windowId The inner window ID associated with the presentation - * session. - * @param isLoading true if receiver page is loading successfully. - * @param constructor: The constructor for creating a transport builder. - */ - void notifyReceiverReady(in DOMString sessionId, - in unsigned long long windowId, - in boolean isLoading, - in nsIPresentationTransportBuilderConstructor constructor); - - /* - * Notify the transport is closed - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param reason: the error message. NS_OK indicates it is closed normally. - */ - void NotifyTransportClosed(in DOMString sessionId, - in uint8_t role, - in nsresult reason); - - /* - * Untrack the relevant info about the presentation session if there's any. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void untrackSessionInfo(in DOMString sessionId, in uint8_t role); - - /* - * The windowId for building RTCDataChannel session transport - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - unsigned long long getWindowIdBySessionId(in DOMString sessionId, - in uint8_t role); - - /* - * Update the mapping of the session ID and window ID. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - * @param windowId: The inner window ID associated with the presentation - * session. - */ - void updateWindowIdBySessionId(in DOMString sessionId, - in uint8_t role, - in unsigned long long windowId); - - /* - * To build the session transport. - * NOTE: This function should be only called at controller side. - * - * @param sessionId: An ID to identify presentation session. - * @param role: Identify the function called by controller or receiver. - */ - void buildTransport(in DOMString sessionId, in uint8_t role); -}; diff --git a/dom/presentation/interfaces/nsIPresentationSessionRequest.idl b/dom/presentation/interfaces/nsIPresentationSessionRequest.idl deleted file mode 100644 index 45a0e314cb..0000000000 --- a/dom/presentation/interfaces/nsIPresentationSessionRequest.idl +++ /dev/null @@ -1,35 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationDevice; -interface nsIPresentationControlChannel; - -%{C++ -#define PRESENTATION_SESSION_REQUEST_TOPIC "presentation-session-request" -#define PRESENTATION_RECONNECT_REQUEST_TOPIC "presentation-reconnect-request" -%} - -/* - * The event of a device requesting for starting or reconnecting - * a presentation session. User can monitor the session request - * on every device by observing "presentation-sesion-request" for a - * new session and "presentation-reconnect-request" for reconnecting. - */ -[scriptable, uuid(d808a084-d0f8-455a-a8df-5879e05a755b)] -interface nsIPresentationSessionRequest: nsISupports -{ - // The device which requesting the presentation session. - readonly attribute nsIPresentationDevice device; - - // The URL requested to open by remote device. - readonly attribute DOMString url; - - // The Id for representing this session. - readonly attribute DOMString presentationId; - - // The control channel for this session. - readonly attribute nsIPresentationControlChannel controlChannel; -}; diff --git a/dom/presentation/interfaces/nsIPresentationSessionTransport.idl b/dom/presentation/interfaces/nsIPresentationSessionTransport.idl deleted file mode 100644 index a0b5617d7d..0000000000 --- a/dom/presentation/interfaces/nsIPresentationSessionTransport.idl +++ /dev/null @@ -1,69 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIDOMBlob; -interface nsIInputStream; -interface nsINetAddr; - -%{C++ -#define PRESENTATION_TCP_SESSION_TRANSPORT_CONTRACTID \ - "@mozilla.org/presentation/presentationtcpsessiontransport;1" -%} - -/* - * The callback for session transport events. - */ -[scriptable, uuid(9f158786-41a6-4a10-b29b-9497f25d4b67)] -interface nsIPresentationSessionTransportCallback : nsISupports -{ - void notifyTransportReady(); - void notifyTransportClosed(in nsresult reason); - void notifyData(in ACString data, in boolean isBinary); -}; - -/* - * App-to-App transport channel for the presentation session. - */ -[scriptable, uuid(670b7e1b-65be-42b6-a596-be571907fa18)] -interface nsIPresentationSessionTransport : nsISupports -{ - // Should be set once the underlying session transport is built - attribute nsIPresentationSessionTransportCallback callback; - - // valid for TCP session transport - readonly attribute nsINetAddr selfAddress; - - /* - * Enable the notification for incoming data. |notifyData| of - * |nsIPresentationSessionTransportCallback| can start getting invoked. - * Should set callback before |enableDataNotification| is called. - */ - void enableDataNotification(); - - /* - * Send message to the remote endpoint. - * @param data The message to send. - */ - void send(in DOMString data); - - /* - * Send the binary message to the remote endpoint. - * @param data: the message being sent out. - */ - void sendBinaryMsg(in ACString data); - - /* - * Send the blob to the remote endpoint. - * @param blob: The input blob to be sent. - */ - void sendBlob(in nsIDOMBlob blob); - - /* - * Close this session transport. - * @param reason The reason for closing this session transport. - */ - void close(in nsresult reason); -}; diff --git a/dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl b/dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl deleted file mode 100644 index 969f37d713..0000000000 --- a/dom/presentation/interfaces/nsIPresentationSessionTransportBuilder.idl +++ /dev/null @@ -1,80 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationChannelDescription; -interface nsISocketTransport; -interface mozIDOMWindow; -interface nsIPresentationControlChannel; -interface nsIPresentationSessionTransport; - -[scriptable, uuid(673f6de1-e253-41b8-9be8-b7ff161fa8dc)] -interface nsIPresentationSessionTransportBuilderListener : nsISupports -{ - // Should set |transport.callback| in |onSessionTransport|. - void onSessionTransport(in nsIPresentationSessionTransport transport); - void onError(in nsresult reason); - - void sendOffer(in nsIPresentationChannelDescription offer); - void sendAnswer(in nsIPresentationChannelDescription answer); - void sendIceCandidate(in DOMString candidate); - void close(in nsresult reason); -}; - -[scriptable, uuid(2fdbe67d-80f9-48dc-8237-5bef8fa19801)] -interface nsIPresentationSessionTransportBuilder : nsISupports -{ -}; - -/** - * The constructor for creating a transport builder. - */ -[scriptable, uuid(706482b2-1b51-4bed-a21d-785a9cfcfac7)] -interface nsIPresentationTransportBuilderConstructor : nsISupports -{ - nsIPresentationSessionTransportBuilder createTransportBuilder(in uint8_t type); -}; - -/** - * Builder for TCP session transport - */ -[scriptable, uuid(cde36d6e-f471-4262-a70d-f932a26b21d9)] -interface nsIPresentationTCPSessionTransportBuilder : nsIPresentationSessionTransportBuilder -{ - /** - * The following creation functions will trigger |listener.onSessionTransport| - * if the session transport is successfully built, |listener.onError| if some - * error occurs during building session transport. - */ - void buildTCPSenderTransport(in nsISocketTransport aTransport, - in nsIPresentationSessionTransportBuilderListener aListener); - - void buildTCPReceiverTransport(in nsIPresentationChannelDescription aDescription, - in nsIPresentationSessionTransportBuilderListener aListener); -}; - -/** - * Builder for WebRTC data channel session transport - */ -[scriptable, uuid(8131c4e0-3a8c-4bc1-a92a-8431473d2fe8)] -interface nsIPresentationDataChannelSessionTransportBuilder : nsIPresentationSessionTransportBuilder -{ - /** - * The following creation function will trigger |listener.onSessionTransport| - * if the session transport is successfully built, |listener.onError| if some - * error occurs during creating session transport. The |notifyConnected| of - * |aControlChannel| should be called before calling - * |buildDataChannelTransport|. - */ - void buildDataChannelTransport(in uint8_t aRole, - in mozIDOMWindow aWindow, - in nsIPresentationSessionTransportBuilderListener aListener); - - // Bug 1275150 - Merge TCP builder with the following APIs - void onOffer(in nsIPresentationChannelDescription offer); - void onAnswer(in nsIPresentationChannelDescription answer); - void onIceCandidate(in DOMString candidate); - void notifyDisconnected(in nsresult reason); -}; diff --git a/dom/presentation/interfaces/nsIPresentationTerminateRequest.idl b/dom/presentation/interfaces/nsIPresentationTerminateRequest.idl deleted file mode 100644 index a9f86fa0d9..0000000000 --- a/dom/presentation/interfaces/nsIPresentationTerminateRequest.idl +++ /dev/null @@ -1,33 +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 http://mozilla.org/MPL/2.0/. */ - -#include "nsISupports.idl" - -interface nsIPresentationDevice; -interface nsIPresentationControlChannel; - -%{C++ -#define PRESENTATION_TERMINATE_REQUEST_TOPIC "presentation-terminate-request" -%} - -/* - * The event of a device requesting for terminating a presentation session. User can - * monitor the terminate request on every device by observing "presentation-terminate-request". - */ -[scriptable, uuid(3ddbf3a4-53ee-4b70-9bbc-58ac90dce6b5)] -interface nsIPresentationTerminateRequest: nsISupports -{ - // The device which requesting to terminate presentation session. - readonly attribute nsIPresentationDevice device; - - // The Id for representing this session. - readonly attribute DOMString presentationId; - - // The control channel for this session. - // Should only use this channel to complete session termination. - readonly attribute nsIPresentationControlChannel controlChannel; - - // True if termination is initiated by receiver. - readonly attribute boolean isFromReceiver; -}; diff --git a/dom/presentation/ipc/PPresentation.ipdl b/dom/presentation/ipc/PPresentation.ipdl deleted file mode 100644 index e0f4d28884..0000000000 --- a/dom/presentation/ipc/PPresentation.ipdl +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set sw=2 ts=8 et ft=cpp : */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -include protocol PContent; -include protocol PPresentationRequest; -include protocol PPresentationBuilder; - -include InputStreamParams; - -using class IPC::Principal from "mozilla/dom/PermissionMessageUtils.h"; -using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h"; - -namespace mozilla { -namespace dom { - -struct StartSessionRequest -{ - nsString[] urls; - nsString sessionId; - nsString origin; - nsString deviceId; - uint64_t windowId; - TabId tabId; - Principal principal; -}; - -struct SendSessionMessageRequest -{ - nsString sessionId; - uint8_t role; - nsString data; -}; - -struct CloseSessionRequest -{ - nsString sessionId; - uint8_t role; - uint8_t closedReason; -}; - -struct TerminateSessionRequest -{ - nsString sessionId; - uint8_t role; -}; - -struct ReconnectSessionRequest -{ - nsString[] urls; - nsString sessionId; - uint8_t role; -}; - -struct BuildTransportRequest -{ - nsString sessionId; - uint8_t role; -}; - -union PresentationIPCRequest -{ - StartSessionRequest; - SendSessionMessageRequest; - CloseSessionRequest; - TerminateSessionRequest; - ReconnectSessionRequest; - BuildTransportRequest; -}; - -sync protocol PPresentation -{ - manager PContent; - manages PPresentationBuilder; - manages PPresentationRequest; - -child: - async NotifyAvailableChange(nsString[] aAvailabilityUrls, - bool aAvailable); - async NotifySessionStateChange(nsString aSessionId, - uint16_t aState, - nsresult aReason); - async NotifyMessage(nsString aSessionId, nsCString aData, bool aIsBinary); - async NotifySessionConnect(uint64_t aWindowId, nsString aSessionId); - async NotifyCloseSessionTransport(nsString aSessionId, - uint8_t aRole, - nsresult aReason); - - async PPresentationBuilder(nsString aSessionId, uint8_t aRole); - -parent: - async __delete__(); - - async RegisterAvailabilityHandler(nsString[] aAvailabilityUrls); - async UnregisterAvailabilityHandler(nsString[] aAvailabilityUrls); - - async RegisterSessionHandler(nsString aSessionId, uint8_t aRole); - async UnregisterSessionHandler(nsString aSessionId, uint8_t aRole); - - async RegisterRespondingHandler(uint64_t aWindowId); - async UnregisterRespondingHandler(uint64_t aWindowId); - - async PPresentationRequest(PresentationIPCRequest aRequest); - - async NotifyReceiverReady(nsString aSessionId, uint64_t aWindowId, bool aIsLoading); - async NotifyTransportClosed(nsString aSessionId, uint8_t aRole, nsresult aReason); -}; - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ipc/PPresentationBuilder.ipdl b/dom/presentation/ipc/PPresentationBuilder.ipdl deleted file mode 100644 index e32b02e8f3..0000000000 --- a/dom/presentation/ipc/PPresentationBuilder.ipdl +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -include protocol PPresentation; - -namespace mozilla { -namespace dom { - -async protocol PPresentationBuilder -{ - manager PPresentation; - -parent: - async SendOffer(nsString aSDP); - async SendAnswer(nsString aSDP); - async SendIceCandidate(nsString aCandidate); - async Close(nsresult aReason); - - async OnSessionTransport(); - async OnSessionTransportError(nsresult aReason); - -child: - async OnOffer(nsString aSDP); - async OnAnswer(nsString aSDP); - async OnIceCandidate(nsString aCandidate); - - async __delete__(); -}; - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ipc/PPresentationRequest.ipdl b/dom/presentation/ipc/PPresentationRequest.ipdl deleted file mode 100644 index fa99dfcabb..0000000000 --- a/dom/presentation/ipc/PPresentationRequest.ipdl +++ /dev/null @@ -1,22 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -include protocol PPresentation; - -namespace mozilla { -namespace dom { - -sync protocol PPresentationRequest -{ - manager PPresentation; - -child: - async __delete__(nsresult result); - async NotifyRequestUrlSelected(nsString aUrl); -}; - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ipc/PresentationBuilderChild.cpp b/dom/presentation/ipc/PresentationBuilderChild.cpp deleted file mode 100644 index 387332e9e4..0000000000 --- a/dom/presentation/ipc/PresentationBuilderChild.cpp +++ /dev/null @@ -1,184 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DCPresentationChannelDescription.h" -#include "nsComponentManagerUtils.h" -#include "nsGlobalWindow.h" -#include "PresentationBuilderChild.h" -#include "PresentationIPCService.h" -#include "nsServiceManagerUtils.h" -#include "mozilla/Unused.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(PresentationBuilderChild, - nsIPresentationSessionTransportBuilderListener) - -PresentationBuilderChild::PresentationBuilderChild(const nsString& aSessionId, - uint8_t aRole) - : mSessionId(aSessionId) - , mRole(aRole) -{ -} - -nsresult PresentationBuilderChild::Init() -{ - mBuilder = do_CreateInstance("@mozilla.org/presentation/datachanneltransportbuilder;1"); - if (NS_WARN_IF(!mBuilder)) { - return NS_ERROR_NOT_AVAILABLE; - } - - uint64_t windowId = 0; - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - - if (NS_WARN_IF(NS_FAILED(service->GetWindowIdBySessionId( - mSessionId, - mRole, - &windowId)))) { - return NS_ERROR_NOT_AVAILABLE; - } - - nsPIDOMWindowInner* window = nsGlobalWindow::GetInnerWindowWithId(windowId)->AsInner(); - if (NS_WARN_IF(!window)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mBuilder->BuildDataChannelTransport(mRole, window, this); -} - -void -PresentationBuilderChild::ActorDestroy(ActorDestroyReason aWhy) -{ - mBuilder = nullptr; - mActorDestroyed = true; -} - -bool -PresentationBuilderChild::RecvOnOffer(const nsString& aSDP) -{ - if (NS_WARN_IF(!mBuilder)) { - return false; - } - RefPtr description = - new DCPresentationChannelDescription(aSDP); - - if (NS_WARN_IF(NS_FAILED(mBuilder->OnOffer(description)))) { - return false; - } - return true; -} - -bool -PresentationBuilderChild::RecvOnAnswer(const nsString& aSDP) -{ - if (NS_WARN_IF(!mBuilder)) { - return false; - } - RefPtr description = - new DCPresentationChannelDescription(aSDP); - - if (NS_WARN_IF(NS_FAILED(mBuilder->OnAnswer(description)))) { - return false; - } - return true; -} - -bool -PresentationBuilderChild::RecvOnIceCandidate(const nsString& aCandidate) -{ - if (NS_WARN_IF(mBuilder && NS_FAILED(mBuilder->OnIceCandidate(aCandidate)))) { - return false; - } - return true; -} - -// nsPresentationSessionTransportBuilderListener -NS_IMETHODIMP -PresentationBuilderChild::OnSessionTransport(nsIPresentationSessionTransport* aTransport) -{ - if (NS_WARN_IF(mActorDestroyed || !SendOnSessionTransport())){ - return NS_ERROR_FAILURE; - } - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - NS_WARNING_ASSERTION(service, "no presentation service"); - if (service) { - Unused << NS_WARN_IF(NS_FAILED(static_cast(service.get())-> - NotifySessionTransport(mSessionId, mRole, aTransport))); - } - mBuilder = nullptr; - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderChild::OnError(nsresult reason) -{ - mBuilder = nullptr; - - if (NS_WARN_IF(mActorDestroyed || !SendOnSessionTransportError(reason))){ - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderChild::SendOffer(nsIPresentationChannelDescription* aOffer) -{ - nsAutoString SDP; - nsresult rv = aOffer->GetDataChannelSDP(SDP); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (NS_WARN_IF(mActorDestroyed || !SendSendOffer(SDP))){ - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderChild::SendAnswer(nsIPresentationChannelDescription* aAnswer) -{ - nsAutoString SDP; - nsresult rv = aAnswer->GetDataChannelSDP(SDP); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (NS_WARN_IF(mActorDestroyed || !SendSendAnswer(SDP))){ - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderChild::SendIceCandidate(const nsAString& candidate) -{ - if (NS_WARN_IF(mActorDestroyed || !SendSendIceCandidate(nsString(candidate)))) { - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderChild::Close(nsresult reason) -{ - if (NS_WARN_IF(mActorDestroyed || !SendClose(reason))) { - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -} // namespace dom -} // namespace mozilla - diff --git a/dom/presentation/ipc/PresentationBuilderChild.h b/dom/presentation/ipc/PresentationBuilderChild.h deleted file mode 100644 index 5ada53ab7e..0000000000 --- a/dom/presentation/ipc/PresentationBuilderChild.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_PresentationBuilderChild_h -#define mozilla_dom_PresentationBuilderChild_h - -#include "mozilla/dom/PPresentationBuilderChild.h" -#include "nsIPresentationSessionTransportBuilder.h" - -namespace mozilla { -namespace dom { - -class PresentationBuilderChild final: public PPresentationBuilderChild - , public nsIPresentationSessionTransportBuilderListener -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTBUILDERLISTENER - - explicit PresentationBuilderChild(const nsString& aSessionId, - uint8_t aRole); - - nsresult Init(); - - virtual void ActorDestroy(ActorDestroyReason aWhy) override; - - virtual bool RecvOnOffer(const nsString& aSDP) override; - - virtual bool RecvOnAnswer(const nsString& aSDP) override; - - virtual bool RecvOnIceCandidate(const nsString& aCandidate) override; - -private: - virtual ~PresentationBuilderChild() = default; - - nsString mSessionId; - uint8_t mRole; - bool mActorDestroyed = false; - nsCOMPtr mBuilder; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationBuilderChild_h diff --git a/dom/presentation/ipc/PresentationBuilderParent.cpp b/dom/presentation/ipc/PresentationBuilderParent.cpp deleted file mode 100644 index dc784b13c4..0000000000 --- a/dom/presentation/ipc/PresentationBuilderParent.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DCPresentationChannelDescription.h" -#include "PresentationBuilderParent.h" -#include "PresentationSessionInfo.h" - -namespace mozilla { -namespace dom { - -namespace { - -class PresentationSessionTransportIPC final : - public nsIPresentationSessionTransport -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORT - - PresentationSessionTransportIPC(PresentationParent* aParent, - const nsAString& aSessionId, - uint8_t aRole) - : mParent(aParent) - , mSessionId(aSessionId) - , mRole(aRole) - { - MOZ_ASSERT(mParent); - } - -private: - virtual ~PresentationSessionTransportIPC() = default; - - RefPtr mParent; - nsString mSessionId; - uint8_t mRole; -}; - -NS_IMPL_ISUPPORTS(PresentationSessionTransportIPC, - nsIPresentationSessionTransport) - -NS_IMETHODIMP -PresentationSessionTransportIPC::GetCallback( - nsIPresentationSessionTransportCallback** aCallback) -{ - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::SetCallback( - nsIPresentationSessionTransportCallback* aCallback) -{ - if (aCallback) { - aCallback->NotifyTransportReady(); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::GetSelfAddress(nsINetAddr** aSelfAddress) -{ - MOZ_ASSERT(false, "Not expected."); - return NS_ERROR_FAILURE; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::EnableDataNotification() -{ - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::Send(const nsAString& aData) -{ - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::SendBinaryMsg(const nsACString& aData) -{ - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::SendBlob(nsIDOMBlob* aBlob) -{ - return NS_OK; -} - -NS_IMETHODIMP -PresentationSessionTransportIPC::Close(nsresult aReason) -{ - if (NS_WARN_IF(!mParent->SendNotifyCloseSessionTransport(mSessionId, - mRole, - aReason))) { - return NS_ERROR_FAILURE; - } - - return NS_OK; -} - -} // anonymous namespace - -NS_IMPL_ISUPPORTS(PresentationBuilderParent, - nsIPresentationSessionTransportBuilder, - nsIPresentationDataChannelSessionTransportBuilder) - -PresentationBuilderParent::PresentationBuilderParent(PresentationParent* aParent) - : mParent(aParent) -{ - MOZ_COUNT_CTOR(PresentationBuilderParent); -} - -PresentationBuilderParent::~PresentationBuilderParent() -{ - MOZ_COUNT_DTOR(PresentationBuilderParent); - - if (mNeedDestroyActor) { - Unused << NS_WARN_IF(!Send__delete__(this)); - } -} - -NS_IMETHODIMP -PresentationBuilderParent::BuildDataChannelTransport( - uint8_t aRole, - mozIDOMWindow* aWindow, /* unused */ - nsIPresentationSessionTransportBuilderListener* aListener) -{ - mBuilderListener = aListener; - - RefPtr info = static_cast(aListener); - nsAutoString sessionId(info->GetSessionId()); - if (NS_WARN_IF(!mParent->SendPPresentationBuilderConstructor(this, - sessionId, - aRole))) { - return NS_ERROR_FAILURE; - } - mIPCSessionTransport = new PresentationSessionTransportIPC(mParent, - sessionId, - aRole); - mNeedDestroyActor = true; - mParent = nullptr; - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderParent::OnIceCandidate(const nsAString& aCandidate) -{ - if (NS_WARN_IF(!SendOnIceCandidate(nsString(aCandidate)))){ - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderParent::OnOffer(nsIPresentationChannelDescription* aDescription) -{ - nsAutoString SDP; - nsresult rv = aDescription->GetDataChannelSDP(SDP); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (NS_WARN_IF(!SendOnOffer(SDP))){ - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderParent::OnAnswer(nsIPresentationChannelDescription* aDescription) -{ - nsAutoString SDP; - nsresult rv = aDescription->GetDataChannelSDP(SDP); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - if (NS_WARN_IF(!SendOnAnswer(SDP))){ - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationBuilderParent::NotifyDisconnected(nsresult aReason) -{ - return NS_OK; -} - -void -PresentationBuilderParent::ActorDestroy(ActorDestroyReason aWhy) -{ - mNeedDestroyActor = false; - mParent = nullptr; - mBuilderListener = nullptr; -} - -bool -PresentationBuilderParent::RecvSendOffer(const nsString& aSDP) -{ - RefPtr description = - new DCPresentationChannelDescription(aSDP); - if (NS_WARN_IF(!mBuilderListener || - NS_FAILED(mBuilderListener->SendOffer(description)))) { - return false; - } - return true; -} - -bool -PresentationBuilderParent::RecvSendAnswer(const nsString& aSDP) -{ - RefPtr description = - new DCPresentationChannelDescription(aSDP); - if (NS_WARN_IF(!mBuilderListener || - NS_FAILED(mBuilderListener->SendAnswer(description)))) { - return false; - } - return true; -} - -bool -PresentationBuilderParent::RecvSendIceCandidate(const nsString& aCandidate) -{ - if (NS_WARN_IF(!mBuilderListener || - NS_FAILED(mBuilderListener->SendIceCandidate(aCandidate)))) { - return false; - } - return true; -} - -bool -PresentationBuilderParent::RecvClose(const nsresult& aReason) -{ - if (NS_WARN_IF(!mBuilderListener || - NS_FAILED(mBuilderListener->Close(aReason)))) { - return false; - } - return true; -} - -// Delegate to nsIPresentationSessionTransportBuilderListener -bool -PresentationBuilderParent::RecvOnSessionTransport() -{ - RefPtr kungFuDeathGrip = this; - Unused << - NS_WARN_IF(!mBuilderListener || - NS_FAILED(mBuilderListener->OnSessionTransport(mIPCSessionTransport))); - return true; -} - -bool -PresentationBuilderParent::RecvOnSessionTransportError(const nsresult& aReason) -{ - if (NS_WARN_IF(!mBuilderListener || - NS_FAILED(mBuilderListener->OnError(aReason)))) { - return false; - } - return true; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ipc/PresentationBuilderParent.h b/dom/presentation/ipc/PresentationBuilderParent.h deleted file mode 100644 index 7fd211ce52..0000000000 --- a/dom/presentation/ipc/PresentationBuilderParent.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_PresentationBuilderParent_h__ -#define mozilla_dom_PresentationBuilderParent_h__ - -#include "mozilla/dom/PPresentationBuilderParent.h" -#include "PresentationParent.h" -#include "nsIPresentationSessionTransportBuilder.h" - -namespace mozilla { -namespace dom { - -class PresentationBuilderParent final: public PPresentationBuilderParent - , public nsIPresentationDataChannelSessionTransportBuilder -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTBUILDER - NS_DECL_NSIPRESENTATIONDATACHANNELSESSIONTRANSPORTBUILDER - - explicit PresentationBuilderParent(PresentationParent* aParent); - - virtual bool RecvSendOffer(const nsString& aSDP) override; - - virtual bool RecvSendAnswer(const nsString& aSDP) override; - - virtual bool RecvSendIceCandidate(const nsString& aCandidate) override; - - virtual bool RecvClose(const nsresult& aReason) override; - - virtual void ActorDestroy(ActorDestroyReason aWhy) override; - - virtual bool RecvOnSessionTransport() override; - - virtual bool RecvOnSessionTransportError(const nsresult& aReason) override; - -private: - virtual ~PresentationBuilderParent(); - bool mNeedDestroyActor = false; - RefPtr mParent; - nsCOMPtr mBuilderListener; - nsCOMPtr mIPCSessionTransport; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationBuilderParent_h__ diff --git a/dom/presentation/ipc/PresentationChild.cpp b/dom/presentation/ipc/PresentationChild.cpp deleted file mode 100644 index d24ba9e8cd..0000000000 --- a/dom/presentation/ipc/PresentationChild.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DCPresentationChannelDescription.h" -#include "mozilla/StaticPtr.h" -#include "PresentationBuilderChild.h" -#include "PresentationChild.h" -#include "PresentationIPCService.h" -#include "nsThreadUtils.h" - -using namespace mozilla; -using namespace mozilla::dom; - -/* - * Implementation of PresentationChild - */ - -PresentationChild::PresentationChild(PresentationIPCService* aService) - : mActorDestroyed(false) - , mService(aService) -{ - MOZ_ASSERT(mService); - - MOZ_COUNT_CTOR(PresentationChild); -} - -PresentationChild::~PresentationChild() -{ - MOZ_COUNT_DTOR(PresentationChild); - - if (!mActorDestroyed) { - Send__delete__(this); - } - mService = nullptr; -} - -void -PresentationChild::ActorDestroy(ActorDestroyReason aWhy) -{ - mActorDestroyed = true; - mService->NotifyPresentationChildDestroyed(); - mService = nullptr; -} - -PPresentationRequestChild* -PresentationChild::AllocPPresentationRequestChild(const PresentationIPCRequest& aRequest) -{ - NS_NOTREACHED("We should never be manually allocating PPresentationRequestChild actors"); - return nullptr; -} - -bool -PresentationChild::DeallocPPresentationRequestChild(PPresentationRequestChild* aActor) -{ - delete aActor; - return true; -} - -bool PresentationChild::RecvPPresentationBuilderConstructor( - PPresentationBuilderChild* aActor, - const nsString& aSessionId, - const uint8_t& aRole) -{ - // Child will build the session transport - PresentationBuilderChild* actor = static_cast(aActor); - return NS_WARN_IF(NS_FAILED(actor->Init())) ? false : true; -} - -PPresentationBuilderChild* -PresentationChild::AllocPPresentationBuilderChild(const nsString& aSessionId, - const uint8_t& aRole) -{ - RefPtr actor - = new PresentationBuilderChild(aSessionId, aRole); - - return actor.forget().take(); -} - -bool -PresentationChild::DeallocPPresentationBuilderChild(PPresentationBuilderChild* aActor) -{ - RefPtr actor = - dont_AddRef(static_cast(aActor)); - return true; -} - - -bool -PresentationChild::RecvNotifyAvailableChange( - nsTArray&& aAvailabilityUrls, - const bool& aAvailable) -{ - if (mService) { - Unused << - NS_WARN_IF(NS_FAILED(mService->NotifyAvailableChange(aAvailabilityUrls, - aAvailable))); - } - return true; -} - -bool -PresentationChild::RecvNotifySessionStateChange(const nsString& aSessionId, - const uint16_t& aState, - const nsresult& aReason) -{ - if (mService) { - Unused << NS_WARN_IF(NS_FAILED(mService->NotifySessionStateChange(aSessionId, - aState, - aReason))); - } - return true; -} - -bool -PresentationChild::RecvNotifyMessage(const nsString& aSessionId, - const nsCString& aData, - const bool& aIsBinary) -{ - if (mService) { - Unused << NS_WARN_IF(NS_FAILED(mService->NotifyMessage(aSessionId, - aData, - aIsBinary))); - } - return true; -} - -bool -PresentationChild::RecvNotifySessionConnect(const uint64_t& aWindowId, - const nsString& aSessionId) -{ - if (mService) { - Unused << NS_WARN_IF(NS_FAILED(mService->NotifySessionConnect(aWindowId, aSessionId))); - } - return true; -} - -bool -PresentationChild::RecvNotifyCloseSessionTransport(const nsString& aSessionId, - const uint8_t& aRole, - const nsresult& aReason) -{ - if (mService) { - Unused << NS_WARN_IF(NS_FAILED( - mService->CloseContentSessionTransport(aSessionId, aRole, aReason))); - } - return true; -} - -/* - * Implementation of PresentationRequestChild - */ - -PresentationRequestChild::PresentationRequestChild(nsIPresentationServiceCallback* aCallback) - : mActorDestroyed(false) - , mCallback(aCallback) -{ - MOZ_COUNT_CTOR(PresentationRequestChild); -} - -PresentationRequestChild::~PresentationRequestChild() -{ - MOZ_COUNT_DTOR(PresentationRequestChild); - - mCallback = nullptr; -} - -void -PresentationRequestChild::ActorDestroy(ActorDestroyReason aWhy) -{ - mActorDestroyed = true; - mCallback = nullptr; -} - -bool -PresentationRequestChild::Recv__delete__(const nsresult& aResult) -{ - if (mActorDestroyed) { - return true; - } - - if (mCallback) { - if (NS_FAILED(aResult)) { - Unused << NS_WARN_IF(NS_FAILED(mCallback->NotifyError(aResult))); - } - } - - return true; -} - -bool -PresentationRequestChild::RecvNotifyRequestUrlSelected(const nsString& aUrl) -{ - Unused << NS_WARN_IF(NS_FAILED(mCallback->NotifySuccess(aUrl))); - return true; -} diff --git a/dom/presentation/ipc/PresentationChild.h b/dom/presentation/ipc/PresentationChild.h deleted file mode 100644 index 1c625b8ceb..0000000000 --- a/dom/presentation/ipc/PresentationChild.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_PresentationChild_h -#define mozilla_dom_PresentationChild_h - -#include "mozilla/dom/PPresentationBuilderChild.h" -#include "mozilla/dom/PPresentationChild.h" -#include "mozilla/dom/PPresentationRequestChild.h" - -class nsIPresentationServiceCallback; - -namespace mozilla { -namespace dom { - -class PresentationIPCService; - -class PresentationChild final : public PPresentationChild -{ -public: - explicit PresentationChild(PresentationIPCService* aService); - - virtual void - ActorDestroy(ActorDestroyReason aWhy) override; - - virtual PPresentationRequestChild* - AllocPPresentationRequestChild(const PresentationIPCRequest& aRequest) override; - - virtual bool - DeallocPPresentationRequestChild(PPresentationRequestChild* aActor) override; - - bool RecvPPresentationBuilderConstructor(PPresentationBuilderChild* aActor, - const nsString& aSessionId, - const uint8_t& aRole) override; - - virtual PPresentationBuilderChild* - AllocPPresentationBuilderChild(const nsString& aSessionId, const uint8_t& aRole) override; - - virtual bool - DeallocPPresentationBuilderChild(PPresentationBuilderChild* aActor) override; - - virtual bool - RecvNotifyAvailableChange(nsTArray&& aAvailabilityUrls, - const bool& aAvailable) override; - - virtual bool - RecvNotifySessionStateChange(const nsString& aSessionId, - const uint16_t& aState, - const nsresult& aReason) override; - - virtual bool - RecvNotifyMessage(const nsString& aSessionId, - const nsCString& aData, - const bool& aIsBinary) override; - - virtual bool - RecvNotifySessionConnect(const uint64_t& aWindowId, - const nsString& aSessionId) override; - - virtual bool - RecvNotifyCloseSessionTransport(const nsString& aSessionId, - const uint8_t& aRole, - const nsresult& aReason) override; - -private: - virtual ~PresentationChild(); - - bool mActorDestroyed = false; - RefPtr mService; -}; - -class PresentationRequestChild final : public PPresentationRequestChild -{ - friend class PresentationChild; - -public: - explicit PresentationRequestChild(nsIPresentationServiceCallback* aCallback); - - virtual void - ActorDestroy(ActorDestroyReason aWhy) override; - - virtual bool - Recv__delete__(const nsresult& aResult) override; - - virtual bool - RecvNotifyRequestUrlSelected(const nsString& aUrl) override; - -private: - virtual ~PresentationRequestChild(); - - bool mActorDestroyed = false; - nsCOMPtr mCallback; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationChild_h diff --git a/dom/presentation/ipc/PresentationContentSessionInfo.cpp b/dom/presentation/ipc/PresentationContentSessionInfo.cpp deleted file mode 100644 index 071ea924f3..0000000000 --- a/dom/presentation/ipc/PresentationContentSessionInfo.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim:set ts=2 sw=2 sts=2 et cindent: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsServiceManagerUtils.h" -#include "PresentationContentSessionInfo.h" -#include "PresentationIPCService.h" - -namespace mozilla { -namespace dom { - -NS_IMPL_ISUPPORTS(PresentationContentSessionInfo, - nsIPresentationSessionTransportCallback); - -nsresult -PresentationContentSessionInfo::Init() { - if (NS_WARN_IF(NS_FAILED(mTransport->SetCallback(this)))) { - return NS_ERROR_NOT_AVAILABLE; - } - if (NS_WARN_IF(NS_FAILED(mTransport->EnableDataNotification()))) { - return NS_ERROR_NOT_AVAILABLE; - } - return NS_OK; -} - -nsresult -PresentationContentSessionInfo::Send(const nsAString& aData) -{ - if (!mTransport) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->Send(aData); -} - -nsresult -PresentationContentSessionInfo::SendBinaryMsg(const nsACString& aData) -{ - if (NS_WARN_IF(!mTransport)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->SendBinaryMsg(aData); -} - -nsresult -PresentationContentSessionInfo::SendBlob(nsIDOMBlob* aBlob) -{ - if (NS_WARN_IF(!mTransport)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->SendBlob(aBlob); -} - -nsresult -PresentationContentSessionInfo::Close(nsresult aReason) -{ - if (!mTransport) { - return NS_ERROR_NOT_AVAILABLE; - } - - return mTransport->Close(aReason); -} - -// nsIPresentationSessionTransportCallback -NS_IMETHODIMP -PresentationContentSessionInfo::NotifyTransportReady() -{ - // do nothing since |onSessionTransport| implies this - return NS_OK; -} - -NS_IMETHODIMP -PresentationContentSessionInfo::NotifyTransportClosed(nsresult aReason) -{ - MOZ_ASSERT(NS_IsMainThread()); - - // Nullify |mTransport| here so it won't try to re-close |mTransport| in - // potential subsequent |Shutdown| calls. - mTransport = nullptr; - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - return static_cast(service.get())-> - NotifyTransportClosed(mSessionId, mRole, aReason); -} - -NS_IMETHODIMP -PresentationContentSessionInfo::NotifyData(const nsACString& aData, - bool aIsBinary) -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsCOMPtr service = - do_GetService(PRESENTATION_SERVICE_CONTRACTID); - if (NS_WARN_IF(!service)) { - return NS_ERROR_NOT_AVAILABLE; - } - return static_cast(service.get())-> - NotifyMessage(mSessionId, aData, aIsBinary); -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ipc/PresentationContentSessionInfo.h b/dom/presentation/ipc/PresentationContentSessionInfo.h deleted file mode 100644 index 447485dbd1..0000000000 --- a/dom/presentation/ipc/PresentationContentSessionInfo.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef mozilla_dom_PresentationContentSessionInfo_h -#define mozilla_dom_PresentationContentSessionInfo_h - -#include "nsCOMPtr.h" -#include "nsIPresentationSessionTransport.h" - -namespace mozilla { -namespace dom { - -/** - * PresentationContentSessionInfo manages nsIPresentationSessionTransport and - * delegates the callbacks to PresentationIPCService. Only lives in content - * process. - */ -class PresentationContentSessionInfo final : public nsIPresentationSessionTransportCallback -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSESSIONTRANSPORTCALLBACK - - PresentationContentSessionInfo(const nsAString& aSessionId, - uint8_t aRole, - nsIPresentationSessionTransport* aTransport) - : mSessionId(aSessionId) - , mRole(aRole) - , mTransport(aTransport) - { - MOZ_ASSERT(XRE_IsContentProcess()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - MOZ_ASSERT(aTransport); - } - - nsresult Init(); - - nsresult Send(const nsAString& aData); - - nsresult SendBinaryMsg(const nsACString& aData); - - nsresult SendBlob(nsIDOMBlob* aBlob); - - nsresult Close(nsresult aReason); - -private: - virtual ~PresentationContentSessionInfo() {} - - nsString mSessionId; - uint8_t mRole; - nsCOMPtr mTransport; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationContentSessionInfo_h diff --git a/dom/presentation/ipc/PresentationIPCService.cpp b/dom/presentation/ipc/PresentationIPCService.cpp deleted file mode 100644 index 8c85b239d4..0000000000 --- a/dom/presentation/ipc/PresentationIPCService.cpp +++ /dev/null @@ -1,538 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set sw=2 ts=8 et ft=cpp : */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "mozilla/dom/ContentChild.h" -#include "mozilla/dom/PermissionMessageUtils.h" -#include "mozilla/dom/PPresentation.h" -#include "mozilla/dom/TabParent.h" -#include "mozilla/ipc/InputStreamUtils.h" -#include "mozilla/ipc/URIUtils.h" -#include "nsGlobalWindow.h" -#include "nsIPresentationListener.h" -#include "PresentationCallbacks.h" -#include "PresentationChild.h" -#include "PresentationContentSessionInfo.h" -#include "PresentationIPCService.h" -#include "PresentationLog.h" - -using namespace mozilla; -using namespace mozilla::dom; -using namespace mozilla::ipc; - -namespace { - -PresentationChild* sPresentationChild; - -} // anonymous - -NS_IMPL_ISUPPORTS(PresentationIPCService, - nsIPresentationService, - nsIPresentationAvailabilityListener) - -PresentationIPCService::PresentationIPCService() -{ - ContentChild* contentChild = ContentChild::GetSingleton(); - if (NS_WARN_IF(!contentChild)) { - return; - } - sPresentationChild = new PresentationChild(this); - Unused << - NS_WARN_IF(!contentChild->SendPPresentationConstructor(sPresentationChild)); -} - -/* virtual */ -PresentationIPCService::~PresentationIPCService() -{ - Shutdown(); - - mSessionListeners.Clear(); - mSessionInfoAtController.Clear(); - mSessionInfoAtReceiver.Clear(); - sPresentationChild = nullptr; -} - -NS_IMETHODIMP -PresentationIPCService::StartSession( - const nsTArray& aUrls, - const nsAString& aSessionId, - const nsAString& aOrigin, - const nsAString& aDeviceId, - uint64_t aWindowId, - nsIDOMEventTarget* aEventTarget, - nsIPrincipal* aPrincipal, - nsIPresentationServiceCallback* aCallback, - nsIPresentationTransportBuilderConstructor* aBuilderConstructor) -{ - if (aWindowId != 0) { - AddRespondingSessionId(aWindowId, - aSessionId, - nsIPresentationService::ROLE_CONTROLLER); - } - - nsPIDOMWindowInner* window = - nsGlobalWindow::GetInnerWindowWithId(aWindowId)->AsInner(); - TabId tabId = TabParent::GetTabIdFrom(window->GetDocShell()); - - return SendRequest(aCallback, StartSessionRequest(aUrls, - nsString(aSessionId), - nsString(aOrigin), - nsString(aDeviceId), - aWindowId, - tabId, - IPC::Principal(aPrincipal))); -} - -NS_IMETHODIMP -PresentationIPCService::SendSessionMessage(const nsAString& aSessionId, - uint8_t aRole, - const nsAString& aData) -{ - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(!aData.IsEmpty()); - - RefPtr info = - GetSessionInfo(aSessionId, aRole); - // data channel session transport is maintained by content process - if (info) { - return info->Send(aData); - } - - return SendRequest(nullptr, SendSessionMessageRequest(nsString(aSessionId), - aRole, - nsString(aData))); -} - -NS_IMETHODIMP -PresentationIPCService::SendSessionBinaryMsg(const nsAString& aSessionId, - uint8_t aRole, - const nsACString &aData) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aData.IsEmpty()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - - RefPtr info = - GetSessionInfo(aSessionId, aRole); - // data channel session transport is maintained by content process - if (info) { - return info->SendBinaryMsg(aData); - } - - return NS_ERROR_NOT_AVAILABLE; -} - -NS_IMETHODIMP -PresentationIPCService::SendSessionBlob(const nsAString& aSessionId, - uint8_t aRole, - nsIDOMBlob* aBlob) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aSessionId.IsEmpty()); - MOZ_ASSERT(aRole == nsIPresentationService::ROLE_CONTROLLER || - aRole == nsIPresentationService::ROLE_RECEIVER); - MOZ_ASSERT(aBlob); - - RefPtr info = - GetSessionInfo(aSessionId, aRole); - // data channel session transport is maintained by content process - if (info) { - return info->SendBlob(aBlob); - } - - return NS_ERROR_NOT_AVAILABLE; -} - -NS_IMETHODIMP -PresentationIPCService::CloseSession(const nsAString& aSessionId, - uint8_t aRole, - uint8_t aClosedReason) -{ - MOZ_ASSERT(!aSessionId.IsEmpty()); - - nsresult rv = SendRequest(nullptr, CloseSessionRequest(nsString(aSessionId), - aRole, - aClosedReason)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - RefPtr info = - GetSessionInfo(aSessionId, aRole); - if (info) { - return info->Close(NS_OK); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::TerminateSession(const nsAString& aSessionId, - uint8_t aRole) -{ - MOZ_ASSERT(!aSessionId.IsEmpty()); - - nsresult rv = SendRequest(nullptr, TerminateSessionRequest(nsString(aSessionId), aRole)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - RefPtr info = - GetSessionInfo(aSessionId, aRole); - if (info) { - return info->Close(NS_OK); - } - - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::ReconnectSession(const nsTArray& aUrls, - const nsAString& aSessionId, - uint8_t aRole, - nsIPresentationServiceCallback* aCallback) -{ - MOZ_ASSERT(!aSessionId.IsEmpty()); - - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "Only controller can call ReconnectSession."); - return NS_ERROR_INVALID_ARG; - } - - return SendRequest(aCallback, ReconnectSessionRequest(aUrls, - nsString(aSessionId), - aRole)); -} - -NS_IMETHODIMP -PresentationIPCService::BuildTransport(const nsAString& aSessionId, - uint8_t aRole) -{ - MOZ_ASSERT(!aSessionId.IsEmpty()); - - if (aRole != nsIPresentationService::ROLE_CONTROLLER) { - MOZ_ASSERT(false, "Only controller can call ReconnectSession."); - return NS_ERROR_INVALID_ARG; - } - - return SendRequest(nullptr, BuildTransportRequest(nsString(aSessionId), - aRole)); -} - -nsresult -PresentationIPCService::SendRequest(nsIPresentationServiceCallback* aCallback, - const PresentationIPCRequest& aRequest) -{ - if (sPresentationChild) { - PresentationRequestChild* actor = new PresentationRequestChild(aCallback); - Unused << NS_WARN_IF(!sPresentationChild->SendPPresentationRequestConstructor(actor, aRequest)); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::RegisterAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!aAvailabilityUrls.IsEmpty()); - MOZ_ASSERT(aListener); - - nsTArray addedUrls; - mAvailabilityManager.AddAvailabilityListener(aAvailabilityUrls, - aListener, - addedUrls); - - if (sPresentationChild && !addedUrls.IsEmpty()) { - Unused << - NS_WARN_IF( - !sPresentationChild->SendRegisterAvailabilityHandler(addedUrls)); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::UnregisterAvailabilityListener( - const nsTArray& aAvailabilityUrls, - nsIPresentationAvailabilityListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsTArray removedUrls; - mAvailabilityManager.RemoveAvailabilityListener(aAvailabilityUrls, - aListener, - removedUrls); - - if (sPresentationChild && !removedUrls.IsEmpty()) { - Unused << - NS_WARN_IF( - !sPresentationChild->SendUnregisterAvailabilityHandler(removedUrls)); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::RegisterSessionListener(const nsAString& aSessionId, - uint8_t aRole, - nsIPresentationSessionListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aListener); - - nsCOMPtr listener; - if (mSessionListeners.Get(aSessionId, getter_AddRefs(listener))) { - mSessionListeners.Put(aSessionId, aListener); - return NS_OK; - } - - mSessionListeners.Put(aSessionId, aListener); - if (sPresentationChild) { - Unused << - NS_WARN_IF(!sPresentationChild->SendRegisterSessionHandler( - nsString(aSessionId), aRole)); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::UnregisterSessionListener(const nsAString& aSessionId, - uint8_t aRole) -{ - MOZ_ASSERT(NS_IsMainThread()); - - UntrackSessionInfo(aSessionId, aRole); - - mSessionListeners.Remove(aSessionId); - if (sPresentationChild) { - Unused << - NS_WARN_IF(!sPresentationChild->SendUnregisterSessionHandler( - nsString(aSessionId), aRole)); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::RegisterRespondingListener(uint64_t aWindowId, - nsIPresentationRespondingListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mRespondingListeners.Put(aWindowId, aListener); - if (sPresentationChild) { - Unused << - NS_WARN_IF(!sPresentationChild->SendRegisterRespondingHandler(aWindowId)); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::UnregisterRespondingListener(uint64_t aWindowId) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mRespondingListeners.Remove(aWindowId); - if (sPresentationChild) { - Unused << - NS_WARN_IF(!sPresentationChild->SendUnregisterRespondingHandler( - aWindowId)); - } - return NS_OK; -} - -nsresult -PresentationIPCService::NotifySessionTransport(const nsString& aSessionId, - const uint8_t& aRole, - nsIPresentationSessionTransport* aTransport) -{ - RefPtr info = - new PresentationContentSessionInfo(aSessionId, aRole, aTransport); - - if (NS_WARN_IF(NS_FAILED(info->Init()))) { - return NS_ERROR_NOT_AVAILABLE; - } - - if (aRole == nsIPresentationService::ROLE_CONTROLLER) { - mSessionInfoAtController.Put(aSessionId, info); - } else { - mSessionInfoAtReceiver.Put(aSessionId, info); - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::GetWindowIdBySessionId(const nsAString& aSessionId, - uint8_t aRole, - uint64_t* aWindowId) -{ - return GetWindowIdBySessionIdInternal(aSessionId, aRole, aWindowId); -} - -NS_IMETHODIMP -PresentationIPCService::UpdateWindowIdBySessionId(const nsAString& aSessionId, - uint8_t aRole, - const uint64_t aWindowId) -{ - return UpdateWindowIdBySessionIdInternal(aSessionId, aRole, aWindowId); -} - -nsresult -PresentationIPCService::NotifySessionStateChange(const nsAString& aSessionId, - uint16_t aState, - nsresult aReason) -{ - nsCOMPtr listener; - if (NS_WARN_IF(!mSessionListeners.Get(aSessionId, getter_AddRefs(listener)))) { - return NS_OK; - } - - return listener->NotifyStateChange(aSessionId, aState, aReason); -} - -// Only used for OOP RTCDataChannel session transport case. -nsresult -PresentationIPCService::NotifyMessage(const nsAString& aSessionId, - const nsACString& aData, - const bool& aIsBinary) -{ - nsCOMPtr listener; - if (NS_WARN_IF(!mSessionListeners.Get(aSessionId, getter_AddRefs(listener)))) { - return NS_OK; - } - - return listener->NotifyMessage(aSessionId, aData, aIsBinary); -} - -// Only used for OOP RTCDataChannel session transport case. -nsresult -PresentationIPCService::NotifyTransportClosed(const nsAString& aSessionId, - uint8_t aRole, - nsresult aReason) -{ - RefPtr info = - GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - Unused << NS_WARN_IF(!sPresentationChild->SendNotifyTransportClosed(nsString(aSessionId), aRole, aReason)); - return NS_OK; -} - -nsresult -PresentationIPCService::NotifySessionConnect(uint64_t aWindowId, - const nsAString& aSessionId) -{ - nsCOMPtr listener; - if (NS_WARN_IF(!mRespondingListeners.Get(aWindowId, getter_AddRefs(listener)))) { - return NS_OK; - } - - return listener->NotifySessionConnect(aWindowId, aSessionId); -} - -NS_IMETHODIMP -PresentationIPCService::NotifyAvailableChange( - const nsTArray& aAvailabilityUrls, - bool aAvailable) -{ - return mAvailabilityManager.DoNotifyAvailableChange(aAvailabilityUrls, - aAvailable); -} - -NS_IMETHODIMP -PresentationIPCService::NotifyReceiverReady( - const nsAString& aSessionId, - uint64_t aWindowId, - bool aIsLoading, - nsIPresentationTransportBuilderConstructor* aBuilderConstructor) -{ - MOZ_ASSERT(NS_IsMainThread()); - - // No actual window uses 0 as its ID. - if (NS_WARN_IF(aWindowId == 0)) { - return NS_ERROR_NOT_AVAILABLE; - } - - // Track the responding info for an OOP receiver page. - AddRespondingSessionId(aWindowId, - aSessionId, - nsIPresentationService::ROLE_RECEIVER); - - Unused << NS_WARN_IF(!sPresentationChild->SendNotifyReceiverReady(nsString(aSessionId), - aWindowId, - aIsLoading)); - - // Release mCallback after using aSessionId - // because aSessionId is held by mCallback. - mCallback = nullptr; - return NS_OK; -} - -NS_IMETHODIMP -PresentationIPCService::UntrackSessionInfo(const nsAString& aSessionId, - uint8_t aRole) -{ - PRES_DEBUG("content %s:id[%s], role[%d]\n", __func__, - NS_ConvertUTF16toUTF8(aSessionId).get(), aRole); - - if (nsIPresentationService::ROLE_RECEIVER == aRole) { - // Terminate receiver page. - uint64_t windowId; - if (NS_SUCCEEDED(GetWindowIdBySessionIdInternal(aSessionId, - aRole, - &windowId))) { - NS_DispatchToMainThread(NS_NewRunnableFunction([windowId]() -> void { - PRES_DEBUG("Attempt to close window[%d]\n", windowId); - - if (auto* window = nsGlobalWindow::GetInnerWindowWithId(windowId)) { - window->Close(); - } - })); - } - } - - // Remove the OOP responding info (if it has never been used). - RemoveRespondingSessionId(aSessionId, aRole); - - if (nsIPresentationService::ROLE_CONTROLLER == aRole) { - mSessionInfoAtController.Remove(aSessionId); - } else { - mSessionInfoAtReceiver.Remove(aSessionId); - } - - return NS_OK; -} - -void -PresentationIPCService::NotifyPresentationChildDestroyed() -{ - sPresentationChild = nullptr; -} - -nsresult -PresentationIPCService::MonitorResponderLoading(const nsAString& aSessionId, - nsIDocShell* aDocShell) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mCallback = new PresentationResponderLoadingCallback(aSessionId); - return mCallback->Init(aDocShell); -} - -nsresult -PresentationIPCService::CloseContentSessionTransport(const nsString& aSessionId, - uint8_t aRole, - nsresult aReason) -{ - RefPtr info = - GetSessionInfo(aSessionId, aRole); - if (NS_WARN_IF(!info)) { - return NS_ERROR_NOT_AVAILABLE; - } - - return info->Close(aReason); -} diff --git a/dom/presentation/ipc/PresentationIPCService.h b/dom/presentation/ipc/PresentationIPCService.h deleted file mode 100644 index 5eab7e68a7..0000000000 --- a/dom/presentation/ipc/PresentationIPCService.h +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set sw=2 ts=8 et ft=cpp : */ -/* 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/. */ - -#ifndef mozilla_dom_PresentationIPCService_h -#define mozilla_dom_PresentationIPCService_h - -#include "mozilla/dom/PresentationServiceBase.h" -#include "nsIPresentationListener.h" -#include "nsIPresentationSessionTransport.h" -#include "nsIPresentationService.h" - -class nsIDocShell; - -namespace mozilla { -namespace dom { - -class PresentationIPCRequest; -class PresentationContentSessionInfo; -class PresentationResponderLoadingCallback; - -class PresentationIPCService final - : public nsIPresentationAvailabilityListener - , public nsIPresentationService - , public PresentationServiceBase -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONAVAILABILITYLISTENER - NS_DECL_NSIPRESENTATIONSERVICE - - PresentationIPCService(); - - nsresult NotifySessionStateChange(const nsAString& aSessionId, - uint16_t aState, - nsresult aReason); - - nsresult NotifyMessage(const nsAString& aSessionId, - const nsACString& aData, - const bool& aIsBinary); - - nsresult NotifySessionConnect(uint64_t aWindowId, - const nsAString& aSessionId); - - void NotifyPresentationChildDestroyed(); - - nsresult MonitorResponderLoading(const nsAString& aSessionId, - nsIDocShell* aDocShell); - - nsresult NotifySessionTransport(const nsString& aSessionId, - const uint8_t& aRole, - nsIPresentationSessionTransport* transport); - - nsresult CloseContentSessionTransport(const nsString& aSessionId, - uint8_t aRole, - nsresult aReason); - -private: - virtual ~PresentationIPCService(); - nsresult SendRequest(nsIPresentationServiceCallback* aCallback, - const PresentationIPCRequest& aRequest); - - nsRefPtrHashtable mSessionListeners; - nsRefPtrHashtable mRespondingListeners; - RefPtr mCallback; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationIPCService_h diff --git a/dom/presentation/ipc/PresentationParent.cpp b/dom/presentation/ipc/PresentationParent.cpp deleted file mode 100644 index 02f60500a9..0000000000 --- a/dom/presentation/ipc/PresentationParent.cpp +++ /dev/null @@ -1,553 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DCPresentationChannelDescription.h" -#include "mozilla/dom/ContentProcessManager.h" -#include "mozilla/ipc/InputStreamUtils.h" -#include "mozilla/Unused.h" -#include "nsIPresentationDeviceManager.h" -#include "nsIPresentationSessionTransport.h" -#include "nsIPresentationSessionTransportBuilder.h" -#include "nsServiceManagerUtils.h" -#include "PresentationBuilderParent.h" -#include "PresentationParent.h" -#include "PresentationService.h" -#include "PresentationSessionInfo.h" - -namespace mozilla { -namespace dom { - -namespace { - -class PresentationTransportBuilderConstructorIPC final : - public nsIPresentationTransportBuilderConstructor -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONTRANSPORTBUILDERCONSTRUCTOR - - explicit PresentationTransportBuilderConstructorIPC(PresentationParent* aParent) - : mParent(aParent) - { - } - -private: - virtual ~PresentationTransportBuilderConstructorIPC() = default; - - RefPtr mParent; -}; - -NS_IMPL_ISUPPORTS(PresentationTransportBuilderConstructorIPC, - nsIPresentationTransportBuilderConstructor) - -NS_IMETHODIMP -PresentationTransportBuilderConstructorIPC::CreateTransportBuilder( - uint8_t aType, - nsIPresentationSessionTransportBuilder** aRetval) -{ - if (NS_WARN_IF(!aRetval)) { - return NS_ERROR_INVALID_ARG; - } - - *aRetval = nullptr; - - if (NS_WARN_IF(aType != nsIPresentationChannelDescription::TYPE_TCP && - aType != nsIPresentationChannelDescription::TYPE_DATACHANNEL)) { - return NS_ERROR_INVALID_ARG; - } - - if (XRE_IsContentProcess()) { - MOZ_ASSERT(false, - "CreateTransportBuilder can only be invoked in parent process."); - return NS_ERROR_FAILURE; - } - - nsCOMPtr builder; - if (aType == nsIPresentationChannelDescription::TYPE_TCP) { - builder = do_CreateInstance(PRESENTATION_TCP_SESSION_TRANSPORT_CONTRACTID); - } else { - builder = new PresentationBuilderParent(mParent); - } - - if (NS_WARN_IF(!builder)) { - return NS_ERROR_DOM_OPERATION_ERR; - } - - builder.forget(aRetval); - return NS_OK; -} - -} // anonymous namespace - -/* - * Implementation of PresentationParent - */ - -NS_IMPL_ISUPPORTS(PresentationParent, - nsIPresentationAvailabilityListener, - nsIPresentationSessionListener, - nsIPresentationRespondingListener) - -PresentationParent::PresentationParent() -{ - MOZ_COUNT_CTOR(PresentationParent); -} - -/* virtual */ PresentationParent::~PresentationParent() -{ - MOZ_COUNT_DTOR(PresentationParent); -} - -bool -PresentationParent::Init(ContentParentId aContentParentId) -{ - MOZ_ASSERT(!mService); - mService = do_GetService(PRESENTATION_SERVICE_CONTRACTID); - mChildId = aContentParentId; - return NS_WARN_IF(!mService) ? false : true; -} - -void -PresentationParent::ActorDestroy(ActorDestroyReason aWhy) -{ - mActorDestroyed = true; - - for (uint32_t i = 0; i < mSessionIdsAtController.Length(); i++) { - Unused << NS_WARN_IF(NS_FAILED(mService-> - UnregisterSessionListener(mSessionIdsAtController[i], - nsIPresentationService::ROLE_CONTROLLER))); - } - mSessionIdsAtController.Clear(); - - for (uint32_t i = 0; i < mSessionIdsAtReceiver.Length(); i++) { - Unused << NS_WARN_IF(NS_FAILED(mService-> - UnregisterSessionListener(mSessionIdsAtReceiver[i], nsIPresentationService::ROLE_RECEIVER))); - } - mSessionIdsAtReceiver.Clear(); - - for (uint32_t i = 0; i < mWindowIds.Length(); i++) { - Unused << NS_WARN_IF(NS_FAILED(mService-> - UnregisterRespondingListener(mWindowIds[i]))); - } - mWindowIds.Clear(); - - if (!mContentAvailabilityUrls.IsEmpty()) { - mService->UnregisterAvailabilityListener(mContentAvailabilityUrls, this); - } - mService = nullptr; -} - -bool -PresentationParent::RecvPPresentationRequestConstructor( - PPresentationRequestParent* aActor, - const PresentationIPCRequest& aRequest) -{ - PresentationRequestParent* actor = static_cast(aActor); - - nsresult rv = NS_ERROR_FAILURE; - switch (aRequest.type()) { - case PresentationIPCRequest::TStartSessionRequest: - rv = actor->DoRequest(aRequest.get_StartSessionRequest()); - break; - case PresentationIPCRequest::TSendSessionMessageRequest: - rv = actor->DoRequest(aRequest.get_SendSessionMessageRequest()); - break; - case PresentationIPCRequest::TCloseSessionRequest: - rv = actor->DoRequest(aRequest.get_CloseSessionRequest()); - break; - case PresentationIPCRequest::TTerminateSessionRequest: - rv = actor->DoRequest(aRequest.get_TerminateSessionRequest()); - break; - case PresentationIPCRequest::TReconnectSessionRequest: - rv = actor->DoRequest(aRequest.get_ReconnectSessionRequest()); - break; - case PresentationIPCRequest::TBuildTransportRequest: - rv = actor->DoRequest(aRequest.get_BuildTransportRequest()); - break; - default: - MOZ_CRASH("Unknown PresentationIPCRequest type"); - } - - return NS_WARN_IF(NS_FAILED(rv)) ? false : true; -} - -PPresentationRequestParent* -PresentationParent::AllocPPresentationRequestParent( - const PresentationIPCRequest& aRequest) -{ - MOZ_ASSERT(mService); - RefPtr actor = new PresentationRequestParent(mService, mChildId); - return actor.forget().take(); -} - -bool -PresentationParent::DeallocPPresentationRequestParent( - PPresentationRequestParent* aActor) -{ - RefPtr actor = - dont_AddRef(static_cast(aActor)); - return true; -} - -PPresentationBuilderParent* -PresentationParent::AllocPPresentationBuilderParent(const nsString& aSessionId, - const uint8_t& aRole) -{ - NS_NOTREACHED("We should never be manually allocating AllocPPresentationBuilderParent actors"); - return nullptr; -} - -bool -PresentationParent::DeallocPPresentationBuilderParent( - PPresentationBuilderParent* aActor) -{ - return true; -} - -bool -PresentationParent::Recv__delete__() -{ - return true; -} - -bool -PresentationParent::RecvRegisterAvailabilityHandler( - nsTArray&& aAvailabilityUrls) -{ - MOZ_ASSERT(mService); - - Unused << NS_WARN_IF(NS_FAILED(mService->RegisterAvailabilityListener( - aAvailabilityUrls, - this))); - mContentAvailabilityUrls.AppendElements(aAvailabilityUrls); - return true; -} - -bool -PresentationParent::RecvUnregisterAvailabilityHandler( - nsTArray&& aAvailabilityUrls) -{ - MOZ_ASSERT(mService); - - Unused << NS_WARN_IF(NS_FAILED(mService->UnregisterAvailabilityListener( - aAvailabilityUrls, - this))); - for (const auto& url : aAvailabilityUrls) { - mContentAvailabilityUrls.RemoveElement(url); - } - return true; -} - -/* virtual */ bool -PresentationParent::RecvRegisterSessionHandler(const nsString& aSessionId, - const uint8_t& aRole) -{ - MOZ_ASSERT(mService); - - // Validate the accessibility (primarily for receiver side) so that a - // compromised child process can't fake the ID. - if (NS_WARN_IF(!static_cast(mService.get())-> - IsSessionAccessible(aSessionId, aRole, OtherPid()))) { - return true; - } - - if (nsIPresentationService::ROLE_CONTROLLER == aRole) { - mSessionIdsAtController.AppendElement(aSessionId); - } else { - mSessionIdsAtReceiver.AppendElement(aSessionId); - } - Unused << NS_WARN_IF(NS_FAILED(mService->RegisterSessionListener(aSessionId, aRole, this))); - return true; -} - -/* virtual */ bool -PresentationParent::RecvUnregisterSessionHandler(const nsString& aSessionId, - const uint8_t& aRole) -{ - MOZ_ASSERT(mService); - if (nsIPresentationService::ROLE_CONTROLLER == aRole) { - mSessionIdsAtController.RemoveElement(aSessionId); - } else { - mSessionIdsAtReceiver.RemoveElement(aSessionId); - } - Unused << NS_WARN_IF(NS_FAILED(mService->UnregisterSessionListener(aSessionId, aRole))); - return true; -} - -/* virtual */ bool -PresentationParent::RecvRegisterRespondingHandler(const uint64_t& aWindowId) -{ - MOZ_ASSERT(mService); - - mWindowIds.AppendElement(aWindowId); - Unused << NS_WARN_IF(NS_FAILED(mService->RegisterRespondingListener(aWindowId, this))); - return true; -} - -/* virtual */ bool -PresentationParent::RecvUnregisterRespondingHandler(const uint64_t& aWindowId) -{ - MOZ_ASSERT(mService); - mWindowIds.RemoveElement(aWindowId); - Unused << NS_WARN_IF(NS_FAILED(mService->UnregisterRespondingListener(aWindowId))); - return true; -} - -NS_IMETHODIMP -PresentationParent::NotifyAvailableChange(const nsTArray& aAvailabilityUrls, - bool aAvailable) -{ - if (NS_WARN_IF(mActorDestroyed || - !SendNotifyAvailableChange(aAvailabilityUrls, - aAvailable))) { - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationParent::NotifyStateChange(const nsAString& aSessionId, - uint16_t aState, - nsresult aReason) -{ - if (NS_WARN_IF(mActorDestroyed || - !SendNotifySessionStateChange(nsString(aSessionId), - aState, - aReason))) { - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationParent::NotifyMessage(const nsAString& aSessionId, - const nsACString& aData, - bool aIsBinary) -{ - if (NS_WARN_IF(mActorDestroyed || - !SendNotifyMessage(nsString(aSessionId), - nsCString(aData), - aIsBinary))) { - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -NS_IMETHODIMP -PresentationParent::NotifySessionConnect(uint64_t aWindowId, - const nsAString& aSessionId) -{ - if (NS_WARN_IF(mActorDestroyed || - !SendNotifySessionConnect(aWindowId, nsString(aSessionId)))) { - return NS_ERROR_FAILURE; - } - return NS_OK; -} - -bool -PresentationParent::RecvNotifyReceiverReady(const nsString& aSessionId, - const uint64_t& aWindowId, - const bool& aIsLoading) -{ - MOZ_ASSERT(mService); - - nsCOMPtr constructor = - new PresentationTransportBuilderConstructorIPC(this); - Unused << NS_WARN_IF(NS_FAILED(mService->NotifyReceiverReady(aSessionId, - aWindowId, - aIsLoading, - constructor))); - return true; -} - -bool -PresentationParent::RecvNotifyTransportClosed(const nsString& aSessionId, - const uint8_t& aRole, - const nsresult& aReason) -{ - MOZ_ASSERT(mService); - - Unused << NS_WARN_IF(NS_FAILED(mService->NotifyTransportClosed(aSessionId, aRole, aReason))); - return true; -} - -/* - * Implementation of PresentationRequestParent - */ - -NS_IMPL_ISUPPORTS(PresentationRequestParent, nsIPresentationServiceCallback) - -PresentationRequestParent::PresentationRequestParent(nsIPresentationService* aService, - ContentParentId aContentParentId) - : mService(aService) - , mChildId(aContentParentId) -{ - MOZ_COUNT_CTOR(PresentationRequestParent); -} - -PresentationRequestParent::~PresentationRequestParent() -{ - MOZ_COUNT_DTOR(PresentationRequestParent); -} - -void -PresentationRequestParent::ActorDestroy(ActorDestroyReason aWhy) -{ - mActorDestroyed = true; - mService = nullptr; -} - -nsresult -PresentationRequestParent::DoRequest(const StartSessionRequest& aRequest) -{ - MOZ_ASSERT(mService); - - mSessionId = aRequest.sessionId(); - - nsCOMPtr eventTarget; - ContentProcessManager* cpm = ContentProcessManager::GetSingleton(); - RefPtr tp = - cpm->GetTopLevelTabParentByProcessAndTabId(mChildId, aRequest.tabId()); - if (tp) { - eventTarget = do_QueryInterface(tp->GetOwnerElement()); - } - - RefPtr parent = static_cast(Manager()); - nsCOMPtr constructor = - new PresentationTransportBuilderConstructorIPC(parent); - return mService->StartSession(aRequest.urls(), aRequest.sessionId(), - aRequest.origin(), aRequest.deviceId(), - aRequest.windowId(), eventTarget, - aRequest.principal(), this, constructor); -} - -nsresult -PresentationRequestParent::DoRequest(const SendSessionMessageRequest& aRequest) -{ - MOZ_ASSERT(mService); - - // Validate the accessibility (primarily for receiver side) so that a - // compromised child process can't fake the ID. - if (NS_WARN_IF(!static_cast(mService.get())-> - IsSessionAccessible(aRequest.sessionId(), aRequest.role(), OtherPid()))) { - return SendResponse(NS_ERROR_DOM_SECURITY_ERR); - } - - nsresult rv = mService->SendSessionMessage(aRequest.sessionId(), - aRequest.role(), - aRequest.data()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return SendResponse(rv); - } - return SendResponse(NS_OK); -} - -nsresult -PresentationRequestParent::DoRequest(const CloseSessionRequest& aRequest) -{ - MOZ_ASSERT(mService); - - // Validate the accessibility (primarily for receiver side) so that a - // compromised child process can't fake the ID. - if (NS_WARN_IF(!static_cast(mService.get())-> - IsSessionAccessible(aRequest.sessionId(), aRequest.role(), OtherPid()))) { - return SendResponse(NS_ERROR_DOM_SECURITY_ERR); - } - - nsresult rv = mService->CloseSession(aRequest.sessionId(), - aRequest.role(), - aRequest.closedReason()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return SendResponse(rv); - } - return SendResponse(NS_OK); -} - -nsresult -PresentationRequestParent::DoRequest(const TerminateSessionRequest& aRequest) -{ - MOZ_ASSERT(mService); - - // Validate the accessibility (primarily for receiver side) so that a - // compromised child process can't fake the ID. - if (NS_WARN_IF(!static_cast(mService.get())-> - IsSessionAccessible(aRequest.sessionId(), aRequest.role(), OtherPid()))) { - return SendResponse(NS_ERROR_DOM_SECURITY_ERR); - } - - nsresult rv = mService->TerminateSession(aRequest.sessionId(), aRequest.role()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return SendResponse(rv); - } - return SendResponse(NS_OK); -} - -nsresult -PresentationRequestParent::DoRequest(const ReconnectSessionRequest& aRequest) -{ - MOZ_ASSERT(mService); - - // Validate the accessibility (primarily for receiver side) so that a - // compromised child process can't fake the ID. - if (NS_WARN_IF(!static_cast(mService.get())-> - IsSessionAccessible(aRequest.sessionId(), aRequest.role(), OtherPid()))) { - - // NOTE: Return NS_ERROR_DOM_NOT_FOUND_ERR here to match the spec. - // https://w3c.github.io/presentation-api/#reconnecting-to-a-presentation - return SendResponse(NS_ERROR_DOM_NOT_FOUND_ERR); - } - - mSessionId = aRequest.sessionId(); - return mService->ReconnectSession(aRequest.urls(), - aRequest.sessionId(), - aRequest.role(), - this); -} - -nsresult -PresentationRequestParent::DoRequest(const BuildTransportRequest& aRequest) -{ - MOZ_ASSERT(mService); - - // Validate the accessibility (primarily for receiver side) so that a - // compromised child process can't fake the ID. - if (NS_WARN_IF(!static_cast(mService.get())-> - IsSessionAccessible(aRequest.sessionId(), aRequest.role(), OtherPid()))) { - return SendResponse(NS_ERROR_DOM_SECURITY_ERR); - } - - nsresult rv = mService->BuildTransport(aRequest.sessionId(), aRequest.role()); - if (NS_WARN_IF(NS_FAILED(rv))) { - return SendResponse(rv); - } - return SendResponse(NS_OK); -} - -NS_IMETHODIMP -PresentationRequestParent::NotifySuccess(const nsAString& aUrl) -{ - Unused << SendNotifyRequestUrlSelected(nsString(aUrl)); - return SendResponse(NS_OK); -} - -NS_IMETHODIMP -PresentationRequestParent::NotifyError(nsresult aError) -{ - return SendResponse(aError); -} - -nsresult -PresentationRequestParent::SendResponse(nsresult aResult) -{ - if (NS_WARN_IF(mActorDestroyed || !Send__delete__(this, aResult))) { - return NS_ERROR_FAILURE; - } - - return NS_OK; -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/ipc/PresentationParent.h b/dom/presentation/ipc/PresentationParent.h deleted file mode 100644 index b038aa2163..0000000000 --- a/dom/presentation/ipc/PresentationParent.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_PresentationParent_h__ -#define mozilla_dom_PresentationParent_h__ - -#include "mozilla/dom/ipc/IdType.h" -#include "mozilla/dom/PPresentationBuilderParent.h" -#include "mozilla/dom/PPresentationParent.h" -#include "mozilla/dom/PPresentationRequestParent.h" -#include "nsIPresentationListener.h" -#include "nsIPresentationService.h" -#include "nsIPresentationSessionTransportBuilder.h" - -namespace mozilla { -namespace dom { - -class PresentationParent final : public PPresentationParent - , public nsIPresentationAvailabilityListener - , public nsIPresentationSessionListener - , public nsIPresentationRespondingListener -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONAVAILABILITYLISTENER - NS_DECL_NSIPRESENTATIONSESSIONLISTENER - NS_DECL_NSIPRESENTATIONRESPONDINGLISTENER - - PresentationParent(); - - bool Init(ContentParentId aContentParentId); - - bool RegisterTransportBuilder(const nsString& aSessionId, const uint8_t& aRole); - - virtual void ActorDestroy(ActorDestroyReason aWhy) override; - - virtual bool - RecvPPresentationRequestConstructor(PPresentationRequestParent* aActor, - const PresentationIPCRequest& aRequest) override; - - virtual PPresentationRequestParent* - AllocPPresentationRequestParent(const PresentationIPCRequest& aRequest) override; - - virtual bool - DeallocPPresentationRequestParent(PPresentationRequestParent* aActor) override; - - virtual PPresentationBuilderParent* - AllocPPresentationBuilderParent(const nsString& aSessionId, - const uint8_t& aRole) override; - - virtual bool - DeallocPPresentationBuilderParent( - PPresentationBuilderParent* aActor) override; - - virtual bool Recv__delete__() override; - - virtual bool RecvRegisterAvailabilityHandler( - nsTArray&& aAvailabilityUrls) override; - - virtual bool RecvUnregisterAvailabilityHandler( - nsTArray&& aAvailabilityUrls) override; - - virtual bool RecvRegisterSessionHandler(const nsString& aSessionId, - const uint8_t& aRole) override; - - virtual bool RecvUnregisterSessionHandler(const nsString& aSessionId, - const uint8_t& aRole) override; - - virtual bool RecvRegisterRespondingHandler(const uint64_t& aWindowId) override; - - virtual bool RecvUnregisterRespondingHandler(const uint64_t& aWindowId) override; - - virtual bool RecvNotifyReceiverReady(const nsString& aSessionId, - const uint64_t& aWindowId, - const bool& aIsLoading) override; - - virtual bool RecvNotifyTransportClosed(const nsString& aSessionId, - const uint8_t& aRole, - const nsresult& aReason) override; - -private: - virtual ~PresentationParent(); - - bool mActorDestroyed = false; - nsCOMPtr mService; - nsTArray mSessionIdsAtController; - nsTArray mSessionIdsAtReceiver; - nsTArray mWindowIds; - ContentParentId mChildId; - nsTArray mContentAvailabilityUrls; -}; - -class PresentationRequestParent final : public PPresentationRequestParent - , public nsIPresentationServiceCallback -{ - friend class PresentationParent; - -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONSERVICECALLBACK - - explicit PresentationRequestParent(nsIPresentationService* aService, - ContentParentId aContentParentId); - - virtual void ActorDestroy(ActorDestroyReason aWhy) override; - -private: - virtual ~PresentationRequestParent(); - - nsresult SendResponse(nsresult aResult); - - nsresult DoRequest(const StartSessionRequest& aRequest); - - nsresult DoRequest(const SendSessionMessageRequest& aRequest); - - nsresult DoRequest(const CloseSessionRequest& aRequest); - - nsresult DoRequest(const TerminateSessionRequest& aRequest); - - nsresult DoRequest(const ReconnectSessionRequest& aRequest); - - nsresult DoRequest(const BuildTransportRequest& aRequest); - - bool mActorDestroyed = false; - bool mNeedRegisterBuilder = false; - nsString mSessionId; - nsCOMPtr mService; - ContentParentId mChildId; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_PresentationParent_h__ diff --git a/dom/presentation/moz.build b/dom/presentation/moz.build deleted file mode 100644 index a7058382f6..0000000000 --- a/dom/presentation/moz.build +++ /dev/null @@ -1,89 +0,0 @@ -# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -DIRS += ['interfaces', 'provider'] - -XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini'] -MOCHITEST_MANIFESTS += ['tests/mochitest/mochitest.ini'] -MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini'] - -EXPORTS.mozilla.dom += [ - 'DCPresentationChannelDescription.h', - 'ipc/PresentationBuilderChild.h', - 'ipc/PresentationBuilderParent.h', - 'ipc/PresentationChild.h', - 'ipc/PresentationIPCService.h', - 'ipc/PresentationParent.h', - 'Presentation.h', - 'PresentationAvailability.h', - 'PresentationCallbacks.h', - 'PresentationConnection.h', - 'PresentationConnectionList.h', - 'PresentationDeviceManager.h', - 'PresentationReceiver.h', - 'PresentationRequest.h', - 'PresentationService.h', - 'PresentationServiceBase.h', - 'PresentationSessionInfo.h', - 'PresentationTCPSessionTransport.h', -] - -UNIFIED_SOURCES += [ - 'AvailabilityCollection.cpp', - 'ControllerConnectionCollection.cpp', - 'DCPresentationChannelDescription.cpp', - 'ipc/PresentationBuilderChild.cpp', - 'ipc/PresentationBuilderParent.cpp', - 'ipc/PresentationChild.cpp', - 'ipc/PresentationContentSessionInfo.cpp', - 'ipc/PresentationIPCService.cpp', - 'ipc/PresentationParent.cpp', - 'Presentation.cpp', - 'PresentationAvailability.cpp', - 'PresentationCallbacks.cpp', - 'PresentationConnection.cpp', - 'PresentationConnectionList.cpp', - 'PresentationDeviceManager.cpp', - 'PresentationReceiver.cpp', - 'PresentationRequest.cpp', - 'PresentationService.cpp', - 'PresentationSessionInfo.cpp', - 'PresentationSessionRequest.cpp', - 'PresentationTCPSessionTransport.cpp', - 'PresentationTerminateRequest.cpp', - 'PresentationTransportBuilderConstructor.cpp' -] - -EXTRA_COMPONENTS += [ - 'PresentationDataChannelSessionTransport.js', - 'PresentationDataChannelSessionTransport.manifest', - 'PresentationDeviceInfoManager.js', - 'PresentationDeviceInfoManager.manifest', -] - -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': - EXTRA_COMPONENTS += [ - 'PresentationNetworkHelper.js', - 'PresentationNetworkHelper.manifest', - ] - -EXTRA_JS_MODULES += [ - 'PresentationDeviceInfoManager.jsm', -] - -IPDL_SOURCES += [ - 'ipc/PPresentation.ipdl', - 'ipc/PPresentationBuilder.ipdl', - 'ipc/PPresentationRequest.ipdl' -] - -LOCAL_INCLUDES += [ - '../base' -] - -include('/ipc/chromium/chromium-config.mozbuild') - -FINAL_LIBRARY = 'xul' diff --git a/dom/presentation/provider/AndroidCastDeviceProvider.js b/dom/presentation/provider/AndroidCastDeviceProvider.js deleted file mode 100644 index cf555f77b2..0000000000 --- a/dom/presentation/provider/AndroidCastDeviceProvider.js +++ /dev/null @@ -1,461 +0,0 @@ -/* -*- Mode: C++; 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/. */ -/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ -/* globals Components, dump */ -"use strict"; - -const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; - -// globals XPCOMUtils -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -// globals Services -Cu.import("resource://gre/modules/Services.jsm"); -// globals Messaging -Cu.import("resource://gre/modules/Messaging.jsm"); - -function log(str) { - // dump("-*- AndroidCastDeviceProvider -*-: " + str + "\n"); -} - -// Helper function: transfer nsIPresentationChannelDescription to json -function descriptionToString(aDescription) { - let json = {}; - json.type = aDescription.type; - switch(aDescription.type) { - case Ci.nsIPresentationChannelDescription.TYPE_TCP: - let addresses = aDescription.tcpAddress.QueryInterface(Ci.nsIArray); - json.tcpAddress = []; - for (let idx = 0; idx < addresses.length; idx++) { - let address = addresses.queryElementAt(idx, Ci.nsISupportsCString); - json.tcpAddress.push(address.data); - } - json.tcpPort = aDescription.tcpPort; - break; - case Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL: - json.dataChannelSDP = aDescription.dataChannelSDP; - break; - } - return JSON.stringify(json); -} - -const TOPIC_ANDROID_CAST_DEVICE_SYNCDEVICE = "AndroidCastDevice:SyncDevice"; -const TOPIC_ANDROID_CAST_DEVICE_ADDED = "AndroidCastDevice:Added"; -const TOPIC_ANDROID_CAST_DEVICE_REMOVED = "AndroidCastDevice:Removed"; -const TOPIC_ANDROID_CAST_DEVICE_START = "AndroidCastDevice:Start"; -const TOPIC_ANDROID_CAST_DEVICE_STOP = "AndroidCastDevice:Stop"; -const TOPIC_PRESENTATION_VIEW_READY = "presentation-view-ready"; - -function LocalControlChannel(aProvider, aDeviceId, aRole) { - log("LocalControlChannel - create new LocalControlChannel for : " - + aRole); - this._provider = aProvider; - this._deviceId = aDeviceId; - this._role = aRole; -} - -LocalControlChannel.prototype = { - _listener: null, - _provider: null, - _deviceId: null, - _role: null, - _isOnTerminating: false, - _isOnDisconnecting: false, - _pendingConnected: false, - _pendingDisconnect: null, - _pendingOffer: null, - _pendingCandidate: null, - /* For the controller, it would be the control channel of the receiver. - * For the receiver, it would be the control channel of the controller. */ - _correspondingControlChannel: null, - - set correspondingControlChannel(aCorrespondingControlChannel) { - this._correspondingControlChannel = aCorrespondingControlChannel; - }, - - get correspondingControlChannel() { - return this._correspondingControlChannel; - }, - - notifyConnected: function LCC_notifyConnected() { - this._pendingDisconnect = null; - - if (!this._listener) { - this._pendingConnected = true; - } else { - this._listener.notifyConnected(); - } - }, - - onOffer: function LCC_onOffer(aOffer) { - if (this._role == Ci.nsIPresentationService.ROLE_CONTROLLER) { - log("LocalControlChannel - onOffer of controller should not be called."); - return; - } - if (!this._listener) { - this._pendingOffer = aOffer; - } else { - this._listener.onOffer(aOffer); - } - }, - - onAnswer: function LCC_onAnswer(aAnswer) { - if (this._role == Ci.nsIPresentationService.ROLE_RECEIVER) { - log("LocalControlChannel - onAnswer of receiver should not be called."); - return; - } - this._listener.onAnswer(aAnswer); - }, - - notifyIceCandidate: function LCC_notifyIceCandidate(aCandidate) { - if (!this._listener) { - this._pendingCandidate = aCandidate; - } else { - this._listener.onIceCandidate(aCandidate); - } - }, - - // nsIPresentationControlChannel - get listener() { - return this._listener; - }, - - set listener(aListener) { - this._listener = aListener; - - if (!this._listener) { - return; - } - - if (this._pendingConnected) { - this.notifyConnected(); - this._pendingConnected = false; - } - - if (this._pendingOffer) { - this.onOffer(this._pendingOffer); - this._pendingOffer = null; - } - - if (this._pendingCandidate) { - this.notifyIceCandidate(this._pendingCandidate); - this._pendingCandidate = null; - } - - if (this._pendingDisconnect != null) { - this.disconnect(this._pendingDisconnect); - this._pendingDisconnect = null; - } - }, - - sendOffer: function LCC_sendOffer(aOffer) { - if (this._role == Ci.nsIPresentationService.ROLE_RECEIVER) { - log("LocalControlChannel - sendOffer of receiver should not be called."); - return; - } - log("LocalControlChannel - sendOffer aOffer=" + descriptionToString(aOffer)); - this._correspondingControlChannel.onOffer(aOffer); - }, - - sendAnswer: function LCC_sendAnswer(aAnswer) { - if (this._role == Ci.nsIPresentationService.ROLE_CONTROLLER) { - log("LocalControlChannel - sendAnswer of controller should not be called."); - return; - } - log("LocalControlChannel - sendAnswer aAnswer=" + descriptionToString(aAnswer)); - this._correspondingControlChannel.onAnswer(aAnswer); - }, - - sendIceCandidate: function LCC_sendIceCandidate(aCandidate) { - log("LocalControlChannel - sendAnswer aCandidate=" + aCandidate); - this._correspondingControlChannel.notifyIceCandidate(aCandidate); - }, - - launch: function LCC_launch(aPresentationId, aUrl) { - log("LocalControlChannel - launch aPresentationId=" - + aPresentationId + " aUrl=" + aUrl); - // Create control channel for receiver directly. - let controlChannel = new LocalControlChannel(this._provider, - this._deviceId, - Ci.nsIPresentationService.ROLE_RECEIVER); - - // Set up the corresponding control channels for both controller and receiver. - this._correspondingControlChannel = controlChannel; - controlChannel._correspondingControlChannel = this; - - this._provider.onSessionRequest(this._deviceId, - aUrl, - aPresentationId, - controlChannel); - controlChannel.notifyConnected(); - }, - - terminate: function LCC_terminate(aPresentationId) { - log("LocalControlChannel - terminate aPresentationId=" - + aPresentationId); - - if (this._isOnTerminating) { - return; - } - - // Create control channel for corresponding role directly. - let correspondingRole = this._role == Ci.nsIPresentationService.ROLE_CONTROLLER - ? Ci.nsIPresentationService.ROLE_RECEIVER - : Ci.nsIPresentationService.ROLE_CONTROLLER; - let controlChannel = new LocalControlChannel(this._provider, - this._deviceId, - correspondingRole); - // Prevent the termination recursion. - controlChannel._isOnTerminating = true; - - // Set up the corresponding control channels for both controller and receiver. - this._correspondingControlChannel = controlChannel; - controlChannel._correspondingControlChannel = this; - - this._provider.onTerminateRequest(this._deviceId, - aPresentationId, - controlChannel, - this._role == Ci.nsIPresentationService.ROLE_RECEIVER); - controlChannel.notifyConnected(); - }, - - disconnect: function LCC_disconnect(aReason) { - log("LocalControlChannel - disconnect aReason=" + aReason); - - if (this._isOnDisconnecting) { - return; - } - - this._pendingOffer = null; - this._pendingCandidate = null; - this._pendingConnected = false; - - // this._pendingDisconnect is a nsresult. - // If it is null, it means no pending disconnect. - // If it is NS_OK, it means this control channel is disconnected normally. - // If it is other nsresult value, it means this control channel is - // disconnected abnormally. - - // Remote endpoint closes the control channel with abnormal reason. - if (aReason == Cr.NS_OK && - this._pendingDisconnect != null && - this._pendingDisconnect != Cr.NS_OK) { - aReason = this._pendingDisconnect; - } - - if (!this._listener) { - this._pendingDisconnect = aReason; - return; - } - - this._isOnDisconnecting = true; - this._correspondingControlChannel.disconnect(aReason); - this._listener.notifyDisconnected(aReason); - }, - - reconnect: function LCC_reconnect(aPresentationId, aUrl) { - log("1-UA on Android doesn't support reconnect."); - throw Cr.NS_ERROR_FAILURE; - }, - - classID: Components.ID("{c9be9450-e5c7-4294-a287-376971b017fd}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]), -}; - -function ChromecastRemoteDisplayDevice(aProvider, aId, aName, aRole) { - this._provider = aProvider; - this._id = aId; - this._name = aName; - this._role = aRole; -} - -ChromecastRemoteDisplayDevice.prototype = { - _id: null, - _name: null, - _role: null, - _provider: null, - _ctrlChannel: null, - - update: function CRDD_update(aName) { - this._name = aName || this._name; - }, - - // nsIPresentationDevice - get id() { return this._id; }, - - get name() { return this._name; }, - - get type() { return "chromecast"; }, - - establishControlChannel: function CRDD_establishControlChannel() { - this._ctrlChannel = new LocalControlChannel(this._provider, - this._id, - this._role); - - if (this._role == Ci.nsIPresentationService.ROLE_CONTROLLER) { - // Only connect to Chromecast for controller. - // Monitor the receiver being ready. - Services.obs.addObserver(this, TOPIC_PRESENTATION_VIEW_READY, true); - - // Launch Chromecast service in Android. - Messaging.sendRequestForResult({ - type: TOPIC_ANDROID_CAST_DEVICE_START, - id: this.id - }).then(result => { - log("Chromecast is connected."); - }).catch(error => { - log("Can not connect to Chromecast."); - // If Chromecast can not be launched, remove the observer. - Services.obs.removeObserver(this, TOPIC_PRESENTATION_VIEW_READY); - this._ctrlChannel.disconnect(Cr.NS_ERROR_FAILURE); - }); - } else { - // If establishControlChannel called from the receiver, we don't need to - // wait the 'presentation-view-ready' event. - this._ctrlChannel.notifyConnected(); - } - - return this._ctrlChannel; - }, - - disconnect: function CRDD_disconnect() { - // Disconnect from Chromecast. - Messaging.sendRequestForResult({ - type: TOPIC_ANDROID_CAST_DEVICE_STOP, - id: this.id - }); - }, - - isRequestedUrlSupported: function CRDD_isRequestedUrlSupported(aUrl) { - let url = Cc["@mozilla.org/network/io-service;1"] - .getService(Ci.nsIIOService) - .newURI(aUrl, null, null); - return url.scheme == "http" || url.scheme == "https"; - }, - - // nsIPresentationLocalDevice - get windowId() { return this._id; }, - - // nsIObserver - observe: function CRDD_observe(aSubject, aTopic, aData) { - if (aTopic == TOPIC_PRESENTATION_VIEW_READY) { - log("ChromecastRemoteDisplayDevice - observe: aTopic=" - + aTopic + " data=" + aData); - if (this.windowId === aData) { - Services.obs.removeObserver(this, TOPIC_PRESENTATION_VIEW_READY); - this._ctrlChannel.notifyConnected(); - } - } - }, - - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice, - Ci.nsIPresentationLocalDevice, - Ci.nsISupportsWeakReference, - Ci.nsIObserver]), -}; - -function AndroidCastDeviceProvider() { -} - -AndroidCastDeviceProvider.prototype = { - _listener: null, - _deviceList: new Map(), - - onSessionRequest: function APDP_onSessionRequest(aDeviceId, - aUrl, - aPresentationId, - aControlChannel) { - log("AndroidCastDeviceProvider - onSessionRequest" - + " aDeviceId=" + aDeviceId); - let device = this._deviceList.get(aDeviceId); - let receiverDevice = new ChromecastRemoteDisplayDevice(this, - device.id, - device.name, - Ci.nsIPresentationService.ROLE_RECEIVER); - this._listener.onSessionRequest(receiverDevice, - aUrl, - aPresentationId, - aControlChannel); - }, - - onTerminateRequest: function APDP_onTerminateRequest(aDeviceId, - aPresentationId, - aControlChannel, - aIsFromReceiver) { - log("AndroidCastDeviceProvider - onTerminateRequest" - + " aDeviceId=" + aDeviceId - + " aPresentationId=" + aPresentationId - + " aIsFromReceiver=" + aIsFromReceiver); - let device = this._deviceList.get(aDeviceId); - this._listener.onTerminateRequest(device, - aPresentationId, - aControlChannel, - aIsFromReceiver); - }, - - // nsIPresentationDeviceProvider - set listener(aListener) { - this._listener = aListener; - - // When unload this provider. - if (!this._listener) { - // remove observer - Services.obs.removeObserver(this, TOPIC_ANDROID_CAST_DEVICE_ADDED); - Services.obs.removeObserver(this, TOPIC_ANDROID_CAST_DEVICE_REMOVED); - return; - } - - // Sync all device already found by Android. - Services.obs.notifyObservers(null, TOPIC_ANDROID_CAST_DEVICE_SYNCDEVICE, ""); - // Observer registration - Services.obs.addObserver(this, TOPIC_ANDROID_CAST_DEVICE_ADDED, false); - Services.obs.addObserver(this, TOPIC_ANDROID_CAST_DEVICE_REMOVED, false); - }, - - get listener() { - return this._listener; - }, - - forceDiscovery: function APDP_forceDiscovery() { - // There is no API to do force discovery in Android SDK. - }, - - // nsIObserver - observe: function APDP_observe(aSubject, aTopic, aData) { - switch (aTopic) { - case TOPIC_ANDROID_CAST_DEVICE_ADDED: { - let deviceInfo = JSON.parse(aData); - let deviceId = deviceInfo.uuid; - - if (!this._deviceList.has(deviceId)) { - let device = new ChromecastRemoteDisplayDevice(this, - deviceInfo.uuid, - deviceInfo.friendlyName, - Ci.nsIPresentationService.ROLE_CONTROLLER); - this._deviceList.set(device.id, device); - this._listener.addDevice(device); - } else { - let device = this._deviceList.get(deviceId); - device.update(deviceInfo.friendlyName); - this._listener.updateDevice(device); - } - break; - } - case TOPIC_ANDROID_CAST_DEVICE_REMOVED: { - let deviceId = aData; - let device = this._deviceList.get(deviceId); - this._listener.removeDevice(device); - this._deviceList.delete(deviceId); - break; - } - } - }, - - classID: Components.ID("{7394f24c-dbc3-48c8-8a47-cd10169b7c6b}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, - Ci.nsIPresentationDeviceProvider]), -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([AndroidCastDeviceProvider]); diff --git a/dom/presentation/provider/AndroidCastDeviceProvider.manifest b/dom/presentation/provider/AndroidCastDeviceProvider.manifest deleted file mode 100644 index db2aa101b6..0000000000 --- a/dom/presentation/provider/AndroidCastDeviceProvider.manifest +++ /dev/null @@ -1,4 +0,0 @@ -# AndroidCastDeviceProvider.js -component {7394f24c-dbc3-48c8-8a47-cd10169b7c6b} AndroidCastDeviceProvider.js -contract @mozilla.org/presentation-device/android-cast-device-provider;1 {7394f24c-dbc3-48c8-8a47-cd10169b7c6b} -category presentation-device-provider AndroidCastDeviceProvider @mozilla.org/presentation-device/android-cast-device-provider;1 diff --git a/dom/presentation/provider/BuiltinProviders.manifest b/dom/presentation/provider/BuiltinProviders.manifest deleted file mode 100644 index 0ba7bcaa70..0000000000 --- a/dom/presentation/provider/BuiltinProviders.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {f4079b8b-ede5-4b90-a112-5b415a931deb} PresentationControlService.js -contract @mozilla.org/presentation/control-service;1 {f4079b8b-ede5-4b90-a112-5b415a931deb} diff --git a/dom/presentation/provider/ControllerStateMachine.jsm b/dom/presentation/provider/ControllerStateMachine.jsm deleted file mode 100644 index b568a8e9af..0000000000 --- a/dom/presentation/provider/ControllerStateMachine.jsm +++ /dev/null @@ -1,240 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 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/. */ -/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ -/* globals Components, dump */ - -"use strict"; - -this.EXPORTED_SYMBOLS = ["ControllerStateMachine"]; // jshint ignore:line - -const { utils: Cu } = Components; - -/* globals State, CommandType */ -Cu.import("resource://gre/modules/presentation/StateMachineHelper.jsm"); - -const DEBUG = false; -function debug(str) { - dump("-*- ControllerStateMachine: " + str + "\n"); -} - -var handlers = [ - function _initHandler(stateMachine, command) { - // shouldn't receive any command at init state. - DEBUG && debug("unexpected command: " + JSON.stringify(command)); // jshint ignore:line - }, - function _connectingHandler(stateMachine, command) { - switch (command.type) { - case CommandType.CONNECT_ACK: - stateMachine.state = State.CONNECTED; - stateMachine._notifyDeviceConnected(); - break; - case CommandType.DISCONNECT: - stateMachine.state = State.CLOSED; - stateMachine._notifyDisconnected(command.reason); - break; - default: - debug("unexpected command: " + JSON.stringify(command)); - // ignore unexpected command. - break; - } - }, - function _connectedHandler(stateMachine, command) { - switch (command.type) { - case CommandType.DISCONNECT: - stateMachine.state = State.CLOSED; - stateMachine._notifyDisconnected(command.reason); - break; - case CommandType.LAUNCH_ACK: - stateMachine._notifyLaunch(command.presentationId); - break; - case CommandType.TERMINATE: - stateMachine._notifyTerminate(command.presentationId); - break; - case CommandType.TERMINATE_ACK: - stateMachine._notifyTerminate(command.presentationId); - break; - case CommandType.ANSWER: - case CommandType.ICE_CANDIDATE: - stateMachine._notifyChannelDescriptor(command); - break; - case CommandType.RECONNECT_ACK: - stateMachine._notifyReconnect(command.presentationId); - break; - default: - debug("unexpected command: " + JSON.stringify(command)); - // ignore unexpected command. - break; - } - }, - function _closingHandler(stateMachine, command) { - switch (command.type) { - case CommandType.DISCONNECT: - stateMachine.state = State.CLOSED; - stateMachine._notifyDisconnected(command.reason); - break; - default: - debug("unexpected command: " + JSON.stringify(command)); - // ignore unexpected command. - break; - } - }, - function _closedHandler(stateMachine, command) { - // ignore every command in closed state. - DEBUG && debug("unexpected command: " + JSON.stringify(command)); // jshint ignore:line - }, -]; - -function ControllerStateMachine(channel, deviceId) { - this.state = State.INIT; - this._channel = channel; - this._deviceId = deviceId; -} - -ControllerStateMachine.prototype = { - launch: function _launch(presentationId, url) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.LAUNCH, - presentationId: presentationId, - url: url, - }); - } - }, - - terminate: function _terminate(presentationId) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.TERMINATE, - presentationId: presentationId, - }); - } - }, - - terminateAck: function _terminateAck(presentationId) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.TERMINATE_ACK, - presentationId: presentationId, - }); - } - }, - - reconnect: function _reconnect(presentationId, url) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.RECONNECT, - presentationId: presentationId, - url: url, - }); - } - }, - - sendOffer: function _sendOffer(offer) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.OFFER, - offer: offer, - }); - } - }, - - sendAnswer: function _sendAnswer() { - // answer can only be sent by presenting UA. - debug("controller shouldn't generate answer"); - }, - - updateIceCandidate: function _updateIceCandidate(candidate) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.ICE_CANDIDATE, - candidate: candidate, - }); - } - }, - - onCommand: function _onCommand(command) { - handlers[this.state](this, command); - }, - - onChannelReady: function _onChannelReady() { - if (this.state === State.INIT) { - this._sendCommand({ - type: CommandType.CONNECT, - deviceId: this._deviceId - }); - this.state = State.CONNECTING; - } - }, - - onChannelClosed: function _onChannelClose(reason, isByRemote) { - switch (this.state) { - case State.CONNECTED: - if (isByRemote) { - this.state = State.CLOSED; - this._notifyDisconnected(reason); - } else { - this._sendCommand({ - type: CommandType.DISCONNECT, - reason: reason - }); - this.state = State.CLOSING; - this._closeReason = reason; - } - break; - case State.CLOSING: - if (isByRemote) { - this.state = State.CLOSED; - if (this._closeReason) { - reason = this._closeReason; - delete this._closeReason; - } - this._notifyDisconnected(reason); - } - break; - default: - DEBUG && debug("unexpected channel close: " + reason + ", " + isByRemote); // jshint ignore:line - break; - } - }, - - _sendCommand: function _sendCommand(command) { - this._channel.sendCommand(command); - }, - - _notifyDeviceConnected: function _notifyDeviceConnected() { - //XXX trigger following command - this._channel.notifyDeviceConnected(); - }, - - _notifyDisconnected: function _notifyDisconnected(reason) { - this._channel.notifyDisconnected(reason); - }, - - _notifyLaunch: function _notifyLaunch(presentationId) { - this._channel.notifyLaunch(presentationId); - }, - - _notifyTerminate: function _notifyTerminate(presentationId) { - this._channel.notifyTerminate(presentationId); - }, - - _notifyReconnect: function _notifyReconnect(presentationId) { - this._channel.notifyReconnect(presentationId); - }, - - _notifyChannelDescriptor: function _notifyChannelDescriptor(command) { - switch (command.type) { - case CommandType.ANSWER: - this._channel.notifyAnswer(command.answer); - break; - case CommandType.ICE_CANDIDATE: - this._channel.notifyIceCandidate(command.candidate); - break; - } - }, -}; - -this.ControllerStateMachine = ControllerStateMachine; // jshint ignore:line diff --git a/dom/presentation/provider/DeviceProviderHelpers.cpp b/dom/presentation/provider/DeviceProviderHelpers.cpp deleted file mode 100644 index 00b2c12f19..0000000000 --- a/dom/presentation/provider/DeviceProviderHelpers.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DeviceProviderHelpers.h" - -#include "nsCOMPtr.h" -#include "nsIURI.h" -#include "nsNetUtil.h" - -namespace mozilla { -namespace dom { -namespace presentation { - -static const char* const kFxTVPresentationAppUrls[] = { - "app://fling-player.gaiamobile.org/index.html", - "app://notification-receiver.gaiamobile.org/index.html", - nullptr -}; - -/* static */ bool -DeviceProviderHelpers::IsCommonlySupportedScheme(const nsAString& aUrl) -{ - nsCOMPtr uri; - nsresult rv = NS_NewURI(getter_AddRefs(uri), aUrl); - if (NS_FAILED(rv) || !uri) { - return false; - } - - nsAutoCString scheme; - uri->GetScheme(scheme); - if (scheme.LowerCaseEqualsLiteral("http") || - scheme.LowerCaseEqualsLiteral("https")) { - return true; - } - - return false; -} - -/* static */ bool -DeviceProviderHelpers::IsFxTVSupportedAppUrl(const nsAString& aUrl) -{ - // Check if matched with any presentation Apps on TV. - for (uint32_t i = 0; kFxTVPresentationAppUrls[i]; i++) { - if (aUrl.EqualsASCII(kFxTVPresentationAppUrls[i])) { - return true; - } - } - - return false; -} - -} // namespace presentation -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/provider/DeviceProviderHelpers.h b/dom/presentation/provider/DeviceProviderHelpers.h deleted file mode 100644 index 4bde09bed8..0000000000 --- a/dom/presentation/provider/DeviceProviderHelpers.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_presentation_DeviceProviderHelpers_h -#define mozilla_dom_presentation_DeviceProviderHelpers_h - -#include "nsString.h" - -namespace mozilla { -namespace dom { -namespace presentation { - -class DeviceProviderHelpers final -{ -public: - static bool IsCommonlySupportedScheme(const nsAString& aUrl); - static bool IsFxTVSupportedAppUrl(const nsAString& aUrl); - -private: - DeviceProviderHelpers() = delete; -}; - -} // namespace presentation -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_presentation_DeviceProviderHelpers_h diff --git a/dom/presentation/provider/DisplayDeviceProvider.cpp b/dom/presentation/provider/DisplayDeviceProvider.cpp deleted file mode 100644 index 3f88aba5e3..0000000000 --- a/dom/presentation/provider/DisplayDeviceProvider.cpp +++ /dev/null @@ -1,580 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DisplayDeviceProvider.h" - -#include "DeviceProviderHelpers.h" -#include "mozilla/Logging.h" -#include "mozilla/Preferences.h" -#include "mozilla/Services.h" -#include "mozilla/Unused.h" -#include "nsIObserverService.h" -#include "nsIServiceManager.h" -#include "nsIWindowWatcher.h" -#include "nsNetUtil.h" -#include "nsPIDOMWindow.h" -#include "nsSimpleURI.h" -#include "nsTCPDeviceInfo.h" -#include "nsThreadUtils.h" - -static mozilla::LazyLogModule gDisplayDeviceProviderLog("DisplayDeviceProvider"); - -#define LOG(format) MOZ_LOG(gDisplayDeviceProviderLog, mozilla::LogLevel::Debug, format) - -#define DISPLAY_CHANGED_NOTIFICATION "display-changed" -#define DEFAULT_CHROME_FEATURES_PREF "toolkit.defaultChromeFeatures" -#define CHROME_REMOTE_URL_PREF "b2g.multiscreen.chrome_remote_url" -#define PREF_PRESENTATION_DISCOVERABLE_RETRY_MS "dom.presentation.discoverable.retry_ms" - -namespace mozilla { -namespace dom { -namespace presentation { - -/** - * This wrapper is used to break circular-reference problem. - */ -class DisplayDeviceProviderWrappedListener final - : public nsIPresentationControlServerListener -{ -public: - NS_DECL_ISUPPORTS - NS_FORWARD_SAFE_NSIPRESENTATIONCONTROLSERVERLISTENER(mListener) - - explicit DisplayDeviceProviderWrappedListener() = default; - - nsresult SetListener(DisplayDeviceProvider* aListener) - { - mListener = aListener; - return NS_OK; - } - -private: - virtual ~DisplayDeviceProviderWrappedListener() = default; - - DisplayDeviceProvider* mListener = nullptr; -}; - -NS_IMPL_ISUPPORTS(DisplayDeviceProviderWrappedListener, - nsIPresentationControlServerListener) - -NS_IMPL_ISUPPORTS(DisplayDeviceProvider::HDMIDisplayDevice, - nsIPresentationDevice, - nsIPresentationLocalDevice) - -// nsIPresentationDevice -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice::GetId(nsACString& aId) -{ - aId = mWindowId; - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice::GetName(nsACString& aName) -{ - aName = mName; - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice::GetType(nsACString& aType) -{ - aType = mType; - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice::GetWindowId(nsACString& aWindowId) -{ - aWindowId = mWindowId; - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice - ::EstablishControlChannel(nsIPresentationControlChannel** aControlChannel) -{ - nsresult rv = OpenTopLevelWindow(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - RefPtr provider = mProvider.get(); - if (NS_WARN_IF(!provider)) { - return NS_ERROR_FAILURE; - } - return provider->Connect(this, aControlChannel); -} - -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice::Disconnect() -{ - nsresult rv = CloseTopLevelWindow(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - return NS_OK;; -} - -NS_IMETHODIMP -DisplayDeviceProvider::HDMIDisplayDevice::IsRequestedUrlSupported( - const nsAString& aRequestedUrl, - bool* aRetVal) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!aRetVal) { - return NS_ERROR_INVALID_POINTER; - } - - // 1-UA device only supports HTTP/HTTPS hosted receiver page. - *aRetVal = DeviceProviderHelpers::IsCommonlySupportedScheme(aRequestedUrl); - - return NS_OK; -} - -nsresult -DisplayDeviceProvider::HDMIDisplayDevice::OpenTopLevelWindow() -{ - MOZ_ASSERT(!mWindow); - - nsresult rv; - nsAutoCString flags(Preferences::GetCString(DEFAULT_CHROME_FEATURES_PREF)); - if (flags.IsEmpty()) { - return NS_ERROR_NOT_AVAILABLE; - } - flags.AppendLiteral(",mozDisplayId="); - flags.AppendInt(mScreenId); - - nsAutoCString remoteShellURLString(Preferences::GetCString(CHROME_REMOTE_URL_PREF)); - remoteShellURLString.AppendLiteral("#"); - remoteShellURLString.Append(mWindowId); - - // URI validation - nsCOMPtr remoteShellURL; - rv = NS_NewURI(getter_AddRefs(remoteShellURL), remoteShellURLString); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = remoteShellURL->GetSpec(remoteShellURLString); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - nsCOMPtr ww = do_GetService(NS_WINDOWWATCHER_CONTRACTID); - MOZ_ASSERT(ww); - - rv = ww->OpenWindow(nullptr, - remoteShellURLString.get(), - "_blank", - flags.get(), - nullptr, - getter_AddRefs(mWindow)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -nsresult -DisplayDeviceProvider::HDMIDisplayDevice::CloseTopLevelWindow() -{ - MOZ_ASSERT(mWindow); - - nsCOMPtr piWindow = nsPIDOMWindowOuter::From(mWindow); - nsresult rv = piWindow->Close(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -NS_IMPL_ISUPPORTS(DisplayDeviceProvider, - nsIObserver, - nsIPresentationDeviceProvider, - nsIPresentationControlServerListener) - -DisplayDeviceProvider::~DisplayDeviceProvider() -{ - Uninit(); -} - -nsresult -DisplayDeviceProvider::Init() -{ - // Provider must be initialized only once. - if (mInitialized) { - return NS_OK; - } - - nsresult rv; - - mServerRetryMs = Preferences::GetUint(PREF_PRESENTATION_DISCOVERABLE_RETRY_MS); - mServerRetryTimer = do_CreateInstance(NS_TIMER_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - nsCOMPtr obs = mozilla::services::GetObserverService(); - MOZ_ASSERT(obs); - - obs->AddObserver(this, DISPLAY_CHANGED_NOTIFICATION, false); - - mDevice = new HDMIDisplayDevice(this); - - mWrappedListener = new DisplayDeviceProviderWrappedListener(); - rv = mWrappedListener->SetListener(this); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mPresentationService = do_CreateInstance(PRESENTATION_CONTROL_SERVICE_CONTACT_ID, - &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = StartTCPService(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mInitialized = true; - return NS_OK; -} - -nsresult -DisplayDeviceProvider::Uninit() -{ - // Provider must be deleted only once. - if (!mInitialized) { - return NS_OK; - } - - nsCOMPtr obs = mozilla::services::GetObserverService(); - if (obs) { - obs->RemoveObserver(this, DISPLAY_CHANGED_NOTIFICATION); - } - - // Remove device from device manager when the provider is uninit - RemoveExternalScreen(); - - AbortServerRetry(); - - mInitialized = false; - mWrappedListener->SetListener(nullptr); - return NS_OK; -} - -nsresult -DisplayDeviceProvider::StartTCPService() -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsresult rv; - rv = mPresentationService->SetId(NS_LITERAL_CSTRING("DisplayDeviceProvider")); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - uint16_t servicePort; - rv = mPresentationService->GetPort(&servicePort); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - /* - * If |servicePort| is non-zero, it means PresentationServer is running. - * Otherwise, we should make it start serving. - */ - if (servicePort) { - mPort = servicePort; - return NS_OK; - } - - rv = mPresentationService->SetListener(mWrappedListener); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - AbortServerRetry(); - - // 1-UA doesn't need encryption. - rv = mPresentationService->StartServer(/* aEncrypted = */ false, - /* aPort = */ 0); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -void -DisplayDeviceProvider::AbortServerRetry() -{ - if (mIsServerRetrying) { - mIsServerRetrying = false; - mServerRetryTimer->Cancel(); - } -} - -nsresult -DisplayDeviceProvider::AddExternalScreen() -{ - MOZ_ASSERT(mDeviceListener); - - nsresult rv; - nsCOMPtr listener; - rv = GetListener(getter_AddRefs(listener)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = listener->AddDevice(mDevice); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -nsresult -DisplayDeviceProvider::RemoveExternalScreen() -{ - MOZ_ASSERT(mDeviceListener); - - nsresult rv; - nsCOMPtr listener; - rv = GetListener(getter_AddRefs(listener)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - rv = listener->RemoveDevice(mDevice); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mDevice->Disconnect(); - return NS_OK; -} - -// nsIPresentationDeviceProvider -NS_IMETHODIMP -DisplayDeviceProvider::GetListener(nsIPresentationDeviceListener** aListener) -{ - if (NS_WARN_IF(!aListener)) { - return NS_ERROR_INVALID_POINTER; - } - - nsresult rv; - nsCOMPtr listener = - do_QueryReferent(mDeviceListener, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - listener.forget(aListener); - - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::SetListener(nsIPresentationDeviceListener* aListener) -{ - mDeviceListener = do_GetWeakReference(aListener); - nsresult rv = mDeviceListener ? Init() : Uninit(); - if(NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::ForceDiscovery() -{ - return NS_OK; -} - -// nsIPresentationControlServerListener -NS_IMETHODIMP -DisplayDeviceProvider::OnServerReady(uint16_t aPort, - const nsACString& aCertFingerprint) -{ - MOZ_ASSERT(NS_IsMainThread()); - mPort = aPort; - - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::OnServerStopped(nsresult aResult) -{ - MOZ_ASSERT(NS_IsMainThread()); - - // Try restart server if it is stopped abnormally. - if (NS_FAILED(aResult)) { - mIsServerRetrying = true; - mServerRetryTimer->Init(this, mServerRetryMs, nsITimer::TYPE_ONE_SHOT); - } - - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::OnSessionRequest(nsITCPDeviceInfo* aDeviceInfo, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aDeviceInfo); - MOZ_ASSERT(aControlChannel); - - nsresult rv; - - nsCOMPtr listener; - rv = GetListener(getter_AddRefs(listener)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - MOZ_ASSERT(!listener); - - rv = listener->OnSessionRequest(mDevice, - aUrl, - aPresentationId, - aControlChannel); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::OnTerminateRequest(nsITCPDeviceInfo* aDeviceInfo, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel, - bool aIsFromReceiver) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aDeviceInfo); - MOZ_ASSERT(aControlChannel); - - nsresult rv; - - nsCOMPtr listener; - rv = GetListener(getter_AddRefs(listener)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - MOZ_ASSERT(!listener); - - rv = listener->OnTerminateRequest(mDevice, - aPresentationId, - aControlChannel, - aIsFromReceiver); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -NS_IMETHODIMP -DisplayDeviceProvider::OnReconnectRequest(nsITCPDeviceInfo* aDeviceInfo, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aDeviceInfo); - MOZ_ASSERT(aControlChannel); - - nsresult rv; - - nsCOMPtr listener; - rv = GetListener(getter_AddRefs(listener)); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - MOZ_ASSERT(!listener); - - rv = listener->OnReconnectRequest(mDevice, - aUrl, - aPresentationId, - aControlChannel); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; -} - -// nsIObserver -NS_IMETHODIMP -DisplayDeviceProvider::Observe(nsISupports* aSubject, - const char* aTopic, - const char16_t* aData) -{ - if (!strcmp(aTopic, DISPLAY_CHANGED_NOTIFICATION)) { - nsCOMPtr displayInfo = do_QueryInterface(aSubject); - MOZ_ASSERT(displayInfo); - - int32_t type; - bool isConnected; - displayInfo->GetConnected(&isConnected); - // XXX The ID is as same as the type of display. - // See Bug 1138287 and nsScreenManagerGonk::AddScreen() for more detail. - displayInfo->GetId(&type); - - if (type == DisplayType::DISPLAY_EXTERNAL) { - nsresult rv = isConnected ? AddExternalScreen() : RemoveExternalScreen(); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } - } else if (!strcmp(aTopic, NS_TIMER_CALLBACK_TOPIC)) { - nsCOMPtr timer = do_QueryInterface(aSubject); - if (!timer) { - return NS_ERROR_UNEXPECTED; - } - - if (timer == mServerRetryTimer) { - mIsServerRetrying = false; - StartTCPService(); - } - } - - return NS_OK; -} - -nsresult -DisplayDeviceProvider::Connect(HDMIDisplayDevice* aDevice, - nsIPresentationControlChannel** aControlChannel) -{ - MOZ_ASSERT(aDevice); - MOZ_ASSERT(mPresentationService); - NS_ENSURE_ARG_POINTER(aControlChannel); - *aControlChannel = nullptr; - - nsCOMPtr deviceInfo = new TCPDeviceInfo(aDevice->Id(), - aDevice->Address(), - mPort, - EmptyCString()); - - return mPresentationService->Connect(deviceInfo, aControlChannel); -} - -} // namespace presentation -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/provider/DisplayDeviceProvider.h b/dom/presentation/provider/DisplayDeviceProvider.h deleted file mode 100644 index ebd5db3943..0000000000 --- a/dom/presentation/provider/DisplayDeviceProvider.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_presentation_provider_DisplayDeviceProvider_h -#define mozilla_dom_presentation_provider_DisplayDeviceProvider_h - -#include "mozilla/RefPtr.h" -#include "mozilla/WeakPtr.h" -#include "nsCOMPtr.h" -#include "nsIDOMWindow.h" -#include "nsIDisplayInfo.h" -#include "nsIObserver.h" -#include "nsIPresentationDeviceProvider.h" -#include "nsIPresentationLocalDevice.h" -#include "nsIPresentationControlService.h" -#include "nsITimer.h" -#include "nsIWindowWatcher.h" -#include "nsString.h" -#include "nsTArray.h" -#include "nsWeakReference.h" - -namespace mozilla { -namespace dom { -namespace presentation { - -// Consistent definition with the definition in -// widget/gonk/libdisplay/GonkDisplay.h. -enum DisplayType { - DISPLAY_PRIMARY, - DISPLAY_EXTERNAL, - DISPLAY_VIRTUAL, - NUM_DISPLAY_TYPES -}; - -class DisplayDeviceProviderWrappedListener; - -class DisplayDeviceProvider final : public nsIObserver - , public nsIPresentationDeviceProvider - , public nsIPresentationControlServerListener - , public SupportsWeakPtr -{ -private: - class HDMIDisplayDevice final : public nsIPresentationLocalDevice - { - public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICE - NS_DECL_NSIPRESENTATIONLOCALDEVICE - - // mScreenId is as same as the definition of display type. - explicit HDMIDisplayDevice(DisplayDeviceProvider* aProvider) - : mScreenId(DisplayType::DISPLAY_EXTERNAL) - , mName("HDMI") - , mType("external") - , mWindowId("hdmi") - , mAddress("127.0.0.1") - , mProvider(aProvider) - {} - - nsresult OpenTopLevelWindow(); - nsresult CloseTopLevelWindow(); - - const nsCString& Id() const { return mWindowId; } - const nsCString& Address() const { return mAddress; } - - private: - virtual ~HDMIDisplayDevice() = default; - - // Due to the limitation of nsWinodw, mScreenId must be an integer. - // And mScreenId is also align to the display type defined in - // widget/gonk/libdisplay/GonkDisplay.h. - // HDMI display is DisplayType::DISPLAY_EXTERNAL. - uint32_t mScreenId; - nsCString mName; - nsCString mType; - nsCString mWindowId; - nsCString mAddress; - - nsCOMPtr mWindow; - // weak pointer - // Provider hold a strong pointer to the device. Use weak pointer to prevent - // the reference cycle. - WeakPtr mProvider; - }; - -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIOBSERVER - NS_DECL_NSIPRESENTATIONDEVICEPROVIDER - NS_DECL_NSIPRESENTATIONCONTROLSERVERLISTENER - // For using WeakPtr when MOZ_REFCOUNTED_LEAK_CHECKING defined - MOZ_DECLARE_WEAKREFERENCE_TYPENAME(DisplayDeviceProvider) - - nsresult Connect(HDMIDisplayDevice* aDevice, - nsIPresentationControlChannel** aControlChannel); -private: - virtual ~DisplayDeviceProvider(); - - nsresult Init(); - nsresult Uninit(); - - nsresult AddExternalScreen(); - nsresult RemoveExternalScreen(); - - nsresult StartTCPService(); - - void AbortServerRetry(); - - // Now support HDMI display only and there should be only one HDMI display. - nsCOMPtr mDevice = nullptr; - // weak pointer - // PresentationDeviceManager (mDeviceListener) hold strong pointer to - // DisplayDeviceProvider. Use nsWeakPtr to avoid reference cycle. - nsWeakPtr mDeviceListener = nullptr; - nsCOMPtr mPresentationService; - // Used to prevent reference cycle between DisplayDeviceProvider and - // TCPPresentationServer. - RefPtr mWrappedListener; - - bool mInitialized = false; - uint16_t mPort; - - bool mIsServerRetrying = false; - uint32_t mServerRetryMs; - nsCOMPtr mServerRetryTimer; -}; - -} // mozilla -} // dom -} // presentation - -#endif // mozilla_dom_presentation_provider_DisplayDeviceProvider_h - diff --git a/dom/presentation/provider/LegacyMDNSDeviceProvider.cpp b/dom/presentation/provider/LegacyMDNSDeviceProvider.cpp deleted file mode 100644 index 54849c9e37..0000000000 --- a/dom/presentation/provider/LegacyMDNSDeviceProvider.cpp +++ /dev/null @@ -1,774 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "LegacyMDNSDeviceProvider.h" - -#include "DeviceProviderHelpers.h" -#include "MainThreadUtils.h" -#include "mozilla/Logging.h" -#include "mozilla/Preferences.h" -#include "mozilla/Services.h" -#include "mozilla/Unused.h" -#include "nsComponentManagerUtils.h" -#include "nsIObserverService.h" -#include "nsIWritablePropertyBag2.h" -#include "nsServiceManagerUtils.h" -#include "nsTCPDeviceInfo.h" -#include "nsThreadUtils.h" -#include "nsIPropertyBag2.h" - -#define PREF_PRESENTATION_DISCOVERY_LEGACY "dom.presentation.discovery.legacy.enabled" -#define PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS "dom.presentation.discovery.timeout_ms" -#define PREF_PRESENTATION_DEVICE_NAME "dom.presentation.device.name" - -#define LEGACY_SERVICE_TYPE "_mozilla_papi._tcp" - -#define LEGACY_PRESENTATION_CONTROL_SERVICE_CONTACT_ID "@mozilla.org/presentation/legacy-control-service;1" - -static mozilla::LazyLogModule sLegacyMDNSProviderLogModule("LegacyMDNSDeviceProvider"); - -#undef LOG_I -#define LOG_I(...) MOZ_LOG(sLegacyMDNSProviderLogModule, mozilla::LogLevel::Debug, (__VA_ARGS__)) -#undef LOG_E -#define LOG_E(...) MOZ_LOG(sLegacyMDNSProviderLogModule, mozilla::LogLevel::Error, (__VA_ARGS__)) - -namespace mozilla { -namespace dom { -namespace presentation { -namespace legacy { - -static const char* kObservedPrefs[] = { - PREF_PRESENTATION_DISCOVERY_LEGACY, - PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS, - PREF_PRESENTATION_DEVICE_NAME, - nullptr -}; - -namespace { - -static void -GetAndroidDeviceName(nsACString& aRetVal) -{ - nsCOMPtr infoService = do_GetService("@mozilla.org/system-info;1"); - MOZ_ASSERT(infoService, "Could not find a system info service"); - - Unused << NS_WARN_IF(NS_FAILED(infoService->GetPropertyAsACString( - NS_LITERAL_STRING("device"), aRetVal))); -} - -} //anonymous namespace - -/** - * This wrapper is used to break circular-reference problem. - */ -class DNSServiceWrappedListener final - : public nsIDNSServiceDiscoveryListener - , public nsIDNSServiceResolveListener -{ -public: - NS_DECL_ISUPPORTS - NS_FORWARD_SAFE_NSIDNSSERVICEDISCOVERYLISTENER(mListener) - NS_FORWARD_SAFE_NSIDNSSERVICERESOLVELISTENER(mListener) - - explicit DNSServiceWrappedListener() = default; - - nsresult SetListener(LegacyMDNSDeviceProvider* aListener) - { - mListener = aListener; - return NS_OK; - } - -private: - virtual ~DNSServiceWrappedListener() = default; - - LegacyMDNSDeviceProvider* mListener = nullptr; -}; - -NS_IMPL_ISUPPORTS(DNSServiceWrappedListener, - nsIDNSServiceDiscoveryListener, - nsIDNSServiceResolveListener) - -NS_IMPL_ISUPPORTS(LegacyMDNSDeviceProvider, - nsIPresentationDeviceProvider, - nsIDNSServiceDiscoveryListener, - nsIDNSServiceResolveListener, - nsIObserver) - -LegacyMDNSDeviceProvider::~LegacyMDNSDeviceProvider() -{ - Uninit(); -} - -nsresult -LegacyMDNSDeviceProvider::Init() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (mInitialized) { - return NS_OK; - } - - nsresult rv; - - mMulticastDNS = do_GetService(DNSSERVICEDISCOVERY_CONTRACT_ID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mWrappedListener = new DNSServiceWrappedListener(); - if (NS_WARN_IF(NS_FAILED(rv = mWrappedListener->SetListener(this)))) { - return rv; - } - - mPresentationService = do_CreateInstance(LEGACY_PRESENTATION_CONTROL_SERVICE_CONTACT_ID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mDiscoveryTimer = do_CreateInstance(NS_TIMER_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - Preferences::AddStrongObservers(this, kObservedPrefs); - - mDiscoveryEnabled = Preferences::GetBool(PREF_PRESENTATION_DISCOVERY_LEGACY); - mDiscoveryTimeoutMs = Preferences::GetUint(PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS); - mServiceName = Preferences::GetCString(PREF_PRESENTATION_DEVICE_NAME); - - // FIXME: Bug 1185806 - Provide a common device name setting. - if (mServiceName.IsEmpty()) { - GetAndroidDeviceName(mServiceName); - Unused << Preferences::SetCString(PREF_PRESENTATION_DEVICE_NAME, mServiceName); - } - - Unused << mPresentationService->SetId(mServiceName); - - if (mDiscoveryEnabled && NS_WARN_IF(NS_FAILED(rv = ForceDiscovery()))) { - return rv; - } - - mInitialized = true; - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::Uninit() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!mInitialized) { - return NS_OK; - } - - ClearDevices(); - - Preferences::RemoveObservers(this, kObservedPrefs); - - StopDiscovery(NS_OK); - - mMulticastDNS = nullptr; - - if (mWrappedListener) { - mWrappedListener->SetListener(nullptr); - mWrappedListener = nullptr; - } - - mInitialized = false; - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::StopDiscovery(nsresult aReason) -{ - LOG_I("StopDiscovery (0x%08x)", aReason); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mDiscoveryTimer); - - Unused << mDiscoveryTimer->Cancel(); - - if (mDiscoveryRequest) { - mDiscoveryRequest->Cancel(aReason); - mDiscoveryRequest = nullptr; - } - - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::Connect(Device* aDevice, - nsIPresentationControlChannel** aRetVal) -{ - MOZ_ASSERT(aDevice); - MOZ_ASSERT(mPresentationService); - - RefPtr deviceInfo = new TCPDeviceInfo(aDevice->Id(), - aDevice->Address(), - aDevice->Port(), - EmptyCString()); - - return mPresentationService->Connect(deviceInfo, aRetVal); -} - -nsresult -LegacyMDNSDeviceProvider::AddDevice(const nsACString& aId, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mPresentationService); - - RefPtr device = new Device(aId, /* ID */ - aServiceName, - aServiceType, - aAddress, - aPort, - DeviceState::eActive, - this); - - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->AddDevice(device); - } - - mDevices.AppendElement(device); - - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::UpdateDevice(const uint32_t aIndex, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mPresentationService); - - if (NS_WARN_IF(aIndex >= mDevices.Length())) { - return NS_ERROR_INVALID_ARG; - } - - RefPtr device = mDevices[aIndex]; - device->Update(aServiceName, aServiceType, aAddress, aPort); - device->ChangeState(DeviceState::eActive); - - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->UpdateDevice(device); - } - - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::RemoveDevice(const uint32_t aIndex) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mPresentationService); - - if (NS_WARN_IF(aIndex >= mDevices.Length())) { - return NS_ERROR_INVALID_ARG; - } - - RefPtr device = mDevices[aIndex]; - - LOG_I("RemoveDevice: %s", device->Id().get()); - mDevices.RemoveElementAt(aIndex); - - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->RemoveDevice(device); - } - - return NS_OK; -} - -bool -LegacyMDNSDeviceProvider::FindDeviceById(const nsACString& aId, - uint32_t& aIndex) -{ - MOZ_ASSERT(NS_IsMainThread()); - - RefPtr device = new Device(aId, - /* aName = */ EmptyCString(), - /* aType = */ EmptyCString(), - /* aHost = */ EmptyCString(), - /* aPort = */ 0, - /* aState = */ DeviceState::eUnknown, - /* aProvider = */ nullptr); - size_t index = mDevices.IndexOf(device, 0, DeviceIdComparator()); - - if (index == mDevices.NoIndex) { - return false; - } - - aIndex = index; - return true; -} - -bool -LegacyMDNSDeviceProvider::FindDeviceByAddress(const nsACString& aAddress, - uint32_t& aIndex) -{ - MOZ_ASSERT(NS_IsMainThread()); - - RefPtr device = new Device(/* aId = */ EmptyCString(), - /* aName = */ EmptyCString(), - /* aType = */ EmptyCString(), - aAddress, - /* aPort = */ 0, - /* aState = */ DeviceState::eUnknown, - /* aProvider = */ nullptr); - size_t index = mDevices.IndexOf(device, 0, DeviceAddressComparator()); - - if (index == mDevices.NoIndex) { - return false; - } - - aIndex = index; - return true; -} - -void -LegacyMDNSDeviceProvider::MarkAllDevicesUnknown() -{ - MOZ_ASSERT(NS_IsMainThread()); - - for (auto& device : mDevices) { - device->ChangeState(DeviceState::eUnknown); - } -} - -void -LegacyMDNSDeviceProvider::ClearUnknownDevices() -{ - MOZ_ASSERT(NS_IsMainThread()); - - size_t i = mDevices.Length(); - while (i > 0) { - --i; - if (mDevices[i]->State() == DeviceState::eUnknown) { - Unused << NS_WARN_IF(NS_FAILED(RemoveDevice(i))); - } - } -} - -void -LegacyMDNSDeviceProvider::ClearDevices() -{ - MOZ_ASSERT(NS_IsMainThread()); - - size_t i = mDevices.Length(); - while (i > 0) { - --i; - Unused << NS_WARN_IF(NS_FAILED(RemoveDevice(i))); - } -} - -// nsIPresentationDeviceProvider -NS_IMETHODIMP -LegacyMDNSDeviceProvider::GetListener(nsIPresentationDeviceListener** aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aListener)) { - return NS_ERROR_INVALID_POINTER; - } - - nsresult rv; - nsCOMPtr listener = - do_QueryReferent(mDeviceListener, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - listener.forget(aListener); - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::SetListener(nsIPresentationDeviceListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mDeviceListener = do_GetWeakReference(aListener); - - nsresult rv; - if (mDeviceListener) { - if (NS_WARN_IF(NS_FAILED(rv = Init()))) { - return rv; - } - } else { - if (NS_WARN_IF(NS_FAILED(rv = Uninit()))) { - return rv; - } - } - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::ForceDiscovery() -{ - LOG_I("ForceDiscovery (%d)", mDiscoveryEnabled); - MOZ_ASSERT(NS_IsMainThread()); - - if (!mDiscoveryEnabled) { - return NS_OK; - } - - MOZ_ASSERT(mDiscoveryTimer); - MOZ_ASSERT(mMulticastDNS); - - // if it's already discovering, extend existing discovery timeout. - nsresult rv; - if (mIsDiscovering) { - Unused << mDiscoveryTimer->Cancel(); - - if (NS_WARN_IF(NS_FAILED( rv = mDiscoveryTimer->Init(this, - mDiscoveryTimeoutMs, - nsITimer::TYPE_ONE_SHOT)))) { - return rv; - } - return NS_OK; - } - - StopDiscovery(NS_OK); - - if (NS_WARN_IF(NS_FAILED(rv = mMulticastDNS->StartDiscovery( - NS_LITERAL_CSTRING(LEGACY_SERVICE_TYPE), - mWrappedListener, - getter_AddRefs(mDiscoveryRequest))))) { - return rv; - } - - return NS_OK; -} - -// nsIDNSServiceDiscoveryListener -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnDiscoveryStarted(const nsACString& aServiceType) -{ - LOG_I("OnDiscoveryStarted"); - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mDiscoveryTimer); - - MarkAllDevicesUnknown(); - - nsresult rv; - if (NS_WARN_IF(NS_FAILED(rv = mDiscoveryTimer->Init(this, - mDiscoveryTimeoutMs, - nsITimer::TYPE_ONE_SHOT)))) { - return rv; - } - - mIsDiscovering = true; - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnDiscoveryStopped(const nsACString& aServiceType) -{ - LOG_I("OnDiscoveryStopped"); - MOZ_ASSERT(NS_IsMainThread()); - - ClearUnknownDevices(); - - mIsDiscovering = false; - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnServiceFound(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - - nsresult rv ; - - nsAutoCString serviceName; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(serviceName)))) { - return rv; - } - - LOG_I("OnServiceFound: %s", serviceName.get()); - - if (mMulticastDNS) { - if (NS_WARN_IF(NS_FAILED(rv = mMulticastDNS->ResolveService( - aServiceInfo, mWrappedListener)))) { - return rv; - } - } - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnServiceLost(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - - nsresult rv; - - nsAutoCString serviceName; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(serviceName)))) { - return rv; - } - - LOG_I("OnServiceLost: %s", serviceName.get()); - - nsAutoCString host; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetHost(host)))) { - return rv; - } - - uint32_t index; - if (!FindDeviceById(host, index)) { - // given device was not found - return NS_OK; - } - - if (NS_WARN_IF(NS_FAILED(rv = RemoveDevice(index)))) { - return rv; - } - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnStartDiscoveryFailed(const nsACString& aServiceType, - int32_t aErrorCode) -{ - LOG_E("OnStartDiscoveryFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnStopDiscoveryFailed(const nsACString& aServiceType, - int32_t aErrorCode) -{ - LOG_E("OnStopDiscoveryFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -// nsIDNSServiceResolveListener -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnServiceResolved(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - - nsresult rv; - - nsAutoCString serviceName; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(serviceName)))) { - return rv; - } - - LOG_I("OnServiceResolved: %s", serviceName.get()); - - nsAutoCString host; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetHost(host)))) { - return rv; - } - - nsAutoCString address; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetAddress(address)))) { - return rv; - } - - uint16_t port; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetPort(&port)))) { - return rv; - } - - nsAutoCString serviceType; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceType(serviceType)))) { - return rv; - } - - uint32_t index; - if (FindDeviceById(host, index)) { - return UpdateDevice(index, - serviceName, - serviceType, - address, - port); - } else { - return AddDevice(host, - serviceName, - serviceType, - address, - port); - } - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::OnResolveFailed(nsIDNSServiceInfo* aServiceInfo, - int32_t aErrorCode) -{ - LOG_E("OnResolveFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -// nsIObserver -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Observe(nsISupports* aSubject, - const char* aTopic, - const char16_t* aData) -{ - MOZ_ASSERT(NS_IsMainThread()); - - NS_ConvertUTF16toUTF8 data(aData); - LOG_I("Observe: topic = %s, data = %s", aTopic, data.get()); - - if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) { - if (data.EqualsLiteral(PREF_PRESENTATION_DISCOVERY_LEGACY)) { - OnDiscoveryChanged(Preferences::GetBool(PREF_PRESENTATION_DISCOVERY_LEGACY)); - } else if (data.EqualsLiteral(PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS)) { - OnDiscoveryTimeoutChanged(Preferences::GetUint(PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS)); - } else if (data.EqualsLiteral(PREF_PRESENTATION_DEVICE_NAME)) { - nsAdoptingCString newServiceName = Preferences::GetCString(PREF_PRESENTATION_DEVICE_NAME); - if (!mServiceName.Equals(newServiceName)) { - OnServiceNameChanged(newServiceName); - } - } - } else if (!strcmp(aTopic, NS_TIMER_CALLBACK_TOPIC)) { - StopDiscovery(NS_OK); - } - - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::OnDiscoveryChanged(bool aEnabled) -{ - LOG_I("DiscoveryEnabled = %d\n", aEnabled); - MOZ_ASSERT(NS_IsMainThread()); - - mDiscoveryEnabled = aEnabled; - - if (mDiscoveryEnabled) { - return ForceDiscovery(); - } - - return StopDiscovery(NS_OK); -} - -nsresult -LegacyMDNSDeviceProvider::OnDiscoveryTimeoutChanged(uint32_t aTimeoutMs) -{ - LOG_I("OnDiscoveryTimeoutChanged = %d\n", aTimeoutMs); - MOZ_ASSERT(NS_IsMainThread()); - - mDiscoveryTimeoutMs = aTimeoutMs; - - return NS_OK; -} - -nsresult -LegacyMDNSDeviceProvider::OnServiceNameChanged(const nsACString& aServiceName) -{ - LOG_I("serviceName = %s\n", PromiseFlatCString(aServiceName).get()); - MOZ_ASSERT(NS_IsMainThread()); - - mServiceName = aServiceName; - mPresentationService->SetId(mServiceName); - - return NS_OK; -} - -// LegacyMDNSDeviceProvider::Device -NS_IMPL_ISUPPORTS(LegacyMDNSDeviceProvider::Device, - nsIPresentationDevice) - -// nsIPresentationDevice -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Device::GetId(nsACString& aId) -{ - aId = mId; - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Device::GetName(nsACString& aName) -{ - aName = mName; - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Device::GetType(nsACString& aType) -{ - aType = mType; - - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Device::EstablishControlChannel( - nsIPresentationControlChannel** aRetVal) -{ - if (!mProvider) { - return NS_ERROR_FAILURE; - } - - return mProvider->Connect(this, aRetVal); -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Device::Disconnect() -{ - // No need to do anything when disconnect. - return NS_OK; -} - -NS_IMETHODIMP -LegacyMDNSDeviceProvider::Device::IsRequestedUrlSupported( - const nsAString& aRequestedUrl, - bool* aRetVal) -{ - if (!aRetVal) { - return NS_ERROR_INVALID_POINTER; - } - - // Legacy TV 2.5 device only support a fixed set of presentation Apps. - *aRetVal = DeviceProviderHelpers::IsFxTVSupportedAppUrl(aRequestedUrl); - - return NS_OK; -} - -} // namespace legacy -} // namespace presentation -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/provider/LegacyMDNSDeviceProvider.h b/dom/presentation/provider/LegacyMDNSDeviceProvider.h deleted file mode 100644 index 33ba877d33..0000000000 --- a/dom/presentation/provider/LegacyMDNSDeviceProvider.h +++ /dev/null @@ -1,191 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -#ifndef mozilla_dom_presentation_provider_LegacyMDNSDeviceProvider_h -#define mozilla_dom_presentation_provider_LegacyMDNSDeviceProvider_h - -#include "mozilla/RefPtr.h" -#include "nsCOMPtr.h" -#include "nsICancelable.h" -#include "nsIDNSServiceDiscovery.h" -#include "nsIObserver.h" -#include "nsIPresentationDevice.h" -#include "nsIPresentationDeviceProvider.h" -#include "nsIPresentationControlService.h" -#include "nsITimer.h" -#include "nsString.h" -#include "nsTArray.h" -#include "nsWeakPtr.h" - -namespace mozilla { -namespace dom { -namespace presentation { -namespace legacy { - -class DNSServiceWrappedListener; -class MulticastDNSService; - -class LegacyMDNSDeviceProvider final - : public nsIPresentationDeviceProvider - , public nsIDNSServiceDiscoveryListener - , public nsIDNSServiceResolveListener - , public nsIObserver -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICEPROVIDER - NS_DECL_NSIDNSSERVICEDISCOVERYLISTENER - NS_DECL_NSIDNSSERVICERESOLVELISTENER - NS_DECL_NSIOBSERVER - - explicit LegacyMDNSDeviceProvider() = default; - nsresult Init(); - nsresult Uninit(); - -private: - enum class DeviceState : uint32_t { - eUnknown, - eActive - }; - - class Device final : public nsIPresentationDevice - { - public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICE - - explicit Device(const nsACString& aId, - const nsACString& aName, - const nsACString& aType, - const nsACString& aAddress, - const uint16_t aPort, - DeviceState aState, - LegacyMDNSDeviceProvider* aProvider) - : mId(aId) - , mName(aName) - , mType(aType) - , mAddress(aAddress) - , mPort(aPort) - , mState(aState) - , mProvider(aProvider) - { - } - - const nsCString& Id() const - { - return mId; - } - - const nsCString& Address() const - { - return mAddress; - } - - uint16_t Port() const - { - return mPort; - } - - DeviceState State() const - { - return mState; - } - - void ChangeState(DeviceState aState) - { - mState = aState; - } - - void Update(const nsACString& aName, - const nsACString& aType, - const nsACString& aAddress, - const uint16_t aPort) - { - mName = aName; - mType = aType; - mAddress = aAddress; - mPort = aPort; - } - - private: - virtual ~Device() = default; - - nsCString mId; - nsCString mName; - nsCString mType; - nsCString mAddress; - uint16_t mPort; - DeviceState mState; - LegacyMDNSDeviceProvider* mProvider; - }; - - struct DeviceIdComparator { - bool Equals(const RefPtr& aA, const RefPtr& aB) const { - return aA->Id() == aB->Id(); - } - }; - - struct DeviceAddressComparator { - bool Equals(const RefPtr& aA, const RefPtr& aB) const { - return aA->Address() == aB->Address(); - } - }; - - virtual ~LegacyMDNSDeviceProvider(); - nsresult StopDiscovery(nsresult aReason); - nsresult Connect(Device* aDevice, - nsIPresentationControlChannel** aRetVal); - - // device manipulation - nsresult AddDevice(const nsACString& aId, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort); - nsresult UpdateDevice(const uint32_t aIndex, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort); - nsresult RemoveDevice(const uint32_t aIndex); - bool FindDeviceById(const nsACString& aId, - uint32_t& aIndex); - - bool FindDeviceByAddress(const nsACString& aAddress, - uint32_t& aIndex); - - void MarkAllDevicesUnknown(); - void ClearUnknownDevices(); - void ClearDevices(); - - // preferences - nsresult OnDiscoveryChanged(bool aEnabled); - nsresult OnDiscoveryTimeoutChanged(uint32_t aTimeoutMs); - nsresult OnServiceNameChanged(const nsACString& aServiceName); - - bool mInitialized = false; - nsWeakPtr mDeviceListener; - nsCOMPtr mPresentationService; - nsCOMPtr mMulticastDNS; - RefPtr mWrappedListener; - - nsCOMPtr mDiscoveryRequest; - - nsTArray> mDevices; - - bool mDiscoveryEnabled = false; - bool mIsDiscovering = false; - uint32_t mDiscoveryTimeoutMs; - nsCOMPtr mDiscoveryTimer; - - nsCString mServiceName; -}; - -} // namespace legacy -} // namespace presentation -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_presentation_provider_LegacyMDNSDeviceProvider_h diff --git a/dom/presentation/provider/LegacyPresentationControlService.js b/dom/presentation/provider/LegacyPresentationControlService.js deleted file mode 100644 index b27177b635..0000000000 --- a/dom/presentation/provider/LegacyPresentationControlService.js +++ /dev/null @@ -1,488 +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 http://mozilla.org/MPL/2.0/. */ -/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ -/* globals Components, dump */ -"use strict"; - -const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; - -/* globals XPCOMUtils */ -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -/* globals Services */ -Cu.import("resource://gre/modules/Services.jsm"); -/* globals NetUtil */ -Cu.import("resource://gre/modules/NetUtil.jsm"); - -const DEBUG = Services.prefs.getBoolPref("dom.presentation.tcp_server.debug"); -function log(aMsg) { - dump("-*- LegacyPresentationControlService.js: " + aMsg + "\n"); -} - -function LegacyPresentationControlService() { - DEBUG && log("LegacyPresentationControlService - ctor"); //jshint ignore:line - this._id = null; -} - -LegacyPresentationControlService.prototype = { - startServer: function() { - DEBUG && log("LegacyPresentationControlService - doesn't support receiver mode"); //jshint ignore:line - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - get id() { - return this._id; - }, - - set id(aId) { - this._id = aId; - }, - - get port() { - return 0; - }, - - get version() { - return 0; - }, - - set listener(aListener) { //jshint ignore:line - DEBUG && log("LegacyPresentationControlService - doesn't support receiver mode"); //jshint ignore:line - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - get listener() { - return null; - }, - - connect: function(aDeviceInfo) { - if (!this.id) { - DEBUG && log("LegacyPresentationControlService - Id has not initialized; requestSession fails"); //jshint ignore:line - return null; - } - DEBUG && log("LegacyPresentationControlService - requestSession to " + aDeviceInfo.id); //jshint ignore:line - - let sts = Cc["@mozilla.org/network/socket-transport-service;1"] - .getService(Ci.nsISocketTransportService); - - let socketTransport; - try { - socketTransport = sts.createTransport(null, - 0, - aDeviceInfo.address, - aDeviceInfo.port, - null); - } catch (e) { - DEBUG && log("LegacyPresentationControlService - createTransport throws: " + e); //jshint ignore:line - // Pop the exception to |TCPDevice.establishControlChannel| - throw Cr.NS_ERROR_FAILURE; - } - return new LegacyTCPControlChannel(this.id, - socketTransport, - aDeviceInfo); - }, - - close: function() { - DEBUG && log("LegacyPresentationControlService - close"); //jshint ignore:line - }, - - classID: Components.ID("{b21816fe-8aff-4811-86d2-85a7444c557e}"), - QueryInterface : XPCOMUtils.generateQI([Ci.nsIPresentationControlService]), -}; - -function ChannelDescription(aInit) { - this._type = aInit.type; - switch (this._type) { - case Ci.nsIPresentationChannelDescription.TYPE_TCP: - this._tcpAddresses = Cc["@mozilla.org/array;1"] - .createInstance(Ci.nsIMutableArray); - for (let address of aInit.tcpAddress) { - let wrapper = Cc["@mozilla.org/supports-cstring;1"] - .createInstance(Ci.nsISupportsCString); - wrapper.data = address; - this._tcpAddresses.appendElement(wrapper, false); - } - - this._tcpPort = aInit.tcpPort; - break; - case Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL: - this._dataChannelSDP = aInit.dataChannelSDP; - break; - } -} - -ChannelDescription.prototype = { - _type: 0, - _tcpAddresses: null, - _tcpPort: 0, - _dataChannelSDP: "", - - get type() { - return this._type; - }, - - get tcpAddress() { - return this._tcpAddresses; - }, - - get tcpPort() { - return this._tcpPort; - }, - - get dataChannelSDP() { - return this._dataChannelSDP; - }, - - classID: Components.ID("{d69fc81c-4f40-47a3-97e6-b4cf5db2294e}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationChannelDescription]), -}; - -// Helper function: transfer nsIPresentationChannelDescription to json -function discriptionAsJson(aDescription) { - let json = {}; - json.type = aDescription.type; - switch(aDescription.type) { - case Ci.nsIPresentationChannelDescription.TYPE_TCP: - let addresses = aDescription.tcpAddress.QueryInterface(Ci.nsIArray); - json.tcpAddress = []; - for (let idx = 0; idx < addresses.length; idx++) { - let address = addresses.queryElementAt(idx, Ci.nsISupportsCString); - json.tcpAddress.push(address.data); - } - json.tcpPort = aDescription.tcpPort; - break; - case Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL: - json.dataChannelSDP = aDescription.dataChannelSDP; - break; - } - return json; -} - -function LegacyTCPControlChannel(id, - transport, - deviceInfo) { - DEBUG && log("create LegacyTCPControlChannel"); //jshint ignore:line - this._deviceInfo = deviceInfo; - this._transport = transport; - - this._id = id; - - let currentThread = Services.tm.currentThread; - transport.setEventSink(this, currentThread); - - this._input = this._transport.openInputStream(0, 0, 0) - .QueryInterface(Ci.nsIAsyncInputStream); - this._input.asyncWait(this.QueryInterface(Ci.nsIStreamListener), - Ci.nsIAsyncInputStream.WAIT_CLOSURE_ONLY, - 0, - currentThread); - - this._output = this._transport - .openOutputStream(Ci.nsITransport.OPEN_UNBUFFERED, 0, 0); -} - -LegacyTCPControlChannel.prototype = { - _connected: false, - _pendingOpen: false, - _pendingAnswer: null, - _pendingClose: null, - _pendingCloseReason: null, - - _sendMessage: function(aJSONData, aOnThrow) { - if (!aOnThrow) { - aOnThrow = function(e) {throw e.result;}; - } - - if (!aJSONData) { - aOnThrow(); - return; - } - - if (!this._connected) { - DEBUG && log("LegacyTCPControlChannel - send" + aJSONData.type + " fails"); //jshint ignore:line - throw Cr.NS_ERROR_FAILURE; - } - - try { - this._send(aJSONData); - } catch (e) { - aOnThrow(e); - } - }, - - _sendInit: function() { - let msg = { - type: "requestSession:Init", - presentationId: this._presentationId, - url: this._url, - id: this._id, - }; - - this._sendMessage(msg, function(e) { - this.disconnect(); - this._notifyDisconnected(e.result); - }); - }, - - launch: function(aPresentationId, aUrl) { - this._presentationId = aPresentationId; - this._url = aUrl; - - this._sendInit(); - }, - - terminate: function() { - // Legacy protocol doesn't support extra terminate protocol. - // Trigger error handling for browser to shutdown all the resource locally. - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - sendOffer: function(aOffer) { - let msg = { - type: "requestSession:Offer", - presentationId: this._presentationId, - offer: discriptionAsJson(aOffer), - }; - this._sendMessage(msg); - }, - - sendAnswer: function(aAnswer) { //jshint ignore:line - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - sendIceCandidate: function(aCandidate) { - let msg = { - type: "requestSession:IceCandidate", - presentationId: this._presentationId, - iceCandidate: aCandidate, - }; - this._sendMessage(msg); - }, - // may throw an exception - _send: function(aMsg) { - DEBUG && log("LegacyTCPControlChannel - Send: " + JSON.stringify(aMsg, null, 2)); //jshint ignore:line - - /** - * XXX In TCP streaming, it is possible that more than one message in one - * TCP packet. We use line delimited JSON to identify where one JSON encoded - * object ends and the next begins. Therefore, we do not allow newline - * characters whithin the whole message, and add a newline at the end. - * Please see the parser code in |onDataAvailable|. - */ - let message = JSON.stringify(aMsg).replace(["\n"], "") + "\n"; - try { - this._output.write(message, message.length); - } catch(e) { - DEBUG && log("LegacyTCPControlChannel - Failed to send message: " + e.name); //jshint ignore:line - throw e; - } - }, - - // nsIAsyncInputStream (Triggered by nsIInputStream.asyncWait) - // Only used for detecting connection refused - onInputStreamReady: function(aStream) { - try { - aStream.available(); - } catch (e) { - DEBUG && log("LegacyTCPControlChannel - onInputStreamReady error: " + e.name); //jshint ignore:line - // NS_ERROR_CONNECTION_REFUSED - this._listener.notifyDisconnected(e.result); - } - }, - - // nsITransportEventSink (Triggered by nsISocketTransport.setEventSink) - onTransportStatus: function(aTransport, aStatus, aProg, aProgMax) { //jshint ignore:line - DEBUG && log("LegacyTCPControlChannel - onTransportStatus: " - + aStatus.toString(16)); //jshint ignore:line - if (aStatus === Ci.nsISocketTransport.STATUS_CONNECTED_TO) { - this._connected = true; - - if (!this._pump) { - this._createInputStreamPump(); - } - - this._notifyConnected(); - } - }, - - // nsIRequestObserver (Triggered by nsIInputStreamPump.asyncRead) - onStartRequest: function() { - DEBUG && log("LegacyTCPControlChannel - onStartRequest"); //jshint ignore:line - }, - - // nsIRequestObserver (Triggered by nsIInputStreamPump.asyncRead) - onStopRequest: function(aRequest, aContext, aStatus) { - DEBUG && log("LegacyTCPControlChannel - onStopRequest: " + aStatus); //jshint ignore:line - this.disconnect(aStatus); - this._notifyDisconnected(aStatus); - }, - - // nsIStreamListener (Triggered by nsIInputStreamPump.asyncRead) - onDataAvailable: function(aRequest, aContext, aInputStream, aOffset, aCount) { //jshint ignore:line - let data = NetUtil.readInputStreamToString(aInputStream, - aInputStream.available()); - DEBUG && log("LegacyTCPControlChannel - onDataAvailable: " + data); //jshint ignore:line - - // Parser of line delimited JSON. Please see |_send| for more informaiton. - let jsonArray = data.split("\n"); - jsonArray.pop(); - for (let json of jsonArray) { - let msg; - try { - msg = JSON.parse(json); - } catch (e) { - DEBUG && log("LegacyTCPSignalingChannel - error in parsing json: " + e); //jshint ignore:line - } - - this._handleMessage(msg); - } - }, - - _createInputStreamPump: function() { - DEBUG && log("LegacyTCPControlChannel - create pump"); //jshint ignore:line - this._pump = Cc["@mozilla.org/network/input-stream-pump;1"]. - createInstance(Ci.nsIInputStreamPump); - this._pump.init(this._input, -1, -1, 0, 0, false); - this._pump.asyncRead(this, null); - }, - - // Handle command from remote side - _handleMessage: function(aMsg) { - DEBUG && log("LegacyTCPControlChannel - handleMessage from " - + JSON.stringify(this._deviceInfo) + ": " + JSON.stringify(aMsg)); //jshint ignore:line - switch (aMsg.type) { - case "requestSession:Answer": { - this._onAnswer(aMsg.answer); - break; - } - case "requestSession:IceCandidate": { - this._listener.onIceCandidate(aMsg.iceCandidate); - break; - } - case "requestSession:CloseReason": { - this._pendingCloseReason = aMsg.reason; - break; - } - } - }, - - get listener() { - return this._listener; - }, - - set listener(aListener) { - DEBUG && log("LegacyTCPControlChannel - set listener: " + aListener); //jshint ignore:line - if (!aListener) { - this._listener = null; - return; - } - - this._listener = aListener; - if (this._pendingOpen) { - this._pendingOpen = false; - DEBUG && log("LegacyTCPControlChannel - notify pending opened"); //jshint ignore:line - this._listener.notifyConnected(); - } - - if (this._pendingAnswer) { - let answer = this._pendingAnswer; - DEBUG && log("LegacyTCPControlChannel - notify pending answer: " + - JSON.stringify(answer)); // jshint ignore:line - this._listener.onAnswer(new ChannelDescription(answer)); - this._pendingAnswer = null; - } - - if (this._pendingClose) { - DEBUG && log("LegacyTCPControlChannel - notify pending closed"); //jshint ignore:line - this._notifyDisconnected(this._pendingCloseReason); - this._pendingClose = null; - } - }, - - /** - * These functions are designed to handle the interaction with listener - * appropriately. |_FUNC| is to handle |this._listener.FUNC|. - */ - _onAnswer: function(aAnswer) { - if (!this._connected) { - return; - } - if (!this._listener) { - this._pendingAnswer = aAnswer; - return; - } - DEBUG && log("LegacyTCPControlChannel - notify answer: " + JSON.stringify(aAnswer)); //jshint ignore:line - this._listener.onAnswer(new ChannelDescription(aAnswer)); - }, - - _notifyConnected: function() { - this._connected = true; - this._pendingClose = false; - this._pendingCloseReason = Cr.NS_OK; - - if (!this._listener) { - this._pendingOpen = true; - return; - } - - DEBUG && log("LegacyTCPControlChannel - notify opened"); //jshint ignore:line - this._listener.notifyConnected(); - }, - - _notifyDisconnected: function(aReason) { - this._connected = false; - this._pendingOpen = false; - this._pendingAnswer = null; - - // Remote endpoint closes the control channel with abnormal reason. - if (aReason == Cr.NS_OK && this._pendingCloseReason != Cr.NS_OK) { - aReason = this._pendingCloseReason; - } - - if (!this._listener) { - this._pendingClose = true; - this._pendingCloseReason = aReason; - return; - } - - DEBUG && log("LegacyTCPControlChannel - notify closed"); //jshint ignore:line - this._listener.notifyDisconnected(aReason); - }, - - disconnect: function(aReason) { - DEBUG && log("LegacyTCPControlChannel - close with reason: " + aReason); //jshint ignore:line - - if (this._connected) { - // default reason is NS_OK - if (typeof aReason !== "undefined" && aReason !== Cr.NS_OK) { - let msg = { - type: "requestSession:CloseReason", - presentationId: this._presentationId, - reason: aReason, - }; - this._sendMessage(msg); - this._pendingCloseReason = aReason; - } - - this._transport.setEventSink(null, null); - this._pump = null; - - this._input.close(); - this._output.close(); - - this._connected = false; - } - }, - - reconnect: function() { - // Legacy protocol doesn't support extra reconnect protocol. - // Trigger error handling for browser to shutdown all the resource locally. - throw Cr.NS_ERROR_NOT_IMPLEMENTED; - }, - - classID: Components.ID("{4027ce3d-06e3-4d06-a235-df329cb0d411}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel, - Ci.nsIStreamListener]), -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([LegacyPresentationControlService]); //jshint ignore:line diff --git a/dom/presentation/provider/LegacyProviders.manifest b/dom/presentation/provider/LegacyProviders.manifest deleted file mode 100644 index 9408da0633..0000000000 --- a/dom/presentation/provider/LegacyProviders.manifest +++ /dev/null @@ -1,2 +0,0 @@ -component {b21816fe-8aff-4811-86d2-85a7444c557e} LegacyPresentationControlService.js -contract @mozilla.org/presentation/legacy-control-service;1 {b21816fe-8aff-4811-86d2-85a7444c557e} diff --git a/dom/presentation/provider/MulticastDNSDeviceProvider.cpp b/dom/presentation/provider/MulticastDNSDeviceProvider.cpp deleted file mode 100644 index 0cab915ac4..0000000000 --- a/dom/presentation/provider/MulticastDNSDeviceProvider.cpp +++ /dev/null @@ -1,1249 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "MulticastDNSDeviceProvider.h" - -#include "DeviceProviderHelpers.h" -#include "MainThreadUtils.h" -#include "mozilla/Logging.h" -#include "mozilla/Preferences.h" -#include "mozilla/Services.h" -#include "mozilla/Unused.h" -#include "nsComponentManagerUtils.h" -#include "nsIObserverService.h" -#include "nsIWritablePropertyBag2.h" -#include "nsServiceManagerUtils.h" -#include "nsTCPDeviceInfo.h" -#include "nsThreadUtils.h" - -#ifdef MOZ_WIDGET_ANDROID -#include "nsIPropertyBag2.h" -#endif // MOZ_WIDGET_ANDROID - -#define PREF_PRESENTATION_DISCOVERY "dom.presentation.discovery.enabled" -#define PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS "dom.presentation.discovery.timeout_ms" -#define PREF_PRESENTATION_DISCOVERABLE "dom.presentation.discoverable" -#define PREF_PRESENTATION_DISCOVERABLE_ENCRYPTED "dom.presentation.discoverable.encrypted" -#define PREF_PRESENTATION_DISCOVERABLE_RETRY_MS "dom.presentation.discoverable.retry_ms" -#define PREF_PRESENTATION_DEVICE_NAME "dom.presentation.device.name" - -#define SERVICE_TYPE "_presentation-ctrl._tcp" -#define PROTOCOL_VERSION_TAG "version" -#define CERT_FINGERPRINT_TAG "certFingerprint" - -static mozilla::LazyLogModule sMulticastDNSProviderLogModule("MulticastDNSDeviceProvider"); - -#undef LOG_I -#define LOG_I(...) MOZ_LOG(sMulticastDNSProviderLogModule, mozilla::LogLevel::Debug, (__VA_ARGS__)) -#undef LOG_E -#define LOG_E(...) MOZ_LOG(sMulticastDNSProviderLogModule, mozilla::LogLevel::Error, (__VA_ARGS__)) - -namespace mozilla { -namespace dom { -namespace presentation { - -static const char* kObservedPrefs[] = { - PREF_PRESENTATION_DISCOVERY, - PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS, - PREF_PRESENTATION_DISCOVERABLE, - PREF_PRESENTATION_DEVICE_NAME, - nullptr -}; - -namespace { - -#ifdef MOZ_WIDGET_ANDROID -static void -GetAndroidDeviceName(nsACString& aRetVal) -{ - nsCOMPtr infoService = do_GetService("@mozilla.org/system-info;1"); - MOZ_ASSERT(infoService, "Could not find a system info service"); - - Unused << NS_WARN_IF(NS_FAILED(infoService->GetPropertyAsACString( - NS_LITERAL_STRING("device"), aRetVal))); -} -#endif // MOZ_WIDGET_ANDROID - -} //anonymous namespace - -/** - * This wrapper is used to break circular-reference problem. - */ -class DNSServiceWrappedListener final - : public nsIDNSServiceDiscoveryListener - , public nsIDNSRegistrationListener - , public nsIDNSServiceResolveListener - , public nsIPresentationControlServerListener -{ -public: - NS_DECL_ISUPPORTS - NS_FORWARD_SAFE_NSIDNSSERVICEDISCOVERYLISTENER(mListener) - NS_FORWARD_SAFE_NSIDNSREGISTRATIONLISTENER(mListener) - NS_FORWARD_SAFE_NSIDNSSERVICERESOLVELISTENER(mListener) - NS_FORWARD_SAFE_NSIPRESENTATIONCONTROLSERVERLISTENER(mListener) - - explicit DNSServiceWrappedListener() = default; - - nsresult SetListener(MulticastDNSDeviceProvider* aListener) - { - mListener = aListener; - return NS_OK; - } - -private: - virtual ~DNSServiceWrappedListener() = default; - - MulticastDNSDeviceProvider* mListener = nullptr; -}; - -NS_IMPL_ISUPPORTS(DNSServiceWrappedListener, - nsIDNSServiceDiscoveryListener, - nsIDNSRegistrationListener, - nsIDNSServiceResolveListener, - nsIPresentationControlServerListener) - -NS_IMPL_ISUPPORTS(MulticastDNSDeviceProvider, - nsIPresentationDeviceProvider, - nsIDNSServiceDiscoveryListener, - nsIDNSRegistrationListener, - nsIDNSServiceResolveListener, - nsIPresentationControlServerListener, - nsIObserver) - -MulticastDNSDeviceProvider::~MulticastDNSDeviceProvider() -{ - Uninit(); -} - -nsresult -MulticastDNSDeviceProvider::Init() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (mInitialized) { - return NS_OK; - } - - nsresult rv; - - mMulticastDNS = do_GetService(DNSSERVICEDISCOVERY_CONTRACT_ID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mWrappedListener = new DNSServiceWrappedListener(); - if (NS_WARN_IF(NS_FAILED(rv = mWrappedListener->SetListener(this)))) { - return rv; - } - - mPresentationService = do_CreateInstance(PRESENTATION_CONTROL_SERVICE_CONTACT_ID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mDiscoveryTimer = do_CreateInstance(NS_TIMER_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - mServerRetryTimer = do_CreateInstance(NS_TIMER_CONTRACTID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - Preferences::AddStrongObservers(this, kObservedPrefs); - - mDiscoveryEnabled = Preferences::GetBool(PREF_PRESENTATION_DISCOVERY); - mDiscoveryTimeoutMs = Preferences::GetUint(PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS); - mDiscoverable = Preferences::GetBool(PREF_PRESENTATION_DISCOVERABLE); - mDiscoverableEncrypted = Preferences::GetBool(PREF_PRESENTATION_DISCOVERABLE_ENCRYPTED); - mServerRetryMs = Preferences::GetUint(PREF_PRESENTATION_DISCOVERABLE_RETRY_MS); - mServiceName = Preferences::GetCString(PREF_PRESENTATION_DEVICE_NAME); - -#ifdef MOZ_WIDGET_ANDROID - // FIXME: Bug 1185806 - Provide a common device name setting. - if (mServiceName.IsEmpty()) { - GetAndroidDeviceName(mServiceName); - Unused << Preferences::SetCString(PREF_PRESENTATION_DEVICE_NAME, mServiceName); - } -#endif // MOZ_WIDGET_ANDROID - - Unused << mPresentationService->SetId(mServiceName); - - if (mDiscoveryEnabled && NS_WARN_IF(NS_FAILED(rv = ForceDiscovery()))) { - return rv; - } - - if (mDiscoverable && NS_WARN_IF(NS_FAILED(rv = StartServer()))) { - return rv; - } - - mInitialized = true; - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::Uninit() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!mInitialized) { - return NS_OK; - } - - ClearDevices(); - - Preferences::RemoveObservers(this, kObservedPrefs); - - StopDiscovery(NS_OK); - StopServer(); - - mMulticastDNS = nullptr; - - if (mWrappedListener) { - mWrappedListener->SetListener(nullptr); - mWrappedListener = nullptr; - } - - mInitialized = false; - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::StartServer() -{ - LOG_I("StartServer: %s (%d)", mServiceName.get(), mDiscoverable); - MOZ_ASSERT(NS_IsMainThread()); - - if (!mDiscoverable) { - return NS_OK; - } - - nsresult rv; - - uint16_t servicePort; - if (NS_WARN_IF(NS_FAILED(rv = mPresentationService->GetPort(&servicePort)))) { - return rv; - } - - /** - * If |servicePort| is non-zero, it means PresentationControlService is running. - * Otherwise, we should make it start serving. - */ - if (servicePort) { - return RegisterMDNSService(); - } - - if (NS_WARN_IF(NS_FAILED(rv = mPresentationService->SetListener(mWrappedListener)))) { - return rv; - } - - AbortServerRetry(); - - if (NS_WARN_IF(NS_FAILED(rv = mPresentationService->StartServer(mDiscoverableEncrypted, 0)))) { - return rv; - } - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::StopServer() -{ - LOG_I("StopServer: %s", mServiceName.get()); - MOZ_ASSERT(NS_IsMainThread()); - - UnregisterMDNSService(NS_OK); - - AbortServerRetry(); - - if (mPresentationService) { - mPresentationService->SetListener(nullptr); - mPresentationService->Close(); - } - - return NS_OK; -} - -void -MulticastDNSDeviceProvider::AbortServerRetry() -{ - if (mIsServerRetrying) { - mIsServerRetrying = false; - mServerRetryTimer->Cancel(); - } -} - -nsresult -MulticastDNSDeviceProvider::RegisterMDNSService() -{ - LOG_I("RegisterMDNSService: %s", mServiceName.get()); - - if (!mDiscoverable) { - return NS_OK; - } - - // Cancel on going service registration. - UnregisterMDNSService(NS_OK); - - nsresult rv; - - uint16_t servicePort; - if (NS_FAILED(rv = mPresentationService->GetPort(&servicePort)) || - !servicePort) { - // Abort service registration if server port is not available. - return rv; - } - - /** - * Register the presentation control channel server as an mDNS service. - */ - nsCOMPtr serviceInfo = - do_CreateInstance(DNSSERVICEINFO_CONTRACT_ID, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - if (NS_WARN_IF(NS_FAILED(rv = serviceInfo->SetServiceType( - NS_LITERAL_CSTRING(SERVICE_TYPE))))) { - return rv; - } - if (NS_WARN_IF(NS_FAILED(rv = serviceInfo->SetServiceName(mServiceName)))) { - return rv; - } - if (NS_WARN_IF(NS_FAILED(rv = serviceInfo->SetPort(servicePort)))) { - return rv; - } - - nsCOMPtr propBag = - do_CreateInstance("@mozilla.org/hash-property-bag;1"); - MOZ_ASSERT(propBag); - - uint32_t version; - rv = mPresentationService->GetVersion(&version); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - - rv = propBag->SetPropertyAsUint32(NS_LITERAL_STRING(PROTOCOL_VERSION_TAG), - version); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - - if (mDiscoverableEncrypted) { - nsAutoCString certFingerprint; - rv = mPresentationService->GetCertFingerprint(certFingerprint); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - - rv = propBag->SetPropertyAsACString(NS_LITERAL_STRING(CERT_FINGERPRINT_TAG), - certFingerprint); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - } - - if (NS_WARN_IF(NS_FAILED(rv = serviceInfo->SetAttributes(propBag)))) { - return rv; - } - - return mMulticastDNS->RegisterService(serviceInfo, - mWrappedListener, - getter_AddRefs(mRegisterRequest)); -} - -nsresult -MulticastDNSDeviceProvider::UnregisterMDNSService(nsresult aReason) -{ - LOG_I("UnregisterMDNSService: %s (0x%08x)", mServiceName.get(), aReason); - MOZ_ASSERT(NS_IsMainThread()); - - if (mRegisterRequest) { - mRegisterRequest->Cancel(aReason); - mRegisterRequest = nullptr; - } - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::StopDiscovery(nsresult aReason) -{ - LOG_I("StopDiscovery (0x%08x)", aReason); - - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mDiscoveryTimer); - - Unused << mDiscoveryTimer->Cancel(); - - if (mDiscoveryRequest) { - mDiscoveryRequest->Cancel(aReason); - mDiscoveryRequest = nullptr; - } - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::Connect(Device* aDevice, - nsIPresentationControlChannel** aRetVal) -{ - MOZ_ASSERT(aDevice); - MOZ_ASSERT(mPresentationService); - - RefPtr deviceInfo = new TCPDeviceInfo(aDevice->Id(), - aDevice->Address(), - aDevice->Port(), - aDevice->CertFingerprint()); - - return mPresentationService->Connect(deviceInfo, aRetVal); -} - -bool -MulticastDNSDeviceProvider::IsCompatibleServer(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(aServiceInfo); - - nsCOMPtr propBag; - if (NS_WARN_IF(NS_FAILED( - aServiceInfo->GetAttributes(getter_AddRefs(propBag)))) || !propBag) { - return false; - } - - uint32_t remoteVersion; - if (NS_WARN_IF(NS_FAILED( - propBag->GetPropertyAsUint32(NS_LITERAL_STRING(PROTOCOL_VERSION_TAG), - &remoteVersion)))) { - return false; - } - - bool isCompatible = false; - Unused << NS_WARN_IF(NS_FAILED( - mPresentationService->IsCompatibleServer(remoteVersion, - &isCompatible))); - - return isCompatible; -} - -nsresult -MulticastDNSDeviceProvider::AddDevice(const nsACString& aId, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mPresentationService); - - RefPtr device = new Device(aId, /* ID */ - aServiceName, - aServiceType, - aAddress, - aPort, - aCertFingerprint, - DeviceState::eActive, - this); - - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->AddDevice(device); - } - - mDevices.AppendElement(device); - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::UpdateDevice(const uint32_t aIndex, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mPresentationService); - - if (NS_WARN_IF(aIndex >= mDevices.Length())) { - return NS_ERROR_INVALID_ARG; - } - - RefPtr device = mDevices[aIndex]; - device->Update(aServiceName, aServiceType, aAddress, aPort, aCertFingerprint); - device->ChangeState(DeviceState::eActive); - - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->UpdateDevice(device); - } - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::RemoveDevice(const uint32_t aIndex) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mPresentationService); - - if (NS_WARN_IF(aIndex >= mDevices.Length())) { - return NS_ERROR_INVALID_ARG; - } - - RefPtr device = mDevices[aIndex]; - - LOG_I("RemoveDevice: %s", device->Id().get()); - mDevices.RemoveElementAt(aIndex); - - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->RemoveDevice(device); - } - - return NS_OK; -} - -bool -MulticastDNSDeviceProvider::FindDeviceById(const nsACString& aId, - uint32_t& aIndex) -{ - MOZ_ASSERT(NS_IsMainThread()); - - RefPtr device = new Device(aId, - /* aName = */ EmptyCString(), - /* aType = */ EmptyCString(), - /* aHost = */ EmptyCString(), - /* aPort = */ 0, - /* aCertFingerprint */ EmptyCString(), - /* aState = */ DeviceState::eUnknown, - /* aProvider = */ nullptr); - size_t index = mDevices.IndexOf(device, 0, DeviceIdComparator()); - - if (index == mDevices.NoIndex) { - return false; - } - - aIndex = index; - return true; -} - -bool -MulticastDNSDeviceProvider::FindDeviceByAddress(const nsACString& aAddress, - uint32_t& aIndex) -{ - MOZ_ASSERT(NS_IsMainThread()); - - RefPtr device = new Device(/* aId = */ EmptyCString(), - /* aName = */ EmptyCString(), - /* aType = */ EmptyCString(), - aAddress, - /* aPort = */ 0, - /* aCertFingerprint */ EmptyCString(), - /* aState = */ DeviceState::eUnknown, - /* aProvider = */ nullptr); - size_t index = mDevices.IndexOf(device, 0, DeviceAddressComparator()); - - if (index == mDevices.NoIndex) { - return false; - } - - aIndex = index; - return true; -} - -void -MulticastDNSDeviceProvider::MarkAllDevicesUnknown() -{ - MOZ_ASSERT(NS_IsMainThread()); - - for (auto& device : mDevices) { - device->ChangeState(DeviceState::eUnknown); - } -} - -void -MulticastDNSDeviceProvider::ClearUnknownDevices() -{ - MOZ_ASSERT(NS_IsMainThread()); - - size_t i = mDevices.Length(); - while (i > 0) { - --i; - if (mDevices[i]->State() == DeviceState::eUnknown) { - Unused << NS_WARN_IF(NS_FAILED(RemoveDevice(i))); - } - } -} - -void -MulticastDNSDeviceProvider::ClearDevices() -{ - MOZ_ASSERT(NS_IsMainThread()); - - size_t i = mDevices.Length(); - while (i > 0) { - --i; - Unused << NS_WARN_IF(NS_FAILED(RemoveDevice(i))); - } -} - -// nsIPresentationDeviceProvider -NS_IMETHODIMP -MulticastDNSDeviceProvider::GetListener(nsIPresentationDeviceListener** aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aListener)) { - return NS_ERROR_INVALID_POINTER; - } - - nsresult rv; - nsCOMPtr listener = - do_QueryReferent(mDeviceListener, &rv); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - listener.forget(aListener); - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::SetListener(nsIPresentationDeviceListener* aListener) -{ - MOZ_ASSERT(NS_IsMainThread()); - - mDeviceListener = do_GetWeakReference(aListener); - - nsresult rv; - if (mDeviceListener) { - if (NS_WARN_IF(NS_FAILED(rv = Init()))) { - return rv; - } - } else { - if (NS_WARN_IF(NS_FAILED(rv = Uninit()))) { - return rv; - } - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::ForceDiscovery() -{ - LOG_I("ForceDiscovery (%d)", mDiscoveryEnabled); - MOZ_ASSERT(NS_IsMainThread()); - - if (!mDiscoveryEnabled) { - return NS_OK; - } - - MOZ_ASSERT(mDiscoveryTimer); - MOZ_ASSERT(mMulticastDNS); - - // if it's already discovering, extend existing discovery timeout. - nsresult rv; - if (mIsDiscovering) { - Unused << mDiscoveryTimer->Cancel(); - - if (NS_WARN_IF(NS_FAILED( rv = mDiscoveryTimer->Init(this, - mDiscoveryTimeoutMs, - nsITimer::TYPE_ONE_SHOT)))) { - return rv; - } - return NS_OK; - } - - StopDiscovery(NS_OK); - - if (NS_WARN_IF(NS_FAILED(rv = mMulticastDNS->StartDiscovery( - NS_LITERAL_CSTRING(SERVICE_TYPE), - mWrappedListener, - getter_AddRefs(mDiscoveryRequest))))) { - return rv; - } - - return NS_OK; -} - -// nsIDNSServiceDiscoveryListener -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnDiscoveryStarted(const nsACString& aServiceType) -{ - LOG_I("OnDiscoveryStarted"); - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(mDiscoveryTimer); - - MarkAllDevicesUnknown(); - - nsresult rv; - if (NS_WARN_IF(NS_FAILED(rv = mDiscoveryTimer->Init(this, - mDiscoveryTimeoutMs, - nsITimer::TYPE_ONE_SHOT)))) { - return rv; - } - - mIsDiscovering = true; - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnDiscoveryStopped(const nsACString& aServiceType) -{ - LOG_I("OnDiscoveryStopped"); - MOZ_ASSERT(NS_IsMainThread()); - - ClearUnknownDevices(); - - mIsDiscovering = false; - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServiceFound(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - - nsresult rv ; - - nsAutoCString serviceName; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(serviceName)))) { - return rv; - } - - LOG_I("OnServiceFound: %s", serviceName.get()); - - if (mMulticastDNS) { - if (NS_WARN_IF(NS_FAILED(rv = mMulticastDNS->ResolveService( - aServiceInfo, mWrappedListener)))) { - return rv; - } - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServiceLost(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - - nsresult rv; - - nsAutoCString serviceName; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(serviceName)))) { - return rv; - } - - LOG_I("OnServiceLost: %s", serviceName.get()); - - nsAutoCString host; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetHost(host)))) { - return rv; - } - - uint32_t index; - if (!FindDeviceById(host, index)) { - // given device was not found - return NS_OK; - } - - if (NS_WARN_IF(NS_FAILED(rv = RemoveDevice(index)))) { - return rv; - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnStartDiscoveryFailed(const nsACString& aServiceType, - int32_t aErrorCode) -{ - LOG_E("OnStartDiscoveryFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnStopDiscoveryFailed(const nsACString& aServiceType, - int32_t aErrorCode) -{ - LOG_E("OnStopDiscoveryFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -// nsIDNSRegistrationListener -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServiceRegistered(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - nsresult rv; - - nsAutoCString name; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(name)))) { - return rv; - } - - LOG_I("OnServiceRegistered (%s)", name.get()); - mRegisteredName = name; - - if (mMulticastDNS) { - if (NS_WARN_IF(NS_FAILED(rv = mMulticastDNS->ResolveService( - aServiceInfo, mWrappedListener)))) { - return rv; - } - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServiceUnregistered(nsIDNSServiceInfo* aServiceInfo) -{ - LOG_I("OnServiceUnregistered"); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnRegistrationFailed(nsIDNSServiceInfo* aServiceInfo, - int32_t aErrorCode) -{ - LOG_E("OnRegistrationFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - mRegisterRequest = nullptr; - - if (aErrorCode == nsIDNSRegistrationListener::ERROR_SERVICE_NOT_RUNNING) { - return NS_DispatchToMainThread( - NewRunnableMethod(this, &MulticastDNSDeviceProvider::RegisterMDNSService)); - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnUnregistrationFailed(nsIDNSServiceInfo* aServiceInfo, - int32_t aErrorCode) -{ - LOG_E("OnUnregistrationFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -// nsIDNSServiceResolveListener -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServiceResolved(nsIDNSServiceInfo* aServiceInfo) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (NS_WARN_IF(!aServiceInfo)) { - return NS_ERROR_INVALID_ARG; - } - - nsresult rv; - - nsAutoCString serviceName; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceName(serviceName)))) { - return rv; - } - - LOG_I("OnServiceResolved: %s", serviceName.get()); - - nsAutoCString host; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetHost(host)))) { - return rv; - } - - if (mRegisteredName == serviceName) { - LOG_I("ignore self"); - - if (NS_WARN_IF(NS_FAILED(rv = mPresentationService->SetId(host)))) { - return rv; - } - - return NS_OK; - } - - if (!IsCompatibleServer(aServiceInfo)) { - LOG_I("ignore incompatible service: %s", serviceName.get()); - return NS_OK; - } - - nsAutoCString address; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetAddress(address)))) { - return rv; - } - - uint16_t port; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetPort(&port)))) { - return rv; - } - - nsAutoCString serviceType; - if (NS_WARN_IF(NS_FAILED(rv = aServiceInfo->GetServiceType(serviceType)))) { - return rv; - } - - nsCOMPtr propBag; - if (NS_WARN_IF(NS_FAILED( - aServiceInfo->GetAttributes(getter_AddRefs(propBag)))) || !propBag) { - return rv; - } - - nsAutoCString certFingerprint; - Unused << propBag->GetPropertyAsACString(NS_LITERAL_STRING(CERT_FINGERPRINT_TAG), - certFingerprint); - - uint32_t index; - if (FindDeviceById(host, index)) { - return UpdateDevice(index, - serviceName, - serviceType, - address, - port, - certFingerprint); - } else { - return AddDevice(host, - serviceName, - serviceType, - address, - port, - certFingerprint); - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnResolveFailed(nsIDNSServiceInfo* aServiceInfo, - int32_t aErrorCode) -{ - LOG_E("OnResolveFailed: %d", aErrorCode); - MOZ_ASSERT(NS_IsMainThread()); - - return NS_OK; -} - -// nsIPresentationControlServerListener -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServerReady(uint16_t aPort, - const nsACString& aCertFingerprint) -{ - LOG_I("OnServerReady: %d, %s", aPort, PromiseFlatCString(aCertFingerprint).get()); - MOZ_ASSERT(NS_IsMainThread()); - - if (mDiscoverable) { - RegisterMDNSService(); - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnServerStopped(nsresult aResult) -{ - LOG_I("OnServerStopped: (0x%08x)", aResult); - - UnregisterMDNSService(aResult); - - // Try restart server if it is stopped abnormally. - if (NS_FAILED(aResult) && mDiscoverable) { - mIsServerRetrying = true; - mServerRetryTimer->Init(this, mServerRetryMs, nsITimer::TYPE_ONE_SHOT); - } - - return NS_OK; -} - -// Create a new device if we were unable to find one with the address. -already_AddRefed -MulticastDNSDeviceProvider::GetOrCreateDevice(nsITCPDeviceInfo* aDeviceInfo) -{ - nsAutoCString address; - Unused << aDeviceInfo->GetAddress(address); - - RefPtr device; - uint32_t index; - if (FindDeviceByAddress(address, index)) { - device = mDevices[index]; - } else { - // Create a one-time device object for non-discoverable controller. - // This device will not be in the list of available devices and cannot - // be used for requesting session. - nsAutoCString id; - Unused << aDeviceInfo->GetId(id); - uint16_t port; - Unused << aDeviceInfo->GetPort(&port); - - device = new Device(id, - /* aName = */ id, - /* aType = */ EmptyCString(), - address, - port, - /* aCertFingerprint */ EmptyCString(), - DeviceState::eActive, - /* aProvider = */ nullptr); - } - - return device.forget(); -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnSessionRequest(nsITCPDeviceInfo* aDeviceInfo, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsAutoCString address; - Unused << aDeviceInfo->GetAddress(address); - - LOG_I("OnSessionRequest: %s", address.get()); - - RefPtr device = GetOrCreateDevice(aDeviceInfo); - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->OnSessionRequest(device, aUrl, aPresentationId, - aControlChannel); - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnTerminateRequest(nsITCPDeviceInfo* aDeviceInfo, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel, - bool aIsFromReceiver) -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsAutoCString address; - Unused << aDeviceInfo->GetAddress(address); - - LOG_I("OnTerminateRequest: %s", address.get()); - - RefPtr device = GetOrCreateDevice(aDeviceInfo); - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->OnTerminateRequest(device, aPresentationId, - aControlChannel, aIsFromReceiver); - } - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::OnReconnectRequest(nsITCPDeviceInfo* aDeviceInfo, - const nsAString& aUrl, - const nsAString& aPresentationId, - nsIPresentationControlChannel* aControlChannel) -{ - MOZ_ASSERT(NS_IsMainThread()); - - nsAutoCString address; - Unused << aDeviceInfo->GetAddress(address); - - LOG_I("OnReconnectRequest: %s", address.get()); - - RefPtr device = GetOrCreateDevice(aDeviceInfo); - nsCOMPtr listener; - if (NS_SUCCEEDED(GetListener(getter_AddRefs(listener))) && listener) { - Unused << listener->OnReconnectRequest(device, aUrl, aPresentationId, - aControlChannel); - } - - return NS_OK; -} - -// nsIObserver -NS_IMETHODIMP -MulticastDNSDeviceProvider::Observe(nsISupports* aSubject, - const char* aTopic, - const char16_t* aData) -{ - MOZ_ASSERT(NS_IsMainThread()); - - NS_ConvertUTF16toUTF8 data(aData); - LOG_I("Observe: topic = %s, data = %s", aTopic, data.get()); - - if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) { - if (data.EqualsLiteral(PREF_PRESENTATION_DISCOVERY)) { - OnDiscoveryChanged(Preferences::GetBool(PREF_PRESENTATION_DISCOVERY)); - } else if (data.EqualsLiteral(PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS)) { - OnDiscoveryTimeoutChanged(Preferences::GetUint(PREF_PRESENTATION_DISCOVERY_TIMEOUT_MS)); - } else if (data.EqualsLiteral(PREF_PRESENTATION_DISCOVERABLE)) { - OnDiscoverableChanged(Preferences::GetBool(PREF_PRESENTATION_DISCOVERABLE)); - } else if (data.EqualsLiteral(PREF_PRESENTATION_DEVICE_NAME)) { - nsAdoptingCString newServiceName = Preferences::GetCString(PREF_PRESENTATION_DEVICE_NAME); - if (!mServiceName.Equals(newServiceName)) { - OnServiceNameChanged(newServiceName); - } - } - } else if (!strcmp(aTopic, NS_TIMER_CALLBACK_TOPIC)) { - nsCOMPtr timer = do_QueryInterface(aSubject); - if (!timer) { - return NS_ERROR_UNEXPECTED; - } - - if (timer == mDiscoveryTimer) { - StopDiscovery(NS_OK); - } else if (timer == mServerRetryTimer) { - mIsServerRetrying = false; - StartServer(); - } - } - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::OnDiscoveryChanged(bool aEnabled) -{ - LOG_I("DiscoveryEnabled = %d\n", aEnabled); - MOZ_ASSERT(NS_IsMainThread()); - - mDiscoveryEnabled = aEnabled; - - if (mDiscoveryEnabled) { - return ForceDiscovery(); - } - - return StopDiscovery(NS_OK); -} - -nsresult -MulticastDNSDeviceProvider::OnDiscoveryTimeoutChanged(uint32_t aTimeoutMs) -{ - LOG_I("OnDiscoveryTimeoutChanged = %d\n", aTimeoutMs); - MOZ_ASSERT(NS_IsMainThread()); - - mDiscoveryTimeoutMs = aTimeoutMs; - - return NS_OK; -} - -nsresult -MulticastDNSDeviceProvider::OnDiscoverableChanged(bool aEnabled) -{ - LOG_I("Discoverable = %d\n", aEnabled); - MOZ_ASSERT(NS_IsMainThread()); - - mDiscoverable = aEnabled; - - if (mDiscoverable) { - return StartServer(); - } - - return StopServer(); -} - -nsresult -MulticastDNSDeviceProvider::OnServiceNameChanged(const nsACString& aServiceName) -{ - LOG_I("serviceName = %s\n", PromiseFlatCString(aServiceName).get()); - MOZ_ASSERT(NS_IsMainThread()); - - mServiceName = aServiceName; - - nsresult rv; - if (NS_WARN_IF(NS_FAILED(rv = UnregisterMDNSService(NS_OK)))) { - return rv; - } - - if (mDiscoverable) { - return RegisterMDNSService(); - } - - return NS_OK; -} - -// MulticastDNSDeviceProvider::Device -NS_IMPL_ISUPPORTS(MulticastDNSDeviceProvider::Device, - nsIPresentationDevice) - -// nsIPresentationDevice -NS_IMETHODIMP -MulticastDNSDeviceProvider::Device::GetId(nsACString& aId) -{ - aId = mId; - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::Device::GetName(nsACString& aName) -{ - aName = mName; - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::Device::GetType(nsACString& aType) -{ - aType = mType; - - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::Device::EstablishControlChannel( - nsIPresentationControlChannel** aRetVal) -{ - if (!mProvider) { - return NS_ERROR_FAILURE; - } - - return mProvider->Connect(this, aRetVal); -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::Device::Disconnect() -{ - // No need to do anything when disconnect. - return NS_OK; -} - -NS_IMETHODIMP -MulticastDNSDeviceProvider::Device::IsRequestedUrlSupported( - const nsAString& aRequestedUrl, - bool* aRetVal) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!aRetVal) { - return NS_ERROR_INVALID_POINTER; - } - - // TV 2.6 also supports presentation Apps and HTTP/HTTPS hosted receiver page. - if (DeviceProviderHelpers::IsFxTVSupportedAppUrl(aRequestedUrl) || - DeviceProviderHelpers::IsCommonlySupportedScheme(aRequestedUrl)) { - *aRetVal = true; - } - - return NS_OK; -} - -} // namespace presentation -} // namespace dom -} // namespace mozilla diff --git a/dom/presentation/provider/MulticastDNSDeviceProvider.h b/dom/presentation/provider/MulticastDNSDeviceProvider.h deleted file mode 100644 index c6a91b3d81..0000000000 --- a/dom/presentation/provider/MulticastDNSDeviceProvider.h +++ /dev/null @@ -1,225 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* 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/. */ - -#ifndef mozilla_dom_presentation_provider_MulticastDNSDeviceProvider_h -#define mozilla_dom_presentation_provider_MulticastDNSDeviceProvider_h - -#include "mozilla/RefPtr.h" -#include "nsCOMPtr.h" -#include "nsICancelable.h" -#include "nsIDNSServiceDiscovery.h" -#include "nsIObserver.h" -#include "nsIPresentationDevice.h" -#include "nsIPresentationDeviceProvider.h" -#include "nsIPresentationControlService.h" -#include "nsITimer.h" -#include "nsString.h" -#include "nsTArray.h" -#include "nsWeakPtr.h" - -class nsITCPDeviceInfo; - -namespace mozilla { -namespace dom { -namespace presentation { - -class DNSServiceWrappedListener; -class MulticastDNSService; - -class MulticastDNSDeviceProvider final - : public nsIPresentationDeviceProvider - , public nsIDNSServiceDiscoveryListener - , public nsIDNSRegistrationListener - , public nsIDNSServiceResolveListener - , public nsIPresentationControlServerListener - , public nsIObserver -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICEPROVIDER - NS_DECL_NSIDNSSERVICEDISCOVERYLISTENER - NS_DECL_NSIDNSREGISTRATIONLISTENER - NS_DECL_NSIDNSSERVICERESOLVELISTENER - NS_DECL_NSIPRESENTATIONCONTROLSERVERLISTENER - NS_DECL_NSIOBSERVER - - explicit MulticastDNSDeviceProvider() = default; - nsresult Init(); - nsresult Uninit(); - -private: - enum class DeviceState : uint32_t { - eUnknown, - eActive - }; - - class Device final : public nsIPresentationDevice - { - public: - NS_DECL_ISUPPORTS - NS_DECL_NSIPRESENTATIONDEVICE - - explicit Device(const nsACString& aId, - const nsACString& aName, - const nsACString& aType, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint, - DeviceState aState, - MulticastDNSDeviceProvider* aProvider) - : mId(aId) - , mName(aName) - , mType(aType) - , mAddress(aAddress) - , mPort(aPort) - , mCertFingerprint(aCertFingerprint) - , mState(aState) - , mProvider(aProvider) - { - } - - const nsCString& Id() const - { - return mId; - } - - const nsCString& Address() const - { - return mAddress; - } - - uint16_t Port() const - { - return mPort; - } - - const nsCString& CertFingerprint() const - { - return mCertFingerprint; - } - - DeviceState State() const - { - return mState; - } - - void ChangeState(DeviceState aState) - { - mState = aState; - } - - void Update(const nsACString& aName, - const nsACString& aType, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint) - { - mName = aName; - mType = aType; - mAddress = aAddress; - mPort = aPort; - mCertFingerprint = aCertFingerprint; - } - - private: - virtual ~Device() = default; - - nsCString mId; - nsCString mName; - nsCString mType; - nsCString mAddress; - uint16_t mPort; - nsCString mCertFingerprint; - DeviceState mState; - MulticastDNSDeviceProvider* mProvider; - }; - - struct DeviceIdComparator { - bool Equals(const RefPtr& aA, const RefPtr& aB) const { - return aA->Id() == aB->Id(); - } - }; - - struct DeviceAddressComparator { - bool Equals(const RefPtr& aA, const RefPtr& aB) const { - return aA->Address() == aB->Address(); - } - }; - - virtual ~MulticastDNSDeviceProvider(); - nsresult StartServer(); - nsresult StopServer(); - void AbortServerRetry(); - nsresult RegisterMDNSService(); - nsresult UnregisterMDNSService(nsresult aReason); - nsresult StopDiscovery(nsresult aReason); - nsresult Connect(Device* aDevice, - nsIPresentationControlChannel** aRetVal); - bool IsCompatibleServer(nsIDNSServiceInfo* aServiceInfo); - - // device manipulation - nsresult AddDevice(const nsACString& aId, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint); - nsresult UpdateDevice(const uint32_t aIndex, - const nsACString& aServiceName, - const nsACString& aServiceType, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint); - nsresult RemoveDevice(const uint32_t aIndex); - bool FindDeviceById(const nsACString& aId, - uint32_t& aIndex); - - bool FindDeviceByAddress(const nsACString& aAddress, - uint32_t& aIndex); - - already_AddRefed - GetOrCreateDevice(nsITCPDeviceInfo* aDeviceInfo); - - void MarkAllDevicesUnknown(); - void ClearUnknownDevices(); - void ClearDevices(); - - // preferences - nsresult OnDiscoveryChanged(bool aEnabled); - nsresult OnDiscoveryTimeoutChanged(uint32_t aTimeoutMs); - nsresult OnDiscoverableChanged(bool aEnabled); - nsresult OnServiceNameChanged(const nsACString& aServiceName); - - bool mInitialized = false; - nsWeakPtr mDeviceListener; - nsCOMPtr mPresentationService; - nsCOMPtr mMulticastDNS; - RefPtr mWrappedListener; - - nsCOMPtr mDiscoveryRequest; - nsCOMPtr mRegisterRequest; - - nsTArray> mDevices; - - bool mDiscoveryEnabled = false; - bool mIsDiscovering = false; - uint32_t mDiscoveryTimeoutMs; - nsCOMPtr mDiscoveryTimer; - - bool mDiscoverable = false; - bool mDiscoverableEncrypted = false; - bool mIsServerRetrying = false; - uint32_t mServerRetryMs; - nsCOMPtr mServerRetryTimer; - - nsCString mServiceName; - nsCString mRegisteredName; -}; - -} // namespace presentation -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_presentation_provider_MulticastDNSDeviceProvider_h diff --git a/dom/presentation/provider/PresentationControlService.js b/dom/presentation/provider/PresentationControlService.js deleted file mode 100644 index e9f92247f4..0000000000 --- a/dom/presentation/provider/PresentationControlService.js +++ /dev/null @@ -1,960 +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 http://mozilla.org/MPL/2.0/. */ -/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ -/* globals Components, dump */ -"use strict"; - -const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; - -/* globals XPCOMUtils */ -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); -/* globals Services */ -Cu.import("resource://gre/modules/Services.jsm"); -/* globals NetUtil */ -Cu.import("resource://gre/modules/NetUtil.jsm"); -/* globals setTimeout, clearTimeout */ -Cu.import("resource://gre/modules/Timer.jsm"); - -/* globals ControllerStateMachine */ -XPCOMUtils.defineLazyModuleGetter(this, "ControllerStateMachine", // jshint ignore:line - "resource://gre/modules/presentation/ControllerStateMachine.jsm"); -/* global ReceiverStateMachine */ -XPCOMUtils.defineLazyModuleGetter(this, "ReceiverStateMachine", // jshint ignore:line - "resource://gre/modules/presentation/ReceiverStateMachine.jsm"); - -const kProtocolVersion = 1; // need to review isCompatibleServer while fiddling the version number. -const kLocalCertName = "presentation"; - -const DEBUG = Services.prefs.getBoolPref("dom.presentation.tcp_server.debug"); -function log(aMsg) { - dump("-*- PresentationControlService.js: " + aMsg + "\n"); -} - -function TCPDeviceInfo(aAddress, aPort, aId, aCertFingerprint) { - this.address = aAddress; - this.port = aPort; - this.id = aId; - this.certFingerprint = aCertFingerprint || ""; -} - -function PresentationControlService() { - this._id = null; - this._port = 0; - this._serverSocket = null; -} - -PresentationControlService.prototype = { - /** - * If a user agent connects to this server, we create a control channel but - * hand it to |TCPDevice.listener| when the initial information exchange - * finishes. Therefore, we hold the control channels in this period. - */ - _controlChannels: [], - - startServer: function(aEncrypted, aPort) { - if (this._isServiceInit()) { - DEBUG && log("PresentationControlService - server socket has been initialized"); // jshint ignore:line - throw Cr.NS_ERROR_FAILURE; - } - - /** - * 0 or undefined indicates opt-out parameter, and a port will be selected - * automatically. - */ - let serverSocketPort = (typeof aPort !== "undefined" && aPort !== 0) ? aPort : -1; - - if (aEncrypted) { - let self = this; - let localCertService = Cc["@mozilla.org/security/local-cert-service;1"] - .getService(Ci.nsILocalCertService); - localCertService.getOrCreateCert(kLocalCertName, { - handleCert: function(aCert, aRv) { - DEBUG && log("PresentationControlService - handleCert"); // jshint ignore:line - if (aRv) { - self._notifyServerStopped(aRv); - } else { - self._serverSocket = Cc["@mozilla.org/network/tls-server-socket;1"] - .createInstance(Ci.nsITLSServerSocket); - - self._serverSocketInit(serverSocketPort, aCert); - } - } - }); - } else { - this._serverSocket = Cc["@mozilla.org/network/server-socket;1"] - .createInstance(Ci.nsIServerSocket); - - this._serverSocketInit(serverSocketPort, null); - } - }, - - _serverSocketInit: function(aPort, aCert) { - if (!this._serverSocket) { - DEBUG && log("PresentationControlService - create server socket fail."); // jshint ignore:line - throw Cr.NS_ERROR_FAILURE; - } - - try { - this._serverSocket.init(aPort, false, -1); - - if (aCert) { - this._serverSocket.serverCert = aCert; - this._serverSocket.setSessionTickets(false); - let requestCert = Ci.nsITLSServerSocket.REQUEST_NEVER; - this._serverSocket.setRequestClientCertificate(requestCert); - } - - this._serverSocket.asyncListen(this); - } catch (e) { - // NS_ERROR_SOCKET_ADDRESS_IN_USE - DEBUG && log("PresentationControlService - init server socket fail: " + e); // jshint ignore:line - throw Cr.NS_ERROR_FAILURE; - } - - this._port = this._serverSocket.port; - - DEBUG && log("PresentationControlService - service start on port: " + this._port); // jshint ignore:line - - // Monitor network interface change to restart server socket. - Services.obs.addObserver(this, "network:offline-status-changed", false); - - this._notifyServerReady(); - }, - - _notifyServerReady: function() { - Services.tm.mainThread.dispatch(() => { - if (this._listener) { - this._listener.onServerReady(this._port, this.certFingerprint); - } - }, Ci.nsIThread.DISPATCH_NORMAL); - }, - - _notifyServerStopped: function(aRv) { - Services.tm.mainThread.dispatch(() => { - if (this._listener) { - this._listener.onServerStopped(aRv); - } - }, Ci.nsIThread.DISPATCH_NORMAL); - }, - - isCompatibleServer: function(aVersion) { - // No compatibility issue for the first version of control protocol - return this.version === aVersion; - }, - - get id() { - return this._id; - }, - - set id(aId) { - this._id = aId; - }, - - get port() { - return this._port; - }, - - get version() { - return kProtocolVersion; - }, - - get certFingerprint() { - if (!this._serverSocket.serverCert) { - return null; - } - - return this._serverSocket.serverCert.sha256Fingerprint; - }, - - set listener(aListener) { - this._listener = aListener; - }, - - get listener() { - return this._listener; - }, - - _isServiceInit: function() { - return this._serverSocket !== null; - }, - - connect: function(aDeviceInfo) { - if (!this.id) { - DEBUG && log("PresentationControlService - Id has not initialized; connect fails"); // jshint ignore:line - return null; - } - DEBUG && log("PresentationControlService - connect to " + aDeviceInfo.id); // jshint ignore:line - - let socketTransport = this._attemptConnect(aDeviceInfo); - return new TCPControlChannel(this, - socketTransport, - aDeviceInfo, - "sender"); - }, - - _attemptConnect: function(aDeviceInfo) { - let sts = Cc["@mozilla.org/network/socket-transport-service;1"] - .getService(Ci.nsISocketTransportService); - - let socketTransport; - try { - if (aDeviceInfo.certFingerprint) { - let overrideService = Cc["@mozilla.org/security/certoverride;1"] - .getService(Ci.nsICertOverrideService); - overrideService.rememberTemporaryValidityOverrideUsingFingerprint( - aDeviceInfo.address, - aDeviceInfo.port, - aDeviceInfo.certFingerprint, - Ci.nsICertOverrideService.ERROR_UNTRUSTED | Ci.nsICertOverrideService.ERROR_MISMATCH); - - socketTransport = sts.createTransport(["ssl"], - 1, - aDeviceInfo.address, - aDeviceInfo.port, - null); - } else { - socketTransport = sts.createTransport(null, - 0, - aDeviceInfo.address, - aDeviceInfo.port, - null); - } - // Shorten the connection failure procedure. - socketTransport.setTimeout(Ci.nsISocketTransport.TIMEOUT_CONNECT, 2); - } catch (e) { - DEBUG && log("PresentationControlService - createTransport throws: " + e); // jshint ignore:line - // Pop the exception to |TCPDevice.establishControlChannel| - throw Cr.NS_ERROR_FAILURE; - } - return socketTransport; - }, - - responseSession: function(aDeviceInfo, aSocketTransport) { - if (!this._isServiceInit()) { - DEBUG && log("PresentationControlService - should never receive remote " + - "session request before server socket initialization"); // jshint ignore:line - return null; - } - DEBUG && log("PresentationControlService - responseSession to " + - JSON.stringify(aDeviceInfo)); // jshint ignore:line - return new TCPControlChannel(this, - aSocketTransport, - aDeviceInfo, - "receiver"); - }, - - // Triggered by TCPControlChannel - onSessionRequest: function(aDeviceInfo, aUrl, aPresentationId, aControlChannel) { - DEBUG && log("PresentationControlService - onSessionRequest: " + - aDeviceInfo.address + ":" + aDeviceInfo.port); // jshint ignore:line - if (!this.listener) { - this.releaseControlChannel(aControlChannel); - return; - } - - this.listener.onSessionRequest(aDeviceInfo, - aUrl, - aPresentationId, - aControlChannel); - this.releaseControlChannel(aControlChannel); - }, - - onSessionTerminate: function(aDeviceInfo, aPresentationId, aControlChannel, aIsFromReceiver) { - DEBUG && log("TCPPresentationServer - onSessionTerminate: " + - aDeviceInfo.address + ":" + aDeviceInfo.port); // jshint ignore:line - if (!this.listener) { - this.releaseControlChannel(aControlChannel); - return; - } - - this.listener.onTerminateRequest(aDeviceInfo, - aPresentationId, - aControlChannel, - aIsFromReceiver); - this.releaseControlChannel(aControlChannel); - }, - - onSessionReconnect: function(aDeviceInfo, aUrl, aPresentationId, aControlChannel) { - DEBUG && log("TCPPresentationServer - onSessionReconnect: " + - aDeviceInfo.address + ":" + aDeviceInfo.port); // jshint ignore:line - if (!this.listener) { - this.releaseControlChannel(aControlChannel); - return; - } - - this.listener.onReconnectRequest(aDeviceInfo, - aUrl, - aPresentationId, - aControlChannel); - this.releaseControlChannel(aControlChannel); - }, - - // nsIServerSocketListener (Triggered by nsIServerSocket.init) - onSocketAccepted: function(aServerSocket, aClientSocket) { - DEBUG && log("PresentationControlService - onSocketAccepted: " + - aClientSocket.host + ":" + aClientSocket.port); // jshint ignore:line - let deviceInfo = new TCPDeviceInfo(aClientSocket.host, aClientSocket.port); - this.holdControlChannel(this.responseSession(deviceInfo, aClientSocket)); - }, - - holdControlChannel: function(aControlChannel) { - this._controlChannels.push(aControlChannel); - }, - - releaseControlChannel: function(aControlChannel) { - let index = this._controlChannels.indexOf(aControlChannel); - if (index !== -1) { - delete this._controlChannels[index]; - } - }, - - // nsIServerSocketListener (Triggered by nsIServerSocket.init) - onStopListening: function(aServerSocket, aStatus) { - DEBUG && log("PresentationControlService - onStopListening: " + aStatus); // jshint ignore:line - }, - - close: function() { - DEBUG && log("PresentationControlService - close"); // jshint ignore:line - if (this._isServiceInit()) { - DEBUG && log("PresentationControlService - close server socket"); // jshint ignore:line - this._serverSocket.close(); - this._serverSocket = null; - - Services.obs.removeObserver(this, "network:offline-status-changed"); - - this._notifyServerStopped(Cr.NS_OK); - } - this._port = 0; - }, - - // nsIObserver - observe: function(aSubject, aTopic, aData) { - DEBUG && log("PresentationControlService - observe: " + aTopic); // jshint ignore:line - switch (aTopic) { - case "network:offline-status-changed": { - if (aData == "offline") { - DEBUG && log("network offline"); // jshint ignore:line - return; - } - this._restartServer(); - break; - } - } - }, - - _restartServer: function() { - DEBUG && log("PresentationControlService - restart service"); // jshint ignore:line - - // restart server socket - if (this._isServiceInit()) { - this.close(); - - try { - this.startServer(); - } catch (e) { - DEBUG && log("PresentationControlService - restart service fail: " + e); // jshint ignore:line - } - } - }, - - classID: Components.ID("{f4079b8b-ede5-4b90-a112-5b415a931deb}"), - QueryInterface : XPCOMUtils.generateQI([Ci.nsIServerSocketListener, - Ci.nsIPresentationControlService, - Ci.nsIObserver]), -}; - -function ChannelDescription(aInit) { - this._type = aInit.type; - switch (this._type) { - case Ci.nsIPresentationChannelDescription.TYPE_TCP: - this._tcpAddresses = Cc["@mozilla.org/array;1"] - .createInstance(Ci.nsIMutableArray); - for (let address of aInit.tcpAddress) { - let wrapper = Cc["@mozilla.org/supports-cstring;1"] - .createInstance(Ci.nsISupportsCString); - wrapper.data = address; - this._tcpAddresses.appendElement(wrapper, false); - } - - this._tcpPort = aInit.tcpPort; - break; - case Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL: - this._dataChannelSDP = aInit.dataChannelSDP; - break; - } -} - -ChannelDescription.prototype = { - _type: 0, - _tcpAddresses: null, - _tcpPort: 0, - _dataChannelSDP: "", - - get type() { - return this._type; - }, - - get tcpAddress() { - return this._tcpAddresses; - }, - - get tcpPort() { - return this._tcpPort; - }, - - get dataChannelSDP() { - return this._dataChannelSDP; - }, - - classID: Components.ID("{82507aea-78a2-487e-904a-858a6c5bf4e1}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationChannelDescription]), -}; - -// Helper function: transfer nsIPresentationChannelDescription to json -function discriptionAsJson(aDescription) { - let json = {}; - json.type = aDescription.type; - switch(aDescription.type) { - case Ci.nsIPresentationChannelDescription.TYPE_TCP: - let addresses = aDescription.tcpAddress.QueryInterface(Ci.nsIArray); - json.tcpAddress = []; - for (let idx = 0; idx < addresses.length; idx++) { - let address = addresses.queryElementAt(idx, Ci.nsISupportsCString); - json.tcpAddress.push(address.data); - } - json.tcpPort = aDescription.tcpPort; - break; - case Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL: - json.dataChannelSDP = aDescription.dataChannelSDP; - break; - } - return json; -} - -const kDisconnectTimeout = 5000; -const kTerminateTimeout = 5000; - -function TCPControlChannel(presentationService, - transport, - deviceInfo, - direction) { - DEBUG && log("create TCPControlChannel for : " + direction); // jshint ignore:line - this._deviceInfo = deviceInfo; - this._direction = direction; - this._transport = transport; - - this._presentationService = presentationService; - - if (direction === "receiver") { - // Need to set security observer before I/O stream operation. - this._setSecurityObserver(this); - } - - let currentThread = Services.tm.currentThread; - transport.setEventSink(this, currentThread); - - this._input = this._transport.openInputStream(0, 0, 0) - .QueryInterface(Ci.nsIAsyncInputStream); - this._input.asyncWait(this.QueryInterface(Ci.nsIStreamListener), - Ci.nsIAsyncInputStream.WAIT_CLOSURE_ONLY, - 0, - currentThread); - - this._output = this._transport - .openOutputStream(Ci.nsITransport.OPEN_UNBUFFERED, 0, 0) - .QueryInterface(Ci.nsIAsyncOutputStream); - - this._outgoingMsgs = []; - - - this._stateMachine = - (direction === "sender") ? new ControllerStateMachine(this, presentationService.id) - : new ReceiverStateMachine(this); - - if (direction === "receiver" && !transport.securityInfo) { - // Since the transport created by server socket is already CONNECTED_TO. - this._outgoingEnabled = true; - this._createInputStreamPump(); - } -} - -TCPControlChannel.prototype = { - _outgoingEnabled: false, - _incomingEnabled: false, - _pendingOpen: false, - _pendingOffer: null, - _pendingAnswer: null, - _pendingClose: null, - _pendingCloseReason: null, - _pendingReconnect: false, - - sendOffer: function(aOffer) { - this._stateMachine.sendOffer(discriptionAsJson(aOffer)); - }, - - sendAnswer: function(aAnswer) { - this._stateMachine.sendAnswer(discriptionAsJson(aAnswer)); - }, - - sendIceCandidate: function(aCandidate) { - this._stateMachine.updateIceCandidate(aCandidate); - }, - - launch: function(aPresentationId, aUrl) { - this._stateMachine.launch(aPresentationId, aUrl); - }, - - terminate: function(aPresentationId) { - if (!this._terminatingId) { - this._terminatingId = aPresentationId; - this._stateMachine.terminate(aPresentationId); - - // Start a guard timer to ensure terminateAck is processed. - this._terminateTimer = setTimeout(() => { - DEBUG && log("TCPControlChannel - terminate timeout: " + aPresentationId); // jshint ignore:line - delete this._terminateTimer; - if (this._pendingDisconnect) { - this._pendingDisconnect(); - } else { - this.disconnect(Cr.NS_OK); - } - }, kTerminateTimeout); - } else { - this._stateMachine.terminateAck(aPresentationId); - delete this._terminatingId; - } - }, - - _flushOutgoing: function() { - if (!this._outgoingEnabled || this._outgoingMsgs.length === 0) { - return; - } - - this._output.asyncWait(this, 0, 0, Services.tm.currentThread); - }, - - // may throw an exception - _send: function(aMsg) { - DEBUG && log("TCPControlChannel - Send: " + JSON.stringify(aMsg, null, 2)); // jshint ignore:line - - /** - * XXX In TCP streaming, it is possible that more than one message in one - * TCP packet. We use line delimited JSON to identify where one JSON encoded - * object ends and the next begins. Therefore, we do not allow newline - * characters whithin the whole message, and add a newline at the end. - * Please see the parser code in |onDataAvailable|. - */ - let message = JSON.stringify(aMsg).replace(["\n"], "") + "\n"; - try { - this._output.write(message, message.length); - } catch(e) { - DEBUG && log("TCPControlChannel - Failed to send message: " + e.name); // jshint ignore:line - throw e; - } - }, - - _setSecurityObserver: function(observer) { - if (this._transport && this._transport.securityInfo) { - DEBUG && log("TCPControlChannel - setSecurityObserver: " + observer); // jshint ignore:line - let connectionInfo = this._transport.securityInfo - .QueryInterface(Ci.nsITLSServerConnectionInfo); - connectionInfo.setSecurityObserver(observer); - } - }, - - // nsITLSServerSecurityObserver - onHandshakeDone: function(socket, clientStatus) { - log("TCPControlChannel - onHandshakeDone: TLS version: " + clientStatus.tlsVersionUsed.toString(16)); - this._setSecurityObserver(null); - - // Process input/output after TLS handshake is complete. - this._outgoingEnabled = true; - this._createInputStreamPump(); - }, - - // nsIAsyncOutputStream - onOutputStreamReady: function() { - DEBUG && log("TCPControlChannel - onOutputStreamReady"); // jshint ignore:line - if (this._outgoingMsgs.length === 0) { - return; - } - - try { - this._send(this._outgoingMsgs[0]); - } catch (e) { - if (e.result === Cr.NS_BASE_STREAM_WOULD_BLOCK) { - this._output.asyncWait(this, 0, 0, Services.tm.currentThread); - return; - } - - this._closeTransport(); - return; - } - this._outgoingMsgs.shift(); - this._flushOutgoing(); - }, - - // nsIAsyncInputStream (Triggered by nsIInputStream.asyncWait) - // Only used for detecting connection refused - onInputStreamReady: function(aStream) { - DEBUG && log("TCPControlChannel - onInputStreamReady"); // jshint ignore:line - try { - aStream.available(); - } catch (e) { - DEBUG && log("TCPControlChannel - onInputStreamReady error: " + e.name); // jshint ignore:line - // NS_ERROR_CONNECTION_REFUSED - this._notifyDisconnected(e.result); - } - }, - - // nsITransportEventSink (Triggered by nsISocketTransport.setEventSink) - onTransportStatus: function(aTransport, aStatus) { - DEBUG && log("TCPControlChannel - onTransportStatus: " + aStatus.toString(16) + - " with role: " + this._direction); // jshint ignore:line - if (aStatus === Ci.nsISocketTransport.STATUS_CONNECTED_TO) { - this._outgoingEnabled = true; - this._createInputStreamPump(); - } - }, - - // nsIRequestObserver (Triggered by nsIInputStreamPump.asyncRead) - onStartRequest: function() { - DEBUG && log("TCPControlChannel - onStartRequest with role: " + - this._direction); // jshint ignore:line - this._incomingEnabled = true; - }, - - // nsIRequestObserver (Triggered by nsIInputStreamPump.asyncRead) - onStopRequest: function(aRequest, aContext, aStatus) { - DEBUG && log("TCPControlChannel - onStopRequest: " + aStatus + - " with role: " + this._direction); // jshint ignore:line - this._stateMachine.onChannelClosed(aStatus, true); - }, - - // nsIStreamListener (Triggered by nsIInputStreamPump.asyncRead) - onDataAvailable: function(aRequest, aContext, aInputStream) { - let data = NetUtil.readInputStreamToString(aInputStream, - aInputStream.available()); - DEBUG && log("TCPControlChannel - onDataAvailable: " + data); // jshint ignore:line - - // Parser of line delimited JSON. Please see |_send| for more informaiton. - let jsonArray = data.split("\n"); - jsonArray.pop(); - for (let json of jsonArray) { - let msg; - try { - msg = JSON.parse(json); - } catch (e) { - DEBUG && log("TCPSignalingChannel - error in parsing json: " + e); // jshint ignore:line - } - - this._handleMessage(msg); - } - }, - - _createInputStreamPump: function() { - if (this._pump) { - return; - } - - DEBUG && log("TCPControlChannel - create pump with role: " + - this._direction); // jshint ignore:line - this._pump = Cc["@mozilla.org/network/input-stream-pump;1"]. - createInstance(Ci.nsIInputStreamPump); - this._pump.init(this._input, -1, -1, 0, 0, false); - this._pump.asyncRead(this, null); - this._stateMachine.onChannelReady(); - }, - - // Handle command from remote side - _handleMessage: function(aMsg) { - DEBUG && log("TCPControlChannel - handleMessage from " + - JSON.stringify(this._deviceInfo) + ": " + JSON.stringify(aMsg)); // jshint ignore:line - this._stateMachine.onCommand(aMsg); - }, - - get listener() { - return this._listener; - }, - - set listener(aListener) { - DEBUG && log("TCPControlChannel - set listener: " + aListener); // jshint ignore:line - if (!aListener) { - this._listener = null; - return; - } - - this._listener = aListener; - if (this._pendingOpen) { - this._pendingOpen = false; - DEBUG && log("TCPControlChannel - notify pending opened"); // jshint ignore:line - this._listener.notifyConnected(); - } - - if (this._pendingOffer) { - let offer = this._pendingOffer; - DEBUG && log("TCPControlChannel - notify pending offer: " + - JSON.stringify(offer)); // jshint ignore:line - this._listener.onOffer(new ChannelDescription(offer)); - this._pendingOffer = null; - } - - if (this._pendingAnswer) { - let answer = this._pendingAnswer; - DEBUG && log("TCPControlChannel - notify pending answer: " + - JSON.stringify(answer)); // jshint ignore:line - this._listener.onAnswer(new ChannelDescription(answer)); - this._pendingAnswer = null; - } - - if (this._pendingClose) { - DEBUG && log("TCPControlChannel - notify pending closed"); // jshint ignore:line - this._notifyDisconnected(this._pendingCloseReason); - this._pendingClose = null; - } - - if (this._pendingReconnect) { - DEBUG && log("TCPControlChannel - notify pending reconnected"); // jshint ignore:line - this._notifyReconnected(); - this._pendingReconnect = false; - } - }, - - /** - * These functions are designed to handle the interaction with listener - * appropriately. |_FUNC| is to handle |this._listener.FUNC|. - */ - _onOffer: function(aOffer) { - if (!this._incomingEnabled) { - return; - } - if (!this._listener) { - this._pendingOffer = aOffer; - return; - } - DEBUG && log("TCPControlChannel - notify offer: " + - JSON.stringify(aOffer)); // jshint ignore:line - this._listener.onOffer(new ChannelDescription(aOffer)); - }, - - _onAnswer: function(aAnswer) { - if (!this._incomingEnabled) { - return; - } - if (!this._listener) { - this._pendingAnswer = aAnswer; - return; - } - DEBUG && log("TCPControlChannel - notify answer: " + - JSON.stringify(aAnswer)); // jshint ignore:line - this._listener.onAnswer(new ChannelDescription(aAnswer)); - }, - - _notifyConnected: function() { - this._pendingClose = false; - this._pendingCloseReason = Cr.NS_OK; - - if (!this._listener) { - this._pendingOpen = true; - return; - } - - DEBUG && log("TCPControlChannel - notify opened with role: " + - this._direction); // jshint ignore:line - this._listener.notifyConnected(); - }, - - _notifyDisconnected: function(aReason) { - this._pendingOpen = false; - this._pendingOffer = null; - this._pendingAnswer = null; - - // Remote endpoint closes the control channel with abnormal reason. - if (aReason == Cr.NS_OK && this._pendingCloseReason != Cr.NS_OK) { - aReason = this._pendingCloseReason; - } - - if (!this._listener) { - this._pendingClose = true; - this._pendingCloseReason = aReason; - return; - } - - DEBUG && log("TCPControlChannel - notify closed with role: " + - this._direction); // jshint ignore:line - this._listener.notifyDisconnected(aReason); - }, - - _notifyReconnected: function() { - if (!this._listener) { - this._pendingReconnect = true; - return; - } - - DEBUG && log("TCPControlChannel - notify reconnected with role: " + - this._direction); // jshint ignore:line - this._listener.notifyReconnected(); - }, - - _closeOutgoing: function() { - if (this._outgoingEnabled) { - this._output.close(); - this._outgoingEnabled = false; - } - }, - _closeIncoming: function() { - if (this._incomingEnabled) { - this._pump = null; - this._input.close(); - this._incomingEnabled = false; - } - }, - _closeTransport: function() { - if (this._disconnectTimer) { - clearTimeout(this._disconnectTimer); - delete this._disconnectTimer; - } - - if (this._terminateTimer) { - clearTimeout(this._terminateTimer); - delete this._terminateTimer; - } - - delete this._pendingDisconnect; - - this._transport.setEventSink(null, null); - - this._closeIncoming(); - this._closeOutgoing(); - this._presentationService.releaseControlChannel(this); - }, - - disconnect: function(aReason) { - DEBUG && log("TCPControlChannel - disconnect with reason: " + aReason); // jshint ignore:line - - // Pending disconnect during termination procedure. - if (this._terminateTimer) { - // Store only the first disconnect action. - if (!this._pendingDisconnect) { - this._pendingDisconnect = this.disconnect.bind(this, aReason); - } - return; - } - - if (this._outgoingEnabled && !this._disconnectTimer) { - // default reason is NS_OK - aReason = !aReason ? Cr.NS_OK : aReason; - - this._stateMachine.onChannelClosed(aReason, false); - - // Start a guard timer to ensure the transport will be closed. - this._disconnectTimer = setTimeout(() => { - DEBUG && log("TCPControlChannel - disconnect timeout"); // jshint ignore:line - this._closeTransport(); - }, kDisconnectTimeout); - } - }, - - reconnect: function(aPresentationId, aUrl) { - DEBUG && log("TCPControlChannel - reconnect with role: " + - this._direction); // jshint ignore:line - if (this._direction != "sender") { - return Cr.NS_ERROR_FAILURE; - } - - this._stateMachine.reconnect(aPresentationId, aUrl); - }, - - // callback from state machine - sendCommand: function(command) { - this._outgoingMsgs.push(command); - this._flushOutgoing(); - }, - - notifyDeviceConnected: function(deviceId) { - switch (this._direction) { - case "receiver": - this._deviceInfo.id = deviceId; - break; - } - this._notifyConnected(); - }, - - notifyDisconnected: function(reason) { - this._closeTransport(); - this._notifyDisconnected(reason); - }, - - notifyLaunch: function(presentationId, url) { - switch (this._direction) { - case "receiver": - this._presentationService.onSessionRequest(this._deviceInfo, - url, - presentationId, - this); - break; - } - }, - - notifyTerminate: function(presentationId) { - if (!this._terminatingId) { - this._terminatingId = presentationId; - this._presentationService.onSessionTerminate(this._deviceInfo, - presentationId, - this, - this._direction === "sender"); - return; - } - - // Cancel terminate guard timer after receiving terminate-ack. - if (this._terminateTimer) { - clearTimeout(this._terminateTimer); - delete this._terminateTimer; - } - - if (this._terminatingId !== presentationId) { - // Requested presentation Id doesn't matched with the one in ACK. - // Disconnect the control channel with error. - DEBUG && log("TCPControlChannel - unmatched terminatingId: " + presentationId); // jshint ignore:line - this.disconnect(Cr.NS_ERROR_FAILURE); - } - - delete this._terminatingId; - if (this._pendingDisconnect) { - this._pendingDisconnect(); - } - }, - - notifyReconnect: function(presentationId, url) { - switch (this._direction) { - case "receiver": - this._presentationService.onSessionReconnect(this._deviceInfo, - url, - presentationId, - this); - break; - case "sender": - this._notifyReconnected(); - break; - } - }, - - notifyOffer: function(offer) { - this._onOffer(offer); - }, - - notifyAnswer: function(answer) { - this._onAnswer(answer); - }, - - notifyIceCandidate: function(candidate) { - this._listener.onIceCandidate(candidate); - }, - - classID: Components.ID("{fefb8286-0bdc-488b-98bf-0c11b485c955}"), - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel, - Ci.nsIStreamListener]), -}; - -this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PresentationControlService]); // jshint ignore:line diff --git a/dom/presentation/provider/PresentationDeviceProviderModule.cpp b/dom/presentation/provider/PresentationDeviceProviderModule.cpp deleted file mode 100644 index 9c084e7dbb..0000000000 --- a/dom/presentation/provider/PresentationDeviceProviderModule.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "DisplayDeviceProvider.h" -#include "MulticastDNSDeviceProvider.h" -#include "mozilla/ModuleUtils.h" - -#ifdef MOZ_WIDGET_ANDROID -#include "LegacyMDNSDeviceProvider.h" -#endif //MOZ_WIDGET_ANDROID - -#define MULTICAST_DNS_PROVIDER_CID \ - {0x814f947a, 0x52f7, 0x41c9, \ - { 0x94, 0xa1, 0x36, 0x84, 0x79, 0x72, 0x84, 0xac }} -#define DISPLAY_DEVICE_PROVIDER_CID \ - { 0x515d9879, 0xfe0b, 0x4d9f, \ - { 0x89, 0x49, 0x7f, 0xa7, 0x65, 0x6c, 0x01, 0x0e } } - -#ifdef MOZ_WIDGET_ANDROID -#define LEGACY_MDNS_PROVIDER_CID \ - { 0x6885ff39, 0xd98c, 0x4356, \ - { 0x9e, 0xb3, 0x56, 0x56, 0x31, 0x63, 0x0a, 0xf6 } } -#endif //MOZ_WIDGET_ANDROID - -#define DISPLAY_DEVICE_PROVIDER_CONTRACT_ID "@mozilla.org/presentation-device/displaydevice-provider;1" -#define MULTICAST_DNS_PROVIDER_CONTRACT_ID "@mozilla.org/presentation-device/multicastdns-provider;1" - -#ifdef MOZ_WIDGET_ANDROID -#define LEGACY_MDNS_PROVIDER_CONTRACT_ID "@mozilla.org/presentation-device/legacy-mdns-provider;1" -#endif //MOZ_WIDGET_ANDROID - -using mozilla::dom::presentation::MulticastDNSDeviceProvider; -using mozilla::dom::presentation::DisplayDeviceProvider; - -#ifdef MOZ_WIDGET_ANDROID -using mozilla::dom::presentation::legacy::LegacyMDNSDeviceProvider; -#endif //MOZ_WIDGET_ANDROID - -NS_GENERIC_FACTORY_CONSTRUCTOR(MulticastDNSDeviceProvider) -NS_DEFINE_NAMED_CID(MULTICAST_DNS_PROVIDER_CID); - -NS_GENERIC_FACTORY_CONSTRUCTOR(DisplayDeviceProvider) -NS_DEFINE_NAMED_CID(DISPLAY_DEVICE_PROVIDER_CID); - -#ifdef MOZ_WIDGET_ANDROID -NS_GENERIC_FACTORY_CONSTRUCTOR(LegacyMDNSDeviceProvider) -NS_DEFINE_NAMED_CID(LEGACY_MDNS_PROVIDER_CID); -#endif //MOZ_WIDGET_ANDROID - -static const mozilla::Module::CIDEntry kPresentationDeviceProviderCIDs[] = { - { &kMULTICAST_DNS_PROVIDER_CID, false, nullptr, MulticastDNSDeviceProviderConstructor }, - { &kDISPLAY_DEVICE_PROVIDER_CID, false, nullptr, DisplayDeviceProviderConstructor }, -#ifdef MOZ_WIDGET_ANDROID - { &kLEGACY_MDNS_PROVIDER_CID, false, nullptr, LegacyMDNSDeviceProviderConstructor }, -#endif //MOZ_WIDGET_ANDROID - { nullptr } -}; - -static const mozilla::Module::ContractIDEntry kPresentationDeviceProviderContracts[] = { - { MULTICAST_DNS_PROVIDER_CONTRACT_ID, &kMULTICAST_DNS_PROVIDER_CID }, - { DISPLAY_DEVICE_PROVIDER_CONTRACT_ID, &kDISPLAY_DEVICE_PROVIDER_CID }, -#ifdef MOZ_WIDGET_ANDROID - { LEGACY_MDNS_PROVIDER_CONTRACT_ID, &kLEGACY_MDNS_PROVIDER_CID }, -#endif //MOZ_WIDGET_ANDROID - { nullptr } -}; - -static const mozilla::Module::CategoryEntry kPresentationDeviceProviderCategories[] = { -#if defined(MOZ_WIDGET_COCOA) || defined(MOZ_WIDGET_ANDROID) - { PRESENTATION_DEVICE_PROVIDER_CATEGORY, "MulticastDNSDeviceProvider", MULTICAST_DNS_PROVIDER_CONTRACT_ID }, -#endif -#ifdef MOZ_WIDGET_ANDROID - { PRESENTATION_DEVICE_PROVIDER_CATEGORY, "LegacyMDNSDeviceProvider", LEGACY_MDNS_PROVIDER_CONTRACT_ID }, -#endif //MOZ_WIDGET_ANDROID - { nullptr } -}; - -static const mozilla::Module kPresentationDeviceProviderModule = { - mozilla::Module::kVersion, - kPresentationDeviceProviderCIDs, - kPresentationDeviceProviderContracts, - kPresentationDeviceProviderCategories -}; - -NSMODULE_DEFN(PresentationDeviceProviderModule) = &kPresentationDeviceProviderModule; diff --git a/dom/presentation/provider/ReceiverStateMachine.jsm b/dom/presentation/provider/ReceiverStateMachine.jsm deleted file mode 100644 index 23ebb5a4e2..0000000000 --- a/dom/presentation/provider/ReceiverStateMachine.jsm +++ /dev/null @@ -1,238 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 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/. */ -/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ -/* globals Components, dump */ - -"use strict"; - -this.EXPORTED_SYMBOLS = ["ReceiverStateMachine"]; // jshint ignore:line - -const { utils: Cu } = Components; - -/* globals State, CommandType */ -Cu.import("resource://gre/modules/presentation/StateMachineHelper.jsm"); - -const DEBUG = false; -function debug(str) { - dump("-*- ReceiverStateMachine: " + str + "\n"); -} - -var handlers = [ - function _initHandler(stateMachine, command) { - // shouldn't receive any command at init state - DEBUG && debug("unexpected command: " + JSON.stringify(command)); // jshint ignore:line - }, - function _connectingHandler(stateMachine, command) { - switch (command.type) { - case CommandType.CONNECT: - stateMachine._sendCommand({ - type: CommandType.CONNECT_ACK - }); - stateMachine.state = State.CONNECTED; - stateMachine._notifyDeviceConnected(command.deviceId); - break; - case CommandType.DISCONNECT: - stateMachine.state = State.CLOSED; - stateMachine._notifyDisconnected(command.reason); - break; - default: - debug("unexpected command: " + JSON.stringify(command)); - // ignore unexpected command - break; - } - }, - function _connectedHandler(stateMachine, command) { - switch (command.type) { - case CommandType.DISCONNECT: - stateMachine.state = State.CLOSED; - stateMachine._notifyDisconnected(command.reason); - break; - case CommandType.LAUNCH: - stateMachine._notifyLaunch(command.presentationId, - command.url); - stateMachine._sendCommand({ - type: CommandType.LAUNCH_ACK, - presentationId: command.presentationId - }); - break; - case CommandType.TERMINATE: - stateMachine._notifyTerminate(command.presentationId); - break; - case CommandType.TERMINATE_ACK: - stateMachine._notifyTerminate(command.presentationId); - break; - case CommandType.OFFER: - case CommandType.ICE_CANDIDATE: - stateMachine._notifyChannelDescriptor(command); - break; - case CommandType.RECONNECT: - stateMachine._notifyReconnect(command.presentationId, - command.url); - stateMachine._sendCommand({ - type: CommandType.RECONNECT_ACK, - presentationId: command.presentationId - }); - break; - default: - debug("unexpected command: " + JSON.stringify(command)); - // ignore unexpected command - break; - } - }, - function _closingHandler(stateMachine, command) { - switch (command.type) { - case CommandType.DISCONNECT: - stateMachine.state = State.CLOSED; - stateMachine._notifyDisconnected(command.reason); - break; - default: - debug("unexpected command: " + JSON.stringify(command)); - // ignore unexpected command - break; - } - }, - function _closedHandler(stateMachine, command) { - // ignore every command in closed state. - DEBUG && debug("unexpected command: " + JSON.stringify(command)); // jshint ignore:line - }, -]; - -function ReceiverStateMachine(channel) { - this.state = State.INIT; - this._channel = channel; -} - -ReceiverStateMachine.prototype = { - launch: function _launch() { - // presentation session can only be launched by controlling UA. - debug("receiver shouldn't trigger launch"); - }, - - terminate: function _terminate(presentationId) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.TERMINATE, - presentationId: presentationId, - }); - } - }, - - terminateAck: function _terminateAck(presentationId) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.TERMINATE_ACK, - presentationId: presentationId, - }); - } - }, - - reconnect: function _reconnect() { - debug("receiver shouldn't trigger reconnect"); - }, - - sendOffer: function _sendOffer() { - // offer can only be sent by controlling UA. - debug("receiver shouldn't generate offer"); - }, - - sendAnswer: function _sendAnswer(answer) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.ANSWER, - answer: answer, - }); - } - }, - - updateIceCandidate: function _updateIceCandidate(candidate) { - if (this.state === State.CONNECTED) { - this._sendCommand({ - type: CommandType.ICE_CANDIDATE, - candidate: candidate, - }); - } - }, - - onCommand: function _onCommand(command) { - handlers[this.state](this, command); - }, - - onChannelReady: function _onChannelReady() { - if (this.state === State.INIT) { - this.state = State.CONNECTING; - } - }, - - onChannelClosed: function _onChannelClose(reason, isByRemote) { - switch (this.state) { - case State.CONNECTED: - if (isByRemote) { - this.state = State.CLOSED; - this._notifyDisconnected(reason); - } else { - this._sendCommand({ - type: CommandType.DISCONNECT, - reason: reason - }); - this.state = State.CLOSING; - this._closeReason = reason; - } - break; - case State.CLOSING: - if (isByRemote) { - this.state = State.CLOSED; - if (this._closeReason) { - reason = this._closeReason; - delete this._closeReason; - } - this._notifyDisconnected(reason); - } else { - // do nothing and wait for remote channel closed. - } - break; - default: - DEBUG && debug("unexpected channel close: " + reason + ", " + isByRemote); // jshint ignore:line - break; - } - }, - - _sendCommand: function _sendCommand(command) { - this._channel.sendCommand(command); - }, - - _notifyDeviceConnected: function _notifyDeviceConnected(deviceName) { - this._channel.notifyDeviceConnected(deviceName); - }, - - _notifyDisconnected: function _notifyDisconnected(reason) { - this._channel.notifyDisconnected(reason); - }, - - _notifyLaunch: function _notifyLaunch(presentationId, url) { - this._channel.notifyLaunch(presentationId, url); - }, - - _notifyTerminate: function _notifyTerminate(presentationId) { - this._channel.notifyTerminate(presentationId); - }, - - _notifyReconnect: function _notifyReconnect(presentationId, url) { - this._channel.notifyReconnect(presentationId, url); - }, - - _notifyChannelDescriptor: function _notifyChannelDescriptor(command) { - switch (command.type) { - case CommandType.OFFER: - this._channel.notifyOffer(command.offer); - break; - case CommandType.ICE_CANDIDATE: - this._channel.notifyIceCandidate(command.candidate); - break; - } - }, -}; - -this.ReceiverStateMachine = ReceiverStateMachine; // jshint ignore:line diff --git a/dom/presentation/provider/StateMachineHelper.jsm b/dom/presentation/provider/StateMachineHelper.jsm deleted file mode 100644 index 6e07863d41..0000000000 --- a/dom/presentation/provider/StateMachineHelper.jsm +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 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/. */ -/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */ - -"use strict"; - -this.EXPORTED_SYMBOLS = ["State", "CommandType"]; // jshint ignore:line - -const State = Object.freeze({ - INIT: 0, - CONNECTING: 1, - CONNECTED: 2, - CLOSING: 3, - CLOSED: 4, -}); - -const CommandType = Object.freeze({ - // control channel life cycle - CONNECT: "connect", // { deviceId: } - CONNECT_ACK: "connect-ack", // { presentationId: } - DISCONNECT: "disconnect", // { reason: } - // presentation session life cycle - LAUNCH: "launch", // { presentationId: , url: } - LAUNCH_ACK: "launch-ack", // { presentationId: } - TERMINATE: "terminate", // { presentationId: } - TERMINATE_ACK: "terminate-ack", // { presentationId: } - RECONNECT: "reconnect", // { presentationId: } - RECONNECT_ACK: "reconnect-ack", // { presentationId: } - // session transport establishment - OFFER: "offer", // { offer: } - ANSWER: "answer", // { answer: } - ICE_CANDIDATE: "ice-candidate", // { candidate: } -}); - -this.State = State; // jshint ignore:line -this.CommandType = CommandType; // jshint ignore:line diff --git a/dom/presentation/provider/moz.build b/dom/presentation/provider/moz.build deleted file mode 100644 index 18428b50ed..0000000000 --- a/dom/presentation/provider/moz.build +++ /dev/null @@ -1,40 +0,0 @@ -# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -EXTRA_COMPONENTS += [ - 'BuiltinProviders.manifest', - 'PresentationControlService.js' -] - -UNIFIED_SOURCES += [ - 'DeviceProviderHelpers.cpp', - 'DisplayDeviceProvider.cpp', - 'MulticastDNSDeviceProvider.cpp', - 'PresentationDeviceProviderModule.cpp', -] - -EXTRA_JS_MODULES.presentation += [ - 'ControllerStateMachine.jsm', - 'ReceiverStateMachine.jsm', - 'StateMachineHelper.jsm', -] - -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': - EXTRA_COMPONENTS += [ - # For android presentation device - 'AndroidCastDeviceProvider.js', - 'AndroidCastDeviceProvider.manifest', - # for TV 2.5 device backward capability - 'LegacyPresentationControlService.js', - 'LegacyProviders.manifest', - ] - - UNIFIED_SOURCES += [ - 'LegacyMDNSDeviceProvider.cpp', - ] - -include('/ipc/chromium/chromium-config.mozbuild') -FINAL_LIBRARY = 'xul' diff --git a/dom/presentation/provider/nsTCPDeviceInfo.h b/dom/presentation/provider/nsTCPDeviceInfo.h deleted file mode 100644 index 118f6c8ac2..0000000000 --- a/dom/presentation/provider/nsTCPDeviceInfo.h +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C++; 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/. */ - -#ifndef __TCPDeviceInfo_h__ -#define __TCPDeviceInfo_h__ - -namespace mozilla { -namespace dom { -namespace presentation { - -class TCPDeviceInfo final : public nsITCPDeviceInfo -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSITCPDEVICEINFO - - explicit TCPDeviceInfo(const nsACString& aId, - const nsACString& aAddress, - const uint16_t aPort, - const nsACString& aCertFingerprint) - : mId(aId) - , mAddress(aAddress) - , mPort(aPort) - , mCertFingerprint(aCertFingerprint) - { - } - -private: - virtual ~TCPDeviceInfo() {} - - nsCString mId; - nsCString mAddress; - uint16_t mPort; - nsCString mCertFingerprint; -}; - -NS_IMPL_ISUPPORTS(TCPDeviceInfo, - nsITCPDeviceInfo) - -// nsITCPDeviceInfo -NS_IMETHODIMP -TCPDeviceInfo::GetId(nsACString& aId) -{ - aId = mId; - return NS_OK; -} - -NS_IMETHODIMP -TCPDeviceInfo::GetAddress(nsACString& aAddress) -{ - aAddress = mAddress; - return NS_OK; -} - -NS_IMETHODIMP -TCPDeviceInfo::GetPort(uint16_t* aPort) -{ - *aPort = mPort; - return NS_OK; -} - -NS_IMETHODIMP -TCPDeviceInfo::GetCertFingerprint(nsACString& aCertFingerprint) -{ - aCertFingerprint = mCertFingerprint; - return NS_OK; -} - -} // namespace presentation -} // namespace dom -} // namespace mozilla - -#endif /* !__TCPDeviceInfo_h__ */ - diff --git a/dom/presentation/tests/mochitest/PresentationDeviceInfoChromeScript.js b/dom/presentation/tests/mochitest/PresentationDeviceInfoChromeScript.js deleted file mode 100644 index 2bc069f6b2..0000000000 --- a/dom/presentation/tests/mochitest/PresentationDeviceInfoChromeScript.js +++ /dev/null @@ -1,150 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ -'use strict'; - -const { classes: Cc, interfaces: Ci, utils: Cu } = Components; - -Cu.import('resource://gre/modules/PresentationDeviceInfoManager.jsm'); - -const { XPCOMUtils } = Cu.import('resource://gre/modules/XPCOMUtils.jsm'); - -const manager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - -var testProvider = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceProvider]), - forceDiscovery: function() { - sendAsyncMessage('force-discovery'); - }, - listener: null, -}; - -var testDevice = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - establishControlChannel: function() { - return null; - }, - disconnect: function() {}, - isRequestedUrlSupported: function(requestedUrl) { - return true; - }, - id: null, - name: null, - type: null, - listener: null, -}; - -var testDevice1 = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - id: 'dummyid', - name: 'dummyName', - type: 'dummyType', - establishControlChannel: function(url, presentationId) { - return null; - }, - disconnect: function() {}, - isRequestedUrlSupported: function(requestedUrl) { - return true; - }, -}; - -var testDevice2 = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - id: 'dummyid', - name: 'dummyName', - type: 'dummyType', - establishControlChannel: function(url, presentationId) { - return null; - }, - disconnect: function() {}, - isRequestedUrlSupported: function(requestedUrl) { - return true; - }, -}; - -var mockedDeviceWithoutSupportedURL = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - id: 'dummyid', - name: 'dummyName', - type: 'dummyType', - establishControlChannel: function(url, presentationId) { - return null; - }, - disconnect: function() {}, - isRequestedUrlSupported: function(requestedUrl) { - return false; - }, -}; - -var mockedDeviceSupportHttpsURL = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - id: 'dummyid', - name: 'dummyName', - type: 'dummyType', - establishControlChannel: function(url, presentationId) { - return null; - }, - disconnect: function() {}, - isRequestedUrlSupported: function(requestedUrl) { - if (requestedUrl.indexOf("https://") != -1) { - return true; - } - return false; - }, -}; - -addMessageListener('setup', function() { - manager.addDeviceProvider(testProvider); - - sendAsyncMessage('setup-complete'); -}); - -addMessageListener('trigger-device-add', function(device) { - testDevice.id = device.id; - testDevice.name = device.name; - testDevice.type = device.type; - manager.addDevice(testDevice); -}); - -addMessageListener('trigger-add-unsupport-url-device', function() { - manager.addDevice(mockedDeviceWithoutSupportedURL); -}); - -addMessageListener('trigger-add-multiple-devices', function() { - manager.addDevice(testDevice1); - manager.addDevice(testDevice2); -}); - -addMessageListener('trigger-add-https-devices', function() { - manager.addDevice(mockedDeviceSupportHttpsURL); -}); - - -addMessageListener('trigger-device-update', function(device) { - testDevice.id = device.id; - testDevice.name = device.name; - testDevice.type = device.type; - manager.updateDevice(testDevice); -}); - -addMessageListener('trigger-device-remove', function() { - manager.removeDevice(testDevice); -}); - -addMessageListener('trigger-remove-unsupported-device', function() { - manager.removeDevice(mockedDeviceWithoutSupportedURL); -}); - -addMessageListener('trigger-remove-multiple-devices', function() { - manager.removeDevice(testDevice1); - manager.removeDevice(testDevice2); -}); - -addMessageListener('trigger-remove-https-devices', function() { - manager.removeDevice(mockedDeviceSupportHttpsURL); -}); - -addMessageListener('teardown', function() { - manager.removeDeviceProvider(testProvider); -}); diff --git a/dom/presentation/tests/mochitest/PresentationSessionChromeScript.js b/dom/presentation/tests/mochitest/PresentationSessionChromeScript.js deleted file mode 100644 index 3052bdcb10..0000000000 --- a/dom/presentation/tests/mochitest/PresentationSessionChromeScript.js +++ /dev/null @@ -1,470 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ -'use strict'; - -const { classes: Cc, interfaces: Ci, manager: Cm, utils: Cu, results: Cr } = Components; - -Cu.import('resource://gre/modules/XPCOMUtils.jsm'); -Cu.import('resource://gre/modules/Services.jsm'); -Cu.import('resource://gre/modules/Timer.jsm'); - -const uuidGenerator = Cc["@mozilla.org/uuid-generator;1"] - .getService(Ci.nsIUUIDGenerator); - -function registerMockedFactory(contractId, mockedClassId, mockedFactory) { - var originalClassId, originalFactory; - - var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - if (!registrar.isCIDRegistered(mockedClassId)) { - try { - originalClassId = registrar.contractIDToCID(contractId); - originalFactory = Cm.getClassObject(Cc[contractId], Ci.nsIFactory); - } catch (ex) { - originalClassId = ""; - originalFactory = null; - } - if (originalFactory) { - registrar.unregisterFactory(originalClassId, originalFactory); - } - registrar.registerFactory(mockedClassId, "", contractId, mockedFactory); - } - - return { contractId: contractId, - mockedClassId: mockedClassId, - mockedFactory: mockedFactory, - originalClassId: originalClassId, - originalFactory: originalFactory }; -} - -function registerOriginalFactory(contractId, mockedClassId, mockedFactory, originalClassId, originalFactory) { - if (originalFactory) { - var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - registrar.unregisterFactory(mockedClassId, mockedFactory); - registrar.registerFactory(originalClassId, "", contractId, originalFactory); - } -} - -var sessionId = 'test-session-id-' + uuidGenerator.generateUUID().toString(); - -const address = Cc["@mozilla.org/supports-cstring;1"] - .createInstance(Ci.nsISupportsCString); -address.data = "127.0.0.1"; -const addresses = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); -addresses.appendElement(address, false); - -const mockedChannelDescription = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationChannelDescription]), - get type() { - if (Services.prefs.getBoolPref("dom.presentation.session_transport.data_channel.enable")) { - return Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL; - } - return Ci.nsIPresentationChannelDescription.TYPE_TCP; - }, - tcpAddress: addresses, - tcpPort: 1234, -}; - -const mockedServerSocket = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIServerSocket, - Ci.nsIFactory]), - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - get port() { - return this._port; - }, - set listener(listener) { - this._listener = listener; - }, - init: function(port, loopbackOnly, backLog) { - if (port != -1) { - this._port = port; - } else { - this._port = 5678; - } - }, - asyncListen: function(listener) { - this._listener = listener; - }, - close: function() { - this._listener.onStopListening(this, Cr.NS_BINDING_ABORTED); - }, - simulateOnSocketAccepted: function(serverSocket, socketTransport) { - this._listener.onSocketAccepted(serverSocket, socketTransport); - } -}; - -const mockedSocketTransport = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsISocketTransport]), -}; - -const mockedControlChannel = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]), - set listener(listener) { - this._listener = listener; - }, - get listener() { - return this._listener; - }, - sendOffer: function(offer) { - sendAsyncMessage('offer-sent', this._isValidSDP(offer)); - }, - sendAnswer: function(answer) { - sendAsyncMessage('answer-sent', this._isValidSDP(answer)); - - if (answer.type == Ci.nsIPresentationChannelDescription.TYPE_TCP) { - this._listener.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyTransportReady(); - } - }, - _isValidSDP: function(aSDP) { - var isValid = false; - if (aSDP.type == Ci.nsIPresentationChannelDescription.TYPE_TCP) { - try { - var addresses = aSDP.tcpAddress; - if (addresses.length > 0) { - for (var i = 0; i < addresses.length; i++) { - // Ensure CString addresses are used. Otherwise, an error will be thrown. - addresses.queryElementAt(i, Ci.nsISupportsCString); - } - - isValid = true; - } - } catch (e) { - isValid = false; - } - } else if (aSDP.type == Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL) { - isValid = (aSDP.dataChannelSDP == "test-sdp"); - } - return isValid; - }, - launch: function(presentationId, url) { - sessionId = presentationId; - }, - terminate: function(presentationId) { - sendAsyncMessage('sender-terminate', presentationId); - }, - reconnect: function(presentationId, url) { - sendAsyncMessage('start-reconnect', url); - }, - notifyReconnected: function() { - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .notifyReconnected(); - }, - disconnect: function(reason) { - sendAsyncMessage('control-channel-closed', reason); - this._listener.QueryInterface(Ci.nsIPresentationControlChannelListener).notifyDisconnected(reason); - }, - simulateReceiverReady: function() { - this._listener.QueryInterface(Ci.nsIPresentationControlChannelListener).notifyReceiverReady(); - }, - simulateOnOffer: function() { - sendAsyncMessage('offer-received'); - this._listener.QueryInterface(Ci.nsIPresentationControlChannelListener).onOffer(mockedChannelDescription); - }, - simulateOnAnswer: function() { - sendAsyncMessage('answer-received'); - this._listener.QueryInterface(Ci.nsIPresentationControlChannelListener).onAnswer(mockedChannelDescription); - }, - simulateNotifyConnected: function() { - sendAsyncMessage('control-channel-opened'); - this._listener.QueryInterface(Ci.nsIPresentationControlChannelListener).notifyConnected(); - }, -}; - -const mockedDevice = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - id: 'id', - name: 'name', - type: 'type', - establishControlChannel: function(url, presentationId) { - sendAsyncMessage('control-channel-established'); - return mockedControlChannel; - }, - disconnect: function() {}, - isRequestedUrlSupported: function(requestedUrl) { - return true; - }, -}; - -const mockedDevicePrompt = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevicePrompt, - Ci.nsIFactory]), - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - set request(request) { - this._request = request; - }, - get request() { - return this._request; - }, - promptDeviceSelection: function(request) { - this._request = request; - sendAsyncMessage('device-prompt'); - }, - simulateSelect: function() { - this._request.select(mockedDevice); - }, - simulateCancel: function(result) { - this._request.cancel(result); - } -}; - -const mockedSessionTransport = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransport, - Ci.nsIPresentationSessionTransportBuilder, - Ci.nsIPresentationTCPSessionTransportBuilder, - Ci.nsIPresentationDataChannelSessionTransportBuilder, - Ci.nsIPresentationControlChannelListener, - Ci.nsIFactory]), - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - set callback(callback) { - this._callback = callback; - }, - get callback() { - return this._callback; - }, - get selfAddress() { - return this._selfAddress; - }, - buildTCPSenderTransport: function(transport, listener) { - this._listener = listener; - this._role = Ci.nsIPresentationService.ROLE_CONTROLLER; - this._listener.onSessionTransport(this); - this._listener = null; - sendAsyncMessage('data-transport-initialized'); - - setTimeout(()=>{ - this.simulateTransportReady(); - }, 0); - }, - buildTCPReceiverTransport: function(description, listener) { - this._listener = listener; - this._role = Ci.nsIPresentationService.ROLE_RECEIVER; - - var addresses = description.QueryInterface(Ci.nsIPresentationChannelDescription).tcpAddress; - this._selfAddress = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsINetAddr]), - address: (addresses.length > 0) ? - addresses.queryElementAt(0, Ci.nsISupportsCString).data : "", - port: description.QueryInterface(Ci.nsIPresentationChannelDescription).tcpPort, - }; - - setTimeout(()=>{ - this._listener.onSessionTransport(this); - this._listener = null; - }, 0); - }, - // in-process case - buildDataChannelTransport: function(role, window, listener) { - this._listener = listener; - this._role = role; - - var hasNavigator = window ? (typeof window.navigator != "undefined") : false; - sendAsyncMessage('check-navigator', hasNavigator); - - setTimeout(()=>{ - this._listener.onSessionTransport(this); - this._listener = null; - this.simulateTransportReady(); - }, 0); - }, - enableDataNotification: function() { - sendAsyncMessage('data-transport-notification-enabled'); - }, - send: function(data) { - sendAsyncMessage('message-sent', data); - }, - close: function(reason) { - sendAsyncMessage('data-transport-closed', reason); - this._callback.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyTransportClosed(reason); - }, - simulateTransportReady: function() { - this._callback.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyTransportReady(); - }, - simulateIncomingMessage: function(message) { - this._callback.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyData(message, false); - }, - onOffer: function(aOffer) { - }, - onAnswer: function(aAnswer) { - } -}; - -const mockedNetworkInfo = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsINetworkInfo]), - getAddresses: function(ips, prefixLengths) { - ips.value = ["127.0.0.1"]; - prefixLengths.value = [0]; - return 1; - }, -}; - -const mockedNetworkManager = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsINetworkManager, - Ci.nsIFactory]), - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - get activeNetworkInfo() { - return mockedNetworkInfo; - }, -}; - -var requestPromise = null; - -const mockedRequestUIGlue = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationRequestUIGlue, - Ci.nsIFactory]), - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - sendRequest: function(aUrl, aSessionId) { - sendAsyncMessage('receiver-launching', aSessionId); - return requestPromise; - }, -}; - -// Register mocked factories. -const originalFactoryData = []; -originalFactoryData.push(registerMockedFactory("@mozilla.org/presentation-device/prompt;1", - uuidGenerator.generateUUID(), - mockedDevicePrompt)); -originalFactoryData.push(registerMockedFactory("@mozilla.org/network/server-socket;1", - uuidGenerator.generateUUID(), - mockedServerSocket)); -originalFactoryData.push(registerMockedFactory("@mozilla.org/presentation/presentationtcpsessiontransport;1", - uuidGenerator.generateUUID(), - mockedSessionTransport)); -originalFactoryData.push(registerMockedFactory("@mozilla.org/presentation/datachanneltransportbuilder;1", - uuidGenerator.generateUUID(), - mockedSessionTransport)); -originalFactoryData.push(registerMockedFactory("@mozilla.org/network/manager;1", - uuidGenerator.generateUUID(), - mockedNetworkManager)); -originalFactoryData.push(registerMockedFactory("@mozilla.org/presentation/requestuiglue;1", - uuidGenerator.generateUUID(), - mockedRequestUIGlue)); - -function tearDown() { - requestPromise = null; - mockedServerSocket.listener = null; - mockedControlChannel.listener = null; - mockedDevice.listener = null; - mockedDevicePrompt.request = null; - mockedSessionTransport.callback = null; - - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener).removeDevice(mockedDevice); - - // Register original factories. - for (var data of originalFactoryData) { - registerOriginalFactory(data.contractId, data.mockedClassId, - data.mockedFactory, data.originalClassId, - data.originalFactory); - } - - sendAsyncMessage('teardown-complete'); -} - -addMessageListener('trigger-device-add', function() { - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener).addDevice(mockedDevice); -}); - -addMessageListener('trigger-device-prompt-select', function() { - mockedDevicePrompt.simulateSelect(); -}); - -addMessageListener('trigger-device-prompt-cancel', function(result) { - mockedDevicePrompt.simulateCancel(result); -}); - -addMessageListener('trigger-incoming-session-request', function(url) { - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .onSessionRequest(mockedDevice, url, sessionId, mockedControlChannel); -}); - -addMessageListener('trigger-incoming-terminate-request', function() { - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .onTerminateRequest(mockedDevice, sessionId, mockedControlChannel, true); -}); - -addMessageListener('trigger-reconnected-acked', function(url) { - mockedControlChannel.notifyReconnected(); -}); - -addMessageListener('trigger-incoming-offer', function() { - mockedControlChannel.simulateOnOffer(); -}); - -addMessageListener('trigger-incoming-answer', function() { - mockedControlChannel.simulateOnAnswer(); -}); - -addMessageListener('trigger-incoming-transport', function() { - mockedServerSocket.simulateOnSocketAccepted(mockedServerSocket, mockedSocketTransport); -}); - -addMessageListener('trigger-control-channel-open', function(reason) { - mockedControlChannel.simulateNotifyConnected(); -}); - -addMessageListener('trigger-control-channel-close', function(reason) { - mockedControlChannel.disconnect(reason); -}); - -addMessageListener('trigger-data-transport-close', function(reason) { - mockedSessionTransport.close(reason); -}); - -addMessageListener('trigger-incoming-message', function(message) { - mockedSessionTransport.simulateIncomingMessage(message); -}); - -addMessageListener('teardown', function() { - tearDown(); -}); - -var controlChannelListener; -addMessageListener('save-control-channel-listener', function() { - controlChannelListener = mockedControlChannel.listener; -}); - -addMessageListener('restore-control-channel-listener', function(message) { - mockedControlChannel.listener = controlChannelListener; - controlChannelListener = null; -}); - -var obs = Cc["@mozilla.org/observer-service;1"] - .getService(Ci.nsIObserverService); -obs.addObserver(function observer(aSubject, aTopic, aData) { - obs.removeObserver(observer, aTopic); - - requestPromise = aSubject; -}, 'setup-request-promise', false); diff --git a/dom/presentation/tests/mochitest/PresentationSessionChromeScript1UA.js b/dom/presentation/tests/mochitest/PresentationSessionChromeScript1UA.js deleted file mode 100644 index 82d7362b29..0000000000 --- a/dom/presentation/tests/mochitest/PresentationSessionChromeScript1UA.js +++ /dev/null @@ -1,366 +0,0 @@ -/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ -/* 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 { classes: Cc, interfaces: Ci, manager: Cm, utils: Cu, results: Cr } = Components; - -Cu.import('resource://gre/modules/XPCOMUtils.jsm'); -Cu.import('resource://gre/modules/Services.jsm'); - -const uuidGenerator = Cc["@mozilla.org/uuid-generator;1"] - .getService(Ci.nsIUUIDGenerator); - -function debug(str) { - // dump('DEBUG -*- PresentationSessionChromeScript1UA -*-: ' + str + '\n'); -} - -const originalFactoryData = []; -var sessionId; // Store the uuid generated by PresentationRequest. -var triggerControlChannelError = false; // For simulating error during control channel establishment. - -// control channel of sender -const mockControlChannelOfSender = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]), - set listener(listener) { - // PresentationControllingInfo::SetControlChannel - if (listener) { - debug('set listener for mockControlChannelOfSender without null'); - } else { - debug('set listener for mockControlChannelOfSender with null'); - } - this._listener = listener; - }, - get listener() { - return this._listener; - }, - notifyConnected: function() { - // send offer after notifyConnected immediately - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .notifyConnected(); - }, - notifyReconnected: function() { - // send offer after notifyOpened immediately - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .notifyReconnected(); - }, - sendOffer: function(offer) { - Services.tm.mainThread.dispatch(() => { - mockControlChannelOfReceiver.onOffer(offer); - }, Ci.nsIThread.DISPATCH_NORMAL); - }, - onAnswer: function(answer) { - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .onAnswer(answer); - }, - launch: function(presentationId, url) { - sessionId = presentationId; - sendAsyncMessage('sender-launch', url); - }, - disconnect: function(reason) { - if (!this._listener) { - return; - } - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .notifyDisconnected(reason); - mockControlChannelOfReceiver.disconnect(); - }, - terminate: function(presentationId) { - sendAsyncMessage('sender-terminate'); - }, - reconnect: function(presentationId, url) { - sendAsyncMessage('start-reconnect', url); - }, - sendIceCandidate: function(candidate) { - mockControlChannelOfReceiver.notifyIceCandidate(candidate); - }, - notifyIceCandidate: function(candidate) { - if (!this._listener) { - return; - } - - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .onIceCandidate(candidate); - }, -}; - -// control channel of receiver -const mockControlChannelOfReceiver = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]), - set listener(listener) { - // PresentationPresentingInfo::SetControlChannel - if (listener) { - debug('set listener for mockControlChannelOfReceiver without null'); - } else { - debug('set listener for mockControlChannelOfReceiver with null'); - } - this._listener = listener; - - if (this._pendingOpened) { - this._pendingOpened = false; - this.notifyConnected(); - } - }, - get listener() { - return this._listener; - }, - notifyConnected: function() { - // do nothing - if (!this._listener) { - this._pendingOpened = true; - return; - } - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .notifyConnected(); - }, - onOffer: function(offer) { - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .onOffer(offer); - }, - sendAnswer: function(answer) { - Services.tm.mainThread.dispatch(() => { - mockControlChannelOfSender.onAnswer(answer); - }, Ci.nsIThread.DISPATCH_NORMAL); - }, - disconnect: function(reason) { - if (!this._listener) { - return; - } - - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .notifyDisconnected(reason); - sendAsyncMessage('control-channel-receiver-closed', reason); - }, - terminate: function(presentaionId) { - }, - sendIceCandidate: function(candidate) { - mockControlChannelOfReceiver.notifyIceCandidate(candidate); - }, - notifyIceCandidate: function(candidate) { - if (!this._listener) { - return; - } - - this._listener - .QueryInterface(Ci.nsIPresentationControlChannelListener) - .onIceCandidate(candidate); - }, -}; - -const mockDevice = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]), - id: 'id', - name: 'name', - type: 'type', - establishControlChannel: function(url, presentationId) { - if (triggerControlChannelError) { - throw Cr.NS_ERROR_FAILURE; - } - sendAsyncMessage('control-channel-established'); - return mockControlChannelOfSender; - }, - disconnect: function() { - sendAsyncMessage('device-disconnected'); - }, - isRequestedUrlSupported: function(requestedUrl) { - return true; - }, -}; - -const mockDevicePrompt = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevicePrompt, - Ci.nsIFactory]), - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - set request(request) { - this._request = request; - }, - get request() { - return this._request; - }, - promptDeviceSelection: function(request) { - this._request = request; - sendAsyncMessage('device-prompt'); - }, - simulateSelect: function() { - this._request.select(mockDevice); - }, - simulateCancel: function() { - this._request.cancel(); - } -}; - -const mockRequestUIGlue = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationRequestUIGlue, - Ci.nsIFactory]), - set promise(aPromise) { - this._promise = aPromise - }, - get promise() { - return this._promise; - }, - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - sendRequest: function(aUrl, aSessionId) { - return this.promise; - }, -}; - -function initMockAndListener() { - - function registerMockFactory(contractId, mockClassId, mockFactory) { - var originalClassId, originalFactory; - - var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - if (!registrar.isCIDRegistered(mockClassId)) { - try { - originalClassId = registrar.contractIDToCID(contractId); - originalFactory = Cm.getClassObject(Cc[contractId], Ci.nsIFactory); - } catch (ex) { - originalClassId = ""; - originalFactory = null; - } - if (originalFactory) { - registrar.unregisterFactory(originalClassId, originalFactory); - } - registrar.registerFactory(mockClassId, "", contractId, mockFactory); - } - - return { contractId: contractId, - mockClassId: mockClassId, - mockFactory: mockFactory, - originalClassId: originalClassId, - originalFactory: originalFactory }; - } - // Register mock factories. - const uuidGenerator = Cc["@mozilla.org/uuid-generator;1"] - .getService(Ci.nsIUUIDGenerator); - originalFactoryData.push(registerMockFactory("@mozilla.org/presentation-device/prompt;1", - uuidGenerator.generateUUID(), - mockDevicePrompt)); - originalFactoryData.push(registerMockFactory("@mozilla.org/presentation/requestuiglue;1", - uuidGenerator.generateUUID(), - mockRequestUIGlue)); - - addMessageListener('trigger-device-add', function() { - debug('Got message: trigger-device-add'); - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .addDevice(mockDevice); - }); - - addMessageListener('trigger-device-prompt-select', function() { - debug('Got message: trigger-device-prompt-select'); - mockDevicePrompt.simulateSelect(); - }); - - addMessageListener('trigger-on-session-request', function(url) { - debug('Got message: trigger-on-session-request'); - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .onSessionRequest(mockDevice, - url, - sessionId, - mockControlChannelOfReceiver); - }); - - addMessageListener('trigger-on-terminate-request', function() { - debug('Got message: trigger-on-terminate-request'); - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .onTerminateRequest(mockDevice, - sessionId, - mockControlChannelOfReceiver, - false); - }); - - addMessageListener('trigger-control-channel-open', function(reason) { - debug('Got message: trigger-control-channel-open'); - mockControlChannelOfSender.notifyConnected(); - mockControlChannelOfReceiver.notifyConnected(); - }); - - addMessageListener('trigger-control-channel-error', function(reason) { - debug('Got message: trigger-control-channel-open'); - triggerControlChannelError = true; - }); - - addMessageListener('trigger-reconnected-acked', function(url) { - debug('Got message: trigger-reconnected-acked'); - mockControlChannelOfSender.notifyReconnected(); - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .onReconnectRequest(mockDevice, - url, - sessionId, - mockControlChannelOfReceiver); - }); - - // Used to call sendAsyncMessage in chrome script from receiver. - addMessageListener('forward-command', function(command_data) { - let command = JSON.parse(command_data); - sendAsyncMessage(command.name, command.data); - }); - - addMessageListener('teardown', teardown); - - var obs = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService); - obs.addObserver(function setupRequestPromiseHandler(aSubject, aTopic, aData) { - debug('Got observer: setup-request-promise'); - obs.removeObserver(setupRequestPromiseHandler, aTopic); - mockRequestUIGlue.promise = aSubject; - sendAsyncMessage('promise-setup-ready'); - }, 'setup-request-promise', false); -} - -function teardown() { - - function registerOriginalFactory(contractId, mockedClassId, mockedFactory, originalClassId, originalFactory) { - if (originalFactory) { - var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - registrar.unregisterFactory(mockedClassId, mockedFactory); - registrar.registerFactory(originalClassId, "", contractId, originalFactory); - } - } - - mockRequestUIGlue.promise = null; - mockControlChannelOfSender.listener = null; - mockControlChannelOfReceiver.listener = null; - mockDevicePrompt.request = null; - - var deviceManager = Cc['@mozilla.org/presentation-device/manager;1'] - .getService(Ci.nsIPresentationDeviceManager); - deviceManager.QueryInterface(Ci.nsIPresentationDeviceListener) - .removeDevice(mockDevice); - // Register original factories. - for (var data of originalFactoryData) { - registerOriginalFactory(data.contractId, data.mockClassId, - data.mockFactory, data.originalClassId, - data.originalFactory); - } - sendAsyncMessage('teardown-complete'); -} - -initMockAndListener(); diff --git a/dom/presentation/tests/mochitest/PresentationSessionFrameScript.js b/dom/presentation/tests/mochitest/PresentationSessionFrameScript.js deleted file mode 100644 index 77240ab5f7..0000000000 --- a/dom/presentation/tests/mochitest/PresentationSessionFrameScript.js +++ /dev/null @@ -1,258 +0,0 @@ -/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -function loadPrivilegedScriptTest() { - /** - * The script is loaded as - * (a) a privileged script in content process for dc_sender.html - * (b) a frame script in the remote iframe process for dc_receiver_oop.html - * |type port == "undefined"| indicates the script is load by - * |loadPrivilegedScript| which is the first case. - */ - function sendMessage(type, data) { - if (typeof port == "undefined") { - sendAsyncMessage(type, {'data': data}); - } else { - port.postMessage({'type': type, - 'data': data - }); - } - } - - if (typeof port != "undefined") { - /** - * When the script is loaded by |loadPrivilegedScript|, these APIs - * are exposed to this script. - */ - port.onmessage = (e) => { - var type = e.data['type']; - if (!handlers.hasOwnProperty(type)) { - return; - } - var args = [e]; - handlers[type].forEach(handler => handler.apply(null, args)); - }; - var handlers = {}; - addMessageListener = function(message, handler) { - if (handlers.hasOwnProperty(message)) { - handlers[message].push(handler); - } else { - handlers[message] = [handler]; - } - }; - removeMessageListener = function(message, handler) { - if (!handler || !handlers.hasOwnProperty(message)) { - return; - } - var index = handlers[message].indexOf(handler); - if (index != -1) { - handlers[message].splice(index, 1); - } - }; - } - - const { classes: Cc, interfaces: Ci, manager: Cm, utils: Cu, results: Cr } = Components; - - const mockedChannelDescription = { - QueryInterface : function (iid) { - const interfaces = [Ci.nsIPresentationChannelDescription]; - - if (!interfaces.some(v => iid.equals(v))) { - throw Cr.NS_ERROR_NO_INTERFACE; - } - return this; - }, - get type() { - if (Services.prefs.getBoolPref("dom.presentation.session_transport.data_channel.enable")) { - return Ci.nsIPresentationChannelDescription.TYPE_DATACHANNEL; - } - return Ci.nsIPresentationChannelDescription.TYPE_TCP; - }, - get dataChannelSDP() { - return "test-sdp"; - } - }; - - function setTimeout(callback, delay) { - let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); - timer.initWithCallback({ notify: callback }, - delay, - Ci.nsITimer.TYPE_ONE_SHOT); - return timer; - } - - const mockedSessionTransport = { - QueryInterface : function (iid) { - const interfaces = [Ci.nsIPresentationSessionTransport, - Ci.nsIPresentationDataChannelSessionTransportBuilder, - Ci.nsIFactory]; - - if (!interfaces.some(v => iid.equals(v))) { - throw Cr.NS_ERROR_NO_INTERFACE; - } - return this; - }, - createInstance: function(aOuter, aIID) { - if (aOuter) { - throw Components.results.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(aIID); - }, - set callback(callback) { - this._callback = callback; - }, - get callback() { - return this._callback; - }, - /* OOP case */ - buildDataChannelTransport: function(role, window, listener) { - dump("PresentationSessionFrameScript: build data channel transport\n"); - this._listener = listener; - this._role = role; - - var hasNavigator = window ? (typeof window.navigator != "undefined") : false; - sendMessage('check-navigator', hasNavigator); - - if (this._role == Ci.nsIPresentationService.ROLE_CONTROLLER) { - this._listener.sendOffer(mockedChannelDescription); - } - }, - - enableDataNotification: function() { - sendMessage('data-transport-notification-enabled'); - }, - send: function(data) { - sendMessage('message-sent', data); - }, - close: function(reason) { - sendMessage('data-transport-closed', reason); - this._callback.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyTransportClosed(reason); - this._callback = null; - }, - simulateTransportReady: function() { - this._callback.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyTransportReady(); - }, - simulateIncomingMessage: function(message) { - this._callback.QueryInterface(Ci.nsIPresentationSessionTransportCallback).notifyData(message, false); - }, - onOffer: function(aOffer) { - this._listener.sendAnswer(mockedChannelDescription); - this._onSessionTransport(); - }, - onAnswer: function(aAnswer) { - this._onSessionTransport(); - }, - _onSessionTransport: function() { - setTimeout(()=>{ - this._listener.onSessionTransport(this); - this.simulateTransportReady(); - this._listener = null; - }, 0); - } - }; - - - function tearDown() { - mockedSessionTransport.callback = null; - - /* Register original factories. */ - for (var data of originalFactoryData) { - registerOriginalFactory(data.contractId, data.mockedClassId, - data.mockedFactory, data.originalClassId, - data.originalFactory); - } - sendMessage("teardown-complete"); - } - - - function registerMockedFactory(contractId, mockedClassId, mockedFactory) { - var originalClassId, originalFactory; - var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - - if (!registrar.isCIDRegistered(mockedClassId)) { - try { - originalClassId = registrar.contractIDToCID(contractId); - originalFactory = Cm.getClassObject(Cc[contractId], Ci.nsIFactory); - } catch (ex) { - originalClassId = ""; - originalFactory = null; - } - if (originalFactory) { - registrar.unregisterFactory(originalClassId, originalFactory); - } - registrar.registerFactory(mockedClassId, "", contractId, mockedFactory); - } - - return { contractId: contractId, - mockedClassId: mockedClassId, - mockedFactory: mockedFactory, - originalClassId: originalClassId, - originalFactory: originalFactory }; - } - - function registerOriginalFactory(contractId, mockedClassId, mockedFactory, originalClassId, originalFactory) { - if (originalFactory) { - var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - registrar.unregisterFactory(mockedClassId, mockedFactory); - registrar.registerFactory(originalClassId, "", contractId, originalFactory); - } - } - - /* Register mocked factories. */ - const originalFactoryData = []; - const uuidGenerator = Cc["@mozilla.org/uuid-generator;1"] - .getService(Ci.nsIUUIDGenerator); - originalFactoryData.push(registerMockedFactory("@mozilla.org/presentation/datachanneltransportbuilder;1", - uuidGenerator.generateUUID(), - mockedSessionTransport)); - - addMessageListener('trigger-incoming-message', function(event) { - mockedSessionTransport.simulateIncomingMessage(event.data.data); - }); - addMessageListener('teardown', ()=>tearDown()); -} - -// Exposed to the caller of |loadPrivilegedScript| -var contentScript = { - handlers: {}, - addMessageListener: function(message, handler) { - if (this.handlers.hasOwnProperty(message)) { - this.handlers[message].push(handler); - } else { - this.handlers[message] = [handler]; - } - }, - removeMessageListener: function(message, handler) { - if (!handler || !this.handlers.hasOwnProperty(message)) { - return; - } - var index = this.handlers[message].indexOf(handler); - if (index != -1) { - this.handlers[message].splice(index, 1); - } - }, - sendAsyncMessage: function(message, data) { - port.postMessage({'type': message, - 'data': data - }); - } -} - -if (!SpecialPowers.isMainProcess()) { - var port; - try { - port = SpecialPowers.loadPrivilegedScript(loadPrivilegedScriptTest.toSource()); - } catch (e) { - ok(false, "loadPrivilegedScript shoulde not throw" + e); - } - - port.onmessage = (e) => { - var type = e.data['type']; - if (!contentScript.handlers.hasOwnProperty(type)) { - return; - } - var args = [e.data['data']]; - contentScript.handlers[type].forEach(handler => handler.apply(null, args)); - }; -} diff --git a/dom/presentation/tests/mochitest/chrome.ini b/dom/presentation/tests/mochitest/chrome.ini deleted file mode 100644 index 83841f4f8c..0000000000 --- a/dom/presentation/tests/mochitest/chrome.ini +++ /dev/null @@ -1,14 +0,0 @@ -[DEFAULT] -support-files = - PresentationDeviceInfoChromeScript.js - PresentationSessionChromeScript.js - -[test_presentation_datachannel_sessiontransport.html] -skip-if = os == 'android' -[test_presentation_device_info.html] -[test_presentation_sender_startWithDevice.html] -skip-if = toolkit == 'android' # Bug 1129785 -[test_presentation_tcp_sender.html] -skip-if = toolkit == 'android' # Bug 1129785 -[test_presentation_tcp_sender_default_request.html] -skip-if = toolkit == 'android' # Bug 1129785 diff --git a/dom/presentation/tests/mochitest/file_presentation_1ua_receiver.html b/dom/presentation/tests/mochitest/file_presentation_1ua_receiver.html deleted file mode 100644 index cf02d2b2c8..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_1ua_receiver.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Test for B2G PresentationReceiver at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_1ua_wentaway.html b/dom/presentation/tests/mochitest/file_presentation_1ua_wentaway.html deleted file mode 100644 index 370cb92e1f..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_1ua_wentaway.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - Test for B2G PresentationReceiver at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_mixed_security_contexts.html b/dom/presentation/tests/mochitest/file_presentation_mixed_security_contexts.html deleted file mode 100644 index f042d2994f..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_mixed_security_contexts.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -Test allow-presentation sandboxing flag - - - - - diff --git a/dom/presentation/tests/mochitest/file_presentation_non_receiver.html b/dom/presentation/tests/mochitest/file_presentation_non_receiver.html deleted file mode 100644 index 1203523ac3..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_non_receiver.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - Test for B2G PresentationReceiver on a non-receiver page at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_non_receiver_inner_iframe.html b/dom/presentation/tests/mochitest/file_presentation_non_receiver_inner_iframe.html deleted file mode 100644 index c95eddf573..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_non_receiver_inner_iframe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Test for B2G PresentationReceiver on a non-receiver inner iframe of the receiver page at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_receiver.html b/dom/presentation/tests/mochitest/file_presentation_receiver.html deleted file mode 100644 index 46a330b5fc..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_receiver.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - Test for B2G PresentationReceiver at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_receiver_auxiliary_navigation.html b/dom/presentation/tests/mochitest/file_presentation_receiver_auxiliary_navigation.html deleted file mode 100644 index 3a60603101..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_receiver_auxiliary_navigation.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Test for sandboxed auxiliary navigation flag in receiver page - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_receiver_establish_connection_error.html b/dom/presentation/tests/mochitest/file_presentation_receiver_establish_connection_error.html deleted file mode 100644 index 6b1f2152fb..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_receiver_establish_connection_error.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - Test for connection establishing errors of B2G Presentation API at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_receiver_inner_iframe.html b/dom/presentation/tests/mochitest/file_presentation_receiver_inner_iframe.html deleted file mode 100644 index 3bd5ac4b1b..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_receiver_inner_iframe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Test for B2G PresentationReceiver in an inner iframe of the receiver page at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_reconnect.html b/dom/presentation/tests/mochitest/file_presentation_reconnect.html deleted file mode 100644 index 174ccd3f3a..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_reconnect.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -Test allow-presentation sandboxing flag - - - - - diff --git a/dom/presentation/tests/mochitest/file_presentation_sandboxed_presentation.html b/dom/presentation/tests/mochitest/file_presentation_sandboxed_presentation.html deleted file mode 100644 index 369621cee2..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_sandboxed_presentation.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -Test allow-presentation sandboxing flag - - - - - diff --git a/dom/presentation/tests/mochitest/file_presentation_terminate.html b/dom/presentation/tests/mochitest/file_presentation_terminate.html deleted file mode 100644 index a26a44b90d..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_terminate.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - Test for B2G PresentationReceiver at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_terminate_establish_connection_error.html b/dom/presentation/tests/mochitest/file_presentation_terminate_establish_connection_error.html deleted file mode 100644 index d8df8a1a67..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_terminate_establish_connection_error.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - Test for B2G PresentationReceiver at receiver side - - -
- - - diff --git a/dom/presentation/tests/mochitest/file_presentation_unknown_content_type.test b/dom/presentation/tests/mochitest/file_presentation_unknown_content_type.test deleted file mode 100644 index 8b13789179..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_unknown_content_type.test +++ /dev/null @@ -1 +0,0 @@ - diff --git a/dom/presentation/tests/mochitest/file_presentation_unknown_content_type.test^headers^ b/dom/presentation/tests/mochitest/file_presentation_unknown_content_type.test^headers^ deleted file mode 100644 index fc044e3c49..0000000000 --- a/dom/presentation/tests/mochitest/file_presentation_unknown_content_type.test^headers^ +++ /dev/null @@ -1 +0,0 @@ -Content-Type: application/unknown diff --git a/dom/presentation/tests/mochitest/mochitest.ini b/dom/presentation/tests/mochitest/mochitest.ini deleted file mode 100644 index f96e07f1e0..0000000000 --- a/dom/presentation/tests/mochitest/mochitest.ini +++ /dev/null @@ -1,77 +0,0 @@ -[DEFAULT] -support-files = - PresentationDeviceInfoChromeScript.js - PresentationSessionChromeScript.js - PresentationSessionFrameScript.js - PresentationSessionChromeScript1UA.js - file_presentation_1ua_receiver.html - test_presentation_1ua_sender_and_receiver.js - file_presentation_non_receiver_inner_iframe.html - file_presentation_non_receiver.html - file_presentation_receiver.html - file_presentation_receiver_establish_connection_error.html - file_presentation_receiver_inner_iframe.html - file_presentation_1ua_wentaway.html - test_presentation_1ua_connection_wentaway.js - file_presentation_receiver_auxiliary_navigation.html - test_presentation_receiver_auxiliary_navigation.js - file_presentation_sandboxed_presentation.html - file_presentation_terminate.html - test_presentation_terminate.js - file_presentation_terminate_establish_connection_error.html - test_presentation_terminate_establish_connection_error.js - file_presentation_reconnect.html - file_presentation_unknown_content_type.test - file_presentation_unknown_content_type.test^headers^ - test_presentation_tcp_receiver_establish_connection_unknown_content_type.js - file_presentation_mixed_security_contexts.html - -[test_presentation_dc_sender.html] -[test_presentation_dc_receiver.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_dc_receiver_oop.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_1ua_sender_and_receiver_inproc.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_1ua_sender_and_receiver_oop.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_1ua_connection_wentaway_inproc.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_1ua_connection_wentaway_oop.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_device_info_permission.html] -[test_presentation_tcp_sender_disconnect.html] -skip-if = toolkit == 'android' # Bug 1129785 -[test_presentation_tcp_sender_establish_connection_error.html] -skip-if = toolkit == 'android' # Bug 1129785 -[test_presentation_tcp_receiver_establish_connection_error.html] -skip-if = (e10s || toolkit == 'android' || os == 'mac' || os == 'win') # Bug 1129785, Bug 1204709 -[test_presentation_tcp_receiver_establish_connection_timeout.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_tcp_receiver_establish_connection_unknown_content_type_inproc.html] -skip-if = (e10s || toolkit == 'android') -[test_presentation_tcp_receiver_establish_connection_unknown_content_type_oop.html] -skip-if = (e10s || toolkit == 'android') -[test_presentation_tcp_receiver.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_tcp_receiver_oop.html] -skip-if = (e10s || toolkit == 'android') # Bug 1129785 -[test_presentation_receiver_auxiliary_navigation_inproc.html] -skip-if = e10s -[test_presentation_receiver_auxiliary_navigation_oop.html] -skip-if = e10s -[test_presentation_terminate_inproc.html] -skip-if = (e10s || toolkit == 'android') -[test_presentation_terminate_oop.html] -skip-if = (e10s || toolkit == 'android') -[test_presentation_terminate_establish_connection_error_inproc.html] -skip-if = (e10s || toolkit == 'android') -[test_presentation_terminate_establish_connection_error_oop.html] -skip-if = (e10s || toolkit == 'android') -[test_presentation_sender_on_terminate_request.html] -skip-if = toolkit == 'android' -[test_presentation_sandboxed_presentation.html] -skip-if = true # bug 1315867 -[test_presentation_reconnect.html] -[test_presentation_mixed_security_contexts.html] -[test_presentation_availability.html] diff --git a/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway.js b/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway.js deleted file mode 100644 index dbeb4ffcc6..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway.js +++ /dev/null @@ -1,175 +0,0 @@ -'use strict'; - -SimpleTest.waitForExplicitFinish(); -SimpleTest.requestFlakyTimeout('Test for guarantee not firing async event'); - -function debug(str) { - // info(str); -} - -var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('PresentationSessionChromeScript1UA.js')); -var receiverUrl = SimpleTest.getTestFileURL('file_presentation_1ua_wentaway.html'); -var request; -var connection; -var receiverIframe; - -function setup() { - gScript.addMessageListener('device-prompt', function devicePromptHandler() { - debug('Got message: device-prompt'); - gScript.removeMessageListener('device-prompt', devicePromptHandler); - gScript.sendAsyncMessage('trigger-device-prompt-select'); - }); - - gScript.addMessageListener('control-channel-established', function controlChannelEstablishedHandler() { - gScript.removeMessageListener('control-channel-established', - controlChannelEstablishedHandler); - gScript.sendAsyncMessage("trigger-control-channel-open"); - }); - - gScript.addMessageListener('sender-launch', function senderLaunchHandler(url) { - debug('Got message: sender-launch'); - gScript.removeMessageListener('sender-launch', senderLaunchHandler); - is(url, receiverUrl, 'Receiver: should receive the same url'); - receiverIframe = document.createElement('iframe'); - receiverIframe.setAttribute("mozbrowser", "true"); - receiverIframe.setAttribute("mozpresentation", receiverUrl); - var oop = location.pathname.indexOf('_inproc') == -1; - receiverIframe.setAttribute("remote", oop); - - receiverIframe.setAttribute('src', receiverUrl); - receiverIframe.addEventListener("mozbrowserloadend", function mozbrowserloadendHander() { - receiverIframe.removeEventListener("mozbrowserloadend", mozbrowserloadendHander); - info("Receiver loaded."); - }); - - // This event is triggered when the iframe calls "alert". - receiverIframe.addEventListener("mozbrowsershowmodalprompt", function receiverListener(evt) { - var message = evt.detail.message; - if (/^OK /.exec(message)) { - ok(true, message.replace(/^OK /, "")); - } else if (/^KO /.exec(message)) { - ok(false, message.replace(/^KO /, "")); - } else if (/^INFO /.exec(message)) { - info(message.replace(/^INFO /, "")); - } else if (/^COMMAND /.exec(message)) { - var command = JSON.parse(message.replace(/^COMMAND /, "")); - gScript.sendAsyncMessage(command.name, command.data); - } else if (/^DONE$/.exec(message)) { - receiverIframe.removeEventListener("mozbrowsershowmodalprompt", - receiverListener); - teardown(); - } - }, false); - - var promise = new Promise(function(aResolve, aReject) { - document.body.appendChild(receiverIframe); - aResolve(receiverIframe); - }); - - var obs = SpecialPowers.Cc["@mozilla.org/observer-service;1"] - .getService(SpecialPowers.Ci.nsIObserverService); - obs.notifyObservers(promise, 'setup-request-promise', null); - }); - - gScript.addMessageListener('promise-setup-ready', function promiseSetupReadyHandler() { - debug('Got message: promise-setup-ready'); - gScript.removeMessageListener('promise-setup-ready', - promiseSetupReadyHandler); - gScript.sendAsyncMessage('trigger-on-session-request', receiverUrl); - }); - - return Promise.resolve(); -} - -function testCreateRequest() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testCreateRequest ---'); - request = new PresentationRequest(receiverUrl); - request.getAvailability().then((aAvailability) => { - is(aAvailability.value, false, "Sender: should have no available device after setup"); - aAvailability.onchange = function() { - aAvailability.onchange = null; - ok(aAvailability.value, "Sender: Device should be available."); - aResolve(); - } - - gScript.sendAsyncMessage('trigger-device-add'); - }).catch((aError) => { - ok(false, "Sender: Error occurred when getting availability: " + aError); - teardown(); - aReject(); - }); - }); -} - -function testStartConnection() { - return new Promise(function(aResolve, aReject) { - request.start().then((aConnection) => { - connection = aConnection; - ok(connection, "Sender: Connection should be available."); - ok(connection.id, "Sender: Connection ID should be set."); - is(connection.state, "connecting", "Sender: The initial state should be connecting."); - connection.onconnect = function() { - connection.onconnect = null; - is(connection.state, "connected", "Connection should be connected."); - aResolve(); - }; - }).catch((aError) => { - ok(false, "Sender: Error occurred when establishing a connection: " + aError); - teardown(); - aReject(); - }); - }); -} - -function testConnectionWentaway() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testConnectionWentaway ---'); - connection.onclose = function() { - connection.onclose = null; - is(connection.state, "closed", "Sender: Connection should be closed."); - receiverIframe.addEventListener('mozbrowserclose', function closeHandler() { - ok(false, 'wentaway should not trigger receiver close'); - aResolve(); - }); - setTimeout(aResolve, 3000); - }; - gScript.addMessageListener('ready-to-remove-receiverFrame', function onReadyToRemove() { - gScript.removeMessageListener('ready-to-remove-receiverFrame', onReadyToRemove); - receiverIframe.src = "http://example.com"; - }); - }); -} - -function teardown() { - gScript.addMessageListener('teardown-complete', function teardownCompleteHandler() { - debug('Got message: teardown-complete'); - gScript.removeMessageListener('teardown-complete', teardownCompleteHandler); - gScript.destroy(); - SimpleTest.finish(); - }); - - gScript.sendAsyncMessage('teardown'); -} - -function runTests() { - setup().then(testCreateRequest) - .then(testStartConnection) - .then(testConnectionWentaway) - .then(teardown); -} - -SpecialPowers.pushPermissions([ - {type: 'presentation-device-manage', allow: false, context: document}, - {type: "browser", allow: true, context: document}, -], () => { - SpecialPowers.pushPrefEnv({ 'set': [["dom.presentation.enabled", true], - ["dom.presentation.controller.enabled", true], - ["dom.presentation.receiver.enabled", true], - ["dom.presentation.test.enabled", true], - ["dom.mozBrowserFramesEnabled", true], - ["dom.ipc.tabs.disabled", false], - ["network.disable.ipc.security", true], - ["dom.presentation.test.stage", 0]]}, - runTests); -}); diff --git a/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html b/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html deleted file mode 100644 index 68491d81b4..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Test for B2G Presentation API when sender and receiver at the same side - - - - - - Test for PresentationConnectionCloseEvent with wentaway reason - - - diff --git a/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_oop.html b/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_oop.html deleted file mode 100644 index 68491d81b4..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_oop.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Test for B2G Presentation API when sender and receiver at the same side - - - - - - Test for PresentationConnectionCloseEvent with wentaway reason - - - diff --git a/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver.js b/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver.js deleted file mode 100644 index 8a7787b40d..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver.js +++ /dev/null @@ -1,370 +0,0 @@ -/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ -/* 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'; - -function debug(str) { - // info(str); -} - -var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('PresentationSessionChromeScript1UA.js')); -var receiverUrl = SimpleTest.getTestFileURL('file_presentation_1ua_receiver.html'); -var request; -var connection; -var receiverIframe; -var presentationId; -const DATA_ARRAY = [0, 255, 254, 0, 1, 2, 3, 0, 255, 255, 254, 0]; -const DATA_ARRAY_BUFFER = new ArrayBuffer(DATA_ARRAY.length); -const TYPED_DATA_ARRAY = new Uint8Array(DATA_ARRAY_BUFFER); -TYPED_DATA_ARRAY.set(DATA_ARRAY); - -function postMessageToIframe(aType) { - receiverIframe.src = receiverUrl + "#" + - encodeURIComponent(JSON.stringify({ type: aType })); -} - -function setup() { - - gScript.addMessageListener('device-prompt', function devicePromptHandler() { - debug('Got message: device-prompt'); - gScript.removeMessageListener('device-prompt', devicePromptHandler); - gScript.sendAsyncMessage('trigger-device-prompt-select'); - }); - - gScript.addMessageListener('control-channel-established', function controlChannelEstablishedHandler() { - gScript.removeMessageListener('control-channel-established', - controlChannelEstablishedHandler); - gScript.sendAsyncMessage("trigger-control-channel-open"); - }); - - gScript.addMessageListener('sender-launch', function senderLaunchHandler(url) { - debug('Got message: sender-launch'); - gScript.removeMessageListener('sender-launch', senderLaunchHandler); - is(url, receiverUrl, 'Receiver: should receive the same url'); - receiverIframe = document.createElement('iframe'); - receiverIframe.setAttribute('src', receiverUrl); - receiverIframe.setAttribute("mozbrowser", "true"); - receiverIframe.setAttribute("mozpresentation", receiverUrl); - var oop = location.pathname.indexOf('_inproc') == -1; - receiverIframe.setAttribute("remote", oop); - - // This event is triggered when the iframe calls "alert". - receiverIframe.addEventListener("mozbrowsershowmodalprompt", function receiverListener(evt) { - var message = evt.detail.message; - debug('Got iframe message: ' + message); - if (/^OK /.exec(message)) { - ok(true, message.replace(/^OK /, "")); - } else if (/^KO /.exec(message)) { - ok(false, message.replace(/^KO /, "")); - } else if (/^INFO /.exec(message)) { - info(message.replace(/^INFO /, "")); - } else if (/^COMMAND /.exec(message)) { - var command = JSON.parse(message.replace(/^COMMAND /, "")); - gScript.sendAsyncMessage(command.name, command.data); - } else if (/^DONE$/.exec(message)) { - receiverIframe.removeEventListener("mozbrowsershowmodalprompt", - receiverListener); - } - }, false); - - var promise = new Promise(function(aResolve, aReject) { - document.body.appendChild(receiverIframe); - aResolve(receiverIframe); - }); - - var obs = SpecialPowers.Cc["@mozilla.org/observer-service;1"] - .getService(SpecialPowers.Ci.nsIObserverService); - obs.notifyObservers(promise, 'setup-request-promise', null); - }); - - gScript.addMessageListener('promise-setup-ready', function promiseSetupReadyHandler() { - debug('Got message: promise-setup-ready'); - gScript.removeMessageListener('promise-setup-ready', promiseSetupReadyHandler); - gScript.sendAsyncMessage('trigger-on-session-request', receiverUrl); - }); - - return Promise.resolve(); -} - -function testCreateRequest() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testCreateRequest ---'); - request = new PresentationRequest("file_presentation_1ua_receiver.html"); - request.getAvailability().then((aAvailability) => { - is(aAvailability.value, false, "Sender: should have no available device after setup"); - aAvailability.onchange = function() { - aAvailability.onchange = null; - ok(aAvailability.value, "Sender: Device should be available."); - aResolve(); - } - - gScript.sendAsyncMessage('trigger-device-add'); - }).catch((aError) => { - ok(false, "Sender: Error occurred when getting availability: " + aError); - teardown(); - aReject(); - }); - }); -} - -function testStartConnection() { - return new Promise(function(aResolve, aReject) { - request.start().then((aConnection) => { - connection = aConnection; - ok(connection, "Sender: Connection should be available."); - ok(connection.id, "Sender: Connection ID should be set."); - is(connection.state, "connecting", "The initial state should be connecting."); - is(connection.url, receiverUrl, "request URL should be expanded to absolute URL"); - connection.onconnect = function() { - connection.onconnect = null; - is(connection.state, "connected", "Connection should be connected."); - presentationId = connection.id; - aResolve(); - }; - }).catch((aError) => { - ok(false, "Sender: Error occurred when establishing a connection: " + aError); - teardown(); - aReject(); - }); - - let request2 = new PresentationRequest("/"); - request2.start().then(() => { - ok(false, "Sender: session start should fail while there is an unsettled promise."); - }).catch((aError) => { - is(aError.name, "OperationError", "Expect to get OperationError."); - }); - }); -} - -function testSendMessage() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testSendMessage ---'); - gScript.addMessageListener('trigger-message-from-sender', function triggerMessageFromSenderHandler() { - debug('Got message: trigger-message-from-sender'); - gScript.removeMessageListener('trigger-message-from-sender', triggerMessageFromSenderHandler); - info('Send message to receiver'); - connection.send('msg-sender-to-receiver'); - }); - - gScript.addMessageListener('message-from-sender-received', function messageFromSenderReceivedHandler() { - debug('Got message: message-from-sender-received'); - gScript.removeMessageListener('message-from-sender-received', messageFromSenderReceivedHandler); - aResolve(); - }); - }); -} - -function testIncomingMessage() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testIncomingMessage ---'); - connection.addEventListener('message', function messageHandler(evt) { - connection.removeEventListener('message', messageHandler); - let msg = evt.data; - is(msg, "msg-receiver-to-sender", "Sender: Sender should receive message from Receiver"); - postMessageToIframe('message-from-receiver-received'); - aResolve(); - }); - postMessageToIframe('trigger-message-from-receiver'); - }); -} - -function testSendBlobMessage() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testSendBlobMessage ---'); - connection.addEventListener('message', function messageHandler(evt) { - connection.removeEventListener('message', messageHandler); - let msg = evt.data; - is(msg, "testIncomingBlobMessage", "Sender: Sender should receive message from Receiver"); - let blob = new Blob(["Hello World"], {type : 'text/plain'}); - connection.send(blob); - aResolve(); - }); - }); -} - -function testSendArrayBuffer() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testSendArrayBuffer ---'); - connection.addEventListener('message', function messageHandler(evt) { - connection.removeEventListener('message', messageHandler); - let msg = evt.data; - is(msg, "testIncomingArrayBuffer", "Sender: Sender should receive message from Receiver"); - connection.send(DATA_ARRAY_BUFFER); - aResolve(); - }); - }); -} - -function testSendArrayBufferView() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testSendArrayBufferView ---'); - connection.addEventListener('message', function messageHandler(evt) { - connection.removeEventListener('message', messageHandler); - let msg = evt.data; - is(msg, "testIncomingArrayBufferView", "Sender: Sender should receive message from Receiver"); - connection.send(TYPED_DATA_ARRAY); - aResolve(); - }); - }); -} - -function testCloseConnection() { - info('Sender: --- testCloseConnection ---'); - // Test terminate immediate after close. - function controlChannelEstablishedHandler() - { - gScript.removeMessageListener('control-channel-established', - controlChannelEstablishedHandler); - ok(false, "terminate after close should do nothing"); - } - gScript.addMessageListener('ready-to-close', function onReadyToClose() { - gScript.removeMessageListener('ready-to-close', onReadyToClose); - connection.close(); - - gScript.addMessageListener('control-channel-established', controlChannelEstablishedHandler); - connection.terminate(); - }); - - return Promise.all([ - new Promise(function(aResolve, aReject) { - connection.onclose = function() { - connection.onclose = null; - is(connection.state, 'closed', 'Sender: Connection should be closed.'); - gScript.removeMessageListener('control-channel-established', - controlChannelEstablishedHandler); - aResolve(); - }; - }), - new Promise(function(aResolve, aReject) { - let timeout = setTimeout(function() { - gScript.removeMessageListener('device-disconnected', - deviceDisconnectedHandler); - ok(true, "terminate after close should not trigger device.disconnect"); - aResolve(); - }, 3000); - - function deviceDisconnectedHandler() { - gScript.removeMessageListener('device-disconnected', - deviceDisconnectedHandler); - ok(false, "terminate after close should not trigger device.disconnect"); - clearTimeout(timeout); - aResolve(); - } - - gScript.addMessageListener('device-disconnected', deviceDisconnectedHandler); - }), - new Promise(function(aResolve, aReject) { - gScript.addMessageListener('receiver-closed', function onReceiverClosed() { - gScript.removeMessageListener('receiver-closed', onReceiverClosed); - gScript.removeMessageListener('control-channel-established', - controlChannelEstablishedHandler); - aResolve(); - }); - }), - ]); -} - -function testTerminateAfterClose() { - info('Sender: --- testTerminateAfterClose ---'); - return Promise.race([ - new Promise(function(aResolve, aReject) { - connection.onterminate = function() { - connection.onterminate = null; - ok(false, 'terminate after close should do nothing'); - aResolve(); - }; - connection.terminate(); - }), - new Promise(function(aResolve, aReject) { - setTimeout(function() { - is(connection.state, 'closed', 'Sender: Connection should be closed.'); - aResolve(); - }, 3000); - }), - ]); -} - -function testReconnect() { - return new Promise(function(aResolve, aReject) { - info('Sender: --- testReconnect ---'); - gScript.addMessageListener('control-channel-established', function controlChannelEstablished() { - gScript.removeMessageListener('control-channel-established', controlChannelEstablished); - gScript.sendAsyncMessage("trigger-control-channel-open"); - }); - - gScript.addMessageListener('start-reconnect', function startReconnectHandler(url) { - debug('Got message: start-reconnect'); - gScript.removeMessageListener('start-reconnect', startReconnectHandler); - is(url, receiverUrl, "URLs should be the same.") - gScript.sendAsyncMessage('trigger-reconnected-acked', url); - }); - - gScript.addMessageListener('ready-to-reconnect', function onReadyToReconnect() { - gScript.removeMessageListener('ready-to-reconnect', onReadyToReconnect); - request.reconnect(presentationId).then((aConnection) => { - connection = aConnection; - ok(connection, "Sender: Connection should be available."); - is(connection.id, presentationId, "The presentationId should be the same."); - is(connection.state, "connecting", "The initial state should be connecting."); - connection.onconnect = function() { - connection.onconnect = null; - is(connection.state, "connected", "Connection should be connected."); - aResolve(); - }; - }).catch((aError) => { - ok(false, "Sender: Error occurred when establishing a connection: " + aError); - teardown(); - aReject(); - }); - }); - - postMessageToIframe('prepare-for-reconnect'); - }); -} - -function teardown() { - gScript.addMessageListener('teardown-complete', function teardownCompleteHandler() { - debug('Got message: teardown-complete'); - gScript.removeMessageListener('teardown-complete', teardownCompleteHandler); - gScript.destroy(); - SimpleTest.finish(); - }); - - gScript.sendAsyncMessage('teardown'); -} - -function runTests() { - setup().then(testCreateRequest) - .then(testStartConnection) - .then(testSendMessage) - .then(testIncomingMessage) - .then(testSendBlobMessage) - .then(testCloseConnection) - .then(testReconnect) - .then(testSendArrayBuffer) - .then(testSendArrayBufferView) - .then(testCloseConnection) - .then(testTerminateAfterClose) - .then(teardown); -} - -SimpleTest.waitForExplicitFinish(); -SimpleTest.requestFlakyTimeout('Test for guarantee not firing async event'); -SpecialPowers.pushPermissions([ - {type: 'presentation-device-manage', allow: false, context: document}, - {type: "browser", allow: true, context: document}, -], () => { - SpecialPowers.pushPrefEnv({ 'set': [["dom.presentation.enabled", true], - /* Mocked TCP session transport builder in the test */ - ["dom.presentation.session_transport.data_channel.enable", true], - ["dom.presentation.controller.enabled", true], - ["dom.presentation.receiver.enabled", true], - ["dom.presentation.test.enabled", true], - ["dom.presentation.test.stage", 0], - ["dom.mozBrowserFramesEnabled", true], - ["network.disable.ipc.security", true], - ["media.navigator.permission.disabled", true]]}, - runTests); -}); diff --git a/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver_inproc.html b/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver_inproc.html deleted file mode 100644 index 520b1a98c3..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver_inproc.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Test for B2G Presentation API when sender and receiver at the same side - - - - - - Test for B2G Presentation API when sender and receiver at the same side - - - diff --git a/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver_oop.html b/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver_oop.html deleted file mode 100644 index e744e68029..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_1ua_sender_and_receiver_oop.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Test for B2G Presentation API when sender and receiver at the same side (OOP ver.) - - - - - - Test for B2G Presentation API when sender and receiver at the same side (OOP ver.) - - - diff --git a/dom/presentation/tests/mochitest/test_presentation_availability.html b/dom/presentation/tests/mochitest/test_presentation_availability.html deleted file mode 100644 index 89f1ad1b7e..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_availability.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - Test for PresentationAvailability - - - - -Test PresentationAvailability - - - diff --git a/dom/presentation/tests/mochitest/test_presentation_datachannel_sessiontransport.html b/dom/presentation/tests/mochitest/test_presentation_datachannel_sessiontransport.html deleted file mode 100644 index 89a51afb7d..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_datachannel_sessiontransport.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - Test for data channel as session transport in Presentation API - - - - -Test for data channel as session transport in Presentation API - -
-
-
- - diff --git a/dom/presentation/tests/mochitest/test_presentation_dc_receiver.html b/dom/presentation/tests/mochitest/test_presentation_dc_receiver.html deleted file mode 100644 index a42489bdb5..0000000000 --- a/dom/presentation/tests/mochitest/test_presentation_dc_receiver.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - Test for B2G PresentationConnection API at receiver side - - - - -Test for B2G PresentationConnection API at receiver side -

- -

-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_dc_receiver_oop.html b/dom/presentation/tests/mochitest/test_presentation_dc_receiver_oop.html
deleted file mode 100644
index b289b0be68..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_dc_receiver_oop.html
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-  
-  Test for B2G PresentationConnection API at receiver side (OOP)
-  
-  
-  
-
-
-Test B2G PresentationConnection API at receiver side (OOP)
-

- -

-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_dc_sender.html b/dom/presentation/tests/mochitest/test_presentation_dc_sender.html
deleted file mode 100644
index 97e252e840..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_dc_sender.html
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
-
-  
-  Test for B2G Presentation API at sender side
-  
-  
-  
-
-
-Test for B2G Presentation API at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_device_info.html b/dom/presentation/tests/mochitest/test_presentation_device_info.html
deleted file mode 100644
index 77253e41db..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_device_info.html
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
-
-  
-  Test for B2G Presentation Device Info API
-  
-  
-
-
-Test for B2G Presentation Device Info API
-
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_device_info_permission.html b/dom/presentation/tests/mochitest/test_presentation_device_info_permission.html
deleted file mode 100644
index c7f7ac96d4..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_device_info_permission.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-  
-  Test for B2G Presentation Device Info API Permission
-  
-  
-
-
-Test for B2G Presentation Device Info API Permission
-
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_mixed_security_contexts.html b/dom/presentation/tests/mochitest/test_presentation_mixed_security_contexts.html
deleted file mode 100644
index 31918a2c40..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_mixed_security_contexts.html
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-  
-  Test default request for B2G Presentation API at sender side
-  
-  
-
-
-Test allow-presentation sandboxing flag
-
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation.js b/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation.js
deleted file mode 100644
index 0647bff3a8..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation.js
+++ /dev/null
@@ -1,77 +0,0 @@
-"use strict";
-
-var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL("PresentationSessionChromeScript.js"));
-var receiverUrl = SimpleTest.getTestFileURL("file_presentation_receiver_auxiliary_navigation.html");
-
-var obs = SpecialPowers.Cc["@mozilla.org/observer-service;1"]
-          .getService(SpecialPowers.Ci.nsIObserverService);
-
-function setup() {
-  return new Promise(function(aResolve, aReject) {
-    gScript.sendAsyncMessage("trigger-device-add");
-
-    var iframe = document.createElement("iframe");
-    iframe.setAttribute("mozbrowser", "true");
-    iframe.setAttribute("mozpresentation", receiverUrl);
-    var oop = location.pathname.indexOf('_inproc') == -1;
-    iframe.setAttribute("remote", oop);
-    iframe.setAttribute("src", receiverUrl);
-
-    // This event is triggered when the iframe calls "postMessage".
-    iframe.addEventListener("mozbrowsershowmodalprompt", function listener(aEvent) {
-      var message = aEvent.detail.message;
-      if (/^OK /.exec(message)) {
-        ok(true, "Message from iframe: " + message);
-      } else if (/^KO /.exec(message)) {
-        ok(false, "Message from iframe: " + message);
-      } else if (/^INFO /.exec(message)) {
-        info("Message from iframe: " + message);
-      } else if (/^COMMAND /.exec(message)) {
-        var command = JSON.parse(message.replace(/^COMMAND /, ""));
-        gScript.sendAsyncMessage(command.name, command.data);
-      } else if (/^DONE$/.exec(message)) {
-        ok(true, "Messaging from iframe complete.");
-        iframe.removeEventListener("mozbrowsershowmodalprompt", listener);
-
-        teardown();
-      }
-    }, false);
-
-    var promise = new Promise(function(aResolve, aReject) {
-      document.body.appendChild(iframe);
-
-      aResolve(iframe);
-    });
-    obs.notifyObservers(promise, "setup-request-promise", null);
-
-    aResolve();
-  });
-}
-
-function teardown() {
-  gScript.addMessageListener("teardown-complete", function teardownCompleteHandler() {
-    gScript.removeMessageListener("teardown-complete", teardownCompleteHandler);
-    gScript.destroy();
-    SimpleTest.finish();
-  });
-
-  gScript.sendAsyncMessage("teardown");
-}
-
-function runTests() {
-  setup().then();
-}
-
-SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPermissions([
-  {type: "presentation-device-manage", allow: false, context: document},
-  {type: "browser", allow: true, context: document},
-], function() {
-  SpecialPowers.pushPrefEnv({ "set": [["dom.presentation.enabled", true],
-                                      ["dom.presentation.controller.enabled", true],
-                                      ["dom.presentation.receiver.enabled", true],
-                                      ["dom.mozBrowserFramesEnabled", true],
-                                      ["network.disable.ipc.security", true],
-                                      ["dom.presentation.session_transport.data_channel.enable", false]]},
-                            runTests);
-});
diff --git a/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation_inproc.html b/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation_inproc.html
deleted file mode 100644
index f873fa3da4..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation_inproc.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-  
-  
-    
-    Test for B2G Presentation API when sender and receiver at the same side
-    
-    
-  
-  
-    
-      Test for receiver page with sandboxed auxiliary navigation browsing context flag.
-    
-  
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation_oop.html b/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation_oop.html
deleted file mode 100644
index f873fa3da4..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_receiver_auxiliary_navigation_oop.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-  
-  
-    
-    Test for B2G Presentation API when sender and receiver at the same side
-    
-    
-  
-  
-    
-      Test for receiver page with sandboxed auxiliary navigation browsing context flag.
-    
-  
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_reconnect.html b/dom/presentation/tests/mochitest/test_presentation_reconnect.html
deleted file mode 100644
index 079b7f5c5a..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_reconnect.html
+++ /dev/null
@@ -1,379 +0,0 @@
-
-
-
-
-  
-  Test for B2G Presentation API at sender side
-  
-  
-  
-
-
-Test for Presentation API at sender side
-
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_sandboxed_presentation.html b/dom/presentation/tests/mochitest/test_presentation_sandboxed_presentation.html
deleted file mode 100644
index dc17209c5a..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_sandboxed_presentation.html
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-  
-  Test default request for B2G Presentation API at sender side
-  
-  
-
-
-Test allow-presentation sandboxing flag
-
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_sender_on_terminate_request.html b/dom/presentation/tests/mochitest/test_presentation_sender_on_terminate_request.html
deleted file mode 100644
index d0c8af0ad7..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_sender_on_terminate_request.html
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
-  
-  Test onTerminateRequest at sender side
-  
-  
-
-
-Test onTerminateRequest at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_sender_startWithDevice.html b/dom/presentation/tests/mochitest/test_presentation_sender_startWithDevice.html
deleted file mode 100644
index 27b17bb321..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_sender_startWithDevice.html
+++ /dev/null
@@ -1,173 +0,0 @@
-
-
-
-
-  
-  Test startWithDevice for B2G Presentation API at sender side
-  
-  
-
-
-Test startWithDevice for B2G Presentation API at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver.html b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver.html
deleted file mode 100644
index f26184f0b2..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver.html
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-  
-  Test for B2G PresentationConnection API at receiver side
-  
-  
-
-
-Test for B2G PresentationConnection API at receiver side
-

- -

-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_error.html b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_error.html
deleted file mode 100644
index 0935aaaf9c..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_error.html
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
-  
-  Test for connection establishing errors of B2G Presentation API at receiver side
-  
-  
-
-
-Test for connection establishing errors of B2G Presentation API at receiver side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_timeout.html b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_timeout.html
deleted file mode 100644
index 1dc002644f..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_timeout.html
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-  
-  Test for connection establishing timeout of B2G Presentation API at receiver side
-  
-  
-
-
-Test for connection establishing timeout of B2G Presentation API at receiver side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type.js b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type.js
deleted file mode 100644
index d73f84cf8a..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type.js
+++ /dev/null
@@ -1,88 +0,0 @@
-'use strict';
-
-var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('PresentationSessionChromeScript.js'));
-var receiverUrl = SimpleTest.getTestFileURL('file_presentation_unknown_content_type.test');
-
-var obs = SpecialPowers.Cc['@mozilla.org/observer-service;1']
-          .getService(SpecialPowers.Ci.nsIObserverService);
-
-var receiverIframe;
-
-function setup() {
-  return new Promise(function(aResolve, aReject) {
-    gScript.sendAsyncMessage('trigger-device-add');
-
-    receiverIframe = document.createElement('iframe');
-    receiverIframe.setAttribute('mozbrowser', 'true');
-    receiverIframe.setAttribute('mozpresentation', receiverUrl);
-    receiverIframe.setAttribute('src', receiverUrl);
-    var oop = location.pathname.indexOf('_inproc') == -1;
-    receiverIframe.setAttribute("remote", oop);
-
-    var promise = new Promise(function(aResolve, aReject) {
-      document.body.appendChild(receiverIframe);
-
-      aResolve(receiverIframe);
-    });
-    obs.notifyObservers(promise, 'setup-request-promise', null);
-
-    aResolve();
-  });
-}
-
-function testIncomingSessionRequestReceiverLaunchUnknownContentType() {
-  let promise = Promise.all([
-    new Promise(function(aResolve, aReject) {
-      gScript.addMessageListener('receiver-launching', function launchReceiverHandler(aSessionId) {
-        gScript.removeMessageListener('receiver-launching', launchReceiverHandler);
-        info('Trying to launch receiver page.');
-
-        receiverIframe.addEventListener('mozbrowserclose', function() {
-          ok(true, 'observe receiver window closed');
-          aResolve();
-        });
-      });
-    }),
-    new Promise(function(aResolve, aReject) {
-      gScript.addMessageListener('control-channel-closed', function controlChannelClosedHandler(aReason) {
-        gScript.removeMessageListener('control-channel-closed', controlChannelClosedHandler);
-        is(aReason, 0x80530020 /* NS_ERROR_DOM_OPERATION_ERR */, 'The control channel is closed due to load failure.');
-        aResolve();
-      });
-    })
-  ]);
-
-  gScript.sendAsyncMessage('trigger-incoming-session-request', receiverUrl);
-  return promise;
-}
-
-function teardown() {
-  gScript.addMessageListener('teardown-complete', function teardownCompleteHandler() {
-    gScript.removeMessageListener('teardown-complete', teardownCompleteHandler);
-    gScript.destroy();
-    SimpleTest.finish();
-  });
-
-  gScript.sendAsyncMessage('teardown');
-}
-
-function runTests() {
-  setup().
-  then(testIncomingSessionRequestReceiverLaunchUnknownContentType).
-  then(teardown);
-}
-
-SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPermissions([
-  {type: 'presentation-device-manage', allow: false, context: document},
-  {type: 'browser', allow: true, context: document},
-], function() {
-  SpecialPowers.pushPrefEnv({ 'set': [['dom.presentation.enabled', true],
-                                      ["dom.presentation.controller.enabled", true],
-                                      ["dom.presentation.receiver.enabled", true],
-                                      ['dom.presentation.session_transport.data_channel.enable', false],
-                                      ['dom.mozBrowserFramesEnabled', true],
-                                      ["network.disable.ipc.security", true],
-                                      ['dom.ipc.tabs.disabled', false]]},
-                            runTests);
-});
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type_inproc.html b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type_inproc.html
deleted file mode 100644
index 8ade1d72d7..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type_inproc.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-  
-  Test for unknown content type of B2G Presentation API at receiver side
-  
-  
-
-
-Test for unknown content type of B2G Presentation API at receiver side
-    
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type_oop.html b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type_oop.html
deleted file mode 100644
index b2d2d3c6eb..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_establish_connection_unknown_content_type_oop.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-  
-  Test for unknown content type of B2G Presentation API at receiver side (OOP)
-  
-  
-
-
-Test for unknown content type of B2G Presentation API at receiver side (OOP)
-    
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_oop.html b/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_oop.html
deleted file mode 100644
index bfbc7947a5..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_receiver_oop.html
+++ /dev/null
@@ -1,178 +0,0 @@
-
-
-
-
-  
-  Test for B2G PresentationConnection API at receiver side (OOP)
-  
-  
-
-
-Test B2G PresentationConnection API at receiver side (OOP)
-

- -

-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_sender.html b/dom/presentation/tests/mochitest/test_presentation_tcp_sender.html
deleted file mode 100644
index 8df34c884f..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_sender.html
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
-  
-  Test for B2G Presentation API at sender side
-  
-  
-
-
-Test for B2G Presentation API at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_sender_default_request.html b/dom/presentation/tests/mochitest/test_presentation_tcp_sender_default_request.html
deleted file mode 100644
index 60247ec986..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_sender_default_request.html
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-  
-  Test default request for B2G Presentation API at sender side
-  
-  
-
-
-Test default request for B2G Presentation API at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_sender_disconnect.html b/dom/presentation/tests/mochitest/test_presentation_tcp_sender_disconnect.html
deleted file mode 100644
index a95da104f3..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_sender_disconnect.html
+++ /dev/null
@@ -1,160 +0,0 @@
-
-
-
-
-  
-  Test for disconnection of B2G Presentation API at sender side
-  
-  
-
-
-Test for disconnection of B2G Presentation API at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_tcp_sender_establish_connection_error.html b/dom/presentation/tests/mochitest/test_presentation_tcp_sender_establish_connection_error.html
deleted file mode 100644
index 557ae71a6f..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_tcp_sender_establish_connection_error.html
+++ /dev/null
@@ -1,514 +0,0 @@
-
-
-
-
-  
-  Test for connection establishing errors of B2G Presentation API at sender side
-  
-  
-
-
-Test for connection establishing errors of B2G Presentation API at sender side
-
-
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_terminate.js b/dom/presentation/tests/mochitest/test_presentation_terminate.js
deleted file mode 100644
index 8ebfd9d641..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_terminate.js
+++ /dev/null
@@ -1,243 +0,0 @@
-'use strict';
-
-SimpleTest.waitForExplicitFinish();
-SimpleTest.requestFlakyTimeout('Test for guarantee not firing async event');
-
-function debug(str) {
-  // info(str);
-}
-
-var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('PresentationSessionChromeScript1UA.js'));
-var receiverUrl = SimpleTest.getTestFileURL('file_presentation_terminate.html');
-var request;
-var connection;
-var receiverIframe;
-
-function setup() {
-  gScript.addMessageListener('device-prompt', function devicePromptHandler() {
-    debug('Got message: device-prompt');
-    gScript.removeMessageListener('device-prompt', devicePromptHandler);
-    gScript.sendAsyncMessage('trigger-device-prompt-select');
-  });
-
-  gScript.addMessageListener('control-channel-established', function controlChannelEstablishedHandler() {
-    gScript.removeMessageListener('control-channel-established',
-                                  controlChannelEstablishedHandler);
-    gScript.sendAsyncMessage('trigger-control-channel-open');
-  });
-
-  gScript.addMessageListener('sender-launch', function senderLaunchHandler(url) {
-    debug('Got message: sender-launch');
-    gScript.removeMessageListener('sender-launch', senderLaunchHandler);
-    is(url, receiverUrl, 'Receiver: should receive the same url');
-    receiverIframe = document.createElement('iframe');
-    receiverIframe.setAttribute('mozbrowser', 'true');
-    receiverIframe.setAttribute('mozpresentation', receiverUrl);
-    var oop = location.pathname.indexOf('_inproc') == -1;
-    receiverIframe.setAttribute('remote', oop);
-
-    receiverIframe.setAttribute('src', receiverUrl);
-    receiverIframe.addEventListener('mozbrowserloadend', function mozbrowserloadendHander() {
-      receiverIframe.removeEventListener('mozbrowserloadend', mozbrowserloadendHander);
-      info('Receiver loaded.');
-    });
-
-    // This event is triggered when the iframe calls 'alert'.
-    receiverIframe.addEventListener('mozbrowsershowmodalprompt', function receiverListener(evt) {
-      var message = evt.detail.message;
-      if (/^OK /.exec(message)) {
-        ok(true, message.replace(/^OK /, ''));
-      } else if (/^KO /.exec(message)) {
-        ok(false, message.replace(/^KO /, ''));
-      } else if (/^INFO /.exec(message)) {
-        info(message.replace(/^INFO /, ''));
-      } else if (/^COMMAND /.exec(message)) {
-        var command = JSON.parse(message.replace(/^COMMAND /, ''));
-        gScript.sendAsyncMessage(command.name, command.data);
-      } else if (/^DONE$/.exec(message)) {
-        ok(true, 'Messaging from iframe complete.');
-        receiverIframe.removeEventListener('mozbrowsershowmodalprompt',
-                                            receiverListener);
-      }
-    }, false);
-
-    var promise = new Promise(function(aResolve, aReject) {
-      document.body.appendChild(receiverIframe);
-      aResolve(receiverIframe);
-    });
-
-    var obs = SpecialPowers.Cc['@mozilla.org/observer-service;1']
-                           .getService(SpecialPowers.Ci.nsIObserverService);
-    obs.notifyObservers(promise, 'setup-request-promise', null);
-  });
-
-  gScript.addMessageListener('promise-setup-ready', function promiseSetupReadyHandler() {
-    debug('Got message: promise-setup-ready');
-    gScript.removeMessageListener('promise-setup-ready',
-                                  promiseSetupReadyHandler);
-    gScript.sendAsyncMessage('trigger-on-session-request', receiverUrl);
-  });
-
-  return Promise.resolve();
-}
-
-function testCreateRequest() {
-  return new Promise(function(aResolve, aReject) {
-    info('Sender: --- testCreateRequest ---');
-    request = new PresentationRequest(receiverUrl);
-    request.getAvailability().then((aAvailability) => {
-      is(aAvailability.value, false, "Sender: should have no available device after setup");
-      aAvailability.onchange = function() {
-        aAvailability.onchange = null;
-        ok(aAvailability.value, 'Sender: Device should be available.');
-        aResolve();
-      }
-
-      gScript.sendAsyncMessage('trigger-device-add');
-    }).catch((aError) => {
-      ok(false, 'Sender: Error occurred when getting availability: ' + aError);
-      teardown();
-      aReject();
-    });
-  });
-}
-
-function testStartConnection() {
-  return new Promise(function(aResolve, aReject) {
-    request.start().then((aConnection) => {
-      connection = aConnection;
-      ok(connection, 'Sender: Connection should be available.');
-      ok(connection.id, 'Sender: Connection ID should be set.');
-      is(connection.state, 'connecting', 'Sender: The initial state should be connecting.');
-      connection.onconnect = function() {
-        connection.onconnect = null;
-        is(connection.state, 'connected', 'Connection should be connected.');
-        aResolve();
-      };
-
-      info('Sender: test terminate at connecting state');
-      connection.onterminate = function() {
-        connection.onterminate = null;
-        ok(false, 'Should not be able to terminate at connecting state');
-        aReject();
-      }
-      connection.terminate();
-    }).catch((aError) => {
-      ok(false, 'Sender: Error occurred when establishing a connection: ' + aError);
-      teardown();
-      aReject();
-    });
-  });
-}
-
-function testConnectionTerminate() {
-  return new Promise(function(aResolve, aReject) {
-    info('Sender: --- testConnectionTerminate---');
-    connection.onterminate = function() {
-      connection.onterminate = null;
-      is(connection.state, 'terminated', 'Sender: Connection should be terminated.');
-    };
-    gScript.addMessageListener('control-channel-established', function controlChannelEstablishedHandler() {
-      gScript.removeMessageListener('control-channel-established',
-                                    controlChannelEstablishedHandler);
-      gScript.sendAsyncMessage('trigger-control-channel-open');
-    });
-    gScript.addMessageListener('sender-terminate', function senderTerminateHandler() {
-      gScript.removeMessageListener('sender-terminate',
-                                    senderTerminateHandler);
-
-      Promise.all([
-        new Promise((resolve) => {
-          gScript.addMessageListener('device-disconnected', function deviceDisconnectedHandler() {
-            gScript.removeMessageListener('device-disconnected', deviceDisconnectedHandler);
-            ok(true, 'observe device disconnect');
-            resolve();
-          });
-        }),
-        new Promise((resolve) => {
-          receiverIframe.addEventListener('mozbrowserclose', function() {
-            ok(true, 'observe receiver page closing');
-            resolve();
-          });
-        }),
-      ]).then(aResolve);
-
-      gScript.sendAsyncMessage('trigger-on-terminate-request');
-    });
-    gScript.addMessageListener('ready-to-terminate', function onReadyToTerminate() {
-      gScript.removeMessageListener('ready-to-terminate', onReadyToTerminate);
-      connection.terminate();
-
-      // test unexpected close right after terminate
-      connection.onclose = function() {
-        ok(false, 'close after terminate should do nothing');
-      };
-      connection.close();
-    });
-  });
-}
-
-function testSendAfterTerminate() {
-  return new Promise(function(aResolve, aReject) {
-    try {
-      connection.send('something');
-      ok(false, 'PresentationConnection.send should be failed');
-    } catch (e) {
-      is(e.name, 'InvalidStateError', 'Must throw InvalidStateError');
-    }
-    aResolve();
-  });
-}
-
-function testCloseAfterTerminate() {
-  return Promise.race([
-      new Promise(function(aResolve, aReject) {
-        connection.onclose = function() {
-          connection.onclose = null;
-          ok(false, 'close at terminated state should do nothing');
-          aResolve();
-        };
-        connection.close();
-      }),
-      new Promise(function(aResolve, aReject) {
-        setTimeout(function() {
-          is(connection.state, 'terminated', 'Sender: Connection should be terminated.');
-          aResolve();
-        }, 3000);
-      }),
-  ]);
-}
-
-function teardown() {
-  gScript.addMessageListener('teardown-complete', function teardownCompleteHandler() {
-    debug('Got message: teardown-complete');
-    gScript.removeMessageListener('teardown-complete', teardownCompleteHandler);
-    gScript.destroy();
-    SimpleTest.finish();
-  });
-  gScript.sendAsyncMessage('teardown');
-}
-
-function runTests() {
-  setup().then(testCreateRequest)
-         .then(testStartConnection)
-         .then(testConnectionTerminate)
-         .then(testSendAfterTerminate)
-         .then(testCloseAfterTerminate)
-         .then(teardown);
-}
-
-SpecialPowers.pushPermissions([
-  {type: 'presentation-device-manage', allow: false, context: document},
-  {type: 'browser', allow: true, context: document},
-], () => {
-  SpecialPowers.pushPrefEnv({ 'set': [['dom.presentation.enabled', true],
-                                      ["dom.presentation.controller.enabled", true],
-                                      ["dom.presentation.receiver.enabled", true],
-                                      ['dom.presentation.test.enabled', true],
-                                      ['dom.mozBrowserFramesEnabled', true],
-                                      ["network.disable.ipc.security", true],
-                                      ['dom.ipc.tabs.disabled', false],
-                                      ['dom.presentation.test.stage', 0]]},
-                            runTests);
-});
diff --git a/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error.js b/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error.js
deleted file mode 100644
index a1d477aab0..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error.js
+++ /dev/null
@@ -1,197 +0,0 @@
-'use strict';
-
-SimpleTest.waitForExplicitFinish();
-SimpleTest.requestFlakyTimeout('Test for guarantee not firing async event');
-
-function debug(str) {
-  // info(str);
-}
-
-var gScript = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('PresentationSessionChromeScript1UA.js'));
-var receiverUrl = SimpleTest.getTestFileURL('file_presentation_terminate_establish_connection_error.html');
-var request;
-var connection;
-var receiverIframe;
-
-function postMessageToIframe(aType) {
-  receiverIframe.src = receiverUrl + "#" +
-                       encodeURIComponent(JSON.stringify({ type: aType }));
-}
-
-function setup() {
-  gScript.addMessageListener('device-prompt', function devicePromptHandler() {
-    debug('Got message: device-prompt');
-    gScript.removeMessageListener('device-prompt', devicePromptHandler);
-    gScript.sendAsyncMessage('trigger-device-prompt-select');
-  });
-
-  gScript.addMessageListener('control-channel-established', function controlChannelEstablishedHandler() {
-    gScript.removeMessageListener('control-channel-established',
-                                  controlChannelEstablishedHandler);
-    gScript.sendAsyncMessage('trigger-control-channel-open');
-  });
-
-  gScript.addMessageListener('sender-launch', function senderLaunchHandler(url) {
-    debug('Got message: sender-launch');
-    gScript.removeMessageListener('sender-launch', senderLaunchHandler);
-    is(url, receiverUrl, 'Receiver: should receive the same url');
-    receiverIframe = document.createElement('iframe');
-    receiverIframe.setAttribute('mozbrowser', 'true');
-    receiverIframe.setAttribute('mozpresentation', receiverUrl);
-    var oop = location.pathname.indexOf('_inproc') == -1;
-    receiverIframe.setAttribute('remote', oop);
-
-    receiverIframe.setAttribute('src', receiverUrl);
-    receiverIframe.addEventListener('mozbrowserloadend', function mozbrowserloadendHander() {
-      receiverIframe.removeEventListener('mozbrowserloadend', mozbrowserloadendHander);
-      info('Receiver loaded.');
-    });
-
-    // This event is triggered when the iframe calls 'alert'.
-    receiverIframe.addEventListener('mozbrowsershowmodalprompt', function receiverListener(evt) {
-      var message = evt.detail.message;
-      if (/^OK /.exec(message)) {
-        ok(true, message.replace(/^OK /, ''));
-      } else if (/^KO /.exec(message)) {
-        ok(false, message.replace(/^KO /, ''));
-      } else if (/^INFO /.exec(message)) {
-        info(message.replace(/^INFO /, ''));
-      } else if (/^COMMAND /.exec(message)) {
-        var command = JSON.parse(message.replace(/^COMMAND /, ''));
-        gScript.sendAsyncMessage(command.name, command.data);
-      } else if (/^DONE$/.exec(message)) {
-        ok(true, 'Messaging from iframe complete.');
-        receiverIframe.removeEventListener('mozbrowsershowmodalprompt',
-                                            receiverListener);
-      }
-    }, false);
-
-    var promise = new Promise(function(aResolve, aReject) {
-      document.body.appendChild(receiverIframe);
-      aResolve(receiverIframe);
-    });
-
-    var obs = SpecialPowers.Cc['@mozilla.org/observer-service;1']
-                           .getService(SpecialPowers.Ci.nsIObserverService);
-    obs.notifyObservers(promise, 'setup-request-promise', null);
-  });
-
-  gScript.addMessageListener('promise-setup-ready', function promiseSetupReadyHandler() {
-    debug('Got message: promise-setup-ready');
-    gScript.removeMessageListener('promise-setup-ready',
-                                  promiseSetupReadyHandler);
-    gScript.sendAsyncMessage('trigger-on-session-request', receiverUrl);
-  });
-
-  return Promise.resolve();
-}
-
-function testCreateRequest() {
-  return new Promise(function(aResolve, aReject) {
-    info('Sender: --- testCreateRequest ---');
-    request = new PresentationRequest(receiverUrl);
-    request.getAvailability().then((aAvailability) => {
-      is(aAvailability.value, false, "Sender: should have no available device after setup");
-      aAvailability.onchange = function() {
-        aAvailability.onchange = null;
-        ok(aAvailability.value, 'Sender: Device should be available.');
-        aResolve();
-      }
-
-      gScript.sendAsyncMessage('trigger-device-add');
-    }).catch((aError) => {
-      ok(false, 'Sender: Error occurred when getting availability: ' + aError);
-      teardown();
-      aReject();
-    });
-  });
-}
-
-function testStartConnection() {
-  return new Promise(function(aResolve, aReject) {
-    request.start().then((aConnection) => {
-      connection = aConnection;
-      ok(connection, 'Sender: Connection should be available.');
-      ok(connection.id, 'Sender: Connection ID should be set.');
-      is(connection.state, 'connecting', 'Sender: The initial state should be connecting.');
-      connection.onconnect = function() {
-        connection.onconnect = null;
-        is(connection.state, 'connected', 'Connection should be connected.');
-        aResolve();
-      };
-    }).catch((aError) => {
-      ok(false, 'Sender: Error occurred when establishing a connection: ' + aError);
-      teardown();
-      aReject();
-    });
-  });
-}
-
-function testConnectionTerminate() {
-  info('Sender: --- testConnectionTerminate---');
-  let promise = Promise.all([
-    new Promise(function(aResolve, aReject) {
-      connection.onclose = function() {
-        connection.onclose = null;
-        is(connection.state, 'closed', 'Sender: Connection should be closed.');
-        aResolve();
-      };
-    }),
-    new Promise(function(aResolve, aReject) {
-      function deviceDisconnectedHandler() {
-        gScript.removeMessageListener('device-disconnected', deviceDisconnectedHandler);
-        ok(true, 'should not receive device disconnect');
-        aResolve();
-      }
-
-      gScript.addMessageListener('device-disconnected', deviceDisconnectedHandler);
-    }),
-    new Promise(function(aResolve, aReject) {
-      receiverIframe.addEventListener('mozbrowserclose', function() {
-        ok(true, 'observe receiver page closing');
-        aResolve();
-      });
-    })
-  ]);
-
-  gScript.addMessageListener('prepare-for-terminate', function prepareForTerminateHandler() {
-    debug('Got message: prepare-for-terminate');
-    gScript.removeMessageListener('prepare-for-terminate', prepareForTerminateHandler);
-    gScript.sendAsyncMessage('trigger-control-channel-error');
-    postMessageToIframe('ready-to-terminate');
-  });
-
-  return promise;
-}
-
-function teardown() {
-  gScript.addMessageListener('teardown-complete', function teardownCompleteHandler() {
-    debug('Got message: teardown-complete');
-    gScript.removeMessageListener('teardown-complete', teardownCompleteHandler);
-    gScript.destroy();
-    SimpleTest.finish();
-  });
-  gScript.sendAsyncMessage('teardown');
-}
-
-function runTests() {
-  setup().then(testCreateRequest)
-         .then(testStartConnection)
-         .then(testConnectionTerminate)
-         .then(teardown);
-}
-
-SpecialPowers.pushPermissions([
-  {type: 'presentation-device-manage', allow: false, context: document},
-  {type: 'browser', allow: true, context: document},
-], () => {
-  SpecialPowers.pushPrefEnv({ 'set': [['dom.presentation.enabled', true],
-                                      ["dom.presentation.controller.enabled", true],
-                                      ["dom.presentation.receiver.enabled", true],
-                                      ['dom.presentation.test.enabled', true],
-                                      ['dom.mozBrowserFramesEnabled', true],
-                                      ["network.disable.ipc.security", true],
-                                      ['dom.ipc.tabs.disabled', false],
-                                      ['dom.presentation.test.stage', 0]]},
-                            runTests);
-});
diff --git a/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error_inproc.html b/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error_inproc.html
deleted file mode 100644
index ccf0767f1f..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error_inproc.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-  
-  
-    
-    Test for control channel establish error during PresentationConnection.terminate()
-    
-    
-  
-  
-    
-      Test for constrol channel establish error during PresentationConnection.terminate()
-    
-  
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error_oop.html b/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error_oop.html
deleted file mode 100644
index ccf0767f1f..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_terminate_establish_connection_error_oop.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-  
-  
-    
-    Test for control channel establish error during PresentationConnection.terminate()
-    
-    
-  
-  
-    
-      Test for constrol channel establish error during PresentationConnection.terminate()
-    
-  
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_terminate_inproc.html b/dom/presentation/tests/mochitest/test_presentation_terminate_inproc.html
deleted file mode 100644
index 33bbcda572..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_terminate_inproc.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-  
-  
-    
-    Test for PresentationConnection.terminate()
-    
-    
-  
-  
-    
-      Test for PresentationConnection.terminate()
-    
-  
-
diff --git a/dom/presentation/tests/mochitest/test_presentation_terminate_oop.html b/dom/presentation/tests/mochitest/test_presentation_terminate_oop.html
deleted file mode 100644
index 33bbcda572..0000000000
--- a/dom/presentation/tests/mochitest/test_presentation_terminate_oop.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-  
-  
-    
-    Test for PresentationConnection.terminate()
-    
-    
-  
-  
-    
-      Test for PresentationConnection.terminate()
-    
-  
-
diff --git a/dom/presentation/tests/xpcshell/test_multicast_dns_device_provider.js b/dom/presentation/tests/xpcshell/test_multicast_dns_device_provider.js
deleted file mode 100644
index 137a5609a6..0000000000
--- a/dom/presentation/tests/xpcshell/test_multicast_dns_device_provider.js
+++ /dev/null
@@ -1,1318 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-/* global Services, do_register_cleanup, do_test_pending */
-
-"use strict";
-
-const { classes: Cc, interfaces: Ci, manager: Cm, results: Cr, utils: Cu } = Components;
-
-Cu.import("resource://gre/modules/Promise.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-const INFO_CONTRACT_ID = "@mozilla.org/toolkit/components/mdnsresponder/dns-info;1";
-const PROVIDER_CONTRACT_ID = "@mozilla.org/presentation-device/multicastdns-provider;1";
-const SD_CONTRACT_ID = "@mozilla.org/toolkit/components/mdnsresponder/dns-sd;1";
-const UUID_CONTRACT_ID = "@mozilla.org/uuid-generator;1";
-const SERVER_CONTRACT_ID = "@mozilla.org/presentation/control-service;1";
-
-const PREF_DISCOVERY = "dom.presentation.discovery.enabled";
-const PREF_DISCOVERABLE = "dom.presentation.discoverable";
-const PREF_DEVICENAME= "dom.presentation.device.name";
-
-const LATEST_VERSION = 1;
-const SERVICE_TYPE = "_presentation-ctrl._tcp";
-const versionAttr = Cc["@mozilla.org/hash-property-bag;1"]
-                      .createInstance(Ci.nsIWritablePropertyBag2);
-versionAttr.setPropertyAsUint32("version", LATEST_VERSION);
-
-var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
-
-function sleep(aMs) {
-  let deferred = Promise.defer();
-
-  let timer = Cc["@mozilla.org/timer;1"]
-                .createInstance(Ci.nsITimer);
-
-  timer.initWithCallback({
-    notify: function () {
-      deferred.resolve();
-    },
-  }, aMs, timer.TYPE_ONE_SHOT);
-
-  return deferred.promise;
-}
-
-function MockFactory(aClass) {
-  this._cls = aClass;
-}
-MockFactory.prototype = {
-  createInstance: function(aOuter, aIID) {
-    if (aOuter) {
-      throw Cr.NS_ERROR_NO_AGGREGATION;
-    }
-    switch(typeof(this._cls)) {
-      case "function":
-        return new this._cls().QueryInterface(aIID);
-      case "object":
-        return this._cls.QueryInterface(aIID);
-      default:
-        return null;
-    }
-  },
-  lockFactory: function(aLock) {
-    throw Cr.NS_ERROR_NOT_IMPLEMENTED;
-  },
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIFactory])
-};
-
-function ContractHook(aContractID, aClass) {
-  this._contractID = aContractID;
-  this.classID = Cc[UUID_CONTRACT_ID].getService(Ci.nsIUUIDGenerator).generateUUID();
-  this._newFactory = new MockFactory(aClass);
-
-  if (!this.hookedMap.has(this._contractID)) {
-    this.hookedMap.set(this._contractID, []);
-  }
-
-  this.init();
-}
-
-ContractHook.prototype = {
-  hookedMap: new Map(), // remember only the most original factory.
-
-  init: function() {
-    this.reset();
-
-    let oldContract = this.unregister();
-    this.hookedMap.get(this._contractID).push(oldContract);
-    registrar.registerFactory(this.classID,
-                              "",
-                              this._contractID,
-                              this._newFactory);
-
-    do_register_cleanup(() => { this.cleanup.apply(this); });
-  },
-
-  reset: function() {},
-
-  cleanup: function() {
-    this.reset();
-
-    this.unregister();
-    let prevContract = this.hookedMap.get(this._contractID).pop();
-
-    if (prevContract.factory) {
-      registrar.registerFactory(prevContract.classID,
-                                "",
-                                this._contractID,
-                                prevContract.factory);
-    }
-  },
-
-  unregister: function() {
-    var classID, factory;
-
-    try {
-      classID = registrar.contractIDToCID(this._contractID);
-      factory = Cm.getClassObject(Cc[this._contractID], Ci.nsIFactory);
-    } catch (ex) {
-      classID = "";
-      factory = null;
-    }
-
-    if (factory) {
-      registrar.unregisterFactory(classID, factory);
-    }
-
-    return { classID: classID, factory: factory };
-  }
-};
-
-function MockDNSServiceInfo() {}
-MockDNSServiceInfo.prototype = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceInfo]),
-
-  set host(aHost) {
-    this._host = aHost;
-  },
-
-  get host() {
-    return this._host;
-  },
-
-  set address(aAddress) {
-    this._address = aAddress;
-  },
-
-  get address() {
-    return this._address;
-  },
-
-  set port(aPort) {
-    this._port = aPort;
-  },
-
-  get port() {
-    return this._port;
-  },
-
-  set serviceName(aServiceName) {
-    this._serviceName = aServiceName;
-  },
-
-  get serviceName() {
-    return this._serviceName;
-  },
-
-  set serviceType(aServiceType) {
-    this._serviceType = aServiceType;
-  },
-
-  get serviceType() {
-    return this._serviceType;
-  },
-
-  set domainName(aDomainName) {
-    this._domainName = aDomainName;
-  },
-
-  get domainName() {
-    return this._domainName;
-  },
-
-  set attributes(aAttributes) {
-    this._attributes = aAttributes;
-  },
-
-  get attributes() {
-    return this._attributes;
-  }
-};
-
-function TestPresentationDeviceListener() {
-  this.devices = {};
-}
-TestPresentationDeviceListener.prototype = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                         Ci.nsISupportsWeakReference]),
-
-  addDevice: function(device) { this.devices[device.id] = device; },
-  removeDevice: function(device) { delete this.devices[device.id]; },
-  updateDevice: function(device) { this.devices[device.id] = device; },
-  onSessionRequest: function(device, url, presentationId, controlChannel) {},
-
-  count: function() {
-    var size = 0, key;
-    for (key in this.devices) {
-        if (this.devices.hasOwnProperty(key)) {
-          ++size;
-        }
-    }
-    return size;
-  }
-};
-
-function createDevice(host, port, serviceName, serviceType, domainName, attributes) {
-  let device = new MockDNSServiceInfo();
-  device.host = host || "";
-  device.port = port || 0;
-  device.address = host || "";
-  device.serviceName = serviceName || "";
-  device.serviceType = serviceType || "";
-  device.domainName = domainName || "";
-  device.attributes = attributes || versionAttr;
-  return device;
-}
-
-function registerService() {
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  let deferred = Promise.defer();
-
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {},
-    registerService: function(serviceInfo, listener) {
-      deferred.resolve();
-      this.serviceRegistered++;
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {
-          this.serviceUnregistered++;
-        }.bind(this)
-      };
-    },
-    resolveService: function(serviceInfo, listener) {},
-    serviceRegistered: 0,
-    serviceUnregistered: 0
-  };
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-
-  Assert.equal(mockObj.serviceRegistered, 0);
-  Assert.equal(mockObj.serviceUnregistered, 0);
-
-  // Register
-  provider.listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {},
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-  };
-
-  deferred.promise.then(function() {
-    Assert.equal(mockObj.serviceRegistered, 1);
-    Assert.equal(mockObj.serviceUnregistered, 0);
-
-    // Unregister
-    provider.listener = null;
-    Assert.equal(mockObj.serviceRegistered, 1);
-    Assert.equal(mockObj.serviceUnregistered, 1);
-
-    run_next_test();
-  });
-}
-
-function noRegisterService() {
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, false);
-
-  let deferred = Promise.defer();
-
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {},
-    registerService: function(serviceInfo, listener) {
-      deferred.resolve();
-      Assert.ok(false, "should not register service if not discoverable");
-    },
-    resolveService: function(serviceInfo, listener) {},
-  };
-
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-
-  // Try register
-  provider.listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {},
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-  };
-
-  let race = Promise.race([
-    deferred.promise,
-    sleep(1000),
-  ]);
-
-  race.then(() => {
-    provider.listener = null;
-
-    run_next_test();
-  });
-}
-
-function registerServiceDynamically() {
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, false);
-
-  let deferred = Promise.defer();
-
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {},
-    registerService: function(serviceInfo, listener) {
-      deferred.resolve();
-      this.serviceRegistered++;
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {
-          this.serviceUnregistered++;
-        }.bind(this)
-      };
-    },
-    resolveService: function(serviceInfo, listener) {},
-    serviceRegistered: 0,
-    serviceUnregistered: 0
-  };
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-
-  Assert.equal(mockObj.serviceRegistered, 0);
-  Assert.equal(mockObj.serviceRegistered, 0);
-
-  // Try Register
-  provider.listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {},
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-  };
-
-  Assert.equal(mockObj.serviceRegistered, 0);
-  Assert.equal(mockObj.serviceUnregistered, 0);
-
-  // Enable registration
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  deferred.promise.then(function() {
-    Assert.equal(mockObj.serviceRegistered, 1);
-    Assert.equal(mockObj.serviceUnregistered, 0);
-
-    // Disable registration
-    Services.prefs.setBoolPref(PREF_DISCOVERABLE, false);
-    Assert.equal(mockObj.serviceRegistered, 1);
-    Assert.equal(mockObj.serviceUnregistered, 1);
-
-    // Try unregister
-    provider.listener = null;
-    Assert.equal(mockObj.serviceRegistered, 1);
-    Assert.equal(mockObj.serviceUnregistered, 1);
-
-    run_next_test();
-  });
-}
-
-function addDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceName, mockDevice.serviceName);
-      Assert.equal(serviceInfo.serviceType, mockDevice.serviceType);
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = new TestPresentationDeviceListener();
-  Assert.equal(listener.count(), 0);
-
-  // Start discovery
-  provider.listener = listener;
-  Assert.equal(listener.count(), 1);
-
-  // Force discovery again
-  provider.forceDiscovery();
-  Assert.equal(listener.count(), 1);
-
-  provider.listener = null;
-  Assert.equal(listener.count(), 1);
-
-  run_next_test();
-}
-
-function filterDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceName, mockDevice.serviceName);
-      Assert.equal(serviceInfo.serviceType, mockDevice.serviceType);
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {
-      let tests = [
-        { requestedUrl: "app://fling-player.gaiamobile.org/index.html", supported: true },
-        { requestedUrl: "app://notification-receiver.gaiamobile.org/index.html", supported: true },
-        { requestedUrl: "http://example.com", supported: true },
-        { requestedUrl: "https://example.com", supported: true },
-        { requestedUrl: "ftp://example.com", supported: false },
-        { requestedUrl: "app://unknown-app-id", supported: false },
-        { requestedUrl: "unknowSchem://example.com", supported: false },
-      ];
-
-      for (let test of tests) {
-        Assert.equal(device.isRequestedUrlSupported(test.requestedUrl), test.supported);
-      }
-
-      provider.listener = null;
-      run_next_test();
-    },
-    updateDevice: function() {},
-    removeDevice: function() {},
-    onSessionRequest: function() {},
-  };
-
-  provider.listener = listener;
-}
-
-function handleSessionRequest() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, false);
-
-  const testUrl = "http://example.com";
-  const testPresentationId = "test-presentation-id";
-  const testDeviceName = "test-device-name";
-
-  Services.prefs.setCharPref(PREF_DEVICENAME, testDeviceName);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-  let mockSDObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let mockServerObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlService]),
-    connect: function(deviceInfo) {
-      this.request = {
-        deviceInfo: deviceInfo,
-      };
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]),
-      };
-    },
-    id: "",
-    version: LATEST_VERSION,
-    isCompatibleServer: function(version) {
-      return this.version === version;
-    }
-  };
-
-  let contractHookSD = new ContractHook(SD_CONTRACT_ID, mockSDObj);
-  let contractHookServer = new ContractHook(SERVER_CONTRACT_ID, mockServerObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {
-      this.device = device;
-    },
-  };
-
-  provider.listener = listener;
-
-  let controlChannel = listener.device.establishControlChannel();
-
-  Assert.equal(mockServerObj.request.deviceInfo.id, mockDevice.host);
-  Assert.equal(mockServerObj.request.deviceInfo.address, mockDevice.host);
-  Assert.equal(mockServerObj.request.deviceInfo.port, mockDevice.port);
-  Assert.equal(mockServerObj.id, testDeviceName);
-
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function handleOnSessionRequest() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-  let mockSDObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let mockServerObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlService]),
-    startServer: function() {},
-    sessionRequest: function() {},
-    close: function() {},
-    id: '',
-    version: LATEST_VERSION,
-    port: 0,
-    listener: null,
-  };
-
-  let contractHookSD = new ContractHook(SD_CONTRACT_ID, mockSDObj);
-  let contractHookServer = new ContractHook(SERVER_CONTRACT_ID, mockServerObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {},
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-    onSessionRequest: function(device, url, presentationId, controlChannel) {
-      Assert.ok(true, "receive onSessionRequest event");
-      this.request = {
-        deviceId: device.id,
-        url: url,
-        presentationId: presentationId,
-      };
-    }
-  };
-
-  provider.listener = listener;
-
-  const deviceInfo = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPDeviceInfo]),
-    id: mockDevice.host,
-    address: mockDevice.host,
-    port: 54321,
-  };
-
-  const testUrl = "http://example.com";
-  const testPresentationId = "test-presentation-id";
-  const testControlChannel = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]),
-  };
-  provider.QueryInterface(Ci.nsIPresentationControlServerListener)
-          .onSessionRequest(deviceInfo, testUrl, testPresentationId, testControlChannel);
-
-  Assert.equal(listener.request.deviceId, deviceInfo.id);
-  Assert.equal(listener.request.url, testUrl);
-  Assert.equal(listener.request.presentationId, testPresentationId);
-
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function handleOnSessionRequestFromUnknownDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  let mockSDObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {},
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {}
-  };
-
-  let mockServerObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlService]),
-    startServer: function() {},
-    sessionRequest: function() {},
-    close: function() {},
-    id: '',
-    version: LATEST_VERSION,
-    port: 0,
-    listener: null,
-  };
-
-  let contractHookSD = new ContractHook(SD_CONTRACT_ID, mockSDObj);
-  let contractHookServer = new ContractHook(SERVER_CONTRACT_ID, mockServerObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {
-      Assert.ok(false, "shouldn't create any new device");
-    },
-    removeDevice: function(device) {
-      Assert.ok(false, "shouldn't remote any device");
-    },
-    updateDevice: function(device) {
-      Assert.ok(false, "shouldn't update any device");
-    },
-    onSessionRequest: function(device, url, presentationId, controlChannel) {
-      Assert.ok(true, "receive onSessionRequest event");
-      this.request = {
-        deviceId: device.id,
-        url: url,
-        presentationId: presentationId,
-      };
-    }
-  };
-
-  provider.listener = listener;
-
-  const deviceInfo = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPDeviceInfo]),
-    id: "unknown-device.local",
-    address: "unknown-device.local",
-    port: 12345,
-  };
-
-  const testUrl = "http://example.com";
-  const testPresentationId = "test-presentation-id";
-  const testControlChannel = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]),
-  };
-  provider.QueryInterface(Ci.nsIPresentationControlServerListener)
-          .onSessionRequest(deviceInfo, testUrl, testPresentationId, testControlChannel);
-
-  Assert.equal(listener.request.deviceId, deviceInfo.id);
-  Assert.equal(listener.request.url, testUrl);
-  Assert.equal(listener.request.presentationId, testPresentationId);
-
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function noAddDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-
-  let mockDevice = createDevice("device.local", 12345, "service.name", SERVICE_TYPE);
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      Assert.ok(false, "shouldn't perform any device discovery");
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-    }
-  };
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {},
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-  };
-  provider.listener = listener;
-  provider.forceDiscovery();
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function ignoreIncompatibleDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-
-  let deferred = Promise.defer();
-
-  let mockSDObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {
-      deferred.resolve();
-      listener.onServiceRegistered(createDevice("",
-                                                54321,
-                                                mockDevice.serviceName,
-                                                mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceName, mockDevice.serviceName);
-      Assert.equal(serviceInfo.serviceType, mockDevice.serviceType);
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let mockServerObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlService]),
-    startServer: function() {
-      Services.tm.currentThread.dispatch(() => {
-        this.listener.onServerReady(this.port, this.certFingerprint);
-      }, Ci.nsIThread.DISPATCH_NORMAL);
-    },
-    sessionRequest: function() {},
-    close: function() {},
-    id: '',
-    version: LATEST_VERSION,
-    isCompatibleServer: function(version) {
-      return false;
-    },
-    port: 54321,
-    certFingerprint: 'mock-cert-fingerprint',
-    listener: null,
-  };
-
-  let contractHookSD = new ContractHook(SD_CONTRACT_ID, mockSDObj);
-  let contractHookServer = new ContractHook(SERVER_CONTRACT_ID, mockServerObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = new TestPresentationDeviceListener();
-
-  // Register service
-  provider.listener = listener;
-
-  deferred.promise.then(function() {
-    Assert.equal(mockServerObj.id, mockDevice.host);
-
-    // Start discovery
-    Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-    Assert.equal(listener.count(), 0);
-
-    provider.listener = null;
-
-    run_next_test();
-  });
-}
-
-function ignoreSelfDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-
-  let deferred = Promise.defer();
-  let mockSDObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {
-      deferred.resolve();
-      listener.onServiceRegistered(createDevice("",
-                                                0,
-                                                mockDevice.serviceName,
-                                                mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceName, mockDevice.serviceName);
-      Assert.equal(serviceInfo.serviceType, mockDevice.serviceType);
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let mockServerObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlService]),
-    startServer: function() {
-      Services.tm.currentThread.dispatch(() => {
-        this.listener.onServerReady(this.port, this.certFingerprint);
-      }, Ci.nsIThread.DISPATCH_NORMAL);
-    },
-    sessionRequest: function() {},
-    close: function() {},
-    id: '',
-    version: LATEST_VERSION,
-    isCompatibleServer: function(version) {
-      return this.version === version;
-    },
-    port: 54321,
-    certFingerprint: 'mock-cert-fingerprint',
-    listener: null,
-  };
-
-  let contractHookSD = new ContractHook(SD_CONTRACT_ID, mockSDObj);
-  let contractHookServer = new ContractHook(SERVER_CONTRACT_ID, mockServerObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = new TestPresentationDeviceListener();
-
-  // Register service
-  provider.listener = listener;
-  deferred.promise.then(() => {
-    Assert.equal(mockServerObj.id, mockDevice.host);
-
-    // Start discovery
-    Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-    Assert.equal(listener.count(), 0);
-
-    provider.listener = null;
-
-    run_next_test();
-  });
-}
-
-function addDeviceDynamically() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceName, mockDevice.serviceName);
-      Assert.equal(serviceInfo.serviceType, mockDevice.serviceType);
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    }
-  };
-
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = new TestPresentationDeviceListener();
-  provider.listener = listener;
-  Assert.equal(listener.count(), 0);
-
-  // Enable discovery
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-  Assert.equal(listener.count(), 1);
-
-  // Try discovery again
-  provider.forceDiscovery();
-  Assert.equal(listener.count(), 1);
-
-  // Try discovery once more
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-  provider.forceDiscovery();
-  Assert.equal(listener.count(), 1);
-
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function updateDevice() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  let mockDevice1 = createDevice("A.local", 12345, "N1", SERVICE_TYPE);
-  let mockDevice2 = createDevice("A.local", 23456, "N2", SERVICE_TYPE);
-
-  let mockObj = {
-    discovered: false,
-
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-
-      if (!this.discovered) {
-        listener.onServiceFound(mockDevice1);
-      } else {
-        listener.onServiceFound(mockDevice2);
-      }
-      this.discovered = true;
-
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {
-          listener.onDiscoveryStopped(serviceType);
-        }
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceType, SERVICE_TYPE);
-      if (serviceInfo.serviceName == "N1") {
-        listener.onServiceResolved(mockDevice1);
-      } else if (serviceInfo.serviceName == "N2") {
-        listener.onServiceResolved(mockDevice2);
-      } else {
-        Assert.ok(false);
-      }
-    }
-  };
-
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-
-    addDevice: function(device) {
-      Assert.ok(!this.isDeviceAdded);
-      Assert.equal(device.id, mockDevice1.host);
-      Assert.equal(device.name, mockDevice1.serviceName);
-      this.isDeviceAdded = true;
-    },
-    removeDevice: function(device) { Assert.ok(false); },
-    updateDevice: function(device) {
-      Assert.ok(!this.isDeviceUpdated);
-      Assert.equal(device.id, mockDevice2.host);
-      Assert.equal(device.name, mockDevice2.serviceName);
-      this.isDeviceUpdated = true;
-    },
-
-    isDeviceAdded: false,
-    isDeviceUpdated: false
-  };
-  Assert.equal(listener.isDeviceAdded, false);
-  Assert.equal(listener.isDeviceUpdated, false);
-
-  // Start discovery
-  provider.listener = listener; // discover: N1
-
-  Assert.equal(listener.isDeviceAdded, true);
-  Assert.equal(listener.isDeviceUpdated, false);
-
-  // temporarily disable to stop discovery and re-enable
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  provider.forceDiscovery(); // discover: N2
-
-  Assert.equal(listener.isDeviceAdded, true);
-  Assert.equal(listener.isDeviceUpdated, true);
-
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function diffDiscovery() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  let mockDevice1 = createDevice("A.local", 12345, "N1", SERVICE_TYPE);
-  let mockDevice2 = createDevice("B.local", 23456, "N2", SERVICE_TYPE);
-  let mockDevice3 = createDevice("C.local", 45678, "N3", SERVICE_TYPE);
-
-  let mockObj = {
-    discovered: false,
-
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-
-      if (!this.discovered) {
-        listener.onServiceFound(mockDevice1);
-        listener.onServiceFound(mockDevice2);
-      } else {
-        listener.onServiceFound(mockDevice1);
-        listener.onServiceFound(mockDevice3);
-      }
-      this.discovered = true;
-
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {
-          listener.onDiscoveryStopped(serviceType);
-        }
-      };
-    },
-    registerService: function(serviceInfo, listener) {},
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceType, SERVICE_TYPE);
-      if (serviceInfo.serviceName == "N1") {
-        listener.onServiceResolved(mockDevice1);
-      } else if (serviceInfo.serviceName == "N2") {
-        listener.onServiceResolved(mockDevice2);
-      } else if (serviceInfo.serviceName == "N3") {
-        listener.onServiceResolved(mockDevice3);
-      } else {
-        Assert.ok(false);
-      }
-    }
-  };
-
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = new TestPresentationDeviceListener();
-  Assert.equal(listener.count(), 0);
-
-  // Start discovery
-  provider.listener = listener; // discover: N1, N2
-  Assert.equal(listener.count(), 2);
-  Assert.equal(listener.devices['A.local'].name, mockDevice1.serviceName);
-  Assert.equal(listener.devices['B.local'].name, mockDevice2.serviceName);
-  Assert.ok(!listener.devices['C.local']);
-
-  // temporarily disable to stop discovery and re-enable
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  provider.forceDiscovery(); // discover: N1, N3, going to remove: N2
-  Assert.equal(listener.count(), 3);
-  Assert.equal(listener.devices['A.local'].name, mockDevice1.serviceName);
-  Assert.equal(listener.devices['B.local'].name, mockDevice2.serviceName);
-  Assert.equal(listener.devices['C.local'].name, mockDevice3.serviceName);
-
-  // temporarily disable to stop discovery and re-enable
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  provider.forceDiscovery(); // discover: N1, N3, remove: N2
-  Assert.equal(listener.count(), 2);
-  Assert.equal(listener.devices['A.local'].name, mockDevice1.serviceName);
-  Assert.ok(!listener.devices['B.local']);
-  Assert.equal(listener.devices['C.local'].name, mockDevice3.serviceName);
-
-  provider.listener = null;
-
-  run_next_test();
-}
-
-function serverClosed() {
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-  Services.prefs.setBoolPref(PREF_DISCOVERY, true);
-
-  let mockDevice = createDevice("device.local",
-                                12345,
-                                "service.name",
-                                SERVICE_TYPE);
-
-  let mockObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {
-      listener.onDiscoveryStarted(serviceType);
-      listener.onServiceFound(createDevice("",
-                                           0,
-                                           mockDevice.serviceName,
-                                           mockDevice.serviceType));
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {}
-      };
-    },
-    registerService: function(serviceInfo, listener) {
-      this.serviceRegistered++;
-      return {
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsICancelable]),
-        cancel: function() {
-          this.serviceUnregistered++;
-        }.bind(this)
-      };
-    },
-    resolveService: function(serviceInfo, listener) {
-      Assert.equal(serviceInfo.serviceName, mockDevice.serviceName);
-      Assert.equal(serviceInfo.serviceType, mockDevice.serviceType);
-      listener.onServiceResolved(createDevice(mockDevice.host,
-                                              mockDevice.port,
-                                              mockDevice.serviceName,
-                                              mockDevice.serviceType));
-    },
-    serviceRegistered: 0,
-    serviceUnregistered: 0
-  };
-  let contractHook = new ContractHook(SD_CONTRACT_ID, mockObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-
-  Assert.equal(mockObj.serviceRegistered, 0);
-  Assert.equal(mockObj.serviceUnregistered, 0);
-
-  // Register
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) { this.devices.push(device); },
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-    devices: []
-  };
-  Assert.equal(listener.devices.length, 0);
-
-  provider.listener = listener;
-  Assert.equal(mockObj.serviceRegistered, 1);
-  Assert.equal(mockObj.serviceUnregistered, 0);
-  Assert.equal(listener.devices.length, 1);
-
-  let serverListener = provider.QueryInterface(Ci.nsIPresentationControlServerListener);
-  let randomPort = 9527;
-  serverListener.onServerReady(randomPort, '');
-
-  Assert.equal(mockObj.serviceRegistered, 2);
-  Assert.equal(mockObj.serviceUnregistered, 1);
-  Assert.equal(listener.devices.length, 1);
-
-  // Unregister
-  provider.listener = null;
-  Assert.equal(mockObj.serviceRegistered, 2);
-  Assert.equal(mockObj.serviceUnregistered, 2);
-  Assert.equal(listener.devices.length, 1);
-
-  run_next_test();
-}
-
-function serverRetry() {
-  Services.prefs.setBoolPref(PREF_DISCOVERY, false);
-  Services.prefs.setBoolPref(PREF_DISCOVERABLE, true);
-
-  let isRetrying = false;
-
-  let mockSDObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSServiceDiscovery]),
-    startDiscovery: function(serviceType, listener) {},
-    registerService: function(serviceInfo, listener) {
-      Assert.ok(isRetrying, "register service after retrying startServer");
-      provider.listener = null;
-      run_next_test();
-    },
-    resolveService: function(serviceInfo, listener) {}
-  };
-
-  let mockServerObj = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlService]),
-    startServer: function(encrypted, port) {
-      if (!isRetrying) {
-        isRetrying = true;
-        Services.tm.currentThread.dispatch(() => {
-          this.listener.onServerStopped(Cr.NS_ERROR_FAILURE);
-        }, Ci.nsIThread.DISPATCH_NORMAL);
-      } else {
-        this.port = 54321;
-        Services.tm.currentThread.dispatch(() => {
-          this.listener.onServerReady(this.port, this.certFingerprint);
-        }, Ci.nsIThread.DISPATCH_NORMAL);
-      }
-    },
-    sessionRequest: function() {},
-    close: function() {},
-    id: '',
-    version: LATEST_VERSION,
-    port: 0,
-    certFingerprint: 'mock-cert-fingerprint',
-    listener: null,
-  };
-
-  let contractHookSD = new ContractHook(SD_CONTRACT_ID, mockSDObj);
-  let contractHookServer = new ContractHook(SERVER_CONTRACT_ID, mockServerObj);
-  let provider = Cc[PROVIDER_CONTRACT_ID].createInstance(Ci.nsIPresentationDeviceProvider);
-  let listener = {
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceListener,
-                                           Ci.nsISupportsWeakReference]),
-    addDevice: function(device) {},
-    removeDevice: function(device) {},
-    updateDevice: function(device) {},
-    onSessionRequest: function(device, url, presentationId, controlChannel) {}
-  };
-
-  provider.listener = listener;
-}
-
-function run_test() {
-  // Need profile dir to store the key / cert
-  do_get_profile();
-  // Ensure PSM is initialized
-  Cc["@mozilla.org/psm;1"].getService(Ci.nsISupports);
-
-  let infoHook = new ContractHook(INFO_CONTRACT_ID, MockDNSServiceInfo);
-
-  do_register_cleanup(() => {
-    Services.prefs.clearUserPref(PREF_DISCOVERY);
-    Services.prefs.clearUserPref(PREF_DISCOVERABLE);
-  });
-
-  add_test(registerService);
-  add_test(noRegisterService);
-  add_test(registerServiceDynamically);
-  add_test(addDevice);
-  add_test(filterDevice);
-  add_test(handleSessionRequest);
-  add_test(handleOnSessionRequest);
-  add_test(handleOnSessionRequestFromUnknownDevice);
-  add_test(noAddDevice);
-  add_test(ignoreIncompatibleDevice);
-  add_test(ignoreSelfDevice);
-  add_test(addDeviceDynamically);
-  add_test(updateDevice);
-  add_test(diffDiscovery);
-  add_test(serverClosed);
-  add_test(serverRetry);
-
-  run_next_test();
-}
diff --git a/dom/presentation/tests/xpcshell/test_presentation_device_manager.js b/dom/presentation/tests/xpcshell/test_presentation_device_manager.js
deleted file mode 100644
index 68f07df656..0000000000
--- a/dom/presentation/tests/xpcshell/test_presentation_device_manager.js
+++ /dev/null
@@ -1,244 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-'use strict';
-
-const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-
-Cu.import('resource://gre/modules/XPCOMUtils.jsm');
-Cu.import('resource://gre/modules/Services.jsm');
-
-const manager = Cc['@mozilla.org/presentation-device/manager;1']
-                  .getService(Ci.nsIPresentationDeviceManager);
-
-function TestPresentationDevice() {}
-
-
-function TestPresentationControlChannel() {}
-
-TestPresentationControlChannel.prototype = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannel]),
-  sendOffer: function(offer) {},
-  sendAnswer: function(answer) {},
-  disconnect: function() {},
-  launch: function() {},
-  terminate: function() {},
-  reconnect: function() {},
-  set listener(listener) {},
-  get listener() {},
-};
-
-var testProvider = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDeviceProvider]),
-
-  forceDiscovery: function() {
-  },
-  set listener(listener) {
-  },
-  get listener() {
-  },
-};
-
-const forbiddenRequestedUrl = 'http://example.com';
-var testDevice = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationDevice]),
-  id: 'id',
-  name: 'name',
-  type: 'type',
-  establishControlChannel: function(url, presentationId) {
-    return null;
-  },
-  disconnect: function() {},
-  isRequestedUrlSupported: function(requestedUrl) {
-    return forbiddenRequestedUrl !== requestedUrl;
-  },
-};
-
-function addProvider() {
-  Object.defineProperty(testProvider, 'listener', {
-    configurable: true,
-    set: function(listener) {
-      Assert.strictEqual(listener, manager, 'listener setter is invoked by PresentationDeviceManager');
-      delete testProvider.listener;
-      run_next_test();
-    },
-  });
-  manager.addDeviceProvider(testProvider);
-}
-
-function forceDiscovery() {
-  testProvider.forceDiscovery = function() {
-    testProvider.forceDiscovery = function() {};
-    Assert.ok(true, 'forceDiscovery is invoked by PresentationDeviceManager');
-    run_next_test();
-  };
-  manager.forceDiscovery();
-}
-
-function addDevice() {
-  Services.obs.addObserver(function observer(subject, topic, data) {
-    Services.obs.removeObserver(observer, topic);
-
-    let updatedDevice = subject.QueryInterface(Ci.nsIPresentationDevice);
-    Assert.equal(updatedDevice.id, testDevice.id, 'expected device id');
-    Assert.equal(updatedDevice.name, testDevice.name, 'expected device name');
-    Assert.equal(updatedDevice.type, testDevice.type, 'expected device type');
-    Assert.equal(data, 'add', 'expected update type');
-
-    Assert.ok(manager.deviceAvailable, 'device is available');
-
-    let devices = manager.getAvailableDevices();
-    Assert.equal(devices.length, 1, 'expect 1 available device');
-
-    let device = devices.queryElementAt(0, Ci.nsIPresentationDevice);
-    Assert.equal(device.id, testDevice.id, 'expected device id');
-    Assert.equal(device.name, testDevice.name, 'expected device name');
-    Assert.equal(device.type, testDevice.type, 'expected device type');
-
-    run_next_test();
-  }, 'presentation-device-change', false);
-  manager.QueryInterface(Ci.nsIPresentationDeviceListener).addDevice(testDevice);
-}
-
-function updateDevice() {
-  Services.obs.addObserver(function observer(subject, topic, data) {
-    Services.obs.removeObserver(observer, topic);
-
-    let updatedDevice = subject.QueryInterface(Ci.nsIPresentationDevice);
-    Assert.equal(updatedDevice.id, testDevice.id, 'expected device id');
-    Assert.equal(updatedDevice.name, testDevice.name, 'expected device name');
-    Assert.equal(updatedDevice.type, testDevice.type, 'expected device type');
-    Assert.equal(data, 'update', 'expected update type');
-
-    Assert.ok(manager.deviceAvailable, 'device is available');
-
-    let devices = manager.getAvailableDevices();
-    Assert.equal(devices.length, 1, 'expect 1 available device');
-
-    let device = devices.queryElementAt(0, Ci.nsIPresentationDevice);
-    Assert.equal(device.id, testDevice.id, 'expected device id');
-    Assert.equal(device.name, testDevice.name, 'expected name after device update');
-    Assert.equal(device.type, testDevice.type, 'expected device type');
-
-    run_next_test();
-  }, 'presentation-device-change', false);
-  testDevice.name = 'updated-name';
-  manager.QueryInterface(Ci.nsIPresentationDeviceListener).updateDevice(testDevice);
-}
-
-function filterDevice() {
-  let presentationUrls = Cc['@mozilla.org/array;1'].createInstance(Ci.nsIMutableArray);
-  let url = Cc['@mozilla.org/supports-string;1'].createInstance(Ci.nsISupportsString);
-  url.data = forbiddenRequestedUrl;
-  presentationUrls.appendElement(url, false);
-  let devices = manager.getAvailableDevices(presentationUrls);
-  Assert.equal(devices.length, 0, 'expect 0 available device for example.com');
-  run_next_test();
-}
-
-function sessionRequest() {
-  let testUrl = 'http://www.example.org/';
-  let testPresentationId = 'test-presentation-id';
-  let testControlChannel = new TestPresentationControlChannel();
-  Services.obs.addObserver(function observer(subject, topic, data) {
-    Services.obs.removeObserver(observer, topic);
-
-    let request = subject.QueryInterface(Ci.nsIPresentationSessionRequest);
-
-    Assert.equal(request.device.id, testDevice.id, 'expected device');
-    Assert.equal(request.url, testUrl, 'expected requesting URL');
-    Assert.equal(request.presentationId, testPresentationId, 'expected presentation Id');
-
-    run_next_test();
-  }, 'presentation-session-request', false);
-  manager.QueryInterface(Ci.nsIPresentationDeviceListener)
-         .onSessionRequest(testDevice, testUrl, testPresentationId, testControlChannel);
-}
-
-function terminateRequest() {
-  let testUrl = 'http://www.example.org/';
-  let testPresentationId = 'test-presentation-id';
-  let testControlChannel = new TestPresentationControlChannel();
-  let testIsFromReceiver = true;
-  Services.obs.addObserver(function observer(subject, topic, data) {
-    Services.obs.removeObserver(observer, topic);
-
-    let request = subject.QueryInterface(Ci.nsIPresentationTerminateRequest);
-
-    Assert.equal(request.device.id, testDevice.id, 'expected device');
-    Assert.equal(request.presentationId, testPresentationId, 'expected presentation Id');
-    Assert.equal(request.isFromReceiver, testIsFromReceiver, 'expected isFromReceiver');
-
-    run_next_test();
-  }, 'presentation-terminate-request', false);
-  manager.QueryInterface(Ci.nsIPresentationDeviceListener)
-         .onTerminateRequest(testDevice, testPresentationId,
-                             testControlChannel, testIsFromReceiver);
-}
-
-function reconnectRequest() {
-  let testUrl = 'http://www.example.org/';
-  let testPresentationId = 'test-presentation-id';
-  let testControlChannel = new TestPresentationControlChannel();
-  Services.obs.addObserver(function observer(subject, topic, data) {
-    Services.obs.removeObserver(observer, topic);
-
-    let request = subject.QueryInterface(Ci.nsIPresentationSessionRequest);
-
-    Assert.equal(request.device.id, testDevice.id, 'expected device');
-    Assert.equal(request.url, testUrl, 'expected requesting URL');
-    Assert.equal(request.presentationId, testPresentationId, 'expected presentation Id');
-
-    run_next_test();
-  }, 'presentation-reconnect-request', false);
-  manager.QueryInterface(Ci.nsIPresentationDeviceListener)
-         .onReconnectRequest(testDevice, testUrl, testPresentationId, testControlChannel);
-}
-
-function removeDevice() {
-  Services.obs.addObserver(function observer(subject, topic, data) {
-    Services.obs.removeObserver(observer, topic);
-
-    let updatedDevice = subject.QueryInterface(Ci.nsIPresentationDevice);
-    Assert.equal(updatedDevice.id, testDevice.id, 'expected device id');
-    Assert.equal(updatedDevice.name, testDevice.name, 'expected device name');
-    Assert.equal(updatedDevice.type, testDevice.type, 'expected device type');
-    Assert.equal(data, 'remove', 'expected update type');
-
-    Assert.ok(!manager.deviceAvailable, 'device is not available');
-
-    let devices = manager.getAvailableDevices();
-    Assert.equal(devices.length, 0, 'expect 0 available device');
-
-    run_next_test();
-  }, 'presentation-device-change', false);
-  manager.QueryInterface(Ci.nsIPresentationDeviceListener).removeDevice(testDevice);
-}
-
-function removeProvider() {
-  Object.defineProperty(testProvider, 'listener', {
-    configurable: true,
-    set: function(listener) {
-      Assert.strictEqual(listener, null, 'unsetListener is invoked by PresentationDeviceManager');
-      delete testProvider.listener;
-      run_next_test();
-    },
-  });
-  manager.removeDeviceProvider(testProvider);
-}
-
-add_test(addProvider);
-add_test(forceDiscovery);
-add_test(addDevice);
-add_test(updateDevice);
-add_test(filterDevice);
-add_test(sessionRequest);
-add_test(terminateRequest);
-add_test(reconnectRequest);
-add_test(removeDevice);
-add_test(removeProvider);
-
-function run_test() {
-  run_next_test();
-}
diff --git a/dom/presentation/tests/xpcshell/test_presentation_session_transport.js b/dom/presentation/tests/xpcshell/test_presentation_session_transport.js
deleted file mode 100644
index 8e207bc22f..0000000000
--- a/dom/presentation/tests/xpcshell/test_presentation_session_transport.js
+++ /dev/null
@@ -1,198 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-'use strict';
-
-const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr, Constructor: CC } = Components;
-const ServerSocket = CC("@mozilla.org/network/server-socket;1",
-                        "nsIServerSocket",
-                        "init");
-
-Cu.import('resource://gre/modules/XPCOMUtils.jsm');
-Cu.import('resource://gre/modules/Services.jsm');
-
-var testServer = null;
-var clientTransport = null;
-var serverTransport = null;
-
-var clientBuilder = null;
-var serverBuilder = null;
-
-const clientMessage = "Client Message";
-const serverMessage = "Server Message";
-
-const address = Cc["@mozilla.org/supports-cstring;1"]
-                  .createInstance(Ci.nsISupportsCString);
-address.data = "127.0.0.1";
-const addresses = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
-addresses.appendElement(address, false);
-
-const serverChannelDescription = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationChannelDescription]),
-  type: 1,
-  tcpAddress: addresses,
-};
-
-var isClientReady = false;
-var isServerReady = false;
-var isClientClosed = false;
-var isServerClosed = false;
-
-const clientCallback = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransportCallback]),
-  notifyTransportReady: function () {
-    Assert.ok(true, "Client transport ready.");
-
-    isClientReady = true;
-    if (isClientReady && isServerReady) {
-      run_next_test();
-    }
-  },
-  notifyTransportClosed: function (aReason) {
-    Assert.ok(true, "Client transport is closed.");
-
-    isClientClosed = true;
-    if (isClientClosed && isServerClosed) {
-      run_next_test();
-    }
-  },
-  notifyData: function(aData) {
-    Assert.equal(aData, serverMessage, "Client transport receives data.");
-    run_next_test();
-  },
-};
-
-const serverCallback = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransportCallback]),
-  notifyTransportReady: function () {
-    Assert.ok(true, "Server transport ready.");
-
-    isServerReady = true;
-    if (isClientReady && isServerReady) {
-      run_next_test();
-    }
-  },
-  notifyTransportClosed: function (aReason) {
-    Assert.ok(true, "Server transport is closed.");
-
-    isServerClosed = true;
-    if (isClientClosed && isServerClosed) {
-      run_next_test();
-    }
-  },
-  notifyData: function(aData) {
-    Assert.equal(aData, clientMessage, "Server transport receives data.");
-    run_next_test();
-  },
-};
-
-const clientListener = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransportBuilderListener]),
-  onSessionTransport(aTransport) {
-    Assert.ok(true, "Client Transport is built.");
-    clientTransport = aTransport;
-    clientTransport.callback = clientCallback;
-
-    if (serverTransport) {
-      run_next_test();
-    }
-  }
-}
-
-const serverListener = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationSessionTransportBuilderListener]),
-  onSessionTransport(aTransport) {
-    Assert.ok(true, "Server Transport is built.");
-    serverTransport = aTransport;
-    serverTransport.callback = serverCallback;
-    serverTransport.enableDataNotification();
-
-    if (clientTransport) {
-      run_next_test();
-    }
-  }
-}
-
-function TestServer() {
-  this.serverSocket = ServerSocket(-1, true, -1);
-  this.serverSocket.asyncListen(this)
-}
-
-TestServer.prototype = {
-  onSocketAccepted: function(aSocket, aTransport) {
-    print("Test server gets a client connection.");
-    serverBuilder = Cc["@mozilla.org/presentation/presentationtcpsessiontransport;1"]
-                      .createInstance(Ci.nsIPresentationTCPSessionTransportBuilder);
-    serverBuilder.buildTCPSenderTransport(aTransport, serverListener);
-  },
-  onStopListening: function(aSocket) {
-    print("Test server stops listening.");
-  },
-  close: function() {
-    if (this.serverSocket) {
-      this.serverSocket.close();
-      this.serverSocket = null;
-    }
-  }
-};
-
-// Set up the transport connection and ensure |notifyTransportReady| triggered
-// at both sides.
-function setup() {
-  clientBuilder = Cc["@mozilla.org/presentation/presentationtcpsessiontransport;1"]
-                    .createInstance(Ci.nsIPresentationTCPSessionTransportBuilder);
-  clientBuilder.buildTCPReceiverTransport(serverChannelDescription, clientListener);
-}
-
-// Test |selfAddress| attribute of |nsIPresentationSessionTransport|.
-function selfAddress() {
-  var serverSelfAddress = serverTransport.selfAddress;
-  Assert.equal(serverSelfAddress.address, address.data, "The self address of server transport should be set.");
-  Assert.equal(serverSelfAddress.port, testServer.serverSocket.port, "The port of server transport should be set.");
-
-  var clientSelfAddress = clientTransport.selfAddress;
-  Assert.ok(clientSelfAddress.address, "The self address of client transport should be set.");
-  Assert.ok(clientSelfAddress.port, "The port of client transport should be set.");
-
-  run_next_test();
-}
-
-// Test the client sends a message and then a corresponding notification gets
-// triggered at the server side.
-function clientSendMessage() {
-  clientTransport.send(clientMessage);
-}
-
-// Test the server sends a message an then a corresponding notification gets
-// triggered at the client side.
-function serverSendMessage() {
-  serverTransport.send(serverMessage);
-  // The client enables data notification even after the incoming message has
-  // been sent, and should still be able to consume it.
-  clientTransport.enableDataNotification();
-}
-
-function transportClose() {
-  clientTransport.close(Cr.NS_OK);
-}
-
-function shutdown() {
-  testServer.close();
-  run_next_test();
-}
-
-add_test(setup);
-add_test(selfAddress);
-add_test(clientSendMessage);
-add_test(serverSendMessage);
-add_test(transportClose);
-add_test(shutdown);
-
-function run_test() {
-  testServer = new TestServer();
-  // Get the port of the test server.
-  serverChannelDescription.tcpPort = testServer.serverSocket.port;
-
-  run_next_test();
-}
diff --git a/dom/presentation/tests/xpcshell/test_presentation_state_machine.js b/dom/presentation/tests/xpcshell/test_presentation_state_machine.js
deleted file mode 100644
index fcaf34da6b..0000000000
--- a/dom/presentation/tests/xpcshell/test_presentation_state_machine.js
+++ /dev/null
@@ -1,236 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-/* jshint esnext:true, globalstrict:true, moz:true, undef:true, unused:true */
-/* globals Components,Assert,run_next_test,add_test,do_execute_soon */
-
-'use strict';
-
-const { utils: Cu, results: Cr } = Components;
-
-/* globals ControllerStateMachine */
-Cu.import('resource://gre/modules/presentation/ControllerStateMachine.jsm');
-/* globals ReceiverStateMachine */
-Cu.import('resource://gre/modules/presentation/ReceiverStateMachine.jsm');
-/* globals State */
-Cu.import('resource://gre/modules/presentation/StateMachineHelper.jsm');
-
-const testControllerId = 'test-controller-id';
-const testPresentationId = 'test-presentation-id';
-const testUrl = 'http://example.org';
-
-let mockControllerChannel = {};
-let mockReceiverChannel = {};
-
-let controllerState = new ControllerStateMachine(mockControllerChannel, testControllerId);
-let receiverState = new ReceiverStateMachine(mockReceiverChannel);
-
-mockControllerChannel.sendCommand = function(command) {
-  do_execute_soon(function() {
-    receiverState.onCommand(command);
-  });
-};
-
-mockReceiverChannel.sendCommand = function(command) {
-  do_execute_soon(function() {
-    controllerState.onCommand(command);
-  });
-};
-
-function connect() {
-  Assert.equal(controllerState.state, State.INIT, 'controller in init state');
-  Assert.equal(receiverState.state, State.INIT, 'receiver in init state');
-  // step 1: underlying connection is ready
-  controllerState.onChannelReady();
-  Assert.equal(controllerState.state, State.CONNECTING, 'controller in connecting state');
-  receiverState.onChannelReady();
-  Assert.equal(receiverState.state, State.CONNECTING, 'receiver in connecting state');
-
-  // step 2: receiver reply to connect command
-  mockReceiverChannel.notifyDeviceConnected = function(deviceId) {
-    Assert.equal(deviceId, testControllerId, 'receiver connect to mock controller');
-    Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-
-    // step 3: controller receive connect-ack command
-    mockControllerChannel.notifyDeviceConnected = function() {
-      Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-      run_next_test();
-    };
-  };
-}
-
-function launch() {
-  Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-  Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-
-  controllerState.launch(testPresentationId, testUrl);
-  mockReceiverChannel.notifyLaunch = function(presentationId, url) {
-    Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-    Assert.equal(presentationId, testPresentationId, 'expected presentationId received');
-    Assert.equal(url, testUrl, 'expected url received');
-
-    mockControllerChannel.notifyLaunch = function(presentationId) {
-      Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-      Assert.equal(presentationId, testPresentationId, 'expected presentationId received from ack');
-
-      run_next_test();
-    };
-  };
-}
-
-function terminateByController() {
-  Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-  Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-
-  controllerState.terminate(testPresentationId);
-  mockReceiverChannel.notifyTerminate = function(presentationId) {
-    Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-    Assert.equal(presentationId, testPresentationId, 'expected presentationId received');
-
-    mockControllerChannel.notifyTerminate = function(presentationId) {
-      Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-      Assert.equal(presentationId, testPresentationId, 'expected presentationId received from ack');
-
-      run_next_test();
-    };
-
-    receiverState.terminateAck(presentationId);
-  };
-}
-
-function terminateByReceiver() {
-  Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-  Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-
-  receiverState.terminate(testPresentationId);
-  mockControllerChannel.notifyTerminate = function(presentationId) {
-    Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-    Assert.equal(presentationId, testPresentationId, 'expected presentationId received');
-
-    mockReceiverChannel.notifyTerminate = function(presentationId) {
-      Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-      Assert.equal(presentationId, testPresentationId, 'expected presentationId received from ack');
-      run_next_test();
-    };
-
-    controllerState.terminateAck(presentationId);
-  };
-}
-
-function exchangeSDP() {
-  Assert.equal(controllerState.state, State.CONNECTED, 'controller in connected state');
-  Assert.equal(receiverState.state, State.CONNECTED, 'receiver in connected state');
-
-  const testOffer = 'test-offer';
-  const testAnswer = 'test-answer';
-  const testIceCandidate = 'test-ice-candidate';
-  controllerState.sendOffer(testOffer);
-  mockReceiverChannel.notifyOffer = function(offer) {
-    Assert.equal(offer, testOffer, 'expected offer received');
-
-    receiverState.sendAnswer(testAnswer);
-    mockControllerChannel.notifyAnswer = function(answer) {
-      Assert.equal(answer, testAnswer, 'expected answer received');
-
-      controllerState.updateIceCandidate(testIceCandidate);
-      mockReceiverChannel.notifyIceCandidate = function(candidate) {
-        Assert.equal(candidate, testIceCandidate, 'expected ice candidate received in receiver');
-
-        receiverState.updateIceCandidate(testIceCandidate);
-        mockControllerChannel.notifyIceCandidate = function(candidate) {
-          Assert.equal(candidate, testIceCandidate, 'expected ice candidate received in controller');
-
-          run_next_test();
-        };
-      };
-    };
-  };
-}
-
-function disconnect() {
-  // step 1: controller send disconnect command
-  controllerState.onChannelClosed(Cr.NS_OK, false);
-  Assert.equal(controllerState.state, State.CLOSING, 'controller in closing state');
-
-  mockReceiverChannel.notifyDisconnected = function(reason) {
-    Assert.equal(reason, Cr.NS_OK, 'receive close reason');
-    Assert.equal(receiverState.state, State.CLOSED, 'receiver in closed state');
-
-    receiverState.onChannelClosed(Cr.NS_OK, true);
-    Assert.equal(receiverState.state, State.CLOSED, 'receiver in closed state');
-
-    mockControllerChannel.notifyDisconnected = function(reason) {
-      Assert.equal(reason, Cr.NS_OK, 'receive close reason');
-      Assert.equal(controllerState.state, State.CLOSED, 'controller in closed state');
-
-      run_next_test();
-    };
-    controllerState.onChannelClosed(Cr.NS_OK, true);
-  };
-}
-
-function receiverDisconnect() {
-  // initial state: controller and receiver are connected
-  controllerState.state = State.CONNECTED;
-  receiverState.state = State.CONNECTED;
-
-  // step 1: controller send disconnect command
-  receiverState.onChannelClosed(Cr.NS_OK, false);
-  Assert.equal(receiverState.state, State.CLOSING, 'receiver in closing state');
-
-  mockControllerChannel.notifyDisconnected = function(reason) {
-    Assert.equal(reason, Cr.NS_OK, 'receive close reason');
-    Assert.equal(controllerState.state, State.CLOSED, 'controller in closed state');
-
-    controllerState.onChannelClosed(Cr.NS_OK, true);
-    Assert.equal(controllerState.state, State.CLOSED, 'controller in closed state');
-
-    mockReceiverChannel.notifyDisconnected = function(reason) {
-      Assert.equal(reason, Cr.NS_OK, 'receive close reason');
-      Assert.equal(receiverState.state, State.CLOSED, 'receiver in closed state');
-
-      run_next_test();
-    };
-    receiverState.onChannelClosed(Cr.NS_OK, true);
-  };
-}
-
-function abnormalDisconnect() {
-  // initial state: controller and receiver are connected
-  controllerState.state = State.CONNECTED;
-  receiverState.state = State.CONNECTED;
-
-  const testErrorReason = Cr.NS_ERROR_FAILURE;
-  // step 1: controller send disconnect command
-  controllerState.onChannelClosed(testErrorReason, false);
-  Assert.equal(controllerState.state, State.CLOSING, 'controller in closing state');
-
-  mockReceiverChannel.notifyDisconnected = function(reason) {
-    Assert.equal(reason, testErrorReason, 'receive abnormal close reason');
-    Assert.equal(receiverState.state, State.CLOSED, 'receiver in closed state');
-
-    receiverState.onChannelClosed(Cr.NS_OK, true);
-    Assert.equal(receiverState.state, State.CLOSED, 'receiver in closed state');
-
-    mockControllerChannel.notifyDisconnected = function(reason) {
-      Assert.equal(reason, testErrorReason, 'receive abnormal close reason');
-      Assert.equal(controllerState.state, State.CLOSED, 'controller in closed state');
-
-      run_next_test();
-    };
-    controllerState.onChannelClosed(Cr.NS_OK, true);
-  };
-}
-
-add_test(connect);
-add_test(launch);
-add_test(terminateByController);
-add_test(terminateByReceiver);
-add_test(exchangeSDP);
-add_test(disconnect);
-add_test(receiverDisconnect);
-add_test(abnormalDisconnect);
-
-function run_test() { // jshint ignore:line
-  run_next_test();
-}
diff --git a/dom/presentation/tests/xpcshell/test_tcp_control_channel.js b/dom/presentation/tests/xpcshell/test_tcp_control_channel.js
deleted file mode 100644
index 5f3df584d7..0000000000
--- a/dom/presentation/tests/xpcshell/test_tcp_control_channel.js
+++ /dev/null
@@ -1,398 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-'use strict';
-
-const { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
-
-Cu.import('resource://gre/modules/XPCOMUtils.jsm');
-Cu.import('resource://gre/modules/Services.jsm');
-
-var pcs;
-
-// Call |run_next_test| if all functions in |names| are called
-function makeJointSuccess(names) {
-  let funcs = {}, successCount = 0;
-  names.forEach(function(name) {
-    funcs[name] = function() {
-      do_print('got expected: ' + name);
-      if (++successCount === names.length)
-        run_next_test();
-    };
-  });
-  return funcs;
-}
-
-function TestDescription(aType, aTcpAddress, aTcpPort) {
-  this.type = aType;
-  this.tcpAddress = Cc["@mozilla.org/array;1"]
-                      .createInstance(Ci.nsIMutableArray);
-  for (let address of aTcpAddress) {
-    let wrapper = Cc["@mozilla.org/supports-cstring;1"]
-                    .createInstance(Ci.nsISupportsCString);
-    wrapper.data = address;
-    this.tcpAddress.appendElement(wrapper, false);
-  }
-  this.tcpPort = aTcpPort;
-}
-
-TestDescription.prototype = {
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationChannelDescription]),
-}
-
-const CONTROLLER_CONTROL_CHANNEL_PORT = 36777;
-const PRESENTER_CONTROL_CHANNEL_PORT = 36888;
-
-var CLOSE_CONTROL_CHANNEL_REASON = Cr.NS_OK;
-var candidate;
-
-// presenter's presentation channel description
-const OFFER_ADDRESS = '192.168.123.123';
-const OFFER_PORT = 123;
-
-// controller's presentation channel description
-const ANSWER_ADDRESS = '192.168.321.321';
-const ANSWER_PORT = 321;
-
-function loopOfferAnser() {
-  pcs = Cc["@mozilla.org/presentation/control-service;1"]
-        .createInstance(Ci.nsIPresentationControlService);
-  pcs.id = 'controllerID';
-  pcs.listener = {
-    onServerReady: function() {
-      testPresentationServer();
-    }
-  };
-
-  // First run with TLS enabled.
-  pcs.startServer(true, PRESENTER_CONTROL_CHANNEL_PORT);
-}
-
-
-function testPresentationServer() {
-  let yayFuncs = makeJointSuccess(['controllerControlChannelClose',
-                                   'presenterControlChannelClose',
-                                   'controllerControlChannelReconnect',
-                                   'presenterControlChannelReconnect']);
-  let presenterControlChannel;
-
-  pcs.listener = {
-
-    onSessionRequest: function(deviceInfo, url, presentationId, controlChannel) {
-      presenterControlChannel = controlChannel;
-      Assert.equal(deviceInfo.id, pcs.id, 'expected device id');
-      Assert.equal(deviceInfo.address, '127.0.0.1', 'expected device address');
-      Assert.equal(url, 'http://example.com', 'expected url');
-      Assert.equal(presentationId, 'testPresentationId', 'expected presentation id');
-
-      presenterControlChannel.listener = {
-        status: 'created',
-        onOffer: function(aOffer) {
-          Assert.equal(this.status, 'opened', '1. presenterControlChannel: get offer, send answer');
-          this.status = 'onOffer';
-
-          let offer = aOffer.QueryInterface(Ci.nsIPresentationChannelDescription);
-          Assert.strictEqual(offer.tcpAddress.queryElementAt(0,Ci.nsISupportsCString).data,
-                             OFFER_ADDRESS,
-                             'expected offer address array');
-          Assert.equal(offer.tcpPort, OFFER_PORT, 'expected offer port');
-          try {
-            let tcpType = Ci.nsIPresentationChannelDescription.TYPE_TCP;
-            let answer = new TestDescription(tcpType, [ANSWER_ADDRESS], ANSWER_PORT);
-            presenterControlChannel.sendAnswer(answer);
-          } catch (e) {
-            Assert.ok(false, 'sending answer fails' + e);
-          }
-        },
-        onAnswer: function(aAnswer) {
-          Assert.ok(false, 'get answer');
-        },
-        onIceCandidate: function(aCandidate) {
-          Assert.ok(true, '3. presenterControlChannel: get ice candidate, close channel');
-          let recvCandidate = JSON.parse(aCandidate);
-          for (let key in recvCandidate) {
-            if (typeof(recvCandidate[key]) !== "function") {
-              Assert.equal(recvCandidate[key], candidate[key], "key " + key + " should match.");
-            }
-          }
-          presenterControlChannel.disconnect(CLOSE_CONTROL_CHANNEL_REASON);
-        },
-        notifyConnected: function() {
-          Assert.equal(this.status, 'created', '0. presenterControlChannel: opened');
-          this.status = 'opened';
-        },
-        notifyDisconnected: function(aReason) {
-          Assert.equal(this.status, 'onOffer', '4. presenterControlChannel: closed');
-          Assert.equal(aReason, CLOSE_CONTROL_CHANNEL_REASON, 'presenterControlChannel notify closed');
-          this.status = 'closed';
-          yayFuncs.controllerControlChannelClose();
-        },
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-      };
-    },
-    onReconnectRequest: function(deviceInfo, url, presentationId, controlChannel) {
-      Assert.equal(url, 'http://example.com', 'expected url');
-      Assert.equal(presentationId, 'testPresentationId', 'expected presentation id');
-      yayFuncs.presenterControlChannelReconnect();
-    },
-
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlServerListener]),
-  };
-
-  let presenterDeviceInfo = {
-    id: 'presentatorID',
-    address: '127.0.0.1',
-    port: PRESENTER_CONTROL_CHANNEL_PORT,
-    certFingerprint: pcs.certFingerprint,
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPDeviceInfo]),
-  };
-
-  let controllerControlChannel = pcs.connect(presenterDeviceInfo);
-
-  controllerControlChannel.listener = {
-    status: 'created',
-    onOffer: function(offer) {
-      Assert.ok(false, 'get offer');
-    },
-    onAnswer: function(aAnswer) {
-      Assert.equal(this.status, 'opened', '2. controllerControlChannel: get answer, send ICE candidate');
-
-      let answer = aAnswer.QueryInterface(Ci.nsIPresentationChannelDescription);
-      Assert.strictEqual(answer.tcpAddress.queryElementAt(0,Ci.nsISupportsCString).data,
-                         ANSWER_ADDRESS,
-                         'expected answer address array');
-      Assert.equal(answer.tcpPort, ANSWER_PORT, 'expected answer port');
-      candidate = {
-        candidate: "1 1 UDP 1 127.0.0.1 34567 type host",
-        sdpMid: "helloworld",
-        sdpMLineIndex: 1
-      };
-      controllerControlChannel.sendIceCandidate(JSON.stringify(candidate));
-    },
-    onIceCandidate: function(aCandidate) {
-      Assert.ok(false, 'get ICE candidate');
-    },
-    notifyConnected: function() {
-      Assert.equal(this.status, 'created', '0. controllerControlChannel: opened, send offer');
-      controllerControlChannel.launch('testPresentationId', 'http://example.com');
-      this.status = 'opened';
-      try {
-        let tcpType = Ci.nsIPresentationChannelDescription.TYPE_TCP;
-        let offer = new TestDescription(tcpType, [OFFER_ADDRESS], OFFER_PORT)
-        controllerControlChannel.sendOffer(offer);
-      } catch (e) {
-        Assert.ok(false, 'sending offer fails:' + e);
-      }
-    },
-    notifyDisconnected: function(aReason) {
-      this.status = 'closed';
-      Assert.equal(aReason, CLOSE_CONTROL_CHANNEL_REASON, '4. controllerControlChannel notify closed');
-      yayFuncs.presenterControlChannelClose();
-
-      let reconnectControllerControlChannel = pcs.connect(presenterDeviceInfo);
-      reconnectControllerControlChannel.listener = {
-        notifyConnected: function() {
-          reconnectControllerControlChannel.reconnect('testPresentationId', 'http://example.com');
-        },
-        notifyReconnected: function() {
-          yayFuncs.controllerControlChannelReconnect();
-        },
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-      };
-    },
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-  };
-}
-
-function terminateRequest() {
-  let yayFuncs = makeJointSuccess(['controllerControlChannelConnected',
-                                   'controllerControlChannelDisconnected',
-                                   'presenterControlChannelDisconnected',
-                                   'terminatedByController',
-                                   'terminatedByReceiver']);
-  let controllerControlChannel;
-  let terminatePhase = 'controller';
-
-  pcs.listener = {
-    onTerminateRequest: function(deviceInfo, presentationId, controlChannel, isFromReceiver) {
-      Assert.equal(deviceInfo.address, '127.0.0.1', 'expected device address');
-      Assert.equal(presentationId, 'testPresentationId', 'expected presentation id');
-      controlChannel.terminate(presentationId); // Reply terminate ack.
-
-      if (terminatePhase === 'controller') {
-        controllerControlChannel = controlChannel;
-        Assert.equal(deviceInfo.id, pcs.id, 'expected controller device id');
-        Assert.equal(isFromReceiver, false, 'expected request from controller');
-        yayFuncs.terminatedByController();
-
-        controllerControlChannel.listener = {
-          notifyConnected: function() {
-            Assert.ok(true, 'control channel notify connected');
-            yayFuncs.controllerControlChannelConnected();
-
-            terminatePhase = 'receiver';
-            controllerControlChannel.terminate('testPresentationId');
-          },
-          notifyDisconnected: function(aReason) {
-            Assert.equal(aReason, CLOSE_CONTROL_CHANNEL_REASON, 'controllerControlChannel notify disconncted');
-            yayFuncs.controllerControlChannelDisconnected();
-          },
-          QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-        };
-      } else {
-        Assert.equal(deviceInfo.id, presenterDeviceInfo.id, 'expected presenter device id');
-        Assert.equal(isFromReceiver, true, 'expected request from receiver');
-        yayFuncs.terminatedByReceiver();
-        presenterControlChannel.disconnect(CLOSE_CONTROL_CHANNEL_REASON);
-      }
-    },
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPPresentationServerListener]),
-  };
-
-  let presenterDeviceInfo = {
-    id: 'presentatorID',
-    address: '127.0.0.1',
-    port: PRESENTER_CONTROL_CHANNEL_PORT,
-    certFingerprint: pcs.certFingerprint,
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPDeviceInfo]),
-  };
-
-  let presenterControlChannel = pcs.connect(presenterDeviceInfo);
-
-  presenterControlChannel.listener = {
-    notifyConnected: function() {
-      presenterControlChannel.terminate('testPresentationId');
-    },
-    notifyDisconnected: function(aReason) {
-      Assert.equal(aReason, CLOSE_CONTROL_CHANNEL_REASON, '4. presenterControlChannel notify disconnected');
-      yayFuncs.presenterControlChannelDisconnected();
-    },
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-  };
-}
-
-function terminateRequestAbnormal() {
-  let yayFuncs = makeJointSuccess(['controllerControlChannelConnected',
-                                   'controllerControlChannelDisconnected',
-                                   'presenterControlChannelDisconnected']);
-  let controllerControlChannel;
-
-  pcs.listener = {
-    onTerminateRequest: function(deviceInfo, presentationId, controlChannel, isFromReceiver) {
-      Assert.equal(deviceInfo.id, pcs.id, 'expected controller device id');
-      Assert.equal(deviceInfo.address, '127.0.0.1', 'expected device address');
-      Assert.equal(presentationId, 'testPresentationId', 'expected presentation id');
-      Assert.equal(isFromReceiver, false, 'expected request from controller');
-      controlChannel.terminate('unmatched-presentationId'); // Reply abnormal terminate ack.
-
-      controllerControlChannel = controlChannel;
-
-      controllerControlChannel.listener = {
-          notifyConnected: function() {
-          Assert.ok(true, 'control channel notify connected');
-          yayFuncs.controllerControlChannelConnected();
-        },
-        notifyDisconnected: function(aReason) {
-          Assert.equal(aReason, Cr.NS_ERROR_FAILURE, 'controllerControlChannel notify disconncted with error');
-          yayFuncs.controllerControlChannelDisconnected();
-        },
-        QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-      };
-    },
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPPresentationServerListener]),
-  };
-
-  let presenterDeviceInfo = {
-    id: 'presentatorID',
-    address: '127.0.0.1',
-    port: PRESENTER_CONTROL_CHANNEL_PORT,
-    certFingerprint: pcs.certFingerprint,
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsITCPDeviceInfo]),
-  };
-
-  let presenterControlChannel = pcs.connect(presenterDeviceInfo);
-
-  presenterControlChannel.listener = {
-    notifyConnected: function() {
-      presenterControlChannel.terminate('testPresentationId');
-    },
-    notifyDisconnected: function(aReason) {
-      Assert.equal(aReason, Cr.NS_ERROR_FAILURE, '4. presenterControlChannel notify disconnected with error');
-      yayFuncs.presenterControlChannelDisconnected();
-    },
-    QueryInterface: XPCOMUtils.generateQI([Ci.nsIPresentationControlChannelListener]),
-  };
-}
-
-function setOffline() {
-  pcs.listener = {
-    onServerReady: function(aPort, aCertFingerprint) {
-      Assert.notEqual(aPort, 0, 'TCPPresentationServer port changed and the port should be valid');
-      pcs.close();
-      run_next_test();
-    },
-  };
-
-  // Let the server socket restart automatically.
-  Services.io.offline = true;
-  Services.io.offline = false;
-}
-
-function oneMoreLoop() {
-  try {
-    pcs.listener = {
-      onServerReady: function() {
-        testPresentationServer();
-      }
-    };
-
-    // Second run with TLS disabled.
-    pcs.startServer(false, PRESENTER_CONTROL_CHANNEL_PORT);
-  } catch (e) {
-    Assert.ok(false, 'TCP presentation init fail:' + e);
-    run_next_test();
-  }
-}
-
-
-function shutdown()
-{
-  pcs.listener = {
-    onServerReady: function(aPort, aCertFingerprint) {
-      Assert.ok(false, 'TCPPresentationServer port changed');
-    },
-  };
-  pcs.close();
-  Assert.equal(pcs.port, 0, "TCPPresentationServer closed");
-  run_next_test();
-}
-
-// Test manually close control channel with NS_ERROR_FAILURE
-function changeCloseReason() {
-  CLOSE_CONTROL_CHANNEL_REASON = Cr.NS_ERROR_FAILURE;
-  run_next_test();
-}
-
-add_test(loopOfferAnser);
-add_test(terminateRequest);
-add_test(terminateRequestAbnormal);
-add_test(setOffline);
-add_test(changeCloseReason);
-add_test(oneMoreLoop);
-add_test(shutdown);
-
-function run_test() {
-  // Need profile dir to store the key / cert
-  do_get_profile();
-  // Ensure PSM is initialized
-  Cc["@mozilla.org/psm;1"].getService(Ci.nsISupports);
-
-  Services.prefs.setBoolPref("dom.presentation.tcp_server.debug", true);
-
-  do_register_cleanup(() => {
-    Services.prefs.clearUserPref("dom.presentation.tcp_server.debug");
-  });
-
-  run_next_test();
-}
diff --git a/dom/presentation/tests/xpcshell/xpcshell.ini b/dom/presentation/tests/xpcshell/xpcshell.ini
deleted file mode 100644
index 8a9c305a01..0000000000
--- a/dom/presentation/tests/xpcshell/xpcshell.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[DEFAULT]
-head =
-tail =
-
-[test_multicast_dns_device_provider.js]
-[test_presentation_device_manager.js]
-[test_presentation_session_transport.js]
-[test_tcp_control_channel.js]
-[test_presentation_state_machine.js]
diff --git a/dom/push/PushRecord.jsm b/dom/push/PushRecord.jsm
index 08a7678e04..58f808e6c2 100644
--- a/dom/push/PushRecord.jsm
+++ b/dom/push/PushRecord.jsm
@@ -9,7 +9,6 @@ const Ci = Components.interfaces;
 const Cu = Components.utils;
 const Cr = Components.results;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/Preferences.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
@@ -145,13 +144,14 @@ PushRecord.prototype = {
       return Date.now();
     }
 
-    if (AppConstants.MOZ_ANDROID_HISTORY) {
-      let result = yield Messaging.sendRequestForResult({
-        type: "History:GetPrePathLastVisitedTimeMilliseconds",
-        prePath: this.uri.prePath,
-      });
-      return result == 0 ? -Infinity : result;
-    }
+#ifdef MOZ_ANDROID_HISTORY
+    let result = yield Messaging.sendRequestForResult({
+      type: "History:GetPrePathLastVisitedTimeMilliseconds",
+      prePath: this.uri.prePath,
+    });
+
+    return result == 0 ? -Infinity : result;
+#endif
 
     // Places History transition types that can fire a
     // `pushsubscriptionchange` event when the user visits a site with expired push
diff --git a/dom/push/PushService.jsm b/dom/push/PushService.jsm
index 3738070248..07cf70d210 100644
--- a/dom/push/PushService.jsm
+++ b/dom/push/PushService.jsm
@@ -10,7 +10,6 @@ const Ci = Components.interfaces;
 const Cu = Components.utils;
 const Cr = Components.results;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/Preferences.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/Timer.jsm");
@@ -24,14 +23,14 @@ const {
 const {PushDB} = Cu.import("resource://gre/modules/PushDB.jsm");
 
 const CONNECTION_PROTOCOLS = (function() {
-  if ('android' != AppConstants.MOZ_WIDGET_TOOLKIT) {
+#ifdef MOZ_WIDGET_ANDROID
+    const {PushServiceAndroidGCM} = Cu.import("resource://gre/modules/PushServiceAndroidGCM.jsm");
+    return [PushServiceAndroidGCM];
+#else
     const {PushServiceWebSocket} = Cu.import("resource://gre/modules/PushServiceWebSocket.jsm");
     const {PushServiceHttp2} = Cu.import("resource://gre/modules/PushServiceHttp2.jsm");
     return [PushServiceWebSocket, PushServiceHttp2];
-  } else {
-    const {PushServiceAndroidGCM} = Cu.import("resource://gre/modules/PushServiceAndroidGCM.jsm");
-    return [PushServiceAndroidGCM];
-  }
+#endif
 })();
 
 XPCOMUtils.defineLazyServiceGetter(this, "gPushNotifier",
diff --git a/dom/push/PushServiceWebSocket.jsm b/dom/push/PushServiceWebSocket.jsm
index 46b12b8f07..54348e71ce 100644
--- a/dom/push/PushServiceWebSocket.jsm
+++ b/dom/push/PushServiceWebSocket.jsm
@@ -10,7 +10,6 @@ const Ci = Components.interfaces;
 const Cu = Components.utils;
 const Cr = Components.results;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/Preferences.jsm");
 Cu.import("resource://gre/modules/Promise.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
diff --git a/dom/push/moz.build b/dom/push/moz.build
index 7eee8896fa..d138b270c2 100644
--- a/dom/push/moz.build
+++ b/dom/push/moz.build
@@ -12,12 +12,15 @@ EXTRA_COMPONENTS += [
 EXTRA_JS_MODULES += [
     'PushCrypto.jsm',
     'PushDB.jsm',
-    'PushRecord.jsm',
-    'PushService.jsm',
     'PushServiceHttp2.jsm',
     'PushServiceWebSocket.jsm',
 ]
 
+EXTRA_PP_JS_MODULES += [
+    'PushRecord.jsm',
+    'PushService.jsm',
+]
+
 MOCHITEST_MANIFESTS += [
     'test/mochitest.ini',
 ]
diff --git a/dom/webidl/Navigator.webidl b/dom/webidl/Navigator.webidl
index c353e8be75..7ca612f986 100644
--- a/dom/webidl/Navigator.webidl
+++ b/dom/webidl/Navigator.webidl
@@ -330,11 +330,6 @@ partial interface Navigator {
                      optional (ArrayBufferView or Blob or DOMString or FormData)? data = null);
 };
 
-partial interface Navigator {
-  [Throws, Pref="dom.presentation.enabled", SameObject]
-  readonly attribute Presentation? presentation;
-};
-
 partial interface Navigator {
   [NewObject, Func="mozilla::dom::TCPSocket::ShouldTCPSocketExist"]
   readonly attribute LegacyMozTCPSocket mozTCPSocket;
diff --git a/dom/webidl/Presentation.webidl b/dom/webidl/Presentation.webidl
deleted file mode 100644
index d5b3316163..0000000000
--- a/dom/webidl/Presentation.webidl
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentation
- */
-
-[Pref="dom.presentation.enabled"]
-interface Presentation {
- /*
-  * This should be used by the UA as the default presentation request for the
-  * controller. When the UA wishes to initiate a PresentationConnection on the
-  * controller's behalf, it MUST start a presentation connection using the default
-  * presentation request (as if the controller had called |defaultRequest.start()|).
-  *
-  * Only used by controlling browsing context (senders).
-  */
-  [Pref="dom.presentation.controller.enabled"]
-  attribute PresentationRequest? defaultRequest;
-
-  /*
-   * This should be available on the receiving browsing context in order to
-   * access the controlling browsing context and communicate with them.
-   */
-  [SameObject,
-   Pref="dom.presentation.receiver.enabled"]
-  readonly attribute PresentationReceiver? receiver;
-};
diff --git a/dom/webidl/PresentationAvailability.webidl b/dom/webidl/PresentationAvailability.webidl
deleted file mode 100644
index f72b88565d..0000000000
--- a/dom/webidl/PresentationAvailability.webidl
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationavailability
- */
-
-[Pref="dom.presentation.controller.enabled"]
-interface PresentationAvailability : EventTarget {
-  /*
-   * If there is at least one device discovered by UA, the value is |true|.
-   * Otherwise, its value should be |false|.
-   */
-  readonly attribute boolean value;
-
-  /*
-   * It is called when device availability changes.
-   */
-  attribute EventHandler onchange;
-};
diff --git a/dom/webidl/PresentationConnection.webidl b/dom/webidl/PresentationConnection.webidl
deleted file mode 100644
index 9676d20692..0000000000
--- a/dom/webidl/PresentationConnection.webidl
+++ /dev/null
@@ -1,96 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationconnection
- */
-
-enum PresentationConnectionState
-{
-  // The initial state when a PresentationConnection is ceated.
-  "connecting",
-
-  // Existing presentation, and the communication channel is active.
-  "connected",
-
-  // Existing presentation, but the communication channel is inactive.
-  "closed",
-
-  // The presentation is nonexistent anymore. It could be terminated manually,
-  // or either controlling or receiving browsing context is no longer available.
-  "terminated"
-};
-
-enum PresentationConnectionBinaryType
-{
-  "blob",
-  "arraybuffer"
-};
-
-[Pref="dom.presentation.enabled"]
-interface PresentationConnection : EventTarget {
-  /*
-   * Unique id for all existing connections.
-   */
-  [Constant]
-  readonly attribute DOMString id;
-
-  /*
-   * Specifies the connection's presentation URL.
-   */
-  readonly attribute DOMString url;
-
-  /*
-   * @value "connected", "closed", or "terminated".
-   */
-  readonly attribute PresentationConnectionState state;
-
-  attribute EventHandler onconnect;
-  attribute EventHandler onclose;
-  attribute EventHandler onterminate;
-  attribute PresentationConnectionBinaryType binaryType;
-
-  /*
-   * After a communication channel has been established between the controlling
-   * and receiving context, this function is called to send message out, and the
-   * event handler "onmessage" will be invoked at the remote side.
-   *
-   * This function only works when the state is "connected".
-   */
-  [Throws]
-  void send(DOMString data);
-
-  [Throws]
-  void send(Blob data);
-
-  [Throws]
-  void send(ArrayBuffer data);
-
-  [Throws]
-  void send(ArrayBufferView data);
-
-  /*
-   * It is triggered when receiving messages.
-   */
-  attribute EventHandler onmessage;
-
-  /*
-   * Both the controlling and receiving browsing context can close the
-   * connection. Then the connection state should turn into "closed".
-   *
-   * This function only works when the state is "connected" or "connecting".
-   */
-  [Throws]
-  void close();
-
-  /*
-   * Both the controlling and receiving browsing context can terminate the
-   * connection. Then the connection state should turn into "terminated".
-   *
-   * This function only works when the state is not "connected".
-   */
-   [Throws]
-   void terminate();
-};
diff --git a/dom/webidl/PresentationConnectionAvailableEvent.webidl b/dom/webidl/PresentationConnectionAvailableEvent.webidl
deleted file mode 100644
index 9efecb7d62..0000000000
--- a/dom/webidl/PresentationConnectionAvailableEvent.webidl
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationconnectionavailableevent
- */
-
-[Constructor(DOMString type,
-             PresentationConnectionAvailableEventInit eventInitDict),
- Pref="dom.presentation.enabled"]
-interface PresentationConnectionAvailableEvent : Event
-{
-  [SameObject]
-  readonly attribute PresentationConnection connection;
-};
-
-dictionary PresentationConnectionAvailableEventInit : EventInit
-{
-  required PresentationConnection connection;
-};
diff --git a/dom/webidl/PresentationConnectionCloseEvent.webidl b/dom/webidl/PresentationConnectionCloseEvent.webidl
deleted file mode 100644
index da6c25545e..0000000000
--- a/dom/webidl/PresentationConnectionCloseEvent.webidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationconnectioncloseevent
- */
-
-enum PresentationConnectionClosedReason
-{
-  // The communication encountered an unrecoverable error.
-  "error",
-
-  // |PresentationConnection.close()| is called by controlling browsing context
-  // or the receiving browsing context.
-  "closed",
-
-  // The connection is closed because the destination browsing context
-  // that owned the connection navigated or was discarded.
-  "wentaway"
-};
-
-[Constructor(DOMString type,
-             PresentationConnectionCloseEventInit eventInitDict),
- Pref="dom.presentation.enabled"]
-interface PresentationConnectionCloseEvent : Event
-{
-  readonly attribute PresentationConnectionClosedReason reason;
-
-  // The message is a human readable description of
-  // how the communication channel encountered an error.
-  // It is empty when the closed reason is closed or wentaway.
-  readonly attribute DOMString message;
-};
-
-dictionary PresentationConnectionCloseEventInit : EventInit
-{
-  required PresentationConnectionClosedReason reason;
-  DOMString message = "";
-};
diff --git a/dom/webidl/PresentationConnectionList.webidl b/dom/webidl/PresentationConnectionList.webidl
deleted file mode 100644
index 2c90ce9de4..0000000000
--- a/dom/webidl/PresentationConnectionList.webidl
+++ /dev/null
@@ -1,25 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationconnectionlist
- */
-
-[Pref="dom.presentation.receiver.enabled"]
-interface PresentationConnectionList : EventTarget {
-  /*
-   * Return the non-terminated set of presentation connections in the
-   * set of presentation controllers.
-   * TODO: Use FrozenArray once available. (Bug 1236777)
-   * readonly attribute FrozenArray connections;
-   */
-  [Frozen, Cached, Pure]
-  readonly attribute sequence connections;
-
-  /*
-   * It is called when an incoming connection is connected.
-   */
-  attribute EventHandler onconnectionavailable;
-};
diff --git a/dom/webidl/PresentationDeviceInfoManager.webidl b/dom/webidl/PresentationDeviceInfoManager.webidl
deleted file mode 100644
index 6ccace3247..0000000000
--- a/dom/webidl/PresentationDeviceInfoManager.webidl
+++ /dev/null
@@ -1,26 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- */
-
-dictionary PresentationDeviceInfo {
-  DOMString id;
-  DOMString name;
-  DOMString type;
-};
-
-[NavigatorProperty="mozPresentationDeviceInfo",
- JSImplementation="@mozilla.org/presentation-device/deviceInfo;1",
- Pref="dom.presentation.enabled",
- ChromeOnly]
-interface PresentationDeviceInfoManager : EventTarget {
-  // notify if any device updated.
-  attribute EventHandler ondevicechange;
-
-  // retrieve all available device infos
-  Promise> getAll();
-
-  // Force all registered device provider to update device information.
-  void forceDiscovery();
-};
diff --git a/dom/webidl/PresentationReceiver.webidl b/dom/webidl/PresentationReceiver.webidl
deleted file mode 100644
index 4acb37cf37..0000000000
--- a/dom/webidl/PresentationReceiver.webidl
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationreceiver
- */
-
-[Pref="dom.presentation.receiver.enabled"]
-interface PresentationReceiver {
-  /*
-   * Get a list which contains all connected presentation connections
-   * in a receiving browsing context.
-   */
-  [SameObject, Throws]
-  readonly attribute Promise connectionList;
-};
diff --git a/dom/webidl/PresentationRequest.webidl b/dom/webidl/PresentationRequest.webidl
deleted file mode 100644
index c0c5fb8a6e..0000000000
--- a/dom/webidl/PresentationRequest.webidl
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/.
- *
- * The origin of this IDL file is
- * https://w3c.github.io/presentation-api/#interface-presentationrequest
- */
-
-[Constructor(DOMString url),
- Constructor(sequence urls),
- Pref="dom.presentation.controller.enabled"]
-interface PresentationRequest : EventTarget {
-  /*
-   * A requesting page use start() to start a new connection, and it will be
-   * returned with the promise. UA may show a prompt box with a list of
-   * available devices and ask the user to grant permission, choose a device, or
-   * cancel the operation.
-   *
-   * The promise is resolved when the presenting page is successfully loaded and
-   * the communication channel is established, i.e., the connection state is
-   * "connected".
-   *
-   * The promise may be rejected duo to one of the following reasons:
-   * - "OperationError": Unexpected error occurs.
-   * - "NotFoundError":  No available device.
-   * - "AbortError":     User dismiss/cancel the device prompt box.
-   * - "NetworkError":   Failed to establish the control channel or data channel.
-   * - "TimeoutError":   Presenting page takes too long to load.
-   * - "SecurityError":  This operation is insecure.
-   */
-  [Throws]
-  Promise start();
-
-  /*
-   * A requesting page can use reconnect(presentationId) to reopen a
-   * non-terminated presentation connection.
-   *
-   * The promise is resolved when a new presentation connection is created.
-   * The connection state is "connecting".
-   *
-   * The promise may be rejected duo to one of the following reasons:
-   * - "OperationError": Unexpected error occurs.
-   * - "NotFoundError":  Can not find a presentation connection with the presentationId.
-   * - "SecurityError":  This operation is insecure.
-   */
-  [Throws]
-  Promise reconnect(DOMString presentationId);
-
- /*
-  * UA triggers device discovery mechanism periodically and monitor device
-  * availability.
-  *
-  * The promise may be rejected duo to one of the following reasons:
-  * - "NotSupportedError": Unable to continuously monitor the availability.
-  * - "SecurityError":  This operation is insecure.
-  */
-  [Throws]
-  Promise getAvailability();
-
-  /*
-   * It is called when a connection associated with a PresentationRequest is created.
-   * The event is fired for all connections that are created for the controller.
-   */
-  attribute EventHandler onconnectionavailable;
-
-  /*
-   * A chrome page, or page which has presentation-device-manage permissiongs,
-   * uses startWithDevice() to start a new connection with specified device,
-   * and it will be returned with the promise. UA may show a prompt box with a
-   * list of available devices and ask the user to grant permission, choose a
-   * device, or cancel the operation.
-   *
-   * The promise is resolved when the presenting page is successfully loaded and
-   * the communication channel is established, i.e., the connection state is
-   * "connected".
-   *
-   * The promise may be rejected duo to one of the following reasons:
-   * - "OperationError": Unexpected error occurs.
-   * - "NotFoundError":  No available device.
-   * - "NetworkError":   Failed to establish the control channel or data channel.
-   * - "TimeoutError":   Presenting page takes too long to load.
-   */
-  [ChromeOnly, Throws]
-  Promise startWithDevice(DOMString deviceId);
-};
diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build
index 373006321f..638c5cc1c7 100644
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -285,15 +285,7 @@ WEBIDL_FILES = [
     'MediaDeviceInfo.webidl',
     'MediaDevices.webidl',
     'MediaElementAudioSourceNode.webidl',
-    'MediaEncryptedEvent.webidl',
     'MediaError.webidl',
-    'MediaKeyError.webidl',
-    'MediaKeyMessageEvent.webidl',
-    'MediaKeys.webidl',
-    'MediaKeySession.webidl',
-    'MediaKeysRequestStatus.webidl',
-    'MediaKeyStatusMap.webidl',
-    'MediaKeySystemAccess.webidl',
     'MediaList.webidl',
     'MediaQueryList.webidl',
     'MediaRecorder.webidl',
@@ -361,13 +353,6 @@ WEBIDL_FILES = [
     'PopupBoxObject.webidl',
     'Position.webidl',
     'PositionError.webidl',
-    'Presentation.webidl',
-    'PresentationAvailability.webidl',
-    'PresentationConnection.webidl',
-    'PresentationConnectionList.webidl',
-    'PresentationDeviceInfoManager.webidl',
-    'PresentationReceiver.webidl',
-    'PresentationRequest.webidl',
     'ProcessingInstruction.webidl',
     'ProfileTimelineMarker.webidl',
     'Promise.webidl',
@@ -565,7 +550,6 @@ WEBIDL_FILES = [
     'WebKitCSSMatrix.webidl',
     'WebSocket.webidl',
     'WheelEvent.webidl',
-    'WidevineCDMManifest.webidl',
     'WifiOptions.webidl',
     'WindowOrWorkerGlobalScope.webidl',
     'WindowRoot.webidl',
@@ -592,6 +576,19 @@ WEBIDL_FILES = [
     'XULElement.webidl',
 ]
 
+if CONFIG['MOZ_EME']:
+    WEBIDL_FILES += [
+        'MediaEncryptedEvent.webidl',
+        'MediaKeyError.webidl',
+        'MediaKeyMessageEvent.webidl',
+        'MediaKeys.webidl',
+        'MediaKeySession.webidl',
+        'MediaKeysRequestStatus.webidl',
+        'MediaKeyStatusMap.webidl',
+        'MediaKeySystemAccess.webidl',
+        'WidevineCDMManifest.webidl',
+    ]
+
 if CONFIG['MOZ_WEBEXTENSIONS']:
   WEBIDL_FILES += ['AddonManager.webidl']
 
@@ -705,8 +702,6 @@ GENERATED_EVENTS_WEBIDL_FILES = [
     'PluginCrashedEvent.webidl',
     'PopStateEvent.webidl',
     'PopupBlockedEvent.webidl',
-    'PresentationConnectionAvailableEvent.webidl',
-    'PresentationConnectionCloseEvent.webidl',
     'ProgressEvent.webidl',
     'RecordErrorEvent.webidl',
     'ScrollViewChangeEvent.webidl',
diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp
index e618c319fd..73243d9181 100644
--- a/js/src/jsarray.cpp
+++ b/js/src/jsarray.cpp
@@ -2105,14 +2105,15 @@ js::ArrayShiftMoveElements(NativeObject* obj)
     MOZ_ASSERT_IF(obj->is(), obj->as().lengthIsWritable());
 
     size_t initlen = obj->getDenseInitializedLength();
-    MOZ_ASSERT(initlen > 0);
-
-    /*
-     * At this point the length and initialized length have already been
-     * decremented and the result fetched, so just shift the array elements
-     * themselves.
-     */
-    obj->moveDenseElementsNoPreBarrier(0, 1, initlen);
+    
+    if (initlen > 0) {
+      /*
+       * At this point the length and initialized length have already been
+       * decremented and the result fetched, so just shift the array elements
+       * themselves.
+       */
+      obj->moveDenseElementsNoPreBarrier(0, 1, initlen);
+    }
 }
 
 static inline void
diff --git a/layout/build/nsLayoutModule.cpp b/layout/build/nsLayoutModule.cpp
index 9313b8e455..3271a640d9 100644
--- a/layout/build/nsLayoutModule.cpp
+++ b/layout/build/nsLayoutModule.cpp
@@ -184,15 +184,10 @@ static void Shutdown();
 #include "mozilla/dom/time/TimeService.h"
 #include "StreamingProtocolService.h"
 
-#include "nsIPresentationService.h"
-
 #include "MediaManager.h"
 
 #include "GMPService.h"
 
-#include "mozilla/dom/PresentationDeviceManager.h"
-#include "mozilla/dom/PresentationTCPSessionTransport.h"
-
 #include "nsScriptError.h"
 
 #include "mozilla/TextInputProcessor.h"
@@ -236,16 +231,6 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(HTMLEditor)
 #define TRANSFORMIIX_NODESET_CONTRACTID \
 "@mozilla.org/transformiix-nodeset;1"
 
-// PresentationDeviceManager
-/* e1e79dec-4085-4994-ac5b-744b016697e6 */
-#define PRESENTATION_DEVICE_MANAGER_CID \
-{ 0xe1e79dec, 0x4085, 0x4994, { 0xac, 0x5b, 0x74, 0x4b, 0x01, 0x66, 0x97, 0xe6 } }
-
-#define PRESENTATION_TCP_SESSION_TRANSPORT_CID \
-{ 0xc9d023f4, 0x6228, 0x4c07, { 0x8b, 0x1d, 0x9c, 0x19, 0x57, 0x3f, 0xaa, 0x27 } }
-
-already_AddRefed NS_CreatePresentationService();
-
 // Factory Constructor
 NS_GENERIC_FACTORY_CONSTRUCTOR(txMozillaXSLTProcessor)
 NS_GENERIC_FACTORY_CONSTRUCTOR(XPathEvaluator)
@@ -289,11 +274,7 @@ NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIStreamingProtocolControllerService,
 
 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIMediaManagerService,
                                          MediaManager::GetInstance)
-NS_GENERIC_FACTORY_CONSTRUCTOR(PresentationDeviceManager)
 NS_GENERIC_FACTORY_CONSTRUCTOR(TextInputProcessor)
-NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIPresentationService,
-                                         NS_CreatePresentationService)
-NS_GENERIC_FACTORY_CONSTRUCTOR(PresentationTCPSessionTransport)
 NS_GENERIC_FACTORY_CONSTRUCTOR(PushNotifier)
 
 //-----------------------------------------------------------------------------
@@ -719,10 +700,6 @@ NS_DEFINE_NAMED_CID(NS_ACCESSIBILITY_SERVICE_CID);
 
 NS_DEFINE_NAMED_CID(GECKO_MEDIA_PLUGIN_SERVICE_CID);
 
-NS_DEFINE_NAMED_CID(PRESENTATION_SERVICE_CID);
-NS_DEFINE_NAMED_CID(PRESENTATION_DEVICE_MANAGER_CID);
-NS_DEFINE_NAMED_CID(PRESENTATION_TCP_SESSION_TRANSPORT_CID);
-
 NS_DEFINE_NAMED_CID(TEXT_INPUT_PROCESSOR_CID);
 
 NS_DEFINE_NAMED_CID(NS_SCRIPTERROR_CID);
@@ -981,9 +958,6 @@ static const mozilla::Module::CIDEntry kLayoutCIDs[] = {
 #ifdef ACCESSIBILITY
   { &kNS_ACCESSIBILITY_SERVICE_CID, false, nullptr, CreateA11yService },
 #endif
-  { &kPRESENTATION_SERVICE_CID, false, nullptr, nsIPresentationServiceConstructor },
-  { &kPRESENTATION_DEVICE_MANAGER_CID, false, nullptr, PresentationDeviceManagerConstructor },
-  { &kPRESENTATION_TCP_SESSION_TRANSPORT_CID, false, nullptr, PresentationTCPSessionTransportConstructor },
   { &kTEXT_INPUT_PROCESSOR_CID, false, nullptr, TextInputProcessorConstructor },
   { &kNS_SCRIPTERROR_CID, false, nullptr, nsScriptErrorConstructor },
   { nullptr }
@@ -1113,9 +1087,6 @@ static const mozilla::Module::ContractIDEntry kLayoutContracts[] = {
   { "@mozilla.org/accessibleRetrieval;1", &kNS_ACCESSIBILITY_SERVICE_CID },
 #endif
   { "@mozilla.org/gecko-media-plugin-service;1",  &kGECKO_MEDIA_PLUGIN_SERVICE_CID },
-  { PRESENTATION_SERVICE_CONTRACTID, &kPRESENTATION_SERVICE_CID },
-  { PRESENTATION_DEVICE_MANAGER_CONTRACTID, &kPRESENTATION_DEVICE_MANAGER_CID },
-  { PRESENTATION_TCP_SESSION_TRANSPORT_CONTRACTID, &kPRESENTATION_TCP_SESSION_TRANSPORT_CID },
   { "@mozilla.org/text-input-processor;1", &kTEXT_INPUT_PROCESSOR_CID },
   { NS_SCRIPTERROR_CONTRACTID, &kNS_SCRIPTERROR_CID },
   { nullptr }
@@ -1134,8 +1105,6 @@ static const mozilla::Module::CategoryEntry kLayoutCategories[] = {
   { "clear-origin-attributes-data", "QuotaManagerService", "service," QUOTAMANAGER_SERVICE_CONTRACTID },
   { OBSERVER_TOPIC_IDLE_DAILY, "QuotaManagerService", QUOTAMANAGER_SERVICE_CONTRACTID },
   CONTENTDLF_CATEGORIES
-  { "profile-after-change", "PresentationDeviceManager", PRESENTATION_DEVICE_MANAGER_CONTRACTID },
-  { "profile-after-change", "PresentationService", PRESENTATION_SERVICE_CONTRACTID },
   { nullptr }
 };
 
diff --git a/layout/tables/nsTableCellFrame.cpp b/layout/tables/nsTableCellFrame.cpp
index 043509fc4f..2862bb201f 100644
--- a/layout/tables/nsTableCellFrame.cpp
+++ b/layout/tables/nsTableCellFrame.cpp
@@ -450,19 +450,40 @@ PaintTableCellSelection(nsIFrame* aFrame, DrawTarget* aDrawTarget,
                                                                aPt);
 }
 
+bool
+nsTableCellFrame::ShouldPaintBordersAndBackgrounds() const
+{
+  // If we're not visible, we don't paint.
+  if (!StyleVisibility()->IsVisible()) {
+    return false;
+  }
+
+  // Consider 'empty-cells', but only in separated borders mode.
+  if (!GetContentEmpty()) {
+    return true;
+  }
+
+  nsTableFrame* tableFrame = GetTableFrame();
+  if (tableFrame->IsBorderCollapse()) {
+    return true;
+  }
+
+  return StyleTableBorder()->mEmptyCells == NS_STYLE_TABLE_EMPTY_CELLS_SHOW;
+}
+
+bool
+nsTableCellFrame::ShouldPaintBackground(nsDisplayListBuilder* aBuilder)
+{
+  return ShouldPaintBordersAndBackgrounds() && IsVisibleInSelection(aBuilder);
+}
+
 void
 nsTableCellFrame::BuildDisplayList(nsDisplayListBuilder*   aBuilder,
                                    const nsRect&           aDirtyRect,
                                    const nsDisplayListSet& aLists)
 {
   DO_GLOBAL_REFLOW_COUNT_DSP("nsTableCellFrame");
-  nsTableFrame* tableFrame = GetTableFrame();
-  int32_t emptyCellStyle = GetContentEmpty() && !tableFrame->IsBorderCollapse() ?
-                              StyleTableBorder()->mEmptyCells
-                              : NS_STYLE_TABLE_EMPTY_CELLS_SHOW;
-  // take account of 'empty-cells'
-  if (StyleVisibility()->IsVisible() &&
-      (NS_STYLE_TABLE_EMPTY_CELLS_HIDE != emptyCellStyle)) {
+  if (ShouldPaintBordersAndBackgrounds()) {
     // display outset box-shadows if we need to.
     bool hasBoxShadow = !!StyleEffects()->mBoxShadow;
     if (hasBoxShadow) {
@@ -487,7 +508,7 @@ nsTableCellFrame::BuildDisplayList(nsDisplayListBuilder*   aBuilder,
     }
 
     // display borders if we need to
-    ProcessBorders(tableFrame, aBuilder, aLists);
+    ProcessBorders(GetTableFrame(), aBuilder, aLists);
 
     // and display the selection border if we need to
     if (IsSelected()) {
diff --git a/layout/tables/nsTableCellFrame.h b/layout/tables/nsTableCellFrame.h
index d8debe993f..e8dad5c20f 100644
--- a/layout/tables/nsTableCellFrame.h
+++ b/layout/tables/nsTableCellFrame.h
@@ -209,7 +209,7 @@ public:
   /** set the desired size returned by this frame during its last reflow */
   inline void SetDesiredSize(const ReflowOutput & aDesiredSize);
 
-  bool GetContentEmpty();
+  bool GetContentEmpty() const;
   void SetContentEmpty(bool aContentEmpty);
 
   bool HasPctOverBSize();
@@ -246,6 +246,10 @@ public:
   virtual void InvalidateFrame(uint32_t aDisplayItemKey = 0) override;
   virtual void InvalidateFrameWithRect(const nsRect& aRect, uint32_t aDisplayItemKey = 0) override;
   virtual void InvalidateFrameForRemoval() override { InvalidateFrameSubtree(); }
+  
+  bool ShouldPaintBordersAndBackgrounds() const;
+  
+  bool ShouldPaintBackground(nsDisplayListBuilder* aBuilder);
 
 protected:
   virtual LogicalSides
@@ -283,7 +287,7 @@ inline void nsTableCellFrame::SetDesiredSize(const ReflowOutput & aDesiredSize)
   mDesiredSize = aDesiredSize.Size(wm).ConvertTo(GetWritingMode(), wm);
 }
 
-inline bool nsTableCellFrame::GetContentEmpty()
+inline bool nsTableCellFrame::GetContentEmpty() const
 {
   return HasAnyStateBits(NS_TABLE_CELL_CONTENT_EMPTY);
 }
diff --git a/layout/tables/nsTableFrame.cpp b/layout/tables/nsTableFrame.cpp
index 890d050fdf..0e54fd093e 100644
--- a/layout/tables/nsTableFrame.cpp
+++ b/layout/tables/nsTableFrame.cpp
@@ -1192,11 +1192,19 @@ PaintRowBackground(nsTableRowFrame* aRow,
                    nsIFrame* aFrame,
                    nsDisplayListBuilder* aBuilder,
                    const nsDisplayListSet& aLists,
+                   const nsRect& aDirtyRect,
                    const nsPoint& aOffset = nsPoint())
 {
   // Compute background rect by iterating over all cell frames.
   for (nsTableCellFrame* cell = aRow->GetFirstCell(); cell; cell = cell->GetNextCell()) {
+    if (!cell->ShouldPaintBackground(aBuilder)) {
+      continue;
+    }
+
     auto cellRect = cell->GetRectRelativeToSelf() + cell->GetNormalPosition() + aOffset;
+    if (!aDirtyRect.Intersects(cellRect)) {
+      continue;
+    }
     nsDisplayBackgroundImage::AppendBackgroundItemsToTop(aBuilder, aFrame, cellRect,
                                                          aLists.BorderBackground(),
                                                          true, nullptr,
@@ -1209,10 +1217,14 @@ static void
 PaintRowGroupBackground(nsTableRowGroupFrame* aRowGroup,
                         nsIFrame* aFrame,
                         nsDisplayListBuilder* aBuilder,
-                        const nsDisplayListSet& aLists)
+                        const nsDisplayListSet& aLists,
+                        const nsRect& aDirtyRect)
 {
   for (nsTableRowFrame* row = aRowGroup->GetFirstRow(); row; row = row->GetNextRow()) {
-    PaintRowBackground(row, aFrame, aBuilder, aLists, row->GetNormalPosition());
+     if (!aDirtyRect.Intersects(nsRect(row->GetNormalPosition(), row->GetSize()))) {
+       continue;
+     }
+    PaintRowBackground(row, aFrame, aBuilder, aLists, aDirtyRect, row->GetNormalPosition());
   }
 }
 
@@ -1221,15 +1233,28 @@ PaintRowGroupBackgroundByColIdx(nsTableRowGroupFrame* aRowGroup,
                                 nsIFrame* aFrame,
                                 nsDisplayListBuilder* aBuilder,
                                 const nsDisplayListSet& aLists,
+                                const nsRect& aDirtyRect,
                                 const nsTArray& aColIdx,
                                 const nsPoint& aOffset)
 {
   for (nsTableRowFrame* row = aRowGroup->GetFirstRow(); row; row = row->GetNextRow()) {
+    auto rowPos = row->GetNormalPosition() + aOffset;
+    if (!aDirtyRect.Intersects(nsRect(rowPos, row->GetSize()))) {
+      continue;
+    }
     for (nsTableCellFrame* cell = row->GetFirstCell(); cell; cell = cell->GetNextCell()) {
+      if (!cell->ShouldPaintBackground(aBuilder)) {
+        continue;
+      }
+
       int32_t curColIdx;
       cell->GetColIndex(curColIdx);
       if (aColIdx.Contains(curColIdx)) {
-        auto cellRect = cell->GetRectRelativeToSelf() + cell->GetNormalPosition() + row->GetNormalPosition() + aOffset;
+        auto cellPos = cell->GetNormalPosition() + rowPos;
+        auto cellRect = nsRect(cellPos, cell->GetSize());
+        if (!aDirtyRect.Intersects(cellRect)) {
+          continue;
+        }
         nsDisplayBackgroundImage::AppendBackgroundItemsToTop(aBuilder, aFrame, cellRect,
                                                              aLists.BorderBackground(),
                                                              true, nullptr,
@@ -1247,66 +1272,89 @@ nsTableFrame::DisplayGenericTablePart(nsDisplayListBuilder* aBuilder,
                                       const nsDisplayListSet& aLists,
                                       DisplayGenericTablePartTraversal aTraversal)
 {
-  if (aFrame->IsVisibleForPainting(aBuilder)) {
+  bool isVisible = aFrame->IsVisibleForPainting(aBuilder);
+  bool isTable = (aFrame->GetType() == nsGkAtoms::tableFrame);
+  
+  if (isVisible || !isTable) {
     nsDisplayTableItem* currentItem = aBuilder->GetCurrentTableItem();
     // currentItem may be null, when none of the table parts have a
     // background or border
     if (currentItem) {
       currentItem->UpdateForFrameBackground(aFrame);
     }
+  }
+  
+  if (isVisible) {
+    // XXX: should box-shadow for rows/rowgroups/columns/colgroups get painted
+    // just because we're visible?  Or should it depend on the cell visibility
+    // when we're not the whole table?
 
     // Paint the outset box-shadows for the table frames
-    bool hasBoxShadow = aFrame->StyleEffects()->mBoxShadow != nullptr;
-    if (hasBoxShadow) {
+    if (aFrame->StyleEffects()->mBoxShadow) {
       aLists.BorderBackground()->AppendNewToTop(
         new (aBuilder) nsDisplayBoxShadowOuter(aBuilder, aFrame));
     }
+  }
 
-    if (aFrame->GetType() == nsGkAtoms::tableRowGroupFrame) {
-      nsTableRowGroupFrame* rowGroup = static_cast(aFrame);
-      PaintRowGroupBackground(rowGroup, aFrame, aBuilder, aLists);
-    } else if (aFrame->GetType() == nsGkAtoms::tableRowFrame) {
-      nsTableRowFrame* row = static_cast(aFrame);
-      PaintRowBackground(row, aFrame, aBuilder, aLists);
-    } else if (aFrame->GetType() == nsGkAtoms::tableColGroupFrame) {
-      // Compute background rect by iterating all cell frame.
-      nsTableColGroupFrame* colGroup = static_cast(aFrame);
-      // Collecting column index.
-      AutoTArray colIdx;
-      for (nsTableColFrame* col = colGroup->GetFirstColumn(); col; col = col->GetNextCol()) {
-        colIdx.AppendElement(col->GetColIndex());
-      }
-
-      nsTableFrame* table = colGroup->GetTableFrame();
-      RowGroupArray rowGroups;
-      table->OrderRowGroups(rowGroups);
-      for (nsTableRowGroupFrame* rowGroup : rowGroups) {
-        auto offset = rowGroup->GetNormalPosition() - colGroup->GetNormalPosition();
-        PaintRowGroupBackgroundByColIdx(rowGroup, aFrame, aBuilder, aLists, colIdx, offset);
-      }
-    } else if (aFrame->GetType() == nsGkAtoms::tableColFrame) {
-      // Compute background rect by iterating all cell frame.
-      nsTableColFrame* col = static_cast(aFrame);
-      AutoTArray colIdx;
+  // Background visibility for rows, rowgroups, columns, colgroups depends on
+  // the visibility of the _cell_, not of the row/col(group).
+  // See spec at https://drafts.csswg.org/css-tables-3/#drawing-cell-backgrounds
+  if (aFrame->GetType() == nsGkAtoms::tableRowGroupFrame) {
+    nsTableRowGroupFrame* rowGroup = static_cast(aFrame);
+    PaintRowGroupBackground(rowGroup, aFrame, aBuilder, aLists, aDirtyRect);
+  } else if (aFrame->GetType() == nsGkAtoms::tableRowFrame) {
+    nsTableRowFrame* row = static_cast(aFrame);
+    PaintRowBackground(row, aFrame, aBuilder, aLists, aDirtyRect);
+  } else if (aFrame->GetType() == nsGkAtoms::tableColGroupFrame) {
+    // Compute background rect by iterating all cell frame.
+    nsTableColGroupFrame* colGroup = static_cast(aFrame);
+    // Collecting column index.
+    AutoTArray colIdx;
+    for (nsTableColFrame* col = colGroup->GetFirstColumn(); col; col = col->GetNextCol()) {
       colIdx.AppendElement(col->GetColIndex());
-
-      nsTableFrame* table = col->GetTableFrame();
-      RowGroupArray rowGroups;
-      table->OrderRowGroups(rowGroups);
-      for (nsTableRowGroupFrame* rowGroup : rowGroups) {
-        auto offset = rowGroup->GetNormalPosition() -
-                      col->GetNormalPosition() -
-                      col->GetTableColGroupFrame()->GetNormalPosition();
-        PaintRowGroupBackgroundByColIdx(rowGroup, aFrame, aBuilder, aLists, colIdx, offset);
-      }
-    } else {
-      nsDisplayBackgroundImage::AppendBackgroundItemsToTop(aBuilder, aFrame,
-                                                           aFrame->GetRectRelativeToSelf(),
-                                                           aLists.BorderBackground());
     }
 
+    nsTableFrame* table = colGroup->GetTableFrame();
+    RowGroupArray rowGroups;
+    table->OrderRowGroups(rowGroups);
+    for (nsTableRowGroupFrame* rowGroup : rowGroups) {
+      auto offset = rowGroup->GetNormalPosition() - colGroup->GetNormalPosition();
+      if (!aDirtyRect.Intersects(nsRect(offset, rowGroup->GetSize()))) {
+        continue;
+      }
+      PaintRowGroupBackgroundByColIdx(rowGroup, aFrame, aBuilder, aLists, aDirtyRect, colIdx, offset);
+    }
+  } else if (aFrame->GetType() == nsGkAtoms::tableColFrame) {
+    // Compute background rect by iterating all cell frame.
+    nsTableColFrame* col = static_cast(aFrame);
+    AutoTArray colIdx;
+    colIdx.AppendElement(col->GetColIndex());
+
+    nsTableFrame* table = col->GetTableFrame();
+    RowGroupArray rowGroups;
+    table->OrderRowGroups(rowGroups);
+    for (nsTableRowGroupFrame* rowGroup : rowGroups) {
+      auto offset = rowGroup->GetNormalPosition() -
+                    col->GetNormalPosition() -
+                    col->GetTableColGroupFrame()->GetNormalPosition();
+      if (!aDirtyRect.Intersects(nsRect(offset, rowGroup->GetSize()))) {
+        continue;
+      }
+      PaintRowGroupBackgroundByColIdx(rowGroup, aFrame, aBuilder, aLists, aDirtyRect, colIdx, offset);
+    }
+  } else if (isVisible) {
+    nsDisplayBackgroundImage::AppendBackgroundItemsToTop(aBuilder, aFrame,
+                                                         aFrame->GetRectRelativeToSelf(),
+                                                         aLists.BorderBackground());
+  }
+
+  if (isVisible) {
+    // XXX: should box-shadow for rows/rowgroups/columns/colgroups get painted
+    // just because we're visible?  Or should it depend on the cell visibility
+    // when we're not the whole table?
+
     // Paint the inset box-shadows for the table frames
-    if (hasBoxShadow) {
+    if (aFrame->StyleEffects()->mBoxShadow) {
       aLists.BorderBackground()->AppendNewToTop(
         new (aBuilder) nsDisplayBoxShadowInner(aBuilder, aFrame));
     }
@@ -1314,8 +1362,8 @@ nsTableFrame::DisplayGenericTablePart(nsDisplayListBuilder* aBuilder,
 
   aTraversal(aBuilder, aFrame, aDirtyRect, aLists);
 
-  if (aFrame->IsVisibleForPainting(aBuilder)) {
-    if (aFrame->GetType() == nsGkAtoms::tableFrame) {
+  if (isVisible) {
+    if (isTable) {
       nsTableFrame* table = static_cast(aFrame);
       // In the collapsed border model, overlay all collapsed borders.
       if (table->IsBorderCollapse()) {
diff --git a/mailnews/base/search/content/searchWidgets.xml b/mailnews/base/search/content/searchWidgets.xml
index 69f3b2ae23..1f39604429 100644
--- a/mailnews/base/search/content/searchWidgets.xml
+++ b/mailnews/base/search/content/searchWidgets.xml
@@ -224,7 +224,7 @@
             let identitiesRaw = MailServices.accounts
               .getIdentitiesForServer(gFilterList.folder.server);
             let identities = Array.from(this.fixIterator(identitiesRaw,
-                                                         Ci.nsIMsgIdentity));
+                                                         Components.interfaces.nsIMsgIdentity));
 
             if (identities.length == 0) { // typically if this is Local Folders
               if (MailServices.accounts.defaultAccount)
diff --git a/mailnews/base/src/moz.build b/mailnews/base/src/moz.build
index 55dbab1546..69090b3b39 100644
--- a/mailnews/base/src/moz.build
+++ b/mailnews/base/src/moz.build
@@ -69,13 +69,15 @@ EXTRA_COMPONENTS += [
     'folderLookupService.js',
     'msgAsyncPrompter.js',
     'newMailNotificationService.js',
-    'nsMailNewsCommandLineHandler.js',
 ]
 
 if CONFIG['MOZ_MAILNEWS_OAUTH2']:
     EXTRA_COMPONENTS += ['msgOAuth2Module.js']
 
-EXTRA_PP_COMPONENTS += ['msgBase.manifest']
+EXTRA_PP_COMPONENTS += [
+    'msgBase.manifest'
+    'nsMailNewsCommandLineHandler.js',
+]
 
 EXTRA_JS_MODULES += [
     'virtualFolderWrapper.js',
diff --git a/mailnews/base/src/nsMailNewsCommandLineHandler.js b/mailnews/base/src/nsMailNewsCommandLineHandler.js
index 3a85ec3364..5dda7f7dc8 100644
--- a/mailnews/base/src/nsMailNewsCommandLineHandler.js
+++ b/mailnews/base/src/nsMailNewsCommandLineHandler.js
@@ -8,7 +8,6 @@ var Cr = Components.results;
 
 Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-Components.utils.import("resource://gre/modules/AppConstants.jsm");
 
 var MAPI_STARTUP_ARG = "MapiStartup";
 var MESSAGE_ID_PARAM = "?messageid=";
@@ -88,8 +87,8 @@ var nsMailNewsCommandLineHandler =
         aCommandLine.preventDefault = true;
         MailUtils.displayMessage(msgHdr);
       }
-      else if (AppConstants.MOZ_APP_NAME == "seamonkey" &&
-               /\.(eml|msg)$/i.test(mailURL)) {
+#ifdef MOZ_SUITE
+      else if (/\.(eml|msg)$/i.test(mailURL)) {
         try {
           let file = aCommandLine.resolveFile(mailURL);
           // No point in trying to open a file if it doesn't exist or is empty
@@ -109,6 +108,7 @@ var nsMailNewsCommandLineHandler =
         catch (e) {
         }
       }
+#endif
       else {
         dump("Unrecognized URL: " + mailURL + "\n");
         Services.console.logStringMessage("Unrecognized URL: " + mailURL);
diff --git a/media/webrtc/signaling/test/common.build b/media/webrtc/signaling/test/common.build
index 3e5450f5d6..2d9a571392 100644
--- a/media/webrtc/signaling/test/common.build
+++ b/media/webrtc/signaling/test/common.build
@@ -105,9 +105,6 @@ if CONFIG['MOZ_ALSA']:
 if CONFIG['MOZ_SYSTEM_JPEG']:
     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
 
-if CONFIG['MOZ_SYSTEM_LIBVPX']:
-    OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
-
 if not CONFIG['MOZ_TREE_PIXMAN']:
     OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
 
diff --git a/netwerk/protocol/http/UserAgentUpdates.jsm b/netwerk/protocol/http/UserAgentUpdates.jsm
index 602705ebe7..ab88ffd40b 100644
--- a/netwerk/protocol/http/UserAgentUpdates.jsm
+++ b/netwerk/protocol/http/UserAgentUpdates.jsm
@@ -10,7 +10,6 @@ const Ci = Components.interfaces;
 const Cc = Components.classes;
 const Cu = Components.utils;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
@@ -144,13 +143,14 @@ this.UserAgentUpdates = {
       // try to load next one if the previous load failed
       return prevLoad ? prevLoad.then(null, tryNext) : tryNext();
     }, null).then(null, (ex) => {
-      if (AppConstants.platform !== "android") {
-        // All previous (non-Android) load attempts have failed, so we bail.
-        throw new Error("UserAgentUpdates: Failed to load " + FILE_UPDATES +
-                         ex + "\n" + ex.stack);
-      }
+#ifdef MOZ_WIDGET_ANDROID
       // Make one last attempt to read from the Fennec APK root.
       return readChannel("resource://android/" + FILE_UPDATES);
+#else
+      // All previous (non-Android) load attempts have failed, so we bail.
+      throw new Error("UserAgentUpdates: Failed to load " + FILE_UPDATES +
+                       ex + "\n" + ex.stack);
+#endif
     }).then((update) => {
       // Apply update if loading was successful
       this._applyUpdate(update);
diff --git a/netwerk/protocol/http/moz.build b/netwerk/protocol/http/moz.build
index 1368ee707b..37e801f2f9 100644
--- a/netwerk/protocol/http/moz.build
+++ b/netwerk/protocol/http/moz.build
@@ -99,10 +99,9 @@ IPDL_SOURCES += [
     'PHttpChannel.ipdl',
 ]
 
-EXTRA_JS_MODULES += [
-    'UserAgentOverrides.jsm',
-    'UserAgentUpdates.jsm',
-]
+EXTRA_JS_MODULES += ['UserAgentOverrides.jsm']
+
+EXTRA_PP_JS_MODULES += ['UserAgentUpdates.jsm']
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
diff --git a/old-configure.in b/old-configure.in
index 8f103ca382..4dcb71e6fe 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -2101,51 +2101,6 @@ if test "${BZ2_DIR}" -a -d "${BZ2_DIR}" -a "$MOZ_SYSTEM_BZ2" = 1; then
     MOZ_BZ2_LIBS="-L${BZ2_DIR}/lib ${MOZ_BZ2_LIBS}"
 fi
 
-dnl ========================================================
-dnl system PNG Support
-dnl ========================================================
-MOZ_ARG_WITH_STRING(system-png,
-[  --with-system-png[=PFX]
-                          Use system libpng [installed at prefix PFX]],
-    PNG_DIR=$withval)
-
-_SAVE_CFLAGS=$CFLAGS
-_SAVE_LDFLAGS=$LDFLAGS
-_SAVE_LIBS=$LIBS
-if test -n "${PNG_DIR}" -a "${PNG_DIR}" != "yes"; then
-    CFLAGS="-I${PNG_DIR}/include $CFLAGS"
-    LDFLAGS="-L${PNG_DIR}/lib $LDFLAGS"
-fi
-if test -z "$PNG_DIR" -o "$PNG_DIR" = no; then
-    MOZ_SYSTEM_PNG=
-else
-    AC_CHECK_LIB(png, png_get_valid, [MOZ_SYSTEM_PNG=1 MOZ_PNG_LIBS="-lpng"],
-                 AC_MSG_ERROR([--with-system-png requested but no working libpng found]))
-    AC_CHECK_LIB(png, png_get_acTL, ,
-                 AC_MSG_ERROR([--with-system-png won't work because the system's libpng doesn't have APNG support]))
-fi
-if test "$MOZ_SYSTEM_PNG" = 1; then
-    AC_TRY_COMPILE([ #include 
-                     #include 
-                     #include  ],
-                   [ #if PNG_LIBPNG_VER < $MOZPNG
-                     #error "Insufficient libpng version ($MOZPNG required)."
-                     #endif
-                     #ifndef PNG_UINT_31_MAX
-                     #error "Insufficient libpng version."
-                     #endif ],
-                   MOZ_SYSTEM_PNG=1,
-                   AC_MSG_ERROR([--with-system-png requested but no working libpng found]))
-fi
-CFLAGS=$_SAVE_CFLAGS
-LDFLAGS=$_SAVE_LDFLAGS
-LIBS=$_SAVE_LIBS
-
-if test "${PNG_DIR}" -a -d "${PNG_DIR}" -a "$MOZ_SYSTEM_PNG" = 1; then
-    MOZ_PNG_CFLAGS="-I${PNG_DIR}/include"
-    MOZ_PNG_LIBS="-L${PNG_DIR}/lib ${MOZ_PNG_LIBS}"
-fi
-
 fi # SKIP_LIBRARY_CHECKS
 
 dnl ========================================================
@@ -2946,25 +2901,12 @@ dnl ========================================================
 dnl = EME support
 dnl ========================================================
 
-MOZ_ARG_ENABLE_STRING(eme,
-[  --enable-eme[=widevine]  Enable support for Encrypted Media Extensions  ],
-    MOZ_EME_ARGS=$enableval)
+MOZ_ARG_ENABLE_BOOL(eme,
+[  --enable-eme           Enable support for Encrypted Media Extensions  ],
+    MOZ_EME=1,
+    MOZ_EME=)
 
-if test "$MOZ_EME_ARGS"; then
-    if test "$MOZ_EME_ARGS" = "no"; then
-        dnl EME explicitly disabled with --disable-eme
-        MOZ_EME=
-    elif test "$MOZ_EME_ARGS" = "yes"; then
-        dnl EME explicitly enabled with --enable-eme
-        MOZ_EME=1
-    else
-        dnl EME explicitly enabled with --enable-eme=
-        MOZ_EME=1
-        MOZ_EME_MODULES=`echo $MOZ_EME_ARGS | sed -e 's/,/ /g'`
-    fi
-fi
 
-AC_SUBST_SET(MOZ_EME_MODULES)
 if test -n "$MOZ_EME"; then
     if test -z "$MOZ_FMP4"; then
         AC_MSG_ERROR([Encrypted Media Extension support requires Fragmented MP4 support])
@@ -2972,12 +2914,7 @@ if test -n "$MOZ_EME"; then
     AC_DEFINE(MOZ_EME)
 fi
 
-dnl ========================================================
-dnl system libvpx Support
-dnl ========================================================
-MOZ_ARG_WITH_BOOL(system-libvpx,
-[  --with-system-libvpx    Use system libvpx (located with pkgconfig)],
-    MOZ_SYSTEM_LIBVPX=1)
+AC_SUBST(MOZ_EME)
 
 MOZ_LIBVPX_CFLAGS=
 MOZ_LIBVPX_LIBS=
@@ -2986,35 +2923,6 @@ if test -n "$MOZ_VPX_ERROR_CONCEALMENT" ; then
     AC_DEFINE(MOZ_VPX_ERROR_CONCEALMENT)
 fi
 
-_SAVE_CFLAGS=$CFLAGS
-_SAVE_LIBS=$LIBS
-if test -n "$MOZ_SYSTEM_LIBVPX"; then
-    dnl ============================
-    dnl === libvpx Version check ===
-    dnl ============================
-    dnl Check to see if we have a system libvpx package.
-    PKG_CHECK_MODULES(MOZ_LIBVPX, vpx >= 1.5.0)
-
-    CFLAGS="$CFLAGS $MOZ_LIBVPX_CFLAGS"
-    LIBS="$LIBS $MOZ_LIBVPX_LIBS"
-
-    MOZ_CHECK_HEADER([vpx/vpx_decoder.h], [],
-     [AC_MSG_ERROR([Couldn't find vpx/vpx_decoder.h which is required for build with system libvpx. Use --without-system-libvpx to build with in-tree libvpx.])])
-
-    AC_CHECK_LIB(vpx, vpx_codec_dec_init_ver, [],
-     [AC_MSG_ERROR([--with-system-libvpx requested but symbol vpx_codec_dec_init_ver not found])])
-
-    MOZ_CHECK_HEADER([vpx_mem/vpx_mem.h],
-     [AC_CHECK_FUNC(vpx_mem_set_functions)])
-    if test "$ac_cv_header_vpx_mem_vpx_mem_h" = no -o \
-            "$ac_cv_func_vpx_mem_set_functions" = no; then
-        AC_DEFINE(MOZ_VPX_NO_MEM_REPORTING)
-    fi
-fi
-CFLAGS=$_SAVE_CFLAGS
-LIBS=$_SAVE_LIBS
-
-AC_SUBST(MOZ_SYSTEM_LIBVPX)
 AC_SUBST_LIST(MOZ_LIBVPX_CFLAGS)
 AC_SUBST_LIST(MOZ_LIBVPX_LIBS)
 
@@ -3847,175 +3755,6 @@ else
     fi
 fi
 
-dnl ========================================================
-dnl Check for sqlite
-dnl ========================================================
-
-MOZ_SYSTEM_SQLITE=
-MOZ_ARG_ENABLE_BOOL(system-sqlite,
-[  --enable-system-sqlite  Use system sqlite (located with pkgconfig)],
-MOZ_SYSTEM_SQLITE=1,
-MOZ_SYSTEM_SQLITE= )
-
-if test -n "$MOZ_SYSTEM_SQLITE"
-then
-    dnl ============================
-    dnl === SQLite Version check ===
-    dnl ============================
-    dnl Check to see if the system SQLite package is new enough.
-    PKG_CHECK_MODULES(SQLITE, sqlite3 >= $SQLITE_VERSION)
-
-    dnl ==================================
-    dnl === SQLITE_SECURE_DELETE check ===
-    dnl ==================================
-    dnl Check to see if the system SQLite package is compiled with
-    dnl SQLITE_SECURE_DELETE enabled.
-    AC_MSG_CHECKING(for SQLITE_SECURE_DELETE support in system SQLite)
-    _SAVE_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $SQLITE_CFLAGS"
-    _SAVE_LIBS="$LIBS"
-    LIBS="$LIBS $SQLITE_LIBS"
-    AC_CACHE_VAL(ac_cv_sqlite_secure_delete,[
-        AC_TRY_RUN([
-            #include "sqlite3.h"
-
-            int main(int argc, char **argv){
-              return !sqlite3_compileoption_used("SQLITE_SECURE_DELETE");
-            }],
-            ac_cv_sqlite_secure_delete=yes,
-            ac_cv_sqlite_secure_delete=no,
-            ac_cv_sqlite_secure_delete=no
-        )
-    ])
-    AC_MSG_RESULT($ac_cv_sqlite_secure_delete)
-    CFLAGS="$_SAVE_CFLAGS"
-    LIBS="$_SAVE_LIBS"
-    if test "x$ac_cv_sqlite_secure_delete" = "xno"; then
-        AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_SECURE_DELETE.])
-    fi
-
-    dnl ===============================
-    dnl === SQLITE_THREADSAFE check ===
-    dnl ===============================
-    dnl Check to see if the system SQLite package is compiled with
-    dnl SQLITE_THREADSAFE enabled.
-    AC_MSG_CHECKING(for SQLITE_THREADSAFE support in system SQLite)
-    _SAVE_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $SQLITE_CFLAGS"
-    _SAVE_LIBS="$LIBS"
-    LIBS="$LIBS $SQLITE_LIBS"
-    AC_CACHE_VAL(ac_cv_sqlite_threadsafe,[
-        AC_TRY_RUN([
-            #include "sqlite3.h"
-
-            int main(int argc, char **argv){
-              return !sqlite3_compileoption_used("SQLITE_THREADSAFE=1");
-            }],
-            ac_cv_sqlite_threadsafe=yes,
-            ac_cv_sqlite_threadsafe=no,
-            ac_cv_sqlite_threadsafe=no
-        )
-    ])
-    AC_MSG_RESULT($ac_cv_sqlite_threadsafe)
-    CFLAGS="$_SAVE_CFLAGS"
-    LIBS="$_SAVE_LIBS"
-    if test "x$ac_cv_sqlite_threadsafe" = "xno"; then
-        AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_THREADSAFE.])
-    fi
-
-    dnl ================================
-    dnl === SQLITE_ENABLE_FTS3 check ===
-    dnl ================================
-    dnl check to see if the system SQLite package is compiled with
-    dnl SQLITE_ENABLE_FTS3 enabled.
-    AC_MSG_CHECKING(for SQLITE_ENABLE_FTS3 support in system SQLite)
-    _SAVE_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $SQLITE_CFLAGS"
-    _SAVE_LIBS="$LIBS"
-    LIBS="$LIBS $SQLITE_LIBS"
-    AC_CACHE_VAL(ac_cv_sqlite_enable_fts3,[
-        AC_TRY_RUN([
-            #include "sqlite3.h"
-
-            int main(int argc, char **argv){
-              return !sqlite3_compileoption_used("SQLITE_ENABLE_FTS3");
-            }],
-            ac_cv_sqlite_enable_fts3=yes,
-            ac_cv_sqlite_enable_fts3=no,
-            ac_cv_sqlite_enable_fts3=no
-        )
-    ])
-    AC_MSG_RESULT($ac_cv_sqlite_enable_fts3)
-    CFLAGS="$_SAVE_CFLAGS"
-    LIBS="$_SAVE_LIBS"
-    if test "x$ac_cv_sqlite_enable_fts3" = "xno"; then
-        AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_ENABLE_FTS3.])
-    fi
-
-    dnl =========================================
-    dnl === SQLITE_ENABLE_UNLOCK_NOTIFY check ===
-    dnl =========================================
-    dnl check to see if the system SQLite package is compiled with
-    dnl SQLITE_ENABLE_UNLOCK_NOTIFY enabled.
-    AC_MSG_CHECKING(for SQLITE_ENABLE_UNLOCK_NOTIFY support in system SQLite)
-    _SAVE_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $SQLITE_CFLAGS"
-    _SAVE_LIBS="$LIBS"
-    LIBS="$LIBS $SQLITE_LIBS"
-    AC_CACHE_VAL(ac_cv_sqlite_enable_unlock_notify,[
-        AC_TRY_RUN([
-            #include "sqlite3.h"
-
-            int main(int argc, char **argv){
-              return !sqlite3_compileoption_used("SQLITE_ENABLE_UNLOCK_NOTIFY");
-            }],
-            ac_cv_sqlite_enable_unlock_notify=yes,
-            ac_cv_sqlite_enable_unlock_notify=no,
-            ac_cv_sqlite_enable_unlock_notify=no
-        )
-    ])
-    AC_MSG_RESULT($ac_cv_sqlite_enable_unlock_notify)
-    CFLAGS="$_SAVE_CFLAGS"
-    LIBS="$_SAVE_LIBS"
-    if test "x$ac_cv_sqlite_enable_unlock_notify" = "xno"; then
-        AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_ENABLE_UNLOCK_NOTIFY.])
-    fi
-
-    dnl =========================================
-    dnl === SQLITE_ENABLE_DBSTAT_VTAB check ===
-    dnl =========================================
-    dnl check to see if the system SQLite package is compiled with
-    dnl SQLITE_ENABLE_DBSTAT_VTAB.
-    AC_MSG_CHECKING(for SQLITE_ENABLE_DBSTAT_VTAB support in system SQLite)
-    _SAVE_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $SQLITE_CFLAGS"
-    _SAVE_LIBS="$LIBS"
-    LIBS="$LIBS $SQLITE_LIBS"
-    AC_CACHE_VAL(ac_cv_sqlite_dbstat_vtab,[
-        AC_TRY_RUN([
-            #include "sqlite3.h"
-
-            int main(int argc, char **argv){
-              return !sqlite3_compileoption_used("SQLITE_ENABLE_DBSTAT_VTAB");
-            }],
-            ac_cv_sqlite_dbstat_vtab=yes,
-            ac_cv_sqlite_dbstat_vtab=no,
-            ac_cv_sqlite_dbstat_vtab=no
-        )
-    ])
-    AC_MSG_RESULT($ac_cv_sqlite_dbstat_vtab)
-    CFLAGS="$_SAVE_CFLAGS"
-    LIBS="$_SAVE_LIBS"
-    if test "x$ac_cv_sqlite_dbstat_vtab" = "xno"; then
-        AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_ENABLE_DBSTAT_VTAB.])
-    fi
-fi
-
-if test -n "$MOZ_SYSTEM_SQLITE"; then
-    AC_DEFINE(MOZ_SYSTEM_SQLITE)
-fi
-AC_SUBST(MOZ_SYSTEM_SQLITE)
-
 dnl ========================================================
 dnl = Enable Google safe browsing (anti-phishing)
 dnl ========================================================
@@ -5548,7 +5287,6 @@ AC_SUBST(MOZ_VORBIS)
 AC_SUBST(MOZ_TREMOR)
 AC_SUBST(MOZ_FFVPX)
 AC_SUBST_LIST(FFVPX_ASFLAGS)
-AC_SUBST(MOZ_EME)
 AC_SUBST(MOZ_VPX_ERROR_CONCEALMENT)
 AC_SUBST(VPX_USE_YASM)
 AC_SUBST_LIST(VPX_ASFLAGS)
diff --git a/security/manager/ssl/nsSTSPreloadList.errors b/security/manager/ssl/nsSTSPreloadList.errors
index dc161dc7ad..26b5b67457 100644
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -1,61 +1,60 @@
 0-1.party: could not connect to host
+00004048.com: did not receive HSTS header
 0005.com: could not connect to host
 0005aa.com: could not connect to host
 0005pay.com: could not connect to host
-000a1.com: did not receive HSTS header
-000a2.com: did not receive HSTS header
-000a3.com: did not receive HSTS header
-000a5.com: did not receive HSTS header
-000a6.com: did not receive HSTS header
-000a7.com: did not receive HSTS header
-000a8.com: did not receive HSTS header
-000a9.com: did not receive HSTS header
+000a1.com: could not connect to host
+000a2.com: could not connect to host
+000a3.com: could not connect to host
+000a5.com: could not connect to host
+000a6.com: could not connect to host
+000a7.com: could not connect to host
+000a8.com: could not connect to host
+000a9.com: could not connect to host
+000b58.com: did not receive HSTS header
 000books.net: did not receive HSTS header
-000x2.com: did not receive HSTS header
-000x3.com: did not receive HSTS header
+000btt.net: did not receive HSTS header
+000x2.com: could not connect to host
+000x3.com: could not connect to host
 0010100.net: could not connect to host
+00120012.net: could not connect to host
+00140014.net: could not connect to host
 00220022.net: could not connect to host
-00228555.com: did not receive HSTS header
-00228999.com: did not receive HSTS header
-00228aa.com: did not receive HSTS header
-00228b.com: could not connect to host
-00228bb.com: could not connect to host
-00228c.com: could not connect to host
+00228555.com: could not connect to host
+00228999.com: could not connect to host
+00228aa.com: could not connect to host
+00228b.com: did not receive HSTS header
+00228bb.com: did not receive HSTS header
+00228c.com: did not receive HSTS header
 00228cc.com: did not receive HSTS header
-00228d.com: did not receive HSTS header
+00228d.com: could not connect to host
 00228dd.com: did not receive HSTS header
 00228e.com: could not connect to host
 00228ee.com: could not connect to host
 00228f.com: did not receive HSTS header
 00228g.com: could not connect to host
-00228gg.com: did not receive HSTS header
+00228gg.com: could not connect to host
 00228h.com: did not receive HSTS header
-00228hh.com: did not receive HSTS header
-00228jj.com: did not receive HSTS header
-00228k.com: did not receive HSTS header
-00228kk.com: did not receive HSTS header
-00228m.com: could not connect to host
-00228mm.com: did not receive HSTS header
-00228nn.com: could not connect to host
-00228p.com: did not receive HSTS header
+00228hh.com: could not connect to host
+00228jj.com: could not connect to host
+00228k.com: could not connect to host
+00228kk.com: could not connect to host
+00228m.com: did not receive HSTS header
+00228mm.com: could not connect to host
+00228nn.com: did not receive HSTS header
+00228p.com: could not connect to host
 00228pp.com: did not receive HSTS header
-00228q.com: could not connect to host
+00228q.com: did not receive HSTS header
 00228r.com: could not connect to host
-00228rr.com: could not connect to host
-00228s.com: did not receive HSTS header
-00228ss.com: did not receive HSTS header
+00228rr.com: did not receive HSTS header
+00228s.com: could not connect to host
+00228ss.com: could not connect to host
 00228t.com: could not connect to host
-00228tt.com: could not connect to host
-00228u.com: could not connect to host
+00228tt.com: did not receive HSTS header
+00228u.com: did not receive HSTS header
 00228v.com: could not connect to host
-00228vip1.com: could not connect to host
+00228vip1.com: did not receive HSTS header
 00228vip3.com: could not connect to host
-00228vip5.com: could not connect to host
-00228vip6.com: could not connect to host
-00228vip8.com: could not connect to host
-00228vv.com: could not connect to host
-00228w.com: could not connect to host
-00228y.com: could not connect to host
 00321365.com: could not connect to host
 00330033.net: did not receive HSTS header
 00334.vip: could not connect to host
@@ -65,16 +64,16 @@
 005555.xyz: did not receive HSTS header
 00660066.net: could not connect to host
 007-preisvergleich.de: did not receive HSTS header
-00778899.com: could not connect to host
+00770077.net: could not connect to host
+00778899.com: did not receive HSTS header
 007kf.com: could not connect to host
 007sascha.de: did not receive HSTS header
-0086286.com: did not receive HSTS header
 00880088.net: could not connect to host
 008yingshi.com: could not connect to host
 009p.com: could not connect to host
 009zl.com: could not connect to host
 00b58.com: could not connect to host
-00rfb.com: did not receive HSTS header
+00rfb.com: could not connect to host
 00wbf.com: could not connect to host
 01-edu.org: did not receive HSTS header
 0100dev.com: did not receive HSTS header
@@ -83,15 +82,16 @@
 010888a.com: could not connect to host
 01100010011001010111001101110100.com: could not connect to host
 011zl.com: could not connect to host
+01234048.com: did not receive HSTS header
+012345678365.com: could not connect to host
 012zl.com: could not connect to host
 013028.com: did not receive HSTS header
-0138365.com: could not connect to host
-0139365.com: could not connect to host
 016028.com: did not receive HSTS header
 016098.com: did not receive HSTS header
 016298.com: did not receive HSTS header
 016328.com: did not receive HSTS header
 018663.com: could not connect to host
+018k8.com: did not receive HSTS header
 018zl.com: could not connect to host
 019328.com: could not connect to host
 019398.com: did not receive HSTS header
@@ -99,15 +99,14 @@
 01media.fr: did not receive HSTS header
 01seguridad.com.ar: did not receive HSTS header
 01smh.com: could not connect to host
+01tools.com: did not receive HSTS header
 0205wc.com: max-age too low: 0
 020wifi.nl: could not connect to host
-021002.com: could not connect to host
 0222.mg: could not connect to host
 0222aa.com: could not connect to host
 022561.com: could not connect to host
 023838.com: could not connect to host
 023sec.com: could not connect to host
-025ks.com: could not connect to host
 02607.com: could not connect to host
 028718.com: did not receive HSTS header
 029978.com: could not connect to host
@@ -116,8 +115,10 @@
 02smh.com: could not connect to host
 03-09-2016.wedding: could not connect to host
 0311buy.cn: could not connect to host
+0311z6.com: could not connect to host
 031373.com: could not connect to host
 035711630.xyz: could not connect to host
+0376z6.com: could not connect to host
 0380l.com: max-age too low: 0
 038663.com: could not connect to host
 0391315.com: could not connect to host
@@ -126,25 +127,30 @@
 040fit.nl: did not receive HSTS header
 040fitvitality.nl: did not receive HSTS header
 048.ag: could not connect to host
+04911701.cn: could not connect to host
 04dco.tk: could not connect to host
 04sun.com: could not connect to host
 050.ca: could not connect to host
 050.tv: did not receive HSTS header
 050508.com: could not connect to host
-050a1.com: did not receive HSTS header
-050a2.com: did not receive HSTS header
-050a3.com: did not receive HSTS header
-050a4.com: did not receive HSTS header
-050a5.com: did not receive HSTS header
-050a6.com: did not receive HSTS header
+050a1.com: could not connect to host
+050a2.com: could not connect to host
+050a3.com: could not connect to host
+050a4.com: could not connect to host
+050a5.com: could not connect to host
+050a6.com: could not connect to host
 0513c.com: did not receive HSTS header
+0517z6.com: could not connect to host
 0531009.com: max-age too low: 0
+0533z6.com: could not connect to host
+0538z6.com: could not connect to host
 055268.com: did not receive HSTS header
 056657.com: could not connect to host
 056679.com: could not connect to host
 0571z6.com: did not receive HSTS header
+0597z6.com: could not connect to host
 059957.com: could not connect to host
-060258.com: could not connect to host
+05am8.com: could not connect to host
 060579.com: could not connect to host
 060757.com: could not connect to host
 060796.com: could not connect to host
@@ -155,14 +161,37 @@
 066928.com: did not receive HSTS header
 066938.com: could not connect to host
 0681a.com: could not connect to host
+0681b.com: did not receive HSTS header
+0681c.com: did not receive HSTS header
+0681d.com: did not receive HSTS header
+0681e.com: did not receive HSTS header
+0681f.com: did not receive HSTS header
+0681g.com: did not receive HSTS header
 0681h.com: could not connect to host
+0681i.com: did not receive HSTS header
+0681j.com: did not receive HSTS header
 0681k.com: could not connect to host
+0681l.com: did not receive HSTS header
+0681m.com: did not receive HSTS header
 0681n.com: could not connect to host
+0681o.com: did not receive HSTS header
+0681p.com: did not receive HSTS header
+0681q.com: did not receive HSTS header
+0681s.com: did not receive HSTS header
+0681t.com: did not receive HSTS header
+0681u.com: did not receive HSTS header
+0681w.com: did not receive HSTS header
+0681x.com: did not receive HSTS header
+0681y.com: did not receive HSTS header
+0681z.com: did not receive HSTS header
+068663.com: could not connect to host
 069657.com: did not receive HSTS header
 069676.com: did not receive HSTS header
 070709.net: could not connect to host
+0717z6.com: could not connect to host
+0737399.com: did not receive HSTS header
+0771z6.com: could not connect to host
 07733.win: could not connect to host
-077768.net: could not connect to host
 078663.com: could not connect to host
 078805.com: did not receive HSTS header
 078810.com: did not receive HSTS header
@@ -170,18 +199,31 @@
 078860.com: did not receive HSTS header
 078890.com: could not connect to host
 0788yh.com: could not connect to host
-07stars.com: did not receive HSTS header
-080261.com: did not receive HSTS header
+079606.com: did not receive HSTS header
+079607.com: did not receive HSTS header
+07stars.com: could not connect to host
+080261.com: could not connect to host
 0809yh.com: could not connect to host
 081638.com: did not receive HSTS header
 085806.com: could not connect to host
 086628.com: could not connect to host
 086807.com: did not receive HSTS header
 086907.com: could not connect to host
-087010.com: could not connect to host
 087059.com: did not receive HSTS header
+08817a.com: did not receive HSTS header
+08817c.com: did not receive HSTS header
+08817d.com: did not receive HSTS header
+08817e.com: did not receive HSTS header
+08817f.com: did not receive HSTS header
+08817g.com: did not receive HSTS header
+08817h.com: did not receive HSTS header
+08817j.com: did not receive HSTS header
+08817k.com: did not receive HSTS header
+08817m.com: did not receive HSTS header
+08817w.com: did not receive HSTS header
+08817y.com: did not receive HSTS header
+08817z.com: did not receive HSTS header
 089818.com: could not connect to host
-08am8.com: could not connect to host
 08detaxe.fr: could not connect to host
 09115.com: did not receive HSTS header
 0916app.com: did not receive HSTS header
@@ -194,14 +236,15 @@
 0cdn.ga: could not connect to host
 0d111.com: could not connect to host
 0d222.com: did not receive HSTS header
-0d333.com: could not connect to host
-0d444.com: could not connect to host
+0d333.com: did not receive HSTS header
+0d444.com: did not receive HSTS header
 0d555.com: did not receive HSTS header
 0d666.com: did not receive HSTS header
 0d777.com: did not receive HSTS header
 0d888.com: did not receive HSTS header
 0d999.com: did not receive HSTS header
 0day.su: could not connect to host
+0de3.com: did not receive HSTS header
 0f.io: could not connect to host
 0fl.com: did not receive HSTS header
 0g.org.uk: could not connect to host
@@ -210,21 +253,21 @@
 0o0.ooo: could not connect to host
 0p.no: did not receive HSTS header
 0vi.org: could not connect to host
-0vo.moe: could not connect to host
 0w0.vc: could not connect to host
+0x.cx: could not connect to host
 0x0.cloud: could not connect to host
-0x0a.net: could not connect to host
 0x1337.eu: could not connect to host
-0x3bb.net: could not connect to host
-0x44.net: did not receive HSTS header
+0x44.net: could not connect to host
 0x48.pw: did not receive HSTS header
 0x4b0c131e.pub: could not connect to host
 0x52.org: could not connect to host
 0x539.be: did not receive HSTS header
 0x539.pw: could not connect to host
 0x5f3759df.cf: could not connect to host
-0x65.net: did not receive HSTS header
+0x65.net: could not connect to host
+0x80.org: could not connect to host
 0x90.fi: could not connect to host
+0x90.in: could not connect to host
 0xa.in: could not connect to host
 0xaa55.me: could not connect to host
 0xacab.org: did not receive HSTS header
@@ -232,6 +275,7 @@
 0xcafec0.de: did not receive HSTS header
 0xee.eu: could not connect to host
 0yen.org: could not connect to host
+1-345.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 1.0.0.1: max-age too low: 0
 100086ll.com: max-age too low: 0
 1000hats.com: did not receive HSTS header
@@ -244,11 +288,12 @@
 10086.nl: could not connect to host
 100and1.jp: did not receive HSTS header
 100onrainkajino.com: could not connect to host
-100pudov.tk: could not connect to host
+100pudov.tk: did not receive HSTS header
 100rembourse.be: did not receive HSTS header
 1017scribes.com: could not connect to host
 1018hosting.nl: did not receive HSTS header
 1022996493.rsc.cdn77.org: could not connect to host
+102ch.us: could not connect to host
 10365001.com: could not connect to host
 10365002.com: could not connect to host
 10365003.com: could not connect to host
@@ -268,24 +313,30 @@
 10365h.com: could not connect to host
 10414.org: could not connect to host
 1049578.com: max-age too low: 0
+105318.com: could not connect to host
 1066.io: did not receive HSTS header
 1068511.com: could not connect to host
 1080.com: did not receive HSTS header
-1091.jp: could not connect to host
-10gb.io: could not connect to host
-10giant.com: could not connect to host
+10gb.io: did not receive HSTS header
+10gbit.ovh: could not connect to host
+10giant.com: did not receive HSTS header
 10n13.com: could not connect to host
-10og.de: could not connect to host
 10seos.com: did not receive HSTS header
 10tacle.io: could not connect to host
-10v2.com: did not receive HSTS header
+10v2.com: could not connect to host
 10x.ooo: could not connect to host
 10xiuxiu.com: could not connect to host
 1100.so: could not connect to host
 11018vip.com: could not connect to host
+11018xpj.com: could not connect to host
+110320.com: did not receive HSTS header
 110692.com: could not connect to host
+111.one: could not connect to host
+1111k8.com: could not connect to host
 1116pay.com: did not receive HSTS header
 1119968.com: did not receive HSTS header
+111b58.com: did not receive HSTS header
+111plus.design: max-age too low: 7776000
 1120313.com: could not connect to host
 1120327.com: could not connect to host
 1120328.com: could not connect to host
@@ -309,15 +360,31 @@
 1120349.com: could not connect to host
 1120350.com: could not connect to host
 11221jz.com: could not connect to host
+11223837.com: did not receive HSTS header
 1126p.com: could not connect to host
 1130p.com: could not connect to host
-11321365.com: could not connect to host
+11333837.com: did not receive HSTS header
+11335835.com: could not connect to host
+11443837.com: could not connect to host
+11445835.com: did not receive HSTS header
+11553837.com: could not connect to host
+11555835.com: did not receive HSTS header
+11663837.com: did not receive HSTS header
+11665835.com: did not receive HSTS header
 1177107.com: could not connect to host
+11773837.com: could not connect to host
+11775835.com: did not receive HSTS header
+11883837.com: did not receive HSTS header
+11885835.com: did not receive HSTS header
+11993837.com: did not receive HSTS header
+11995835.com: did not receive HSTS header
+11assets.com: could not connect to host
 11b58.com: could not connect to host
-11bt.cc: did not receive HSTS header
+11bt.cc: could not connect to host
 11dzon.com: could not connect to host
 11recruitment.com.au: max-age too low: 0
 11scc.com: could not connect to host
+120323.com: could not connect to host
 120dayweightloss.com: could not connect to host
 1220301.com: could not connect to host
 1220302.com: could not connect to host
@@ -372,12 +439,14 @@
 1231212.com: could not connect to host
 123123q.com: could not connect to host
 123123qq.com: could not connect to host
-123666365.com: did not receive HSTS header
+12344048.com: did not receive HSTS header
+123comparer.fr: did not receive HSTS header
 123derivatives.com: did not receive HSTS header
-123djdrop.com: did not receive HSTS header
 123movies.fyi: could not connect to host
+123nutricion.es: could not connect to host
 123pay.ir: did not receive HSTS header
 123plons.nl: could not connect to host
+123pornmovies.club: could not connect to host
 123share.org: could not connect to host
 123test.com: did not receive HSTS header
 123test.de: did not receive HSTS header
@@ -385,8 +454,13 @@
 123test.fr: did not receive HSTS header
 123test.nl: did not receive HSTS header
 1265353.com: max-age too low: 0
+126772.com: did not receive HSTS header
 126ium.moe: could not connect to host
 127011-networks.ch: could not connect to host
+127661.com: could not connect to host
+127662.com: did not receive HSTS header
+127663.com: did not receive HSTS header
+127665.com: did not receive HSTS header
 1288366.com: could not connect to host
 1288fc.com: could not connect to host
 12gotovo.com: did not receive HSTS header
@@ -394,20 +468,29 @@
 12photos.eu: could not connect to host
 12vpn.org: could not connect to host
 12vpnchina.com: could not connect to host
+13-th.com: did not receive HSTS header
+130032.com: did not receive HSTS header
+130212.com: did not receive HSTS header
+130232.com: did not receive HSTS header
 130497.xyz: did not receive HSTS header
 130978.com: did not receive HSTS header
 131365qq.com: could not connect to host
+132302.com: did not receive HSTS header
 1325390854.com: max-age too low: 0
 13318522.com: could not connect to host
-133846.xyz: did not receive HSTS header
+1337.vg: could not connect to host
 135vv.com: could not connect to host
 136774.com: could not connect to host
+136924.com: did not receive HSTS header
 13826145000.com: could not connect to host
 13866670.com: max-age too low: 0
 1396.cc: could not connect to host
 1396.net: did not receive HSTS header
 13982407454.com: max-age too low: 0
+13th-dover.uk: could not connect to host
 1406304513.com: max-age too low: 0
+14159.gb.net: could not connect to host
+143918.com: did not receive HSTS header
 1441805971.com: max-age too low: 0
 1481486.net: could not connect to host
 148663.com: could not connect to host
@@ -432,7 +515,9 @@
 1527web.com: could not connect to host
 1536.cf: could not connect to host
 158306.com: did not receive HSTS header
+161263.com: could not connect to host
 16164f.com: could not connect to host
+162361.com: could not connect to host
 162632.com: could not connect to host
 163pwd.com: could not connect to host
 166166.com: could not connect to host
@@ -441,7 +526,7 @@
 168bet9.com: could not connect to host
 168esb.com: could not connect to host
 168wcw.com: max-age too low: 0
-169xpj.com: could not connect to host
+168zz.cc: could not connect to host
 16book.org: could not connect to host
 16deza.com: did not receive HSTS header
 16qw.tk: could not connect to host
@@ -449,11 +534,13 @@
 17187q.com: could not connect to host
 1720303.com: could not connect to host
 1720336.com: could not connect to host
+173jsh.com: did not receive HSTS header
 173vpn.cn: could not connect to host
 173vpns.com: could not connect to host
 173vpnv.com: could not connect to host
 174.net.nz: could not connect to host
 174343.com: could not connect to host
+178jsh.com: did not receive HSTS header
 17hats.com: did not receive HSTS header
 1820317.com: could not connect to host
 1820325.com: could not connect to host
@@ -480,23 +567,24 @@
 1820347.com: could not connect to host
 1820348.com: could not connect to host
 182wh.com: could not connect to host
+182z6.com: could not connect to host
 1834202695.com: max-age too low: 0
 18680288.com: max-age too low: 0
-188198.net: could not connect to host
+188198.net: did not receive HSTS header
 188522.com: did not receive HSTS header
 18858586888.com: max-age too low: 0
 18888msc.com: could not connect to host
 1888zr.com: did not receive HSTS header
 1889p.com: could not connect to host
 188betwarriors.co.uk: could not connect to host
+188da.com: could not connect to host
 188trafalgar.ca: could not connect to host
-1890p.com: did not receive HSTS header
-1895media.com: did not receive HSTS header
+1890p.com: could not connect to host
+1895media.com: could not connect to host
 189dv.com: could not connect to host
 189fc.com: could not connect to host
 18celebration.com: did not receive HSTS header
 18celebration.org: did not receive HSTS header
-191090.com: could not connect to host
 1912x.com: could not connect to host
 1918173197.com: max-age too low: 0
 192.io: could not connect to host
@@ -509,19 +597,16 @@
 197jjj.com: did not receive HSTS header
 198752qq.com: max-age too low: 0
 198jjj.com: did not receive HSTS header
-19990ff.com: could not connect to host
-19990ii.com: could not connect to host
 19990kk.com: could not connect to host
-19990uu.com: could not connect to host
-19990xx.com: could not connect to host
 19area.cn: could not connect to host
 1a-jva.de: could not connect to host
 1a-vermessung.at: did not receive HSTS header
+1abcicka.ru: could not connect to host
 1aim.com: did not receive HSTS header
 1atic.com: could not connect to host
+1b1.pl: could not connect to host
 1co-jp.net: did not receive HSTS header
 1cover.com: did not receive HSTS header
-1cswd.com: did not receive HSTS header
 1day1ac.red: could not connect to host
 1db77.cn: did not receive HSTS header
 1er-secours.ch: could not connect to host
@@ -536,11 +621,11 @@
 1lc33.com: did not receive HSTS header
 1lc44.com: did not receive HSTS header
 1lc55.com: did not receive HSTS header
-1m.duckdns.org: could not connect to host
+1nfr.com: did not receive HSTS header
 1nian.vip: could not connect to host
+1onehouse.com: could not connect to host
 1para.net: could not connect to host
 1plus-agency.com: did not receive HSTS header
-1px.tv: did not receive HSTS header
 1q2w.nl: could not connect to host
 1q365a.com: could not connect to host
 1s.tn: could not connect to host
@@ -552,11 +637,12 @@
 1three1.net: did not receive HSTS header
 1u0m.com: could not connect to host
 1upinternet.com: could not connect to host
+1v1.xyz: could not connect to host
+1v9.im: could not connect to host
 1volcano.ru: could not connect to host
 1xcess.com: did not receive HSTS header
 1years.cc: could not connect to host
 2-cpu.de: could not connect to host
-2000.is: could not connect to host
 20000615.com: max-age too low: 0
 2001617.com: max-age too low: 0
 200201.xyz: could not connect to host
@@ -568,15 +654,17 @@
 2018j95.com: could not connect to host
 20190204.com: max-age too low: 0
 20190508.com: max-age too low: 0
-20191r.com: could not connect to host
+20191r.com: did not receive HSTS header
 2019318.com: max-age too low: 0
 2019j95.com: could not connect to host
+2019k8.com: could not connect to host
 2020j95.com: could not connect to host
 2021j95.com: could not connect to host
 2022j95.com: could not connect to host
 2023j95.com: could not connect to host
 2024j95.com: could not connect to host
 2025j95.com: could not connect to host
+2026j95.com: could not connect to host
 2030404.com: could not connect to host
 2030411.com: could not connect to host
 2033002.com: did not receive HSTS header
@@ -618,14 +706,14 @@
 2048game.co.uk: could not connect to host
 206rc.net: max-age too low: 2592000
 208.es: did not receive HSTS header
-2083236893.com: could not connect to host
+208wns.com: did not receive HSTS header
 20hs.cn: could not connect to host
 20n13.com: could not connect to host
 20zq.com: could not connect to host
 21.co.uk: did not receive HSTS header
 2112323.com: max-age too low: 0
-219k8.com: did not receive HSTS header
 21lg.co: could not connect to host
+21sthammersmith.org.uk: did not receive HSTS header
 21stnc.com: did not receive HSTS header
 220control.ru: could not connect to host
 222001.com: could not connect to host
@@ -633,12 +721,17 @@
 2222yh.com: did not receive HSTS header
 222321365.com: could not connect to host
 2226321.com: could not connect to host
+222b58.com: did not receive HSTS header
 22321365.com: could not connect to host
-22884c.com: could not connect to host
-22884d.com: could not connect to host
-22884f.com: could not connect to host
+2264707.ru: did not receive HSTS header
+2288422.com: could not connect to host
+2288499.com: could not connect to host
+22994.org: could not connect to host
 2299411.com: could not connect to host
 2299422.com: could not connect to host
+2299433.com: could not connect to host
+2299455.com: could not connect to host
+2299466.com: could not connect to host
 2299477.com: could not connect to host
 2299488.com: could not connect to host
 22b58.com: could not connect to host
@@ -646,7 +739,6 @@
 22d.io: could not connect to host
 22digital.agency: could not connect to host
 22scc.com: could not connect to host
-22txc.com: could not connect to host
 22vetter.st: could not connect to host
 230110.com: could not connect to host
 232192.com: could not connect to host
@@ -656,11 +748,11 @@
 233abc.com: could not connect to host
 233bwg.com: could not connect to host
 233hugo.com: could not connect to host
+233now.com: could not connect to host
+233yes.com: could not connect to host
 23454048.com: could not connect to host
-234666365.com: could not connect to host
 235998.com: could not connect to host
-23lhb.com: did not receive HSTS header
-242712.com: could not connect to host
+242712.com: did not receive HSTS header
 246773.com: could not connect to host
 2468lhc.com: could not connect to host
 24796559.com: max-age too low: 0
@@ -679,12 +771,11 @@
 24kbet.com: could not connect to host
 24pcr.com: could not connect to host
 24sihu.com: could not connect to host
-2566335.xyz: did not receive HSTS header
+2566335.xyz: could not connect to host
 2569abc.com: max-age too low: 0
 256k.me: could not connect to host
 258da.com: did not receive HSTS header
 25daysof.io: could not connect to host
-25percent.me: could not connect to host
 26004.cc: could not connect to host
 260842907.com: max-age too low: 0
 2686288.com: max-age too low: 0
@@ -692,6 +783,27 @@
 2712aa.com: did not receive HSTS header
 276771.com: could not connect to host
 27728522.com: could not connect to host
+27878.com: did not receive HSTS header
+27878dd.com: did not receive HSTS header
+27878gg.com: did not receive HSTS header
+27878hh.com: did not receive HSTS header
+27878ii.com: did not receive HSTS header
+27878jj.com: did not receive HSTS header
+27878ll.com: did not receive HSTS header
+27878nn.com: did not receive HSTS header
+27878oo.com: did not receive HSTS header
+27878pp.com: did not receive HSTS header
+27878qq.com: did not receive HSTS header
+27878rr.com: did not receive HSTS header
+27878ss.com: did not receive HSTS header
+27878tt.com: did not receive HSTS header
+27878vv.com: did not receive HSTS header
+27878ww.com: did not receive HSTS header
+27878xx.com: did not receive HSTS header
+27878yy.com: did not receive HSTS header
+27878zz.com: did not receive HSTS header
+27is.com: could not connect to host
+284365.com: did not receive HSTS header
 2859cc.com: could not connect to host
 286.com: did not receive HSTS header
 288da.com: did not receive HSTS header
@@ -700,6 +812,7 @@
 297computers.com: could not connect to host
 298da.com: did not receive HSTS header
 2acbi-asso.fr: did not receive HSTS header
+2ag88.com: could not connect to host
 2b3b.com: could not connect to host
 2bad2c0.de: did not receive HSTS header
 2bitout.com: could not connect to host
@@ -708,7 +821,10 @@
 2bouncy.com: could not connect to host
 2brokegirls.org: could not connect to host
 2carpros.com: did not receive HSTS header
+2dua.com: did not receive HSTS header
 2fl.me: did not receive HSTS header
+2fm.radio: could not connect to host
+2fr3.com: could not connect to host
 2g1s.net: could not connect to host
 2intermediate.co.uk: could not connect to host
 2kvn.cf: could not connect to host
@@ -717,14 +833,14 @@
 2smart4food.com: could not connect to host
 2ss.jp: could not connect to host
 2tuu.com: could not connect to host
-3-800.com: could not connect to host
 3002712.com: did not receive HSTS header
 300651.ru: did not receive HSTS header
 300mbmovie24.com: could not connect to host
 300mbmovies4u.cc: could not connect to host
 301.website: did not receive HSTS header
 302.nyc: could not connect to host
-30365.vip: did not receive HSTS header
+303112.com: did not receive HSTS header
+3033888.com: could not connect to host
 30375500.com: could not connect to host
 30375522.com: could not connect to host
 30375533.com: could not connect to host
@@ -732,19 +848,71 @@
 30375577.com: did not receive HSTS header
 30375588.com: could not connect to host
 30375599.com: could not connect to host
-304squadron.org: did not receive HSTS header
+304squadron.org: could not connect to host
 3054056550.com: max-age too low: 0
+308xpj.com: could not connect to host
 308xsj.com: max-age too low: 0
-30hzcollective.com: could not connect to host
 30n13.com: could not connect to host
 30yearmortgagerates.net: did not receive HSTS header
 3133780x.com: did not receive HSTS header
+313xpj.com: could not connect to host
 314166.com: could not connect to host
 314553.com: could not connect to host
 315422.com: could not connect to host
+315xpj.com: could not connect to host
+317811111.com: did not receive HSTS header
+31782222.com: did not receive HSTS header
+317822222.com: did not receive HSTS header
+31783333.com: did not receive HSTS header
+317833333.com: did not receive HSTS header
+31784444.com: did not receive HSTS header
+317844444.com: did not receive HSTS header
+317855555.com: did not receive HSTS header
+31786666.com: did not receive HSTS header
+317866666.com: did not receive HSTS header
+3178666666.com: did not receive HSTS header
+317877777.com: did not receive HSTS header
+3178888888.com: did not receive HSTS header
+31789999.com: did not receive HSTS header
+317899999.com: did not receive HSTS header
 3178aaa.com: could not connect to host
+3178b.com: did not receive HSTS header
+3178bbb.com: did not receive HSTS header
+3178c.com: did not receive HSTS header
+3178ccc.com: did not receive HSTS header
+3178dd.com: did not receive HSTS header
+3178ddd.com: did not receive HSTS header
+3178e.com: did not receive HSTS header
 3178eee.com: could not connect to host
+3178f.com: did not receive HSTS header
 3178fff.com: could not connect to host
+3178g.com: did not receive HSTS header
+3178h.com: did not receive HSTS header
+3178i.com: did not receive HSTS header
+3178iii.com: did not receive HSTS header
+3178j.com: did not receive HSTS header
+3178jjj.com: did not receive HSTS header
+3178l.com: did not receive HSTS header
+3178m.com: did not receive HSTS header
+3178n.com: did not receive HSTS header
+3178o.com: did not receive HSTS header
+3178p.com: did not receive HSTS header
+3178ppp.com: did not receive HSTS header
+3178qqq.com: did not receive HSTS header
+3178rrr.com: did not receive HSTS header
+3178tt.com: did not receive HSTS header
+3178ttt.com: did not receive HSTS header
+3178uuu.com: did not receive HSTS header
+3178vvv.com: did not receive HSTS header
+3178ww.com: did not receive HSTS header
+3178www.com: did not receive HSTS header
+3178xx.com: did not receive HSTS header
+3178xxx.com: did not receive HSTS header
+3178yy.com: did not receive HSTS header
+3178yyy.com: did not receive HSTS header
+3178zzz.com: did not receive HSTS header
+317jsh.com: did not receive HSTS header
+318jsh.com: did not receive HSTS header
 319k3.com: could not connect to host
 31tv.ru: did not receive HSTS header
 321666365.com: could not connect to host
@@ -752,9 +920,20 @@
 33-km.ru: could not connect to host
 330.net: did not receive HSTS header
 3311.com.cn: could not connect to host
+33123000.com: did not receive HSTS header
+33123111.com: did not receive HSTS header
+33123222.com: did not receive HSTS header
+33123333.com: did not receive HSTS header
+33123444.com: did not receive HSTS header
+33123555.com: did not receive HSTS header
+33123666.com: did not receive HSTS header
+33123777.com: did not receive HSTS header
+33123888.com: did not receive HSTS header
+33123999.com: did not receive HSTS header
 33321365.com: could not connect to host
+3332444.com: did not receive HSTS header
 3333yh.com: did not receive HSTS header
-33445.com: could not connect to host
+333b58.com: did not receive HSTS header
 33445111.com: could not connect to host
 33445222.com: could not connect to host
 33445333.com: could not connect to host
@@ -764,22 +943,23 @@
 336yh.com: could not connect to host
 33836.com: could not connect to host
 338da.com: could not connect to host
+33b58.com: could not connect to host
 33drugstore.com: could not connect to host
 33n13.com: could not connect to host
 33scc.com: could not connect to host
 341.mg: could not connect to host
 345666365.com: could not connect to host
+3456789365.com: could not connect to host
 347552.com: could not connect to host
 348663.com: could not connect to host
 34oztonic.eu: did not receive HSTS header
 351079.com: could not connect to host
-351365.com: could not connect to host
 354133.com: could not connect to host
 3555500.com: could not connect to host
 3555aa.com: could not connect to host
 357601.com: could not connect to host
 35792.de: could not connect to host
-35898a.com: could not connect to host
+35898a.com: did not receive HSTS header
 35898b.com: did not receive HSTS header
 35898c.com: did not receive HSTS header
 35898d.com: did not receive HSTS header
@@ -797,6 +977,7 @@
 35898z.com: did not receive HSTS header
 35d88.com: could not connect to host
 360008888.com: max-age too low: 0
+360365.com: did not receive HSTS header
 360gradus.com: did not receive HSTS header
 360videoshare.com: could not connect to host
 360woodworking.com: could not connect to host
@@ -818,10 +999,16 @@
 36506555.com: could not connect to host
 36506777.com: could not connect to host
 36506999.com: could not connect to host
-3655612.com: did not receive HSTS header
-3655623.com: did not receive HSTS header
-3655634.com: did not receive HSTS header
-3655645.com: did not receive HSTS header
+3651143.com: did not receive HSTS header
+3651145.com: did not receive HSTS header
+3651146.com: did not receive HSTS header
+3651147.com: did not receive HSTS header
+3651149.com: did not receive HSTS header
+3651201.com: did not receive HSTS header
+3651202.com: did not receive HSTS header
+3651203.com: did not receive HSTS header
+3651204.com: did not receive HSTS header
+3651205.com: did not receive HSTS header
 36565123.com: could not connect to host
 36565234.com: could not connect to host
 36565345.com: could not connect to host
@@ -830,63 +1017,58 @@
 36565678.com: could not connect to host
 36565789.com: could not connect to host
 36565b.com: could not connect to host
-3656701.com: did not receive HSTS header
-3656712.com: did not receive HSTS header
-3656723.com: did not receive HSTS header
-3656734.com: did not receive HSTS header
-3656745.com: did not receive HSTS header
-3656778.com: did not receive HSTS header
 36587654321.com: could not connect to host
-3658880000.com: did not receive HSTS header
-365888001.com: did not receive HSTS header
-365888002.com: did not receive HSTS header
-365888003.com: did not receive HSTS header
-365888004.com: did not receive HSTS header
-365888005.com: did not receive HSTS header
-365888006.com: did not receive HSTS header
-365888007.com: did not receive HSTS header
-365888008.com: did not receive HSTS header
-365888009.com: did not receive HSTS header
-36588801.com: did not receive HSTS header
-365888012.com: did not receive HSTS header
-3658880123.com: did not receive HSTS header
+3658880000.com: could not connect to host
+365888001.com: could not connect to host
+365888002.com: could not connect to host
+365888003.com: could not connect to host
+365888004.com: could not connect to host
+365888005.com: could not connect to host
+365888006.com: could not connect to host
+365888007.com: could not connect to host
+365888008.com: could not connect to host
+365888009.com: could not connect to host
+36588801.com: could not connect to host
+365888012.com: could not connect to host
+3658880123.com: could not connect to host
 3658881111.com: could not connect to host
-36588812.com: did not receive HSTS header
-365888123.com: did not receive HSTS header
+36588812.com: could not connect to host
+365888123.com: could not connect to host
 3658881234.com: could not connect to host
 3658882222.com: could not connect to host
-36588823.com: did not receive HSTS header
-365888234.com: did not receive HSTS header
-3658882345.com: did not receive HSTS header
-3658883333.com: did not receive HSTS header
-36588834.com: did not receive HSTS header
-365888345.com: did not receive HSTS header
-3658883456.com: did not receive HSTS header
-3658884444.com: did not receive HSTS header
-36588845.com: did not receive HSTS header
-365888456.com: did not receive HSTS header
-3658884567.com: did not receive HSTS header
-3658885555.com: did not receive HSTS header
-36588856.com: did not receive HSTS header
-365888567.com: did not receive HSTS header
-3658885678.com: did not receive HSTS header
-3658886666.com: did not receive HSTS header
-36588867.com: did not receive HSTS header
-365888678.com: did not receive HSTS header
+36588823.com: could not connect to host
+365888234.com: could not connect to host
+3658882345.com: could not connect to host
+3658883333.com: could not connect to host
+36588834.com: could not connect to host
+365888345.com: could not connect to host
+3658883456.com: could not connect to host
+3658884444.com: could not connect to host
+36588845.com: could not connect to host
+365888456.com: could not connect to host
+3658884567.com: could not connect to host
+3658885555.com: could not connect to host
+36588856.com: could not connect to host
+365888567.com: could not connect to host
+3658885678.com: could not connect to host
+3658886666.com: could not connect to host
+36588867.com: could not connect to host
+365888678.com: could not connect to host
 3658886789.com: could not connect to host
-36588878.com: did not receive HSTS header
-365888789.com: did not receive HSTS header
-3658888888.com: did not receive HSTS header
-36588889.com: did not receive HSTS header
-365888890.com: did not receive HSTS header
+36588878.com: could not connect to host
+365888789.com: could not connect to host
+3658888888.com: could not connect to host
+36588889.com: could not connect to host
+365888890.com: could not connect to host
 36588890.com: could not connect to host
-3658889999.com: did not receive HSTS header
-365888dd.com: did not receive HSTS header
-365888ddd.com: did not receive HSTS header
-365888dddd.com: did not receive HSTS header
+3658889999.com: could not connect to host
+365888dd.com: could not connect to host
+365888ddd.com: could not connect to host
+365888dddd.com: could not connect to host
 36594.com: did not receive HSTS header
-3659867.com: did not receive HSTS header
+3659867.com: could not connect to host
 3659980.com: could not connect to host
+365b58.com: did not receive HSTS header
 365beautyworld.com: could not connect to host
 365healthworld.com: could not connect to host
 365maya.com: did not receive HSTS header
@@ -904,17 +1086,22 @@
 365q13.com: did not receive HSTS header
 365q14.com: did not receive HSTS header
 365q15.com: did not receive HSTS header
-365zg.vip: did not receive HSTS header
+365securitymg.com: did not receive HSTS header
+365zg.vip: could not connect to host
 3666ks.com: could not connect to host
-368mibn.com: did not receive HSTS header
-369-7.com: could not connect to host
+368mibn.com: could not connect to host
 369018.com: did not receive HSTS header
 369028.com: did not receive HSTS header
+373.moe: did not receive HSTS header
+376208.com: did not receive HSTS header
 377817.com: could not connect to host
 3778vip.com: did not receive HSTS header
 3778xl.com: could not connect to host
 37879.com: max-age too low: 0
-37987a.com: could not connect to host
+379700.com: could not connect to host
+3798.com: did not receive HSTS header
+3798.vip: did not receive HSTS header
+37987c.com: could not connect to host
 380021868.com: max-age too low: 0
 380111000.com: could not connect to host
 380111111.com: did not receive HSTS header
@@ -953,30 +1140,34 @@
 3809944.com: max-age too low: 0
 380zz8989.com: max-age too low: 0
 38138938.com: could not connect to host
-3837b.com: could not connect to host
-3837c.com: could not connect to host
+3837a.com: could not connect to host
+3837app.com: did not receive HSTS header
+3837app3837app.com: could not connect to host
+3837app3837app3837app.com: did not receive HSTS header
+3837b.com: did not receive HSTS header
+3837c.com: did not receive HSTS header
 3837d.com: could not connect to host
-3837e.com: could not connect to host
+3837e.com: did not receive HSTS header
 3837g.com: could not connect to host
-3837h.com: could not connect to host
+3837h.com: did not receive HSTS header
 3837i.com: could not connect to host
-3837j.com: could not connect to host
-3837k.com: could not connect to host
+3837j.com: did not receive HSTS header
+3837k.com: did not receive HSTS header
 3837l.com: could not connect to host
 3837m.com: could not connect to host
-3837n.com: could not connect to host
-3837o.com: could not connect to host
-3837p.com: could not connect to host
-3837q.com: could not connect to host
+3837n.com: did not receive HSTS header
+3837o.com: did not receive HSTS header
+3837p.com: did not receive HSTS header
+3837q.com: did not receive HSTS header
 3837r.com: could not connect to host
 3837s.com: could not connect to host
-3837t.com: could not connect to host
+3837t.com: did not receive HSTS header
 3837u.com: could not connect to host
-3837v.com: could not connect to host
-3837w.com: could not connect to host
-3837x.com: could not connect to host
+3837v.com: did not receive HSTS header
+3837w.com: did not receive HSTS header
+3837x.com: did not receive HSTS header
 3837y.com: could not connect to host
-3837z.com: could not connect to host
+3837z.com: did not receive HSTS header
 3838onndo.tk: could not connect to host
 3839.ca: could not connect to host
 3880p.com: could not connect to host
@@ -986,10 +1177,10 @@
 393335.ml: did not receive HSTS header
 394553.com: could not connect to host
 3957b.com: could not connect to host
-3957c.com: could not connect to host
 3957d.com: could not connect to host
 3957f.com: could not connect to host
 3957g.com: could not connect to host
+396228.com: could not connect to host
 3963aa.com: could not connect to host
 39661463.com: max-age too low: 0
 3970100.com: could not connect to host
@@ -1002,23 +1193,30 @@
 3970800.com: could not connect to host
 39708888.com: could not connect to host
 3970900.com: could not connect to host
+3970abc.com: did not receive HSTS header
+3970bc.com: did not receive HSTS header
+3970ccc.com: did not receive HSTS header
+3970fa.com: did not receive HSTS header
 3970go.com: could not connect to host
-39news.tk: could not connect to host
+3970ku.com: did not receive HSTS header
+3970ok.com: did not receive HSTS header
+3970win.com: did not receive HSTS header
+3970yes.com: did not receive HSTS header
+3970ylc.com: did not receive HSTS header
+39news.tk: did not receive HSTS header
 39sihu.com: could not connect to host
 3amtoolbox.se: could not connect to host
 3candy.com: could not connect to host
+3chat.org: did not receive HSTS header
 3chit.cf: could not connect to host
 3circlefunding.ch: did not receive HSTS header
 3click-loan.com: could not connect to host
-3cs.ch: could not connect to host
 3d-bastler.de: could not connect to host
 3dcart.com: max-age too low: 2592000
 3delivered.com: could not connect to host
 3djava.ml: could not connect to host
 3dlab.team: could not connect to host
 3dm.audio: could not connect to host
-3dmedium.de: could not connect to host
-3dnovedades.com: did not receive HSTS header
 3dprintsondemand.eu: could not connect to host
 3dproteinimaging.com: did not receive HSTS header
 3drenaline.com: could not connect to host
@@ -1034,14 +1232,17 @@
 3niu8.com: did not receive HSTS header
 3niu88.com: did not receive HSTS header
 3niu8888.com: did not receive HSTS header
+3oneseven.com: did not receive HSTS header
 3os.ooo: could not connect to host
 3phase.pw: could not connect to host
 3sreporting.com: did not receive HSTS header
 3timegear.com: did not receive HSTS header
 3trees.tk: could not connect to host
+3ve.com: did not receive HSTS header
+3vlnaeet.cz: could not connect to host
 3wecommerce.com.br: could not connect to host
 3weekdietworks.com: did not receive HSTS header
-3xm.at: did not receive HSTS header
+3xm.at: could not connect to host
 3xx.link: could not connect to host
 4-1-where.com: could not connect to host
 4001365.com: could not connect to host
@@ -1063,42 +1264,85 @@
 404.guide: could not connect to host
 404.sh: could not connect to host
 404404.info: could not connect to host
+4048.co: did not receive HSTS header
+40481234.com: did not receive HSTS header
+40482345.com: did not receive HSTS header
+40484567.com: did not receive HSTS header
+40485678.com: did not receive HSTS header
+40486789.com: did not receive HSTS header
+4048aaa.com: did not receive HSTS header
+4048b.com: did not receive HSTS header
+4048ccc.com: did not receive HSTS header
+4048ddd.com: did not receive HSTS header
+4048e.com: did not receive HSTS header
+4048eee.com: did not receive HSTS header
+4048fff.com: did not receive HSTS header
+4048ggg.com: did not receive HSTS header
+4048hhh.com: did not receive HSTS header
+4048i.com: did not receive HSTS header
+4048iii.com: did not receive HSTS header
+4048jjj.com: did not receive HSTS header
 4048kkk.com: could not connect to host
 4048l.com: could not connect to host
+4048lll.com: did not receive HSTS header
+4048mmm.com: did not receive HSTS header
+4048ooo.com: did not receive HSTS header
+4048p.com: did not receive HSTS header
+4048ppp.com: did not receive HSTS header
+4048q.com: did not receive HSTS header
+4048qqq.com: did not receive HSTS header
+4048r.com: did not receive HSTS header
+4048rrr.com: did not receive HSTS header
+4048s.com: did not receive HSTS header
+4048sss.com: did not receive HSTS header
+4048t.com: did not receive HSTS header
+4048ttt.com: did not receive HSTS header
 4048v.com: could not connect to host
+4048vvv.com: did not receive HSTS header
+4048w.com: did not receive HSTS header
+4048www.com: did not receive HSTS header
+4048x.com: did not receive HSTS header
+4048xxx.com: did not receive HSTS header
+4048y.com: did not receive HSTS header
+4048yyy.com: did not receive HSTS header
+4048z.com: did not receive HSTS header
+4048zzz.com: did not receive HSTS header
 404forest.com: could not connect to host
 408663.com: could not connect to host
-4096bit.de: could not connect to host
 40n13.com: could not connect to host
 41-where.com: could not connect to host
 4111pk.com: could not connect to host
 411416.com: could not connect to host
 4138hd.com: could not connect to host
 414553.com: could not connect to host
-41844.de: could not connect to host
+4151365.com: could not connect to host
+416365.com: did not receive HSTS header
 418663.com: could not connect to host
-41where.com: could not connect to host
 420dongstorm.com: could not connect to host
 4237.com: could not connect to host
 426773.com: could not connect to host
 427552.com: could not connect to host
+42ch.com: could not connect to host
+42day.info: could not connect to host
 42ms.org: could not connect to host
 42t.ru: could not connect to host
-432666365.com: did not receive HSTS header
-4345.me: did not receive HSTS header
+4345.me: could not connect to host
 436773.com: could not connect to host
 438663.com: could not connect to host
 439191.com: could not connect to host
 440hz-radio.de: did not receive HSTS header
-440hz.radio: did not receive HSTS header
+440hz.radio: could not connect to host
+4427kf.com: did not receive HSTS header
 44321365.com: could not connect to host
+4437kf.com: did not receive HSTS header
 444321365.com: could not connect to host
 4444yh.com: did not receive HSTS header
+444b58.com: did not receive HSTS header
 4455software.com: did not receive HSTS header
 448da.com: did not receive HSTS header
 44957.com: could not connect to host
+44b58.com: did not receive HSTS header
 44scc.com: could not connect to host
-44sec.com: did not receive HSTS header
 4500.co.il: did not receive HSTS header
 451.ooo: could not connect to host
 4553.com: did not receive HSTS header
@@ -1106,13 +1350,15 @@
 455328.com: could not connect to host
 4553s.com: could not connect to host
 4553vip.com: could not connect to host
-456-3.com: could not connect to host
+4562050.com: did not receive HSTS header
 45636565.com: could not connect to host
-456666365.com: did not receive HSTS header
+45674048.com: did not receive HSTS header
+456lc.com: could not connect to host
 457552.com: could not connect to host
 458663.com: could not connect to host
 4679.space: did not receive HSTS header
 46fa.com: could not connect to host
+47.rs: could not connect to host
 4736666.com: could not connect to host
 476773.com: could not connect to host
 47788a.com: did not receive HSTS header
@@ -1146,6 +1392,7 @@
 487552.com: could not connect to host
 494k.com: could not connect to host
 498663.com: could not connect to host
+49889.com: could not connect to host
 4997777.com: could not connect to host
 4999016.com: max-age too low: 0
 4azino777.ru: did not receive HSTS header
@@ -1174,8 +1421,8 @@
 4winds.pt: did not receive HSTS header
 4x4tt.com: could not connect to host
 4y4a-arts.space: could not connect to host
-5-600.com: could not connect to host
-50.pe: could not connect to host
+5-890.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+50.gd: could not connect to host
 5000yz.com: could not connect to host
 500103.com: did not receive HSTS header
 500108.com: did not receive HSTS header
@@ -1201,12 +1448,13 @@
 500p.xyz: could not connect to host
 500p500.com: could not connect to host
 500pingtai.com: could not connect to host
+500promocodes.com: could not connect to host
 500q500.com: could not connect to host
 500r500.com: could not connect to host
 500s500.com: could not connect to host
 500t500.com: could not connect to host
 500u500.com: could not connect to host
-500wordessay.gq: could not connect to host
+500wordessay.gq: did not receive HSTS header
 500y500.com: could not connect to host
 500z500.com: could not connect to host
 5017501.com: could not connect to host
@@ -1214,17 +1462,24 @@
 5017503.com: could not connect to host
 5017504.com: could not connect to host
 5017505.com: could not connect to host
+5017701.com: could not connect to host
+5017702.com: could not connect to host
+5017703.com: could not connect to host
+5017704.com: could not connect to host
+5017705.com: could not connect to host
 504737.com: max-age too low: 0
 5060711.com: could not connect to host
 5060715.com: could not connect to host
 506pay.com: could not connect to host
 508088.com: could not connect to host
+50lakeshore.com: could not connect to host
 50ma.xyz: could not connect to host
 50millionablaze.org: could not connect to host
-50plusnet.nl: could not connect to host
+513651.com: could not connect to host
 513vpn.net: could not connect to host
 514622.com: could not connect to host
 517jjj.com: did not receive HSTS header
+517jsh.com: did not receive HSTS header
 517vpn.cn: could not connect to host
 518558.net: max-age too low: 0
 518maicai.com: could not connect to host
@@ -1303,89 +1558,107 @@
 52051q.com: did not receive HSTS header
 52051r.com: did not receive HSTS header
 52051s.com: did not receive HSTS header
-52062a.com: did not receive HSTS header
-52062b.com: did not receive HSTS header
-52062c.com: did not receive HSTS header
+52051t.com: did not receive HSTS header
+52051u.com: did not receive HSTS header
+52051v.com: did not receive HSTS header
+52051w.com: did not receive HSTS header
+52051x.com: did not receive HSTS header
+52051y.com: did not receive HSTS header
+52051z.com: could not connect to host
 52062d.com: did not receive HSTS header
+52062e.com: did not receive HSTS header
 52062f.com: did not receive HSTS header
-52062h.com: did not receive HSTS header
 52062i.com: did not receive HSTS header
+52062j.com: did not receive HSTS header
+52062k.com: did not receive HSTS header
 52062l.com: did not receive HSTS header
 52062m.com: did not receive HSTS header
-52062n.com: did not receive HSTS header
-52062o.com: did not receive HSTS header
-52062q.com: did not receive HSTS header
+52062p.com: did not receive HSTS header
 52062r.com: did not receive HSTS header
-52062s.com: did not receive HSTS header
 52062t.com: did not receive HSTS header
-52062v.com: did not receive HSTS header
-52062w.com: did not receive HSTS header
-52062x.com: did not receive HSTS header
-52062z.com: did not receive HSTS header
+52062u.com: did not receive HSTS header
 52067.com: did not receive HSTS header
 52067.vip: did not receive HSTS header
-52067a.com: did not receive HSTS header
-52067b.com: did not receive HSTS header
-52067c.com: did not receive HSTS header
-52067d.com: did not receive HSTS header
-52067e.com: did not receive HSTS header
-52067f.com: did not receive HSTS header
-52067g.com: did not receive HSTS header
-52067h.com: did not receive HSTS header
-52067i.com: did not receive HSTS header
-52067j.com: did not receive HSTS header
-52067k.com: did not receive HSTS header
-52067l.com: did not receive HSTS header
-52067m.com: did not receive HSTS header
-52067n.com: did not receive HSTS header
-52067o.com: did not receive HSTS header
-52067p.com: did not receive HSTS header
-52067q.com: did not receive HSTS header
-52067r.com: did not receive HSTS header
-52067s.com: did not receive HSTS header
-52067t.com: did not receive HSTS header
-52067u.com: did not receive HSTS header
-52067v.com: did not receive HSTS header
-52067w.com: did not receive HSTS header
-52067x.com: did not receive HSTS header
-52067y.com: did not receive HSTS header
+52067a.com: could not connect to host
+52067b.com: could not connect to host
+52067c.com: could not connect to host
+52067d.com: could not connect to host
+52067e.com: could not connect to host
+52067f.com: could not connect to host
+52067g.com: could not connect to host
+52067h.com: could not connect to host
+52067i.com: could not connect to host
+52067j.com: could not connect to host
+52067k.com: could not connect to host
+52067l.com: could not connect to host
+52067m.com: could not connect to host
+52067n.com: could not connect to host
+52067o.com: could not connect to host
+52067p.com: could not connect to host
+52067q.com: could not connect to host
+52067r.com: could not connect to host
+52067s.com: could not connect to host
+52067t.com: could not connect to host
+52067u.com: could not connect to host
+52067v.com: could not connect to host
+52067w.com: could not connect to host
+52067x.com: could not connect to host
+52067y.com: could not connect to host
 52067z.com: did not receive HSTS header
+5214889.net: could not connect to host
 5219.ml: could not connect to host
+521jsh.com: did not receive HSTS header
 5225sf.com: could not connect to host
+5288900.com: did not receive HSTS header
 52b9.com: could not connect to host
 52b9.net: could not connect to host
 52hentai.ml: could not connect to host
-52hentai.us: could not connect to host
-52kb.net: did not receive HSTS header
+52hentai.us: did not receive HSTS header
+52kb.net: could not connect to host
 52kb1.com: could not connect to host
 52neptune.com: did not receive HSTS header
 5356699.com: max-age too low: 0
+5364.com: could not connect to host
+5388900.com: did not receive HSTS header
 54.sb: could not connect to host
 540.co: did not receive HSTS header
 5432.cc: could not connect to host
 543666365.com: could not connect to host
+5438xs.com: could not connect to host
+5454kf.com: did not receive HSTS header
 545755.com: could not connect to host
 54bf.com: could not connect to host
+551365.com: did not receive HSTS header
 5518k3.com: could not connect to host
+552365.com: did not receive HSTS header
 55321365.com: could not connect to host
 5533445.com: could not connect to host
 5536z.com: could not connect to host
 555321365.com: could not connect to host
+55554048.com: did not receive HSTS header
 55558744.com: could not connect to host
-5555k8.com: did not receive HSTS header
-5555k8.net: did not receive HSTS header
 5555yh.com: did not receive HSTS header
-555k8.com: did not receive HSTS header
-555k8.net: did not receive HSTS header
-555w.org: could not connect to host
+555b58.com: did not receive HSTS header
 555xl.com: could not connect to host
+555zlong.com: could not connect to host
 556185.com: could not connect to host
-55639.com: could not connect to host
+55639.com: did not receive HSTS header
+5566bet.vip: could not connect to host
 55797.com: did not receive HSTS header
 558da.com: did not receive HSTS header
+55b58.com: could not connect to host
 55bt.cc: did not receive HSTS header
-55n13.com: did not receive HSTS header
+55n13.com: could not connect to host
 55scc.com: could not connect to host
+56011r.com: did not receive HSTS header
+56011s.com: did not receive HSTS header
+56011t.com: did not receive HSTS header
+56011u.com: did not receive HSTS header
+56011v.com: did not receive HSTS header
+56011w.com: did not receive HSTS header
+56011x.com: did not receive HSTS header
+56011y.com: did not receive HSTS header
+56011z.com: did not receive HSTS header
 56564a.com: did not receive HSTS header
 56564b.com: did not receive HSTS header
 56564c.com: did not receive HSTS header
@@ -1414,6 +1687,7 @@
 56564z.com: did not receive HSTS header
 566380.com: could not connect to host
 567666365.com: could not connect to host
+56784048.com: did not receive HSTS header
 56877.com: could not connect to host
 56ct.com: could not connect to host
 575380.com: could not connect to host
@@ -1447,8 +1721,9 @@
 578380.com: could not connect to host
 5795333.com: did not receive HSTS header
 57aromas.com: did not receive HSTS header
-57he.com: did not receive HSTS header
+57he.com: could not connect to host
 57wilkie.net: could not connect to host
+581018.com: did not receive HSTS header
 585380.com: could not connect to host
 58586668.com: max-age too low: 0
 588007008.com: max-age too low: 0
@@ -1458,6 +1733,7 @@
 58nav.com: could not connect to host
 591380.com: could not connect to host
 592380.com: could not connect to host
+593-7.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 593380.com: could not connect to host
 595380.com: could not connect to host
 5981844.com: could not connect to host
@@ -1469,72 +1745,74 @@
 5conejos.com: did not receive HSTS header
 5crowd.com: did not receive HSTS header
 5dwin.com: did not receive HSTS header
-5dwin.net: did not receive HSTS header
+5dwin.net: could not connect to host
 5ece.de: could not connect to host
+5icsb.com: could not connect to host
+5in.win: could not connect to host
 5piecesofadvice.com: could not connect to host
 5starbouncycastlehire.co.uk: could not connect to host
 5w5.la: could not connect to host
-6-600.com: could not connect to host
 60068vb.com: max-age too low: 0
 605508.cc: could not connect to host
 605508.com: could not connect to host
 609avenue.com: did not receive HSTS header
 60n13.com: could not connect to host
 60ych.net: did not receive HSTS header
-6120.eu: did not receive HSTS header
+6120.eu: could not connect to host
 6133feng.com: max-age too low: 0
 616675.com: could not connect to host
 6166p.com: did not receive HSTS header
+616btt.com: did not receive HSTS header
 617020.com: could not connect to host
 618media.com: did not receive HSTS header
 620881.com: could not connect to host
 621162.com: could not connect to host
-62314.cc: could not connect to host
+62222.com: could not connect to host
 626380.com: could not connect to host
 62755.com: could not connect to host
-638566.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-6396000.com: did not receive HSTS header
-63960000.com: did not receive HSTS header
-63961111.com: did not receive HSTS header
-639611111.com: could not connect to host
-6396222.com: could not connect to host
-63962222.com: did not receive HSTS header
-639622222.com: did not receive HSTS header
-6396333.com: could not connect to host
-63963333.com: did not receive HSTS header
-639633333.com: did not receive HSTS header
-6396444.com: did not receive HSTS header
-63964444.com: could not connect to host
-639644444.com: did not receive HSTS header
-63965555.com: did not receive HSTS header
-639655555.com: did not receive HSTS header
-639666666.com: did not receive HSTS header
-63967777.com: did not receive HSTS header
-639677777.com: did not receive HSTS header
-63968888.com: did not receive HSTS header
-639688888.com: could not connect to host
-63969999.com: could not connect to host
-639699999.com: did not receive HSTS header
-6396aaa.com: could not connect to host
-6396bbb.com: could not connect to host
+633663.vip: could not connect to host
+6365ah.com: did not receive HSTS header
+6365am.com: did not receive HSTS header
+6365bj.com: did not receive HSTS header
+6365cq.com: did not receive HSTS header
+6365dx.com: did not receive HSTS header
+6365fj.com: did not receive HSTS header
+6365gd.com: did not receive HSTS header
+6365gs.com: did not receive HSTS header
+6365gx.com: did not receive HSTS header
+6365gz.com: did not receive HSTS header
+6365hb.com: did not receive HSTS header
+6365hh.com: did not receive HSTS header
+6365hk.com: did not receive HSTS header
+6365hlj.com: did not receive HSTS header
+6365hn.com: did not receive HSTS header
+6365jl.com: did not receive HSTS header
+6365js.com: did not receive HSTS header
+6365jx.com: did not receive HSTS header
+6365ln.com: did not receive HSTS header
+6365lt.com: did not receive HSTS header
+6365nmg.com: did not receive HSTS header
+6365nn.com: did not receive HSTS header
+6365nx.com: did not receive HSTS header
+6365qh.com: did not receive HSTS header
+6365sc.com: did not receive HSTS header
+6365sd.com: did not receive HSTS header
+6365sh.com: did not receive HSTS header
+6365ss.com: did not receive HSTS header
+6365sx.com: did not receive HSTS header
+6365tj.com: did not receive HSTS header
+6365tw.com: did not receive HSTS header
+6365xj.com: did not receive HSTS header
+6365xz.com: did not receive HSTS header
+6365yd.com: did not receive HSTS header
+6365yn.com: did not receive HSTS header
+6365zj.com: did not receive HSTS header
+638566.com: could not connect to host
 6396ccc.com: could not connect to host
 6396ddd.com: could not connect to host
-6396eee.com: could not connect to host
 6396fff.com: could not connect to host
-6396ggg.com: did not receive HSTS header
 6396hhh.com: could not connect to host
-6396iii.com: did not receive HSTS header
-6396jjj.com: did not receive HSTS header
-6396ooo.com: did not receive HSTS header
-6396qqq.com: did not receive HSTS header
-6396rrr.com: did not receive HSTS header
-6396sss.com: could not connect to host
-6396ttt.com: did not receive HSTS header
-6396vvv.com: could not connect to host
-6396www.com: did not receive HSTS header
-6396xxx.com: could not connect to host
 6396yyy.com: could not connect to host
-6396zzz.com: did not receive HSTS header
 645ds.cn: could not connect to host
 645ds.com: could not connect to host
 64616e.xyz: could not connect to host
@@ -1542,7 +1820,19 @@
 64bitgaming.de: could not connect to host
 64bitservers.net: could not connect to host
 6541166.com: could not connect to host
-654666365.com: did not receive HSTS header
+6542277.com: could not connect to host
+6543399.com: could not connect to host
+654666365.com: could not connect to host
+65477.com: could not connect to host
+6547700.com: could not connect to host
+6547711.com: could not connect to host
+6547722.com: could not connect to host
+6547733.com: could not connect to host
+6547744.com: could not connect to host
+6547755.com: could not connect to host
+6547766.com: could not connect to host
+6548855.com: could not connect to host
+6548877.com: could not connect to host
 6556hd.com: could not connect to host
 6556pk.com: could not connect to host
 656088.com: could not connect to host
@@ -1551,9 +1841,11 @@
 660011.com: could not connect to host
 6602p.com: could not connect to host
 6603p.com: could not connect to host
-660887.com: max-age too low: 2592000
 6616fc.com: could not connect to host
+6617365.com: did not receive HSTS header
 66205.net: could not connect to host
+6627365.com: did not receive HSTS header
+6629365.com: did not receive HSTS header
 66321365.com: could not connect to host
 66321aa.com: did not receive HSTS header
 66321bb.com: did not receive HSTS header
@@ -1584,21 +1876,23 @@
 6633445.com: could not connect to host
 6638s.com: max-age too low: 0
 6639s.com: could not connect to host
+664048.com: did not receive HSTS header
 6660111.ru: could not connect to host
 666321365.com: could not connect to host
-666365app.com: could not connect to host
-666365ios.com: could not connect to host
-666365iosapp.com: did not receive HSTS header
 6664553.com: could not connect to host
 666618.cc: could not connect to host
 6666365q.com: did not receive HSTS header
+66664048.com: did not receive HSTS header
 6666sb.com: could not connect to host
 6666yh.com: did not receive HSTS header
 666777bet.com: could not connect to host
+666b58.com: did not receive HSTS header
+6671365.com: did not receive HSTS header
+6672365.com: did not receive HSTS header
+6673365.com: did not receive HSTS header
 6677.us: could not connect to host
-668825.vip: could not connect to host
 668da.com: did not receive HSTS header
-66b.com: did not receive HSTS header
+66b58.com: did not receive HSTS header
 66bwf.com: could not connect to host
 671660.com: could not connect to host
 671990.com: could not connect to host
@@ -1618,20 +1912,18 @@
 6729cc.co: could not connect to host
 6729cc.com: did not receive HSTS header
 6729d.co: could not connect to host
-6729d.com: could not connect to host
+6729d.com: did not receive HSTS header
 6729dd.co: could not connect to host
 6729dd.com: could not connect to host
 6729dh.co: could not connect to host
-6729dns.com: could not connect to host
-6729dz.com: could not connect to host
 6729e.co: could not connect to host
-6729e.com: could not connect to host
+6729e.com: did not receive HSTS header
 6729ee.co: could not connect to host
-6729ee.com: could not connect to host
+6729ee.com: did not receive HSTS header
 6729f.co: could not connect to host
-6729f.com: could not connect to host
+6729f.com: did not receive HSTS header
 6729ff.co: could not connect to host
-6729ff.com: could not connect to host
+6729ff.com: did not receive HSTS header
 6729g.co: could not connect to host
 6729g.com: could not connect to host
 6729gg.co: could not connect to host
@@ -1670,7 +1962,7 @@
 6729oo.co: could not connect to host
 6729oo.com: could not connect to host
 6729p.co: could not connect to host
-6729p.com: did not receive HSTS header
+6729p.com: could not connect to host
 6729pp.co: could not connect to host
 6729pp.com: could not connect to host
 6729q.co: could not connect to host
@@ -1713,6 +2005,7 @@
 6729z.com: could not connect to host
 6729zz.co: could not connect to host
 6729zz.com: could not connect to host
+673569.com: did not receive HSTS header
 673660.com: could not connect to host
 673990.com: could not connect to host
 675660.com: could not connect to host
@@ -1725,12 +2018,16 @@
 677354.com: could not connect to host
 677364.com: could not connect to host
 677384.com: could not connect to host
+678365app.com: could not connect to host
+678365cc.com: could not connect to host
 678678365.com: could not connect to host
+67894048.com: did not receive HSTS header
 67899876.com: could not connect to host
 679660.com: could not connect to host
 680226.com: could not connect to host
 68277.me: could not connect to host
 6859551.com: max-age too low: 0
+686848.com: could not connect to host
 688da.com: could not connect to host
 690918.com: did not receive HSTS header
 690938.com: did not receive HSTS header
@@ -1768,18 +2065,18 @@
 6957j.com: could not connect to host
 6957jj.co: could not connect to host
 6957k.co: could not connect to host
-6957k.com: did not receive HSTS header
+6957k.com: could not connect to host
 6957kk.co: could not connect to host
 6957l.co: could not connect to host
 6957l.com: did not receive HSTS header
 6957ll.co: could not connect to host
 6957m.co: could not connect to host
-6957m.com: did not receive HSTS header
+6957m.com: could not connect to host
 6957mm.co: could not connect to host
 6957n.co: could not connect to host
-6957n.com: did not receive HSTS header
+6957n.com: could not connect to host
 6957nn.co: could not connect to host
-6957nn.com: did not receive HSTS header
+6957nn.com: could not connect to host
 6957o.co: could not connect to host
 6957oo.co: could not connect to host
 6957p.co: could not connect to host
@@ -1815,6 +2112,7 @@
 69759.com: could not connect to host
 698da.com: did not receive HSTS header
 69928.com: could not connect to host
+699jsh.com: did not receive HSTS header
 69mentor.com: could not connect to host
 69square.com: could not connect to host
 6boy.net: could not connect to host
@@ -1827,31 +2125,30 @@
 6w6.la: could not connect to host
 6z0.cn: did not receive HSTS header
 6z3.net: could not connect to host
-701135.com: could not connect to host
+700wns.com: did not receive HSTS header
 701605.com: could not connect to host
-7045.com: could not connect to host
-705994.com: could not connect to host
+7035.com: could not connect to host
+7080997.com: did not receive HSTS header
 70n13.com: could not connect to host
 70nb.com: could not connect to host
-713kb.com: could not connect to host
 715805617.com: max-age too low: 0
 7177p.com: did not receive HSTS header
 71787777.com: could not connect to host
-71787m.com: could not connect to host
-71787n.com: could not connect to host
-71787o.com: could not connect to host
-71787p.com: could not connect to host
-71787q.com: could not connect to host
-71787r.com: could not connect to host
-71787s.com: could not connect to host
-71787t.com: could not connect to host
-71787u.com: could not connect to host
-71787v.com: could not connect to host
-71787w.com: could not connect to host
-71787x.com: could not connect to host
-71787y.com: could not connect to host
-71787z.com: could not connect to host
-7183.org: could not connect to host
+71787m.com: did not receive HSTS header
+71787n.com: did not receive HSTS header
+71787o.com: did not receive HSTS header
+71787p.com: did not receive HSTS header
+71787q.com: did not receive HSTS header
+71787r.com: did not receive HSTS header
+71787s.com: did not receive HSTS header
+71787t.com: did not receive HSTS header
+71787u.com: did not receive HSTS header
+71787v.com: did not receive HSTS header
+71787w.com: did not receive HSTS header
+71787x.com: did not receive HSTS header
+71787y.com: did not receive HSTS header
+71787z.com: did not receive HSTS header
+7214.com: max-age too low: 172800
 721av.com: max-age too low: 2592000
 724go.com: could not connect to host
 7261696e626f77.net: could not connect to host
@@ -1860,28 +2157,31 @@
 731783.com: could not connect to host
 73223.com: did not receive HSTS header
 733575.com: could not connect to host
+7337kf.com: did not receive HSTS header
+73info.com: did not receive HSTS header
 74365365.com: could not connect to host
 74th.jp: could not connect to host
 755243.com: could not connect to host
 755k3.com: could not connect to host
 7570.com: could not connect to host
 758global.com: could not connect to host
-765666365.com: did not receive HSTS header
+7652.cc: did not receive HSTS header
+77018ee.com: could not connect to host
 771122.tv: did not receive HSTS header
 7717411.com: max-age too low: 0
 7717a.com: did not receive HSTS header
 7717p.com: could not connect to host
-772244.net: could not connect to host
+772244.net: did not receive HSTS header
 77321365.com: could not connect to host
 7733445.com: could not connect to host
 776573.net: did not receive HSTS header
+7770b.com: did not receive HSTS header
 7770t.com: could not connect to host
 7771p.com: did not receive HSTS header
 7777365q.com: did not receive HSTS header
+77774048.com: did not receive HSTS header
 77778744.com: could not connect to host
 7777av.co: could not connect to host
-7777k8.com: did not receive HSTS header
-7777k8.net: did not receive HSTS header
 7777yh.com: did not receive HSTS header
 7782001.com: did not receive HSTS header
 7787p.com: did not receive HSTS header
@@ -1890,6 +2190,7 @@
 778da.com: could not connect to host
 77b58.com: could not connect to host
 77book.cn: did not receive HSTS header
+77dd.com: could not connect to host
 77dostavkaroz.ru: could not connect to host
 780aa.com: could not connect to host
 781371.com: could not connect to host
@@ -1898,37 +2199,108 @@
 78365aa.com: could not connect to host
 787k3.com: could not connect to host
 788da.com: did not receive HSTS header
+78904048.com: did not receive HSTS header
 7898666.com: did not receive HSTS header
 789zr.com: did not receive HSTS header
+792ww.com: did not receive HSTS header
+799jsh.com: did not receive HSTS header
+79ch.com: could not connect to host
 7f-wgg.cf: could not connect to host
 7f.is: could not connect to host
-7ferfer.com.br: did not receive HSTS header
+7ferfer.com.br: could not connect to host
 7ka.co: did not receive HSTS header
+7kovrikov.ru: did not receive HSTS header
 7links.com.br: did not receive HSTS header
 7nw.eu: could not connect to host
 7pb.ru: did not receive HSTS header
 7qly.com: could not connect to host
+7sons.de: did not receive HSTS header
 7thheavenrestaurant.com: could not connect to host
 7trade8.com: did not receive HSTS header
+7x24servis.com: could not connect to host
 8.net.co: could not connect to host
 800139.com: could not connect to host
+8002d88.com: could not connect to host
 80036.com: could not connect to host
 8003pay.com: could not connect to host
-803001.com: could not connect to host
+8006d88.com: could not connect to host
 80780780.com: could not connect to host
 808.lv: did not receive HSTS header
-8086.cf: could not connect to host
+8080889.com: did not receive HSTS header
+8083d.com: could not connect to host
+8086.cf: did not receive HSTS header
+80883.cc: did not receive HSTS header
 808phone.net: could not connect to host
+8092d88.com: could not connect to host
 80n13.com: could not connect to host
 81000906.com: max-age too low: 0
-81818d.com: did not receive HSTS header
+81365b.com: did not receive HSTS header
+81365c.com: did not receive HSTS header
+81365d.com: did not receive HSTS header
+81365e.com: did not receive HSTS header
+81365f.com: did not receive HSTS header
+81365g.com: did not receive HSTS header
+81365h.com: did not receive HSTS header
+81365i.com: did not receive HSTS header
+81365j.com: did not receive HSTS header
+81365k.com: did not receive HSTS header
+81365l.com: did not receive HSTS header
+81365m.com: did not receive HSTS header
+81365n.com: did not receive HSTS header
+81365o.com: did not receive HSTS header
+81365p.com: did not receive HSTS header
+81365q.com: did not receive HSTS header
+81365r.com: did not receive HSTS header
+81365s.com: did not receive HSTS header
+81365t.com: did not receive HSTS header
+81365u.com: did not receive HSTS header
+81365v.com: did not receive HSTS header
+81365w.com: did not receive HSTS header
+81365x.com: did not receive HSTS header
+81365y.com: did not receive HSTS header
+81365z.com: did not receive HSTS header
+815jz.com: could not connect to host
+81818d.com: could not connect to host
+81818t.com: could not connect to host
+81818z.com: could not connect to host
 818bwf.com: could not connect to host
 818da.com: did not receive HSTS header
 81uc.com: could not connect to host
+8200d.com: could not connect to host
 8206688.com: did not receive HSTS header
 8208d88.com: could not connect to host
+8212p.com: could not connect to host
+8230d.com: could not connect to host
+82365a.com: did not receive HSTS header
+82365b.com: did not receive HSTS header
+82365c.com: did not receive HSTS header
+82365d.com: did not receive HSTS header
+82365e.com: did not receive HSTS header
+82365f.com: did not receive HSTS header
+82365g.com: did not receive HSTS header
+82365h.com: did not receive HSTS header
+82365i.com: did not receive HSTS header
+82365j.com: did not receive HSTS header
+82365k.com: did not receive HSTS header
+82365l.com: did not receive HSTS header
+82365m.com: did not receive HSTS header
+82365n.com: did not receive HSTS header
+82365o.com: did not receive HSTS header
+82365p.com: did not receive HSTS header
+82365q.com: did not receive HSTS header
+82365r.com: did not receive HSTS header
+82365s.com: did not receive HSTS header
+82365t.com: did not receive HSTS header
+82365u.com: did not receive HSTS header
+82365v.com: did not receive HSTS header
+82365w.com: did not receive HSTS header
+82365x.com: did not receive HSTS header
+82365y.com: did not receive HSTS header
+82365z.com: did not receive HSTS header
 826468.com: could not connect to host
 826498.com: could not connect to host
+8278aa.com: could not connect to host
+8278bet.com: could not connect to host
 8278eee.com: could not connect to host
 8278jjj.com: could not connect to host
 82ty.com: could not connect to host
@@ -1942,19 +2314,20 @@
 8391p.com: could not connect to host
 83969789.com: max-age too low: 0
 83i.net: could not connect to host
+842365.com: did not receive HSTS header
 846773.com: could not connect to host
 848663.com: could not connect to host
+848jz.com: could not connect to host
 850226.com: could not connect to host
-8521.co: did not receive HSTS header
-8521.me: did not receive HSTS header
-8522.com: did not receive HSTS header
+8521.co: could not connect to host
+8521.me: could not connect to host
+8522.am: could not connect to host
+8522.com: could not connect to host
 8522cn.com: could not connect to host
 8522hk.com: could not connect to host
 8522top.com: could not connect to host
 8560.be: could not connect to host
-861365.vip: did not receive HSTS header
-86286286.com: did not receive HSTS header
-86499.com: max-age too low: 172800
+8602010.com: did not receive HSTS header
 8649955.com: could not connect to host
 8649966.com: could not connect to host
 8649977.com: could not connect to host
@@ -1967,8 +2340,8 @@
 866394.com: could not connect to host
 8666213.com: max-age too low: 0
 8688fc.com: could not connect to host
-8722.am: did not receive HSTS header
-8722.com: did not receive HSTS header
+8722.am: could not connect to host
+8722.com: could not connect to host
 8744b.com: did not receive HSTS header
 8744c.com: did not receive HSTS header
 8744d.com: did not receive HSTS header
@@ -1996,18 +2369,15 @@
 8744z.com: did not receive HSTS header
 87577.com: could not connect to host
 876666365.com: could not connect to host
-877027.com: could not connect to host
 88.to: did not receive HSTS header
+88021.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 8818k3.com: could not connect to host
+8822d88.com: could not connect to host
 88321365.com: could not connect to host
 8833445.com: could not connect to host
-8852ks.com: could not connect to host
-8855950.com: could not connect to host
-8866012.com: could not connect to host
-88740b.com: could not connect to host
 88740n.com: could not connect to host
 8876007.com: did not receive HSTS header
-8876008.com: could not connect to host
+8876008.com: did not receive HSTS header
 8876009.com: did not receive HSTS header
 8876138.com: did not receive HSTS header
 8876205.com: could not connect to host
@@ -2060,9 +2430,9 @@
 8880067.com: did not receive HSTS header
 8880083.com: did not receive HSTS header
 8880100.com: did not receive HSTS header
-8882345j.com: did not receive HSTS header
 888321365.com: could not connect to host
 8884553.com: could not connect to host
+88851777.com: did not receive HSTS header
 888666pj.com: could not connect to host
 8886737.com: did not receive HSTS header
 8886739.com: did not receive HSTS header
@@ -2073,9 +2443,10 @@
 8887999.com: did not receive HSTS header
 88881.pw: could not connect to host
 8888365q.com: did not receive HSTS header
+88884048.com: did not receive HSTS header
 8888av.co: could not connect to host
 8888yh.com: did not receive HSTS header
-8889457.com: could not connect to host
+8889457.com: did not receive HSTS header
 8889458.com: did not receive HSTS header
 8889466.com: did not receive HSTS header
 8889563.com: did not receive HSTS header
@@ -2092,25 +2463,29 @@
 8889903.com: did not receive HSTS header
 8889910.com: did not receive HSTS header
 888azino.com: did not receive HSTS header
+888b58.com: did not receive HSTS header
 888bwf.com: could not connect to host
 888lu.co: could not connect to host
 888msc.vip: could not connect to host
+88btt.com: did not receive HSTS header
 88bwf.com: could not connect to host
 88d.com: could not connect to host
 88laohu.cc: could not connect to host
 88laohu.com: could not connect to host
 88n13.com: could not connect to host
 890238.com: could not connect to host
+89386.com: could not connect to host
 8951889.com: could not connect to host
 8989k3.com: could not connect to host
 89955.com: could not connect to host
 899699.com: did not receive HSTS header
+899jsh.com: did not receive HSTS header
 89he.com: could not connect to host
 8ack.de: could not connect to host
 8ackprotect.com: did not receive HSTS header
 8azino777.ru: did not receive HSTS header
-8b8888.com: could not connect to host
 8ballbombom.uk: could not connect to host
+8btt.app: did not receive HSTS header
 8da188.com: did not receive HSTS header
 8da2017.com: could not connect to host
 8da2018.com: could not connect to host
@@ -2123,13 +2498,15 @@
 8pc.ru: did not receive HSTS header
 8pecxstudios.com: could not connect to host
 8shequapp.com: could not connect to host
-8svn.com: did not receive HSTS header
+8svn.com: could not connect to host
 8t88.biz: could not connect to host
 8ung.online: could not connect to host
 8xx.bet: could not connect to host
 8xx.io: could not connect to host
+8xxxxxxx.com: could not connect to host
 8y.network: could not connect to host
 8yun.cf: could not connect to host
+906vv.com: did not receive HSTS header
 908.la: could not connect to host
 90n13.com: could not connect to host
 90smthng.com: could not connect to host
@@ -2140,7 +2517,10 @@
 9118inc.com: could not connect to host
 911911.pw: could not connect to host
 914cq.com: could not connect to host
+917.moe: could not connect to host
 917jjj.com: did not receive HSTS header
+918-siteinfo.com: did not receive HSTS header
+918101.net: did not receive HSTS header
 918116.com: could not connect to host
 9181181.com: could not connect to host
 9181182.com: could not connect to host
@@ -2151,15 +2531,23 @@
 9181187.com: could not connect to host
 9181189.com: could not connect to host
 9182289.com: could not connect to host
-918ddk.com: could not connect to host
+918aav.com: could not connect to host
+918aff.com: could not connect to host
+918bhh.com: could not connect to host
+918bip.co: could not connect to host
+918cx.com: could not connect to host
 918dp.com: could not connect to host
+918jt.co: could not connect to host
 918ma.com: could not connect to host
-918nn.com: could not connect to host
+918qz.com: did not receive HSTS header
 918sa.com: could not connect to host
-918ui.com: could not connect to host
-918yy.com: did not receive HSTS header
+918te.com: did not receive HSTS header
+918um.com: could not connect to host
+918vz.com: could not connect to host
+918yy.com: could not connect to host
+918ze.com: could not connect to host
 919093590.com: max-age too low: 0
-91966.com: max-age too low: 172800
+91966.com: did not receive HSTS header
 919945.com: could not connect to host
 91d71.com: could not connect to host
 91d72.com: could not connect to host
@@ -2169,6 +2557,7 @@
 91d77.com: could not connect to host
 91d78.com: could not connect to host
 91d79.com: could not connect to host
+91d89.com: could not connect to host
 91d90.com: could not connect to host
 91d91.com: could not connect to host
 91d92.com: could not connect to host
@@ -2178,9 +2567,8 @@
 91d97.com: could not connect to host
 91dh.cc: could not connect to host
 91lt.info: could not connect to host
-91milk.net: did not receive HSTS header
+91milk.net: could not connect to host
 922.be: could not connect to host
-929349.com: could not connect to host
 9297.com: did not receive HSTS header
 9297a.co: could not connect to host
 9297aa.co: could not connect to host
@@ -2239,44 +2627,40 @@
 9297z.co: could not connect to host
 9297zz.co: could not connect to host
 92bmh.com: did not receive HSTS header
-9397.com: could not connect to host
-9397a.com: could not connect to host
-9397aa.com: could not connect to host
-9397b.com: could not connect to host
-9397bb.com: could not connect to host
-9397c.com: could not connect to host
-9397cc.com: could not connect to host
-9397dd.com: could not connect to host
-9397dh.com: could not connect to host
-9397e.com: could not connect to host
-9397ee.com: could not connect to host
-9397f.com: could not connect to host
-9397ff.com: could not connect to host
-9397g.com: could not connect to host
-9397gg.com: could not connect to host
-9397h.com: could not connect to host
+92owl.com: did not receive HSTS header
+9397a.com: did not receive HSTS header
+9397aa.com: did not receive HSTS header
+9397b.com: did not receive HSTS header
+9397bb.com: did not receive HSTS header
+9397c.com: did not receive HSTS header
+9397cc.com: did not receive HSTS header
+9397dd.com: did not receive HSTS header
+9397e.com: did not receive HSTS header
+9397ee.com: did not receive HSTS header
+9397f.com: did not receive HSTS header
+9397ff.com: did not receive HSTS header
+9397g.com: did not receive HSTS header
+9397gg.com: did not receive HSTS header
+9397h.com: did not receive HSTS header
 9397hb.com: could not connect to host
-9397hd.com: could not connect to host
-9397hh.com: could not connect to host
-9397i.com: could not connect to host
+9397hh.com: did not receive HSTS header
+9397i.com: did not receive HSTS header
 9397ii.com: could not connect to host
-9397j.com: could not connect to host
-9397jj.com: could not connect to host
-9397kk.com: could not connect to host
-9397l.com: could not connect to host
-9397ll.com: could not connect to host
-9397m.com: could not connect to host
-9397mm.com: could not connect to host
-9397n.com: could not connect to host
-9397nn.com: could not connect to host
-9397o.com: could not connect to host
-9397oo.com: could not connect to host
-9397p.com: could not connect to host
-9397pp.com: could not connect to host
-9397q.com: could not connect to host
-9397qq.com: could not connect to host
-9397r.com: could not connect to host
-9397rr.com: could not connect to host
+9397j.com: did not receive HSTS header
+9397jj.com: did not receive HSTS header
+9397kk.com: did not receive HSTS header
+9397ll.com: did not receive HSTS header
+9397m.com: did not receive HSTS header
+9397n.com: did not receive HSTS header
+9397nn.com: did not receive HSTS header
+9397o.com: did not receive HSTS header
+9397oo.com: did not receive HSTS header
+9397p.com: did not receive HSTS header
+9397pp.com: did not receive HSTS header
+9397q.com: did not receive HSTS header
+9397qq.com: did not receive HSTS header
+9397r.com: did not receive HSTS header
+9397rr.com: did not receive HSTS header
 9397s.com: could not connect to host
 9397ss.com: could not connect to host
 9397t.com: could not connect to host
@@ -2294,14 +2678,52 @@
 9397z.com: could not connect to host
 9397zz.com: could not connect to host
 93cq.com: could not connect to host
+940365.com: could not connect to host
 944cq.com: did not receive HSTS header
 9454.com: could not connect to host
 946773.com: could not connect to host
 947cq.com: did not receive HSTS header
+9499060.com: did not receive HSTS header
+9499066.com: did not receive HSTS header
+9499068.com: did not receive HSTS header
+9499113.com: did not receive HSTS header
+9499115.com: did not receive HSTS header
+9499118.com: did not receive HSTS header
+9499125.com: did not receive HSTS header
+9499137.com: did not receive HSTS header
+9499151.com: did not receive HSTS header
+9499212.com: did not receive HSTS header
+9499232.com: could not connect to host
+9499238.com: could not connect to host
+9499263.com: could not connect to host
+9499278.com: did not receive HSTS header
+9499292.com: did not receive HSTS header
+9499293.com: could not connect to host
+9499343.com: could not connect to host
+9499369.com: could not connect to host
+9499399.com: could not connect to host
+9499403.com: did not receive HSTS header
+9499518.com: could not connect to host
+9499558.com: could not connect to host
+9499565.com: did not receive HSTS header
+9499568.com: could not connect to host
+9499575.com: did not receive HSTS header
 9499588.com: could not connect to host
+9499668.com: did not receive HSTS header
+9499676.com: did not receive HSTS header
+9499682.com: could not connect to host
+9499737.com: did not receive HSTS header
+9499757.com: could not connect to host
+9499835.com: did not receive HSTS header
+9499855.com: did not receive HSTS header
+9499869.com: could not connect to host
+9499958.com: did not receive HSTS header
+9499mmmm.com: could not connect to host
+9499yl.com: could not connect to host
 94cs.cn: could not connect to host
 9500years.com: max-age too low: 0
 95778.com: did not receive HSTS header
+96002e.com: could not connect to host
 960news.ca: could not connect to host
 961621.com: did not receive HSTS header
 9617818.com: could not connect to host
@@ -2310,7 +2732,6 @@
 963cq.com: did not receive HSTS header
 9651678.ru: could not connect to host
 967606.com: could not connect to host
-9721.com: could not connect to host
 9721a.com: could not connect to host
 9721aa.com: could not connect to host
 9721b.com: could not connect to host
@@ -2319,7 +2740,6 @@
 9721cc.com: could not connect to host
 9721d.com: could not connect to host
 9721dd.com: could not connect to host
-9721dh.com: could not connect to host
 9721e.com: could not connect to host
 9721ee.com: could not connect to host
 9721f.com: could not connect to host
@@ -2327,7 +2747,6 @@
 9721g.com: could not connect to host
 9721gg.com: could not connect to host
 9721h.com: could not connect to host
-9721hd.com: could not connect to host
 9721hh.com: could not connect to host
 9721i.com: could not connect to host
 9721j.com: could not connect to host
@@ -2337,7 +2756,6 @@
 9721l.com: could not connect to host
 9721ll.com: could not connect to host
 9721m.com: could not connect to host
-9721mm.com: could not connect to host
 9721n.com: could not connect to host
 9721nn.com: could not connect to host
 9721o.com: could not connect to host
@@ -2361,10 +2779,9 @@
 9721x.com: could not connect to host
 9721xx.com: could not connect to host
 9721y.com: could not connect to host
-9721yy.com: could not connect to host
 9721z.com: could not connect to host
 9721zz.com: could not connect to host
-9728.com: could not connect to host
+9728.com: did not receive HSTS header
 9728a.co: could not connect to host
 9728aa.co: could not connect to host
 9728b.co: could not connect to host
@@ -2418,190 +2835,191 @@
 9728yy.co: could not connect to host
 9728z.co: could not connect to host
 9728zz.co: could not connect to host
-9796k8.com: did not receive HSTS header
-9796k8.net: did not receive HSTS header
 97bros.com: did not receive HSTS header
 98198823.com: max-age too low: 0
 9822.bz: could not connect to host
-9822.com: did not receive HSTS header
+9822.com: could not connect to host
 9822.info: could not connect to host
 9867666.com: did not receive HSTS header
 987666365.com: could not connect to host
 987987.com: did not receive HSTS header
+988316.com: did not receive HSTS header
 989868888.com: max-age too low: 0
 98laba.com: could not connect to host
 98laba.net: could not connect to host
 9906753.net: could not connect to host
 99321365.com: could not connect to host
 9933445.com: could not connect to host
-99511.fi: did not receive HSTS header
+99511.fi: could not connect to host
 9968.ag: did not receive HSTS header
 9968.love: did not receive HSTS header
 9968131.com: did not receive HSTS header
-9968166.com: did not receive HSTS header
+9968166.com: could not connect to host
 9968282.com: did not receive HSTS header
 9968363.com: did not receive HSTS header
 9968389.com: did not receive HSTS header
 9968393.com: did not receive HSTS header
 9968404.com: could not connect to host
 9968505.com: could not connect to host
-9968508.com: could not connect to host
+9968508.com: did not receive HSTS header
 9968535.com: could not connect to host
-9968595.com: could not connect to host
+9968595.com: did not receive HSTS header
 9968600.com: did not receive HSTS header
 9968656.com: did not receive HSTS header
 9968707.com: could not connect to host
-9968717.com: could not connect to host
-9968838.com: could not connect to host
-9968959.com: could not connect to host
+9968717.com: did not receive HSTS header
+9968838.com: did not receive HSTS header
+9968959.com: did not receive HSTS header
 9968969.com: could not connect to host
-9968aa.com: did not receive HSTS header
+9968aa.com: could not connect to host
 9968aaa.com: could not connect to host
-9968ab.com: did not receive HSTS header
-9968abc.com: did not receive HSTS header
+9968ab.com: could not connect to host
+9968abc.com: could not connect to host
 9968app.com: did not receive HSTS header
 9968bbb.com: could not connect to host
 9968caipiao.com: did not receive HSTS header
 9968cc.com: could not connect to host
-9968ccc.com: could not connect to host
+9968ccc.com: did not receive HSTS header
 9968com.com: could not connect to host
 9968dd.com: could not connect to host
-9968ddd.com: could not connect to host
-9968ee.com: did not receive HSTS header
+9968ddd.com: did not receive HSTS header
+9968ee.com: could not connect to host
 9968eee.com: could not connect to host
-9968ff.com: could not connect to host
-9968fff.com: could not connect to host
+9968ff.com: did not receive HSTS header
+9968fff.com: did not receive HSTS header
 9968gg.com: could not connect to host
 9968ggg.com: could not connect to host
 9968go.com: did not receive HSTS header
 9968hh.com: did not receive HSTS header
-9968hhh.com: could not connect to host
-9968ii.com: could not connect to host
-9968iii.com: could not connect to host
+9968hhh.com: did not receive HSTS header
+9968ii.com: did not receive HSTS header
+9968iii.com: did not receive HSTS header
 9968jj.com: did not receive HSTS header
 9968jjj.com: could not connect to host
 9968ll.com: did not receive HSTS header
 9968lll.com: could not connect to host
-9968mm.com: did not receive HSTS header
+9968mm.com: could not connect to host
 9968mmm.com: did not receive HSTS header
-9968nn.com: could not connect to host
+9968nn.com: did not receive HSTS header
 9968nnn.com: could not connect to host
-9968ok.com: could not connect to host
-9968oo.com: could not connect to host
-9968ooo.com: could not connect to host
+9968ok.com: did not receive HSTS header
+9968oo.com: did not receive HSTS header
+9968ooo.com: did not receive HSTS header
 9968pp.com: did not receive HSTS header
 9968ppp.com: could not connect to host
-9968qq.com: could not connect to host
-9968qqq.com: could not connect to host
-9968rr.com: did not receive HSTS header
-9968rrr.com: could not connect to host
+9968qq.com: did not receive HSTS header
+9968qqq.com: did not receive HSTS header
+9968rr.com: could not connect to host
+9968rrr.com: did not receive HSTS header
 9968ss.com: could not connect to host
 9968sss.com: could not connect to host
-9968ttt.com: could not connect to host
+9968ttt.com: did not receive HSTS header
 9968uu.com: could not connect to host
-9968uuu.com: did not receive HSTS header
+9968uuu.com: could not connect to host
 9968vv.com: did not receive HSTS header
-9968vvv.com: could not connect to host
-9968ww.com: could not connect to host
+9968vvv.com: did not receive HSTS header
+9968ww.com: did not receive HSTS header
 9968www.com: could not connect to host
 9968xl.com: could not connect to host
-9968xx.com: could not connect to host
+9968xx.com: did not receive HSTS header
 9968xxx.com: did not receive HSTS header
-9968yy.com: did not receive HSTS header
-9968yyy.com: did not receive HSTS header
-9968zz.com: could not connect to host
+9968yy.com: could not connect to host
+9968yyy.com: could not connect to host
+9968zz.com: did not receive HSTS header
 9968zzz.com: could not connect to host
 99818adc.com: max-age too low: 0
-999321365.com: could not connect to host
+998wns.com: did not receive HSTS header
 9994553.com: could not connect to host
 9998722.com: could not connect to host
-99989796.com: did not receive HSTS header
-99989796.net: did not receive HSTS header
+99989796.com: could not connect to host
 9999365q.com: did not receive HSTS header
+99994048.com: did not receive HSTS header
 99998522.com: could not connect to host
 99998744.com: could not connect to host
-9999k8.com: did not receive HSTS header
-9999k8.net: did not receive HSTS header
+9999k8.com: could not connect to host
+999b58.com: did not receive HSTS header
+999zlong.com: could not connect to host
 99buffets.com: could not connect to host
+99lib.net: did not receive HSTS header
 99n13.com: could not connect to host
 99wxt.com: could not connect to host
 9allery.com: could not connect to host
 9hosts.net: could not connect to host
 9jajuice.com: could not connect to host
 9jaxtreme.com.ng: could not connect to host
-9k262.com: could not connect to host
-9k323.com: could not connect to host
-9k326.com: could not connect to host
-9k329.com: could not connect to host
-9k337.com: could not connect to host
-9k339.com: could not connect to host
-9k367.com: could not connect to host
-9k377.com: could not connect to host
-9k379.com: could not connect to host
+9k262.com: did not receive HSTS header
+9k323.com: did not receive HSTS header
+9k326.com: did not receive HSTS header
+9k329.com: did not receive HSTS header
+9k337.com: did not receive HSTS header
+9k339.com: did not receive HSTS header
+9k367.com: did not receive HSTS header
+9k377.com: did not receive HSTS header
+9k379.com: did not receive HSTS header
 9k382.com: could not connect to host
-9k387.com: could not connect to host
-9k389.com: could not connect to host
-9k392.com: could not connect to host
-9k393.com: could not connect to host
-9k395.com: could not connect to host
-9k396.com: could not connect to host
-9k397.com: could not connect to host
-9k399.com: could not connect to host
-9k562.com: could not connect to host
-9k563.com: could not connect to host
-9k565.com: could not connect to host
-9k568.com: could not connect to host
-9k569.com: could not connect to host
-9k572.com: could not connect to host
-9k576.com: could not connect to host
+9k387.com: did not receive HSTS header
+9k389.com: did not receive HSTS header
+9k392.com: did not receive HSTS header
+9k393.com: did not receive HSTS header
+9k395.com: did not receive HSTS header
+9k396.com: did not receive HSTS header
+9k397.com: did not receive HSTS header
+9k399.com: did not receive HSTS header
+9k562.com: did not receive HSTS header
+9k563.com: did not receive HSTS header
+9k565.com: did not receive HSTS header
+9k568.com: did not receive HSTS header
+9k569.com: did not receive HSTS header
+9k572.com: did not receive HSTS header
+9k576.com: did not receive HSTS header
 9k626.com: could not connect to host
-9k628.com: could not connect to host
-9k636.com: could not connect to host
-9k653.com: could not connect to host
-9k658.com: could not connect to host
-9k662.com: could not connect to host
-9k663.com: could not connect to host
-9k665.com: could not connect to host
-9k667.com: could not connect to host
-9k668.com: could not connect to host
-9k669.com: could not connect to host
-9k682.com: could not connect to host
-9k686.com: could not connect to host
-9k689.com: could not connect to host
-9k692.com: could not connect to host
+9k628.com: did not receive HSTS header
+9k636.com: did not receive HSTS header
+9k653.com: did not receive HSTS header
+9k658.com: did not receive HSTS header
+9k662.com: did not receive HSTS header
+9k663.com: did not receive HSTS header
+9k665.com: did not receive HSTS header
+9k667.com: did not receive HSTS header
+9k668.com: did not receive HSTS header
+9k669.com: did not receive HSTS header
+9k682.com: did not receive HSTS header
+9k686.com: did not receive HSTS header
+9k689.com: did not receive HSTS header
+9k692.com: did not receive HSTS header
 9k698.com: did not receive HSTS header
-9k823.com: could not connect to host
-9k826.com: could not connect to host
-9k827.com: could not connect to host
-9k833.com: could not connect to host
-9k835.com: could not connect to host
-9k836.com: could not connect to host
-9k839.com: could not connect to host
-9k855.com: could not connect to host
-9k856.com: could not connect to host
-9k859.com: could not connect to host
-9k863.com: could not connect to host
-9k865.com: could not connect to host
-9k872.com: could not connect to host
-9k875.com: could not connect to host
-9k876.com: could not connect to host
-9k877.com: could not connect to host
-9k878.com: could not connect to host
-9k879.com: could not connect to host
-9k883.com: could not connect to host
-9k885.com: could not connect to host
-9k889.com: could not connect to host
-9k892.com: could not connect to host
-9k893.com: could not connect to host
-9k896.com: could not connect to host
-9k899.com: could not connect to host
-9n1shop.com: did not receive HSTS header
-9point6.com: could not connect to host
+9k823.com: did not receive HSTS header
+9k826.com: did not receive HSTS header
+9k827.com: did not receive HSTS header
+9k833.com: did not receive HSTS header
+9k835.com: did not receive HSTS header
+9k836.com: did not receive HSTS header
+9k839.com: did not receive HSTS header
+9k855.com: did not receive HSTS header
+9k856.com: did not receive HSTS header
+9k859.com: did not receive HSTS header
+9k863.com: did not receive HSTS header
+9k865.com: did not receive HSTS header
+9k872.com: did not receive HSTS header
+9k875.com: did not receive HSTS header
+9k876.com: did not receive HSTS header
+9k877.com: did not receive HSTS header
+9k878.com: did not receive HSTS header
+9k879.com: did not receive HSTS header
+9k883.com: did not receive HSTS header
+9k885.com: did not receive HSTS header
+9k889.com: did not receive HSTS header
+9k892.com: did not receive HSTS header
+9k893.com: did not receive HSTS header
+9k896.com: did not receive HSTS header
+9k899.com: did not receive HSTS header
+9n1shop.com: could not connect to host
 9ss6.com: could not connect to host
 9thwonder.com: did not receive HSTS header
 9won.kr: could not connect to host
 9y.at: did not receive HSTS header
 a-bm.de: did not receive HSTS header
+a-classinflatables.co.uk: did not receive HSTS header
 a-intel.com: did not receive HSTS header
 a-ix.net: could not connect to host
 a-little-linux-box.at: did not receive HSTS header
@@ -2609,25 +3027,33 @@ a-players.team: could not connect to host
 a-plus.space: could not connect to host
 a-pro-pos.info: did not receive HSTS header
 a-rickroll-n.pw: could not connect to host
-a-shafaat.ir: did not receive HSTS header
+a-shafaat.ir: could not connect to host
 a-starbouncycastles.co.uk: could not connect to host
 a-theme.com: could not connect to host
+a04gameapp.com: could not connect to host
 a04webapp.com: could not connect to host
-a1-autopartsglasgow.com: did not receive HSTS header
+a06gameapp.com: could not connect to host
+a06webapp.com: could not connect to host
+a1-autopartsglasgow.com: could not connect to host
 a122.cc: could not connect to host
 a1798.com: could not connect to host
 a1972894570.com: max-age too low: 0
 a19840925.com: max-age too low: 0
-a1autotransport.com: did not receive HSTS header
 a1moldsolutions.com: could not connect to host
 a1scubastore.com: did not receive HSTS header
 a200k.xyz: did not receive HSTS header
 a2c-co.net: could not connect to host
 a2it.gr: did not receive HSTS header
 a3.pm: did not receive HSTS header
-a30365.com: did not receive HSTS header
 a365vip7.com: could not connect to host
 a3workshop.swiss: could not connect to host
+a50111.com: did not receive HSTS header
+a50222.com: did not receive HSTS header
+a50333.com: did not receive HSTS header
+a50444.com: did not receive HSTS header
+a50555.com: did not receive HSTS header
+a50666.com: did not receive HSTS header
+a50999.com: did not receive HSTS header
 a5197.co: could not connect to host
 a632079.me: did not receive HSTS header
 a6632.com: could not connect to host
@@ -2636,12 +3062,22 @@ a6729.co: could not connect to host
 a6729.com: did not receive HSTS header
 a6957.co: could not connect to host
 a6957.com: did not receive HSTS header
-a7la-chat.com: did not receive HSTS header
+a70222.com: did not receive HSTS header
+a70333.com: did not receive HSTS header
+a70444.com: did not receive HSTS header
+a70555.com: did not receive HSTS header
+a70666.com: did not receive HSTS header
+a70777.com: did not receive HSTS header
+a70888.com: did not receive HSTS header
+a70999.com: did not receive HSTS header
+a7la-chat.com: could not connect to host
+a81365.com: did not receive HSTS header
+a82365.com: did not receive HSTS header
 a899365.com: could not connect to host
 a8q.org: could not connect to host
 a9297.co: could not connect to host
-a9397.com: could not connect to host
-a9721.com: could not connect to host
+a9397.com: did not receive HSTS header
+a9721.com: did not receive HSTS header
 a9728.co: could not connect to host
 a9c.co: did not receive HSTS header
 aa1718.net: could not connect to host
@@ -2652,35 +3088,35 @@ aa6729.co: could not connect to host
 aa6729.com: did not receive HSTS header
 aa6957.co: could not connect to host
 aa753159.com: max-age too low: 0
+aa7666.com: did not receive HSTS header
 aa7733.com: could not connect to host
 aa9297.co: could not connect to host
-aa9397.com: could not connect to host
-aa9721.com: could not connect to host
+aa9397.com: did not receive HSTS header
+aa9721.com: did not receive HSTS header
 aa9728.co: could not connect to host
-aacfree.com: could not connect to host
+aacfree.com: did not receive HSTS header
+aadw.de: did not receive HSTS header
 aaeblog.com: did not receive HSTS header
 aaeblog.net: did not receive HSTS header
 aaeblog.org: did not receive HSTS header
 aaex.cloud: did not receive HSTS header
 aagetransport.no: could not connect to host
 aanbieders.ga: could not connect to host
-aandeautobody.com: could not connect to host
+aandeautobody.com: did not receive HSTS header
 aaoo.net: could not connect to host
+aapas.org.ar: did not receive HSTS header
 aapp.space: could not connect to host
 aardvarksolutions.co.za: did not receive HSTS header
 aariefhaafiz.com: could not connect to host
 aaron-gustafson.com: did not receive HSTS header
-aaron-schaal.de: could not connect to host
 aaron.cm: could not connect to host
-aaron.xin: could not connect to host
-aaronburt.co.uk: could not connect to host
-aaronhorler.com: could not connect to host
-aaronhorler.com.au: could not connect to host
-aaronmcguire.me: did not receive HSTS header
+aaron.xin: did not receive HSTS header
+aaronfurtado.com: could not connect to host
+aaronmcguire.me: could not connect to host
 aarvinproperties.com: could not connect to host
 ab-bauservice-berlin.de: did not receive HSTS header
 abacus-events.co.uk: did not receive HSTS header
-abanilla.tk: could not connect to host
+abanilla.tk: did not receive HSTS header
 abareplace.com: did not receive HSTS header
 abasalehngo.com: could not connect to host
 abasky.net: could not connect to host
@@ -2692,9 +3128,12 @@ abc-solutions.cf: could not connect to host
 abc001.ga: could not connect to host
 abc8081.net: could not connect to host
 abc9981.com: max-age too low: 0
+abcbusinesspark.com.br: could not connect to host
 abcdentalcare.com: did not receive HSTS header
 abcdzgx.com: max-age too low: 0
 abchelp.net: could not connect to host
+abdelaliezzyn.tk: could not connect to host
+abdelsater.net: did not receive HSTS header
 abdullah.pw: could not connect to host
 abearofsoap.com: could not connect to host
 abecodes.net: could not connect to host
@@ -2706,29 +3145,34 @@ abi-fvs.de: could not connect to host
 abigailstark.com: could not connect to host
 abilitylist.org: did not receive HSTS header
 abilitynet.org.uk: did not receive HSTS header
-abimelec.com: could not connect to host
 abinferis.com: could not connect to host
 abioniere.de: could not connect to host
 abitaspringsla.gov: could not connect to host
 abitur97ag.de: did not receive HSTS header
 ablak-nyilaszaro.info: did not receive HSTS header
 ablogagency.net: could not connect to host
+abloop.com: could not connect to host
 abmahnhelfer.de: did not receive HSTS header
 abnarnro.com: could not connect to host
+abobuch.de: could not connect to host
 aboderenovation.co.uk: could not connect to host
+abogadoscav.com: could not connect to host
 abolition.co: could not connect to host
 abosav.com: did not receive HSTS header
 abou.to: could not connect to host
 about.ge: did not receive HSTS header
+aboutasia-trade.nl: could not connect to host
 aboutmyip.info: did not receive HSTS header
 aboutyou-deals.de: could not connect to host
+abrakidabra.com.br: could not connect to host
 abraxan.pro: could not connect to host
+abraxasteam.com: could not connect to host
 abrilect.com: could not connect to host
 abruzzobeautybar.com: did not receive HSTS header
 absimple.ca: did not receive HSTS header
 absinthium.ch: could not connect to host
 absolutehaitian.com: did not receive HSTS header
-absolutehosting.co.za: did not receive HSTS header
+absolutehosting.co.za: could not connect to host
 absolutewaterproofingsolutions.com: did not receive HSTS header
 abstractbarista.com: could not connect to host
 abstudio.de: did not receive HSTS header
@@ -2738,6 +3182,7 @@ abublog.com: could not connect to host
 abury.fr: could not connect to host
 abury.me: did not receive HSTS header
 abyssgaming.eu: could not connect to host
+ac-elektro.com.ua: could not connect to host
 ac-town.com: could not connect to host
 acabadosboston.com: could not connect to host
 academialowcost.com.br: did not receive HSTS header
@@ -2750,7 +3195,9 @@ acai51.net: could not connect to host
 acandroid.top: could not connect to host
 acaonegocios.com.br: could not connect to host
 acapadena.co: could not connect to host
+acarreosvillavicencio.com: could not connect to host
 acbc.ie: max-age too low: 0
+accadia.academy: could not connect to host
 accadoro.it: did not receive HSTS header
 accbay.com: could not connect to host
 accelerate.network: could not connect to host
@@ -2759,22 +3206,22 @@ accelight.co.jp: did not receive HSTS header
 accelight.jp: did not receive HSTS header
 access-sofia.org: did not receive HSTS header
 accessmy.net: did not receive HSTS header
-acchikocchi.org: did not receive HSTS header
+acchikocchi.org: could not connect to host
 acclivity.pro: could not connect to host
 accolade.com.br: could not connect to host
 accordable.gq: could not connect to host
 accoun.technology: could not connect to host
 accounts-p.com: did not receive HSTS header
 accountsuspended.club: could not connect to host
-accuritconsulting.com: did not receive HSTS header
 accuritpresence.com: did not receive HSTS header
 accwing.com: could not connect to host
 ace-aegon.cloud: could not connect to host
 ace.media: did not receive HSTS header
 aceadvisory.biz: did not receive HSTS header
-acefreightco.com: could not connect to host
 acen.eu: could not connect to host
-acevik.de: did not receive HSTS header
+aceshop702.com: could not connect to host
+acessibilidadebr.com.br: could not connect to host
+acevik.de: could not connect to host
 acfo.org: did not receive HSTS header
 acg.mn: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 acg.sb: could not connect to host
@@ -2784,52 +3231,66 @@ acgaudio.com: could not connect to host
 acgmoon.com: could not connect to host
 acgmoon.org: could not connect to host
 acgpiano.club: could not connect to host
+acgqwq.gq: could not connect to host
 acheconcursos.com.br: did not receive HSTS header
 acheirj.com.br: could not connect to host
+achenar.net: did not receive HSTS header
 acheritage.co.uk: did not receive HSTS header
-achinsk.tk: could not connect to host
+acheter-ethylotest.fr: did not receive HSTS header
+achinsk.tk: did not receive HSTS header
 achmadfamily.com: could not connect to host
 achow101.com: did not receive HSTS header
 achterhoekseveiligheidsbeurs.nl: could not connect to host
+achtzehnterachter.de: could not connect to host
 acicj.org: did not receive HSTS header
 acid.ninja: could not connect to host
 acidbin.co: did not receive HSTS header
 aciety.com: did not receive HSTS header
 acisonline.net: did not receive HSTS header
-ackis.duckdns.org: could not connect to host
 acklandstainless.com.au: did not receive HSTS header
 acksoft.fr: did not receive HSTS header
 acksoftdemo.fr: did not receive HSTS header
 acl.ink: could not connect to host
-acmexyz123.info: could not connect to host
+acluva.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+acmexyz123.info: did not receive HSTS header
+acnpacific.com: did not receive HSTS header
 acoffeeshops.com: could not connect to host
 acorns.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 acorntreecare.com: could not connect to host
 acoshift.com: could not connect to host
 acoshift.me: did not receive HSTS header
+acousticsoundrecords.com: could not connect to host
 acp-integrative.fr: did not receive HSTS header
 acpcoils.com: did not receive HSTS header
 acpinformatique.fr: could not connect to host
+acquistareviagragenericoitalia.net: could not connect to host
 acr.im: could not connect to host
-acraft.org: could not connect to host
+acraft.org: did not receive HSTS header
 acrealux.lu: did not receive HSTS header
 acrepairdrippingsprings.com: could not connect to host
 acritelli.com: did not receive HSTS header
+acriticismlab.org: could not connect to host
 acrobatic.tk: could not connect to host
 acrolife.cz: did not receive HSTS header
 acroso.me: did not receive HSTS header
 across.ml: could not connect to host
 acrossgw.com: could not connect to host
 acs-chantal.com: did not receive HSTS header
+acs-nettoyage-entretien-immeuble.com: could not connect to host
 acsihostingsolutions.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 acslimited.co.uk: did not receive HSTS header
 actc81.fr: could not connect to host
 actilove.ch: could not connect to host
 actingcxo.com: did not receive HSTS header
+actionlabs.net: could not connect to host
+actionselling.com: did not receive HSTS header
 actiontowingroundrock.com: did not receive HSTS header
-activateplay.com: did not receive HSTS header
+activateplay.com: could not connect to host
 active-escape.com: could not connect to host
+active-tluszcz.pl: did not receive HSTS header
+activecare-monitor.com: could not connect to host
 activeclearweb.com: could not connect to host
+activegearandapparel.com: did not receive HSTS header
 activescreenshots.com: could not connect to host
 activeweb.top: could not connect to host
 activistasconstructivos.org: did not receive HSTS header
@@ -2838,7 +3299,6 @@ activitesaintnicaise.org: could not connect to host
 activiti.alfresco.com: did not receive HSTS header
 actorshop.co.uk: could not connect to host
 actorsroom.com: could not connect to host
-actserv.co.ke: could not connect to host
 actu-film.com: max-age too low: 0
 actu-medias.com: did not receive HSTS header
 actualite-videos.com: could not connect to host
@@ -2848,6 +3308,7 @@ acupofsalt.tv: could not connect to host
 acupunturamadrid.xyz: could not connect to host
 acuve.jp: could not connect to host
 acyclovir-cream.cf: could not connect to host
+acyume.com: did not receive HSTS header
 ad-disruptio.fr: could not connect to host
 ad13.in: could not connect to host
 ada.eco: could not connect to host
@@ -2855,16 +3316,19 @@ ada.is: max-age too low: 2592000
 adajwells.me: could not connect to host
 adam-wilson.me: did not receive HSTS header
 adambalogh.net: could not connect to host
-adamcoffee.net: could not connect to host
+adambryant.ca: could not connect to host
 adamjoycegames.co.uk: could not connect to host
 adamkaminski.com: did not receive HSTS header
+adamoshaver.com: did not receive HSTS header
 adamradocz.com: could not connect to host
+adamricheimer.com: could not connect to host
 adamsbouncycastles.co.uk: could not connect to host
 adamsfoundationrepair.com: did not receive HSTS header
 adamtatusko.com: max-age too low: 0
 adamwallington.co.uk: could not connect to host
 adamwilcox.org: did not receive HSTS header
 adamwk.com: did not receive HSTS header
+adaptergonomics.com: did not receive HSTS header
 adarshcloud.in: could not connect to host
 adarshthapa.in: did not receive HSTS header
 adastra.re: could not connect to host
@@ -2872,11 +3336,13 @@ adblock.ovh: could not connect to host
 adboos.com: could not connect to host
 addaxpetroleum.com: could not connect to host
 addeekt.com: could not connect to host
+addicional.com: did not receive HSTS header
 addistribution.it: could not connect to host
 addones.net: could not connect to host
+addones.org: could not connect to host
 addvocate.com: could not connect to host
 addydari.us: could not connect to host
-addyourlink.tk: could not connect to host
+addyourlink.tk: did not receive HSTS header
 adec-emsa.ae: could not connect to host
 adelaides.com: did not receive HSTS header
 adelevie.com: could not connect to host
@@ -2887,13 +3353,13 @@ adeon.ml: could not connect to host
 adequatetechnology.com: could not connect to host
 aderal.io: could not connect to host
 adesa-asesoria.com: did not receive HSTS header
+adesa.co.uk: did not receive HSTS header
 adfa-1.com: could not connect to host
 adhigamindia.com: could not connect to host
-adhoc.is: could not connect to host
+adhoc.is: did not receive HSTS header
 adhosting.nl: did not receive HSTS header
 adhs-chaoten.net: could not connect to host
 adigitali.biz: did not receive HSTS header
-adinariversloveschool.com: could not connect to host
 adindexr.com: could not connect to host
 adint.net: did not receive HSTS header
 adiponectinsupplement.info: did not receive HSTS header
@@ -2902,11 +3368,13 @@ adlerweb.info: did not receive HSTS header
 adm-sarov.ru: could not connect to host
 admin-forms.co.uk: did not receive HSTS header
 admin-numerique.com: did not receive HSTS header
+admin.casa: could not connect to host
 admin.google.com: did not receive HSTS header (error ignored - included regardless)
 admins.tech: did not receive HSTS header
 adminwerk.com: did not receive HSTS header
 adminwerk.net: did not receive HSTS header
 adminwiki.fr: did not receive HSTS header
+admirable.one: could not connect to host
 admirable.pro: could not connect to host
 admitcard.co.in: could not connect to host
 admsel.ec: could not connect to host
@@ -2914,30 +3382,32 @@ adnanoktar.com: did not receive HSTS header
 adnanotoyedekparca.com: could not connect to host
 adnmb1.com: could not connect to host
 adnot.am: did not receive HSTS header
-adnseguros.es: could not connect to host
 adoal.net: could not connect to host
 adoge.me: could not connect to host
-adohanyzasjovoje.hu: did not receive HSTS header
+adohanyzasjovoje.hu: could not connect to host
+adomicilio.com.gt: could not connect to host
 adonairelogios.com.br: could not connect to host
 adonizer.science: could not connect to host
-adonnante.com: could not connect to host
 adopteunsiteflash.com: could not connect to host
 adorai.tk: could not connect to host
 adoriasoft.com: did not receive HSTS header
 adprospb.com: did not receive HSTS header
-adquisitio.de: did not receive HSTS header
+adquisitio.co.uk: could not connect to host
+adquisitio.de: could not connect to host
+adquisitio.es: could not connect to host
+adquisitio.fr: could not connect to host
 adquisitio.in: could not connect to host
+adquisitio.it: could not connect to host
 adrenaline-gaming.ru: could not connect to host
 adresults.com: did not receive HSTS header
 adresults.nl: did not receive HSTS header
-adrian-riemer.tk: could not connect to host
+adrian-riemer.tk: did not receive HSTS header
 adrian2023.com: did not receive HSTS header
 adrianajewelry.my: could not connect to host
 adriancohea.ninja: could not connect to host
 adrianjensen.com: could not connect to host
-adrianseo.ro: could not connect to host
 adrien.vin: did not receive HSTS header
-adrinet.tk: could not connect to host
+adrinet.tk: did not receive HSTS header
 adrino.ml: could not connect to host
 adrl.ca: could not connect to host
 adsfund.org: could not connect to host
@@ -2945,6 +3415,7 @@ aduedu.de: did not receive HSTS header
 adult.properties: could not connect to host
 adultbizz.eu: could not connect to host
 adunanza.net: did not receive HSTS header
+advaithbot.com: did not receive HSTS header
 advaithnikhi.ml: could not connect to host
 advaithnikhi.tk: could not connect to host
 advanced-online.eu: could not connect to host
@@ -2952,7 +3423,7 @@ advanceddisposables.co.uk: did not receive HSTS header
 advancedplasticsurgerycenter.com: did not receive HSTS header
 advancedstudio.ro: could not connect to host
 advancedweb.hu: did not receive HSTS header
-advancyte.com: did not receive HSTS header
+advancyte.com: could not connect to host
 advelty.cz: did not receive HSTS header
 advenapay.com: could not connect to host
 advengers.net: did not receive HSTS header
@@ -2969,16 +3440,16 @@ advocaten-avocats.be: did not receive HSTS header
 advocatenalkmaar.org: could not connect to host
 advocator.ca: could not connect to host
 advokaty-onlajn.gq: could not connect to host
+advst.uk: could not connect to host
 adws.io: could not connect to host
 adzie.xyz: could not connect to host
 adzuna.co.uk: did not receive HSTS header
 ae8601.com: could not connect to host
+ae86nb.com: could not connect to host
 ae86sb.com: could not connect to host
 ae86x.com: could not connect to host
-aegee-utrecht.nl: did not receive HSTS header
 aegialis.com: did not receive HSTS header
-aegisinsight.com: did not receive HSTS header
-aei-asc.edu.my: did not receive HSTS header
+aegis.moe: could not connect to host
 aemoria.com: could not connect to host
 aeon.wiki: could not connect to host
 aep-digital.com: did not receive HSTS header
@@ -2987,16 +3458,17 @@ aereco.com: did not receive HSTS header
 aerialmediapro.net: could not connect to host
 aerolog.co: did not receive HSTS header
 aeroparking.es: did not receive HSTS header
-aerotheque.fr: could not connect to host
+aerorecords.net: could not connect to host
+aerotheque.fr: did not receive HSTS header
 aes256.ru: could not connect to host
-aestheticdr.org: did not receive HSTS header
 aesthetics-blog.com: did not receive HSTS header
+aestheticsplus.xyz: could not connect to host
 aestore.by: could not connect to host
 aesym.de: could not connect to host
 aether.pw: could not connect to host
 aethonan.pro: could not connect to host
 aetoscg.com: could not connect to host
-aetoscg.com.au: did not receive HSTS header
+aetoscg.com.au: could not connect to host
 aevpn.net: could not connect to host
 aevpn.org: could not connect to host
 aeyoun.com: did not receive HSTS header
@@ -3006,9 +3478,13 @@ af-tech.cz: could not connect to host
 afb24.de: did not receive HSTS header
 afbeelding.im: could not connect to host
 afbeeldinguploaden.nl: could not connect to host
+afcmrs.org: did not receive HSTS header
+afcmrsfeedback.org: did not receive HSTS header
+afcmrstest.org: could not connect to host
 afdkompakt.de: max-age too low: 86400
 afeefzarapackages.com: did not receive HSTS header
-aff.moe: did not receive HSTS header
+aff.moe: could not connect to host
+affiliatefeatures.com: could not connect to host
 affiliateroyale.com: did not receive HSTS header
 affily.io: could not connect to host
 affloc.com: did not receive HSTS header
@@ -3017,24 +3493,25 @@ affordablebouncycastle.co.uk: did not receive HSTS header
 affordableenergyadvocates.com: could not connect to host
 affordablekilimanjaro.com: could not connect to host
 affvps.net: could not connect to host
-afganistan.cf: could not connect to host
+afganistan.cf: did not receive HSTS header
 afghan.gq: could not connect to host
+afharvey.com: did not receive HSTS header
 aficotroceni.ro: did not receive HSTS header
-afinterio.com: did not receive HSTS header
 afiru.net: could not connect to host
 aflamtorrent.com: did not receive HSTS header
 aflfreebets.com: could not connect to host
 aflowershop.ca: could not connect to host
 afmchandler.com: did not receive HSTS header
 afmt.fr: did not receive HSTS header
-afonso.io: did not receive HSTS header
 afp548.tk: could not connect to host
-african-bay.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+afree.ir: did not receive HSTS header
 africanexponent.com: did not receive HSTS header
 africankitchen.gallery: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 africatravel.de: did not receive HSTS header
+afrikarl.de: could not connect to host
+afs-asso.org: did not receive HSTS header
 afscheidsportret.nl: could not connect to host
-aftab-alam.de: could not connect to host
+aftab-alam.de: did not receive HSTS header
 after.im: did not receive HSTS header
 afterskool.eu: could not connect to host
 afterstack.net: could not connect to host
@@ -3042,10 +3519,23 @@ afuh.de: could not connect to host
 afvallendoeje.nu: could not connect to host
 afyou.co.kr: could not connect to host
 afzco.asia: did not receive HSTS header
+ag-55.net: could not connect to host
 ag-websolutions.de: did not receive HSTS header
+ag2722.com: could not connect to host
+ag2983.com: could not connect to host
+ag3131a.com: could not connect to host
+ag6.vc: could not connect to host
+ag600.com: could not connect to host
+ag6211.com: could not connect to host
+ag686.com: could not connect to host
 ag775.com: could not connect to host
+ag81826.com: could not connect to host
+ag81867.com: could not connect to host
+ag81886.com: could not connect to host
+ag82008.com: did not receive HSTS header
 ag88.com: could not connect to host
-ag8891.com: could not connect to host
+ag880.win: could not connect to host
+ag8819-livechat.com: could not connect to host
 ag9999.co: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 agalaxyfarfaraway.co.uk: could not connect to host
 agarioforum.ga: could not connect to host
@@ -3053,70 +3543,89 @@ agatheetraphael.fr: could not connect to host
 agbremen.de: could not connect to host
 agdalieso.com.ba: could not connect to host
 age.hk: did not receive HSTS header
+ageg.ca: did not receive HSTS header
 agelesscitizen.com: could not connect to host
 agelesscitizens.com: could not connect to host
 agenbettingasia.com: did not receive HSTS header
 agenceactiv.immo: did not receive HSTS header
 agenceklic.com: did not receive HSTS header
-agencewebstreet.com: did not receive HSTS header
-agenciafiscal.pe: could not connect to host
+agencewebstreet.com: could not connect to host
+agenciabonobo.com: did not receive HSTS header
+agenciadeempregosdourados.com.br: did not receive HSTS header
 agenciagriff.com: did not receive HSTS header
 agenciamdg.com.br: did not receive HSTS header
+agenciamseo.com.br: did not receive HSTS header
 agencymanager.be: could not connect to host
 agendazilei.com: did not receive HSTS header
 agendo.com.ar: did not receive HSTS header
 agent6.com.au: did not receive HSTS header
+agenteit.com: did not receive HSTS header
 agentseeker.ca: could not connect to host
 agenziapubblicitaria.milano.it: could not connect to host
 agenziapubblicitaria.roma.it: could not connect to host
-agevio.com: could not connect to host
+agevio.com: did not receive HSTS header
 agglo-sion.ch: could not connect to host
-aggr.pw: did not receive HSTS header
+aggr.pw: could not connect to host
 agia.ad: did not receive HSTS header
 agiairini.cz: could not connect to host
 agic.io: did not receive HSTS header
 agilebits.net: could not connect to host
 agileecommerce.com.br: did not receive HSTS header
+agilesurvey.ch: could not connect to host
+agingstats.gov: did not receive HSTS header
 agingstop.net: could not connect to host
-agiosthomas.tk: could not connect to host
+agiosthomas.tk: did not receive HSTS header
 agiserv.fr: could not connect to host
-agks131.com: could not connect to host
+agks136.com: could not connect to host
+aglc8.com: could not connect to host
+agonworks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 agoravm.tk: could not connect to host
 agostinhoenascimento.com.br: could not connect to host
 agotnes.com: could not connect to host
-agowa.eu: did not receive HSTS header
+agowa.eu: could not connect to host
+agpideas.com: did not receive HSTS header
 agracan.com: could not connect to host
 agrafix.design: did not receive HSTS header
 agrajag.nl: did not receive HSTS header
 agrargruppe.tk: could not connect to host
-agreor.com: could not connect to host
-agrias.com.br: did not receive HSTS header
+agrias.com.br: could not connect to host
+agricolo.ch: could not connect to host
+agridir.site: could not connect to host
 agrikulturchic.com: could not connect to host
 agrilinks.org: did not receive HSTS header
 agrimap.com: did not receive HSTS header
 agro-forestry.net: could not connect to host
 agro-id.gov.ua: did not receive HSTS header
 agro.rip: could not connect to host
+agrodronechile.cl: did not receive HSTS header
 agroglass.com.br: did not receive HSTS header
-agrolab.dk: did not receive HSTS header
+agromotorsburzaco.com: could not connect to host
+agscinemasapp.com: could not connect to host
+agslot.com: could not connect to host
+agslot.net: could not connect to host
 agtv.com.br: did not receive HSTS header
+aguijara.com: did not receive HSTS header
 agul.tk: did not receive HSTS header
-ahabingo.com: did not receive HSTS header
+agwin1.com: could not connect to host
+ahabingo.com: could not connect to host
 ahd1234.com: max-age too low: 0
 ahelos.tk: could not connect to host
 aheng.me: did not receive HSTS header
 ahero4all.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ahidta.gov: could not connect to host
-ahiru3.com: did not receive HSTS header
+ahiru3.com: could not connect to host
 ahmadly.com: max-age too low: 2592000
 ahmd.io: did not receive HSTS header
+ahmedabadflowermall.com: could not connect to host
 aholic.co: did not receive HSTS header
 ahoynetwork.com: could not connect to host
 ahri.ovh: could not connect to host
 ahsin.online: could not connect to host
+ahsyg.com: could not connect to host
+ahu.la: could not connect to host
 ahwah.net: could not connect to host
 ahwatukeefoothillsmontessori.com: did not receive HSTS header
-ai.je: did not receive HSTS header
+ai.je: could not connect to host
 ai00.vip: could not connect to host
 ai1989.com: could not connect to host
 aia.de: did not receive HSTS header
@@ -3130,7 +3639,6 @@ aicv.club: could not connect to host
 aidanwoods.com: did not receive HSTS header
 aide-admin.com: did not receive HSTS header
 aide-valais.ch: could not connect to host
-aidhan.net: could not connect to host
 aidikofflaw.com: could not connect to host
 aido.gq: could not connect to host
 aiesecarad.ro: could not connect to host
@@ -3138,22 +3646,22 @@ aiforsocialmedia.com: could not connect to host
 aifreeze.ru: could not connect to host
 aify.eu: could not connect to host
 aiheisi.com: could not connect to host
+aiho.stream: did not receive HSTS header
 aiicy.org: could not connect to host
 aiida.se: did not receive HSTS header
 aikenorganics.com: could not connect to host
-aiki.tk: did not receive HSTS header
+ailitonia.xyz: could not connect to host
 aim-consultants.com: did not receive HSTS header
-aimd.tech: did not receive HSTS header
 aimerworld.com: did not receive HSTS header
 aimonline.nl: did not receive HSTS header
 aimrom.org: could not connect to host
 ainishitou.com: max-age too low: 0
 ainrb.com: could not connect to host
+aintevenmad.ch: did not receive HSTS header
 ainutrition.co.uk: did not receive HSTS header
 aioboot.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 aip-marine.com: could not connect to host
 aiphyron.com: could not connect to host
-aipi.de: did not receive HSTS header
 aiponne.com: could not connect to host
 airbly.com: did not receive HSTS header
 airconsboksburg.co.za: did not receive HSTS header
@@ -3161,25 +3669,26 @@ airconsrandburg.co.za: did not receive HSTS header
 airconssandton.co.za: did not receive HSTS header
 airductcleaning-fresno.com: did not receive HSTS header
 airedaleterrier.com.br: could not connect to host
-airi-tabei.com: could not connect to host
 airlea.com: could not connect to host
 airlectrical-airconditioning.com.au: could not connect to host
 airline-economy.com: did not receive HSTS header
 airlinecheckins.com: did not receive HSTS header
 airlock.com: did not receive HSTS header
 airmazinginflatables.com: could not connect to host
+airnow.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 airportlimototoronto.com: did not receive HSTS header
 airproto.com: could not connect to host
 airpurifierproductsonline.com: could not connect to host
 airsick.guide: did not receive HSTS header
 airtimefranchise.com: could not connect to host
 airware.com: did not receive HSTS header
-airwegobouncycastles.co.uk: did not receive HSTS header
+airwegobouncycastles.co.uk: could not connect to host
 aishnair.com: could not connect to host
 aisin.ae: did not receive HSTS header
 aisle3.space: could not connect to host
-aisr.nl: did not receive HSTS header
+aisr.nl: could not connect to host
 aiticon.de: did not receive HSTS header
+aiutodomestico.ch: could not connect to host
 aivene.com: could not connect to host
 aiw-thkoeln.online: could not connect to host
 aiwdirect.com: did not receive HSTS header
@@ -3188,11 +3697,11 @@ ajapaik.ee: did not receive HSTS header
 ajces.com: could not connect to host
 ajetaci.cz: could not connect to host
 ajibot.com: could not connect to host
-ajmahal.com: could not connect to host
-ajman-realty.ga: could not connect to host
+ajmahal.com: did not receive HSTS header
+ajman-realty.ga: did not receive HSTS header
 ajouin.com: could not connect to host
-ajsgall.com: could not connect to host
 ajw-group.com: did not receive HSTS header
+ak.com.iq: did not receive HSTS header
 aka.my: did not receive HSTS header
 akash.tk: could not connect to host
 akazakov.info: did not receive HSTS header
@@ -3209,8 +3718,10 @@ akilli-devre.com: could not connect to host
 akita-boutique.com: could not connect to host
 akita-stream.com: could not connect to host
 akkadia.cc: could not connect to host
+akkeylab.com: did not receive HSTS header
 akoch.net: could not connect to host
 akombakom.net: could not connect to host
+akoofs.com: did not receive HSTS header
 akpwebdesign.com: did not receive HSTS header
 akracing.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 akritikos.info: could not connect to host
@@ -3218,33 +3729,35 @@ akselimedia.fi: could not connect to host
 akshay.in.eu.org: could not connect to host
 akstudentsfirst.org: could not connect to host
 aktan.com.br: could not connect to host
+aktca.org: did not receive HSTS header
 aktivist.in: did not receive HSTS header
-aktuelle-uhrzeit.at: did not receive HSTS header
+aktuelle-uhrzeit.at: could not connect to host
 akul.co.in: could not connect to host
-akupunktur-akupunktoer.dk: did not receive HSTS header
 akustik.tech: could not connect to host
-akuston.eu: did not receive HSTS header
 akyildiz.net: did not receive HSTS header
 al-shami.net: could not connect to host
-alamancetv.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+al3366.tech: could not connect to host
+al3xpro.com: could not connect to host
 alamgir.works: did not receive HSTS header
 alanlee.net: could not connect to host
 alanrickmanflipstable.com: did not receive HSTS header
 alanya.law: did not receive HSTS header
-alarelleimpresiones.com: could not connect to host
 alariel.de: did not receive HSTS header
 alarme-gps.ch: could not connect to host
 alarmegps.ch: could not connect to host
-alarmsystemreviews.com: did not receive HSTS header
+alarmsystemreviews.com: could not connect to host
 alaskarsbc.org: did not receive HSTS header
 alasta.info: could not connect to host
 alauda-home.de: could not connect to host
 alaundeil.xyz: could not connect to host
+alaxyjewellers.co.za: could not connect to host
 albanboye.info: did not receive HSTS header
-albaniaonline.tk: could not connect to host
+albaniaonline.tk: did not receive HSTS header
 albaniareiser.no: could not connect to host
 albanien.guide: could not connect to host
+albareport.com: could not connect to host
 alberguecimballa.es: could not connect to host
+alberoraydolap.com: did not receive HSTS header
 albertify.xyz: could not connect to host
 albertonplumber24-7.co.za: did not receive HSTS header
 albertopimienta.com: did not receive HSTS header
@@ -3252,7 +3765,7 @@ albinma.com: could not connect to host
 albrocar.com: could not connect to host
 albuic.tk: could not connect to host
 alcantarafleuriste.com: did not receive HSTS header
-alcatraz.online: did not receive HSTS header
+alcatraz.online: could not connect to host
 alcazaar.com: could not connect to host
 alchemia.co.il: did not receive HSTS header
 alcnutrition.com: could not connect to host
@@ -3262,21 +3775,24 @@ aldenmiamibeach.com: did not receive HSTS header
 aldes.co.za: did not receive HSTS header
 aldred.cloud: did not receive HSTS header
 aleax.me: could not connect to host
-alecel.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 alecvannoten.be: did not receive HSTS header
 aledg.cl: did not receive HSTS header
 aleksejjocic.tk: could not connect to host
 alenan.org: could not connect to host
+alerbon.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 alertaenlinea.gov: did not receive HSTS header
-alessandro.pw: did not receive HSTS header
+alessandro.pw: could not connect to host
 alessandroz.pro: could not connect to host
 alethearose.com: could not connect to host
 alevi-forum.tk: could not connect to host
+alexanderb.info: could not connect to host
 alexandermuetzel.de: did not receive HSTS header
 alexandernorth.ch: could not connect to host
+alexandre-blond.fr: did not receive HSTS header
 alexandre.sh: did not receive HSTS header
 alexandrefa.ovh: could not connect to host
 alexandros.io: could not connect to host
+alexbogovich.com: did not receive HSTS header
 alexbresnahan.com: could not connect to host
 alexdaulby.com: did not receive HSTS header
 alexdodge.ca: did not receive HSTS header
@@ -3294,7 +3810,7 @@ alexkidd.de: could not connect to host
 alexkott.com: did not receive HSTS header
 alexmak.net: did not receive HSTS header
 alexmol.tk: could not connect to host
-alexmroberts.net: could not connect to host
+alexpavel.com: could not connect to host
 alexperry.io: could not connect to host
 alexsinnott.me: did not receive HSTS header
 alexthayne.co.uk: could not connect to host
@@ -3316,16 +3832,18 @@ algoaware.eu: could not connect to host
 algofactory.de: could not connect to host
 algorithmic.ml: could not connect to host
 algorithmofsuccess.com: could not connect to host
-algoritmus-uspechu.cz: could not connect to host
+alhost.ml: could not connect to host
 alibaba-test.tk: did not receive HSTS header
 alibababee.com: could not connect to host
 alibiloungelv.com: did not receive HSTS header
 alibip.de: could not connect to host
+alice-of-alice.top: did not receive HSTS header
 alicialab.org: could not connect to host
-alien.bz: did not receive HSTS header
 alienflight.com: could not connect to host
+alienslab.net: could not connect to host
 alienvision.com.br: could not connect to host
 aliim.gdn: could not connect to host
+alijammusic.com: did not receive HSTS header
 alilialili.ga: could not connect to host
 alinemaciel.adm.br: could not connect to host
 alinode.com: could not connect to host
@@ -3333,17 +3851,16 @@ alis-test.tk: could not connect to host
 alistairholland.me: did not receive HSTS header
 alisync.com: could not connect to host
 alittlebitcheeky.com: did not receive HSTS header
-aliwebstore.com: max-age too low: 7889238
-aljammaz.holdings: did not receive HSTS header
-aljmz.com: did not receive HSTS header
-alkami.com: max-age too low: 0
-alkamitech.com: max-age too low: 0
+aljammaz.holdings: could not connect to host
+aljmz.com: could not connect to host
+aljoschairmer.de: could not connect to host
 all-subtitles.com: could not connect to host
 all.tf: could not connect to host
 all4nursesksa.net: did not receive HSTS header
 all4os.com: could not connect to host
 allaboutthekink.org: could not connect to host
 allamericanpaintingplus.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+allamericanprotection.net: could not connect to host
 allcat.ga: could not connect to host
 allcinema.jp: could not connect to host
 alldaymonitoring.com: could not connect to host
@@ -3355,12 +3872,13 @@ allenosgood.com: did not receive HSTS header
 allerbestefreunde.de: could not connect to host
 allesisonline.nl: did not receive HSTS header
 allesovertech.nl: could not connect to host
+allesrocknroll.de: did not receive HSTS header
 allfreelancers.su: did not receive HSTS header
 alliance-clan.tk: could not connect to host
 alliance-compacts.com: did not receive HSTS header
 alliances-faq.de: could not connect to host
-allied.sh: could not connect to host
 alligatorge.de: did not receive HSTS header
+allindiacityguide.com: could not connect to host
 allinnote.com: could not connect to host
 allinonecyprus.com: did not receive HSTS header
 allisonchapleau.com: did not receive HSTS header
@@ -3368,8 +3886,10 @@ allius.de: could not connect to host
 allkindzabeats.com: could not connect to host
 allmbw.com: could not connect to host
 allmebel.ru: did not receive HSTS header
+allmemy.com: could not connect to host
 allmend-ru.de: did not receive HSTS header
 allmystery.de: did not receive HSTS header
+allnoticebd.com: could not connect to host
 allo-symo.fr: did not receive HSTS header
 allods-zone.ru: did not receive HSTS header
 alloffice.com.ua: did not receive HSTS header
@@ -3389,38 +3909,42 @@ allsortscastles.co.uk: could not connect to host
 allstarpartyinflatables.co.uk: could not connect to host
 allstarswithus.com: could not connect to host
 allstorebrasil.com.br: could not connect to host
-allthings.how: did not receive HSTS header
 allthingsblogging.com: did not receive HSTS header
 allthingsfpl.com: could not connect to host
-allurefest.com: max-age too low: 604800
+allthingssquared.com: could not connect to host
+allurefest.com: could not connect to host
 allwiki.tk: could not connect to host
 almagalla.com: could not connect to host
+almayadeen.education: could not connect to host
+almorafestival.com: could not connect to host
 aloalabs.com: did not receive HSTS header
 alocato.com: could not connect to host
 aloexn.com: max-age too low: 0
-alonas.ovh: did not receive HSTS header
+alonas.ovh: could not connect to host
 alorenzi.eu: did not receive HSTS header
 alp.net.cn: could not connect to host
 alparque.com: did not receive HSTS header
 alpe-d-or.dyn-o-saur.com: could not connect to host
 alpenjuice.com: could not connect to host
-alpha-centauri.tk: could not connect to host
+alpha-assistant.com: could not connect to host
+alpha-centauri.tk: did not receive HSTS header
 alpha.irccloud.com: could not connect to host
+alphabet-z.xyz: could not connect to host
 alphabit-secure.com: could not connect to host
 alphabrock.cn: did not receive HSTS header
 alphabuild.io: could not connect to host
 alphadote.com: could not connect to host
-alphafitnesslibya.com: could not connect to host
+alphafitnesslibya.com: did not receive HSTS header
 alphagamers.net: max-age too low: 0
 alphagateanddoor.com: did not receive HSTS header
 alphahunks.com: could not connect to host
 alphalabs.xyz: could not connect to host
-alphaman.ooo: did not receive HSTS header
-alphatrash.de: did not receive HSTS header
+alphaman.ooo: could not connect to host
 alpineplanet.com: did not receive HSTS header
+alpstarentaisetaxi.com: did not receive HSTS header
+alpstarentaisetaxi.fr: did not receive HSTS header
 alqassam.net: did not receive HSTS header
 alquiladoramexico.com: did not receive HSTS header
-alrait.com: could not connect to host
 alroniks.com: could not connect to host
 als-hardware.co.za: did not receive HSTS header
 alspolska.pl: max-age too low: 2592000
@@ -3431,23 +3955,31 @@ altabib.me: could not connect to host
 altahrim.net: could not connect to host
 altaide.com: did not receive HSTS header
 altailife.ru: did not receive HSTS header
+altairlyh.com: could not connect to host
 altamarea.se: could not connect to host
 altbinaries.com: did not receive HSTS header
 altea-pep18.com: did not receive HSTS header
 alteqnia.com: could not connect to host
+alteraro.com: did not receive HSTS header
+alterbaum.net: could not connect to host
 altercpa.ru: max-age too low: 0
 altered.network: could not connect to host
 altered.si: could not connect to host
 altergalaxy.tk: could not connect to host
 alternativedev.ca: could not connect to host
+alternativehosting.ca: did not receive HSTS header
 altfire.ca: could not connect to host
 altiacaselight.com: could not connect to host
+altisdev.com: could not connect to host
 altisnet.ga: could not connect to host
 altoneum.com: could not connect to host
-altos.tk: could not connect to host
+altonkey.com: did not receive HSTS header
+altos.tk: did not receive HSTS header
 altporn.xyz: could not connect to host
 alts.li: could not connect to host
 alttrackr.com: could not connect to host
+altweaver.com: could not connect to host
+aluminium-giesserei.de: did not receive HSTS header
 aluminium-scaffolding.co.uk: could not connect to host
 alunjam.es: did not receive HSTS header
 alunonaescola.com.br: could not connect to host
@@ -3460,34 +3992,39 @@ alvn.ga: could not connect to host
 alwaysdry.com.au: did not receive HSTS header
 alwaysonssl.com: could not connect to host
 alxpresentes.com.br: could not connect to host
-alzonaprinting.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+alyssahart.net: did not receive HSTS header
 am-39.com: could not connect to host
 am-liaotian.com: could not connect to host
 am3.se: could not connect to host
-am5566m.com: could not connect to host
+am5188.com: could not connect to host
+am5566m.com: did not receive HSTS header
+am8.im: could not connect to host
 am8213.com: could not connect to host
 am8888.top: could not connect to host
+am9d104.com: did not receive HSTS header
 amadilo.de: could not connect to host
 amadvice.com: could not connect to host
 amaforro.com: could not connect to host
 amaforums.org: did not receive HSTS header
+amal2019.com: could not connect to host
 amalfi5stars.com: did not receive HSTS header
-amalficoastchauffeur.com: did not receive HSTS header
+amalficoastchauffeur.com: could not connect to host
 amaliagamis.com: could not connect to host
 amandaonishi.com: could not connect to host
+amandaworldstudies.com: could not connect to host
 amanet.ro: did not receive HSTS header
 amao999.com: max-age too low: 0
 amaranthus.com.ph: could not connect to host
 amateurchef.co.uk: did not receive HSTS header
 amatzen.dk: did not receive HSTS header
 amavis.org: did not receive HSTS header
+amazighlove.com: did not receive HSTS header
 amazing-gaming.fr: could not connect to host
 amazingbouncycastles.co.uk: did not receive HSTS header
 amazingfloridagulfhomes.com: could not connect to host
 amazinginflatables.co.uk: could not connect to host
 ambiancestudio.ro: did not receive HSTS header
 ambouncyhire.com: could not connect to host
-ambra.net.au: did not receive HSTS header
 ambrosio.tk: could not connect to host
 ambrosius.io: could not connect to host
 amcchemical.com: could not connect to host
@@ -3504,16 +4041,15 @@ american-truck-simulator.de: could not connect to host
 american-truck-simulator.net: could not connect to host
 americanbio.com: did not receive HSTS header
 americandistribuidora.com: did not receive HSTS header
-americanindiancoc.org: did not receive HSTS header
 americanoutlawjeepparts.com: did not receive HSTS header
 americansportsinstitute.org: did not receive HSTS header
 americanworkwear.nl: did not receive HSTS header
 amerigroup.com: did not receive HSTS header
-amerimarkdirect.com: did not receive HSTS header
 ames.gq: could not connect to host
 ameschristian.net: did not receive HSTS header
 amesplash.co.uk: did not receive HSTS header
 amesvacuumrepair.com: could not connect to host
+amethystbodyart.com: did not receive HSTS header
 amethystcards.co.uk: could not connect to host
 amethyste.moe: did not receive HSTS header
 ameza.co.uk: could not connect to host
@@ -3538,6 +4074,7 @@ amin.one: could not connect to host
 aminafrance.com: could not connect to host
 aminorth.com: could not connect to host
 aminullrouted.com: could not connect to host
+amisderodin.fr: could not connect to host
 amiserver.de: could not connect to host
 amisharingstuff.com: could not connect to host
 amishsecurity.com: could not connect to host
@@ -3551,9 +4088,9 @@ ammoulianiapartments.com: did not receive HSTS header
 ammrio.com.br: did not receive HSTS header
 amo-entreprise-et-commerce.fr: could not connect to host
 amok8.am: could not connect to host
+amokinio.com: could not connect to host
 amoory.com: could not connect to host
 amorimendes.com.br: could not connect to host
-amosng.com: could not connect to host
 amphibo.ly: could not connect to host
 ampledesigners.com: could not connect to host
 ampleinfographics.com: could not connect to host
@@ -3564,16 +4101,19 @@ amtentertainments.co.uk: could not connect to host
 amua.fr: did not receive HSTS header
 amunoz.org: could not connect to host
 amv-crm.ru: did not receive HSTS header
+amxpj888.com: could not connect to host
+amyfoundhermann.com: could not connect to host
 amyharrisonline.com: did not receive HSTS header
 amyrussellhair.com: could not connect to host
 amzanalyzer.com: did not receive HSTS header
+an-alles-gedacht.de: could not connect to host
 anabol.nl: could not connect to host
+anabolic.co: did not receive HSTS header
 anachronis.gq: could not connect to host
 anadoluefessk.org: did not receive HSTS header
 anadoluefessporkulubu.org: could not connect to host
 anaethelion.fr: could not connect to host
 anagra.ms: could not connect to host
-anaisypirueta.es: did not receive HSTS header
 anajianu.ro: max-age too low: 2592000
 anakros.me: did not receive HSTS header
 analangelsteen.com: could not connect to host
@@ -3584,6 +4124,7 @@ analyticsinmotion.net: could not connect to host
 analyzemyfriends.com: could not connect to host
 ananas.gq: could not connect to host
 ananiev.ml: could not connect to host
+ananke.io: could not connect to host
 anarajaoui.ma: could not connect to host
 anarchistos.tk: could not connect to host
 anarchyrp.life: could not connect to host
@@ -3591,23 +4132,27 @@ anassiriphotography.com: could not connect to host
 anastasiafond.com: did not receive HSTS header
 anaveragehuman.eu.org: did not receive HSTS header
 ancarda.net: could not connect to host
-ancel.io: could not connect to host
 anchorgrounds.com: did not receive HSTS header
 anchorinmarinainc.com: did not receive HSTS header
 ancient-gates.de: could not connect to host
+ancient-times.info: did not receive HSTS header
 ancientcraft.eu: could not connect to host
 ancientkarma.com: could not connect to host
 andbraiz.com: could not connect to host
 andere-gedanken.net: did not receive HSTS header
 anderslind.dk: did not receive HSTS header
 andicui.net: did not receive HSTS header
+andicui.xyz: did not receive HSTS header
 andisadhdspot.com: could not connect to host
 andiscyber.space: could not connect to host
 andoms.fi: did not receive HSTS header
 andre-ballensiefen.de: could not connect to host
+andreahruby.it: could not connect to host
+andrealand.sk: did not receive HSTS header
 andreas-hecht.com: did not receive HSTS header
 andreasanti.net: did not receive HSTS header
 andreasbasurto.com: could not connect to host
+andreaseracleous.com: max-age too low: 2592000
 andreasfritz-fotografie.de: could not connect to host
 andreashecht-blog.de: did not receive HSTS header
 andreaskluge.eu: could not connect to host
@@ -3621,52 +4166,56 @@ andrejbenz.com: could not connect to host
 andrejstefanovski.com: did not receive HSTS header
 andrepicard.de: could not connect to host
 andrerose.ca: did not receive HSTS header
-andrewbroekman.com: could not connect to host
+andrewbroekman.com: did not receive HSTS header
 andrewdavidwong.com: did not receive HSTS header
 andrewdaws.co: could not connect to host
 andrewdaws.info: could not connect to host
 andrewdaws.me: could not connect to host
 andrewdaws.tv: could not connect to host
 andrewletson.com: could not connect to host
-andrewmcfarlane.tk: could not connect to host
+andrewmcfarlane.tk: did not receive HSTS header
 andrewmichaud.beer: could not connect to host
 andrewrdaws.com: could not connect to host
 andrewregan.me: could not connect to host
 andrewtebert.com: did not receive HSTS header
 andrewthelott.net: did not receive HSTS header
 andrewvoce.com: did not receive HSTS header
+andrewx.net: could not connect to host
 andrewyg.net: could not connect to host
-andrey.red: could not connect to host
 andrezadnik.com: did not receive HSTS header
+andrija-i-andjelka.com: did not receive HSTS header
 andriraharjo.com: could not connect to host
 android: could not connect to host
+android-tv.3utilities.com: could not connect to host
 androidprosmart.com: could not connect to host
 androidsphone.com: did not receive HSTS header
 androled.fr: max-age too low: 5184000
 andronika.net: could not connect to host
 androoz.se: did not receive HSTS header
+androtech.xyz: did not receive HSTS header
 androzoom.com: did not receive HSTS header
 andso.cn: did not receive HSTS header
 andyclark.io: could not connect to host
 andycloud.dynu.net: could not connect to host
+andycraftz.eu: could not connect to host
 andymartin.cc: could not connect to host
 andymelichar.com: max-age too low: 0
 andymoore.info: did not receive HSTS header
-andys-place.co.uk: could not connect to host
 andyuk.org: did not receive HSTS header
 anecuni-club.com: could not connect to host
 anecuni-rec.com: could not connect to host
 anegabawa.com: did not receive HSTS header
+anelusa.com: did not receive HSTS header
 anendlesssupply.co.uk: did not receive HSTS header
 anfenglish.com: did not receive HSTS header
 anfsanchezo.co: could not connect to host
 anfsanchezo.me: could not connect to host
 ange-de-bonheur444.com: could not connect to host
 angel-body.com: could not connect to host
-angelcloudworld.com: did not receive HSTS header
-angelcojuelo.com: did not receive HSTS header
+angelcloudworld.com: could not connect to host
+angelcojuelo.com: could not connect to host
 angelic47.com: max-age too low: 2592000
-angelinaangulo.com: did not receive HSTS header
+angelinaangulo.com: could not connect to host
 angeloroberto.ch: did not receive HSTS header
 angeloryndon.com: did not receive HSTS header
 angelsgirl.eu.org: could not connect to host
@@ -3676,9 +4225,12 @@ anglertanke.de: could not connect to host
 anglesgirl.eu.org: could not connect to host
 anglesya.win: did not receive HSTS header
 anglictinatabor.cz: could not connect to host
+angora.freesite.host: could not connect to host
 angorarental.com: did not receive HSTS header
+angrapa.ru: did not receive HSTS header
 angrut.com: could not connect to host
 angry-monk.com: could not connect to host
+angry.im: could not connect to host
 angrydragonproductions.com: could not connect to host
 angrylab.com: could not connect to host
 angryroute.com: could not connect to host
@@ -3692,13 +4244,12 @@ animalstropic.com: could not connect to host
 animamega.tk: could not connect to host
 animan.ca: could not connect to host
 animatelluris.nl: could not connect to host
-anime-drift.tk: could not connect to host
+anime-drift.tk: did not receive HSTS header
 anime1.top: could not connect to host
 anime1video.tk: could not connect to host
 animeday.ml: could not connect to host
+animefever.tv: did not receive HSTS header
 animesfusion.com.br: did not receive HSTS header
-animesharp.com: could not connect to host
-animorphsfanforum.com: could not connect to host
 animurecs.com: did not receive HSTS header
 aniplus.cf: could not connect to host
 aniplus.gq: could not connect to host
@@ -3708,13 +4259,13 @@ anita-mukorom.hu: did not receive HSTS header
 anitklib.ml: could not connect to host
 anitube-nocookie.ch: could not connect to host
 anitube.ch: could not connect to host
-aniwhen.com: did not receive HSTS header
 ankakaak.com: could not connect to host
 ankaraprofesyonelnakliyat.com: did not receive HSTS header
 ankaraprofesyonelnakliyat.com.tr: did not receive HSTS header
 ankarayilmaznakliyat.com: did not receive HSTS header
 ankarayucelnakliyat.com: did not receive HSTS header
 ankenbrand.me: did not receive HSTS header
+ankwanoma.com: could not connect to host
 anlovegeek.net: did not receive HSTS header
 anlp.top: could not connect to host
 anna-dance.ru: could not connect to host
@@ -3722,7 +4273,7 @@ annabellaw.com: did not receive HSTS header
 annahmeschluss.de: did not receive HSTS header
 annarbor.group: did not receive HSTS header
 annasvapor.se: could not connect to host
-annetaan.fi: did not receive HSTS header
+annetaan.fi: could not connect to host
 annetta.net: could not connect to host
 annevankesteren.com: could not connect to host
 annevankesteren.org: could not connect to host
@@ -3740,19 +4291,21 @@ anonymo.co.uk: could not connect to host
 anonymo.uk: could not connect to host
 anonymousbitcoinexchange.org: could not connect to host
 anonymousstatecollegelulzsec.com: could not connect to host
+anorak.tech: could not connect to host
 anotherchef.com: did not receive HSTS header
 anothermilan.net: could not connect to host
-anothermusic.tk: could not connect to host
+anothermusic.tk: did not receive HSTS header
 ansdell.info: did not receive HSTS header
 anseo.ninja: could not connect to host
 ansermfg.com: max-age too low: 0
 ansgar.tk: could not connect to host
-anshuman-chatterjee.com: did not receive HSTS header
-anshumanbiswas.com: could not connect to host
+anshuman-chatterjee.com: could not connect to host
+anshumanbiswas.com: did not receive HSTS header
 answers-online.ru: could not connect to host
 ant.land: could not connect to host
 antarctica.tk: could not connect to host
 antarctida.tk: could not connect to host
+antarespc.com: did not receive HSTS header
 antarktida.tk: could not connect to host
 antecim.fr: could not connect to host
 antenasmundosat.com.br: did not receive HSTS header
@@ -3766,37 +4319,39 @@ anthonyavon.com: could not connect to host
 anthro.id: could not connect to host
 antibioticshome.com: did not receive HSTS header
 antifraud.net.ru: could not connect to host
-antijob.tk: could not connect to host
-antikvariat.ru: could not connect to host
+antijob.tk: did not receive HSTS header
 antiled.by: could not connect to host
-antimatiere.space: did not receive HSTS header
-antimine.kr: could not connect to host
+antimatiere.space: could not connect to host
 antipa.ch: could not connect to host
 antirayapmalang.com: max-age too low: 36000
-antispam.group: did not receive HSTS header
-antoga.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+antispam.group: could not connect to host
+antistate.ch: did not receive HSTS header
 antoine-roux.fr: did not receive HSTS header
 antoinebetas.be: did not receive HSTS header
 antoined.fr: did not receive HSTS header
 antoinemary.io: could not connect to host
 antonellabb.eu: could not connect to host
+antoniogatti.ro: did not receive HSTS header
 antoniomarques.eu: did not receive HSTS header
 antoniorequena.com.ve: max-age too low: 0
+antoniotirado.com: could not connect to host
 antons.io: did not receive HSTS header
 antonuotila.fi: did not receive HSTS header
 antraxx.ee: could not connect to host
 antscript.com: did not receive HSTS header
 anttitenhunen.com: could not connect to host
 anunayk.com: could not connect to host
-anycoin.me: did not receive HSTS header
+anycoin.me: could not connect to host
 anyfood.fi: could not connect to host
 anynode.net: did not receive HSTS header
 anypool.fr: could not connect to host
 anypool.net: could not connect to host
 anyprime.net: could not connect to host
 anythingautowebster.com: did not receive HSTS header
+anythinggraphic.net: did not receive HSTS header
 anytonetech.com: did not receive HSTS header
 aoaprograms.net: could not connect to host
+aobeauty.com.au: could not connect to host
 aobogo.com: could not connect to host
 aocast.info: could not connect to host
 aoicprobationil.gov: could not connect to host
@@ -3816,7 +4371,10 @@ apadrinaunolivo.org: did not receive HSTS header
 apaginastore.com.br: could not connect to host
 aparaatti.org: could not connect to host
 apartamentosemindaiatuba.com.br: could not connect to host
+apartmanidano.com: could not connect to host
 apartment-natik.fr: could not connect to host
+apartmentkroatien.at: could not connect to host
+apcube.com: could not connect to host
 apeasternpower.com: could not connect to host
 aperture-laboratories.science: did not receive HSTS header
 apethink.net: did not receive HSTS header
@@ -3830,7 +4388,6 @@ apiary.supplies: could not connect to host
 apiary.supply: could not connect to host
 apibot.de: could not connect to host
 apience.com: did not receive HSTS header
-apila.care: could not connect to host
 apila.us: could not connect to host
 apiled.io: could not connect to host
 apimo.net: did not receive HSTS header
@@ -3840,7 +4397,8 @@ apis.moe: did not receive HSTS header
 apis.world: could not connect to host
 apiu.me: could not connect to host
 apivia.fr: did not receive HSTS header
-apkdv.com: could not connect to host
+apkdv.com: did not receive HSTS header
+apkmod.id: did not receive HSTS header
 apkoyunlar.club: could not connect to host
 apkright.com: did not receive HSTS header
 apkriver.com: could not connect to host
@@ -3849,21 +4407,23 @@ apmg-cyber.com: did not receive HSTS header
 apmpproject.org: could not connect to host
 apnakliyat.com: did not receive HSTS header
 apo-deutschland.biz: could not connect to host
-apoil.org: could not connect to host
+apod-portal-daily.azurewebsites.net: did not receive HSTS header
+apoil.org: did not receive HSTS header
 apolloyl.com: could not connect to host
 apollyon.work: could not connect to host
 aponkral.site: could not connect to host
 aponkralsunucu.com: could not connect to host
 aponow.de: did not receive HSTS header
 aporter.ddns.net: could not connect to host
-aposke.com: could not connect to host
 apostilasaprovacao.com: could not connect to host
 apotheek-nl.org: did not receive HSTS header
 apotheke-ch.org: could not connect to host
 app: could not connect to host
 app-arena.com: did not receive HSTS header
 app.manilla.com: could not connect to host
-app666365.com: did not receive HSTS header
+app00228.com: could not connect to host
+app11018.com: could not connect to host
+app77018.com: could not connect to host
 apparels24.com: did not receive HSTS header
 appart.ninja: could not connect to host
 appbooks.net: did not receive HSTS header
@@ -3888,6 +4448,7 @@ applewatch.co.nz: did not receive HSTS header
 applez.xyz: did not receive HSTS header
 appliancerepairlosangeles.com: did not receive HSTS header
 appliancesrepairservice.ca: did not receive HSTS header
+appliquette.com.au: did not receive HSTS header
 apply55gx.com: could not connect to host
 appointed.at: did not receive HSTS header
 apponline.com: could not connect to host
@@ -3912,11 +4473,9 @@ appuro.com: did not receive HSTS header
 appxcrypto.com: did not receive HSTS header
 apratimsaha.com: did not receive HSTS header
 aprendiendoforexhoy.com: could not connect to host
-aprpullmanportermuseum.org: could not connect to host
+aprpullmanportermuseum.org: did not receive HSTS header
 apt-one.com: did not receive HSTS header
-aptitude9.com: could not connect to host
-apyha.com: could not connect to host
-aqdun.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+aqdun.com: could not connect to host
 aqilacademy.com.au: could not connect to host
 aqqrate.com: could not connect to host
 aquabar.co.il: did not receive HSTS header
@@ -3925,6 +4484,7 @@ aquainfo.net: could not connect to host
 aquariumaccessories.shop: could not connect to host
 aquaron.com: did not receive HSTS header
 aquatechnologygroup.com: could not connect to host
+aquelarreweb.com: could not connect to host
 aquilaguild.com: could not connect to host
 aquilalab.com: could not connect to host
 aquireceitas.com: could not connect to host
@@ -3942,22 +4502,26 @@ aranel.me: could not connect to host
 araraexpress.com.br: could not connect to host
 aravatul.com: could not connect to host
 arawaza.biz: could not connect to host
+arawaza.com: did not receive HSTS header
 arawaza.info: could not connect to host
 arboineuropa.nl: did not receive HSTS header
 arboworks.com: could not connect to host
 arbu.eu: could not connect to host
 arcadiaeng.com: did not receive HSTS header
 arcaea.net: could not connect to host
+arcanetides.com: could not connect to host
 arcbit.io: could not connect to host
 archematerial.com: did not receive HSTS header
 archerygearonline.com: did not receive HSTS header
-archii.ca: could not connect to host
+archii.ca: did not receive HSTS header
 architectdirect.nl: did not receive HSTS header
 architecte-interieur.be: did not receive HSTS header
 archmediamarketing.com: could not connect to host
 archsec.info: could not connect to host
+archwood.ro: did not receive HSTS header
 arckr.com: could not connect to host
 arco.biz: could not connect to host
+arctic.ca: could not connect to host
 arda-audio.pt: did not receive HSTS header
 ardao.me: did not receive HSTS header
 ardorlabs.se: could not connect to host
@@ -3965,42 +4529,42 @@ area3.org: could not connect to host
 area536.com: did not receive HSTS header
 areallyneatwebsite.com: could not connect to host
 arefidgetspinnersgay.com: could not connect to host
-arenlor.com: could not connect to host
-arenlor.info: could not connect to host
-arenns.com: could not connect to host
 arent.kz: did not receive HSTS header
 arenzanaphotography.com: could not connect to host
 arewedubstepyet.com: could not connect to host
 areyouever.me: could not connect to host
+arfhumane.org: did not receive HSTS header
 arg.zone: did not receive HSTS header
 argama-nature.com: could not connect to host
 argennon.xyz: could not connect to host
+argentinatrabaja.org: could not connect to host
 argh.io: could not connect to host
 arguggi.co.uk: could not connect to host
-arheh.com: could not connect to host
 ariaartgallery.com: did not receive HSTS header
-arias.re: could not connect to host
+ariana.wtf: could not connect to host
 arifburhan.online: could not connect to host
 arifp.me: could not connect to host
-arima.co.ke: could not connect to host
+ariixmex.com: could not connect to host
 arimarie.com: could not connect to host
 arinflatablefun.co.uk: could not connect to host
 aripiprazolee.gq: could not connect to host
 arisevendor.net: could not connect to host
 arislight.com: could not connect to host
 aristilabs.com: did not receive HSTS header
-aristocrates.co: could not connect to host
 aristocratps.com: did not receive HSTS header
 arithxu.com: did not receive HSTS header
+arizana.com: could not connect to host
 arizer.com: did not receive HSTS header
 arizonaautomobileclub.com: could not connect to host
 arizonabondedtitle.com: could not connect to host
 arizonahomeownerinsurance.com: could not connect to host
 arka.gq: could not connect to host
-arkadelphia.gov: could not connect to host
 arkaic.dyndns.org: could not connect to host
 arkbyte.com: did not receive HSTS header
+arkenstone.ml: could not connect to host
+arkitextonico.com: could not connect to host
 arknodejs.com: could not connect to host
+arlartistadigital.com.mx: could not connect to host
 arlatools.com: could not connect to host
 arlen.io: could not connect to host
 arlen.se: could not connect to host
@@ -4010,6 +4574,7 @@ armazemgourmetbrasil.com.br: did not receive HSTS header
 armeni-jewellery.gr: did not receive HSTS header
 armenians.online: could not connect to host
 armeo.top: could not connect to host
+armin-cpe.de: did not receive HSTS header
 arminc.tk: could not connect to host
 armingrodon.de: did not receive HSTS header
 armleads.com: did not receive HSTS header
@@ -4019,7 +4584,6 @@ armored.ninja: did not receive HSTS header
 armory.consulting: could not connect to host
 armory.supplies: could not connect to host
 armsday.com: could not connect to host
-armyofbane.com: did not receive HSTS header
 armytricka.cz: did not receive HSTS header
 arnakdanielian.com: could not connect to host
 arnaudminable.net: could not connect to host
@@ -4036,30 +4600,34 @@ arouparia.com: [Exception... "Component returned failure code: 0x80004005 (NS_ER
 arpamip.org: could not connect to host
 arpr.co: did not receive HSTS header
 arpumpsonline.com: did not receive HSTS header
+arraudi.be: could not connect to host
 arrayify.com: could not connect to host
 arrivedconsulting.com: could not connect to host
 arrow-cloud.nl: could not connect to host
 arrowfunction.com: could not connect to host
 arrowgrove.com: could not connect to host
-arrowit.net: did not receive HSTS header
+arrowit.net: could not connect to host
 ars-design.net: did not receive HSTS header
-arsenal.ru: could not connect to host
+arsenal-charodeya.com: did not receive HSTS header
+arsenal.ru: did not receive HSTS header
 arshell.me: did not receive HSTS header
 arsk1.com: could not connect to host
 arslonga.io: could not connect to host
-arswb.men: could not connect to host
 art2web.net: could not connect to host
 artansoft.com: could not connect to host
 artaronquieres.com: did not receive HSTS header
 artartefatos.com.br: could not connect to host
 artbytik.ru: did not receive HSTS header
-artcar24.ru: did not receive HSTS header
-artcenter.tk: could not connect to host
+artcaly.com.br: did not receive HSTS header
+artcenter.tk: did not receive HSTS header
+artdeco-photo.com: could not connect to host
 arte-soft.co: could not connect to host
+artea.ga: could not connect to host
 arteequipamientos.com.uy: did not receive HSTS header
 arteerotiko.com: did not receive HSTS header
 artegusto.ru: did not receive HSTS header
 artemicroway.com.br: could not connect to host
+artesaniastonalaytlaquepaque.com: could not connect to host
 artesupra.com: did not receive HSTS header
 arthur.cn: could not connect to host
 arti-group.ml: could not connect to host
@@ -4068,15 +4636,15 @@ artifex21.com: could not connect to host
 artifex21.fr: could not connect to host
 artificial.army: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 artik.cloud: could not connect to host
-artikelpendidikan.id: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 artiming.com: could not connect to host
+artisavotins.com: could not connect to host
 artisense.de: could not connect to host
 artisphere.ch: did not receive HSTS header
 artisticedgegranite.net: could not connect to host
 artistnetwork.nl: did not receive HSTS header
-artlabdentistry.com: could not connect to host
 artmanager.dk: did not receive HSTS header
 artmaxi.eu: could not connect to host
+artmosfilms.co.za: did not receive HSTS header
 artnims.com: could not connect to host
 arto.bg: did not receive HSTS header
 artofeyes.nl: could not connect to host
@@ -4092,9 +4660,8 @@ arviksa.co.uk: could not connect to host
 arw.me: did not receive HSTS header
 aryabusines.com: did not receive HSTS header
 arzaroth.com: did not receive HSTS header
-arzinfo.pw: could not connect to host
 as.se: could not connect to host
-as204982.net: could not connect to host
+as204982.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 as9178.net: could not connect to host
 asafomba.com: could not connect to host
 asahikoji.net: could not connect to host
@@ -4106,6 +4673,7 @@ ascendprime.com: did not receive HSTS header
 ascensori.biz: could not connect to host
 aschaefer.net: could not connect to host
 ascii.moe: could not connect to host
+ascpaphilatelie.eu: could not connect to host
 asd.gov.au: did not receive HSTS header
 asdpress.cn: could not connect to host
 asec01.net: could not connect to host
@@ -4114,47 +4682,56 @@ aseko.gr: did not receive HSTS header
 aselectionoffice.gov: could not connect to host
 asemanhotel.com: did not receive HSTS header
 asepms.com: could not connect to host
-asesoriaglobalenseguros.com.mx: did not receive HSTS header
+aserver.co: could not connect to host
 asge-handel.de: did not receive HSTS header
 ashastalent.com: could not connect to host
+ashd1.goip.de: could not connect to host
+ashd2.goip.de: could not connect to host
+ashd3.goip.de: could not connect to host
 ashkan-rechtsanwalt-arbeitsrecht-paderborn.de: did not receive HSTS header
 ashlane-cottages.com: could not connect to host
-ashleakunowski.com: could not connect to host
+ashleakunowski.com: did not receive HSTS header
 ashleyadum.com: could not connect to host
-ashleyashbee.com: could not connect to host
+ashleyashbee.com: did not receive HSTS header
 ashleyfoley.photography: could not connect to host
 ashleymedway.com: could not connect to host
-asia-global-risk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 asian-archi.com.tw: did not receive HSTS header
 asianbet77.co: did not receive HSTS header
 asianbet77.net: did not receive HSTS header
-asianfilmfestival.barcelona: did not receive HSTS header
 asianodor.com: could not connect to host
+asianshops.net: did not receive HSTS header
+asiasexgazette.com: could not connect to host
 asiesvenezuela.com: could not connect to host
 asirigbakaute.com: did not receive HSTS header
 asirviablog.com: could not connect to host
 asisee.co.il: could not connect to host
-asisee.photography: did not receive HSTS header
+asisee.photography: could not connect to host
+asitanc.com: could not connect to host
+ask.fi: could not connect to host
 ask.pe: could not connect to host
-askcaisse.com: did not receive HSTS header
 askfit.cz: did not receive HSTS header
 askmagicconch.com: could not connect to host
 askme24.de: could not connect to host
 asksatya.com: did not receive HSTS header
+askv6.net: did not receive HSTS header
 askyourdentist.com: did not receive HSTS header
 aslinfinity.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 asm-x.com: could not connect to host
+asm.io: did not receive HSTS header
+asmarketero.com: did not receive HSTS header
 asmik-armenie.com: did not receive HSTS header
 asmm.cc: did not receive HSTS header
 asmui.ga: could not connect to host
-asmui.ml: could not connect to host
+asmui.ml: did not receive HSTS header
 asoagroca.com: could not connect to host
 asociacionbienestarinmobiliariobogota.com: could not connect to host
+asociaciontrastea.com: did not receive HSTS header
 asoftwareco.com: did not receive HSTS header
 asoul.tw: could not connect to host
 aspatrimoine.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 aspectcontext.com: could not connect to host
 asphaltfruehling.de: could not connect to host
+asphyxia.su: did not receive HSTS header
 asral7.com: could not connect to host
 ass.org.au: could not connect to host
 assadrivesloirecher.com: could not connect to host
@@ -4162,12 +4739,13 @@ assdecoeur.org: could not connect to host
 assekuranzjobs.de: could not connect to host
 asset-alive.com: could not connect to host
 asset-alive.net: could not connect to host
+assetbacked.capital: could not connect to host
+assetsec.io: could not connect to host
 assetsupervision.com: did not receive HSTS header
-assetvault.co.za: did not receive HSTS header
 assindia.nl: did not receive HSTS header
 assinecontrole4g.com.br: did not receive HSTS header
 assistance-personnes-agees.ch: could not connect to host
-assistcart.com: did not receive HSTS header
+assistcart.com: could not connect to host
 assistenzaferrodastiro.org: could not connect to host
 assistenzafrigorifero.org: could not connect to host
 assistenzalavatrice.org: could not connect to host
@@ -4177,27 +4755,28 @@ assurancesmons.be: did not receive HSTS header
 astarforu.com: could not connect to host
 astenretail.com: could not connect to host
 asthon.cn: could not connect to host
-astraalivankila.net: could not connect to host
 astral-imperium.uk: did not receive HSTS header
 astral.gq: could not connect to host
 astral.org.pl: could not connect to host
 astrath.net: could not connect to host
 astrea-voetbal-groningen.nl: could not connect to host
 astrolpost.com: could not connect to host
-astromelody.com: did not receive HSTS header
+astromelody.com: could not connect to host
 astronomie-fulda.de: did not receive HSTS header
-astropaykasa.org: could not connect to host
-astrosnail.pt.eu.org: could not connect to host
+astropaykasa.org: did not receive HSTS header
 astutr.co: could not connect to host
+asu.moe: could not connect to host
 asucrews.com: could not connect to host
-asuhe.cc: did not receive HSTS header
+asuhe.cc: could not connect to host
 asuhe.win: did not receive HSTS header
 asuhe.xyz: could not connect to host
 asuka.io: did not receive HSTS header
 asurgiant.ca: could not connect to host
 async.be: did not receive HSTS header
+aszw.org: could not connect to host
 at-one.ca: did not receive HSTS header
 at1.co: did not receive HSTS header
+ataber.pw: could not connect to host
 atacadooptico.com.br: did not receive HSTS header
 atavio.at: could not connect to host
 atavio.ch: could not connect to host
@@ -4216,19 +4795,23 @@ atendimentodelta.com.br: did not receive HSTS header
 atg.soy: could not connect to host
 atgroup.gr: did not receive HSTS header
 athaliasoft.com: could not connect to host
-athena-bartholdi.com: did not receive HSTS header
-athenacle.xyz: could not connect to host
+athena-bartholdi.com: could not connect to host
+athena-garage.co.uk: did not receive HSTS header
+athenacle.xyz: did not receive HSTS header
 athenelive.com: could not connect to host
 athens-limousines.com: did not receive HSTS header
 athensbusinessresources.us: could not connect to host
-atheoryofchange.com: could not connect to host
+athenstn.gov: could not connect to host
 atherosense.ga: could not connect to host
 athi.pl: did not receive HSTS header
 athul.xyz: could not connect to host
+atinylittle.space: could not connect to host
 atisystem.com: did not receive HSTS header
 atk.me: could not connect to host
 atkdesign.pt: did not receive HSTS header
+atkstore.com: could not connect to host
 atlantahairsurgeon.com: did not receive HSTS header
+atlantishq.de: did not receive HSTS header
 atlas-5.site: could not connect to host
 atlas-staging.ml: could not connect to host
 atlas.co: did not receive HSTS header
@@ -4236,26 +4819,31 @@ atlassian.io: could not connect to host
 atlassian.net: did not receive HSTS header
 atlayo.com: did not receive HSTS header
 atlex.nl: did not receive HSTS header
-atlseccon.com: did not receive HSTS header
 atmocdn.com: could not connect to host
 atmschambly.com: did not receive HSTS header
 atombase.org: could not connect to host
 atomic-bounce.com: could not connect to host
 atomic.menu: could not connect to host
 atomic.red: could not connect to host
+atomicbounce.co.uk: could not connect to host
+atomick.nl: did not receive HSTS header
 atomik.pro: did not receive HSTS header
-atomnetworks.ca: max-age too low: 2592000
+atomnetworks.ca: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 atop.io: could not connect to host
 atracaosexshop.com.br: could not connect to host
 atspeeds.com: could not connect to host
-attelage.net: did not receive HSTS header
+attelage.net: could not connect to host
 attentigroup.com: did not receive HSTS header
 attic118.com: did not receive HSTS header
+attilagyorffy.com: could not connect to host
 attimec.com: could not connect to host
 attimidesigns.com: did not receive HSTS header
 attiremr.tk: could not connect to host
 attogproductions.com: could not connect to host
 attractieparken.tk: could not connect to host
+attunedstore.com: could not connect to host
+atuendomr.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+atwar-mod.com: could not connect to host
 au-be.net: could not connect to host
 au-pair24.de: did not receive HSTS header
 au.ci: could not connect to host
@@ -4265,7 +4853,8 @@ aubiosales.com: could not connect to host
 auburn-housekeeper.com: could not connect to host
 aucubin.moe: could not connect to host
 audialbuquerqueparts.com: did not receive HSTS header
-audiblox.co.za: did not receive HSTS header
+audiblox.co.za: could not connect to host
+audioblackmagic.com: could not connect to host
 audion.cc: could not connect to host
 audion.hr: did not receive HSTS header
 audioonly.stream: could not connect to host
@@ -4274,38 +4863,41 @@ auditready.nl: did not receive HSTS header
 audividi.shop: could not connect to host
 aufmerksamkeitsstudie.com: could not connect to host
 aufprise.de: did not receive HSTS header
+aufro.com: did not receive HSTS header
 augaware.org: did not receive HSTS header
 augias.org: could not connect to host
 augix.net: could not connect to host
 augmented-portal.com: did not receive HSTS header
 augrandinquisiteur.com: did not receive HSTS header
 august.black: did not receive HSTS header
+augustoshoppingnet.com.br: could not connect to host
 aujapan.ru: could not connect to host
 aulaschrank.gq: could not connect to host
 auntieme.com: did not receive HSTS header
 aupasdecourses.com: did not receive HSTS header
 aur.rocks: could not connect to host
 aurainfosec.com: did not receive HSTS header
-aurainfosec.com.au: did not receive HSTS header
+aurainfosec.com.au: could not connect to host
 auraredeye.com: could not connect to host
 auraredshield.com: could not connect to host
+aurbrowser.tk: could not connect to host
 aureus.pw: could not connect to host
 auri.ga: did not receive HSTS header
 aurora-multimedia.co.uk: did not receive HSTS header
 aurora-terraria.org: could not connect to host
 aurorarecordings.com: could not connect to host
 auroratownshipfd.org: did not receive HSTS header
-aurosa.cz: did not receive HSTS header
+aurosa.cz: max-age too low: 7889238
 auroz.tech: did not receive HSTS header
 auroz.video: did not receive HSTS header
 aurugs.com: did not receive HSTS header
-auslandsjahr-usa.de: max-age too low: 172800
 ausmwoid.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ausnah.me: could not connect to host
 aussiecable.org: could not connect to host
 aussiegreenmarks.com.au: did not receive HSTS header
 aussiehq.com.au: could not connect to host
 aussiewebmarketing.com.au: did not receive HSTS header
+austerevisuals.com: did not receive HSTS header
 austinmobilemechanics.net: did not receive HSTS header
 austinstore.com.br: could not connect to host
 austinsutphin.com: could not connect to host
@@ -4314,6 +4906,8 @@ australianarmedforces.org: did not receive HSTS header
 australiancattle.dog: could not connect to host
 australianfreebets.com.au: did not receive HSTS header
 australianonlineappliances.ga: could not connect to host
+australianstrongmanalliance.com.au: did not receive HSTS header
+authanet.ga: could not connect to host
 authenitech.com: could not connect to host
 authentication.io: could not connect to host
 authint.com: could not connect to host
@@ -4321,18 +4915,19 @@ author24.ru: did not receive HSTS header
 authoritynutrition.com: did not receive HSTS header
 authorsguild.in: could not connect to host
 authsrv.nl.eu.org: could not connect to host
+autimatisering.nl: did not receive HSTS header
 auto-serwis.zgorzelec.pl: could not connect to host
-auto-spurgo.com: did not receive HSTS header
-auto.nl: did not receive HSTS header
+auto-spurgo.com: could not connect to host
 auto3d.cn: could not connect to host
 auto4trade.nl: did not receive HSTS header
+autoankauf.berlin: did not receive HSTS header
 autobahnco.com: did not receive HSTS header
 autobedarf.net: did not receive HSTS header
 autobedrijfschalkoort.nl: did not receive HSTS header
 autocarparts.ro: could not connect to host
-autoclean-plus.ch: did not receive HSTS header
 autocmall.com: did not receive HSTS header
 autocobot.com: did not receive HSTS header
+autod.hu: did not receive HSTS header
 autodemolizioni.roma.it: could not connect to host
 autodeploy.it: could not connect to host
 autodidacticstudios.org: could not connect to host
@@ -4346,12 +4941,14 @@ autohaus-snater.de: did not receive HSTS header
 autoinsurancehavasu.com: could not connect to host
 autojuhos.sk: could not connect to host
 automaan.nl: did not receive HSTS header
+automacity.com: could not connect to host
 automationsmarthome.com: could not connect to host
 automobiles5.com: could not connect to host
 automoto-tom.net: could not connect to host
-autopower.gr: did not receive HSTS header
+automuovifix.fi: could not connect to host
 autoprogconsortium.ga: could not connect to host
 autoresponder.marketing: did not receive HSTS header
+autos-mertens.com: max-age too low: 600000
 autos-retro-plaisir.com: did not receive HSTS header
 autosearch.me: could not connect to host
 autosecurityfinance.com: could not connect to host
@@ -4367,7 +4964,6 @@ autozet.cz: did not receive HSTS header
 autumnwindsagility.com: could not connect to host
 auux.com: max-age too low: 2592000
 auverbox.ovh: could not connect to host
-auvernet.org: could not connect to host
 auvious.com: did not receive HSTS header
 auxetek.se: could not connect to host
 auxiliumincrementum.co.uk: could not connect to host
@@ -4376,15 +4972,18 @@ av.de: did not receive HSTS header
 av0ndale.de: could not connect to host
 av163.cc: could not connect to host
 avadatravel.com: did not receive HSTS header
+avaemr-development-environment.ca: could not connect to host
 avalon-studios.de: could not connect to host
 avalyuan.me: did not receive HSTS header
 avanet.ch: did not receive HSTS header
+avanpost.co: did not receive HSTS header
 avantmfg.com: did not receive HSTS header
 avaq.fr: did not receive HSTS header
+avarty.net: did not receive HSTS header
 avastantivirus.ro: did not receive HSTS header
 avatarrecruit.co.uk: did not receive HSTS header
 avdagic.net: did not receive HSTS header
-avdelivers.com: did not receive HSTS header
+avdelivers.com: could not connect to host
 avdh.top: could not connect to host
 avec-ou-sans-ordonnance.fr: could not connect to host
 aveling-adventure.co.uk: could not connect to host
@@ -4396,11 +4995,11 @@ avid.blue: did not receive HSTS header
 avidthink.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 avietech.com: did not receive HSTS header
 aviodeals.com: did not receive HSTS header
-avitres.com: could not connect to host
+avitres.com: did not receive HSTS header
 aviv.nyc: could not connect to host
 avmemo.com: could not connect to host
 avmo.pw: could not connect to host
-avnavi.jp: did not receive HSTS header
+avnavi.jp: could not connect to host
 avocadooo.stream: could not connect to host
 avocatbeziau.com: could not connect to host
 avocats-fiscal.fr: did not receive HSTS header
@@ -4411,7 +5010,7 @@ avselectrical.co.uk: did not receive HSTS header
 avso.pw: could not connect to host
 avspot.net: could not connect to host
 avtek.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-avto-signal.gq: could not connect to host
+avto-signal.gq: did not receive HSTS header
 avtoucheba.tk: could not connect to host
 avtoveles.by: could not connect to host
 avtoyurist.tk: could not connect to host
@@ -4428,12 +5027,14 @@ awesomesit.es: could not connect to host
 awf0.xyz: could not connect to host
 awg-mode.de: did not receive HSTS header
 awin.la: could not connect to host
-awomaninherprime.com: did not receive HSTS header
+awomaninherprime.com: could not connect to host
+awscloudrecipes.com: could not connect to host
 aww.moe: did not receive HSTS header
 awxg.eu.org: could not connect to host
 awxg.org: could not connect to host
 axa-middleeast.com: did not receive HSTS header
 axado.com.br: could not connect to host
+axault.com: did not receive HSTS header
 axchap.ir: could not connect to host
 axel-fischer.science: could not connect to host
 axelchv.fr: could not connect to host
@@ -4442,6 +5043,8 @@ axeny.com: did not receive HSTS header
 axg.io: did not receive HSTS header
 axialsports.com: did not receive HSTS header
 axiatancell.com: could not connect to host
+axin888.vip: did not receive HSTS header
+axiodl.com: did not receive HSTS header
 axiomer.es: did not receive HSTS header
 axiomer.eu: did not receive HSTS header
 axiomer.me: did not receive HSTS header
@@ -4452,7 +5055,7 @@ axisfleetmanagement.co.uk: could not connect to host
 axiumacademy.com: did not receive HSTS header
 axka.com: could not connect to host
 axolsoft.com: max-age too low: 10540800
-axom.online: did not receive HSTS header
+axom.online: could not connect to host
 axtudo.com: did not receive HSTS header
 axtux.tk: could not connect to host
 axxial.tk: could not connect to host
@@ -4462,6 +5065,7 @@ ayatk.com: did not receive HSTS header
 ayesh.win: could not connect to host
 aying.love: did not receive HSTS header
 ayj.solutions: could not connect to host
+aylavblog.com: did not receive HSTS header
 ayon.group: could not connect to host
 ayor.jp: could not connect to host
 ayor.tech: could not connect to host
@@ -4471,13 +5075,14 @@ az-vinyl-boden.de: could not connect to host
 az11018.com: could not connect to host
 azamra.com: did not receive HSTS header
 azane.ga: could not connect to host
-azenot.com: did not receive HSTS header
-azgfd.com: did not receive HSTS header
+azcensus2020.gov: did not receive HSTS header
+azenot.com: could not connect to host
 azia.info: could not connect to host
 azino777.ru: could not connect to host
 azirevpn.com: did not receive HSTS header
 azizfirat.com: did not receive HSTS header
-azlo.com: did not receive HSTS header
+azizvicdan.com: did not receive HSTS header
+azlocalbusiness.com: did not receive HSTS header
 azmusica.biz: could not connect to host
 azmusica.com: could not connect to host
 aznaetelivy.ru: did not receive HSTS header
@@ -4487,13 +5092,13 @@ azu-l.com: could not connect to host
 azu-l.jp: could not connect to host
 azun.pl: did not receive HSTS header
 azurlane.cool: could not connect to host
+azuxul.fr: could not connect to host
 azzag.co.uk: could not connect to host
 b-boom.nl: could not connect to host
 b-dd.com: could not connect to host
 b-entropy.com: could not connect to host
 b-f-s.pl: did not receive HSTS header
 b-freerobux.ga: could not connect to host
-b-landia.net: did not receive HSTS header
 b-rickroll-e.pw: could not connect to host
 b-space.de: did not receive HSTS header
 b-ticket.ch: could not connect to host
@@ -4501,13 +5106,12 @@ b0308.com: could not connect to host
 b1.work: did not receive HSTS header
 b1236.com: could not connect to host
 b1758.com: did not receive HSTS header
+b1nzy-pinged.me: could not connect to host
 b1rd.tk: could not connect to host
-b2222.co: did not receive HSTS header
 b2and.com: did not receive HSTS header
 b2b-nestle.com.br: could not connect to host
 b2bpromoteit.com: did not receive HSTS header
 b2families.com.au: did not receive HSTS header
-b30365.com: did not receive HSTS header
 b3333.co: could not connect to host
 b36512.com: could not connect to host
 b3orion.com: could not connect to host
@@ -4515,6 +5119,11 @@ b422edu.com: could not connect to host
 b4r7.de: could not connect to host
 b5197.co: could not connect to host
 b5289.net: did not receive HSTS header
+b58365.com: did not receive HSTS header
+b58app.com: did not receive HSTS header
+b58appb58app.com: did not receive HSTS header
+b58appb58appb58app.com: could not connect to host
+b5901.com: could not connect to host
 b5909.com: could not connect to host
 b5989.com: did not receive HSTS header
 b61688.com: could not connect to host
@@ -4523,41 +5132,47 @@ b62102.com: could not connect to host
 b62103.com: could not connect to host
 b62104.com: could not connect to host
 b62105.com: could not connect to host
-b62a.com: did not receive HSTS header
-b62aa.com: did not receive HSTS header
+b62a.com: could not connect to host
+b62aa.com: could not connect to host
 b62b.com: could not connect to host
-b62bb.com: did not receive HSTS header
+b62bb.com: could not connect to host
 b62c.com: could not connect to host
 b62cc.com: could not connect to host
-b62d.com: did not receive HSTS header
+b62d.com: could not connect to host
 b62dd.com: could not connect to host
-b62e.com: did not receive HSTS header
-b62ee.com: did not receive HSTS header
+b62e.com: could not connect to host
+b62ee.com: could not connect to host
 b62f.com: could not connect to host
 b62g.com: could not connect to host
-b62h.com: could not connect to host
-b64.club: could not connect to host
 b6710.com: could not connect to host
 b6720.com: could not connect to host
 b6729.co: could not connect to host
-b6730.com: did not receive HSTS header
+b6730.com: could not connect to host
 b6740.com: could not connect to host
-b67772.com: could not connect to host
-b67773.com: did not receive HSTS header
-b67774.com: could not connect to host
-b67775.com: did not receive HSTS header
 b67801.com: could not connect to host
 b67802.com: could not connect to host
 b67803.com: could not connect to host
 b67804.com: could not connect to host
 b67805.com: could not connect to host
+b67901.com: could not connect to host
+b67902.com: could not connect to host
+b67903.com: could not connect to host
+b67904.com: could not connect to host
+b67905.com: could not connect to host
 b6957.co: could not connect to host
 b70661.com: could not connect to host
 b70663.com: could not connect to host
 b70664.com: could not connect to host
+b70771.com: could not connect to host
+b70772.com: could not connect to host
+b70773.com: could not connect to host
+b70774.com: could not connect to host
+b70775.com: could not connect to host
+b81365.com: did not receive HSTS header
+b81818.com: did not receive HSTS header
+b82365.com: did not receive HSTS header
 b830.com: did not receive HSTS header
-b899365.com: did not receive HSTS header
-b89aa.com: could not connect to host
+b9168.com: could not connect to host
 b91688.com: could not connect to host
 b9297.co: could not connect to host
 b9453.com: did not receive HSTS header
@@ -4568,7 +5183,7 @@ b9586.net: could not connect to host
 b9588.net: could not connect to host
 b95888.net: could not connect to host
 b9589.net: could not connect to host
-b9598.com: did not receive HSTS header
+b9598.com: could not connect to host
 b9658.com: did not receive HSTS header
 b96899.com: could not connect to host
 b9728.co: could not connect to host
@@ -4582,25 +5197,25 @@ b9888.net: could not connect to host
 b98886.com: could not connect to host
 b9889.net: could not connect to host
 b9902.com: could not connect to host
-b99033.com: did not receive HSTS header
-b9904.com: could not connect to host
+b99033.com: could not connect to host
+b9904.com: did not receive HSTS header
 b99044.com: did not receive HSTS header
 b9905.com: did not receive HSTS header
 b99055.com: did not receive HSTS header
-b99066.com: could not connect to host
-b99077.com: could not connect to host
+b99066.com: did not receive HSTS header
+b99077.com: did not receive HSTS header
 b99088.com: did not receive HSTS header
-b99099.com: could not connect to host
+b99099.com: did not receive HSTS header
 b9912.com: did not receive HSTS header
 b9930.com: could not connect to host
-b9951.com: could not connect to host
+b9951.com: did not receive HSTS header
 b99520.com: could not connect to host
 b9954.com: did not receive HSTS header
-b9957.com: could not connect to host
+b9957.com: did not receive HSTS header
 b9961.com: did not receive HSTS header
 b9962.com: did not receive HSTS header
 b9967.com: could not connect to host
-b9970.com: could not connect to host
+b9970.com: did not receive HSTS header
 b9973.com: did not receive HSTS header
 b9976.com: did not receive HSTS header
 b9980.com: could not connect to host
@@ -4611,19 +5226,18 @@ b99885.com: could not connect to host
 b99886.com: could not connect to host
 b9999oo.com: could not connect to host
 b9999tt.com: could not connect to host
-b9999uu.com: did not receive HSTS header
-b9999vv.com: did not receive HSTS header
-b9999yy.com: did not receive HSTS header
+b9999uu.com: could not connect to host
+b9999vv.com: could not connect to host
+b9999yy.com: could not connect to host
 b9winner.com: could not connect to host
+b9winner.net: did not receive HSTS header
 babarkata.com: could not connect to host
 babelfisch.eu: could not connect to host
+babeprint.com: did not receive HSTS header
 babineaux.zone: could not connect to host
-bablodel.biz: could not connect to host
-bablodel.com: could not connect to host
 babursahvizeofisi.com: could not connect to host
 baby-click.de: could not connect to host
 baby-fotografie-muenchen.de: did not receive HSTS header
-baby-lux.com.ua: could not connect to host
 baby-massage.tk: could not connect to host
 babybauch-shooting-muenchen.de: did not receive HSTS header
 babybee.ie: could not connect to host
@@ -4634,8 +5248,8 @@ babyhouse.xyz: could not connect to host
 babyliss-pro.com: could not connect to host
 babyliss-pro.net: did not receive HSTS header
 babysaying.me: could not connect to host
-babyshoprimini.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-babystep.tv: did not receive HSTS header
+babyshoprimini.com: could not connect to host
+babystep.tv: could not connect to host
 bacchanallia.com: could not connect to host
 bacgrouppublishing.com: could not connect to host
 bachkhoa.net.vn: did not receive HSTS header
@@ -4646,13 +5260,14 @@ backgroundz.net: could not connect to host
 backintomotionphysiotherapy.com: did not receive HSTS header
 backlogapp.io: could not connect to host
 backpacken.org: could not connect to host
+backterris.com: could not connect to host
 backupsinop.com.br: did not receive HSTS header
 backyardbbqbash.com: could not connect to host
-baconate.com: did not receive HSTS header
+bacon-monitoring.org: could not connect to host
+baconate.com: could not connect to host
 bacoux.com: could not connect to host
-bacsituvansuckhoe.com: did not receive HSTS header
+bacsituvansuckhoe.com: could not connect to host
 bactrim.gq: could not connect to host
-bad-wurzach.de: did not receive HSTS header
 bad.horse: could not connect to host
 bad.show: could not connect to host
 badai.at: could not connect to host
@@ -4661,25 +5276,26 @@ badboyzclub.de: could not connect to host
 badcronjob.com: could not connect to host
 badenhard.eu: could not connect to host
 badgesenpatches.nl: did not receive HSTS header
-badgr.com: did not receive HSTS header
 badkamergigant.com: could not connect to host
 badlink.org: could not connect to host
+badseacoffee.com: could not connect to host
 baese.it: did not receive HSTS header
 baff.lu: could not connect to host
 baffinlee.com: did not receive HSTS header
+bagasian.com: did not receive HSTS header
 bagelsbakery.com: could not connect to host
 bagiobella.com: max-age too low: 0
+bagira.guru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bagni-chimici.roma.it: could not connect to host
 bagnichimici.milano.it: could not connect to host
 bagstage.de: did not receive HSTS header
 bahadirh.ml: could not connect to host
 baidu389.com: max-age too low: 0
 baiduaccount.com: could not connect to host
-baiduo.com: could not connect to host
 bailakomigo.com.br: did not receive HSTS header
 baildonhottubs.co.uk: could not connect to host
 bair.io: could not connect to host
-bairdzhang.com: did not receive HSTS header
+bairdzhang.com: could not connect to host
 bairrosonline.com: did not receive HSTS header
 bairuo.tk: could not connect to host
 bairuo.top: could not connect to host
@@ -4688,8 +5304,9 @@ baitulongbaycruises.com: could not connect to host
 baiurl.tk: could not connect to host
 baixoutudo.com: did not receive HSTS header
 baiyangliu.com: could not connect to host
+baiyu.me: did not receive HSTS header
 bajajfinserv.in: did not receive HSTS header
-bajic.ch: could not connect to host
+baka.net: did not receive HSTS header
 baka.network: could not connect to host
 baka.red: could not connect to host
 bakabt.info: could not connect to host
@@ -4698,8 +5315,7 @@ bakaproxy.moe: could not connect to host
 bakaweb.fr: could not connect to host
 bakim.li: could not connect to host
 bakkerdesignandbuild.com: did not receive HSTS header
-bakxnet.com: could not connect to host
-balakovo-news.tk: could not connect to host
+balakovo-news.tk: did not receive HSTS header
 balcan-underground.net: could not connect to host
 baldur.cc: did not receive HSTS header
 baldwin.com.au: did not receive HSTS header
@@ -4708,8 +5324,10 @@ baleares.party: could not connect to host
 balenciaspa.com: did not receive HSTS header
 balidesignshop.com.br: could not connect to host
 balihai.com: did not receive HSTS header
+balkanclan.com: did not receive HSTS header
 balkenbushmechanical.com: could not connect to host
 ball.holdings: did not receive HSTS header
+ball3d.es: did not receive HSTS header
 ballbusting-cbt.com: could not connect to host
 ballinarsl.com.au: did not receive HSTS header
 ballitolocksmith.com: could not connect to host
@@ -4718,7 +5336,11 @@ balnearionaturaspa.com: did not receive HSTS header
 baloncestolliria.tk: could not connect to host
 balonmano.co: could not connect to host
 bals.org: did not receive HSTS header
+baltimorecashflow.com: could not connect to host
+bamahammer.com: did not receive HSTS header
+bamtoki.com: could not connect to host
 bamtoki.se: could not connect to host
+ban.moe: could not connect to host
 bananavapes.com: could not connect to host
 bananensap.nl: did not receive HSTS header
 bananium.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -4731,19 +5353,22 @@ bandar303.cc: did not receive HSTS header
 bandar303.id: did not receive HSTS header
 bandar303.win: did not receive HSTS header
 bandarifamily.com: could not connect to host
-bandb.xyz: did not receive HSTS header
+bandb.xyz: could not connect to host
 banderasdelmundo.xyz: could not connect to host
 bandgap.io: did not receive HSTS header
-bandolino-bewind.nl: could not connect to host
-bandolino.nl: could not connect to host
 bandrcrafts.com: could not connect to host
 banduhn.com: did not receive HSTS header
-banfor.fun: did not receive HSTS header
+baneh-academic.com: could not connect to host
+banfor.fun: could not connect to host
+bangkrak.com: could not connect to host
 bangridho.com: did not receive HSTS header
+bangyu.wang: could not connect to host
 bangzafran.com: could not connect to host
-bani99.com: did not receive HSTS header
+bani99.com: could not connect to host
 bank: could not connect to host
 bank-tour.ru: did not receive HSTS header
+bankcardoffer.com: could not connect to host
+bankcircle.co.in: could not connect to host
 bankerbuch.de: did not receive HSTS header
 bankerscaddy.com: did not receive HSTS header
 bankersonline.com: did not receive HSTS header
@@ -4752,25 +5377,18 @@ bankgradesecurity.com: could not connect to host
 bankitt.network: could not connect to host
 bankmilhas.com.br: did not receive HSTS header
 bankofrealty.review: could not connect to host
-banland.net: could not connect to host
+banland.net: did not receive HSTS header
+banned-bitches.tk: could not connect to host
 banningca.gov: did not receive HSTS header
 bannisbierblog.de: could not connect to host
 banoviny.sk: did not receive HSTS header
-banqingdiao.com: did not receive HSTS header
+banqingdiao.com: could not connect to host
 banri.me: could not connect to host
 banter.city: could not connect to host
 banxehoi.com: did not receive HSTS header
 baobeiglass.com: did not receive HSTS header
 baodan666.com: could not connect to host
 baosuckhoedoisong.net: could not connect to host
-baoxue1.com: did not receive HSTS header
-baoxue2.com: did not receive HSTS header
-baoxue3.com: did not receive HSTS header
-baoxue5.com: did not receive HSTS header
-baoxue6.com: did not receive HSTS header
-baoxue7.com: did not receive HSTS header
-baoxue8.com: did not receive HSTS header
-baoxue9.com: did not receive HSTS header
 baptistboard.com: did not receive HSTS header
 baptiste-destombes.fr: did not receive HSTS header
 baptistedeleris.fr: could not connect to host
@@ -4781,19 +5399,21 @@ barashek.ru: did not receive HSTS header
 barberlegalcounsel.com: did not receive HSTS header
 barbershop-harmony.org: did not receive HSTS header
 barbershop-lasvillas.com: did not receive HSTS header
+barcamp.koeln: could not connect to host
 barcodeberlin.com: did not receive HSTS header
+barcoderealty.com: could not connect to host
 barcouniforms.com: did not receive HSTS header
 barely.sexy: could not connect to host
 barf-alarm.de: did not receive HSTS header
 bargainmovingcompany.com: did not receive HSTS header
 bargainsettelement.com: could not connect to host
 bariller.fr: did not receive HSTS header
-baripedia.org: could not connect to host
 baris-sagdic.com: could not connect to host
 bariskaragoz.nl: could not connect to host
 bariumoxide.com: could not connect to host
-barlex.pl: did not receive HSTS header
 barnabycolby.io: could not connect to host
+barnel.com: max-age too low: 0
+barnflix.net: did not receive HSTS header
 barnrats.com: could not connect to host
 baropkamp.be: did not receive HSTS header
 barprive.com: could not connect to host
@@ -4808,20 +5428,23 @@ barslecht.com: could not connect to host
 barslecht.nl: did not receive HSTS header
 barss.io: could not connect to host
 barsukas.net: could not connect to host
-bartel.ws: could not connect to host
 bartelldrugs.com: did not receive HSTS header
 barthonia-showroom.de: did not receive HSTS header
 barunisystems.com: could not connect to host
 barwave.com: could not connect to host
 basculasconfiables.com: could not connect to host
+baseballrampage.com: could not connect to host
+baseballwarehouse.com: could not connect to host
 basebyte.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 basechat.com: did not receive HSTS header
 basedonline.nl: did not receive HSTS header
 baseline.ba: did not receive HSTS header
-basementdoctor.com: did not receive HSTS header
+basement961.co.nz: could not connect to host
 basercap.co.ke: did not receive HSTS header
+baserverz.ga: could not connect to host
 bashc.at: could not connect to host
 bashcode.ninja: could not connect to host
+basicamente.digital: did not receive HSTS header
 basicsolutionsus.com: could not connect to host
 basilicaknights.org: could not connect to host
 basilisk.io: could not connect to host
@@ -4836,10 +5459,12 @@ bastianstalder.ch: did not receive HSTS header
 bastiv.com: could not connect to host
 bastivmobile.com: could not connect to host
 batfoundry.com: did not receive HSTS header
+batlab.ch: did not receive HSTS header
 batonger.com: could not connect to host
 batschu.de: could not connect to host
 batten.eu.org: could not connect to host
 batteryservice.ru: did not receive HSTS header
+battleground.com.au: did not receive HSTS header
 baud.ninja: could not connect to host
 baudairenergyservices.com: did not receive HSTS header
 baudlink.com: could not connect to host
@@ -4848,9 +5473,10 @@ baum.ga: could not connect to host
 baumstark.ca: could not connect to host
 baustils.com: did not receive HSTS header
 bauwens.cloud: did not receive HSTS header
-bavomaes.be: did not receive HSTS header
+bavomaes.be: could not connect to host
 bayer-stefan.eu: did not receive HSTS header
 baykatre.com: did not receive HSTS header
+bayoleth.com: could not connect to host
 bayportzambia.com: did not receive HSTS header
 bayrisch-fuer-anfaenger.de: could not connect to host
 baysse.eu: did not receive HSTS header
@@ -4858,10 +5484,11 @@ bazar-24.ru: did not receive HSTS header
 bazar.ga: could not connect to host
 bazarstupava.sk: could not connect to host
 bazdell.com: did not receive HSTS header
+bazinga-events.nl: did not receive HSTS header
 bazisszoftver.hu: could not connect to host
 bazqux.com: did not receive HSTS header
 bb-shiokaze.jp: did not receive HSTS header
-bb00228.com: could not connect to host
+bb168.cc: could not connect to host
 bb1718.net: could not connect to host
 bb37roma.it: could not connect to host
 bb5197.co: could not connect to host
@@ -4869,7 +5496,7 @@ bb6729.co: could not connect to host
 bb6729.com: did not receive HSTS header
 bb6957.co: could not connect to host
 bb9297.co: could not connect to host
-bb9721.com: could not connect to host
+bb9721.com: did not receive HSTS header
 bb9728.co: could not connect to host
 bbb1991.me: could not connect to host
 bbdos.ru: could not connect to host
@@ -4896,6 +5523,7 @@ bcheng.cf: could not connect to host
 bck.me: did not receive HSTS header
 bckp.de: could not connect to host
 bcm.com.au: did not receive HSTS header
+bcmguide.com: could not connect to host
 bcmlu.org: could not connect to host
 bcnet.com.hk: could not connect to host
 bcnet.hk: could not connect to host
@@ -4915,7 +5543,9 @@ bdenzer.xyz: could not connect to host
 bdpachicago.tech: could not connect to host
 bdsmxxxpics.com: could not connect to host
 bdupnews.com: could not connect to host
+be9418.com: could not connect to host
 be9418.info: could not connect to host
+be9418.net: could not connect to host
 be9418.org: could not connect to host
 be9458.info: did not receive HSTS header
 be9458.net: did not receive HSTS header
@@ -4936,22 +5566,26 @@ beamitapp.com: could not connect to host
 beamstat.com: could not connect to host
 beanbot.party: could not connect to host
 beanbox.com: did not receive HSTS header
+beanjuice.me: could not connect to host
 beanworks.ca: did not receive HSTS header
 bearcosports.com.br: did not receive HSTS header
 beardboys.co.za: did not receive HSTS header
-bearden.io: did not receive HSTS header
+beardedbearthegame.com: could not connect to host
 beardydave.com: did not receive HSTS header
 beasel.biz: could not connect to host
 beastlog.tk: could not connect to host
 beastowner.com: did not receive HSTS header
 beatz-anime.tk: did not receive HSTS header
+beau.pw: could not connect to host
 beauty-hippie-schmuck.de: could not connect to host
 beauty-yan-enterprise.com: could not connect to host
+beauty.moe: could not connect to host
+beautybear.dk: max-age too low: 7889238
 beautyby.tv: could not connect to host
 beautyconcept.co: did not receive HSTS header
 beautycreamultimate.com: did not receive HSTS header
 beautyspot.tk: could not connect to host
-beavers.io: could not connect to host
+beavers.io: did not receive HSTS header
 bebeautiful.business: could not connect to host
 bebeefy.uk: could not connect to host
 bebesurdoue.com: could not connect to host
@@ -4959,8 +5593,10 @@ bebetrotteur.com: could not connect to host
 bebout.domains: could not connect to host
 bebout.pw: could not connect to host
 beccajoshwedding.com: could not connect to host
+beckenhamcastles.co.uk: did not receive HSTS header
 becklove.cn: could not connect to host
 beckon.com: did not receive HSTS header
+beckyhirstconsulting.com.au: did not receive HSTS header
 becoast.fr: did not receive HSTS header
 becubed.co: could not connect to host
 bedabox.com: did not receive HSTS header
@@ -4971,7 +5607,6 @@ bedouille.com: could not connect to host
 bedreid.dk: did not receive HSTS header
 bedrijfsfotoreportages.nl: could not connect to host
 bedrijfshulpverleningfriesland.nl: did not receive HSTS header
-bedrijfsportaal.nl: did not receive HSTS header
 bedrijvenadministratie.nl: could not connect to host
 bee-social.it: did not receive HSTS header
 bee.clothing: could not connect to host
@@ -4987,8 +5622,10 @@ beekeeper.supply: could not connect to host
 beekeeper.tools: could not connect to host
 beekeeping.clothing: could not connect to host
 beekeeping.tools: could not connect to host
+beeksnetwork.nl: could not connect to host
 beerboutique.com.br: could not connect to host
-beermedlar.com: could not connect to host
+beercandle.com: could not connect to host
+beerly.eu: could not connect to host
 beerradar.no: could not connect to host
 beerradar.party: could not connect to host
 beersandco.ch: could not connect to host
@@ -4999,6 +5636,7 @@ befundup.com: could not connect to host
 bega-dc.gov: could not connect to host
 begcykel.com: did not receive HSTS header
 beginatzero.com: did not receive HSTS header
+begintravel.co.th: did not receive HSTS header
 begravningsbyranhumana.se: did not receive HSTS header
 behemot.cz: did not receive HSTS header
 behere.be: could not connect to host
@@ -5006,12 +5644,12 @@ behindthethrills.com: did not receive HSTS header
 beholdthehurricane.com: could not connect to host
 beier.io: could not connect to host
 beikeil.de: did not receive HSTS header
-beingmad.org: did not receive HSTS header
 beizsley.com: did not receive HSTS header
 beizsoft.co.uk: did not receive HSTS header
 beizsoft.com: did not receive HSTS header
 bekchy.com: did not receive HSTS header
 belairsewvac.com: could not connect to host
+belarto.es: could not connect to host
 belastingdienst-in-beeld.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 belcompany.nl: could not connect to host
 belewpictures.com: could not connect to host
@@ -5028,6 +5666,7 @@ bellthrough.com: did not receive HSTS header
 belltower.io: could not connect to host
 belmarresort.com: did not receive HSTS header
 belmontprom.com: could not connect to host
+belos.at: could not connect to host
 belpbleibtbelp.ch: could not connect to host
 belplombier.com: did not receive HSTS header
 belroyale.com: did not receive HSTS header
@@ -5041,7 +5680,6 @@ bemvindoaolar.com.br: could not connect to host
 bemyvictim.com: max-age too low: 2678400
 ben-jarvis.co.uk: did not receive HSTS header
 ben-stock.de: did not receive HSTS header
-ben.ninja: could not connect to host
 benandsarah.life: did not receive HSTS header
 benburwell.com: did not receive HSTS header
 benchcast.com: could not connect to host
@@ -5051,6 +5689,7 @@ benedikt-tuchen.de: could not connect to host
 benediktdichgans.de: did not receive HSTS header
 beneffy.com: did not receive HSTS header
 benefitsbookcase.com: could not connect to host
+beneri.se: did not receive HSTS header
 benevisim.com: could not connect to host
 benevita.bio: could not connect to host
 benevita.life: could not connect to host
@@ -5065,29 +5704,31 @@ benjamin-suess.de: could not connect to host
 benjaminbedard.com: could not connect to host
 benjaminesims.com: could not connect to host
 benjaminmarket.com.ar: did not receive HSTS header
-benjaminpiquet.fr: could not connect to host
 benk.press: could not connect to host
-benleemd.com: could not connect to host
 benmorecentre.co.uk: did not receive HSTS header
 bennink.me: could not connect to host
 benny003.de: could not connect to host
 bennythink.com: could not connect to host
 benohead.com: did not receive HSTS header
+benpfitzner.com: max-age too low: 0
 bentphotos.se: could not connect to host
 benwattie.com: could not connect to host
+benz-hikaku.com: could not connect to host
 benzkosmetik.de: did not receive HSTS header
 benzou-space.com: could not connect to host
 beourvictim.com: max-age too low: 2678400
 bep.gov: did not receive HSTS header
 bep362.vn: could not connect to host
 bepenak.com: did not receive HSTS header
+bephoenix.org.uk: could not connect to host
 beproduct.ru: did not receive HSTS header
-bepsvpt.me: did not receive HSTS header
 beraru.tk: could not connect to host
 berasavocate.com: could not connect to host
 berdaguermontes.eu: could not connect to host
 berduri.com: did not receive HSTS header
 beretech.fr: did not receive HSTS header
+bergenhave.nl: did not receive HSTS header
+bergenson.nl: did not receive HSTS header
 berger.work: could not connect to host
 bergland-seefeld.at: did not receive HSTS header
 bergmann-fotografin-berlin.de: did not receive HSTS header
@@ -5102,13 +5743,16 @@ bergmann-fotografin-stuttgart.de: did not receive HSTS header
 berhampore-gateway.tk: could not connect to host
 berlatih.com: did not receive HSTS header
 berliancom.com: did not receive HSTS header
-berlin-cuisine.com: did not receive HSTS header
 berlin-kohlefrei.de: did not receive HSTS header
 berlinleaks.com: could not connect to host
 bermos.net: could not connect to host
-berna.fr: could not connect to host
+bernadetteanderes.ch: could not connect to host
 bernama.com.my: could not connect to host
+bernarddickens.com: did not receive HSTS header
+bernardez-photo.com: could not connect to host
 bernardfischer.fr: did not receive HSTS header
+bernardo.fm: did not receive HSTS header
+bernyweb.net: could not connect to host
 berodes.be: did not receive HSTS header
 berr.yt: could not connect to host
 berry.cat: could not connect to host
@@ -5124,6 +5768,7 @@ besb66.ninja: could not connect to host
 besb66.rocks: could not connect to host
 besb66.us: could not connect to host
 beschriftung-metz.de: could not connect to host
+beserved.eu: could not connect to host
 besixdouze.world: could not connect to host
 beslider.com: could not connect to host
 besola.de: could not connect to host
@@ -5135,19 +5780,22 @@ best-of-bounce.co.uk: could not connect to host
 best-wedding-quotes.com: could not connect to host
 bestattorney.com: did not receive HSTS header
 bestbeards.ca: could not connect to host
+bestbefore.com: could not connect to host
 bestbestbitcoin.com: could not connect to host
 bestbrakes.com: did not receive HSTS header
 bestbridal.top: did not receive HSTS header
+bestbyte.com.br: did not receive HSTS header
 bestcellular.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bestcomputersecuritybooks.com: did not receive HSTS header
-bestdoc.com.br: could not connect to host
+bestdoc.com.br: did not receive HSTS header
 bestelectricnd.com: could not connect to host
 bestellipticalmachinereview.info: could not connect to host
 bestemailmarketingsoftware.org: could not connect to host
 bestesb.net: could not connect to host
+bestessaycheap.com: did not receive HSTS header
 bestfitnesswatchreview.info: could not connect to host
+bestgearlist.com: did not receive HSTS header
 bestgifts4you.com: did not receive HSTS header
-besthost.cz: did not receive HSTS header
 besthotsales.com: could not connect to host
 bestiahosting.com: could not connect to host
 bestinductioncooktop.us: could not connect to host
@@ -5158,7 +5806,7 @@ bestlashesandbrows.hu: did not receive HSTS header
 bestleftwild.com: could not connect to host
 bestlooperpedalsguide.com: did not receive HSTS header
 bestmattressforbackpain.online: did not receive HSTS header
-bestmodels.su: could not connect to host
+bestmodels.su: did not receive HSTS header
 bestof1001.de: could not connect to host
 bestoffert.club: could not connect to host
 bestorangeseo.com: could not connect to host
@@ -5167,98 +5815,109 @@ bestpal.eu: did not receive HSTS header
 bestparking.xyz: could not connect to host
 bestperfumebrands.com: could not connect to host
 bestremote.io: could not connect to host
+bestroofbox.com: did not receive HSTS header
 bestschools.io: could not connect to host
 bestschools.top: did not receive HSTS header
 bestseries.tv: could not connect to host
 bestsgadgets.com: could not connect to host
 besuccessful.ch: did not receive HSTS header
+bet062.com: could not connect to host
 bet06vip.com: could not connect to host
 bet07vip.com: could not connect to host
 bet08vip.com: could not connect to host
 bet09vip.com: could not connect to host
-bet166111.com: did not receive HSTS header
-bet166222.com: could not connect to host
-bet166333.com: did not receive HSTS header
-bet166444.com: did not receive HSTS header
-bet166555.com: could not connect to host
-bet166777.com: could not connect to host
-bet166888.com: could not connect to host
-bet1668888.com: did not receive HSTS header
-bet166999.com: did not receive HSTS header
-bet166b.com: did not receive HSTS header
-bet166bbb.com: did not receive HSTS header
-bet166c.com: could not connect to host
-bet166ddd.com: could not connect to host
-bet166eee.com: did not receive HSTS header
-bet166fff.com: could not connect to host
-bet166hhh.com: could not connect to host
-bet166tt.com: could not connect to host
-bet166uu.com: did not receive HSTS header
-bet166ww.com: could not connect to host
-bet166xx.com: did not receive HSTS header
-bet166yy.com: could not connect to host
-bet333m.com: did not receive HSTS header
-bet33app.com: did not receive HSTS header
-bet365bc.net: did not receive HSTS header
-bet365g8.com: did not receive HSTS header
-bet365n1.com: did not receive HSTS header
-bet365n2.com: did not receive HSTS header
-bet365n6.com: did not receive HSTS header
-bet365n8.com: did not receive HSTS header
-bet365n9.com: did not receive HSTS header
-bet365q0.com: did not receive HSTS header
-bet365q6.com: did not receive HSTS header
-bet365q8.com: did not receive HSTS header
-bet365q9.com: did not receive HSTS header
-bet365r8.com: did not receive HSTS header
+bet166999.com: could not connect to host
+bet290.com: did not receive HSTS header
+bet333n.com: could not connect to host
+bet333q.com: could not connect to host
+bet333z.com: could not connect to host
+bet365bc.net: could not connect to host
+bet365g8.com: could not connect to host
+bet365n1.com: could not connect to host
+bet365n2.com: could not connect to host
+bet365n6.com: could not connect to host
+bet365n8.com: could not connect to host
+bet365n9.com: could not connect to host
+bet365q0.com: could not connect to host
+bet365q6.com: could not connect to host
+bet365q8.com: could not connect to host
+bet365q9.com: could not connect to host
+bet365r8.com: could not connect to host
+bet365u.com: did not receive HSTS header
 bet365vip7.com: could not connect to host
-bet365x0.com: did not receive HSTS header
-bet365x1.com: did not receive HSTS header
-bet365x2.com: did not receive HSTS header
-bet365x3.com: did not receive HSTS header
-bet365x6.com: did not receive HSTS header
-bet365x8.com: did not receive HSTS header
-bet365x9.com: did not receive HSTS header
+bet365x0.com: could not connect to host
+bet365x1.com: could not connect to host
+bet365x2.com: could not connect to host
+bet365x3.com: could not connect to host
+bet365x6.com: could not connect to host
+bet365x8.com: could not connect to host
+bet365x9.com: could not connect to host
+bet44410.com: did not receive HSTS header
+bet444400.com: did not receive HSTS header
+bet444401.com: did not receive HSTS header
+bet444402.com: did not receive HSTS header
+bet444403.com: did not receive HSTS header
+bet444404.com: did not receive HSTS header
+bet444405.com: did not receive HSTS header
+bet444406.com: did not receive HSTS header
+bet444407.com: did not receive HSTS header
+bet444408.com: did not receive HSTS header
+bet444409.com: did not receive HSTS header
+bet444410.com: did not receive HSTS header
+bet444421.com: did not receive HSTS header
+bet444422.com: did not receive HSTS header
+bet444423.com: did not receive HSTS header
+bet444424.com: could not connect to host
+bet444425.com: could not connect to host
+bet444426.com: could not connect to host
+bet444427.com: did not receive HSTS header
+bet444428.com: did not receive HSTS header
+bet444429.com: could not connect to host
+bet444430.com: did not receive HSTS header
 bet909.com: could not connect to host
-bet990.com: could not connect to host
-betaa0.com: did not receive HSTS header
-betaa1.com: did not receive HSTS header
-betaa2.com: did not receive HSTS header
-betaa3.com: did not receive HSTS header
-betaa5.com: did not receive HSTS header
-betaa6.com: did not receive HSTS header
-betaa8.com: did not receive HSTS header
-betaa9.com: did not receive HSTS header
+bet990.com: did not receive HSTS header
+betaa0.com: could not connect to host
+betaa1.com: could not connect to host
+betaa2.com: could not connect to host
+betaa3.com: could not connect to host
+betaa5.com: could not connect to host
+betaa6.com: could not connect to host
+betaa8.com: could not connect to host
+betaa9.com: could not connect to host
 betacavi.com: did not receive HSTS header
 betaclean.fr: did not receive HSTS header
 betacloud.io: did not receive HSTS header
 betafive.net: could not connect to host
 betakah.net: could not connect to host
 betalenviainternet.nl: did not receive HSTS header
-betamint.org: could not connect to host
+betamint.org: did not receive HSTS header
 betcafearena.ro: could not connect to host
 betformular.com: could not connect to host
+bethanyduke.com: could not connect to host
+bethanyhome.org: could not connect to host
 betkoo.com: could not connect to host
 betleakbot.com: could not connect to host
 betnet.fr: could not connect to host
-betonmoney.com: did not receive HSTS header
+betonmoney.com: could not connect to host
 betplanning.it: did not receive HSTS header
 betrallyarabia.com: could not connect to host
 bets.de: did not receive HSTS header
 betsonlinefree.com.au: could not connect to host
-better.com: did not receive HSTS header
-betterbabyshop.com.au: could not connect to host
+betteressay.website: could not connect to host
 betterhelp.com: did not receive HSTS header
 betterjapanese.blog: could not connect to host
-betterjapanese.com: did not receive HSTS header
+betterjapanese.com: could not connect to host
 betterjapanese.org: could not connect to host
 betterjapanese.xyz: could not connect to host
+betterselfbetterworld.cz: did not receive HSTS header
+bettertechinterviews.com: did not receive HSTS header
 bettween.com: did not receive HSTS header
 between.be: did not receive HSTS header
-betxx1.com: did not receive HSTS header
-betxx2.com: did not receive HSTS header
+betxx1.com: could not connect to host
+betxx2.com: could not connect to host
 betz.ro: could not connect to host
 beulahtabernacle.com: could not connect to host
+bevallarta.com: could not connect to host
 beverly.tk: could not connect to host
 bevinsco.org: could not connect to host
 bewerbungsfoto-deinfoto.ch: could not connect to host
@@ -5278,14 +5937,17 @@ beyondtrust.com: did not receive HSTS header
 beyuna.co.uk: did not receive HSTS header
 beyuna.eu: did not receive HSTS header
 beyuna.nl: did not receive HSTS header
+bezemkast.nl: did not receive HSTS header
 bezoomnyville.com: could not connect to host
 bezorg.ninja: could not connect to host
+bezpecnostsiti.cf: could not connect to host
 bezprawnik.pl: did not receive HSTS header
 bezr.co.uk: could not connect to host
 bf.am: max-age too low: 0
-bf7088.com: did not receive HSTS header
-bf7877.com: did not receive HSTS header
+bf7088.com: could not connect to host
+bf7877.com: could not connect to host
 bfas237blog.com: could not connect to host
+bfcgermania88.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bfd.vodka: could not connect to host
 bfear.com: could not connect to host
 bfelob.gov: could not connect to host
@@ -5293,55 +5955,66 @@ bffm.biz: could not connect to host
 bfi.wien: did not receive HSTS header
 bflix.tv: did not receive HSTS header
 bfrailwayclub.cf: could not connect to host
-bft-media.com: could not connect to host
 bftbradio.com: did not receive HSTS header
 bg-sexologia.com: could not connect to host
 bg16.de: could not connect to host
 bgbhsf.top: could not connect to host
 bgcparkstad.nl: did not receive HSTS header
 bgdaddy.com: did not receive HSTS header
-bgenlisted.com: could not connect to host
+bgenlisted.com: did not receive HSTS header
 bgeo.io: could not connect to host
+bgfix.se: did not receive HSTS header
+bgfoto.info: did not receive HSTS header
 bgneuesheim.de: did not receive HSTS header
 bgp.ee: could not connect to host
+bgtgames.com: did not receive HSTS header
 bgwfans.com: did not receive HSTS header
+bharath-g.in: could not connect to host
 bhatia.at: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bhost.net: did not receive HSTS header
 bhosted.nl: did not receive HSTS header
-bhthome.com: could not connect to host
+bhthome.com: did not receive HSTS header
 bi-ec.ac.cn: could not connect to host
 bi1gif.space: could not connect to host
+bi5.me: could not connect to host
+bi8cku.tech: could not connect to host
 biaggeo-prod.herokuapp.com: could not connect to host
 biancolievito.it: did not receive HSTS header
 bianinapiccanovias.com: could not connect to host
+biano-ai.com: could not connect to host
 bianvip888.com: max-age too low: 0
 biaoqingfuhao.net: could not connect to host
 biaoqingfuhao.org: could not connect to host
-biathloncup.ru: could not connect to host
 biaxin.ml: could not connect to host
 bible.ru: did not receive HSTS header
 bibleonline.ru: did not receive HSTS header
 biblerhymes.com: could not connect to host
 bibles.com.tw: did not receive HSTS header
 biblethoughts.blog: did not receive HSTS header
+bibleversesfordailyliving.com: could not connect to host
+biblia.name: did not receive HSTS header
 bibliafeminina.com.br: could not connect to host
 biblio.wiki: could not connect to host
+bibliotekarien.se: could not connect to host
 bichines.es: did not receive HSTS header
 bichonfrise.com.br: could not connect to host
 bichonmaltes.com.br: could not connect to host
 bicilonatours.com: did not receive HSTS header
+bicranial.io: did not receive HSTS header
 bicromoestudio.com: could not connect to host
 bicycle-events.com: could not connect to host
 bidon.ca: did not receive HSTS header
 bidorbuy.co.ke: did not receive HSTS header
 bieberium.de: could not connect to host
+biego.cn: could not connect to host
 biehl.co: could not connect to host
 biehl.tech: did not receive HSTS header
 bielsa.me: did not receive HSTS header
 bienenblog.cc: could not connect to host
-bienestarinmobiliarioyaliadas.com: could not connect to host
 biensenvue.com: could not connect to host
+bienstar.tv: could not connect to host
 bier.jp: did not receive HSTS header
+bierbaumer.net: max-age too low: 172800
 bierbringer.at: could not connect to host
 bieumau.net: could not connect to host
 biewen.me: did not receive HSTS header
@@ -5349,11 +6022,10 @@ biftin.moe: did not receive HSTS header
 biftin.net: could not connect to host
 big-black.de: did not receive HSTS header
 big-fluglaerm-hamburg.de: did not receive HSTS header
-bigadcompany.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bigbbqbrush.bid: could not connect to host
 bigbounceentertainment.co.uk: could not connect to host
 bigbrotherawards.nl: did not receive HSTS header
-bigbrownpromotions.com.au: did not receive HSTS header
+bigbrownpromotions.com.au: could not connect to host
 bigcorporateevents.com: could not connect to host
 bigerbio.com: did not receive HSTS header
 bigfunbouncycastles.com: could not connect to host
@@ -5365,7 +6037,8 @@ bigshort.org: could not connect to host
 bigthunder.ca: could not connect to host
 biguixhe.net: could not connect to host
 bigwiseguide.com: could not connect to host
-bijoux.com.br: could not connect to host
+bijoux-store.fr: did not receive HSTS header
+bijoux.com.br: did not receive HSTS header
 bijouxbrasil.com.br: did not receive HSTS header
 bijouxdegriffe.com.br: could not connect to host
 biju-neko.jp: could not connect to host
@@ -5376,26 +6049,30 @@ bikerebel.com: did not receive HSTS header
 bikermusic.net: could not connect to host
 bikeshopitalia.com: could not connect to host
 bikiniatoll.com: did not receive HSTS header
+bikyaku.fun: could not connect to host
 bilanligne.com: did not receive HSTS header
 bildermachr.de: could not connect to host
-bildiri.ci: could not connect to host
 biletru.net: could not connect to host
 biletua.de: could not connect to host
 biletyplus.com: could not connect to host
 biletyplus.ru: did not receive HSTS header
+bilibili.red: could not connect to host
 bill-nye-the.science: could not connect to host
 billcomparison.ga: could not connect to host
 billdestler.com: could not connect to host
+billgoldstein.name: did not receive HSTS header
+billigesommerhuse.nu: could not connect to host
 billigssl.dk: did not receive HSTS header
+billingsmtpublicworks.gov: could not connect to host
 billionkiaparts.com: could not connect to host
 billninja.com: did not receive HSTS header
 billpro.com.au: could not connect to host
 billrobinson.io: could not connect to host
 billrusling.com: could not connect to host
 billsqualityautocare.com: did not receive HSTS header
+billysbouncycastlehire.co.uk: could not connect to host
 biloplysninger.dk: did not receive HSTS header
 bilsho.com: could not connect to host
-binam.center: could not connect to host
 binans.co: could not connect to host
 binans.io: could not connect to host
 binans.xyz: could not connect to host
@@ -5404,6 +6081,8 @@ binarization.net: could not connect to host
 binarization.org: could not connect to host
 binarka.net: did not receive HSTS header
 binaryabstraction.com: could not connect to host
+binaryapparatus.com: did not receive HSTS header
+binaryevolved.com: could not connect to host
 binderapp.net: could not connect to host
 binf.tk: could not connect to host
 binfind.com: did not receive HSTS header
@@ -5419,19 +6098,22 @@ bintangpiaggi.info: did not receive HSTS header
 bintangsyurga.com: could not connect to host
 binwu666.com: max-age too low: 0
 biobone.net: could not connect to host
-biodobavki.tk: could not connect to host
+biodobavki.tk: did not receive HSTS header
 bioespuna.eu: did not receive HSTS header
 biofam.ru: did not receive HSTS header
+biofrequenze.it: could not connect to host
 biogeniq.ca: did not receive HSTS header
+biomag.it: could not connect to host
 biomasscore.com: did not receive HSTS header
-biomax-mep.com.br: did not receive HSTS header
+biomathalliance.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 biomeris.it: did not receive HSTS header
-biometrics.es: could not connect to host
+biometrics.es: did not receive HSTS header
 bionicspirit.com: did not receive HSTS header
 bionovanaturalpools.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 biophysik-ssl.de: did not receive HSTS header
 biopreferred.gov: could not connect to host
 biospeak.solutions: could not connect to host
+biotanquesbts.com: could not connect to host
 biou.me: could not connect to host
 biovalue.eu: could not connect to host
 bip.gov.sa: could not connect to host
@@ -5443,13 +6125,19 @@ birkengarten.ch: could not connect to host
 birkhoff.me: did not receive HSTS header
 birkman.com: did not receive HSTS header
 birminghamcastlehire.co.uk: did not receive HSTS header
+birthmatters.us: did not receive HSTS header
 birthright.host: could not connect to host
 birthright.website: could not connect to host
+bischoff-mathey.family: could not connect to host
+biscuit.town: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 biscuits-rec.com: could not connect to host
 biscuits-shop.com: could not connect to host
-bisix.tk: could not connect to host
+biser-borisov.eu: could not connect to host
+bishopscourt-hawarden.co.uk: could not connect to host
+bisix.tk: did not receive HSTS header
 bismarck.moe: could not connect to host
 biso.ga: could not connect to host
+bisoga.xyz: did not receive HSTS header
 bissalama.org: could not connect to host
 bisschopssteeg.nl: could not connect to host
 bisterfeldt.com: did not receive HSTS header
@@ -5463,15 +6151,16 @@ bitcalt.eu.org: could not connect to host
 bitcalt.ga: could not connect to host
 bitcantor.com: did not receive HSTS header
 bitchan.it: could not connect to host
-bitchigo.com: could not connect to host
 bitclubfun.com: did not receive HSTS header
 bitcoin-casino-no-deposit-bonus.com: max-age too low: 0
 bitcoin-class.com: could not connect to host
 bitcoin-daijin.com: could not connect to host
 bitcoin-india.org: could not connect to host
-bitcoin.com: could not connect to host
+bitcoin-wizards.com: could not connect to host
+bitcoin.com: did not receive HSTS header
 bitcoinclashic.ninja: did not receive HSTS header
 bitcoinec.info: could not connect to host
+bitcoiner-or-shitcoiner.com: could not connect to host
 bitcoinfo.jp: could not connect to host
 bitcoingah.com: did not receive HSTS header
 bitcoinhk.org: did not receive HSTS header
@@ -5492,6 +6181,7 @@ bitfactory.ws: could not connect to host
 bitfarm-archiv.com: did not receive HSTS header
 bitfarm-archiv.de: did not receive HSTS header
 bitfence.io: did not receive HSTS header
+bitfinder.nl: could not connect to host
 bitfolio.org: did not receive HSTS header
 bithap.com: did not receive HSTS header
 bitheus.com: could not connect to host
@@ -5500,15 +6190,20 @@ bitk.co: did not receive HSTS header
 bitk.co.uk: did not receive HSTS header
 bitk.eu: did not receive HSTS header
 bitk.uk: did not receive HSTS header
+bitlish.com: did not receive HSTS header
 bitmain.com.ua: could not connect to host
 bitmaincare.com.ua: could not connect to host
 bitmaincare.ru: could not connect to host
 bitmainwarranty.com.ua: could not connect to host
 bitmainwarranty.ru: could not connect to host
+bitmarket.net: could not connect to host
+bitmarket.pl: could not connect to host
+bitmessage.ch: could not connect to host
 bitmex.com: did not receive HSTS header
 bitmexin.com: could not connect to host
-bitmon.net: could not connect to host
-bitnet.io: did not receive HSTS header
+bitmoe.com: did not receive HSTS header
+bitmon.net: did not receive HSTS header
+bitnet.io: could not connect to host
 bitplay.space: could not connect to host
 bitpod.de: could not connect to host
 bitpoll.de: could not connect to host
@@ -5516,7 +6211,7 @@ bitpoll.org: could not connect to host
 bitrage.de: could not connect to host
 bitraum.io: could not connect to host
 bitroll.com: did not receive HSTS header
-bitsburg.ru: did not receive HSTS header
+bitsburg.ru: could not connect to host
 bitsensor.io: did not receive HSTS header
 bitshaker.net: did not receive HSTS header
 bitsum.com: did not receive HSTS header
@@ -5526,11 +6221,11 @@ bitvegas.com: did not receive HSTS header
 bitvigor.com: did not receive HSTS header
 bitwrought.net: could not connect to host
 bityes.org: could not connect to host
+bitzeny.link: could not connect to host
 biupay.com.br: could not connect to host
 bivsi.com: could not connect to host
 bizbudding.com: max-age too low: 2592000
 bizcms.com: could not connect to host
-bizedge.co.nz: did not receive HSTS header
 biznes-sekrety.cf: could not connect to host
 bizon.sk: did not receive HSTS header
 bizzartech.com: could not connect to host
@@ -5551,7 +6246,7 @@ black-armada.com: could not connect to host
 black-armada.com.pl: could not connect to host
 black-armada.pl: could not connect to host
 black-cat-seo.com: did not receive HSTS header
-black-khat.com: could not connect to host
+black-gay-porn.biz: could not connect to host
 black-octopus.ru: could not connect to host
 black-pool.net: could not connect to host
 blackapron.com.br: could not connect to host
@@ -5562,14 +6257,14 @@ blackbyte.it: could not connect to host
 blackcicada.com: could not connect to host
 blackcountrymetalworks.co.uk: did not receive HSTS header
 blackdesertsp.com: could not connect to host
+blackdiam.net: did not receive HSTS header
 blackdotbrewery.com: could not connect to host
 blackhawktreeinc.com: did not receive HSTS header
 blackhell.xyz: could not connect to host
-blackilli.de: could not connect to host
 blackislegroup.com: did not receive HSTS header
 blackkeg.ca: could not connect to host
 blacklane.com: did not receive HSTS header
-blackly.uk: max-age too low: 0
+blackly.uk: could not connect to host
 blackmagic.sk: could not connect to host
 blackmirror.com.au: did not receive HSTS header
 blackonion.com: did not receive HSTS header
@@ -5580,14 +6275,13 @@ blackrose-garden.herokuapp.com: did not receive HSTS header
 blackscreen.me: could not connect to host
 blackthrone.tk: could not connect to host
 blackunicorn.wtf: could not connect to host
-blackyau.cc: did not receive HSTS header
+blackyin.xyz: could not connect to host
 bladesmith.io: could not connect to host
 blakerandall.xyz: could not connect to host
-blamefran.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-blankersfamily.com: did not receive HSTS header
+blamefran.net: could not connect to host
 blantik.net: could not connect to host
 blantr.com: could not connect to host
-blarg.co: could not connect to host
+blarg.co: did not receive HSTS header
 blastair.fr: did not receive HSTS header
 blastzoneentertainments.co.uk: could not connect to host
 blatnice.cf: could not connect to host
@@ -5596,9 +6290,11 @@ blatnice.gq: could not connect to host
 blatnice.ml: could not connect to host
 blatnice.tk: could not connect to host
 blazeit.io: could not connect to host
+blazor.nl: did not receive HSTS header
 blechpirat.name: could not connect to host
 bleep.zone: could not connect to host
-blend.guru: did not receive HSTS header
+blend.guru: could not connect to host
+blenderman.org: could not connect to host
 blendlecdn.com: could not connect to host
 blenheimchalcot.com: did not receive HSTS header
 blessedguy.net: did not receive HSTS header
@@ -5607,13 +6303,13 @@ bleutecmedia.com: did not receive HSTS header
 blha303.com.au: could not connect to host
 blic-zajm.gq: could not connect to host
 blicy.net: could not connect to host
-bliesekow.net: could not connect to host
 bliker.ga: could not connect to host
 blikk.no: did not receive HSTS header
 blindaryproduction.tk: could not connect to host
 blinder.com.co: did not receive HSTS header
 blinds-unlimited.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 blindsexdate.nl: did not receive HSTS header
+blink-security.com: could not connect to host
 blinkenlight.co.uk: could not connect to host
 blinkenlight.com.au: could not connect to host
 blinkspeed.eu: could not connect to host
@@ -5621,43 +6317,52 @@ blitzprog.org: could not connect to host
 blitzvendor.com: could not connect to host
 blizora.com: could not connect to host
 bllb.ru: could not connect to host
+blm36.cc: could not connect to host
 blmiller.com: could not connect to host
+blockchainbulteni.com.tr: did not receive HSTS header
 blockchainevents.nl: could not connect to host
+blockchainwhiz.com: did not receive HSTS header
 blockcheck.network: could not connect to host
 blockified.io: could not connect to host
 blocknodes.live: could not connect to host
 blocksatz-medien.de: could not connect to host
 blockshopauto.com: could not connect to host
+blockstream.com: did not receive HSTS header
 blog-ritaline.com: could not connect to host
 blog.coffee: could not connect to host
 blog.cyveillance.com: could not connect to host
+blog.gov.uk: did not receive HSTS header
 blog.gparent.org: could not connect to host
 blogabout.ru: could not connect to host
-blogcast.com: did not receive HSTS header
+blogcast.co: did not receive HSTS header
 blogconcours.net: could not connect to host
 blogcuaviet.com: could not connect to host
 blogdeyugioh.com: could not connect to host
+blogexpert.ca: did not receive HSTS header
 bloggingwithchildren.com: could not connect to host
 blogkuliah.com: could not connect to host
 bloglife-bb.com: could not connect to host
 bloglikepro.com: could not connect to host
 bloglines.co.za: did not receive HSTS header
 bloglogistics.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-blognr.com: could not connect to host
-blogonblogspot.com: did not receive HSTS header
+bloglyric.com: did not receive HSTS header
+blognr.com: did not receive HSTS header
+blogom.at: could not connect to host
+blogonblogspot.com: could not connect to host
 blogpronto.com.br: did not receive HSTS header
 bloguser.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 blokino.org: did not receive HSTS header
 blokmy.com: could not connect to host
 blokuhaka.fr: did not receive HSTS header
+blonde.style: did not receive HSTS header
 blondesguide.com: did not receive HSTS header
 blood4pets.tk: could not connect to host
 bloodhunt.pl: could not connect to host
 bloodyexcellent.com: did not receive HSTS header
 bloogle.top: did not receive HSTS header
+bloom.sh: did not receive HSTS header
 bloombrown.com: did not receive HSTS header
 bloomnbud.com: did not receive HSTS header
-bloomscape.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bloomzoomy.ru: could not connect to host
 blowjs.com: could not connect to host
 bls-fiduciaire.be: did not receive HSTS header
@@ -5666,8 +6371,9 @@ blucas.org: did not receive HSTS header
 bludnykoren.ml: could not connect to host
 blue17.co.uk: did not receive HSTS header
 bluebahari.gq: could not connect to host
-bluebill.net: did not receive HSTS header
+bluebill.net: could not connect to host
 bluecardlottery.eu: could not connect to host
+bluechilli.com: did not receive HSTS header
 bluecon.eu: did not receive HSTS header
 bluedata.ltd: could not connect to host
 bluefinger.nl: did not receive HSTS header
@@ -5675,8 +6381,9 @@ blueflare.org: could not connect to host
 blueglobalmedia.com: could not connect to host
 bluehawk.cloud: could not connect to host
 blueliv.com: did not receive HSTS header
+bluemeda.web.id: could not connect to host
 blueoceantech.us: did not receive HSTS header
-bluepearl.tk: could not connect to host
+bluepearl.tk: did not receive HSTS header
 blueplumbinggroup.com.au: could not connect to host
 bluepoint.foundation: did not receive HSTS header
 bluepoint.institute: did not receive HSTS header
@@ -5684,11 +6391,11 @@ bluepoint.one: did not receive HSTS header
 blueprintloans.co.uk: could not connect to host
 blueridgesecuritycameras.com: did not receive HSTS header
 blues-and-pictures.com: could not connect to host
-bluescloud.xyz: did not receive HSTS header
+bluescloud.xyz: could not connect to host
 bluesecure.com.br: could not connect to host
 bluesnews.tk: could not connect to host
 bluetenmeer.com: did not receive HSTS header
-blueyed.eu: max-age too low: 600
+bluewizardart.net: could not connect to host
 bluezonehealth.co.uk: did not receive HSTS header
 blui.cf: could not connect to host
 blui.ml: could not connect to host
@@ -5705,7 +6412,6 @@ bluserv.net: could not connect to host
 bluteklab.com: did not receive HSTS header
 blutroyal.de: did not receive HSTS header
 bm-i.ch: could not connect to host
-bm-immo.ch: could not connect to host
 bm-trading.nl: did not receive HSTS header
 bmet.de: did not receive HSTS header
 bminton.is-a-geek.net: could not connect to host
@@ -5716,50 +6422,51 @@ bnb-buddy.nl: could not connect to host
 bnboy.cn: could not connect to host
 bngsecure.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bnhlibrary.com: could not connect to host
-bnusd.cn: could not connect to host
+bnstree.com: could not connect to host
+bnusd.cn: did not receive HSTS header
 board-buy.ru: could not connect to host
 boatme.de: did not receive HSTS header
+bobancoamigo.com: could not connect to host
 bobaobei.org: could not connect to host
-bobbyhensley.com: could not connect to host
+bobep.ru: could not connect to host
 bobiji.com: could not connect to host
 boboates.com: did not receive HSTS header
 bocloud.eu: could not connect to host
 bodaneiranunez.com: did not receive HSTS header
+bodegasvirei.com: did not receive HSTS header
 bodixite.com: could not connect to host
 bodo-wolff.de: could not connect to host
 bodrumfarm.com: could not connect to host
+bodrumhotelsresorts.com: could not connect to host
 bodyblog.nl: did not receive HSTS header
 bodybuilding-legends.com: could not connect to host
 bodybuilding.events: could not connect to host
 bodycaredirect.online: did not receive HSTS header
-bodyweightsolution.com: did not receive HSTS header
+bodyweightsolution.com: could not connect to host
 bodyworkbymichael.com: did not receive HSTS header
 boekenlegger.nl: did not receive HSTS header
 boel073.nl: did not receive HSTS header
-boem.gov: did not receive HSTS header
 boensou.com: did not receive HSTS header
-boese.one: could not connect to host
 boffin.tk: could not connect to host
 bog8.com: did not receive HSTS header
 bogobeats.com: did not receive HSTS header
+bogosity.se: max-age too low: 0
 bogosity.tv: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bogwitch.tk: could not connect to host
-bohaishibei.com: did not receive HSTS header
 bohan.life: could not connect to host
 bohyn.cz: could not connect to host
 boiadeirodeberna.com: could not connect to host
-boilesen.com: could not connect to host
+boilesen.com: did not receive HSTS header
 boincstats.com: did not receive HSTS header
 bokeyy.com: could not connect to host
-bol.io: could not connect to host
 bolainfoasia.com: did not receive HSTS header
-boldmediagroup.com: could not connect to host
+boldt-metallbau.de: did not receive HSTS header
 bolivarfm.com.ve: could not connect to host
 bollywood.uno: could not connect to host
-bolsa.tk: could not connect to host
+bolsa.tk: did not receive HSTS header
 boltdata.io: could not connect to host
 boltn.uk: could not connect to host
-bolwerk.com.br: did not receive HSTS header
+bolwerk.com.br: could not connect to host
 bombayfashionclub.com: could not connect to host
 bomberus.de: could not connect to host
 bombsquad.studio: could not connect to host
@@ -5768,27 +6475,32 @@ bonapp.restaurant: could not connect to host
 bonbini.ga: could not connect to host
 bondoer.fr: did not receive HSTS header
 bondtofte.dk: max-age too low: 2592000
+bongminhtam.com: could not connect to host
 bonibuty.com: max-age too low: 2592000
+bonifacius.be: did not receive HSTS header
 bonigo.de: could not connect to host
 bonita.com.br: could not connect to host
 bonitabrazilian.co.nz: did not receive HSTS header
 bonnebouffe.fr: could not connect to host
+bonniecoloring.com: could not connect to host
 bonniedraw.com: could not connect to host
 bonniekitchen.com: could not connect to host
 bonnin.fr: did not receive HSTS header
+bonnsustainabilityportal.de: could not connect to host
 bonobo.cz: could not connect to host
 bonop.com: did not receive HSTS header
 bonqoeur.ca: did not receive HSTS header
 bonrecipe.com: could not connect to host
 bonta.one: could not connect to host
 bonus-flexi.com: did not receive HSTS header
-boobox.xyz: could not connect to host
+boobox.xyz: max-age too low: 0
 boogaerdtmakelaars.nl: did not receive HSTS header
-boogiebouncecastles.co.uk: did not receive HSTS header
+boogiebouncecastles.co.uk: could not connect to host
 book-of-ra.de: could not connect to host
 bookcelerator.com: did not receive HSTS header
 booked.holiday: could not connect to host
 bookingentertainment.com: did not receive HSTS header
+bookingtool.com: did not receive HSTS header
 bookmakersfreebets.com.au: did not receive HSTS header
 bookofraonlinecasinos.com: could not connect to host
 bookourdjs.com: could not connect to host
@@ -5796,8 +6508,10 @@ bookreport.ga: could not connect to host
 booksouthafrica.travel: did not receive HSTS header
 bookwitty.social: did not receive HSTS header
 boomerang.com: did not receive HSTS header
-boomsaki.com: did not receive HSTS header
-boomsakis.com: did not receive HSTS header
+boomersurf.com: could not connect to host
+boomsaki.com: could not connect to host
+boomsakis.com: could not connect to host
+boomvm.pw: could not connect to host
 boonecountyfpdmo.gov: did not receive HSTS header
 boonehenry.co.uk: did not receive HSTS header
 booox.biz: could not connect to host
@@ -5806,16 +6520,20 @@ boop.gq: could not connect to host
 booq.org: did not receive HSTS header
 boost.fyi: could not connect to host
 boosterlearnpro.com: could not connect to host
+boosteusedetalents.fr: did not receive HSTS header
 boostgame.win: could not connect to host
 boote.wien: could not connect to host
 booter.es: did not receive HSTS header
 booth.in.th: did not receive HSTS header
+boothlabs.me: could not connect to host
 bootikexpress.fr: did not receive HSTS header
-bootyourboss.com: did not receive HSTS header
+bootyourboss.com: could not connect to host
 boozinyan.com: could not connect to host
 bopera.co.uk: could not connect to host
+boran.cl: did not receive HSTS header
 borchers-media.de: could not connect to host
 borderlinegroup.com: could not connect to host
+boredhackers.com: could not connect to host
 boren.shop: did not receive HSTS header
 borg.cloud: did not receive HSTS header
 borgodigatteraia.it: could not connect to host
@@ -5828,12 +6546,12 @@ borisschapira.com: did not receive HSTS header
 born-to-learn.com: could not connect to host
 borrelioz.com: did not receive HSTS header
 borscheid-wenig.com: did not receive HSTS header
-borzoi.com.br: did not receive HSTS header
+borzoi.com.br: could not connect to host
+bosabosa.org: could not connect to host
 boschee.net: could not connect to host
-boschsplit.co: could not connect to host
+bossdistribuidora.com.br: did not receive HSTS header
 bostadsportal.se: did not receive HSTS header
 bosworthdental.co.uk: did not receive HSTS header
-botealis.ch: could not connect to host
 botlab.ch: could not connect to host
 botmanager.pl: could not connect to host
 botoes-primor.pt: max-age too low: 2592000
@@ -5842,10 +6560,11 @@ bots.cat: could not connect to host
 botsiah.fail: could not connect to host
 botsindiscord.me: could not connect to host
 botstack.host: could not connect to host
+bottaerisposta.net: did not receive HSTS header
 bou.lt: did not receive HSTS header
 boueki.jp: did not receive HSTS header
 boueki.org: did not receive HSTS header
-bouk.co: could not connect to host
+bouk.co: did not receive HSTS header
 bouncebeyondcastles.co.uk: could not connect to host
 bounceboxspc.com: did not receive HSTS header
 bouncecoffee.com: did not receive HSTS header
@@ -5854,30 +6573,38 @@ bouncelanduk.co.uk: did not receive HSTS header
 bouncemania.org: could not connect to host
 bouncemasters.co.uk: could not connect to host
 bouncenslidenortheast.co.uk: did not receive HSTS header
+bouncetheparty.co.uk: could not connect to host
 bouncewithbovells.com: could not connect to host
 bouncing-bugs.co.uk: could not connect to host
 bouncing4joy.co.uk: could not connect to host
 bouncingbuzzybees.co.uk: could not connect to host
+bouncourseplanner.net: could not connect to host
 bouncy-tots.co.uk: could not connect to host
 bouncyballscastles.co.uk: could not connect to host
 bouncycastleandparty.co.uk: could not connect to host
 bouncycastlehiremedway.com: could not connect to host
 bouncycastles.me: did not receive HSTS header
-bouncycastlesinleeds.co.uk: did not receive HSTS header
+bouncycastlesinleeds.co.uk: could not connect to host
+bouncycastlesmonaghan.com: did not receive HSTS header
 bouncycastlesperth.net: could not connect to host
 bouncyfeet.co.uk: could not connect to host
 bouncyhouses.co.uk: could not connect to host
 bouncymadness.com: could not connect to host
 bouncytown.co.uk: could not connect to host
+bouncywouncy.co.uk: did not receive HSTS header
 bountiful.gov: could not connect to host
 bourdon.fr.eu.org: could not connect to host
 bourgdepabos.com: did not receive HSTS header
 bourhis.info: did not receive HSTS header
 bourqu.in: did not receive HSTS header
-boutiquedecanetas.com.br: could not connect to host
 boutiquefutebol.com.br: did not receive HSTS header
 bouwbedrijfpurmerend.nl: did not receive HSTS header
+bouwplaatscheckin.nl: did not receive HSTS header
+bovworkplacepensions.com: could not connect to host
 bowlsheet.com: did not receive HSTS header
+bownty.be: did not receive HSTS header
+bownty.de: did not receive HSTS header
+bownty.dk: did not receive HSTS header
 bownty.pt: did not receive HSTS header
 boxdevigneron.fr: could not connect to host
 boxing-austria.eu: did not receive HSTS header
@@ -5885,42 +6612,46 @@ boxit.es: did not receive HSTS header
 boxlink.io: did not receive HSTS header
 boxlitepackaging.com: did not receive HSTS header
 boxmoe.cn: could not connect to host
+boxpeg.com: did not receive HSTS header
 boxtreeclinic.com: did not receive HSTS header
 boxview.com: could not connect to host
 boyan.in: could not connect to host
 boyerassoc.com: did not receive HSTS header
 boyfriendhusband.men: did not receive HSTS header
 boyntonobserver.org: could not connect to host
+boypoint.de: could not connect to host
+bozdoz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 bozemancarpetcleaningservices.com: could not connect to host
 bozosbouncycastles.co.uk: did not receive HSTS header
 bp-wahl.at: did not receive HSTS header
-bpa.gov: did not receive HSTS header
 bpadvisors.eu: could not connect to host
 bpvr.ddns.net: could not connect to host
+bqcp.net: could not connect to host
 bqtoolbox.com: could not connect to host
 br-miyamoto.spdns.org: could not connect to host
+br1334shop.com.br: could not connect to host
 brackets-salad.com: could not connect to host
 bracoitaliano.com.br: could not connect to host
 bradfergusonrealestate.com: did not receive HSTS header
 braemer-it-consulting.de: could not connect to host
 bragaweb.com.br: could not connect to host
-brahmstaedt.de: could not connect to host
+brahmstaedt.de: did not receive HSTS header
 brain-e.co: could not connect to host
+brainball.fr: could not connect to host
 brainfork.ml: could not connect to host
 brainfork.org: did not receive HSTS header
 brainfpv.com: did not receive HSTS header
 brainhub.nl: could not connect to host
 brainlag.org: could not connect to host
-brainster.co: max-age too low: 0
 braintensive.com: could not connect to host
 braintm.com: could not connect to host
 braintreebouncycastles.com: could not connect to host
 braintreepayments.com: did not receive HSTS header
 brainvation.de: did not receive HSTS header
-brainyapp.net: could not connect to host
 brakstad.org: did not receive HSTS header
 brambogaerts.nl: did not receive HSTS header
 bramburek.net: could not connect to host
+brammingfys.dk: did not receive HSTS header
 bramsikkens.be: could not connect to host
 bran.cc: could not connect to host
 bran.soy: could not connect to host
@@ -5930,39 +6661,43 @@ brand-foo.jp: did not receive HSTS header
 brand-foo.net: did not receive HSTS header
 brandbil.dk: could not connect to host
 brandbuilderwebsites.com: could not connect to host
-brandcodeconsulting.com: did not receive HSTS header
+brandcodeconsulting.com: could not connect to host
 brandnewdays.nl: could not connect to host
 brando753.xyz: could not connect to host
 brandon.so: could not connect to host
+brandongomez.me: could not connect to host
 brandonhaynesmd.com: could not connect to host
 brandonlui.ml: could not connect to host
 brandons.site: could not connect to host
 brandontaylor-black.com: could not connect to host
 brandred.net: could not connect to host
 brandspray.com: did not receive HSTS header
+brank.as: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 brasilbombas.com.br: did not receive HSTS header
 brasilien.guide: could not connect to host
-brasilmorar.com: did not receive HSTS header
-brasiltopnews.tk: could not connect to host
+brasilmorar.com: could not connect to host
+brasiltopnews.tk: did not receive HSTS header
 brasspipedreams.org: could not connect to host
 bratislava-airport-taxi.com: did not receive HSTS header
 bravehearts.org.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+braviskindenjeugd.nl: did not receive HSTS header
+bravisziekenhuis.nl: did not receive HSTS header
 bravz.de: could not connect to host
 brawlstarsitalia.com: did not receive HSTS header
+braystudio.com: did not receive HSTS header
 breakingvap.fr: did not receive HSTS header
 breakpoint.at: did not receive HSTS header
 breakwall.ml: could not connect to host
 breatheav.com: did not receive HSTS header
 breatheproduction.com: did not receive HSTS header
-breda.computer: did not receive HSTS header
+bredvid.no: did not receive HSTS header
 breeswish.org: did not receive HSTS header
-breezeairportparking.com.au: did not receive HSTS header
 breitbild-beamer.de: max-age too low: 1209600
 breizh.me: did not receive HSTS header
 brendanscherer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 brenden.net.au: could not connect to host
 bress.cloud: could not connect to host
-brestnews.tk: could not connect to host
+brestnews.tk: did not receive HSTS header
 brettelliff.com: did not receive HSTS header
 brettpemberton.xyz: did not receive HSTS header
 brettw.xyz: could not connect to host
@@ -5971,6 +6706,8 @@ brewtrackr.com: did not receive HSTS header
 brezani.tk: could not connect to host
 brfvh24.se: could not connect to host
 briangarcia.ga: could not connect to host
+brianlanders.us: could not connect to host
+brianmwaters.net: could not connect to host
 brianpcurran.com: could not connect to host
 brickoo.com: could not connect to host
 brickwerks.io: could not connect to host
@@ -5993,13 +6730,15 @@ brigitte.nyc: could not connect to host
 brigittebutt.tk: could not connect to host
 brilliantbuilders.co.uk: could not connect to host
 brilliantdecisionmaking.com: did not receive HSTS header
-brillio.com: could not connect to host
 brimspark.com: could not connect to host
+brindisi.tk: could not connect to host
 brinkhu.is: could not connect to host
 brinkmann.one: did not receive HSTS header
 brinquedoseducativos.art.br: did not receive HSTS header
 brio-ukraine.store: could not connect to host
-britania.tk: could not connect to host
+briograce.com.mx: could not connect to host
+britania.tk: did not receive HSTS header
+britishacademy.us: did not receive HSTS header
 britishchronicles.com: could not connect to host
 britzer-toner.de: did not receive HSTS header
 brivadois.ovh: could not connect to host
@@ -6009,56 +6748,57 @@ brmascots.com: could not connect to host
 brn.by: could not connect to host
 broadleft.org: could not connect to host
 brocinema.com: did not receive HSTS header
-brody.digital: could not connect to host
-brody.ninja: could not connect to host
+broerict.nl: did not receive HSTS header
 broerweb.nl: could not connect to host
+broeselei.at: could not connect to host
 broken-oak.com: could not connect to host
 brokenjoysticks.net: did not receive HSTS header
+brokervalues.com: could not connect to host
+brokolit.com: did not receive HSTS header
 bromo.cf: could not connect to host
+bronwynlewis.com: could not connect to host
+bronzew.com: max-age too low: 2592000
 brooke-fan.com: did not receive HSTS header
 brookechase.com: did not receive HSTS header
 brookframework.org: could not connect to host
-brooklyncosmetics.net: could not connect to host
 brookscountyga.gov: did not receive HSTS header
 brookworth.com: did not receive HSTS header
 brossman.it: could not connect to host
-brother-printsmart.nl: did not receive HSTS header
-brouwerijkoelit.nl: could not connect to host
-brovelton.com: did not receive HSTS header
+brother-printsmart.nl: could not connect to host
 brown-devost.com: did not receive HSTS header
 brownlawoffice.us: did not receive HSTS header
+browsbybecca.ca: could not connect to host
 browserid.org: could not connect to host
 brplusdigital.com: could not connect to host
+brrd.io: did not receive HSTS header
 brring.com: did not receive HSTS header
-bruce-springsteen.tk: could not connect to host
+bruce-springsteen.tk: did not receive HSTS header
 brucemobile.de: did not receive HSTS header
+brueser-gmbh.de: did not receive HSTS header
 bruna-cdn.nl: could not connect to host
 brunix.net: did not receive HSTS header
 brunoonline.co.uk: could not connect to host
-brunoramos.com: could not connect to host
-brunoramos.org: could not connect to host
 brutus2.ga: could not connect to host
 bryancastillo.site: could not connect to host
 bryanshearer.accountant: did not receive HSTS header
 bryn.xyz: could not connect to host
-brynnan.nl: did not receive HSTS header
+brynnan.nl: could not connect to host
 brztec.com: did not receive HSTS header
 bs-herting.de: did not receive HSTS header
 bs-security.com: could not connect to host
 bs.sb: could not connect to host
-bsagan.fr: did not receive HSTS header
+bsagan.fr: could not connect to host
 bsalyzer.com: could not connect to host
 bsc01.dyndns.org: could not connect to host
 bsd.com.ro: could not connect to host
-bsdfreak.dk: could not connect to host
-bsdlab.com: could not connect to host
 bsdtips.com: could not connect to host
 bsdug.org: could not connect to host
-bserved.de: could not connect to host
 bsg-aok-muenchen.de: did not receive HSTS header
+bsimerch.com: did not receive HSTS header
 bsklabels.com: did not receive HSTS header
 bsktweetup.info: could not connect to host
 bslim-e-boutique.com: could not connect to host
+bsmomo-api.com: could not connect to host
 bsohoekvanholland.nl: could not connect to host
 bst.gg: did not receive HSTS header
 bsuess.de: could not connect to host
@@ -6071,8 +6811,9 @@ bt96.cn: did not receive HSTS header
 bt995.com: did not receive HSTS header
 btaoke.com: could not connect to host
 btc-e.com: could not connect to host
-btc2secure.com: could not connect to host
+btc2secure.com: did not receive HSTS header
 btcdlc.com: could not connect to host
+btcfbi.com: did not receive HSTS header
 btcgo.nl: did not receive HSTS header
 btcontract.com: could not connect to host
 btcp.space: could not connect to host
@@ -6082,15 +6823,21 @@ btine.tk: could not connect to host
 btku.org: could not connect to host
 btrb.ml: could not connect to host
 btserv.de: could not connect to host
+btshenqi.cc: could not connect to host
 btt-39.com: could not connect to host
 btt-59.com: could not connect to host
-btt7676.com: could not connect to host
-btta13.com: could not connect to host
+btt11.net: could not connect to host
+btt88.net: could not connect to host
+btta13.com: did not receive HSTS header
+btta27.com: did not receive HSTS header
 btth.live: could not connect to host
 btth.xyz: could not connect to host
+bttt111.com: did not receive HSTS header
+bttt222.com: could not connect to host
 bturboo.com: could not connect to host
 btxiaobai.com: did not receive HSTS header
 bubba.cc: could not connect to host
+bubblybouncers.co.uk: did not receive HSTS header
 buben.tech: could not connect to host
 bubhub.io: could not connect to host
 buchhandlungkilgus.de: did not receive HSTS header
@@ -6100,11 +6847,20 @@ buck.com: did not receive HSTS header
 bucket.tk: could not connect to host
 buckmulligans.com: did not receive HSTS header
 budaev-shop.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+buddhaspa.ro: did not receive HSTS header
 buddhistische-weisheiten.org: could not connect to host
+buddy-acceptance-authentication-api.azurewebsites.net: did not receive HSTS header
+buddy-acceptance-authentication-frontend.azurewebsites.net: could not connect to host
+buddy-acceptance-backoffice-frontend.azurewebsites.net: could not connect to host
+buddy-acceptance-banking-api.azurewebsites.net: could not connect to host
+buddy-acceptance-profiles-api.azurewebsites.net: could not connect to host
+buddy-acceptance-users-api.azurewebsites.net: could not connect to host
+buddy-acceptance-web-frontend.azurewebsites.net: could not connect to host
 buddy-development-backoffice-webapp.azurewebsites.net: could not connect to host
 buddy-development-rabodirectconnect-api.azurewebsites.net: could not connect to host
 buderus-family.be: could not connect to host
-budgetenergievriendenvoordeel.nl: did not receive HSTS header
+budger.nl: did not receive HSTS header
+budgetenergievriendenvoordeel.nl: could not connect to host
 budgetthostels.nl: did not receive HSTS header
 budskap.eu: could not connect to host
 budweisermeats.com: did not receive HSTS header
@@ -6114,20 +6870,22 @@ buergerdialog.net: did not receive HSTS header
 buergerhaushalt.com: did not receive HSTS header
 buffetbouc.com: could not connect to host
 bufla.net: did not receive HSTS header
-bug.blue: could not connect to host
-buggmedia.com: could not connect to host
+bugginslab.co.uk: could not connect to host
+buggmedia.com: did not receive HSTS header
 buggshop.com: could not connect to host
 bugs.chromium.org: did not receive HSTS header (error ignored - included regardless)
-bugtrack.co.uk: did not receive HSTS header
+bugtrack.co.uk: could not connect to host
 bugtrack.io: could not connect to host
+bugu.org: could not connect to host
 buhayguro.com: could not connect to host
 buhex.net: did not receive HSTS header
 buhler.pro: did not receive HSTS header
-buiko.com: could not connect to host
+buiko.com: did not receive HSTS header
 build.chromium.org: did not receive HSTS header (error ignored - included regardless)
 buildbox.io: did not receive HSTS header
 buildci.asia: could not connect to host
 buildfaith.ca: did not receive HSTS header
+buildiffuse.com: could not connect to host
 buildify.co.za: could not connect to host
 building-cost-estimators.com: could not connect to host
 buildingclouds.at: could not connect to host
@@ -6136,15 +6894,12 @@ buildingclouds.es: could not connect to host
 buildingclouds.eu: could not connect to host
 buildingclouds.fr: could not connect to host
 buildingcostestimators.co.uk: could not connect to host
-builditsolutions.net: could not connect to host
-buildrightbuildingservicesltd.co.uk: could not connect to host
+buildrightbuildingservicesltd.co.uk: did not receive HSTS header
 buileo.com: could not connect to host
 builmaker.com: did not receive HSTS header
 built.by: could not connect to host
 buka.jp: could not connect to host
-bukai.men: did not receive HSTS header
 bukatv.cz: could not connect to host
-bukivallalkozasok.hu: could not connect to host
 bukpcszerviz.hu: could not connect to host
 bul3seas.eu: could not connect to host
 bulbcompare.com: could not connect to host
@@ -6152,13 +6907,13 @@ bulbgenie.com: could not connect to host
 buldogueingles.com.br: could not connect to host
 bulgariablog.tk: could not connect to host
 bulgarien.guide: could not connect to host
-bulgariya.cf: could not connect to host
-bulk-pagerank-checker.com: could not connect to host
+bulgariya.cf: did not receive HSTS header
+bulk-pagerank-checker.com: did not receive HSTS header
 bulkbuy.tech: could not connect to host
 bulkingtime.com: did not receive HSTS header
 bulkowespacerkowo.nl: could not connect to host
 bulktrade.de: did not receive HSTS header
-bullbits.com: max-age too low: 0
+bullbits.com: could not connect to host
 bulldoghire.co.uk: did not receive HSTS header
 bulletbabu.com: could not connect to host
 bulletpoint.cz: could not connect to host
@@ -6167,13 +6922,14 @@ bullpendaily.com: could not connect to host
 bullterrier.me: could not connect to host
 bulmafox.com: could not connect to host
 bulmastife.com.br: could not connect to host
+bulutkey.com: did not receive HSTS header
 bumarkamoda.com: did not receive HSTS header
 bumshow.ru: could not connect to host
 bunadarbankinn.is: could not connect to host
 bunaken.asia: could not connect to host
 bunbomenu.de: could not connect to host
-bunbun.be: could not connect to host
 bunny.tk: could not connect to host
+bunnycarenotes.com: could not connect to host
 bunnymud.com: could not connect to host
 bunnyvishal.com: could not connect to host
 bunq.love: could not connect to host
@@ -6191,7 +6947,6 @@ buricloud.fr: could not connect to host
 burlesquemakeup.com: did not receive HSTS header
 burmakatze.at: did not receive HSTS header
 burmesecats.eu: did not receive HSTS header
-burncorp.org: could not connect to host
 burningcrash.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 burpsuite.site: could not connect to host
 burroughsid.com: could not connect to host
@@ -6203,12 +6958,13 @@ burtrum.top: could not connect to host
 buryat-mongol.cf: could not connect to host
 buryit.net: did not receive HSTS header
 burzmedia.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-burzstudios.com: could not connect to host
 busanhs.bid: could not connect to host
-busanhs.win: did not receive HSTS header
+busanhs.win: could not connect to host
+buscoterapia.com.br: did not receive HSTS header
 buserror.cn: could not connect to host
 bush41.org: did not receive HSTS header
 bushcraftfriends.com: could not connect to host
+bushellc.com: could not connect to host
 bushland.tk: could not connect to host
 business-creators.ru: could not connect to host
 business.lookout.com: could not connect to host
@@ -6231,15 +6987,16 @@ bustup-tips.com: did not receive HSTS header
 busybee360.com: could not connect to host
 busyon.cloud: could not connect to host
 butchersworkshop.com: did not receive HSTS header
-butian518.com: did not receive HSTS header
+buthowdoyoubuygroceries.com: could not connect to host
+butian518.com: could not connect to host
 butikpris.se: did not receive HSTS header
 butlercountyhistory.org: could not connect to host
 butt.repair: could not connect to host
 buttercoin.com: could not connect to host
 buttercupstraining.co.uk: did not receive HSTS header
 butterfieldstraining.com: could not connect to host
-butterflycare.co: could not connect to host
-butterhost.ga: could not connect to host
+butterflycare.co: did not receive HSTS header
+butterhost.ga: did not receive HSTS header
 buttermilk.cf: could not connect to host
 buttonrun.com: did not receive HSTS header
 buturyu.net: did not receive HSTS header
@@ -6249,42 +7006,46 @@ buy-neurontin-online.tk: could not connect to host
 buy-seroquel.tk: could not connect to host
 buy-sildalis.gq: could not connect to host
 buy-thing.com: could not connect to host
+buy2dollars.com: could not connect to host
 buybaby.eu: could not connect to host
 buybike.shop: could not connect to host
 buycarpet.shop: could not connect to host
 buycbd.store: could not connect to host
 buycitalopram.ga: could not connect to host
 buycook.shop: could not connect to host
-buydesired.com: could not connect to host
+buydesired.com: did not receive HSTS header
 buydiflucan.ga: could not connect to host
 buyebook.xyz: could not connect to host
+buyessayscheap.com: did not receive HSTS header
 buyfluoxetineonline.ml: could not connect to host
 buyfox.de: could not connect to host
 buyharpoon.com: could not connect to host
 buyhealth.shop: could not connect to host
 buyingsellingflorida.com: could not connect to host
 buyjewel.shop: could not connect to host
-buymethotrexate.ga: could not connect to host
+buymethotrexate.ga: did not receive HSTS header
 buymindhack.com: did not receive HSTS header
 buynowdepot.com: did not receive HSTS header
+buyplaytix.com: did not receive HSTS header
 buyplussize.shop: could not connect to host
 buyprofessional.shop: could not connect to host
 buyritefairview.com: did not receive HSTS header
 buysellinvestproperties.com: did not receive HSTS header
 buyshoe.org: could not connect to host
 buysuisse.shop: could not connect to host
-buytheway.co.za: could not connect to host
+buytheway.co.za: did not receive HSTS header
 buywine.shop: could not connect to host
 buywood.shop: could not connect to host
 buziaczki.pl: could not connect to host
 buzzconcert.com: did not receive HSTS header
 buzzconf.io: could not connect to host
 buzzdeck.com: could not connect to host
-buzztelco.com.au: could not connect to host
+buzzrow.com: did not receive HSTS header
+buzztelco.com.au: did not receive HSTS header
 bvexplained.co.uk: could not connect to host
 bvgg.eu: did not receive HSTS header
 bvionline.eu: did not receive HSTS header
-bvisible.be: did not receive HSTS header
+bvisible.be: could not connect to host
 bvv-europe.eu: could not connect to host
 bw81.xyz: could not connect to host
 bwashing.tk: could not connect to host
@@ -6297,6 +7058,7 @@ bwf66.com: did not receive HSTS header
 bwf77.com: could not connect to host
 bwf99.com: could not connect to host
 bwin2288.com: could not connect to host
+bwin369.cc: could not connect to host
 bwin86.com: could not connect to host
 bwin8601.com: could not connect to host
 bwin8602.com: did not receive HSTS header
@@ -6308,40 +7070,25 @@ bwwb.nu: did not receive HSTS header
 bx-web.com: did not receive HSTS header
 bx49.cc: could not connect to host
 bxdev.me: did not receive HSTS header
-bxdj2.com: did not receive HSTS header
-bxdj3.com: did not receive HSTS header
-bxdj4.com: did not receive HSTS header
-bxdj5.com: did not receive HSTS header
-bxdj6.com: did not receive HSTS header
-bxdj66.com: could not connect to host
-bxdj666.com: did not receive HSTS header
-bxdj7.com: did not receive HSTS header
-bxdj8.com: did not receive HSTS header
-bxdj88.com: did not receive HSTS header
-bxdj888.com: did not receive HSTS header
-bxdj9.com: did not receive HSTS header
-bxzx1.com: did not receive HSTS header
-bxzx2.com: did not receive HSTS header
-bxzx3.com: did not receive HSTS header
-bxzx4.com: did not receive HSTS header
-bxzx5.com: did not receive HSTS header
-bxzx6.com: did not receive HSTS header
-bxzx7.com: did not receive HSTS header
-bxzx9.com: did not receive HSTS header
-by.cx: could not connect to host
+bxdj66.com: did not receive HSTS header
+bxegypt.com: could not connect to host
+by.cx: did not receive HSTS header
 by1896.com: could not connect to host
 by1898.com: could not connect to host
-by1899.com: could not connect to host
+by1899.com: did not receive HSTS header
 by4cqb.cn: could not connect to host
 by77.com: did not receive HSTS header
 by777.com: did not receive HSTS header
 bydisk.com: could not connect to host
+bye-bye.us: could not connect to host
 byemeds.ga: could not connect to host
 byfeldt.dk: could not connect to host
+byfhn.com: did not receive HSTS header
 byhe.me: could not connect to host
+byjamesrush.com: could not connect to host
 byji.com: could not connect to host
 byken.cn: could not connect to host
-bynumlaw.net: could not connect to host
+bynet.cz: could not connect to host
 bypass.kr: could not connect to host
 bypassed.bid: could not connect to host
 bypassed.cc: could not connect to host
@@ -6362,26 +7109,28 @@ bypassed.today: could not connect to host
 bypassed.works: could not connect to host
 bypassed.world: could not connect to host
 bypro.xyz: could not connect to host
-byr.moe: could not connect to host
+byraje.com: did not receive HSTS header
 byrko.sk: could not connect to host
 byronprivaterehab.com.au: did not receive HSTS header
 byronr.com: could not connect to host
-byronwade.com: did not receive HSTS header
+bysgo.com: could not connect to host
 bystryj-zajm.tk: could not connect to host
 byte.chat: did not receive HSTS header
 byte.wtf: did not receive HSTS header
 bytecrafter.com: could not connect to host
 bytecrafter.net: could not connect to host
-bytema.re: could not connect to host
+bytenoc.nl: max-age too low: 0
 bytepark.de: did not receive HSTS header
 bytesatwork.eu: could not connect to host
 byteshift.ca: could not connect to host
 bytesofcode.de: could not connect to host
+bytesunlimited.com: did not receive HSTS header
 byteturtle.eu: did not receive HSTS header
 bythen.cn: did not receive HSTS header
 bytynazizkove.cz: did not receive HSTS header
 byurudraw.pics: could not connect to host
 bzhub.bid: could not connect to host
+bziaks.xyz: could not connect to host
 bztraveler.com: did not receive HSTS header
 bztraveler.net: did not receive HSTS header
 c-path.org: did not receive HSTS header
@@ -6397,25 +7146,30 @@ c2o-library.net: did not receive HSTS header
 c2o2.xyz: could not connect to host
 c3-compose.com: could not connect to host
 c3.pm: could not connect to host
-c30365.com: did not receive HSTS header
 c376.site: could not connect to host
 c3b.info: could not connect to host
 c3bbs.com: could not connect to host
 c3hv.cn: could not connect to host
 c3ie.com: did not receive HSTS header
 c4.hk: could not connect to host
+c4wlabz.com: did not receive HSTS header
 c5197.co: could not connect to host
 c6729.co: could not connect to host
 c6729.com: did not receive HSTS header
 c6957.co: could not connect to host
 c6957.com: did not receive HSTS header
+c81365.com: did not receive HSTS header
+c82365.com: did not receive HSTS header
 c899365.com: could not connect to host
+c8ms113.com: did not receive HSTS header
 c9297.co: could not connect to host
-c9397.com: could not connect to host
-c9721.com: could not connect to host
+c9397.com: did not receive HSTS header
+c9721.com: did not receive HSTS header
 c9728.co: could not connect to host
 ca-terminal-multiservices.fr: could not connect to host
+cabalacoach.com: could not connect to host
 cabanactf.com: could not connect to host
+cabinet-bedin.com: did not receive HSTS header
 cablehighspeed.net: could not connect to host
 cabsites.com: could not connect to host
 cabusar.fr: could not connect to host
@@ -6423,15 +7177,17 @@ cacd.eu: could not connect to host
 cachetagalong.com: did not receive HSTS header
 cachethome.com: could not connect to host
 cachethq.io: did not receive HSTS header
+cacn.pw: could not connect to host
 caconnect.org: could not connect to host
 cacr.pw: could not connect to host
 cadacoon.com: could not connect to host
+cadafamilia.de: could not connect to host
 cadao.me: did not receive HSTS header
 cadastroloteamento.com.br: could not connect to host
 cadburymovies.in.net: could not connect to host
-cadcreations.co.ke: did not receive HSTS header
+cadcreations.co.ke: could not connect to host
+cadeaujulia.tk: did not receive HSTS header
 cadenadg.gr: did not receive HSTS header
-cadusilva.com: did not receive HSTS header
 caerostris.com: could not connect to host
 caerus.ws: did not receive HSTS header
 caesreon.com: could not connect to host
@@ -6442,20 +7198,23 @@ cafechesscourt.com: could not connect to host
 cafeey.com: could not connect to host
 cafefresco.pe: did not receive HSTS header
 caferestor.com: did not receive HSTS header
-cafericoy.com: could not connect to host
 cafesdomundo.pt: did not receive HSTS header
 cafesg.net: did not receive HSTS header
+caffeinatedengineers.com: could not connect to host
+caglarcakici.com: could not connect to host
 caiben.org: could not connect to host
 caibi.io: could not connect to host
 caim.cz: did not receive HSTS header
 caipai.fm: could not connect to host
 caipao123.com: max-age too low: 0
 cairnterrier.com.br: could not connect to host
+cairuz.in: could not connect to host
 caitcs.com: could not connect to host
 caiwenjian.xyz: could not connect to host
 cajunuk.co.uk: could not connect to host
 cake-time.co.uk: could not connect to host
 cake.care: could not connect to host
+cakedesignsbyjaclyn.com: could not connect to host
 cal.goip.de: could not connect to host
 calatoruldigital.ro: did not receive HSTS header
 calcasieuparish.gov: did not receive HSTS header
@@ -6468,17 +7227,20 @@ calebennett.com: did not receive HSTS header
 calendriergratuit.fr: max-age too low: 300
 calentadores-solares-sunshine.com: did not receive HSTS header
 calgaryconstructionjobs.com: did not receive HSTS header
-calidadelectronica.com: did not receive HSTS header
+calidadelectronica.com: could not connect to host
 calidoinvierno.com: could not connect to host
 calkinsmusic.com: did not receive HSTS header
 callabs.net: could not connect to host
-callawayracing.se: could not connect to host
+callanjg.co.uk: could not connect to host
+callantonia.com: could not connect to host
 calleveryday.com: could not connect to host
+callfunc.com: could not connect to host
 callidus-vulpes.de: could not connect to host
 callision.com: did not receive HSTS header
 callmereda.com: could not connect to host
 callsigns.ca: could not connect to host
 calltrackingreports.com: could not connect to host
+calluna.nl: max-age too low: 630
 calminteractive.fr: could not connect to host
 calories.org: could not connect to host
 caltonnutrition.com: did not receive HSTS header
@@ -6486,33 +7248,38 @@ calypso-tour.net: could not connect to host
 calypsogames.net: could not connect to host
 calypsohost.net: did not receive HSTS header
 calyxengineers.com: could not connect to host
-calyxinstitute.org: did not receive HSTS header
 camaya.net: did not receive HSTS header
+cambiemosjuegos.com: did not receive HSTS header
+cambiowatch.ch: could not connect to host
 cambridgeanalytica.net: could not connect to host
 cambridgeanalytica.org: could not connect to host
 camda.online: could not connect to host
 camdenboneandjoint.com: did not receive HSTS header
 camelforensics.com: could not connect to host
-camelliaflowers.com.au: did not receive HSTS header
+camelliaflowers.com.au: could not connect to host
 camelservers.com: could not connect to host
+camera-news.com: did not receive HSTS header
 cameronthomson.racing: did not receive HSTS header
 cameroonlounge.com: did not receive HSTS header
 camisado.tk: could not connect to host
 camisadotorcedor.com.br: could not connect to host
-camjackson.net: did not receive HSTS header
 camjobs.net: could not connect to host
 cammarkets.com: could not connect to host
-camomile.desi: did not receive HSTS header
+camomile.desi: could not connect to host
+camp.co.uk: did not receive HSTS header
+campaign.gov.uk: did not receive HSTS header
 campaignagent.com.au: did not receive HSTS header
 campaignelves.com: could not connect to host
 campbellsoftware.co.uk: could not connect to host
 campbrainybunch.com: did not receive HSTS header
+campcanada.org: did not receive HSTS header
 campeoesdofutebol.com.br: did not receive HSTS header
 campeonatoalemao.com.br: could not connect to host
 campfire.co.il: could not connect to host
 campfourpaws.com: did not receive HSTS header
 campgesher.com: did not receive HSTS header
 camphub.co: could not connect to host
+camping-landes.com: did not receive HSTS header
 campingcarlovers.com: could not connect to host
 campingdreams.com: did not receive HSTS header
 campus-cybersecurity.team: did not receive HSTS header
@@ -6524,6 +7291,8 @@ canadian-nurse.com: did not receive HSTS header
 canadianchristianity.com: did not receive HSTS header
 canadiangamblingchoice.com: did not receive HSTS header
 canal-onanismo.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+canalsidehouse.be: did not receive HSTS header
+canalsidehouse.com: did not receive HSTS header
 canarianlegalalliance.com: did not receive HSTS header
 cancelmyprofile.com: did not receive HSTS header
 cancreate.nl: did not receive HSTS header
@@ -6540,42 +7309,48 @@ cangelloplasticsurgery.com: did not receive HSTS header
 canicaprice.com: did not receive HSTS header
 canifis.net: did not receive HSTS header
 canlidoviz.com: did not receive HSTS header
+canmipai.com: could not connect to host
 cannarobotics.com: could not connect to host
+canoonic.se: could not connect to host
 canopy.ninja: could not connect to host
+canperclinicaveterinaria.com: could not connect to host
 cansworld.com: could not connect to host
 canterberry.cc: did not receive HSTS header
+cantinhodosossegosaojose.com.br: could not connect to host
 cantrack.com: did not receive HSTS header
 caodecristachines.com.br: could not connect to host
 caodesantohumberto.com.br: could not connect to host
 caoyu.info: did not receive HSTS header
 capacent.is: did not receive HSTS header
+capacitacionyautoempleo.com: could not connect to host
 capecycles.co.za: did not receive HSTS header
 capekeen.com: could not connect to host
 capellidipremoli.com: did not receive HSTS header
 capeyorkfire.com.au: could not connect to host
-capimlimaoflores.com.br: could not connect to host
+capitalfps.com: did not receive HSTS header
 capitaltg.com: did not receive HSTS header
 capitaoalden.com: did not receive HSTS header
 capitein.tk: could not connect to host
 capogna.com: did not receive HSTS header
+capriccio.to: could not connect to host
 capsule.org: did not receive HSTS header
 capsulesubs.fr: could not connect to host
 captainsinn.com: did not receive HSTS header
 captalize.com: could not connect to host
 captchatheprize.com: could not connect to host
 captianseb.de: could not connect to host
-captivatedbytabrett.com: did not receive HSTS header
+captivatedbytabrett.com: could not connect to host
 captivationscience.com: could not connect to host
-captured-symphonies.com: could not connect to host
 capturethepen.co.uk: could not connect to host
 caputo.com: could not connect to host
 car-insurance-quotes.biz: could not connect to host
 car-navi.ph: did not receive HSTS header
 car-rental24.com: could not connect to host
 car-shop.top: did not receive HSTS header
-car-speed.tk: could not connect to host
-carano-service.de: did not receive HSTS header
+car-speed.tk: did not receive HSTS header
+carano-service.de: could not connect to host
 caraudio69.cz: did not receive HSTS header
+carbonating.com: did not receive HSTS header
 carbonmade.com: did not receive HSTS header
 carbonmonoxidelawyer.net: could not connect to host
 carbonvision.cn: could not connect to host
@@ -6587,21 +7362,45 @@ cardelmar.com: did not receive HSTS header
 cardelmar.de: did not receive HSTS header
 cardelmar.es: did not receive HSTS header
 carding.team: did not receive HSTS header
+cardioc.ru: did not receive HSTS header
 cardloan-manual.net: could not connect to host
+cardozovargas.me: did not receive HSTS header
 cardstream.com: did not receive HSTS header
 cardurl.com: did not receive HSTS header
 cardwars.hu: could not connect to host
+care-spot.biz: could not connect to host
+care-spot.com: could not connect to host
+care-spot.info: could not connect to host
+care-spot.mobi: could not connect to host
+care-spot.net: could not connect to host
+care-spot.org: could not connect to host
+care-spot.us: could not connect to host
 careeraid.in: could not connect to host
 careerdirectionsltd.com: did not receive HSTS header
 careerpower.co.in: could not connect to host
+careers.plus: did not receive HSTS header
 careerstuds.com: did not receive HSTS header
-carefour.nl: could not connect to host
+carefour.nl: did not receive HSTS header
+caregiverva.org: did not receive HSTS header
 careplasticsurgery.com: did not receive HSTS header
+carespot.biz: could not connect to host
+carespot.co: could not connect to host
 carespot.com: did not receive HSTS header
+carespot.mobi: could not connect to host
+carespot.net: could not connect to host
+carespot.org: could not connect to host
+carespot.us: could not connect to host
+carespotexpress.com: could not connect to host
+carespotexpresshealthcare.com: could not connect to host
+carespottravelmedicine.com: could not connect to host
 carespottravelmedicine.mobi: could not connect to host
+carespoturgentcare.com: could not connect to host
+carespoturgentcare.info: could not connect to host
+carespoturgentcare.net: could not connect to host
+carespoturgentcare.org: could not connect to host
+carespoturgentcare.us: could not connect to host
 carey.bio: did not receive HSTS header
 carey.li: did not receive HSTS header
-carezzaperu.com: could not connect to host
 cargobay.net: could not connect to host
 cargoio.com: could not connect to host
 caribbeanarthritisfoundation.org: did not receive HSTS header
@@ -6624,13 +7423,16 @@ carmelon-digital.com: did not receive HSTS header
 caroleblouin.ca: did not receive HSTS header
 caroli.biz: could not connect to host
 caroli.info: could not connect to host
+carolynjoyce.com.au: could not connect to host
+carparo.net: did not receive HSTS header
 carpliyz.com: could not connect to host
-carrando.de: could not connect to host
+carrando.de: did not receive HSTS header
 carredejardin.com: did not receive HSTS header
 carrentalsathens.com: max-age too low: 0
 carroarmato0.be: did not receive HSTS header
 carrolcountyohioelections.gov: could not connect to host
 carrollservicecompany.com: did not receive HSTS header
+carrolltontx.gov: could not connect to host
 carrosserie-dubois.com: did not receive HSTS header
 carrouselcompany.fr: could not connect to host
 carseatchecks.ca: could not connect to host
@@ -6650,12 +7452,13 @@ cartadeviajes.fr: did not receive HSTS header
 cartadeviajes.mx: did not receive HSTS header
 cartadeviajes.pe: did not receive HSTS header
 cartadeviajes.uk: did not receive HSTS header
+cartaodigi.com: could not connect to host
 cartelcircuit.com: did not receive HSTS header
 cartelloni.roma.it: could not connect to host
 carterorland.com: could not connect to host
 cartesunicef.be: did not receive HSTS header
-cartfilm.tk: could not connect to host
-cartoonhd.cc: did not receive HSTS header
+cartfilm.tk: did not receive HSTS header
+cartoonhd.cc: could not connect to host
 cartouche-deal.fr: did not receive HSTS header
 carun.us: did not receive HSTS header
 carwashvapeur.be: could not connect to host
@@ -6670,22 +7473,25 @@ casalborgo.it: could not connect to host
 casalcrevillent.tk: could not connect to host
 casalinghedisperate.ga: could not connect to host
 casamorelli.com.br: did not receive HSTS header
-casashmodel.com: did not receive HSTS header
+casashmodel.com: could not connect to host
 casashopp.com.br: could not connect to host
+casasparaperross.com: could not connect to host
 casasuleletrodomesticos.com.br: could not connect to host
+casburggraaf.com: did not receive HSTS header
 casedi.org: max-age too low: 0
 casefall.com: could not connect to host
+caseplus-daem.de: could not connect to host
 cash-pos.com: did not receive HSTS header
 cashbackcow.us: could not connect to host
 cashfortulsahouses.com: could not connect to host
 cashless.fr: did not receive HSTS header
 cashlink.de: did not receive HSTS header
 cashlink.io: did not receive HSTS header
+cashlogic.ch: could not connect to host
 cashmyphone.ch: could not connect to host
 cashsector.ga: could not connect to host
 casino-trio.com: could not connect to host
 casinobonuscodes.online: could not connect to host
-casinoluck.com: did not receive HSTS header
 casinomegaslotos.com: did not receive HSTS header
 casinoonlinesicuri.com: did not receive HSTS header
 casinoreal.com: could not connect to host
@@ -6694,7 +7500,6 @@ casionova.org: could not connect to host
 casioshop.eu: did not receive HSTS header
 casirus.com: could not connect to host
 casjay.cloud: could not connect to host
-casjay.com: could not connect to host
 casjay.info: did not receive HSTS header
 casjay.us: could not connect to host
 casjaygames.com: could not connect to host
@@ -6705,10 +7510,13 @@ castalie.tk: could not connect to host
 castellannenberg.com: could not connect to host
 castelodosmoveis.com.br: did not receive HSTS header
 casteloinformatica.com.br: could not connect to host
+castle.network: could not connect to host
+castlecms.io: did not receive HSTS header
 castlejackpot.com: did not receive HSTS header
-castlemail.io: max-age too low: 30000
-castleoblivion.tk: could not connect to host
-castles4rascalsiow.co.uk: did not receive HSTS header
+castlemail.io: did not receive HSTS header
+castleoblivion.tk: did not receive HSTS header
+castleparty.co.uk: did not receive HSTS header
+castles4rascalsiow.co.uk: could not connect to host
 casualgaming.no: max-age too low: 0
 casusgrillcaribbean.com: could not connect to host
 cat-blum.com: could not connect to host
@@ -6718,27 +7526,27 @@ catalin.pw: could not connect to host
 catalogoreina.com: did not receive HSTS header
 catalojic.tk: could not connect to host
 catarsisvr.com: could not connect to host
+catbox.moe: could not connect to host
+catburton.co.uk: did not receive HSTS header
+catchersgear.com: could not connect to host
 catchfotografie.nl: could not connect to host
 catcontent.cloud: could not connect to host
-catdecor.ru: did not receive HSTS header
+catdecor.ru: could not connect to host
 catenariadiscos.com: did not receive HSTS header
 caterkids.com: could not connect to host
 catgirl.me: could not connect to host
 catgirl.pics: could not connect to host
 catharisme.net: could not connect to host
 catharisme.org: could not connect to host
-catherinesarasin.com: did not receive HSTS header
 catherinescastles.co.uk: did not receive HSTS header
-catherinesofpartick.co.uk: did not receive HSTS header
+cathiebrousse.com: did not receive HSTS header
 cathosting.org: could not connect to host
 catinmay.com: could not connect to host
-catmoz.fr: did not receive HSTS header
 catnapstudios.com: could not connect to host
 catnmeow.com: could not connect to host
 catprog.org: did not receive HSTS header
 catsmagic.pp.ua: could not connect to host
 catuniverse.org: could not connect to host
-caudo.net: did not receive HSTS header
 caulong-ao.net: could not connect to host
 causae-fincas.es: did not receive HSTS header
 causae.es: did not receive HSTS header
@@ -6749,11 +7557,15 @@ caveclan.org: did not receive HSTS header
 cavecreekaz.gov: did not receive HSTS header
 cavedevs.de: could not connect to host
 cavedroid.xyz: could not connect to host
+cavernadigital.net: did not receive HSTS header
 cavevinsdefrance.fr: did not receive HSTS header
 cayafashion.de: did not receive HSTS header
 cayounglab.co.jp: could not connect to host
 cbamo.org: did not receive HSTS header
+cbdcontact.eu: could not connect to host
 cbdcontact.pl: could not connect to host
+cbdev.de: could not connect to host
+cbdoilcures.co: could not connect to host
 cbhq.net: could not connect to host
 cbi-epa.gov: could not connect to host
 cbk-connect.com: could not connect to host
@@ -6763,33 +7575,40 @@ cc5197.co: could not connect to host
 cc6729.co: could not connect to host
 cc6729.com: did not receive HSTS header
 cc6957.co: could not connect to host
+cc8833.cc: could not connect to host
 cc9297.co: could not connect to host
-cc9397.com: could not connect to host
-cc9721.com: could not connect to host
+cc9397.com: did not receive HSTS header
+cc9721.com: did not receive HSTS header
 cc9728.co: could not connect to host
 ccac.gov: max-age too low: 120
+ccattestprep.com: could not connect to host
+ccavenue.com: max-age too low: 0
 ccayearbook.com: could not connect to host
 ccblog.de: did not receive HSTS header
 ccgn.co: could not connect to host
-cchen.ga: did not receive HSTS header
+cchen.ga: could not connect to host
 ccja.ro: did not receive HSTS header
-cclasabana.com.co: could not connect to host
 ccretreatandfarm.com: did not receive HSTS header
 ccsource.org: could not connect to host
 ccss-cces.com: did not receive HSTS header
 ccsys.com: could not connect to host
 cctech.ph: could not connect to host
-cctld.com: could not connect to host
+cctld.com: did not receive HSTS header
 cctvcanada.net: could not connect to host
 ccu.io: could not connect to host
+ccuuu.com: could not connect to host
 ccv-deutschland.de: did not receive HSTS header
 ccv.ch: did not receive HSTS header
 ccv.eu: did not receive HSTS header
 ccv.nl: did not receive HSTS header
 cd0.us: could not connect to host
 cda-nw.co.uk: did not receive HSTS header
+cdc.cx: could not connect to host
 cdcpartners.gov: could not connect to host
 cdeck.net: could not connect to host
+cdemi.io: did not receive HSTS header
+cdgfrm.com: did not receive HSTS header
+cdireland.com: did not receive HSTS header
 cdlcenter.com: could not connect to host
 cdmhp.org.nz: could not connect to host
 cdmlb.net: could not connect to host
@@ -6800,22 +7619,22 @@ cdndepo.com: could not connect to host
 cdnk39.com: could not connect to host
 cdreporting.co.uk: did not receive HSTS header
 cdshh.club: did not receive HSTS header
-cdt.org: did not receive HSTS header
 cdu-wilgersdorf.de: did not receive HSTS header
 cduckett.net: could not connect to host
+ce-tuifrance.com: could not connect to host
 ceagriproducts.com: did not receive HSTS header
 cecilga.gov: could not connect to host
 cecipu.gob.cl: could not connect to host
 ced-services.nl: could not connect to host
+ceditedv.com.pe: did not receive HSTS header
+cedric-bour.fr: did not receive HSTS header
 cee.io: could not connect to host
 cefak.org.br: did not receive HSTS header
 cegfw.com: could not connect to host
 ceilingpac.org: could not connect to host
 cekaja.com: did not receive HSTS header
-celebalita.com: could not connect to host
-celebphotos.blog: could not connect to host
+celcelulares.com: could not connect to host
 celebphotos.club: could not connect to host
-celectro-pro.com: could not connect to host
 celeirorural.com.br: did not receive HSTS header
 celeraindustries.tk: did not receive HSTS header
 celigo.com: did not receive HSTS header
@@ -6832,9 +7651,9 @@ centa-am.com: did not receive HSTS header
 centillien.com: did not receive HSTS header
 centision.com: did not receive HSTS header
 central4.me: could not connect to host
-centralconvergence.com: did not receive HSTS header
+centralbank.ae: max-age too low: 0
 centralcountiesservices.org: did not receive HSTS header
-centralhealthplan.com: did not receive HSTS header
+centralfor.me: could not connect to host
 centrallead.net: could not connect to host
 centrallotus.com: did not receive HSTS header
 centralmarket.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -6846,19 +7665,18 @@ centrepoint-community.com: could not connect to host
 centretownshipin.gov: did not receive HSTS header
 centricagency.co.uk: could not connect to host
 centrodoinstalador.com.br: could not connect to host
+centroecuestrecastellar.com: could not connect to host
 centromasterin.com: could not connect to host
-centrumpieknairelaksu.pl: could not connect to host
 centrym.top: could not connect to host
 centsforchange.net: could not connect to host
-centsi.io: did not receive HSTS header
-centumail.com: could not connect to host
+centsi.io: could not connect to host
 centurion-consulting-cie.eu: could not connect to host
-centurion-consulting.eu: did not receive HSTS header
-centurionunderground.com: could not connect to host
+centurion-consulting.eu: could not connect to host
 century-group.com: max-age too low: 2592000
 ceoimon.com: did not receive HSTS header
 ceoptique.com: did not receive HSTS header
 ceramica.roma.it: could not connect to host
+ceramiche.roma.it: could not connect to host
 cercevelet.com: did not receive HSTS header
 cerebelo.info: could not connect to host
 ceredowv.gov: did not receive HSTS header
@@ -6869,25 +7687,28 @@ cerize.love: could not connect to host
 cernakova.eu: could not connect to host
 cernega.ro: did not receive HSTS header
 cerpa.com.br: did not receive HSTS header
+cerrajeriaamericadelquindio.com: could not connect to host
+cerrajeriaenvillavicencio.com: could not connect to host
 cerstve-korenie.sk: did not receive HSTS header
 cerstvekorenie.sk: did not receive HSTS header
 cert.or.id: did not receive HSTS header
 cert.se: max-age too low: 2628001
 certcenter.fr: did not receive HSTS header
-certifi.io: did not receive HSTS header
+certifi.io: max-age too low: 0
 certificatespending.com: could not connect to host
 certifiedfieldassociate.com: could not connect to host
-certifix.eu: did not receive HSTS header
 certly.io: did not receive HSTS header
 certmgr.org: could not connect to host
+certmonitor.com.au: did not receive HSTS header
+certmonitor.net: did not receive HSTS header
 ceruleanmainbeach.com.au: did not receive HSTS header
 cesal.net: could not connect to host
 cesantias.co: did not receive HSTS header
 cesboard.com: could not connect to host
 cesidianroot.eu: could not connect to host
 cesium.ml: could not connect to host
-ceskaexpedice.co.uk: did not receive HSTS header
-cespri.com.pe: could not connect to host
+ceskaexpedice.co.uk: could not connect to host
+cespri.com.pe: did not receive HSTS header
 cestunmetier.ch: could not connect to host
 ceta.one: could not connect to host
 cetangarana.com: did not receive HSTS header
@@ -6896,14 +7717,12 @@ ceyizlikelisleri.com: did not receive HSTS header
 ceylavi.tech: did not receive HSTS header
 cf-tm.net: could not connect to host
 cf11.de: did not receive HSTS header
-cfa.gov: did not receive HSTS header
-cfan.space: could not connect to host
+cfa.gov: could not connect to host
 cfcnexus.org: could not connect to host
 cfcproperties.com: did not receive HSTS header
 cfetengineering.com: could not connect to host
 cfneia.org: did not receive HSTS header
 cfoitplaybook.com: could not connect to host
-cfttt.com: could not connect to host
 cfurl.cf: could not connect to host
 cgan.pw: could not connect to host
 cganx.org: could not connect to host
@@ -6925,7 +7744,6 @@ chaitanyapandit.com: did not receive HSTS header
 chaizhikang.com: could not connect to host
 chaldeen.pro: did not receive HSTS header
 chalker.io: did not receive HSTS header
-challengeblog.org: did not receive HSTS header
 challengeclothing.com.br: could not connect to host
 challengeskins.com: could not connect to host
 challstrom.com: could not connect to host
@@ -6937,42 +7755,41 @@ champ.dog: did not receive HSTS header
 championnat-romand-cuisiniers-amateurs.ch: could not connect to host
 championsofregnum.com: did not receive HSTS header
 chancat.blog: could not connect to host
+chancekorte.org: could not connect to host
+chanddriving.co.uk: could not connect to host
 chandlerredding.com: could not connect to host
 chandr1000.ga: could not connect to host
 chang-feng.info: could not connect to host
 changecopyright.ru: did not receive HSTS header
 changethislater.com: could not connect to host
 changetip.com: could not connect to host
-changinglivestoday.org: did not receive HSTS header
 channeladam.com: did not receive HSTS header
 channelcards.com: did not receive HSTS header
 channellife.asia: did not receive HSTS header
-channellife.co.nz: did not receive HSTS header
-channellife.com.au: did not receive HSTS header
 channyc.com: could not connect to host
-channydraws.com: could not connect to host
 chanoyu-gakkai.jp: did not receive HSTS header
+chanuwah.com: did not receive HSTS header
 chaos-inc.de: did not receive HSTS header
 chaos.fail: could not connect to host
 chaoslab.org: did not receive HSTS header
 chaosriftgames.com: did not receive HSTS header
 chaotichive.com: could not connect to host
 chaoticlaw.com: did not receive HSTS header
-chaouby.com: could not connect to host
 chapelaria.tf: could not connect to host
 chapstick.life: could not connect to host
 charakato.com: could not connect to host
+chardhamhotel.com: did not receive HSTS header
 chardik.tk: could not connect to host
 chargedmonkey.com: did not receive HSTS header
 chargejuice.com: could not connect to host
 chargersdirect.com.au: did not receive HSTS header
-charissadescande.com: could not connect to host
+charissadescande.com: did not receive HSTS header
 charityclear.com: did not receive HSTS header
 charitystreet.co.uk: did not receive HSTS header
 charl.eu: could not connect to host
 charlenevondell.com: could not connect to host
 charlesjay.com: did not receive HSTS header
-charlesmilette.net: did not receive HSTS header
+charlesmilette.net: could not connect to host
 charlesstover.com: did not receive HSTS header
 charlestonsecuritysystems.net: did not receive HSTS header
 charliemcneive.com: could not connect to host
@@ -6980,38 +7797,51 @@ charlimarie.com: did not receive HSTS header
 charlipopkids.com.au: did not receive HSTS header
 charlotte-touati.ch: could not connect to host
 charlottecountyva.gov: could not connect to host
+charmcitytech.com: did not receive HSTS header
 charonsecurity.com: could not connect to host
 charp.eu: could not connect to host
 charr.xyz: could not connect to host
 chars.ga: could not connect to host
-chartkick.com: did not receive HSTS header
+chartsheets.com: could not connect to host
 chartstoffarm.de: did not receive HSTS header
-charuru.moe: could not connect to host
+chartwellestate.com: did not receive HSTS header
 chaseandzoey.de: could not connect to host
 chaseganey.com: did not receive HSTS header
 chasing-coins.com: did not receive HSTS header
 chaska.co.za: could not connect to host
 chasse-et-plaisir.com: did not receive HSTS header
+chat-libera.org: did not receive HSTS header
 chat-love.org: could not connect to host
+chat-senza-registrazione.net: did not receive HSTS header
 chat2.cf: could not connect to host
 chat36.ga: could not connect to host
+chat40.net: did not receive HSTS header
 chatbot.me: did not receive HSTS header
 chatbot.one: could not connect to host
 chatbotclic.com: could not connect to host
 chatbotclick.com: could not connect to host
 chatbots.email: could not connect to host
+chatbots.systems: could not connect to host
+chatear.social: did not receive HSTS header
 chateau-belvoir.com: could not connect to host
 chateauconstellation.ch: did not receive HSTS header
 chateaudevaugrigneuse.com: did not receive HSTS header
+chateroids.com: could not connect to host
+chatfacile.org: did not receive HSTS header
 chatint.com: could not connect to host
+chatitaly.org: did not receive HSTS header
 chatme.im: could not connect to host
-chatnbook.com: could not connect to host
+chatnbook.com: did not receive HSTS header
+chatt-gratis.net: did not receive HSTS header
+chatt-gratis.org: did not receive HSTS header
 chatup.cf: did not receive HSTS header
+chatxsingle.net: did not receive HSTS header
+chatxtutti.com: did not receive HSTS header
 chaulootz.com: could not connect to host
 chaverde.org: could not connect to host
 chaz6.com: did not receive HSTS header
 chazay.net: could not connect to host
-chazgie.se: did not receive HSTS header
+chazgie.se: could not connect to host
 chbk.co: did not receive HSTS header
 chc9912.com: max-age too low: 0
 chcemvediet.sk: max-age too low: 1555200
@@ -7021,24 +7851,32 @@ cheah.xyz: did not receive HSTS header
 cheapalarmparts.com.au: did not receive HSTS header
 cheapautoinsuranceblog.com: could not connect to host
 cheapdns.org: could not connect to host
+cheapestgamecards.be: could not connect to host
 cheapestgamecards.de: could not connect to host
+cheapestgamecards.fi: could not connect to host
+cheapestgamecards.fr: could not connect to host
+cheapestgamecards.nl: could not connect to host
+cheapestgamecards.no: could not connect to host
 cheapestgamecards.se: could not connect to host
 cheapmedrol.ga: could not connect to host
 cheapnhljerseys.cc: max-age too low: 0
+cheapsharedhost.com: did not receive HSTS header
+cheapsharedhost.org: did not receive HSTS header
+cheapssl.com.tr: did not receive HSTS header
 cheazey.co: did not receive HSTS header
 chebedara.com: could not connect to host
 chebwebb.com: could not connect to host
 checalaweb.com: could not connect to host
-checkecert.nl: could not connect to host
 checkhost.org: could not connect to host
 checkjelinkje.nl: did not receive HSTS header
 checkmateshoes.com: did not receive HSTS header
 checkmyessays.com: did not receive HSTS header
+checkmypsoriasis.com: could not connect to host
 checkout.google.com: could not connect to host (error ignored - included regardless)
 checkpoint.com: did not receive HSTS header
 checkras.tk: could not connect to host
 checkrente.nl: could not connect to host
-checktechnology.com.au: did not receive HSTS header
+checktechnology.com.au: could not connect to host
 checkyourmeds.com: did not receive HSTS header
 checookies.com: could not connect to host
 cheekylittlerascals.co.uk: could not connect to host
@@ -7057,15 +7895,18 @@ chellame.com: could not connect to host
 chellame.fr: could not connect to host
 chelpipe.ru: did not receive HSTS header
 cheltenhambounce.co.uk: could not connect to host
-chemical-shark.de: did not receive HSTS header
+chemicalcrux.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 chemicalguys-ruhrpott.de: could not connect to host
 chen22311.com: max-age too low: 0
 chenfengyi.com: could not connect to host
 chengarda.com: could not connect to host
 chenghao360.top: could not connect to host
 chengtongled.com: could not connect to host
+chenkun.pro: could not connect to host
+chenpei.org: could not connect to host
 chensir.net: could not connect to host
-chentianyi.cn: could not connect to host
+chenx221.ml: could not connect to host
+chenx221.xyz: could not connect to host
 cheolguso.com: did not receive HSTS header
 chepaofen.com: did not receive HSTS header
 cherekerry.com: could not connect to host
@@ -7077,16 +7918,19 @@ chesscoders.com: did not receive HSTS header
 chessreporter.nl: did not receive HSTS header
 chesterbrass.uk: did not receive HSTS header
 chesterman.tk: could not connect to host
+chestnut.cf: could not connect to host
+chez-janine.de: could not connect to host
+chez.moe: could not connect to host
 chiamata-aiuto.ch: could not connect to host
-chiangmaimontessori.com: could not connect to host
 chiaraiuola.com: could not connect to host
 chiaramail.com: could not connect to host
 chib.chat: could not connect to host
+chicagenial.com: did not receive HSTS header
 chicagostudentactivists.org: could not connect to host
 chicguay.com: did not receive HSTS header
 chicorycom.net: did not receive HSTS header
-chifumi.net: did not receive HSTS header
 chihiro.xyz: did not receive HSTS header
+chijb.cc: could not connect to host
 chijiokeindustries.co.uk: could not connect to host
 chikan-beacon.net: could not connect to host
 chikatomo-ryugaku.com: did not receive HSTS header
@@ -7094,8 +7938,9 @@ chikory.com: could not connect to host
 chiksfashion.com: did not receive HSTS header
 childcaresolutionscny.org: did not receive HSTS header
 childrendeservebetter.org: could not connect to host
+childrenspartiesrus.com: could not connect to host
 childwelfare.gov: did not receive HSTS header
-chilimathwords.com: did not receive HSTS header
+chilimathwords.com: could not connect to host
 chillebever.nl: could not connect to host
 chilli943.info: did not receive HSTS header
 chimparoo.ca: did not receive HSTS header
@@ -7112,17 +7957,19 @@ chipglobe.com: did not receive HSTS header
 chiphell.com: did not receive HSTS header
 chips-scheduler.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 chirgui.eu: could not connect to host
+chiropracticwpb.com: could not connect to host
 chispita.tk: could not connect to host
 chitinfo.tk: could not connect to host
-chk-ccs.com: did not receive HSTS header
 chloca.jp: could not connect to host
 chloe.re: could not connect to host
 chloeallison.co.uk: could not connect to host
 chloehorler.com: could not connect to host
 chlouis.net: could not connect to host
 chm.vn: did not receive HSTS header
+chmc.ml: could not connect to host
 chmurakotori.ml: could not connect to host
 choc-o-lush.co.uk: could not connect to host
+chocamekong.com: did not receive HSTS header
 chocolate13tilias.com.br: did not receive HSTS header
 chocotough.nl: did not receive HSTS header
 chodobien.com: could not connect to host
@@ -7130,7 +7977,7 @@ chodocu.com: did not receive HSTS header
 choe.fi: could not connect to host
 choiceautoloan.com: could not connect to host
 choiralberta.ca: did not receive HSTS header
-choisirmonerp.com: did not receive HSTS header
+choisirmonerp.com: could not connect to host
 chokladfantasi.net: could not connect to host
 chollima.pro: could not connect to host
 chon.io: did not receive HSTS header
@@ -7150,27 +7997,32 @@ chotu.net: could not connect to host
 chowii.com: could not connect to host
 chr0me.sh: could not connect to host
 chris-web.info: could not connect to host
-chrisandsarahinasia.com: could not connect to host
+chrisandsarahinasia.com: did not receive HSTS header
 chrisb.me: did not receive HSTS header
 chrisb.xyz: did not receive HSTS header
 chrisbrakebill.com: did not receive HSTS header
-chrisbrown.id.au: did not receive HSTS header
+chrisbrown.id.au: could not connect to host
 chriscowley.me.uk: did not receive HSTS header
 chrisebert.net: could not connect to host
 chrisfaber.com: could not connect to host
+chrisjean.com: did not receive HSTS header
 chriskirchner.de: did not receive HSTS header
 chriskyrouac.com: could not connect to host
-chrisluen.com: could not connect to host
+chrisluen.com: did not receive HSTS header
 chrisopperwall.com: could not connect to host
 chrisself.xyz: could not connect to host
+chrissx.ga: could not connect to host
+christadelphiananswers.org: did not receive HSTS header
 christchurchbouncycastles.co.uk: could not connect to host
 christerwaren.fi: did not receive HSTS header
 christiaandruif.nl: could not connect to host
-christian-krug.website: did not receive HSTS header
+christian-krug.website: could not connect to host
 christianbro.gq: could not connect to host
 christianhoffmann.info: did not receive HSTS header
 christianhospitaltank.org: did not receive HSTS header
+christianjens.com: could not connect to host
 christianpeltier.com: did not receive HSTS header
+christianpilgrimage.com.au: did not receive HSTS header
 christiansayswords.com: could not connect to host
 christianscholz.eu: did not receive HSTS header
 christielepage.com: did not receive HSTS header
@@ -7178,7 +8030,7 @@ christina-quast.de: did not receive HSTS header
 christophebarbezat.ch: could not connect to host
 christophercolumbusfoundation.gov: could not connect to host
 christopherl.com: did not receive HSTS header
-christopherpritchard.co.uk: could not connect to host
+christopherpritchard.co.uk: did not receive HSTS header
 christophersole.com: could not connect to host
 christophheich.me: did not receive HSTS header
 christophkreileder.com: could not connect to host
@@ -7194,51 +8046,57 @@ chrome: could not connect to host
 chrome-devtools-frontend.appspot.com: did not receive HSTS header (error ignored - included regardless)
 chrome.google.com: did not receive HSTS header (error ignored - included regardless)
 chromereporting-pa.googleapis.com: did not receive HSTS header (error ignored - included regardless)
+chromeworld.ru: did not receive HSTS header
 chromiumbugs.appspot.com: did not receive HSTS header (error ignored - included regardless)
 chronic101.xyz: could not connect to host
 chrono-ski-aravis.fr: did not receive HSTS header
 chronogram.me: could not connect to host
 chronoproject.com: did not receive HSTS header
 chrst.ph: could not connect to host
+chs.us: max-age too low: 0
 chsh.moe: could not connect to host
-chua.cf: did not receive HSTS header
+chua.cf: could not connect to host
 chua.family: did not receive HSTS header
 chuckame.fr: did not receive HSTS header
 chulado.com: did not receive HSTS header
-chun.si: did not receive HSTS header
 chundelac.com: could not connect to host
 churchlinkpro.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 churchux.co: could not connect to host
 churrasqueirafacil.com.br: could not connect to host
-chuvashia.tk: could not connect to host
-chxdf.net: did not receive HSTS header
+chuvashia.tk: did not receive HSTS header
+chxdf.net: could not connect to host
 chybeck.net: did not receive HSTS header
 ci5.me: could not connect to host
 ciania.pl: could not connect to host
 cianmawhinney.xyz: could not connect to host
 ciansc.com: could not connect to host
+ciaracode.com: did not receive HSTS header
 cica.es: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ciclista.roma.it: could not connect to host
 cidadedopoker.com.br: did not receive HSTS header
 cidr.ml: could not connect to host
 ciel.pro: could not connect to host
 cienbeaute-lidl.fr: did not receive HSTS header
+cienciasempresariais.pt: could not connect to host
 ciftlikesintisi.com: could not connect to host
 cigarblogs.net: could not connect to host
 cigi.site: could not connect to host
-ciiex.co: could not connect to host
+ciiex.co: did not receive HSTS header
 ciliberto.org: did not receive HSTS header
+ciliwang.live: could not connect to host
+ciliwang.org: could not connect to host
 cim2b.de: could not connect to host
+cimala5bta.com: did not receive HSTS header
 cimalando.eu: could not connect to host
 cinartelorgu.com: did not receive HSTS header
 cinay.pw: could not connect to host
 cindey.io: could not connect to host
-cinefilia.tk: could not connect to host
+cinefilia.tk: did not receive HSTS header
+cinefun.net: could not connect to host
 cinelite.club: could not connect to host
 cinema5.ru: did not receive HSTS header
 cinemaclub.co: could not connect to host
-cinemadoma.tk: could not connect to host
-cinenote.link: did not receive HSTS header
+cinemadoma.tk: did not receive HSTS header
 ciner.is: could not connect to host
 cinerama.com.br: could not connect to host
 cinicloud.com: did not receive HSTS header
@@ -7248,14 +8106,17 @@ cintdirect.com: could not connect to host
 cinteo.com: could not connect to host
 cio.guide: did not receive HSTS header
 cioconference.co.nz: could not connect to host
+cip.md: did not receive HSTS header
 cipher.co.th: did not receive HSTS header
-cipher.land: did not receive HSTS header
-cipherli.st: did not receive HSTS header
-ciplanutrition.com: did not receive HSTS header
-cipriano.nl: could not connect to host
+cipher.land: could not connect to host
+ciplanutrition.com: could not connect to host
+cipriano.nl: did not receive HSTS header
 cira.email: could not connect to host
 circ-logic.com: did not receive HSTS header
 circlebox.rocks: could not connect to host
+circlepluscircle.me: could not connect to host
+circuitcityelectricaladelaide.com.au: could not connect to host
+circule.cc: could not connect to host
 cirfi.com: could not connect to host
 cirope.com: did not receive HSTS header
 cirrohost.com: did not receive HSTS header
@@ -7264,7 +8125,7 @@ cirujanooral.com: could not connect to host
 cirurgicasalutar.com.br: could not connect to host
 ciscohomeanalytics.com: could not connect to host
 ciscommerce.net: could not connect to host
-citadelnet.works: could not connect to host
+citadelnet.works: did not receive HSTS header
 citationgurus.com: could not connect to host
 citiagent.cz: could not connect to host
 citizen-cam.de: did not receive HSTS header
@@ -7272,33 +8133,38 @@ citizenslasvegas.com: could not connect to host
 citizenspact.eu: did not receive HSTS header
 citra-emu.org: did not receive HSTS header
 citroner.blog: did not receive HSTS header
+city-adm.lviv.ua: did not receive HSTS header
 city-forums.ml: could not connect to host
 citya.com: did not receive HSTS header
-citybusexpress.com: did not receive HSTS header
+citybusexpress.com: could not connect to host
 cityofarcolatx.gov: could not connect to host
 cityofeastpointemi.gov: could not connect to host
-cityoflaurel.org: did not receive HSTS header
+cityoflaurel.org: max-age too low: 0
 cityofmadera.gov: did not receive HSTS header
 cityofwadley-ga.gov: did not receive HSTS header
 cityofwoodward-ok.gov: did not receive HSTS header
 citywalkr.com: could not connect to host
 ciubotaru.tk: could not connect to host
 ciuciucadou.ro: could not connect to host
-ciudadanosbo.com: could not connect to host
+ciudadanosbo.com: did not receive HSTS header
 cium.ru: could not connect to host
 ciurcasdan.eu: did not receive HSTS header
 civicunicorn.com: could not connect to host
 civicunicorn.us: could not connect to host
+cixiaoya.space: could not connect to host
+cixiaoya1.xyz: could not connect to host
+cixiaoya2.xyz: could not connect to host
 cjcaron.org: could not connect to host
-cjean.fr: could not connect to host
 cjessett.com: max-age too low: 0
+cjs8866.cc: could not connect to host
 cjtkfan.club: could not connect to host
-ckleemann.de: could not connect to host
+ck1020.cc: could not connect to host
+ckgr.me: could not connect to host
 ckrubble.co.za: did not receive HSTS header
 cl0ud.space: could not connect to host
 clacetandil.com.ar: could not connect to host
 clad.cf: could not connect to host
-claibornecountytn.gov: could not connect to host
+claibornecountytn.gov: did not receive HSTS header
 claimit.ml: could not connect to host
 clamofon.com: did not receive HSTS header
 clan-ww.com: could not connect to host
@@ -7310,14 +8176,14 @@ claraism.com: did not receive HSTS header
 claralabs.com: did not receive HSTS header
 claretandbanter.uk: did not receive HSTS header
 clarity-c2ced.appspot.com: did not receive HSTS header
-claritysrv.com: did not receive HSTS header
+claritysrv.com: could not connect to host
 clarkeaward.com: did not receive HSTS header
 clarksburgma.gov: did not receive HSTS header
 clarksgaragedoorrepair.com: did not receive HSTS header
 clarkwifi.com: did not receive HSTS header
 clashersrepublic.com: could not connect to host
-classic-yacht-charters.com: did not receive HSTS header
 classical-guitar-school.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+classiccutstupelo.com: could not connect to host
 classicday.nl: could not connect to host
 classicsandexotics.com: could not connect to host
 classicshop.ua: did not receive HSTS header
@@ -7325,10 +8191,7 @@ classicspublishing.com: could not connect to host
 classifiedssa.co.za: could not connect to host
 claude.tech: could not connect to host
 claudearpel.fr: did not receive HSTS header
-claudiney.eti.br: could not connect to host
-claudiney.info: could not connect to host
 claudio4.com: did not receive HSTS header
-clausewitz-gesellschaft.de: did not receive HSTS header
 clayelections.gov: could not connect to host
 claytoncondon.com: could not connect to host
 claytonstowing.com.au: did not receive HSTS header
@@ -7341,23 +8204,28 @@ cleanfiles.us: could not connect to host
 cleaningbyrosie.com: did not receive HSTS header
 cleanmta.com: could not connect to host
 cleansewellness.com: could not connect to host
-cleanstar.org: did not receive HSTS header
+cleanstar.org: could not connect to host
 clear.ml: could not connect to host
 clearc.tk: could not connect to host
+clearchaos.net: did not receive HSTS header
 clearchatsandbox.com: could not connect to host
 clearer.cloud: could not connect to host
 clearsettle-admin.com: did not receive HSTS header
 clearsky.me: did not receive HSTS header
 clearspringhealthcare.com: did not receive HSTS header
 clearviewwealthprojector.com.au: could not connect to host
+clementfevrier.fr: could not connect to host
 clemovementlaw.com: could not connect to host
 clerkendweller.uk: could not connect to host
 clevelandokla.com: could not connect to host
+cleververmarkten.com: could not connect to host
+cleververmarkten.de: could not connect to host
 clic-et-site.com: could not connect to host
 clic-music.com: could not connect to host
 clicecompre.com.br: could not connect to host
 clich.cn: did not receive HSTS header
 click-2-order.co.uk: did not receive HSTS header
+click4web.com: did not receive HSTS header
 clickandgo.com: did not receive HSTS header
 clickandshoot.nl: could not connect to host
 clickclock.cc: could not connect to host
@@ -7365,12 +8233,14 @@ clickforclever.com: did not receive HSTS header
 clickforum.cf: could not connect to host
 clickgram.biz: could not connect to host
 clickomobile.com: did not receive HSTS header
+clickphish.com: did not receive HSTS header
 clickphobia.ga: could not connect to host
 clicks.co.za: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 clicktenisdemesa.com.br: did not receive HSTS header
 clicn.bio: could not connect to host
 clicnbio.com: did not receive HSTS header
 cliftons.com: did not receive HSTS header
+cliksource.com: did not receive HSTS header
 climaencusco.com: could not connect to host
 climaticarus.ru: did not receive HSTS header
 climed.com.tr: did not receive HSTS header
@@ -7379,16 +8249,16 @@ clingout.com: could not connect to host
 clinia.ca: did not receive HSTS header
 clinicaferrusbratos.com: did not receive HSTS header
 clinicasilos.com: did not receive HSTS header
-cliniko.com: did not receive HSTS header
 cliniquecomplementaire.com: could not connect to host
 clintonbloodworth.com: could not connect to host
 clintonbloodworth.io: could not connect to host
 clintonplasticsurgery.com: did not receive HSTS header
 clintwilson.technology: max-age too low: 2592000
+clio-dev.com: could not connect to host
 clipped4u.com: could not connect to host
 clipperses.tk: could not connect to host
 clite.ru: did not receive HSTS header
-clnet.com.au: did not receive HSTS header
+clnet.com.au: could not connect to host
 cloaked.ch: could not connect to host
 clochix.net: could not connect to host
 clod-hacking.com: did not receive HSTS header
@@ -7400,10 +8270,10 @@ clorik.com: could not connect to host
 closient.com: could not connect to host
 closingholding.com: could not connect to host
 cloturea.fr: did not receive HSTS header
-cloud-crowd.com.au: did not receive HSTS header
+cloud-crowd.com.au: could not connect to host
 cloud-project.com: could not connect to host
 cloud.wtf: could not connect to host
-cloud2go.de: could not connect to host
+cloud2go.de: did not receive HSTS header
 cloud58.org: could not connect to host
 cloudalice.com: could not connect to host
 cloudalice.net: could not connect to host
@@ -7414,7 +8284,6 @@ cloudberlin.goip.de: could not connect to host
 cloudbleed.info: could not connect to host
 cloudbreaker.de: could not connect to host
 cloudchart.site: could not connect to host
-cloudcloudcloud.cloud: could not connect to host
 cloudconsulting.net.za: did not receive HSTS header
 cloudconsulting.org.za: did not receive HSTS header
 cloudconsulting.web.za: did not receive HSTS header
@@ -7426,24 +8295,29 @@ cloudimproved.com: could not connect to host
 cloudimprovedtest.com: could not connect to host
 cloudkit.pro: did not receive HSTS header
 cloudland.club: could not connect to host
-cloudlink.club: did not receive HSTS header
-cloudmigrator365.com: did not receive HSTS header
+cloudlink.club: could not connect to host
+cloudmigrator365.com: could not connect to host
 cloudns.com.au: did not receive HSTS header
 cloudopt.net: did not receive HSTS header
-cloudpagesforwork.com: did not receive HSTS header
+cloudpagesforwork.com: could not connect to host
 cloudpebble.net: did not receive HSTS header
 clouds.webcam: could not connect to host
-cloudsecurityalliance-europe.org: could not connect to host
+cloudsec.tk: could not connect to host
+cloudsecurityalliance.com: could not connect to host
+cloudsecurityalliance.net: could not connect to host
+cloudsecuritycongress.net: could not connect to host
 cloudsharp.io: could not connect to host
-cloudsocial.io: could not connect to host
+cloudsocial.io: did not receive HSTS header
 cloudspeedy.net: could not connect to host
 cloudspotterapp.com: did not receive HSTS header
 cloudsprt.com: did not receive HSTS header
 cloudstoragemaus.com: could not connect to host
 cloudstorm.me: could not connect to host
 cloudstrike.co: could not connect to host
+cloudteam.de: could not connect to host
 cloudtskr.com: could not connect to host
 cloudwalk.io: did not receive HSTS header
+cloudwallce.com: could not connect to host
 cloudwarez.xyz: could not connect to host
 cloudwellmarketing.com: could not connect to host
 cloudwise.nl: did not receive HSTS header
@@ -7456,9 +8330,11 @@ clr3.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_F
 clsimplex.com: did not receive HSTS header
 club-corsicana.de: did not receive HSTS header
 club-is.ru: did not receive HSTS header
+club-reduc.com: did not receive HSTS header
 clubcall.com: did not receive HSTS header
 clubdeslecteurs.net: could not connect to host
 clubedalutashop.com: did not receive HSTS header
+clubiconkenosha.com: did not receive HSTS header
 clubmate.rocks: could not connect to host
 clubmix.co.kr: could not connect to host
 clubscannan.ie: did not receive HSTS header
@@ -7487,11 +8363,12 @@ cmftech.com: could not connect to host
 cmitao.com: could not connect to host
 cmov-plongeurs.fr: did not receive HSTS header
 cmoycontracts.com: could not connect to host
-cmpr.es: did not receive HSTS header
+cmpr.es: could not connect to host
 cmrss.com: could not connect to host
 cms-weble.jp: could not connect to host
 cmsbattle.com: could not connect to host
 cmscafe.ru: did not receive HSTS header
+cmserviscz.cz: did not receive HSTS header
 cmskh.co.uk: could not connect to host
 cmso-cal.com: could not connect to host
 cmusical.es: could not connect to host
@@ -7501,7 +8378,7 @@ cnam.net: did not receive HSTS header
 cnaprograms.online: could not connect to host
 cnatraining.network: could not connect to host
 cncmachinemetal.com: did not receive HSTS header
-cncn.link: did not receive HSTS header
+cncn.link: could not connect to host
 cncn.us: did not receive HSTS header
 cnet-hosting.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 cnetw.xyz: could not connect to host
@@ -7511,15 +8388,16 @@ cnnet.fun: could not connect to host
 cnnet.in: could not connect to host
 cnrd.me: did not receive HSTS header
 cnsyear.com: did not receive HSTS header
-cnwarn.com: did not receive HSTS header
-cnxy.eu.org: did not receive HSTS header
+cnwarn.com: could not connect to host
+cnxy.eu.org: could not connect to host
 co-driversphoto.se: did not receive HSTS header
 co-factor.ro: did not receive HSTS header
 co-yutaka.com: could not connect to host
-coa.one: could not connect to host
-coach-sportif.paris: did not receive HSTS header
+coach-sportif.paris: could not connect to host
+coachapp-ipass.herokuapp.com: could not connect to host
 coachingconsultancy.com: did not receive HSTS header
 coam.co: could not connect to host
+coatl-industries.com: could not connect to host
 cobaltlp.com: did not receive HSTS header
 cobcode.com: could not connect to host
 cobrax.net: did not receive HSTS header
@@ -7538,6 +8416,7 @@ cocodemy.com: did not receive HSTS header
 cocolovesdaddy.com: could not connect to host
 cocubes.com: did not receive HSTS header
 cocyou.ooo: could not connect to host
+cod88.cc: could not connect to host
 codabix.net: could not connect to host
 code-35.com: could not connect to host
 code-digsite.com: could not connect to host
@@ -7549,7 +8428,6 @@ codebreaking.org: could not connect to host
 codeco.pw: could not connect to host
 codecommunity.io: could not connect to host
 codecontrollers.de: could not connect to host
-codedynasty.com: could not connect to host
 codeforce.io: could not connect to host
 codefordus.de: could not connect to host
 codeforhakodate.org: did not receive HSTS header
@@ -7559,6 +8437,7 @@ codelayer.ca: could not connect to host
 codelitmus.com: did not receive HSTS header
 codeloop.pw: could not connect to host
 codelove.de: did not receive HSTS header
+codemahrt.com: could not connect to host
 codemonkeyrawks.net: could not connect to host
 codemperium.com: could not connect to host
 codenlife.kr: could not connect to host
@@ -7573,7 +8452,6 @@ codera.co.uk: could not connect to host
 codercross.com: could not connect to host
 codercy.com: could not connect to host
 coderhangout.com: could not connect to host
-coderme.com: did not receive HSTS header
 codersatlas.co: could not connect to host
 codersatlas.com: could not connect to host
 codersatlas.xyz: could not connect to host
@@ -7582,15 +8460,17 @@ codersbistro.com: did not receive HSTS header
 codesplain.in: could not connect to host
 codestep.io: could not connect to host
 codesyncro.com: did not receive HSTS header
+codewild.de: could not connect to host
 codewiththepros.org: could not connect to host
 codewiz.xyz: could not connect to host
 codific.eu: did not receive HSTS header
+codimaker.com: could not connect to host
 coding.net: did not receive HSTS header
 codingfromhell.net: did not receive HSTS header
 codinglogs.com: did not receive HSTS header
 coecrafters.com: could not connect to host
+coens.me.uk: could not connect to host
 coentropic.com: could not connect to host
-coesor.fr: max-age too low: 2592000
 coeurdesushi.com: max-age too low: 2592000
 coffeedino.com: did not receive HSTS header
 coffeeetc.co.uk: could not connect to host
@@ -7599,40 +8479,52 @@ coffeist.com: could not connect to host
 cogilog.com: could not connect to host
 coginti.tk: could not connect to host
 cogniflex.com: could not connect to host
+cognitiveapplications.net: could not connect to host
 cognixia.com: did not receive HSTS header
 cognixia.us: did not receive HSTS header
+cogsquad.house: could not connect to host
 cogumelosmagicos.org: could not connect to host
 cohesive.io: could not connect to host
 coi-verify.com: did not receive HSTS header
+coiffure-andrea.ch: did not receive HSTS header
 coin-exchange.cz: could not connect to host
 coinbit.trade: could not connect to host
+coinclickz.fun: could not connect to host
+coinclickz.xyz: could not connect to host
 coincoele.com.br: could not connect to host
 coindam.com: could not connect to host
 coindatabase.net: did not receive HSTS header
+coindeal.com: did not receive HSTS header
 coindesfilles.fr: did not receive HSTS header
+coinespe.com: did not receive HSTS header
 coinessa.com: could not connect to host
 coinjar-sandbox.com: could not connect to host
+coinpath.io: could not connect to host
 coins2001.ru: could not connect to host
 coisabakana.com.br: could not connect to host
+cokeflix.tv: did not receive HSTS header
 colapsys.net: did not receive HSTS header
 colarelli.ch: could not connect to host
+colasjourdain.fr: could not connect to host
 coldaddy.com: could not connect to host
+coldhak.ca: did not receive HSTS header
 coldlostsick.net: did not receive HSTS header
 coldwatericecream.com: did not receive HSTS header
 colearnr.com: could not connect to host
-colectivointerconductual.com: could not connect to host
 colectivos.org: did not receive HSTS header
 coleg.gov: could not connect to host
 colincampbell.me: did not receive HSTS header
-colinchartier.com: could not connect to host
 collablynk.com: did not receive HSTS header
 collabra.email: did not receive HSTS header
-collard.tk: could not connect to host
+collard.tk: did not receive HSTS header
 collare.com.mx: could not connect to host
 collbox.co: did not receive HSTS header
 collectfood.com: could not connect to host
-collectosaurus.com: could not connect to host
+collectivesupply.com: did not receive HSTS header
+collectosaurus.com: did not receive HSTS header
 colleencornez.com: could not connect to host
+collegeconnexxions.com.au: did not receive HSTS header
+collegepaperworld.com: did not receive HSTS header
 collegepulse.org: could not connect to host
 collegesecretary.cn: could not connect to host
 collegesecretary.com: could not connect to host
@@ -7649,6 +8541,7 @@ coloppe.com: could not connect to host
 coloradobluebook.gov: could not connect to host
 coloradocomputernetworking.net: could not connect to host
 coloraid.net: could not connect to host
+colorbrush.ru: could not connect to host
 colorcentertoner.com.br: did not receive HSTS header
 colorguni.com: could not connect to host
 colorunhas.com.br: could not connect to host
@@ -7657,14 +8550,15 @@ colpatriaws.azurewebsites.net: could not connect to host
 coltonrb.com: could not connect to host
 columbiacountyor.gov: did not receive HSTS header
 columbusks.gov: could not connect to host
+colyakoomusic.com: did not receive HSTS header
+colyakootees.com: did not receive HSTS header
 com-news.io: could not connect to host
 comandofilmes.club: could not connect to host
-combatircelulitis.com: could not connect to host
+combatircelulitis.com: did not receive HSTS header
 combatshield.cz: did not receive HSTS header
 combattrecellulite.com: could not connect to host
 comchezmeme.com: could not connect to host
-come2cook.com: did not receive HSTS header
-comefollowme2016.com: could not connect to host
+comcov.com: did not receive HSTS header
 comeoncolleen.com: did not receive HSTS header
 comeoneileen.tk: could not connect to host
 comercialdragon.com: did not receive HSTS header
@@ -7677,32 +8571,40 @@ comeyegroup.com: could not connect to host
 comfortdom.ua: did not receive HSTS header
 comfortticket.de: did not receive HSTS header
 comfun.net: could not connect to host
-comfy.moe: could not connect to host
+comfy.moe: did not receive HSTS header
 comfypc.com: could not connect to host
 comico.info: could not connect to host
 comicrelief.com: did not receive HSTS header
 comicspines.com: could not connect to host
 comidasperuanas.net: did not receive HSTS header
+comidina.com: could not connect to host
 comiq.io: could not connect to host
 comitesaustria.at: could not connect to host
 comiteshopping.com: could not connect to host
-commania.co.kr: could not connect to host
 commencepayments.com: did not receive HSTS header
+commerce.gov: did not receive HSTS header
+commercia.srl: could not connect to host
 commerciallocker.com: could not connect to host
 commercialplanet.eu: could not connect to host
 commune-preuilly.fr: did not receive HSTS header
 community-cupboard.org: did not receive HSTS header
+comoaliviareldolor.de: could not connect to host
 comocurarlashemorroides.org: could not connect to host
 comocurarlashemorroidesya.com: could not connect to host
+comodesinflamarlashemorroides.org: did not receive HSTS header
 comoeliminarlaspapulasperladasenelglande.com: did not receive HSTS header
 comohacerelamoraunhombrenet.com: did not receive HSTS header
 comoquitarlasestriasrapidamente.com: did not receive HSTS header
 comorecuperaratumujerpdf.com: could not connect to host
 comosatisfaceraunhombreenlacamaydejarloloco.com: did not receive HSTS header
 comotalk.com: could not connect to host
+comp.kiev.ua: could not connect to host
+compagniemartin.com: could not connect to host
 compalytics.com: could not connect to host
 comparamejor.com: did not receive HSTS header
+compareandrecycle.co.uk: did not receive HSTS header
 compareandrecycle.com: did not receive HSTS header
+comparecompensationclaims.com: max-age too low: 0
 comparejewelleryprices.co.uk: could not connect to host
 comparesolarquote.com.au: did not receive HSTS header
 comparetravelinsurance.com.au: did not receive HSTS header
@@ -7710,38 +8612,43 @@ compartir.party: did not receive HSTS header
 compassbest.com: could not connect to host
 compassionate-biology.com: could not connect to host
 compeuphoria.com: could not connect to host
+compibus.fr: could not connect to host
 compiledworks.com: could not connect to host
 compitak.com: could not connect to host
 compleetondernemen.nl: did not receive HSTS header
+complete-it.co.uk: did not receive HSTS header
+completefloorcoverings.com: did not receive HSTS header
 completesportperformance.com: did not receive HSTS header
 completionist.audio: could not connect to host
 complex-news.com: could not connect to host
 complex-organization.com: could not connect to host
-complexcoral.ro: did not receive HSTS header
 complexsystems.fail: did not receive HSTS header
 complt.xyz: could not connect to host
 complymd.com: did not receive HSTS header
 compostelle-bouddha.fr: could not connect to host
 compra-deuna.com: could not connect to host
+comprachida.com: could not connect to host
 compraporinternet.online: could not connect to host
 comprarcl.com: could not connect to host
 comprarefiereygana.com: could not connect to host
-comprasegura.ml: did not receive HSTS header
+comprasegura.ml: could not connect to host
 comprasoffie.com.br: could not connect to host
 compratecno.cl: did not receive HSTS header
-compreair.com: did not receive HSTS header
 compredietlight.com.br: did not receive HSTS header
 comprefitasadere.com.br: could not connect to host
 comprehensiveihc.com: could not connect to host
-compromised.com: did not receive HSTS header
+compromised.com: could not connect to host
 compros.me: could not connect to host
+compservice.in.ua: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 compsmag.com: did not receive HSTS header
 compu-ofertas.tk: could not connect to host
 compucastell.ch: did not receive HSTS header
 compucorner.com.mx: could not connect to host
+compufreaks.com: did not receive HSTS header
+compufreaks.nl: did not receive HSTS header
 compusolve.nl: could not connect to host
 compusrit.tk: could not connect to host
-computeradvance.tk: could not connect to host
+computeradvance.tk: did not receive HSTS header
 computerfreunde-barmbek.de: did not receive HSTS header
 computerslotopschool.nl: did not receive HSTS header
 computertal.de: could not connect to host
@@ -7751,14 +8658,15 @@ comtily.com: could not connect to host
 comyuno.com: did not receive HSTS header
 concentrade.de: did not receive HSTS header
 conceptatelier.de: could not connect to host
-conception.sk: could not connect to host
+conception.sk: did not receive HSTS header
 concertengine.com: could not connect to host
-concerts-metal.ch: did not receive HSTS header
+concierge.diet: did not receive HSTS header
 conclave.global: could not connect to host
 conclinica.com.br: did not receive HSTS header
 concord-group.co.jp: did not receive HSTS header
 concursopublico.com.br: could not connect to host
 condit.ml: could not connect to host
+condostjacques.com: could not connect to host
 conectalmeria.com: could not connect to host
 conectar.ru: could not connect to host
 conference.dnsfor.me: could not connect to host
@@ -7767,10 +8675,12 @@ configurat.tk: could not connect to host
 confirm365.com: could not connect to host
 conflicting.tk: could not connect to host
 conflux.tw: did not receive HSTS header
+conformal.com: could not connect to host
 conformist.jp: could not connect to host
 confucio.cl: could not connect to host
 confuddledpenguin.com: did not receive HSTS header
 cong5.net: max-age too low: 0
+congresscoverage.com: did not receive HSTS header
 congz.me: did not receive HSTS header
 conkret.ch: could not connect to host
 conkret.co.uk: could not connect to host
@@ -7783,9 +8693,11 @@ connect.social: did not receive HSTS header
 connect.ua: could not connect to host
 connectavid.com: could not connect to host
 connected-verhuurservice.nl: did not receive HSTS header
+connectfri.club: did not receive HSTS header
 connectium.co.uk: did not receive HSTS header
 conniesacademy.com: could not connect to host
 connorsmith.co: could not connect to host
+conocedordigital.com: could not connect to host
 conocimientosdigitales.com: could not connect to host
 conpath.net: did not receive HSTS header
 conpins.nl: could not connect to host
@@ -7809,13 +8721,14 @@ console.ninja: could not connect to host
 console.python.org: did not receive HSTS header
 console.support: did not receive HSTS header
 consommation-locale.fr: could not connect to host
-consonare.de: did not receive HSTS header
-constancechen.me: did not receive HSTS header
+constancechen.me: could not connect to host
 constares.de: did not receive HSTS header
 constituenttracker.com: could not connect to host
+constitution.website: could not connect to host
 construct-trust.com: could not connect to host
 constructexpres.ro: could not connect to host
 construction-digitale.fr: could not connect to host
+constructive.men: could not connect to host
 consultanta-in-afaceri.ro: max-age too low: 0
 consultasdigitales.com: did not receive HSTS header
 consultcelerity.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -7824,9 +8737,11 @@ consultorcr.net: could not connect to host
 consultorioespecializado.com: could not connect to host
 consumer.gov: did not receive HSTS header
 consumidor.gov: did not receive HSTS header
-contactbig.com: did not receive HSTS header
+contact.xyz: could not connect to host
+contactbig.com: could not connect to host
 contaimo.com: did not receive HSTS header
 container-lion.com: did not receive HSTS header
+containerspace.com.au: did not receive HSTS header
 containerstatistics.com: could not connect to host
 contarkos.xyz: could not connect to host
 content-design.de: did not receive HSTS header
@@ -7835,20 +8750,20 @@ contents.ga: could not connect to host
 contextplatform.com: did not receive HSTS header
 continental-zermatt.ch: did not receive HSTS header
 continuation.io: could not connect to host
-continuum.memorial: did not receive HSTS header
 continuumgaming.com: did not receive HSTS header
 contourheating.co.uk: did not receive HSTS header
-contractdigital.co.uk: could not connect to host
+contractdigital.co.uk: did not receive HSTS header
 contraout.com: could not connect to host
-contrisur.com: did not receive HSTS header
+contrisur.com: could not connect to host
 controlarlaansiedad.com: did not receive HSTS header
 controlcenter.gigahost.dk: did not receive HSTS header
 controltickets.com.br: did not receive HSTS header
 contxt-agentur.de: did not receive HSTS header
 convergemagazine.com: did not receive HSTS header
+convergence.fi: could not connect to host
 convert.zone: could not connect to host
 converter.ml: could not connect to host
-convexset.org: could not connect to host
+converticacommerce.com: did not receive HSTS header
 convocatoriafundacionpepsicomexico.org: could not connect to host
 convoitises.com: did not receive HSTS header
 cooink.net: could not connect to host
@@ -7859,6 +8774,7 @@ cookielab.io: did not receive HSTS header
 cookiesoft.de: could not connect to host
 cookiestudies.cf: could not connect to host
 cookingbazart.com: did not receive HSTS header
+cookingreporter.com: could not connect to host
 cooko.at: could not connect to host
 cooksbookscorks.com: did not receive HSTS header
 cooksecuritygroup.com: did not receive HSTS header
@@ -7875,16 +8791,18 @@ coolrc.me: did not receive HSTS header
 cooltang.ooo: could not connect to host
 coolvibe.org: did not receive HSTS header
 coolviewthermostat.com: did not receive HSTS header
-coon.fr: could not connect to host
 coop.se: did not receive HSTS header
 cooperativa-je.net: did not receive HSTS header
 cooperativehandmade.com: did not receive HSTS header
 cooperativehandmade.pe: did not receive HSTS header
 coor.fun: could not connect to host
+coorpintr.com: could not connect to host
 cooxa.com: could not connect to host
 copinstant.com: did not receive HSTS header
 copperhead.co: did not receive HSTS header
 coppermein.co.za: could not connect to host
+coprotag.com: did not receive HSTS header
+coprotag.fr: did not receive HSTS header
 copshop.com.br: could not connect to host
 copta-imagefilme-und-drohnenvideos.de: did not receive HSTS header
 coptic-treasures.com: max-age too low: 2592000
@@ -7898,11 +8816,14 @@ coralproject.net: did not receive HSTS header
 coralrosado.com.br: did not receive HSTS header
 coramcdaniel.com: could not connect to host
 corbinhesse.com: did not receive HSTS header
+cordemar.info: could not connect to host
 cordep.biz: could not connect to host
 corderoscleaning.com: did not receive HSTS header
 cordial-restaurant.com: did not receive HSTS header
+cordis.tk: could not connect to host
 core4system.de: could not connect to host
 coreapm.com: could not connect to host
+coreapm.org: could not connect to host
 corecdn.org: could not connect to host
 corenetworking.de: could not connect to host
 coresos.com: could not connect to host
@@ -7912,7 +8833,8 @@ corgicloud.com: could not connect to host
 corinnanese.de: could not connect to host
 coriver.me: could not connect to host
 corkyoga.site: could not connect to host
-corl3ss.com: could not connect to host
+corlinde.nl: did not receive HSTS header
+corlitocaffe.de: did not receive HSTS header
 cormactagging.ie: could not connect to host
 cormilu.com.br: did not receive HSTS header
 cornishcamels.com: did not receive HSTS header
@@ -7921,16 +8843,18 @@ corourbano.es: did not receive HSTS header
 corozanu.ro: did not receive HSTS header
 corp.goog: could not connect to host (error ignored - included regardless)
 corpoatletico.com.br: could not connect to host
-corpoepele.com.br: could not connect to host
+corpoepele.com.br: did not receive HSTS header
 corporacioninternacionallideres.org: did not receive HSTS header
 corporateencryption.com: could not connect to host
 corporatesubscriptions.com.au: did not receive HSTS header
 corpsepaint.life: could not connect to host
-correct.horse: could not connect to host
+correct.cf: did not receive HSTS header
+correct.horse: did not receive HSTS header
+correctconstructions.com.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 correctemails.com: could not connect to host
 correcthorse.cf: could not connect to host
 correctionsfoundation.org: did not receive HSTS header
-correiodovale.com.br: did not receive HSTS header
+correiodovale.com.br: could not connect to host
 corruption-mc.net: could not connect to host
 corruption-rsps.net: could not connect to host
 corruption-server.net: could not connect to host
@@ -7960,26 +8884,28 @@ coth.ml: could not connect to host
 cotonea.de: did not receive HSTS header
 cotta.dk: could not connect to host
 cougarsland.com: did not receive HSTS header
-coughlan.de: did not receive HSTS header
 counselling.network: did not receive HSTS header
 counsellingtime.co.uk: could not connect to host
 count.sh: could not connect to host
+counterglobal.com: did not receive HSTS header
 counterhack.nl: did not receive HSTS header
-countingto.one: could not connect to host
+countingto.one: did not receive HSTS header
 countryattire.com: did not receive HSTS header
 coup-dun-soir.ch: could not connect to host
 coupe-bordure.com: did not receive HSTS header
 couplay.org: could not connect to host
+couponbre.com: did not receive HSTS header
 couponcodeq.com: could not connect to host
 couragewhispers.ca: could not connect to host
 coursdeprogrammation.com: could not connect to host
 course.pp.ua: did not receive HSTS header
 course.rs: could not connect to host
 coursella.com: could not connect to host
-courses-nlp.com: did not receive HSTS header
 courses.nl: could not connect to host
 courtlistener.com: did not receive HSTS header
+courvix.com: did not receive HSTS header
 couscous.recipes: could not connect to host
+coussinsky.net: did not receive HSTS header
 covaci.pro: did not receive HSTS header
 cove.sh: could not connect to host
 covenantbank.net: could not connect to host
@@ -7988,27 +8914,35 @@ covenantoftheriver.org: did not receive HSTS header
 coverdat.com: could not connect to host
 coverduck.ru: did not receive HSTS header
 covermytrip.com.au: could not connect to host
+covery.ai: did not receive HSTS header
 cowboyim.com: could not connect to host
-cowcreek-nsn.gov: could not connect to host
+cowcreek-nsn.gov: did not receive HSTS header
 cowo.group: did not receive HSTS header
 coworking.tk: could not connect to host
 coworkingmanifesto.com: could not connect to host
+coxxs.moe: could not connect to host
 cozitop.com.br: could not connect to host
 cozmaadrian.ro: could not connect to host
 cozmoapp.com: could not connect to host
 cozy.io: did not receive HSTS header
 cozycloud.cc: did not receive HSTS header
 cozywebsite.com: did not receive HSTS header
+cp015.com: could not connect to host
 cpaneltips.com: could not connect to host
-cpbanq.com: could not connect to host
-cpbapremiocaduceo.com.ar: could not connect to host
+cpbapremiocaduceo.com.ar: did not receive HSTS header
 cpcp380.com: max-age too low: 0
+cpe-registry.com: could not connect to host
+cpe-registry.net: could not connect to host
+cpe-registry.org: could not connect to host
 cperegistry.com: could not connect to host
+cperegistry.net: could not connect to host
+cperegistry.org: could not connect to host
+cpgarmor.com: did not receive HSTS header
 cplala.com: could not connect to host
 cpls.me: could not connect to host
 cppressinc.com: could not connect to host
 cprheartcenter.com: did not receive HSTS header
-cpsq.fr: could not connect to host
+cprnearme.com: did not receive HSTS header
 cpuvinf.eu.org: could not connect to host
 cqchome.com: did not receive HSTS header
 cr0nus.net: did not receive HSTS header
@@ -8023,6 +8957,7 @@ craftbeerbarn.co.uk: could not connect to host
 craftcommerce.com: did not receive HSTS header
 craftedge.xyz: could not connect to host
 craftination.net: could not connect to host
+craftmachinec.com: could not connect to host
 craftmain.eu: could not connect to host
 craftmine.cz: could not connect to host
 craftngo.hu: could not connect to host
@@ -8030,12 +8965,15 @@ craftsandsweets.com: did not receive HSTS header
 craftwmcp.xyz: could not connect to host
 craftydev.design: could not connect to host
 craigary.net: did not receive HSTS header
+crain.com.au: did not receive HSTS header
 cranems.com.ua: could not connect to host
 cranioschule.com: did not receive HSTS header
 crashsec.com: could not connect to host
 crate.io: did not receive HSTS header
+craterx.com: did not receive HSTS header
 cravelyrics.com: could not connect to host
 crawcial.de: could not connect to host
+crawford.cloud: could not connect to host
 crawl.report: did not receive HSTS header
 craxbay.com: did not receive HSTS header
 crazifyngers.com: could not connect to host
@@ -8047,20 +8985,22 @@ crazyfamily11.de: could not connect to host
 crazyhost.ga: could not connect to host
 crazyhotseeds.com: did not receive HSTS header
 crazyker.com: could not connect to host
-crazyvisitors.com: could not connect to host
 crbug.com: did not receive HSTS header (error ignored - included regardless)
 crc-online.nl: did not receive HSTS header
+creacioneslri.com: could not connect to host
 creadstudy.com: could not connect to host
 creaescola.com: did not receive HSTS header
 creafitchile.cl: could not connect to host
 creaintel.net: did not receive HSTS header
+crealogix-online.com: could not connect to host
 creamybuild.com: could not connect to host
 creandoydesarrollando.com: could not connect to host
 create-ls.jp: could not connect to host
 create-test-publish.co.uk: could not connect to host
 create-together.nl: did not receive HSTS header
-createcpanama.com: could not connect to host
+createme.com.pl: could not connect to host
 creaticworld.net: could not connect to host
+creation-contemporaine.com: did not receive HSTS header
 creations-edita.com: could not connect to host
 creativ-impuls-dekorateurin-muenchen.de: did not receive HSTS header
 creativeapple.ltd: did not receive HSTS header
@@ -8075,24 +9015,30 @@ creativeplayuk.com: did not receive HSTS header
 creativerezults.com: could not connect to host
 creativesprite.com: could not connect to host
 creativlabor.ch: did not receive HSTS header
-creato.top: could not connect to host
+creato.top: did not receive HSTS header
 creators.co: could not connect to host
 crecips.com: could not connect to host
 crecket.me: could not connect to host
+credential.eu: could not connect to host
 credia.jp: could not connect to host
 creditcard52.com: max-age too low: 0
 creditclear.com.au: did not receive HSTS header
+creditmonkey.pro: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 creditreporttips.net: could not connect to host
-creditta.com: could not connect to host
+creditta.com: did not receive HSTS header
 credittoken.io: could not connect to host
 creepycraft.nl: could not connect to host
+creepypastas.net: did not receive HSTS header
+creerunsitepro.com: could not connect to host
+cremedigital.com: could not connect to host
 crendontech.com: did not receive HSTS header
 creorin.com: did not receive HSTS header
 crepererum.net: did not receive HSTS header
-crescent.gr.jp: could not connect to host
+crescent.gr.jp: did not receive HSTS header
+crestasantos.com: did not receive HSTS header
 crestoncottage.com: could not connect to host
+crew.moe: could not connect to host
 crew505.org: could not connect to host
-crewplanner.eu: did not receive HSTS header
 crfcap.org: did not receive HSTS header
 crge.eu: did not receive HSTS header
 criadorespet.com.br: could not connect to host
@@ -8105,13 +9051,13 @@ crisissurvivalspecialists.com: could not connect to host
 cristals.ga: could not connect to host
 cristianhares.com: could not connect to host
 cristianrasch.com: did not receive HSTS header
+cristianuibar.com: could not connect to host
 cristoraciones.com: did not receive HSTS header
 critcola.com: could not connect to host
 criticalaim.com: did not receive HSTS header
-crizk.com: could not connect to host
 crl-autos.com: could not connect to host
 crmdemo.website: could not connect to host
-crmenrich.com: could not connect to host
+crmenrich.com: did not receive HSTS header
 crockett.io: did not receive HSTS header
 croeder.net: could not connect to host
 croisieres.discount: could not connect to host
@@ -8127,25 +9073,26 @@ cross-x.com: could not connect to host
 crosscom.ch: could not connect to host
 crossfunctional.com: could not connect to host
 crosssec.com: did not receive HSTS header
-crosssellguide.com: did not receive HSTS header
-crossword.city: did not receive HSTS header
+crosssellguide.com: could not connect to host
+crossword.city: could not connect to host
 crow.tw: could not connect to host
 crowdcurity.com: did not receive HSTS header
 crowdjuris.com: could not connect to host
+crowdliminal.com: could not connect to host
+crowdspire.org: did not receive HSTS header
 crowdwis.com: could not connect to host
 crownchessclub.com: could not connect to host
 crownruler.com: did not receive HSTS header
-crowter.li: could not connect to host
 crox.co: could not connect to host
 crrev.com: did not receive HSTS header (error ignored - included regardless)
-crt.sh: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+crt.cloud: could not connect to host
 crt2014-2024review.gov: could not connect to host
 crtvmgmt.com: could not connect to host
-cruciverba.cc: did not receive HSTS header
+cruciverba.cc: could not connect to host
 crudysql.com: could not connect to host
+cruelporn.com: could not connect to host
 crufad.org: did not receive HSTS header
 cruikshank.com.au: could not connect to host
-crunchy.rocks: did not receive HSTS header
 crux.camp: did not receive HSTS header
 cruzadobalcazarabogados.com: could not connect to host
 cruzeiropedia.org: did not receive HSTS header
@@ -8157,6 +9104,7 @@ cryp.no: could not connect to host
 crypalert.com: could not connect to host
 crypkit.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 crypt.guru: did not receive HSTS header
+cryptagio.com: did not receive HSTS header
 crypticshell.co.uk: did not receive HSTS header
 cryptify.eu: could not connect to host
 crypto-armory.com: did not receive HSTS header
@@ -8167,30 +9115,36 @@ cryptobin.org: could not connect to host
 cryptocaseproject.com: could not connect to host
 cryptodash.net: could not connect to host
 cryptodyno.ninja: could not connect to host
+cryptography.io: max-age too low: 0
 cryptojar.io: could not connect to host
 cryptolab.pro: could not connect to host
 cryptolab.tk: could not connect to host
 cryptolinc.com: did not receive HSTS header
 cryptolosophy.io: could not connect to host
 cryptolosophy.org: did not receive HSTS header
+cryptomaniaks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 cryptonx.io: could not connect to host
 cryptoparty.dk: could not connect to host
 cryptopartyatx.org: could not connect to host
 cryptopartynewcastle.org: could not connect to host
 cryptopro.shop: could not connect to host
 cryptopush.com: did not receive HSTS header
+cryptotrendclub.com: could not connect to host
 cryptoya.io: could not connect to host
 crysadm.com: could not connect to host
+crystalapp.ca: could not connect to host
 crystalclassics.co.uk: did not receive HSTS header
 crystallizedcouture.com: did not receive HSTS header
 crystalmate.eu: did not receive HSTS header
+cryz.ru: could not connect to host
 cs-colorscreed-betongulve.dk: could not connect to host
 cs-ubladego.pl: could not connect to host
-cs3334.com: did not receive HSTS header
-cs3336.com: did not receive HSTS header
-cs3338.com: did not receive HSTS header
-cs3339.com: did not receive HSTS header
+cs2016.ch: could not connect to host
+csa-library.org: could not connect to host
+csaapac.com: could not connect to host
+csadc.org: could not connect to host
 csapak.com: could not connect to host
+csasummit.net: could not connect to host
 csasummit.org: could not connect to host
 csawctf.poly.edu: could not connect to host
 csbgtribalta.com: did not receive HSTS header
@@ -8217,19 +9171,19 @@ csinfo.us: could not connect to host
 cskdoc.com: did not receive HSTS header
 csohack.tk: could not connect to host
 csokolade.hu: could not connect to host
-cspbuilder.info: could not connect to host
+csovek-idomok.hu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+cspbuilder.info: did not receive HSTS header
 csru.net: could not connect to host
 css.net: could not connect to host
 css125.com: max-age too low: 0
 cssu.in: did not receive HSTS header
+cst188.cc: could not connect to host
 csust.ac.cn: did not receive HSTS header
-csuw.net: could not connect to host
 csvape.com: did not receive HSTS header
 ct-status.org: could not connect to host
 ct-watches.dk: did not receive HSTS header
 cthomas.work: could not connect to host
 cthulhuden.com: could not connect to host
-ctir.gov.br: did not receive HSTS header
 ctj.im: could not connect to host
 ctknight.me: could not connect to host
 ctl.email: could not connect to host
@@ -8251,9 +9205,9 @@ cubela.tech: could not connect to host
 cubeserver.eu: could not connect to host
 cubewano.com: could not connect to host
 cubix.host: could not connect to host
-cucaracha.tk: could not connect to host
+cucaracha.tk: did not receive HSTS header
 cucc.date: could not connect to host
-cuckoo.ee: did not receive HSTS header
+cuckmysock.com: could not connect to host
 cuddlecat.io: could not connect to host
 cuecamania.com.br: could not connect to host
 cujanovic.com: did not receive HSTS header
@@ -8262,9 +9216,10 @@ culaneenergycorp.com: did not receive HSTS header
 culinae.nl: could not connect to host
 cultivo.bio: could not connect to host
 culture-school.top: did not receive HSTS header
-cultureelbeleggen.nl: did not receive HSTS header
+cultureelbeleggen.nl: could not connect to host
 culturerain.com: could not connect to host
 cultureroll.com: could not connect to host
+cumagini.com: could not connect to host
 cumparama.com: did not receive HSTS header
 cumtd.com: could not connect to host
 cunha.be: could not connect to host
@@ -8277,7 +9232,7 @@ cupcake.io: did not receive HSTS header
 cupcake.is: did not receive HSTS header
 cupcakesandcrinoline.com: did not receive HSTS header
 cupcao.gov: could not connect to host
-cupi.co: could not connect to host
+cupi.co: did not receive HSTS header
 cupidosshop.com: did not receive HSTS header
 cupofarchitects.net: did not receive HSTS header
 cuppycakes.fi: did not receive HSTS header
@@ -8292,23 +9247,27 @@ curiouscat.me: max-age too low: 2592000
 curiouspeddler.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 curlyroots.com: did not receive HSTS header
 current.com: did not receive HSTS header
+currentlyusa.com: could not connect to host
 currentobserver.com: did not receive HSTS header
 curroapp.com: could not connect to host
 cursed.im: did not receive HSTS header
 cursomarketingdigitalmx.com: could not connect to host
+cursosdeinglesmexico.com: could not connect to host
 cursosdnc.cl: could not connect to host
 cursosgratuitos.com.br: did not receive HSTS header
+curtis-smith.uk: could not connect to host
 curtislaw-pllc.com: did not receive HSTS header
-curva.co: could not connect to host
+curtissmith.uk: could not connect to host
 curvesandwords.com: did not receive HSTS header
 curveweb.co.uk: did not receive HSTS header
 curvylove.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 cusfit.com: did not receive HSTS header
+custamped.com: could not connect to host
 custe.rs: could not connect to host
 custerweb.com: could not connect to host
 custodiamobili.roma.it: could not connect to host
 customadesign.com: did not receive HSTS header
-custombikes.cl: could not connect to host
+custombikes.cl: did not receive HSTS header
 customcontract.network: could not connect to host
 customd.com: did not receive HSTS header
 customerbox.ir: did not receive HSTS header
@@ -8318,26 +9277,31 @@ customgear.com.au: could not connect to host
 customizeyourshower.com: could not connect to host
 customromlist.com: could not connect to host
 customshort.link: could not connect to host
+customwritingservice.com: did not receive HSTS header
 cutelariafiveladeouro.com.br: did not receive HSTS header
 cutephil.com: could not connect to host
-cutimbo.com: could not connect to host
+cuteselfie.com: did not receive HSTS header
+cutimbo.com: did not receive HSTS header
 cutimbo.ovh: could not connect to host
 cutorrent.com: could not connect to host
 cuvva.insure: did not receive HSTS header
 cuxpool.club: could not connect to host
 cuyahogacountyvotesoh.gov: could not connect to host
+cvdc.xyz: could not connect to host
 cvjm-memmingen.de: did not receive HSTS header
 cvninja.pl: did not receive HSTS header
 cvps.top: did not receive HSTS header
 cvsoftub.com: could not connect to host
 cvtparking.co.uk: did not receive HSTS header
 cw-bw.de: could not connect to host
+cw.do: could not connect to host
 cwage.com: did not receive HSTS header
+cwagner.me: did not receive HSTS header
 cwbw.network: could not connect to host
 cwilson.ga: could not connect to host
 cwinfo.fi: did not receive HSTS header
 cwinfo.net: did not receive HSTS header
-cwr.gov: did not receive HSTS header
+cwr.gov: could not connect to host
 cxfinancia.com: did not receive HSTS header
 cxq77128.com: max-age too low: 0
 cy.ax: could not connect to host
@@ -8347,7 +9311,7 @@ cybbh.space: could not connect to host
 cyber-computer.club: could not connect to host
 cyber-konzept.de: did not receive HSTS header
 cyber-perikarp.eu: could not connect to host
-cyber-wolfs.com: could not connect to host
+cyber-wolfs.com: did not receive HSTS header
 cyber.cafe: did not receive HSTS header
 cyberbot.info: could not connect to host
 cybercave.tk: could not connect to host
@@ -8355,14 +9319,19 @@ cybercecurity.com: did not receive HSTS header
 cybercloud.cc: did not receive HSTS header
 cybercocoon.com: did not receive HSTS header
 cyberdos.de: could not connect to host
-cyberdyne-industries.net: could not connect to host
+cyberdyne-industries.net: did not receive HSTS header
+cyberdyne.ie: could not connect to host
+cyberdyne.llc: could not connect to host
 cyberexplained.info: could not connect to host
+cybergrx.com: did not receive HSTS header
+cyberguerrilla.info: could not connect to host
+cyberguerrilla.org: could not connect to host
 cyberkov.com: did not receive HSTS header
 cyberlab.kiev.ua: could not connect to host
 cyberlightapp.com: did not receive HSTS header
 cybermeldpunt.nl: could not connect to host
 cyberpanel.cf: could not connect to host
-cyberpeace.nl: did not receive HSTS header
+cyberpeace.nl: could not connect to host
 cyberprey.com: could not connect to host
 cyberpunk.ca: could not connect to host
 cyberquest.cf: could not connect to host
@@ -8370,20 +9339,22 @@ cyberregister.nl: could not connect to host
 cyberregister.org: could not connect to host
 cybersantri.com: could not connect to host
 cybersecurity.nz: did not receive HSTS header
+cybersecurityketen.nl: could not connect to host
 cyberserver.org: could not connect to host
 cybershambles.com: could not connect to host
 cyberspace.community: could not connect to host
 cyberspace.today: could not connect to host
 cybertorsk.org: could not connect to host
 cyberweightloss.com: could not connect to host
-cyberxpert.nl: could not connect to host
 cybit.io: could not connect to host
 cybozulive-dev.com: could not connect to host
 cybozulive.com: did not receive HSTS header
 cybrary.it: did not receive HSTS header
+cyclebeads.com: did not receive HSTS header
 cyclehackluxembourgcity.lu: could not connect to host
 cyclingjunkies.com: could not connect to host
 cyclisjumper.gallery: could not connect to host
+cyclop-editorial.fr: could not connect to host
 cydia-search.io: could not connect to host
 cyelint.com: could not connect to host
 cygnaltech.com: could not connect to host
@@ -8396,7 +9367,6 @@ cype.dedyn.io: could not connect to host
 cypherpunk.com: did not receive HSTS header
 cypherpunk.ws: could not connect to host
 cyphertite.com: could not connect to host
-cypresslegacy.com: could not connect to host
 cyrating.com: did not receive HSTS header
 cyson.tech: could not connect to host
 cytadel.fr: did not receive HSTS header
@@ -8405,6 +9375,7 @@ cytotecforsale.com: did not receive HSTS header
 czechamlp.com: could not connect to host
 czechcrystals.co.uk: could not connect to host
 czfa.pl: did not receive HSTS header
+czh999.com: could not connect to host
 czlx.co: could not connect to host
 d-academia.com: did not receive HSTS header
 d-garnier-delaunay.fr: did not receive HSTS header
@@ -8414,53 +9385,67 @@ d-msg.com: could not connect to host
 d-quantum.com: did not receive HSTS header
 d-rickroll-e.pw: could not connect to host
 d-soft.tk: could not connect to host
-d00r.de: did not receive HSTS header
+d-toys.com.ua: could not connect to host
+d.nf: did not receive HSTS header
+d00r.de: could not connect to host
 d0xq.net: could not connect to host
 d1ownqs4tcx37f.cloudfront.net: did not receive HSTS header
 d1qvlbepn0kduz.cloudfront.net: could not connect to host
 d1ves.io: did not receive HSTS header
 d2qa61rbluifiq.cloudfront.net: did not receive HSTS header
 d2s.uk: could not connect to host
-d30365.com: did not receive HSTS header
 d36594.com: could not connect to host
+d3boost.com: did not receive HSTS header
+d3dev.cf: could not connect to host
 d3njjcbhbojbot.cloudfront.net: did not receive HSTS header
 d3x.pw: could not connect to host
+d3xx3r.de: did not receive HSTS header
 d4designstudios.ch: did not receive HSTS header
 d4designstudios.com: did not receive HSTS header
-d4rkdeagle.tk: could not connect to host
 d4wson.com: could not connect to host
 d5197.co: could not connect to host
 d6729.co: could not connect to host
 d6729.com: did not receive HSTS header
 d6957.co: could not connect to host
 d6957.com: did not receive HSTS header
+d7211.com: did not receive HSTS header
+d7216.com: did not receive HSTS header
+d81365.com: did not receive HSTS header
+d81818.com: did not receive HSTS header
+d82365.com: did not receive HSTS header
 d88-livechat.com: could not connect to host
-d88.com: could not connect to host
+d8841.com: could not connect to host
 d885188.com: could not connect to host
+d88688.com: could not connect to host
 d887vip.com: could not connect to host
 d8886.net: could not connect to host
 d888818.com: could not connect to host
-d88dc09.com: could not connect to host
+d88886.com: could not connect to host
+d88girls.com: could not connect to host
 d899365.com: could not connect to host
 d8studio.net: could not connect to host
 d9297.co: could not connect to host
-d9397.com: could not connect to host
-d9721.com: could not connect to host
+d9397.com: did not receive HSTS header
+d9721.com: did not receive HSTS header
 d9728.co: could not connect to host
-da-ist-kunst.de: could not connect to host
+da-ist-kunst.de: did not receive HSTS header
 da-sh.cc: could not connect to host
 da.hn: could not connect to host
 da42foripad.com: could not connect to host
 da8.cc: did not receive HSTS header
+dabai.club: could not connect to host
+dabai.photo: could not connect to host
 dabblegoat.com: could not connect to host
 dabbot.org: did not receive HSTS header
 dabneydriveanimalhospital.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dad256.tk: could not connect to host
 dadahen.com: max-age too low: 0
+daddyfinger.me: could not connect to host
 dadons-laserdiscs.com: could not connect to host
 dadtheimpaler.com: could not connect to host
 dadycandoit.com: did not receive HSTS header
 daemon.xin: could not connect to host
+daemonslayer.net: could not connect to host
 dafassl.com: did not receive HSTS header
 dafnik.me: did not receive HSTS header
 dagmar2018.cz: could not connect to host
@@ -8468,15 +9453,18 @@ dah5.com: did not receive HSTS header
 dahl-pind.dk: did not receive HSTS header
 dahliacake.com: could not connect to host
 dai-rin.co.jp: could not connect to host
+dai.top: could not connect to host
 daily-exps.herokuapp.com: could not connect to host
 dailybunda.com: could not connect to host
+dailypop.ru: could not connect to host
 dailystormerpodcasts.com: could not connect to host
-dailytopix.com: could not connect to host
+dailytopix.com: did not receive HSTS header
 daimadi.com: could not connect to host
 daintymeal.com: did not receive HSTS header
 dair.se: did not receive HSTS header
 dairikab.go.id: could not connect to host
 daisuki.pw: could not connect to host
+daitouryu-jujutsu.com: did not receive HSTS header
 daiwai.de: did not receive HSTS header
 daiweihu.com: could not connect to host
 daiyuu.jp: could not connect to host
@@ -8487,10 +9475,10 @@ dakotasilencer.com: did not receive HSTS header
 dakrib.net: could not connect to host
 daku.gdn: could not connect to host
 dale-bancruz.tk: could not connect to host
-dalek.co.nz: could not connect to host
 dalfiume.it: did not receive HSTS header
 dalingk.co: could not connect to host
 dallas.gov: could not connect to host
+dallinbryce.com: could not connect to host
 daltonedwards.me: could not connect to host
 dam74.com.ar: could not connect to host
 damaskena.com: did not receive HSTS header
@@ -8504,6 +9492,7 @@ dan.org.nz: did not receive HSTS header
 danaketh.com: could not connect to host
 dancebuzz.co.uk: did not receive HSTS header
 dancerdates.net: did not receive HSTS header
+dandan101.com: could not connect to host
 dandymrsb.com: could not connect to host
 daneandthepain.com: did not receive HSTS header
 dangmai.tk: could not connect to host
@@ -8511,21 +9500,23 @@ daniel-du.com: did not receive HSTS header
 daniel-mosquera.com: could not connect to host
 daniel-stahl.net: could not connect to host
 daniel-steuer.de: could not connect to host
-daniel.domains: could not connect to host
+daniel.domains: did not receive HSTS header
 daniela-schwarz-individuelle-lebensberatung-coaching.de: did not receive HSTS header
-danielalvarez.net: did not receive HSTS header
 danielcowie.me: could not connect to host
 danieldk.eu: did not receive HSTS header
 danielfeau.com: did not receive HSTS header
 danielgraziano.ca: could not connect to host
 danieljireh.com: did not receive HSTS header
-danielmostertman.com: could not connect to host
+danielkeppler.com: could not connect to host
 danielmostertman.nl: could not connect to host
+danieln.tech: could not connect to host
 danielschreurs.com: did not receive HSTS header
 danielt.co.uk: did not receive HSTS header
+danielve.ga: could not connect to host
 danielverlaan.nl: could not connect to host
 danielworthy.com: did not receive HSTS header
 danielzuzevich.com: could not connect to host
+daniilgeorge.com: did not receive HSTS header
 danijobs.com: could not connect to host
 danishenanigans.com: could not connect to host
 dankeblog.com: could not connect to host
@@ -8533,50 +9524,48 @@ dankredues.com: could not connect to host
 danmark.guide: did not receive HSTS header
 danna888.com: max-age too low: 0
 dannycrichton.com: did not receive HSTS header
-danonsecurity.com: could not connect to host
+dannyrohde.de: did not receive HSTS header
 danova.de: did not receive HSTS header
-danoz.net: could not connect to host
 danrl.de: could not connect to host
 dansa.com.co: could not connect to host
 danscomp.com: did not receive HSTS header
 dansk-skole.de: did not receive HSTS header
-dansk777.dk: did not receive HSTS header
 danskringsporta.be: did not receive HSTS header
 danstoncu.be: could not connect to host
 dantelistan.com: could not connect to host
 daolerp.xyz: could not connect to host
-dapianw.com: did not receive HSTS header
-dapim.co.il: did not receive HSTS header
 daplie.com: could not connect to host
 dapps.earth: could not connect to host
 dappworld.com: could not connect to host
+darbi.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 darbtech.net: did not receive HSTS header
 daren.com.br: could not connect to host
 daretogain.com: could not connect to host
 dargasia.is: could not connect to host
 darinjohnson.ca: could not connect to host
 dario.im: did not receive HSTS header
-dariosirangelo.me: could not connect to host
+darioackermann.ch: could not connect to host
+dariosirangelo.me: did not receive HSTS header
 darisni.me: did not receive HSTS header
 dark-x.cf: could not connect to host
-darkag.ovh: did not receive HSTS header
-darkanzali.pl: max-age too low: 0
+darkanzali.pl: could not connect to host
 darkdestiny.ch: could not connect to host
 darkestproductions.net: could not connect to host
-darkhole.cn: could not connect to host
+darkhole.cn: did not receive HSTS header
 darkhunter.eu: could not connect to host
 darkishgreen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 darknebula.space: did not receive HSTS header
-darknode.in: could not connect to host
+darknode.in: did not receive HSTS header
 darkpony.ru: could not connect to host
 darkroomsaredead.com: could not connect to host
 darkside.re: did not receive HSTS header
 darksideof.it: could not connect to host
+darkspacelab.com: could not connect to host
 darkstance.org: could not connect to host
 darktree.in: could not connect to host
 darkwebnews.com: could not connect to host
 darlastudio66.com: did not receive HSTS header
-darookee.net: could not connect to host
+darookee.net: did not receive HSTS header
 daropia.org: did not receive HSTS header
 darrenellis.xyz: could not connect to host
 darrenm.net: could not connect to host
@@ -8585,6 +9574,7 @@ dart-tanke.de: could not connect to host
 dartsdon.jp: could not connect to host
 dartshopmn.nl: did not receive HSTS header
 dartydiscount.fr: could not connect to host
+daryl.moe: could not connect to host
 das-ee.com: did not receive HSTS header
 das-tyrol.at: did not receive HSTS header
 dash-board.jp: could not connect to host
@@ -8598,17 +9588,15 @@ dashnimorad.com: did not receive HSTS header
 data-abundance.com: could not connect to host
 data-detox.com: could not connect to host
 data.qld.gov.au: did not receive HSTS header
+databasez.net: could not connect to host
 databeam.de: could not connect to host
 datacandy.com: did not receive HSTS header
 datacave.is: could not connect to host
-datacenternews.asia: did not receive HSTS header
 datacenternews.co.nz: did not receive HSTS header
-datacentrenews.eu: did not receive HSTS header
-datacool.host: could not connect to host
+datacool.host: did not receive HSTS header
 datacool.tk: could not connect to host
 datacubed.com: did not receive HSTS header
-datafd.com: did not receive HSTS header
-datafd.net: did not receive HSTS header
+datadiggers.com: could not connect to host
 datagir.ir: did not receive HSTS header
 dataguidance.com: max-age too low: 2592000
 datahoarder.download: could not connect to host
@@ -8621,9 +9609,9 @@ dataprotectionadvisors.com: did not receive HSTS header
 datapure.net: could not connect to host
 dataretention.solutions: could not connect to host
 datascomemorativas.com.br: did not receive HSTS header
-datasharesystem.com: could not connect to host
+datasharesystem.com: did not receive HSTS header
 datasnitch.co.uk: could not connect to host
-datatekniikka.com: did not receive HSTS header
+datatekniikka.com: could not connect to host
 datedeposit.com: could not connect to host
 datelligent.com: could not connect to host
 datengrab.ws: could not connect to host
@@ -8633,77 +9621,89 @@ datenreiter.gq: could not connect to host
 datenreiter.ml: could not connect to host
 datenreiter.tk: could not connect to host
 datine.com.br: could not connect to host
+datingsite-vergelijken.website: could not connect to host
+datingticino.ch: could not connect to host
 datorb.com: could not connect to host
 datortipsen.se: could not connect to host
 datovyaudit.cz: could not connect to host
 datsound.ru: did not receive HSTS header
 datsumou-q.com: could not connect to host
+datumou-recipe.com: did not receive HSTS header
 datvexehue.com: did not receive HSTS header
 daveedave.de: could not connect to host
-davepermen.net: could not connect to host
 daverandom.com: could not connect to host
-davesharpe.com: did not receive HSTS header
 davewut.ca: could not connect to host
 david-mallett.com: did not receive HSTS header
 davidandkailey.com: could not connect to host
 davidbrito.tech: could not connect to host
 davidcrx.net: could not connect to host
+daviddever.net: did not receive HSTS header
 davidforward.com: did not receive HSTS header
 davidforward.net: could not connect to host
-davidglidden.eu: did not receive HSTS header
-davidletellier.com: did not receive HSTS header
+davidglidden.eu: could not connect to host
+davidletellier.com: could not connect to host
 davidlillo.com: could not connect to host
 davidnadaski.com: could not connect to host
 davidnoren.com: did not receive HSTS header
+davidops.com: did not receive HSTS header
 davidreinhardt.de: could not connect to host
 davidscherzer.at: could not connect to host
 davidzack.net: did not receive HSTS header
 davimun.org: could not connect to host
+davisroi.com: did not receive HSTS header
 davros.eu: could not connect to host
 davros.ru: could not connect to host
+davypropper.com: could not connect to host
 dawena.de: did not receive HSTS header
 dawnofeden.org: could not connect to host
 dawnofhope.tk: could not connect to host
+dawnson.is: could not connect to host
 dawnsonb.com: could not connect to host
 day-peak.com: did not receive HSTS header
 day.vip: could not connect to host
 daydream.team: could not connect to host
 daylight-dream.ee: did not receive HSTS header
 daylightcompany.com: did not receive HSTS header
-dayman.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+days.one: could not connect to host
 daytonaseaside.com: did not receive HSTS header
+daywalkers-photography.de: could not connect to host
 db-sanity.com: could not connect to host
 db.gy: could not connect to host
+dbapress.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+dbb.wtf: could not connect to host
 dbcom.ru: did not receive HSTS header
 dbdc.us: did not receive HSTS header
 dbjl.fr: did not receive HSTS header
 dblx.io: could not connect to host
 dbmxpca.com: did not receive HSTS header
-dbox.ga: could not connect to host
+dbox.ga: did not receive HSTS header
 dbpmedia.se: did not receive HSTS header
 dbudj.com: max-age too low: 0
 dbw678.com: could not connect to host
 dbx.ovh: could not connect to host
 dbyz.co.uk: did not receive HSTS header
 dc-service.by: did not receive HSTS header
+dc585.info: could not connect to host
 dcaracing.nl: could not connect to host
+dcards.in.th: could not connect to host
 dcareer.tk: could not connect to host
 dcautomacao.com.br: did not receive HSTS header
-dcc.cat: did not receive HSTS header
 dccode.gov: could not connect to host
 dccoffeeproducts.com: did not receive HSTS header
-dccommunity.de: could not connect to host
+dccommunity.de: did not receive HSTS header
 dccraft.net: could not connect to host
 dcl.re: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dctxf.com: did not receive HSTS header
 dcuofriends.net: could not connect to host
+dd33d.net: could not connect to host
 dd5197.co: could not connect to host
 dd6729.co: could not connect to host
 dd6729.com: did not receive HSTS header
 dd6957.co: could not connect to host
+dd7211.com: did not receive HSTS header
 dd9297.co: could not connect to host
-dd9397.com: could not connect to host
-dd9721.com: could not connect to host
+dd9397.com: did not receive HSTS header
+dd9721.com: did not receive HSTS header
 dd9728.co: could not connect to host
 dden.website: could not connect to host
 dden.xyz: could not connect to host
@@ -8718,17 +9718,18 @@ ddy.tw: could not connect to host
 de-osopanda.com: could not connect to host
 de-servers.de: could not connect to host
 de-spil.be: could not connect to host
-deadbyhost.com: could not connect to host
+deadbyhost.com: did not receive HSTS header
 deadmann.com: could not connect to host
 deai-life.biz: could not connect to host
-dealerbrindes.com.br: did not receive HSTS header
 dealpass.no: did not receive HSTS header
 deals.ms: did not receive HSTS header
 deanisa.ninja: could not connect to host
 deanstreettacochips.com: did not receive HSTS header
 dearly.com: did not receive HSTS header
+dearstackexchange.com: did not receive HSTS header
 deathberry.ddns.net: could not connect to host
 debank.tv: did not receive HSTS header
+debarras-diogene.paris: could not connect to host
 debarrasantony.com: could not connect to host
 debarrasasnieressurseine.com: could not connect to host
 debarrasboulognebillancourt.com: could not connect to host
@@ -8741,7 +9742,7 @@ debian-vhost.de: could not connect to host
 debiton.dk: could not connect to host
 debitoutil.com: did not receive HSTS header
 debitpaie.com: did not receive HSTS header
-debkleinteam.com: did not receive HSTS header
+debkleinteam.com: could not connect to host
 deblocking.ga: could not connect to host
 debora-singkreis.de: could not connect to host
 deborahmarinelli.eu: could not connect to host
@@ -8749,15 +9750,18 @@ debraydesign.com.au: could not connect to host
 debt.com: did not receive HSTS header
 debtkit.co.uk: did not receive HSTS header
 debtprotectionreporting.com: could not connect to host
+decaffeinated.io: did not receive HSTS header
 decafu.co: could not connect to host
 decayshop.com: did not receive HSTS header
 decentralizedweb.net: did not receive HSTS header
 decesus.com: could not connect to host
-decfun.com: did not receive HSTS header
+decfun.com: could not connect to host
+decher.de: did not receive HSTS header
 decibelios.li: could not connect to host
 decidetreatment.org: could not connect to host
-decimatechnologies.eu: could not connect to host
 deckbuilderamerica.com: did not receive HSTS header
+deckersheaven.com: could not connect to host
+declivitas.com: could not connect to host
 decloverly.com: could not connect to host
 deco.me: could not connect to host
 decoacerospanama.com: could not connect to host
@@ -8769,6 +9773,7 @@ decofire.pl: did not receive HSTS header
 decomplify.com: did not receive HSTS header
 deconsolutions.com: did not receive HSTS header
 decoraid.com: did not receive HSTS header
+decorauvent.ca: did not receive HSTS header
 decorincasa.com.br: could not connect to host
 decorland.com.ua: could not connect to host
 decormiernissanparts.com: could not connect to host
@@ -8781,22 +9786,21 @@ dedimax.de: did not receive HSTS header
 deedyinc.com: could not connect to host
 deejayevents.ro: did not receive HSTS header
 deeonix.eu: could not connect to host
-deep-chess.com: could not connect to host
 deep.social: did not receive HSTS header
 deepaero.com: could not connect to host
 deeparamaraj.com: could not connect to host
 deepblue-web.cn: could not connect to host
-deepblueemail.com: could not connect to host
 deepcovelabs.net: could not connect to host
 deepcreampie.com: could not connect to host
 deepearth.uk: could not connect to host
 deeperxh.com: did not receive HSTS header
 deeployr.io: could not connect to host
+deepnet.cc: could not connect to host
 deeprecce.com: could not connect to host
 deeprecce.link: could not connect to host
 deeprecce.tech: could not connect to host
 deeps.cat: could not connect to host
-deepsouthsounds.com: could not connect to host
+deeps.me: could not connect to host
 deepvalley.tech: could not connect to host
 deepvision.com.ua: did not receive HSTS header
 deepwealth.institute: did not receive HSTS header
@@ -8813,24 +9817,25 @@ defi-metier.org: could not connect to host
 defi-metiers.com: could not connect to host
 defi-metiers.fr: did not receive HSTS header
 defi-metiers.org: could not connect to host
-defifa.ga: could not connect to host
+defifa.ga: did not receive HSTS header
 defiler.tk: could not connect to host
 defimetier.fr: could not connect to host
 defimetier.org: could not connect to host
 defimetiers.com: could not connect to host
 defimetiers.fr: could not connect to host
+defman.me: did not receive HSTS header
 defme.eu: could not connect to host
-defrax.com: did not receive HSTS header
+defrax.com: could not connect to host
 defrax.de: did not receive HSTS header
-degeberg.com: could not connect to host
-degeberg.dk: could not connect to host
 degosoft.nl: could not connect to host
-degressif.com: could not connect to host
+degrasboom.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 degroetenvanrosaline.nl: could not connect to host
-degroupage.info: max-age too low: 7884000
+dehydrated.de: could not connect to host
 deight.co: could not connect to host
 deight.in: could not connect to host
+deinewebsite.de: did not receive HSTS header
 deinserverhost.de: did not receive HSTS header
+deinsparen24.de: could not connect to host
 deionized.ga: could not connect to host
 dejan.media: did not receive HSTS header
 dekasan.ru: could not connect to host
@@ -8840,11 +9845,10 @@ dekoh-shouyu.com: did not receive HSTS header
 delandalucia.com: did not receive HSTS header
 delawarenation-nsn.gov: did not receive HSTS header
 delayrefunds.co.uk: could not connect to host
-delbrouck.ch: did not receive HSTS header
 delcan.ga: could not connect to host
 delcan.ml: could not connect to host
 delcopa.gov: did not receive HSTS header
-deleenheir.be: could not connect to host
+delegao.moe: could not connect to host
 delf.co.jp: did not receive HSTS header
 delfino.cr: did not receive HSTS header
 delhitalkie.com: did not receive HSTS header
@@ -8852,12 +9856,12 @@ deli-tochigi.jp: did not receive HSTS header
 delitto.top: could not connect to host
 deliver.moe: could not connect to host
 deliverance.co.uk: could not connect to host
-delivery.co.at: could not connect to host
+delivery.co.at: did not receive HSTS header
 deliveryiquique.cl: could not connect to host
 delkniga42.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+dellipaoli.com: could not connect to host
 deltaconcepts.de: did not receive HSTS header
 deltasmart.ch: did not receive HSTS header
-deltna.com: did not receive HSTS header
 deluxecccam.tv: could not connect to host
 delvickokolo.me: did not receive HSTS header
 delvj.org: could not connect to host
@@ -8870,7 +9874,7 @@ demo.sb: could not connect to host
 demoakasafe2.tk: could not connect to host
 democracy.io: did not receive HSTS header
 democraticdifference.com: could not connect to host
-demolandia.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+demoserv.fr: could not connect to host
 demotops.com: could not connect to host
 demuzere.com: could not connect to host
 demuzere.eu: could not connect to host
@@ -8879,46 +9883,51 @@ demuzere.org: could not connect to host
 dengchangdong.com: did not receive HSTS header
 denh.am: could not connect to host
 denimio.com: did not receive HSTS header
-denisjean.fr: did not receive HSTS header
+denisjean.fr: could not connect to host
+denissealatinsoul.com: could not connect to host
 dennispotter.eu: did not receive HSTS header
 densmirnov.com: max-age too low: 7776000
+dent.uy: could not connect to host
 dental-misaki.com: did not receive HSTS header
 dentaldomain.org: did not receive HSTS header
 dentaldomain.ph: did not receive HSTS header
 dentals.cf: could not connect to host
 dentanestplus.com: did not receive HSTS header
 dentoncounty.gov: did not receive HSTS header
-denuevestore.com: could not connect to host
 denvercybersecurity.com: did not receive HSTS header
 denverphilharmonic.org: did not receive HSTS header
 denverprophit.us: did not receive HSTS header
+deonlinespecialist.nl: did not receive HSTS header
 depaddestoeltjes.be: did not receive HSTS header
 deped.blog: could not connect to host
 deped.io: could not connect to host
 deped.org: could not connect to host
-depedclub.ph: could not connect to host
 depedncr.com: could not connect to host
 depedshs.com: could not connect to host
+depedtalks.com: could not connect to host
 depedtambayan.org.ph: could not connect to host
 depedtayo.com: could not connect to host
 deperewi.gov: did not receive HSTS header
 depijl-mz.nl: did not receive HSTS header
+depilacioncon.com: could not connect to host
 depixion.agency: could not connect to host
 deplorablesdaily.com: could not connect to host
 deployitwith.me: did not receive HSTS header
 depo.space: did not receive HSTS header
+depoker.top: could not connect to host
 depot-leipzig.de: did not receive HSTS header
 depth-co.jp: could not connect to host
+depuratori.milano.it: could not connect to host
 dequehablamos.es: could not connect to host
-der-stein-fluesterer.de: could not connect to host
+der-stein-fluesterer.de: did not receive HSTS header
 derango.tk: could not connect to host
 derbyshiredotnet.co.uk: did not receive HSTS header
+derbyware.com: could not connect to host
 derchris.me: could not connect to host
 derechosdigitales.org: did not receive HSTS header
-dereddingsklos.nl: did not receive HSTS header
 derivativeshub.pro: could not connect to host
 derive.cc: could not connect to host
-derk-jan.com: did not receive HSTS header
+derk-jan.com: could not connect to host
 derma-expert.eu: did not receive HSTS header
 dermacarecomplex.com: could not connect to host
 dermo-concept.de: did not receive HSTS header
@@ -8929,20 +9938,23 @@ derstulle.de: could not connect to host
 derwaldschrat.net: did not receive HSTS header
 derwolfe.net: did not receive HSTS header
 desarrollowp.com: did not receive HSTS header
+descargarwhatsappplusgratis.net: could not connect to host
 descartes-finance.com: did not receive HSTS header
+desert-maroc.com: did not receive HSTS header
 desgenst.ch: could not connect to host
 desiccantpackets.com: did not receive HSTS header
 design-fu.com: did not receive HSTS header
 design-production.jp: did not receive HSTS header
 designandmore.it: did not receive HSTS header
 designanyware.com.br: could not connect to host
-designdevs.eu: did not receive HSTS header
+designartepublicidad.com: could not connect to host
+designdevs.eu: could not connect to host
 designedbygeniuses.com: could not connect to host
 designepublicidade.com.br: did not receive HSTS header
-designgears.com: could not connect to host
 designhotel-kronjuwel.de: did not receive HSTS header
 designsbykerrialee.co.uk: did not receive HSTS header
 designthinking.or.jp: did not receive HSTS header
+deskguide.info: did not receive HSTS header
 desktopgoldlink.com: did not receive HSTS header
 deskvip.com: could not connect to host
 desmo.gg: could not connect to host
@@ -8951,10 +9963,10 @@ desportvriendenoverijse.tk: could not connect to host
 despotika.de: could not connect to host
 desserteagleselvenar.tk: could not connect to host
 desterman.ru: could not connect to host
+destileria.net.br: could not connect to host
 destinationbijoux.fr: could not connect to host
 destinationsofnewyorkstate.com: did not receive HSTS header
 destinattorneyjohngreene.com: did not receive HSTS header
-destinfloor.com: could not connect to host
 destinopiriapolis.com: did not receive HSTS header
 destinoytarot.com: did not receive HSTS header
 destom.be: could not connect to host
@@ -8967,7 +9979,7 @@ dethikiemtra.com: did not receive HSTS header
 deti-vse.ml: could not connect to host
 detiks.cf: could not connect to host
 detoxic.vn: could not connect to host
-detoxsinutritie.ro: did not receive HSTS header
+detoxsinutritie.ro: could not connect to host
 detrapdoor.com: could not connect to host
 detroitrocs.org: did not receive HSTS header
 detski.center: could not connect to host
@@ -8976,8 +9988,10 @@ detuprovincia.cl: did not receive HSTS header
 detusmascotas.com: could not connect to host
 detutorial.com: max-age too low: 36000
 detyamobuv.tk: could not connect to host
+deuchnord.fr: could not connect to host
 deusu.de: did not receive HSTS header
-deusu.org: could not connect to host
+deusu.org: did not receive HSTS header
+deutsche-seniorenbetreuung.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 deux.solutions: could not connect to host
 deuxmetrescubes.fr: did not receive HSTS header
 deuxsol.co: could not connect to host
@@ -8993,17 +10007,18 @@ dev-sev-web.pantheonsite.io: [Exception... "Component returned failure code: 0x8
 dev-talk.eu: could not connect to host
 dev-talk.net: could not connect to host
 devafterdark.com: could not connect to host
-devapi.pro: could not connect to host
+devapi.pro: did not receive HSTS header
 devb.nl: could not connect to host
 devcu.com: could not connect to host
 devcu.net: could not connect to host
 devdesco.com: could not connect to host
 devdoodle.net: could not connect to host
 develop.fitness: could not connect to host
+develope.cz: could not connect to host
 developer.mydigipass.com: could not connect to host
 developerfair.com: did not receive HSTS header
 developersclub.website: did not receive HSTS header
-develux.com: could not connect to host
+develux.com: did not receive HSTS header
 devenney.io: did not receive HSTS header
 devh.net: could not connect to host
 deviajesturismo.com: could not connect to host
@@ -9015,6 +10030,8 @@ devisnow.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERRO
 devisonline.ch: could not connect to host
 devistravaux.org: did not receive HSTS header
 devkid.net: did not receive HSTS header
+devkiwi.club: could not connect to host
+devklog.net: could not connect to host
 devmsg.com: could not connect to host
 devnsec.com: did not receive HSTS header
 devnull.team: could not connect to host
@@ -9026,37 +10043,46 @@ devops.moe: could not connect to host
 devopsconnected.com: could not connect to host
 devpgsv.com: did not receive HSTS header
 devpsy.info: could not connect to host
+devrandom.net: could not connect to host
 devrim.io: could not connect to host
-devsrvr.ru: could not connect to host
 devstroke.io: could not connect to host
 devtestfan1.gov: could not connect to host
-devtub.com: did not receive HSTS header
+devtub.com: could not connect to host
 devuan.org: did not receive HSTS header
+devun.limited: could not connect to host
 devyn.ca: did not receive HSTS header
 dewebwerf.nl: did not receive HSTS header
 dewin.io: could not connect to host
+dexonrest.azurewebsites.net: could not connect to host
 dezintranet.com: max-age too low: 1
 dezshop24.de: did not receive HSTS header
-df1nif.de: did not receive HSTS header
-df5101.com: did not receive HSTS header
+df3312.com: could not connect to host
+df3313.com: could not connect to host
+df3314.com: could not connect to host
+df3315.com: could not connect to host
+df3316.com: could not connect to host
+df3317.com: could not connect to host
+df3318.com: could not connect to host
+df3319.com: could not connect to host
+df5101.com: could not connect to host
 df5102.com: could not connect to host
-df5103.com: did not receive HSTS header
+df5103.com: could not connect to host
 df5104.com: could not connect to host
-df5105.com: did not receive HSTS header
 df5aa.com: could not connect to host
-df5bb.com: did not receive HSTS header
-df5cc.com: did not receive HSTS header
+df5bb.com: could not connect to host
+df5cc.com: could not connect to host
 df5dd.com: could not connect to host
-df5ee.com: did not receive HSTS header
+df5ee.com: could not connect to host
+df63.cc: could not connect to host
 dfc.gov: did not receive HSTS header
 dfekt.no: could not connect to host
 dfixit.com: could not connect to host
 dfrance.com.br: could not connect to host
 dfviana.com.br: max-age too low: 2592000
+dg68.cc: could not connect to host
 dg7.in: did not receive HSTS header
-dgblaw.com.au: could not connect to host
-dgby.org: did not receive HSTS header
-dggm.ru: could not connect to host
+dgby.org: could not connect to host
+dggm.ru: did not receive HSTS header
 dggwp.de: did not receive HSTS header
 dh6729.com: could not connect to host
 dh9397.com: could not connect to host
@@ -9064,6 +10090,7 @@ dh9721.com: could not connect to host
 dharamkot.com: could not connect to host
 dharma.ai: did not receive HSTS header
 dhbr.org: did not receive HSTS header
+dhde.de: did not receive HSTS header
 dhl-smart.ch: could not connect to host
 dhlcotizadorexpo-qa.azurewebsites.net: could not connect to host
 dhpcs.com: did not receive HSTS header
@@ -9071,9 +10098,9 @@ dhpiggott.net: did not receive HSTS header
 dhtr.pw: could not connect to host
 dhub.xyz: could not connect to host
 dhxxls.com: could not connect to host
-di2pra.com: could not connect to host
+di2pra.com: did not receive HSTS header
 di2pra.fr: could not connect to host
-diabetesblog.org: did not receive HSTS header
+diabetesblog.org: could not connect to host
 diablotine.rocks: could not connect to host
 diabolic.chat: could not connect to host
 diadorafitness.es: could not connect to host
@@ -9085,21 +10112,21 @@ diagrammingoutloud.co.uk: did not receive HSTS header
 dialect-agency.eu.org: could not connect to host
 dialectic-og.com: could not connect to host
 diamondcare.com.br: could not connect to host
-diamondgrid.ga: could not connect to host
+diamondgrid.ga: did not receive HSTS header
 diamondpkg.org: could not connect to host
 diamondt.us: could not connect to host
-diamsmedia.ch: could not connect to host
 dianafaraj.de: did not receive HSTS header
 dianlujitao.com: did not receive HSTS header
 diannaobos.com: did not receive HSTS header
-dianpi.net: did not receive HSTS header
+dianpi.net: could not connect to host
 dianurse.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 diare-na-miru.cz: could not connect to host
-diasp.cz: did not receive HSTS header
+diariorp.com.br: did not receive HSTS header
+diasp.cz: could not connect to host
 diavo.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dicando.com: could not connect to host
 diccionarioabierto.com: could not connect to host
-diceduels.com: did not receive HSTS header
+diceduels.com: could not connect to host
 dicgaming.net: could not connect to host
 dichgans-besserer.de: did not receive HSTS header
 dichvudangkygiayphep.com: could not connect to host
@@ -9108,71 +10135,85 @@ dickord.club: could not connect to host
 diconnex.com: did not receive HSTS header
 didigotoffer.com: could not connect to host
 didikhari.web.id: did not receive HSTS header
+didtrumpopengovernmentyet.com: could not connect to host
 die-besten-bewertungen.de: did not receive HSTS header
 die-besten-weisheiten.de: could not connect to host
-die-blahuts.de: could not connect to host
 die-bobbeloase.com: could not connect to host
+die-speisekammer-reutlingen.de: could not connect to host
 dieb.photo: could not connect to host
 diedrich.me: could not connect to host
 diegobarrosmaia.com.br: could not connect to host
+diegogonzalez.com.co: could not connect to host
 diegotoledo.com.br: did not receive HSTS header
-diejanssens.net: did not receive HSTS header
+diejanssens.net: could not connect to host
 diemogebhardt.com: did not receive HSTS header
-dierencompleet.nl: did not receive HSTS header
+diepanhcare.com: did not receive HSTS header
 dierenkruiden.nl: did not receive HSTS header
 dieser.me: could not connect to host
 dieta-figura.tk: could not connect to host
+dietaanticelulitica.com: could not connect to host
+dietaanticelulitis.com: could not connect to host
 dietacelulitis.com: could not connect to host
+dietafeliz.com: could not connect to host
 dietagespresse.com: did not receive HSTS header
 dietervandenbroeck.be: max-age too low: 0
 diewebstube.de: could not connect to host
 diezel.com: could not connect to host
 diff2html.xyz: did not receive HSTS header
-difusordeambientes.com.br: could not connect to host
-digaxtest.com: did not receive HSTS header
+digaxtest.com: could not connect to host
 diggable.co: did not receive HSTS header
 digibild.ch: did not receive HSTS header
 digibones.be: did not receive HSTS header
 digicert-support.com: could not connect to host
 digicert.nl: did not receive HSTS header
-digidroom.be: did not receive HSTS header
-digihyp.ch: did not receive HSTS header
+digiepoxypaint.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+digihyp.ch: could not connect to host
 digikol.net: could not connect to host
 digimomedia.co.uk: could not connect to host
 diginota.com: did not receive HSTS header
 digipitch.com: did not receive HSTS header
+digipl.com: could not connect to host
 digired.xyz: could not connect to host
-digitai.net: could not connect to host
 digital-muscle.com.au: did not receive HSTS header
 digital1world.com: could not connect to host
 digitalbank.kz: could not connect to host
 digitalcash.cf: could not connect to host
 digitalcloud.ovh: could not connect to host
+digitalcoffeepodcast.com: could not connect to host
 digitalcuko.com: did not receive HSTS header
 digitaldaddy.net: could not connect to host
+digitaldaily.de: did not receive HSTS header
 digitaldashboard.gov: could not connect to host
+digitaldatacenter.net: could not connect to host
 digitalero.rip: did not receive HSTS header
 digitalewelten.de: could not connect to host
 digitalexhale.com: did not receive HSTS header
 digitalezukunft-hagen.de: could not connect to host
 digitalezukunft.nrw: could not connect to host
 digitalfishfun.com: did not receive HSTS header
+digitalgyan.org: did not receive HSTS header
 digitalimpostor.co.uk: could not connect to host
 digitaljungle.net: did not receive HSTS header
 digitallocker.com: did not receive HSTS header
 digitalmaniac.co.uk: could not connect to host
+digitalmarketingindallas.com: could not connect to host
 digitalnonplus.com: could not connect to host
 digitalquery.com: did not receive HSTS header
 digitalroar.com: could not connect to host
 digitalrxcloud.com: could not connect to host
+digitalspiders.pk: could not connect to host
 digitaltechnologies.ltd.uk: did not receive HSTS header
 digitalwasteland.net: did not receive HSTS header
+digitiqo.com: could not connect to host
 digitise.io: did not receive HSTS header
-diguass.us: did not receive HSTS header
+digixcellence.com: could not connect to host
+diguass.us: could not connect to host
+dijkmanvandoorn.nl: did not receive HSTS header
 dijks.com: could not connect to host
 dikshant.net: could not connect to host
-dilichen.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+dildosconsoladores.cl: could not connect to host
 dillynbarber.com: could not connect to host
+diluv.com: could not connect to host
 dim.lighting: could not connect to host
 dimdom.com.br: did not receive HSTS header
 dimensionen.de: did not receive HSTS header
@@ -9180,6 +10221,7 @@ dimes.com.tr: did not receive HSTS header
 dimeshop.nl: did not receive HSTS header
 dimseklubben.dk: could not connect to host
 din-tools.com: did not receive HSTS header
+dinamobet2.com: did not receive HSTS header
 dinamoelektrik.com: could not connect to host
 dineachook.com.au: did not receive HSTS header
 dingcc.com: could not connect to host
@@ -9190,18 +10232,23 @@ dinge.xyz: did not receive HSTS header
 dingelbob-schuhcreme.gq: could not connect to host
 dingss.com: could not connect to host
 dinkum.online: could not connect to host
+dino.lol: could not connect to host
 dinotopia.org.uk: could not connect to host
 dinotv.at: could not connect to host
 dintillat.fr: could not connect to host
 dinube.com: could not connect to host
+dioesfoto.com: could not connect to host
 dionysus.se: could not connect to host
 diozoid.com: could not connect to host
 dipconsultants.com: could not connect to host
+dipietro.id.au: could not connect to host
+direct365.es: could not connect to host
 directebanking.com: did not receive HSTS header
 directhskincream.com: could not connect to host
 directinsure.in: did not receive HSTS header
 directme.ga: could not connect to host
 directorinegocis.cat: could not connect to host
+directoriostelefonicos.com: could not connect to host
 directscripts.com: did not receive HSTS header
 directtwo.solutions: could not connect to host
 directtwosolutions.org: could not connect to host
@@ -9210,8 +10257,10 @@ direnv.net: did not receive HSTS header
 diretashop.com: could not connect to host
 direwolfsoftware.ca: could not connect to host
 dirips.com: did not receive HSTS header
+dirk-scheele.de: max-age too low: 2592000
 dirtcraft.ca: could not connect to host
 dirtycat.ru: could not connect to host
+disabledporn.com: could not connect to host
 disavow.tools: did not receive HSTS header
 discha.net: did not receive HSTS header
 disciplesmakingdisciples.ca: could not connect to host
@@ -9225,22 +10274,23 @@ discountmania.eu: did not receive HSTS header
 discountmetaux.fr: did not receive HSTS header
 discover-mercure.com: could not connect to host
 discoveringdocker.com: could not connect to host
-discovermuscatine.com: did not receive HSTS header
 discoverrsv.com: could not connect to host
 discoverwellness.center: could not connect to host
 discovery.lookout.com: did not receive HSTS header
 discoveryottawa.ca: could not connect to host
 discoveryrom.org: could not connect to host
 discreet-condooms.nl: did not receive HSTS header
+disinfestazionizanzare.milano.it: could not connect to host
+disinfestazionizanzare.roma.it: could not connect to host
 dislocated.de: did not receive HSTS header
 disorderboutique.com: did not receive HSTS header
 dispatchitsolutions.com: could not connect to host
 dispatchitsolutions.io: could not connect to host
 disruptivelabs.net: could not connect to host
 disruptivelabs.org: could not connect to host
-dissidence.ovh: could not connect to host
 dissident.host: could not connect to host
 dissimulo.me: could not connect to host
+distiduffer.org: could not connect to host
 distinctdesign2009.com: could not connect to host
 distinctivephotography.com.au: could not connect to host
 distinguishedwindows.co.uk: did not receive HSTS header
@@ -9248,26 +10298,29 @@ distraction.gov: could not connect to host
 distractionco.de: did not receive HSTS header
 distributednya.com: could not connect to host
 distrilogservices.com: could not connect to host
-distrishow.fr: could not connect to host
+distrishow.fr: did not receive HSTS header
+distrivalle.ec: did not receive HSTS header
 ditch.ch: could not connect to host
-ditelbat.com: max-age too low: 300
 ditrutoancau.vn: could not connect to host
 dittvertshus.no: could not connect to host
-div.im: did not receive HSTS header
 diva-ey.com: could not connect to host
+divedowntown.com: did not receive HSTS header
 divegearexpress.com.cn: could not connect to host
 divegearexpress.net: could not connect to host
 divenwa.com: could not connect to host
+diver-equipment.eu: could not connect to host
 diversity-spielzeug.de: did not receive HSTS header
 divertiagua.com.br: could not connect to host
+dividendz.net: could not connect to host
 divinemercyparishvlds.com: did not receive HSTS header
+divisasexpress.com: did not receive HSTS header
 divistart.online: did not receive HSTS header
 divorcelawyersformen.com: did not receive HSTS header
 divvi.co.nz: did not receive HSTS header
 divvymonkey.com: could not connect to host
 divvyradio.com: could not connect to host
 dixi.fi: did not receive HSTS header
-dixi.ml: did not receive HSTS header
+dixi.ml: could not connect to host
 dixiediner.com: did not receive HSTS header
 dixmag.com: could not connect to host
 diygod.me: did not receive HSTS header
@@ -9278,56 +10331,61 @@ dizorg.net: could not connect to host
 dizzie.org: could not connect to host
 dizzieforums.com: could not connect to host
 dj16888.com: could not connect to host
-dj16888a.com: did not receive HSTS header
-dj16888b.com: did not receive HSTS header
-dj16888c.com: did not receive HSTS header
-dj16888d.com: did not receive HSTS header
+dj16888a.com: could not connect to host
+dj16888b.com: could not connect to host
+dj16888c.com: could not connect to host
+dj16888d.com: could not connect to host
 dj4et.de: could not connect to host
 djangogolf.com: could not connect to host
-djeung.org: could not connect to host
-djfafafa.com: did not receive HSTS header
-djiconsulting.com: did not receive HSTS header
+djdavid98.hu: did not receive HSTS header
+djeung.org: did not receive HSTS header
+djfafafa.com: could not connect to host
 djieno.com: did not receive HSTS header
+djl63.com: could not connect to host
+djl63001.com: could not connect to host
 djlive.pl: did not receive HSTS header
 djroynomden.nl: could not connect to host
+djsanonimo.com: could not connect to host
 djt-vom-chausseehaus.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 djul.net: could not connect to host
 djursland-psykologen.dk: did not receive HSTS header
-djvip1.com: could not connect to host
-djvip10.com: could not connect to host
-djvip2.com: could not connect to host
-djvip3.com: could not connect to host
-djvip4.com: could not connect to host
-djvip5.com: could not connect to host
-djvip6.com: could not connect to host
-djvip7.com: could not connect to host
-djvip9.com: could not connect to host
+djvip1.com: did not receive HSTS header
+djvip10.com: did not receive HSTS header
+djvip2.com: did not receive HSTS header
+djvip3.com: did not receive HSTS header
+djvip4.com: did not receive HSTS header
+djvip5.com: did not receive HSTS header
+djvip6.com: did not receive HSTS header
+djvip7.com: did not receive HSTS header
+djvip9.com: did not receive HSTS header
 djxmmx.net: did not receive HSTS header
-djz4music.com: did not receive HSTS header
+djz4music.com: could not connect to host
+dk1818.cc: could not connect to host
 dkniss.de: could not connect to host
 dko-steiermark.ml: could not connect to host
-dktq2hj81vknv.cloudfront.net: could not connect to host
+dktq2hj81vknv.cloudfront.net: did not receive HSTS header
 dl.google.com: did not receive HSTS header (error ignored - included regardless)
 dlabouncycastlehire.co.uk: could not connect to host
 dlbouncers.co.uk: could not connect to host
 dlc.viasinc.com: could not connect to host
 dlcwilson.com: could not connect to host
+dleger.space: could not connect to host
 dlemper.de: did not receive HSTS header
 dlld.biz: could not connect to host
-dlld.info: could not connect to host
+dlld.info: did not receive HSTS header
 dlouwrink.nl: could not connect to host
 dlrsp.org: could not connect to host
 dlyanxs.com: did not receive HSTS header
 dlyaribalki.tk: could not connect to host
 dlyl888.com: could not connect to host
 dm1.in: could not connect to host
-dm4productions.com: could not connect to host
-dmarketer.com: did not receive HSTS header
+dmarketer.com: could not connect to host
 dmcastles.com: could not connect to host
 dmcglobaltravel.com.mx: did not receive HSTS header
 dmcibulldog.com: did not receive HSTS header
 dmdre.com: did not receive HSTS header
 dmeevalumate.com: did not receive HSTS header
+dmerkel.de: did not receive HSTS header
 dmess.ru: could not connect to host
 dmfd.net: could not connect to host
 dmix.ca: did not receive HSTS header
@@ -9337,10 +10395,8 @@ dmschilderwerken.nl: did not receive HSTS header
 dmtry.me: max-age too low: 0
 dmwall.cn: could not connect to host
 dmx.xyz: could not connect to host
-dmxledlights.com: could not connect to host
 dmz.ninja: could not connect to host
 dmzlab.se: could not connect to host
-dn42.eu: did not receive HSTS header
 dnastatic.com: did not receive HSTS header
 dndesign.be: did not receive HSTS header
 dne.lu: did not receive HSTS header
@@ -9352,19 +10408,21 @@ dnsbird.net: could not connect to host
 dnsbird.org: could not connect to host
 dnscrypt.org: did not receive HSTS header
 dnsge.org: did not receive HSTS header
-dnsinfo.ml: could not connect to host
+dnsinfo.ml: did not receive HSTS header
 dnsknowledge.com: did not receive HSTS header
 dnspod.ml: could not connect to host
 dnsql.io: could not connect to host
 dnswarden.com: could not connect to host
-dnzz123.com: could not connect to host
-do-do.tk: could not connect to host
+dnzz123.com: did not receive HSTS header
+do-do.tk: did not receive HSTS header
 do-it.cz: did not receive HSTS header
 doadaybook.com: did not receive HSTS header
 doak.io: did not receive HSTS header
+doanhnhankhanhhoa.vn: did not receive HSTS header
 doanhnhanplus.vn: max-age too low: 0
 dobet.in: could not connect to host
 dobrev.family: could not connect to host
+dobryautoskup.pl: did not receive HSTS header
 dobsnet.net: did not receive HSTS header
 doc-baza.tk: could not connect to host
 doc-justice.com: did not receive HSTS header
@@ -9381,10 +10439,11 @@ docnhanh.vn: could not connect to host
 docogo.ga: could not connect to host
 docs.re: did not receive HSTS header
 docset.io: could not connect to host
+docskiff.com: did not receive HSTS header
 docsoc.org.uk: did not receive HSTS header
+doctabaila.com: could not connect to host
 doctorbini.com: could not connect to host
 doctorsonmaps.com: did not receive HSTS header
-docufiel.com: could not connect to host
 doculus.io: could not connect to host
 documentations-sociales.com: could not connect to host
 docupet.com: did not receive HSTS header
@@ -9403,17 +10462,19 @@ doge.me: did not receive HSTS header
 doge.town: could not connect to host
 dogeboy.com: could not connect to host
 dogespeed.ga: could not connect to host
-dogfi.sh: did not receive HSTS header
+dogfi.sh: could not connect to host
 dogft.com: could not connect to host
 doggieholic.net: could not connect to host
-doggybag-committee.com: could not connect to host
+doggybag-committee.com: did not receive HSTS header
+dogma.it: could not connect to host
 dognlife.com: did not receive HSTS header
 dogoodbehappyllc.com: could not connect to host
 dogprograms.net: could not connect to host
+dogrockresorts.com: did not receive HSTS header
 dohosting.ru: could not connect to host
 dojifish.space: could not connect to host
 dojin.nagoya: could not connect to host
-dokan-e.com: could not connect to host
+dokan-e.com: did not receive HSTS header
 dokan.online: could not connect to host
 doked.io: could not connect to host
 dokspot.cf: could not connect to host
@@ -9424,30 +10485,36 @@ dolarcanadense.com.br: could not connect to host
 dolce-vita-mia.tk: could not connect to host
 doleta.gov: did not receive HSTS header
 dolevik.com: could not connect to host
+dollarrp.pl: could not connect to host
 dollarstore24.com: could not connect to host
 dollywiki.co.uk: could not connect to host
+dolmenejecutores.com: could not connect to host
 dolphin-cloud.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dolphin-hosting.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dolphin-it.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-dolphincorp.co.uk: could not connect to host
+dolphincorp.co.uk: did not receive HSTS header
 dolt.xyz: did not receive HSTS header
 dom-medicina.ru: did not receive HSTS header
-domain-swiss.ch: could not connect to host
 domaine-aigoual-cevennes.com: did not receive HSTS header
 domainelaremejeanne.com: did not receive HSTS header
 domainhacks.io: could not connect to host
 domainhostingcompany.tk: could not connect to host
+domainname.forsale: could not connect to host
 domains.autos: did not receive HSTS header
 domains.boats: did not receive HSTS header
 domains.homes: did not receive HSTS header
 domains.motorcycles: did not receive HSTS header
 domains.yachts: did not receive HSTS header
-domaris.de: could not connect to host
+domainvoider.cf: could not connect to host
+domaris.de: did not receive HSTS header
 domasazu.pl: did not receive HSTS header
+domashnij-pk.ru: could not connect to host
+domashnijpk.ru: could not connect to host
 domeconseil.fr: could not connect to host
 domen-reg.ru: could not connect to host
 domengrad.ru: could not connect to host
 domenicocatelli.com: could not connect to host
+dominicanosenpr.com: could not connect to host
 dominik-schlueter.de: could not connect to host
 dominikanskarepubliken.guide: could not connect to host
 dominikkulaga.pl: max-age too low: 1
@@ -9464,9 +10531,10 @@ domquixoteepi.com.br: did not receive HSTS header
 domy-drewniane-kanadyjskie.pl: did not receive HSTS header
 don.yokohama: could not connect to host
 donateway.com: did not receive HSTS header
-dondiabolo.com: could not connect to host
+donation.ph: could not connect to host
 donetsk24.su: did not receive HSTS header
 dong8.top: could not connect to host
+dongcdn.com: could not connect to host
 donghochinhhang.store: could not connect to host
 dongjingre.net: could not connect to host
 donhoward.org: did not receive HSTS header
@@ -9486,6 +10554,8 @@ donna-bellini-fotografie-stuttgart.de: did not receive HSTS header
 donna-bellini-fotografie-wien.de: did not receive HSTS header
 donna-bellini-hochzeitsfotograf-frankfurt.de: did not receive HSTS header
 donna-bellini-hochzeitsfotograf-muenchen.de: did not receive HSTS header
+donnacha.blog: could not connect to host
+donotcall.gov: did not receive HSTS header
 donotspampls.me: could not connect to host
 donovand.info: could not connect to host
 donpaginasweb.com: did not receive HSTS header
@@ -9496,9 +10566,10 @@ donzool.es: could not connect to host
 doobydude.us: could not connect to host
 doodledraw.ninja: could not connect to host
 dooku.cz: could not connect to host
-doomleika.com: did not receive HSTS header
+doolz.co.nz: did not receive HSTS header
+doomleika.com: could not connect to host
 doooonoooob.com: could not connect to host
-doopdidoop.com: did not receive HSTS header
+doopdidoop.com: could not connect to host
 door.cards: could not connect to host
 dopetrue.com: could not connect to host
 dopfer-fenstertechnik.de: did not receive HSTS header
@@ -9507,17 +10578,19 @@ doppenpost.nl: could not connect to host
 dopply.com: did not receive HSTS header
 dopravni-modely.cz: did not receive HSTS header
 dora.cat: could not connect to host
-dorianmuthig.com: could not connect to host
-doriginal.es: did not receive HSTS header
+dorco.be: did not receive HSTS header
+dorde.eu: could not connect to host
+doridian.net: could not connect to host
+doriginal.es: could not connect to host
 dorkfarm.com: did not receive HSTS header
 dormebebe.com.br: did not receive HSTS header
 dormkitty.com: could not connect to host
 dorquelle.com: could not connect to host
 dortmund.directory: could not connect to host
 dosdediez.com: did not receive HSTS header
-dosenbierrepublik.com: could not connect to host
 dosipe.com: could not connect to host
 doska.kz: did not receive HSTS header
+dosomeworks.biz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dostavkakurierom.ru: could not connect to host
 dostrece.net: did not receive HSTS header
 dosyanet.tk: could not connect to host
@@ -9525,7 +10598,7 @@ dot.ro: could not connect to host
 dota2huds.com: did not receive HSTS header
 dotadata.me: could not connect to host
 dotb.dn.ua: did not receive HSTS header
-dotbrick.co.th: could not connect to host
+dotbrick.co.th: did not receive HSTS header
 dotconnor.com: did not receive HSTS header
 dotkod.com: could not connect to host
 dotnetsandbox.ca: could not connect to host
@@ -9554,8 +10627,9 @@ download.jitsi.org: did not receive HSTS header
 downloadhindimovie.net: could not connect to host
 downloadhindimovies.net: could not connect to host
 downsouthweddings.com.au: did not receive HSTS header
-downthe.pub: could not connect to host
 downtimerobot.com: could not connect to host
+downtownstevenspoint.org: did not receive HSTS header
+downtownvernon.com: did not receive HSTS header
 doxcelerate.com: could not connect to host
 doyoulyft.com: could not connect to host
 dozor.gq: could not connect to host
@@ -9565,6 +10639,7 @@ dprd-wonogirikab.go.id: max-age too low: 36000
 dpsart.it: could not connect to host
 dpucarriersma.gov: could not connect to host
 dq12321.com: max-age too low: 0
+dr-bodendorf.de: did not receive HSTS header
 dr-it.co.uk: did not receive HSTS header
 dr-jakob-zahnaerzte.de: did not receive HSTS header
 dr-krebs.net: did not receive HSTS header
@@ -9573,7 +10648,6 @@ drabben.be: did not receive HSTS header
 drabbin.com: could not connect to host
 dracon.es: did not receive HSTS header
 dracoon.cloud: did not receive HSTS header
-dracula.city: could not connect to host
 drafton.com: could not connect to host
 drageeparadise.fr: did not receive HSTS header
 draghive.asia: could not connect to host
@@ -9602,24 +10676,25 @@ dralexjimenez.com: did not receive HSTS header
 dranktoomuchlastnight.com: did not receive HSTS header
 drastosasports.com.br: did not receive HSTS header
 drawchan.org: could not connect to host
+drawingcode.net: could not connect to host
 drbarnabus.com: could not connect to host
 drbethanybarnes.com: did not receive HSTS header
 drchristinehatfield.ca: max-age too low: 0
-drcp.tokyo: did not receive HSTS header
 drdavidgilpin.com: did not receive HSTS header
 drdevil.ru: could not connect to host
 drdim.ru: could not connect to host
+drdripplumbingsydney.com.au: could not connect to host
 dreadbyte.com: could not connect to host
 dreadd.org: could not connect to host
 dreamaholic.club: could not connect to host
 dreamcatcherblog.de: could not connect to host
+dreamcreator108.com: could not connect to host
 dreamersgiftshopec.com: could not connect to host
-dreamhack.com: did not receive HSTS header
 dreaming.solutions: could not connect to host
 dreamithost.com.au: did not receive HSTS header
 dreamkitchenbath.com: did not receive HSTS header
 dreamlighteyeserum.com: could not connect to host
-dreamlinehost.com: did not receive HSTS header
+dreamlinehost.com: could not connect to host
 dreammakerremodelil.com: did not receive HSTS header
 dreamonkey.com: did not receive HSTS header
 dreamtechie.com: did not receive HSTS header
@@ -9631,10 +10706,9 @@ dreiweiden.de: could not connect to host
 dreizwosechs.de: could not connect to host
 dresdner-christstollen-von-reimann.de: could not connect to host
 dressify.co: could not connect to host
-drew.red: did not receive HSTS header
+drevanbeale.com: did not receive HSTS header
 drewgle.net: could not connect to host
 drfranciscofonseca.com.br: did not receive HSTS header
-drfrey.ch: could not connect to host
 drfun1.com: could not connect to host
 drgdrp.com: did not receive HSTS header
 drgiyaseddin.com: could not connect to host
@@ -9648,6 +10722,7 @@ dripdoctors.com: did not receive HSTS header
 drishti.guru: could not connect to host
 drive.xyz: could not connect to host
 driver61.com: did not receive HSTS header
+drivercopilot.com: could not connect to host
 drivermototaxi.fr: did not receive HSTS header
 drivewithstatetransit.com.au: did not receive HSTS header
 driving-lessons.co.uk: could not connect to host
@@ -9658,20 +10733,19 @@ drixn.com: did not receive HSTS header
 drixn.info: could not connect to host
 drixn.net: could not connect to host
 drjenafernandez.com: did not receive HSTS header
-drjobs.com.au: did not receive HSTS header
-drkmtrx.xyz: did not receive HSTS header
+drjobs.com.au: could not connect to host
 drlazarina.net: did not receive HSTS header
 drlutfi.com: did not receive HSTS header
 drobniuch.pl: max-age too low: 2592000
 drogoz.moe: could not connect to host
-droidboss.com: did not receive HSTS header
-droidim.com: did not receive HSTS header
+droidboss.com: could not connect to host
 droidwave.com: did not receive HSTS header
 droidwiki.de: could not connect to host
 droithxn.com: could not connect to host
-droncentrum.pl: did not receive HSTS header
+droncentrum.pl: could not connect to host
 dronebotworkshop.com: did not receive HSTS header
 dronexpertos.com: could not connect to host
+droobedu.com: did not receive HSTS header
 droomhuis-in-brielle-kopen.nl: could not connect to host
 droomhuis-in-de-friese-meren-kopen.nl: could not connect to host
 droomhuis-in-delfzijl-kopen.nl: could not connect to host
@@ -9686,41 +10760,52 @@ droomhuis-in-zuid-holland-kopen.nl: could not connect to host
 droomhuisindestadverkopen.nl: could not connect to host
 droomhuisophetplattelandverkopen.nl: could not connect to host
 dropcam.com: did not receive HSTS header
+drost.la: could not connect to host
 drostschocolates.com: did not receive HSTS header
 drpure.pw: could not connect to host
+drpure.top: could not connect to host
 drrodina.com: did not receive HSTS header
 drros.ru: could not connect to host
+drtis.com.br: did not receive HSTS header
 drtroyhendrickson.com: could not connect to host
 drtti.io: could not connect to host
 drturner.com.au: did not receive HSTS header
 drubn.de: did not receive HSTS header
 drugagodba.si: did not receive HSTS header
 drumbandesperanto.nl: could not connect to host
-drump-truck.com: could not connect to host
-drupal123.com: did not receive HSTS header
+drump-truck.com: did not receive HSTS header
+drupal123.com: could not connect to host
 druznek.me: did not receive HSTS header
 druznek.rocks: could not connect to host
 druznek.xyz: could not connect to host
 druzya.store: could not connect to host
 drvr.xyz: could not connect to host
+drweinrach.com: did not receive HSTS header
+drwxr.org: did not receive HSTS header
 drybasement.com: did not receive HSTS header
 drybasementkansas.com: did not receive HSTS header
 drycreekapiary.com: could not connect to host
 ds-christiansen.de: could not connect to host
+ds168.cc: could not connect to host
+ds388.cc: could not connect to host
+dsbmradio.tk: could not connect to host
 dsbrowser.com: did not receive HSTS header
 dsdalismerkezi.com: did not receive HSTS header
 dsdesign.lt: did not receive HSTS header
 dse-assessments.co.uk: did not receive HSTS header
 dshiv.io: could not connect to host
-dsmnet.org: did not receive HSTS header
+dsi7.com: could not connect to host
 dsmstainlessproducts.co.uk: did not receive HSTS header
-dsne.com.mx: did not receive HSTS header
+dsne.com.mx: could not connect to host
 dso-imaging.co.uk: could not connect to host
+dsouzamusic.com: could not connect to host
 dssale.com: did not receive HSTS header
-dstat.cc: did not receive HSTS header
-dstvinstallalberton.co.za: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-dstvinstallfourways.co.za: did not receive HSTS header
-dstvinstallrandburg.co.za: could not connect to host
+dstvinstallalberton.co.za: did not receive HSTS header
+dstvinstalledenvale.co.za: did not receive HSTS header
+dstvinstallglenvista.co.za: did not receive HSTS header
+dstvinstalljohannesburg.co.za: did not receive HSTS header
+dstvinstallrandburg.co.za: did not receive HSTS header
+dstvrandburg.co.za: did not receive HSTS header
 dsyunmall.com: could not connect to host
 dt27.org: did not receive HSTS header
 dtcp8.com: could not connect to host
@@ -9729,9 +10814,12 @@ dtechstore.com.br: did not receive HSTS header
 dtk-vom-chausseehaus.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dtpak.cz: max-age too low: 0
 dtub.co: could not connect to host
-dualascent.com: did not receive HSTS header
+dtune.me: could not connect to host
 dualias.xyz: could not connect to host
 duama.top: could not connect to host
+dubai-company.ae: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+dubaieveningsafari.com: did not receive HSTS header
+dubaire.com: could not connect to host
 dubaosheng.com: could not connect to host
 dubik.su: did not receive HSTS header
 dubrovnik-dental.clinic: did not receive HSTS header
@@ -9740,21 +10828,22 @@ duchateaugyn.be: did not receive HSTS header
 duchyoffeann.com: could not connect to host
 ducius.net: could not connect to host
 duckasylum.com: did not receive HSTS header
-duckeight.win: did not receive HSTS header
 duckyubuntu.tk: could not connect to host
 ducohosting.com: did not receive HSTS header
+dudesunderwear.com.br: could not connect to host
 duelsow.eu: could not connect to host
 duelysthub.com: could not connect to host
-duerls.de: did not receive HSTS header
+duerls.de: could not connect to host
 duerlund-falkenberg.dk: could not connect to host
 dugnet.tech: could not connect to host
 dui805.com: did not receive HSTS header
 dujsq.com: could not connect to host
-dujsq.top: did not receive HSTS header
+dujsq.top: could not connect to host
 dukec.me: could not connect to host
 dukefox.com: did not receive HSTS header
+dukesatqueens.com: did not receive HSTS header
 duks.com.br: could not connect to host
-dullsir.com: did not receive HSTS header
+dullsir.com: could not connect to host
 dumbdemo.com: could not connect to host
 dumbfunded.co.uk: max-age too low: 0
 dumbomove.com.au: did not receive HSTS header
@@ -9766,30 +10855,31 @@ dundalkdonnie.com: could not connect to host
 dune.io: did not receive HSTS header
 dunea.nl: did not receive HSTS header
 dunesadventure.net: could not connect to host
-dung-massage.fr: could not connect to host
+dungbui.net: could not connect to host
 dunloptrade.com: did not receive HSTS header
 duo.money: could not connect to host
 duocircle.com: did not receive HSTS header
 duole30.com: could not connect to host
-duonganhtuan.com: did not receive HSTS header
+duoluodeyu.com: could not connect to host
+duonganhtuan.com: could not connect to host
 duongpho.com: did not receive HSTS header
+dupree.pe: could not connect to host
 durangoenergyllc.com: could not connect to host
 durchblick-shop.de: could not connect to host
 durexwinkel.nl: could not connect to host
+durmatest.com: could not connect to host
 duroterm.ro: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 dushu.cat: could not connect to host
 duskopy.top: could not connect to host
 dusnan.com: could not connect to host
 dustycloth.com: could not connect to host
 dustyro.se: could not connect to host
-dutabisniz.com: did not receive HSTS header
 dutchdare.nl: did not receive HSTS header
 dutchrank.com: did not receive HSTS header
 dutyfreeonboard.com: could not connect to host
 duuu.ch: could not connect to host
 dverisochi.ru: did not receive HSTS header
 dvotx.org: did not receive HSTS header
-dw-loewe.de: could not connect to host
 dwbtoftshit.com: did not receive HSTS header
 dwellstudio.com: did not receive HSTS header
 dwhd.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -9797,21 +10887,25 @@ dwienzek.de: did not receive HSTS header
 dwilawyer.pro: did not receive HSTS header
 dwnld.me: could not connect to host
 dworekhetmanski.pl: did not receive HSTS header
+dwword.com: did not receive HSTS header
+dx2o.com: could not connect to host
 dy1d.com: could not connect to host
 dycem-ns.com: did not receive HSTS header
-dycoa.com: did not receive HSTS header
 dycontrol.de: could not connect to host
-dylanscott.com.au: did not receive HSTS header
+dylancl.cf: did not receive HSTS header
 dylanwise.net: could not connect to host
 dyn-nserve.net: could not connect to host
 dynamic-innovations.net: could not connect to host
 dynamic-networks.be: could not connect to host
-dynamicsnetwork.net: could not connect to host
+dynamictostatic.com: could not connect to host
 dynamicyou.co.uk: could not connect to host
 dynamize.solutions: did not receive HSTS header
 dynamo.city: did not receive HSTS header
 dynastyredzone.com: could not connect to host
-dyyn.de: could not connect to host
+dyrvigs.de: did not receive HSTS header
+dyxe.me: could not connect to host
+dyxe.xyz: could not connect to host
+dyz.pw: could not connect to host
 dz6729.com: could not connect to host
 dz6957.com: could not connect to host
 dzi.wtf: could not connect to host
@@ -9824,77 +10918,85 @@ dzyabchenko.com: could not connect to host
 e-apack.com.br: could not connect to host
 e-aut.net: could not connect to host
 e-baraxolka.ru: could not connect to host
-e-beyond.de: could not connect to host
-e-biografias.net: could not connect to host
 e-boekhouden.nl: could not connect to host
+e-businessexpert.com: did not receive HSTS header
 e-deca2.org: did not receive HSTS header
 e-fishing.tk: could not connect to host
 e-gemeinde.at: could not connect to host
 e-hon.link: did not receive HSTS header
-e-imzo.uz: did not receive HSTS header
+e-imzo.uz: could not connect to host
 e-informatyk.tk: could not connect to host
 e-isfa.eu: did not receive HSTS header
 e-kontakti.fi: did not receive HSTS header
+e-labo.works: did not receive HSTS header
+e-lifetechnology.com: could not connect to host
 e-mak.eu: could not connect to host
 e-migration.ch: could not connect to host
+e-nanum.kr: could not connect to host
 e-newshub.com: could not connect to host
 e-oscar-web.net: did not receive HSTS header
 e-peets.tk: could not connect to host
 e-planetelec.fr: did not receive HSTS header
 e-pokupki.eu: did not receive HSTS header
 e-rickroll-r.pw: could not connect to host
-e-sa.com: could not connect to host
+e-sa.com: did not receive HSTS header
+e-surety.net: could not connect to host
 e-surveillant.nl: did not receive HSTS header
+e-sw.co.jp: did not receive HSTS header
 e-teacher.pl: did not receive HSTS header
 e-vau.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 e-vo-linka.cz: could not connect to host
 e-wishlist.net: could not connect to host
 e-yachts.tk: could not connect to host
-e00228.com: could not connect to host
+e007.com: did not receive HSTS header
 e024.org: could not connect to host
 e11even.nl: did not receive HSTS header
 e191.com: could not connect to host
-e30365.com: did not receive HSTS header
 e30gruppe.com: did not receive HSTS header
 e365.vip: could not connect to host
 e3amn2l.com: could not connect to host
-e3kids.com: could not connect to host
-e3leading.com: did not receive HSTS header
-e3leading.solutions: did not receive HSTS header
-e3leadingsolutions.com: did not receive HSTS header
-e3learning.institute: did not receive HSTS header
+e3kids.com: did not receive HSTS header
+e3leading.com: could not connect to host
+e3leading.solutions: could not connect to host
+e3leadingsolutions.com: could not connect to host
+e3learning.institute: could not connect to host
 e3li.org: did not receive HSTS header
-e4metech.com: did not receive HSTS header
+e4metech.com: could not connect to host
 e505.net: could not connect to host
 e51888.com: could not connect to host
 e5197.co: could not connect to host
+e53888.com: could not connect to host
+e53888.net: could not connect to host
+e64.com: could not connect to host
 e6729.co: could not connect to host
 e6729.com: did not receive HSTS header
 e6957.co: could not connect to host
 e6957.com: did not receive HSTS header
 e6ex.com: did not receive HSTS header
+e81365.com: did not receive HSTS header
+e81818.com: did not receive HSTS header
+e82365.com: did not receive HSTS header
 e899365.com: could not connect to host
 e9297.co: could not connect to host
-e9397.com: could not connect to host
-e9721.com: could not connect to host
+e9397.com: did not receive HSTS header
 e9728.co: could not connect to host
 e9a.at: could not connect to host
+eac.gov: did not receive HSTS header
 eagle-aluminum.com: did not receive HSTS header
 eagle-yard.de: could not connect to host
 eaglesecurity.com: did not receive HSTS header
-ealadel.com: could not connect to host
+eagletechz.com.br: could not connect to host
 eam-gmbh.com: did not receive HSTS header
 eames-clayton.us: could not connect to host
 earga.sm: could not connect to host
 earlybirdsnacks.com: could not connect to host
 earlydocs.com: could not connect to host
-earlyimage.com.au: could not connect to host
+earlyimage.com.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 earn.wiki: could not connect to host
 earth-people.org: could not connect to host
 earthrise16.com: could not connect to host
 earthsgoldmine.com: did not receive HSTS header
 easelforart.com: could not connect to host
-easew.com: could not connect to host
 east-line.su: could not connect to host
 eastcoastbubbleandbounce.co.uk: could not connect to host
 eastcoastinflatables.co.uk: could not connect to host
@@ -9905,21 +11007,20 @@ eastpeoria-il.gov: could not connect to host
 easy-factures.fr: could not connect to host
 easy-prono.fr: did not receive HSTS header
 easychiller.org: could not connect to host
-easycontentplan.com: could not connect to host
 easycosmetic.de: did not receive HSTS header
 easyenrollment.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 easykonto.de: did not receive HSTS header
 easymun.com: could not connect to host
-easyocm.hu: did not receive HSTS header
 easyoutdoor.nl: could not connect to host
 easypaymentnow.com: did not receive HSTS header
 easyplane.it: could not connect to host
+easyproperty.com: did not receive HSTS header
 easyqr.codes: could not connect to host
 easyreal.ru: could not connect to host
 easyrents.com.ng: did not receive HSTS header
 easysimplecrm.com: could not connect to host
 easyssl.com.cn: did not receive HSTS header
-easytechsecurity.com: could not connect to host
+easytechsecurity.com: did not receive HSTS header
 eat-the-world.ch: could not connect to host
 eat4happiness.com: did not receive HSTS header
 eatfitoutlet.com.br: could not connect to host
@@ -9936,11 +11037,10 @@ ebecs.com: did not receive HSTS header
 ebene-bpo.com: did not receive HSTS header
 ebenvloedaanleggen.nl: could not connect to host
 ebertek.com: did not receive HSTS header
-ebiografias.com.br: could not connect to host
+eblog.com.au: did not receive HSTS header
 ebolsa.com.br: could not connect to host
 ebolsas.com.br: did not receive HSTS header
 ebooklaunchers.com: could not connect to host
-ebooksgratuits.org: could not connect to host
 ebooktoan.com: did not receive HSTS header
 ebop.ch: could not connect to host
 ebp2p.com: could not connect to host
@@ -9949,7 +11049,8 @@ ebrowz.com: could not connect to host
 ec-baran.de: could not connect to host
 eca.edu.au: did not receive HSTS header
 ecacollege.nsw.edu.au: did not receive HSTS header
-ecake.in: could not connect to host
+ecake.in: did not receive HSTS header
+ecalculator.org: could not connect to host
 ecc-kaufbeuren.de: could not connect to host
 ecclesia-koeln.de: did not receive HSTS header
 eccux.com: could not connect to host
@@ -9957,19 +11058,21 @@ ecelembrou.ovh: could not connect to host
 ecfs.link: could not connect to host
 ecfunstalls.com: could not connect to host
 ecg.fr: could not connect to host
+echatta.net: did not receive HSTS header
+echatta.org: did not receive HSTS header
 echi.pw: could not connect to host
-echipstore.com: could not connect to host
+echipstore.com: did not receive HSTS header
 echo.cc: could not connect to host
 echoactive.com: max-age too low: 7776000
 echomall.cn: could not connect to host
-echomanchester.net: did not receive HSTS header
+echomanchester.net: could not connect to host
 echoteam.gq: could not connect to host
 echoteen.com: did not receive HSTS header
 echtes-hutzelbrot.de: could not connect to host
-echtgeld-casinos.de: could not connect to host
 eckro.com: did not receive HSTS header
 eclanet.ca: could not connect to host
 ecliptic.cc: could not connect to host
+ecmeshltd.com: did not receive HSTS header
 eco-wiki.com: could not connect to host
 ecobrain.be: max-age too low: 0
 ecoder.co: did not receive HSTS header
@@ -9978,12 +11081,12 @@ ecole-en-danger.fr: could not connect to host
 ecole-iaf.fr: could not connect to host
 ecole-maternelle-saint-joseph.be: could not connect to host
 ecologikashop.com: could not connect to host
-ecomlane.com: could not connect to host
+ecomlane.com: did not receive HSTS header
 ecommercestore.net.br: could not connect to host
 ecomparemo.com: did not receive HSTS header
 ecompen.co.za: could not connect to host
 econativa.pt: could not connect to host
-economic-sanctions.com: could not connect to host
+economicinclusion.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 economy.st: could not connect to host
 economycarrentalscyprus.com: could not connect to host
 econverter.cloud: did not receive HSTS header
@@ -9991,8 +11094,9 @@ ecorus.eu: did not receive HSTS header
 ecoskif.ru: could not connect to host
 ecosoftconsult.com: could not connect to host
 ecosystemmanager.azurewebsites.net: did not receive HSTS header
-ecotaxi2airport.com: could not connect to host
+ecotaxi2airport.com: did not receive HSTS header
 ecotechnologyti.com: did not receive HSTS header
+ecoterramedia.com: did not receive HSTS header
 ecotruck-pooling.com: did not receive HSTS header
 ecp.ae: did not receive HSTS header
 ecredits-dev-app-backoffice01.azurewebsites.net: could not connect to host
@@ -10001,6 +11105,7 @@ ecrimex.net: did not receive HSTS header
 ectora.com: could not connect to host
 ecuinformacion.com: could not connect to host
 ecupcafe.com: could not connect to host
+ecuteam.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ed-matters.org: did not receive HSTS header
 ed4becky.net: did not receive HSTS header
 edakoe.ru: did not receive HSTS header
@@ -10008,6 +11113,7 @@ edati.lv: could not connect to host
 edcphenix.tk: could not connect to host
 eddmixpanel.com: could not connect to host
 eddy-vh.com: could not connect to host
+eddy.ee: did not receive HSTS header
 edeka-jbl-treueaktion.de: could not connect to host
 edelblack.ch: could not connect to host
 edelsteincosmetic.com: did not receive HSTS header
@@ -10016,12 +11122,11 @@ eden-mobility.co.uk: did not receive HSTS header
 eden-noel.at: could not connect to host
 edenaya.com: could not connect to host
 edenvaleplumber24-7.co.za: did not receive HSTS header
-edenvalerubbleremovals.co.za: did not receive HSTS header
-edge-cloud.net: could not connect to host
 edgecustomersportal.com: could not connect to host
 edgedynasty.com: could not connect to host
+edgefantasy.com: could not connect to host
 edgereinvent.com: could not connect to host
-edgevelder.com: did not receive HSTS header
+edgevelder.com: could not connect to host
 edilane.com: could not connect to host
 edilane.de: could not connect to host
 edisonchee.com: did not receive HSTS header
@@ -10033,9 +11138,11 @@ edk.com.tr: did not receive HSTS header
 edoss.co.za: did not receive HSTS header
 edpubs.gov: could not connect to host
 edsh.de: did not receive HSTS header
+edsinet.com: could not connect to host
 eduard-dopler.de: could not connect to host
 eduardnikolenko.com: could not connect to host
 eduardnikolenko.ru: could not connect to host
+edubras.com.br: did not receive HSTS header
 educaid.be: did not receive HSTS header
 educatio.tech: could not connect to host
 educationalstage.com: did not receive HSTS header
@@ -10049,10 +11156,13 @@ educnum.fr: did not receive HSTS header
 educourse.ga: could not connect to host
 eduif.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 edumi.com: did not receive HSTS header
+edumundo.nl: did not receive HSTS header
 edupool.in: could not connect to host
 edusantorini.com: could not connect to host
+eduschedule.org: did not receive HSTS header
 edusitios.com: could not connect to host
 eduvance.in: did not receive HSTS header
+eduxpert.in: did not receive HSTS header
 edv-bv.de: did not receive HSTS header
 edvinaspaliskis.lt: did not receive HSTS header
 edwar.do: did not receive HSTS header
@@ -10065,8 +11175,8 @@ ee6729.co: could not connect to host
 ee6729.com: did not receive HSTS header
 ee6957.co: could not connect to host
 ee9297.co: could not connect to host
-ee9397.com: could not connect to host
-ee9721.com: could not connect to host
+ee9397.com: did not receive HSTS header
+ee9721.com: did not receive HSTS header
 ee9728.co: could not connect to host
 eeb98.com: could not connect to host
 eecs388.org: did not receive HSTS header
@@ -10091,18 +11201,19 @@ eerlijktransport.nl: could not connect to host
 eesistumine2017.ee: could not connect to host
 eez.ee: could not connect to host
 efa-football.com: did not receive HSTS header
+efeen.nl: did not receive HSTS header
 eff-bee-eye.de: did not receive HSTS header
 effectiveosgi.com: could not connect to host
 effer.me: could not connect to host
-effero.net: did not receive HSTS header
+effero.net: could not connect to host
 efficienthealth.com: could not connect to host
 effizienta.ch: did not receive HSTS header
-efflam.net: could not connect to host
 efg-darmstadt.de: did not receive HSTS header
-eftcorp.biz: did not receive HSTS header
+efreet.xyz: could not connect to host
 eftelingcraft.net: could not connect to host
+eftopia.org: could not connect to host
 efzh2so1cuskp9j3evlqa1m68id-m9p1tzb05zo.com: did not receive HSTS header
-egamespw.com: did not receive HSTS header
+egamespw.com: could not connect to host
 eganassociates.com.au: did not receive HSTS header
 egbert.net: max-age too low: 3600
 egfl.org.uk: did not receive HSTS header
@@ -10113,13 +11224,14 @@ egicloud.com: did not receive HSTS header
 egit.co: could not connect to host
 eglek.com: could not connect to host
 ego-world.org: could not connect to host
-egoroof.ru: did not receive HSTS header
 egumenita.ro: did not receive HSTS header
 egupova.ru: did not receive HSTS header
+ehandel.com: did not receive HSTS header
+ehb-sec-ward.be: could not connect to host
 ehdud8451.gq: could not connect to host
 ehdud8451.tk: could not connect to host
 ehealthcounselor.com: could not connect to host
-ehealthfest.com: did not receive HSTS header
+ehealthfest.com: could not connect to host
 ehertz.uk: could not connect to host
 ehipaadev.com: could not connect to host
 ehito.ovh: could not connect to host
@@ -10138,19 +11250,20 @@ eidolons.org: could not connect to host
 eifel.website: could not connect to host
 eiga-movie.com: max-age too low: 0
 eigenbubi.de: could not connect to host
+eightyfour.ca: could not connect to host
 eigo.work: did not receive HSTS header
 eika.as: did not receive HSTS header
 eilandprojectkeukens.nl: could not connect to host
-einfachmaldiefressehalten.de: could not connect to host
+einaros.is: could not connect to host
+einfachmaldiefressehalten.de: did not receive HSTS header
 einhorn.space: could not connect to host
 einmonolog.de: could not connect to host
-einquiz.de: did not receive HSTS header
+einquiz.de: could not connect to host
 einsatzstiefel.info: could not connect to host
 einsit.com: could not connect to host
 einsitapis.com: could not connect to host
 einsteincapital.ca: could not connect to host
 eipione.com: could not connect to host
-eisblau.org: could not connect to host
 eismaschine-vergleich.de: did not receive HSTS header
 eitler.cx: max-age too low: 7776000
 ejeff.org: did not receive HSTS header
@@ -10162,10 +11275,12 @@ ekawaiishop.com: could not connect to host
 ekbanden.nl: did not receive HSTS header
 ekeblock.com: could not connect to host
 ekobudisantoso.net: could not connect to host
+ekocleaningllc.com: could not connect to host
 ekodevices.com: did not receive HSTS header
 ekole.shop: could not connect to host
 ekong366.com: could not connect to host
 ekostrateg.com: did not receive HSTS header
+ekpj.jp: could not connect to host
 ekpyroticfrood.net: did not receive HSTS header
 ekrana.info: could not connect to host
 eksik.com: could not connect to host
@@ -10176,8 +11291,11 @@ elan-organics.com: did not receive HSTS header
 elanguest.pl: could not connect to host
 elanguest.ro: could not connect to host
 elanguest.ru: could not connect to host
+elarvee.xyz: could not connect to host
+elasticshift.com: could not connect to host
 elaxy-online.de: could not connect to host
 elbaal.gov: did not receive HSTS header
+elbaladshop.com: did not receive HSTS header
 elblein.de: did not receive HSTS header
 elchamandelaprosperidad.org: could not connect to host
 elcontadorsac.com: could not connect to host
@@ -10195,11 +11313,13 @@ electricalcontrolpanels.co.uk: did not receive HSTS header
 electricalpacificpalisades.com: could not connect to host
 electricant.com: did not receive HSTS header
 electricant.nl: did not receive HSTS header
-electricfencebenoni.co.za: could not connect to host
-electricfencesandton.co.za: did not receive HSTS header
+electricgatemotorsberea.co.za: did not receive HSTS header
+electricgatemotorsbluff.co.za: did not receive HSTS header
+electricgatemotorsqueensburgh.co.za: did not receive HSTS header
 electrician-umhlanga.co.za: did not receive HSTS header
 electricianforum.co.uk: did not receive HSTS header
 electricianpacificpalisades.com: could not connect to host
+electricianrandburg24-7.co.za: did not receive HSTS header
 electricianumhlangarocks.co.za: did not receive HSTS header
 electricienasnieres.fr: could not connect to host
 electricoperaduo.com: did not receive HSTS header
@@ -10209,6 +11329,7 @@ electronicbub.com: did not receive HSTS header
 eled.io: could not connect to host
 elefandt.com: did not receive HSTS header
 elefantevoador.com: could not connect to host
+elejordemarketingconsultancy.com: could not connect to host
 elektro-collee.de: did not receive HSTS header
 elektromotor.tk: could not connect to host
 elektronische-post.org: did not receive HSTS header
@@ -10222,43 +11343,54 @@ elenag.ga: could not connect to host
 elenagherta.ga: could not connect to host
 elenoon.ir: did not receive HSTS header
 elenorsmadness.org: could not connect to host
-eleonorengland.com: did not receive HSTS header
+elephpant.cz: max-age too low: 3600
+elettricisti.roma.it: could not connect to host
+elettrodomestici.roma.it: could not connect to host
 elevateandprosper.com: could not connect to host
-elevationcreative.net: could not connect to host
 elevationfilms.net: could not connect to host
 elevator.ee: could not connect to host
+elexel.ru: could not connect to host
 elgacien.de: could not connect to host
 elhall.pro: did not receive HSTS header
 elhall.ru: did not receive HSTS header
 elia.cloud: could not connect to host
-elias-nicolas.com: did not receive HSTS header
+elias-nicolas.com: could not connect to host
+eliasojala.me: did not receive HSTS header
+eliaswendt.com: did not receive HSTS header
+eliaswendt.de: did not receive HSTS header
+eliav.tk: could not connect to host
 elib.com: did not receive HSTS header
-elielaloum.com: could not connect to host
-elimdengelen.com: did not receive HSTS header
+elielaloum.com: did not receive HSTS header
+elijahzawesome.casa: did not receive HSTS header
+elimdengelen.com: could not connect to host
 eliminercellulite.com: could not connect to host
 eliolita.com: could not connect to host
 elisechristie.com: could not connect to host
 elite-box.com: did not receive HSTS header
 elite-box.org: did not receive HSTS header
 elitebike.com.co: could not connect to host
+elitebouncingfun.com: did not receive HSTS header
 elitecovering.fr: did not receive HSTS header
-elitedangerous.wiki: did not receive HSTS header
+elitedangerous.wiki: could not connect to host
 elitefishtank.com: could not connect to host
 elitehosting.de: did not receive HSTS header
 elitenutritionoficial.com: could not connect to host
 elitepaintingsa.com.au: did not receive HSTS header
-elitesensual.com.br: could not connect to host
+elitesensual.com.br: did not receive HSTS header
 eliyah.co.il: did not receive HSTS header
 elizabethgreenfield.com: could not connect to host
 ell-net.tokyo: could not connect to host
 ellbusiness.com: could not connect to host
+elliesbouncers.co.uk: could not connect to host
 elliff.net: did not receive HSTS header
 elliotgluck.com: could not connect to host
 elliriehl.at: did not receive HSTS header
 elmar-kraamzorg.nl: did not receive HSTS header
 elna-service.com.ua: did not receive HSTS header
+elnan.do: could not connect to host
 elnoorandelmohanad.com: did not receive HSTS header
 elnutricionista.es: could not connect to host
+elo-rocket.com: could not connect to host
 elo.fyi: could not connect to host
 elodieclerc.ch: could not connect to host
 elohellp.com: could not connect to host
@@ -10273,17 +11405,21 @@ elpado.de: did not receive HSTS header
 elpaseadordeperros.com: could not connect to host
 elpay.kz: could not connect to host
 elpo.xyz: could not connect to host
+elradix.be: could not connect to host
+elri.blog: could not connect to host
 elsagradocoran.org: could not connect to host
 elsamakhin.com: could not connect to host
+elsanoguera.com: did not receive HSTS header
 elsemanario.com: did not receive HSTS header
 elsitar.com: could not connect to host
 elsword.moe: could not connect to host
 eltagroup.co.uk: did not receive HSTS header
-eltonpastilha.me: could not connect to host
+eltair.com: could not connect to host
 eltransportquevolem.org: could not connect to host
 eltrox.me: could not connect to host
 elucron.com: could not connect to host
-eluft.de: did not receive HSTS header
+eluft.de: could not connect to host
+eluvio.com: could not connect to host
 elvcino.com: could not connect to host
 elvidence.com.au: did not receive HSTS header
 elxsi.de: did not receive HSTS header
@@ -10296,9 +11432,11 @@ emailalaperformance.fr: could not connect to host
 emailcontrol.nl: did not receive HSTS header
 emailfuermich.de: did not receive HSTS header
 emailing.alsace: could not connect to host
+emailtemporal.org: could not connect to host
 emailtools.io: could not connect to host
 emanatepixels.com: could not connect to host
 emanga.su: could not connect to host
+emanol.co.uk: could not connect to host
 emanuela-gabriela.co.uk: did not receive HSTS header
 emasex.com: did not receive HSTS header
 emavok.eu: could not connect to host
@@ -10309,19 +11447,22 @@ embroidered-stuff.com: could not connect to host
 embudospro.net: could not connect to host
 emcentrix-com-site-mvc.azurewebsites.net: could not connect to host
 emeldi-commerce.com: max-age too low: 0
+emeraldcbdshop.com: could not connect to host
 emeraldcoastrideshare.com: did not receive HSTS header
-emeraldonion.org: did not receive HSTS header
+emeraldonion.org: could not connect to host
 emergeandsee.com: did not receive HSTS header
+emergencyessay.com: did not receive HSTS header
 emergencymedicinefoundations.com: did not receive HSTS header
+emergencyshutoff.com: could not connect to host
 emergentvisiontec.com: did not receive HSTS header
 emergenzalavoro.com: did not receive HSTS header
-emero.de: did not receive HSTS header
 emesolutions.net: did not receive HSTS header
 emi-air-comprime.com: did not receive HSTS header
 emiele.com.br: could not connect to host
 emil-dein-baecker.com: could not connect to host
 emilecourriel.com: could not connect to host
 emiliemunsch.com: did not receive HSTS header
+emilong.com: could not connect to host
 emilreimann.de: could not connect to host
 emils-chemnitz.de: could not connect to host
 emils1910.de: could not connect to host
@@ -10331,9 +11472,8 @@ eminententerprises.io: could not connect to host
 eminhuseynov.com: did not receive HSTS header
 eminovic.me: could not connect to host
 emissary.coffee: did not receive HSTS header
-emivauthey.com: could not connect to host
 emjainteractive.com: did not receive HSTS header
-emjimadhu.com: could not connect to host
+emjimadhu.com: did not receive HSTS header
 emkanrecords.com: did not receive HSTS header
 emkei.cz: did not receive HSTS header
 emma-o.com: could not connect to host
@@ -10342,7 +11482,7 @@ emma.ly: did not receive HSTS header
 emmababy420.com: could not connect to host
 emmable.com: did not receive HSTS header
 emmanuelle-et-julien.ch: could not connect to host
-emmdy.com: did not receive HSTS header
+emmdy.com: could not connect to host
 emmehair.com: did not receive HSTS header
 emnitech.com: could not connect to host
 emo-poris.com: could not connect to host
@@ -10351,23 +11491,28 @@ emoticonesjaponeses.com: did not receive HSTS header
 emotuit.com: did not receive HSTS header
 emperor.blog: could not connect to host
 empese.com: could not connect to host
+empicargo.com: could not connect to host
 empire24.co: could not connect to host
 empireauto-2000.com: could not connect to host
 empleosentorreon.mx: could not connect to host
 empleostampico.com: did not receive HSTS header
 employeestore.org: did not receive HSTS header
+employer.guru: could not connect to host
 emporiovinareal.com.br: could not connect to host
+emporioviverbem.com.br: could not connect to host
 emprendeconchrisfx.com: could not connect to host
 emprendeperuano.com: could not connect to host
-emprunterlivre.ci: did not receive HSTS header
+emprunterlivre.ci: could not connect to host
 empty-r.com: could not connect to host
-emptyadjacentpossible.com: did not receive HSTS header
+emptyadjacentpossible.com: could not connect to host
 emptypath.com: did not receive HSTS header
+emrahcinik.com: did not receive HSTS header
 emsadi.org: could not connect to host
 emtradingacademy.com: could not connect to host
 emulovers.com: could not connect to host
 emupedia.net: did not receive HSTS header
 emyself.info: could not connect to host
+emyself.org: could not connect to host
 en4u.org: could not connect to host
 enaia.fr: did not receive HSTS header
 encadrer-mon-enfant.com: did not receive HSTS header
@@ -10375,15 +11520,17 @@ encens.boutique: did not receive HSTS header
 encode.space: could not connect to host
 encode.uk.com: did not receive HSTS header
 encoder.pw: could not connect to host
+encoderx.uk: could not connect to host
 encontrebarato.com.br: could not connect to host
 encore.io: could not connect to host
 encrypt.org.uk: could not connect to host
-encryptallthethings.net: could not connect to host
+encryptallthethings.net: did not receive HSTS header
 encrypted.google.com: did not receive HSTS header (error ignored - included regardless)
 encryptedaudience.com: could not connect to host
 encryptio.com: could not connect to host
 encryptmycard.com: could not connect to host
 encuentratumueble.com: did not receive HSTS header
+encyclopedia-titanica.org: did not receive HSTS header
 end.pp.ua: could not connect to host
 endangeredwatch.com: could not connect to host
 ende-x.com: could not connect to host
@@ -10399,39 +11546,47 @@ endspamwith.us: could not connect to host
 enecoshop.nl: could not connect to host
 enefan.jp: could not connect to host
 enelacto.com: could not connect to host
-energethik-tulln.at: did not receive HSTS header
+energethik-tulln.at: could not connect to host
 energisammenslutningen.dk: did not receive HSTS header
 energyatlas.com: could not connect to host
 enersaveapp.org: could not connect to host
 enersec.co.uk: could not connect to host
+enerte.ru: could not connect to host
 enfield-kitchens.co.uk: did not receive HSTS header
 enfoqueseguro.com: did not receive HSTS header
 enfu.se: could not connect to host
+engelundlicht.ch: could not connect to host
 engineowning.com: did not receive HSTS header
-enginx.cn: did not receive HSTS header
+enginx.cn: could not connect to host
+enginx.net: could not connect to host
 englandschool.tk: could not connect to host
 englerts.de: did not receive HSTS header
 englishclub.com: did not receive HSTS header
 englishdirectory.de: could not connect to host
 englishyamal.ru: did not receive HSTS header
 engrish.ml: could not connect to host
-enigmacpt.com: did not receive HSTS header
+engym.com.tw: could not connect to host
+enigmacpt.com: could not connect to host
 enigmadjradio.com: could not connect to host
 enigmail.net: did not receive HSTS header
 enijew.com: could not connect to host
-enjin.io: did not receive HSTS header
 enjoymayfield.com: max-age too low: 0
 enjoystudio.ro: did not receive HSTS header
+enlamochiladeadri.com: could not connect to host
 enlatte.com: could not connect to host
 enlazaresbueno.cl: could not connect to host
 enlightened.si: did not receive HSTS header
 enlightenedmind.co: could not connect to host
 enlightenment.org: did not receive HSTS header
 enlightenth.com: did not receive HSTS header
+enlnf.link: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+enloestatebank.com: could not connect to host
+enofmusic.com: could not connect to host
 enomada.net: could not connect to host
 enoou.com: could not connect to host
 enord.fr: did not receive HSTS header
 enpalmademallorca.info: could not connect to host
+enscosupply.com: could not connect to host
 ensemble-vos-idees.fr: did not receive HSTS header
 enskat.de: could not connect to host
 enskatson-sippe.de: could not connect to host
@@ -10442,7 +11597,7 @@ enteente.space: could not connect to host
 enteente.xyz: did not receive HSTS header
 enterclaim.com: did not receive HSTS header
 enterdev.co: did not receive HSTS header
-enteres.eu: did not receive HSTS header
+enteres.eu: could not connect to host
 enterprisecarclub.co.uk: did not receive HSTS header
 enterprisechannel.asia: did not receive HSTS header
 enterprisey.enterprises: could not connect to host
@@ -10452,6 +11607,7 @@ entourneebeetle.com: could not connect to host
 entravex.com: did not receive HSTS header
 entrepreneur.or.id: could not connect to host
 entreprise-toiture-clement.fr: could not connect to host
+entrusted.io: could not connect to host
 enum.eu.org: could not connect to host
 enumify.com: could not connect to host
 envelope.co.nz: did not receive HSTS header
@@ -10465,12 +11621,11 @@ envoutement-desenvoutement.com: did not receive HSTS header
 envoyglobal.com: did not receive HSTS header
 envoyworld.com: could not connect to host
 envygeeks.com: did not receive HSTS header
-envygeeks.io: did not receive HSTS header
 eol34.com: could not connect to host
 eoldb.org: could not connect to host
 eolme.ml: could not connect to host
 eonet.cc: did not receive HSTS header
-eos-classic.io: could not connect to host
+eos-classic.io: did not receive HSTS header
 eosol.services: could not connect to host
 eosol.zone: could not connect to host
 epanurse.com: could not connect to host
@@ -10478,11 +11633,15 @@ epasar.my: could not connect to host
 epaslaugos.lt: did not receive HSTS header
 epave.paris: could not connect to host
 epaygateway.net: could not connect to host
-ephe.be: did not receive HSTS header
+ephe.be: could not connect to host
 ephry.com: could not connect to host
 epicbouncycastlehirenorwich.co.uk: could not connect to host
+epicginger.fi: could not connect to host
 epicmc.games: could not connect to host
+epicpages.com: could not connect to host
 epicsecure.de: could not connect to host
+epicserver.ru: could not connect to host
+epitesz.co: could not connect to host
 epo32.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 eposcloud.net: did not receive HSTS header
 eposmidlands.co.uk: could not connect to host
@@ -10496,9 +11655,9 @@ epossystems.co.uk: could not connect to host
 eposwales.co.uk: could not connect to host
 epoxate.com: did not receive HSTS header
 eprofitacademy.com: did not receive HSTS header
+epsilon.dk: could not connect to host
 epsorting.cz: did not receive HSTS header
 epulsar.ru: could not connect to host
-epvin.com: did not receive HSTS header
 eq8.net.au: could not connect to host
 eqib.nl: did not receive HSTS header
 eqim.me: could not connect to host
@@ -10510,9 +11669,8 @@ equeim.ru: did not receive HSTS header
 equi.ac: could not connect to host
 equilibre-yoga-jennifer-will.com: could not connect to host
 equipeferramentas.com.br: did not receive HSTS header
-equippers.de: did not receive HSTS header
 equipsupply.com: did not receive HSTS header
-equitee.co: did not receive HSTS header
+equitee.co: could not connect to host
 er-music.com: could not connect to host
 erad.fr: did not receive HSTS header
 erclab.kr: could not connect to host
@@ -10523,10 +11681,12 @@ erectiepillenwinkel.nl: did not receive HSTS header
 erepublik-deutschland.de: did not receive HSTS header
 eressea.xyz: could not connect to host
 erevan-news.tk: could not connect to host
+ergoterapeutas.lt: could not connect to host
 ergovitanet.com.br: could not connect to host
 ericbond.net: could not connect to host
 erichalv.com: could not connect to host
 ericisaweso.me: did not receive HSTS header
+ericjohnltd.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ericloud.tk: could not connect to host
 erico.jp: did not receive HSTS header
 ericorporation.com: did not receive HSTS header
@@ -10535,54 +11695,52 @@ ericwie.se: did not receive HSTS header
 ericyl.com: could not connect to host
 eriel.com.br: could not connect to host
 erikserver2.tk: could not connect to host
-erikw.me: could not connect to host
 erikwagner.de: did not receive HSTS header
 eriner.me: could not connect to host
 erinlin.com: did not receive HSTS header
 eriser.fr: could not connect to host
 erixschueler.de: max-age too low: 0
+ermessecurity.com: did not receive HSTS header
 ernaehrungsberatung-rapperswil.ch: did not receive HSTS header
 ernaehrungsberatung-zurich.ch: did not receive HSTS header
 ernesto.at: could not connect to host
-ernsteisprung.ch: could not connect to host
 eroimatome.com: could not connect to host
 eromixx.com: did not receive HSTS header
 eromond.com: did not receive HSTS header
 eroskines.com: could not connect to host
 erotalia.es: could not connect to host
 erotic4me.ch: did not receive HSTS header
+eroticdinners.com: did not receive HSTS header
 eroticforce.com: did not receive HSTS header
 erotische-aanbiedingen.nl: could not connect to host
 erotpo.cz: did not receive HSTS header
 erperium.com: did not receive HSTS header
-erpiv.com: did not receive HSTS header
 errlytics.com: could not connect to host
 errolz.com: could not connect to host
 errors.zenpayroll.com: could not connect to host
 erspro.net: could not connect to host
-eru.me: could not connect to host
 eruvalerts.com: did not receive HSTS header
 erverydown.ml: did not receive HSTS header
-erwinvanlonden.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+erwinvanlonden.net: did not receive HSTS header
 es8888.net: could not connect to host
 es888999.com: could not connect to host
-esailinggear.com: could not connect to host
 esatn.gov: could not connect to host
-esb111.com: could not connect to host
-esb111.net: could not connect to host
-esb112.com: could not connect to host
-esb112.net: could not connect to host
+esb111.com: did not receive HSTS header
+esb111.net: did not receive HSTS header
+esb112.com: did not receive HSTS header
+esb112.net: did not receive HSTS header
 esb116.com: did not receive HSTS header
 esb1314.net: could not connect to host
 esb1668.com: could not connect to host
 esb16888.com: could not connect to host
+esb1788.info: could not connect to host
 esb17888.com: could not connect to host
-esb222.net: could not connect to host
+esb222.net: did not receive HSTS header
 esb555.com: could not connect to host
 esb556.com: could not connect to host
 esb5889.net: did not receive HSTS header
 esb666.com: could not connect to host
-esb666.net: could not connect to host
+esb666.net: did not receive HSTS header
 esb66666.com: could not connect to host
 esb688.com: could not connect to host
 esb68888.com: could not connect to host
@@ -10599,13 +11757,12 @@ esb999.us: could not connect to host
 esba11.cc: could not connect to host
 esba11.in: did not receive HSTS header
 esba11.net: could not connect to host
-esba11.us: could not connect to host
+esba11.us: did not receive HSTS header
 esball.in: could not connect to host
 esball888.com: could not connect to host
 esball888.net: could not connect to host
 esbuilders.co.nz: did not receive HSTS header
 escalate.eu: did not receive HSTS header
-escalesensorielle.com: max-age too low: 604800
 escape2rooms.fr: did not receive HSTS header
 escapees.com: did not receive HSTS header
 escapejoplin.com: did not receive HSTS header
@@ -10614,12 +11771,13 @@ escapessolutions.com: could not connect to host
 escargotbistro.com: did not receive HSTS header
 escolaengenharia.com.br: did not receive HSTS header
 escolibri.com: could not connect to host
-escort-byuro.net: did not receive HSTS header
+escort-byuro.net: could not connect to host
 escort-fashion.com: could not connect to host
 escortaccess.net: could not connect to host
 escortdisplay.com: could not connect to host
 escortlistings.eu: could not connect to host
 escortlistings.fr: could not connect to host
+escortlistings.mx: could not connect to host
 escortlistings.us: could not connect to host
 escortlistingsuk.co.uk: could not connect to host
 escortmantra.com: could not connect to host
@@ -10629,9 +11787,12 @@ escueladego.tk: could not connect to host
 escueladewordpress.com: did not receive HSTS header
 escxtra.com: did not receive HSTS header
 esd.cc: did not receive HSTS header
+esdvfootloose.nl: did not receive HSTS header
 esec.rs: did not receive HSTS header
+esfahanahan.com: did not receive HSTS header
+esh.ink: could not connect to host
 eshepperd.com: did not receive HSTS header
-eshobe.com: could not connect to host
+eshobe.com: did not receive HSTS header
 eshtapay.com: could not connect to host
 eshterry.com: did not receive HSTS header
 esibun.net: could not connect to host
@@ -10647,15 +11808,19 @@ esp-berlin.de: could not connect to host
 esp-desarrolladores.com: could not connect to host
 esp.community: could not connect to host
 esp8285.store: could not connect to host
+espace-gestion.fr: could not connect to host
 espacemontmorency.com: did not receive HSTS header
 espacioantiguo.com: could not connect to host
+espacioprofundo.com.ar: did not receive HSTS header
+espacobebecia.com.br: could not connect to host
 espanolseguros.com: did not receive HSTS header
 espanova.com: did not receive HSTS header
 especificosba.com.mx: could not connect to host
-espenandersen.no: did not receive HSTS header
 esphigmenou.gr: did not receive HSTS header
 espo.com.ua: did not receive HSTS header
-esports-network.de: could not connect to host
+esport-battlefield.com: did not receive HSTS header
+esports-network.de: did not receive HSTS header
+espower.com.sg: could not connect to host
 espra.com: could not connect to host
 espressivo.com.br: did not receive HSTS header
 esprit-cloture.fr: did not receive HSTS header
@@ -10681,14 +11846,19 @@ estateczech-eu.ru: could not connect to host
 estebanborges.com: did not receive HSTS header
 estespr.com: did not receive HSTS header
 estetistarimini.it: did not receive HSTS header
+esthernariyoshi.com: did not receive HSTS header
 esthesoleil.jp: did not receive HSTS header
 estilosapeca.com: could not connect to host
 estland.guide: could not connect to host
 estonia.net: could not connect to host
 estoniantrade.ee: did not receive HSTS header
+estraks.com: could not connect to host
+estrogenfor.me: could not connect to host
 estudio21pattern.com: could not connect to host
 estudioamazonico.com: could not connect to host
+estudiogarcia-rada.com: could not connect to host
 estudiserradal.com: did not receive HSTS header
+esu.moe: could not connect to host
 esu.wiki: could not connect to host
 esu.zone: could not connect to host
 esurety.net: did not receive HSTS header
@@ -10710,6 +11880,7 @@ etdonline.co.uk: did not receive HSTS header
 eteapparel.com: did not receive HSTS header
 etenendrinken.nu: could not connect to host
 eternalflame.cn: could not connect to host
+eternalflame.info: could not connect to host
 eternitylove.us: could not connect to host
 etfacta.com: could not connect to host
 eth-faucet.net: could not connect to host
@@ -10729,6 +11900,7 @@ etherpad.fr: could not connect to host
 ethicalexploiting.com: did not receive HSTS header
 ethicall.org.uk: did not receive HSTS header
 ethicaltek.com: could not connect to host
+ethiobaba.com: could not connect to host
 ethiopiannews247.com: could not connect to host
 ethosinfo.com: could not connect to host
 etidni.help: did not receive HSTS header
@@ -10737,7 +11909,7 @@ etincelle.ml: could not connect to host
 etk2000.com: did not receive HSTS header
 etmirror.top: could not connect to host
 etmirror.xyz: could not connect to host
-etnis.id: did not receive HSTS header
+etni-cidade.net: could not connect to host
 etny.nl: could not connect to host
 etoto.pl: did not receive HSTS header
 etproxy.tech: could not connect to host
@@ -10750,7 +11922,6 @@ etula.ga: could not connect to host
 etula.me: could not connect to host
 etys.no: did not receive HSTS header
 etzi.myds.me: could not connect to host
-euaggelion.blog.br: could not connect to host
 euanbaines.com: did not receive HSTS header
 eucl3d.com: did not receive HSTS header
 euclideanpostulates.xyz: could not connect to host
@@ -10765,7 +11936,7 @@ eupay.de: could not connect to host
 eupbor.com: could not connect to host
 euph.eu: could not connect to host
 eupho.me: could not connect to host
-eupresidency2018.com: did not receive HSTS header
+eupresidency2018.com: could not connect to host
 eurekaarchi.com: could not connect to host
 eurekaarchitecture.com: could not connect to host
 eurekz.com: did not receive HSTS header
@@ -10775,6 +11946,7 @@ euro-servers.de: could not connect to host
 eurocamping.se: could not connect to host
 euroescortguide.com: could not connect to host
 euroman.ga: could not connect to host
+euroonline.org: could not connect to host
 europapier.at: could not connect to host
 europapier.ba: could not connect to host
 europapier.bg: could not connect to host
@@ -10787,21 +11959,19 @@ europapier.rs: could not connect to host
 europapier.si: could not connect to host
 europapier.sk: could not connect to host
 europapier.ua: could not connect to host
+europastudien.de: could not connect to host
 europeanpreppers.com: could not connect to host
-europeantransportmanagement.com: did not receive HSTS header
 euroservice.com.gr: did not receive HSTS header
 euroshop24.net: could not connect to host
-eurospecautowerks.com: did not receive HSTS header
+eurospecautowerks.com: could not connect to host
 eurostrategy.vn.ua: could not connect to host
 eurotime.ua: did not receive HSTS header
 eurotravelstar.eu: did not receive HSTS header
-euteamo.cn: did not receive HSTS header
 eutram.com: did not receive HSTS header
 euvo.tk: could not connect to host
 evaartinger.de: did not receive HSTS header
 evades.io: did not receive HSTS header
 evadifranco.com: did not receive HSTS header
-evalesc.com: did not receive HSTS header
 evaluate.jp: could not connect to host
 evanhandgraaf.nl: did not receive HSTS header
 evankurniawan.com: did not receive HSTS header
@@ -10809,10 +11979,10 @@ evanreev.es: could not connect to host
 evansville-wy.gov: could not connect to host
 evantage.org: could not connect to host
 evantageglobal.com: could not connect to host
-evapp.org: could not connect to host
 evdenevenakliyatankara.pw: could not connect to host
-eve.ac: did not receive HSTS header
+eve.ac: could not connect to host
 eve0s.com: did not receive HSTS header
+evearly.com: did not receive HSTS header
 eveaz.com: did not receive HSTS header
 evecalm.com: did not receive HSTS header
 evedanjailbreak.com: could not connect to host
@@ -10827,7 +11997,7 @@ eventmake.es: could not connect to host
 eventplace.me: did not receive HSTS header
 events12.com: did not receive HSTS header
 eventsafrica.net: could not connect to host
-everitoken.io: did not receive HSTS header
+everichspice.com: could not connect to host
 everlastingoak.de: did not receive HSTS header
 everyarti.st: could not connect to host
 everybodyhertz.co.uk: could not connect to host
@@ -10835,7 +12005,7 @@ everybooks.com: could not connect to host
 everydaygary.com: could not connect to host
 everydayhealthandbeauty.com: could not connect to host
 everydaywot.com: could not connect to host
-everydaywp.com: did not receive HSTS header
+everydaywp.com: could not connect to host
 everyex.com: could not connect to host
 everygayporn.xyz: could not connect to host
 everylab.org: could not connect to host
@@ -10847,6 +12017,7 @@ everyvid.com: did not receive HSTS header
 everywhere.cloud: could not connect to host
 eveseat.net: could not connect to host
 eveshaiwu.com: could not connect to host
+evhoeft.com: could not connect to host
 evi.be: did not receive HSTS header
 evidentiasoftware.com: did not receive HSTS header
 evil-empire.tk: could not connect to host
@@ -10856,26 +12027,24 @@ evilbunnyfufu.com: could not connect to host
 evilcult.me: did not receive HSTS header
 evilized.de: did not receive HSTS header
 evilness.nl: could not connect to host
-evilsay.com: could not connect to host
 evilsite.cf: could not connect to host
 evilvolcanolairs.com: did not receive HSTS header
 evin.ml: did not receive HSTS header
 evio.com: did not receive HSTS header
 evites.me: could not connect to host
 evlann.com: could not connect to host
-evlqa1sp1tzb05zo-reoo0vhj9a1t5pousfudnkg.com: did not receive HSTS header
 evokepk.com: could not connect to host
 evoludis.net: did not receive HSTS header
 evolutionexpeditions.com: did not receive HSTS header
 evolutionsmedicalspa.com: did not receive HSTS header
+evolvicity.org: could not connect to host
 evonews.com: did not receive HSTS header
 evossd.tk: could not connect to host
 evote-ch.ch: could not connect to host
 evowl.com: could not connect to host
-ewaf.club: did not receive HSTS header
+evstatus.com: could not connect to host
 ewallet-optimizer.com: did not receive HSTS header
 ewex.org: could not connect to host
-ewizmo.com: did not receive HSTS header
 ewok.io: could not connect to host
 eworksmedia.com: could not connect to host
 ewout.io: did not receive HSTS header
@@ -10886,29 +12055,36 @@ exaktus.pt: did not receive HSTS header
 examopedia.in: did not receive HSTS header
 example.sc: did not receive HSTS header
 example.wf: did not receive HSTS header
-example4d.com: did not receive HSTS header
+example4d.com: could not connect to host
 examplesu.com: could not connect to host
 examsmate.in: could not connect to host
 excelgum.ca: could not connect to host
 excelhot.com: could not connect to host
+excella.me: could not connect to host
 exceltobarcode.com: could not connect to host
 exceptionalbits.com: could not connect to host
 exceptionalservers.com: could not connect to host
 exceptionalservices.us: could not connect to host
 exchangecoordinator.com: did not receive HSTS header
 exchangeworks.co: did not receive HSTS header
-exciters.tk: could not connect to host
+exciters.tk: did not receive HSTS header
+exclusivecarcare.co.uk: did not receive HSTS header
 exclusivedesignz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 exebouncycastles.co.uk: did not receive HSTS header
+executiveresolutions.co.uk: did not receive HSTS header
 exehack.net: could not connect to host
 exembit.com: did not receive HSTS header
+exemples-de-stands.com: could not connect to host
 exerforge.net: could not connect to host
+exeye.io: could not connect to host
 exfiles.cz: could not connect to host
 exgravitus.com: could not connect to host
 exhaledayspa.com.au: did not receive HSTS header
 exhalespa.com: did not receive HSTS header
+exhibityour.com: did not receive HSTS header
 exno.co: could not connect to host
 exnoobstore.com.br: did not receive HSTS header
+exodiac.ph: could not connect to host
 exoplatform.com: did not receive HSTS header
 exotic-bengal-cattery.ml: could not connect to host
 exousiakaidunamis.pw: could not connect to host
@@ -10918,22 +12094,32 @@ expatriate.pl: did not receive HSTS header
 expecting.com.br: did not receive HSTS header
 experticon.com: did not receive HSTS header
 expertmile.com: did not receive HSTS header
+expertplumbingandsolarservicesbathurst.com.au: could not connect to host
 experts-en-gestion.fr: did not receive HSTS header
-exploflex.com.br: could not connect to host
+exploradora.hu: did not receive HSTS header
 exploravacations.in: could not connect to host
-exploringenderby.com: could not connect to host
+exploringenderby.com: did not receive HSTS header
 explosionstereo.tk: could not connect to host
+expmind.co.in: could not connect to host
+expo-america.ru: did not receive HSTS header
+expo-asia.ru: did not receive HSTS header
 expo-designers.com: could not connect to host
+expo-europe.ru: did not receive HSTS header
 expokohler.com: could not connect to host
+exponentialnews.net: could not connect to host
 expoort.co.uk: could not connect to host
 expoort.com.br: could not connect to host
+expopodium.com: could not connect to host
 exporo.de: did not receive HSTS header
+exposurecompensation.co.uk: could not connect to host
 expoundite.net: did not receive HSTS header
 expowerhps.com: did not receive HSTS header
 expressfinance.co.za: did not receive HSTS header
 expressglobal.org: could not connect to host
+expressvpn.com: did not receive HSTS header
 expresswins.co.uk: could not connect to host
 expromo.pl: did not receive HSTS header
+extasic.com: could not connect to host
 extendwings.com: could not connect to host
 extensiblewebreportcard.org: could not connect to host
 exteriorservices.io: could not connect to host
@@ -10952,6 +12138,7 @@ extremfrank.tk: could not connect to host
 exultcosmetics.co.uk: did not receive HSTS header
 exxo.tk: could not connect to host
 exy.pw: could not connect to host
+eyal-dvorkin.com: could not connect to host
 eyasc.nl: could not connect to host
 eydesignguidelines.com: did not receive HSTS header
 eyeandfire.com: could not connect to host
@@ -10960,13 +12147,16 @@ eyeglassuniverse.com: did not receive HSTS header
 eyemagic.net: did not receive HSTS header
 eyemedica.de: did not receive HSTS header
 eyenote.gov: did not receive HSTS header
-eyes-of-universe.eu: did not receive HSTS header
+eyes-berg.ch: did not receive HSTS header
+eyes-of-universe.eu: could not connect to host
 eyesoccer-didikh.rhcloud.com: could not connect to host
 eyesonly.cc: did not receive HSTS header
 eyrid.com: could not connect to host
 eytosh.net: could not connect to host
 eyyubyilmaz.com: could not connect to host
 ez.fi: could not connect to host
+ez3d.eu: could not connect to host
+ezgamble.com: could not connect to host
 ezimoeko.net: could not connect to host
 ezmod.org: could not connect to host
 eznfe.com: could not connect to host
@@ -10974,6 +12164,7 @@ ezorgportaal.nl: could not connect to host
 ezpzdelivery.com: could not connect to host
 ezrefurb.co.uk: could not connect to host
 eztv.ch: did not receive HSTS header
+ezwritingservice.com: could not connect to host
 ezzhole.net: could not connect to host
 f-be.com: did not receive HSTS header
 f-rickroll-g.pw: could not connect to host
@@ -10982,23 +12173,27 @@ f00.ca: did not receive HSTS header
 f00228.com: could not connect to host
 f1bigpicture.com: could not connect to host
 f2f.cash: could not connect to host
-f30365.com: did not receive HSTS header
 f42.net: could not connect to host
 f5.hk: did not receive HSTS header
 f5197.co: could not connect to host
+f5la.com: did not receive HSTS header
 f5movies.top: could not connect to host
 f5w.de: did not receive HSTS header
 f6729.co: could not connect to host
 f6729.com: did not receive HSTS header
 f6957.co: could not connect to host
 f6957.com: did not receive HSTS header
+f81365.com: did not receive HSTS header
+f81818.com: did not receive HSTS header
+f82365.com: did not receive HSTS header
 f8842.com: could not connect to host
 f886666.com: did not receive HSTS header
 f899365.com: could not connect to host
 f9297.co: could not connect to host
-f9397.com: could not connect to host
-f9721.com: could not connect to host
+f9397.com: did not receive HSTS header
+f9721.com: did not receive HSTS header
 f9728.co: could not connect to host
+fabbro-roma.org: could not connect to host
 faber.io: could not connect to host
 faberusa.com: did not receive HSTS header
 fabhub.io: could not connect to host
@@ -11006,13 +12201,15 @@ fabian-kluge.de: could not connect to host
 fabian-koeppen.de: did not receive HSTS header
 fabianasantiago.com: could not connect to host
 fabianfischer.de: could not connect to host
+fabianfranke.de: did not receive HSTS header
 fabianmunoz.com: did not receive HSTS header
 fabienbaker.com: could not connect to host
-fabrica360.com: did not receive HSTS header
+fabrica360.com: could not connect to host
 fabrikafilmes.com.br: could not connect to host
 fabriko.fr: did not receive HSTS header
 fabriziorocca.com: could not connect to host
-fabrykowski.com: could not connect to host
+fabrykowski.com: did not receive HSTS header
+fabrysociety.org: could not connect to host
 fabulouslyyouthfulskin.com: could not connect to host
 fabulouslyyouthfulskineyeserum.com: could not connect to host
 facadeforum.com: did not receive HSTS header
@@ -11021,11 +12218,13 @@ facebattle.com: did not receive HSTS header
 facebook.ax: could not connect to host
 facebooktsukaikata.net: did not receive HSTS header
 facepalmsecurity.com: could not connect to host
+facepolo.com: could not connect to host
 facepunch.org: could not connect to host
 facerepo.com: could not connect to host
 facesnf.com: could not connect to host
 fachfusspflege-exner.de: could not connect to host
 fachschaft-informatik.de: did not receive HSTS header
+facilitiessurvey.org: could not connect to host
 facilitrak.com: could not connect to host
 fackovcova.cz: could not connect to host
 fackovcova.eu: could not connect to host
@@ -11035,6 +12234,7 @@ fackovec.sk: could not connect to host
 factcool.com: did not receive HSTS header
 factorable.net: did not receive HSTS header
 factoringsolutions.co.uk: did not receive HSTS header
+factory-f.net: did not receive HSTS header
 factorygw.com: did not receive HSTS header
 factorypartsdirect.com: could not connect to host
 factys.do: could not connect to host
@@ -11051,18 +12251,20 @@ fag.wtf: could not connect to host
 fahnamporn.com: could not connect to host
 fahnen-fanwelt.de: did not receive HSTS header
 fail.coach: did not receive HSTS header
+fairbill.com: could not connect to host
 faircom.co.za: did not receive HSTS header
+fairgaming.ml: did not receive HSTS header
 fairkey.dk: did not receive HSTS header
 fairlyoddtreasures.com: did not receive HSTS header
+fairydust.space: could not connect to host
 faisalshuvo.com: did not receive HSTS header
-faithmissionaries.com: did not receive HSTS header
 fakeapple.nl: could not connect to host
 fakeletters.org: could not connect to host
 faktura.pl: did not receive HSTS header
 falaland.com: could not connect to host
 falce.in: could not connect to host
-falcibiosystems.org: did not receive HSTS header
 falcona.io: could not connect to host
+falconfrag.com: could not connect to host
 falconwiz.com: did not receive HSTS header
 falkp.no: did not receive HSTS header
 falkus.net: could not connect to host
@@ -11071,12 +12273,14 @@ fallenangeldrinks.eu: could not connect to host
 fallenangelspirits.uk: could not connect to host
 fallenspirits.co.uk: could not connect to host
 fallingapart.de: did not receive HSTS header
+fallout-craft.ru: could not connect to host
 false.in.net: could not connect to host
 faluninfo.ba: did not receive HSTS header
 famdouma.nl: could not connect to host
 fame-agency.net: could not connect to host
 famep.gov: could not connect to host
 famer.me: could not connect to host
+fameus.fr: could not connect to host
 fameuxhosting.co.uk: could not connect to host
 famfi.co: could not connect to host
 familie-mischak.de: could not connect to host
@@ -11085,9 +12289,11 @@ familie-witzik.eu: could not connect to host
 familie-zimmermann.at: could not connect to host
 familiekiekjes.nl: could not connect to host
 familletouret.fr: did not receive HSTS header
-familytreesbyjackie.com: could not connect to host
+familytreesbyjackie.com: did not receive HSTS header
 famio.cn: could not connect to host
+famososnaweb.com: could not connect to host
 fanclubrbdmaniaromania.tk: could not connect to host
+fancy-bridge.com: could not connect to host
 fander.it: could not connect to host
 fanflow.com: did not receive HSTS header
 fanhouwan.com: did not receive HSTS header
@@ -11096,13 +12302,15 @@ fant.dk: did not receive HSTS header
 fantasticgardenersmelbourne.com.au: did not receive HSTS header
 fantasticpestcontrolmelbourne.com.au: did not receive HSTS header
 fantasycdn.com: could not connect to host
-fantasyfoot.tk: could not connect to host
+fantasyfoot.tk: did not receive HSTS header
 fantasyprojections.com: could not connect to host
 fantasysportsnews.org: could not connect to host
 fantopia.club: could not connect to host
 fanvoice.com: could not connect to host
 fanyl.cn: could not connect to host
+fanyue123.tk: could not connect to host
 fanzhencha.com: could not connect to host
+fanzlive.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 fap.no: could not connect to host
 fapflix.net: did not receive HSTS header
 faq.lookout.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -11118,25 +12326,27 @@ farleymetals.com.au: did not receive HSTS header
 farm-vacations.com: could not connect to host
 farm24.co.uk: could not connect to host
 farmacia.pt: did not receive HSTS header
+farmaciacomunalelacchiarella.it: did not receive HSTS header
 farmaciaformula.com.br: could not connect to host
 farmacialaboratorio.it: did not receive HSTS header
 farmaciamedicom.com.br: did not receive HSTS header
-farmmaximizer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-farmtoys.store: could not connect to host
+farmtoys.store: did not receive HSTS header
 farrel-f.cf: could not connect to host
 farrel-f.id: could not connect to host
 farrel-f.tk: could not connect to host
 farrelf.blog: could not connect to host
-farvisun.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+farthing.xyz: could not connect to host
+farvisun.com: could not connect to host
+farwat.ru: could not connect to host
 fashion-hunters.pl: did not receive HSTS header
-fashion.net: did not receive HSTS header
 fashion4ever.pl: did not receive HSTS header
 fashioncare.cz: did not receive HSTS header
 fashionflavorph.com: could not connect to host
 fashionhijabers.com: could not connect to host
 fashionholic.my: did not receive HSTS header
-fashionoutfits24.com: did not receive HSTS header
-fashworldtrends.com: did not receive HSTS header
+fashionoutfits24.com: could not connect to host
+fashtic.nl: max-age too low: 2592000
+fashworldtrends.com: could not connect to host
 fasset.jp: could not connect to host
 fast-host.net: could not connect to host
 fastaim.de: could not connect to host
@@ -11146,6 +12356,7 @@ fastboyscouts.com: could not connect to host
 fastboyscouts.de: could not connect to host
 fastcomcorp.net: did not receive HSTS header
 fastcp.top: could not connect to host
+fastest-hosting.co.uk: did not receive HSTS header
 fastforwardthemes.com: could not connect to host
 fastograph.com: did not receive HSTS header
 fastopen.ml: could not connect to host
@@ -11154,7 +12365,6 @@ fastwebsites.com.br: did not receive HSTS header
 faszienrollen-info.de: did not receive HSTS header
 fatalerrorcoded.eu: did not receive HSTS header
 fatdoge.cn: did not receive HSTS header
-fateandirony.com: could not connect to host
 fatedata.com: could not connect to host
 fatfueled.com: could not connect to host
 fatgeekflix.net: could not connect to host
@@ -11166,13 +12376,14 @@ fatwin.pw: could not connect to host
 fatzebra.com.au: max-age too low: 0
 fau8.ml: could not connect to host
 faui2k17.de: did not receive HSTS header
-faulty.equipment: could not connect to host
+faulty.equipment: did not receive HSTS header
+favirei.com: did not receive HSTS header
 fawkex.me: did not receive HSTS header
-faxite.com: could not connect to host
+faxite.com: did not receive HSTS header
 faxreader.net: could not connect to host
+fayettecountyoh.gov: could not connect to host
 fayolle.info: did not receive HSTS header
 fbcopy.com: could not connect to host
-fbe.to: could not connect to host
 fbf.gov: did not receive HSTS header
 fbhackpass.com: did not receive HSTS header
 fbi.pw: did not receive HSTS header
@@ -11180,17 +12391,20 @@ fbook.top: could not connect to host
 fbox.li: could not connect to host
 fcapartsdb.com: could not connect to host
 fcarsenal.tk: could not connect to host
+fccarbon.com: could not connect to host
+fcgmd.gov: could not connect to host
 fcitasc.com: could not connect to host
 fckd.net: did not receive HSTS header
 fcp.cn: could not connect to host
 fctwo.download: could not connect to host
-fd020.com: could not connect to host
+fd020.com: did not receive HSTS header
+fdfz.edu.cn: could not connect to host
 fdj.im: could not connect to host
-fdlibre.eu: could not connect to host
 fdn.one: could not connect to host
 fdos.me: could not connect to host
-fdsys.gov: could not connect to host
+fdsys.gov: did not receive HSTS header
 fdt.name: did not receive HSTS header
+feac.us: could not connect to host
 feaden.me: could not connect to host
 feard.space: could not connect to host
 fearghus.org: could not connect to host
@@ -11198,40 +12412,43 @@ fearsomegaming.com: did not receive HSTS header
 featuredmen.com: could not connect to host
 fecik.sk: did not receive HSTS header
 fedbizopps.gov: could not connect to host
-fedemo.top: did not receive HSTS header
 federalregister.gov: did not receive HSTS header
 federicomigliavacca.it: could not connect to host
 federicoparty.it: could not connect to host
 fedn.it: could not connect to host
 fedo.moe: could not connect to host
 fedoramagazine.org: did not receive HSTS header
+fedrtc.org: could not connect to host
 fee-hosting.com: could not connect to host
 feedermarket.net: did not receive HSTS header
 feedstringer.com: could not connect to host
 feedthebot.com: did not receive HSTS header
+feedthefuture.gov: could not connect to host
 feeg-wage.gc.ca: could not connect to host
 feegg.com.br: could not connect to host
+feek.fit: did not receive HSTS header
 feeriedesign-event.com: could not connect to host
 feestbierfusten.nl: could not connect to host
 feezmodo.com: did not receive HSTS header
 fefore.com: did not receive HSTS header
 feg-wge.gc.ca: could not connect to host
 fegans.org.uk: did not receive HSTS header
-fehnladen.de: did not receive HSTS header
+fehnladen.de: could not connect to host
 feirlane.org: could not connect to host
 feisbed.com: did not receive HSTS header
 feist.io: could not connect to host
 feitobrasilcosmeticos.com.br: did not receive HSTS header
 feizhujianzhi.com: did not receive HSTS header
-fejes.house: could not connect to host
 feldmann-stachelscheid.de: did not receive HSTS header
 felger-times.fr: could not connect to host
 felgitscher.xyz: max-age too low: 2592000
 felisslovakia.sk: did not receive HSTS header
 feliwyn.fr: did not receive HSTS header
+felixduart.com: did not receive HSTS header
 felixgenicio.com: did not receive HSTS header
 felixhefner.de: did not receive HSTS header
 felixkauer.de: could not connect to host
+felixklein.com: did not receive HSTS header
 felixrr.pro: could not connect to host
 felsmalerei.net: did not receive HSTS header
 femaex.com.br: did not receive HSTS header
@@ -11244,8 +12461,10 @@ feminists.co: could not connect to host
 femradio.es: did not receive HSTS header
 fence-stlouis.com: could not connect to host
 fengyadi.com: could not connect to host
+fenixhost.com.br: could not connect to host
 fenixportal.eu: did not receive HSTS header
 fenno.net: could not connect to host
+fenriragic.com: did not receive HSTS header
 fensdorf.de: did not receive HSTS header
 fensterbau-mutscheller.de: could not connect to host
 fenteo.com: could not connect to host
@@ -11255,6 +12474,7 @@ fergusoncastle.com: did not receive HSTS header
 feriahuamantla.com: could not connect to host
 ferienwohnungen-lastminute.de: could not connect to host
 fermanacuratampaparts.com: could not connect to host
+fern.health: did not receive HSTS header
 fernangp.com: could not connect to host
 fernseher-kauf.de: could not connect to host
 ferrolatino.com: could not connect to host
@@ -11262,20 +12482,27 @@ feschiyan.com: could not connect to host
 festember.com: did not receive HSTS header
 festerculiacan.com: could not connect to host
 festicle.com: did not receive HSTS header
+festival-transform.fr: could not connect to host
 festival.house: could not connect to host
 festivalxdentro.com: did not receive HSTS header
+festizen.com: could not connect to host
 festrip.com: could not connect to host
 fetclips.se: could not connect to host
 fettbrot.tk: could not connect to host
+fettlaus.de: could not connect to host
 feudaltactics.com: could not connect to host
-feuerfestival.org: could not connect to host
+feuerhuhn.de: could not connect to host
 feuerwehr-dachaufsetzer.de: could not connect to host
 feuerwehr-oberkotzau.de: did not receive HSTS header
+feuerwehrbadwurzach.de: did not receive HSTS header
 fexco.com: did not receive HSTS header
 fexmen.com: could not connect to host
 feyermedia.de: did not receive HSTS header
 ff-bg.xyz: could not connect to host
 ff-getzersdorf.at: did not receive HSTS header
+ff00228.com: could not connect to host
+ff18.cc: could not connect to host
+ff2k.net: could not connect to host
 ff44.net: did not receive HSTS header
 ff5197.co: could not connect to host
 ff6729.co: could not connect to host
@@ -11283,30 +12510,34 @@ ff6729.com: did not receive HSTS header
 ff6957.co: could not connect to host
 ff763.com: could not connect to host
 ff9297.co: could not connect to host
-ff9397.com: could not connect to host
-ff9721.com: could not connect to host
+ff9397.com: did not receive HSTS header
+ff9721.com: did not receive HSTS header
 ff9728.co: could not connect to host
 ffbsee.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ffdhw.com: could not connect to host
-ffh.me: could not connect to host
+ffh.me: did not receive HSTS header
 ffl123.com: did not receive HSTS header
+fflone.com: did not receive HSTS header
 ffsbgateway.com: could not connect to host
-ffta.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 fgafsaneh.ir: did not receive HSTS header
 fgdc.gov: did not receive HSTS header
 fgequipamentos.com.br: did not receive HSTS header
+fh169.cc: could not connect to host
 fh999.com: could not connect to host
-fhbnutrition.com: could not connect to host
+fhbnutrition.com: did not receive HSTS header
 fhcdn.xyz: could not connect to host
 fhg90.com: could not connect to host
+fhm.duckdns.org: did not receive HSTS header
 fhmkh.cn: could not connect to host
 fhsseniormens.club: could not connect to host
 fhyl789.com: could not connect to host
 fhyl888.com: could not connect to host
 fi-sanki.co.jp: could not connect to host
 fialat.cz: could not connect to host
+fiasgo.com: could not connect to host
 fibabanka.com.tr: did not receive HSTS header
-fibroarrendacaseton.mx: could not connect to host
+fibercoverage.com: could not connect to host
+fibrasynormasdecolombia.com: could not connect to host
 ficklenote.net: did not receive HSTS header
 ficlab.com: did not receive HSTS header
 fics-twosigma.com: could not connect to host
@@ -11314,29 +12545,33 @@ ficus.io: could not connect to host
 fid-elite.ch: did not receive HSTS header
 fid.to: could not connect to host
 fidel.uk: did not receive HSTS header
+fidelapp.com: could not connect to host
 fideleslaici.com: did not receive HSTS header
 fidufinance.com: did not receive HSTS header
 fieldclockapp.com: did not receive HSTS header
 fieldtalk.co.uk: could not connect to host
 fiendishmasterplan.com: did not receive HSTS header
+fierlafijn.net: could not connect to host
 fierman.eu: could not connect to host
 fierman.net: could not connect to host
 fierman.us: could not connect to host
 fiestagenial.com: could not connect to host
-fifieldtech.com: could not connect to host
+fifieldtech.com: did not receive HSTS header
 fiftyshadesofluca.ml: could not connect to host
 fig.co: did not receive HSTS header
 fig.ms: could not connect to host
+figan.cz: could not connect to host
 fightr.co: could not connect to host
-figura.cz: did not receive HSTS header
 figura.im: did not receive HSTS header
 figuurzagers.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+fiilr.com: could not connect to host
 fiissh.tech: did not receive HSTS header
 fijnefeestdageneneengelukkignieuwjaar.nl: could not connect to host
+fiken.no: did not receive HSTS header
 fiksel.info: did not receive HSTS header
 fikt.space: could not connect to host
 fil.fi: did not receive HSTS header
-file-cloud.eu: could not connect to host
+filamentia.nl: could not connect to host
 filebox.moe: could not connect to host
 filebox.space: could not connect to host
 filedir.com: did not receive HSTS header
@@ -11345,20 +12580,20 @@ filedropbox.nl: could not connect to host
 fileio.io: could not connect to host
 fileon.com: could not connect to host
 filesense.com: could not connect to host
-filetransfer.one: could not connect to host
 filewall.de: did not receive HSTS header
 filey.co.uk: did not receive HSTS header
 filezilla.cn: did not receive HSTS header
 filhomes.ph: could not connect to host
-fili.org: could not connect to host
+fili.org: did not receive HSTS header
 filiosoft.cloud: did not receive HSTS header
+filipsebesta.com: could not connect to host
 filleritemsindia.com: could not connect to host
 fillitupchallenge.eu: did not receive HSTS header
-fillmysuitca.se: did not receive HSTS header
 film-storyboards.com: did not receive HSTS header
 filme-online.eu.com: could not connect to host
 filmesonline.online: did not receive HSTS header
 filmesubtitrate2017.online: could not connect to host
+filmitis.com: could not connect to host
 filmovizija.mk: did not receive HSTS header
 filmsphoto.com: did not receive HSTS header
 filo.xyz: could not connect to host
@@ -11366,14 +12601,14 @@ filoitoupediou.gr: did not receive HSTS header
 filterflasche-kaufen.de: could not connect to host
 finalgear.com: could not connect to host
 finalprice.net: could not connect to host
-finalvpn.com: did not receive HSTS header
+finalvpn.com: could not connect to host
 finalworkdriesstef.tk: could not connect to host
-financecontrol.tk: did not receive HSTS header
+financecontrol.tk: could not connect to host
 financenews.tk: could not connect to host
 financepark.ch: did not receive HSTS header
 financewithcromulent.com: could not connect to host
 financier.io: did not receive HSTS header
-financieringsportaal.nl: did not receive HSTS header
+financieringsportaal.nl: could not connect to host
 financniexperti.sk: could not connect to host
 finanzkontor.net: could not connect to host
 finchi.de: could not connect to host
@@ -11384,14 +12619,19 @@ findcheapmusic.com: did not receive HSTS header
 findigo.fish: could not connect to host
 findmybottleshop.com.au: could not connect to host
 findmynudes.com: could not connect to host
+findoon.de: could not connect to host
 findthatnude.com: could not connect to host
 findthere.net: could not connect to host
 findtutorsnearme.com: did not receive HSTS header
 findyour.diet: could not connect to host
 fine-services.paris: could not connect to host
 finecraft.cc: could not connect to host
+finelovedolls.com: did not receive HSTS header
 finer04.pw: could not connect to host
+finesoft.ir: could not connect to host
 finesoon.net: could not connect to host
+finethin.com.br: could not connect to host
+finevegashomes.com: did not receive HSTS header
 finfev.de: did not receive HSTS header
 fingent.com: did not receive HSTS header
 fingerscrossed.style: could not connect to host
@@ -11414,7 +12654,7 @@ firebugmusic.com: did not receive HSTS header
 firechip.cc: could not connect to host
 firefall.rocks: could not connect to host
 firefart.at: did not receive HSTS header
-firefly-iii.org: did not receive HSTS header
+firegeisha.com: could not connect to host
 firegore.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 firehost.com: could not connect to host
 fireinthedeep.com: did not receive HSTS header
@@ -11423,27 +12663,29 @@ firemail.io: could not connect to host
 firepeak.ru: could not connect to host
 fireplex.co.uk: could not connect to host
 firesuite.net: did not receive HSTS header
+firevap.org: could not connect to host
 firewallconsultants.com: did not receive HSTS header
 fireworkcoaching.com: did not receive HSTS header
 firexarxa.de: could not connect to host
 firmale.com: could not connect to host
 firmenverzeichnis.nu: could not connect to host
+first-time-offender.com: could not connect to host
 firstchoicepool.com: did not receive HSTS header
 firstdogonthemoon.com.au: did not receive HSTS header
 firstforex.co.uk: did not receive HSTS header
 firstinnovation.co.jp: did not receive HSTS header
+firstinnovationltd.com: could not connect to host
 firstlook.org: did not receive HSTS header
 firstsecurity.cl: did not receive HSTS header
 fischers.it: could not connect to host
 fischers.srv.br: could not connect to host
 fise.cz: did not receive HSTS header
-fishbattle.io: could not connect to host
-fishbattle.net: could not connect to host
 fishermansbend.apartments: could not connect to host
 fishfinders.info: did not receive HSTS header
+fishingplaces.net: did not receive HSTS header
 fishme.in: could not connect to host
-fishserver.net: could not connect to host
 fisiotohome.com: could not connect to host
+fiskelures.se: could not connect to host
 fiskestang.com: did not receive HSTS header
 fistu.la: could not connect to host
 fit-mit-system.eu: did not receive HSTS header
@@ -11453,14 +12695,16 @@ fitchannel.com: did not receive HSTS header
 fitea.cz: could not connect to host
 fitfitup.com: did not receive HSTS header
 fitiapp.com: could not connect to host
+fitinclass.com: did not receive HSTS header
 fitmeat.at: did not receive HSTS header
+fitnesskarate.club: could not connect to host
 fitnesswerk.de: could not connect to host
 fitqbe.com: did not receive HSTS header
 fitrate.site: could not connect to host
 fitseven.ru: did not receive HSTS header
 fitshop.com.br: could not connect to host
 fitsw.com: did not receive HSTS header
-fiuxy.bz: could not connect to host
+fiuxy.bz: did not receive HSTS header
 fiuxy.co: did not receive HSTS header
 fiuxy.me: could not connect to host
 fiuxy.org: could not connect to host
@@ -11469,7 +12713,6 @@ fiveboosts.xyz: could not connect to host
 fiveslice.pizza: did not receive HSTS header
 fivestarsitters.com: did not receive HSTS header
 fivestepfunnels.com: could not connect to host
-fiveyearsahead.com: could not connect to host
 fivezerocreative.com: did not receive HSTS header
 fiws.net: did not receive HSTS header
 fix-the-timeline.com: could not connect to host
@@ -11477,18 +12720,22 @@ fix-the-timeline.org: could not connect to host
 fixate.ru: max-age too low: 3153600
 fixeaide.com: did not receive HSTS header
 fixeaider.com: did not receive HSTS header
+fixhotsauce.com: did not receive HSTS header
 fixico-staging.nl: could not connect to host
 fixingdns.com: could not connect to host
+fixingscrews.co.uk: could not connect to host
 fixitfelix.us: could not connect to host
 fixmyglitch.com: could not connect to host
 fixtectools.co.za: could not connect to host
 fixthetimeline.com: could not connect to host
 fixthetimeline.org: could not connect to host
-fizjoterapia.uk: did not receive HSTS header
+fj.je: could not connect to host
 fjco.alsace: could not connect to host
+fjdekermadec.com: could not connect to host
 fjharcu.com: could not connect to host
-fjruiz.es: could not connect to host
+fjruiz.es: did not receive HSTS header
 fjugstad.com: could not connect to host
+fjzone.org: could not connect to host
 fkcdn.de: could not connect to host
 fkcovering.be: could not connect to host
 fl0111.com: did not receive HSTS header
@@ -11512,54 +12759,74 @@ flamewall.net: could not connect to host
 flamingcow.tv: could not connect to host
 flamingkeys.com.au: could not connect to host
 flamingogroup.vn: did not receive HSTS header
+flanga.org: could not connect to host
 flareon.net: could not connect to host
 flaretechnologies.io: could not connect to host
 flasaki.gr: could not connect to host
 flashbaggie.com: could not connect to host
+flashcrasher.com: could not connect to host
 flatfix.com.ua: did not receive HSTS header
 flatlandchurch.com: did not receive HSTS header
 flavr.be: could not connect to host
 flawcheck.com: could not connect to host
 flc111.com: did not receive HSTS header
-fleamarketgoods.com: did not receive HSTS header
+flcatering.com: could not connect to host
+fleamarketgoods.com: could not connect to host
 fleischmann.com.br: did not receive HSTS header
 flemingtonaudiparts.com: could not connect to host
 flesters.com.br: could not connect to host
 fleurette.me: could not connect to host
 fleursdesoleil.fr: did not receive HSTS header
+flexapplications.se: did not receive HSTS header
+flexbuildingsystems.com: did not receive HSTS header
 flexdrukker.nl: could not connect to host
 flexinvesting.fi: could not connect to host
 flextrack.dk: did not receive HSTS header
 flextribly.xyz: could not connect to host
 flexve.com: could not connect to host
+flickcritter.com: could not connect to host
 fliexer.com: could not connect to host
-flightschoolusa.com: did not receive HSTS header
+flightright.at: did not receive HSTS header
+flightright.co.uk: did not receive HSTS header
+flightright.com: did not receive HSTS header
+flightright.de: did not receive HSTS header
+flightright.es: did not receive HSTS header
+flightright.fr: did not receive HSTS header
+flightright.it: did not receive HSTS header
+flightright.se: did not receive HSTS header
+flightzero.cf: could not connect to host
 fliio.com: could not connect to host
 flikmsg.co: could not connect to host
 fling.dating: could not connect to host
 flipagram.com: did not receive HSTS header
 flipkey.com: did not receive HSTS header
 flirchi.com: did not receive HSTS header
+flirtos.de: did not receive HSTS header
 flirtycourts.com: could not connect to host
 flixflex.tk: could not connect to host
 flixhaven.net: did not receive HSTS header
 flixports.com: could not connect to host
+flixstats.com: could not connect to host
 flixtor.net: could not connect to host
+flixtube.me: did not receive HSTS header
 floatationlocations.com: did not receive HSTS header
+floating-journey-64892.herokuapp.com: could not connect to host
 floj.tech: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 flomeyer.de: could not connect to host
 flood.io: did not receive HSTS header
 floorballpoint.cz: did not receive HSTS header
+floors4lessbay.com: did not receive HSTS header
 flopy.club: could not connect to host
+florentynadawn.co.uk: could not connect to host
 floresvilleedc.org: did not receive HSTS header
 florian-lillpopp.de: max-age too low: 10
 florian-schlachter.de: could not connect to host
-florian2833z.de: could not connect to host
+florianbecker.it: could not connect to host
 florianlillpopp.de: max-age too low: 10
 floridaagriculture.gov: could not connect to host
 floridaconsumerhelp.gov: could not connect to host
 floridaderi.ru: could not connect to host
-floridaengineering.org: could not connect to host
+floridaengineering.org: did not receive HSTS header
 floridaescapes.co.uk: did not receive HSTS header
 floridafieros.org: could not connect to host
 floridagulfbeachrealty.com: did not receive HSTS header
@@ -11575,36 +12842,37 @@ flow.pe: could not connect to host
 flowair24.ru: could not connect to host
 flowchats.me: did not receive HSTS header
 flowcount.xyz: could not connect to host
-flowerandplant.org: could not connect to host
+flowerandplant.org: did not receive HSTS header
 flowersandclouds.com: could not connect to host
 flowersbylegacy.com: could not connect to host
 floweslawncare.com: could not connect to host
+flowfit.nyc: could not connect to host
 flowlo.me: could not connect to host
 flox.io: could not connect to host
 floydm.com: did not receive HSTS header
 flucky.xyz: could not connect to host
-flucto.com: did not receive HSTS header
+flucto.com: could not connect to host
 flue-ducting.co.uk: did not receive HSTS header
 flugplatz-edvc.de: could not connect to host
 flugsportvereinigungcelle.de: did not receive HSTS header
 flugstadplasticsurgery.com: did not receive HSTS header
 fluhrers.de: did not receive HSTS header
 fluidojobs.com: could not connect to host
-flukethoughts.com: did not receive HSTS header
 flurp.de: did not receive HSTS header
 flurrybridge.com: could not connect to host
 flushstudios.com: did not receive HSTS header
+flusszs.tk: could not connect to host
 flux.by: did not receive HSTS header
 fluxent.de: could not connect to host
 flyaces.com: could not connect to host
 flyawayantennas.com: did not receive HSTS header
 flybunnyfly.dk: did not receive HSTS header
+flyersmarket.com: did not receive HSTS header
 flygpost.com: did not receive HSTS header
 flyingdoggy.net: could not connect to host
 flyingspaghettimonsterdonationsfund.nl: could not connect to host
 flyingyoung.top: could not connect to host
 flyshe.co.uk: did not receive HSTS header
-flysnax.com: did not receive HSTS header
 flyspace.ga: could not connect to host
 flyspace.ml: could not connect to host
 flyss.net: could not connect to host
@@ -11613,7 +12881,7 @@ fm-cdn.de: did not receive HSTS header
 fm83.nl: could not connect to host
 fm992.com: could not connect to host
 fmapplication.com: could not connect to host
-fmarchal.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+fmarchal.fr: did not receive HSTS header
 fmc.gov: could not connect to host
 fmi.gov: did not receive HSTS header
 fmovies.fyi: could not connect to host
@@ -11622,6 +12890,7 @@ fmstr.ml: could not connect to host
 fnb-griffinonline.com: did not receive HSTS header
 fnfpt.co.uk: could not connect to host
 fniephaus.com: did not receive HSTS header
+fnkr.net: did not receive HSTS header
 fnvsecurity.com: could not connect to host
 fnzc.co.nz: did not receive HSTS header
 fobc-usa.org: did not receive HSTS header
@@ -11632,21 +12901,23 @@ fogpublishingph.com: did not receive HSTS header
 fohome.ca: could not connect to host
 fokkusu.fi: did not receive HSTS header
 fokos.de: did not receive HSTS header
-fol.tf: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 foliekonsulenten.dk: did not receive HSTS header
 folioapp.io: could not connect to host
-folkfests.org: did not receive HSTS header
+followback.net: could not connect to host
 followerrocket.com: did not receive HSTS header
 followersya.com: did not receive HSTS header
 followings-live.com: did not receive HSTS header
+folwarkwiazy.pl: did not receive HSTS header
 fondanastasia.ru: did not receive HSTS header
 fondsdiscountbroker.de: did not receive HSTS header
+fondy.eu: did not receive HSTS header
 foneo.com: could not connect to host
 fonetiq.io: could not connect to host
 fontawesome.com: did not receive HSTS header
 fonts2u.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 foo: could not connect to host
 food4health.guide: could not connect to host
+foodattitude.ch: could not connect to host
 foodblogger.club: could not connect to host
 foodbuddy.ch: could not connect to host
 foodcare.ml: did not receive HSTS header
@@ -11658,7 +12929,7 @@ foodphotographyblog.com: did not receive HSTS header
 foodplantengineering.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 foodsafetyworkinggroup.gov: could not connect to host
 foodserve.in: could not connect to host
-foodsouvenirs.it: did not receive HSTS header
+foodsouvenirs.it: could not connect to host
 foodtable.at: did not receive HSTS header
 footballmapped.com: could not connect to host
 footlegende.fr: did not receive HSTS header
@@ -11686,12 +12957,15 @@ foreveryoung.pt: did not receive HSTS header
 forex-dan.com: did not receive HSTS header
 forex-plus.com: did not receive HSTS header
 forexsignals7.com: could not connect to host
+forextickler.com: could not connect to host
+forextimes.ru: did not receive HSTS header
+forextraders.com: did not receive HSTS header
 forgix.com: did not receive HSTS header
 forlagetmarx.dk: did not receive HSTS header
 formadmin.com: did not receive HSTS header
 formaliteo.com: did not receive HSTS header
 formasdemaquillarse.com: did not receive HSTS header
-formazioneopen.it: did not receive HSTS header
+formazioneopen.it: could not connect to host
 formbetter.com: could not connect to host
 formersessalaries.com: did not receive HSTS header
 formforger.com: could not connect to host
@@ -11699,6 +12973,8 @@ formini.dz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR
 formkiq.com: could not connect to host
 formula.cf: could not connect to host
 foro.io: could not connect to host
+forodeespanol.com: did not receive HSTS header
+forodieta.com: could not connect to host
 forologikidilosi.com.gr: could not connect to host
 forourselves.com: could not connect to host
 forpc.us: did not receive HSTS header
@@ -11707,25 +12983,28 @@ forplayers.pl: could not connect to host
 forquilhinhanoticias.com.br: did not receive HSTS header
 forro.berlin: could not connect to host
 forsakringsarkivet.se: could not connect to host
-forself.me: could not connect to host
+forsec.nl: did not receive HSTS header
 forsyththeatre.com: could not connect to host
 fortesanshop.it: could not connect to host
 fortknox.cz: did not receive HSTS header
 fortnitemagic.ga: could not connect to host
 fortoglethorpega.gov: could not connect to host
-fortricks.in: did not receive HSTS header
+fortran.io: did not receive HSTS header
 fortuna-loessnitz.de: could not connect to host
 fortuna-s.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 fortworth.ch: did not receive HSTS header
 forty2.eu: did not receive HSTS header
-forum-gilee.cf: could not connect to host
+forum-gilee.cf: did not receive HSTS header
 forum-heg.ch: could not connect to host
 forum-kinozal-tv.appspot.com: did not receive HSTS header
 forum-kinozal.appspot.com: did not receive HSTS header
 forum.linode.com: did not receive HSTS header
 forumjuridico.org: did not receive HSTS header
+forumotomobil.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+forumvoordemocratie.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 forus.be: could not connect to host
 foryoucosmeticos.com.br: could not connect to host
+foselectro.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 foshanshequ.com: could not connect to host
 fossewayflowers.co.uk: could not connect to host
 fossewayflowers.com: could not connect to host
@@ -11745,13 +13024,14 @@ foundationspecialisteast.com: could not connect to host
 foundationswellness.net: did not receive HSTS header
 fourashesgolfcentre.uk: could not connect to host
 fourchin.net: could not connect to host
-fourdesignstudio.com: could not connect to host
 fourwheelpartloanssimple.com: did not receive HSTS header
 foutrelis.com: did not receive HSTS header
+fowlervwparts.com: could not connect to host
 foxbnc.co.uk: did not receive HSTS header
 foxbnc.uk: could not connect to host
 foxdev.co: did not receive HSTS header
-foxdev.io: did not receive HSTS header
+foxdev.io: could not connect to host
+foxes.no: could not connect to host
 foxhound.com.br: did not receive HSTS header
 foxing.club: could not connect to host
 foxley-farm.co.uk: did not receive HSTS header
@@ -11767,20 +13047,25 @@ foyer-laique-segre.com: did not receive HSTS header
 fpaci.org: could not connect to host
 fpgradosuperior.com: did not receive HSTS header
 fpki.sh: could not connect to host
+fpt-technojapan.com: could not connect to host
 fpvr.org: did not receive HSTS header
 fq.mk: did not receive HSTS header
 fr0zenbits.io: could not connect to host
 fr33d0m.link: could not connect to host
+fractionalciso.com: did not receive HSTS header
 fragilesolar.cf: could not connect to host
 fragnic.com: could not connect to host
 fragrances.bg: did not receive HSTS header
 fralef.me: did not receive HSTS header
 fralippolippi.tk: could not connect to host
 framedpaws.com: could not connect to host
+fran.id: did not receive HSTS header
 francescoservida.ch: did not receive HSTS header
 francevpn.xyz: could not connect to host
+francis.ph: could not connect to host
 francis.tokyo: did not receive HSTS header
 francisdelreal.com: did not receive HSTS header
+franckyz.com: did not receive HSTS header
 francois-gaillard.fr: did not receive HSTS header
 francois-vidit.com: did not receive HSTS header
 francoiscarrier.com: did not receive HSTS header
@@ -11789,13 +13074,16 @@ franke-chemie.de: could not connect to host
 frankedier.com: could not connect to host
 frankfurt-am-start.de: did not receive HSTS header
 frankhaala.com: could not connect to host
+frankierprofi.de: did not receive HSTS header
 frankieruiz.tk: could not connect to host
 franklincountyflorida.gov: could not connect to host
 franklincountyny.gov: did not receive HSTS header
 franklinhua.com: could not connect to host
-frankmorrow.com: could not connect to host
-franksiler.com: could not connect to host
+frankmorrow.com: did not receive HSTS header
+frankpalomeque.com: did not receive HSTS header
+franksiler.com: did not receive HSTS header
 frankwei.xyz: did not receive HSTS header
+franqois.id: did not receive HSTS header
 fransallen.com: could not connect to host
 franta.biz: did not receive HSTS header
 franta.email: did not receive HSTS header
@@ -11818,6 +13106,7 @@ freakyawesome.ca: could not connect to host
 freakyawesome.club: could not connect to host
 freakyawesome.co: could not connect to host
 freakyawesome.co.uk: could not connect to host
+freakyawesome.com: could not connect to host
 freakyawesome.company: could not connect to host
 freakyawesome.dance: could not connect to host
 freakyawesome.design: could not connect to host
@@ -11834,7 +13123,7 @@ freakyawesome.guide: could not connect to host
 freakyawesome.guru: could not connect to host
 freakyawesome.in: could not connect to host
 freakyawesome.info: could not connect to host
-freakyawesome.io: could not connect to host
+freakyawesome.io: did not receive HSTS header
 freakyawesome.lgbt: could not connect to host
 freakyawesome.life: could not connect to host
 freakyawesome.live: could not connect to host
@@ -11892,12 +13181,11 @@ freakyawesomewp.com: could not connect to host
 frebi.org: could not connect to host
 frebib.me: could not connect to host
 freddyfazbearspizzeria.com: did not receive HSTS header
-freddysfuncastles.co.uk: did not receive HSTS header
+freddysfuncastles.co.uk: could not connect to host
 freddythechick.uk: could not connect to host
 frederickalcantara.com: could not connect to host
 frederickmd.gov: could not connect to host
 fredliang.cn: could not connect to host
-fredriksslekt.se: could not connect to host
 fredtec.ru: did not receive HSTS header
 free-traff.cf: could not connect to host
 free-your-pc.com: could not connect to host
@@ -11909,9 +13197,14 @@ freeasyshop.com: did not receive HSTS header
 freeben666.fr: could not connect to host
 freeblog.me: could not connect to host
 freebookmakerbets.com.au: did not receive HSTS header
+freebsd.la: could not connect to host
+freebsd.one: could not connect to host
+freebsd.wiki: could not connect to host
 freecam2cam.site: could not connect to host
-freecashfunnel.com: did not receive HSTS header
+freecashfunnel.com: could not connect to host
+freecookies.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 freecycleusa.com: did not receive HSTS header
+freedgb.com: did not receive HSTS header
 freedogecrypt.tk: could not connect to host
 freedombankva.com: did not receive HSTS header
 freedomfrontier.tk: could not connect to host
@@ -11919,20 +13212,18 @@ freedomisslavery.tk: could not connect to host
 freedomkiaparts.com: could not connect to host
 freedomrealtyoftexas.com: did not receive HSTS header
 freedomvote.nl: could not connect to host
-freedygist.org.ng: could not connect to host
 freeflow.tv: could not connect to host
 freehao123.cn: could not connect to host
 freejasongoudlock.org: did not receive HSTS header
 freejidi.com: could not connect to host
-freela.ch: could not connect to host
 freelance-magazine.net: did not receive HSTS header
 freelance.guide: could not connect to host
-freelancebest.com: did not receive HSTS header
-freelancecollab.com: could not connect to host
 freelanced.co.za: could not connect to host
 freelancemw.com: did not receive HSTS header
-freelancerinc.us: did not receive HSTS header
+freelancerhub.online: did not receive HSTS header
+freelancerinc.us: could not connect to host
 freelanceshipping.com: did not receive HSTS header
+freelanceunited.co.uk: could not connect to host
 freelandinnovation.com: did not receive HSTS header
 freelansir.com: could not connect to host
 freelo.cz: did not receive HSTS header
@@ -11954,20 +13245,27 @@ freevps.us: could not connect to host
 freewarez.org: could not connect to host
 freexmovie.com: could not connect to host
 frei.social: could not connect to host
+freiboth.ddns.net: could not connect to host
+freifamily.ch: did not receive HSTS header
 freifunk-in-solingen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 freifunk-lindlar.net: could not connect to host
 freifunk-nrw.de: could not connect to host
 freifunk-remscheid.de: could not connect to host
 frejasdal.dk: could not connect to host
+frenchguy.ch: did not receive HSTS header
 frenzel.dk: could not connect to host
 freqlabs.com: did not receive HSTS header
+fresh-components.com: did not receive HSTS header
+freshdesigns.de: did not receive HSTS header
 freshfind.xyz: could not connect to host
+freshgujarat.com: did not receive HSTS header
 freshislandfish.com: did not receive HSTS header
 freshkiss.com.au: did not receive HSTS header
 freshlymind.com: did not receive HSTS header
+freshmaza.com: could not connect to host
 freshmaza.io: could not connect to host
-freshmaza.net: did not receive HSTS header
-frettboard.com: did not receive HSTS header
+freshmaza.net: could not connect to host
+freshpounds.com: could not connect to host
 frezbo.com: could not connect to host
 fribourgviking.net: could not connect to host
 frickenate.com: could not connect to host
@@ -11975,20 +13273,24 @@ fridaperfumaria.com.br: could not connect to host
 fridayfoucoud.ma: could not connect to host
 friedenauer-herbstfest.de: could not connect to host
 friedhelm-wolf.de: could not connect to host
-friend.tours: max-age too low: 604800
 friendica.ch: could not connect to host
 friendlyfiregameshow.com: could not connect to host
+friends-of-naz.com: could not connect to host
+friends-socialgroup.org: did not receive HSTS header
+friends.tn: could not connect to host
+friendship-quotes.co.uk: could not connect to host
 frieslandrail.nl: did not receive HSTS header
 friplay.host: could not connect to host
 fritteli.ch: did not receive HSTS header
 frly.de: did not receive HSTS header
-frnco.uk: did not receive HSTS header
+frnco.uk: could not connect to host
 frodriguez.xyz: could not connect to host
 froehlich.it: did not receive HSTS header
-froggstack.de: could not connect to host
+froggstack.de: did not receive HSTS header
 frogsonamission.de: could not connect to host
 frolov.net: did not receive HSTS header
 from-the-net.com: could not connect to host
+fromanolderwoman.com: did not receive HSTS header
 fromix.de: could not connect to host
 fromlemaytoz.com: could not connect to host
 fromthemonks.com: could not connect to host
@@ -12001,14 +13303,16 @@ frontletter.io: did not receive HSTS header
 frontline6.com: did not receive HSTS header
 frost-ci.xyz: could not connect to host
 frostbytes.net: could not connect to host
-frostednetwork.com: did not receive HSTS header
+frostednetwork.com: could not connect to host
 frosty-gaming.xyz: could not connect to host
 frostysummers.com: could not connect to host
 froufe.com: did not receive HSTS header
+frozendurian.club: could not connect to host
 frp-roleplay.de: could not connect to host
 frsis2017.com: could not connect to host
 frsnpwr.net: could not connect to host
 frtr.gov: did not receive HSTS header
+frugalmechanic.com: could not connect to host
 fruitusers.com: could not connect to host
 fruityfitness.com: did not receive HSTS header
 frumious.fyi: could not connect to host
@@ -12016,7 +13320,7 @@ frusky.net: could not connect to host
 frydrychit.cz: could not connect to host
 fs-community.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 fs-fitness.eu: could not connect to host
-fs-gamenet.de: could not connect to host
+fs-gamenet.de: did not receive HSTS header
 fsck.cz: could not connect to host
 fsdress.com: could not connect to host
 fsf.moe: could not connect to host
@@ -12029,13 +13333,15 @@ fsrs.gov: could not connect to host
 fsstyle.com: could not connect to host
 fstatic.io: could not connect to host
 fstfy.de: could not connect to host
-fsvoboda.cz: could not connect to host
 ftctele.com: could not connect to host
 fteproxy.org: did not receive HSTS header
 ftf.agency: did not receive HSTS header
+ftgeufyihreufheriofeuozirgrgd.tk: could not connect to host
 ftgho.com: could not connect to host
 ftng.se: could not connect to host
 ftpi.ml: could not connect to host
+ftrac.com.br: did not receive HSTS header
+ftworthhousekeeper.com: could not connect to host
 fu639.top: could not connect to host
 fu898.top: could not connect to host
 fuchsy.com: could not connect to host
@@ -12057,20 +13363,21 @@ fuego.tech: could not connect to host
 fuelfirebrand.com: could not connect to host
 fuelministry.com: did not receive HSTS header
 fugamo.de: did not receive HSTS header
+fugioninc.com: did not receive HSTS header
 fugle.de: could not connect to host
 fujieb.com: could not connect to host
-fujiorganics.com: did not receive HSTS header
 fukuko.biz: could not connect to host
 fukuko.xyz: could not connect to host
 fukuoka-cityliner.jp: did not receive HSTS header
 fukushima-web.com: did not receive HSTS header
 fukushimacoffee.com: could not connect to host
 fulibyg.com: did not receive HSTS header
-fulige.top: did not receive HSTS header
 fulijiejie.com: could not connect to host
 fulilingyu.info: could not connect to host
 fuliydys.com: could not connect to host
+full-stack.ninja: did not receive HSTS header
 fullereno.com: did not receive HSTS header
+fullmoviez.co: did not receive HSTS header
 fullnitrous.com: did not receive HSTS header
 fullpackage.co.uk: did not receive HSTS header
 fullreggaetonrd.com: did not receive HSTS header
@@ -12085,12 +13392,11 @@ fun99.cc: could not connect to host
 funandbounce.com: could not connect to host
 funarena.com.ua: could not connect to host
 funbouncelincs.co.uk: could not connect to host
-funbuynet.com.br: did not receive HSTS header
 fundacionhijosdelsol.org: could not connect to host
+fundamentt.com: did not receive HSTS header
 funderburg.me: did not receive HSTS header
 fundingempire.com: did not receive HSTS header
 funerariahogardecristo.cl: did not receive HSTS header
-funfunmstdn.tokyo: could not connect to host
 fungame.eu: did not receive HSTS header
 funi4u.com: did not receive HSTS header
 funideas.org: could not connect to host
@@ -12105,7 +13411,7 @@ funnyang.com: could not connect to host
 funrun.com: did not receive HSTS header
 funtastic-event-hire.co.uk: did not receive HSTS header
 funtastic.ie: could not connect to host
-funtasticinflatablesdurham.co.uk: did not receive HSTS header
+funtasticinflatablesdurham.co.uk: could not connect to host
 funtimebourne.co.uk: did not receive HSTS header
 fuorifuocogenova.it: could not connect to host
 furaje-iasi.com: could not connect to host
@@ -12114,26 +13420,29 @@ furi.ga: could not connect to host
 furiffic.com: did not receive HSTS header
 furnation.com: could not connect to host
 furnitureconcept.co.uk: could not connect to host
-furry.agency: did not receive HSTS header
+furry.agency: could not connect to host
 furry.be: did not receive HSTS header
 furry.zone: did not receive HSTS header
-furrybot.me: did not receive HSTS header
-furrytf.club: did not receive HSTS header
+furrybot.me: could not connect to host
+furryrex.top: could not connect to host
+furrytf.club: could not connect to host
 furryyiff.site: could not connect to host
+fursuitbutts.com: could not connect to host
 furtherfood.com: did not receive HSTS header
 furtivelook.com: could not connect to host
 fusedrops.com: could not connect to host
 fushee.com: could not connect to host
-fusiongaming.de: could not connect to host
 fusionmate.com: did not receive HSTS header
 fuszara.eu: could not connect to host
 futa.agency: could not connect to host
 futagro.com: did not receive HSTS header
 futbol11.com: could not connect to host
+futbomb.com: could not connect to host
 futcre.com: could not connect to host
 futo.biz: could not connect to host
 futos.de: could not connect to host
 futrou.com: could not connect to host
+future-moves.com: did not receive HSTS header
 futurefire.de: could not connect to host
 futurefundapp.com: could not connect to host
 futurehack.io: could not connect to host
@@ -12147,6 +13456,7 @@ futuristacademy.io: could not connect to host
 futuristarchitecture.com: did not receive HSTS header
 futurope.com: did not receive HSTS header
 fuvelis.com: could not connect to host
+fuvelis.fr: max-age too low: 7776000
 fuvpn.com: could not connect to host
 fuxwerk.de: could not connect to host
 fuzoku-sodan.com: could not connect to host
@@ -12155,32 +13465,37 @@ fwww7.com: did not receive HSTS header
 fx24.uk: did not receive HSTS header
 fxgame.online: could not connect to host
 fxpig-ib.com: could not connect to host
+fxstrategics.com: could not connect to host
 fxwebstudio.com.au: max-age too low: 0
 fy380.com: max-age too low: 0
 fydjbsd.cn: could not connect to host
 fyodorpi.com: did not receive HSTS header
 fyol.pw: could not connect to host
+fyreek.me: did not receive HSTS header
 fyroeo.fr: did not receive HSTS header
 fysio123.nl: did not receive HSTS header
 fysiohaenraets.nl: did not receive HSTS header
 fysiotherapienieuwveen.nl: did not receive HSTS header
-fysuite.com: could not connect to host
 fzn.io: did not receive HSTS header
-fzslm.me: could not connect to host
+fzslm.me: did not receive HSTS header
 fztopsec.com: could not connect to host
+fzx750.ru: could not connect to host
 g-i-s.vn: could not connect to host
 g-marketing.ro: could not connect to host
 g-o.pl: did not receive HSTS header
 g-rickroll-o.pw: could not connect to host
+g00228.com: could not connect to host
 g01.in.ua: could not connect to host
 g1jeu.com: could not connect to host
-g1s.cc: did not receive HSTS header
+g1s.cc: could not connect to host
 g2-inc.com: max-age too low: 600
 g2a.co: did not receive HSTS header
 g2g.com: did not receive HSTS header
+g2x.ru: did not receive HSTS header
 g30365.com: could not connect to host
 g36594.com: could not connect to host
 g3circuit.com: could not connect to host
+g3rv4.com: did not receive HSTS header
 g47.web.id: could not connect to host
 g4w.co: could not connect to host (error ignored - included regardless)
 g5.gov: could not connect to host
@@ -12189,11 +13504,14 @@ g5led.nl: could not connect to host
 g6666g.tk: could not connect to host
 g6729.co: could not connect to host
 g6957.co: could not connect to host
-g6957.com: could not connect to host
+g6957.com: did not receive HSTS header
 g77.ca: could not connect to host
+g81365.com: did not receive HSTS header
+g81818.com: did not receive HSTS header
+g82365.com: did not receive HSTS header
 g9297.co: could not connect to host
-g9397.com: could not connect to host
-g9721.com: could not connect to host
+g9397.com: did not receive HSTS header
+g9721.com: did not receive HSTS header
 g9728.co: could not connect to host
 gaanbaksho.com.au: did not receive HSTS header
 gaasuper6.com: could not connect to host
@@ -12204,13 +13522,15 @@ gabi.com.es: could not connect to host
 gabi.soy: did not receive HSTS header
 gabi.uno: could not connect to host
 gablaxian.com: max-age too low: 2592000
+gabriele-kluge.de: could not connect to host
 gabrielsimonet.ch: could not connect to host
 gabz.pw: could not connect to host
 gadget-tips.com: did not receive HSTS header
-gadgets-and-accessories.store: did not receive HSTS header
+gadgets-and-accessories.store: could not connect to host
 gadgets-cars.com.es: could not connect to host
 gadse.games: could not connect to host
 gaelleetarnaud.com: did not receive HSTS header
+gaest.com: did not receive HSTS header
 gafachi.com: could not connect to host
 gagekroljic.com: could not connect to host
 gagne-enterprises.com: did not receive HSTS header
@@ -12228,6 +13548,8 @@ gakkainavi.net: did not receive HSTS header
 gakkainavi4.com: could not connect to host
 gakkainavi4.jp: did not receive HSTS header
 gakkainavi4.net: did not receive HSTS header
+gala.kiev.ua: could not connect to host
+galabau-maurmann.de: could not connect to host
 galactic-crew.org: did not receive HSTS header
 galardi.org: could not connect to host
 galaxymimi.com: could not connect to host
@@ -12243,15 +13565,14 @@ galerieautodirect.com: did not receive HSTS header
 galgoafegao.com.br: could not connect to host
 galgoingles.com.br: could not connect to host
 galgopersa.com.br: could not connect to host
-galilahiskye.com: did not receive HSTS header
 galilel.cloud: could not connect to host
 galileomtz.com: did not receive HSTS header
 gallery44.org: did not receive HSTS header
 galoisvpn.xyz: could not connect to host
 galoscoin.nl: max-age too low: 2592000
-galoserver.org: could not connect to host
-gam3rs.de: could not connect to host
+gam3rs.de: did not receive HSTS header
 gamajo.com: did not receive HSTS header
+gamanlu.com: could not connect to host
 gambit.pro: could not connect to host
 gambitcloud.net: could not connect to host
 gamblersgaming.eu: could not connect to host
@@ -12269,6 +13590,7 @@ gameharbor.eu: could not connect to host
 gameindustry.de: did not receive HSTS header
 gameink.net: did not receive HSTS header
 gamek.es: could not connect to host
+gamenauta.com.br: did not receive HSTS header
 gamenected.com: could not connect to host
 gamenected.de: could not connect to host
 gameofbay.org: could not connect to host
@@ -12278,13 +13600,16 @@ gamepader.com: could not connect to host
 gameparade.de: could not connect to host
 gameparagon.info: could not connect to host
 gamepiece.com: did not receive HSTS header
+gamereader.de: could not connect to host
 gamerpoets.com: did not receive HSTS header
-gamerslair.org: did not receive HSTS header
+gamerslair.org: could not connect to host
 gamerz-point.de: max-age too low: 10368000
 gamerz-stream.com: did not receive HSTS header
 gameserver-sponsor.de: did not receive HSTS header
+gamestats.gg: could not connect to host
 gamesurferapp.com: could not connect to host
 gameswitchers.uk: could not connect to host
+gametilt.com: could not connect to host
 gametium.com: could not connect to host
 gametium.es: could not connect to host
 gametowndev.tk: could not connect to host
@@ -12293,13 +13618,13 @@ gamingmedia.eu: could not connect to host
 gamingrealms.net: did not receive HSTS header
 gamingreinvented.com: did not receive HSTS header
 gamingwithcromulent.com: could not connect to host
+gamisalya.com: did not receive HSTS header
 gamishijabsyari.com: could not connect to host
 gamismodelbaru.com: did not receive HSTS header
 gamismodernshop.com: did not receive HSTS header
 gamismurahonline.com: could not connect to host
 gamoice.com: could not connect to host
 gamoloco.com: did not receive HSTS header
-gampa.be: did not receive HSTS header
 gampenhof.de: could not connect to host
 gamster.tv: could not connect to host
 gan.wtf: could not connect to host
@@ -12307,7 +13632,9 @@ gandc.co: could not connect to host
 gangnam-club.com: could not connect to host
 gangnam-karaoke.com: could not connect to host
 gangnamavenue.com: did not receive HSTS header
+gangnamcool.com: could not connect to host
 ganhonet.com.br: did not receive HSTS header
+ganyouxuan.com: did not receive HSTS header
 gaojianli.me: could not connect to host
 gaojianli.tk: could not connect to host
 gaon.network: could not connect to host
@@ -12353,15 +13680,16 @@ gatemotorsumhlanga.co.za: did not receive HSTS header
 gatemoves.com: could not connect to host
 gateworld.fr: did not receive HSTS header
 gatilagata.com.br: could not connect to host
-gatomanias.com: did not receive HSTS header
+gatomanias.com: could not connect to host
 gatomix.net: could not connect to host
 gatorsa.es: could not connect to host
-gatos.plus: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+gatos.plus: did not receive HSTS header
 gaurl.ga: could not connect to host
 gaussorgues.me: could not connect to host
 gautham.pro: could not connect to host
 gautvedt.no: did not receive HSTS header
 gavick.com: did not receive HSTS header
+gavins.stream: could not connect to host
 gavinsblog.com: did not receive HSTS header
 gawrimanecuta.com: did not receive HSTS header
 gay-jays.com: could not connect to host
@@ -12371,10 +13699,16 @@ gayforgenji.com: could not connect to host
 gaygeeks.de: could not connect to host
 gayhotti.es: could not connect to host
 gayjays.com: could not connect to host
+gaysfisting.com: could not connect to host
+gayxsite.com: could not connect to host
 gazachallenge.org: could not connect to host
 gazee.net: did not receive HSTS header
+gazflynn.com: could not connect to host
 gazoz.ga: could not connect to host
+gbc-radio.nl: did not receive HSTS header
+gbcsummercamps.com: could not connect to host
 gbit.xyz: could not connect to host
+gbl.selfip.net: could not connect to host
 gc.net: could not connect to host
 gccm-events.com: could not connect to host
 gcdamp.gov: did not receive HSTS header
@@ -12389,10 +13723,10 @@ gdhzcgs.com: could not connect to host
 gdprhallofshame.com: did not receive HSTS header
 gdsqua.re: could not connect to host
 gdutnic.com: did not receive HSTS header
-gdz-otvety.com: did not receive HSTS header
+gdz-otvety.com: could not connect to host
 gdz.tv: could not connect to host
-gealot.com: did not receive HSTS header
 gear-acquisition-syndrome.community: could not connect to host
+gearev.net: could not connect to host
 geass.xyz: could not connect to host
 geblitzt.de: did not receive HSTS header
 gedachtekaarsje.nl: could not connect to host
@@ -12404,30 +13738,34 @@ geekbaba.com: could not connect to host
 geekcast.co.uk: could not connect to host
 geekchimp.com: could not connect to host
 geekdt.com: could not connect to host
+geekeffect.co.uk: did not receive HSTS header
 geeknik.com: could not connect to host
+geeks.lgbt: could not connect to host
 geeksky.org: did not receive HSTS header
-geekthis.de: did not receive HSTS header
+geektarven.com: could not connect to host
+geekthis.de: could not connect to host
 geektimes.com: did not receive HSTS header
 geeky.software: could not connect to host
 geekystudios.us: could not connect to host
 geemo.top: could not connect to host
+gehaowu.com: did not receive HSTS header
 gehrke.nrw: could not connect to host
 geigr.de: could not connect to host
 geiser.io: did not receive HSTS header
 gekosoft.eu: could not connect to host
 geldteveel.eu: could not connect to host
 geli-graphics.com: did not receive HSTS header
+gellis12.com: could not connect to host
 gelodosul.com.br: could not connect to host
-gem-info.fr: could not connect to host
-gemeentemolenwaard.nl: did not receive HSTS header
+gemeentemolenwaard.nl: could not connect to host
 gemeinfreie-lieder.de: could not connect to host
 gemgroups.in: could not connect to host
-gemsmarketplace.net: did not receive HSTS header
+gemini.com: did not receive HSTS header
+gemsmarketplace.net: could not connect to host
 gemsoftheworld.org: could not connect to host
 gemuplay.com: could not connect to host
 gemwire.uk: did not receive HSTS header
 genemesservwparts.com: could not connect to host
-genemon.at: did not receive HSTS header
 generace-id.org: could not connect to host
 general-insurance.tk: could not connect to host
 generali-worldwide.com: could not connect to host
@@ -12440,21 +13778,19 @@ geneve.guide: could not connect to host
 genia-life.de: could not connect to host
 genie-seiner-generation.de: did not receive HSTS header
 geniofinanciero.org: could not connect to host
-geniushost.in: did not receive HSTS header
+geniuszone.biz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 genneve.com: did not receive HSTS header
-genome.gov: did not receive HSTS header
 genoog.com: could not connect to host
 genossen.ru: could not connect to host
 genshiken.org: could not connect to host
-gentianes.ch: could not connect to host
 gentooblog.de: could not connect to host
+gentoocn.org: could not connect to host
 genunlimited.ga: could not connect to host
 genusbag.com: could not connect to host
 genuu.com: could not connect to host
 genuxation.com: could not connect to host
 genuxtsg.com: did not receive HSTS header
 genxbeats.com: did not receive HSTS header
-genxnotes.com: could not connect to host
 genyaa.com: could not connect to host
 genyhitch.com: did not receive HSTS header
 geocommunicator.gov: could not connect to host
@@ -12462,22 +13798,26 @@ geoffanderinmyers.com: did not receive HSTS header
 geoffdev.com: could not connect to host
 geoffmyers.com: did not receive HSTS header
 geoffreyrichard.com: could not connect to host
+geomex.be: did not receive HSTS header
 geonice.ga: could not connect to host
 geopals.net: could not connect to host
+georgedesign.ch: could not connect to host
 georgehalachev.com: did not receive HSTS header
 georgemaschke.com: did not receive HSTS header
 georgeperez.me: could not connect to host
+georgescarryout.com: could not connect to host
 georgesonarthurs.com.au: did not receive HSTS header
 georgiatransport.com: could not connect to host
+geoscan.aero: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 geosphereservices.com: did not receive HSTS header
+geotab.com: did not receive HSTS header
 gepe.ch: did not receive HSTS header
 gerandroid.com: did not receive HSTS header
-gerardobsd.com: could not connect to host
+gerardobsd.com: did not receive HSTS header
 gerbyte.uk: could not connect to host
 gereja.ga: could not connect to host
 gerencianet.com.br: did not receive HSTS header
 gereon.ch: could not connect to host
-geri.be: could not connect to host
 germancraft.net: could not connect to host
 germansoldiers.net: could not connect to host
 germanticz.de: did not receive HSTS header
@@ -12485,9 +13825,9 @@ germany-board.tk: could not connect to host
 gers-authentique.com: could not connect to host
 gerum.dynv6.net: did not receive HSTS header
 geschmackspiloten.de: did not receive HSTS header
-geseduc.cl: could not connect to host
 gesiwista.net: could not connect to host
 gestorehotel.com: could not connect to host
+gesunddurchenergie.ch: could not connect to host
 gesunde-smoothies.de: did not receive HSTS header
 gesundes-im-napf.de: did not receive HSTS header
 gesundheitszentrum-am-reischberg.de: could not connect to host
@@ -12511,7 +13851,7 @@ geteckeld.nl: did not receive HSTS header
 getenergized2018.kpn: could not connect to host
 getenseguros.com.br: did not receive HSTS header
 getfestify.com: did not receive HSTS header
-getfilterlive.org: could not connect to host
+getfilterlive.org: max-age too low: 0
 getfirepress.com: could not connect to host
 getfittedstore.com: did not receive HSTS header
 getfoundquick.com: did not receive HSTS header
@@ -12526,7 +13866,6 @@ getgeek.no: could not connect to host
 getgeek.nu: could not connect to host
 getgeek.pl: could not connect to host
 geti2p.com: could not connect to host
-getimgs.com: could not connect to host
 getinsuranceanywhere.com: did not receive HSTS header
 getinternet.de: did not receive HSTS header
 getitpeople.com: could not connect to host
@@ -12553,8 +13892,10 @@ getserum.xyz: could not connect to host
 getsetupfile.com: did not receive HSTS header
 getshifter.io: did not receive HSTS header
 getsilknow.com: could not connect to host
+getsmarterinsurance.com: did not receive HSTS header
 getspeaker.com: did not receive HSTS header
 getspire.com: could not connect to host
+getsubs.net: could not connect to host
 getswadeshi.com: could not connect to host
 gettodoing.com: could not connect to host
 getts.ro: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -12563,6 +13904,7 @@ getwashdaddy.com: could not connect to host
 getweloop.io: could not connect to host
 getyeflask.com: could not connect to host
 getyou.onl: could not connect to host
+getyourdata.co.uk: could not connect to host
 getyourphix.tk: could not connect to host
 gevaulug.fr: could not connect to host
 gfbouncycastles.co.uk: did not receive HSTS header
@@ -12573,7 +13915,6 @@ gfms.ru: could not connect to host
 gfnetfun.cf: could not connect to host
 gfoss.gr: could not connect to host
 gfournier.ca: could not connect to host
-gfw.moe: could not connect to host
 gfwno.win: could not connect to host
 gfwsb.ml: could not connect to host
 gg5197.co: could not connect to host
@@ -12581,44 +13922,46 @@ gg6729.co: could not connect to host
 gg6729.com: did not receive HSTS header
 gg6957.co: could not connect to host
 gg9297.co: could not connect to host
-gg9397.com: could not connect to host
-gg9721.com: could not connect to host
+gg9397.com: did not receive HSTS header
+gg9721.com: did not receive HSTS header
 gg9728.co: could not connect to host
+gggggg.org: could not connect to host
 gglks.com: could not connect to host
 ggobbo.com: could not connect to host
 ggrks-asano.com: could not connect to host
 ggss.cf: could not connect to host
 ggss.ml: could not connect to host
 gh16.com.ar: could not connect to host
-ghaglund.se: could not connect to host
+gha.st: did not receive HSTS header
 ghana.bz: did not receive HSTS header
-ghcif.de: could not connect to host
+ghcif.de: did not receive HSTS header
 gheorghe-sarcov.ga: could not connect to host
 gheorghesarcov.ga: could not connect to host
-gheorghesarcov.tk: could not connect to host
+gheorghesarcov.tk: did not receive HSTS header
 ghi.gov: could not connect to host
 ghibli.studio: could not connect to host
+ghkim.net: could not connect to host
 ghost-legion.com: could not connect to host
-ghostcir.com: could not connect to host
+ghostsupreme.eu: could not connect to host
 ghou.me: could not connect to host
 ghrelinblocker.info: did not receive HSTS header
 ghrelinblocker.org: did not receive HSTS header
 giacomodrago.com: could not connect to host
 giacomodrago.it: could not connect to host
-giaithich.net: did not receive HSTS header
+giaithich.net: could not connect to host
 gianlucapartengo.photography: did not receive HSTS header
 giant-powerfit.co.uk: did not receive HSTS header
 gibraltar-firma.com: did not receive HSTS header
 gibraltar.at: could not connect to host
 gibraltarwi.gov: did not receive HSTS header
 gibreel.tk: could not connect to host
-gicl.dk: did not receive HSTS header
-gidari.shop: did not receive HSTS header
+gicl.dk: could not connect to host
+gidari.shop: could not connect to host
 giddyaunt.net: could not connect to host
 gidea.nu: could not connect to host
 giduv.com: did not receive HSTS header
-gietvloer-wand.nl: did not receive HSTS header
 giftbg.org: could not connect to host
+giftcardgranny.com: did not receive HSTS header
 giftmaniabrilhos.com.br: could not connect to host
 gifts.best: could not connect to host
 giftservices.nl: could not connect to host
@@ -12627,25 +13970,24 @@ gigacloud.org: could not connect to host
 gigacog.com: could not connect to host
 gigantar.com: did not receive HSTS header
 gigawa.lt: could not connect to host
-gigawattz.com: did not receive HSTS header
 gigime.com: could not connect to host
 gigiscloud.servebeer.com: could not connect to host
 gigsoupmusic.com: did not receive HSTS header
 gigtroll.eu: could not connect to host
+gilangcp.com: could not connect to host
 gilcloud.com: could not connect to host
 gilescountytn.gov: did not receive HSTS header
 gilgaz.com: did not receive HSTS header
 gilium.com: could not connect to host
-gillesmorelle.com: could not connect to host
 gillet-cros.fr: could not connect to host
 gilly.berlin: did not receive HSTS header
+gilme.net: could not connect to host
 gilmoreid.com.au: did not receive HSTS header
 gilmourluna.com: could not connect to host
 gilpinmanagement.com: did not receive HSTS header
 gilpinrealty.com: did not receive HSTS header
 gilroywestwood.org: did not receive HSTS header
 gilsum-nh.gov: could not connect to host
-gim-app.tk: could not connect to host
 ginacat.de: did not receive HSTS header
 gincher.net: did not receive HSTS header
 gingali.de: did not receive HSTS header
@@ -12654,6 +13996,7 @@ ginijony.com: did not receive HSTS header
 ginkel.com: did not receive HSTS header
 gintenreiter-photography.com: did not receive HSTS header
 giochi-online.ws: did not receive HSTS header
+giochiecodici.it: could not connect to host
 giochistem.it: could not connect to host
 giogadesign.com: did not receive HSTS header
 gip-carif-idf.net: could not connect to host
@@ -12661,14 +14004,15 @@ gip-carif-idf.org: could not connect to host
 gipsamsfashion.com: could not connect to host
 gipsic.com: did not receive HSTS header
 giraffeinflatables.co.uk: could not connect to host
+girl.science: could not connect to host
 girlsgenerationgoods.com: could not connect to host
-girlsgonesporty.com: could not connect to host
+girlsgonesporty.com: did not receive HSTS header
 girlsnet.work: could not connect to host
 gis3m.org: did not receive HSTS header
+gisch.tk: could not connect to host
 gisgov.be: did not receive HSTS header
 gistfy.com: could not connect to host
 git-stuff.tk: could not connect to host
-git.ac.cn: could not connect to host
 git.co: could not connect to host
 git.org.il: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 gitar.io: could not connect to host
@@ -12680,6 +14024,7 @@ givemyanswer.com: could not connect to host
 giveoneup.org: could not connect to host
 giverang.biz: could not connect to host
 giverang.com: could not connect to host
+givesunlight.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 givip.eu: could not connect to host
 gix.net.pl: could not connect to host
 gixtools.co.uk: could not connect to host
@@ -12688,14 +14033,15 @@ gizzo.sk: could not connect to host
 gkimanyar.org: could not connect to host
 gla-hyperloop.com: could not connect to host
 glabiatoren-kst.de: could not connect to host
-gladdy.uk: did not receive HSTS header
+gladdy.co.uk: could not connect to host
 gladiatorboost.com: could not connect to host
 gladystudio.com: did not receive HSTS header
+glamguru.world: could not connect to host
 glaspe.com: could not connect to host
 glass-mag.eu: did not receive HSTS header
 glass.google.com: did not receive HSTS header (error ignored - included regardless)
-glasschmuck-millefiori.de: could not connect to host
 glasslikes.com: did not receive HSTS header
+glassofgrape.com: could not connect to host
 glbg.eu: could not connect to host
 gle: could not connect to host
 glenavy.tk: could not connect to host
@@ -12704,7 +14050,7 @@ glencoveny.gov: could not connect to host
 glentakahashi.com: did not receive HSTS header
 glevolution.com: could not connect to host
 glicerina.online: could not connect to host
-glidestep.com: did not receive HSTS header
+glittersjabloon.nl: did not receive HSTS header
 glitzmirror.com: could not connect to host
 glnpo.gov: could not connect to host
 glob-coin.com: did not receive HSTS header
@@ -12725,15 +14071,17 @@ globalittech.com: could not connect to host
 globalityinvestment.com: could not connect to host
 globalmoneyapp.com: could not connect to host
 globalmusic.ga: could not connect to host
+globalno.me: could not connect to host
 globalnomadvintage.com: could not connect to host
 globalperspectivescanada.com: could not connect to host
-globalsites.nl: did not receive HSTS header
+globalsites.nl: could not connect to host
 globaltennis.ca: could not connect to host
 globalvisions-events.ch: could not connect to host
 globalvisions-events.com: could not connect to host
+globalvoice.ga: could not connect to host
 globcoin.io: did not receive HSTS header
 globe-flight.de: did not receive HSTS header
-globeinform.com: did not receive HSTS header
+globemusic.es: could not connect to host
 globuli-info.de: could not connect to host
 gloning.name: could not connect to host
 gloomyspark.com: could not connect to host
@@ -12744,10 +14092,9 @@ gloucesterphotographer.com: did not receive HSTS header
 glu3cifer.rocks: could not connect to host
 glubbforum.de: did not receive HSTS header
 glutenfreiheit.at: could not connect to host
-glws.org: did not receive HSTS header
+glws.org: could not connect to host
 glyph.ws: could not connect to host
 gm-assicurazioni.it: could not connect to host
-gm-net.jp: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 gmail: could not connect to host
 gmail.com: did not receive HSTS header (error ignored - included regardless)
 gmantra.org: max-age too low: 7776000
@@ -12755,25 +14102,25 @@ gmanukyan.com: could not connect to host
 gmat.ovh: could not connect to host
 gme.one: could not connect to host
 gmoes.at: did not receive HSTS header
-gmplab.com: did not receive HSTS header
 gmw-hannover.de: could not connect to host
 gn00.ink: could not connect to host
 gnaptracker.tk: could not connect to host
-gnaucke.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-gndh.net: did not receive HSTS header
+gnaucke.com: could not connect to host
+gnetion.com: could not connect to host
 gnhub.org: could not connect to host
 gnom.me: could not connect to host
 gnosticjade.net: did not receive HSTS header
 gnuand.me: could not connect to host
 gnunet.org: did not receive HSTS header
 gnuplus.me: could not connect to host
-gnylf.com: could not connect to host
+gnwp.eu: could not connect to host
 go.ax: could not connect to host
 go.xero.com: did not receive HSTS header
 go2sh.de: did not receive HSTS header
 go4it.solutions: did not receive HSTS header
 go9968.com: did not receive HSTS header
-goabonga.com: did not receive HSTS header
+goa8.xyz: did not receive HSTS header
+goabonga.com: could not connect to host
 goalongtravels.com: could not connect to host
 goalsetup.com: could not connect to host
 goaltree.ch: did not receive HSTS header
@@ -12787,6 +14134,7 @@ goblinsatwork.com: could not connect to host
 goblintears.com: could not connect to host
 gobranding.com.vn: did not receive HSTS header
 gocphongthuy.net: did not receive HSTS header
+godknowsclothing.com: could not connect to host
 godofnea.com: did not receive HSTS header
 godrealms.com: could not connect to host
 godrive.ga: could not connect to host
@@ -12794,6 +14142,7 @@ goedeke.ml: could not connect to host
 goedkoopstecartridges.nl: could not connect to host
 goedkopecartridgeskopen.nl: could not connect to host
 goedkopelaptopshardenberg.nl: could not connect to host
+goedkopeonesies.nl: could not connect to host
 goedkopetonerkopen.nl: could not connect to host
 goeikan.life: could not connect to host
 goerlitz-zgorzelec.org: did not receive HSTS header
@@ -12801,24 +14150,28 @@ goesta-hallenbau.de: did not receive HSTS header
 goetic.space: could not connect to host
 gofigure.fr: could not connect to host
 goflipr.com: did not receive HSTS header
+goftava.ir: did not receive HSTS header
 goge.site: could not connect to host
 gogenenglish.com: could not connect to host
 goggs.eu: could not connect to host
 gogold-g.com: could not connect to host
 gogomail.ga: could not connect to host
 gogonano.com: did not receive HSTS header
-goguel.org: did not receive HSTS header
+goguel.org: could not connect to host
 gohongi-katakori.com: did not receive HSTS header
 goiaspropaganda.com.br: could not connect to host
-gold24.in: could not connect to host
+goiymua.com: could not connect to host
+gold24.in: did not receive HSTS header
 gold24.ru: did not receive HSTS header
 goldegg-training.com: did not receive HSTS header
+goldenbadger.de: could not connect to host
 goldendata.io: could not connect to host
 goldeneggs.club: could not connect to host
 goldenmonrepos.com: did not receive HSTS header
-goldenruleemail.com: could not connect to host
 goldfelt.com: could not connect to host
-goldminer.ga: did not receive HSTS header
+goldlevelmarketing.com: did not receive HSTS header
+goldlevelprint.com: did not receive HSTS header
+goldminer.ga: could not connect to host
 goldpetergood.top: did not receive HSTS header
 goldpros.com: did not receive HSTS header
 goldsky.com.au: could not connect to host
@@ -12831,12 +14184,13 @@ golfmeile.de: did not receive HSTS header
 golfpark-bostalsee.de: did not receive HSTS header
 golkala.com: did not receive HSTS header
 golocal-media.de: could not connect to host
-golsportsoccer.com: could not connect to host
 gomega.vn: could not connect to host
+gomiblog.com: did not receive HSTS header
 gondawa.com: could not connect to host
 gong8.win: could not connect to host
-gonzalesca.gov: did not receive HSTS header
+gonzalesca.gov: max-age too low: 300
 gonzalosanchez.mx: did not receive HSTS header
+good588.com: did not receive HSTS header
 gooddayatwork.co.uk: did not receive HSTS header
 gooddomainna.me: could not connect to host
 goodeats.nyc: could not connect to host
@@ -12853,7 +14207,7 @@ goodwin43.ru: could not connect to host
 goodyearsotn.co.uk: could not connect to host
 google: could not connect to host (error ignored - included regardless)
 google.ax: could not connect to host
-googlehosts.org: could not connect to host
+googlehosts.org: did not receive HSTS header
 googlemail.com: did not receive HSTS header (error ignored - included regardless)
 googleplex.com: did not receive HSTS header (error ignored - included regardless)
 googlerecetas.com: could not connect to host
@@ -12861,14 +14215,14 @@ goolok.com: could not connect to host
 goooo.info: could not connect to host
 gooroosmarketplace.com: did not receive HSTS header
 gootlijsten.nl: did not receive HSTS header
-goozz.nl: did not receive HSTS header
+goozz.nl: could not connect to host
 gopay.cz: did not receive HSTS header
 gopher.tk: could not connect to host
+goplango.net: could not connect to host
 goplex.com.au: did not receive HSTS header
 gopokego.cz: could not connect to host
 goprimal.eu: did not receive HSTS header
 goproallaccess.com: could not connect to host
-gopwhip.gov: did not receive HSTS header
 goranrango.ch: could not connect to host
 gordonobrecht.com: did not receive HSTS header
 gorealya.com: could not connect to host
@@ -12883,11 +14237,14 @@ goru.travel: did not receive HSTS header
 gosciencegirls.com: did not receive HSTS header
 gosharewood.com: did not receive HSTS header
 goshop.cz: did not receive HSTS header
-gospelofmark.ch: max-age too low: 2592000
+gospelfollower.com: did not receive HSTS header
+gospelofmark.ch: could not connect to host
 gostream.asia: could not connect to host
+gosuland.org: did not receive HSTS header
 goto.google.com: did not receive HSTS header (error ignored - included regardless)
 gotobrno.cz: did not receive HSTS header
 gotocloud.ru: could not connect to host
+gotowned.org: could not connect to host
 gotrek.com.au: could not connect to host
 gotspot.com: could not connect to host
 gottfridsberg.org: could not connect to host
@@ -12903,24 +14260,31 @@ gouv.ovh: did not receive HSTS header
 gov.ax: could not connect to host
 goverage.org: did not receive HSTS header
 govillemo.ca: did not receive HSTS header
-gozadentro.com: could not connect to host
+govotecolorado.gov: did not receive HSTS header
+govsurvey.us: did not receive HSTS header
+govtjobs.blog: could not connect to host
+goweraesthetics.co.uk: could not connect to host
+gozadentro.com: did not receive HSTS header
 gozel.com.tr: did not receive HSTS header
+gozenhost.com: did not receive HSTS header
 gparent.org: did not receive HSTS header
 gpccp.cc: could not connect to host
+gpcsolutions.fr: could not connect to host
+gpfclan.de: could not connect to host
 gpga.cf: could not connect to host
 gplintegratedit.com: could not connect to host
 gpo.gov: did not receive HSTS header
 gps.com.br: could not connect to host
 gpsarena.ro: could not connect to host
-gpscamera.nl: did not receive HSTS header
 gpsfix.cz: could not connect to host
 gpstuner.com: did not receive HSTS header
+gpureport.cz: did not receive HSTS header
 gpws.ovh: did not receive HSTS header
 gpyy.net: did not receive HSTS header
-gra2.com: could not connect to host
 graandco.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 graavaapi.elasticbeanstalk.com: could not connect to host
 grabi.ga: could not connect to host
+grabtech.vn: did not receive HSTS header
 gracechurchpc.net: could not connect to host
 graceful-project.eu: did not receive HSTS header
 gracesofgrief.com: could not connect to host
@@ -12932,46 +14296,57 @@ gradenotify.com: could not connect to host
 gradingcontractornc.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 grads360.org: could not connect to host
 gradsm-ci.net: could not connect to host
+graetnew.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 grafitec.ru: did not receive HSTS header
 grafmurr.de: could not connect to host
 graftworld.pw: could not connect to host
 grahamofthewheels.com: did not receive HSTS header
 gram.tips: did not receive HSTS header
 gramati.com.br: could not connect to host
+gramiaperu.com: did not receive HSTS header
 gramtrans.com: did not receive HSTS header
 grana.com: did not receive HSTS header
 granary-demo.appspot.com: did not receive HSTS header
 grancellconsulting.com: could not connect to host
 grandchamproofing.com: did not receive HSTS header
-grandlinecsk.ru: did not receive HSTS header
+grandlinecsk.ru: could not connect to host
 grandmascookieblog.com: could not connect to host
-grandmasfridge.org: did not receive HSTS header
+grandmusiccentral.com.au: could not connect to host
 granian.pro: could not connect to host
 granishe.com: could not connect to host
 granli.org: did not receive HSTS header
 grannys-stats.com: could not connect to host
-grantdb.ca: did not receive HSTS header
 grantedby.me: max-age too low: 0
 granth.io: could not connect to host
-granular.ag: did not receive HSTS header
 graph.no: did not receive HSTS header
 graphified.nl: could not connect to host
 graphire.io: could not connect to host
 graphite.org.uk: could not connect to host
 graphsearchengine.com: could not connect to host
+grasboomamersfoort.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboombinnendoor.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboomclophaemer.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboomderoos.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboomleusden.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboommax.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboommeerbalans.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboomveenendaal.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grasboomvondellaan.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 gratefullane.com: did not receive HSTS header
 gratis-app.com: did not receive HSTS header
 gratis-lovecheck.de: did not receive HSTS header
 gratisonlinesex.com: could not connect to host
 gravescountyky.gov: could not connect to host
+gravilink.com: could not connect to host
 gravitation.pro: could not connect to host
 gravitechthai.com: did not receive HSTS header
-gravito.nl: could not connect to host
 gravity-inc.net: could not connect to host
 gravity-net.de: could not connect to host
 graycell.net: could not connect to host
 grayowlworks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+grayscale.co: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 grazetech.com: did not receive HSTS header
+grazieitalian.com: could not connect to host
 grcnode.co.uk: could not connect to host
 great.nagoya: could not connect to host
 greatergoodoffers.com: did not receive HSTS header
@@ -12986,15 +14361,12 @@ greditsoft.com: did not receive HSTS header
 greedbutt.com: max-age too low: 2592000
 greeklish.gr: could not connect to host
 greeknewspapers.tk: could not connect to host
-green-light.cf: could not connect to host
-green-light.ga: could not connect to host
-green-light.gq: could not connect to host
-green-light.ml: could not connect to host
 greenbaysecuritysolutions.com: did not receive HSTS header
 greencard.su: did not receive HSTS header
 greencardtalent.com: could not connect to host
 greenconn.ca: could not connect to host
 greendroid.de: did not receive HSTS header
+greenecountytn.gov: could not connect to host
 greenenergysolution.uk: did not receive HSTS header
 greenesting.ch: could not connect to host
 greenesting.com: could not connect to host
@@ -13003,7 +14375,8 @@ greenglam.biz: did not receive HSTS header
 greengoblindev.com: could not connect to host
 greengov.gov: could not connect to host
 greenhillantiques.co.uk: could not connect to host
-greenitpark.net: did not receive HSTS header
+greenitpark.net: could not connect to host
+greenliquidsystem.com: could not connect to host
 greensolid.biz: could not connect to host
 greensquare.tk: could not connect to host
 greenville.ag: did not receive HSTS header
@@ -13022,7 +14395,6 @@ grekland.guide: could not connect to host
 gremots.com: could not connect to host
 grengine.ch: could not connect to host
 greplin.com: could not connect to host
-gresak.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 gresb.com: did not receive HSTS header
 gretchelizartistry.com: did not receive HSTS header
 grettogeek.com: did not receive HSTS header
@@ -13033,33 +14405,39 @@ grexx.co.uk: did not receive HSTS header
 grexx.de: did not receive HSTS header
 grexx.nl: did not receive HSTS header
 grey.house: could not connect to host
-greybeards.ca: could not connect to host
+greyhash.se: could not connect to host
 greyline.se: could not connect to host
 grian-bam.at: did not receive HSTS header
+griassdi-reseller.de: could not connect to host
 gribani.com: could not connect to host
 grid2osm.org: could not connect to host
 gridle.io: did not receive HSTS header
 gridsmartercities.com: did not receive HSTS header
 griecopelino.com: did not receive HSTS header
+griefheart.com: could not connect to host
 grieg.com: could not connect to host
 grieg.net: could not connect to host
 grieg.org: could not connect to host
 grienenberger.eu: could not connect to host
 grigalanzsoftware.com: could not connect to host
-grillhutsunderland.com: could not connect to host
+grillhutsunderland.com: did not receive HSTS header
 grillinfools.com: did not receive HSTS header
 gripnijmegen.rip: could not connect to host
 gripopgriep.net: could not connect to host
 gritte.net: did not receive HSTS header
 griyo.online: could not connect to host
 groben-itsolutions.de: could not connect to host
+grocerybuild.com: did not receive HSTS header
+grocock.me.uk: did not receive HSTS header
 groenders.nl: could not connect to host
 groenewoud.me: did not receive HSTS header
 groenewoud.run: could not connect to host
-groenteclub.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+groenteclub.nl: could not connect to host
 groentefruitzeep.com: could not connect to host
 groentefruitzeep.nl: could not connect to host
 groetzner.net: did not receive HSTS header
+grog.pw: could not connect to host
+grosdebit.com: did not receive HSTS header
 groseb.net: could not connect to host
 gross-gerau-hausarzt.de: did not receive HSTS header
 grossell.ru: could not connect to host
@@ -13073,13 +14451,18 @@ grow-shop.ee: could not connect to host
 grow-shop.lt: could not connect to host
 grow-shop.lv: could not connect to host
 growingmetrics.com: could not connect to host
+growthseedconsulting.com: could not connect to host
 grozip.com: did not receive HSTS header
 grozter.se: could not connect to host
 gruelang.org: could not connect to host
 grumples.biz: did not receive HSTS header
 grupoauxteclic.com: could not connect to host
+grupocata.com: could not connect to host
+grupoparco.com: could not connect to host
 grupopgn.com.br: could not connect to host
+gruposertaoveredas.com.br: did not receive HSTS header
 gruppoipl.it: did not receive HSTS header
+grusenmeyer.be: did not receive HSTS header
 grusig-geil.ch: did not receive HSTS header
 gryffin.ga: could not connect to host
 gryffin.ml: could not connect to host
@@ -13087,24 +14470,30 @@ gryffin.tk: could not connect to host
 gryinx.com: could not connect to host
 grytics.com: did not receive HSTS header
 gs-net.at: could not connect to host
+gscloud.xyz: could not connect to host
 gsi-network.com: did not receive HSTS header
+gsk11.ru: did not receive HSTS header
+gslaw.edu.gh: did not receive HSTS header
 gsm-map.com: could not connect to host
 gsmbrick.com: could not connect to host
 gsmkungen.com: could not connect to host
-gsnort.com: did not receive HSTS header
+gsnort.com: could not connect to host
+gstand.tk: could not connect to host
 gt-mp.net: did not receive HSTS header
 gtalife.net: did not receive HSTS header
 gtamodshop.org: could not connect to host
 gtanda.tk: could not connect to host
 gtapg.net: could not connect to host
 gtchipsi.org: did not receive HSTS header
+gtcprojects.com: could not connect to host
 gtech.work: did not receive HSTS header
-gtlaun.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 gtldna.com: could not connect to host
 gtmasterclub.it: did not receive HSTS header
 gtraxapp.com: could not connect to host
 gts-dp.de: did not receive HSTS header
 gts-schulsoftware.de: did not receive HSTS header
+gtxbbs.com: could not connect to host
+guangjiangk.com: could not connect to host
 guannan.net.cn: did not receive HSTS header
 guarajubaimoveis.com.br: did not receive HSTS header
 guaranteedloans.online: did not receive HSTS header
@@ -13116,6 +14505,7 @@ guelo.ch: could not connect to host
 guelphhydropool.com: could not connect to host
 guendra.dedyn.io: could not connect to host
 guentherhouse.com: did not receive HSTS header
+guenthernoack.de: did not receive HSTS header
 guernseycounty.gov: could not connect to host
 gufen.ga: could not connect to host
 guffrits.com: could not connect to host
@@ -13124,12 +14514,14 @@ guge.gq: could not connect to host
 gugert.net: could not connect to host
 gugga.dk: could not connect to host
 guguke.net: could not connect to host
-guida.org: did not receive HSTS header
-guide-peche-cantal.com: could not connect to host
+guid2steamid.pw: could not connect to host
+guida.org: could not connect to host
 guidechecking.com: could not connect to host
+guidedselling.net: could not connect to host
 guidedsteps.com: could not connect to host
 guides-et-admin.com: did not receive HSTS header
 guides-peche64.com: could not connect to host
+guildbase.de: did not receive HSTS header
 guilde-vindicta.fr: could not connect to host
 guildgearscore.cf: could not connect to host
 guillaume-leduc.fr: could not connect to host
@@ -13145,16 +14537,17 @@ gulfcoast-sandbox.com: could not connect to host
 gulitsky.me: could not connect to host
 gumannp.de: did not receive HSTS header
 gumballs.com: did not receive HSTS header
-gume4you.com: could not connect to host
+gume4you.com: did not receive HSTS header
 gummibande.noip.me: could not connect to host
 gunceloyunhileleri.com: could not connect to host
 gunhunter.com: could not connect to host
 guniram.com: could not connect to host
-gunnarhafdal.com: did not receive HSTS header
+gunn.ee: did not receive HSTS header
 gunnaro.com: could not connect to host
 gunsofshadowvalley.com: did not receive HSTS header
 guntbert.net: could not connect to host
 guochang.xyz: could not connect to host
+guohuageng.com: could not connect to host
 guoqiang.info: did not receive HSTS header
 gurkan.in: did not receive HSTS header
 gurleyal.gov: did not receive HSTS header
@@ -13175,7 +14568,6 @@ guthabenkarten-billiger.de: could not connect to host
 guts.me: could not connect to host
 guts.moe: could not connect to host
 gutuia.blue: could not connect to host
-guus-thijssen.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 guusvandewal.nl: did not receive HSTS header
 guvernalternativa.ro: could not connect to host
 guyot-tech.com: did not receive HSTS header
@@ -13190,7 +14582,9 @@ gvt3.com: could not connect to host (error ignored - included regardless)
 gw2oracle.com: could not connect to host
 gw2reload.eu: could not connect to host
 gwa-verwaltung.de: did not receive HSTS header
+gwerder.net: could not connect to host
 gwijaya.com: could not connect to host
+gwrtech.com: could not connect to host
 gwtest.us: could not connect to host
 gxgx.org: could not connect to host
 gyakori.com: could not connect to host
@@ -13198,7 +14592,6 @@ gyaou-ek1njb79xkfsyxemzmauhkvxszyua7v2t.com: did not receive HSTS header
 gyara.moe: did not receive HSTS header
 gyboche.com: could not connect to host
 gyboche.science: could not connect to host
-gycis.me: did not receive HSTS header
 gylauto.fr: could not connect to host
 gymnasium-farmsen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 gyoza.beer: could not connect to host
@@ -13208,30 +14601,36 @@ gyz.io: did not receive HSTS header
 gzitech.net: could not connect to host
 gzitech.org: could not connect to host
 gzpblog.com: could not connect to host
+gzriedstadt.de: did not receive HSTS header
 h-og.com: could not connect to host
 h-rickroll-n.pw: could not connect to host
 h-suppo.com: could not connect to host
 h0r.st: could not connect to host
 h11.moe: could not connect to host
 h2cdn.cloud: could not connect to host
-h2check.org: could not connect to host
+h2check.org: did not receive HSTS header
+h2rul.eu: could not connect to host
 h30365.com: could not connect to host
-h33t.xyz: did not receive HSTS header
+h33t.xyz: could not connect to host
 h3x.jp: could not connect to host
 h5197.co: could not connect to host
 h6729.co: could not connect to host
 h6729.com: did not receive HSTS header
 h6957.co: could not connect to host
+h81365.com: did not receive HSTS header
+h81818.com: did not receive HSTS header
+h82365.com: did not receive HSTS header
 h9297.co: could not connect to host
-h9397.com: could not connect to host
+h9397.com: did not receive HSTS header
 h9728.co: could not connect to host
 haaksmadehaanuitvaart.nl: did not receive HSTS header
 haaldesignpro.com: could not connect to host
 haancommunity.cf: could not connect to host
+haarentfernung-elektroepilation.de: did not receive HSTS header
 haarkliniek.com: did not receive HSTS header
 habbig.cc: could not connect to host
 habbixed.tk: could not connect to host
-habbo.life: could not connect to host
+habbo.life: did not receive HSTS header
 habbos.es: did not receive HSTS header
 habbotalk.nl: could not connect to host
 habeo.si: could not connect to host
@@ -13259,6 +14658,7 @@ hackerstxt.org: could not connect to host
 hackest.org: did not receive HSTS header
 hackettrecipes.com: could not connect to host
 hackhouse.sh: could not connect to host
+hackingarise.com: did not receive HSTS header
 hackingondemand.com: did not receive HSTS header
 hackingsafe.com: could not connect to host
 hackit.im: could not connect to host
@@ -13270,29 +14670,34 @@ hacktic.info: could not connect to host
 hackyourfaceoff.com: could not connect to host
 hackzogtum-coburg.de: did not receive HSTS header
 hadret.com: did not receive HSTS header
-hadret.sh: did not receive HSTS header
+hadret.sh: could not connect to host
 hadzic.co: could not connect to host
 haeckl.eu: did not receive HSTS header
 haehnlein.at: could not connect to host
 haemmerle.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 haf.gr: could not connect to host
 hafoda.com: could not connect to host
+hagier.pl: could not connect to host
 hagskold.se: could not connect to host
+hahay.es: could not connect to host
 hahayidu.org: could not connect to host
 haibara.top: could not connect to host
 haidihai.ro: did not receive HSTS header
 hail2u.net: did not receive HSTS header
 haim.bio: could not connect to host
 haimablog.ooo: could not connect to host
+hainanstar.cc: could not connect to host
 hainoni.com: could not connect to host
-hairbeautyartists.it: did not receive HSTS header
+hair-reborn.be: did not receive HSTS header
+hairbeautyartists.it: could not connect to host
 hairlossstop.net: could not connect to host
+hairtonic-lab.com: did not receive HSTS header
 haitou.tk: could not connect to host
 haitschi.com: could not connect to host
 haitschi.de: did not receive HSTS header
 haitschi.net: could not connect to host
 haitschi.org: could not connect to host
-haixihui.cn: could not connect to host
+haiyan.cat: could not connect to host
 haizum.pro: could not connect to host
 hajekdavid.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 hajnzic.at: max-age too low: 0
@@ -13303,25 +14708,28 @@ haktec.de: could not connect to host
 haku.moe: could not connect to host
 hakugin.me: could not connect to host
 hakugin.org: could not connect to host
-hakurei.moe: did not receive HSTS header
+hakurei.moe: could not connect to host
 hal-9th.space: could not connect to host
 halbowman.com: did not receive HSTS header
 halcyonsbastion.com: could not connect to host
 haleo.net: did not receive HSTS header
 half-logic.eu.org: could not connect to host
-half.host: could not connect to host
 halfco.de: could not connect to host
 halfwaythere.eu: could not connect to host
+halihali.cc: did not receive HSTS header
 halihali.tv: did not receive HSTS header
 halkyon.net: could not connect to host
 halledesprix.fr: did not receive HSTS header
 halletienne.fr: did not receive HSTS header
 hallettxn.com: did not receive HSTS header
+halloweenmusic.org: did not receive HSTS header
 halloweenthings.website: could not connect to host
 hallumlaw.com: did not receive HSTS header
 halo.red: could not connect to host
 halongbaybackpackertour.com: could not connect to host
 haloobaloo.com: could not connect to host
+haloria.com: did not receive HSTS header
+halovanic.org: could not connect to host
 halta.info: did not receive HSTS header
 halyul.cc: could not connect to host
 haman.nl: could not connect to host
@@ -13334,14 +14742,17 @@ hamon.cc: did not receive HSTS header
 hamsters-uk.org: did not receive HSTS header
 hamu.blue: could not connect to host
 hanakatova.com: did not receive HSTS header
+hanami-web.tokyo.jp: did not receive HSTS header
 hanashi.eu: did not receive HSTS header
 hancatemc.com: did not receive HSTS header
 hancc.net: could not connect to host
+hancockcountyohioelections.gov: did not receive HSTS header
 handenafvanhetmedischdossier.nl: could not connect to host
 handicapindeles.nl: could not connect to host
 handicaps-ensemble.org: did not receive HSTS header
 handinhandfoundation.org.uk: did not receive HSTS header
 handiworker.com: could not connect to host
+handlecoin.com: could not connect to host
 handmade-workshop.de: could not connect to host
 handmadegobelin.com: did not receive HSTS header
 handmadehechoamano.com: could not connect to host
@@ -13351,25 +14762,23 @@ handsandall.com: did not receive HSTS header
 handy-center.net: did not receive HSTS header
 handyglas.com: could not connect to host
 handyklinik.info: did not receive HSTS header
-hanfu.la: did not receive HSTS header
+hanfu.la: could not connect to host
 hang333.moe: could not connect to host
 hang333.pw: could not connect to host
 hangar18-modelismo.com.br: could not connect to host
 hangout: could not connect to host (error ignored - included regardless)
-hangw.xyz: could not connect to host
 hanimalis.fr: could not connect to host
+hanjuapp.com: could not connect to host
 hanksservice.com: could not connect to host
 hannes-speelgoedencadeautjes.nl: did not receive HSTS header
 hanoibuffet.com: could not connect to host
 hans-natur.de: did not receive HSTS header
-hansahome.ddns.net: could not connect to host
 hansashop.eu: did not receive HSTS header
 hansashop.fi: did not receive HSTS header
 hansch.ventures: could not connect to host
 hanying55.com: did not receive HSTS header
 hanying6.com: could not connect to host
 hanying9.com: did not receive HSTS header
-hanyingw.com: did not receive HSTS header
 hanys.xyz: could not connect to host
 hanzcollection.online: could not connect to host
 haobo111.com: could not connect to host
@@ -13382,7 +14791,6 @@ haobo6666.com: could not connect to host
 haobo7777.com: could not connect to host
 haoqi.men: did not receive HSTS header
 haorenka.cc: max-age too low: 0
-haorenka.org: could not connect to host
 haoshen666.com: max-age too low: 0
 haotown.cn: did not receive HSTS header
 haoyugao.com: did not receive HSTS header
@@ -13401,14 +14809,19 @@ happydietplan.com: could not connect to host
 happyfabric.me: did not receive HSTS header
 happygastro.com: could not connect to host
 happyhealthylifestyle.com: did not receive HSTS header
-happyheartsabode.com: could not connect to host
+happyhourboard.com: did not receive HSTS header
+happynewyear2020countdown.com: did not receive HSTS header
+happyschnapper.com: could not connect to host
 happytiger.eu: could not connect to host
 hapsfordmill.co.uk: could not connect to host
 hapvm.com: could not connect to host
 haqaza.com.br: could not connect to host
+haraj.com.sa: did not receive HSTS header
 harambe.site: could not connect to host
 harbourweb.net: could not connect to host
+hardergayporn.com: could not connect to host
 hardesec.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+hardfalcon.net: could not connect to host
 hardline.xyz: could not connect to host
 hardloopfysio.nl: did not receive HSTS header
 hardtime.ru: could not connect to host
@@ -13419,12 +14832,15 @@ haribosupermix.com: could not connect to host
 hariome.com: did not receive HSTS header
 harlentimberproducts.co.uk: did not receive HSTS header
 harlor.de: could not connect to host
-harpersvilleal.gov: could not connect to host
+harmfarm.nl: did not receive HSTS header
+harp.gov: could not connect to host
+harpersvilleal.gov: did not receive HSTS header
 harrcostl.com: could not connect to host
 harrisonsdirect.co.uk: did not receive HSTS header
 harrisonvillenaz.org: did not receive HSTS header
 harristony.com: could not connect to host
 harry-baker.com: could not connect to host
+harrygerritstransport.nl: could not connect to host
 harryharrison.co: could not connect to host
 harryphoto.fr: did not receive HSTS header
 harrypottereditor.com: could not connect to host
@@ -13442,16 +14858,16 @@ hasabig.wang: could not connect to host
 hasalittle.wang: could not connect to host
 hasdf.de: could not connect to host
 hash-list.com: could not connect to host
-hashiconf.com: did not receive HSTS header
+hashes.org: did not receive HSTS header
 hashiconf.eu: did not receive HSTS header
-hashidays.com: did not receive HSTS header
 hashnode.com: did not receive HSTS header
 hashplex.com: could not connect to host
 hashtagswimwear.com: could not connect to host
-hasinase.de: could not connect to host
-hasst.schule: could not connect to host
+hasinase.de: did not receive HSTS header
+hasst.schule: did not receive HSTS header
+hastaneurunleri.com.tr: could not connect to host
 haste.ch: could not connect to host
-hastherebeenamassshooting.today: could not connect to host
+hastherebeenamassshooting.today: did not receive HSTS header
 hatcherlawgroupnm.com: did not receive HSTS header
 hatethe.uk: could not connect to host
 hatoko.net: could not connect to host
@@ -13467,7 +14883,6 @@ hauswarteam.com: could not connect to host
 hav.com: could not connect to host
 havasuhomepage.com: could not connect to host
 havasutacohacienda.com: could not connect to host
-haveacry.com: did not receive HSTS header
 haveeruexaminer.com: could not connect to host
 haven-staging.cloud: could not connect to host
 haven.cloud: could not connect to host
@@ -13475,14 +14890,13 @@ havenmoon.com: could not connect to host
 havenswift-hosting.co.uk: did not receive HSTS header
 hawawa.kr: could not connect to host
 hawk-la.com: could not connect to host
-hawkargentina.com: could not connect to host
 hawthornharpist.com: could not connect to host
-haxoff.com: could not connect to host
+haxoff.com: did not receive HSTS header
 haxon.me: could not connect to host
 haydenhill.us: could not connect to host
 haydentomas.com: did not receive HSTS header
 hayleishop.fr: could not connect to host
-haystack-staging.com: could not connect to host
+haystack-staging.com: did not receive HSTS header
 hayzepvp.us: could not connect to host
 hazcod.com: could not connect to host
 haze-productions.com: could not connect to host
@@ -13491,10 +14905,12 @@ haze.productions: could not connect to host
 haze.sucks: could not connect to host
 hazeltime.se: could not connect to host
 hazloconlapix.com: could not connect to host
+hazukilab.com: did not receive HSTS header
 hazyrom.net: could not connect to host
 hb1111.com: could not connect to host
 hb3333.com: could not connect to host
 hb4444.com: could not connect to host
+hb6365.com: did not receive HSTS header
 hb6729.com: could not connect to host
 hb9397.com: could not connect to host
 hbbet.com: could not connect to host
@@ -13511,12 +14927,14 @@ hbvip07.com: could not connect to host
 hbvip08.com: could not connect to host
 hbxianghang.com: could not connect to host
 hcaz.io: did not receive HSTS header
+hceu-performance.com: could not connect to host
 hcfhomelottery.ca: did not receive HSTS header
 hcoe.fi: did not receive HSTS header
 hcr.io: did not receive HSTS header
 hcs-company.nl: did not receive HSTS header
 hcstr.com: could not connect to host
 hd4138.com: could not connect to host
+hd5454.com: could not connect to host
 hd6556.com: could not connect to host
 hd6729.com: could not connect to host
 hd6957.com: could not connect to host
@@ -13525,11 +14943,11 @@ hd9721.com: could not connect to host
 hda.me: did not receive HSTS header
 hdcamvids.com: did not receive HSTS header
 hddrecovery.net.au: could not connect to host
-hdm.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 hdrboundless.com: could not connect to host
 hdritalyphotos.com: did not receive HSTS header
 hdserver.info: did not receive HSTS header
 hdsmigrationtool.com: could not connect to host
+hdtwinks.com: could not connect to host
 hduin.xyz: could not connect to host
 hdy.nz: could not connect to host
 head-shop.lt: could not connect to host
@@ -13537,12 +14955,11 @@ head-shop.lv: could not connect to host
 headlinesclub.com: could not connect to host
 headmates.xyz: could not connect to host
 headshotharp.de: did not receive HSTS header
+health-and-beauty-news.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 health-match.com.au: could not connect to host
 healthcare6.com: did not receive HSTS header
-healtheals.com: did not receive HSTS header
 healthery.com: did not receive HSTS header
 healthfitapp.com: could not connect to host
-healthiercompany.com: did not receive HSTS header
 healthierweight.co.uk: did not receive HSTS header
 healthjoy.com: did not receive HSTS header
 healthlabs.com: did not receive HSTS header
@@ -13550,20 +14967,25 @@ healthmatchapp.com: could not connect to host
 healthyandnaturalliving.com: did not receive HSTS header
 healthybeterlife.click: could not connect to host
 healthycod.in: could not connect to host
+healthyfitfood.com: could not connect to host
+healthylifeelite.com: could not connect to host
 healthyrecharge.com: did not receive HSTS header
 healtious.com: could not connect to host
 heap.zone: did not receive HSTS header
 hearinghelpexpress.com: did not receive HSTS header
 hearingshofar.com: could not connect to host
-heart.ge: did not receive HSTS header
+hearkener.com: could not connect to host
+heart.ge: could not connect to host
 heartfelttokens.com: did not receive HSTS header
 heartgames.pl: could not connect to host
 heartlandrentals.com: did not receive HSTS header
 heartsucker.com: could not connect to host
 hearty.blog: could not connect to host
-hearty.cf: did not receive HSTS header
+hearty.cf: could not connect to host
 hearty.ga: could not connect to host
+hearty.gq: could not connect to host
 hearty.ink: could not connect to host
+hearty.ml: could not connect to host
 hearty.ooo: could not connect to host
 hearty.org.tw: could not connect to host
 hearty.space: could not connect to host
@@ -13574,6 +14996,7 @@ heartyapp.com: could not connect to host
 heartyapp.tw: could not connect to host
 heartyme.net: could not connect to host
 heathmanners.com: could not connect to host
+heatingpartswarehouse.co.uk: did not receive HSTS header
 heaven.moe: could not connect to host
 heavenlyseals.com: could not connect to host
 heavenlysmokenc.com: could not connect to host
@@ -13592,13 +15015,16 @@ heeler.blue: could not connect to host
 heeler.red: could not connect to host
 heidilein.info: did not receive HSTS header
 heijblok.com: did not receive HSTS header
+heikorichter.name: could not connect to host
 heimnetze.org: could not connect to host
 heimprofis.de: could not connect to host
 heinemann.io: did not receive HSTS header
+heinrich-kleyer-schule.de: did not receive HSTS header
 heisenberg.co: could not connect to host
 hejahanif.se: did not receive HSTS header
 hejianpeng.cn: could not connect to host
 hejsupport.se: could not connect to host
+heka.ai: could not connect to host
 hekeki.com: could not connect to host
 hektenkairez.com: could not connect to host
 hele.cz: could not connect to host
@@ -13608,15 +15034,18 @@ helgakristoffer.com: could not connect to host
 helgakristoffer.wedding: could not connect to host
 helicaldash.com: could not connect to host
 helioanodyne.eu: did not receive HSTS header
+helios4.com: could not connect to host
 helixflight.com: did not receive HSTS header
 hellenicaward.com: did not receive HSTS header
-hello-nestor.com: did not receive HSTS header
-helloaigo.com: could not connect to host
+helles-koepfchen.de: did not receive HSTS header
+hello-nestor.com: could not connect to host
+helloaigo.com: did not receive HSTS header
 hellofilters.com: could not connect to host
-hellomouse.tk: could not connect to host
+hellofrom.com: did not receive HSTS header
+hellomouse.tk: did not receive HSTS header
 hellotandem.com: could not connect to host
 hellothought.net: could not connect to host
-hellscanyonraft.com: did not receive HSTS header
+helloyemek.com: did not receive HSTS header
 helmut-a-binser.de: did not receive HSTS header
 help207.xyz: could not connect to host
 helpadmin.net: could not connect to host
@@ -13630,7 +15059,7 @@ helpfute.com: did not receive HSTS header
 helpgerer.com: did not receive HSTS header
 helpgoabroad.com: did not receive HSTS header
 helpium.de: did not receive HSTS header
-helpmebuild.com: did not receive HSTS header
+helpmebuild.com: could not connect to host
 helpmij.cf: could not connect to host
 helppresta.com: did not receive HSTS header
 helprocleaningservices.com: did not receive HSTS header
@@ -13642,8 +15071,10 @@ helup.com: did not receive HSTS header
 hemainteriors.com: did not receive HSTS header
 hemlockhillscabinrentals.com: did not receive HSTS header
 hencagon.com: could not connect to host
-henchman.io: could not connect to host
+henchman.io: did not receive HSTS header
 hendersonrealestatepros.com: did not receive HSTS header
+hendersonvalleyautomotive.co.nz: could not connect to host
+hendranicholas.com: did not receive HSTS header
 hendyisaac.com: could not connect to host
 hengelsportdeal.com: could not connect to host
 henhenlu.com: could not connect to host
@@ -13653,6 +15084,7 @@ henok.eu: did not receive HSTS header
 henriknoerr.com: could not connect to host
 henriksen.is: could not connect to host
 henrock.net: could not connect to host
+henrycountyohio.gov: did not receive HSTS header
 hentai.design: could not connect to host
 hentaimaster.net: could not connect to host
 hentaiworld.cc: could not connect to host
@@ -13664,27 +15096,30 @@ herbandpat.org: could not connect to host
 herbertmouwen.nl: could not connect to host
 herculex.fi: could not connect to host
 here.ml: could not connect to host
-here4funpartysolutions.ie: did not receive HSTS header
+here4funpartysolutions.ie: could not connect to host
 herealways.tk: could not connect to host
 herebedragons.io: did not receive HSTS header
 heribe-maruo.com: did not receive HSTS header
 heribro.com: did not receive HSTS header
 heritagedentistry.ca: could not connect to host
 hermann.in: could not connect to host
-hermes-net.de: could not connect to host
 hermes-servizi.it: could not connect to host
 herndl.org: did not receive HSTS header
 hernn.com: could not connect to host
 heroin.org.uk: could not connect to host
+heroku.ga: could not connect to host
 heroliker.com: did not receive HSTS header
 herpaderp.net: could not connect to host
 herqqq.com: did not receive HSTS header
 herr-webdesign.de: could not connect to host
 herramientasbazarot.com: did not receive HSTS header
+herrderzeit.de: could not connect to host
 herrenfahrt.com: did not receive HSTS header
 herrtxbias.org: could not connect to host
 hervespanneut.com: did not receive HSTS header
 herzbotschaft.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+hestervanderheijden.nl: could not connect to host
+hetdorrup.nl: did not receive HSTS header
 hetluisterbos.be: did not receive HSTS header
 hetmeisjeachterpauw.nl: could not connect to host
 hetzflix.stream: did not receive HSTS header
@@ -13696,7 +15131,10 @@ hexadecimal.tech: could not connect to host
 hexaware.com: did not receive HSTS header
 hexclock.io: could not connect to host
 hexe.net: did not receive HSTS header
+hexhu.com: could not connect to host
+hexicurity.com: did not receive HSTS header
 hexobind.com: could not connect to host
+heyapakabar.com: did not receive HSTS header
 heyfringe.com: could not connect to host
 heyguevara.com: did not receive HSTS header
 heyjournal.com: could not connect to host
@@ -13716,25 +15154,25 @@ hg881.com: could not connect to host
 hgfa.fi: could not connect to host
 hgvnet.de: could not connect to host
 hgw777.cc: did not receive HSTS header
+hgyoseo.com: could not connect to host
 hh46953255.com: max-age too low: 0
 hh5197.co: could not connect to host
 hh6729.co: could not connect to host
 hh6729.com: did not receive HSTS header
 hh6957.co: could not connect to host
 hh9297.co: could not connect to host
-hh9397.com: could not connect to host
-hh9721.com: could not connect to host
+hh9397.com: did not receive HSTS header
+hh9721.com: did not receive HSTS header
 hh9728.co: could not connect to host
 hhfgaming.com: could not connect to host
 hhuitvaart.nl: did not receive HSTS header
-hi-media.ir: did not receive HSTS header
+hi-media.ir: could not connect to host
 hi.team: could not connect to host
 hi808.net: did not receive HSTS header
 hialatv.com: could not connect to host
 hibanaworld.com: could not connect to host
 hibilog.com: could not connect to host
 hicn.gq: could not connect to host
-hicts.nl: could not connect to host
 hiddendepth.ie: did not receive HSTS header
 hiddenmail.xyz: could not connect to host
 hiddenprocess.com: could not connect to host
@@ -13742,17 +15180,19 @@ hiddenrefuge.eu.org: did not receive HSTS header
 hiddout.com: could not connect to host
 hidedd.com: could not connect to host
 hideftv.deals: could not connect to host
+hideo54.com: did not receive HSTS header
 hidrofire.com: did not receive HSTS header
 hiexmerida-mailing.com: could not connect to host
 hifly.com.tw: could not connect to host
 higgsboson.tk: did not receive HSTS header
-higherpress.org: could not connect to host
+highclasseducation.com: did not receive HSTS header
 highgrove.org.uk: could not connect to host
 highland-webcams.com: could not connect to host
 highlandsfl.gov: did not receive HSTS header
 highlightsfootball.com: did not receive HSTS header
 highlnk.com: could not connect to host
 highperformancehvac.com: did not receive HSTS header
+highpressuretech.com: did not receive HSTS header
 highspeedinternetservices.ca: could not connect to host
 highsurf-miyazaki.com: could not connect to host
 hightechbasementsystems.com: could not connect to host
@@ -13771,7 +15211,7 @@ hikarukujo.com: did not receive HSTS header
 hikinggearlab.com: did not receive HSTS header
 hikustore.com: could not connect to host
 hilaolu.com: could not connect to host
-hilaolu.studio: did not receive HSTS header
+hilaolu.studio: could not connect to host
 hilariousbeer.com.mx: could not connect to host
 hilde.link: could not connect to host
 hildegardis-schule.de: did not receive HSTS header
@@ -13780,7 +15220,8 @@ hill.selfip.net: could not connect to host
 hilnu.tk: could not connect to host
 hiltonhyland.com: did not receive HSTS header
 himalaya-cross.com: could not connect to host
-himalaya.video: could not connect to host
+himalaya.video: did not receive HSTS header
+himalayanyogashram.com: did not receive HSTS header
 himcy.ga: could not connect to host
 himens.com: could not connect to host
 hindi-movie.org: could not connect to host
@@ -13793,28 +15234,33 @@ hingle.me: could not connect to host
 hinkel-sohn.de: did not receive HSTS header
 hintergedanken.com: could not connect to host
 hintermeier-rae.at: did not receive HSTS header
+hinyari.net: did not receive HSTS header
 hiojbk.com: could not connect to host
 hiphop.ren: could not connect to host
 hiphopconvention.nl: could not connect to host
 hipi.jp: could not connect to host
 hipnoseinstitute.org: did not receive HSTS header
+hippiekiller.net: could not connect to host
 hippo.ge: did not receive HSTS header
 hiq.sh: could not connect to host
 hiqfleet.co.uk: did not receive HSTS header
-hiraku.me: did not receive HSTS header
+hiraku.me: could not connect to host
+hire-a-coder.de: did not receive HSTS header
 hirefitness.co.uk: did not receive HSTS header
 hireprofs.com: could not connect to host
 hiresuccessstaffing.com: could not connect to host
 hiretech.com: did not receive HSTS header
-hirokilog.com: did not receive HSTS header
+hirokilog.com: could not connect to host
 hirte-digital.de: did not receive HSTS header
 hirtzfr.eu: did not receive HSTS header
 hirzaconsult.ro: did not receive HSTS header
-hisingenrunt.se: did not receive HSTS header
+hisingenrunt.se: could not connect to host
+hisingensck.se: could not connect to host
 histoire-theatre.com: could not connect to host
 history.pe: could not connect to host
 hitchunion.org: could not connect to host
 hiteshbrahmbhatt.com: did not receive HSTS header
+hiteshjoshi.com: could not connect to host
 hitoy.org: could not connect to host
 hitrek.ml: could not connect to host
 hittipps.com: could not connect to host
@@ -13823,6 +15269,8 @@ hivatal-info.hu: could not connect to host
 hizliwp.net: did not receive HSTS header
 hj2999.com: could not connect to host
 hj3455.com: could not connect to host
+hj555.cc: could not connect to host
+hj556.cc: could not connect to host
 hj9379.com: could not connect to host
 hj99111.com: could not connect to host
 hj99177.com: could not connect to host
@@ -13834,29 +15282,39 @@ hjkhs.cn: could not connect to host
 hjtky.cn: could not connect to host
 hjw-kunstwerk.de: did not receive HSTS header
 hknet.at: did not receive HSTS header
+hkno.it: could not connect to host
+hks-ffm.de: did not receive HSTS header
 hktkl.com: could not connect to host
 hl8999.com: could not connect to host
 hledejpravnika.cz: could not connect to host
+hlg66.cc: could not connect to host
+hlg88.cc: could not connect to host
 hlidacnajemneho.cz: did not receive HSTS header
 hlin.cloud: did not receive HSTS header
 hlpublicidad.com: could not connect to host
 hlyue.com: did not receive HSTS header
 hm5189.com: max-age too low: 0
 hm773.net: did not receive HSTS header
-hm773.org: could not connect to host
 hmcdj.cn: could not connect to host
+hmeonot.org.il: did not receive HSTS header
 hmksq.ae: max-age too low: 7776000
 hmm.nyc: could not connect to host
+hn122.cc: could not connect to host
 hnrk.io: did not receive HSTS header
 hnwebi.com: could not connect to host
+ho18.net: could not connect to host
+ho68.net: could not connect to host
 hoast.xyz: could not connect to host
 hobaugh.social: could not connect to host
 hobby-gamerz-community.de: did not receive HSTS header
+hobbyspeed.com: did not receive HSTS header
 hocassian.cn: did not receive HSTS header
 hochdorf-tennis.de: did not receive HSTS header
+hochzeit-dana-laurens.de: could not connect to host
 hochzeitsgezwitscher.de: did not receive HSTS header
 hochzeitshelferlein.de: did not receive HSTS header
 hockeyapp.ch: could not connect to host
+hod-ok.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 hodamakade.com: could not connect to host
 hodne.io: could not connect to host
 hodnos.com: did not receive HSTS header
@@ -13867,7 +15325,6 @@ hoerbuecher-und-hoerspiele.de: could not connect to host
 hoeveiligismijn.nl: could not connect to host
 hoezzi.nl: did not receive HSTS header
 hoffens.se: did not receive HSTS header
-hofiprojekt.cz: did not receive HSTS header
 hogar123.es: could not connect to host
 hohlhupe.de: did not receive HSTS header
 hohlhupen.de: did not receive HSTS header
@@ -13879,9 +15336,13 @@ hokieprivacy.org: did not receive HSTS header
 hokify.at: did not receive HSTS header
 hokify.ch: did not receive HSTS header
 hokify.de: did not receive HSTS header
-hokusya.com: did not receive HSTS header
+hokung.xyz: could not connect to host
 holad.de: did not receive HSTS header
+holenergies.com: did not receive HSTS header
+holenergies.fr: did not receive HSTS header
+holgerlehner.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 holidayincotswolds.co.uk: could not connect to host
+holidaypackage.co: did not receive HSTS header
 holifestival-freyung.de: could not connect to host
 holini.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 hollandguns.com: did not receive HSTS header
@@ -13892,20 +15353,23 @@ holmq.dk: max-age too low: 2592000
 holodeck.us: could not connect to host
 holowaty.me: could not connect to host
 holstphoto.com: max-age too low: 2592000
+holundersberg.de: could not connect to host
 holymoly.lu: could not connect to host
 holymolycasinos.com: did not receive HSTS header
+holzed.com: could not connect to host
 homa.website: could not connect to host
 homads.com: did not receive HSTS header
 home-cloud.online: could not connect to host
 home-coaching.be: did not receive HSTS header
 home-craft.de: could not connect to host
-home-handymen.co.uk: could not connect to host
+home-handymen.co.uk: did not receive HSTS header
 home-insurance-quotes.tk: could not connect to host
 home-v.ind.in: could not connect to host
 home-work-jobs.com: could not connect to host
 homeadore.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 homeandyarddetailing.com: could not connect to host
 homeautomated.com: could not connect to host
+homebodyalberta.com: did not receive HSTS header
 homecarpetcleaning.co.uk: could not connect to host
 homeclouding.de: could not connect to host
 homecoming.city: could not connect to host
@@ -13914,24 +15378,29 @@ homedatacenter.com.br: did not receive HSTS header
 homedna.com: did not receive HSTS header
 homeeducator.com: did not receive HSTS header
 homeexx.com: could not connect to host
-homehuntertoronto.com: did not receive HSTS header
+homehuntertoronto.com: could not connect to host
+homelabquotes.com: did not receive HSTS header
 homem-viril.com: could not connect to host
 homeofjones.net: could not connect to host
 homeownersassociationmanagementla.com: could not connect to host
+homeownersinsurancenevada.com: could not connect to host
+homeownersinsurancenv.com: could not connect to host
 homeremodelingcontractorsca.com: did not receive HSTS header
 homes-in-norcal.com: did not receive HSTS header
 homes-in-stockton.com: did not receive HSTS header
 homesandal.com: did not receive HSTS header
-homeseller.co.uk: could not connect to host
+homeseller.co.uk: did not receive HSTS header
 homesfordinner.ca: could not connect to host
 homestay.id: could not connect to host
 homewatt.co.uk: could not connect to host
-homeyantra.com: did not receive HSTS header
+homeyantra.com: could not connect to host
 homezhi.com.tw: could not connect to host
 homoglyph.net: could not connect to host
 homyremedies.com: could not connect to host
 honeybeard.co.uk: did not receive HSTS header
+honeymaze.com: could not connect to host
 honeytracks.com: could not connect to host
+honglitrading.co.uk: did not receive HSTS header
 hongyd.online: could not connect to host
 hongzhaxiaofendui.com: could not connect to host
 hongzu.cc: could not connect to host
@@ -13939,18 +15408,19 @@ hongzuwang.com: could not connect to host
 hongzuzhibo.com: could not connect to host
 honigdealer.de: did not receive HSTS header
 honkhonk.net: could not connect to host
-honkion.net: did not receive HSTS header
 honoka.tech: could not connect to host
-honoo.com: did not receive HSTS header
+honoo.com: could not connect to host
 hoodiecrow.com: did not receive HSTS header
 hoodoo.io: could not connect to host
 hoodoo.tech: could not connect to host
 hoodtrader.com: could not connect to host
 hoofddorp-centraal.nl: could not connect to host
 hookandloom.com: did not receive HSTS header
-hookupndate.com: did not receive HSTS header
+hookany.com: did not receive HSTS header
 hoopsacademyusa.com: could not connect to host
-hope-line-earth.jp: could not connect to host
+hoosa.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+hoovism.com: could not connect to host
+hope-line-earth.jp: did not receive HSTS header
 hopemeet.info: could not connect to host
 hopesb.org: did not receive HSTS header
 hopewellproperties.co.uk: did not receive HSTS header
@@ -13960,19 +15430,23 @@ hopla.sg: did not receive HSTS header
 hopo.design: could not connect to host
 hor.website: could not connect to host
 horace.li: did not receive HSTS header
+horairetrain.nl: could not connect to host
 horisonttimedia.fi: did not receive HSTS header
 horizonmoto.fr: did not receive HSTS header
 horizonresourcesinc.com: could not connect to host
 horkel.cf: could not connect to host
 horning.co: did not receive HSTS header
 hornyforhanzo.com: could not connect to host
-horoca.net: did not receive HSTS header
+horo.me: could not connect to host
 horosho.in: could not connect to host
+horrendous-servers.com: could not connect to host
 horrorserv.com: could not connect to host
 horseboners.xxx: could not connect to host
+horsegateway.com: could not connect to host
 hortifarm.ro: did not receive HSTS header
 horvathtom.com: could not connect to host
 horvatnyelvkonyv.hu: could not connect to host
+hospeda1.com.br: did not receive HSTS header
 host.black: could not connect to host
 host4me.ml: could not connect to host
 host97.de: could not connect to host
@@ -13983,27 +15457,35 @@ hostedbgp.net: did not receive HSTS header
 hostedcomments.com: could not connect to host
 hostedtalkgadget.google.com: did not receive HSTS header (error ignored - included regardless)
 hostelite.com: did not receive HSTS header
-hostfuture.co.in: could not connect to host
+hostfuture.co.in: did not receive HSTS header
 hostgarou.com: did not receive HSTS header
 hostgigz.com: did not receive HSTS header
 hostinaus.com.au: did not receive HSTS header
 hostingfirst.nl: could not connect to host
 hostingfj.com: could not connect to host
 hostingsams.com: did not receive HSTS header
+hostingsrv.nl: did not receive HSTS header
 hostisan.com: could not connect to host
 hostma.ma: could not connect to host
+hostmark.pl: did not receive HSTS header
 hosts.cf: could not connect to host
 hostserv.org: could not connect to host
-hostworkz.com: did not receive HSTS header
+hostworkz.com: could not connect to host
 hosyaku.gr.jp: could not connect to host
+hot-and-new.gr: did not receive HSTS header
+hotartup.com: could not connect to host
 hotcamvids.com: could not connect to host
 hotchillibox.co.za: could not connect to host
 hotchoc.io: could not connect to host
 hotdoc.com.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 hotel-huberhof.at: did not receive HSTS header
 hotel-kronjuwel.de: could not connect to host
+hotel-pension-sonnalp.eu: did not receive HSTS header
+hotel1926.com.mt: did not receive HSTS header
 hotelarevalo.com: max-age too low: 0
 hotelaustria-wien.at: did not receive HSTS header
+hotellerssolutions.com: did not receive HSTS header
+hotellilas.in: could not connect to host
 hotello.io: could not connect to host
 hotelmadhuwanvihar.com: could not connect to host
 hotelromacuernavaca.com.mx: did not receive HSTS header
@@ -14014,30 +15496,35 @@ hotesb.net: could not connect to host
 hothiphopmusic.com: did not receive HSTS header
 hotlog.tk: could not connect to host
 hoto.us: did not receive HSTS header
+hotplug.gr: did not receive HSTS header
 hotpoint-training.com: did not receive HSTS header
 hottestwebcamgirls.org: could not connect to host
+hottubhirenewcastle.co.uk: did not receive HSTS header
 hotwifer.com: could not connect to host
 houdremont-la-courneuve.info: could not connect to host
 houhaoyi.com: max-age too low: 0
 houkago-step.com: did not receive HSTS header
 house-of-japan.co.jp: did not receive HSTS header
 housedesigninfo.tk: could not connect to host
-houseinvestor.com: did not receive HSTS header
+houseinvestor.com: could not connect to host
+houselovin.pt: did not receive HSTS header
 housemaadiah.org: could not connect to host
 housemates.uk.com: could not connect to host
-housetalk.ru: did not receive HSTS header
+houseofyee.com: could not connect to host
+housetalk.ru: could not connect to host
 housingstudents.org.uk: could not connect to host
-houstontxlocksmiths.com: could not connect to host
-how-old.info: did not receive HSTS header
+houstoncreditlaw.com: could not connect to host
+houstontxlocksmiths.com: did not receive HSTS header
 how2fsbo.com: could not connect to host
 how2play.pl: did not receive HSTS header
 howardtyson.com: did not receive HSTS header
 howardwatts.co.uk: did not receive HSTS header
-howesky.com: could not connect to host
+howbigismybuilding.com: did not receive HSTS header
+howesky.com: did not receive HSTS header
 howfargames.com: could not connect to host
-howmanymilesfrom.com: could not connect to host
 howrandom.org: could not connect to host
-howtechvalley.com: did not receive HSTS header
+howson.me: could not connect to host
+howtechvalley.com: could not connect to host
 howtocommunicate.com.au: did not receive HSTS header
 howtocuremysciatica.com: could not connect to host
 howtofreelance.com: did not receive HSTS header
@@ -14052,15 +15539,16 @@ hpnow.com.br: could not connect to host
 hppub.info: could not connect to host
 hppub.org: could not connect to host
 hppub.site: could not connect to host
-hqhh.org: could not connect to host
 hqhost.net: did not receive HSTS header
+hqwebhosting.tk: could not connect to host
 hr-intranet.com: could not connect to host
 hr-tech.store: could not connect to host
 hr365.dk: did not receive HSTS header
 hr98.tk: could not connect to host
-hr98.xyz: did not receive HSTS header
+hr98.xyz: could not connect to host
 hrabogados.com: could not connect to host
 hrackydomino.cz: did not receive HSTS header
+hreflang.info: could not connect to host
 hrfhomelottery.com: did not receive HSTS header
 hrjfeedstock.com: did not receive HSTS header
 hrk.io: did not receive HSTS header
@@ -14070,19 +15558,20 @@ hrtech.store: could not connect to host
 hrtraining.com.au: did not receive HSTS header
 hru.gov: could not connect to host
 hs-umformtechnik.de: did not receive HSTS header
-hserver.top: could not connect to host
-hsex.tv: could not connect to host
-hsimrall.com: did not receive HSTS header
+hserver.top: did not receive HSTS header
+hsex.tv: did not receive HSTS header
 hsir.me: could not connect to host
 hsts-preload-test.xyz: could not connect to host
 hsts.com.br: could not connect to host
 hsts.date: could not connect to host
 hstspreload.me: could not connect to host
+hsuan.pw: did not receive HSTS header
 hsulei.com: could not connect to host
 hszhyy120.com: could not connect to host
 htcp99.com: could not connect to host
 htdcomputer.vn: could not connect to host
 htlball.at: could not connect to host
+htmdom.com: could not connect to host
 html-lab.tk: could not connect to host
 html2gutenberg.com: did not receive HSTS header
 htmue.net: did not receive HSTS header
@@ -14093,9 +15582,12 @@ httphacker.com: could not connect to host
 https.ps: could not connect to host
 https.ren: could not connect to host
 httpsalarm.com: could not connect to host
+httpsarnemergan.ml: could not connect to host
+httpsecurityreport.com: could not connect to host
 httpstaak.tk: could not connect to host
 httpstatuscode418.xyz: could not connect to host
 httptest.net: could not connect to host
+htxlaunch.sg: did not receive HSTS header
 hu8188.com: could not connect to host
 hu8518.com: could not connect to host
 hu8555.com: could not connect to host
@@ -14120,25 +15612,26 @@ huangliangbo.com: did not receive HSTS header
 huangting.me: did not receive HSTS header
 huangzenghao.com: could not connect to host
 huarongdao.com: could not connect to host
+huawenyy.com: could not connect to host
 hubbroker.com: did not receive HSTS header
-hubertmoszka.pl: could not connect to host
+hubertmoszka.pl: did not receive HSTS header
+hubok.net: could not connect to host
 hubrecht.at: could not connect to host
 hubrick.com: did not receive HSTS header
-hudebnibazarmixer.cz: could not connect to host
 hudhaifahgoga.co.za: could not connect to host
 hudingyuan.cn: did not receive HSTS header
+hudognik.com: did not receive HSTS header
 hudsonwi.gov: did not receive HSTS header
-huffsinsurance.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 hugh-dancy.com: could not connect to host
 hughtodd.ink: could not connect to host
 hugizrecords.com: did not receive HSTS header
 hugo6.com: could not connect to host
 hugocollignon.fr: could not connect to host
-hugonote.ovh: could not connect to host
-hugovr.nl: did not receive HSTS header
+hugofs.com: could not connect to host
+hugovr.nl: could not connect to host
 hui89119.com: max-age too low: 0
 huiser.nl: could not connect to host
-hukaloh.com: did not receive HSTS header
+hukaloh.com: could not connect to host
 hukkatavara.com: could not connect to host
 hukutuu.com: could not connect to host
 hulsoft.co.uk: could not connect to host
@@ -14154,7 +15647,9 @@ humblebee.foundation: could not connect to host
 humblebee.me.uk: did not receive HSTS header
 humblefinances.com: could not connect to host
 humboldtcountynv.gov: could not connect to host
+humdingersnj.com: did not receive HSTS header
 humeurs.net: could not connect to host
+hummingbird.services: could not connect to host
 humorcaliente.com: could not connect to host
 humorce.com: could not connect to host
 humortuga.pt: could not connect to host
@@ -14163,11 +15658,13 @@ humpi.at: could not connect to host
 humpteedumptee.in: did not receive HSTS header
 hundeformel.de: could not connect to host
 hundesport-psvhalle.de: did not receive HSTS header
+hunngard.com: could not connect to host
 hunterjohnson.io: could not connect to host
-huntingtonwv.gov: could not connect to host
+huntingtonwv.gov: did not receive HSTS header
 huntsvillealtransit.gov: did not receive HSTS header
 huodongweb.com: could not connect to host
 huongquynh.com: did not receive HSTS header
+huoqibaike.club: could not connect to host
 hup.blue: did not receive HSTS header
 hupp.se: did not receive HSTS header
 huren.nl: did not receive HSTS header
@@ -14177,6 +15674,7 @@ hustle.com: did not receive HSTS header
 hustle.life: did not receive HSTS header
 hustunique.com: did not receive HSTS header
 huto.ml: could not connect to host
+huuduc.xyz: could not connect to host
 huwcbjones.uk: could not connect to host
 huwjones.me: could not connect to host
 huyaya123.com: max-age too low: 0
@@ -14188,29 +15686,34 @@ hwaddress.com: max-age too low: 60
 hwcine.com: could not connect to host
 hwinfo.com: did not receive HSTS header
 hwjkk.com: could not connect to host
+hx56.cc: could not connect to host
+hx678.cc: could not connect to host
+hx789.cc: could not connect to host
 hxit.cn: could not connect to host
 hxsf.me: could not connect to host
+hxying.com: could not connect to host
 hy1.com: could not connect to host
 hyakumachi.com: did not receive HSTS header
 hyansc.com: max-age too low: 0
 hybridiyhdistys.fi: could not connect to host
 hybridklubben.fi: could not connect to host
+hybridragon.net: could not connect to host
 hybula.nl: could not connect to host
 hydai.co: could not connect to host
-hydra.ly: did not receive HSTS header
+hydra-clothing.com: could not connect to host
+hydra.ly: could not connect to host
 hydra.ws: could not connect to host
 hydra.zone: did not receive HSTS header
 hydrabit.nl: could not connect to host
-hydracommunity.net: could not connect to host
+hydracommunity.net: did not receive HSTS header
 hydradigital.com.au: did not receive HSTS header
 hydrasecurity.ga: could not connect to host
 hydrasolutions.de: did not receive HSTS header
-hydrazin.pw: did not receive HSTS header
 hydroagro.pl: could not connect to host
 hydrocloud.net: could not connect to host
 hydrodipcenter.nl: did not receive HSTS header
 hydronicheatingaustralia.com.au: did not receive HSTS header
-hydronium.cf: did not receive HSTS header
+hydronium.cf: could not connect to host
 hydronium.ga: could not connect to host
 hydronium.me: could not connect to host
 hydronium.ml: could not connect to host
@@ -14223,14 +15726,16 @@ hypa.net.au: did not receive HSTS header
 hypeitems.pl: did not receive HSTS header
 hyper-matrix.org: could not connect to host
 hyper69.com: could not connect to host
+hyperactive.am: could not connect to host
+hyperautomotive.com.au: could not connect to host
 hyperbolic-mayonnaise-interceptor.ovh: could not connect to host
 hypercompetitions.com: could not connect to host
-hyperporn.net: did not receive HSTS header
+hyperporn.net: could not connect to host
 hyperreal.info: did not receive HSTS header
 hyphen.co.za: could not connect to host
 hyphenpda.co.za: could not connect to host
 hypnoresults.com.au: did not receive HSTS header
-hypnos.hu: could not connect to host
+hypnos.hu: did not receive HSTS header
 hypotheques24.ch: could not connect to host
 hypothesis.link: could not connect to host
 hysg.me: could not connect to host
@@ -14241,32 +15746,39 @@ hyvive.com: could not connect to host
 hywlovexyc.info: could not connect to host
 hzh.pub: did not receive HSTS header
 i-aloks.ru: could not connect to host
+i-fastnet.net: could not connect to host
 i-hakul.net: did not receive HSTS header
 i-jp.net: could not connect to host
-i-partners.sk: did not receive HSTS header
+i-partners.sk: could not connect to host
+i-pinged-everyone.today: could not connect to host
 i-rickroll-n.pw: could not connect to host
 i-scream.space: could not connect to host
 i-stats.net: could not connect to host
 i-stuff.site: did not receive HSTS header
+i-telligence.de: did not receive HSTS header
 i00228.com: could not connect to host
 i10z.com: did not receive HSTS header
 i1place.com: did not receive HSTS header
 i28s.com: did not receive HSTS header
-i2gether.org.uk: could not connect to host
+i2b.ro: could not connect to host
 i30365.com: could not connect to host
 i365365.com: could not connect to host
 i496.eu: could not connect to host
+i4m1k0su.com: could not connect to host
 i5197.co: could not connect to host
-i66.me: could not connect to host
+i66.me: did not receive HSTS header
 i6729.co: could not connect to host
 i6729.com: did not receive HSTS header
 i6957.co: could not connect to host
 i6957.com: did not receive HSTS header
+i81365.com: did not receive HSTS header
+i81818.com: did not receive HSTS header
+i82365.com: did not receive HSTS header
 i86666.com: did not receive HSTS header
 i8cp.com: could not connect to host
 i9297.co: could not connect to host
-i9397.com: could not connect to host
-i9721.com: could not connect to host
+i9397.com: did not receive HSTS header
+i9721.com: did not receive HSTS header
 i9728.co: could not connect to host
 i9multiequipamentos.com.br: could not connect to host
 ia1000.com: could not connect to host
@@ -14276,19 +15788,23 @@ iain.tech: did not receive HSTS header
 iamcarrico.com: did not receive HSTS header
 iamcryptoki.com: could not connect to host
 iaminashittymood.today: could not connect to host
+iamlbk.com: did not receive HSTS header
 iamlzh.com: could not connect to host
 iamokay.nl: did not receive HSTS header
 iamreubin.co.uk: did not receive HSTS header
-iamsoareyou.se: could not connect to host
+iamsoareyou.se: did not receive HSTS header
 iamveto.com: did not receive HSTS header
-ian.sh: did not receive HSTS header
+ian.sh: could not connect to host
 ianvisits.co.uk: did not receive HSTS header
+iba.community: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 iban.is: could not connect to host
 ibarf.nl: did not receive HSTS header
 ibase.com: did not receive HSTS header
 ibenchu.com: could not connect to host
 ibericarempresas.es: could not connect to host
+ibericargestoso.es: could not connect to host
 iberiserver.es: did not receive HSTS header
+ibexrepair.co.uk: could not connect to host
 ibiu.xyz: could not connect to host
 ibizatopcharter.com: did not receive HSTS header
 ibkvkk.org: did not receive HSTS header
@@ -14301,7 +15817,7 @@ ibpegasus.tk: could not connect to host
 ibps.blog: did not receive HSTS header
 ibpsrecruitment.co.in: could not connect to host
 ibron.co: could not connect to host
-ibsafrica.co.za: could not connect to host
+ibsafrica.co.za: did not receive HSTS header
 ibsglobal.co.za: could not connect to host
 ibsociety.com: did not receive HSTS header
 ibstyle.tk: could not connect to host
@@ -14311,24 +15827,24 @@ icabanken.se: did not receive HSTS header
 icaforsakring.se: did not receive HSTS header
 icake.life: did not receive HSTS header
 icasebr.com.br: could not connect to host
-icasnetwork.com: did not receive HSTS header
 icasture.top: could not connect to host
 icci.info: could not connect to host
 ice.yt: could not connect to host
 icebat.dyndns.org: could not connect to host
 icebook.co.uk: could not connect to host
-icebound.cc: did not receive HSTS header
 icebound.win: could not connect to host
+icecars.net: could not connect to host
 icecodenew.tk: could not connect to host
+icedream.tech: did not receive HSTS header
 iceiu.com: could not connect to host
 iceloch.com: could not connect to host
 icepink.com.br: could not connect to host
 iceshopy.com: did not receive HSTS header
 icetechy.com: did not receive HSTS header
-icetwister.com: did not receive HSTS header
 icfl.com.br: could not connect to host
 ich-find-den-g.net: could not connect to host
 ich-mach-druck.eu: did not receive HSTS header
+ichglaubesbackt.de: could not connect to host
 ichmachdas.net: did not receive HSTS header
 ichnichtskaufmann.de: could not connect to host
 ichoosebtec.com: did not receive HSTS header
@@ -14337,6 +15853,7 @@ icity.ly: did not receive HSTS header
 ickerseashop.com: could not connect to host
 iclart.com: did not receive HSTS header
 icloud.net: could not connect to host
+icloud.st: could not connect to host
 icloudlogin.com: did not receive HSTS header
 icnsoft.cf: could not connect to host
 icnsoft.ga: could not connect to host
@@ -14346,13 +15863,15 @@ icnsoft.org: could not connect to host
 icntorrent.download: could not connect to host
 ico500.com: could not connect to host
 icondoom.nl: could not connect to host
-icountnm.gov: could not connect to host
+icountnm.gov: did not receive HSTS header
 icowhitepapers.co: could not connect to host
 icpc2016.in.th: could not connect to host
-icq-project.net: could not connect to host
 icreative.nl: did not receive HSTS header
 icsadviseurs.nl: did not receive HSTS header
+icsfinomornasco.gov.it: could not connect to host
 icsfinomornasco.it: could not connect to host
+ict-concept.nl: could not connect to host
+ict-helpteam.nl: did not receive HSTS header
 ictinforensics.org: could not connect to host
 ictl.eu: did not receive HSTS header
 ictpro.info: did not receive HSTS header
@@ -14363,18 +15882,19 @@ id-conf.com: could not connect to host
 id0-rsa.pub: did not receive HSTS header
 id7.fr: could not connect to host
 idafauziyah.com: could not connect to host
-idblab.tk: could not connect to host
 idbs.com: did not receive HSTS header
-idc-business.be: could not connect to host
 idc.yn.cn: could not connect to host
+idconsult.nl: did not receive HSTS header
 idcrane.com: could not connect to host
+iddconnect.com: could not connect to host
+iddconnect.org: could not connect to host
 ideadozz.hu: could not connect to host
 idealinflatablehire.co.uk: did not receive HSTS header
 idealmoto.com: did not receive HSTS header
 idealmykonos.com: did not receive HSTS header
 idealninajemce.cz: did not receive HSTS header
 idealvenir.com: did not receive HSTS header
-ideapaisajistas.es: did not receive HSTS header
+ideapaisajistas.es: could not connect to host
 ideaplus.me: could not connect to host
 ideasenfoto.com: did not receive HSTS header
 ideasmeetingpoint.com: could not connect to host
@@ -14383,6 +15903,7 @@ idedr.com: did not receive HSTS header
 idemo.in: could not connect to host
 identifyme.net: could not connect to host
 identity-hash.online: could not connect to host
+identity.plus: did not receive HSTS header
 identitylabs.uk: could not connect to host
 identitysandbox.gov: could not connect to host
 idesignstudio.de: did not receive HSTS header
@@ -14390,7 +15911,7 @@ idfc.gov: did not receive HSTS header
 idfy.io: did not receive HSTS header
 idgsupply.com: could not connect to host
 idid.tk: could not connect to host
-idinby.dk: did not receive HSTS header
+idinby.dk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 idiopolis.org: could not connect to host
 idiot.trade: could not connect to host
 idiotentruppe.de: did not receive HSTS header
@@ -14398,6 +15919,8 @@ idirect.com.ng: did not receive HSTS header
 idisplay.es: could not connect to host
 idisposable.co.uk: did not receive HSTS header
 idlekernel.com: could not connect to host
+idleleo.com: could not connect to host
+idndx.com: did not receive HSTS header
 idol-bikes.ru: could not connect to host
 idolshop.dk: did not receive HSTS header
 idolshop.me: could not connect to host
@@ -14412,18 +15935,17 @@ iec.pe: could not connect to host
 iedcommunications.com: did not receive HSTS header
 ieedes.com: did not receive HSTS header
 ieffalot.me: did not receive HSTS header
-ieltslananhtruong.com: did not receive HSTS header
+ieltslananhtruong.com: could not connect to host
 iemas.azurewebsites.net: did not receive HSTS header
 iemb.cf: could not connect to host
 ierna.com: did not receive HSTS header
 ies.id.lv: could not connect to host
 ietsdoenofferte.nl: did not receive HSTS header
-ievgenialehner.com: did not receive HSTS header
 iewar.com: could not connect to host
 iexpert9.com: did not receive HSTS header
+if-fashion.gr: did not receive HSTS header
 if0.ru: could not connect to host
 ifad.org: did not receive HSTS header
-ifamily.top: did not receive HSTS header
 ifan.ch: could not connect to host
 ifangpei.cn: could not connect to host
 ifangpei.com.cn: could not connect to host
@@ -14432,9 +15954,11 @@ ifcfg.jp: could not connect to host
 ifcfg.me: could not connect to host
 ifconfig.co: did not receive HSTS header
 ifengge.me: could not connect to host
+ifisher.xyz: could not connect to host
 iflare.de: did not receive HSTS header
 ifleurs.com: could not connect to host
 ifly.pw: could not connect to host
+ifma.edu.br: could not connect to host
 ifreetion.cn: could not connect to host
 ifreetion.com: could not connect to host
 ifroheweihnachten.net: could not connect to host
@@ -14446,22 +15970,16 @@ igamingforums.com: did not receive HSTS header
 igaryhe.io: did not receive HSTS header
 igcc.jp: did not receive HSTS header
 igd.chat: could not connect to host
-igforums.com: did not receive HSTS header
+igforums.com: could not connect to host
 igi-2.com: could not connect to host
-igi.codes: did not receive HSTS header
-igkabel.cf: could not connect to host
-igkabel.ga: could not connect to host
-igkabel.gq: could not connect to host
-igkabel.ml: could not connect to host
-igkabel.tk: could not connect to host
+igi.codes: could not connect to host
 igm-be.ch: did not receive HSTS header
 igmt-guinea.com: did not receive HSTS header
-ignace72.eu: could not connect to host
+ignat.by: could not connect to host
 ignatisd.gr: did not receive HSTS header
 ignitedmindz.in: could not connect to host
 igsmgmt.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 igule.net: could not connect to host
-igva.or.kr: could not connect to host
 ihacker.ai: could not connect to host
 ihakkitekin.com: could not connect to host
 ihatethissh.it: could not connect to host
@@ -14469,9 +15987,8 @@ ihc.im: did not receive HSTS header
 ihcr.top: did not receive HSTS header
 ihls.world: could not connect to host
 ihls.xyz: could not connect to host
-ihoey.com: could not connect to host
 ihongzu.com: could not connect to host
-ihopeit.works: could not connect to host
+ihopeit.works: did not receive HSTS header
 ihrlotto.de: could not connect to host
 ihrnationalrat.ch: could not connect to host
 ihsbsd.me: could not connect to host
@@ -14483,21 +16000,24 @@ ii6729.co: could not connect to host
 ii6729.com: did not receive HSTS header
 ii6957.co: could not connect to host
 ii9297.co: could not connect to host
-ii9397.com: could not connect to host
-ii9721.com: could not connect to host
+ii9397.com: did not receive HSTS header
+ii9721.com: did not receive HSTS header
 ii9728.co: could not connect to host
 iide.co: did not receive HSTS header
 iideaz.org: could not connect to host
 iilin.com: could not connect to host
+iisjy.cn: did not receive HSTS header
 iispeed.com: did not receive HSTS header
+iiyama-bg.com: did not receive HSTS header
 ijn-dd.nl: could not connect to host
-ijoda.com: could not connect to host
+ijoda.com: did not receive HSTS header
 ijr.com: did not receive HSTS header
 ikarr.com: could not connect to host
 ike.io: did not receive HSTS header
 ikebuku.ro: could not connect to host
 ikenmeyer.com: could not connect to host
 ikenmeyer.eu: could not connect to host
+iki4you.com: max-age too low: 7889238
 ikmx.net: did not receive HSTS header
 ikocik.sk: could not connect to host
 ikon.name: could not connect to host
@@ -14505,12 +16025,13 @@ ikools.com: could not connect to host
 iktisatbank.com: did not receive HSTS header
 ikudo.top: could not connect to host
 ikumi.us: could not connect to host
-ikuuuu.com: could not connect to host
+ikuuuu.com: did not receive HSTS header
 ikwilguidobellen.nl: could not connect to host
 ikxkx.com: did not receive HSTS header
 ikymbo.com: did not receive HSTS header
 ikzoekeengoedkopeauto.nl: could not connect to host
 ikzoekjeugdhulp.nl: did not receive HSTS header
+ilc666.com: could not connect to host
 ileat.com: could not connect to host
 ileci.de: could not connect to host
 ilgi.work: could not connect to host
@@ -14520,44 +16041,49 @@ ilii.me: could not connect to host
 ilikerainbows.co: could not connect to host
 ilikerainbows.co.uk: could not connect to host
 ilikfreshweedstores.com: could not connect to host
+illaadventure.com: could not connect to host
+illative.net: could not connect to host
 illjinx.info: could not connect to host
 illuminatisofficial.org: could not connect to host
 ilmconpm.de: could not connect to host
 iloilofit.org: did not receive HSTS header
 iloli.name: could not connect to host
 ilona.graphics: did not receive HSTS header
+ilovequiz.ru: did not receive HSTS header
 ilpl.me: did not receive HSTS header
 iltisim.ch: did not receive HSTS header
 iltuogiardino.org: could not connect to host
 iluvscotland.co.uk: did not receive HSTS header
 im-design.com.ua: did not receive HSTS header
 ima-tourcoing.fr: did not receive HSTS header
-ima.re: did not receive HSTS header
+ima.re: could not connect to host
 imadalin.ro: could not connect to host
+image-cdn.co.uk: could not connect to host
 imageination.co: could not connect to host
 imagenesdedibujosalapizfacilesdehacer.com: could not connect to host
-imagescostumes.com: could not connect to host
+imagescostumes.com: did not receive HSTS header
 imaginarymakings.me: could not connect to host
-imakepoems.net: did not receive HSTS header
+imakepoems.net: could not connect to host
 imanhearts.com: max-age too low: 0
 imanudin.net: did not receive HSTS header
-imaple.org: could not connect to host
+imarkethost.co.uk: could not connect to host
 imask.ml: could not connect to host
+imbiancatura.milano.it: could not connect to host
 imbrian.org: could not connect to host
 imbushuo.net: did not receive HSTS header
 imedi.it: could not connect to host
-imediamyanmar.com: did not receive HSTS header
 imediasingapore.com: did not receive HSTS header
 imefuniversitario.org: could not connect to host
 imeifacil.com: did not receive HSTS header
 imfromthefuture.com: did not receive HSTS header
+imga.ch: did not receive HSTS header
 imgencrypt.com: could not connect to host
-imgul.net: could not connect to host
 imguoguo.com: could not connect to host
+imiix.mx: could not connect to host
 imim.pw: could not connect to host
+imine.ru: could not connect to host
 imjiangtao.com: did not receive HSTS header
 imjustcreative.co.uk: did not receive HSTS header
-imlhx.com: did not receive HSTS header
 imlinan.cn: could not connect to host
 imlinan.com: could not connect to host
 imlinan.info: could not connect to host
@@ -14577,51 +16103,59 @@ immortals-co.com: did not receive HSTS header
 immoverkauf24.at: did not receive HSTS header
 immoverkauf24.de: did not receive HSTS header
 immunicity.cc: could not connect to host
-immunicity.date: did not receive HSTS header
+immunicity.date: could not connect to host
 immunicity.eu: did not receive HSTS header
 immunicity.host: could not connect to host
-immunicity.info: could not connect to host
+immunicity.info: did not receive HSTS header
 immunicity.online: could not connect to host
 immunicity.press: did not receive HSTS header
 immunicity.rocks: could not connect to host
-immunicity.st: did not receive HSTS header
+immunicity.st: could not connect to host
 immunicity.today: could not connect to host
 immunicity.top: did not receive HSTS header
 immunicity.win: could not connect to host
-immunicity.works: did not receive HSTS header
+immunicity.works: could not connect to host
 immunicity.world: could not connect to host
 imoe.ac.cn: could not connect to host
-imoe.co: did not receive HSTS header
+imoe.co: could not connect to host
 imolug.org: did not receive HSTS header
 imoner.com: could not connect to host
 imoner.ga: could not connect to host
 imoni-blog.net: could not connect to host
 imoto.me: could not connect to host
-imouyang.com: could not connect to host
-imovel5.com.br: could not connect to host
+imouyang.com: did not receive HSTS header
+imovel5.com.br: did not receive HSTS header
 impactfestival.be: did not receive HSTS header
+impactplumbingdrainage.com.au: did not receive HSTS header
 impendulo.org: could not connect to host
 imperdin.com: could not connect to host
 imperdintechnologies.com: could not connect to host
 imperialinfosys.com: did not receive HSTS header
 imperialonlinestore.com: did not receive HSTS header
 imperialwebsolutions.com: did not receive HSTS header
-imperiodigital.online: did not receive HSTS header
 imperioth.com: could not connect to host
 imperiumnova.info: could not connect to host
 impex.com.bd: did not receive HSTS header
+implantologie-dr-loeck.de: did not receive HSTS header
 implicitdenial.com: could not connect to host
+imposingoods.com: could not connect to host
+impresadipulizia.roma.it: could not connect to host
 impressivebison.eu: could not connect to host
+imprintia.eu: could not connect to host
 improvingwp.com: could not connect to host
+improvision.eu: could not connect to host
 impulse-clan.de: could not connect to host
 impulsionsa.com: could not connect to host
+impulsocristiano.com: could not connect to host
 imranraza.in: could not connect to host
 imrejonk.nl: did not receive HSTS header
 imtikai.ml: could not connect to host
+imtikaib.ml: could not connect to host
 imu.li: did not receive HSTS header
 imusic.dk: did not receive HSTS header
-imy.life: did not receive HSTS header
-inandeyes.com: did not receive HSTS header
+imy.life: could not connect to host
+imyvm.com: did not receive HSTS header
+inandeyes.com: could not connect to host
 inb4.us: could not connect to host
 inbox-group.com: did not receive HSTS header
 inbox.google.com: did not receive HSTS header (error ignored - included regardless)
@@ -14630,9 +16164,13 @@ inboxen.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERRO
 inc.wf: could not connect to host
 incendiary-arts.com: could not connect to host
 inceptionradionetwork.com: could not connect to host
-incestporn.tv: did not receive HSTS header
+incestporn.tv: could not connect to host
 inchcape-fleet-autobid.co.uk: could not connect to host
 inchomatic.com: did not receive HSTS header
+incomeproshoutr.com: did not receive HSTS header
+incontrixsingle.net: did not receive HSTS header
+increasetestosteronelevels.org: could not connect to host
+incubos.org: could not connect to host
 indarceky.sk: did not receive HSTS header
 indemnityinsurance.online: could not connect to host
 inderagamono.net: could not connect to host
@@ -14643,11 +16181,14 @@ indianaantlersupply.com: did not receive HSTS header
 indianapolislocksmithinc.com: did not receive HSTS header
 indianjewellery.com: did not receive HSTS header
 indiawise.co.uk: could not connect to host
+indicateurs-flash.fr: did not receive HSTS header
 indiecert.net: could not connect to host
 indieethos.com: did not receive HSTS header
 indiegame.space: could not connect to host
 indiemods.com: did not receive HSTS header
 indien.guide: could not connect to host
+indigitalagency.com: could not connect to host
+indika.pe: could not connect to host
 indilens.com: did not receive HSTS header
 indiraactive.com: could not connect to host
 indiroyunu.com: did not receive HSTS header
@@ -14658,11 +16199,14 @@ indoorplantsexpert.com: could not connect to host
 indoorskiassen.nl: did not receive HSTS header
 indostar303.com: did not receive HSTS header
 indredouglas.me: could not connect to host
+indusfastremit-us.com: could not connect to host
+indust.me: did not receive HSTS header
 industinc.com: did not receive HSTS header
 industreiler.com: could not connect to host
 industreiler.com.br: could not connect to host
-industriasrenova.com: could not connect to host
-industrybazar.com: did not receive HSTS header
+industrialstarter.com: did not receive HSTS header
+industriasrenova.com: did not receive HSTS header
+industrybazar.com: could not connect to host
 inebula.it: could not connect to host
 ineed.com.mt: could not connect to host
 inertianetworks.com: could not connect to host
@@ -14689,41 +16233,40 @@ infinity-lifestyle.de: could not connect to host
 infinity.to: did not receive HSTS header
 infinityengine.org: could not connect to host
 infixegypt.com: did not receive HSTS header
-inflatadays.co.uk: could not connect to host
 inflate-a-bubbles.co.uk: did not receive HSTS header
-inflated.cloud: could not connect to host
 inflation.ml: could not connect to host
+influencerchampions.com: did not receive HSTS header
 influxus.com: could not connect to host
 info-bay.com: could not connect to host
 info-d-74.com: did not receive HSTS header
 info-sys.tk: could not connect to host
 infobalkans.com: did not receive HSTS header
+infocity-tech.fr: could not connect to host
+infoduv.fr: could not connect to host
 infogrfx.com: did not receive HSTS header
-infomir.eu: did not receive HSTS header
+infomasx.com: could not connect to host
 infonote.ca: did not receive HSTS header
 infopagina.es: did not receive HSTS header
-infopulsa.com: did not receive HSTS header
+infopulsa.com: could not connect to host
 infopuntzorg.nl: did not receive HSTS header
-inforaga.com: did not receive HSTS header
 inforichjapan.com: did not receive HSTS header
 inforisposte.com: did not receive HSTS header
 informaciondeciclismo.com: could not connect to host
-informatik.zone: could not connect to host
+informatik.zone: did not receive HSTS header
 infos-generation.com: did not receive HSTS header
 infosec.pizza: could not connect to host
 infosec.rip: could not connect to host
 infosimmo.com: did not receive HSTS header
 infosoph.org: did not receive HSTS header
-infotics.es: did not receive HSTS header
-infotolium.com: did not receive HSTS header
+infotelecharge.com: could not connect to host
 infotrac.net: did not receive HSTS header
 infovae-idf.com: could not connect to host
 infoweb.ee: did not receive HSTS header
 infoworm.org: could not connect to host
 infoyaracuy.com: did not receive HSTS header
-infr.red: could not connect to host
+infr.red: did not receive HSTS header
+infra-se.com: could not connect to host
 infra.press: could not connect to host
-infradeep.com: could not connect to host
 infradio.am: could not connect to host
 infranix.eu: max-age too low: 7360000
 infruction.com: could not connect to host
@@ -14735,23 +16278,24 @@ ingalabs.hu: could not connect to host
 ingalls.run: could not connect to host
 ingatlanneked.hu: could not connect to host
 ingatlanrobot.hu: did not receive HSTS header
-inge.ec: could not connect to host
-ingenium.si: did not receive HSTS header
 ingerhy.com: could not connect to host
 ingesol.fr: did not receive HSTS header
 ingfreelancer.com: could not connect to host
-ingredientdaddy.ro: did not receive HSTS header
+ingredientdaddy.ro: could not connect to host
 ingresscode.cn: could not connect to host
 ingridbai.me: could not connect to host
 ingwaz.org: could not connect to host
+inh.gob.ve: did not receive HSTS header
 inhelix.com: could not connect to host
+inheritestate.com: did not receive HSTS header
 inhive.group: did not receive HSTS header
 iniiter.com: could not connect to host
 inin.gq: could not connect to host
+iningrui.com: did not receive HSTS header
 inios.fr: could not connect to host
+initialization.tech: could not connect to host
 initq.net: could not connect to host
 inixal.com: did not receive HSTS header
-injapan.nl: did not receive HSTS header
 injertoshorticolas.com: did not receive HSTS header
 injuryhotline.net: did not receive HSTS header
 injurylawyer.world: did not receive HSTS header
@@ -14765,6 +16309,7 @@ injust.tk: could not connect to host
 inked-guy.de: could not connect to host
 inkedguy.de: could not connect to host
 inkihost.com: did not receive HSTS header
+inkontriamoci.com: did not receive HSTS header
 inksupply.com: did not receive HSTS header
 inku.ovh: did not receive HSTS header
 inkvisual.tk: could not connect to host
@@ -14773,19 +16318,24 @@ inmag.pl: could not connect to host
 inme.ga: did not receive HSTS header
 inmoodforsex.com: could not connect to host
 inmusrv.de: did not receive HSTS header
+innatocol.com: did not receive HSTS header
 innit.be: could not connect to host
 innobatics.com: did not receive HSTS header
+innoflex.pl: did not receive HSTS header
 innoloop.com: did not receive HSTS header
+innophate-security.com: could not connect to host
 innophate-security.nl: could not connect to host
+innovacoachgroup.com: could not connect to host
 innovamag.ca: did not receive HSTS header
 innovateohio.gov: could not connect to host
 innovationgarage.it: could not connect to host
 innovativebuildingsolutions.co.za: could not connect to host
 innovativeideaz.org: could not connect to host
 innoventure.de: could not connect to host
+innovere.co.uk: did not receive HSTS header
 innvision.net: did not receive HSTS header
+inobun.jp: could not connect to host
 inorder.website: could not connect to host
-inovacallis.com.br: did not receive HSTS header
 inovat.ma: did not receive HSTS header
 inox.io: did not receive HSTS header
 inoxandco.com: could not connect to host
@@ -14794,9 +16344,11 @@ inoxio.de: did not receive HSTS header
 inplacers.ru: did not receive HSTS header
 input.sh: did not receive HSTS header
 inputmag.com: did not receive HSTS header
+inqorp.ca: could not connect to host
 inquisitive.io: could not connect to host
 insane-bullets.com: could not connect to host
 insane.zone: could not connect to host
+insanelyelegant.com: did not receive HSTS header
 inschrijfformulier.com: could not connect to host
 inscript.pl: could not connect to host
 inserzioni-ticino.ch: did not receive HSTS header
@@ -14815,8 +16367,8 @@ inspiroinc.com: could not connect to host
 insrt.uk: did not receive HSTS header
 inst.mobi: could not connect to host
 instacart.com: did not receive HSTS header
-instachina.ru: could not connect to host
 instagib.info: did not receive HSTS header
+instagraph.cn: could not connect to host
 instalador-electrico.com: could not connect to host
 instant-hack.com: did not receive HSTS header
 instant-hack.io: could not connect to host
@@ -14825,7 +16377,7 @@ instantluxe.cn: could not connect to host
 instantluxe.co.uk: could not connect to host
 instantluxe.com: could not connect to host
 instantluxe.de: could not connect to host
-instantluxe.it: did not receive HSTS header
+instantluxe.it: could not connect to host
 instantphotocamera.com: could not connect to host
 instantphotoprinter.com: could not connect to host
 instantsubs.de: could not connect to host
@@ -14833,33 +16385,39 @@ instaquiz.ru: could not connect to host
 instasex.ch: could not connect to host
 instawi.com: could not connect to host
 instinctive.io: did not receive HSTS header
-instinctiveads.com: did not receive HSTS header
-institutmaupertuis.hopto.org: could not connect to host
 institutoflordelavida.com: could not connect to host
-institutulcultural.ro: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+institutulcultural.ro: did not receive HSTS header
 instruktor.io: could not connect to host
 insurance: could not connect to host
 insurancesloans.com: could not connect to host
 insurethebox.tk: could not connect to host
-insurgentsmustdie.com: did not receive HSTS header
+insurgentsmustdie.com: could not connect to host
 int-ext-design.fr: could not connect to host
 int-ma.in: could not connect to host
 intae.it: did not receive HSTS header
 integraelchen.de: could not connect to host
+integratedintegrations.xyz: could not connect to host
 integrationinc.com: did not receive HSTS header
-integraxor.com.tw: did not receive HSTS header
+integraxor.com.tw: could not connect to host
 integrityingovernmentidaho.com: could not connect to host
+integrogroup.com: could not connect to host
 intel.gov: did not receive HSTS header
 intel.li: did not receive HSTS header
 intelbet.es: did not receive HSTS header
-intelbet.ro: could not connect to host
+intelbet.ro: did not receive HSTS header
 intelhost.net: max-age too low: 0
 intelldynamics.com: could not connect to host
 intelligentnegotiator.com: did not receive HSTS header
+intelmed.info: did not receive HSTS header
 inter-culinarium.com: did not receive HSTS header
 interabbit.co: could not connect to host
 interabbit.com: did not receive HSTS header
+interaffairs.com: could not connect to host
 interboursegeneva.ch: did not receive HSTS header
+intercom.com: did not receive HSTS header
+intercom.io: did not receive HSTS header
+interessengemeinschaft-pregelstrasse.tk: could not connect to host
+interessiert-uns.net: could not connect to host
 interference.io: did not receive HSTS header
 interfesse.net: could not connect to host
 interfloraservices.co.uk: could not connect to host
@@ -14874,26 +16432,32 @@ interiorcheapo.com: could not connect to host
 interiorprofesional.com.ar: did not receive HSTS header
 interiortradingco.com.au: could not connect to host
 interleucina.org: could not connect to host
-interlocal.co.uk: did not receive HSTS header
+interlocal.co.uk: could not connect to host
 interlun.com: could not connect to host
 intermezzo-emmerich.nl: could not connect to host
+intern.tax: could not connect to host
 internacao.com: did not receive HSTS header
 internaldh.com: could not connect to host
 internaluse.net: did not receive HSTS header
+international-books.org: did not receive HSTS header
+international-nash-day.com: max-age too low: 0
 internationalschoolnewyork.com: could not connect to host
-internaut.co.za: did not receive HSTS header
+internaut.co.za: could not connect to host
+internetanbieter-experte.de: did not receive HSTS header
 internetbugbounty.org: did not receive HSTS header
 internetcasinos.de: could not connect to host
 internetcensus.org: could not connect to host
 internetdentalalliance.com: did not receive HSTS header
+internetgardener.co.uk: could not connect to host
 internethealthreport.org: did not receive HSTS header
 internethering.de: did not receive HSTS header
+internetmusicexchange.com: could not connect to host
 internetradiocharts.de: could not connect to host
 internshipandwork.com: did not receive HSTS header
-internshipandwork.ru: did not receive HSTS header
+internshipandwork.ru: could not connect to host
 intersectraven.net: could not connect to host
 interspot.nl: could not connect to host
-interstellarhyperdrive.com: did not receive HSTS header
+interstellarhyperdrive.com: could not connect to host
 interviewpipeline.co.uk: could not connect to host
 intervisteperstrada.com: could not connect to host
 intexplore.org: could not connect to host
@@ -14902,43 +16466,52 @@ intimastoreatacado.com.br: could not connect to host
 intimateperrierjouet.com: could not connect to host
 intimici.com.br: could not connect to host
 intimtoy.com.ua: did not receive HSTS header
+intl-webs.com: could not connect to host
+into.technology: did not receive HSTS header
 intocities.de: could not connect to host
 intr0.com: did not receive HSTS header
 intr0.tk: could not connect to host
 intracom.com: did not receive HSTS header
+intranetcrowd.com: could not connect to host
 intranetsec-regionra.fr: did not receive HSTS header
 intranetsec.fr: could not connect to host
 intreaba.xyz: could not connect to host
+introes.com: could not connect to host
 introvertedtravel.space: max-age too low: 0
 intrp.net: could not connect to host
 intune.life: could not connect to host
-inuyasha-petition.tk: could not connect to host
+invasmani.com: could not connect to host
 invenio.software: could not connect to host
 inverselink.com: could not connect to host
 inversioneseconomicas.com: could not connect to host
-investcountry.com: did not receive HSTS header
+inversionesgalindo.com: could not connect to host
+investcountry.com: could not connect to host
+investforum.net: could not connect to host
+investigazione.milano.it: could not connect to host
 investigazione.roma.it: could not connect to host
 investingdiary.cn: could not connect to host
 investinghacker.com.au: could not connect to host
 investingtrader.net: could not connect to host
-investir.ch: could not connect to host
 investorloanshub.com: could not connect to host
 investosure.com: could not connect to host
 invictusmc.uk: could not connect to host
-invinsec.cloud: did not receive HSTS header
+invinsec.cloud: could not connect to host
 invis.net: did not receive HSTS header
 invisionita.com: could not connect to host
 invitation-factory.tk: could not connect to host
 invite24.pro: could not connect to host
 invitemember.com: did not receive HSTS header
 invoicefinance.com: did not receive HSTS header
-invoicefinance.nl: could not connect to host
+invoicefinance.nl: did not receive HSTS header
 invoicehippo.nl: did not receive HSTS header
 invuelto.com: did not receive HSTS header
+invuite.com: did not receive HSTS header
 inxtravel.com.br: could not connect to host
 inzestfreunde.de: could not connect to host
+ioasync.com: did not receive HSTS header
+iobint.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 iocp.org: did not receive HSTS header
-iodev.nl: could not connect to host
+iodev.nl: did not receive HSTS header
 iodice.org: did not receive HSTS header
 iodine.com: did not receive HSTS header
 iodu.re: could not connect to host
@@ -14948,21 +16521,23 @@ iojo.net: did not receive HSTS header
 iolife.dk: did not receive HSTS header
 ionas-law.ro: did not receive HSTS header
 ionc.ca: could not connect to host
-ione.net.nz: could not connect to host
 ionicisere.com: could not connect to host
 ionote.me: could not connect to host
 ionovia.de: did not receive HSTS header
 iopool.us: could not connect to host
 iora.fr: could not connect to host
+ios11018.com: could not connect to host
 iosjailbreakiphone.com: could not connect to host
 iosmods.com: did not receive HSTS header
 iosprivacy.com: did not receive HSTS header
 iostips.ru: could not connect to host
+iotekha.tv: did not receive HSTS header
 iotfen.com: could not connect to host
 iotsms.io: could not connect to host
 ip-blacklist.net: did not receive HSTS header
 ip.or.at: could not connect to host
 ip2country.info: did not receive HSTS header
+ip3.world: could not connect to host
 ip6.im: did not receive HSTS header
 ipad.li: could not connect to host
 ipadportfolioapp.com: did not receive HSTS header
@@ -14970,37 +16545,32 @@ ipawind.com: did not receive HSTS header
 ipbill.org.uk: could not connect to host
 ipcfg.me: could not connect to host
 ipconsulting.se: could not connect to host
+ipdsols.co.za: could not connect to host
 ipfp.pl: did not receive HSTS header
 ipfs.ink: did not receive HSTS header
-iphonechina.net: did not receive HSTS header
+iphonechina.net: could not connect to host
 iphoneportfolioapp.com: did not receive HSTS header
 iphonote.com: did not receive HSTS header
 ipid.me: could not connect to host
 ipintel.io: did not receive HSTS header
 iplabs.de: did not receive HSTS header
 iplife.cn: could not connect to host
+iplog.info: could not connect to host
 ipmimagazine.com: did not receive HSTS header
 ipmotion.ca: could not connect to host
 ipnetworking.net: could not connect to host
 ipo-times.com: could not connect to host
-iprice.co.id: did not receive HSTS header
-iprice.hk: did not receive HSTS header
-iprice.my: did not receive HSTS header
-iprice.ph: did not receive HSTS header
-iprice.sg: did not receive HSTS header
-iprice.vn: did not receive HSTS header
-ipricethailand.com: did not receive HSTS header
-iprody.com: did not receive HSTS header
-ipsec.pl: could not connect to host
+iprody.com: could not connect to host
 ipsilon-project.org: did not receive HSTS header
+ipslsig.org: could not connect to host
 ipssl.li: could not connect to host
+ipstream.it: did not receive HSTS header
 iptel.ro: could not connect to host
 iptvmakedonija.mk: did not receive HSTS header
-iptvmaxx.com: could not connect to host
-ipura.ch: could not connect to host
 ipuservicedesign.com: could not connect to host
 ipv6.gr: did not receive HSTS header
 ipv6.watch: did not receive HSTS header
+ipv6alizer.se: did not receive HSTS header
 ipv6cloud.club: could not connect to host
 ipv6demo.de: could not connect to host
 ipv6only.network: could not connect to host
@@ -15015,38 +16585,36 @@ irandp.net: could not connect to host
 iranianlawschool.com: could not connect to host
 iraqidinar.org: did not receive HSTS header
 irazimina.ru: did not receive HSTS header
-irc-results.com: could not connect to host
 irccloud.com: did not receive HSTS header
 irdvb.com: could not connect to host
 iready.ro: could not connect to host
 irelandesign.com: could not connect to host
 irenekauer.com: could not connect to host
 irgwebsites.com: did not receive HSTS header
-iridiumflare.de: did not receive HSTS header
+iridiumflare.de: could not connect to host
 irinkeby.nu: could not connect to host
 irische-segenswuensche.info: could not connect to host
 irisdesideratum.com: could not connect to host
 irisdina.de: could not connect to host
+irish.radio: could not connect to host
 irishmusic.nu: could not connect to host
+irishradioplayer.radio: could not connect to host
 irland.guide: could not connect to host
-iro-iro.xyz: could not connect to host
+iro-iro.xyz: did not receive HSTS header
 irob.co.jp: did not receive HSTS header
 iron-guard.net: did not receive HSTS header
 ironbelly.pro: could not connect to host
 irondaleirregulars.com: did not receive HSTS header
+irose.am: could not connect to host
 irugs.ch: did not receive HSTS header
 irugs.co.uk: did not receive HSTS header
 irugs.com.sg: did not receive HSTS header
 irukandjilabs.com: could not connect to host
 irun-telecom.co.uk: could not connect to host
 irvinepa.org: max-age too low: 10540800
-is-a-furry.org: did not receive HSTS header
+is-going-to-rickroll.me: did not receive HSTS header
+is-in-hyper.space: could not connect to host
 is-sw.net: did not receive HSTS header
-isaackabel.cf: could not connect to host
-isaackabel.ga: could not connect to host
-isaackabel.gq: could not connect to host
-isaackabel.ml: could not connect to host
-isaackabel.tk: could not connect to host
 isaacpartnership.com: did not receive HSTS header
 isarklinikum.de: did not receive HSTS header
 isastylish.com: could not connect to host
@@ -15059,31 +16627,36 @@ isdr-bukavu.net: did not receive HSTS header
 isef-eg.com: could not connect to host
 iservicio.com.mx: could not connect to host
 iseulde.com: could not connect to host
-isfff.com: did not receive HSTS header
 isfriday.com: could not connect to host
 ishadowsocks.ltd: could not connect to host
 ishangirdhar.com: could not connect to host
 ishillaryclintoninprisonyet.com: could not connect to host
-ishotagency.com: could not connect to host
+ishland.com: could not connect to host
+ishome.org: could not connect to host
+ishtarfreya.com: did not receive HSTS header
 isidom.fr: did not receive HSTS header
-isigmaonline.org: did not receive HSTS header
 isipulsa.web.id: did not receive HSTS header
+isis.cloud: could not connect to host
 isisfighters.info: could not connect to host
 isistomie.com: could not connect to host
 isitamor.pm: could not connect to host
 isitnuclearwaryet.com: could not connect to host
 isitpatchtuesday.com: did not receive HSTS header
 isitrest.info: could not connect to host
+isitup.org: did not receive HSTS header
 iskai.net: did not receive HSTS header
 iskanderbroere.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 iskkk.com: could not connect to host
 iskkk.net: could not connect to host
+islamonline.net: did not receive HSTS header
 islandlakeil.gov: could not connect to host
 islandpumpandtank.com: did not receive HSTS header
-islandzero.net: could not connect to host
+islandzero.net: did not receive HSTS header
 islazia.fr: could not connect to host
+islief.com: could not connect to host
 islykaithecutest.cf: could not connect to host
 islykaithecutest.ml: could not connect to host
+ismadgeintrouble.com: could not connect to host
 ismailkarsli.com: could not connect to host
 ismetroonfiretoday.com: did not receive HSTS header
 isntall.us: did not receive HSTS header
@@ -15091,27 +16664,34 @@ iso27032.com: did not receive HSTS header
 isoface33.fr: did not receive HSTS header
 isogen5.com: could not connect to host
 isogram.nl: could not connect to host
+isolde.com: could not connect to host
 isondo.com: could not connect to host
 isoroc-nidzica.pl: could not connect to host
 ispo.com.tw: did not receive HSTS header
+ispringcloud.ru: did not receive HSTS header
 ispsoft.pro: could not connect to host
 ispweb.es: did not receive HSTS header
 isqrl.de: did not receive HSTS header
 israkurort.com: could not connect to host
+issaias.net: did not receive HSTS header
 isscouncil.com: could not connect to host
 isslshop.com: could not connect to host
 issoexiste.com: did not receive HSTS header
 issuesofconcern.in: did not receive HSTS header
 ist-intim.de: could not connect to host
+ist.cm: could not connect to host
+istanbul-bocekilaclama.com: could not connect to host
 istanbultravelguide.info: could not connect to host
 istaspirtslietas.lv: did not receive HSTS header
-istgame.com: did not receive HSTS header
+istgame.com: could not connect to host
+isthedoorlocked.com: could not connect to host
 isthefieldcontrolsystemdown.com: could not connect to host
 istherrienstillcoach.com: could not connect to host
 isthisus.org: could not connect to host
 istore.lt: did not receive HSTS header
+istrazivac-istine.com: did not receive HSTS header
 isyu.xyz: could not connect to host
-isz-berlin.de: did not receive HSTS header
+isz-berlin.de: could not connect to host
 iszy.me: did not receive HSTS header
 it-cave.com: could not connect to host
 it-enthusiasts.tech: could not connect to host
@@ -15119,17 +16699,12 @@ it-go.net: did not receive HSTS header
 it-labor.info: did not receive HSTS header
 it-schwerin.de: could not connect to host
 it-seems-to.work: could not connect to host
-it-sysoft.com: could not connect to host
-it-world.eu: could not connect to host
-itactiq.info: could not connect to host
+it-sysoft.com: did not receive HSTS header
 itad.top: could not connect to host
-ital-gamma.be: could not connect to host
 italianjourneys.com.au: did not receive HSTS header
 itblog.pp.ua: could not connect to host
-itbloginfo.com: could not connect to host
-itbrief.co.nz: did not receive HSTS header
-itbrief.com.au: did not receive HSTS header
 itchimes.com: did not receive HSTS header
+itchybrainscentral.com: could not connect to host
 itdo.com: did not receive HSTS header
 itds-consulting.com: could not connect to host
 itds-consulting.cz: could not connect to host
@@ -15139,20 +16714,23 @@ iteke.ml: could not connect to host
 iteke.tk: could not connect to host
 items.lv: did not receive HSTS header
 itemton.com: could not connect to host
+iterader.com: could not connect to host
 iterasoft.de: did not receive HSTS header
 itfaq.nl: did not receive HSTS header
 itfensi.net: could not connect to host
-itfly.xyz: could not connect to host
 itforcc.com: did not receive HSTS header
 itforge.nl: did not receive HSTS header
 itgirls.rs: could not connect to host
 itgm-consultants.com: did not receive HSTS header
+ithedgehog.co.uk: could not connect to host
 ithelfer.ch: did not receive HSTS header
 itinsight.hu: did not receive HSTS header
 itinthebubble.com: could not connect to host
 itiomassagem.com.br: did not receive HSTS header
 itisjustnot.cricket: could not connect to host
+itludens.com: could not connect to host
 itmanie.cz: did not receive HSTS header
+itmx.cc: could not connect to host
 itnews-bg.com: did not receive HSTS header
 itogoyomi.com: did not receive HSTS header
 itos.asia: did not receive HSTS header
@@ -15162,10 +16740,12 @@ itpro-mg.de: could not connect to host
 itproject.guru: could not connect to host
 itqh0pk67wngbob5suh-c7glbmvtfa0dqhokufs.com: did not receive HSTS header
 itrack.in.th: could not connect to host
+itrendyworld.com: could not connect to host
 itriskltd.com: did not receive HSTS header
 itruth.tk: could not connect to host
 its-schindler.de: could not connect to host
 its-v.de: could not connect to host
+its4living.com: could not connect to host
 itsadog.co.uk: did not receive HSTS header
 itsagadget.com: did not receive HSTS header
 itsanicedoor.co.uk: could not connect to host
@@ -15177,8 +16757,9 @@ itsg-faq.de: could not connect to host
 itshost.ru: could not connect to host
 itskayla.com: did not receive HSTS header
 itsmejohn.org: could not connect to host
+itsok.link: could not connect to host
 itspartytimesweetinflations.com: could not connect to host
-itspecialista.eu: could not connect to host
+itstudio.gr: max-age too low: 0
 itsupport-luzern.ch: could not connect to host
 ittop-gabon.com: could not connect to host
 itu2015.de: could not connect to host
@@ -15186,6 +16767,8 @@ itxn.cn: could not connect to host
 ius.io: did not receive HSTS header
 iuscommunity.org: did not receive HSTS header
 iusedtosmoke.com: did not receive HSTS header
+ivact.co.jp: did not receive HSTS header
+ivais.mx: could not connect to host
 ivanaleksandrov.net: did not receive HSTS header
 ivanilla.org: could not connect to host
 ivanpolchenko.com: could not connect to host
@@ -15204,40 +16787,46 @@ ivitalia.it: max-age too low: 0
 ivk.website: could not connect to host
 ivklombard.ru: could not connect to host
 ivocopro.de: could not connect to host
-ivocotec.com: could not connect to host
+ivoid.cf: could not connect to host
 ivoryonsunset.com: could not connect to host
 ivotemahdi.com: could not connect to host
 ivxv.ee: could not connect to host
-ivy.show: could not connect to host
 iwannarefill.com: could not connect to host
 iwantexchange.com: could not connect to host
 iwantpayments.com: could not connect to host
+iwanttrack.com: could not connect to host
 iweathernet.com: did not receive HSTS header
+iwebolutions.com: did not receive HSTS header
 iwex.swiss: could not connect to host
 iwilcox.me.uk: could not connect to host
 iworos.com: did not receive HSTS header
 iwos.io: did not receive HSTS header
 iwpbk.com: could not connect to host
 iww.mx: could not connect to host
-iwyc.cn: did not receive HSTS header
+iwyc.cn: could not connect to host
 ix.mk: did not receive HSTS header
 ix8.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+ixanis.net: could not connect to host
 ixec2.tk: could not connect to host
-ixh.me: could not connect to host
+ixh.me: did not receive HSTS header
+ixix.org: could not connect to host
 ixnext.de: did not receive HSTS header
 iyinolaashafa.com: could not connect to host
 iyoumu.top: could not connect to host
 iyuanbao.net: did not receive HSTS header
 izaakbeekman.com: max-age too low: 2592000
-izanah.com: did not receive HSTS header
+izanah.com: max-age too low: 604800
 izdiwho.com: did not receive HSTS header
+izevg.ru: could not connect to host
 izolight.ch: could not connect to host
 izonemart.com: did not receive HSTS header
 izoox.com: did not receive HSTS header
 izzzorgconcerten.nl: could not connect to host
 j-eck.nl: could not connect to host
+j-elliott.co.uk: could not connect to host
 j-lsolutions.com: could not connect to host
 j-rickroll-a.pw: could not connect to host
+j-softlab.com: did not receive HSTS header
 j00228.com: could not connect to host
 j0m.de: could not connect to host
 j0ng.xyz: could not connect to host
@@ -15251,21 +16840,24 @@ j6729.co: could not connect to host
 j6729.com: did not receive HSTS header
 j6957.co: could not connect to host
 j6957.com: did not receive HSTS header
-j70101.com: did not receive HSTS header
-j70102.com: did not receive HSTS header
-j70103.com: did not receive HSTS header
-j70104.com: did not receive HSTS header
-j70105.com: did not receive HSTS header
-j7051.com: did not receive HSTS header
-j7052.com: did not receive HSTS header
-j7053.com: did not receive HSTS header
+j70101.com: could not connect to host
+j70102.com: could not connect to host
+j70103.com: could not connect to host
+j70104.com: could not connect to host
+j70105.com: could not connect to host
+j7051.com: could not connect to host
+j7052.com: could not connect to host
+j7053.com: could not connect to host
+j81365.com: did not receive HSTS header
+j81818.com: did not receive HSTS header
+j82365.com: did not receive HSTS header
 j8y.de: could not connect to host
 j9297.co: could not connect to host
 j9512.com: could not connect to host
 j9517.com: could not connect to host
 j95aa.com: could not connect to host
 j95bb.com: could not connect to host
-j9721.com: could not connect to host
+j9721.com: did not receive HSTS header
 j9728.co: could not connect to host
 ja-dyck.de: could not connect to host
 ja-publications.com: did not receive HSTS header
@@ -15274,7 +16866,8 @@ jaan.su: could not connect to host
 jaaxypro.com: could not connect to host
 jabba.homelinux.org: could not connect to host
 jabbas.eu: could not connect to host
-jability.ovh: did not receive HSTS header
+jaccblog.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+jack2celebrities.com: could not connect to host
 jackalworks.com: could not connect to host
 jackdelik.de: did not receive HSTS header
 jackdoan.com: did not receive HSTS header
@@ -15284,16 +16877,15 @@ jackingramnissanparts.com: could not connect to host
 jackjack.ga: could not connect to host
 jackops.com: could not connect to host
 jackrusselterrier.com.br: could not connect to host
+jacksonvillestation.com: did not receive HSTS header
 jacksutton.info: could not connect to host
 jackyyf.com: could not connect to host
-jaco.by: could not connect to host
 jacobdevans.com: did not receive HSTS header
 jacobparry.ca: did not receive HSTS header
 jacobphono.com: could not connect to host
 jaculus.eu: did not receive HSTS header
 jadara.info: could not connect to host
-jaduniv.cf: could not connect to host
-jaguarwong.xyz: could not connect to host
+jadehotel.nl: could not connect to host
 jahliveradio.com: did not receive HSTS header
 jahmusic.net: did not receive HSTS header
 jaideeyoga.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -15303,14 +16895,18 @@ jaion.ml: could not connect to host
 jaion.tech: could not connect to host
 jaion.xyz: could not connect to host
 jakebeardsley.com: could not connect to host
-jakenbake.com: did not receive HSTS header
+jakenbake.com: could not connect to host
+jaketremper.com: did not receive HSTS header
 jakewales.com: could not connect to host
+jakewalker.xyz: did not receive HSTS header
 jakincode.army: could not connect to host
 jakobdenlinger.com: could not connect to host
+jaksch.biz: did not receive HSTS header
 jaksel.id: could not connect to host
 jaksi.io: could not connect to host
+jakub-boucek.cz: could not connect to host
 jakubarbet.eu: could not connect to host
-jalogisch.de: could not connect to host
+jakubboucek.cz: could not connect to host
 jamanji.com.ng: could not connect to host
 jamaware.org: could not connect to host
 jamberry.com.mx: could not connect to host
@@ -15319,7 +16915,7 @@ james-digital.com: did not receive HSTS header
 james.guru: could not connect to host
 james.je: could not connect to host
 jamesandanneke.com: did not receive HSTS header
-jamesandpame.la: could not connect to host
+jamesandpame.la: did not receive HSTS header
 jamesbradach.com: did not receive HSTS header
 jamesburton.london: could not connect to host
 jamesbywater.co.uk: could not connect to host
@@ -15340,14 +16936,17 @@ jamesl.ml: could not connect to host
 jamesmaurer.com: did not receive HSTS header
 jamesmorrison.me: did not receive HSTS header
 jamesrains.com: could not connect to host
-jamesrobertson.io: could not connect to host
+jamesrobertson.net: did not receive HSTS header
+jamesrobertson.sh: could not connect to host
 jamestmart.in: could not connect to host
+jamesusandra.com: did not receive HSTS header
+jamielarter.ca: could not connect to host
 jamiepeters.nl: did not receive HSTS header
 jamjestsimon.pl: could not connect to host
 jamourtney.com: could not connect to host
 jamyeprice.com: did not receive HSTS header
 jan-cermak.cz: did not receive HSTS header
-jan-daniels.de: did not receive HSTS header
+jan-daniels.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 jan-rieger.de: could not connect to host
 jan27.org: did not receive HSTS header
 janada.cz: could not connect to host
@@ -15359,7 +16958,8 @@ jangho.me: could not connect to host
 janheidler.dynv6.net: could not connect to host
 janking.de: could not connect to host
 janmachynka.cz: could not connect to host
-janmg.com: did not receive HSTS header
+janmg.com: could not connect to host
+jannisfink.de: did not receive HSTS header
 janoberst.com: did not receive HSTS header
 janosh.com: did not receive HSTS header
 jansen-schilders.nl: did not receive HSTS header
@@ -15373,20 +16973,21 @@ japan4you.org: could not connect to host
 japanbaths.com: did not receive HSTS header
 japaneseemoticons.org: did not receive HSTS header
 japanesenames.biz: did not receive HSTS header
+japangids.nl: could not connect to host
 japanwide.net: did not receive HSTS header
 jape.today: could not connect to host
 japlex.com: could not connect to host
 japon-japan.com: did not receive HSTS header
 jaqen.ch: could not connect to host
-jar.io: did not receive HSTS header
+jaquishbiomedical.com: did not receive HSTS header
+jar.io: could not connect to host
 jardin-exotique-rennes.fr: did not receive HSTS header
 jardinderline.ch: could not connect to host
-jardiniersduminotaure.fr: did not receive HSTS header
+jardiniersduminotaure.fr: could not connect to host
 jardins-utopie.net: did not receive HSTS header
 jaredbates.net: did not receive HSTS header
 jaredeberle.org: did not receive HSTS header
-jaredfraser.com: could not connect to host
-jario.com.br: did not receive HSTS header
+jario.com.br: could not connect to host
 jarivisual.com: could not connect to host
 jarl.ninja: could not connect to host
 jarnail.ca: did not receive HSTS header
@@ -15400,10 +17001,10 @@ jasl.works: could not connect to host
 jasmineconseil.com: did not receive HSTS header
 jasminefields.net: did not receive HSTS header
 jasmyn.tk: could not connect to host
-jason.re: did not receive HSTS header
 jasonadam.de: did not receive HSTS header
 jasoncosper.com: did not receive HSTS header
 jasonian-photo.com: could not connect to host
+jasonmili.online: could not connect to host
 jasonradin.com: could not connect to host
 jasonrobinson.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 jasonroe.me: did not receive HSTS header
@@ -15414,11 +17015,13 @@ jateng.press: could not connect to host
 jav-collective.com: could not connect to host
 java-board.com: could not connect to host
 javachip.win: could not connect to host
-javalestari.com: did not receive HSTS header
+javalestari.com: could not connect to host
 javan.ga: could not connect to host
 javascriptlab.fr: could not connect to host
+javaweb.site: could not connect to host
 javelinsms.com: could not connect to host
-javiermixdjs.com: did not receive HSTS header
+javiermixdjs.com: could not connect to host
+javik.net: did not receive HSTS header
 javilacat.info: could not connect to host
 jawn.ca: could not connect to host
 jawnelodzkie.org.pl: could not connect to host
@@ -15428,12 +17031,12 @@ jaycouture.com: could not connect to host
 jaylen.com.ar: did not receive HSTS header
 jayna.design: could not connect to host
 jaypandit.me: could not connect to host
-jayschulman.com: did not receive HSTS header
+jayschulman.com: could not connect to host
 jayscoaching.com: could not connect to host
 jayshao.com: did not receive HSTS header
 jazerxx.com: could not connect to host
 jazzfeet.co.uk: could not connect to host
-jazzinutrecht.info: did not receive HSTS header
+jazzinutrecht.info: could not connect to host
 jb159632.com: max-age too low: 0
 jballelectronics.com: did not receive HSTS header
 jbelien.be: did not receive HSTS header
@@ -15442,10 +17045,10 @@ jbeta.is: could not connect to host
 jbj.co.uk: did not receive HSTS header
 jbn.mx: could not connect to host
 jbrowndesign.me: could not connect to host
-jbt-stl.com: did not receive HSTS header
 jcaicedo.tk: could not connect to host
 jccars-occasions.be: could not connect to host
 jcch.de: could not connect to host
+jccrew.org: could not connect to host
 jcf-office.com: did not receive HSTS header
 jcit.xyz: could not connect to host
 jcolideles.com: could not connect to host
@@ -15454,11 +17057,9 @@ jcor.me: could not connect to host
 jcoscia.com: could not connect to host
 jcra.net: could not connect to host
 jcraft.us: could not connect to host
+jcsdevelopment.com: did not receive HSTS header
 jctf.io: could not connect to host
 jcvidroseespelhos.com.br: did not receive HSTS header
-jcyz.cf: could not connect to host
-jd-group.co.uk: could not connect to host
-jd777.vip: could not connect to host
 jdav-leipzig.de: could not connect to host
 jdcdirectsales.com: could not connect to host
 jdcdirectsales.com.ph: could not connect to host
@@ -15468,13 +17069,13 @@ jdgonzalez95.com: could not connect to host
 jdh8.org: did not receive HSTS header
 jdoiron.me: did not receive HSTS header
 jdsf.tk: could not connect to host
-jdubya.info: could not connect to host
 je.net.cn: could not connect to host
 jean-remy.ch: could not connect to host
 jeancafe.ddns.net: could not connect to host
+jecho.cn: could not connect to host
 jecurranpc.com: did not receive HSTS header
-jedayoshi.me: did not receive HSTS header
-jedayoshi.tk: could not connect to host
+jedayoshi.me: could not connect to host
+jedayoshi.tk: did not receive HSTS header
 jeemain.org: could not connect to host
 jeerbl.com: did not receive HSTS header
 jeff.is: could not connect to host
@@ -15483,12 +17084,11 @@ jeffcasavant.com: did not receive HSTS header
 jeffersonkyattorney.gov: did not receive HSTS header
 jeffersonregan.org: could not connect to host
 jeffhuxley.com: could not connect to host
-jeffpenchoff.com: could not connect to host
+jeffmcneill.com: did not receive HSTS header
 jeffreymagee.com: did not receive HSTS header
 jeffrhinelander.com: did not receive HSTS header
 jehovahsays.net: could not connect to host
 jeil-makes.co.kr: could not connect to host
-jelewa.de: did not receive HSTS header
 jelleschneiders.com: did not receive HSTS header
 jellow.nl: did not receive HSTS header
 jelmer.co.uk: could not connect to host
@@ -15507,18 +17107,20 @@ jennybeaned.com: did not receive HSTS header
 jens-prangenberg.de: did not receive HSTS header
 jens.hk: could not connect to host
 jensenbanden.no: could not connect to host
-jenssen.org: could not connect to host
+jenssen.org: did not receive HSTS header
 jeparamedia.com: did not receive HSTS header
 jepertinger-itconsulting.de: did not receive HSTS header
-jeremy-chen.org: could not connect to host
 jeremye77.com: did not receive HSTS header
 jeremymade.com: could not connect to host
+jeremyness.com: could not connect to host
+jeremypaul.me: did not receive HSTS header
 jeremywagner.me: did not receive HSTS header
-jeroendev.one: did not receive HSTS header
+jeremywinn.xyz: could not connect to host
 jeroenensanne.wedding: could not connect to host
 jeroenvanderwal.nl: did not receive HSTS header
 jeroldirvin.com: could not connect to host
 jerrypau.ca: did not receive HSTS header
+jes.events: did not receive HSTS header
 jesorsenville.com: did not receive HSTS header
 jessevictors.com: could not connect to host
 jessicah.org: could not connect to host
@@ -15527,15 +17129,17 @@ jesuisformidable.nl: could not connect to host
 jesuslucas.com: did not receive HSTS header
 jet-code.com: did not receive HSTS header
 jetapi.org: could not connect to host
-jetbrains.pw: did not receive HSTS header
+jetbrains.pw: could not connect to host
 jetlagphotography.com: could not connect to host
 jeton.com: did not receive HSTS header
+jetses.be: did not receive HSTS header
 jetsetcharge.com: could not connect to host
 jetsetpay.com: could not connect to host
 jetzt-elektromobil.de: could not connect to host
+jeuxetcodes.fr: could not connect to host
 jewelers.expert: could not connect to host
 jewellerydesignstore.com: could not connect to host
-jewellerymarvels.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+jewellerymarvels.com: did not receive HSTS header
 jexler.net: could not connect to host
 jez.nl: could not connect to host
 jf-fotos.de: did not receive HSTS header
@@ -15544,7 +17148,7 @@ jfmhero.me: could not connect to host
 jfnllc.com: could not connect to host
 jfsa.jp: did not receive HSTS header
 jfx.space: did not receive HSTS header
-jglover.com: did not receive HSTS header
+jglover.com: could not connect to host
 jh-media.eu: could not connect to host
 jhburton.co.uk: could not connect to host
 jhburton.uk: could not connect to host
@@ -15553,13 +17157,15 @@ jhejderup.me: could not connect to host
 jhermsmeier.de: did not receive HSTS header
 jhf.io: did not receive HSTS header
 jhservicos.net.br: could not connect to host
+jhuang.me: could not connect to host
 jhw-profiles.de: did not receive HSTS header
-jia1hao.com: did not receive HSTS header
+jia1hao.com: could not connect to host
 jiacl.com: could not connect to host
 jiaidu.com: could not connect to host
 jiangzequn.com: could not connect to host
 jiangzm.com: could not connect to host
 jianjiantv.com: could not connect to host
+jianny.me: could not connect to host
 jianyuan.pro: could not connect to host
 jiaqiang.vip: could not connect to host
 jiatingtrading.com: could not connect to host
@@ -15574,6 +17180,7 @@ jikegu.com: could not connect to host
 jikken.de: could not connect to host
 jimas.eu: did not receive HSTS header
 jimbiproducts.com: could not connect to host
+jimbraaten.com: could not connect to host
 jimenacocina.com: did not receive HSTS header
 jimgao.tk: did not receive HSTS header
 jimizhou.xyz: could not connect to host
@@ -15582,8 +17189,10 @@ jimmycn.com: could not connect to host
 jimmynelson.com: did not receive HSTS header
 jinancy.fr: could not connect to host
 jinanshen.com: could not connect to host
+jinduoduo666.com: could not connect to host
+jinduoduo888.com: could not connect to host
 jingyuesi.com: could not connect to host
-jinliming.ml: could not connect to host
+jinliming.ml: did not receive HSTS header
 jinmaguoji.com: could not connect to host
 jinsha1234567.com: could not connect to host
 jinsha12345678.com: could not connect to host
@@ -15594,17 +17203,17 @@ jinsha66669.com: could not connect to host
 jinsha6969.com: could not connect to host
 jinsha8888888.com: could not connect to host
 jinsha99999.com: could not connect to host
-jintaiyang123.org: could not connect to host
 jiosongs.biz: could not connect to host
 jiosongs.com: could not connect to host
 jira.com: did not receive HSTS header
 jirav.io: could not connect to host
+jiretvariedades.com: did not receive HSTS header
+jiripudil.cz: did not receive HSTS header
 jirosworld.com: did not receive HSTS header
 jisaku-homepage.com: did not receive HSTS header
 jisnashville.gov: could not connect to host
 jitlab.org: could not connect to host
 jitsi.org: did not receive HSTS header
-jiu99shipin.com: could not connect to host
 jiveiaktivno.bg: did not receive HSTS header
 jiyue.com: could not connect to host
 jiyue.moe: could not connect to host
@@ -15616,8 +17225,8 @@ jj6729.co: could not connect to host
 jj6729.com: did not receive HSTS header
 jj6957.co: could not connect to host
 jj9297.co: could not connect to host
-jj9397.com: could not connect to host
-jj9721.com: could not connect to host
+jj9397.com: did not receive HSTS header
+jj9721.com: did not receive HSTS header
 jj9728.co: could not connect to host
 jjf.org.au: did not receive HSTS header
 jjj917.com: did not receive HSTS header
@@ -15625,7 +17234,8 @@ jjjconnection.com: could not connect to host
 jjjj003.com: did not receive HSTS header
 jjlvk.nl: did not receive HSTS header
 jjmarketing.co.uk: did not receive HSTS header
-jjspartytime.co.uk: could not connect to host
+jjrstudio.com: did not receive HSTS header
+jjspartytime.co.uk: did not receive HSTS header
 jjsummerboatparty.co.uk: could not connect to host
 jka.io: did not receive HSTS header
 jkb.pics: could not connect to host
@@ -15650,14 +17260,13 @@ jm22.com: could not connect to host
 jmalarcon.es: did not receive HSTS header
 jmatt.org: did not receive HSTS header
 jmb.lc: could not connect to host
+jmcleaning.services: could not connect to host
 jmdekker.it: could not connect to host
 jmoreau.ddns.net: could not connect to host
 jmotion.co.uk: did not receive HSTS header
 jmpmotorsport.co.uk: did not receive HSTS header
-jmsjms.me: could not connect to host
 jmvbmx.ch: could not connect to host
 jmvdigital.com: did not receive HSTS header
-jmwap.com: could not connect to host
 jmx520.com: max-age too low: 0
 jn1.me: did not receive HSTS header
 jncde.de: could not connect to host
@@ -15665,7 +17274,7 @@ jncie.de: did not receive HSTS header
 jncip.de: could not connect to host
 joacimeldre.com: could not connect to host
 joakimalgroy.com: could not connect to host
-joanjensen.net: could not connect to host
+joaojunior.com: did not receive HSTS header
 joaquimgoliveira.pt: did not receive HSTS header
 job-offer.de: could not connect to host
 jobbuddy.se: did not receive HSTS header
@@ -15675,30 +17284,35 @@ jobflyapp.com: could not connect to host
 jobmedic.com: did not receive HSTS header
 jobmob.co.il: did not receive HSTS header
 jobs-in-tech.com: could not connect to host
-jobshq.com: did not receive HSTS header
+jobsarkari.com: did not receive HSTS header
+jobshq.com: could not connect to host
 jobtestprep.it: did not receive HSTS header
 jodel.ninja: could not connect to host
 joe-pagan.com: could not connect to host
 joearodriguez.com: could not connect to host
+joebobbriggs.net: did not receive HSTS header
 joecod.es: could not connect to host
 joefixit.co.uk: could not connect to host
 joejohnson.name: did not receive HSTS header
 joelcoustrain.com: did not receive HSTS header
-joeldbolivarc.com: could not connect to host
+joeldbolivarc.com: did not receive HSTS header
 joelgonewild.com: did not receive HSTS header
 joemotherfuckingjohnson.com: did not receive HSTS header
 joerg-wellpott.de: did not receive HSTS header
+joerosca.com: did not receive HSTS header
 joeseago.com: did not receive HSTS header
 joesniderman.com: could not connect to host
 joetyson.io: could not connect to host
+joeygitalian.com: could not connect to host
 joeyvilaro.com: could not connect to host
 jof.guru: did not receive HSTS header
 jogi-server.de: could not connect to host
 johand.io: could not connect to host
+johanli.com: did not receive HSTS header
 johannaojanen.com: could not connect to host
 johannes-bugenhagen.de: did not receive HSTS header
 johannesburg-escorts.co.za: could not connect to host
-johanneskonrad.de: could not connect to host
+johanneskonrad.de: did not receive HSTS header
 johnbrownphotography.ch: did not receive HSTS header
 johncardell.com: did not receive HSTS header
 johners.me: could not connect to host
@@ -15709,11 +17323,11 @@ johnmorganpartnership.co.uk: did not receive HSTS header
 johnno.be: could not connect to host
 johnnybegood.tk: could not connect to host
 johnrom.com: did not receive HSTS header
-johnrosen.top: could not connect to host
 johnrosen.xyz: could not connect to host
 johnsonho.net: could not connect to host
 johntomasowa.com: could not connect to host
 johnverkerk.com: could not connect to host
+joi-dhl.ch: could not connect to host
 joinamericacorps.gov: could not connect to host
 joinhahobby.com.br: could not connect to host
 jointoweb.com: could not connect to host
@@ -15722,14 +17336,16 @@ joker.menu: could not connect to host
 jokerice.co.uk: could not connect to host
 joliet.gov: could not connect to host
 jollygoodspudz.ca: could not connect to host
+jomagus.de: could not connect to host
 jomibe.de: did not receive HSTS header
 jomofojo.co: did not receive HSTS header
 jomofojo.com: did not receive HSTS header
 jomp16.tk: could not connect to host
+jonale.net: could not connect to host
 jonandnoraswedding.com: did not receive HSTS header
 jonarcher.info: did not receive HSTS header
 jonas-keidel.de: could not connect to host
-jonas-wenk.de: did not receive HSTS header
+jonas-wenk.de: could not connect to host
 jonasberger.com: did not receive HSTS header
 jonasgroth.se: did not receive HSTS header
 jonathan-apps.com: could not connect to host
@@ -15747,15 +17363,13 @@ jongha.me: could not connect to host
 jonglvab.be: did not receive HSTS header
 jonn.me: could not connect to host
 jonnichols.info: could not connect to host
-jons.org: could not connect to host
 jonsno.ws: could not connect to host
 joomlant.org: could not connect to host
 joonatoona.me: did not receive HSTS header
-joorshin.ir: could not connect to host
-joostbovee.nl: could not connect to host
 jooto.com: did not receive HSTS header
 jopsens.de: could not connect to host
 jordan-jungk.de: could not connect to host
+jordandirections.com: could not connect to host
 jordankirby.co.uk: could not connect to host
 jordanp.engineer: could not connect to host
 jordanstrustcompany.cn: could not connect to host
@@ -15774,16 +17388,22 @@ josahrens.me: could not connect to host
 jose.eti.br: did not receive HSTS header
 joseaveleira.es: did not receive HSTS header
 josecage.com: could not connect to host
+josefjanosec.com: could not connect to host
+josegdigital.com: could not connect to host
 josegerber.ch: did not receive HSTS header
+joseitoda.org: did not receive HSTS header
 josephsniderman.net: could not connect to host
 josericaurte.com: could not connect to host
+joshgrancell.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 joshharkema.com: could not connect to host
 joshhoffer.com: could not connect to host
 joshi.su: could not connect to host
 joshplant.co.uk: could not connect to host
 joshstroup.me: could not connect to host
+joshuadmiller.info: did not receive HSTS header
 joshuajohnson.ca: did not receive HSTS header
-joto.de: did not receive HSTS header
+joshuarogers.net: did not receive HSTS header
+joto.de: could not connect to host
 jotpics.com: could not connect to host
 jottit.com: could not connect to host
 jouetspetitechanson.com: could not connect to host
@@ -15796,10 +17416,10 @@ joynadvisors.com: did not receive HSTS header
 jpaglier.com: could not connect to host
 jpcrochetapparel.com: could not connect to host
 jpeaches.xyz: could not connect to host
-jpm-inc.jp: did not receive HSTS header
-jpoirierlavoie.ca: could not connect to host
-jpprivatehiretaxis.co.uk: did not receive HSTS header
+jpn.parts: did not receive HSTS header
 jptun.com: could not connect to host
+jpvtutoriales.com: did not receive HSTS header
+jqk918.com: could not connect to host
 jr5devdoug.xyz: could not connect to host
 jr5devdouglas.xyz: could not connect to host
 jr5proxdoug.xyz: could not connect to host
@@ -15810,6 +17430,7 @@ jrgold.me: could not connect to host
 jrlopezoficial.com: could not connect to host
 jrmd.io: could not connect to host
 jrvar.com: did not receive HSTS header
+js0204.com: could not connect to host
 js3311.com: could not connect to host
 js88.sg: could not connect to host
 js93029.com: could not connect to host
@@ -15825,37 +17446,42 @@ jsh517.com: did not receive HSTS header
 jsh799.com: did not receive HSTS header
 jsh916.com: did not receive HSTS header
 jsh917.com: did not receive HSTS header
-jsh918.com: did not receive HSTS header
+jsh918.com: could not connect to host
 jsh920.com: did not receive HSTS header
 jsjyhzy.cc: did not receive HSTS header
 jskier.com: could not connect to host
 jslidong.top: could not connect to host
+jsmetallerie.fr: did not receive HSTS header
 json-viewer.com: did not receive HSTS header
-json.download: could not connect to host
+json2bot.chat: did not receive HSTS header
 jsonsinc.com: could not connect to host
-jsproxy.tk: did not receive HSTS header
 jss.moe: did not receive HSTS header
+jss6868.cc: could not connect to host
 jstelecom.com.br: did not receive HSTS header
 jsuse.xyz: could not connect to host
 jthackery.com: did not receive HSTS header
 jtl-connect.de: did not receive HSTS header
+jtmar.me: did not receive HSTS header
 ju1ro.de: could not connect to host
 juabcounty.gov: did not receive HSTS header
 jualautoclave.com: did not receive HSTS header
 jualssh.com: could not connect to host
 juandesouza.com: did not receive HSTS header
 juanhub.com: did not receive HSTS header
-juanmaguitar.com: could not connect to host
 jubee.nl: did not receive HSTS header
 jubilerkarat.pl: did not receive HSTS header
+jubileum.online: could not connect to host
 jubileumfotograaf.nl: could not connect to host
 juch.cc: did not receive HSTS header
 juchheim-methode.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 juchit.at: could not connect to host
 judc-ge.ch: could not connect to host
 judge2020.me: did not receive HSTS header
+judytka.cz: did not receive HSTS header
+juegosycodigos.es: could not connect to host
 juelda.com: could not connect to host
 juergen-roehrig.de: did not receive HSTS header
+juergenhecht.de: did not receive HSTS header
 juergmeier.ch: did not receive HSTS header
 juezz.top: did not receive HSTS header
 juiced.gs: did not receive HSTS header
@@ -15864,24 +17490,28 @@ juku-info.top: did not receive HSTS header
 julegoerke.de: did not receive HSTS header
 juliamweber.de: did not receive HSTS header
 julian-kipka.de: did not receive HSTS header
+julian-weigle.de: did not receive HSTS header
 julian-witusch.de: could not connect to host
 juliankirchner.ch: did not receive HSTS header
 julianwallmeroth.de: could not connect to host
+julianweigle.de: did not receive HSTS header
 juliaoantiguidades.com.br: could not connect to host
 juliawebber.co.za: could not connect to host
 julido.de: did not receive HSTS header
+julienpaterne.com: could not connect to host
 julio.jamil.nom.br: could not connect to host
 juliohernandezgt.com: could not connect to host
-juls.cloud: could not connect to host
 jumba.com.au: could not connect to host
 jumbopan.com: could not connect to host
 jumbopan.net: could not connect to host
+jumboquid.co.uk: did not receive HSTS header
 jumbox.xyz: could not connect to host
 jumbster.com: could not connect to host
 jump.bg: did not receive HSTS header
 jumparoundreading.co.uk: could not connect to host
 jumperoos.co.uk: could not connect to host
 jumping-duck.com: did not receive HSTS header
+jumpingdeliege-vip.be: could not connect to host
 jumpman-iphone-design.de: could not connect to host
 junaos.com: did not receive HSTS header
 junaos.xyz: did not receive HSTS header
@@ -15892,18 +17522,21 @@ jungaa.fr: did not receive HSTS header
 junge-selbsthilfe.info: could not connect to host
 jungleculture.co.za: could not connect to host
 junglegoat.xyz: could not connect to host
+juni.io: did not receive HSTS header
 juniwalk.cz: did not receive HSTS header
 junjhome.com: could not connect to host
 junjung.me: could not connect to host
 junoaroma.com: could not connect to host
 junqtion.com: could not connect to host
+junta.pl: did not receive HSTS header
 jupp0r.de: could not connect to host
+jupuglia.com.br: could not connect to host
 juraciimoveis.com.br: could not connect to host
 juridiqueo.com: did not receive HSTS header
 jurijbuga.de: did not receive HSTS header
 juristeo.com: did not receive HSTS header
 jurko.cz: did not receive HSTS header
-jurriaan.ninja: could not connect to host
+jusos-goettingen.de: did not receive HSTS header
 just-a-clanpage.de: could not connect to host
 just-english.online: did not receive HSTS header
 just-pools.co.za: could not connect to host
@@ -15914,6 +17547,7 @@ justiceforfathers.com: did not receive HSTS header
 justiceo.org: did not receive HSTS header
 justin-tech.com: could not connect to host
 justinellingwood.com: could not connect to host
+justinharrison.ca: could not connect to host
 justinlemay.com: could not connect to host
 justinribeiro.com: did not receive HSTS header
 justinrudio.com: did not receive HSTS header
@@ -15926,18 +17560,21 @@ justtalk.site: could not connect to host
 justudin.com: did not receive HSTS header
 justwood.cz: did not receive HSTS header
 justzz.xyz: could not connect to host
-juul.xyz: did not receive HSTS header
-juvenex.co: could not connect to host
+juul.xyz: could not connect to host
+juvenex.co: did not receive HSTS header
 juventusclublugano.ch: could not connect to host
 juventusmania1897.com: could not connect to host
 juwairen.cn: could not connect to host
 juzgalo.com: did not receive HSTS header
 jva-wuerzburg.de: could not connect to host
-jvn.com: did not receive HSTS header
+jvandenbroeck.com: could not connect to host
+jvlandscapingservices.com: could not connect to host
 jvoice.net: could not connect to host
 jvwdev.nl: could not connect to host
+jw66.cc: could not connect to host
 jwallet.cc: did not receive HSTS header
 jwilsson.me: could not connect to host
+jwimps.com: could not connect to host
 jwolt-lx.com: could not connect to host
 jwplay.ml: could not connect to host
 jwpoore.com: could not connect to host
@@ -15951,79 +17588,60 @@ jym.fit: could not connect to host
 jysk-kornteknik.dk: did not receive HSTS header
 jysperm.me: did not receive HSTS header
 jz585.com: could not connect to host
-jzbk.org: could not connect to host
 jznet.org: could not connect to host
 k-dev.de: could not connect to host
 k-netz.de: did not receive HSTS header
 k-pan.com: could not connect to host
 k-rickroll-g.pw: could not connect to host
+k-tube.com: did not receive HSTS header
 k-wallet.com: could not connect to host
 k0.gg: could not connect to host
 k1cp.com: could not connect to host
-k1yoshi.com: could not connect to host
 k30365.com: could not connect to host
 k33k00.com: did not receive HSTS header
 k3508.com: could not connect to host
 k38.cc: could not connect to host
 k5197.co: could not connect to host
+k60111.com: did not receive HSTS header
+k60222.com: did not receive HSTS header
+k60333.com: did not receive HSTS header
+k60444.com: did not receive HSTS header
+k60555.com: did not receive HSTS header
+k60666.com: did not receive HSTS header
+k60777.com: did not receive HSTS header
+k60888.com: did not receive HSTS header
+k60999.com: did not receive HSTS header
+k60d.com: could not connect to host
 k6729.co: could not connect to host
 k6729.com: did not receive HSTS header
 k6957.co: could not connect to host
 k6957.com: did not receive HSTS header
-k8007.com: did not receive HSTS header
-k8050.com: did not receive HSTS header
-k80608.com: did not receive HSTS header
-k80725.com: did not receive HSTS header
-k81.app: did not receive HSTS header
-k814.com: did not receive HSTS header
-k816.com: could not connect to host
-k819.co: did not receive HSTS header
-k819.com: did not receive HSTS header
+k8079.com: could not connect to host
+k80998.com: could not connect to host
+k81365.com: did not receive HSTS header
+k81818.com: did not receive HSTS header
 k82.org: could not connect to host
+k82365.com: did not receive HSTS header
 k8268.com: could not connect to host
-k829.co: did not receive HSTS header
-k829.com: did not receive HSTS header
-k829.net: did not receive HSTS header
-k83.app: did not receive HSTS header
-k830.co: did not receive HSTS header
-k831.co: did not receive HSTS header
-k8330.com: did not receive HSTS header
-k835.co: did not receive HSTS header
-k835.com: did not receive HSTS header
-k843.co: did not receive HSTS header
-k843.com: did not receive HSTS header
-k8550.com: did not receive HSTS header
-k85555.com: did not receive HSTS header
-k86690.com: did not receive HSTS header
-k87777.com: did not receive HSTS header
-k87777.net: did not receive HSTS header
-k8860.com: did not receive HSTS header
-k8901119.com: did not receive HSTS header
-k894.com: did not receive HSTS header
-k895.com: did not receive HSTS header
-k89595.com: did not receive HSTS header
-k89999.com: did not receive HSTS header
-k89999.net: could not connect to host
-k8dalao.com: could not connect to host
-k8didi.com: could not connect to host
-k8jiejie.com: could not connect to host
-k8laosiji.com: could not connect to host
-k8meimei.com: could not connect to host
-k8meinv.com: could not connect to host
+k8668.com: could not connect to host
+k86988.com: could not connect to host
+k8927.com: could not connect to host
+k8gege.com: could not connect to host
+k8v05.com: could not connect to host
 k9297.co: could not connect to host
 k9728.co: could not connect to host
 ka-clan.com: could not connect to host
 kaanduman.com: could not connect to host
-kaangenc.me: did not receive HSTS header
+kaangenc.me: could not connect to host
 kaany.io: could not connect to host
 kaas.wtf: could not connect to host
 kaasbijwijn.nl: did not receive HSTS header
 kaashosting.nl: did not receive HSTS header
-kabaca.design: did not receive HSTS header
+kabaca.design: could not connect to host
 kabinapp.com: could not connect to host
 kaboom.pw: did not receive HSTS header
 kabos.art: could not connect to host
-kabouterbankje.nl: did not receive HSTS header
+kabouterbankje.nl: could not connect to host
 kabu-abc.com: could not connect to host
 kabuabc.com: could not connect to host
 kackscharf.de: did not receive HSTS header
@@ -16032,8 +17650,8 @@ kadmec.com: did not receive HSTS header
 kaela.design: could not connect to host
 kaeru-seitai.com: did not receive HSTS header
 kaginalycloud.com: could not connect to host
+kagucho.net: could not connect to host
 kahopoon.net: could not connect to host
-kai.cool: did not receive HSTS header
 kaibol.com: could not connect to host
 kaika-facilitymanagement.de: could not connect to host
 kaika-hms.de: did not receive HSTS header
@@ -16041,6 +17659,7 @@ kainetsoft.com: could not connect to host
 kainz.bayern: could not connect to host
 kainz.be: could not connect to host
 kaisers.de: could not connect to host
+kaiva.cl: could not connect to host
 kaiyuewu.com: could not connect to host
 kaizenjuku.org: did not receive HSTS header
 kajabutik.pl: did not receive HSTS header
@@ -16050,23 +17669,25 @@ kaketalk.com: did not receive HSTS header
 kakoo-media.nl: could not connect to host
 kakoo.nl: could not connect to host
 kakoomedia.nl: could not connect to host
+kaktuskola.se: could not connect to host
+kakuch.com: did not receive HSTS header
 kakuto.me: could not connect to host
-kalakarclub.com: could not connect to host
 kalami.nl: could not connect to host
 kaleidoskop-freiburg.de: did not receive HSTS header
 kalender.goip.de: could not connect to host
-kaliaa.fi: could not connect to host
 kalifornien-tourismus.de: did not receive HSTS header
 kalilinux.tech: could not connect to host
 kaloix.de: could not connect to host
-kalolina.com: could not connect to host
+kalolina.com: did not receive HSTS header
 kaloni.info: could not connect to host
 kalsbouncies.com: could not connect to host
+kamagraerektion.eu: did not receive HSTS header
 kamalame.co: could not connect to host
 kamatajisyaku.tokyo.jp: could not connect to host
 kambodja.guide: could not connect to host
 kamcvicit.sk: could not connect to host
 kamikano.com: could not connect to host
+kamilmagdziak.pl: did not receive HSTS header
 kamitech.ch: could not connect to host
 kampunginggris-ue.com: could not connect to host
 kana.me: could not connect to host
@@ -16075,9 +17696,13 @@ kanagawachuo-hospital.jp: could not connect to host
 kanal-schaefer.de: could not connect to host
 kanar.nl: could not connect to host
 kancolle.me: could not connect to host
+kandalife.com: could not connect to host
 kandec.co.jp: did not receive HSTS header
+kandoo.tech: did not receive HSTS header
+kandrahechiceravudu.com: could not connect to host
 kaneisdi.com: did not receive HSTS header
 kaneo-gmbh.de: did not receive HSTS header
+kanetix.ca: did not receive HSTS header
 kanganer.com: could not connect to host
 kangkai.me: could not connect to host
 kangooroule.fr: did not receive HSTS header
@@ -16088,6 +17713,7 @@ kanobu.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_
 kanotijd.nl: could not connect to host
 kanr.in: could not connect to host
 kanscooking.org: could not connect to host
+kantanmt.com: did not receive HSTS header
 kantorad.io: could not connect to host
 kantorkita.net: did not receive HSTS header
 kantv1.com: could not connect to host
@@ -16095,13 +17721,14 @@ kanzakiranko.jp: could not connect to host
 kanzlei-myca.de: did not receive HSTS header
 kanzshop.com: could not connect to host
 kaohub.com: could not connect to host
-kaomojis.net: could not connect to host
+kaomojis.net: did not receive HSTS header
 kaotik4266.com: could not connect to host
-kapgy-moto.com: did not receive HSTS header
+kap-genial.de: could not connect to host
+kapgy-moto.com: could not connect to host
 kapiorr.duckdns.org: could not connect to host
 kaplatz.is: could not connect to host
 kaplatzis.com: could not connect to host
-kapo.info: did not receive HSTS header
+kapo.info: could not connect to host
 kappit.dk: could not connect to host
 kapverde.guide: could not connect to host
 kara-fabian.com: could not connect to host
@@ -16119,29 +17746,32 @@ karenwillisholmes.com: did not receive HSTS header
 karhm.com: did not receive HSTS header
 karjala-ski.ru: did not receive HSTS header
 karlin.run: could not connect to host
-karlis-kavacis.id.lv: did not receive HSTS header
+karlis-kavacis.id.lv: could not connect to host
 karloskontana.tk: could not connect to host
 karlproctor.co.uk: could not connect to host
+karolak.fr: could not connect to host
 karpanhellas.com: could not connect to host
-karsofsystems.com: could not connect to host
 kartashev.me: did not receive HSTS header
 karting34.com: did not receive HSTS header
 karuneshjohri.com: could not connect to host
-kasadara.com: could not connect to host
-kaseban.com: did not receive HSTS header
+kasadara.com: did not receive HSTS header
 kashadriskill.com: could not connect to host
 kashbet.com: could not connect to host
 kashdash.ca: could not connect to host
 kashmirobserver.net: did not receive HSTS header
+kasse.pro: did not receive HSTS header
 kastemperaturen.ga: could not connect to host
 katalogakci.cz: did not receive HSTS header
 katalogbutikker.dk: could not connect to host
 katata-kango.ac.jp: did not receive HSTS header
+katcr.co: could not connect to host
 kateduggan.net: could not connect to host
 kathrinbaumannphotography.com: did not receive HSTS header
 kati0.com: could not connect to host
 katiaetdavid.fr: could not connect to host
 katja-nikolic-design.de: could not connect to host
+katja-und-ronny.de: did not receive HSTS header
+katjavoneysmondt.de: did not receive HSTS header
 katoju.co.jp: did not receive HSTS header
 katproxy.al: did not receive HSTS header
 katproxy.online: could not connect to host
@@ -16149,9 +17779,10 @@ katproxy.site: did not receive HSTS header
 katproxy.tech: could not connect to host
 katproxy.top: could not connect to host
 katrinjanke.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-kattenfun.be: could not connect to host
+kattenfun.be: did not receive HSTS header
 kattenfun.nl: did not receive HSTS header
 katthewaffle.fr: could not connect to host
+katyl.info: could not connect to host
 katzen.me: could not connect to host
 katzenbrunnen-test.de: could not connect to host
 katzensklave.me: could not connect to host
@@ -16162,20 +17793,23 @@ kauperwood.ovh: could not connect to host
 kauplusprofesional.com: did not receive HSTS header
 kausch.at: could not connect to host
 kausta.me: could not connect to host
-kaverti.com: did not receive HSTS header
+kaverti.com: could not connect to host
 kavik.no: could not connect to host
 kavinvin.me: could not connect to host
+kavorka.me: could not connect to host
 kawaii.io: could not connect to host
 kawaiii.link: could not connect to host
 kawaiiku.com: could not connect to host
 kawaiiku.de: could not connect to host
 kaweus.de: did not receive HSTS header
 kayakabovegroundswimmingpools.com: could not connect to host
+kayant-server.space: could not connect to host
 kaydan.io: could not connect to host
 kayipmurekkep.com: could not connect to host
 kayleen.net: could not connect to host
 kayon.cf: could not connect to host
 kaypasocks.com: could not connect to host
+kayscs.com: could not connect to host
 kazamasion.com: could not connect to host
 kazanasolutions.de: could not connect to host
 kazenojiyu.fr: could not connect to host
@@ -16184,21 +17818,18 @@ kazu.click: did not receive HSTS header
 kazuhirohigashi.com: did not receive HSTS header
 kazumi.ooo: could not connect to host
 kb3.net: could not connect to host
+kb3434.com: could not connect to host
 kb709.com: could not connect to host
 kb7373.com: could not connect to host
-kb7676.com: could not connect to host
 kb802.com: could not connect to host
 kb8851.com: could not connect to host
-kb88818.com: could not connect to host
 kb88dc04.com: could not connect to host
 kb88dc05.com: could not connect to host
 kb88dc06.com: could not connect to host
 kb88dc12.com: could not connect to host
 kb88dc17.com: could not connect to host
-kb88dc28.com: could not connect to host
 kbcso.com: could not connect to host
 kbfl.org: could not connect to host
-kbit.dk: could not connect to host
 kcc.sh: did not receive HSTS header
 kchomemed.com: did not receive HSTS header
 kcluster.io: could not connect to host
@@ -16206,12 +17837,12 @@ kcptun.com: could not connect to host
 kd-plus.pp.ua: could not connect to host
 kdata.it: did not receive HSTS header
 kdbx.online: could not connect to host
-kdcp.pw: could not connect to host
 kdfans.com: did not receive HSTS header
 kdm-online.de: did not receive HSTS header
 kdyby.org: did not receive HSTS header
 keaneokelley.com: could not connect to host
 kearney.io: could not connect to host
+kedibizworx.com: could not connect to host
 kediri.win: could not connect to host
 keditor.biz: could not connect to host
 keechain.io: could not connect to host
@@ -16226,7 +17857,6 @@ keepassa.co: could not connect to host
 keepclean.me: could not connect to host
 keepcoalintheground.org: could not connect to host
 keeperapp.com: could not connect to host
-keeperklan.com: could not connect to host
 keepflow.io: could not connect to host
 keepmanager.org: could not connect to host
 keeprubyweird.com: did not receive HSTS header
@@ -16236,6 +17866,7 @@ keezin.ga: could not connect to host
 kefaloniatoday.com: did not receive HSTS header
 keihin-chaplin.jp: did not receive HSTS header
 kein-fidget-spinner-werden.de: could not connect to host
+keithws.net: could not connect to host
 kejar.id: did not receive HSTS header
 kejibot.com: did not receive HSTS header
 kekehouse.net: could not connect to host
@@ -16250,25 +17881,27 @@ kelmarsafety.com: [Exception... "Component returned failure code: 0x80004005 (NS
 kelp.agency: did not receive HSTS header
 kenbillionsyuan.tk: could not connect to host
 kendernet.com: could not connect to host
+kenguntokku.jp: did not receive HSTS header
 kenkoelectric.com: did not receive HSTS header
 kennethaasan.no: could not connect to host
 kennethferguson.com: did not receive HSTS header
-kennynet.co.uk: could not connect to host
 kensparkesphotography.com: did not receive HSTS header
 kensyou.network: did not receive HSTS header
 kentacademiestrust.org.uk: could not connect to host
 kenx5.eu.org: could not connect to host
-kenyons.info: could not connect to host
 keops-spine.us: could not connect to host
 kep-sbt.hu: did not receive HSTS header
 kepler-seminar.de: did not receive HSTS header
 kepsbt.hu: did not receive HSTS header
-kerangalam.com: did not receive HSTS header
+kerangalam.com: could not connect to host
 kerem.xyz: could not connect to host
 kerenos.rocks: did not receive HSTS header
 kerforhome.com: did not receive HSTS header
 kerksanders.nl: could not connect to host
 kermadec.blog: could not connect to host
+kermadec.com: could not connect to host
+kermadec.fr: could not connect to host
+kermadec.net: could not connect to host
 kernelmode.io: did not receive HSTS header
 kerner.xyz: could not connect to host
 kernl.us: did not receive HSTS header
@@ -16278,29 +17911,48 @@ kersbergen.nl: did not receive HSTS header
 kersmexico.com: could not connect to host
 kerzyte.net: could not connect to host
 keshausconsulting.com: could not connect to host
-keskeces.com: did not receive HSTS header
 kessel-runners.com: could not connect to host
 kesteren.com: could not connect to host
 kesteren.org: could not connect to host
-ketty-voyance.com: could not connect to host
-kevinbowers.me: could not connect to host
+ketaminecareclinic.com: did not receive HSTS header
+ketoliv.dk: did not receive HSTS header
+kevin.tw: could not connect to host
+kevindavid.org: could not connect to host
 kevindekoninck.com: could not connect to host
 kevinfoley.cc: could not connect to host
 kevinfoley.org: could not connect to host
 kevingsky.com: could not connect to host
 kevinheslinphoto.com: did not receive HSTS header
-kevinratcliff.com: did not receive HSTS header
 kevinroebert.de: did not receive HSTS header
 kevlar.pw: did not receive HSTS header
 kewego.co.uk: did not receive HSTS header
-kexueboy.com: could not connect to host
+kexueboy.com: did not receive HSTS header
 keyerror.com: could not connect to host
-keymach.com: did not receive HSTS header
+keymach.com: could not connect to host
 keypersonins.com: did not receive HSTS header
-keys.jp: could not connect to host
+keys.jp: did not receive HSTS header
 keyserver.sexy: could not connect to host
 kf-59.com: could not connect to host
+kf0000.com: could not connect to host
 kf060.com: could not connect to host
+kf1288.com: could not connect to host
+kf2000.vip: could not connect to host
+kf4343g.com: could not connect to host
+kf4427.com: did not receive HSTS header
+kf5414.com: did not receive HSTS header
+kf5424.com: did not receive HSTS header
+kf5454.com: did not receive HSTS header
+kf5656.com: could not connect to host
+kf6639.com: could not connect to host
+kf6868.com: could not connect to host
+kf7337.com: did not receive HSTS header
+kf7joz.com: could not connect to host
+kf8181.com: could not connect to host
+kf8383.com: could not connect to host
+kf8813.com: could not connect to host
+kf8897.com: could not connect to host
+kf9191.com: could not connect to host
+kf9696.com: could not connect to host
 kfassessment.com: did not receive HSTS header
 kfbrussels.be: could not connect to host
 kfm.ink: did not receive HSTS header
@@ -16308,18 +17960,24 @@ kg-rating.com: could not connect to host
 kg7.pl: could not connect to host
 kgb.us: did not receive HSTS header
 kgregorczyk.pl: could not connect to host
+kgv-schlauroth.de: did not receive HSTS header
 kgxtech.com: did not receive HSTS header
+khachiks.com: max-age too low: 0
+khamphafood.com: did not receive HSTS header
+kheshtar.pl: could not connect to host
 khlee.net: did not receive HSTS header
 khmath.com: did not receive HSTS header
 khohangmadeinvietnam.com: did not receive HSTS header
 khojirdesign.ir: did not receive HSTS header
+khokey.com: could not connect to host
 khosla.uk: did not receive HSTS header
+khwebgo.com: did not receive HSTS header
 ki-on.net: did not receive HSTS header
 kiaka.co: did not receive HSTS header
 kialo.com: did not receive HSTS header
 kiapartsdepartment.com: did not receive HSTS header
 kiapps.ovh: could not connect to host
-kiasystems.com: did not receive HSTS header
+kiasystems.com: could not connect to host
 kibbesfusion.com: did not receive HSTS header
 kibea.net: could not connect to host
 kichy.net: max-age too low: 0
@@ -16340,15 +17998,13 @@ kiel-kind.de: could not connect to host
 kiel-media.de: did not receive HSTS header
 kielderweather.org.uk: did not receive HSTS header
 kielwi.gov: could not connect to host
-kieran.ie: could not connect to host
-kieranjones.uk: could not connect to host
 kieranweightman.me: could not connect to host
+kiesuwarbeidsrechtadvocaat.nl: could not connect to host
 kiesuwcursus.nl: did not receive HSTS header
-kievkiralikotel.com: did not receive HSTS header
+kievkiralikotel.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 kievradio.com: could not connect to host
 kiffmarks.com: could not connect to host
 kikimilyatacado.com.br: could not connect to host
-kiku.pw: could not connect to host
 kikuzuki.org: could not connect to host
 kiladera.be: did not receive HSTS header
 kileahh.fr: could not connect to host
@@ -16356,19 +18012,23 @@ kill-paff.com: did not receive HSTS header
 killedbynlp.com: could not connect to host
 killerit.in: could not connect to host
 killme.rocks: could not connect to host
-kimamass.com: could not connect to host
+kilometertje.nl: did not receive HSTS header
 kimana.pe: could not connect to host
 kimberg.co.uk: did not receive HSTS header
 kimberlybeautysoapcompany.com: did not receive HSTS header
 kimkhisaigon.com.vn: did not receive HSTS header
 kimo.se: did not receive HSTS header
+kimono-rental-one.com: did not receive HSTS header
 kimpost.org: could not connect to host
 kimscrazeecastles.co.uk: could not connect to host
 kimsufi-jordi.tk: did not receive HSTS header
+kimtran.kim: could not connect to host
+kin-to-kin.ca: did not receive HSTS header
 kin.life: could not connect to host
 kin.pet: could not connect to host
 kina.guide: could not connect to host
 kinderbuecher-kostenlos.de: could not connect to host
+kinderergotherapie-ik.nl: did not receive HSTS header
 kindergarten-neugnadenfeld.tk: could not connect to host
 kinderjugendfreizeitverein.de: did not receive HSTS header
 kinderly.co.uk: did not receive HSTS header
@@ -16384,7 +18044,7 @@ kinepolis-studio.ga: could not connect to host
 kinetic.ventures: could not connect to host
 kineto.space: could not connect to host
 king-henris-castles.co.uk: could not connect to host
-kingbird.me: could not connect to host
+kingbird.me: did not receive HSTS header
 kingclass.cn: could not connect to host
 kingdomcrc.org: did not receive HSTS header
 kingdominnergy.com: could not connect to host
@@ -16393,14 +18053,15 @@ kingnutrition.com.ar: did not receive HSTS header
 kingpincages.com: could not connect to host
 kingqueen.org.uk: did not receive HSTS header
 kingsley.cc: could not connect to host
+kingstake.network: could not connect to host
 kingstclinic.com: could not connect to host
+kingstonga.gov: could not connect to host
 kingtecservices.com: could not connect to host
 kinkdr.com: could not connect to host
 kinmunity.net: could not connect to host
 kinnon.enterprises: did not receive HSTS header
 kinomoto.me: could not connect to host
 kinow.com: did not receive HSTS header
-kintawifi.com: could not connect to host
 kintoandar.com: max-age too low: 0
 kintrip.com: did not receive HSTS header
 kintzingerfilm.de: did not receive HSTS header
@@ -16412,9 +18073,10 @@ kipriakipita.gr: could not connect to host
 kiraboshi.xyz: could not connect to host
 kirakirasoft.jp: did not receive HSTS header
 kirara.eu: could not connect to host
+kirill.ws: did not receive HSTS header
+kirkforillinois.com: could not connect to host
 kirkforsenate.com: could not connect to host
 kirkify.com: could not connect to host
-kirkovsky.com: could not connect to host
 kirkpatrickdavis.com: could not connect to host
 kirslis.com: did not receive HSTS header
 kis-toitoidixi.de: could not connect to host
@@ -16423,6 +18085,7 @@ kismy.tk: could not connect to host
 kiss-register.org: could not connect to host
 kissart.net: could not connect to host
 kissesb.net: could not connect to host
+kissflow.com: did not receive HSTS header
 kisstube.tv: could not connect to host
 kisstyle.ru: did not receive HSTS header
 kitabgaul.com: did not receive HSTS header
@@ -16436,14 +18099,15 @@ kitegarage.eu: did not receive HSTS header
 kiteschoolamsterdam.nl: could not connect to host
 kitestar.co.uk: could not connect to host
 kitk.at: did not receive HSTS header
+kitsapsolutions.com: could not connect to host
 kitsostech.com: could not connect to host
 kitsta.com: could not connect to host
 kittyhacker101.tk: could not connect to host
-kiwi-bird.xyz: did not receive HSTS header
+kiumie.com: could not connect to host
 kiwi.com: did not receive HSTS header
 kiwi.global: could not connect to host
 kiwico.com: max-age too low: 0
-kiwihub.org: did not receive HSTS header
+kiwihub.org: could not connect to host
 kiwiirc.com: max-age too low: 5256000
 kiwipayment.com: could not connect to host
 kiwipayments.com: could not connect to host
@@ -16451,8 +18115,9 @@ kiwiplace.com: could not connect to host
 kix.moe: could not connect to host
 kiyo.space: could not connect to host
 kizil.net: could not connect to host
-kizzycode.de: did not receive HSTS header
+kizzycode.de: could not connect to host
 kj1391.com: could not connect to host
+kj1397.com: could not connect to host
 kjaermaxi.me: did not receive HSTS header
 kjarni.cc: could not connect to host
 kjg-bachrain.de: could not connect to host
@@ -16461,18 +18126,17 @@ kjgmuenster.org: could not connect to host
 kjkmail.de: could not connect to host
 kjoglum.me: could not connect to host
 kk5197.co: could not connect to host
-kk575757.com: did not receive HSTS header
+kk575757.com: could not connect to host
 kk6729.co: could not connect to host
 kk6729.com: did not receive HSTS header
 kk6957.co: could not connect to host
 kk9297.co: could not connect to host
-kk9397.com: could not connect to host
-kk9721.com: could not connect to host
+kk9397.com: did not receive HSTS header
+kk9721.com: did not receive HSTS header
 kk9728.co: could not connect to host
 kkaefer.com: did not receive HSTS header
 kkomputer.net: could not connect to host
 kkull.tv: could not connect to host
-kkutu.xyz: could not connect to host
 kkws.co: could not connect to host
 kl008888.com: could not connect to host
 klamathrestoration.gov: could not connect to host
@@ -16484,6 +18148,7 @@ klausimas.lt: did not receive HSTS header
 klautshop.com: could not connect to host
 klauwd.com: could not connect to host
 klaxn.org: could not connect to host
+klcreations.co.uk: did not receive HSTS header
 klean-ritekc.com: did not receive HSTS header
 kleberstoff.xyz: could not connect to host
 kleding.website: could not connect to host
@@ -16495,9 +18160,11 @@ kleinfein.co: could not connect to host
 kleinhelena.dynv6.net: could not connect to host
 kleinholding.com: did not receive HSTS header
 kleinserienproduktion.com: could not connect to host
+kleinveefokkerij.nl: did not receive HSTS header
 klempin.me: could not connect to host
 klempnershop.eu: did not receive HSTS header
 kletterkater.com: could not connect to host
+kleyer.eu: did not receive HSTS header
 klicke-gemeinsames.de: did not receive HSTS header
 klicktojob.de: could not connect to host
 klif1.nl: did not receive HSTS header
@@ -16510,7 +18177,7 @@ klingsundet.no: did not receive HSTS header
 klinkerstreet.com.ua: could not connect to host
 kls-agency.com.ua: did not receive HSTS header
 klseet.com: did not receive HSTS header
-klubxanadu.cz: could not connect to host
+klumba.org: did not receive HSTS header
 klunkergarten.org: could not connect to host
 klupper.com: could not connect to host
 klustekeningen.nl: could not connect to host
@@ -16521,14 +18188,14 @@ kmnsk.eu: did not receive HSTS header
 kmsci.com.ph: did not receive HSTS header
 knaake.net: could not connect to host
 knallfrosch.ddnss.de: could not connect to host
-knapp.servehttp.com: could not connect to host
-knca.ir: did not receive HSTS header
-knccloud.com: did not receive HSTS header
-kneipi.de: did not receive HSTS header
+knarcraft.net: could not connect to host
+knccloud.com: could not connect to host
+kneipi.de: could not connect to host
+kngk-azs.ru: did not receive HSTS header
 kngk-transavto.ru: could not connect to host
 kniga-goda.org: did not receive HSTS header
 kniga.market: could not connect to host
-knigadel.com: did not receive HSTS header
+knigadel.com: could not connect to host
 knightsblog.de: could not connect to host
 knightsbridgegroup.org: could not connect to host
 knightsweep.com: could not connect to host
@@ -16536,6 +18203,7 @@ kniwweler.com: could not connect to host
 knockendarroch.co.uk: did not receive HSTS header
 knot-store.com: did not receive HSTS header
 knowdebt.org: did not receive HSTS header
+knowledgebuilds.com: could not connect to host
 knowledgeforce.com: could not connect to host
 knowledgesnap.com: could not connect to host
 knowledgesnapsites.com: could not connect to host
@@ -16544,20 +18212,20 @@ knownsec.cf: could not connect to host
 knowpanamatours.com: could not connect to host
 knoxcountytn.gov: could not connect to host
 knuckles.tk: could not connect to host
-knutur.is: could not connect to host
+knutur.is: did not receive HSTS header
 ko.si: did not receive HSTS header
 koalapress.fr: did not receive HSTS header
 kobar.id: could not connect to host
 kobezda.net: could not connect to host
 kobieta.guru: could not connect to host
 koboldcraft.ch: could not connect to host
-koboldmalade.fr: could not connect to host
 koddsson.com: did not receive HSTS header
+kode-it.de: could not connect to host
 kodexplorer.ml: could not connect to host
 kodiaklabs.org: could not connect to host
-kodikom.de: could not connect to host
 kodokushi.fr: could not connect to host
 koelbli.ch: could not connect to host
+koeldezomerdoor.nl: could not connect to host
 koenberkhout.nl: did not receive HSTS header
 koenen-bau.de: did not receive HSTS header
 koenvdheuvel.me: could not connect to host
@@ -16567,7 +18235,6 @@ koez-mangal.ch: could not connect to host
 koezmangal.ch: could not connect to host
 kogcoder.com: could not connect to host
 koha.be: did not receive HSTS header
-kohlistkool.tk: could not connect to host
 kohparadise.com: could not connect to host
 koi-sama.net: did not receive HSTS header
 koik.io: could not connect to host
@@ -16580,20 +18247,25 @@ kokoushuvila.fi: did not receive HSTS header
 kola-entertainments.de: did not receive HSTS header
 koladeogunleye.com: could not connect to host
 kolania.com: could not connect to host
-kolaykaydet.com: could not connect to host
+kolas.in: could not connect to host
+kolaykaydet.com: did not receive HSTS header
 kolbeck.tk: could not connect to host
+kolitel.com: did not receive HSTS header
 koljakrekow.de: did not receive HSTS header
+kolkataflowermall.com: could not connect to host
 kollawat.me: could not connect to host
+kollect.ie: max-age too low: 7889238
 kolonie-am-stadtpark.de: could not connect to host
 kolorbon.com: did not receive HSTS header
-komandakovalchuk.com: did not receive HSTS header
+komall.net: could not connect to host
 kombidorango.com.br: could not connect to host
 komikito.com: could not connect to host
+komiksbaza.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 komodolabs.com: did not receive HSTS header
 kompetenzwerft.de: did not receive HSTS header
 kompjoeter.net: could not connect to host
 konata.us: could not connect to host
-kongbaofang.com: did not receive HSTS header
+kongbaofang.com: could not connect to host
 kongsecuritydata.com: did not receive HSTS header
 konicaprinterdriver.com: could not connect to host
 koninkrijk.net: could not connect to host
@@ -16603,15 +18275,16 @@ konoe.studio: did not receive HSTS header
 konsertoversikt.no: could not connect to host
 kontakthuman.hu: did not receive HSTS header
 kontaxis.network: could not connect to host
-kontrolapovinnosti.cz: could not connect to host
+kontenido.net: did not receive HSTS header
 konventseliten.se: could not connect to host
+koof.win: could not connect to host
+koolerbythelake.org: did not receive HSTS header
 koopjesnel.nl: could not connect to host
 koordinate.net: could not connect to host
-kopio.jp: did not receive HSTS header
+kopio.jp: could not connect to host
 kopular.com: could not connect to host
 korem011-tniad.mil.id: did not receive HSTS header
 kori.ml: did not receive HSTS header
-koriyoukai.net: did not receive HSTS header
 kornersafe.com: could not connect to host
 korni22.org: did not receive HSTS header
 korobi.io: did not receive HSTS header
@@ -16619,14 +18292,16 @@ korono.de: did not receive HSTS header
 korsanparti.org: did not receive HSTS header
 kortic.com: did not receive HSTS header
 kosaki.moe: could not connect to host
+kosho.org: did not receive HSTS header
 kosonaudioteca.com: did not receive HSTS header
 kostuumstore.nl: could not connect to host
 kostya.net: did not receive HSTS header
 kotakoo.id: could not connect to host
 kotausaha.com: could not connect to host
-kotelezobiztositas.eu: did not receive HSTS header
+kotelezobiztositas.eu: could not connect to host
+kotomei.moe: could not connect to host
 kotonehoko.net: could not connect to host
-kotonozaka.xyz: could not connect to host
+kotonoha.cafe: did not receive HSTS header
 kotorimusic.ga: could not connect to host
 kotovstyle.ru: could not connect to host
 kottur.is: could not connect to host
@@ -16634,14 +18309,16 @@ koukni.cz: did not receive HSTS header
 kouponboket.com: did not receive HSTS header
 kourpe.online: could not connect to host
 kousaku.jp: could not connect to host
-kovaldo.ru: did not receive HSTS header
+kouten-jp.com: could not connect to host
+kovaldo.ru: could not connect to host
+kovals.sk: did not receive HSTS header
 kovnsk.net: could not connect to host
-kovuthehusky.com: did not receive HSTS header
 kowabit.de: max-age too low: 2592000
 kowshiksundararajan.com: could not connect to host
 koyaanis.com: did not receive HSTS header
 kozmik.co: could not connect to host
 kozossegireklamozas.hu: could not connect to host
+kp0809.com: could not connect to host
 kpaycoin.com: did not receive HSTS header
 kpdyer.com: did not receive HSTS header
 kpebetka.net: did not receive HSTS header
@@ -16652,9 +18329,12 @@ kpntdolive.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ER
 kprog.net: could not connect to host
 kpvpn.com: could not connect to host
 kpx1.de: could not connect to host
+kqqzyl.com: did not receive HSTS header
+kr.cm: did not receive HSTS header
 kraigwalker.com: could not connect to host
 kraiwan.com: did not receive HSTS header
 kraiwon.com: did not receive HSTS header
+kramer-edelstahl.de: did not receive HSTS header
 krampus-fischamend.at: did not receive HSTS header
 krant.nl: did not receive HSTS header
 krasavchik.by: could not connect to host
@@ -16669,16 +18349,20 @@ kreavis.com: did not receive HSTS header
 kreb.io: could not connect to host
 kredietpaspoort.nl: did not receive HSTS header
 kredigram.com: could not connect to host
+kredita.dk: did not receive HSTS header
 kredite.sale: could not connect to host
 kredite24.de: did not receive HSTS header
 kreditkarte-fuer-backpacker.de: could not connect to host
 kreditzone.ml: could not connect to host
-krestanskydarek.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+kreen.org: did not receive HSTS header
 krey.is: could not connect to host
 kreza.de: could not connect to host
 krfuli.com: could not connect to host
 kriegskindernothilfe.de: could not connect to host
 kriegt.es: did not receive HSTS header
+krillz.se: could not connect to host
+kriptosec.com: could not connect to host
+kris.click: did not receive HSTS header
 krishouse.fr: could not connect to host
 krislamoureux.com: could not connect to host
 krist.club: did not receive HSTS header
@@ -16686,19 +18370,19 @@ kristenpaigejohnson.com: could not connect to host
 kristofferkoch.com: could not connect to host
 krizek.cc: could not connect to host
 krizevackapajdasija.hr: could not connect to host
-krmela.com: did not receive HSTS header
 kroetenfuchs.de: could not connect to host
 krokodent.de: did not receive HSTS header
 krommo.pe: did not receive HSTS header
 kronaw.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+kronnos-gen.com: could not connect to host
 krony.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 kronych.cz: could not connect to host
 kroodle.nl: did not receive HSTS header
 kroyclothing.co.uk: did not receive HSTS header
 kruegerrand-wert.de: did not receive HSTS header
-krugermillions.org: did not receive HSTS header
 krukhmer.com: did not receive HSTS header
 krunut.com: did not receive HSTS header
+krupacars.pl: did not receive HSTS header
 krusesec.com: could not connect to host
 kruu.de: could not connect to host
 kruzhki-s-kartinkami.ru: did not receive HSTS header
@@ -16708,20 +18392,25 @@ krytykawszystkiego.com: could not connect to host
 krytykawszystkiego.pl: could not connect to host
 ks-89.com: could not connect to host
 ks015.com: could not connect to host
-ks318.com: could not connect to host
+ks318.com: did not receive HSTS header
+ks410.com: could not connect to host
 ks8.com: could not connect to host
 ksfh-mail.de: could not connect to host
+kshlm.in: did not receive HSTS header
 ksk-agentur.de: did not receive HSTS header
-kspg.tv: could not connect to host
-kstan.me: could not connect to host
+kspg.tv: did not receive HSTS header
+kstan.me: did not receive HSTS header
 kswcosmetics.com: could not connect to host
 kswriter.com: could not connect to host
 kteen.info: could not connect to host
-ktsofas.gr: could not connect to host
+ktsofas.gr: did not receive HSTS header
 ktube.yt: could not connect to host
+ku-7.club: could not connect to host
+kuaikan1.com: could not connect to host
 kuaitiyu.org: could not connect to host
 kuanta.net: did not receive HSTS header
 kuba.guide: could not connect to host
+kubanitoscali.com: could not connect to host
 kubica.ch: could not connect to host
 kubierecki.pl: could not connect to host
 kubiwa.net: did not receive HSTS header
@@ -16729,28 +18418,28 @@ kubusadvocaten.nl: could not connect to host
 kuchenfeelisa.de: did not receive HSTS header
 kuchenschock.de: did not receive HSTS header
 kucheryavenkovn.ru: could not connect to host
-kucloud.win: could not connect to host
 kucom.it: could not connect to host
 kucukayvaz.com: could not connect to host
-kueche-co.de: max-age too low: 4681541
+kueche-co.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 kuechenplan.online: could not connect to host
+kuechenprofi-group.de: did not receive HSTS header
 kueulangtahunanak.net: could not connect to host
 kugelblitz.co: could not connect to host
 kuko-crews.org: could not connect to host
 kulickovy-pojezd.cz: did not receive HSTS header
 kulopo.com: could not connect to host
-kultmobil.se: did not receive HSTS header
 kum.com: did not receive HSTS header
 kumilasvegas.com: could not connect to host
 kummerlaender.eu: did not receive HSTS header
-kundo.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+kundenerreichen.com: could not connect to host
+kundenerreichen.de: could not connect to host
 kunstfehler.at: did not receive HSTS header
 kunstschule-krabax.de: did not receive HSTS header
 kunvn.com: did not receive HSTS header
+kunzesoftware.com.br: could not connect to host
 kuops.com: did not receive HSTS header
 kupdokuchyne.cz: could not connect to host
 kupelne-ptacek.sk: could not connect to host
-kupibilet.ru: did not receive HSTS header
 kupiec.eu.org: did not receive HSTS header
 kuppingercole.com: did not receive HSTS header
 kura.io: could not connect to host
@@ -16758,17 +18447,21 @@ kurashino-mall.com: could not connect to host
 kurd-online.tk: could not connect to host
 kurehun.org: could not connect to host
 kurgancity.tk: could not connect to host
-kuro.link: could not connect to host
+kuro.link: did not receive HSTS header
 kuro346.moe: could not connect to host
+kurofuku.me: could not connect to host
 kurrende.nrw: could not connect to host
-kurrietv.nl: did not receive HSTS header
+kurrietv.nl: could not connect to host
 kursprogramisty.pl: did not receive HSTS header
 kurszielnull.de: could not connect to host
 kurtmclester.com: could not connect to host
 kurumi.io: could not connect to host
 kurz.pw: could not connect to host
 kurzonline.com.br: could not connect to host
+kusadasiforum.com: did not receive HSTS header
+kuscu.co: could not connect to host
 kushtikidsparties.co.uk: could not connect to host
+kutip.id: could not connect to host
 kuunlamaailm.ee: did not receive HSTS header
 kuwago.io: could not connect to host
 kuzbass-pwl.ru: could not connect to host
@@ -16798,14 +18491,15 @@ kylerwood.com: could not connect to host
 kylescastles.co.uk: could not connect to host
 kylianvermeulen.nl: could not connect to host
 kyliehunt.com: did not receive HSTS header
-kylling.io: could not connect to host
+kylling.io: did not receive HSTS header
 kymo.org: did not receive HSTS header
 kyobostory-events.com: could not connect to host
+kyochon.fr: could not connect to host
 kyonagashima.com: did not receive HSTS header
 kyoto-sake.net: could not connect to host
 kyoto-tomikawa.jp: did not receive HSTS header
 kyouko.nl: could not connect to host
-kysseo.fr: did not receive HSTS header
+kysil.org: could not connect to host
 kyujin-office.net: could not connect to host
 kzjnet.com: could not connect to host
 l-1.xyz: could not connect to host
@@ -16823,10 +18517,13 @@ l6729.co: could not connect to host
 l6729.com: did not receive HSTS header
 l6957.co: could not connect to host
 l6957.com: did not receive HSTS header
-l9.fr: could not connect to host
+l81365.com: did not receive HSTS header
+l81818.com: did not receive HSTS header
+l82365.com: did not receive HSTS header
+l9.fr: did not receive HSTS header
 l9297.co: could not connect to host
 l9397.com: could not connect to host
-l9721.com: could not connect to host
+l9721.com: did not receive HSTS header
 l9728.co: could not connect to host
 la-cave-a-nodo.fr: did not receive HSTS header
 la-flora-negra.de: could not connect to host
@@ -16836,9 +18533,11 @@ la-serendipite.fr: did not receive HSTS header
 la-tourmaline.ch: could not connect to host
 laac.io: could not connect to host
 labaia.info: could not connect to host
+labeled.vn: could not connect to host
 labella-umbrella.com: did not receive HSTS header
 labelleza.com.br: could not connect to host
 labfox.de: did not receive HSTS header
+labibikids.com.br: could not connect to host
 labina.com.tr: did not receive HSTS header
 labms.com.au: did not receive HSTS header
 laboiteanem.fr: could not connect to host
@@ -16853,22 +18552,29 @@ labrador-retrievers.com.au: did not receive HSTS header
 labrasaq8.com: did not receive HSTS header
 labs.directory: could not connect to host
 labs.moscow: could not connect to host
+labs.ro: did not receive HSTS header
 labtest.ltd: could not connect to host
 lacarpesaintaubinoise.fr: did not receive HSTS header
 lacasa.fr: could not connect to host
 lacaserita.org: could not connect to host
 lacasseroy.com: could not connect to host
 lacaverne.nl: could not connect to host
+lachosetypo.com: could not connect to host
 lacicloud.net: could not connect to host
 lacigf.org: did not receive HSTS header
 lacledelareussite.com: did not receive HSTS header
 lacledeslan.ninja: could not connect to host
 lacuerba.com: did not receive HSTS header
 lacuevadechauvet.com: did not receive HSTS header
+ladakhtrip.tours: could not connect to host
+ladeboks.dk: could not connect to host
 lady-2.jp: did not receive HSTS header
+ladyanna.de: could not connect to host
 ladybugjam.com: could not connect to host
 ladylikeit.com: could not connect to host
 ladylucks.co.uk: did not receive HSTS header
+ladymakeup.ru: could not connect to host
+ladyofsongstv.com: could not connect to host
 laegernevedlillebaelt.dk: could not connect to host
 laemen.com: did not receive HSTS header
 laemen.nl: could not connect to host
@@ -16889,13 +18595,15 @@ lagodny.eu: could not connect to host
 lagoza.name: could not connect to host
 laguiadelvaron.com: did not receive HSTS header
 lagunacoastrealestate.com: did not receive HSTS header
+lahora.com.ec: did not receive HSTS header
+lai.zone: could not connect to host
 lain.li: did not receive HSTS header
 lainchan.org: did not receive HSTS header
 laisashop.com.br: could not connect to host
 lajijonencadebarbera.com: could not connect to host
-lak-berlin.de: could not connect to host
 lakarwebb.se: could not connect to host
 lakatrop.com: could not connect to host
+lakeee.com: could not connect to host
 lakefrontlittleelm.com: did not receive HSTS header
 lakehavasucityhomebuyerscredit.com: could not connect to host
 lakehavasucitynews.com: could not connect to host
@@ -16904,11 +18612,10 @@ lakehavasuhomes.info: did not receive HSTS header
 lakehavasuhouserentals.com: could not connect to host
 lakehavasuhouses.com: did not receive HSTS header
 lakewoodcomputerservices.com: could not connect to host
-lakhesis.net: could not connect to host
+lakhesis.net: did not receive HSTS header
 lalajj.com: could not connect to host
 lalingua.ir: did not receive HSTS header
 laltroweb.it: did not receive HSTS header
-lalunaonlinebr.com: could not connect to host
 lamafioso.com: could not connect to host
 lamaisondelatransformationculturelle.com: did not receive HSTS header
 lambda-complex.org: could not connect to host
@@ -16919,6 +18626,7 @@ lamed.se: did not receive HSTS header
 lamiaposta.email: did not receive HSTS header
 lampsh.ml: could not connect to host
 lamtv.com.mx: could not connect to host
+lamunyon.com: did not receive HSTS header
 lanauzedesigns.com: did not receive HSTS header
 lanboll.com: could not connect to host
 lanbyte.se: could not connect to host
@@ -16929,6 +18637,7 @@ lancejames.com: could not connect to host
 lancork.net: could not connect to host
 landell.ml: could not connect to host
 landgoedverkopen.nl: could not connect to host
+landhaus-christmann.de: did not receive HSTS header
 landhuisverkopen.nl: could not connect to host
 landoverhillsmd.gov: could not connect to host
 landscape.canonical.com: max-age too low: 2592000
@@ -16938,48 +18647,50 @@ langenbach.rocks: could not connect to host
 langendorf-ernaehrung-training.de: could not connect to host
 langendries.eu: did not receive HSTS header
 langguth.io: did not receive HSTS header
+langjp.com: could not connect to host
 langkahteduh.com: could not connect to host
 langotie.com.br: could not connect to host
 lanhhuyet510.tk: could not connect to host
 laniakean.com: did not receive HSTS header
+lansewu.com: could not connect to host
 lansinoh.co.uk: did not receive HSTS header
 lanyang.tk: could not connect to host
 lanzainc.xyz: did not receive HSTS header
 laobox.fr: could not connect to host
-laohei.org: could not connect to host
+laohei.org: did not receive HSTS header
 laospage.com: could not connect to host
 laozhu.me: could not connect to host
 lapakus.com: could not connect to host
 laparoscopia.com.mx: did not receive HSTS header
 laperfumista.es: could not connect to host
 lapetition.be: could not connect to host
-lapix.com.co: could not connect to host
+lapix.com.co: did not receive HSTS header
 laplaceduvillage.net: could not connect to host
 laquack.com: did not receive HSTS header
 laraigneedusoir.com: did not receive HSTS header
 laravelsaas.com: could not connect to host
+larawoodarts.com: could not connect to host
+larch.me: could not connect to host
+larcotravel.com.pe: did not receive HSTS header
 lared.ovh: did not receive HSTS header
 laredsemanario.com: could not connect to host
 larky.top: could not connect to host
+larotayogaming.com: did not receive HSTS header
 larptreff.de: could not connect to host
 larsgujord.no: could not connect to host
 larsmerke.de: did not receive HSTS header
 larvatoken.org: could not connect to host
 lasepiataca.com: could not connect to host
-lasercloud.ml: could not connect to host
+lasercloud.ml: did not receive HSTS header
 laserfuchs.de: did not receive HSTS header
 lasertechsolutions.com: could not connect to host
 lashstuff.com: did not receive HSTS header
 lasnaves.com: did not receive HSTS header
 lasonorastereo.com: did not receive HSTS header
-lasrecetasdeguada.com: could not connect to host
-lasse-it.dk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 lasseleegaard.com: could not connect to host
 lasseleegaard.dk: could not connect to host
 lasseleegaard.net: could not connect to host
 lasseleegaard.org: could not connect to host
-lassesworld.com: could not connect to host
-lassesworld.se: could not connect to host
 lasst-uns-beten.de: could not connect to host
 lastbutnotyeast.com: could not connect to host
 lastchancetraveler.com: did not receive HSTS header
@@ -16996,39 +18707,42 @@ lateliercantaldeco.fr: could not connect to host
 latelierdekathy.com: could not connect to host
 latemodern.com: did not receive HSTS header
 lateral.dog: could not connect to host
+lateralsecurity.com: could not connect to host
 latestbuy.com.au: did not receive HSTS header
 latetrain.cn: could not connect to host
 lathamlabs.com: could not connect to host
 lathamlabs.net: could not connect to host
 lathamlabs.org: could not connect to host
 lathen-wahn.de: did not receive HSTS header
-latiendadelbebefeliz.com: did not receive HSTS header
+latiendadelbebefeliz.com: could not connect to host
 latinmusicrecords.com: could not connect to host
-latinoramarecords.com: did not receive HSTS header
+latinoramarecords.com: could not connect to host
 latinosup.com: did not receive HSTS header
 latinosuptv.com: did not receive HSTS header
 latinphone.com: could not connect to host
-latinred.com: did not receive HSTS header
+latinred.com: could not connect to host
 latintoy.com: did not receive HSTS header
 latitude42technology.com: did not receive HSTS header
 latour-managedcare.ch: could not connect to host
 latrine.cz: did not receive HSTS header
 latus.xyz: could not connect to host
-laudwein.fr: could not connect to host
 laufcampus.com: did not receive HSTS header
 laufers.pl: did not receive HSTS header
 laufseminare-laufreisen.com: did not receive HSTS header
 lauftrainer-ausbildung.com: did not receive HSTS header
 laughinggrapepublishing.com: did not receive HSTS header
+launchkey.com: did not receive HSTS header
 laupv.online: could not connect to host
+lauravaindumentaria.com: did not receive HSTS header
 laurel4th.org: did not receive HSTS header
 laurelcountycorrectionsky.gov: could not connect to host
 laurelspaandlash.com: did not receive HSTS header
 laureltv.org: did not receive HSTS header
 laurent-e-levy.com: did not receive HSTS header
 lauritzt.cf: could not connect to host
+lausannelovers.ch: could not connect to host
 lausitzer-widerstand.de: did not receive HSTS header
-lauxzahnheilkunde.de: did not receive HSTS header
+laussat.de: could not connect to host
 lavapot.com: did not receive HSTS header
 lavasing.eu.org: could not connect to host
 lavenderx.org: could not connect to host
@@ -17036,15 +18750,16 @@ laventainnhotel-mailing.com: could not connect to host
 lavine.ch: did not receive HSTS header
 lavishlooksstudio.com.au: could not connect to host
 lavito.cz: could not connect to host
-lavka-konditera.com: could not connect to host
+lavitrine-une-collection.be: did not receive HSTS header
+lavka-konditera.com: did not receive HSTS header
 lavoniaga.gov: did not receive HSTS header
 lavval.com: could not connect to host
-law-iku.pro: did not receive HSTS header
 lawbirduk.com: did not receive HSTS header
-lawfirm.tips: could not connect to host
+lawfirm.tips: did not receive HSTS header
 lawformt.com: max-age too low: 2592000
 lawly.org: did not receive HSTS header
 lawrence-institute.com: could not connect to host
+lawrenceberg.nl: could not connect to host
 lawrencecountyboe-ohio.gov: did not receive HSTS header
 lawrenceklepinger.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 lawyerdigital.co.bw: could not connect to host
@@ -17054,13 +18769,15 @@ lay1688.com: max-age too low: 0
 layer8.tk: could not connect to host
 layfully.me: could not connect to host
 laymans911.info: could not connect to host
-lazapateriahandmade.pe: did not receive HSTS header
+lazapateriahandmade.pe: could not connect to host
 lazerus.net: could not connect to host
 lazisbaiturrahman.org: could not connect to host
 lazowik.pl: did not receive HSTS header
 lazulu.com: could not connect to host
 lazytux.de: did not receive HSTS header
-lbarrios.es: could not connect to host
+lb366.cc: could not connect to host
+lb369.cc: could not connect to host
+lbls.me: could not connect to host
 lbphacker.pw: could not connect to host
 lbrlh.tk: could not connect to host
 lbrli.tk: could not connect to host
@@ -17068,12 +18785,60 @@ lbrls.tk: could not connect to host
 lbrt.xyz: could not connect to host
 lc1818.com: could not connect to host
 lc3799.com: could not connect to host
+lc3802.com: could not connect to host
+lc6665.com: could not connect to host
+lc6681.com: could not connect to host
 lc6686.com: could not connect to host
+lc68693.com: could not connect to host
+lc7979g.com: could not connect to host
+lc8.com: could not connect to host
+lc8.life: could not connect to host
+lc8.tv: could not connect to host
 lc8.vc: could not connect to host
-lc8md66.com: could not connect to host
-lc9158.com: could not connect to host
-lc9191.com: could not connect to host
-lc973.com: could not connect to host
+lc80000.com: could not connect to host
+lc8005.com: could not connect to host
+lc8181.com: could not connect to host
+lc859.com: could not connect to host
+lc876.com: could not connect to host
+lc8865.com: could not connect to host
+lc8885.com: could not connect to host
+lc8905.com: could not connect to host
+lc8906.com: could not connect to host
+lc8910.com: could not connect to host
+lc8911.com: could not connect to host
+lc8912.com: could not connect to host
+lc8914.com: could not connect to host
+lc8915.com: could not connect to host
+lc8916.com: could not connect to host
+lc8917.com: could not connect to host
+lc8918.com: could not connect to host
+lc892.com: could not connect to host
+lc8924.com: could not connect to host
+lc8925.com: could not connect to host
+lc8926.com: could not connect to host
+lc8928.com: could not connect to host
+lc8929.com: could not connect to host
+lc8930.com: could not connect to host
+lc897.com: could not connect to host
+lc8c.com: could not connect to host
+lc8dc15.com: could not connect to host
+lc8dc26.com: could not connect to host
+lc8dc28.com: could not connect to host
+lc8md77.com: could not connect to host
+lc9.app: could not connect to host
+lc90000.com: could not connect to host
+lc9108.com: could not connect to host
+lc9256.com: could not connect to host
+lc9852.com: could not connect to host
+lc9862.com: could not connect to host
+lc9899.com: could not connect to host
+lc9900.com: could not connect to host
+lc9910.com: could not connect to host
+lc9920.com: could not connect to host
+lc9930.com: could not connect to host
+lc9940.com: could not connect to host
+lc9950.com: could not connect to host
+lc9999g.com: could not connect to host
 lca.gov: could not connect to host
 lcbizsolutions.com: could not connect to host
 lcdn.ro: could not connect to host
@@ -17081,38 +18846,37 @@ lcgabogados.com: could not connect to host
 lclarkpdx.com: could not connect to host
 lcrmscp.gov: could not connect to host
 lcti.biz: could not connect to host
-lcvip0.com: could not connect to host
-lcvip3.com: could not connect to host
-lcvip6.com: could not connect to host
-lcvip8.com: could not connect to host
+lcx.cc: could not connect to host
 lcy.cat: could not connect to host
 lcybox.com: did not receive HSTS header
 ldarby.me.uk: could not connect to host
 ldcraft.pw: could not connect to host
+ldesignweb.com: could not connect to host
 le-blog.ch: could not connect to host
+le-cameleon.fr: max-age too low: 0
 le-dev.de: did not receive HSTS header
 le-hosting.de: did not receive HSTS header
 le0.me: could not connect to host
 le052.com: could not connect to host
 le0yn.ml: could not connect to host
 le130rb.com: could not connect to host
+le802.com: could not connect to host
 leadership9.com: could not connect to host
 leadgenie.me: could not connect to host
 leadingsalons.com: did not receive HSTS header
 leadpagebuilders.com: could not connect to host
 leadplan.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-leadstart.org: did not receive HSTS header
+leadstart.org: could not connect to host
 leak.media: could not connect to host
 leakedminecraft.net: could not connect to host
-leakreporter.net: did not receive HSTS header
+leakreporter.net: could not connect to host
 leaks.directory: could not connect to host
 leanclub.org: could not connect to host
 leandre.cn: could not connect to host
 leaodarodesia.com.br: could not connect to host
+leapday.us: could not connect to host
 leardev.de: did not receive HSTS header
 learn-smart.uk: did not receive HSTS header
-learncrypto.live: could not connect to host
-learncrypto.show: could not connect to host
 learndev.info: did not receive HSTS header
 learnedhacker.com: could not connect to host
 learnedovo.com: could not connect to host
@@ -17121,7 +18885,8 @@ learnfrenchfluently.com: could not connect to host
 learngreenlandic.com: did not receive HSTS header
 learningaboutcarinsurance.com: did not receive HSTS header
 learningorder.com: could not connect to host
-learnsait2.azurewebsites.net: could not connect to host
+learnpianogreece.com: could not connect to host
+learnsait2.azurewebsites.net: did not receive HSTS header
 learntale.com: could not connect to host
 learnthetruth.tk: could not connect to host
 learntotradethemarket.com: did not receive HSTS header
@@ -17132,11 +18897,19 @@ leaseourthings.com: could not connect to host
 leasit.at: could not connect to host
 leasit.de: could not connect to host
 leavenworthcounty.gov: did not receive HSTS header
-leavesofchangeweekly.org: did not receive HSTS header
+leavesofchangeweekly.org: could not connect to host
 lebal.se: could not connect to host
 lebanonoregon.gov: did not receive HSTS header
+lebedata.com: did not receive HSTS header
+lebosse.me: did not receive HSTS header
 lebrun.org: could not connect to host
 lechaudrondupertuis.ch: could not connect to host
+lecheng.in: could not connect to host
+lecheng2.com: could not connect to host
+lecheng3.com: could not connect to host
+lecheng31.com: could not connect to host
+lecheng7.com: could not connect to host
+lecheng88.net: could not connect to host
 leclaire.com.br: did not receive HSTS header
 lecn2.com: did not receive HSTS header
 lecoinchocolat.com: could not connect to host
@@ -17145,6 +18918,8 @@ led-tl-wereld.nl: did not receive HSTS header
 led.xyz: could not connect to host
 ledcpu.com: could not connect to host
 leddruckalarm.de: could not connect to host
+ledensite.com: could not connect to host
+lederkleren.nl: could not connect to host
 ledgerscope.net: could not connect to host
 ledhouse.sk: did not receive HSTS header
 ledlampor365.se: could not connect to host
@@ -17162,13 +18937,15 @@ leemac.com.au: did not receive HSTS header
 leen.io: could not connect to host
 leere.me: could not connect to host
 leerkotte.eu: could not connect to host
+leertipp.de: could not connect to host
+leet2.com: could not connect to host
 leetsaber.com: did not receive HSTS header
-leftclick.cloud: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-leftclick.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+leftoye.com: did not receive HSTS header
 lega-dental.com: did not receive HSTS header
 legacylawofwashington.com: did not receive HSTS header
 legal-tender.com: did not receive HSTS header
 legal.farm: could not connect to host
+legaldesk.com: did not receive HSTS header
 legaleus.co.uk: could not connect to host
 legalisepeacebloom.com: could not connect to host
 legalrobot-uat.com: could not connect to host
@@ -17180,19 +18957,20 @@ legatofmrc.fr: could not connect to host
 legavenue.com.br: did not receive HSTS header
 legendagroup.ch: could not connect to host
 legilimens.de: could not connect to host
+legionminecraft.com: could not connect to host
 legitaxi.com: did not receive HSTS header
-legoutcheznous.com: did not receive HSTS header
+legoutcheznous.com: could not connect to host
 legumefederation.org: did not receive HSTS header
 legymnase.eu: did not receive HSTS header
+lehighmathcircle.org: could not connect to host
 lehrermarktplatz.de: did not receive HSTS header
 lehtinen.xyz: did not receive HSTS header
 leigh.life: did not receive HSTS header
 leilautourdumon.de: could not connect to host
 leiming.co: could not connect to host
 leinir.dk: did not receive HSTS header
-leition.com: did not receive HSTS header
+leition.com: could not connect to host
 leitionusercontent.com: could not connect to host
-leiyinan.com: did not receive HSTS header
 leiyun.me: could not connect to host
 lel.ovh: did not receive HSTS header
 lelambiental.com.br: did not receive HSTS header
@@ -17200,13 +18978,18 @@ lelehei.com: could not connect to host
 lellyboi.ml: could not connect to host
 lelongbank.com: did not receive HSTS header
 lelux.email: could not connect to host
-lemon.co: could not connect to host
+lemat.de: did not receive HSTS header
+leminhduong.com: could not connect to host
 lemondrops.xyz: could not connect to host
+lemonrotools.com: could not connect to host
 lemouillour.fr: could not connect to host
 lemp.io: did not receive HSTS header
+lemuelbriza.com: could not connect to host
 lemuslimpost.com: did not receive HSTS header
-lendahandmissionteams.org: could not connect to host
+lenczu6.ddns.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+lendahandmissionteams.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 lenders.direct: could not connect to host
+lenget.com: did not receive HSTS header
 lengyelnyelvoktatas.hu: could not connect to host
 lengyelul.hu: could not connect to host
 lengzzz.com: could not connect to host
@@ -17221,8 +19004,7 @@ lennyobez.be: did not receive HSTS header
 lenovogaming.com: could not connect to host
 lentri.com: did not receive HSTS header
 lenzw.de: did not receive HSTS header
-leob.in: did not receive HSTS header
-leochedibracchio.com: did not receive HSTS header
+leob.in: could not connect to host
 leodaniels.com: did not receive HSTS header
 leolana.com: could not connect to host
 leolemos.com.br: did not receive HSTS header
@@ -17233,20 +19015,24 @@ leonauto.de: could not connect to host
 leonax.net: could not connect to host
 leopold.email: could not connect to host
 leopotamgroup.com: could not connect to host
-leoservicosetc.store: could not connect to host
-lepiquillo.fr: did not receive HSTS header
+leoservicosetc.com.br: could not connect to host
+lepartiecomemoracoes.com.br: could not connect to host
+lepidum.jp: could not connect to host
+lepiquillo.fr: could not connect to host
 lepont.pl: could not connect to host
 leponton-lorient.fr: did not receive HSTS header
 lepourquoiducomment.fr: did not receive HSTS header
 leppis-it.de: could not connect to host
 leprado.com: could not connect to host
+lereporter.ma: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 lerlivros.online: could not connect to host
-lerner.moscow: could not connect to host
+lerner.moscow: did not receive HSTS header
 lerp.me: did not receive HSTS header
 les-corsaires.net: could not connect to host
 les-pingouins.com: could not connect to host
 les-voitures-electriques.com: max-age too low: 2592000
 lesbiansslaves.com: could not connect to host
+lesbofight.com: could not connect to host
 lescomptoirsdepierrot.com: could not connect to host
 lescourtiersbordelais.com: did not receive HSTS header
 lesdouceursdeliyana.com: could not connect to host
@@ -17255,6 +19041,7 @@ lesgitesdefranca.com: did not receive HSTS header
 lesh.eu: could not connect to host
 lesliekearney.com: did not receive HSTS header
 lesperlesdunet.fr: could not connect to host
+lesptitspasdelyne.fr: could not connect to host
 lesquatredauphins.fr: did not receive HSTS header
 lesscloud.com: could not connect to host
 lessets-graphiques.com: could not connect to host
@@ -17277,21 +19064,26 @@ letsnet.org: could not connect to host
 letson.me: could not connect to host
 letstox.com: could not connect to host
 lettland-firma.com: could not connect to host
-letustravel.tk: could not connect to host
+letustravel.tk: did not receive HSTS header
 letzchange.org: did not receive HSTS header
-levante.com.au: did not receive HSTS header
+levante.com.au: could not connect to host
 levatc.tk: could not connect to host
 level-10.net: could not connect to host
 level3.xyz: could not connect to host
+level6.me: could not connect to host
 levelaccordingly.com: could not connect to host
 levelcheat.com: could not connect to host
 levelum.com: did not receive HSTS header
+leveluprails.com: did not receive HSTS header
+leventmebel.com: did not receive HSTS header
 leveredge.net: could not connect to host
 levert.ch: could not connect to host
+levittasaude.com.br: did not receive HSTS header
 lewdlist.com: did not receive HSTS header
 lewis.li: did not receive HSTS header
 lewisjuggins.co.uk: did not receive HSTS header
 lexiphanic.co.uk: did not receive HSTS header
+lexoo.co.uk: could not connect to host
 lexpartsofac.com: could not connect to host
 lexxyn.nl: did not receive HSTS header
 leyun.cloud: did not receive HSTS header
@@ -17301,6 +19093,7 @@ lezdomsm.com: could not connect to host
 lfaz.org: could not connect to host
 lffweb.ga: could not connect to host
 lfklzw.com: could not connect to host
+lfrconseil.com: could not connect to host
 lfullerdesign.com: could not connect to host
 lg0.site: could not connect to host
 lg21.co: could not connect to host
@@ -17312,7 +19105,6 @@ lgnsh.fr: could not connect to host
 lgrs.com.au: did not receive HSTS header
 lgsg.us: could not connect to host
 lgts.se: could not connect to host
-lhajn.cz: could not connect to host
 lhakustik.se: could not connect to host
 lhalbert.xyz: could not connect to host
 lhasaapso.com.br: could not connect to host
@@ -17329,6 +19121,7 @@ liamjack.fr: could not connect to host
 lian-in.net: could not connect to host
 liangbp.com: could not connect to host
 liangyichen.net: did not receive HSTS header
+lianhongrui.com: did not receive HSTS header
 lianwen.kim: could not connect to host
 lianye.in: could not connect to host
 lianye1.cc: could not connect to host
@@ -17344,32 +19137,37 @@ liaronce.win: could not connect to host
 libanco.com: could not connect to host
 libbitcoin.org: could not connect to host
 libdeer.so: could not connect to host
+libertarian-party.com: could not connect to host
 libertas-tech.com: could not connect to host
 libertins.date: did not receive HSTS header
 libertyrp.org: could not connect to host
 libfte.org: did not receive HSTS header
+libnull.com: could not connect to host
+libo766.com: could not connect to host
 librairie-asie.com: did not receive HSTS header
 library.linode.com: did not receive HSTS header
 libraryofcode.us: could not connect to host
 libre.university: could not connect to host
 librechan.net: could not connect to host
+libreduca.com: could not connect to host
 librends.org: could not connect to host
+librerias-he.com.pe: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 libricks.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 librosdescargas.club: could not connect to host
 libruis.com: could not connect to host
 libwebsockets.org: could not connect to host
 libzik.com: could not connect to host
 licence-registry.com: could not connect to host
-liceo.cn: did not receive HSTS header
 liceserv.com: could not connect to host
 lichess4545.com: did not receive HSTS header
 lichess4545.tv: did not receive HSTS header
-lichform.com: could not connect to host
 lichtletters-huren.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 lickingcounty.gov: did not receive HSTS header
 lickmypussy.us: did not receive HSTS header
+lidl-menubox.ch: could not connect to host
 lidl-selection.at: could not connect to host
 lidlovajogurteka.si: could not connect to host
+lie.as: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 liebach.me: did not receive HSTS header
 liebestarot.at: did not receive HSTS header
 lieblingsholz.de: could not connect to host
@@ -17378,11 +19176,13 @@ lied8.eu: could not connect to host
 lierrmm.space: could not connect to host
 lietaer.eu: did not receive HSTS header
 life-like.com: did not receive HSTS header
+lifecism.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 lifecoach.tw: did not receive HSTS header
 lifecoachproviders.com: could not connect to host
 lifeenrichmentnc.com: did not receive HSTS header
 lifegrip.com.au: did not receive HSTS header
 lifeguard.aecom.com: did not receive HSTS header
+lifeguatemala.com: could not connect to host
 lifeinitsownway.com: could not connect to host
 lifeinsuranceresource.com: did not receive HSTS header
 lifeinsurances.pro: could not connect to host
@@ -17392,25 +19192,29 @@ lifekiss.ru: could not connect to host
 lifemarque.co.uk: did not receive HSTS header
 lifenexto.com: could not connect to host
 lifeng.us: did not receive HSTS header
-lifeonplanetjapan.com: could not connect to host
+lifeonplanetjapan.com: did not receive HSTS header
 lifequotes-uk.co.uk: could not connect to host
 lifereset.it: did not receive HSTS header
 lifeskillsdirect.com: did not receive HSTS header
 lifestyle7788.com: could not connect to host
+lifestylecent.com: could not connect to host
 lifestyler.me: could not connect to host
-lifetimemoneymachine.com: could not connect to host
+lifestyletravel.co.za: did not receive HSTS header
+lifetimemoneymachine.com: did not receive HSTS header
 lifeupgame.fr: could not connect to host
-liftoff.rocks: could not connect to host
+light-up.xyz: did not receive HSTS header
 lightarmory.com: could not connect to host
 lightcloud.com: did not receive HSTS header
 lightdark.xyz: could not connect to host
 lightdream.tech: could not connect to host
 lighthouseinstruments.com: did not receive HSTS header
 lightingpacificpalisades.com: could not connect to host
+lightme.us: could not connect to host
 lightning-ashe.com: did not receive HSTS header
 lightnovelsekai.com: could not connect to host
 lightpaste.com: could not connect to host
 lightpics.net: did not receive HSTS header
+lights.ie: did not receive HSTS header
 lighttherapydevice.com: did not receive HSTS header
 lightupcollective.co.uk: could not connect to host
 lightworx.io: could not connect to host
@@ -17419,17 +19223,20 @@ lignemax.com: did not receive HSTS header
 lignenet.com: did not receive HSTS header
 lijero.co: could not connect to host
 like.lgbt: could not connect to host
-likefluence.com: could not connect to host
+likefluence.com: did not receive HSTS header
 likenewhearing.com.au: could not connect to host
 likenosis.com: could not connect to host
-lila.pink: did not receive HSTS header
+likestudio.com.ua: could not connect to host
+likui.me: could not connect to host
+lila.pink: could not connect to host
 lilaccakeboutique.com: could not connect to host
+lilai18.ph: could not connect to host
+lilai634.com: could not connect to host
 lilai6616.com: could not connect to host
 lilapmedia.com: could not connect to host
 lilismartinis.com: could not connect to host
 lilliangray.co.za: did not receive HSTS header
 lillpopp.eu: did not receive HSTS header
-lilpwny.com: could not connect to host
 lilycms.com: could not connect to host
 lilygreen.co.za: could not connect to host
 lilylasvegas.com: could not connect to host
@@ -17437,10 +19244,13 @@ limalama.eu: could not connect to host
 limeburst.net: did not receive HSTS header
 limelabs.de: did not receive HSTS header
 limelabs.io: did not receive HSTS header
+limeres.com: did not receive HSTS header
+limereslaw.com: did not receive HSTS header
 limeyeti.com: could not connect to host
 limiteddata.co.uk: could not connect to host
 limitget.com: could not connect to host
 limn.me: could not connect to host
+limnt.cn: could not connect to host
 limoairporttoronto.net: could not connect to host
 limodo-shop.de: did not receive HSTS header
 limousineservicezurich.com: did not receive HSTS header
@@ -17452,14 +19262,16 @@ limunana.com: could not connect to host
 lin2018168.com: max-age too low: 0
 linan.blog: did not receive HSTS header
 linan.info: could not connect to host
-linan.me: could not connect to host
+linan.me: did not receive HSTS header
 linan.site: could not connect to host
 linasjourney.com: did not receive HSTS header
 linchpin-it.com: did not receive HSTS header
+lincolnboolefoundation.org: could not connect to host
 lincolncountytn.gov: could not connect to host
+lincolnsfh.com: max-age too low: 0
 lincsbouncycastlehire.co.uk: could not connect to host
 lindberg.io: did not receive HSTS header
-lindemann.space: could not connect to host
+lindemann.space: did not receive HSTS header
 lindholmen.club: did not receive HSTS header
 lindsayanderson.com: could not connect to host
 line.red: did not receive HSTS header
@@ -17468,6 +19280,7 @@ lineauniformes.com.br: could not connect to host
 linernotekids.com: could not connect to host
 linestriperdepot.com: did not receive HSTS header
 linext.cn: could not connect to host
+linfamilygc.com: did not receive HSTS header
 lingerie.net.br: did not receive HSTS header
 lingerielovers.com.br: could not connect to host
 lingerieonline.com.br: could not connect to host
@@ -17475,9 +19288,8 @@ lingros-test.tk: could not connect to host
 lingting.vip: could not connect to host
 linguamilla.com: did not receive HSTS header
 linguaquote.com: did not receive HSTS header
-linguatrip.com: did not receive HSTS header
 lingvo-svoboda.ru: did not receive HSTS header
-linhaoyi.com: did not receive HSTS header
+linhaoyi.com: could not connect to host
 linherest.tk: could not connect to host
 linhua.org: could not connect to host
 link.ba: could not connect to host
@@ -17494,19 +19306,22 @@ linkthis.ml: could not connect to host
 linkthisstatus.ml: could not connect to host
 linky.tk: could not connect to host
 linkybos.com: could not connect to host
-linkyou.top: did not receive HSTS header
-linkzyovh.com: did not receive HSTS header
+linkzyovh.com: could not connect to host
 linley.de: could not connect to host
 linmi.cc: did not receive HSTS header
+linncounty-ia.gov: could not connect to host
 linno.me: could not connect to host
 linode.com: did not receive HSTS header
 linorman1997.me: could not connect to host
 linostassi.net: could not connect to host
+linpx.com: could not connect to host
+lintasi.com: could not connect to host
 lintellift.com: did not receive HSTS header
 linusdrop.tips: could not connect to host
 linux-admin-california.com: could not connect to host
 linux-mint.cz: did not receive HSTS header
-linux.army: could not connect to host
+linux.army: did not receive HSTS header
+linux.im: could not connect to host
 linux.sb: could not connect to host
 linuxandstuff.de: could not connect to host
 linuxcode.net: could not connect to host
@@ -17521,7 +19336,10 @@ linuxproperties.com: could not connect to host
 linvx.org: could not connect to host
 linxmind.eu: could not connect to host
 lionhosting.nl: could not connect to host
+lionsdeal.com: did not receive HSTS header
+lipighor.xyz: could not connect to host
 lipo.lol: could not connect to host
+liputan4.com: did not receive HSTS header
 liquid.solutions: could not connect to host
 liquidcomm.net: could not connect to host
 liquidradio.pro: could not connect to host
@@ -17532,6 +19350,7 @@ lirico.ca: could not connect to host
 liris-beautywelt.de: did not receive HSTS header
 lisaco.de: could not connect to host
 lisamortimore.com: did not receive HSTS header
+lisandi.com: did not receive HSTS header
 lisbongold.com: did not receive HSTS header
 lisgade.dk: could not connect to host
 lisieuxarquitetura.com.br: could not connect to host
@@ -17544,7 +19363,7 @@ listal.com: did not receive HSTS header
 lists.mayfirst.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 litcc.com: could not connect to host
 litcomphonors.com: could not connect to host
-litebitanalytics.eu: did not receive HSTS header
+litebitanalytics.eu: could not connect to host
 literaturpreis-bad-wurzach.de: did not receive HSTS header
 litespeed.io: could not connect to host
 litevault.net: did not receive HSTS header
@@ -17557,6 +19376,7 @@ littlecrittersbrewery.com: did not receive HSTS header
 littledisney.ro: did not receive HSTS header
 littlefreelibrary.org: did not receive HSTS header
 littlejumpers.co.uk: did not receive HSTS header
+littlepigcreek.com.au: could not connect to host
 littleqiu.net: could not connect to host
 littleservice.cn: could not connect to host
 littleskin.cn: could not connect to host
@@ -17570,21 +19390,34 @@ liupeicheng.top: did not receive HSTS header
 liuxiangling.com: did not receive HSTS header
 liv3ly.com: did not receive HSTS header
 livadm.ml: could not connect to host
-livaniaccesorios.com: could not connect to host
-livecards.co.uk: did not receive HSTS header
+livecards.es: could not connect to host
+livecards.eu: could not connect to host
+livecards.it: could not connect to host
 livechatlady.info: did not receive HSTS header
 livedemo.io: could not connect to host
 livej.am: could not connect to host
+livekaarten.be: could not connect to host
+livekarten.at: could not connect to host
+livekarten.de: could not connect to host
+livekort.no: could not connect to host
+livekortti.fi: could not connect to host
+livela.jp: could not connect to host
 livelexi.com: could not connect to host
+livepaperhelp.com: did not receive HSTS header
 livepath.ch: did not receive HSTS header
 liveperformersmeeting.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 liverewrite.com: could not connect to host
+liverobot8.com: could not connect to host
+liverobot888.com: could not connect to host
 livesearch-fukuoka.com: did not receive HSTS header
 livetube.tv: did not receive HSTS header
 livhao.com: could not connect to host
 liviababynet.com.br: could not connect to host
+livingforreal.com: could not connect to host
 livinghealthywithchocolate.com: did not receive HSTS header
+livingkingsinc.net: did not receive HSTS header
 livinglocalnashville.com: did not receive HSTS header
+livingword.in: did not receive HSTS header
 livnev.me: could not connect to host
 livnev.xyz: could not connect to host
 livolett.de: did not receive HSTS header
@@ -17592,60 +19425,59 @@ livrariacoad.com.br: could not connect to host
 livrariahugodesaovitor.com.br: could not connect to host
 livres-et-stickers.com: did not receive HSTS header
 livroseuniformes.com.br: could not connect to host
-livv168.com: did not receive HSTS header
-livv168.net: did not receive HSTS header
 lixiang.one: could not connect to host
 lixiaojiang.ga: could not connect to host
 lixiaoyu.live: could not connect to host
 lixingcong.com: could not connect to host
-liyin.date: could not connect to host
-liypoi.top: did not receive HSTS header
+liyang.pro: could not connect to host
+liyin.date: did not receive HSTS header
+liypoi.top: could not connect to host
 lizhi123.net: could not connect to host
 lizhuogui.ga: could not connect to host
+lizzian.uk: could not connect to host
 ljskool.com: did not receive HSTS header
 ljusdalsnaprapatklinik.se: did not receive HSTS header
-ljw.me: could not connect to host
+ljw.me: did not receive HSTS header
 lkbk.uk: could not connect to host
-lkdpp.lt: could not connect to host
+lkdpp.lt: did not receive HSTS header
 lkp111138.me: did not receive HSTS header
 ll5197.co: could not connect to host
 ll6729.co: could not connect to host
 ll6729.com: did not receive HSTS header
 ll6957.co: could not connect to host
 ll9297.co: could not connect to host
-ll9397.com: could not connect to host
-ll9721.com: could not connect to host
+ll9397.com: did not receive HSTS header
+ll9721.com: did not receive HSTS header
 ll9728.co: could not connect to host
 llamacuba.com: did not receive HSTS header
 ller.xyz: could not connect to host
 lll.st: could not connect to host
 llsv666.com: max-age too low: 0
 llvm.us: could not connect to host
-lmdexpresstransport.com: did not receive HSTS header
+llw0x.com: could not connect to host
 lmrcouncil.gov: could not connect to host
-lmsuitespagna.it: did not receive HSTS header
 lmtravis.com: could not connect to host
 ln.io: could not connect to host
 lnbeauty.ru: max-age too low: 0
 lndrive.space: could not connect to host
 lnmp.me: did not receive HSTS header
 lnoldan.com: could not connect to host
+lnrsoft.ddns.net: could not connect to host
 lntu.org: could not connect to host
 lnx.li: could not connect to host
 lnyltx.cn: could not connect to host
 loacg.com: did not receive HSTS header
-load.pm: did not receive HSTS header
 loadingdeck.com: could not connect to host
 loadso.me: could not connect to host
 loadtraining.com: did not receive HSTS header
 loafbox.com: could not connect to host
 loafhead.me: could not connect to host
-loan-lenders.co.za: did not receive HSTS header
+loan-lenders.co.za: could not connect to host
 loancompare.co.za: could not connect to host
 loandolphin.com.au: did not receive HSTS header
 loanreadycredit.com: could not connect to host
 loansonline.today: could not connect to host
-loanstreet.be: could not connect to host
+loanstreet.be: did not receive HSTS header
 lobin21.com: could not connect to host
 lobosdomain.no-ip.info: could not connect to host
 lobste.rs: did not receive HSTS header
@@ -17655,6 +19487,7 @@ localdata.us: did not receive HSTS header
 localdrive.me: could not connect to host
 localegroup.com: did not receive HSTS header
 localhorst.xyz: could not connect to host
+localhost.cat: could not connect to host
 localnetwork.nz: could not connect to host
 localprideart.com: could not connect to host
 localsource.eu: could not connect to host
@@ -17677,12 +19510,13 @@ locationvoituresuede.com: could not connect to host
 locchat.com: could not connect to host
 locker3.com: could not connect to host
 lockify.com: could not connect to host
+lockoutgroup.com: could not connect to host
 lockr.io: did not receive HSTS header
 locksmith-durbannorth.co.za: could not connect to host
 locksmithcarrolltontx.com: did not receive HSTS header
 locksmithhillcrest.co.za: could not connect to host
 locksmithmidrand24-7.co.za: did not receive HSTS header
-locksmithopen.com: could not connect to host
+locksmithopen.com: did not receive HSTS header
 locksmithrandburg24-7.co.za: could not connect to host
 locksmithsanantoniotexas.com: did not receive HSTS header
 locksmithsbluff.com: could not connect to host
@@ -17691,24 +19525,25 @@ locksport.org.nz: could not connect to host
 locktheirphone.com: could not connect to host
 lockyourcomputer.pw: could not connect to host
 locomocosec.com: did not receive HSTS header
+locomore.com: could not connect to host
 locomotive.ca: did not receive HSTS header
+locomotive.net.br: could not connect to host
 locvis.ru: did not receive HSTS header
 lode.li: could not connect to host
 lodgesdureynou.fr: did not receive HSTS header
-loeildansledoigt.fr: could not connect to host
+loeildansledoigt.fr: did not receive HSTS header
 loftboard.eu: could not connect to host
 log2n.uk: could not connect to host
 logaldeveloper.com: could not connect to host
 logancountyky.gov: could not connect to host
 logario.com.br: could not connect to host
-logbook.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 logcat.info: could not connect to host
-logement.com: could not connect to host
 logfro.de: max-age too low: 0
 logic8.ml: could not connect to host
 logicaladvertising.com: could not connect to host
 logicchen.com: could not connect to host
 logiccircle.ir: did not receive HSTS header
+logicoma.com: could not connect to host
 logicsale.com: did not receive HSTS header
 logicsale.de: did not receive HSTS header
 logicsale.fr: did not receive HSTS header
@@ -17725,8 +19560,8 @@ logistify.com.mx: did not receive HSTS header
 logitank.net: did not receive HSTS header
 logitrack.tk: could not connect to host
 lognot.net: could not connect to host
-logoesun.com: could not connect to host
-logopaediereinhard.de: did not receive HSTS header
+logopaediereinhard.de: could not connect to host
+logtalk.pt: did not receive HSTS header
 logymedia.com: could not connect to host
 lohl1kohl.de: did not receive HSTS header
 lohmeyer-it.de: could not connect to host
@@ -17736,8 +19571,8 @@ lojadkstore.com.br: could not connect to host
 lojadocristaozinho.com.br: could not connect to host
 lojahunamarcenaria.com.br: could not connect to host
 lojamulticapmais.com.br: did not receive HSTS header
-lojapos.eu: did not receive HSTS header
 lojaprimemed.com.br: could not connect to host
+lojas25online.com.br: could not connect to host
 lojasceletro.com.br: could not connect to host
 lojashowdecozinha.com.br: could not connect to host
 lojasviavento.com.br: could not connect to host
@@ -17745,10 +19580,12 @@ lojatema.com.br: could not connect to host
 lojavalcapelli.com.br: could not connect to host
 lojavirtualfc.com.br: did not receive HSTS header
 lojavirtualfct.com.br: did not receive HSTS header
+lokalna.net: could not connect to host
 lolcorp.pl: could not connect to host
 lolhax.org: did not receive HSTS header
 loli.bz: could not connect to host
 loli.ee: could not connect to host
+loli.ski: did not receive HSTS header
 loli.vip: could not connect to host
 loliblogs.cf: could not connect to host
 loliblogs.ga: could not connect to host
@@ -17765,17 +19602,19 @@ lolifamily.ml: could not connect to host
 lolio.tw: could not connect to host
 lolis.stream: could not connect to host
 lolitalechat.com: could not connect to host
+lolivpn.com: could not connect to host
 lollaconcept.com.br: could not connect to host
 lonal.com: could not connect to host
+lonasdigital.com: did not receive HSTS header
 lonay.me: did not receive HSTS header
 lonbali.com: did not receive HSTS header
 londoncalling.co: did not receive HSTS header
 londonindustryshop.com: could not connect to host
 londonkan.jp: could not connect to host
 londonlanguageexchange.com: could not connect to host
+londontaxipr.com: did not receive HSTS header
 lonerwolf.com: did not receive HSTS header
-long688.com: could not connect to host
-long8.com: could not connect to host
+long-journey.com: did not receive HSTS header
 longboarding-ulm.de: could not connect to host
 longdie88.com: max-age too low: 0
 longma.pw: could not connect to host
@@ -17784,11 +19623,13 @@ look-at-my.site: could not connect to host
 looka.ch: did not receive HSTS header
 looka.photo: could not connect to host
 lookart.ch: could not connect to host
+lookgadgets.com: did not receive HSTS header
 lookout.com: did not receive HSTS header
 looktothestars.org: did not receive HSTS header
 lookupclose.com: could not connect to host
 lookyman.net: did not receive HSTS header
-loom.no: did not receive HSTS header
+lookzook.com: did not receive HSTS header
+loom.no: could not connect to host
 loomis.center: did not receive HSTS header
 looneymooney.com: could not connect to host
 loongsg.xyz: could not connect to host
@@ -17798,11 +19639,11 @@ loovto.net: could not connect to host
 loqyu.co: could not connect to host
 lord.city: could not connect to host
 lordgun.com: did not receive HSTS header
-lore.azurewebsites.net: could not connect to host
+lorenz-hundler.co: could not connect to host
 lorientlejour.com: did not receive HSTS header
 lormansas.com: could not connect to host
 losebellyfat.pro: could not connect to host
-loshogares.com.mx: did not receive HSTS header
+losingweight.coach: could not connect to host
 losless.fr: did not receive HSTS header
 losmedicamentos.net: did not receive HSTS header
 losrascadoresparagatos.com: could not connect to host
@@ -17810,33 +19651,35 @@ lostandcash.com: did not receive HSTS header
 lostarq.com: could not connect to host
 lostg.com: did not receive HSTS header
 lostinsecurity.com: could not connect to host
+lostinweb.eu: could not connect to host
 loteamentoabertoamparo.com.br: could not connect to host
 loteamentoabertocapivari.com.br: could not connect to host
 loteamentoabertopiracicaba.com.br: could not connect to host
 loteamentomontereiitu.com.br: could not connect to host
-loteks.de: could not connect to host
-lothai.re: did not receive HSTS header
+loteks.de: did not receive HSTS header
 lothuytinhsi.com: could not connect to host
 loto-tele.com: could not connect to host
-lotos-ag.ch: did not receive HSTS header
 lotsencafe.de: did not receive HSTS header
+lotsofbargains.com: did not receive HSTS header
 lottosonline.com: did not receive HSTS header
-lotuscloud.de: did not receive HSTS header
+lotuscloud.de: could not connect to host
 lotuscloud.org: could not connect to host
 lotuswebsolutions.tk: could not connect to host
+lotw.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 louduniverse.net: did not receive HSTS header
 louiewatch.com: could not connect to host
-louisacountyia.gov: could not connect to host
+louisacountyia.gov: did not receive HSTS header
 louisapolicefoundation.com: could not connect to host
 louisapolicefoundation.org: could not connect to host
 louisvillene.gov: max-age too low: 604800
-louisvillevmug.info: did not receive HSTS header
+louisvillevmug.info: could not connect to host
 love-schna.jp: could not connect to host
+love4musik.com: could not connect to host
 love4taylor.eu.org: could not connect to host
 loveable.de: could not connect to host
 loveai.org: could not connect to host
 loveamber.me: could not connect to host
-loveandadoreboutique.com: did not receive HSTS header
+loveandadoreboutique.com: could not connect to host
 loveandloyalty.se: could not connect to host
 lovechester.com: could not connect to host
 lovecrystal.co.uk: could not connect to host
@@ -17846,9 +19689,10 @@ lovelens.li: could not connect to host
 lovelifelovelive.com: could not connect to host
 lovelive-anime.tk: could not connect to host
 lovelive-anime.tokyo: could not connect to host
+lovelive.tools: did not receive HSTS header
 lovelive.us: could not connect to host
 lovelivewiki.com: could not connect to host
-loveluna.com: did not receive HSTS header
+lovelo.store: could not connect to host
 lovelyblogacademy.com: did not receive HSTS header
 lovelychalets-peisey.com: did not receive HSTS header
 lovelycorral.com: did not receive HSTS header
@@ -17862,52 +19706,50 @@ loveto.at: could not connect to host
 lovetravel360.com: could not connect to host
 lovevape.co: did not receive HSTS header
 loveyounastya.com: did not receive HSTS header
+lovingbody.yoga: did not receive HSTS header
 lovingpenguin.com: did not receive HSTS header
-lovizaim.ru: could not connect to host
 lowcarblab.com: did not receive HSTS header
 lowcarbmaven.com: did not receive HSTS header
 lowhangingfruitgrabber.com: could not connect to host
 lowt.us: could not connect to host
 lowtherpavilion.co.uk: did not receive HSTS header
 loxal.net: did not receive HSTS header
-loxal.org: did not receive HSTS header
 loxis.be: did not receive HSTS header
-loyaleco.it: could not connect to host
 loyaltech.ch: could not connect to host
 lpacademy.com.br: could not connect to host
 lpak.nl: could not connect to host
 lpgram.ga: could not connect to host
 lpm-uk.com: could not connect to host
-lprcommunity.co.za: did not receive HSTS header
 lqs.me: could not connect to host
 lra-cloud.de: could not connect to host
 lrhsclubs.com: could not connect to host
 lrhstsa.com: did not receive HSTS header
 ls-a.org: did not receive HSTS header
+ls-mapping-team.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ls-reallife.de: did not receive HSTS header
 ls-rp.es: did not receive HSTS header
 lsal.me: could not connect to host
 lsky.cn: could not connect to host
 lsmarketing.ie: did not receive HSTS header
+lsmpx.com: did not receive HSTS header
 lsp-sports.de: did not receive HSTS header
-lssolutions.ie: did not receive HSTS header
+lssolutions.ie: could not connect to host
 lstma.com: could not connect to host
 lsvih.com: did not receive HSTS header
-lswim.com: did not receive HSTS header
 lsws.de: did not receive HSTS header
 lszj.com: could not connect to host
 ltba.org: could not connect to host
 ltbytes.com: could not connect to host
 ltechnologygroup.com: could not connect to host
-ltlec.net: could not connect to host
-ltlec.org: could not connect to host
+ltlec.net: did not receive HSTS header
+ltlec.org: did not receive HSTS header
 ltlec.services: could not connect to host
 ltmw.xyz: could not connect to host
 ltransferts.com: could not connect to host
 ltu.social: could not connect to host
 lty.space: could not connect to host
-lublin.toys: could not connect to host
-lubomirkazakov.com: did not receive HSTS header
+lublin.toys: did not receive HSTS header
+lubomirkazakov.com: could not connect to host
 luca.swiss: could not connect to host
 lucakrebs.de: could not connect to host
 lucarautti.com: could not connect to host
@@ -17920,22 +19762,27 @@ lucentioluo.space: could not connect to host
 lucidlogs.com: could not connect to host
 lucidoccult.com: could not connect to host
 lucky28.org: did not receive HSTS header
-luckydog.pw: did not receive HSTS header
+luckydog.pw: could not connect to host
 luckyxf.com: could not connect to host
 luclu7.pw: could not connect to host
 lucy.science: could not connect to host
 lucysan.net: could not connect to host
+ludum-polus.xyz: could not connect to host
 ludum.pl: could not connect to host
 ludwig.click: could not connect to host
+ludwig.im: could not connect to host
 lufu.io: could not connect to host
 luganskservers.net: could not connect to host
+lugbb.org: did not receive HSTS header
 lugimax.com: could not connect to host
 lui.pink: did not receive HSTS header
 luis-checa.com: could not connect to host
+luisfariasgrupo.com: could not connect to host
 luisfernandoosorio.com: did not receive HSTS header
-luisgf.es: did not receive HSTS header
+luisgf.es: could not connect to host
 luisv.me: could not connect to host
 luk.photo: could not connect to host
+lukasschick.de: max-age too low: 172800
 lukasunger.cz: could not connect to host
 lukasunger.net: could not connect to host
 lukaszdolan.com: did not receive HSTS header
@@ -17944,7 +19791,6 @@ lukatz.de: did not receive HSTS header
 lukem.eu: could not connect to host
 lukeng.me: could not connect to host
 lukesutton.info: could not connect to host
-lukmanulhakim.id: could not connect to host
 lukonet.com: did not receive HSTS header
 luloboutique.com: did not receive HSTS header
 luludapomerania.com: could not connect to host
@@ -17957,18 +19803,20 @@ lumi.do: did not receive HSTS header
 lumiere.com: did not receive HSTS header
 luminaires-online.fr: did not receive HSTS header
 luminancy.com: could not connect to host
+lumiwellnessshop.com: did not receive HSTS header
 lunafag.ru: could not connect to host
+lunakit.org: could not connect to host
 lunarichter.de: did not receive HSTS header
 lunarift.com: could not connect to host
 lunarrift.net: could not connect to host
+lunarshark.com: could not connect to host
 luneta.nearbuysystems.com: could not connect to host
 lungta.pro: could not connect to host
 lunight.ml: could not connect to host
 luno.io: could not connect to host
-luodaoyi.com: did not receive HSTS header
+luodaoyi.com: max-age too low: 0
 luody.info: could not connect to host
 luoe.ml: could not connect to host
-luohua.im: could not connect to host
 luolikong.vip: could not connect to host
 luom.net: could not connect to host
 luoshifeng.com: could not connect to host
@@ -17976,19 +19824,18 @@ luoxiao.im: could not connect to host
 luoxingyu.ml: could not connect to host
 luqsus.pl: did not receive HSTS header
 luripump.se: could not connect to host
+luru.xyz: did not receive HSTS header
 lushnikov-alex.ru: could not connect to host
-lusis.fr: did not receive HSTS header
 lusis.net: could not connect to host
-lusoft.cz: did not receive HSTS header
+lusoft.cz: could not connect to host
 lust.works: could not connect to host
 lustige-zitate.com: did not receive HSTS header
 lustrumxi.nl: could not connect to host
 lusynth.com: could not connect to host
 luther.fi: could not connect to host
-luuinhaler.com: did not receive HSTS header
-luxcraft.eng.br: could not connect to host
+luthierunatespalermo.com: could not connect to host
 luxe-it.co.uk: could not connect to host
-luxescreenprotector.nl: did not receive HSTS header
+luxescreenprotector.nl: could not connect to host
 luxfosdecoenterprise.com: could not connect to host
 luxinmo.com: did not receive HSTS header
 luxofit.de: did not receive HSTS header
@@ -18000,7 +19847,7 @@ luxwatch.com: could not connect to host
 luzeshomologadas.com.br: could not connect to host
 lv5.top: could not connect to host
 lwhate.com: could not connect to host
-lwl.moe: did not receive HSTS header
+lwl12.com: could not connect to host
 lxd.pm: could not connect to host
 lxx77.com: could not connect to host
 lyam.fr: could not connect to host
@@ -18011,25 +19858,33 @@ lycly.top: could not connect to host
 lydia-und-simon.de: could not connect to host
 lydiagorstein.com: did not receive HSTS header
 lyfbits.com: could not connect to host
+lykai.ca: could not connect to host
 lylares.com: did not receive HSTS header
 lynkos.com: did not receive HSTS header
 lynnmosher.com: could not connect to host
 lyoness.digital: could not connect to host
-lyonl.com: could not connect to host
+lyricfm.com: could not connect to host
+lyscnd.com: could not connect to host
 lysdeau.be: could not connect to host
 lysergion.com: could not connect to host
+lytemedical.com: did not receive HSTS header
 lyuba.fr: could not connect to host
 lyukaacom.ru: could not connect to host
 lz.sb: could not connect to host
 lz898.com: could not connect to host
 lzahq.tech: did not receive HSTS header
-lzkill.com: did not receive HSTS header
+lzh.one: could not connect to host
+lzkill.com: could not connect to host
 lzqii.cn: could not connect to host
 lzzr.me: could not connect to host
-m-ali.xyz: did not receive HSTS header
+m-ali.xyz: could not connect to host
+m-cont.cz: did not receive HSTS header
 m-edmondson.co.uk: did not receive HSTS header
+m-foda.com: did not receive HSTS header
 m-gaming.tk: could not connect to host
 m-generator.com: could not connect to host
+m-gh.info: could not connect to host
+m-orthodontic.com: did not receive HSTS header
 m-rickroll-v.pw: could not connect to host
 m-warrior.tk: could not connect to host
 m.gparent.org: could not connect to host
@@ -18038,19 +19893,22 @@ m0v0.com: could not connect to host
 m0wef.uk: could not connect to host
 m12uno.com: did not receive HSTS header
 m2tc.fr: could not connect to host
-m3-gmbh.de: did not receive HSTS header
 m30365.com: could not connect to host
 m4570.xyz: could not connect to host
 m4rcus.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 m5197.co: could not connect to host
+m60777.com: did not receive HSTS header
 m6729.co: could not connect to host
 m6729.com: did not receive HSTS header
 m6957.co: could not connect to host
 m6957.com: did not receive HSTS header
+m81365.com: did not receive HSTS header
+m81818.com: did not receive HSTS header
+m82365.com: did not receive HSTS header
 m82labs.com: did not receive HSTS header
 m9297.co: could not connect to host
-m9397.com: could not connect to host
-m9721.com: could not connect to host
+m9397.com: did not receive HSTS header
+m9721.com: did not receive HSTS header
 m9728.co: could not connect to host
 ma-musique.fr: did not receive HSTS header
 ma-plancha.ch: did not receive HSTS header
@@ -18058,31 +19916,29 @@ maarten.nyc: could not connect to host
 maartenprovo.be: did not receive HSTS header
 maartenterpstra.xyz: could not connect to host
 maatwerkopruimcoaching.nl: could not connect to host
-mac-torrents.me: did not receive HSTS header
+mac-torrents.me: could not connect to host
 mac1.net: did not receive HSTS header
 macandtonic.com: did not receive HSTS header
 macaw.nl: did not receive HSTS header
-macbay.net: did not receive HSTS header
 macbolo.com: could not connect to host
 macchaberrycream.com: could not connect to host
 macchedil.com: did not receive HSTS header
 macdj.tk: could not connect to host
 macedopesca.com.br: did not receive HSTS header
-mach1club.com: could not connect to host
+mach1club.com: did not receive HSTS header
 machbach.net: could not connect to host
-machcz.eu: did not receive HSTS header
+machcz.eu: could not connect to host
 machijun.net: did not receive HSTS header
 machinelearningjavascript.com: could not connect to host
-machinerysafety101.com: did not receive HSTS header
-maciespartyhire.co.uk: did not receive HSTS header
+maciespartyhire.co.uk: could not connect to host
 macinyasha.net: could not connect to host
+macji-raj.si: did not receive HSTS header
 mack.space: could not connect to host
 mackey7.net: could not connect to host
 mackiehouse.ca: did not receive HSTS header
 mackinawil.gov: did not receive HSTS header
 macleodnc.com: did not receive HSTS header
 macosx86.ml: could not connect to host
-macosxfilerecovery.com: did not receive HSTS header
 macoun.de: max-age too low: 2592000
 macrostudent.com: could not connect to host
 macsandcheesedreams.com: could not connect to host
@@ -18092,7 +19948,7 @@ mad.ninja: could not connect to host
 madandpissedoff.com: did not receive HSTS header
 madbicicletas.com: could not connect to host
 madcatdesign.de: did not receive HSTS header
-maddin.ga: could not connect to host
+maddin.ga: did not receive HSTS header
 maddistonparentcouncil.co.uk: could not connect to host
 maddistonpsa.co.uk: could not connect to host
 madebyfalcon.co.uk: did not receive HSTS header
@@ -18105,18 +19961,21 @@ mademoiselle-emma.fr: did not receive HSTS header
 maderasbrown.com: could not connect to host
 maderwin.com: did not receive HSTS header
 madesoftware.com.br: could not connect to host
-madhyrecords.com: could not connect to host
+madgeandpaul.com: could not connect to host
+madgech.com: could not connect to host
+madgeisawesome.com: could not connect to host
 madnetwork.org: could not connect to host
 madokami.net: could not connect to host
 madokami.pw: could not connect to host
 madpeople.net: could not connect to host
-madreacqua.org: could not connect to host
 madrecha.com: did not receive HSTS header
-madusecurity.com: did not receive HSTS header
+madusecurity.com: could not connect to host
 madwarlock.com: could not connect to host
 mae-berlinistanbul.com: could not connect to host
+mae.sh: did not receive HSTS header
+maekha.in.th: could not connect to host
 maephorncurry.com: did not receive HSTS header
-maerzpa.de: did not receive HSTS header
+maerzpa.de: could not connect to host
 mafamane.com: could not connect to host
 mafiareturns.com: max-age too low: 2592000
 magazinedabeleza.net: could not connect to host
@@ -18125,16 +19984,20 @@ magebankin.com: did not receive HSTS header
 magellan-met.ru: could not connect to host
 magenx.com: did not receive HSTS header
 maggie-shaw.co.uk: did not receive HSTS header
-magi.systems: did not receive HSTS header
+magi.systems: could not connect to host
 magia360.com: did not receive HSTS header
 magicalshuttle.fr: did not receive HSTS header
 magicamulet.me: could not connect to host
+magicball.co: could not connect to host
 magickmoments.co.uk: could not connect to host
-magicvps.md: did not receive HSTS header
+magicspaceninjapirates.de: could not connect to host
+magicvps.md: could not connect to host
 magieamour.com: could not connect to host
 magieblanche.fr: did not receive HSTS header
 magilio.com: could not connect to host
+magnacarebroker.com: could not connect to host
 magnacumlaude.co: could not connect to host
+magnesium-biomed.ch: could not connect to host
 magneticanvil.com: could not connect to host
 magnettracker.com: could not connect to host
 magnoliadoulas.com: could not connect to host
@@ -18147,6 +20010,7 @@ mahamed91.pw: could not connect to host
 mahansexcavating.com: did not receive HSTS header
 mahefa.co.uk: could not connect to host
 mahfouzadedimeji.com: did not receive HSTS header
+maichun.info: could not connect to host
 maik-mahlow.de: could not connect to host
 mail-settings.google.com: did not receive HSTS header (error ignored - included regardless)
 mail.google.com: did not receive HSTS header (error ignored - included regardless)
@@ -18161,41 +20025,50 @@ mailing-femprendedores.com: did not receive HSTS header
 mailing-jbgg.com: could not connect to host
 mailjet.tech: did not receive HSTS header
 maillink.store: could not connect to host
+mailmag.net: did not receive HSTS header
 mailman.ml: could not connect to host
-mailon.ga: could not connect to host
+mailon.ga: did not receive HSTS header
 mailpenny.com: could not connect to host
 main-street-seo.com: did not receive HSTS header
 main-unit.com: did not receive HSTS header
 mainelosap.gov: did not receive HSTS header
+mainframeserver.space: could not connect to host
 maintainerheaven.ch: could not connect to host
+mainzelmaennchen.net: could not connect to host
 maisalto.ind.br: could not connect to host
 maischances.com: did not receive HSTS header
+maisempregonet.com: could not connect to host
 maitemerino.net: could not connect to host
 maitriser-son-stress.com: could not connect to host
 majesticcolorado.com: did not receive HSTS header
 majncloud.tk: could not connect to host
 majormedicalinsurance.online: did not receive HSTS header
 make-pizza.info: could not connect to host
+makeaboldmove.com: did not receive HSTS header
 makedonien.guide: could not connect to host
 makedonija.net.mk: did not receive HSTS header
 makeit-so.de: could not connect to host
 makeitdynamic.com: could not connect to host
-makem-bounce.co.uk: did not receive HSTS header
+makejusticework.org.uk: did not receive HSTS header
+makelinks.online: could not connect to host
+makem-bounce.co.uk: could not connect to host
 makemejob.com: could not connect to host
+makenaiyo-fx.com: could not connect to host
 makera.ga: could not connect to host
 makerstuff.net: could not connect to host
 makeshiftco.de: could not connect to host
 makeuplove.nl: could not connect to host
 makeyourlaws.org: could not connect to host
-makino.games: could not connect to host
+makino.games: did not receive HSTS header
 makogaming.com: could not connect to host
 makropa.com: did not receive HSTS header
+makura.fun: could not connect to host
 malamutedoalasca.com.br: could not connect to host
 maldiverna.guide: could not connect to host
 maleexcel.com: did not receive HSTS header
-malena.com.ua: could not connect to host
+malena.com.ua: did not receive HSTS header
 malerversand.de: did not receive HSTS header
-malesbdsm.com: did not receive HSTS header
+malesbdsm.com: could not connect to host
 malesoowki.blog: could not connect to host
 malfait.nl: could not connect to host
 malgraph.net: could not connect to host
@@ -18204,6 +20077,7 @@ malik.holdings: could not connect to host
 maljaars-fotografie.nl: did not receive HSTS header
 maljaars-media.nl: could not connect to host
 malkaso.com.ua: could not connect to host
+malkoun.com: could not connect to host
 mallhonda.com: could not connect to host
 malmoesport.se: did not receive HSTS header
 malmstroms-co.se: could not connect to host
@@ -18212,12 +20086,12 @@ malphisruul.de: could not connect to host
 malpracticeattorney.online: did not receive HSTS header
 malscan.com: could not connect to host
 malscan.org: could not connect to host
+malte-kiefer.de: did not receive HSTS header
 maltes.website: could not connect to host
+malvertise.xyz: could not connect to host
 malvy.kiev.ua: could not connect to host
-malwar.ee: did not receive HSTS header
-malwar.eu: did not receive HSTS header
+malwarekillers.com: could not connect to host
 malwareverse.us: could not connect to host
-malwr.ee: did not receive HSTS header
 malwre.io: could not connect to host
 maly.cz: did not receive HSTS header
 malya.fr: could not connect to host
@@ -18225,6 +20099,7 @@ mamaasia.info: did not receive HSTS header
 mamabatataya.com: could not connect to host
 mamacobaby.com: could not connect to host
 mamadea.be: did not receive HSTS header
+mamadoma.com.ua: could not connect to host
 mamafit.club: did not receive HSTS header
 mamaison.io: could not connect to host
 mamanura.tk: could not connect to host
@@ -18238,6 +20113,7 @@ mammothmail.org: could not connect to host
 mammut.space: could not connect to host
 mamoris-net.jp: did not receive HSTS header
 mamout.xyz: did not receive HSTS header
+mamsds.com: could not connect to host
 manaboutahor.se: could not connect to host
 manage.zenpayroll.com: did not receive HSTS header
 manage4all.com: could not connect to host
@@ -18249,36 +20125,41 @@ management-ethics.com: did not receive HSTS header
 managemynetsuite.com: did not receive HSTS header
 manalu.cz: could not connect to host
 manantial.mx: could not connect to host
+manantialdevida1450.com: did not receive HSTS header
 manaonetrading.com: could not connect to host
 manav-it.de: could not connect to host
 manavgabhawala.com: could not connect to host
+manchestercleaner.co.uk: did not receive HSTS header
 mandala-ausmalbilder.de: could not connect to host
 mandanudes.ae: could not connect to host
 mandiblackburnphoto.com: could not connect to host
 mandm.servebeer.com: could not connect to host
+mandor.id: could not connect to host
 mandpress.com: did not receive HSTS header
 mangapoi.com: could not connect to host
 mangazuki.co: did not receive HSTS header
 mangel.io: did not receive HSTS header
-mangnhuapvc.com.vn: could not connect to host
 manhassetparkdistrictny.gov: did not receive HSTS header
 maniacoland.com: could not connect to host
 maniadeprazer.com.br: could not connect to host
 maniaiti.nz: could not connect to host
 manicminers.tk: could not connect to host
 manifestbin.com: could not connect to host
-manipulatedtme.com: did not receive HSTS header
+manipulatedtme.com: could not connect to host
+manitaggarwal.com: did not receive HSTS header
 manitasicily.com: did not receive HSTS header
 maniw.com: could not connect to host
 mann-und-maeuse.de: could not connect to host
 mannford.com: did not receive HSTS header
 manningbrothers.com: did not receive HSTS header
+manns-solutions.co.uk: could not connect to host
 manns-solutions.com: did not receive HSTS header
 manns-solutions.ru: could not connect to host
 mannsolutions.co.uk: did not receive HSTS header
 manojsharan.me: could not connect to host
 manova.cz: could not connect to host
 manowarus.com: could not connect to host
+mansarda-life.net: did not receive HSTS header
 mansfieldplacevt.com: did not receive HSTS header
 manshop24.com: could not connect to host
 mansion-note.com: did not receive HSTS header
@@ -18292,31 +20173,31 @@ manududu.com.br: could not connect to host
 manuelahidalgo.org: could not connect to host
 manueldopheide.com: did not receive HSTS header
 manuelrueger.de: could not connect to host
-manure.com: did not receive HSTS header
-manuscript.com: could not connect to host
+manure.com: could not connect to host
+manuscript.com: did not receive HSTS header
 manutrol.com.br: did not receive HSTS header
+manwithavan.co.uk: did not receive HSTS header
 manyetikboya.com: could not connect to host
 manyiu.com: could not connect to host
-manyue.org: did not receive HSTS header
 manzalud.com: could not connect to host
 maomao.blog: could not connect to host
 maomaobt.com: did not receive HSTS header
 maomaofuli.vip: could not connect to host
 maorseo.com: could not connect to host
 maosi.xin: could not connect to host
+maozedong.red: could not connect to host
 maplanetebeaute.fr: did not receive HSTS header
-maple5.com: did not receive HSTS header
+maple5.com: could not connect to host
 maplehome.tk: could not connect to host
 maplenorth.co: could not connect to host
 mapservices.nl: did not receive HSTS header
 maquena.org: could not connect to host
 maquettage.com: did not receive HSTS header
 maquillage-permanent-tatoo.com: did not receive HSTS header
+maquinariastitan.com: could not connect to host
 maquininhamercadopoint.com.br: could not connect to host
 mara-martinez.de: did not receive HSTS header
 maranatha.pl: did not receive HSTS header
-marandu.com.ar: did not receive HSTS header
-marbinvest.com: did not receive HSTS header
 marcaudefroy.com: could not connect to host
 marcbeije.com: could not connect to host
 marcberman.co: did not receive HSTS header
@@ -18328,16 +20209,18 @@ marchagen.nl: did not receive HSTS header
 marche-nordic-jorat.ch: could not connect to host
 marchwj.pl: could not connect to host
 marciaimportados.com.br: could not connect to host
+marcianoandtopazio.com: could not connect to host
 marco-kretz.de: did not receive HSTS header
 marco01809.net: could not connect to host
 marcoececilia.it: could not connect to host
 marcofinke.de: could not connect to host
 marcohager.de: could not connect to host
 marcontrol.com: did not receive HSTS header
-marcosteixeira.tk: could not connect to host
+marcosteixeira.tk: did not receive HSTS header
 marcschlagenhauf.de: could not connect to host
 marcus-scheffler.com: could not connect to host
 marcush.de: did not receive HSTS header
+marcuskoh.com: could not connect to host
 marcusserver.synology.me: could not connect to host
 mardelcupon.com: could not connect to host
 mare92.cz: could not connect to host
@@ -18346,42 +20229,47 @@ mareklecian.cz: did not receive HSTS header
 marelijah.org: could not connect to host
 margan.ch: could not connect to host
 margaretrosefashions.co.uk: could not connect to host
-margo.ml: could not connect to host
+margo.ml: did not receive HSTS header
 margots.biz: could not connect to host
 margots.life: could not connect to host
 margots.tech: could not connect to host
-mariacorzo.com: could not connect to host
+mariacorzo.com: did not receive HSTS header
 mariacristinadoces.com.br: did not receive HSTS header
 mariage-photo.ch: could not connect to host
+mariahandnasty.com: could not connect to host
+marianelaisashi.com: could not connect to host
 mariannematthew.com: could not connect to host
 marianwehlus.de: did not receive HSTS header
 mariaolesen.dk: did not receive HSTS header
+mariasbonitas.com: could not connect to host
 marie-curie.fr: could not connect to host
 marie-en-provence.com: could not connect to host
 marie.club: could not connect to host
-mariehane.com: could not connect to host
 marienschule-sundern.de: did not receive HSTS header
-mariescountymo.gov: could not connect to host
-marinat2012.de: could not connect to host
+mariescountymo.gov: did not receive HSTS header
+marietrap.ch: did not receive HSTS header
 marine.gov: could not connect to host
 marinekaplama.com: could not connect to host
-marioberluchi.by: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+marines-shop.com: did not receive HSTS header
 mariusschulte.de: did not receive HSTS header
 marix.ro: could not connect to host
+marjonruns.nl: did not receive HSTS header
 mark-a-hydrant.com: did not receive HSTS header
 mark-armstrong-gaming.com: could not connect to host
-markayapilandirma.com: did not receive HSTS header
+markayapilandirma.com: could not connect to host
 markcp.me: could not connect to host
-markdescande.com: did not receive HSTS header
+markdescande.com: could not connect to host
 market.android.com: did not receive HSTS header (error ignored - included regardless)
 marketgot.com: could not connect to host
 marketia.ml: could not connect to host
 marketing-advertising.eu: could not connect to host
 marketing-apps.club: did not receive HSTS header
-marketing91.com: did not receive HSTS header
+marketing1-0-1.com: could not connect to host
 marketingdesignu.cz: could not connect to host
 marketingeinnovacion.com: did not receive HSTS header
 marketingforfood.com: could not connect to host
+marketinggenerators.nl: did not receive HSTS header
+marketingromania.ro: did not receive HSTS header
 marketingsuite.tk: could not connect to host
 marketio.co: could not connect to host
 marketlinks.org: did not receive HSTS header
@@ -18389,6 +20277,8 @@ marketnsight.com: did not receive HSTS header
 markf.io: could not connect to host
 markhenrick.site: did not receive HSTS header
 markholden.guru: could not connect to host
+markiewicz.online: did not receive HSTS header
+markkirkforsenate.com: could not connect to host
 markllego.com: could not connect to host
 marko-fenster24.de: could not connect to host
 markom.rs: did not receive HSTS header
@@ -18397,7 +20287,7 @@ markow.io: max-age too low: 7776000
 markrego.com: did not receive HSTS header
 markrobin.de: did not receive HSTS header
 markscastles.co.uk: could not connect to host
-marksill.com: could not connect to host
+marksill.com: did not receive HSTS header
 marksmanhomes.com: did not receive HSTS header
 marksouthall.com: could not connect to host
 marktboten.de: could not connect to host
@@ -18405,23 +20295,23 @@ marktplaatshelper.nl: did not receive HSTS header
 markus-dev.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 markusabraham.com: did not receive HSTS header
 markusgran.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-markvanacker.be: did not receive HSTS header
+markvanacker.be: could not connect to host
+markxpdesign.ga: could not connect to host
 marlen.cz: could not connect to host
 marleyresort.com: could not connect to host
-marlonschultz.de: did not receive HSTS header
 marmolrain.cl: did not receive HSTS header
 maroc-bivouac.com: did not receive HSTS header
 marocmail.ma: could not connect to host
-maroismasso.com: did not receive HSTS header
 marotero.com: did not receive HSTS header
 marqperso.ch: could not connect to host
 marquepersonnelle.ch: could not connect to host
 marquesgroup.net: max-age too low: 0
+marqueswines.co.uk: could not connect to host
 marriottvetcareers.com: could not connect to host
 marsatapp.com: could not connect to host
 marshallford.me: could not connect to host
 marshut.net: could not connect to host
-marshyplay.live: could not connect to host
+marshyplay.live: did not receive HSTS header
 marthasvillemo.gov: could not connect to host
 marti201.ga: could not connect to host
 martialc.be: could not connect to host
@@ -18432,10 +20322,11 @@ martin-arend.de: did not receive HSTS header
 martin-mattel.com: could not connect to host
 martin-smith.info: could not connect to host
 martindimitrov.cz: could not connect to host
+martindoe.pl: did not receive HSTS header
 martinec.co.uk: could not connect to host
 martinestyle.com: could not connect to host
 martineve.com: did not receive HSTS header
-martingansler.de: did not receive HSTS header
+martingansler.de: could not connect to host
 martinkup.cz: did not receive HSTS header
 martinp.no: could not connect to host
 martinrogalla.com: did not receive HSTS header
@@ -18445,40 +20336,44 @@ martynhare.uk: could not connect to host
 maru-life.com: did not receive HSTS header
 marumagic.com: could not connect to host
 marustat.ru: could not connect to host
-marvinkeller.de: did not receive HSTS header
+marvell.cat: could not connect to host
+marvinkeller.de: could not connect to host
 marvnet.cf: could not connect to host
-marvnet.de: did not receive HSTS header
-marvnet.digital: did not receive HSTS header
+marvnet.digital: could not connect to host
+marvnet.email: did not receive HSTS header
 marvnet.ga: could not connect to host
 marvnet.gq: could not connect to host
 marvnet.ml: could not connect to host
 marvnet.tk: could not connect to host
-marvnetdigit.al: did not receive HSTS header
+marvnetdigit.al: could not connect to host
 marvnetdigital.cf: could not connect to host
 marvnetdigital.ga: could not connect to host
 marvnetdigital.gq: could not connect to host
 marvnetdigital.ml: could not connect to host
 marvnetdigital.tk: could not connect to host
 marvnetforum.cf: could not connect to host
+marvnetforum.com: did not receive HSTS header
 marvnetforum.ga: could not connect to host
 marvnetforum.gq: could not connect to host
 marvnetforum.ml: could not connect to host
 marvnetforum.tk: could not connect to host
 marxist.party: could not connect to host
 marxmyths.org: could not connect to host
+maryeileen90.party: could not connect to host
 marykshoup.com: could not connect to host
 masa-hou.com: did not receive HSTS header
 masa-yoga.com: did not receive HSTS header
 masa.li: did not receive HSTS header
-masatotaniguchi.jp: did not receive HSTS header
+masatotaniguchi.jp: could not connect to host
+masautonomo.com: did not receive HSTS header
 masayahost.com: did not receive HSTS header
 mascorazon.com: could not connect to host
-mascotarios.org: did not receive HSTS header
+masdillah.com: did not receive HSTS header
 masha.one: did not receive HSTS header
 mashairi.co.ke: could not connect to host
 mashek.net: could not connect to host
 mashnew.com: could not connect to host
-masjidtawheed.net: could not connect to host
+masjidtawheed.net: did not receive HSTS header
 maskice.hr: did not receive HSTS header
 maskt.pw: could not connect to host
 massage-well.ch: could not connect to host
@@ -18486,10 +20381,11 @@ massagelimaperu.com: did not receive HSTS header
 massagetherapyschoolsinformation.com: did not receive HSTS header
 massar.family: could not connect to host
 massdrop.com: did not receive HSTS header
-massive.tk: could not connect to host
+massive.tk: did not receive HSTS header
 massivum.de: did not receive HSTS header
 massoni.pl: did not receive HSTS header
 massot.eu: did not receive HSTS header
+masstercurssos.com: could not connect to host
 massvow.com: could not connect to host
 mastafu.info: did not receive HSTS header
 mastah.fr: could not connect to host
@@ -18502,8 +20398,10 @@ masterhaus.bg: did not receive HSTS header
 masterhelenaroma.com: did not receive HSTS header
 masteringtheterminal.com: did not receive HSTS header
 mastermindbusinesspro.com: did not receive HSTS header
+mastermindcesar.com: could not connect to host
 masternautconnect.com: did not receive HSTS header
 mastersquirrel.xyz: could not connect to host
+masterwayhealth.com: could not connect to host
 mastichor.info: could not connect to host
 mastiffingles.com.br: could not connect to host
 mastimtibetano.com: could not connect to host
@@ -18514,10 +20412,10 @@ mastodon.co.nz: could not connect to host
 mastodon.direct: could not connect to host
 mastodon.engineering: could not connect to host
 mastodon.expert: could not connect to host
-mastodon.fun: could not connect to host
+mastodon.fun: did not receive HSTS header
 mastodon.my: could not connect to host
 mastodon.org.uk: did not receive HSTS header
-mastodon.pl: could not connect to host
+mastodon.pl: did not receive HSTS header
 mastodon.rocks: could not connect to host
 mastodones.club: did not receive HSTS header
 masty.nl: could not connect to host
@@ -18528,18 +20426,20 @@ matcha-iga.jp: could not connect to host
 matchneedle.com: did not receive HSTS header
 matchpointusa.com: did not receive HSTS header
 matdogs.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+mateiko.by: could not connect to host
+matejstrnad.cz: could not connect to host
 maternum.com: could not connect to host
 mateusmeyer.com.br: could not connect to host
 mateuszchyla.pl: could not connect to host
 mateuszpilszek.pl: could not connect to host
-matex-tokyo.co.jp: did not receive HSTS header
 mathalexservice.info: could not connect to host
-mathe.digital: did not receive HSTS header
 mathe.top: could not connect to host
 mathematris.com: could not connect to host
 mathembedded.com: did not receive HSTS header
 matheusmacedo.ddns.net: could not connect to host
+mathias-frank.com: could not connect to host
 mathijskingma.nl: could not connect to host
+mathismoda.com: did not receive HSTS header
 mathsource.ga: could not connect to host
 mathsweek.nz: did not receive HSTS header
 mathsweek.org.nz: did not receive HSTS header
@@ -18549,13 +20449,14 @@ matillat.ovh: did not receive HSTS header
 matlabjo.ir: could not connect to host
 matmessages.com: did not receive HSTS header
 matomeplus.co: could not connect to host
+matratzentester.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 matrict.com: could not connect to host
 matrimoni.uk: could not connect to host
 matrip.de: could not connect to host
 matriterie-sdv.ro: could not connect to host
 matrix.ac: did not receive HSTS header
 matrixcheats.net: could not connect to host
-matsu-walk.com: did not receive HSTS header
+matsu-walk.com: could not connect to host
 matsuz.com: could not connect to host
 matt.gd: could not connect to host
 matt.tf: did not receive HSTS header
@@ -18569,24 +20470,32 @@ matthecat.com: could not connect to host
 matthew-carson.info: could not connect to host
 matthewchapman.co.uk: did not receive HSTS header
 matthewemes.com: did not receive HSTS header
-matthewprenger.com: could not connect to host
+matthewljiang.com: did not receive HSTS header
 matthewtester.com: did not receive HSTS header
+matthias-wimmer.de: could not connect to host
 matthiasadler.info: did not receive HSTS header
 matthiassteen.be: could not connect to host
 matthiasweiler.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 matthijssen.info: could not connect to host
+matthijsvos.com: did not receive HSTS header
+matthijsvos.org: did not receive HSTS header
 mattia98.org: did not receive HSTS header
 mattisam.com: did not receive HSTS header
+mattknight.io: could not connect to host
 mattressinsider.com: max-age too low: 3153600
-mattwb65.com: did not receive HSTS header
+mattrude.com: max-age too low: 2592000
+mattwb65.com: could not connect to host
 matty.digital: did not receive HSTS header
+matway.com: did not receive HSTS header
+matway.net: could not connect to host
 matze.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 maultrom.ml: could not connect to host
 maupiknik.com: could not connect to host
 maur.cz: did not receive HSTS header
+maurice-walker.com: could not connect to host
 mauricioquadradofotografia.com.br: did not receive HSTS header
 maurus-automation.de: did not receive HSTS header
-mausi.co: did not receive HSTS header
+mausi.co: could not connect to host
 mavisang.cf: could not connect to host
 mavobiz.at: did not receive HSTS header
 mavobiz.de: did not receive HSTS header
@@ -18599,39 +20508,65 @@ mavotax.de: did not receive HSTS header
 mawe.red: could not connect to host
 mawidabp.com: did not receive HSTS header
 mawidaca.com: did not receive HSTS header
-mawulihotel.com: did not receive HSTS header
+mawulihotel.com: could not connect to host
+max-apk.com: could not connect to host
 max-mad.com: could not connect to host
+max-phone.com: could not connect to host
 max00365.com: could not connect to host
+max11365.com: did not receive HSTS header
+max1365.com: did not receive HSTS header
+max22365.com: did not receive HSTS header
+max2365.com: did not receive HSTS header
+max33365.com: did not receive HSTS header
+max3365.com: did not receive HSTS header
+max4365.com: did not receive HSTS header
+max44365.com: did not receive HSTS header
+max5365.com: did not receive HSTS header
+max55365.com: did not receive HSTS header
+max6365.com: did not receive HSTS header
+max66365.com: did not receive HSTS header
+max7365.com: did not receive HSTS header
+max77365.com: did not receive HSTS header
+max8365.com: did not receive HSTS header
+max88365.com: did not receive HSTS header
+max9365.com: did not receive HSTS header
 maxbachmann.de: did not receive HSTS header
 maxdev72.freeboxos.fr: could not connect to host
+maxdg.be: did not receive HSTS header
 maxfox.me: could not connect to host
 maxhamon.ovh: could not connect to host
-maxhoechtl.at: could not connect to host
 maxhorvath.com: could not connect to host
+maxi-corp.com: could not connect to host
 maxibanki.ovh: could not connect to host
-maxicore.co.za: did not receive HSTS header
+maxicore.co.za: could not connect to host
 maxima.at: did not receive HSTS header
+maximdeboiserie.be: could not connect to host
 maximelouet.me: did not receive HSTS header
 maxkeller.io: did not receive HSTS header
 maxmachine.ind.br: could not connect to host
+maxmoda.eu: could not connect to host
 maxmusical.ml: could not connect to host
 maxserver.com: did not receive HSTS header
 maxuniverse.de: did not receive HSTS header
 maxwellflynn.com: did not receive HSTS header
 maya-ro.com: could not connect to host
 maya.mg: could not connect to host
+maybeonline.de: could not connect to host
 maybeul.com: could not connect to host
+maydex.info: could not connect to host
 mayerbrownllz.com: could not connect to host
 maylamtoiden.asia: did not receive HSTS header
 maynardnetworks.com: could not connect to host
 mayoimobiliare.ro: could not connect to host
 mayoristassexshop.com: could not connect to host
+mazda626.net: could not connect to host
 mazepa.ml: could not connect to host
 mazternet.ru: could not connect to host
 mazurlabs.tk: could not connect to host
 mazyun.com: could not connect to host
 mazz-tech.com: could not connect to host
 mb-is.info: did not receive HSTS header
+mbadika.org: did not receive HSTS header
 mbconsultancy.nu: could not connect to host
 mbdrogenbos-usedcars.be: could not connect to host
 mbilker.us: did not receive HSTS header
@@ -18644,7 +20579,6 @@ mbwemmel-usedcars.be: could not connect to host
 mbwis.net: could not connect to host
 mc-ruempel-firmen-und-haushaltsaufloesungen.de: did not receive HSTS header
 mc-venture.net: could not connect to host
-mc007.xyz: could not connect to host
 mc4free.cc: could not connect to host
 mc81.com: did not receive HSTS header
 mca2017.org: did not receive HSTS header
@@ -18657,22 +20591,25 @@ mccordworks.com: did not receive HSTS header
 mccurtainems.gov: could not connect to host
 mcdanieldevelopmentservices.com: could not connect to host
 mcdermottautomotive.com: could not connect to host
+mcdona1d.me: could not connect to host
 mcdonalds.design: did not receive HSTS header
 mcdonalds.ru: did not receive HSTS header
 mcdsg.net: could not connect to host
 mcfipvt.com: could not connect to host
 mcga.media: could not connect to host
 mcgavocknissanwichitaparts.com: could not connect to host
-mchan.us: did not receive HSTS header
 mchopkins.net: could not connect to host
-mchuiji.com: could not connect to host
+mchuiji.com: did not receive HSTS header
 mcideas.tk: could not connect to host
+mcinterface.de: did not receive HSTS header
 mcit.gov.ws: did not receive HSTS header
 mcjackk77.com: did not receive HSTS header
 mcjackk77.me: could not connect to host
+mckay-bednar.net: could not connect to host
 mckenry.net: did not receive HSTS header
 mckinley1.com: could not connect to host
 mckinleytk.com: could not connect to host
+mclawyers.com.au: could not connect to host
 mclist.it: could not connect to host
 mclyr.com: could not connect to host
 mcnoobs.pro: could not connect to host
@@ -18690,12 +20627,16 @@ mctherealm.net: could not connect to host
 mcuong.tk: could not connect to host
 mczo.net: did not receive HSTS header
 md-student.com: did not receive HSTS header
+md21lc8.com: could not connect to host
 mdazo.net: could not connect to host
 mdbouncycastlehirelondon.co.uk: could not connect to host
+mdclass.id: did not receive HSTS header
 mdcloudpracticesolutions.com: could not connect to host
-mdcloudps.com: did not receive HSTS header
+mdconnect.asia: could not connect to host
+mdek.at: could not connect to host
 mdfnet.se: did not receive HSTS header
 mdg-online.de: did not receive HSTS header
+mdi-wolfsburg.de: did not receive HSTS header
 mdoering.de: did not receive HSTS header
 mds-paris.com: max-age too low: 2592000
 mdscomp.net: could not connect to host
@@ -18703,18 +20644,18 @@ mdwftw.com: could not connect to host
 me-center.com: could not connect to host
 me-dc.com: could not connect to host
 me-groups.com: could not connect to host
-meadowfen.farm: could not connect to host
-meadowfenfarm.com: could not connect to host
 meadowviewfarms.org: could not connect to host
+mealcast.ml: could not connect to host
 mealgoo.com: did not receive HSTS header
-mealinsider.com: did not receive HSTS header
 meanevo.com: could not connect to host
+meangirl.club: could not connect to host
 measuretwice.com: did not receive HSTS header
 meat-education.com: could not connect to host
 meathealth.com: could not connect to host
-mebio.us: did not receive HSTS header
+mebio.us: could not connect to host
 mec111.com: did not receive HSTS header
 mecanicadom.com: did not receive HSTS header
+meccano.srl: could not connect to host
 mecenat-cassous.com: did not receive HSTS header
 med-otzyv.ru: could not connect to host
 medallia.io: could not connect to host
@@ -18727,6 +20668,7 @@ medhy.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_F
 medi-link.co.il: did not receive HSTS header
 media-access.online: did not receive HSTS header
 media-courses.com: could not connect to host
+media-credit.eu: could not connect to host
 media-service.fr: did not receive HSTS header
 media-soft-pro.ru: could not connect to host
 media101.xyz: could not connect to host
@@ -18735,14 +20677,21 @@ mediacru.sh: could not connect to host
 mediadandy.com: did not receive HSTS header
 mediaexpert.fr: did not receive HSTS header
 mediafinancelab.org: could not connect to host
+mediafocus.biz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mediagetnews.tk: could not connect to host
+mediagold.it: could not connect to host
+mediahaus.de: did not receive HSTS header
+medialys.ca: could not connect to host
 mediamag.am: max-age too low: 0
 mediamaklumat.com: did not receive HSTS header
+mediamarkt.pl: did not receive HSTS header
 mediarocks.de: did not receive HSTS header
-mediavamp.co.uk: max-age too low: 0
+mediasst.com: could not connect to host
+mediationculturelleclp.ch: could not connect to host
 mediavault.tech: could not connect to host
 mediawikicn.org: could not connect to host
-medicinasaludvida.com: did not receive HSTS header
+medic-world.com: could not connect to host
+medicinasaludvida.com: could not connect to host
 medicinesfast.com: could not connect to host
 medicinskavranje.edu.rs: could not connect to host
 medienservice-fritz.de: did not receive HSTS header
@@ -18750,6 +20699,7 @@ medifab.online: did not receive HSTS header
 medifi.com: did not receive HSTS header
 medinacountyohio.gov: could not connect to host
 medirich.co: could not connect to host
+medisense.tk: could not connect to host
 meditek-dv.ru: could not connect to host
 mediter-simplement.com: did not receive HSTS header
 mediterenopmaandag.nl: did not receive HSTS header
@@ -18760,9 +20710,11 @@ medlabmediagroup.com: did not receive HSTS header
 medm-test.com: could not connect to host
 medpost.com: did not receive HSTS header
 medpot.net: did not receive HSTS header
+medrep.pp.ua: could not connect to host
 medsindex.com: did not receive HSTS header
 medstreaming.com: did not receive HSTS header
 medtankers.management: did not receive HSTS header
+medundmed.at: did not receive HSTS header
 medvezhii-ozera.ru: did not receive HSTS header
 medy-me.com: could not connect to host
 meeco.kr: did not receive HSTS header
@@ -18770,7 +20722,10 @@ meedoennoordkop.nl: could not connect to host
 meedoenzaanstad.nl: did not receive HSTS header
 meehle.com: did not receive HSTS header
 meeko.cc: could not connect to host
+meekru.com: did not receive HSTS header
+meeplegamers.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 meereskunst.de: could not connect to host
+meesteresmisty.nl: could not connect to host
 meet: could not connect to host
 meetfinch.com: could not connect to host
 meetingfriends.ch: did not receive HSTS header
@@ -18783,24 +20738,25 @@ mega.nz: could not connect to host
 mega1.me: did not receive HSTS header
 megablogging.org: could not connect to host
 megadrol.com: could not connect to host
-megaflix.nl: could not connect to host
 megakiste.de: could not connect to host
 megalithe.co: did not receive HSTS header
 megam.host: could not connect to host
 megamarkey.de: did not receive HSTS header
-megapixelweb.com: did not receive HSTS header
-megapixelweb.fr: did not receive HSTS header
+megapixelweb.com: could not connect to host
+megapixelweb.fr: could not connect to host
+megaplan.ru: did not receive HSTS header
 megaplonk.com: could not connect to host
 megashur.se: could not connect to host
 megasslstore.com: did not receive HSTS header
-megasystem.cl: could not connect to host
+megasupportcr.com: did not receive HSTS header
+megasystem.cl: did not receive HSTS header
 megaxhost.com.br: could not connect to host
+meggidesign.com: could not connect to host
 megh.biz: did not receive HSTS header
 megh.tv: could not connect to host
 meghudson.com: could not connect to host
 megustariasaber.com: did not receive HSTS header
 mehmetdursun.av.tr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-meia.ir: could not connect to host
 meidens.com: did not receive HSTS header
 meifrench.com: did not receive HSTS header
 meikan.moe: could not connect to host
@@ -18815,26 +20771,33 @@ meinebo.it: could not connect to host
 meinstartinsleben.com: could not connect to host
 meinstartinsleben.de: could not connect to host
 meiqia.cn: did not receive HSTS header
+meizitang.es: could not connect to host
 meizufans.eu: could not connect to host
 mekatro.tech: could not connect to host
+mekesh.ru: could not connect to host
 mekongeye.com: did not receive HSTS header
 mekongmontessori.com: could not connect to host
 melakaltenegger.at: did not receive HSTS header
-melanfengshui.com: could not connect to host
+melanfengshui.com: did not receive HSTS header
 melangebrasil.com: could not connect to host
-melaniebernhardt.com: could not connect to host
-melaniebilodeau.com: did not receive HSTS header
+melaniebernhardt.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+melaniegruber.de: could not connect to host
 melbourneapartments.website: could not connect to host
 melbyjuliapak.com: could not connect to host
+mele.ro: could not connect to host
 melefo.ddns.net: could not connect to host
 melenchatsmelenchiens.fr: could not connect to host
+melento.com: did not receive HSTS header
 melerpaine.com: could not connect to host
 melf.nl: could not connect to host
 melhoresdominios.net: could not connect to host
 melhorproduto.com.br: could not connect to host
+melikoff.es: could not connect to host
 melissaauclaire.com: could not connect to host
+melissagalt.com: could not connect to host
 melissaofficial.tk: could not connect to host
 melitopol.co.ua: did not receive HSTS header
+mellika.ch: could not connect to host
 mellitus.org: could not connect to host
 melodic.com.au: could not connect to host
 melodicprogressivehouse.com: did not receive HSTS header
@@ -18847,13 +20810,14 @@ melvinlammerts.nl: could not connect to host
 melvinlow.com: could not connect to host
 memberpress.com: did not receive HSTS header
 members.mayfirst.org: did not receive HSTS header
+membershipnetworksite.com: did not receive HSTS header
 memberstweets.com: could not connect to host
 memdoc.org: could not connect to host
 memeblast.ninja: could not connect to host
 memepasmal.net: did not receive HSTS header
 memepasmal.org: could not connect to host
 memetrash.co.uk: could not connect to host
-memind.net: could not connect to host
+memmertusa.com: did not receive HSTS header
 memory-plus-180.com: could not connect to host
 memorycards.ie: could not connect to host
 memorygame.io: did not receive HSTS header
@@ -18869,11 +20833,13 @@ menkyo-blog.com: did not receive HSTS header
 menntagatt.is: did not receive HSTS header
 menomineemi.gov: did not receive HSTS header
 mensagensperfeitas.com.br: could not connect to host
+menshealthinsurance.com: did not receive HSTS header
 mensmaximus.de: did not receive HSTS header
 mentalhealth.gov: did not receive HSTS header
 mentax.net: did not receive HSTS header
 mentesemprendedoras.net: could not connect to host
 menthix.net: could not connect to host
+mentorbuk.com: did not receive HSTS header
 mentorithm.com: could not connect to host
 mentz.info: did not receive HSTS header
 menu.fyi: could not connect to host
@@ -18881,10 +20847,12 @@ menudieta.com: did not receive HSTS header
 menudrivetest.com: could not connect to host
 menuel.me: could not connect to host
 menuiserie-berard.com: did not receive HSTS header
-menzaijia.com: did not receive HSTS header
+menuonlineordering.com: could not connect to host
+menzaijia.com: could not connect to host
 menzel-motors.com: did not receive HSTS header
 meow.cloud: could not connect to host
 meozcraft.com: could not connect to host
+mephim24h.net: did not receive HSTS header
 mer.gd: could not connect to host
 mercadeolocal.com.ar: did not receive HSTS header
 mercadobitcoin.com.br: did not receive HSTS header
@@ -18894,34 +20862,46 @@ merccorp.de: max-age too low: 0
 mercedes-benz-usedcars.be: could not connect to host
 mercedes-benz.io: did not receive HSTS header
 mercercountyohio.gov: could not connect to host
+mercerisland.gov: could not connect to host
+mercier-auto.com: did not receive HSTS header
+mercier-cars.co.uk: did not receive HSTS header
 mercury-studio.com: did not receive HSTS header
 mereckas.com: could not connect to host
 meredithkm.info: did not receive HSTS header
 meremobil.dk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mergozzo.com: did not receive HSTS header
-meridianfresno.com: could not connect to host
+meridianfresno.com: did not receive HSTS header
 meridianstore.com.br: could not connect to host
 merimatka.fi: could not connect to host
+merite.cloud: could not connect to host
 meritz.rocks: could not connect to host
+merloaded.rocks: could not connect to host
 merloat.club: could not connect to host
 mers.one: could not connect to host
 mersinunivercity.com: could not connect to host
 merson.me: could not connect to host
+merzai.co.uk: could not connect to host
+mes-finances.be: did not receive HSTS header
 mes10doigts.ovh: could not connect to host
 mesabi.ga: could not connect to host
+mesami-art.de: could not connect to host
 meshlab.co: did not receive HSTS header
 meshotes.com: max-age too low: 8640000
 meskdeals.com: could not connect to host
 mesmoque.com: did not receive HSTS header
+mesomeds.com: could not connect to host
 messagescelestes.ca: did not receive HSTS header
 mestr.es: did not receive HSTS header
 mesvt.com: could not connect to host
 meta.sc: did not receive HSTS header
 metadatawiki.com: did not receive HSTS header
 metadistribution.com: did not receive HSTS header
+metaether.net: could not connect to host
 metagrader.com: could not connect to host
+metallibrarian.com: could not connect to host
+metallschutz-direkt.de: did not receive HSTS header
 metanic.org: did not receive HSTS header
-metanic.services: could not connect to host
+metasysteminfo.com: could not connect to host
 metavetted.com: could not connect to host
 meteo-parc.com: could not connect to host
 meteo-r.ovh: could not connect to host
@@ -18935,9 +20915,13 @@ metrans-spedition.de: could not connect to host
 metricaid.com: did not receive HSTS header
 metrix-money-ptc.com: could not connect to host
 metrix.design: could not connect to host
-metrocarremovals.com: could not connect to host
+metrolush.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+metron-eging.com: could not connect to host
+metron-networks.com: could not connect to host
+metronews.co.nz: did not receive HSTS header
 metroplex.me: did not receive HSTS header
 metropolisil.gov: did not receive HSTS header
+metz-metropolitain.fr: did not receive HSTS header
 metzgerei-birkenhof.de: did not receive HSTS header
 meu-smartphone.com: did not receive HSTS header
 meu-solutions.com: did not receive HSTS header
@@ -18950,32 +20934,36 @@ meuemail.pro: could not connect to host
 meupainel.me: did not receive HSTS header
 meupedido.online: could not connect to host
 meusigno.com: could not connect to host
+mevs.cz: could not connect to host
 mexbt.com: could not connect to host
 mexicanbusinessweb.mx: could not connect to host
 mexicansbook.ru: did not receive HSTS header
 mexicodental.co: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+mexicom.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mexior.nl: could not connect to host
+meyash.co: max-age too low: 7889238
 meyeraviation.com: could not connect to host
 meyerburger.com: did not receive HSTS header
-meys.io: could not connect to host
 mf302.com: did not receive HSTS header
 mf303.com: did not receive HSTS header
 mfacko.cz: did not receive HSTS header
 mfcatalin.com: could not connect to host
 mfedderke.com: could not connect to host
+mfg2020.com.tw: did not receive HSTS header
 mfgod.com: could not connect to host
 mfgusa.com: could not connect to host
 mfiles.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mfpccprod.com: could not connect to host
 mfrsgb45.org: did not receive HSTS header
+mfsquad.com: could not connect to host
 mft.global: could not connect to host
 mfxer.com: could not connect to host
 mfxxx.cn: could not connect to host
 mfz.mk: did not receive HSTS header
-mgae.com: did not receive HSTS header
 mgdigital.fr: did not receive HSTS header
 mgiay.com: did not receive HSTS header
 mgknet.com: did not receive HSTS header
+mglink.be: did not receive HSTS header
 mgmd.org: could not connect to host
 mgoessel.de: did not receive HSTS header
 mh-bloemen.co.jp: could not connect to host
@@ -18988,28 +20976,32 @@ mhmfoundationrepair.com: could not connect to host
 mht-travel.com: could not connect to host
 mhx.pw: could not connect to host
 mia.ac: could not connect to host
-miamaibaum.com: did not receive HSTS header
+miah.top: could not connect to host
+miamaibaum.com: could not connect to host
 miamicityballet.org: did not receive HSTS header
+miamiobgyndreams.com: could not connect to host
+mianbao.ga: could not connect to host
 mianfei-vpn.com: could not connect to host
 miaololi.com: could not connect to host
-miaomiaomiao.live: could not connect to host
+miaomiaomiao.live: did not receive HSTS header
 miaonagemi.com: could not connect to host
 miaoubox.com: did not receive HSTS header
-miasarafina.de: could not connect to host
 miboulot.com: could not connect to host
 micado-software.com: could not connect to host
 micaiahparker.com: could not connect to host
+micamisetaestampada.com: could not connect to host
 micasamgmt.com: did not receive HSTS header
 micelius.com: could not connect to host
+michael-contento.de: could not connect to host
 michael-schilling.de: did not receive HSTS header
 michael.band: could not connect to host
 michaelband.co: could not connect to host
+michaelcontento.de: could not connect to host
 michaeldemuth.com: did not receive HSTS header
 michaeleichorn.com: could not connect to host
 michaelfitzpatrickruth.com: could not connect to host
-michaelklos.nl: could not connect to host
 michaelmorpurgo.com: did not receive HSTS header
-michaeln.net: could not connect to host
+michaeln.net: did not receive HSTS header
 michaels-homepage-service.de: could not connect to host
 michaelschule-rheine.de: did not receive HSTS header
 michaelscrivo.com: did not receive HSTS header
@@ -19021,9 +21013,9 @@ michaelwaite.org: could not connect to host
 michal-kral.cz: could not connect to host
 michalborka.cz: could not connect to host
 michalinastrzyz.xyz: could not connect to host
-michalklabnik.cz: could not connect to host
 michalkral.tk: could not connect to host
 michalp.pl: could not connect to host
+michalpodraza.pl: could not connect to host
 michalvasicek.cz: could not connect to host
 michasfahrschule.com: could not connect to host
 michel.pt: did not receive HSTS header
@@ -19035,6 +21027,7 @@ micr.io: did not receive HSTS header
 micro-dv.ru: could not connect to host
 micro-rain-systems.com: did not receive HSTS header
 microblading.pe: could not connect to host
+microcyber.net: could not connect to host
 microdesic.com: could not connect to host
 microfonejts.com.br: could not connect to host
 microlinks.org: did not receive HSTS header
@@ -19046,23 +21039,28 @@ micropple.net: could not connect to host
 microtalk.org: could not connect to host
 middletowndelcopa.gov: did not receive HSTS header
 midi-ctes.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-midirs.org: did not receive HSTS header
+midirs.org: could not connect to host
 midislandrealty.com: did not receive HSTS header
+midlandleisuresales.co.uk: did not receive HSTS header
+midlandroofingri.com: did not receive HSTS header
 mido.ga: could not connect to host
 midonet.org: did not receive HSTS header
 midress.club: could not connect to host
 midriversmotorsllc.com: did not receive HSTS header
 midt.io: did not receive HSTS header
+midtowndentistry.com: did not receive HSTS header
 midwestplus.com: did not receive HSTS header
 midweststructuralrepair.com: could not connect to host
 midwestwomenworkers.org: could not connect to host
 midyatsaklibahce.com: did not receive HSTS header
+miegames.com: did not receive HSTS header
 miele-katerini.gr: did not receive HSTS header
 miembarcacion.com: could not connect to host
 miemie.jp: could not connect to host
 mieterschutzkartei.de: could not connect to host
 mieuxvivreadarvoy.fr: could not connect to host
 mifibra.cl: did not receive HSTS header
+miftahulteknik.com: could not connect to host
 migeeks.de: did not receive HSTS header
 mightydicks.io: could not connect to host
 mightydicks.tech: could not connect to host
@@ -19076,40 +21074,45 @@ mihgroup.eu.org: could not connect to host
 mihijoesdislexico.es: did not receive HSTS header
 mijn-email.org: could not connect to host
 mijndiad.nl: did not receive HSTS header
-mijngeldcoach.nl: could not connect to host
 mijngiftshop.nl: did not receive HSTS header
 mijnkredietpaspoort.nl: could not connect to host
 mijnsite.ovh: could not connect to host
 mika.cat: could not connect to host
 mikadesign.se: did not receive HSTS header
 mikaelemilsson.net: could not connect to host
+mikdoss.co: could not connect to host
 mike-estela.com: did not receive HSTS header
 mikeblog.site: could not connect to host
 mikeburns.com: did not receive HSTS header
 mikedugan.org: did not receive HSTS header
 mikeg.de: did not receive HSTS header
+mikegao.net: did not receive HSTS header
+mikegao.org: did not receive HSTS header
 mikegarnett.co.uk: did not receive HSTS header
 mikehilldesign.co.uk: did not receive HSTS header
 mikek.work: did not receive HSTS header
 mikeology.org: could not connect to host
+mikeowens.us: could not connect to host
 mikepair.net: could not connect to host
 mikes.tk: did not receive HSTS header
 mikewest.org: did not receive HSTS header
 mikewritesstuff.com: could not connect to host
 mikeybailey.org: did not receive HSTS header
-mikeybot.com: could not connect to host
 mikhirev.ru: could not connect to host
+mikhlevich.ru: could not connect to host
 miki-boras.de: did not receive HSTS header
 mikii.club: could not connect to host
 mikk.cz: could not connect to host
+mikkelvej.dk: could not connect to host
 mikonmaa.fi: could not connect to host
 mikori.sk: did not receive HSTS header
 mikro-inwestycje.co.uk: could not connect to host
 mikroskeem.eu: did not receive HSTS header
 miku.be: could not connect to host
 miku.cloud: could not connect to host
-miku.hatsune.my: could not connect to host
+miku.hatsune.my: did not receive HSTS header
 miku.party: could not connect to host
+miku.ro: could not connect to host
 mikumaycry.com: could not connect to host
 mikumiku.stream: could not connect to host
 mikupic.com: could not connect to host
@@ -19117,10 +21120,10 @@ mikusa.xyz: could not connect to host
 mikusinec.com: could not connect to host
 mil0.com: could not connect to host
 milang.xyz: could not connect to host
-milanpala.cz: could not connect to host
 milatrans.pl: did not receive HSTS header
 milchbuchstabe.de: could not connect to host
 milcoresonline.com: could not connect to host
+milesdewitt.com: could not connect to host
 milesgeek.com: did not receive HSTS header
 milionshop.sk: did not receive HSTS header
 military-portal.cz: did not receive HSTS header
@@ -19132,6 +21135,7 @@ millibitcoin.jp: could not connect to host
 million5.com: could not connect to host
 million6.com: could not connect to host
 million8.com: could not connect to host
+millionairegames.com: could not connect to host
 millionairessecrets.com: could not connect to host
 millions1.com: could not connect to host
 millions11.com: could not connect to host
@@ -19156,10 +21160,10 @@ millions36.com: could not connect to host
 millions37.com: could not connect to host
 millions38.com: could not connect to host
 millions39.com: could not connect to host
-millions40.com: did not receive HSTS header
+millions40.com: could not connect to host
 millions41.com: did not receive HSTS header
 millions42.com: did not receive HSTS header
-millions43.com: did not receive HSTS header
+millions43.com: could not connect to host
 millions5.com: could not connect to host
 millions50.com: did not receive HSTS header
 millions51.com: did not receive HSTS header
@@ -19194,13 +21198,12 @@ milsonhypnotherapyservices.com: did not receive HSTS header
 mim.properties: could not connect to host
 mimbeim.com: did not receive HSTS header
 mimm.gov: did not receive HSTS header
-mimobile.website: could not connect to host
+mimobile.website: did not receive HSTS header
 mimoderoupa.pt: could not connect to host
 mimusic.cf: could not connect to host
 min.kiwi: could not connect to host
 minacssas.com: could not connect to host
 minakova.pro: could not connect to host
-minantavla.se: could not connect to host
 mind-moves.es: could not connect to host
 mind.sh: did not receive HSTS header
 mindbodycontinuum.com: could not connect to host
@@ -19214,7 +21217,7 @@ mindsetatx.com: did not receive HSTS header
 mindseyesolutions.com: did not receive HSTS header
 mindvalley.com: did not receive HSTS header
 mindwork.space: could not connect to host
-mine.world: did not receive HSTS header
+mine.world: could not connect to host
 minecraft-forum.cf: could not connect to host
 minecraft-forum.ga: could not connect to host
 minecraft-forum.gq: could not connect to host
@@ -19229,23 +21232,22 @@ minecraftforums.gq: could not connect to host
 minecraftforums.ml: could not connect to host
 minecraftserverz.com: could not connect to host
 minecraftvoter.com: could not connect to host
-minei.me: could not connect to host
 minenash.com: did not receive HSTS header
 mineover.es: could not connect to host
 minepod.fr: did not receive HSTS header
 minetude.com: could not connect to host
-minfin.gov.ua: could not connect to host
 mingy.ddns.net: could not connect to host
-mingyueli.com: did not receive HSTS header
+mingyueli.com: could not connect to host
 minhanossasenhora.com.br: could not connect to host
 miniglueck.net: did not receive HSTS header
 minikneet.nl: did not receive HSTS header
 minimaliston.com: could not connect to host
+minimonies.tk: could not connect to host
 minimoo.se: could not connect to host
 minipainting.net: did not receive HSTS header
-miniskipper.at: did not receive HSTS header
 minivaro.de: could not connect to host
 minivehicle.tk: could not connect to host
+miniverse.social: could not connect to host
 miniwallaby.com: could not connect to host
 minkondom.nu: could not connect to host
 minload.com: could not connect to host
@@ -19254,9 +21256,9 @@ minnesotamathcorps.org: did not receive HSTS header
 minobar.com: could not connect to host
 minora.io: could not connect to host
 minoris.se: did not receive HSTS header
-minoritywhip.gov: did not receive HSTS header
 mintea-noua.ro: could not connect to host
 mintosherbs.com: could not connect to host
+mintplayer.com: did not receive HSTS header
 mipiaci.co.nz: did not receive HSTS header
 mipiaci.com.au: did not receive HSTS header
 mipla.ch: did not receive HSTS header
@@ -19264,11 +21266,13 @@ mipueblohoy.com: could not connect to host
 mipymesenlinea.com: could not connect to host
 miragrow.com: did not receive HSTS header
 mirazonline.tk: could not connect to host
+mirazperu.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mirazperu.tk: could not connect to host
 mireillewendling.com.br: could not connect to host
 mirete.info: did not receive HSTS header
 mirgleich.dnshome.de: could not connect to host
 mirindadomo.ru: did not receive HSTS header
+miroctum.com: did not receive HSTS header
 mirodasilva.be: did not receive HSTS header
 mironized.com: did not receive HSTS header
 mirrorbot.ga: could not connect to host
@@ -19276,7 +21280,7 @@ mirrorsedgearchive.ga: could not connect to host
 mirrorx.com: could not connect to host
 miruc.co: did not receive HSTS header
 mirucon.com: did not receive HSTS header
-misakacloud.net: could not connect to host
+misakastudio.com: could not connect to host
 misconfigured.io: could not connect to host
 miscreant.me: could not connect to host
 misericordiasegrate.org: could not connect to host
@@ -19285,7 +21289,7 @@ misini.fr: could not connect to host
 misiondelosangeles-mailing.com: could not connect to host
 misiru.jp: could not connect to host
 mismart.vn: did not receive HSTS header
-misol.kr: did not receive HSTS header
+mispromo.com: could not connect to host
 missevent.pl: could not connect to host
 missfuli.com: could not connect to host
 missjoias.com.br: could not connect to host
@@ -19293,18 +21297,22 @@ misskey.site: could not connect to host
 misskey.xyz: could not connect to host
 missoy.me: could not connect to host
 missrain.tw: could not connect to host
+misssex.de: could not connect to host
+misstika-bijoux.com: could not connect to host
 missycosmeticos.com.br: could not connect to host
 mist.ink: could not connect to host
 mister-cooks.fr: could not connect to host
 mister.hosting: did not receive HSTS header
 mistine.com.cn: could not connect to host
+mistine.net: could not connect to host
 mistinecn.com: did not receive HSTS header
 misura.re: could not connect to host
-misxvenelantro.com: could not connect to host
+misxvenelantro.com: did not receive HSTS header
+mita.me: could not connect to host
 mitabu.net: did not receive HSTS header
-mitaines.ch: could not connect to host
 mitarbeiter-pc.de: did not receive HSTS header
 mitchellrenouf.ca: could not connect to host
+mitevi.com: could not connect to host
 mitiad.gq: could not connect to host
 mitigationcommission.gov: could not connect to host
 mitior.net: could not connect to host
@@ -19314,33 +21322,43 @@ mittagonghomestead.com.au: could not connect to host
 mittelunsachlich.de: could not connect to host
 mittenhacks.com: could not connect to host
 mittenofficesystems.com: could not connect to host
+mitya.cz: could not connect to host
 mityinc.com: did not receive HSTS header
+mitylite.com: did not receive HSTS header
 miukimodafeminina.com: could not connect to host
 mivcon.net: could not connect to host
-mivestuariolaboral.com: did not receive HSTS header
+mivestuariolaboral.com: max-age too low: 4838400
 mivzaklive.co.il: did not receive HSTS header
 mixer.cash: could not connect to host
 mixnshake.com: did not receive HSTS header
 mixrepairs.co.uk: did not receive HSTS header
-mixtape.moe: did not receive HSTS header
+mixtape.moe: could not connect to host
 miya.io: could not connect to host
 miyako-kyoto.jp: could not connect to host
+miyasyou.com: did not receive HSTS header
 miyoshi-kikaku.co.jp: could not connect to host
+mizar.im: could not connect to host
 mizd.at: could not connect to host
 mizi.name: could not connect to host
 mizipack.com: did not receive HSTS header
+mizuho-trade.net: did not receive HSTS header
 mizumax.me: could not connect to host
 mjhsc.nl: did not receive HSTS header
 mjlaurindo.pt: could not connect to host
-mjmnagy.info: did not receive HSTS header
+mjmnagy.info: could not connect to host
 mk-dizajn.com: could not connect to host
 mkacg.com: could not connect to host
 mkakh.com: did not receive HSTS header
 mkakh.xyz: could not connect to host
+mkd.mk: did not receive HSTS header
+mkfilm.ma: did not receive HSTS header
 mkfs.be: could not connect to host
 mkfs.fr: could not connect to host
-mkg-palais-hanau.de: did not receive HSTS header
+mkgraves.com: did not receive HSTS header
+mkie.cf: could not connect to host
 mkkkrc.ru: could not connect to host
+mklenterprisesacademy.com: could not connect to host
+mklenterprisescoaching.com: could not connect to host
 mklpedia.de: could not connect to host
 mkp-deutschland.de: did not receive HSTS header
 mkplay.io: could not connect to host
@@ -19352,32 +21370,37 @@ mlcdn.co: did not receive HSTS header
 mlemay.com: did not receive HSTS header
 mlfaw.com: could not connect to host
 mlii.net: could not connect to host
+mllz.com: could not connect to host
 mlm-worldwide.de: did not receive HSTS header
+mlonline.com.mx: could not connect to host
 mlpchan.net: could not connect to host
 mlpepilepsy.org: could not connect to host
 mlpvc-rr.ml: did not receive HSTS header
 mlrslateroofing.com.au: did not receive HSTS header
 mlsrv.de: could not connect to host
-mlwr.ee: did not receive HSTS header
 mlxysf.com: did not receive HSTS header
+mm-wife.com: did not receive HSTS header
 mm4447761.com: max-age too low: 0
 mm5197.co: could not connect to host
 mm6729.co: could not connect to host
 mm6729.com: did not receive HSTS header
 mm6957.co: could not connect to host
 mm9297.co: could not connect to host
-mm9397.com: could not connect to host
-mm9721.com: could not connect to host
+mm9397.com: did not receive HSTS header
+mm9721.com: did not receive HSTS header
 mm9728.co: could not connect to host
 mma-acareporting.com: did not receive HSTS header
 mmaps.ddns.net: could not connect to host
 mmarnitz.de: could not connect to host
+mmcalc.jp: could not connect to host
 mmcc.pe: did not receive HSTS header
 mmgazhomeloans.com: could not connect to host
 mmilog.hu: could not connect to host
 mmmaximaliselmeny.hu: could not connect to host
 mmmm.com: could not connect to host
+mmoneko.com: could not connect to host
 mmpaymentsystem.com: did not receive HSTS header
+mmphub.com: could not connect to host
 mmstick.tk: could not connect to host
 mna7e.com: did not receive HSTS header
 mnconsulting.xyz: did not receive HSTS header
@@ -19389,10 +21412,11 @@ mneerup.dk: did not receive HSTS header
 mnemotiv.com: could not connect to host
 mnetworkingsolutions.co.uk: could not connect to host
 mnitro.com: could not connect to host
+mnium.de: could not connect to host
 mnml.jp: did not receive HSTS header
 mnmt.no: did not receive HSTS header
 mnnknz.de: could not connect to host
-mnszone.com: did not receive HSTS header
+mnszone.com: could not connect to host
 mnt9.de: could not connect to host
 mnwt.nl: could not connect to host
 mo3.club: could not connect to host
@@ -19405,6 +21429,7 @@ mobi4.tk: could not connect to host
 mobidea.com: did not receive HSTS header
 mobilcom-debitel.de: did not receive HSTS header
 mobile-gesundheit.org: could not connect to host
+mobile.eti.br: could not connect to host
 mobilebay.top: could not connect to host
 mobilecoach.com: did not receive HSTS header
 mobilekey.co: did not receive HSTS header
@@ -19413,6 +21438,8 @@ mobileritelushi.com: could not connect to host
 mobilesector.de: could not connect to host
 mobilethreat.net: could not connect to host
 mobilethreatnetwork.net: could not connect to host
+mobilidadeurbana.ind.br: did not receive HSTS header
+mobilisation-generale.org: could not connect to host
 mobilityworks.eu: did not receive HSTS header
 mobilpass.no: could not connect to host
 mobimalin.com: did not receive HSTS header
@@ -19426,7 +21453,9 @@ mobmp4.info: could not connect to host
 mobot.sg: did not receive HSTS header
 mobsender.com: did not receive HSTS header
 mobycoders.com: could not connect to host
+mobydog.net: could not connect to host
 mocarps.hk: could not connect to host
+mochilerostailandia.com: could not connect to host
 mochiyuki.net: could not connect to host
 mochoko.com: could not connect to host
 mockmyapp.com: could not connect to host
@@ -19455,17 +21484,17 @@ modemagazines.co.uk: could not connect to host
 moderatorenpool.org: did not receive HSTS header
 moderatortv.de: did not receive HSTS header
 moderncoinmart.com: did not receive HSTS header
-modernibytovytextil.cz: could not connect to host
+modernibytovytextil.cz: did not receive HSTS header
 moderntld.net: could not connect to host
 modistry.com: could not connect to host
 modistryusercontent.com: could not connect to host
-mododo.de: did not receive HSTS header
+mododo.de: could not connect to host
 modosaude.com.br: could not connect to host
 mods-community.de: could not connect to host
-mods-pic.de: did not receive HSTS header
+mods-pic.de: could not connect to host
 modul21.com: did not receive HSTS header
 modul21.eu: could not connect to host
-modx.by: did not receive HSTS header
+moduloseltaladro.com: could not connect to host
 modx.io: could not connect to host
 modydev.club: could not connect to host
 moe.best: did not receive HSTS header
@@ -19473,13 +21502,15 @@ moe.pe: could not connect to host
 moe.wtf: did not receive HSTS header
 moe4sale.in: did not receive HSTS header
 moeali.com: could not connect to host
-moebel-nagel.de: did not receive HSTS header
+moebel-nagel.de: could not connect to host
 moecraft.net: could not connect to host
 moefi.xyz: could not connect to host
 moegirl.org: did not receive HSTS header
+moehrke.cc: could not connect to host
 moeli.org: could not connect to host
 moellers.it: could not connect to host
 moellers.systems: did not receive HSTS header
+moeloli.cc: did not receive HSTS header
 moeloli.pw: could not connect to host
 moelord.org: could not connect to host
 moen.io: did not receive HSTS header
@@ -19490,16 +21521,20 @@ moeqing.net: could not connect to host
 moevenpick-cafe.com: did not receive HSTS header
 moeyoo.net: could not connect to host
 mofohome.dyndns.org: could not connect to host
-mogooin.com: did not receive HSTS header
+mogooin.com: could not connect to host
 mogry.net: did not receive HSTS header
 mohio.co.nz: did not receive HSTS header
 moho.kr: could not connect to host
 mohs.es: could not connect to host
+moin.jp: could not connect to host
 moitur.com: did not receive HSTS header
 mojapraca.sk: could not connect to host
 mojarada.nl: did not receive HSTS header
 mojefilmy.xyz: could not connect to host
-mok.pw: could not connect to host
+mojizuri.jp: could not connect to host
+mojkragujevac.net: could not connect to host
+mojomusic.org: could not connect to host
+mok.pw: did not receive HSTS header
 mokadev.com: did not receive HSTS header
 mokeedev.review: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mokken-fabriek.nl: did not receive HSTS header
@@ -19509,13 +21544,12 @@ mold.world: could not connect to host
 molpek.com: could not connect to host
 mols.me: could not connect to host
 molusk.ml: could not connect to host
-momento.co.id: could not connect to host
+momento.co.id: did not receive HSTS header
 momfulfilled.com: could not connect to host
 momjoyas.com: did not receive HSTS header
 mommel.com: did not receive HSTS header
 mommelonline.de: could not connect to host
 momoka.moe: could not connect to host
-mon-a-lisa.com: did not receive HSTS header
 mon-mobile.com: did not receive HSTS header
 mona-dress.com: did not receive HSTS header
 mona.lu: could not connect to host
@@ -19524,25 +21558,32 @@ monarca.systems: could not connect to host
 monasterialis.eu: could not connect to host
 monautoneuve.fr: did not receive HSTS header
 mondar.io: could not connect to host
-mondedesnovels.com: did not receive HSTS header
+mondedesnovels.com: could not connect to host
 mondopoint.com: did not receive HSTS header
 mondwandler.de: could not connect to host
 monelephantapois.com: could not connect to host
 moneoci.com.br: could not connect to host
 moneromerchant.com: could not connect to host
 moneseglobal.com: could not connect to host
+moneta-rossii.ru: did not receive HSTS header
 moneycrownmedia.com: could not connect to host
 moneyfactory.gov: did not receive HSTS header
+moneyhouse.de: did not receive HSTS header
 moneylance.ru: did not receive HSTS header
 mongla168.net: could not connect to host
 mongla88.net: could not connect to host
-monicabeckstrom.no: did not receive HSTS header
+monicabeckstrom.no: could not connect to host
 monika-sokol.de: did not receive HSTS header
+moninformaticien.ovh: could not connect to host
+moninformaticien.shop: could not connect to host
 monique.io: could not connect to host
+moniquedekermadec.com: could not connect to host
 monitaure.io: could not connect to host
+monitman.com: max-age too low: 0
 monitman.solutions: could not connect to host
 monitorchain.com: did not receive HSTS header
 monitori.ng: could not connect to host
+monitoring.kalisz.pl: could not connect to host
 monitoringd.de: could not connect to host
 monkeyhill.us: could not connect to host
 monobank.no: did not receive HSTS header
@@ -19551,15 +21592,17 @@ monodukuri.cafe: could not connect to host
 monodukuri.com: did not receive HSTS header
 monodzukuri.cafe: could not connect to host
 monokoo.com: max-age too low: 2592000
-mononom.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+mononom.com: could not connect to host
 monospazzole.roma.it: could not connect to host
+monotai.com: did not receive HSTS header
 monothesis.com: could not connect to host
 monotributo.online: did not receive HSTS header
-monotsuku.com: could not connect to host
+monotsuku.com: did not receive HSTS header
 monozukuri.cafe: could not connect to host
 monpetitforfait.com: did not receive HSTS header
 monplay.host: could not connect to host
 monsecretariat.pro: could not connect to host
+mont-thabor.fr: could not connect to host
 montagne-tendance.ch: could not connect to host
 montanacures.org: could not connect to host
 montanana.com: did not receive HSTS header
@@ -19569,6 +21612,7 @@ montenero.pl: did not receive HSTS header
 monteurzimmerfrei.de: could not connect to host
 montgomerysoccer.net: could not connect to host
 montonicms.com: could not connect to host
+montopolis.com: max-age too low: 43200
 moo.pet: did not receive HSTS header
 moobo.co.jp: could not connect to host
 moobo.xyz: could not connect to host
@@ -19577,14 +21621,19 @@ moodifiers.com: did not receive HSTS header
 moodzshop.com: could not connect to host
 moojp.co.jp: could not connect to host
 moonagic.io: could not connect to host
+moonlabs.nl: could not connect to host
 moonless.net: could not connect to host
 moonlightcapital.ml: could not connect to host
 moonloupe.com: could not connect to host
 moonrhythm.info: could not connect to host
+moontaj.com: could not connect to host
 moonysbouncycastles.co.uk: could not connect to host
 mooremetrics.com: did not receive HSTS header
 mooretownrancheria-nsn.gov: did not receive HSTS header
+moosbild.com: did not receive HSTS header
+mooselook.de: could not connect to host
 moosemanstudios.com: could not connect to host
+moosmaus.tk: did not receive HSTS header
 moov.is: could not connect to host
 moow.info: did not receive HSTS header
 moowcraft.eu: did not receive HSTS header
@@ -19596,11 +21645,9 @@ moparisthebest.biz: could not connect to host
 moparisthebest.info: could not connect to host
 moparscape.org: did not receive HSTS header
 mopedpress.com: could not connect to host
-mople71.cz: could not connect to host
 mopsuite.club: could not connect to host
 mor.cloud: could not connect to host
 mor.gl: could not connect to host
-morchino.ch: could not connect to host
 moreapp.co.uk: could not connect to host
 morenci.ch: could not connect to host
 morepopcorn.co.nz: could not connect to host
@@ -19611,6 +21658,7 @@ morfitronik.pl: could not connect to host
 morgancounty-al.gov: could not connect to host
 morgancountysheriffal.gov: could not connect to host
 morganestes.com: max-age too low: 0
+morgangallant.com: did not receive HSTS header
 morgansjewelerspv.com: did not receive HSTS header
 morhys.com: could not connect to host
 morningcalculation.com: could not connect to host
@@ -19618,6 +21666,7 @@ morninglory.com: did not receive HSTS header
 mornings.com: could not connect to host
 moroccomiami.com: could not connect to host
 morotech.com.br: did not receive HSTS header
+morox.top: could not connect to host
 morpheusx.at: could not connect to host
 morpheusxaut.net: could not connect to host
 morphy2k.io: could not connect to host
@@ -19626,6 +21675,7 @@ morrodafumacanoticias.com.br: did not receive HSTS header
 mortalincarnation.com: could not connect to host
 morteruelo.net: did not receive HSTS header
 mortgagecentersmo.com: did not receive HSTS header
+mortgagetranslations.gov: could not connect to host
 mosaique-lachenaie.fr: could not connect to host
 moshwire.com: could not connect to host
 moskva.guide: could not connect to host
@@ -19633,7 +21683,7 @@ mosos.de: did not receive HSTS header
 mosshi.be: could not connect to host
 mosstier.com: did not receive HSTS header
 mostcomfortableworkboots.net: did not receive HSTS header
-mostlikelyto.fail: could not connect to host
+mostlikelyto.fail: did not receive HSTS header
 mostlyharmless.at: could not connect to host
 mostlyinfinite.com: did not receive HSTS header
 mostlymuttz.org: did not receive HSTS header
@@ -19642,6 +21692,7 @@ mostwuat.com: could not connect to host
 motd.today: did not receive HSTS header
 motherbase.io: could not connect to host
 motherboard.services: could not connect to host
+motherearth.cf: did not receive HSTS header
 motionfreight.com: could not connect to host
 motionpicturesolutions.com: did not receive HSTS header
 motocollection.pl: did not receive HSTS header
@@ -19649,10 +21700,10 @@ motomorgen.com: could not connect to host
 motorbiketourhanoi.com: could not connect to host
 motorcheck.ie: did not receive HSTS header
 motornomaslo.bg: did not receive HSTS header
-motoroilinfo.com: could not connect to host
+motoroilinfo.com: did not receive HSTS header
 motorzone.od.ua: could not connect to host
 motovio.de: could not connect to host
-motscroises.cc: did not receive HSTS header
+motscroises.cc: could not connect to host
 mottvd.com: could not connect to host
 moube.fr: could not connect to host
 moudicat.com: did not receive HSTS header
@@ -19660,14 +21711,17 @@ moula.com.au: did not receive HSTS header
 moumaobuchiyu.com: could not connect to host
 mountainadventureseminars.com: did not receive HSTS header
 mountainroseherbs.com: did not receive HSTS header
+mountainspringsrentals.ca: could not connect to host
 mountairymd.gov: did not receive HSTS header
 mousemessages.com: did not receive HSTS header
 movabletype.net: did not receive HSTS header
+movahoteis.com.br: could not connect to host
 moveek.com: did not receive HSTS header
 moveisfit.com.br: could not connect to host
 movepin.com: could not connect to host
 movestub.com: could not connect to host
 movewellapp.com: did not receive HSTS header
+movfun.ga: could not connect to host
 movie-cross.net: did not receive HSTS header
 movie4k.fyi: could not connect to host
 movie4k.life: could not connect to host
@@ -19683,10 +21737,12 @@ moviespur.info: did not receive HSTS header
 moviko.nz: could not connect to host
 movil.uno: could not connect to host
 moving-pixtures.de: could not connect to host
+moving-target.info: did not receive HSTS header
 movingoklahoma.org: could not connect to host
-movingtojapan.life: could not connect to host
 movio.ga: could not connect to host
+movlib.org: could not connect to host
 mowalls.net: could not connect to host
+mox.link: could not connect to host
 moyer.pub: did not receive HSTS header
 moyideal.tk: could not connect to host
 moyoo.net: did not receive HSTS header
@@ -19698,16 +21754,16 @@ mozgb.ru: could not connect to host
 mozillians.org: did not receive HSTS header
 mozoa.net: could not connect to host
 mozzilla.cz: could not connect to host
-mp3donusturucu.com: could not connect to host
+mp3donusturucu.com: did not receive HSTS header
 mp3donusturucu.net: did not receive HSTS header
 mp3juices.is: could not connect to host
 mpe.org: did not receive HSTS header
-mpg-universal.com: did not receive HSTS header
+mpg-universal.com: could not connect to host
 mpg.ovh: could not connect to host
-mphoto.at: did not receive HSTS header
+mphoto.at: could not connect to host
 mpi-sa.fr: did not receive HSTS header
 mpkossen.com: did not receive HSTS header
-mpkshop.com.br: did not receive HSTS header
+mpkshop.com.br: could not connect to host
 mplicka.cz: did not receive HSTS header
 mplusm.eu: did not receive HSTS header
 mpn.poker: did not receive HSTS header
@@ -19716,7 +21772,7 @@ mpodraza.pl: could not connect to host
 mpreserver.com: could not connect to host
 mpserver12.org: could not connect to host
 mpsgarage.com.au: did not receive HSTS header
-mpu-giessen.com: could not connect to host
+mpu-giessen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mpy.ovh: could not connect to host
 mqas.net: could not connect to host
 mr-coffee.net: could not connect to host
@@ -19727,15 +21783,18 @@ mr3.io: could not connect to host
 mrafrohead.com: could not connect to host
 mralonas.cf: could not connect to host
 mrawe.com: could not connect to host
-mrazek.biz: did not receive HSTS header
+mrbmafrica.com: could not connect to host
 mrburtbox.com: could not connect to host
+mrcrowley217.com: could not connect to host
 mrdani.net: could not connect to host
 mrdleisure.co.uk: could not connect to host
 mrettich.org: did not receive HSTS header
 mrgasfires.co.uk: did not receive HSTS header
-mrgiveaways.com: could not connect to host
+mrgiveaways.com: did not receive HSTS header
 mrizzio.com: could not connect to host
 mrjbanksy.com: could not connect to host
+mrjooz.com: could not connect to host
+mrketolocksmith.com: did not receive HSTS header
 mrksk.com: could not connect to host
 mrliu.me: could not connect to host
 mrmoregame.de: could not connect to host
@@ -19743,17 +21802,21 @@ mrnh.tk: could not connect to host
 mrning.com: could not connect to host
 mrpopat.in: did not receive HSTS header
 mrpropop.com: could not connect to host
-mrtunnel.club: could not connect to host
+mrs-labo.jp: did not receive HSTS header
+mrserge.lv: did not receive HSTS header
 mruganiepodspacja.pl: could not connect to host
-mrvnt.de: could not connect to host
+mrvnt.de: did not receive HSTS header
+mrxboxseriesx.com: did not receive HSTS header
 ms-alternativ.de: did not receive HSTS header
 msc-seereisen.net: could not connect to host
 mscenter.cf: could not connect to host
 mschuessler.org: could not connect to host
+msdprojectclearmo.gov: could not connect to host
 mserve.ddns.net: could not connect to host
-msgallery.tk: could not connect to host
+msgallery.tk: did not receive HSTS header
 mshemailmarketer.com.au: could not connect to host
 msp66.de: could not connect to host
+mssys.de: did not receive HSTS header
 mstd.tokyo: did not receive HSTS header
 mstdn-tech.jp: could not connect to host
 mstdn.club: could not connect to host
@@ -19763,41 +21826,49 @@ mstiles92.com: could not connect to host
 msv-limpezas.pt: could not connect to host
 msz-fotografie.de: could not connect to host
 mszaki.com: did not receive HSTS header
-mt.me.uk: could not connect to host
-mt4programming.com: did not receive HSTS header
+mt.me.uk: did not receive HSTS header
+mt4programming.com: max-age too low: 604800
 mtamaki.com: could not connect to host
+mtasts.xyz: could not connect to host
 mtau.com: max-age too low: 2592000
-mtb.wtf: could not connect to host
+mtcpuntosalud.com: could not connect to host
 mtd.ovh: could not connect to host
 mtdn.jp: could not connect to host
 mtfgnettoyage.fr: could not connect to host
 mtg-esport.de: did not receive HSTS header
 mtg-tutor.de: did not receive HSTS header
+mtinz.com: could not connect to host
 mtirc.co: could not connect to host
 mtnz.co.za: did not receive HSTS header
 mtr.md: could not connect to host
 mu3on.com: could not connect to host
-muahahahaha.co.uk: could not connect to host
+muahahahaha.co.uk: did not receive HSTS header
 mud-status.de: did not receive HSTS header
 mudgezero.one: could not connect to host
 mueblesemporium.com: could not connect to host
 muehlemann.net: did not receive HSTS header
 muel.io: could not connect to host
-muellapp.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+mueller-gaestehaus.de: did not receive HSTS header
 muenzubi.de: did not receive HSTS header
-muffet.pw: could not connect to host
+muffet.pw: did not receive HSTS header
 muga.space: could not connect to host
 muh.io: could not connect to host
-muj-svet.cz: did not receive HSTS header
+muhlenbergtwppa.gov: could not connect to host
+mui.jp: did not receive HSTS header
+muitadica.com: could not connect to host
+muitoalemdobolo.com.br: could not connect to host
+muj-svet.cz: could not connect to host
 mujadin.se: did not receive HSTS header
 mujemail.ml: could not connect to host
 mukyu.moe: could not connect to host
 mulaisehat.com: could not connect to host
+mulej.net: could not connect to host
 mulenvo.com: did not receive HSTS header
 mullerimoveisrj.com.br: did not receive HSTS header
 multi-vpn.biz: could not connect to host
 multigamers-net.tk: could not connect to host
-multimail.work: could not connect to host
+multiplayernow.com: could not connect to host
+multipleservers.com: could not connect to host
 multiplexcy.com: could not connect to host
 multivpn.cn.com: could not connect to host
 multivpn.com.de: could not connect to host
@@ -19805,6 +21876,7 @@ multivpn.com.ua: could not connect to host
 multivpn.fr: could not connect to host
 multiworldsoftware.com: did not receive HSTS header
 multizone.games: could not connect to host
+multrier.fr: did not receive HSTS header
 muma.ml: could not connect to host
 mumei.space: did not receive HSTS header
 muminkoykiran.com: could not connect to host
@@ -19814,8 +21886,10 @@ mundoalpha.com.br: could not connect to host
 mundodapoesia.com: could not connect to host
 mundodoscarbonos.com.br: did not receive HSTS header
 mundogamers.top: could not connect to host
+mundosteampunk.club: could not connect to host
 mundosuiri.ml: could not connect to host
 munecoscabezones.com: did not receive HSTS header
+munfordtn.gov: could not connect to host
 munich-rage.de: did not receive HSTS header
 munirajiwa.com: could not connect to host
 munkiepus.com: did not receive HSTS header
@@ -19825,23 +21899,26 @@ munuc.org: did not receive HSTS header
 munzee.com: did not receive HSTS header
 muoivancauhoivisao.com: could not connect to host
 muonium.ch: could not connect to host
-muratatifsayar.com.tr: could not connect to host
 murdercube.com: could not connect to host
 murfy.kiwi: could not connect to host
 muriburi.land: could not connect to host
 muriburiland.com: could not connect to host
+murmashi.com: did not receive HSTS header
+murmu.re: could not connect to host
 murodese.org: could not connect to host
 murphycraftbeerfest.com: did not receive HSTS header
 murraycoin.org: could not connect to host
-murraycolin.org: did not receive HSTS header
+murraycolin.org: could not connect to host
 murrayrun.com: did not receive HSTS header
 mursu.directory: could not connect to host
 murz.tv: could not connect to host
 murzik.space: could not connect to host
+muscle-tg.com: could not connect to host
 musearchengine.com: could not connect to host
+museloveurania.com: did not receive HSTS header
 museminder2.com: did not receive HSTS header
 museumstreak.com: could not connect to host
-musewearflipflops.com: could not connect to host
+musewearflipflops.com: did not receive HSTS header
 mushfiqweb.com: did not receive HSTS header
 mushman.tk: could not connect to host
 mushroomandfern.com: could not connect to host
@@ -19850,17 +21927,17 @@ musicaconleali.it: did not receive HSTS header
 musicalsoulfood.com: did not receive HSTS header
 musicapara.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 musiccitycats.com: did not receive HSTS header
-musicdemons.com: did not receive HSTS header
+musicdemons.com: could not connect to host
 musicsense.cf: could not connect to host
 musiikkiohjelmapalvelu.fi: did not receive HSTS header
 musikkfondene.no: did not receive HSTS header
 musikzug-bookholzberg.de: did not receive HSTS header
+musingsatmidnight.com: could not connect to host
 musique2nuit.com: could not connect to host
 muslimbanter.co.za: could not connect to host
-muspla.com: could not connect to host
-muspla.com.br: could not connect to host
+muspla.com: did not receive HSTS header
 musselsblog.com: could not connect to host
-mustafa.space: did not receive HSTS header
+mustafa.space: could not connect to host
 mustika.cf: could not connect to host
 mustsellacarglobal.com: did not receive HSTS header
 mutamatic.com: could not connect to host
@@ -19871,38 +21948,42 @@ mutuelle-obligatoire-pme.fr: did not receive HSTS header
 muusika.fun: could not connect to host
 muusikoiden.net: did not receive HSTS header
 muy.ooo: could not connect to host
+muzgra.in: could not connect to host
 muzi.cz: could not connect to host
 muzykaprzeszladoplay.pl: could not connect to host
 mv-wohnen.de: could not connect to host
 mvanmarketing.nl: did not receive HSTS header
 mvbug.com: could not connect to host
+mvion.fr: max-age too low: 0
 mvnet.com.br: could not connect to host
-mvp-stars.com: could not connect to host
+mvp-stars.com: did not receive HSTS header
 mvsecurity.nl: could not connect to host
 mvwoensei.com: could not connect to host
 mvwoensel.com: could not connect to host
 mwamitours.com: could not connect to host
-mwavuli.co.ke: could not connect to host
-mwezi-foundation.org: did not receive HSTS header
+mware-staging.azurewebsites.net: could not connect to host
+mwezi-foundation.org: could not connect to host
 mwezi.org: did not receive HSTS header
 mwohlfarth.de: did not receive HSTS header
-mwtdev.se: did not receive HSTS header
 mxawei.cn: could not connect to host
 mxdanggui.org: could not connect to host
 mxihan.xyz: could not connect to host
 mxn8.com: could not connect to host
 mxp.tw: did not receive HSTS header
 my-aftershave-store.co.uk: could not connect to host
+my-amigo.ru: did not receive HSTS header
+my-ccleaner.ru: did not receive HSTS header
 my-cdn.de: could not connect to host
 my-co.ir: did not receive HSTS header
 my-demo.co: could not connect to host
 my-news-portal.ru: could not connect to host
 my-owncloud.com: could not connect to host
 my-pawnshop.com.ua: could not connect to host
+my-photo.me: could not connect to host
 my-plancha.ch: could not connect to host
 my-static-demo-808795.c.cdn77.org: could not connect to host
 my-static-live-808795.c.cdn77.org: could not connect to host
-my-voice.nl: could not connect to host
+my-voice.nl: did not receive HSTS header
 my.alfresco.com: could not connect to host
 my.swedbank.se: did not receive HSTS header
 my.xero.com: did not receive HSTS header
@@ -19913,6 +21994,7 @@ myandroidtools.pro: could not connect to host
 myappliancerepairhouston.com: did not receive HSTS header
 myartsway.com: did not receive HSTS header
 myaspenheights.com: did not receive HSTS header
+mybagofcoffee.com: could not connect to host
 mybboard.pl: did not receive HSTS header
 mybeautyjobs.de: could not connect to host
 myblockchain.cloud: could not connect to host
@@ -19926,19 +22008,22 @@ mycamda.com: could not connect to host
 mycard.moe: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mycarwashers.com: could not connect to host
 mychocolateweightloss.com: could not connect to host
-mycieokien.info: did not receive HSTS header
 myclasscam.com: did not receive HSTS header
-myclasscam.org: did not receive HSTS header
+myclasscam.org: could not connect to host
 myclientsplus.com: did not receive HSTS header
+mycloudsaas.com: did not receive HSTS header
 mycollab.net: could not connect to host
 mycolorado.gov: could not connect to host
 mycompanion.cz: could not connect to host
+myconan.net: did not receive HSTS header
+myconan.tk: could not connect to host
 myconnect.cn: could not connect to host
 mycontrolmonitor.com: could not connect to host
 mycoted.com: did not receive HSTS header
 mycp668.com: could not connect to host
 mycreativeartsconsulting.com: could not connect to host
 mycuco.it: did not receive HSTS header
+mycustomwriting.com: could not connect to host
 myday.eu.com: did not receive HSTS header
 mydeos.com: could not connect to host
 mydigipass.com: could not connect to host
@@ -19946,55 +22031,71 @@ mydjsongbook.com: max-age too low: 3600
 mydmdi.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mydnaresults.com: could not connect to host
 mydnatest.com: did not receive HSTS header
+mydomaindesk.com: did not receive HSTS header
 mydreamlifelab.com: could not connect to host
 mydreamshaadi.in: could not connect to host
 mydriversedge.com: did not receive HSTS header
 mydrone.services: did not receive HSTS header
+myebony.cam: could not connect to host
 myedumundo.com: could not connect to host
 myeffect.today: did not receive HSTS header
 myeml.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 myepass.bg: could not connect to host
 myepass.de: could not connect to host
+myfantasysportstalk.com: could not connect to host
 myfappening.org: could not connect to host
 myfdic.gov: could not connect to host
 myfiladelfia.com: did not receive HSTS header
 myfishpalace.at: could not connect to host
 myfloridacfo.gov: could not connect to host
-myfloridadeferredcomp.com: did not receive HSTS header
+myfloridadeferredcomp.com: could not connect to host
 myfunworld.de: could not connect to host
 mygalgame.com: could not connect to host
 mygaysitges.com: could not connect to host
+mygedit.info: could not connect to host
+mygedit.net: could not connect to host
+mygedit.org: could not connect to host
+mygeneral.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 mygivingcircle.org: did not receive HSTS header
 mygooder.com: could not connect to host
 mygov.scot: did not receive HSTS header
 mygpsite.com: did not receive HSTS header
 mygreatjob.eu: could not connect to host
 mygreatjobs.de: could not connect to host
+mygrotto.org: could not connect to host
 myhair.asia: did not receive HSTS header
 myhealthreviews.com: did not receive HSTS header
 myhloli.com: did not receive HSTS header
+myhostname.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 myhostvm.com: could not connect to host
+myhotdesign.com: did not receive HSTS header
 myicare.org: could not connect to host
 myinjuryattorney.com: did not receive HSTS header
+myinsuranceauto.com: did not receive HSTS header
+myinsurancesource.com: could not connect to host
+myintimtoys.com: could not connect to host
+myinvite.nl: could not connect to host
 myiocc.org: could not connect to host
 myip.tech: max-age too low: 2592000
 myipaddr.de: max-age too low: 10
-myjarofhope.com: did not receive HSTS header
+myipv4.de: could not connect to host
 mykarelia.ga: could not connect to host
-mykolab.com: did not receive HSTS header
+mykolab.com: could not connect to host
 mykreuzfahrt.de: could not connect to host
-mylighthost.com: did not receive HSTS header
+mylatestnews.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+myleanfactory.de: did not receive HSTS header
+myliveupdates.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+mylkguys.com: could not connect to host
 mylocalsearch.co.uk: did not receive HSTS header
 mymadina.com: did not receive HSTS header
 mymed.de: did not receive HSTS header
 mymed.eu: did not receive HSTS header
-mymotherlandstuffs.cn: did not receive HSTS header
 mymp3singer.co: did not receive HSTS header
 mymp3singer.net: could not connect to host
 mymp3singer.site: could not connect to host
 myms.eu: could not connect to host
-mymsr.de: did not receive HSTS header
 mymusiclist.alwaysdata.net: could not connect to host
+myndcoins.com: could not connect to host
 myndcommunication.com: could not connect to host
 mynetblog.com: did not receive HSTS header
 mynetworkingbuddy.com: could not connect to host
@@ -20007,30 +22108,40 @@ myon.info: did not receive HSTS header
 myonlinedating.club: could not connect to host
 myonlinevehicleinsurance.com: could not connect to host
 myoregon.gov: did not receive HSTS header
-myownconference.cloud: did not receive HSTS header
+myownconference.cloud: could not connect to host
 myownconference.net: did not receive HSTS header
 mypagella.com: could not connect to host
 mypagella.eu: could not connect to host
 mypagella.it: could not connect to host
 myparfumerie.at: did not receive HSTS header
+myparisiankitchen.com: did not receive HSTS header
 mypcqq.cc: did not receive HSTS header
 mypension.ca: could not connect to host
+myperfecthome.ca: could not connect to host
 myperfumecollection.com: did not receive HSTS header
 myphonebox.de: could not connect to host
 myphotos.ga: could not connect to host
+myproblog.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 myproxy.eu.org: could not connect to host
 mypt3.com: did not receive HSTS header
 mypup.nl: did not receive HSTS header
 myqdu.cn: could not connect to host
 myqdu.com: could not connect to host
+myrealestateschool.com: max-age too low: 0
+myrepublic.co.id: did not receive HSTS header
+myrepublic.id: could not connect to host
+myresearchapp.com: could not connect to host
 myrig.com.ua: did not receive HSTS header
 myrig.io: could not connect to host
 myrig.net: could not connect to host
 myrig.ru: did not receive HSTS header
+myroofandhome.com: did not receive HSTS header
 myrsa.in: did not receive HSTS header
 myruststats.com: could not connect to host
+myrvogna.net: could not connect to host
 mysa.is: could not connect to host
 mysad.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+mysam.net: max-age too low: 86400
 mysber.ru: did not receive HSTS header
 mysecretrewards.com: could not connect to host
 mysectools.org: did not receive HSTS header
@@ -20040,12 +22151,15 @@ myservice.store: could not connect to host
 myseu.cn: did not receive HSTS header
 myshirtsize.com: did not receive HSTS header
 mysize-condooms.nl: could not connect to host
+mysmelly.com: did not receive HSTS header
 mysocialporn.com: could not connect to host
 mysongbird.xyz: did not receive HSTS header
 myspa.asia: did not receive HSTS header
 mystatus24.com: could not connect to host
+mysteriesandmargaritasblogspot.com: could not connect to host
 mystery-science-theater-3000.de: did not receive HSTS header
 mysticplumes.com: did not receive HSTS header
+mystore24.us: could not connect to host
 mystown.org: could not connect to host
 mysupboard.de: did not receive HSTS header
 mytc.fr: could not connect to host
@@ -20054,26 +22168,32 @@ mythlogic.com: could not connect to host
 mythslegendscollection.com: did not receive HSTS header
 mytravelblog.de: could not connect to host
 mytravelog.ch: did not receive HSTS header
-myulog.net: did not receive HSTS header
+mytruecare.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+myulog.net: could not connect to host
 myunicornshops.com: could not connect to host
+myupdatestar.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+myupdatestudio.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+myupdatesystems.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 myvpl.com: could not connect to host
 mywallets.io: could not connect to host
-myweb360.de: could not connect to host
 mywebinar.io: could not connect to host
 mywebmanager.co.uk: could not connect to host
 myweddingaway.co.uk: did not receive HSTS header
+mywomenshealthgroup.com: did not receive HSTS header
 myxbox.gr: max-age too low: 0
+myzhili.com: could not connect to host
 mzh.io: did not receive HSTS header
+mziulu.me: could not connect to host
 mzlog.win: could not connect to host
 mzzj.de: could not connect to host
 n-a.date: did not receive HSTS header
+n-blox.com: did not receive HSTS header
 n-rickroll-e.pw: could not connect to host
 n-soft.info: did not receive HSTS header
 n-x.info: could not connect to host
 n0rm.ru: could not connect to host
 n0s.de: did not receive HSTS header
 n2host.eu: could not connect to host
-n2servers.com: max-age too low: 86400
 n2x.in: could not connect to host
 n30365.com: could not connect to host
 n3ro.io: did not receive HSTS header
@@ -20082,16 +22202,20 @@ n3twork.net: could not connect to host
 n4l.pw: could not connect to host
 n5118.com: could not connect to host
 n5197.co: could not connect to host
-n64chan.me: could not connect to host
+n64chan.me: did not receive HSTS header
 n6729.co: could not connect to host
 n6729.com: did not receive HSTS header
 n6957.co: could not connect to host
 n6957.com: did not receive HSTS header
+n81365.com: did not receive HSTS header
+n81818.com: did not receive HSTS header
+n82365.com: did not receive HSTS header
 n888ok.com: could not connect to host
+n8ch.net: could not connect to host
 n8ta.com: did not receive HSTS header
 n9297.co: could not connect to host
-n9397.com: could not connect to host
-n9721.com: could not connect to host
+n9397.com: did not receive HSTS header
+n9721.com: did not receive HSTS header
 n9728.co: could not connect to host
 na.hn: could not connect to host
 naam.me: could not connect to host
@@ -20102,32 +22226,34 @@ nabru.co.uk: did not receive HSTS header
 nabu-bad-nauheim.de: did not receive HSTS header
 nabytko.cz: could not connect to host
 nac-6.fr: did not receive HSTS header
+nachovni.pp.ua: did not receive HSTS header
 nachtmuziek.info: could not connect to host
 nacktwanderfreunde.de: did not receive HSTS header
+nadaquenosepas.com: could not connect to host
 nadia.pt: could not connect to host
-nadoske.info: did not receive HSTS header
-naga.im: did not receive HSTS header
+naga.im: could not connect to host
 nagajanroshiya.info: could not connect to host
-naganithin.me: could not connect to host
+naganithin.me: did not receive HSTS header
 nagaragem.com.br: did not receive HSTS header
-nagb.org: did not receive HSTS header
+nagata.info: did not receive HSTS header
 naggie.net: could not connect to host
 nagios.by: did not receive HSTS header
 nagoya-kyuyo.com: could not connect to host
 nagrad.tk: could not connect to host
 nahura.com: could not connect to host
 naiaspa.fr: did not receive HSTS header
-naidonline.org: did not receive HSTS header
 naiharngym.com: did not receive HSTS header
 naijaxnet.com.ng: could not connect to host
 nais.me: could not connect to host
 nais0ne.com: did not receive HSTS header
 naive.network: could not connect to host
+naivetube.com: could not connect to host
 najany.de: could not connect to host
 najany.dk: could not connect to host
 najany.fr: could not connect to host
 najany.nl: could not connect to host
 najany.se: could not connect to host
+najfilmy.eu: did not receive HSTS header
 nakada4610.com: could not connect to host
 nakamastreamingcommunity.com: could not connect to host
 nakanishi-paint.com: could not connect to host
@@ -20137,21 +22263,24 @@ nakitbonus2.com: could not connect to host
 nakladki.su: did not receive HSTS header
 nakliyatsirketi.biz: could not connect to host
 nakuro.de: could not connect to host
+nal.av.tr: could not connect to host
 nalao-company.com: did not receive HSTS header
 nalifornia.com: max-age too low: 0
 nalinux.cz: could not connect to host
 nallon.com.br: could not connect to host
 nalukfitness.com.br: could not connect to host
-namacindia.com: did not receive HSTS header
 namaho.com: could not connect to host
+namalelaki.com: could not connect to host
+namaperempuan.com: could not connect to host
 namazon.org: could not connect to host
-named.ga: could not connect to host
+named.ga: did not receive HSTS header
 nameme.xyz: could not connect to host
 namethatbone.com: could not connect to host
 namethissymbol.com: could not connect to host
 nami.bo: could not connect to host
 namikawatetsuji.jp: could not connect to host
 namorico.me: could not connect to host
+namu.com.br: did not receive HSTS header
 namuwikiusercontent.com: could not connect to host
 nan.zone: could not connect to host
 nanami.moe: did not receive HSTS header
@@ -20168,7 +22297,9 @@ nanollet.org: could not connect to host
 nanosingularity.com: could not connect to host
 nanovolt.nl: could not connect to host
 nanrenba.net: could not connect to host
+nansa.ch: could not connect to host
 nanto.eu: did not receive HSTS header
+nanxin.xyz: could not connect to host
 naoar.com: could not connect to host
 naphex.rocks: could not connect to host
 naphogar.com: did not receive HSTS header
@@ -20180,40 +22311,49 @@ nappynko.com: did not receive HSTS header
 narach.com: did not receive HSTS header
 narada.com.ua: could not connect to host
 narardetval.se: could not connect to host
+narela.com.mx: could not connect to host
+narenderchopra.com: could not connect to host
+naric.com: could not connect to host
 narodniki.com: could not connect to host
-narodsovety.ru: did not receive HSTS header
+narodsovety.ru: could not connect to host
+narrative.network: could not connect to host
 narviz.com: did not receive HSTS header
+nasaacronyms-beta.com: could not connect to host
+nasaacronyms.com: could not connect to host
 nasarawanewsonline.com: could not connect to host
 nascio.org: did not receive HSTS header
 naseco.se: did not receive HSTS header
 naseehah.ga: could not connect to host
 nashvillesheriff.gov: could not connect to host
 nasme.tk: did not receive HSTS header
-nasmocopati.com: could not connect to host
 naspro.ru: did not receive HSTS header
+nasr.mobi: could not connect to host
 nasralmabrooka.com: did not receive HSTS header
 nasserver-test.de: did not receive HSTS header
 nassi.me: could not connect to host
+nastoletni.pl: did not receive HSTS header
 nastysclaw.com: could not connect to host
+nataldigital.com: could not connect to host
 natalia-fadeeva.ru: could not connect to host
 natalia.io: did not receive HSTS header
 natalieandjoshua.com: could not connect to host
 natalt.org: did not receive HSTS header
+natan-fourie.fr: max-age too low: 1728000
 nataniel-perissier.fr: could not connect to host
 natarius.tk: could not connect to host
 natatorium.org: did not receive HSTS header
-natcheflife.co.uk: did not receive HSTS header
 nate.sh: could not connect to host
-nathan.io: could not connect to host
+nathan.io: max-age too low: 0
 nathumarket.com.br: could not connect to host
 nationalmall.gov: could not connect to host
 nationalpassportservice.info: could not connect to host
-nationaltaxprep.com: did not receive HSTS header
+nationaltaxprep.com: could not connect to host
 nationwiderealtyinvestors.com: did not receive HSTS header
 nationwidevehiclecontracts.co.uk: did not receive HSTS header
-nativeonestop.gov: did not receive HSTS header
-nattiam.com: could not connect to host
+natteravneneibergen.no: did not receive HSTS header
+nattiam.com: did not receive HSTS header
 natur-udvar.hu: could not connect to host
+naturadent.hu: did not receive HSTS header
 natural-progesterone.net: could not connect to host
 naturalcommission.com: could not connect to host
 naturblogg.no: did not receive HSTS header
@@ -20223,13 +22363,13 @@ naturecoaster.com: did not receive HSTS header
 natureword.com: did not receive HSTS header
 natuterra.com.br: could not connect to host
 natuurbehangnederland.nl: could not connect to host
-nauck.org: did not receive HSTS header
+nauck.org: could not connect to host
 naudles.me: could not connect to host
 naughtytoy.co.uk: did not receive HSTS header
-nav.jobs: could not connect to host
+nav.jobs: did not receive HSTS header
 naval.tf: could not connect to host
-navegos.net: did not receive HSTS header
-naviaddress.io: could not connect to host
+navegos.net: could not connect to host
+naviaddress.io: did not receive HSTS header
 navigate-it-services.de: did not receive HSTS header
 naviteq.eu: could not connect to host
 navitime.me: could not connect to host
@@ -20250,6 +22390,7 @@ nbis.gov: could not connect to host
 nbl.org.tw: could not connect to host
 nbm.gov: could not connect to host
 nbnnetwork.com: could not connect to host
+nbook.org: did not receive HSTS header
 nbp.com.pk: did not receive HSTS header
 nbrain.de: could not connect to host
 nbriresearch.com: could not connect to host
@@ -20270,7 +22411,6 @@ ncm-malerbetrieb.de: did not receive HSTS header
 ncmedicaidplan.gov: could not connect to host
 ncmedicaidplans.gov: did not receive HSTS header
 ncpc.gov: could not connect to host
-ncpimd001.spdns.de: could not connect to host
 ncpw.gov: could not connect to host
 ncrmnt.org: did not receive HSTS header
 ncstep.org: did not receive HSTS header
@@ -20282,35 +22422,44 @@ ndmath.club: could not connect to host
 ndpbrn-research.org: could not connect to host
 ndtblog.com: could not connect to host
 ndtmarket.place: could not connect to host
+ndum.ch: could not connect to host
 ne1home.dyndns.org: did not receive HSTS header
 neap.io: could not connect to host
+neapi.com: could not connect to host
 near.st: did not receive HSTS header
 nearbi.com.mx: could not connect to host
 nearbiwa.com: did not receive HSTS header
+nearon.nl: could not connect to host
+neatzy.co.uk: could not connect to host
 neavision.de: could not connect to host
 nebl.cash: could not connect to host
-nebra.io: could not connect to host
 nebracy.com: could not connect to host
+nebras.ga: did not receive HSTS header
 nebulousenhanced.com: could not connect to host
 nebuluxcapital.com: could not connect to host
 necesitodinero.org: did not receive HSTS header
 nechiactua.com: could not connect to host
-necio.ca: could not connect to host
+necio.ca: did not receive HSTS header
 nedcf.org.uk: could not connect to host
+nederdraad.org: did not receive HSTS header
 nediyor.com: did not receive HSTS header
 nedwave.com: could not connect to host
 nedys.top: could not connect to host
 needle.net.nz: could not connect to host
 needle.nz: could not connect to host
+needletail.io: did not receive HSTS header
+neeerd.org: did not receive HSTS header
 neels.ch: did not receive HSTS header
 neer.io: could not connect to host
 neet-investor.biz: could not connect to host
 neffat.si: did not receive HSTS header
-neftaly.com: did not receive HSTS header
+neftaly.com: could not connect to host
 neftebitum-kngk.ru: did not receive HSTS header
 neg9.org: could not connect to host
 negativzinsen.info: did not receive HSTS header
-negraelinda.com: did not receive HSTS header
+neglecteddiseases.gov: could not connect to host
+negraelinda.com: could not connect to host
+nehalem.gov: did not receive HSTS header
 neilgreen.net: did not receive HSTS header
 neilshealthymeals.com: did not receive HSTS header
 neio.uk: could not connect to host
@@ -20318,9 +22467,9 @@ nejkasy.cz: did not receive HSTS header
 nejnamc.org: did not receive HSTS header
 neko-life.com: did not receive HSTS header
 neko.li: could not connect to host
-neko.ml: did not receive HSTS header
+neko.ml: could not connect to host
 nekoku.io: could not connect to host
-nekolove.jp: could not connect to host
+nekolove.jp: did not receive HSTS header
 nekomio.com: did not receive HSTS header
 nekox.ml: could not connect to host
 nella-project.org: could not connect to host
@@ -20329,8 +22478,7 @@ nellacms.com: could not connect to host
 nellacms.org: could not connect to host
 nellafw.org: could not connect to host
 nemanja.top: could not connect to host
-nemausus.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-nemecl.eu: could not connect to host
+nemausus.com: did not receive HSTS header
 nemno.de: could not connect to host
 nemovement.org: could not connect to host
 nemplex.win: could not connect to host
@@ -20338,7 +22486,6 @@ nengzhen.com.cn: [Exception... "Component returned failure code: 0x80004005 (NS_
 neoani.me: could not connect to host
 neocoding.com: could not connect to host
 neocyd.com: could not connect to host
-neoeliteconsulting.com: could not connect to host
 neofelhz.space: could not connect to host
 neofilia.tk: could not connect to host
 neohu.com: could not connect to host
@@ -20347,6 +22494,7 @@ neokobe.city: could not connect to host
 neolink.dk: could not connect to host
 neonisi.com: could not connect to host
 neonnuke.tech: could not connect to host
+neosey.com: could not connect to host
 neotist.com: did not receive HSTS header
 neowa.tk: could not connect to host
 nepageeks.com: did not receive HSTS header
@@ -20358,6 +22506,8 @@ nerdbox.cc: did not receive HSTS header
 nerdinator.ddns.net: could not connect to host
 nerdjokes.de: could not connect to host
 nerdoutstudios.tv: could not connect to host
+nerdrockshop.co.uk: did not receive HSTS header
+nerdswithknives.com: did not receive HSTS header
 nerfroute.com: could not connect to host
 neris.io: could not connect to host
 neriumhcp.com: did not receive HSTS header
@@ -20377,22 +22527,27 @@ net2o.de: did not receive HSTS header
 net2o.net: did not receive HSTS header
 net4it.de: did not receive HSTS header
 netba.net: could not connect to host
+netbows.com: could not connect to host
+netbows.es: could not connect to host
 netbox.cc: could not connect to host
 netbrief.ml: could not connect to host
-netde.jp: could not connect to host
+netde.jp: did not receive HSTS header
 netdego.jp: could not connect to host
 netducks.space: could not connect to host
 netexem.com: did not receive HSTS header
-netguide.co.nz: did not receive HSTS header
+netexpat.com: did not receive HSTS header
 netherwind.eu: did not receive HSTS header
 nethunter.top: could not connect to host
 netid.de: did not receive HSTS header
 netlilo.com: could not connect to host
 netloanusa.com: could not connect to host
 netmagik.com: did not receive HSTS header
+netnik.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+netolink.ru: could not connect to host
 netresourcedesign.com: could not connect to host
 netsafeid.biz: did not receive HSTS header
 netscaler.expert: could not connect to host
+netsec.cloud: could not connect to host
 netsecma.com: could not connect to host
 netsight.org: could not connect to host
 netsparkercloud.com: did not receive HSTS header
@@ -20402,27 +22557,26 @@ nettefoundation.com: could not connect to host
 nettopower.dk: did not receive HSTS header
 nettoyage.email: could not connect to host
 nettplusultra-rhone.fr: did not receive HSTS header
-netube.org: could not connect to host
 netulo.com: could not connect to host
 netvpn.ml: could not connect to host
 netwaf.com: could not connect to host
-networkersdiary.com: did not receive HSTS header
+network-notes.com: could not connect to host
+networkersdiary.com: could not connect to host
 networkhane.com: did not receive HSTS header
 networking-groups.co.uk: could not connect to host
-networkmas.com: could not connect to host
-networx-online.de: did not receive HSTS header
+networkposting.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 netzbit.de: could not connect to host
+netzona.org: could not connect to host
 netztest.at: did not receive HSTS header
 netzvieh.de: could not connect to host
 netzzwerg4u.de: did not receive HSTS header
-neuber.uno: could not connect to host
 neueonlinecasino2016.com: could not connect to host
 neuhaus-city.de: could not connect to host
 neuralgic.net: could not connect to host
 neuro-plus-100.com: could not connect to host
+neuroandspineconsultants.com: did not receive HSTS header
 neuroethics.com: did not receive HSTS header
 neurogroove.info: did not receive HSTS header
-neurolab.no: could not connect to host
 neuronasdigitales.com: did not receive HSTS header
 neuronfactor.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 neutralvehicle.com: did not receive HSTS header
@@ -20439,10 +22593,13 @@ newburghhistoryblog.com: did not receive HSTS header
 newcab.de: did not receive HSTS header
 newchance.store: could not connect to host
 newcityinfo.info: could not connect to host
+newcomm.nl: could not connect to host
 newcreamforface.com: could not connect to host
 newdeveloper.download: could not connect to host
+newdirectionsolar.com.au: could not connect to host
 newedivideo.it: could not connect to host
 newfacialbeautycream.com: could not connect to host
+newflavor.design: could not connect to host
 newgenerationplus.org: could not connect to host
 newgraphics.by: did not receive HSTS header
 newhdmovies.io: could not connect to host
@@ -20452,16 +22609,15 @@ newjianzhi.com: could not connect to host
 newlifehempoil.com: did not receive HSTS header
 newlooknow.com: did not receive HSTS header
 newmovements.net: could not connect to host
-newparadigmventures.net: did not receive HSTS header
 newpathintegratedtherapy.com: did not receive HSTS header
 newpoke.net: did not receive HSTS header
 newportpropertygroup.com: could not connect to host
+newposts.ru: could not connect to host
 news4c.com: did not receive HSTS header
 newsa2.com: could not connect to host
 newsaboutgames.de: could not connect to host
 newserumforskin.com: could not connect to host
 newsquantified.com: max-age too low: 0
-newstargeted.com: did not receive HSTS header
 newstarnootropics.com: could not connect to host
 newstone-tech.com: could not connect to host
 newtnote.com: could not connect to host
@@ -20472,32 +22628,35 @@ nexlab.org: did not receive HSTS header
 next-server.eu: could not connect to host
 next47.com: did not receive HSTS header
 nextads.ch: could not connect to host
-nextcasino.com: did not receive HSTS header
 nextcloud-miyamoto.spdns.org: did not receive HSTS header
 nextcloud.co.za: did not receive HSTS header
+nextcloud.nerdpol.ovh: could not connect to host
 nextclouddarwinkel.nl: could not connect to host
+nextechoax.com: did not receive HSTS header
 nextend.org: could not connect to host
-nextgen.sk: could not connect to host
+nexter.cloud: could not connect to host
 nextgencel.com: did not receive HSTS header
 nexth.de: could not connect to host
 nexth.net: did not receive HSTS header
 nexth.us: could not connect to host
 nexthop.co.th: did not receive HSTS header
+nextlevel-it.co.uk: could not connect to host
+nextme.se: could not connect to host
 nextpages.de: could not connect to host
-nextpost.company: did not receive HSTS header
+nextpost.company: could not connect to host
 nextproject.us: could not connect to host
+nextrec.site: could not connect to host
 nextrobotics.de: did not receive HSTS header
 nextshutter.com: did not receive HSTS header
 nexus-vienna.at: could not connect to host
 nexusbyte.de: could not connect to host
+nexusconnectinternational.eu: could not connect to host
 nexuscorporation.in: could not connect to host
 nezvestice.cz: did not receive HSTS header
 nf4.net: could not connect to host
 nfhome.be: did not receive HSTS header
 nfir.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 nflchan.org: could not connect to host
-nfls.io: could not connect to host
-nflsic.org: could not connect to host
 nfluence.org: could not connect to host
 nfo.so: did not receive HSTS header
 nfrost.me: could not connect to host
@@ -20505,14 +22664,17 @@ ng-firewall.com: did not receive HSTS header
 ng-security.com: could not connect to host
 ngiemboon.net: could not connect to host
 ngine.ch: could not connect to host
+nginxconfig.io: did not receive HSTS header
 nginxnudes.com: could not connect to host
 nginxyii.tk: could not connect to host
 ngla.gov: could not connect to host
 nglr.org: could not connect to host
 ngndn.jp: could not connect to host
-ngocuong.net: could not connect to host
+ngojclee.com: did not receive HSTS header
 ngt-service.ru: did not receive HSTS header
 ngtoys.com.br: could not connect to host
+nhakhoangocanh.net: could not connect to host
+nhbp-nsn.gov: could not connect to host
 nhccnews.org: could not connect to host
 nhgteam.hu: could not connect to host
 nhhoteljobs.nl: could not connect to host
@@ -20521,14 +22683,17 @@ nhsuites.com: did not receive HSTS header
 niallator.com: could not connect to host
 nibiisclaim.com: could not connect to host
 nicaise.ca: did not receive HSTS header
-nice.im: did not receive HSTS header
+nice.im: could not connect to host
+niceb5y.net: did not receive HSTS header
+nicesleepo.com: did not receive HSTS header
 nicestresser.fr: could not connect to host
 nickcleans.co.uk: could not connect to host
 nicklord.com: could not connect to host
 nickmertin.ca: did not receive HSTS header
 nicktheitguy.com: could not connect to host
-nickx.cn: could not connect to host
+nickx.cn: did not receive HSTS header
 nicky.io: could not connect to host
+nicn.me: could not connect to host
 nico.one: could not connect to host
 nico.today: could not connect to host
 nicoborghuis.nl: could not connect to host
@@ -20544,6 +22709,7 @@ niconiconi.xyz: could not connect to host
 nicoobook.com: did not receive HSTS header
 nicoobook.net: could not connect to host
 nicorevin.ru: could not connect to host
+nidialozano.com: could not connect to host
 nidux.com: did not receive HSTS header
 niduxcomercial.com: could not connect to host
 niedersetz.de: could not connect to host
@@ -20552,21 +22718,25 @@ nielshoogenhout.be: did not receive HSTS header
 nielshoogenhout.eu: did not receive HSTS header
 nielshoogenhout.nl: did not receive HSTS header
 niemaler.de: could not connect to host
+nien.cf: could not connect to host
 nien.chat: could not connect to host
 nien.com.tw: did not receive HSTS header
+nien.gq: could not connect to host
 nien.taipei: could not connect to host
+nien.tk: could not connect to host
 nienfun.com: could not connect to host
 nietmvwoensel.com: could not connect to host
 nieuwsoverijssel.nl: did not receive HSTS header
 niffler.software: could not connect to host
 nifpnet.nl: could not connect to host
+niftypersonalloans.com.au: could not connect to host
 nifume.com: could not connect to host
-niggemeier.cc: could not connect to host
+niggemeier.cc: did not receive HSTS header
 nigger.racing: could not connect to host
 night2stay.com: did not receive HSTS header
 nightbutterflies.com: did not receive HSTS header
 nightfirecat.com: could not connect to host
-nightscapesoutdoorlighting.com: did not receive HSTS header
+nightman.info: did not receive HSTS header
 nightsnack.cf: could not connect to host
 nightwinds.tk: could not connect to host
 nightwishchile.tk: could not connect to host
@@ -20575,37 +22745,42 @@ nihilistan.tk: could not connect to host
 niho.jp: did not receive HSTS header
 nihon-no-sake.net: did not receive HSTS header
 nihtek.in: could not connect to host
-nijiero-ch.com: could not connect to host
 nikao-tech.com: did not receive HSTS header
 niki.ai: did not receive HSTS header
 nikitashevchenko.com: did not receive HSTS header
-nikklassen.ca: could not connect to host
+nikka.systems: did not receive HSTS header
 nikksno.io: could not connect to host
 niklas.host: could not connect to host
 niklasanderson.com: did not receive HSTS header
 niklaslindblad.se: did not receive HSTS header
-nikobradshaw.com: did not receive HSTS header
+nikobradshaw.com: could not connect to host
 nikolaichik.photo: did not receive HSTS header
 nikolainevalainen.fi: did not receive HSTS header
 nikolasbradshaw.com: could not connect to host
 nikonschool.co.uk: did not receive HSTS header
+niktok.com: did not receive HSTS header
 nikunjcementarticles.com: did not receive HSTS header
-nikz.in: could not connect to host
+nikz.in: did not receive HSTS header
 nilianwo.com: could not connect to host
 niloxy.com: could not connect to host
-nimeshjm.com: did not receive HSTS header
+nim-news.com: did not receive HSTS header
+nimeshjm.com: could not connect to host
 nina-laaf.de: did not receive HSTS header
-ninarinaldi.com.br: did not receive HSTS header
+ninarinaldi.com.br: could not connect to host
 ninchisho-online.com: did not receive HSTS header
 ninebytes.xyz: could not connect to host
 ninesix.cc: did not receive HSTS header
 ninespec.com: could not connect to host
 ning.so: did not receive HSTS header
+ningrui.me: could not connect to host
 ninhs.org: could not connect to host
+ninjan.co: could not connect to host
 ninjaspiders.com: could not connect to host
+ninjasquad.fr: could not connect to host
+ninjio.com: max-age too low: 86400
 ninov.de: did not receive HSTS header
 ninreiei.jp: could not connect to host
-niouininon.eu: could not connect to host
+niouininon.eu: did not receive HSTS header
 nippler.org: could not connect to host
 nippombashi.net: could not connect to host
 nippon.fr: did not receive HSTS header
@@ -20619,25 +22794,28 @@ nishaswonderland.nl: did not receive HSTS header
 nishikino-maki.com: could not connect to host
 nishisbma.com: could not connect to host
 nitaonline.org: did not receive HSTS header
+nitix.games: could not connect to host
 niva.synology.me: could not connect to host
 niveldron.com: could not connect to host
-nivi.ca: could not connect to host
+nivi.ca: did not receive HSTS header
 nix.black: could not connect to host
 nix13.xyz: could not connect to host
 nixien.fr: could not connect to host
 nixmag.net: could not connect to host
 nixne.st: did not receive HSTS header
+nixnet.xyz: did not receive HSTS header
 nixtest.net: could not connect to host
 nixx-gel.cz: could not connect to host
+nizhaoheng.com: could not connect to host
 njujb.com: did not receive HSTS header
 nkadvertising.online: could not connect to host
 nkautoservice.nl: did not receive HSTS header
 nkb.in.th: could not connect to host
+nkforum.pl: did not receive HSTS header
 nklwhx.com: could not connect to host
 nkp-media.de: could not connect to host
-nkx4sjyrk4tcv0sluhwajyc-n6icja9gchqxmhp.com: did not receive HSTS header
 nlayer.info: could not connect to host
-nlfant.eu: could not connect to host
+nlfant.eu: did not receive HSTS header
 nll.fi: could not connect to host
 nlrb.gov: did not receive HSTS header
 nmadda.com: could not connect to host
@@ -20647,19 +22825,23 @@ nmgb.ml: could not connect to host
 nmsinusdoc.com: did not receive HSTS header
 nmsnj.com: did not receive HSTS header
 nmueller.at: could not connect to host
+nmx.moe: could not connect to host
+nn01.cc: could not connect to host
+nn01.com: could not connect to host
 nn5197.co: could not connect to host
 nn6729.co: could not connect to host
 nn6729.com: did not receive HSTS header
 nn6957.co: could not connect to host
 nn78.com: could not connect to host
 nn9297.co: could not connect to host
-nn9397.com: could not connect to host
-nn9721.com: could not connect to host
+nn9397.com: did not receive HSTS header
+nn9721.com: did not receive HSTS header
 nn9728.co: could not connect to host
 nnkkserver02.ddns.net: could not connect to host
 nnote.net: did not receive HSTS header
 nnya.cat: could not connect to host
 no17sifangjie.cc: could not connect to host
+nobleandlore.com: max-age too low: 0
 noc.wang: could not connect to host
 nocallaghan.com: could not connect to host
 nocit.dk: did not receive HSTS header
@@ -20669,11 +22851,12 @@ nodalr.com: could not connect to host
 nodari.com.ar: did not receive HSTS header
 nodariweb.com.ar: could not connect to host
 node-core-app.com: could not connect to host
-nodebb-cn.org: could not connect to host
+nodebb-cn.org: did not receive HSTS header
 nodebrewery.com: could not connect to host
 nodechate.xyz: could not connect to host
 nodecompat.com: did not receive HSTS header
-nodefiles.com: could not connect to host
+nodefiles.com: did not receive HSTS header
+nodeflame.com: did not receive HSTS header
 nodefoo.com: could not connect to host
 nodepanel.net: did not receive HSTS header
 nodeselect.com: could not connect to host
@@ -20682,22 +22865,27 @@ nodesturut.cl: did not receive HSTS header
 nodetemple.com: could not connect to host
 nodist.club: could not connect to host
 nodum.io: did not receive HSTS header
-noegoph.com: did not receive HSTS header
+noegoph.com: could not connect to host
 noelblog.ga: could not connect to host
 noelssanssoucipensacola.com: did not receive HSTS header
 noesberts-weidmoos.de: did not receive HSTS header
 noexpect.org: could not connect to host
 noez.de: did not receive HSTS header
+nohm.eu: could not connect to host
+noinghene.com: did not receive HSTS header
 noisebridge.social: could not connect to host
 noisetor.net: could not connect to host
+noithat247.com.vn: could not connect to host
 nojestorget.se: did not receive HSTS header
 nojobook.com: could not connect to host
 nojok.es: could not connect to host
 nolag.host: did not receive HSTS header
+nolalove.nl: did not receive HSTS header
+nolanvilletx.gov: could not connect to host
 nolatepayments.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 nolberg.net: could not connect to host
 noleggiobagnichimici.perugia.it: could not connect to host
-nolimits.net.nz: could not connect to host
+nolimits.net.nz: did not receive HSTS header
 nolimitsbook.de: did not receive HSTS header
 nolte-imp.de: did not receive HSTS header
 nolte.work: could not connect to host
@@ -20707,12 +22895,14 @@ nomorebytes.de: could not connect to host
 nonametheme.com: could not connect to host
 nonemu.ninja: could not connect to host
 nonx.pro: could not connect to host
+nonzero.io: could not connect to host
 noob-rp.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 noobswhatelse.net: could not connect to host
 noodlecrave.com: did not receive HSTS header
 noodlesandwich.com: did not receive HSTS header
 noodleyum.com: could not connect to host
 noodweer.be: did not receive HSTS header
+nooneshere.co.uk: could not connect to host
 nooranevalainen.fi: did not receive HSTS header
 nootropicpedia.com: could not connect to host
 nootropicsource.com: did not receive HSTS header
@@ -20721,7 +22911,7 @@ nopex.no: could not connect to host
 nopol.de: could not connect to host
 norandom.com: could not connect to host
 norb.at: could not connect to host
-nord-restaurant-bar.de: did not receive HSTS header
+nord-restaurant-bar.de: could not connect to host
 norden.eu.org: could not connect to host
 nordic-survival.de: could not connect to host
 nordiccasinocommunity.com: did not receive HSTS header
@@ -20737,27 +22927,33 @@ normantobar.com: could not connect to host
 norrkemi.se: could not connect to host
 north.supply: could not connect to host
 northbayvillage-fl.gov: did not receive HSTS header
+northbrisbaneapartments.com.au: could not connect to host
 northcountykiaparts.com: could not connect to host
 northcutt.com: did not receive HSTS header
+northernhamsterclub.com: could not connect to host
 northernmuscle.ca: could not connect to host
 northernpage.com: did not receive HSTS header
+northumbriagames.co.uk: could not connect to host
 northwest-events.co.uk: could not connect to host
 northwoodsfish.com: could not connect to host
 nosbenevolesontdutalent.com: could not connect to host
 nosecretshop.com: could not connect to host
+nosedoctor.net: could not connect to host
 nosfermiers.com: could not connect to host
 nospoint.cz: could not connect to host
 nosproduitsdequalite.fr: did not receive HSTS header
+nosqlzoo.net: could not connect to host
 nossasenhoradaconceicao.com.br: did not receive HSTS header
 nossasenhoradodesterro.com.br: could not connect to host
 nostosh.eu.org: could not connect to host
 nostraspace.com: could not connect to host
+nosuch.site: could not connect to host
 nosuch.website: could not connect to host
 nosx.tk: could not connect to host
 not-a.link: could not connect to host
 not-equal.me: could not connect to host
 nota-web.com: could not connect to host
-notablog.xyz: did not receive HSTS header
+notablog.xyz: could not connect to host
 notadd.io: could not connect to host
 notadd.store: could not connect to host
 notalone.gov: could not connect to host
@@ -20767,6 +22963,7 @@ notarvysocina.cz: did not receive HSTS header
 notboring.co.uk: could not connect to host
 notdienstreform-nordrhein.de: could not connect to host
 note7forever.com: could not connect to host
+notengosuelto.com: did not receive HSTS header
 notenoughtime.de: could not connect to host
 notequal.me: could not connect to host
 notes24x7.com: could not connect to host
@@ -20777,6 +22974,7 @@ notevencode.com: could not connect to host
 nothing.org.uk: could not connect to host
 nothingprivate.ml: max-age too low: 0
 noticia.do: did not receive HSTS header
+noticiasdehumor.com: did not receive HSTS header
 noticiasymas.cl: could not connect to host
 notificami.com: could not connect to host
 notify.moe: did not receive HSTS header
@@ -20789,15 +22987,17 @@ nottheonion.net: did not receive HSTS header
 nottori.com: could not connect to host
 notypiesni.sk: did not receive HSTS header
 nou.si: did not receive HSTS header
+noujoumtounes.com: did not receive HSTS header
 nouma.fr: did not receive HSTS header
 nouvelle-vague-saint-cast.fr: did not receive HSTS header
 nova-elearning.com: could not connect to host
 nova-it.pl: did not receive HSTS header
 nova-kultura.org: could not connect to host
 nova.com.hk: did not receive HSTS header
-novacal.ga: did not receive HSTS header
+novacal.ga: could not connect to host
 novaco.in: max-age too low: 3600
 novacraft.me: could not connect to host
+novalite.rs: could not connect to host
 novaopcaofestas.com.br: could not connect to host
 novaorbis.org: could not connect to host
 novatrucking.de: could not connect to host
@@ -20806,10 +23006,10 @@ novawatch.de: could not connect to host
 novecity.cloud: could not connect to host
 novecity.info: could not connect to host
 novelabs.de: could not connect to host
-novelabs.eu: could not connect to host
-novelrealm.com: did not receive HSTS header
+novelabs.eu: did not receive HSTS header
 novelshouse.com: could not connect to host
 novelvyretraite.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+novicecamp.com: could not connect to host
 novodiegomaia.com.br: could not connect to host
 novtest.ru: did not receive HSTS header
 nowall.online: could not connect to host
@@ -20820,10 +23020,11 @@ nowremindme.com: could not connect to host
 noxi.ga: could not connect to host
 noys.info: did not receive HSTS header
 nozoe.jp: could not connect to host
-npm.li: did not receive HSTS header
-npol.de: could not connect to host
+npm.li: could not connect to host
+npol.de: did not receive HSTS header
 npool.org: could not connect to host
-nq7.pl: could not connect to host
+npw.net: did not receive HSTS header
+nq7.pl: did not receive HSTS header
 nqesh.com: could not connect to host
 nqeshreviewer.com: could not connect to host
 nrc-gateway.gov: could not connect to host
@@ -20831,6 +23032,7 @@ nrdstd.io: could not connect to host
 nrechn.de: could not connect to host
 nrizzio.me: could not connect to host
 nrnjn.xyz: did not receive HSTS header
+nrv-linux.io: could not connect to host
 nrvnastudios.com: could not connect to host
 nsa.lol: could not connect to host
 nsa.wtf: could not connect to host
@@ -20842,6 +23044,7 @@ nsdev.cn: did not receive HSTS header
 nsellier.fr: did not receive HSTS header
 nshost.ro: did not receive HSTS header
 nsmail.cn: could not connect to host
+nspeaks.com: did not receive HSTS header
 nsradiology.net: could not connect to host
 nst-maroc.com: could not connect to host
 nstatic.xyz: could not connect to host
@@ -20851,36 +23054,37 @@ nstyleintl.ca: did not receive HSTS header
 nsure.us: could not connect to host
 nsweb.solutions: could not connect to host
 nszipline.com: did not receive HSTS header
+nt-catala.com: could not connect to host
 ntbs.pro: could not connect to host
 ntcoss.org.au: did not receive HSTS header
 nth.sh: did not receive HSTS header
-ntpana.com: did not receive HSTS header
+ntpana.com: could not connect to host
 ntse.xyz: could not connect to host
 ntut.net: could not connect to host
+ntwt.us: did not receive HSTS header
 nu-pogodi.net: could not connect to host
-nu3.at: did not receive HSTS header
-nu3.ch: did not receive HSTS header
 nu3.co.uk: could not connect to host
-nu3.com: did not receive HSTS header
-nu3.de: did not receive HSTS header
-nu3.dk: did not receive HSTS header
+nu3.com: could not connect to host
+nu3.dk: could not connect to host
 nu3.fi: could not connect to host
-nu3.fr: did not receive HSTS header
-nu3.no: did not receive HSTS header
-nu3.se: did not receive HSTS header
+nu3.fr: max-age too low: 7889238
+nu3.no: could not connect to host
+nu3.se: could not connect to host
 nub-aptech.com: did not receive HSTS header
 nube.ninja: did not receive HSTS header
 nubella.com.au: did not receive HSTS header
 nubeslayer.com: could not connect to host
+nubu.at: could not connect to host
 nuclea.site: could not connect to host
 nuclear-crimes.com: did not receive HSTS header
 nuclearcrimes.com: did not receive HSTS header
 nuclearcrimes1.com: did not receive HSTS header
-nucleosynth.space: could not connect to host
 nucleuscore.org: could not connect to host
+nucleuspanel.com: could not connect to host
 nudel.ninja: could not connect to host
 nudes.ovh: could not connect to host
 nudestpics.com: did not receive HSTS header
+nuestratecnologia.com: could not connect to host
 nufla.de: could not connect to host
 nugetdependencies.com: could not connect to host
 nuiguru.me: could not connect to host
@@ -20891,14 +23095,15 @@ nulap.com: did not receive HSTS header
 null-pointer.eu: did not receive HSTS header
 null-sec.ru: could not connect to host
 null.cat: did not receive HSTS header
-null.tips: could not connect to host
-nullchan.org: did not receive HSTS header
+null.tips: did not receive HSTS header
+nullchan.org: could not connect to host
 nullpoint.at: did not receive HSTS header
 nullpointer.io: did not receive HSTS header
 nullpro.com: could not connect to host
 nulltime.net: could not connect to host
 numericacu.com: did not receive HSTS header
 numero-di-telefono.it: did not receive HSTS header
+numerossanos.com.ar: did not receive HSTS header
 numis.tech: could not connect to host
 numista.com: did not receive HSTS header
 numm.fr: did not receive HSTS header
@@ -20906,6 +23111,7 @@ nuos.org: could not connect to host
 nuovamoda.al: could not connect to host
 nup.pw: could not connect to host
 nupef.org.br: did not receive HSTS header
+nuquery.org: could not connect to host
 nurseone.ca: did not receive HSTS header
 nurserybook.co: did not receive HSTS header
 nursingschool.network: could not connect to host
@@ -20913,17 +23119,18 @@ nurture.be: did not receive HSTS header
 nusku.biz: did not receive HSTS header
 nut.services: could not connect to host
 nutonic-sports.com: did not receive HSTS header
-nutri-spec.me: did not receive HSTS header
+nutriciametabolics-shop.de: could not connect to host
 nutricuerpo.com: did not receive HSTS header
 nutrieduca.com: could not connect to host
 nutrifyyourself.com: could not connect to host
-nutritionculture.com: could not connect to host
+nutritionculture.com: did not receive HSTS header
 nutrivisa.com.br: could not connect to host
 nutsandboltsmedia.com: did not receive HSTS header
+nuttyveg.com: could not connect to host
 nuva.hu: could not connect to host
 nuvospineandsports.com: did not receive HSTS header
 nuwaterglobal.com: could not connect to host
-nv.gw: did not receive HSTS header
+nv.gw: could not connect to host
 nvcogct.gov: did not receive HSTS header
 nve-qatar.com: did not receive HSTS header
 nvlocalbusiness.com: did not receive HSTS header
@@ -20935,9 +23142,8 @@ nwork.media: could not connect to host
 nwr-waffenbuch.de: did not receive HSTS header
 nwshell.com: could not connect to host
 nx42.pw: could not connect to host
-nxit.ca: could not connect to host
-nxt.sh: did not receive HSTS header
-nyanco.space: could not connect to host
+nxt.sh: could not connect to host
+nyanco.space: did not receive HSTS header
 nyanpasu.tv: could not connect to host
 nyatane.com: could not connect to host
 nyazeeland.guide: could not connect to host
@@ -20946,48 +23152,50 @@ nydnxs.com: did not receive HSTS header
 nyesider.org: could not connect to host
 nyffo.com: did not receive HSTS header
 nyip.co.uk: could not connect to host
-nylonfeetporn.com: could not connect to host
+nylonfeetporn.com: did not receive HSTS header
 nyonator.info: could not connect to host
 nyored.com: did not receive HSTS header
 nyphox.net: could not connect to host
-nys-hk.com: did not receive HSTS header
+nys-hk.com: could not connect to host
 nysepho.pw: could not connect to host
-nysifclaimcentral.com: did not receive HSTS header
+nysifclaimcentral.com: could not connect to host
 nystart.no: did not receive HSTS header
 nyushikaikaku.net: did not receive HSTS header
 nyxi.eu: did not receive HSTS header
 nyyu.tk: could not connect to host
 nz.search.yahoo.com: max-age too low: 172800
 nzbr.de: did not receive HSTS header
+nzbs.com: did not receive HSTS header
 nzbs.io: could not connect to host
 nzdmo.govt.nz: could not connect to host
 nzmk.cz: could not connect to host
 nzquakes.maori.nz: could not connect to host
 o-loska.cz: did not receive HSTS header
 o-rickroll-y.pw: could not connect to host
-o-s.no: did not receive HSTS header
-o00228.com: could not connect to host
 o0c.cc: could not connect to host
 o0o.one: did not receive HSTS header
 o2careers.co.uk: did not receive HSTS header
 o30365.com: could not connect to host
-o5.cx: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+o3c.com.br: did not receive HSTS header
 o5197.co: could not connect to host
 o6729.co: could not connect to host
 o6729.com: did not receive HSTS header
 o6957.co: could not connect to host
 o6957.com: did not receive HSTS header
+o81365.com: did not receive HSTS header
+o81818.com: did not receive HSTS header
+o82365.com: did not receive HSTS header
 o8b.club: could not connect to host
 o9297.co: could not connect to host
-o9397.com: could not connect to host
-o9721.com: could not connect to host
+o9397.com: did not receive HSTS header
 o9728.co: could not connect to host
-oakandresin.co: did not receive HSTS header
+oakandresin.co: could not connect to host
+oaken.duckdns.org: could not connect to host
 oaklands.co.za: did not receive HSTS header
-oaksbloom.com: could not connect to host
+oaksbloom.com: did not receive HSTS header
 oaktonhouseandgardens.com: could not connect to host
+oaktravel.nl: did not receive HSTS header
 oanalista.com.br: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-oasis-conference.org.nz: could not connect to host
 oasis.mobi: could not connect to host
 oatycloud.spdns.de: could not connect to host
 oauth-dropins.appspot.com: did not receive HSTS header
@@ -20998,6 +23206,7 @@ oberhof.co: could not connect to host
 oberhofjuice.com: could not connect to host
 obioncountytn.gov: did not receive HSTS header
 obistarltd.com: did not receive HSTS header
+obitech.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 objectif-leger.com: did not receive HSTS header
 oblikdom.pro: did not receive HSTS header
 oblikdom.ru: did not receive HSTS header
@@ -21014,28 +23223,31 @@ obsydian.org: could not connect to host
 obu4alka.ru: did not receive HSTS header
 oc-minecraft.com: could not connect to host
 ocapic.com: could not connect to host
-occmon.net: did not receive HSTS header
+occmon.net: could not connect to host
 occupymedia.org: could not connect to host
 ocdadmin.com: could not connect to host
+oceancity4sales.com: did not receive HSTS header
 ocelot.help: did not receive HSTS header
 ochaken.cf: could not connect to host
 ochrebridge.com: could not connect to host
+ociaw.com: could not connect to host
 ocloudhost.com: could not connect to host
 ocmeulebeke.be: did not receive HSTS header
 ocponj.gov: did not receive HSTS header
 ocrami.us: did not receive HSTS header
 octa.store: could not connect to host
-octagongroup.co: could not connect to host
 octal.es: did not receive HSTS header
 octanio.com: did not receive HSTS header
-octava.ua: did not receive HSTS header
 octavus.it: did not receive HSTS header
 octo.im: could not connect to host
 octocat.ninja: could not connect to host
 octod.tk: could not connect to host
+octofox.de: did not receive HSTS header
 octohedralpvp.tk: could not connect to host
 octohost.net: could not connect to host
 octomist.com: did not receive HSTS header
+octopus-cs.fr: did not receive HSTS header
+octothorpe.ninja: did not receive HSTS header
 ocwr.gov: did not receive HSTS header
 oddtime.net: could not connect to host
 odense3dprint.dk: could not connect to host
@@ -21044,6 +23256,7 @@ odin.xxx: could not connect to host
 odinkapital.no: did not receive HSTS header
 odinoffice.no: did not receive HSTS header
 odisealinux.com: did not receive HSTS header
+odonti.com: did not receive HSTS header
 odosblog.de: could not connect to host
 oducs.org: could not connect to host
 odvps.com: did not receive HSTS header
@@ -21055,6 +23268,7 @@ oemspace.nl: could not connect to host
 of2m.fr: did not receive HSTS header
 ofcourselanguages.com: could not connect to host
 ofcss.com: did not receive HSTS header
+ofda.gov: could not connect to host
 ofer.site: could not connect to host
 off-the-clock.us: could not connect to host
 offenedialoge.de: did not receive HSTS header
@@ -21062,7 +23276,7 @@ offersgame.com: could not connect to host
 offerstone.cl: could not connect to host
 offfbynight.be: did not receive HSTS header
 offgames.io: could not connect to host
-offgames.pro: could not connect to host
+offgames.pro: did not receive HSTS header
 office-morimoto.com: did not receive HSTS header
 office-ruru.com: could not connect to host
 officeclub.com.mx: did not receive HSTS header
@@ -21077,6 +23291,7 @@ offshore-unternehmen.com: could not connect to host
 offshorefirma-gruenden.com: could not connect to host
 offtherails.ie: could not connect to host
 oficinadocelular.com.br: could not connect to host
+ofileo.fr: could not connect to host
 ofo2.com: could not connect to host
 ofsetas.lt: could not connect to host
 oganek.ie: could not connect to host
@@ -21087,10 +23302,13 @@ oglen.ca: could not connect to host
 ogocare.com: did not receive HSTS header
 ogogoshop.com: could not connect to host
 ogrodywstudniach.pl: did not receive HSTS header
+ohadsoft.com: could not connect to host
+ohari5336.in: did not receive HSTS header
 ohayosoro.me: could not connect to host
 ohioag.gov: could not connect to host
 ohioago.gov: could not connect to host
 ohiobusinesscentral.gov: could not connect to host
+ohiohealthfortune100.com: did not receive HSTS header
 ohiosos.gov: could not connect to host
 ohiostateparks.gov: could not connect to host
 ohiot21.gov: could not connect to host
@@ -21099,7 +23317,7 @@ ohling.org: could not connect to host
 ohma.ga: did not receive HSTS header
 ohmayonnaise.com: could not connect to host
 ohnemusik.com: did not receive HSTS header
-ohohrazi.com: could not connect to host
+ohohrazi.com: did not receive HSTS header
 ohreally.de: could not connect to host
 oiaio.cn: did not receive HSTS header
 oiepoie.nl: could not connect to host
@@ -21111,26 +23329,31 @@ oirealtor.com: did not receive HSTS header
 oishioffice.com: did not receive HSTS header
 ojanaho.com: did not receive HSTS header
 ojbk.eu: could not connect to host
-ojeremy.com: did not receive HSTS header
 ojk.me: could not connect to host
 ojls.co: could not connect to host
+okada-touki.jp: did not receive HSTS header
 okanaganrailtrail.ca: max-age too low: 0
-okane.love: did not receive HSTS header
-okashi.me: did not receive HSTS header
+okane.love: could not connect to host
 okchicas.com: did not receive HSTS header
+okewp.com: could not connect to host
+okhrana.agency: could not connect to host
+okin-jp.net: did not receive HSTS header
 oklahomamoversassociation.org: could not connect to host
 oklahomanotepro.com: could not connect to host
 okok-rent.com: could not connect to host
 okok.rent: could not connect to host
-okoris.net: could not connect to host
-oktoberfeststore.nl: could not connect to host
+oktoberfeststore.nl: did not receive HSTS header
 oktomus.com: did not receive HSTS header
+oku-nara.com: did not receive HSTS header
 okuscapital.com: did not receive HSTS header
 okutama.in.th: could not connect to host
 olandiz.com: did not receive HSTS header
 olcso-vps-szerver.hu: could not connect to host
 oldandyounglesbians.us: did not receive HSTS header
+oldcity.tk: could not connect to host
 oldenglishsheepdog.com.br: could not connect to host
+oldnews.news: did not receive HSTS header
+oldonyosafaris.com: could not connect to host
 oldtimer-trifft-flugplatz.de: did not receive HSTS header
 oleron.fr: did not receive HSTS header
 olgui.net: could not connect to host
@@ -21140,7 +23363,6 @@ olightstore.com: did not receive HSTS header
 oliode.tk: could not connect to host
 olivejs.com: could not connect to host
 oliveraiedelabastideblanche.fr: did not receive HSTS header
-oliverfaircliff.com: could not connect to host
 olivierlemoal.fr: did not receive HSTS header
 olivlabs.com: could not connect to host
 ollehbizev.co.kr: could not connect to host
@@ -21150,8 +23372,10 @@ ols.io: did not receive HSTS header
 olswangtrainees.com: could not connect to host
 olygazoo.com: could not connect to host
 olympe-transport.fr: did not receive HSTS header
+olympicfitness.com.mx: could not connect to host
 omacostudio.com: could not connect to host
 omanlover.org: did not receive HSTS header
+omaosurveys.org: did not receive HSTS header
 omar.yt: did not receive HSTS header
 omarh.net: could not connect to host
 omarsuniagamusic.ga: could not connect to host
@@ -21166,28 +23390,29 @@ ominto.com: max-age too low: 0
 omise.co: did not receive HSTS header
 ommahpost.com: did not receive HSTS header
 omniasl.com: could not connect to host
-omnilab.tech: could not connect to host
+omnilab.tech: did not receive HSTS header
 omnisafira.com: did not receive HSTS header
 omniscimus.net: could not connect to host
 omniti.com: did not receive HSTS header
-omorashi.org: did not receive HSTS header
 omquote.gq: could not connect to host
 omretreats.net: could not connect to host
 omskit.ru: could not connect to host
 omyogarishikesh.com: did not receive HSTS header
 on-te.ch: could not connect to host
+onarto.com: did not receive HSTS header
 onazikgu.com: could not connect to host
-once.eu.org: could not connect to host
-ondrejhoralek.cz: did not receive HSTS header
+ondiet.biz: could not connect to host
+one---line.com: did not receive HSTS header
 one-pe.com: could not connect to host
 onearth.one: could not connect to host
 oneb4nk.com: could not connect to host
+oneclickjailbreak.com: could not connect to host
 oneclickonejob.com: did not receive HSTS header
 onecloud.lt: did not receive HSTS header
 onecycling.my: could not connect to host
 onecycling.world: could not connect to host
 onedegreehealth.com: did not receive HSTS header
-onedot.nl: could not connect to host
+onedot.nl: max-age too low: 10368000
 onefour.co: did not receive HSTS header
 onefour.ga: could not connect to host
 onegoodthingbyjillee.com: did not receive HSTS header
@@ -21196,20 +23421,24 @@ onehourloan.com: could not connect to host
 oneidentity.me: could not connect to host
 oneindex.tk: could not connect to host
 oneiros.cc: could not connect to host
-onelawsuit.com: did not receive HSTS header
+onelawsuit.com: could not connect to host
 oneminutefilm.tv: could not connect to host
 oneminutetomindfulness.com: could not connect to host
 onemusou.com: could not connect to host
-onepluscamps.com: could not connect to host
+onepluscamps.com: did not receive HSTS header
+onepointsafeband.ca: could not connect to host
+onepointsafeband.com: could not connect to host
 onepopstore.com: could not connect to host
-onesearay.com: did not receive HSTS header
+onesearay.com: could not connect to host
 oneso.win: could not connect to host
 onespiritinc.com: did not receive HSTS header
 onestepfootcare.com: did not receive HSTS header
-onestop-study.com: did not receive HSTS header
+onestop-study.com: could not connect to host
 onet.space: could not connect to host
 onetech.it: could not connect to host
 onetly.com: could not connect to host
+onetwosweetatelier.com: could not connect to host
+onewaymail.com: could not connect to host
 onewebdev.info: could not connect to host
 oneworldbank.com: did not receive HSTS header
 onewpst.com: could not connect to host
@@ -21222,30 +23451,33 @@ onionplay.live: did not receive HSTS header
 onionplay.org: did not receive HSTS header
 onionsburg.com: could not connect to host
 onkfaktor.de: could not connect to host
+online-biblio.tk: max-age too low: 2628000
 online-bouwmaterialen.nl: did not receive HSTS header
 online-casino.eu: did not receive HSTS header
 online-consulting-corp.com: could not connect to host
-online-consulting-corp.fr: could not connect to host
+online-consulting-corp.fr: did not receive HSTS header
 online-horoskop.ch: did not receive HSTS header
 online-results.dk: did not receive HSTS header
 online-wetten.de: did not receive HSTS header
-online.marketing: did not receive HSTS header
+online.marketing: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 online.net.gr: could not connect to host
 onlinebiller.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 onlinebillingform.com: could not connect to host
 onlinecasino.vlaanderen: did not receive HSTS header
 onlinecompliance.org: did not receive HSTS header
-onlinecorners.com: could not connect to host
-onlinedeposit.us: could not connect to host
+onlinecorners.com: did not receive HSTS header
+onlinedeposit.us: did not receive HSTS header
 onlinefashion.it: could not connect to host
+onlinehashfollow.com: could not connect to host
 onlineinfographic.com: could not connect to host
+onlineinsurancespot.com: did not receive HSTS header
 onlinekasino.de: did not receive HSTS header
 onlinelighting.com.au: did not receive HSTS header
-onlinemoviewatch.org: did not receive HSTS header
 onlinepollsph.com: could not connect to host
 onlineporno.tv: did not receive HSTS header
 onlineporno.xyz: did not receive HSTS header
 onlineprofecional.com: could not connect to host
+onlinerollout.de: did not receive HSTS header
 onlineschadestaat.nl: did not receive HSTS header
 onlinespielothek.com: could not connect to host
 onlinewetten.de: could not connect to host
@@ -21268,9 +23500,11 @@ onovlena.dn.ua: could not connect to host
 onpatient.com: did not receive HSTS header
 onpermit.net: could not connect to host
 onsennuie.fr: did not receive HSTS header
+onshuistrust.co.za: could not connect to host
 onsite4u.de: could not connect to host
 onsitemassageco.com: did not receive HSTS header
 onstud.com: could not connect to host
+ontariocountyny.gov: could not connect to host
 onthe.network: could not connect to host
 ontheboard.com: could not connect to host
 onthecheap.store: could not connect to host
@@ -21288,41 +23522,43 @@ oo6729.co: could not connect to host
 oo6729.com: did not receive HSTS header
 oo6957.co: could not connect to host
 oo9297.co: could not connect to host
-oo9397.com: could not connect to host
-oo9721.com: could not connect to host
+oo9397.com: did not receive HSTS header
+oo9721.com: did not receive HSTS header
 oo9728.co: could not connect to host
 ooeste.com: could not connect to host
 oogartsennet.nl: could not connect to host
-ookjesprookje.nl: could not connect to host
 ooooush.co.uk: could not connect to host
 oopsis.com: could not connect to host
 oopsmycase.com: could not connect to host
 oopsorup.com: could not connect to host
-oosoo.org: could not connect to host
+oortcast.com: could not connect to host
+oosolutions.nl: could not connect to host
 op11.co.uk: could not connect to host
 opadaily.com: could not connect to host
-opatut.de: did not receive HSTS header
 opcaobolsas.com.br: could not connect to host
 opcionpublicitaria.pe: did not receive HSTS header
+open-ctp.com: could not connect to host
 open-ctp.net: could not connect to host
+open-ctp.org: could not connect to host
 open-domotics.info: could not connect to host
 open-mx.de: could not connect to host
+open-novel.work: could not connect to host
 open-to-repair.fr: max-age too low: 86400
-open.net.sa: did not receive HSTS header
 openacademies.com: did not receive HSTS header
 openas.org: could not connect to host
 openbankproject.com: did not receive HSTS header
-openbsd.id: could not connect to host
-openbsd.rocks: did not receive HSTS header
+openbsd.id: did not receive HSTS header
+openbsd.rocks: could not connect to host
 openclub24.ru: could not connect to host
 opencluster.at: could not connect to host
 openconcept.no: did not receive HSTS header
 openconnect.com.au: could not connect to host
-opencpes.net: did not receive HSTS header
-opencpes.org: could not connect to host
+opencpes.net: could not connect to host
 openctp.com: could not connect to host
 openctp.net: could not connect to host
+openctp.org: could not connect to host
 opendesk.cc: did not receive HSTS header
+opendoorcounselingpa.com: did not receive HSTS header
 openevic.info: could not connect to host
 opengateway.fr: did not receive HSTS header
 opengg.me: could not connect to host
@@ -21331,6 +23567,7 @@ openiocdb.com: could not connect to host
 openmetals.com: could not connect to host
 openmind-shop.de: did not receive HSTS header
 openmirrors.cf: could not connect to host
+openmirrors.ml: could not connect to host
 openmtbmap.org: did not receive HSTS header
 openpresentes.com.br: could not connect to host
 openpriv.pw: could not connect to host
@@ -21344,7 +23581,6 @@ opensourcehouse.net: could not connect to host
 openspace.xxx: did not receive HSTS header
 opensrd.com: could not connect to host
 openssf.org: could not connect to host
-openstakes.com: did not receive HSTS header
 opentexon.com: could not connect to host
 openverse.com: could not connect to host
 openwaveguide.de: could not connect to host
@@ -21352,6 +23588,7 @@ openxmpp.com: could not connect to host
 operad.fr: could not connect to host
 operationforever.com: could not connect to host
 operationsafeescape.org: did not receive HSTS header
+operrtel.com: did not receive HSTS header
 opiates.net: did not receive HSTS header
 opim.ca: did not receive HSTS header
 opinion8td.com: did not receive HSTS header
@@ -21359,23 +23596,21 @@ opinionicentrifuga.it: could not connect to host
 opinionipannolini.it: could not connect to host
 oportho.com.br: did not receive HSTS header
 oportunidadesemfoco.com.br: could not connect to host
-oposicionescorreos.com.es: could not connect to host
-oposicionesertzaintza.com.es: could not connect to host
 opp.ag: did not receive HSTS header
 oppag.com.br: did not receive HSTS header
-oppaiti.me: could not connect to host
 opperwall.net: could not connect to host
 opposer.me: could not connect to host
-oppress.life: did not receive HSTS header
+oppress.life: could not connect to host
+oprbox.com: could not connect to host
 opsafewinter.net: could not connect to host
-opsbears.com: could not connect to host
+opsbears.com: did not receive HSTS header
 opsnotepad.com: could not connect to host
 opsre.net: could not connect to host
 opstacks.com: could not connect to host
+opstory.com: could not connect to host
 opteamax.eu: did not receive HSTS header
 optenhoefel.de: could not connect to host
 optiekzien.nl: did not receive HSTS header
-optigear.nl: could not connect to host
 optimal-e.com: did not receive HSTS header
 optimised.cloud: could not connect to host
 optimised.io: could not connect to host
@@ -21403,34 +23638,38 @@ oracaodocredo.com.br: could not connect to host
 oraculum.cz: did not receive HSTS header
 orangefinanse.com.pl: could not connect to host
 orangehattech.com: did not receive HSTS header
-orangekey.tk: could not connect to host
+orangekey.tk: did not receive HSTS header
+orangenj.gov: could not connect to host
 orangenuts.in: could not connect to host
 oranges.tokyo: did not receive HSTS header
 orangesquash.org.uk: did not receive HSTS header
 oranic.com: could not connect to host
 orbiosales.com: could not connect to host
+orbitabaja.com: could not connect to host
 orbitcom.de: did not receive HSTS header
 orbitdefence.co.uk: could not connect to host
 orbograph-hrcm.com: could not connect to host
-orchids.co.jp: did not receive HSTS header
-orchidspaper.com: did not receive HSTS header
+orchids.co.jp: could not connect to host
+orchidspaper.com: could not connect to host
+orcuyo.com: could not connect to host
 ordekho.com: did not receive HSTS header
 order.one: could not connect to host
 ordereat.fr: could not connect to host
+orderessay.net: did not receive HSTS header
 orderlounge.de: did not receive HSTS header
 ordernow.at: could not connect to host
 orderswift.com: did not receive HSTS header
 ordoh.com: could not connect to host
 ordr.mobi: could not connect to host
-ore.cool: could not connect to host
-orebolt.cz: could not connect to host
+orebolt.cz: did not receive HSTS header
 oref-idf.com: could not connect to host
 oref-idf.net: could not connect to host
 oref-idf.org: could not connect to host
+oregon2020census.gov: max-age too low: 0
 oregonmu.org: could not connect to host
 oreka.online: could not connect to host
 orelavtomaster.ru: could not connect to host
-orembaeviajes.tur.ar: could not connect to host
+orfelios.com: could not connect to host
 orfeo-engineering.ch: could not connect to host
 organic-superfood.net: could not connect to host
 organicae.com: did not receive HSTS header
@@ -21438,9 +23677,10 @@ organicnature.dk: did not receive HSTS header
 organicskincare.com: did not receive HSTS header
 organix.ma: could not connect to host
 orgatech-gmbh.de: did not receive HSTS header
+orgyporngroup.com: could not connect to host
 oricejoc.com: could not connect to host
+orientalart.nl: could not connect to host
 orientravelmacas.com: could not connect to host
-originalmockups.com: did not receive HSTS header
 originalsport.com.br: could not connect to host
 origincoffee.com: did not receive HSTS header
 origincoffee.nz: did not receive HSTS header
@@ -21448,32 +23688,34 @@ orion-universe.com: did not receive HSTS header
 orioncokolada.cz: did not receive HSTS header
 orioncustompcs.com: could not connect to host
 oriondynamic.be: did not receive HSTS header
-orionfcu.com: could not connect to host
+orionfcu.com: did not receive HSTS header
 oriongames.eu: did not receive HSTS header
 orionrebellion.com: did not receive HSTS header
 orleika.ml: could not connect to host
+orologidicristina.com: did not receive HSTS header
 orovillelaw.com: could not connect to host
 oroweatorganic.com: could not connect to host
 orro.ro: did not receive HSTS header
 ortaev.tk: could not connect to host
 orthocop.cz: could not connect to host
 orthodocspro.com: did not receive HSTS header
-orthodontiste-geneve-docteur-rioux.com: could not connect to host
 orthodoxy.lt: did not receive HSTS header
 ortizmario.com: could not connect to host
 ortodonciaian.com: did not receive HSTS header
+ortopedio.pl: did not receive HSTS header
+ortopedistamarcelocosta.com.br: could not connect to host
 orui.com.br: could not connect to host
-orum.in: max-age too low: 0
 orvibo.com.ec: did not receive HSTS header
 orvitdesign.com: could not connect to host
 orxideya.az: did not receive HSTS header
 orz.uno: did not receive HSTS header
-os-chrome.ru: did not receive HSTS header
+os-chrome.ru: could not connect to host
 osaiyuwu.com: could not connect to host
 osaka-onakura.com: did not receive HSTS header
 oscamp.eu: could not connect to host
 oscarmashauri.com: could not connect to host
 oscarproductions.no: did not receive HSTS header
+oscloud.com: could not connect to host
 oscloud.com.ua: could not connect to host
 oscreen.me: could not connect to host
 oscreen.org: could not connect to host
@@ -21481,12 +23723,11 @@ oscsdp.cz: could not connect to host
 osdls.gov: did not receive HSTS header
 osereso.tn: could not connect to host
 osha-kimi.com: did not receive HSTS header
-oshanko.de: could not connect to host
+oshanko.de: did not receive HSTS header
 oshell.me: could not connect to host
-oshershalom.com: did not receive HSTS header
-oshinagaki.jp: did not receive HSTS header
+oshinagaki.jp: could not connect to host
 osirisrp.online: could not connect to host
-oslfoundation.org: did not receive HSTS header
+oslfoundation.org: could not connect to host
 osmestres.com: did not receive HSTS header
 osp.cx: could not connect to host
 osprecos.com.br: did not receive HSTS header
@@ -21494,15 +23735,19 @@ osprecos.pt: did not receive HSTS header
 ospree.me: did not receive HSTS header
 ossan-kobe-gourmet.com: did not receive HSTS header
 ossbinaries.com: could not connect to host
-osteammate.com: did not receive HSTS header
+ostachstore.com: did not receive HSTS header
+ostan-collections.net: did not receive HSTS header
+osteammate.com: could not connect to host
 ostendorf.com: did not receive HSTS header
+osteolaclusaz.com: did not receive HSTS header
 osticketawesome.com: did not receive HSTS header
 osusume-houhou.com: could not connect to host
 oswaldmattgroup.com: did not receive HSTS header
 osworx.net: did not receive HSTS header
-osxentwicklerforum.de: max-age too low: 2592000
+osxentwicklerforum.de: did not receive HSTS header
+ota365.com: did not receive HSTS header
 otako.pl: did not receive HSTS header
-otakucloud.net: could not connect to host
+otakucloud.net: did not receive HSTS header
 otakuworld.de: could not connect to host
 otakuyun.com: could not connect to host
 otchecker.com: could not connect to host
@@ -21510,21 +23755,22 @@ othercode.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERR
 otherkinforum.com: could not connect to host
 othermedia.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 otherstuff.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-otichi.com: could not connect to host
+otichi.com: did not receive HSTS header
 otinane.eu: could not connect to host
 otmns.net: could not connect to host
 otmo7.com: did not receive HSTS header
+otoblok.com: did not receive HSTS header
 otokonna.com: could not connect to host
+otomobilforumu.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 otrsdemo.hu: did not receive HSTS header
 otsu.beer: could not connect to host
 ottospora.nl: could not connect to host
 otus.ru: did not receive HSTS header
-ouac.cn: could not connect to host
-ouglor.com: could not connect to host
+ouaibe.qc.ca: could not connect to host
 ouimoove.com: did not receive HSTS header
-ouin.land: did not receive HSTS header
 oumyshop.com: did not receive HSTS header
 ouowo.gq: could not connect to host
+our-box.de: could not connect to host
 our-box.net: could not connect to host
 ourbank.com: did not receive HSTS header
 ourchoice2016.com: could not connect to host
@@ -21537,19 +23783,14 @@ outerlimitsdigital.com: could not connect to host
 outfit-weimar.eu: could not connect to host
 outlines.xyz: did not receive HSTS header
 outplnr.fr: could not connect to host
-outpostinfo.com: could not connect to host
-output.clothing: could not connect to host
 outreachbuddy.com: could not connect to host
 outsider.im: could not connect to host
-outstandingpromotion.com: did not receive HSTS header
-outurnate.com: could not connect to host
 ouvirmusica.com.br: did not receive HSTS header
 ouxiang.me: could not connect to host
 ovabag.com: did not receive HSTS header
 ovabastecedoraindustrial.com: could not connect to host
-ovejabohemia.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ovenapp.io: did not receive HSTS header
-overalglas.nl: could not connect to host
+overalglas.nl: did not receive HSTS header
 overceny.cz: did not receive HSTS header
 overkillshop.com: did not receive HSTS header
 overmark.net: did not receive HSTS header
@@ -21558,29 +23799,28 @@ overrustle.com: [Exception... "Component returned failure code: 0x80004005 (NS_E
 oversight.io: could not connect to host
 overspeed.ddns.net: did not receive HSTS header
 overstappen.nl: did not receive HSTS header
+overstockpromote.com: could not connect to host
+overtrolls.de: did not receive HSTS header
 overture.london: did not receive HSTS header
 overwall.org: could not connect to host
-ovmfinancial.mortgage: max-age too low: 604800
+ovmfinancial.mortgage: could not connect to host
 ovpn.to: could not connect to host
 ovuscloud.de: could not connect to host
 ovwane.com: could not connect to host
-owall.ml: could not connect to host
 owensmith.website: could not connect to host
-owid.cloud: did not receive HSTS header
 owl-hakkei.com: did not receive HSTS header
 owlandrabbitgallery.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 owlishmedia.com: could not connect to host
 owlscrap.ru: could not connect to host
 owncloud.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-owncloud.help: did not receive HSTS header
 owngeek.com: could not connect to host
 ownmovies.fr: could not connect to host
 ownspec.com: could not connect to host
 owothisdiz.pw: could not connect to host
-oxdl.cn: did not receive HSTS header
+oxdl.cn: max-age too low: 5184000
 oxro.co: could not connect to host
 oxro.io: did not receive HSTS header
-oxt.co: did not receive HSTS header
+oxt.co: could not connect to host
 oxygaming.com: did not receive HSTS header
 oxygenabsorbers.com: did not receive HSTS header
 oxygenit.co.za: did not receive HSTS header
@@ -21588,10 +23828,14 @@ oxymc.com: did not receive HSTS header
 oxynux.fr: could not connect to host
 oxynux.xyz: could not connect to host
 oxytocin.org: did not receive HSTS header
+oxyx.tk: could not connect to host
 oxzeth3sboard.com: could not connect to host
 oyashirosama.tokyo: could not connect to host
 oyesunn.com: could not connect to host
+oyk19bgxj8ljpete71edj2tes-9i4oai.com: did not receive HSTS header
+oyosoft.fr: could not connect to host
 oyste.in: could not connect to host
+oyunpat.com: did not receive HSTS header
 ozonitron.com: did not receive HSTS header
 ozonitron.de: did not receive HSTS header
 ozonitron.eu: did not receive HSTS header
@@ -21610,9 +23854,7 @@ p1984.nl: could not connect to host
 p1c.pw: could not connect to host
 p1cn.com: could not connect to host
 p2av.com: could not connect to host
-p3.marketing: did not receive HSTS header
 p30365.com: could not connect to host
-p333aa.com: could not connect to host
 p333eee.com: could not connect to host
 p333hhh.com: could not connect to host
 p333ppp.com: could not connect to host
@@ -21632,17 +23874,40 @@ p58204.com: could not connect to host
 p58205.com: could not connect to host
 p6729.co: could not connect to host
 p6957.co: could not connect to host
-p8r.de: did not receive HSTS header
+p81365.com: did not receive HSTS header
+p81818.com: did not receive HSTS header
+p82365.com: did not receive HSTS header
+p8r.de: could not connect to host
+p9120.com: max-age too low: 2592000
+p9121.com: could not connect to host
+p9125.com: max-age too low: 2592000
+p9136.com: max-age too low: 2592000
+p9161.com: max-age too low: 2592000
+p9162.com: could not connect to host
 p9165.com: could not connect to host
+p9167.com: could not connect to host
+p9195.com: max-age too low: 2592000
+p9196.com: max-age too low: 2592000
 p91aa.com: could not connect to host
+p91ab.com: could not connect to host
+p91ac.com: could not connect to host
+p91ad.com: max-age too low: 2592000
+p91ae.com: max-age too low: 2592000
+p91af.com: max-age too low: 2592000
+p91ag.com: max-age too low: 2592000
+p91ah.com: max-age too low: 2592000
+p91aj.com: could not connect to host
 p9297.co: could not connect to host
-p9721.com: could not connect to host
+p9721.com: did not receive HSTS header
 p9728.co: could not connect to host
 paal.network: could not connect to host
 paarberatung-hn.de: could not connect to host
 paardensportbak.nl: could not connect to host
+pablo.im: could not connect to host
+pabloarteaga.name: could not connect to host
 pablocamino.tk: could not connect to host
 pablorey-art.com: did not receive HSTS header
+pabloroblesminister.com: could not connect to host
 pacco.com.br: did not receive HSTS header
 paceda.nl: could not connect to host
 pachaiyappas.org: could not connect to host
@@ -21663,17 +23928,20 @@ pacoda.de: could not connect to host
 pactf-flag-4boxdpa21ogonzkcrs9p.com: could not connect to host
 pactocore.org: could not connect to host
 pader-deko.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-padianda.com: could not connect to host
+padianda.com: did not receive HSTS header
 padovani.de: did not receive HSTS header
 padrepio.in: did not receive HSTS header
 paducaheic.com: could not connect to host
 paestbin.com: could not connect to host
+pagalsongs.world: could not connect to host
 pagalworld.co: did not receive HSTS header
-pagamentosdigitais.pt: did not receive HSTS header
+pagamentosdigitais.pt: could not connect to host
 pagatuarriendo.cl: could not connect to host
 page: could not connect to host
 page-builders.com: max-age too low: 2592000
-pagedesignshop.com: did not receive HSTS header
+pagedesignhub.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+pagedesignpro.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+pagedesignweb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pageperform.com: did not receive HSTS header
 pagerate.io: did not receive HSTS header
 pages-tocaven.com: could not connect to host
@@ -21681,6 +23949,7 @@ pagetoimage.com: could not connect to host
 pagina.com.mx: did not receive HSTS header
 paginapolitica.ro: did not receive HSTS header
 pahnid.com: could not connect to host
+paidikasymeon.gr: did not receive HSTS header
 paigeglass.com: did not receive HSTS header
 paigejulianne.com: did not receive HSTS header
 paincareehr.com: could not connect to host
@@ -21698,7 +23967,7 @@ paizinhovirgula.com: did not receive HSTS header
 pajonzeck.de: could not connect to host
 paket.io: could not connect to host
 paket.ml: could not connect to host
-paketkreditsuzuki.com: could not connect to host
+paketkreditsuzuki.com: did not receive HSTS header
 pakeystonescholars.gov: did not receive HSTS header
 pakke.de: did not receive HSTS header
 pakowanie-polska.pl: could not connect to host
@@ -21712,10 +23981,11 @@ paleolowcarb.de: did not receive HSTS header
 paleoself.com: could not connect to host
 paleosquawk.com: could not connect to host
 pallas.in: did not receive HSTS header
-pallet.io: did not receive HSTS header
-palmavile.us: did not receive HSTS header
-palmaville.com: did not receive HSTS header
+pallet.io: could not connect to host
+palmavile.us: could not connect to host
+palmaville.com: could not connect to host
 palmer.im: could not connect to host
+pama.fun: did not receive HSTS header
 pamatv.hk: did not receive HSTS header
 pammbook.com: could not connect to host
 pamplona.tv: could not connect to host
@@ -21723,18 +23993,18 @@ pan.tips: could not connect to host
 panaceallc.net: could not connect to host
 panama-gbs.com: did not receive HSTS header
 panamaequity.com: did not receive HSTS header
-panamateakforestry.com: did not receive HSTS header
 panamatrippin.com: could not connect to host
 panascais.de: did not receive HSTS header
 panascais.eu: did not receive HSTS header
 panasproducciones.com: could not connect to host
-panda.tf: did not receive HSTS header
-pandagifts.co: did not receive HSTS header
+pandagifts.co: could not connect to host
 pandapsy.com: could not connect to host
+pandemic.group: could not connect to host
 pandit.tech: did not receive HSTS header
 panelomix.net: did not receive HSTS header
 pangci.xyz: could not connect to host
 panicparts.com: max-age too low: 10540800
+panj.ws: could not connect to host
 panjee.com: max-age too low: 0
 panjee.fr: did not receive HSTS header
 panni.me: did not receive HSTS header
@@ -21747,18 +24017,16 @@ panoxadrez.com.br: did not receive HSTS header
 pansu.space: could not connect to host
 pantallasled.com.mx: did not receive HSTS header
 pantherage.co.uk: could not connect to host
-pants-off.xyz: could not connect to host
 pantsu.cat: did not receive HSTS header
-pao.ge: did not receive HSTS header
+pao.ge: could not connect to host
 paolo565.org: did not receive HSTS header
 papakonstantinou.tk: could not connect to host
 papalytics.com: could not connect to host
 papapa-members.club: could not connect to host
 papatest24.de: could not connect to host
-papeda.net: could not connect to host
+papeda.net: did not receive HSTS header
 papelariadante.com.br: could not connect to host
 paper-driver.biz: did not receive HSTS header
-papercard.co.uk: did not receive HSTS header
 papercrunch.io: could not connect to host
 paperhoney.by: could not connect to host
 papermasters.com: did not receive HSTS header
@@ -21784,7 +24052,7 @@ parav.xyz: did not receive HSTS header
 paravroum.com: did not receive HSTS header
 pardnoy.com: could not connect to host
 parent5446.us: could not connect to host
-parentheseardenne.be: could not connect to host
+parents-as-allies.com: could not connect to host
 parfum-baza.ru: could not connect to host
 pariga.co.uk: could not connect to host
 paris-cyber.fr: did not receive HSTS header
@@ -21795,11 +24063,13 @@ parisvox.info: did not receive HSTS header
 parithy.net: could not connect to host
 parkfans.net: did not receive HSTS header
 parkhillsbaptist.church: did not receive HSTS header
+parkhost.eu: did not receive HSTS header
 parkingplus.co.il: could not connect to host
 parkr.io: could not connect to host
 parksland.net: did not receive HSTS header
 parksubaruoemparts.com: could not connect to host
 parkwithark.com: could not connect to host
+parleu2016.nl: could not connect to host
 parodybit.net: did not receive HSTS header
 parpaing-paillette.net: could not connect to host
 parroquiasanrafaeldegramalote.com: did not receive HSTS header
@@ -21809,10 +24079,11 @@ participatorybudgeting.info: did not receive HSTS header
 particonpsplus.it: could not connect to host
 partijhandel.website: could not connect to host
 partijtjevoordevrijheid.nl: could not connect to host
-partiono.com: did not receive HSTS header
 partirkyoto.jp: did not receive HSTS header
-partiwatch.com: did not receive HSTS header
+partiwatch.com: could not connect to host
 partnerbeam.com: could not connect to host
+partnertaxhub.com: did not receive HSTS header
+partsguysusa.com: could not connect to host
 party-calendar.net: did not receive HSTS header
 partycentrumdebinnenhof.nl: did not receive HSTS header
 partyhaus.ovh: could not connect to host
@@ -21821,6 +24092,7 @@ partyhireformby.co.uk: could not connect to host
 partyshop.ge: did not receive HSTS header
 partyspecialists.com: did not receive HSTS header
 partyvan.eu: could not connect to host
+partyvan.io: could not connect to host
 partyvan.it: could not connect to host
 partyvan.moe: could not connect to host
 partyvan.nl: could not connect to host
@@ -21828,7 +24100,9 @@ partyvan.se: could not connect to host
 pasadenasandwich.co: did not receive HSTS header
 pasadenasandwich.com: did not receive HSTS header
 pasadenasandwichcompany.com: did not receive HSTS header
+pascal-bourhis.net: did not receive HSTS header
 pascal-kannchen.de: did not receive HSTS header
+pascovotes.gov: could not connect to host
 pasportaservo.org: did not receive HSTS header
 passfoto-deinfoto.ch: could not connect to host
 passionbyd.com: did not receive HSTS header
@@ -21840,13 +24114,16 @@ passrhcsa.com: could not connect to host
 passwd.io: did not receive HSTS header
 password.codes: could not connect to host
 password.consulting: could not connect to host
+password.work: could not connect to host
 passwordbox.com: did not receive HSTS header
 passwordrevelator.net: did not receive HSTS header
 passwordscon.com: could not connect to host
+passy.pw: could not connect to host
 pastaf.com: could not connect to host
 pastdream.xyz: could not connect to host
 paste.linode.com: could not connect to host
 pastebin.linode.com: could not connect to host
+pastebin.run: did not receive HSTS header
 pastebin.tw: could not connect to host
 pasteblin.com: could not connect to host
 pastenib.com: could not connect to host
@@ -21860,44 +24137,50 @@ pastorello.cf: could not connect to host
 pastormaremanoabruzes.com.br: could not connect to host
 pastorsuico.com.br: could not connect to host
 pat-edu.org: did not receive HSTS header
+patapwn.com: could not connect to host
 pataua.kiwi: did not receive HSTS header
 paternitydnatest.com: could not connect to host
 paterno-gaming.com: could not connect to host
 patfs.com: did not receive HSTS header
+pathcode.net: did not receive HSTS header
 pathwaytofaith.com: could not connect to host
 patientinsight.net: could not connect to host
 patouille-et-gribouille.fr: could not connect to host
 patriaco.net: did not receive HSTS header
-patriciaramos.pt: did not receive HSTS header
 patrick-omland.de: could not connect to host
 patrick-omland.eu: could not connect to host
 patrick.dark.name: could not connect to host
 patrickbusch.net: could not connect to host
-patricklynch.xyz: did not receive HSTS header
 patrickmcnamara.xyz: did not receive HSTS header
 patrickneuro.de: could not connect to host
 patrickquinn.ca: did not receive HSTS header
+patriotstationatchalfont.com: did not receive HSTS header
 patrykwegrzynek.pl: did not receive HSTS header
 patsch-photography.de: could not connect to host
 patt.us: could not connect to host
 patterson.mp: could not connect to host
+pattonfanatic.com: could not connect to host
 paul-bronski.de: did not receive HSTS header
 paul-kerebel.pro: could not connect to host
+paulandmadge.com: could not connect to host
+paulbrown.ddns.net: could not connect to host
 paulbunyanmls.com: did not receive HSTS header
+paulcloud.fr: could not connect to host
 paulewen.ca: could not connect to host
-paulomonteiro.pt: did not receive HSTS header
+paulineetaugustin.fr: did not receive HSTS header
 paulorochago.com.br: could not connect to host
 paulpetersen.dk: did not receive HSTS header
 paulproell.at: did not receive HSTS header
 paulrudge.codes: could not connect to host
 paulshir.com: could not connect to host
 paulshir.is: could not connect to host
+paulw.io: did not receive HSTS header
 paulyang.cn: did not receive HSTS header
 pause-canap.com: did not receive HSTS header
-pauspam.net: could not connect to host
 paveljanda.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pavelkahouseforcisco.com: did not receive HSTS header
 pavio.org: did not receive HSTS header
+pawelnazaruk.com: could not connect to host
 pawnkingloansmore.com: did not receive HSTS header
 pawsomebox.co.uk: could not connect to host
 paxdei.com.br: could not connect to host
@@ -21905,6 +24188,7 @@ paxwinkel.nl: did not receive HSTS header
 pay.gigahost.dk: did not receive HSTS header
 pay.ubuntu.com: could not connect to host
 pay8522.com: could not connect to host
+pay888.asia: did not receive HSTS header
 paybook.co.tz: did not receive HSTS header
 payclixpayments.com: did not receive HSTS header
 paydigital.pt: did not receive HSTS header
@@ -21912,13 +24196,14 @@ payfreez.com: could not connect to host
 paykings.com: did not receive HSTS header
 payload.tech: could not connect to host
 payment-network.com: did not receive HSTS header
-payment.ac.cn: could not connect to host
 payments-reference.org: could not connect to host
 payments.google.com: did not receive HSTS header (error ignored - included regardless)
 payments.gy: did not receive HSTS header
 paymill.com: did not receive HSTS header
 paymill.de: could not connect to host
 paymon.tj: could not connect to host
+paymongo.me: did not receive HSTS header
+paymyphysician.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 paypod.org: could not connect to host
 payroll.ch: could not connect to host
 payroll.xero.com: did not receive HSTS header
@@ -21933,11 +24218,10 @@ pbapp.net: did not receive HSTS header
 pbbr.com: did not receive HSTS header
 pbcknd.ml: could not connect to host
 pbcomp.com.au: did not receive HSTS header
-pbfashionexhibition.com: did not receive HSTS header
+pbfashionexhibition.com: could not connect to host
 pbprint.ru: could not connect to host
 pbqs.site: could not connect to host
 pbraunschdash.com: could not connect to host
-pbrb.gov: could not connect to host
 pbreen.co.uk: could not connect to host
 pbscreens.com: could not connect to host
 pbytes.com: could not connect to host
@@ -21949,37 +24233,40 @@ pc9865.com: max-age too low: 0
 pcat.io: could not connect to host
 pcbricole.fr: could not connect to host
 pccentral.nl: did not receive HSTS header
+pcfeuerwehr.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pcforum.sk: did not receive HSTS header
 pcfun.net: could not connect to host
 pchax.net: could not connect to host
 pchospital.cc: could not connect to host
-pci-dss.hu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+pci-dss.hu: could not connect to host
 pci4.org: did not receive HSTS header
-pcidss.hu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+pcidss.hu: could not connect to host
 pcipac.com: did not receive HSTS header
-pcmobile.tech: could not connect to host
-pcnotdienst-oldenburg-rastede.de: could not connect to host
+pcjsercon.com: max-age too low: 633620
 pcreparatiehardenberg.nl: could not connect to host
+pcs2.gr: did not receive HSTS header
 pcsremodel.com: could not connect to host
 pcvirusclear.com: could not connect to host
 pdamsidoarjo.co.id: could not connect to host
 pdevio.com: could not connect to host
 pdf.yt: could not connect to host
 pdfsearch.org: could not connect to host
+pdkrawczyk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pdomo.me: did not receive HSTS header
 pdragt.com: could not connect to host
 pdthings.net: could not connect to host
-pe-kyousai.jp: did not receive HSTS header
+pe-bank.co.jp: max-age too low: 604800
+pe-kyousai.jp: could not connect to host
 peaceandwool.com: did not receive HSTS header
 peak-careers.com: did not receive HSTS header
 peakapp.nl: could not connect to host
-pearcom.co.uk: could not connect to host
-pearlcohen.com: could not connect to host
+pearlcohen.com: did not receive HSTS header
 pearlsenroses.nl: did not receive HSTS header
 peaudorange.net: could not connect to host
 pebblesdemo.com: could not connect to host
 peckcloths.com: did not receive HSTS header
 pecot.fr: did not receive HSTS header
+peddock.com: did not receive HSTS header
 pedidamanosevilla.com: did not receive HSTS header
 pedidosfarma.com.br: could not connect to host
 pedrosluiter.nl: did not receive HSTS header
@@ -21990,44 +24277,44 @@ peerherrmann.de: could not connect to host
 peerless.ae: could not connect to host
 peertube.uno: did not receive HSTS header
 peervpn.net: did not receive HSTS header
-pefricea.com: did not receive HSTS header
-peg.nu: did not receive HSTS header
 pegundugun.tk: could not connect to host
 pehapkari.cz: did not receive HSTS header
 peinard.net: could not connect to host
 peintrenomade.com: did not receive HSTS header
 peirong.me: could not connect to host
-peissen.com: could not connect to host
-peka.pw: did not receive HSTS header
+peissen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pekkapikkarainen.fi: could not connect to host
 pekkarik.ru: could not connect to host
 peliculasaudiolatinoonline.com: could not connect to host
-peliculasonline1.com: did not receive HSTS header
+peliculasonline1.com: could not connect to host
 peliculator.com: max-age too low: 0
 peliseries24.com: could not connect to host
 pemagrid.org: could not connect to host
 pemberton.at: did not receive HSTS header
 pemborongbangunan.id: could not connect to host
 penablog.com: did not receive HSTS header
+pengi.me: could not connect to host
 pengisatelier.net: could not connect to host
 pengui.uk: could not connect to host
 penguinclientsystem.com: did not receive HSTS header
-pengumuman.id: did not receive HSTS header
+pengumuman.id: could not connect to host
 pennyapp.io: did not receive HSTS header
 pennylane.me.uk: did not receive HSTS header
 pensanisso.com: did not receive HSTS header
 penser-electronique.com: did not receive HSTS header
-pension-veldzigt.nl: did not receive HSTS header
 pension-waldesruh.de: did not receive HSTS header
 pensionecani.milano.it: could not connect to host
+pensionpilot.ca: did not receive HSTS header
 pentagonreviewcenter.com.ph: did not receive HSTS header
-pentandra.com: could not connect to host
 pentano.net: could not connect to host
+penticton.photography: did not receive HSTS header
+penuelaspr.gov: could not connect to host
 people-mozilla.org: could not connect to host
 peoplesbankal.com: did not receive HSTS header
 peoplesguardian.org: could not connect to host
 peperiot.com: did not receive HSTS header
 peperstraat.online: could not connect to host
+pepinierebotanique.com: did not receive HSTS header
 peppelmedi.fi: could not connect to host
 pepper.dog: could not connect to host
 pepperhead.com: did not receive HSTS header
@@ -22041,6 +24328,7 @@ percyflix.com: could not connect to host
 perdel.cn: could not connect to host
 pereuda.com: could not connect to host
 perfect-radiant-wrinkles.com: could not connect to host
+perfectgift.com: did not receive HSTS header
 perfectionis.me: did not receive HSTS header
 perfectionunite.com: could not connect to host
 perfectseourl.com: did not receive HSTS header
@@ -22069,12 +24357,12 @@ perrone.co: could not connect to host
 perroud.pro: max-age too low: 0
 persiart.shop: could not connect to host
 persjrp.ca: could not connect to host
+persocloud.org: did not receive HSTS header
 persoform.ch: could not connect to host
 personal-injury-attorney.co: could not connect to host
 personalcommunicationsecurity.com: could not connect to host
 personaldatabasen.no: could not connect to host
 personalfunctionaldata.net: could not connect to host
-personalidadmagnetica.com: could not connect to host
 personalinjurylist.com: could not connect to host
 personalizedtouch.co: could not connect to host
 personcar.com.br: could not connect to host
@@ -22083,6 +24371,7 @@ persson.im: could not connect to host
 perthdevicelab.com: did not receive HSTS header
 perucasestoril.com.br: did not receive HSTS header
 peruvianphotography.com: could not connect to host
+pervacio.hu: could not connect to host
 pescadorcomunicacao.com: could not connect to host
 pesdacgh.org: did not receive HSTS header
 pestalozzishop.com.br: could not connect to host
@@ -22095,13 +24384,13 @@ petangen.se: could not connect to host
 petaouchnok.ch: could not connect to host
 petchart.net: could not connect to host
 peteboc.com: did not receive HSTS header
-peterbarrett.ca: could not connect to host
 peterfolta.net: could not connect to host
 peterkshultz.com: could not connect to host
 petermazur.com: did not receive HSTS header
 peternagy.ie: did not receive HSTS header
 peters.consulting: could not connect to host
 petersmark.com: did not receive HSTS header
+petervanleeuwentweewielers.nl: did not receive HSTS header
 pethelpers.org: did not receive HSTS header
 petit.site: could not connect to host
 petlife.od.ua: could not connect to host
@@ -22114,6 +24403,7 @@ petrozavodsk.ga: could not connect to host
 pets4life.com.au: did not receive HSTS header
 petsittersservices.com: could not connect to host
 pettitcoat.com: could not connect to host
+petwall.info: could not connect to host
 peuf.shop: could not connect to host
 peuterspeelzaalhoekvanholland.nl: could not connect to host
 pewat.com: could not connect to host
@@ -22128,8 +24418,10 @@ pfgshop.com.br: could not connect to host
 pflegedienst-gratia.de: could not connect to host
 pflegesalon-siebke.de: did not receive HSTS header
 pflug.email: did not receive HSTS header
-pfo.io: did not receive HSTS header
+pfnext.de: did not receive HSTS header
+pfo.io: could not connect to host
 pfolta.net: could not connect to host
+pfonks.com: did not receive HSTS header
 pfssales.com: did not receive HSTS header
 pfudor.tk: could not connect to host
 pgcpbc.com: could not connect to host
@@ -22139,6 +24431,7 @@ pgmsource.com: could not connect to host
 pgp.guru: could not connect to host
 pgp.lol: could not connect to host
 pgp.network: did not receive HSTS header
+pgpaintanddesign.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pgpm.io: could not connect to host
 pgtb.be: could not connect to host
 pgwap.com: could not connect to host
@@ -22146,7 +24439,8 @@ phalconist.com: did not receive HSTS header
 phantasie.cc: could not connect to host
 pharmacyglobalrx.net: could not connect to host
 pharmaquality.com: did not receive HSTS header
-phasersec.com: did not receive HSTS header
+pharynx.nl: could not connect to host
+phasersec.com: could not connect to host
 phattea.tk: could not connect to host
 phcmembers.com: could not connect to host
 phdhub.it: could not connect to host
@@ -22165,15 +24459,19 @@ philadelphiadancefoundation.org: did not receive HSTS header
 philia.de: did not receive HSTS header
 philipkohn.com: did not receive HSTS header
 philipmordue.co.uk: could not connect to host
+philipp-trulson.de: could not connect to host
 philipp1994.de: did not receive HSTS header
 philippa.cool: could not connect to host
 philippbirkholz.com: could not connect to host
+phillipgoldfarb.com: could not connect to host
 phillippi.me: could not connect to host
+phillipsdistribution.com: did not receive HSTS header
 phillmoore.com: did not receive HSTS header
 phillprice.com: did not receive HSTS header
 phillyinjurylawyer.com: did not receive HSTS header
 philomathiclife.com: could not connect to host
 philonas.net: did not receive HSTS header
+philosophy.moe: could not connect to host
 philpropertygroup.com: could not connect to host
 phippsreporting.com: did not receive HSTS header
 phishing-studie.org: could not connect to host
@@ -22182,8 +24480,12 @@ phishingusertraining.com: could not connect to host
 phligence.com: could not connect to host
 phocean.net: did not receive HSTS header
 phoebe.co.nz: did not receive HSTS header
-phoenicis.com.ua: could not connect to host
+phoenicis.com.ua: did not receive HSTS header
 phoenix.dj: did not receive HSTS header
+phoenixcourt.gov: could not connect to host
+phoenixlogan.com: could not connect to host
+phoenixmunicipalcourt.gov: could not connect to host
+phonefilter.co.uk: could not connect to host
 phonefleet.fr: could not connect to host
 phonenumberinfo.co.uk: could not connect to host
 phongmay24h.com: could not connect to host
@@ -22196,29 +24498,30 @@ photofilmcamera.com: did not receive HSTS header
 photographersdaydream.com: could not connect to host
 photographyforchange.com: could not connect to host
 photographyforchange.org: could not connect to host
+photomaniastore.com: did not receive HSTS header
 photon.sh: could not connect to host
 photops.fr: could not connect to host
 photosoftware.nl: could not connect to host
 phototag.org: did not receive HSTS header
+phototrio.com: did not receive HSTS header
 php-bach.org: could not connect to host
 phpdistribution.com: did not receive HSTS header
-phperformances.fr: could not connect to host
+phperformances.fr: did not receive HSTS header
 phpinfo.in.th: could not connect to host
 phpkari.cz: could not connect to host
+phpower.com: could not connect to host
 phr34kz.pw: could not connect to host
 phra.gs: could not connect to host
 phrasing.me: could not connect to host
 phrazor.com: did not receive HSTS header
 phrive.space: could not connect to host
 phryanjr.com: could not connect to host
-phukienchanh.com: could not connect to host
 phumin.in.th: did not receive HSTS header
 phunehehe.net: did not receive HSTS header
 phuong.faith: could not connect to host
 phus.lu: did not receive HSTS header
 physicaltherapist.com: did not receive HSTS header
 physicentrix.ca: did not receive HSTS header
-physiobiggerawaters.com.au: could not connect to host
 physiobroadbeach.com.au: could not connect to host
 pi-box.ml: could not connect to host
 pi-eng.fr: could not connect to host
@@ -22232,15 +24535,17 @@ piasto.com.cy: could not connect to host
 piatanoua.md: could not connect to host
 pic.sr: could not connect to host
 picallo.es: could not connect to host
-picardiascr.com: did not receive HSTS header
+picardiascr.com: could not connect to host
 pickawaycountyohio.gov: could not connect to host
 pickersurvey.org: did not receive HSTS header
+pickme.nl: could not connect to host
+pickmysoap.gr: could not connect to host
 pickr.co: did not receive HSTS header
+pickthestory.com: did not receive HSTS header
 picoauto.com: max-age too low: 0
 picone.com.au: could not connect to host
 picotech.com: max-age too low: 0
 picotronic.biz: could not connect to host
-picotronic.de: max-age too low: 0
 picsandtours.com: could not connect to host
 picscare.co.uk: could not connect to host
 picshare.nz: could not connect to host
@@ -22250,19 +24555,22 @@ pidomex.com: did not receive HSTS header
 piedfeed.com: did not receive HSTS header
 pieinsurance.com: did not receive HSTS header
 piekacz.co.uk: could not connect to host
-pieldenaranja.com: could not connect to host
+pieldenaranja.com: did not receive HSTS header
 pieperhome.de: did not receive HSTS header
 piercing-store.com: did not receive HSTS header
 pierreblake.com: did not receive HSTS header
 pierrejeansuau.fr: could not connect to host
+pieterhordijk.com: could not connect to host
 pieterjangeeroms.me: could not connect to host
 pig.name: did not receive HSTS header
 piggott.me.uk: did not receive HSTS header
+pighouse.info: could not connect to host
 pignus.tech: could not connect to host
 pigritia.de: could not connect to host
 piils.fr: did not receive HSTS header
 pikalongwar.com: could not connect to host
 pikeitservices.com.au: did not receive HSTS header
+pikimusic.moe: could not connect to host
 pikmy.com: could not connect to host
 pilesyk.tk: could not connect to host
 pilgermaske.org: did not receive HSTS header
@@ -22270,11 +24578,11 @@ piligrimname.com: could not connect to host
 piliszek.net: could not connect to host
 pillowandpepper.com: did not receive HSTS header
 pilotcrowd.nl: did not receive HSTS header
+pilvi.space: could not connect to host
 pimg136.com: could not connect to host
 pims.global: did not receive HSTS header
 pimspage.nl: could not connect to host
 pimusiccloud.hopto.org: could not connect to host
-pincong.rocks: did not receive HSTS header
 pineapplesapp.com: did not receive HSTS header
 pinebaylibrary.org: could not connect to host
 pinigseu.xyz: could not connect to host
@@ -22283,7 +24591,8 @@ pinkfis.ch: did not receive HSTS header
 pinkhq.com: could not connect to host
 pinkinked.com: could not connect to host
 pinkladyapples.co.uk: did not receive HSTS header
-pinkyf.com: did not receive HSTS header
+pinkmango.travel: did not receive HSTS header
+pinkyf.com: could not connect to host
 pinnacle-tex.com: could not connect to host
 pinnacleallergy.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pinnaclelife.nz: could not connect to host
@@ -22293,20 +24602,20 @@ pinoylinux.org: did not receive HSTS header
 pinpointline.com: did not receive HSTS header
 pinscher.com.br: could not connect to host
 pinter-moebel-shop.de: did not receive HSTS header
-pintiaux.com: could not connect to host
-pintoselectrician.co.za: did not receive HSTS header
 pinup-app.com: could not connect to host
 pioche.ovh: did not receive HSTS header
 pipfrosch.com: could not connect to host
-pipocao.com: could not connect to host
+pipocao.com: did not receive HSTS header
 pippen.io: could not connect to host
 pips.rocks: could not connect to host
-pir9.com: could not connect to host
+pir9.com: did not receive HSTS header
 piranil.com: did not receive HSTS header
 pirapiserver.ddns.net: could not connect to host
 pirata.ga: could not connect to host
+pirate.trade: could not connect to host
 pirateahoy.eu: could not connect to host
 piratebay.ml: could not connect to host
+piratebayproxy.tf: could not connect to host
 piratebit.tech: could not connect to host
 piratedb.com: could not connect to host
 piratedot.com: could not connect to host
@@ -22321,24 +24630,26 @@ pirateproxy.vip: could not connect to host
 pirates.click: did not receive HSTS header
 pirati.cz: did not receive HSTS header
 piratte.net: did not receive HSTS header
-pirganj24.com: could not connect to host
 pirlitu.com: did not receive HSTS header
-pirscapital.com: did not receive HSTS header
 pisexy.me: did not receive HSTS header
 pisidia.de: could not connect to host
 pitch.vip: did not receive HSTS header
 pitfire.io: could not connect to host
-pitonarms.com: could not connect to host
+pitonarms.com: did not receive HSTS header
 pitsstop.nu: could not connect to host
 pittaya.com: did not receive HSTS header
 pittmancentertn.gov: could not connect to host
 pittmantraffic.co.uk: did not receive HSTS header
 pittonpreschool.com: did not receive HSTS header
+piubip.com.br: could not connect to host
+piwko.co: could not connect to host
 pix-geeks.com: max-age too low: 2592000
 pixabay.com: did not receive HSTS header
 pixdigital.net: did not receive HSTS header
 pixeame.com: could not connect to host
+pixel-kraft.de: did not receive HSTS header
 pixel.google.com: did not receive HSTS header (error ignored - included regardless)
+pixelbash.de: did not receive HSTS header
 pixelcode.com.au: could not connect to host
 pixelesque.uk: could not connect to host
 pixelfou.com: could not connect to host
@@ -22346,6 +24657,8 @@ pixelgliders.de: could not connect to host
 pixelhero.co.uk: did not receive HSTS header
 pixelpirat.ch: did not receive HSTS header
 pixelrain.info: could not connect to host
+pixelumin3d.com: could not connect to host
+pixeoapp.com: did not receive HSTS header
 pixi.chat: could not connect to host
 pixi.me: could not connect to host
 pixiv.rip: did not receive HSTS header
@@ -22354,10 +24667,9 @@ pizala.de: could not connect to host
 pizzabottle.com: did not receive HSTS header
 pizzacook.ch: did not receive HSTS header
 pizzadoc.ch: could not connect to host
-pizzafest.ddns.net: could not connect to host
 pizzafunny.com.br: could not connect to host
+pizzalongaway.it: did not receive HSTS header
 pizzamc.eu: could not connect to host
-pizzariapartiupizza.com.br: max-age too low: 0
 pj00100.com: did not receive HSTS header
 pj00200.com: did not receive HSTS header
 pj00300.com: did not receive HSTS header
@@ -22368,63 +24680,100 @@ pj00800.com: did not receive HSTS header
 pj009.com: could not connect to host
 pj00900.com: did not receive HSTS header
 pj1100.cc: did not receive HSTS header
+pj21566.com: could not connect to host
+pj21866.com: could not connect to host
+pj21886.com: could not connect to host
+pj21887.com: could not connect to host
+pj21899.com: could not connect to host
+pj21990.com: could not connect to host
+pj21991.com: could not connect to host
+pj21993.com: could not connect to host
+pj21996.com: could not connect to host
+pj21997.com: could not connect to host
+pj21998.com: could not connect to host
+pj21bb.com: could not connect to host
+pj21c.com: could not connect to host
+pj21f.com: could not connect to host
+pj21i.com: could not connect to host
+pj21j.com: could not connect to host
 pj21k.com: could not connect to host
 pj21m.com: could not connect to host
+pj21o.com: could not connect to host
+pj21p.com: could not connect to host
+pj21q.com: could not connect to host
+pj21r.com: could not connect to host
+pj21tt.com: could not connect to host
+pj21v.com: could not connect to host
+pj21w.com: could not connect to host
+pj21x.com: could not connect to host
+pj21y.com: could not connect to host
 pj539999.com: could not connect to host
 pj881988.com: could not connect to host
+pjax.xyz: could not connect to host
 pjbet.mg: could not connect to host
+pjgj18.com: did not receive HSTS header
 pjili.com: did not receive HSTS header
+pjp.com.mt: did not receive HSTS header
 pjsec.tk: could not connect to host
+pk.cash: could not connect to host
+pk.city: could not connect to host
+pk.cool: could not connect to host
+pk.vin: could not connect to host
 pkautodesign.com: did not receive HSTS header
 pkbjateng.com: could not connect to host
-pkov.cz: could not connect to host
 pkrank.com: could not connect to host
 pkschat.com: could not connect to host
 pksps.com: did not receive HSTS header
-plaasprodukte.com: did not receive HSTS header
 placassinal.com.br: did not receive HSTS header
+placebet.pro: could not connect to host
 placefade.com: could not connect to host
-placehold.co: did not receive HSTS header
 placollection.org: could not connect to host
 plaettliaktion.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 plainmark.com: did not receive HSTS header
 plaintray.com: could not connect to host
 plakbak.nl: could not connect to host
+plan-immobilier.fr: could not connect to host
 planeexplanation.com: could not connect to host
-planer.me: did not receive HSTS header
+planespotterblog.de: did not receive HSTS header
 planet-laas.de: did not receive HSTS header
 planetbeauty.com: did not receive HSTS header
 planete-cocoon.com: did not receive HSTS header
 planete-secu.com: could not connect to host
+planetofwoman.com: did not receive HSTS header
+planetofwomen.net: did not receive HSTS header
+planetravel.co: could not connect to host
 planformation.com: did not receive HSTS header
+planhub.com: did not receive HSTS header
 planktonholland.com: did not receive HSTS header
 planktonholland.nl: did not receive HSTS header
 planningsagenda.nl: did not receive HSTS header
 planolowcarb.com: could not connect to host
+planovivofibra.com.br: did not receive HSTS header
 planpharmacy.com: could not connect to host
+plans3ds.com: did not receive HSTS header
 plant.ml: could not connect to host
 plantdaddie.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+plantrustler.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 planup.fr: could not connect to host
 plaros.ml: could not connect to host
-plasdeck.me: could not connect to host
 plass.hamburg: could not connect to host
 plasti-pac.ch: did not receive HSTS header
+plastiflex.it: could not connect to host
 plasvilledescartaveis.com.br: could not connect to host
 platform.lookout.com: could not connect to host
+platinumexpress.com.ar: did not receive HSTS header
 platinumpeek.com: did not receive HSTS header
-platomania.eu: could not connect to host
-platschi.net: did not receive HSTS header
+platschi.net: could not connect to host
 platterlauncher.com: could not connect to host
 plattner.club: did not receive HSTS header
 play: could not connect to host
 play.google.com: did not receive HSTS header (error ignored - included regardless)
 playdreamcraft.com.br: did not receive HSTS header
-playerhunter.com: did not receive HSTS header
-players2gather.com: could not connect to host
+players2gather.com: did not receive HSTS header
 playerscout.net: did not receive HSTS header
-playform.cloud: could not connect to host
 playhappywheelsunblocked.com: could not connect to host
-playingvideojuegos.com: did not receive HSTS header
+playingvideojuegos.com: could not connect to host
+playit.rs: could not connect to host
 playkh.com: did not receive HSTS header
 playkinder.com: did not receive HSTS header
 playmaker.io: could not connect to host
@@ -22436,11 +24785,13 @@ playsource.co: did not receive HSTS header
 playupnow.com: could not connect to host
 playwhyyza.com: could not connect to host
 playyou.be: could not connect to host
-playzonecastles.co.uk: did not receive HSTS header
+playzonecastles.co.uk: could not connect to host
+plaza.ph: could not connect to host
 pld-entertainment.co.uk: could not connect to host
 pleasanton-daycare-childcare.com: did not receive HSTS header
 pleasantonca.gov: could not connect to host
 please-deny.me: could not connect to host
+please-uwu.me: could not connect to host
 pleaseuseansnisupportedbrowser.ml: could not connect to host
 pleasure.forsale: could not connect to host
 pleger.tk: could not connect to host
@@ -22448,8 +24799,10 @@ pleiades.com.tr: did not receive HSTS header
 plen.io: did not receive HSTS header
 plentybetter.com: could not connect to host
 plentybetter.org: could not connect to host
+plevenlab.org: did not receive HSTS header
 plexbpvr.ddns.net: could not connect to host
 plexi.dyndns.tv: could not connect to host
+plexmark.tk: could not connect to host
 plexnet.cz: could not connect to host
 plexpy13.ddns.net: could not connect to host
 plextv.de: could not connect to host
@@ -22469,6 +24822,7 @@ plu-pro.ru: could not connect to host
 pluff.nl: did not receive HSTS header
 plugboard.xyz: could not connect to host
 pluggedhead.com: did not receive HSTS header
+plumbing-arlington.com: did not receive HSTS header
 plumbingboksburg.co.za: did not receive HSTS header
 plumbingman.com.au: did not receive HSTS header
 plumpie.net: could not connect to host
@@ -22480,38 +24834,37 @@ plus-u.com.au: did not receive HSTS header
 plus.sandbox.google.com: did not receive HSTS header (error ignored - included regardless)
 plus1s.site: could not connect to host
 plus1s.tk: could not connect to host
+pluscbdoil.com: did not receive HSTS header
 plushev.com: did not receive HSTS header
 plusminus30.si: did not receive HSTS header
-plusreed.com: could not connect to host
 plussizereviews.com: could not connect to host
 plustech.id: did not receive HSTS header
 plut.org: could not connect to host
 plymouthglassgallery.com: did not receive HSTS header
 plymouthsoftplay.co.uk: did not receive HSTS header
 plzenskybarcamp.cz: did not receive HSTS header
+plzz.de: could not connect to host
 pm13-media.cz: could not connect to host
 pma-iss.com: could not connect to host
 pmac.pt: could not connect to host
-pmarques.info: could not connect to host
 pmbremer.de: could not connect to host
 pmbtf.com: could not connect to host
 pmconference.ch: did not receive HSTS header
 pmctire.com: did not receive HSTS header
 pmemanager.fr: did not receive HSTS header
 pmessage.ch: could not connect to host
+pmgnet.de: did not receive HSTS header
 pmheart.site: could not connect to host
-pmklaassen.com: did not receive HSTS header
 pmnts.io: could not connect to host
-pmponline.de: could not connect to host
+pmponline.de: did not receive HSTS header
 pms.myiphost.com: could not connect to host
 pmsacorp.com: did not receive HSTS header
-pmsf.eu: could not connect to host
 pmsfdev.com: could not connect to host
-pmt-documenten.nl: could not connect to host
 pnakosoft.com: could not connect to host
 pnakosoft.com.au: could not connect to host
 pneumonline.be: did not receive HSTS header
 pneusgppremium.com.br: did not receive HSTS header
+pnfc.re: did not receive HSTS header
 pnoec.org.do: could not connect to host
 pnukee.com: could not connect to host
 poba.fr: did not receive HSTS header
@@ -22629,6 +24982,7 @@ poc998.com: could not connect to host
 pocakdrops.com: could not connect to host
 pocakking.tk: could not connect to host
 pocket-lint.com: did not receive HSTS header
+pocketcash.com.au: did not receive HSTS header
 pocketfullofapps.com: did not receive HSTS header
 pocketmemories.net: could not connect to host
 pocketsix.com: could not connect to host
@@ -22636,6 +24990,7 @@ pocloud.homelinux.net: could not connect to host
 pocpok.com: could not connect to host
 pocqipai.com: could not connect to host
 podcast.style: could not connect to host
+podia.com.gr: could not connect to host
 podiumsdiskussion.org: did not receive HSTS header
 podo-podo.com: could not connect to host
 podxappa.com.ua: did not receive HSTS header
@@ -22653,8 +25008,12 @@ points-pote.com: could not connect to host
 points4unitedway.com: could not connect to host
 pointsgame.net: did not receive HSTS header
 pointworksacademy.com: could not connect to host
+poirierlavoie.ca: did not receive HSTS header
+poiru.net: did not receive HSTS header
+poitiers-ttacc-86.eu.org: could not connect to host
+pojarnayabezopasnost-gov.ru: did not receive HSTS header
 pokalsocial.de: could not connect to host
-pokeduel.me: did not receive HSTS header
+pokeduel.me: could not connect to host
 pokepon.center: could not connect to host
 pokerslab.com: could not connect to host
 pokomichi.com: did not receive HSTS header
@@ -22664,6 +25023,7 @@ polandb2b.directory: could not connect to host
 polar.uk.com: did not receive HSTS header
 polarfisk.com: did not receive HSTS header
 polarityschule.com: did not receive HSTS header
+polarnova.site: did not receive HSTS header
 pole-et-motion.fr: did not receive HSTS header
 pole.net.nz: did not receive HSTS header
 poleartschool.com: could not connect to host
@@ -22674,28 +25034,28 @@ polimat.org: could not connect to host
 poliscentraal.nl: did not receive HSTS header
 polish.directory: could not connect to host
 polit-it.pro: could not connect to host
-politeiaudesa.org: max-age too low: 2592000
+politeiaudesa.org: did not receive HSTS header
+politic.org.ua: could not connect to host
 politicachubut.com.ar: did not receive HSTS header
 politically-incorrect.xyz: could not connect to host
 politiewervingshop.nl: did not receive HSTS header
 politologos.org: could not connect to host
-polizeiwallis.ch: could not connect to host
 pollet-ghijs.be: could not connect to host
 pollet-ghys.be: could not connect to host
 pollpodium.nl: could not connect to host
-pologalileo.eu: did not receive HSTS header
+polly.spdns.org: could not connect to host
 poloniex.co.za: did not receive HSTS header
 polsport.live: did not receive HSTS header
-poly-fast.com: could not connect to host
+polychainlabs.com: max-age too low: 0
 polycrypt.us: could not connect to host
 polyfill.io: did not receive HSTS header
-polymorph.rs: could not connect to host
+polymathematician.com: could not connect to host
+polymorph.rs: did not receive HSTS header
 polypho.nyc: could not connect to host
 polyr.xyz: could not connect to host
-polysage.org: did not receive HSTS header
 polytechecosystem.vc: could not connect to host
 pomardaserra.com: could not connect to host
-pomfe.co: could not connect to host
+pomfe.co: did not receive HSTS header
 pomfeed.fr: could not connect to host
 pommetelecom.fr: could not connect to host
 pomozmruczkom.pl: could not connect to host
@@ -22704,43 +25064,52 @@ pompompoes.com: could not connect to host
 pondof.fish: could not connect to host
 poneytelecom.org: could not connect to host
 ponio.xyz: could not connect to host
+ponpon.tk: could not connect to host
 ponteencima.com: could not connect to host
 ponteus.com: could not connect to host
 pontodogame.com.br: could not connect to host
 pontokay.com.br: could not connect to host
 pontualcomp.com: could not connect to host
+ponxel.com: could not connect to host
 pony.today: could not connect to host
 ponycyclepals.co.uk: could not connect to host
 ponythread.com: did not receive HSTS header
 ponzi.life: could not connect to host
 poochingaround.co.uk: did not receive HSTS header
+pookl.com: could not connect to host
 poolinstallers.co.za: could not connect to host
-poolmans.se: did not receive HSTS header
 poolsandstuff.com: did not receive HSTS header
 poolspondsandwaterscapes.com: could not connect to host
 pooltechthailand.com: max-age too low: 1000
 poon.tech: could not connect to host
+poopchart.net: could not connect to host
 poorstock.com: did not receive HSTS header
+pop3.jp: could not connect to host
 popcorncult.ru: could not connect to host
 popi.se: did not receive HSTS header
 popkins.cf: could not connect to host
 popkins.ga: could not connect to host
 popkins.gq: could not connect to host
 popkins.ml: could not connect to host
-popkins.tk: could not connect to host
+popkins.tk: did not receive HSTS header
+poptimize.net: did not receive HSTS header
+popup-stores.online: could not connect to host
 popupsoftplay.com: could not connect to host
 poris.web.id: did not receive HSTS header
 pormat.cl: did not receive HSTS header
 porn2019.tk: could not connect to host
+pornabee.com: could not connect to host
 pornblog.org: could not connect to host
-porncandi.com: could not connect to host
+porncandi.com: did not receive HSTS header
+pornguin.com: did not receive HSTS header
 porniwi.com: could not connect to host
 pornofilme.top: could not connect to host
 pornoserver.eu: did not receive HSTS header
-pornskyhub.com: could not connect to host
+pornskyhub.com: did not receive HSTS header
 pornspider.to: could not connect to host
 pornstars.me: did not receive HSTS header
 porondam.lk: did not receive HSTS header
+porpcr.com: could not connect to host
 porschen.fr: could not connect to host
 port.im: did not receive HSTS header
 port.social: could not connect to host
@@ -22750,7 +25119,7 @@ portagein.gov: did not receive HSTS header
 portalcarapicuiba.com: did not receive HSTS header
 portalcarriers.com: could not connect to host
 portalcentric.net: could not connect to host
-portale-randkowe.pl: could not connect to host
+portale-randkowe.pl: did not receive HSTS header
 portalhubnuti.cz: did not receive HSTS header
 portalisapres.cl: could not connect to host
 portalkla.com.br: did not receive HSTS header
@@ -22760,6 +25129,7 @@ portalplatform.net: could not connect to host
 portaluniversalista.org: could not connect to host
 portalveneza.com.br: did not receive HSTS header
 portalzine.de: did not receive HSTS header
+portchesterny.gov: could not connect to host
 portofacil.com: did not receive HSTS header
 portraitsystem.biz: did not receive HSTS header
 portsmoutheic.com: could not connect to host
@@ -22770,24 +25140,30 @@ poschtiliste.ch: did not receive HSTS header
 poshbeyond.com: did not receive HSTS header
 poshpak.com: max-age too low: 86400
 posijson.stream: could not connect to host
+positiveaffirmationscenter.com: max-age too low: 0
 positivenames.net: could not connect to host
 positivesobrietyinstitute.com: did not receive HSTS header
 posoiu.net: could not connect to host
 post.com.ar: could not connect to host
-postback.io: could not connect to host
+postari.ro: did not receive HSTS header
+postbox.life: could not connect to host
 postcardpayment.com: could not connect to host
 postcodegarant.nl: could not connect to host
 posters.win: could not connect to host
+postpot.co.kr: could not connect to host
 postscheduler.org: could not connect to host
 postura-corretta.it: could not connect to host
 posylka.de: did not receive HSTS header
+potatofrom.space: did not receive HSTS header
 potatoheads.net: could not connect to host
+potatron.tech: did not receive HSTS header
 potbox.com: did not receive HSTS header
 potenzmittelblog.info: could not connect to host
-poterepersonale.it: did not receive HSTS header
 potkani.tk: could not connect to host
+potlytics.com: could not connect to host
 potomania.cz: could not connect to host
 potpourrifestival.de: did not receive HSTS header
+potsdam.directory: could not connect to host
 potsky.com: did not receive HSTS header
 potterscraftcider.com: did not receive HSTS header
 pottreid.com: could not connect to host
@@ -22799,7 +25175,7 @@ pourmoi.co.uk: did not receive HSTS header
 pourout.org: did not receive HSTS header
 pousadaestreladapraia.com.br: could not connect to host
 poussinooz.fr: could not connect to host
-povertymind.com: did not receive HSTS header
+povertymind.com: could not connect to host
 povitria.net: could not connect to host
 powdersnow.top: did not receive HSTS header
 power-coonies.de: could not connect to host
@@ -22826,7 +25202,7 @@ powersergunited.org: could not connect to host
 powersergusercontent.com: could not connect to host
 powershellmagic.com: could not connect to host
 powershift.ne.jp: did not receive HSTS header
-powertothebuilder.com: could not connect to host
+powertothebuilder.com: did not receive HSTS header
 powerwashingproslosangeles.com: did not receive HSTS header
 powerxequality.com: did not receive HSTS header
 poy-tech.com: could not connect to host
@@ -22841,13 +25217,12 @@ pp6729.co: could not connect to host
 pp6729.com: did not receive HSTS header
 pp6957.co: could not connect to host
 pp9297.co: could not connect to host
-pp9397.com: could not connect to host
-pp9721.com: could not connect to host
+pp9397.com: did not receive HSTS header
+pp9721.com: did not receive HSTS header
 pp9728.co: could not connect to host
 ppembed.com: did not receive HSTS header
 ppiproperties.com: did not receive HSTS header
 ppoou.co.uk: could not connect to host
-ppoozl.com: could not connect to host
 pppo.gov: could not connect to host
 ppr-truby.ru: could not connect to host
 ppsvcs2.com: could not connect to host
@@ -22859,14 +25234,17 @@ pqscript.com: could not connect to host
 pr3-space-staging.ga: could not connect to host
 pracowniatkanin.com: did not receive HSTS header
 practixdevelopment.com: did not receive HSTS header
-practodev.com: could not connect to host
 pracujwunii.pl: did not receive HSTS header
 praderarestaurant.co.uk: could not connect to host
-prankstercompany.com: could not connect to host
-prashchar.uk: could not connect to host
+praiss.net: could not connect to host
+prajwal-koirala.com: could not connect to host
+pranaprinciple.com: did not receive HSTS header
+prashchar.uk: did not receive HSTS header
+prateep.io: could not connect to host
 pratinav.xyz: could not connect to host
 pratopronto.org: could not connect to host
 prattpokemon.com: could not connect to host
+praveenravichandran.xyz: could not connect to host
 praxis-dingeldey.de: could not connect to host
 praxis-odermath.de: did not receive HSTS header
 praxis-research.info: did not receive HSTS header
@@ -22877,7 +25255,9 @@ prdelka.eu: did not receive HSTS header
 pre-lean-consulting.de: did not receive HSTS header
 pre-renewal.com: could not connect to host
 precedecaritas.com.br: could not connect to host
+preci0.com: could not connect to host
 preciosde.es: did not receive HSTS header
+precisedigitalmarketing.com.au: did not receive HSTS header
 precisionaeroimaging.com: could not connect to host
 precisionventures.com: could not connect to host
 prediksisydney.com: could not connect to host
@@ -22892,24 +25272,28 @@ preis-alarm.org: could not connect to host
 prekladysanca.cz: could not connect to host
 prelist.org: did not receive HSTS header
 premaritalsex.info: did not receive HSTS header
-prematureacceleration.club: could not connect to host
+premieravenue.net: did not receive HSTS header
+premiumeuropeankiwi.eu: could not connect to host
 premsarswat.me: could not connect to host
-prepaid-voip.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 prepandgo-euro.com: could not connect to host
+prepedia.org: could not connect to host
 preposted.com: did not receive HSTS header
 preprodfan.gov: could not connect to host
-presbee.com: could not connect to host
 prescriptionrex.com: could not connect to host
 presentesdegrife.com.br: could not connect to host
 presidentials2016.com: could not connect to host
 press-anime-nenkan.com: could not connect to host
 pressakey.de: did not receive HSTS header
 pressenews.net: did not receive HSTS header
+pressento.com: did not receive HSTS header
 pressfreedomfoundation.org: did not receive HSTS header
 presskr.com: did not receive HSTS header
+pressography.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 prestburyscouts.org.uk: could not connect to host
 prestigeeventshire.co.uk: could not connect to host
 prestigesigns.net: did not receive HSTS header
+prestonapp.com: did not receive HSTS header
+pretachique.com.br: did not receive HSTS header
 pretrialservices.gov: did not receive HSTS header
 prettygrouse.com: did not receive HSTS header
 prettyphotoart.de: did not receive HSTS header
@@ -22921,20 +25305,21 @@ preventshare.com: could not connect to host
 preworkout.me: could not connect to host
 prgslab.net: could not connect to host
 priceholic.com: could not connect to host
+pricena.vn: did not receive HSTS header
+pricope-stefan.com: could not connect to host
 pridoc.se: did not receive HSTS header
 prifo.se: could not connect to host
 prihatno.my.id: could not connect to host
 prijsvergelijken.ml: could not connect to host
 prilock.com: did not receive HSTS header
-primaconsulting.net: could not connect to host
 primecaplending.com: could not connect to host
 primordialsnooze.com: could not connect to host
+primos-tech.com: could not connect to host
 primotiles.co.uk: did not receive HSTS header
 prinbanat.ngo: did not receive HSTS header
-princeagency.com: did not receive HSTS header
+princeagency.com: could not connect to host
 princeofwhales.com: did not receive HSTS header
 princepessa.de: did not receive HSTS header
-princesparktouch.com: did not receive HSTS header
 princessbackpack.de: could not connect to host
 princessmargaretlotto.com: did not receive HSTS header
 principalsexam.com: could not connect to host
@@ -22947,22 +25332,25 @@ printertonerkopen.nl: could not connect to host
 printery.be: could not connect to host
 printexpress.cloud: could not connect to host
 printf.de: did not receive HSTS header
+printserverpa.com: could not connect to host
 priolkar.com: could not connect to host
 prism-communication.com: could not connect to host
 prismacloud.green: could not connect to host
 prismapayments.com: did not receive HSTS header
-prismintl.org: did not receive HSTS header
 pristineevents.co.uk: could not connect to host
+prisync.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pritalk.com: could not connect to host
 pritchett.xyz: could not connect to host
 privacylabs.io: could not connect to host
 privacymanatee.com: could not connect to host
 privacyrup.net: could not connect to host
 privategiant.com: could not connect to host
+privatepokertour.com: could not connect to host
 privatewolke.com: did not receive HSTS header
 privatstunden.express: could not connect to host
 privcloud.cc: could not connect to host
 privcloud.org: could not connect to host
+privelust.nl: could not connect to host
 privilegevisa.fr: could not connect to host
 privu.me: could not connect to host
 privytime.com: could not connect to host
@@ -22971,7 +25359,8 @@ prmte.com: could not connect to host
 prnt.li: did not receive HSTS header
 pro-esb.net: could not connect to host
 pro-image.de: did not receive HSTS header
-pro-link.eu: could not connect to host
+pro-link.eu: did not receive HSTS header
+pro-netz.de: could not connect to host
 pro-zone.com: could not connect to host
 proact-it.co.uk: could not connect to host
 proactive.run: could not connect to host
@@ -22980,18 +25369,22 @@ procens.us: could not connect to host
 proclubs.news: could not connect to host
 procode.gq: could not connect to host
 procrastinatingengineer.co.uk: could not connect to host
+procreditbank-kos.com: did not receive HSTS header
 procreditbank.com.al: did not receive HSTS header
 proculsk.tk: could not connect to host
 prodegree.com: could not connect to host
+prodigia.com: did not receive HSTS header
 prodottogiusto.com: could not connect to host
 prodpad.com: did not receive HSTS header
 productgap.com: could not connect to host
-productliabilityinsurance.online: could not connect to host
+productliabilityinsurance.online: did not receive HSTS header
 producto8.com: did not receive HSTS header
 productoinnovador.com: did not receive HSTS header
+proeftuinveenweiden.nl: max-age too low: 300
 proemployeeprotection.com: could not connect to host
 proemployeeprotection.net: could not connect to host
 proesb.net: could not connect to host
+proextra.com.br: did not receive HSTS header
 professional.cleaning: could not connect to host
 professionalboundaries.com: did not receive HSTS header
 profhome-shop.com: did not receive HSTS header
@@ -22999,6 +25392,7 @@ profi-durchgangsmelder.de: did not receive HSTS header
 profilib.top: could not connect to host
 profinetz.de: could not connect to host
 profivps.com: could not connect to host
+profmetod.com: could not connect to host
 proformer.io: could not connect to host
 profpay.com: could not connect to host
 profundr.com: could not connect to host
@@ -23011,6 +25405,7 @@ progolfjourney.com: could not connect to host
 program-and.work: could not connect to host
 programlama.tk: could not connect to host
 programmingstudent.com: could not connect to host
+programsupport300procent.com: could not connect to host
 progress-technologies.com: could not connect to host
 progressivecfo.co.nz: could not connect to host
 prohostonline.fi: could not connect to host
@@ -23024,16 +25419,19 @@ project.supply: did not receive HSTS header
 project86fashion.com: could not connect to host
 projectascension.io: did not receive HSTS header
 projectasterk.com: could not connect to host
-projectblackbook.us: could not connect to host
+projectblackbook.us: did not receive HSTS header
+projectborealisgitlab.site: could not connect to host
 projectcastle.tech: did not receive HSTS header
-projectdp.net: could not connect to host
+projectdp.net: did not receive HSTS header
 projectherogames.xyz: could not connect to host
 projectionpictures.com: did not receive HSTS header
 projectl1b1t1na.tk: could not connect to host
-projectmercury.space: did not receive HSTS header
+projectmercury.space: max-age too low: 0
 projectte.ch: could not connect to host
+projecttools.info: did not receive HSTS header
 projectunity.io: could not connect to host
 projectx.top: could not connect to host
+projekt-allianz.de: did not receive HSTS header
 projekt-umbriel.de: could not connect to host
 projektik.cz: did not receive HSTS header
 projetoresecia.com: could not connect to host
@@ -23045,22 +25443,23 @@ promedicalapplications.com: could not connect to host
 promesa.net: did not receive HSTS header
 promhadan.com: could not connect to host
 promocao.email: could not connect to host
-promopony.com: did not receive HSTS header
+promosjungle.com: did not receive HSTS header
 promoteiq.com: did not receive HSTS header
 promovite.com.mx: did not receive HSTS header
-promozione.info: could not connect to host
+promozione.info: did not receive HSTS header
 pronostic-king.fr: could not connect to host
 pronto-intervento.net: could not connect to host
+prontointerventofognature.roma.it: could not connect to host
 prontolight.com: did not receive HSTS header
 prontomovers.co.uk: could not connect to host
 proobec.cz: did not receive HSTS header
 propactrading.com: could not connect to host
 propagandism.org: did not receive HSTS header
 propepper.net: did not receive HSTS header
-properchels.com: did not receive HSTS header
+properchels.com: could not connect to host
 propershave.com: could not connect to host
+propertycrawl.com: could not connect to host
 propertyfindercdn.com: could not connect to host
-prophiler.de: could not connect to host
 proplan.co.il: did not receive HSTS header
 propmag.co: could not connect to host
 proposeinspain.net: could not connect to host
@@ -23071,7 +25470,10 @@ prosocialmachines.com: could not connect to host
 prospanek.cz: did not receive HSTS header
 prosperandoemcasa.com.br: did not receive HSTS header
 prosperident.com: could not connect to host
+prosperus.ru: could not connect to host
 prostecheat.xyz: could not connect to host
+prostoporno.life: did not receive HSTS header
+prostoporno.live: did not receive HSTS header
 prostoporno.love: did not receive HSTS header
 prostoporno.net: did not receive HSTS header
 prostoporno.sexy: did not receive HSTS header
@@ -23081,15 +25483,14 @@ prot.ch: did not receive HSTS header
 proteapower.co.za: could not connect to host
 protecciondelconsumidor.gov: did not receive HSTS header
 proteinnuts.sk: did not receive HSTS header
-proto-online.ru: did not receive HSTS header
+proto-online.ru: could not connect to host
+protonpix.com: did not receive HSTS header
 protoxin.net: could not connect to host
-provectus.de: did not receive HSTS header
-provence-appartements.com: could not connect to host
+provectus.de: could not connect to host
 providencecmc.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-providerlijst.ml: could not connect to host
 provisionaldriving.com: could not connect to host
 provisionircd.tk: could not connect to host
-provitacare.com: did not receive HSTS header
+provitacare.com: could not connect to host
 provokator.co.il: did not receive HSTS header
 proweb.solutions: did not receive HSTS header
 proweser.de: did not receive HSTS header
@@ -23097,10 +25498,12 @@ prowhisky.de: did not receive HSTS header
 proxbox.net: could not connect to host
 proxi.cf: could not connect to host
 proximato.com: could not connect to host
+proximityradio.fr: could not connect to host
+proxmox-airsonic.tk: did not receive HSTS header
 proxybay.al: could not connect to host
 proxybay.club: could not connect to host
 proxybay.eu.org: did not receive HSTS header
-proxybay.top: did not receive HSTS header
+proxybay.top: could not connect to host
 proxydesk.eu: could not connect to host
 proxydesk.net: could not connect to host
 proxyowl.pw: could not connect to host
@@ -23108,13 +25511,12 @@ proxyportal.me: could not connect to host
 proxyportal.net: did not receive HSTS header
 proxyrox.com: could not connect to host
 proxyweb.us: did not receive HSTS header
-proyectosx.net: did not receive HSTS header
+proyecto13.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+proyectosinelec.com: could not connect to host
 proymaganadera.com: did not receive HSTS header
 prplz.io: did not receive HSTS header
-prpr.cloud: could not connect to host
 prpsss.com: did not receive HSTS header
 prstatic.com: could not connect to host
-prtscloud.ddns.net: could not connect to host
 pruikshop.nl: could not connect to host
 pruma.com.br: could not connect to host
 prushka.ml: could not connect to host
@@ -23126,23 +25528,28 @@ ps-qa.com: did not receive HSTS header
 ps-w.ru: did not receive HSTS header
 ps-x.ru: could not connect to host
 ps4all.nl: could not connect to host
+ps5ssd.com: did not receive HSTS header
 psa.gov: did not receive HSTS header
+psauxit.com: could not connect to host
 psb.cloud: could not connect to host
 pscleaningsolutions.co.uk: could not connect to host
 pself.net: could not connect to host
-pseric.site: could not connect to host
-pseudo.coffee: could not connect to host
+pseric.site: did not receive HSTS header
+pseudo.coffee: did not receive HSTS header
 psicanalista.milano.it: could not connect to host
 psicoexpansao.com.br: could not connect to host
 psicologia.co.ve: could not connect to host
 psicologoforensebarcelona.com: did not receive HSTS header
+psicologoforensemadrid.com: did not receive HSTS header
 psicosalud.online: could not connect to host
 psncardplus.be: could not connect to host
 psncardplus.com: could not connect to host
 psncardplus.dk: could not connect to host
 psncardplus.nl: could not connect to host
 psncardplus.se: could not connect to host
+psochecker.com: could not connect to host
 pson.ninja: could not connect to host
+psoriasischecker.com: could not connect to host
 pste.pw: did not receive HSTS header
 pstrozniak.com: could not connect to host
 pstudio.me: max-age too low: 0
@@ -23157,15 +25564,12 @@ psychologie-hofner.at: could not connect to host
 psychologytests.tk: could not connect to host
 psychometrictest.africa: did not receive HSTS header
 psydix.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-psylab.cc: could not connect to host
-psylab.re: could not connect to host
-psylab.vip: could not connect to host
+psylab.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 psynapse.net.au: could not connect to host
 ptab2pt.ga: could not connect to host
 pthsec.com: could not connect to host
-ptmp.net: could not connect to host
 ptn.moscow: could not connect to host
-ptonet.com: could not connect to host
+ptonet.com: did not receive HSTS header
 ptr.kr: could not connect to host
 ptrujillo.com: did not receive HSTS header
 pty.gg: could not connect to host
@@ -23176,9 +25580,7 @@ pubkey.is: could not connect to host
 publications.qld.gov.au: did not receive HSTS header
 publicidadnovagrass.com.mx: could not connect to host
 publicinquiry.eu: did not receive HSTS header
-publicintegrity.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 publick.net: did not receive HSTS header
-publicrea.com: could not connect to host
 publicspeakingcamps.com: could not connect to host
 publikate.online: could not connect to host
 publimepa.it: could not connect to host
@@ -23197,6 +25599,7 @@ pulizia.milano.it: could not connect to host
 pulledporkheaven.com: could not connect to host
 pulsar.guru: did not receive HSTS header
 pulsedursley.co.uk: did not receive HSTS header
+pulseroot.ga: could not connect to host
 pult.co: could not connect to host
 pumpandcash.com: could not connect to host
 pumpgames.net: could not connect to host
@@ -23204,10 +25607,12 @@ punchkickinteractive.com: did not receive HSTS header
 punchr-kamikazee.rhcloud.com: could not connect to host
 puneflowermall.com: did not receive HSTS header
 punishment.institute: could not connect to host
-punkdns.top: did not receive HSTS header
+punitsheth.com: could not connect to host
+punkdns.top: could not connect to host
 punknews.org: could not connect to host
+punktpodparcia.pl: did not receive HSTS header
 puntacanalink.com: could not connect to host
-puppo.space: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+puntoseguro.com: did not receive HSTS header
 puppydns.com: did not receive HSTS header
 puq.moe: could not connect to host
 purahealthyliving.com: could not connect to host
@@ -23217,6 +25622,7 @@ purecabo.com: did not receive HSTS header
 purefreefrom.co.uk: did not receive HSTS header
 pureholisticliving.me: could not connect to host
 pureitsolutionsllp.com: could not connect to host
+purejewels.com: did not receive HSTS header
 purelunch.co.uk: could not connect to host
 pureluxemedical.com: did not receive HSTS header
 purenvi.ca: did not receive HSTS header
@@ -23234,13 +25640,13 @@ pusatinkubatorbayi.com: did not receive HSTS header
 push.world: did not receive HSTS header
 pushapp.org: did not receive HSTS header
 pushphp.com: could not connect to host
+pushrax.com: did not receive HSTS header
 pushstar.com: max-age too low: 0
 pusichatka.ddns.net: could not connect to host
 put-k-uspekhuy.tk: could not connect to host
 puttymonos.club: could not connect to host
 puzz.gg: could not connect to host
 puzz.me: could not connect to host
-puzzlage.com: could not connect to host
 pvagner.tk: did not receive HSTS header
 pwaresume.com: did not receive HSTS header
 pwd.ovh: could not connect to host
@@ -23249,14 +25655,12 @@ pwfrance.com: could not connect to host
 pwi.agency: could not connect to host
 pwm.jp: could not connect to host
 pwnedpass.tk: could not connect to host
-pwnsdx.pw: did not receive HSTS header
+pwnsdx.pw: could not connect to host
 pwntr.com: did not receive HSTS header
 pwoss.xyz: could not connect to host
 pwt.pw: could not connect to host
 pxio.de: did not receive HSTS header
-pya.org.tr: could not connect to host
 pycoder.org: did not receive HSTS header
-pycycle.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 pyol.org: could not connect to host
 pyopenssl.org: did not receive HSTS header
 pypi-mirrors.org: did not receive HSTS header
@@ -23264,6 +25668,7 @@ pypi-status.org: could not connect to host
 pyplo.org: could not connect to host
 pypt.lt: did not receive HSTS header
 pyrios.pro: could not connect to host
+pyrotime.eu: did not receive HSTS header
 pyrrhonism.org: did not receive HSTS header
 pythia.nz: could not connect to host
 pythonic.guru: could not connect to host
@@ -23271,7 +25676,6 @@ pythonic.training: could not connect to host
 pzme.me: could not connect to host
 q-rickroll-u.pw: could not connect to host
 q-tr.com: did not receive HSTS header
-q00228.com: could not connect to host
 q123123.com: could not connect to host
 q1q2q3.tk: could not connect to host
 q2.si: did not receive HSTS header
@@ -23283,17 +25687,23 @@ q6729.co: could not connect to host
 q6729.com: did not receive HSTS header
 q6957.co: could not connect to host
 q6957.com: did not receive HSTS header
+q81365.com: did not receive HSTS header
+q81818.com: did not receive HSTS header
+q82365.com: did not receive HSTS header
 q8mp3.me: did not receive HSTS header
 q9297.co: could not connect to host
-q9397.com: could not connect to host
-q9721.com: could not connect to host
+q9397.com: did not receive HSTS header
+q9721.com: did not receive HSTS header
 q9728.co: could not connect to host
 qa-team.xyz: could not connect to host
 qabalah.jp: could not connect to host
+qabel.de: could not connect to host
+qacademy.com.au: did not receive HSTS header
 qadmium.com: could not connect to host
-qadmium.tk: could not connect to host
+qadmium.tk: did not receive HSTS header
 qamrulhaque.com: did not receive HSTS header
 qapital.com: did not receive HSTS header
+qaq.sh: could not connect to host
 qazcloud.com: could not connect to host
 qbeing.info: did not receive HSTS header
 qbik.de: did not receive HSTS header
@@ -23304,17 +25714,16 @@ qccqld.org.au: did not receive HSTS header
 qcloud.cz: did not receive HSTS header
 qdqlh.cn: could not connect to host
 qe2homelottery.com: did not receive HSTS header
-qensio.com: did not receive HSTS header
+qensio.com: could not connect to host
 qforum.org: did not receive HSTS header
 qgblog.org: could not connect to host
+qgr.se: did not receive HSTS header
 qgustavor.tk: did not receive HSTS header
-qi0.de: did not receive HSTS header
-qiannews.net: did not receive HSTS header
 qicomidadeverdade.com.br: could not connect to host
 qifu.org.cn: could not connect to host
-qingcao.org: could not connect to host
+qingcao.org: did not receive HSTS header
 qingpat.com: could not connect to host
-qingxuan.info: did not receive HSTS header
+qingxuan.info: could not connect to host
 qinxi1992.com: could not connect to host
 qionglu.pw: did not receive HSTS header
 qipl.org: could not connect to host
@@ -23324,35 +25733,37 @@ qiu521119.host: could not connect to host
 qiuxian.ddns.net: could not connect to host
 qiwi.be: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 qixxit.de: did not receive HSTS header
-qkka.org: could not connect to host
 qklshequ.com: could not connect to host
 qkzy.net: could not connect to host
 qldconservation.org: could not connect to host
-qlix.pl: could not connect to host
+qlinksgroup.com: did not receive HSTS header
 qnatek.org: could not connect to host
 qnickx.top: did not receive HSTS header
 qnq.moe: could not connect to host
-qoacher.com: did not receive HSTS header
+qnsgmd.com: could not connect to host
+qoacher.com: could not connect to host
 qonqa.de: did not receive HSTS header
 qoohoot.com: did not receive HSTS header
 qop.io: could not connect to host
 qoqo.us: could not connect to host
 qorm.co.uk: could not connect to host
-qq-navi.com: did not receive HSTS header
+qpresentes.com.br: could not connect to host
+qq-navi.com: could not connect to host
 qq5197.co: could not connect to host
-qq6396.com: did not receive HSTS header
+qq52o.me: did not receive HSTS header
+qq6396.com: could not connect to host
 qq6729.co: could not connect to host
 qq6729.com: did not receive HSTS header
 qq6957.co: could not connect to host
 qq885.com: could not connect to host
 qq9297.co: could not connect to host
-qq9397.com: could not connect to host
-qq9721.com: could not connect to host
+qq9397.com: did not receive HSTS header
+qq9721.com: did not receive HSTS header
 qq9728.co: could not connect to host
-qqj.net: could not connect to host
+qqj.net: did not receive HSTS header
 qqq.gg: could not connect to host
 qqq63.com: could not connect to host
-qqvips.com: did not receive HSTS header
+qqvips.com: could not connect to host
 qqvrsmart.cn: could not connect to host
 qredo.com: did not receive HSTS header
 qrforex.com: did not receive HSTS header
@@ -23361,19 +25772,21 @@ qrlfinancial.com: could not connect to host
 qswoo.org: could not connect to host
 qto.com: could not connect to host
 qto.org: could not connect to host
-quadron.hu: could not connect to host
+quadron.hu: did not receive HSTS header
 quaedam.org: could not connect to host
+quafe.tech: could not connect to host
 quail.solutions: could not connect to host
 quakerlens.com: could not connect to host
-quality1.com.br: could not connect to host
+qualitation.co.uk: did not receive HSTS header
+quality1.com.br: did not receive HSTS header
 qualityedgarsolutions.com: did not receive HSTS header
 qualityology.com: did not receive HSTS header
+quallo.com: did not receive HSTS header
 qualpay.biz: did not receive HSTS header
 quanglepro.com: could not connect to host
 quangngaimedia.com: did not receive HSTS header
 quanjinlong.cn: could not connect to host
 quantacloud.ch: could not connect to host
-quantaloupe.tech: could not connect to host
 quantenteranik.eu: could not connect to host
 quantor.dk: did not receive HSTS header
 quantum-cloud.xyz: could not connect to host
@@ -23381,47 +25794,53 @@ quantum-ethics.com: could not connect to host
 quantum-lviv.pp.ua: could not connect to host
 quantumcore.cn: could not connect to host
 quantumcourse.org: did not receive HSTS header
+quantumfurball.net: did not receive HSTS header
 quantumtelecom.com.br: could not connect to host
 quantumwebs.co: could not connect to host
 quanwuji.com: could not connect to host
 quanyin.eu.org: did not receive HSTS header
 quarryhillrentals.com: did not receive HSTS header
 quarus.net: could not connect to host
+quchao.com: could not connect to host
 quebecmailbox.com: could not connect to host
 queenbrownie.com.br: could not connect to host
 queenmargaret.ddns.net: could not connect to host
 queens.lgbt: could not connect to host
 queenshaflo.com: could not connect to host
+queer.farm: could not connect to host
 queercinema.ch: could not connect to host
 quehacerencusco.com: did not receive HSTS header
 quelmandataire.fr: did not receive HSTS header
 quemeloquitan.com: could not connect to host
-queminventou.com.br: could not connect to host
+queminventou.com.br: did not receive HSTS header
 quentinaurat.com: did not receive HSTS header
+queo.com.co: did not receive HSTS header
+querencia.online: did not receive HSTS header
 querkommentar.de: did not receive HSTS header
+quermail.com: did not receive HSTS header
 queryplayground.com: could not connect to host
 questionable.host: could not connect to host
 questions-admin.com: did not receive HSTS header
-questoj.cn: could not connect to host
+questionyu.com: did not receive HSTS header
+questoj.cn: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 questsandrewards.com: could not connect to host
 quic.fr: could not connect to host
 quickandroid.tools: could not connect to host
 quickbookssupportphonenumber.us: did not receive HSTS header
 quickboysvrouwen2.nl: could not connect to host
 quickpayservice.com: could not connect to host
-quickrelations.de: did not receive HSTS header
 quietboy.net: did not receive HSTS header
 quietus.gq: could not connect to host
 quikrmovies.to: could not connect to host
 quilmo.com: could not connect to host
-quimsertek.com: did not receive HSTS header
-quinnlabs.com: did not receive HSTS header
+quimsertek.com: could not connect to host
 quintype.com: did not receive HSTS header
 quisido.com: did not receive HSTS header
 quitarlasmanchasde.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 quitimes.com: could not connect to host
+quitsmoking.coach: could not connect to host
 quizionic.com: could not connect to host
-quizl.io: did not receive HSTS header
+quizl.io: could not connect to host
 quizmemes.org: could not connect to host
 quizogames.com: could not connect to host
 qunzi.la: could not connect to host
@@ -23432,10 +25851,10 @@ quranserver.net: could not connect to host
 qwallet.ca: could not connect to host
 qwans.nl: did not receive HSTS header
 qwant.fr: did not receive HSTS header
+qwaser.fr: could not connect to host
 qwertyatom100.me: could not connect to host
-qwilink.me: did not receive HSTS header
-qwq2333.top: could not connect to host
-qxy.ch: could not connect to host
+qwilink.me: could not connect to host
+qxy.ch: did not receive HSTS header
 qxzg.org: could not connect to host
 qxzgssr.xyz: could not connect to host
 qybot.cc: could not connect to host
@@ -23450,7 +25869,7 @@ r10n.com: did not receive HSTS header
 r15.me: could not connect to host
 r30365.com: could not connect to host
 r3bl.blog: could not connect to host
-r3bl.me: could not connect to host
+r3bl.me: did not receive HSTS header
 r3nt3r.com: did not receive HSTS header
 r5197.co: could not connect to host
 r6729.co: could not connect to host
@@ -23458,15 +25877,20 @@ r6729.com: did not receive HSTS header
 r6957.co: could not connect to host
 r6957.com: did not receive HSTS header
 r811.de: could not connect to host
+r81365.com: did not receive HSTS header
+r81818.com: did not receive HSTS header
+r82365.com: did not receive HSTS header
 r9297.co: could not connect to host
-r9397.com: could not connect to host
-r9721.com: could not connect to host
+r9397.com: did not receive HSTS header
+r9721.com: did not receive HSTS header
 r9728.co: could not connect to host
+ra.vc: could not connect to host
 ra4wvpn.com: did not receive HSTS header
 raajheshkannaa.com: could not connect to host
 rabbit.wales: could not connect to host
-rabbitvcactus.eu: could not connect to host
+rabbitvcactus.eu: did not receive HSTS header
 rabota-x.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+rabotayes.ru: could not connect to host
 rabynska.eu: could not connect to host
 racasdecachorro.org: could not connect to host
 raccoon-music.com: did not receive HSTS header
@@ -23474,24 +25898,30 @@ raceviewequestrian.com: did not receive HSTS header
 rachaelrussell.com: could not connect to host
 rachelchen.me: could not connect to host
 rachelsbouncycastles.co.uk: could not connect to host
-rachida-dati.eu: did not receive HSTS header
+rachida-dati.eu: could not connect to host
+rachurch.net: did not receive HSTS header
 rackblue.com: could not connect to host
-racktear.com: did not receive HSTS header
+racktear.com: could not connect to host
 racozo.com: did not receive HSTS header
 rad-route.de: could not connect to host
 rada-group.eu: could not connect to host
 radarnext.com: could not connect to host
 raddavarden.nu: could not connect to host
 radicaleducation.net: could not connect to host
+radins.com: did not receive HSTS header
 radioactivenetwork.xyz: could not connect to host
 radioafibra.com.br: could not connect to host
+radioh.no: did not receive HSTS header
 radioheaven.co.kr: did not receive HSTS header
 radiopolarniki.spb.ru: could not connect to host
+radior9.it: could not connect to host
+radiosdeguate.com: did not receive HSTS header
 radiumcode.com: could not connect to host
+radmehrco.com: did not receive HSTS header
 radom-pack.pl: could not connect to host
 radtke.bayern: could not connect to host
 rafaelcz.de: could not connect to host
-rafgrup.com: did not receive HSTS header
+raffaelevinci.eu: did not receive HSTS header
 rafsis.com: did not receive HSTS header
 raft.pub: could not connect to host
 rage-overload.ch: could not connect to host
@@ -23500,7 +25930,7 @@ raghavdua.in: could not connect to host
 raghughphotography.tk: could not connect to host
 ragnaroktop.com.br: could not connect to host
 rahadiana.com: could not connect to host
-rahamasin.eu: did not receive HSTS header
+rahamasin.eu: could not connect to host
 rai-co.net: could not connect to host
 raiblockscommunity.net: did not receive HSTS header
 raidstone.com: could not connect to host
@@ -23515,12 +25945,15 @@ raimondos.com: did not receive HSTS header
 rainbin.com: did not receive HSTS header
 rainbow.pizza: could not connect to host
 rainbowbarracuda.com: could not connect to host
+rainbowsky.ru: did not receive HSTS header
+rainturtle.com: could not connect to host
 raipet.no-ip.biz: could not connect to host
 raito.ooo: could not connect to host
 raito.win: could not connect to host
 raitza.de: could not connect to host
-rajastore.ma: could not connect to host
 rajivshah.co.uk: did not receive HSTS header
+rajkapoordas.com: did not receive HSTS header
+rajyogarishikesh.com: did not receive HSTS header
 rakett.org: did not receive HSTS header
 rakugaki.cn: could not connect to host
 ralf-huebscher.de: did not receive HSTS header
@@ -23536,22 +25969,25 @@ ramonj.nl: could not connect to host
 ramuel.com: did not receive HSTS header
 rancowar.com: could not connect to host
 randallbollig.com: did not receive HSTS header
-random-samplings.org: could not connect to host
+randewoo.ru: did not receive HSTS header
 randomcage.com: did not receive HSTS header
 randomcloud.net: could not connect to host
-randomdysfunctions.com: could not connect to host
+randomdysfunctions.com: did not receive HSTS header
 randomhero.cloud: could not connect to host
 randomrepo.com: did not receive HSTS header
 randomwinpicker.de: could not connect to host
 randy.pw: could not connect to host
 ranegroup.hosting: could not connect to host
 rankthespot.com: could not connect to host
+ranktopay.com: did not receive HSTS header
 rannseier.org: did not receive HSTS header
+ranobe.club: could not connect to host
 ranos.org: could not connect to host
 ranson.com.au: could not connect to host
 rantanda.com: could not connect to host
 rante.com: did not receive HSTS header
 rany.duckdns.org: could not connect to host
+rany.int.eu.org: did not receive HSTS header
 rany.io: did not receive HSTS header
 rany.pw: could not connect to host
 ranyeh.co: could not connect to host
@@ -23559,20 +25995,19 @@ rapdogg.com: could not connect to host
 raphaeladdile.com: could not connect to host
 raphaelmoura.ddns.net: could not connect to host
 raphaelschmid.eu: did not receive HSTS header
-raphrfg.com: could not connect to host
 rapidemobile.com: did not receive HSTS header
 rapidflow.io: could not connect to host
 rapidhubs.com: could not connect to host
-rapidminer.com: did not receive HSTS header
-rapido.nu: did not receive HSTS header
+rapido.nu: could not connect to host
 rapidplumbingpenrith.com.au: could not connect to host
 rapidresearch.me: could not connect to host
+rapidshit.net: could not connect to host
 rapidthunder.io: could not connect to host
-rappet.de: did not receive HSTS header
+rappet.de: could not connect to host
 rareative.com: could not connect to host
-rasing.me: did not receive HSTS header
+rasing.me: could not connect to host
 raspass.me: did not receive HSTS header
-raspberry.us: did not receive HSTS header
+raspberry.us: could not connect to host
 raspberrypi.tv: did not receive HSTS header
 raspberryultradrops.com: did not receive HSTS header
 raspitec.ddns.net: could not connect to host
@@ -23580,11 +26015,9 @@ rastasorganics.com: did not receive HSTS header
 rastreador.com.es: did not receive HSTS header
 rastreie.net: did not receive HSTS header
 ratajczak.fr: could not connect to host
-ratajczak.one: could not connect to host
 rate-esport.de: could not connect to host
 ratelsec.com: could not connect to host
-rathgeb.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-rathorian.fr: could not connect to host
+rathorian.fr: did not receive HSTS header
 ratinq.co: could not connect to host
 rationalops.com: could not connect to host
 rationem.nl: did not receive HSTS header
@@ -23593,9 +26026,11 @@ ratuseks.net: could not connect to host
 ratuseks.us: could not connect to host
 raulfraile.net: could not connect to host
 rault.io: did not receive HSTS header
-rautelow.de: did not receive HSTS header
+rautelow.de: could not connect to host
 rautermods.net: did not receive HSTS header
+ravada-vdi.com: could not connect to host
 ravage.fm: could not connect to host
+raveboy.dyndns.org: could not connect to host
 raven.lipetsk.ru: could not connect to host
 ravengergaming.ga: could not connect to host
 ravengergaming.net: could not connect to host
@@ -23604,9 +26039,9 @@ raviparekh.co.uk: could not connect to host
 ravkr.duckdns.org: could not connect to host
 ravse.dk: could not connect to host
 raw-diets.com: could not connect to host
+rawcode.xyz: could not connect to host
 rawet.se: could not connect to host
 rawoil.com: could not connect to host
-rawpearls.com: did not receive HSTS header
 rawr.sexy: could not connect to host
 rawstorieslondon.com: could not connect to host
 raxion.cf: could not connect to host
@@ -23618,18 +26053,19 @@ raydan.space: could not connect to host
 raydobe.me: could not connect to host
 raydolap.web.tr: did not receive HSTS header
 raymii.org: did not receive HSTS header
-raymondelooff.nl: did not receive HSTS header
-raystark.com: could not connect to host
+raynoonanwindows.ie: did not receive HSTS header
 raytron.org: could not connect to host
 razberry.kr: could not connect to host
-razeencheng.com: did not receive HSTS header
+raziskovalec-resnice.com: did not receive HSTS header
 razlaw.name: did not receive HSTS header
+razvanburz.net: could not connect to host
 razvodguru.ru: did not receive HSTS header
 razzolini.com.br: could not connect to host
 rb-china.net: could not connect to host
 rbcservicehub-uat.azurewebsites.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rbd.events: could not connect to host
 rbhighinc.org: could not connect to host
+rbin.nl: could not connect to host
 rbmafrica.co.za: could not connect to host
 rbose.org: could not connect to host
 rbqcloud.com: could not connect to host
@@ -23643,28 +26079,36 @@ rc-rp.com: did not receive HSTS header
 rc4.io: could not connect to host
 rc7.ch: could not connect to host
 rca.ink: could not connect to host
+rca2015.ru: could not connect to host
 rcafox.com: could not connect to host
+rchavez.site: could not connect to host
+rchrdsn.uk: could not connect to host
 rcifsgapinsurance.co.uk: did not receive HSTS header
 rciliberto.com: did not receive HSTS header
 rcmlinx.com: could not connect to host
 rcmpsplib.com: could not connect to host
 rcoliveira.com: could not connect to host
-rcorporation.be: did not receive HSTS header
+rcorporation.be: could not connect to host
 rcpcbd.com: could not connect to host
 rcra-uganda.org: did not receive HSTS header
 rcraigmurphy.net: could not connect to host
 rcsolutions.nl: could not connect to host
+rcvd.io: did not receive HSTS header
 rcx.io: could not connect to host
+rdactive.de: could not connect to host
+rdactive.net: could not connect to host
 rdfencingandgates.co.uk: could not connect to host
 rdfz.tech: could not connect to host
 rdns.im: did not receive HSTS header
 rdplumbingsolutions.com.au: did not receive HSTS header
 rdr2-rp-forum.de: did not receive HSTS header
+rdviitd.org: could not connect to host
 rdxsattamatka.mobi: could not connect to host
 rdyrda.fr: could not connect to host
 re-curi.com: did not receive HSTS header
 re-customer.net: could not connect to host
 re-wilding.com: could not connect to host
+reachonline.org: did not receive HSTS header
 reachr.com: could not connect to host
 reactdatepicker.com: did not receive HSTS header
 reactions.studio: did not receive HSTS header
@@ -23675,6 +26119,7 @@ read.sc: did not receive HSTS header
 reader.ga: could not connect to host
 readify.com.au: did not receive HSTS header
 readingandmath.org: could not connect to host
+readism.io: could not connect to host
 readitify.com: did not receive HSTS header
 readityourself.net: could not connect to host
 readmeeatmedrinkme.com: did not receive HSTS header
@@ -23685,7 +26130,7 @@ readytobattle.net: did not receive HSTS header
 readytowear.es: could not connect to host
 readywithresourcestn.gov: could not connect to host
 reagir43.fr: did not receive HSTS header
-reaiaer.com: could not connect to host
+reaiaer.com: did not receive HSTS header
 reakyaweso.me: could not connect to host
 real-bits.com: could not connect to host
 real-compare.com: did not receive HSTS header
@@ -23695,9 +26140,12 @@ realfamilyincest.com: could not connect to host
 realfreedom.city: could not connect to host
 realgarant-shop.de: did not receive HSTS header
 realgear.net: did not receive HSTS header
+realhorsegirls.net: could not connect to host
 realhost.name: could not connect to host
 realincest.tv: could not connect to host
 realitea.co.uk: did not receive HSTS header
+realitycrazy.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+really-simple-plugins.com: did not receive HSTS header
 really.ai: could not connect to host
 really.io: could not connect to host
 reallycooljobs.ga: could not connect to host
@@ -23714,6 +26162,7 @@ reardenporn.com: could not connect to host
 reath.me: did not receive HSTS header
 rebekaesgabor.online: could not connect to host
 rebel.services: could not connect to host
+rebelrebel.com.au: could not connect to host
 rebootmc.com: did not receive HSTS header
 recard.vn: did not receive HSTS header
 receitas-de-bolos.pt: could not connect to host
@@ -23728,14 +26177,17 @@ rechenwerk.net: could not connect to host
 recht-freundlich.de: did not receive HSTS header
 rechtenliteratuurleiden.nl: could not connect to host
 reclamebureau-ultrax.nl: did not receive HSTS header
+recmon.hu: could not connect to host
 recoveryohio.gov: could not connect to host
 recreoviral.com: did not receive HSTS header
 recruitsecuritytraining.co.uk: could not connect to host
 recruitsecuritytraining.com: could not connect to host
 rectoraudiparts.com: could not connect to host
 recuerdafilms.com: did not receive HSTS header
-recyclingpromotions.us: did not receive HSTS header
-redable.nl: max-age too low: 2592000
+recuperatucuentaya.com: could not connect to host
+recyclebin.email: could not connect to host
+red-dead.life: did not receive HSTS header
+redactedmedia.org: could not connect to host
 redair.es: could not connect to host
 redar.xyz: could not connect to host
 redcarpets.in: did not receive HSTS header
@@ -23744,6 +26196,7 @@ redcomet.org: did not receive HSTS header
 redcone.net: could not connect to host
 reddepsicologosdecr.com: could not connect to host
 reddiseals.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+reddited.com: did not receive HSTS header
 rede.ca: did not receive HSTS header
 redelectrical.co.uk: did not receive HSTS header
 redespaulista.com: did not receive HSTS header
@@ -23751,7 +26204,6 @@ redessantaluzia.com.br: did not receive HSTS header
 redheeler.com.br: could not connect to host
 redhorsemountainranch.com: did not receive HSTS header
 redicabo.de: could not connect to host
-redicals.com: could not connect to host
 redigest.it: could not connect to host
 redirectman.com: could not connect to host
 redit.com: did not receive HSTS header
@@ -23779,10 +26231,12 @@ redshiftlabs.com.au: did not receive HSTS header
 redsquarelasvegas.com: could not connect to host
 redsquirrelcampsite.co.uk: did not receive HSTS header
 reducerin.ro: did not receive HSTS header
+redwhey.com: could not connect to host
 redwoodpaddle.es: did not receive HSTS header
 redwoodpaddle.pt: did not receive HSTS header
 redy.host: did not receive HSTS header
 redzonedaily.com: could not connect to host
+reemployks.gov: could not connect to host
 reensshop.com: could not connect to host
 reepay.com: did not receive HSTS header
 reeson.at: could not connect to host
@@ -23790,6 +26244,7 @@ reeson.de: could not connect to host
 reeson.info: could not connect to host
 reeson.org: could not connect to host
 reevoo.com: did not receive HSTS header
+reezer.org: did not receive HSTS header
 referenten.org: did not receive HSTS header
 refficience.com: did not receive HSTS header
 refill-roboter.de: did not receive HSTS header
@@ -23797,6 +26252,7 @@ refitplanner.com: could not connect to host
 reflectivity.io: did not receive HSTS header
 reflecton.io: could not connect to host
 reflexive-engineering.com: could not connect to host
+reflexive.xyz: could not connect to host
 reforesttheplanet.com: could not connect to host
 reformatreality.com: could not connect to host
 refresh-media.nl: did not receive HSTS header
@@ -23817,15 +26273,19 @@ regily.com: did not receive HSTS header
 regime-anticellulite.com: could not connect to host
 regime-maigrir-vite.com: could not connect to host
 regimebonheur.com: could not connect to host
-regimecellulite.com: could not connect to host
+regimecellulite.com: did not receive HSTS header
 reginagroffy.com: could not connect to host
 regio-salland.nl: could not connect to host
 regionalcoalition.org: did not receive HSTS header
 regionale.org: did not receive HSTS header
 register.gov.uk: did not receive HSTS header
 registertovoteflorida.gov: did not receive HSTS header
+registrar.io: could not connect to host
 regnix.net: could not connect to host
 regoul.com: did not receive HSTS header
+regresionavidaspasadas.com: did not receive HSTS header
+regsec.com: could not connect to host
+regularizaeudora.com.br: could not connect to host
 rehabilitation.network: could not connect to host
 rehabmail.com: did not receive HSTS header
 rehabphilippines.com: could not connect to host
@@ -23835,7 +26295,6 @@ reher.pro: could not connect to host
 rehobothma.gov: did not receive HSTS header
 rei.codes: could not connect to host
 reic.me: could not connect to host
-reichl-online.net: could not connect to host
 reidascuecas.com.br: could not connect to host
 reidsupply.com: did not receive HSTS header
 reignsphere.net: could not connect to host
@@ -23843,6 +26302,7 @@ reikiqueen.uk: could not connect to host
 reinaertvandecruys.me: could not connect to host
 reineberthe.ch: could not connect to host
 reinhard.codes: did not receive HSTS header
+reinhardtsgermanautorepair.com: did not receive HSTS header
 reinoldus.ddns.net: could not connect to host
 reisekosten-gorilla.com: did not receive HSTS header
 reismil.ch: could not connect to host
@@ -23851,9 +26311,11 @@ reisyukaku.org: did not receive HSTS header
 reithguard-it.de: did not receive HSTS header
 rejo.in: could not connect to host
 rejoice1009.com: did not receive HSTS header
+rejsehuskelisten.dk: did not receive HSTS header
 rejushiiplotter.ru: could not connect to host
 rejuvemedspa.com: did not receive HSTS header
 rekonstrukcestatu.cz: did not receive HSTS header
+relates.link: did not receive HSTS header
 relatic.net: could not connect to host
 relayawards.com: could not connect to host
 relaybox.io: could not connect to host
@@ -23863,9 +26325,9 @@ reliable-mail.de: could not connect to host
 reliant3sixty.com: could not connect to host
 religiousforums.com: did not receive HSTS header
 relisten.nl: did not receive HSTS header
+rellmusic.com: max-age too low: 0
 relocatefeds.gov: could not connect to host
 relojesseiko.es: did not receive HSTS header
-relsak.cz: could not connect to host
 relvan.com: could not connect to host
 relvan.tech: could not connect to host
 rem.pe: could not connect to host
@@ -23895,20 +26357,19 @@ remszeitung.de: did not receive HSTS header
 renascentia.asia: did not receive HSTS header
 rencaijia.com: did not receive HSTS header
 rencontres-erotiques.com: did not receive HSTS header
-rendre-service.ch: could not connect to host
-rene-eizenhoefer.de: could not connect to host
 rene-guitton.fr: did not receive HSTS header
 renee.today: could not connect to host
 renefloresphotography.com: could not connect to host
-renesauerwein.com: did not receive HSTS header
+renesauerwein.com: could not connect to host
 renesauerwein.de: could not connect to host
-renewedhopefc.com: did not receive HSTS header
+renewedhopefc.com: could not connect to host
 renewgsa.com: could not connect to host
 rengarenkblog.com: could not connect to host
 renideo.fr: could not connect to host
 renkhosting.com: could not connect to host
 renlong.org: did not receive HSTS header
 rennfire.org: could not connect to host
+renovandoingresos.com: could not connect to host
 renrenss.com: could not connect to host
 renscreations.com: did not receive HSTS header
 rentacarcluj.xyz: could not connect to host
@@ -23920,11 +26381,13 @@ rentbrowsertrain.me: could not connect to host
 rentcarassist.com: could not connect to host
 renteater.com: could not connect to host
 rentex.com: did not receive HSTS header
+rentta.fashion: did not receive HSTS header
 renxinge.cn: could not connect to host
 repair.by: did not receive HSTS header
+reparatii-injectoare-buzau.com: did not receive HSTS header
 reparo.pe: did not receive HSTS header
 repex.co.il: could not connect to host
-replace.ninja: did not receive HSTS header
+replace.ninja: could not connect to host
 replaceits.me: could not connect to host
 replacemychina.com: could not connect to host
 replikatelefon.tk: could not connect to host
@@ -23941,12 +26404,12 @@ reporturl.com: did not receive HSTS header
 reporturl.io: did not receive HSTS header
 reposaarenkuva.fi: could not connect to host
 reprolife.co.uk: could not connect to host
-repsltd.co.uk: did not receive HSTS header
+reprowesty.com: did not receive HSTS header
 reptilauksjonen.no: could not connect to host
-republicanleader.gov: did not receive HSTS header
 republicanwhip.gov: did not receive HSTS header
 republicmo.gov: did not receive HSTS header
 repustate.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+reputatiedesigners.nl: did not receive HSTS header
 reqognize.com: did not receive HSTS header
 reqrut.net: did not receive HSTS header
 requena.tv: did not receive HSTS header
@@ -23956,7 +26419,7 @@ res-rheingau.de: could not connect to host
 res42.com: could not connect to host
 resc.la: could not connect to host
 research.md: could not connect to host
-researchbyaxia.com: could not connect to host
+researchbyaxia.com: did not receive HSTS header
 reseponline.info: did not receive HSTS header
 reserve-online.net: did not receive HSTS header
 reservetonshift.com: could not connect to host
@@ -23987,36 +26450,43 @@ restopro.nyc: could not connect to host
 restore-aid.com: did not receive HSTS header
 restoreresearchstudy.com: could not connect to host
 resultsdate.news: could not connect to host
+resumeprime.com: did not receive HSTS header
 retcor.net: could not connect to host
 retefrati.it: could not connect to host
 retetenoi.net: could not connect to host
 reth.ch: could not connect to host
+retidurc.fr: did not receive HSTS header
 retireyourpassword.org: did not receive HSTS header
 retogroup.com: could not connect to host
+retro.rocks: could not connect to host
 retrojar.top: could not connect to host
-retropage.co: could not connect to host
+retronet.nl: could not connect to host
+retropage.co: did not receive HSTS header
 retrowave.eu: did not receive HSTS header
 rets.org.br: did not receive HSTS header
 retube.ga: could not connect to host
 returnofwar.com: could not connect to host
+returnonerror.com: could not connect to host
+returnpath.com: did not receive HSTS header
 reulitz.de: could not connect to host
-reupo.com: could not connect to host
+reuna.me: could not connect to host
 reussir-ma-fete.fr: could not connect to host
 reuter-shop.com: did not receive HSTS header
-revampweb-staging.azurewebsites.net: did not receive HSTS header
 revapost.ch: could not connect to host
-revapost.fr: could not connect to host
+revealglobally.com: did not receive HSTS header
 revelaciones.tv: could not connect to host
 revello.org: did not receive HSTS header
 reverie.pw: could not connect to host
 reverse.design: could not connect to host
 revhost-consulting.fr: did not receive HSTS header
+reviderm-skinmedics-rheinbach.de: did not receive HSTS header
 review.info: could not connect to host
 reviewjust.com: did not receive HSTS header
 reviewmed-215418.appspot.com: did not receive HSTS header
 reviewspedia.org: could not connect to host
-revisit.date: did not receive HSTS header
+reviewu.ca: could not connect to host
 revistapequenosolhares.com.br: could not connect to host
+revistasomos.com: could not connect to host
 revivalsstores.com: did not receive HSTS header
 revolt.tv: did not receive HSTS header
 revolta-hosting.fr: did not receive HSTS header
@@ -24024,6 +26494,7 @@ revolucionfemenina.com: could not connect to host
 revolutionhive.com: could not connect to host
 revthefox.co.uk: did not receive HSTS header
 revtut.net: could not connect to host
+revuestarlight.me: could not connect to host
 rewopit.net: could not connect to host
 rewrite3.com: could not connect to host
 rewtherealtor.com: did not receive HSTS header
@@ -24033,6 +26504,7 @@ reyesfernando.com: max-age too low: 0
 reykjavik.guide: could not connect to host
 rezaaryo.id: did not receive HSTS header
 rezendemultimarcas.com.br: could not connect to host
+rezenfitness.com: did not receive HSTS header
 rezexpert.com: did not receive HSTS header
 rezosup.net: could not connect to host
 rezosup.org: could not connect to host
@@ -24040,36 +26512,39 @@ rf.tn: could not connect to host
 rfeif.org: could not connect to host
 rfitness.dk: did not receive HSTS header
 rftoon.com: could not connect to host
+rfxt.com: did not receive HSTS header
 rgavmf.ru: did not receive HSTS header
 rgservers.com: did not receive HSTS header
 rhapsodhy.hu: could not connect to host
 rhdigital.pro: could not connect to host
-rheijmans.io: could not connect to host
-rheijmans.nl: could not connect to host
+rheijmans.com: could not connect to host
+rheijmans.email: could not connect to host
+rheijmans.xyz: could not connect to host
 rheinturm.nrw: could not connect to host
 rheocube.com: did not receive HSTS header
 rhering.de: could not connect to host
 rheuma-online.de: could not connect to host
-rhevelo.com: did not receive HSTS header
 rhnet.at: could not connect to host
 rhodes.ml: could not connect to host
 rhodesianridgeback.com.br: could not connect to host
 rhodosdreef.nl: could not connect to host
 rhondanp.com: did not receive HSTS header
+rhycloud.com: did not receive HSTS header
+rhymc.com: could not connect to host
 rhypehost.com: could not connect to host
-ribeirostore.com.br: could not connect to host
+ribeirostore.com.br: did not receive HSTS header
 ribopierre.fr: could not connect to host
 ribs.com: did not receive HSTS header
-ricaribeiro.com.br: could not connect to host
+ricci-ingenieria.com: could not connect to host
 riceglue.com: did not receive HSTS header
 richamorindonesia.com: did not receive HSTS header
 richardb.me: could not connect to host
 richardfeinbergdds.com: did not receive HSTS header
 richardhering.de: did not receive HSTS header
+richardramos.me: could not connect to host
 richeza.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-richie.cloud: could not connect to host
 richie.link: did not receive HSTS header
-richieheijmans.cloud: could not connect to host
+richieheijmans.io: could not connect to host
 richiemail.net: could not connect to host
 richlj.com: did not receive HSTS header
 richmtdriver.com: could not connect to host
@@ -24082,7 +26557,7 @@ ricknox.com: could not connect to host
 ricky.capital: could not connect to host
 rickycbenitez.com: did not receive HSTS header
 rico.ovh: could not connect to host
-ricoydesign.com: could not connect to host
+ricozienke.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rid-wan.com: could not connect to host
 riddickthemovie.tk: could not connect to host
 riddims.co: did not receive HSTS header
@@ -24091,11 +26566,14 @@ rideaudiscount.com: did not receive HSTS header
 rideforwade.com: could not connect to host
 rideforwade.net: could not connect to host
 rideforwade.org: could not connect to host
+rideintaxi.com: could not connect to host
+rideways.com: did not receive HSTS header
 rideworks.com: did not receive HSTS header
 ridgelandchurch.org: did not receive HSTS header
 ridingoklahoma.com: could not connect to host
 ridvan-vllasaliu.tk: could not connect to host
 ridwan.co: could not connect to host
+riechsteiner.tech: could not connect to host
 riederle.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 riemer.ml: did not receive HSTS header
 riemzac.com: could not connect to host
@@ -24107,24 +26585,29 @@ rigabeerbike.lv: could not connect to host
 right-to-love.name: did not receive HSTS header
 right2.org: could not connect to host
 rightcapital.com: did not receive HSTS header
-righteousendeavour.com: could not connect to host
+rightfold.io: could not connect to host
 rightpol.com: could not connect to host
 righttoknow.ie: did not receive HSTS header
 rigolitch.fr: did not receive HSTS header
-rijndael.xyz: could not connect to host
+rijndael.xyz: did not receive HSTS header
 rijnmondeg.nl: did not receive HSTS header
 rika.me: did not receive HSTS header
 rileyevans.co.uk: could not connect to host
+rileyskains.com: could not connect to host
 rimediogiusto.com: could not connect to host
-rincon-nsn.gov: max-age too low: 300
+rincon-nsn.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rincondenoticas.com: could not connect to host
 ring.com: did not receive HSTS header
 ring0.xyz: did not receive HSTS header
 ringh.am: could not connect to host
 rinj.se: could not connect to host
-rinprom.com: could not connect to host
+rinprom.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rionewyork.com.br: could not connect to host
+rioxmarketing.com: could not connect to host
+ripple.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rippleunion.com: could not connect to host
+riptoforex.com: could not connect to host
+riqy86.nl: could not connect to host
 risi-china.com: could not connect to host
 risingsun.red: could not connect to host
 riskcategory.com: could not connect to host
@@ -24132,24 +26615,34 @@ riskmgt.com.au: could not connect to host
 riskmitigation.ch: did not receive HSTS header
 rissato.com.br: did not receive HSTS header
 ristorantefattoamano.eu: could not connect to host
+ristoviitanen.fi: could not connect to host
 ritaohio.gov: could not connect to host
+riteway.rocks: could not connect to host
+ritewayconcrete.com: could not connect to host
 rithm.ch: did not receive HSTS header
+ritsu-life.com: could not connect to host
 rittis.ru: did not receive HSTS header
 ritualesyamarresdelamor.com: could not connect to host
+ritzlux.com.tw: could not connect to host
 rivagecare.it: did not receive HSTS header
 riverbendessentialoil.com: did not receive HSTS header
 rivermendhealthcenters.com: did not receive HSTS header
 riversideauto.net: did not receive HSTS header
 riversideiowa.gov: did not receive HSTS header
 riverstyxgame.com: could not connect to host
+riverviewcourtapts.com: did not receive HSTS header
 rivlo.com: could not connect to host
 rivy.org: did not receive HSTS header
+rixter.com: could not connect to host
 rixzz.ovh: could not connect to host
+rizoma.tech: could not connect to host
 rizonrice.club: did not receive HSTS header
 rj.gg: could not connect to host
 rjnutrition.consulting: did not receive HSTS header
+rk.mk: could not connect to host
+rk12.de: could not connect to host
 rk6.cz: could not connect to host
-rkc-hygrotherm.de: could not connect to host
+rkc-hygrotherm.de: did not receive HSTS header
 rkkhok.hu: did not receive HSTS header
 rkmantpur.org: did not receive HSTS header
 rkmedia.no: could not connect to host
@@ -24160,25 +26653,30 @@ rmdlingerie.com.br: did not receive HSTS header
 rme.li: did not receive HSTS header
 rmf.io: could not connect to host
 rmi.com.ar: did not receive HSTS header
+rmit.me: could not connect to host
 rmk.si: could not connect to host
 rmpsolution.de: did not receive HSTS header
-rms-digicert.ne.jp: did not receive HSTS header
+rms-digicert.ne.jp: could not connect to host
+rms.sexy: could not connect to host
 rmsides.com: did not receive HSTS header
 rn29.me: could not connect to host
-rnb-storenbau.ch: max-age too low: 0
+rndconceptsourcing.solutions: could not connect to host
 rnt.cl: did not receive HSTS header
 roadfeast.com: could not connect to host
 roadtopgm.com: could not connect to host
-roan24.pl: did not receive HSTS header
 roave.com: did not receive HSTS header
 rob.uk.com: did not receive HSTS header
-robert-flynn.de: could not connect to host
+robert-foster.com: did not receive HSTS header
+robert-wiek-transporte.de: could not connect to host
 robertabittle.com: could not connect to host
+robertayamashita.com: could not connect to host
+robertayamashita.com.br: could not connect to host
+robertcrain.com.au: did not receive HSTS header
+robertg.me: could not connect to host
 roberto-webhosting.nl: could not connect to host
 robertses.org: could not connect to host
-robertsonsalts.info: did not receive HSTS header
+robertsonsalts.info: could not connect to host
 robi-net.it: could not connect to host
-robicue.com: could not connect to host
 robin-novotny.com: could not connect to host
 robin.io: did not receive HSTS header
 robinadr.com: did not receive HSTS header
@@ -24186,11 +26684,16 @@ robinfrancq.ml: could not connect to host
 robinloeffel.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 robinsonstrategy.com: could not connect to host
 robinvdmarkt.nl: could not connect to host
+roboex.net: could not connect to host
 robomonkey.org: could not connect to host
 robot.works: did not receive HSTS header
 roboth.am: could not connect to host
+robotham.org: could not connect to host
 robotics.plus: did not receive HSTS header
+robototes.com: could not connect to host
+robottip.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 robsalmon.me.uk: did not receive HSTS header
+robtatemusic.com: could not connect to host
 robteix.com: did not receive HSTS header
 robtex.net: did not receive HSTS header
 robtex.org: did not receive HSTS header
@@ -24199,24 +26702,22 @@ robuxemporium.com: could not connect to host
 roc.net.au: could not connect to host
 rochcloud.cf: could not connect to host
 rochman.id: did not receive HSTS header
+rockbankland.com.au: could not connect to host
 rockcellar.ch: could not connect to host
 rockenfuerlachenhelfen.de: did not receive HSTS header
 rockerchyc.com: did not receive HSTS header
 rocket-wars.de: did not receive HSTS header
 rocketgnomes.com: could not connect to host
-rocketnet.ml: could not connect to host
+rocketnet.ml: did not receive HSTS header
 rockeyscrivo.com: did not receive HSTS header
-rockfax.com: did not receive HSTS header
-rockhounds.co.za: did not receive HSTS header
-rockmyshoes.co.uk: could not connect to host
+rockmyshoes.co.uk: did not receive HSTS header
 rocksberg.net: could not connect to host
 rockuse.com.br: did not receive HSTS header
 rockz.io: did not receive HSTS header
-rod.run: did not receive HSTS header
 rodab.party: could not connect to host
 rodafe.sk: could not connect to host
 rodarion.pl: could not connect to host
-roddis.net: did not receive HSTS header
+roddis.net: could not connect to host
 rodehutskors.net: could not connect to host
 rodinneodpoledne2018.cz: could not connect to host
 rodney.id.au: did not receive HSTS header
@@ -24225,10 +26726,12 @@ rodosto.com: did not receive HSTS header
 rodzina-kupiec.eu.org: did not receive HSTS header
 roelbazuin.com: could not connect to host
 roeldevries.me: did not receive HSTS header
+roeleveld.nl: did not receive HSTS header
 roelf.org: did not receive HSTS header
 roeljoyas.com: did not receive HSTS header
 roeper.party: could not connect to host
 roesemann.email: could not connect to host
+rofai.biz: did not receive HSTS header
 roffe.nu: did not receive HSTS header
 roflcopter.fr: did not receive HSTS header
 rofrank.space: could not connect to host
@@ -24237,15 +26740,13 @@ roger101.com: did not receive HSTS header
 rogerbertrand.com: could not connect to host
 rogerdat.ovh: could not connect to host
 rogue-e.xyz: could not connect to host
-roguefinancial.com: could not connect to host
+roguefinancial.com: did not receive HSTS header
 roguetechhub.org: could not connect to host
 rohanbassett.com: could not connect to host
-roiscroll.com: did not receive HSTS header
 roketix.co.uk: did not receive HSTS header
 roksolana.be: could not connect to host
 rolandinsh.com: did not receive HSTS header
 rolandlips.com: could not connect to host
-rolandoredi.com: could not connect to host
 rolandslate.com: did not receive HSTS header
 rolemaster.net: did not receive HSTS header
 roleplayhome.com: could not connect to host
@@ -24256,42 +26757,48 @@ rollingstocks.tk: could not connect to host
 rolliwelt.de: could not connect to host
 rolobio.com: max-age too low: 3600
 rolroer.co.za: could not connect to host
-romaimperator.com: did not receive HSTS header
+romaimperator.com: could not connect to host
 romainmuller.xyz: did not receive HSTS header
-romancloud.com: could not connect to host
 romano.guru: could not connect to host
-romans-place.me.uk: could not connect to host
+romans-place.me.uk: did not receive HSTS header
 romantic-quotes.co.uk: could not connect to host
+romanticasfm.com: did not receive HSTS header
 romanticfirstdance.com: did not receive HSTS header
 romanticschemermovie.com: could not connect to host
 romar-bos.nl: could not connect to host
 romastantra.com: could not connect to host
 romeoferraris.com: did not receive HSTS header
 romleg.cf: could not connect to host
-roms.fun: could not connect to host
+roms.fun: did not receive HSTS header
 romulusapp.com: could not connect to host
-romun.net: could not connect to host
 romy.tw: could not connect to host
 ron2k.za.net: did not receive HSTS header
 ronanrbr.com: did not receive HSTS header
+ronbongamis.com: could not connect to host
 rondoniatec.com.br: did not receive HSTS header
 rondreis-planner.nl: did not receive HSTS header
 ronghexx.com: could not connect to host
+ronniemossel.nl: max-age too low: 0
 ronnytito.com: did not receive HSTS header
-ronvandordt.info: could not connect to host
+ronvandordt.info: did not receive HSTS header
 ronwo.de: could not connect to host
 ronzertnert.xyz: could not connect to host
 roo.ie: could not connect to host
+roohanionlinespiritualhelp.co.uk: did not receive HSTS header
 rool.me: did not receive HSTS header
 roolevoi.ru: did not receive HSTS header
 room-checkin24.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 room2d.com: did not receive HSTS header
+roomguide.info: did not receive HSTS header
 roomongo.com: did not receive HSTS header
+rooselaers.com: could not connect to host
+roosta.xyz: could not connect to host
 roosterpgplus.nl: could not connect to host
 rootbsd.at: could not connect to host
 rootforum.org: did not receive HSTS header
 rootkit.es: did not receive HSTS header
 rootrelativity.com: could not connect to host
+rootsbar.fr: could not connect to host
 rootservice.org: did not receive HSTS header
 rootspersona.com: did not receive HSTS header
 rootwpn.com: could not connect to host
@@ -24305,6 +26812,7 @@ roseofyorkbooking.com: could not connect to host
 rosetiger.life: could not connect to host
 rosewoodranch.com: did not receive HSTS header
 roshiya.co.in: could not connect to host
+rosihui.com: did not receive HSTS header
 rosimms.com: did not receive HSTS header
 rospa100.com: did not receive HSTS header
 rossclark.com: did not receive HSTS header
@@ -24312,24 +26820,29 @@ rossen.be: did not receive HSTS header
 rossfrancis.co.uk: did not receive HSTS header
 rossilber.com: did not receive HSTS header
 rosslug.org.uk: could not connect to host
-rostros.eu: did not receive HSTS header
+rostros.eu: could not connect to host
 rotapalor.com: did not receive HSTS header
 rotex1840.de: did not receive HSTS header
 rothnater.ch: did not receive HSTS header
 rotter-dam.nl: did not receive HSTS header
 rotterdamjazz.info: could not connect to host
+rottie.xyz: did not receive HSTS header
 rottipowah.com: did not receive HSTS header
 rotzonline.com: could not connect to host
 rough.nu: could not connect to host
 roundaboutweb.info: did not receive HSTS header
 rous.se: could not connect to host
+rout0r.org: could not connect to host
 routeragency.com: did not receive HSTS header
-routercncperu.com: did not receive HSTS header
+routercncperu.com: could not connect to host
+routetracker.co: could not connect to host
 rouvray.org: did not receive HSTS header
 rove3d.com: could not connect to host
 rows.io: did not receive HSTS header
 royal-forest.org: max-age too low: 0
 royal-mangal.ch: could not connect to host
+royal71.com: did not receive HSTS header
+royal72.com: did not receive HSTS header
 royal806.com: did not receive HSTS header
 royal810.com: did not receive HSTS header
 royal811.com: did not receive HSTS header
@@ -24337,14 +26850,12 @@ royal812.com: did not receive HSTS header
 royal813.com: did not receive HSTS header
 royal816.com: did not receive HSTS header
 royal817.com: did not receive HSTS header
-royal818.com: did not receive HSTS header
-royal830.com: did not receive HSTS header
-royal833.com: did not receive HSTS header
+royal830.com: could not connect to host
 royal850.com: did not receive HSTS header
 royal851.com: did not receive HSTS header
 royal852.com: did not receive HSTS header
 royal855.com: did not receive HSTS header
-royal856.com: could not connect to host
+royal856.com: did not receive HSTS header
 royal857.com: did not receive HSTS header
 royal859.com: did not receive HSTS header
 royal86.com: did not receive HSTS header
@@ -24379,17 +26890,21 @@ royal895.com: could not connect to host
 royal896.com: did not receive HSTS header
 royal898.com: did not receive HSTS header
 royal899.com: did not receive HSTS header
+royalbeautyclinic.ir: did not receive HSTS header
 royalbuffetdijon.fr: did not receive HSTS header
 royalcitytaxi.ca: could not connect to host
 royalfoxrealtor.com: could not connect to host
 royalhop.co: could not connect to host
 royalpalacenogent.fr: did not receive HSTS header
+royalpub.net: did not receive HSTS header
 royalsignaturecruise.com: could not connect to host
 royalty-market.com: could not connect to host
 royalyule.com: could not connect to host
 royjr.com: did not receive HSTS header
+roys.design: could not connect to host
 royzez.com: could not connect to host
 rozalisbengal.ro: could not connect to host
+rozalynne-dawn.ga: could not connect to host
 rozeapp.nl: could not connect to host
 rp2018.co.uk: could not connect to host
 rpasafrica.com: could not connect to host
@@ -24404,8 +26919,8 @@ rr6729.co: could not connect to host
 rr6729.com: did not receive HSTS header
 rr6957.co: could not connect to host
 rr9297.co: could not connect to host
-rr9397.com: could not connect to host
-rr9721.com: could not connect to host
+rr9397.com: did not receive HSTS header
+rr9721.com: did not receive HSTS header
 rr9728.co: could not connect to host
 rrbts.com: could not connect to host
 rring.me: could not connect to host
@@ -24415,7 +26930,6 @@ rro.rs: could not connect to host
 rrom.me: did not receive HSTS header
 rs-cloud.ddns.net: could not connect to host
 rs-devdemo.host: could not connect to host
-rs-solution.ch: could not connect to host
 rsajeey.info: could not connect to host
 rsampaio.info: could not connect to host
 rsauget.fr: could not connect to host
@@ -24427,43 +26941,51 @@ rsi.im: could not connect to host
 rskuipers.com: did not receive HSTS header
 rsldb.com: could not connect to host
 rsm-intern.de: could not connect to host
+rsm-liga.de: did not receive HSTS header
 rsmaps.org: could not connect to host
 rsmmail.com: could not connect to host
-rsships.com: did not receive HSTS header
+rsships.com: could not connect to host
 rssnews.world: could not connect to host
 rssr.ddns.net: could not connect to host
-rstraining.co.uk: could not connect to host
+rstraining.co.uk: max-age too low: 604800
 rstsecuritygroup.co.uk: could not connect to host
+rt.com: could not connect to host
 rt1314.xyz: did not receive HSTS header
+rtate.ca: could not connect to host
+rtate.se: could not connect to host
 rtc.fun: could not connect to host
+rtd.uk: could not connect to host
 rtd.uk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rte.eu: could not connect to host
+rte2fm.ie: could not connect to host
 rtfpessoa.xyz: did not receive HSTS header
 rths.tk: could not connect to host
 rtrinflatables.co.uk: could not connect to host
 rttss.com: could not connect to host
 rtvi.com: did not receive HSTS header
 rtzoeller.com: could not connect to host
-rua.cx: could not connect to host
+ru-e-business.com: did not receive HSTS header
+rua.cx: did not receive HSTS header
 ruarua.ml: could not connect to host
 rubbereggs.ca: could not connect to host
 rubbix.net: could not connect to host
 rubecodeberg.com: could not connect to host
+ruben.am: could not connect to host
 rubendv.be: did not receive HSTS header
 rubenjromo.com: did not receive HSTS header
 rubenschulz.nl: did not receive HSTS header
 rubi-ka.net: max-age too low: 0
+rubidi.net: did not receive HSTS header
 ruborr.se: did not receive HSTS header
+rubyist.im: max-age too low: 2592000
 rubysecurity.org: did not receive HSTS header
 rubyshop.nl: did not receive HSTS header
 rucnerobene.eu: could not connect to host
 rudel-wot.de: could not connect to host
-rudelune.fr: could not connect to host
+rudelune.fr: did not receive HSTS header
 rudeotter.com: did not receive HSTS header
 ruderverein-gelsenkirchen.de: did not receive HSTS header
 rudhaulidirectory.com: did not receive HSTS header
-ruediger-voigt.eu: could not connect to host
-ruedigervoigt.de: could not connect to host
 rueduparticulier.com: did not receive HSTS header
 ruequincampoix.com: did not receive HSTS header
 rufabula-com.appspot.com: did not receive HSTS header
@@ -24473,8 +26995,10 @@ rugirlfriend.com: could not connect to host
 rugs.ca: did not receive HSTS header
 rugstorene.co.uk: did not receive HSTS header
 ruhr3.de: did not receive HSTS header
+ruht.ro: did not receive HSTS header
 ruig.jp: could not connect to host
 ruigomes.me: did not receive HSTS header
+ruika.ru: could not connect to host
 ruimarques.xyz: could not connect to host
 ruiruigeblog.com: could not connect to host
 ruitersportbak.nl: could not connect to host
@@ -24482,9 +27006,9 @@ ruja.dk: did not receive HSTS header
 rukhaiyar.com: could not connect to host
 rullzer.com: did not receive HSTS header
 rumenka.tk: could not connect to host
-rummage4property.co.uk: did not receive HSTS header
 rummel-platz.de: could not connect to host
 rumoterra.com.br: could not connect to host
+rumtaste.com: could not connect to host
 run-forrest.run: could not connect to host
 runawebinar.nl: could not connect to host
 runcarina.com: could not connect to host
@@ -24492,13 +27016,14 @@ rundumcolumn.xyz: could not connect to host
 runhardt.eu: could not connect to host
 runnergrapher.com: could not connect to host
 runningandoutdoors.com: did not receive HSTS header
+runschrauger.com: could not connect to host
 runtimepanic.xyz: could not connect to host
 runtl.com: did not receive HSTS header
 runtondev.com: did not receive HSTS header
 ruqu.nl: could not connect to host
 rurs.ml: could not connect to host
 rusadmin.biz: did not receive HSTS header
-rushiiworks.com: could not connect to host
+rusempire.ru: did not receive HSTS header
 rushmix.com: could not connect to host
 rushmyessay.gq: could not connect to host
 ruskod.net: could not connect to host
@@ -24509,20 +27034,19 @@ russmarshall.com: could not connect to host
 russpuss.ru: did not receive HSTS header
 rustbyexample.com: did not receive HSTS header
 rustfanatic.com: did not receive HSTS header
+ruthiehallarsis.com: max-age too low: 300
 ruvinroshan.com: did not receive HSTS header
 ruxit.com: did not receive HSTS header
-rv-jpshop.com: could not connect to host
-rva.gov: could not connect to host
+rva.gov: did not receive HSTS header
 rvc-france.com: did not receive HSTS header
-rvender.cz: did not receive HSTS header
 rvfu98.com: could not connect to host
 rvg.zone: could not connect to host
-rvoigt.eu: could not connect to host
 rvolve.net: could not connect to host
 rw-solutions.tech: could not connect to host
 rwanderlust.com: could not connect to host
 rwgamernl.ml: could not connect to host
-rx-contact.com: did not receive HSTS header
+rws-cc.com: did not receive HSTS header
+rx-contact.com: could not connect to host
 rxcheck.com: did not receive HSTS header
 rxgroup.io: did not receive HSTS header
 rxprep.com: did not receive HSTS header
@@ -24531,10 +27055,8 @@ rxv.cc: could not connect to host
 ryan-design.com: did not receive HSTS header
 ryancarter.co.uk: did not receive HSTS header
 ryanjarvis.co.uk: did not receive HSTS header
-ryanjarvis.org.uk: could not connect to host
 ryanroberts.co.uk: did not receive HSTS header
 ryanstreur.com: did not receive HSTS header
-ryanteck.uk: could not connect to host
 rybox.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 rychlikoderi.cz: could not connect to host
 rydermais.tk: did not receive HSTS header
@@ -24543,27 +27065,25 @@ rylin.net: could not connect to host
 rylore.com: could not connect to host
 ryssl.com: could not connect to host
 ryssland.guide: could not connect to host
-ryu22e.org: did not receive HSTS header
 ryyule.com: could not connect to host
 ryzex.de: could not connect to host
-rzegroup.com: did not receive HSTS header
+rzegroup.com: could not connect to host
 s-a.xyz: could not connect to host
 s-d-v.ch: could not connect to host
 s-n-unso.com: did not receive HSTS header
 s-on.li: could not connect to host
 s-rickroll-p.pw: could not connect to host
 s-socks.com: could not connect to host
-s-yuz.com: did not receive HSTS header
 s.how: could not connect to host
 s0923.com: could not connect to host
 s0laris.co.uk: could not connect to host
-s13d.fr: could not connect to host
+s1-llc.com: could not connect to host
 s16e.no: did not receive HSTS header
 s1mplescripts.de: could not connect to host
 s1ris.org: did not receive HSTS header
+s2p.moe: could not connect to host
 s30365.com: could not connect to host
 s3cases.com: did not receive HSTS header
-s3gfault.com: could not connect to host
 s3n.se: could not connect to host
 s4media.org: could not connect to host
 s5118.com: could not connect to host
@@ -24571,13 +27091,17 @@ s5197.co: could not connect to host
 s6729.co: could not connect to host
 s6729.com: did not receive HSTS header
 s6957.co: could not connect to host
+s81365.com: did not receive HSTS header
+s81818.com: did not receive HSTS header
+s82365.com: did not receive HSTS header
 s9297.co: could not connect to host
-s9397.com: could not connect to host
-s9721.com: could not connect to host
+s9397.com: did not receive HSTS header
+s9721.com: did not receive HSTS header
 s9728.co: could not connect to host
 saabwa.org: could not connect to host
 saah.ae: did not receive HSTS header
 saastopankki.fi: did not receive HSTS header
+sabahattin-gucukoglu.com: could not connect to host
 sabatek.pl: did not receive HSTS header
 sabe.cz: did not receive HSTS header
 sabine-dicklberger-massschneiderei-muenchen.de: did not receive HSTS header
@@ -24586,16 +27110,18 @@ saccounty.gov: did not receive HSTS header
 sacharidovejednotky.eu: could not connect to host
 sackers.com: did not receive HSTS header
 saco-ceso.com: could not connect to host
+sacramentocounty.gov: could not connect to host
+sadbox.es: could not connect to host
 sadiejanehair.com: could not connect to host
-sadievilleky.gov: could not connect to host
+sadievilleky.gov: did not receive HSTS header
 saenforcement.agency: could not connect to host
 safari-afrique.com: did not receive HSTS header
 safe.moe: did not receive HSTS header
-safe.space: could not connect to host
 safeacs.com: could not connect to host
 safeathomeohio.gov: could not connect to host
 safedevice.net: did not receive HSTS header
 safeex.com: did not receive HSTS header
+safeinfra.nl: could not connect to host
 safelist.eu: did not receive HSTS header
 safeme.ga: could not connect to host
 safemovescheme.co.uk: could not connect to host
@@ -24607,7 +27133,6 @@ saferedirectlink.com: could not connect to host
 saferpost.com: could not connect to host
 safesecret.info: did not receive HSTS header
 safetext.me: could not connect to host
-safetynames.com: did not receive HSTS header
 safetyrisk.net: did not receive HSTS header
 safetysign.ir: did not receive HSTS header
 safetyworkkits.co.nz: did not receive HSTS header
@@ -24615,49 +27140,56 @@ safewings-nh.nl: could not connect to host
 safing.me: could not connect to host
 safnah.com: did not receive HSTS header
 safungerar.se: could not connect to host
-saga-umzuege.de: max-age too low: 3600
 sagarhandicraft.com: did not receive HSTS header
 sagemontchurch.org: did not receive HSTS header
 sageth.com: could not connect to host
+sagracefarms.com: could not connect to host
 sah3.net: could not connect to host
-saidelbakkali.com: max-age too low: 2592000
+sahilm.com: did not receive HSTS header
+saidtezel.com: did not receive HSTS header
+saigaocy.me: could not connect to host
 saigonstar.de: could not connect to host
+sailbookers.com: did not receive HSTS header
 sainikbiswas.com: could not connect to host
 saint-astier-triathlon.com: did not receive HSTS header
+saint-sym.fr: did not receive HSTS header
 saintefoy-tarentaise.com: did not receive HSTS header
 saintip.com: did not receive HSTS header
-saintjohnlutheran.church: did not receive HSTS header
+saintjohnlutheran.church: could not connect to host
 saintmichelqud.com: did not receive HSTS header
 saintsrobotics.com: did not receive HSTS header
 saintw.com: could not connect to host
 sairai.bid: could not connect to host
+saisaweb.com: could not connect to host
 saitoh-atsuko.com: did not receive HSTS header
 saiyasu-search.com: did not receive HSTS header
 sajter.ga: could not connect to host
 sakamichi.moe: could not connect to host
 sakaserver.com: did not receive HSTS header
+sakerhetsbubblan.se: did not receive HSTS header
 sakib.ninja: did not receive HSTS header
 sakurabuff.com: could not connect to host
 sakuracdn.com: could not connect to host
+sakuradata.com: could not connect to host
 sakuraflores.com.br: could not connect to host
 salaervergleich.com: did not receive HSTS header
 sale.sh: did not receive HSTS header
 sale4ru.ru: could not connect to host
 saleaks.org: could not connect to host
 salearnership.co.za: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-salentocab.com: could not connect to host
+salesactivities.de: did not receive HSTS header
+salesblackbelt.coach: could not connect to host
 saleslift.pl: could not connect to host
 salesmachine.io: did not receive HSTS header
 salishseawhalewatching.ca: did not receive HSTS header
 salixcode.com: could not connect to host
-sallysubs.com: could not connect to host
 salmo23.com.br: did not receive HSTS header
 salmonrecovery.gov: could not connect to host
 salmos91.com: could not connect to host
-salmotierra-salvatierra.com: could not connect to host
 salonestella.it: could not connect to host
 salserocafe.com: could not connect to host
 salserototal.com: could not connect to host
+salt-documentary.blog: could not connect to host
 saltedskies.com: could not connect to host
 saltireconservation.com: did not receive HSTS header
 salto.si: did not receive HSTS header
@@ -24666,12 +27198,13 @@ saludnutrivida.com: could not connect to host
 saludsexualmasculina.org: did not receive HSTS header
 saludsis.mil.co: did not receive HSTS header
 saludyvida.site: could not connect to host
-saluels.servemp3.com: could not connect to host
 salvaalocombia.com: could not connect to host
+salvameuba.com: did not receive HSTS header
 salverainha.org: could not connect to host
 salzamt.tk: could not connect to host
+salzerperu.com: could not connect to host
 sam-cousins.com: did not receive HSTS header
-samandej.ir: did not receive HSTS header
+sam88.cc: could not connect to host
 samanthahumphreysstudio.com: did not receive HSTS header
 samanthasicecream.com: could not connect to host
 samariafar.com: did not receive HSTS header
@@ -24679,8 +27212,8 @@ samaritan.tech: could not connect to host
 samaritansnet.org: could not connect to host
 samba.com.co: did not receive HSTS header
 sambaa.com.br: could not connect to host
+samcentertech.com: did not receive HSTS header
 sametovymesic.cz: could not connect to host
-samfreaks.de: did not receive HSTS header
 samgrayson.me: did not receive HSTS header
 samin.tk: could not connect to host
 samitechnic.com: did not receive HSTS header
@@ -24689,8 +27222,8 @@ samlam.ddns.net: could not connect to host
 samlamac.com: could not connect to host
 samlivogarv.dk: did not receive HSTS header
 sammenlignakasser.dk: did not receive HSTS header
-sammyslimos.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-samnya.cn: could not connect to host
+sammyslimos.com: max-age too low: 300
+samnya.cn: did not receive HSTS header
 samp.im: could not connect to host
 sampcup.com: could not connect to host
 sampleappservice.com: could not connect to host
@@ -24701,43 +27234,48 @@ samsen.club: could not connect to host
 samsonova.de: could not connect to host
 samsungphonegenerator.xyz: did not receive HSTS header
 samsungxoa.com: could not connect to host
-samuel-dumont.be: did not receive HSTS header
+samuel-dumont.be: could not connect to host
 samuirehabcenter.com: could not connect to host
+samuraiskye.com: did not receive HSTS header
 samvanderkris.com: could not connect to host
-samwilberforce.com: could not connect to host
 samyerkes.com: did not receive HSTS header
 san-mian-ka.ml: could not connect to host
 sanalbayrak.com: could not connect to host
 sanandreasstories.com: did not receive HSTS header
 sanasalud.org: did not receive HSTS header
 sanatfilan.com: could not connect to host
-sanatrans.com: could not connect to host
+sanatrans.com: did not receive HSTS header
 sancdz.com: did not receive HSTS header
-sand-islets.de: did not receive HSTS header
 sandbagexpress.com: did not receive HSTS header
 sandbox.mydigipass.com: could not connect to host
-sandburner.net: could not connect to host
 sanderknape.com: did not receive HSTS header
+sandiegoluxuryhomes.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sandtonvipcompanions.com: did not receive HSTS header
 sandviks.com: did not receive HSTS header
+sanemind.de: did not receive HSTS header
+sanemind.eu: did not receive HSTS header
 sanguoxiu.com: could not connect to host
 sangwon.io: could not connect to host
 sanhei.ch: did not receive HSTS header
 sanik.my: did not receive HSTS header
 sanikapandit.com: did not receive HSTS header
 sanilodge.com: did not receive HSTS header
+sanjotech.space: could not connect to host
 sanook69.com: did not receive HSTS header
 sanovnikat.com: did not receive HSTS header
-sanpei-design.com: did not receive HSTS header
+sanpham-balea.org: could not connect to host
 sanqinyinshi.com.cn: could not connect to host
 sanradon.by: did not receive HSTS header
 sansage.com.br: did not receive HSTS header
 sansdev.com: could not connect to host
 sansemea.com: did not receive HSTS header
+santa-fell-from.space: could not connect to host
 santacruzdescargas.tk: could not connect to host
 santafemacas.com.br: did not receive HSTS header
+santamariaretreats.com: max-age too low: 0
 santanderibc.com: did not receive HSTS header
 santanderideas.com: did not receive HSTS header
+santensautomatics.be: did not receive HSTS header
 santi.eu: did not receive HSTS header
 santing.net: could not connect to host
 santmark.com: could not connect to host
@@ -24752,13 +27290,16 @@ santorinibbs.com: did not receive HSTS header
 santoshpandit.com: did not receive HSTS header
 santouri.be: could not connect to host
 sanyasingh.in: did not receive HSTS header
+saobancrafts.com: could not connect to host
 saoneth.pl: could not connect to host
 saotn.org: did not receive HSTS header
 sapereaude.com.pl: did not receive HSTS header
+sapk.fr: could not connect to host
 saposute-s.jp: could not connect to host
 sapphireblue.me: could not connect to host
 sapuncheta.com: did not receive HSTS header
 sarabara.com: max-age too low: 5184000
+sarae.id: did not receive HSTS header
 sarah-beckett-harpist.com: did not receive HSTS header
 sarahboydrealty.com: did not receive HSTS header
 sarahcheyette.com: did not receive HSTS header
@@ -24774,14 +27315,18 @@ sargeson.it: did not receive HSTS header
 sarindia.com: could not connect to host
 sarindia.de: could not connect to host
 sarisonproductions.com: did not receive HSTS header
+sarkaariseva.live: could not connect to host
 sarkarikhoj.com: could not connect to host
 sarkarischeme.in: could not connect to host
 sarkisozleri.us: could not connect to host
 sarndipity.com: could not connect to host
 saronno5stelle.it: did not receive HSTS header
 saruwebshop.co.za: could not connect to host
+sas-snowboarding.sk: could not connect to host
 sasanika.org: could not connect to host
-sat.rent: did not receive HSTS header
+sashka.com.ua: could not connect to host
+saskpension.com: did not receive HSTS header
+sat.rent: could not connect to host
 sat7a-riyadh.com: did not receive HSTS header
 satanichia.moe: could not connect to host
 satisperfectacollections.com: could not connect to host
@@ -24798,11 +27343,12 @@ satsukii.moe: did not receive HSTS header
 sattamatkadpboss.mobi: could not connect to host
 sattaresult.in: could not connect to host
 saturne.tk: could not connect to host
-saturngames.co.uk: could not connect to host
+saturngames.co.uk: did not receive HSTS header
 saucelabs.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 saucyfox.net: did not receive HSTS header
 saudavel.com.vc: could not connect to host
-saudeeconforto.com.br: did not receive HSTS header
+saudeealimentos.com: could not connect to host
+saudeeconforto.com.br: could not connect to host
 saudeintimadamulher.com.br: could not connect to host
 saudiarabiaevisa.co.uk: did not receive HSTS header
 sauenytt.no: could not connect to host
@@ -24815,13 +27361,14 @@ savacloud.com: did not receive HSTS header
 savannahtasteexperience.com: did not receive HSTS header
 savantic.io: could not connect to host
 savbus.net: could not connect to host
-save-me-koeln.de: did not receive HSTS header
+save-me-koeln.de: could not connect to host
 save.gov: could not connect to host
 saveaward.gov: could not connect to host
 savebt.net: could not connect to host
 savecashindia.com: did not receive HSTS header
 savekorea.net: max-age too low: 0
 savemoneyonenergy.com: did not receive HSTS header
+savemylicence.co.uk: did not receive HSTS header
 saveora.com: could not connect to host
 saveora.shop: could not connect to host
 savethedogfishfoundation.org: could not connect to host
@@ -24833,12 +27380,18 @@ savingsstoreonline.ca: did not receive HSTS header
 savisasolutions.co.za: did not receive HSTS header
 savvysuit.com: did not receive HSTS header
 savvytime.com: did not receive HSTS header
+saxojoe.co.uk: could not connect to host
 saxol-group.com: could not connect to host
 say-hanabi.com: could not connect to host
 sayhanabi.com: could not connect to host
 sayori.pw: could not connect to host
+sayprepay.com: could not connect to host
 saytu.co: did not receive HSTS header
+sayver22.com: could not connect to host
 sb-mnn.com: did not receive HSTS header
+sbgroup.dk: could not connect to host
+sbit.com.br: could not connect to host
+sbl001.com: did not receive HSTS header
 sblum.de: did not receive HSTS header
 sbm.cloud: could not connect to host
 sbobetfun.com: could not connect to host
@@ -24846,20 +27399,21 @@ sbox-archives.com: could not connect to host
 sbox-servers.com: could not connect to host
 sbr.red: did not receive HSTS header
 sbsbaits.com: did not receive HSTS header
-sbsnursery.co.uk: could not connect to host
+sbsnursery.co.uk: did not receive HSTS header
+sbstattoo.com: could not connect to host
 sby.de: did not receive HSTS header
-sc21.cn: did not receive HSTS header
+sc21.cn: could not connect to host
 sc4le.com: could not connect to host
 scala.click: did not receive HSTS header
 scalacollege.nl: did not receive HSTS header
 scale.milano.it: could not connect to host
 scalive.tv: could not connect to host
+scamblockplus.org: could not connect to host
 scanleasing.net: did not receive HSTS header
 scannabi.com: could not connect to host
-scanwords.cc: did not receive HSTS header
-scanwords.net: did not receive HSTS header
-scanwords.org: did not receive HSTS header
-scarvespalace.com: could not connect to host
+scanwords.cc: could not connect to host
+scanwords.net: could not connect to host
+scanwords.org: could not connect to host
 scbreed.com: did not receive HSTS header
 scentofwine.com: did not receive HSTS header
 sceptique.eu: did not receive HSTS header
@@ -24870,15 +27424,18 @@ schaefer-reifen.de: did not receive HSTS header
 schalkoortbv.nl: did not receive HSTS header
 schaper-sport.com: did not receive HSTS header
 scharoth.de: did not receive HSTS header
-schatmeester.be: did not receive HSTS header
+schatmeester.be: could not connect to host
 schau-rein.co.at: did not receive HSTS header
 schauer.so: could not connect to host
 schd.io: did not receive HSTS header
+scheduleme.io: could not connect to host
 scheemadigital.com: could not connect to host
 scheidtweiler.de: did not receive HSTS header
 schermreparatierotterdam.nl: did not receive HSTS header
+schgroup.com: did not receive HSTS header
 schimmel-test.info: could not connect to host
 schimmelnagelspecialist.nl: did not receive HSTS header
+schippers-it.nl: did not receive HSTS header
 schlabbi.com: did not receive HSTS header
 schlafguru.com: could not connect to host
 schlossfuchs.de: could not connect to host
@@ -24896,15 +27453,18 @@ schnell-abnehmen.tips: could not connect to host
 schnell-gold.com: did not receive HSTS header
 schnellsuche.de: did not receive HSTS header
 schoeck-elektro.de: could not connect to host
-schokofoto.de: did not receive HSTS header
 scholarly.com.ph: could not connect to host
 scholarly.ph: could not connect to host
 scholierenvervoerzeeland.nl: did not receive HSTS header
 scholl.io: could not connect to host
 schollbox.de: could not connect to host
 scholledev.com: could not connect to host
+school-b.us: could not connect to host
 school.in.th: could not connect to host
+schoolarchive.net: did not receive HSTS header
+schoolbus.at: did not receive HSTS header
 schooli.io: could not connect to host
+schoolofequineshiatsu.com: did not receive HSTS header
 schoolotzyv.ru: could not connect to host
 schoolsonice.nl: could not connect to host
 schoolstats.de: did not receive HSTS header
@@ -24914,14 +27474,18 @@ schoop.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_
 schopenhauer-institut.de: could not connect to host
 schorel.ovh: could not connect to host
 schraebanowicz.net: did not receive HSTS header
+schrauger.run: could not connect to host
+schraugerrun.com: could not connect to host
 schreiber-netzwerk.eu: did not receive HSTS header
 schreibnacht.de: did not receive HSTS header
 schreinerei-wortmann.de: did not receive HSTS header
 schrikdraad.net: did not receive HSTS header
 schrodinger.io: could not connect to host
+schroeder-immobilien-sundern.de: could not connect to host
 schroepfglas-versand.de: did not receive HSTS header
 schroettle.com: did not receive HSTS header
 schsrch.org: could not connect to host
+schuelerzeitung-ideenlos.de: could not connect to host
 schuhbeck.tk: could not connect to host
 schulterglatzen-altenwalde.de: could not connect to host
 schultz.is: max-age too low: 0
@@ -24933,15 +27497,18 @@ schwedenhaus.ag: did not receive HSTS header
 schweiz.guide: could not connect to host
 schweizerbolzonello.net: could not connect to host
 schwetz.net: could not connect to host
-sci-internet.tk: could not connect to host
+sci-internet.tk: did not receive HSTS header
 scib.tk: could not connect to host
 science-anatomie.com: did not receive HSTS header
-science360.gov: did not receive HSTS header
+science-questions.org: could not connect to host
+science360.gov: could not connect to host
 scienceathome.org: did not receive HSTS header
 sciencehouse.jp: did not receive HSTS header
 sciencemonster.co.uk: could not connect to host
 scientific.boston: could not connect to host
 scifi.fyi: did not receive HSTS header
+scimage.com: max-age too low: 7776000
+scintillating.stream: could not connect to host
 scionasset.com: did not receive HSTS header
 sciototownship-oh.gov: did not receive HSTS header
 scis.com.ua: did not receive HSTS header
@@ -24952,7 +27519,6 @@ sclgroup.cc: could not connect to host
 sclns.co: could not connect to host
 scm-2017.org: could not connect to host
 scontogiusto.com: could not connect to host
-scoolcode.com: did not receive HSTS header
 scooshonline.co.uk: did not receive HSTS header
 scootfleet.com: could not connect to host
 scopea.fr: max-age too low: 0
@@ -24960,7 +27526,6 @@ score-savers.com: max-age too low: 10540800
 scores4schools.com: could not connect to host
 scorobudem.ru: could not connect to host
 scorocode.ru: did not receive HSTS header
-scorpowines.com: did not receive HSTS header
 scottainslie.me.uk: could not connect to host
 scottdial.com: did not receive HSTS header
 scottferguson.com.au: did not receive HSTS header
@@ -24969,7 +27534,8 @@ scottgthomas.com: could not connect to host
 scotthel.me: did not receive HSTS header
 scotthelme.com: did not receive HSTS header
 scottnicol.co.uk: could not connect to host
-scottstorey.co.uk: did not receive HSTS header
+scottstorey.co.uk: could not connect to host
+scottynordstrom.org: could not connect to host
 scourt.info: could not connect to host
 scourt.org.ua: could not connect to host
 scoutdb.ch: did not receive HSTS header
@@ -24997,8 +27563,8 @@ scrion.com: could not connect to host
 script.google.com: did not receive HSTS header (error ignored - included regardless)
 scriptenforcer.net: could not connect to host
 scripthost.org: could not connect to host
-scriptict.nl: did not receive HSTS header
-scriptjunkie.us: could not connect to host
+scriptict.nl: could not connect to host
+scrisulfacebine.ro: did not receive HSTS header
 scrollstory.com: did not receive HSTS header
 scrtch.fr: could not connect to host
 scruffymen.com: could not connect to host
@@ -25011,8 +27577,9 @@ scw.nz: could not connect to host
 scwilliams.co.uk: could not connect to host
 scwilliams.uk: could not connect to host
 sdayman.com: did not receive HSTS header
+sdfleetmanagement.com: did not receive HSTS header
 sdhmanagementgroup.com: could not connect to host
-sdia.ru: could not connect to host
+sdia.ru: did not receive HSTS header
 sdl-corporatesite-staging.azurewebsites.net: did not receive HSTS header
 sdmoscow.ru: did not receive HSTS header
 sdocast.com: could not connect to host
@@ -25024,8 +27591,11 @@ sduoxminty.cn: could not connect to host
 sdvx.net: did not receive HSTS header
 se7ensins.com: did not receive HSTS header
 sea-godzilla.com: could not connect to host
+seabooty.com: could not connect to host
 seaborn.top: did not receive HSTS header
 seacam-store.com: did not receive HSTS header
+seaminars.fr: did not receive HSTS header
+seamless.no: did not receive HSTS header
 seanchaidh.org: could not connect to host
 seankilgarriff.com: could not connect to host
 seans.cc: could not connect to host
@@ -25046,7 +27616,6 @@ searchbrothers.ru: did not receive HSTS header
 searchbrothers.uk: did not receive HSTS header
 searchgov.gov.il: did not receive HSTS header
 searx.pw: could not connect to host
-searx.run: could not connect to host
 seats2meet.com: did not receive HSTS header
 seatshare.co.uk: did not receive HSTS header
 sebastiaandouma.co.uk: could not connect to host
@@ -25056,16 +27625,14 @@ sebastian-kraus.me: could not connect to host
 sebastian-lutsch.de: could not connect to host
 sebastian-schmidt.me: did not receive HSTS header
 sebastian-tobie.de: could not connect to host
+sebastian.expert: did not receive HSTS header
 sebastianhampl.de: could not connect to host
 sebastianjaworecki.tk: could not connect to host
 sebastianpedersen.com: could not connect to host
+sebastiensenechal.com: did not receive HSTS header
 sebepoznani.eu: could not connect to host
 sebi.cf: could not connect to host
-sec.fish: did not receive HSTS header
 sec.red: could not connect to host
-sec44.com: did not receive HSTS header
-sec44.net: did not receive HSTS header
-sec44.org: did not receive HSTS header
 sec4share.me: did not receive HSTS header
 sec555.com: did not receive HSTS header
 secandtech.com: could not connect to host
@@ -25076,8 +27643,6 @@ secboom.com: could not connect to host
 seccast.my: did not receive HSTS header
 seccomp.ru: did not receive HSTS header
 seceye.cn: could not connect to host
-secfish.com: did not receive HSTS header
-secfish.net: did not receive HSTS header
 sechat.one: could not connect to host
 secitem.at: could not connect to host
 secitem.de: could not connect to host
@@ -25096,14 +27661,15 @@ secondpay.nl: could not connect to host
 secondspace.ca: could not connect to host
 secpoc.online: could not connect to host
 secretar.is: could not connect to host
-secretnation.net: could not connect to host
+secretnation.net: did not receive HSTS header
 secretofanah.com: could not connect to host
 secretpigeon.com: could not connect to host
+secteer.com: did not receive HSTS header
 sectest.ml: could not connect to host
 sectia22.ro: could not connect to host
 sectionw2s.org: did not receive HSTS header
 secumail.nl: did not receive HSTS header
-secur3.us: did not receive HSTS header
+secumailer.eu: did not receive HSTS header
 secure-automotive-cloud.com: could not connect to host
 secure-automotive-cloud.org: could not connect to host
 secure-games.us: could not connect to host
@@ -25117,13 +27683,13 @@ securefuture.nl: did not receive HSTS header
 secureideas.com: did not receive HSTS header
 secureindia.co: could not connect to host
 securejabber.me: could not connect to host
-securemind.ch: could not connect to host
+securemy.website: could not connect to host
 secureprivacy101.org: could not connect to host
 secureradio.net: could not connect to host
 securesuisse.ch: could not connect to host
+securetasks.net: could not connect to host
 securetheorem.com: did not receive HSTS header
-securetronic.ch: could not connect to host
-securify.nl: did not receive HSTS header
+securetronic.ch: did not receive HSTS header
 securipy.com: could not connect to host
 securiscan.io: did not receive HSTS header
 securita.eu: did not receive HSTS header
@@ -25132,45 +27698,41 @@ security-thoughts.org: could not connect to host
 security.google.com: did not receive HSTS header (error ignored - included regardless)
 security.xn--q9jyb4c: could not connect to host
 securityarena.com: could not connect to host
-securitybrief.asia: did not receive HSTS header
-securitybrief.co.nz: did not receive HSTS header
-securitybrief.com.au: did not receive HSTS header
-securitybrief.eu: did not receive HSTS header
 securitycamerasaustin.net: did not receive HSTS header
+securitycamerascincinnati.com: did not receive HSTS header
 securitycamerasjohnsoncity.com: did not receive HSTS header
 securityglance.com: could not connect to host
 securityindicators.com: could not connect to host
 securityinet.biz: could not connect to host
-securityinet.com: max-age too low: 60
-securityinet.net: did not receive HSTS header
+securityinet.net: could not connect to host
 securityinet.org.il: could not connect to host
 securitymap.wiki: could not connect to host
 securitysoapbox.com: could not connect to host
 securitytalk.pl: could not connect to host
 securitytestfan.gov: could not connect to host
 securitywatch.co.nz: did not receive HSTS header
+securitywithnick.com: could not connect to host
 securityzap.com: could not connect to host
 securiviera.ch: did not receive HSTS header
 securocloud.com: could not connect to host
 securon.io: could not connect to host
 securoswiss.ch: could not connect to host
 secwise.nl: could not connect to host
-sedesignxtra.com: could not connect to host
+sedesignxtra.com: did not receive HSTS header
 sedeusquiser.net: could not connect to host
+sedomicilier.fr: did not receive HSTS header
 sedrubal.de: could not connect to host
 sedussa.ro: did not receive HSTS header
 sedziapilkarski.pl: did not receive HSTS header
-seeclop.ch: did not receive HSTS header
 seedalpha.com: could not connect to host
 seedboxers.net: could not connect to host
 seedsofangelica.net: did not receive HSTS header
-seefirm.com: did not receive HSTS header
+seefirm.com: could not connect to host
 seefunk.net: did not receive HSTS header
 seehimnaked.com: could not connect to host
 seehimnude.com: could not connect to host
 seehisnudes.com: could not connect to host
-seekers.ch: could not connect to host
-seekersmart.com: could not connect to host
+seekersmart.com: did not receive HSTS header
 seeks.ru: could not connect to host
 seele.ca: could not connect to host
 seemeasaperson.com: did not receive HSTS header
@@ -25180,8 +27742,11 @@ seezeitlodge-bostalsee.de: did not receive HSTS header
 sefinancial.com: did not receive HSTS header
 seg-sys.com: could not connect to host
 segenstore.com: could not connect to host
+segtronix.com: could not connect to host
 segurosdecarroshialeah.org: did not receive HSTS header
 segurosdevidamiami.org: did not receive HSTS header
+segurosmaurobracchieri.com: could not connect to host
+sehablazolano.com: could not connect to host
 sehenderson.com: did not receive HSTS header
 seht.xyz: could not connect to host
 seida.at: could not connect to host
@@ -25201,6 +27766,7 @@ selectcertifiedautos.com: did not receive HSTS header
 selectruckscalltrackingreports.com: could not connect to host
 selectsplat.com: could not connect to host
 selent.me: could not connect to host
+seleondar.ru: could not connect to host
 selfdefenserx.com: could not connect to host
 selfhosters.com: could not connect to host
 selfie-france.fr: could not connect to host
@@ -25213,6 +27779,8 @@ sellmoretires.com: did not receive HSTS header
 sello.com: did not receive HSTS header
 sellocdn.com: did not receive HSTS header
 sellservs.co.za: could not connect to host
+semaf.at: max-age too low: 10368000
+semakincantik.com: did not receive HSTS header
 semantheme.fr: could not connect to host
 semao.org: could not connect to host
 semen3325.xyz: could not connect to host
@@ -25222,16 +27790,19 @@ sementes.gratis: could not connect to host
 semianalog.com: could not connect to host
 seminariruumid.ee: did not receive HSTS header
 semmlers.com: did not receive HSTS header
-semplicementelight.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+semmuhely.tk: could not connect to host
 semps-servers.de: could not connect to host
 semrush.com: did not receive HSTS header
 semyonov.su: could not connect to host
 semyonov.us: could not connect to host
 send4x.com: did not receive HSTS header
 sendash.com: did not receive HSTS header
+sendfile.online: could not connect to host
 sendinvoice.nl: did not receive HSTS header
 senedirect.com: could not connect to host
 senemusique.com: did not receive HSTS header
+sengoku-okayama.net: did not receive HSTS header
+sengokulife.com: did not receive HSTS header
 senhorst.com: did not receive HSTS header
 senimag.ro: did not receive HSTS header
 seniorhomepurchaseprogram.com: could not connect to host
@@ -25250,41 +27821,49 @@ sensibus.com: did not receive HSTS header
 sensoft-int.com: could not connect to host
 sensoft-int.net: could not connect to host
 sensoft-int.org: could not connect to host
+sensory-brands.com: did not receive HSTS header
 sensound.ml: could not connect to host
 sentic.info: did not receive HSTS header
 sentiments.io: could not connect to host
 sentinelsmotorcycleclub.com: could not connect to host
 sentirmebien.org: could not connect to host
-seo-lagniappe.com: could not connect to host
+seo-lagniappe.com: did not receive HSTS header
+seo-nerd.de: max-age too low: 600000
 seo.consulting: did not receive HSTS header
 seo.tl: did not receive HSTS header
 seoarchive.org: could not connect to host
+seobase.pro: did not receive HSTS header
 seobot.com.au: could not connect to host
 seocomposer.com: did not receive HSTS header
-seoexperte.berlin: did not receive HSTS header
+seodefinitivo.com: did not receive HSTS header
+seoenmexico.com.mx: did not receive HSTS header
+seoexperte.berlin: could not connect to host
+seoharish.com: did not receive HSTS header
 seohochschule.de: did not receive HSTS header
-seoium.com: did not receive HSTS header
 seokay.com: did not receive HSTS header
 seolaba.io: could not connect to host
 seolib.org: could not connect to host
 seomarketingdeals.com: did not receive HSTS header
 seomen.biz: could not connect to host
+seomik.dk: did not receive HSTS header
 seomobo.com: could not connect to host
 seoprovider.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+seoquake.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 seosanantonioinc.com: did not receive HSTS header
 seoscribe.net: could not connect to host
+seosec.xyz: did not receive HSTS header
 seotools.asia: did not receive HSTS header
 seotronix.net: did not receive HSTS header
 seouniversity.org: could not connect to host
 seowarp.net: did not receive HSTS header
+seowordpress.pl: did not receive HSTS header
 sep23.ru: could not connect to host
 sepakbola.win: could not connect to host
 sephr.com: did not receive HSTS header
 sepie.gob.es: did not receive HSTS header
 seppelec.com: did not receive HSTS header
-seproco.com: could not connect to host
 seputarpengertian.com: could not connect to host
-seq.tf: could not connect to host
+seq.tf: did not receive HSTS header
 sequatchiecountytn.gov: did not receive HSTS header
 ser-it.pl: could not connect to host
 serafin.tech: could not connect to host
@@ -25294,46 +27873,58 @@ serenitycreams.com: did not receive HSTS header
 serfdom.io: did not receive HSTS header
 sergiogas.com.br: did not receive HSTS header
 sergiojimenezequestrian.com: did not receive HSTS header
-sergiosantoro.it: could not connect to host
+sergiosantoro.it: did not receive HSTS header
 sergos.de: could not connect to host
+serije.co: did not receive HSTS header
+seriouss.am: could not connect to host
 serized.pw: could not connect to host
-serkanyarbas.com: could not connect to host
-serkanyarbas.com.tr: could not connect to host
+serkanceyhan.com: could not connect to host
+serkaneles.com: did not receive HSTS header
 serv.site: did not receive HSTS header
 servdiscount.com: did not receive HSTS header
+serve-a.com.au: could not connect to host
+servea.com.au: could not connect to host
+serveatechnologies.com: could not connect to host
 servecrypt.com: could not connect to host
 servecrypt.net: could not connect to host
 servecrypt.ru: could not connect to host
 servemnaction.org: could not connect to host
 server-bg.net: could not connect to host
+server-eye.com: did not receive HSTS header
+server-eye.de: did not receive HSTS header
 server.pk: did not receive HSTS header
 server72a.ddns.net: could not connect to host
 server92.eu: could not connect to host
 server92.tk: could not connect to host
 serveradmin.ovh: could not connect to host
 serveradminz.com: did not receive HSTS header
-serverangels.co.uk: could not connect to host
+serverangels.co.uk: did not receive HSTS header
 serverdensity.io: did not receive HSTS header
 servergno.me: did not receive HSTS header
 serverlauget.no: could not connect to host
+serverlog.net: could not connect to host
 servermonkey.nl: could not connect to host
 serverping.io: did not receive HSTS header
-servers4all.co.uk: could not connect to host
+servers4all.co.uk: did not receive HSTS header
+servettorna.com: did not receive HSTS header
 servfefe.com: could not connect to host
 service-wueste-vodafone.tk: could not connect to host
 serviceair.com.ar: could not connect to host
 servicemagicusa.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 servicemembers.gov: could not connect to host
+serviceslotenmaker.nl: did not receive HSTS header
 servicevie.com: did not receive HSTS header
 serviciodebarralibreparaeventos.com: did not receive HSTS header
 servidoresadmin.com: did not receive HSTS header
-servidoresweb.online: did not receive HSTS header
+servidoresweb.online: could not connect to host
 serviefectivo.com.co: could not connect to host
 servmaslt.com: could not connect to host
 servpanel.de: did not receive HSTS header
 servu.de: could not connect to host
+servx.org: could not connect to host
 servx.ru: could not connect to host
 serwis-wroclaw.pl: could not connect to host
+serwusik.pl: did not receive HSTS header
 seryo.moe: could not connect to host
 seryo.net: could not connect to host
 seryovpn.com: could not connect to host
@@ -25345,13 +27936,13 @@ setsailanddive.com: did not receive HSTS header
 setterirlandes.com.br: could not connect to host
 setuid.de: could not connect to host
 seulean.gq: could not connect to host
-seven-purple.com: could not connect to host
 sevenet.pl: did not receive HSTS header
 sevengang.tk: could not connect to host
 sevenhearts.online: could not connect to host
 sevenmatches.com: could not connect to host
 severine-trousselard.com: could not connect to host
 sevinci.ch: could not connect to host
+sevipro.mx: did not receive HSTS header
 sevwebdesign.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sexaki.com: did not receive HSTS header
 sexar.info: could not connect to host
@@ -25364,22 +27955,24 @@ sexshopsgay.com: did not receive HSTS header
 sextfriend.com: did not receive HSTS header
 sexwork.net: could not connect to host
 seyahatsagliksigortalari.com: could not connect to host
-seyfarth.de: could not connect to host
 seyr.it: could not connect to host
-seyrederiz.com: did not receive HSTS header
 sf3223.com: could not connect to host
 sfashion.si: did not receive HSTS header
 sfcomercio.com.br: could not connect to host
 sfhobbies.com.br: could not connect to host
-sfi.sh: did not receive HSTS header
 sflhidta.gov: could not connect to host
 sfsltd.com: could not connect to host
+sgh.ovh: could not connect to host
 sgovaard.nl: could not connect to host
 sgrmreproduccionapp.azurewebsites.net: could not connect to host
 sgroup-hitoduma.com: did not receive HSTS header
+sgroup-rec.com: did not receive HSTS header
+sgsy.bid: could not connect to host
 sgthotshot.com: could not connect to host
 sgtsnookums.net: could not connect to host
+sh-network.de: could not connect to host
 sh4y.com: could not connect to host
+sh68.cc: could not connect to host
 shaaaaaaaaaaaaa.com: did not receive HSTS header
 shaamrelief.org: could not connect to host
 shadiku.com: did not receive HSTS header
@@ -25389,9 +27982,9 @@ shadow-socks.pro: could not connect to host
 shadowguardian507-irl.tk: did not receive HSTS header
 shadowguardian507.tk: could not connect to host
 shadowict.net: did not receive HSTS header
-shadowict.tech: did not receive HSTS header
+shadowict.tech: could not connect to host
 shadowmorph.info: did not receive HSTS header
-shadowoftheoldgods.com: did not receive HSTS header
+shadowoftheoldgods.com: could not connect to host
 shadowping.com: could not connect to host
 shadowplus.net: could not connect to host
 shadowrocket.net: could not connect to host
@@ -25408,14 +28001,19 @@ shadowstack.de: did not receive HSTS header
 shadowsu.info: could not connect to host
 shadowsu.top: could not connect to host
 shadowsworldonline.co.uk: could not connect to host
+shadsupershop.com: could not connect to host
 shag-shag.ru: could not connect to host
 shagi29.ru: did not receive HSTS header
+shaharyaranjum.com: could not connect to host
 shahbeat.com: could not connect to host
+shahidhashmi.net: could not connect to host
+shahyadmusic.com: could not connect to host
 shainessim.com: could not connect to host
 shaitan.eu: could not connect to host
+shakebox.de: did not receive HSTS header
 shaken-kyoto.jp: could not connect to host
 shakes4u.com: did not receive HSTS header
-shamariki.ru: could not connect to host
+shalazine.com: did not receive HSTS header
 shamka.ru: did not receive HSTS header
 shandonsg.co.uk: could not connect to host
 shanekoster.net: did not receive HSTS header
@@ -25424,7 +28022,7 @@ shanevandermeer.com: could not connect to host
 shang-yu.cn: could not connect to host
 shangzhen.site: could not connect to host
 shankangke.com: could not connect to host
-shannoneichorn.com: could not connect to host
+shannoneichorn.com: did not receive HSTS header
 shanxiapark.com: could not connect to host
 shanyhs.com: could not connect to host
 shaobin.wang: did not receive HSTS header
@@ -25435,12 +28033,12 @@ sharecc.co: could not connect to host
 sharecrypted.com: did not receive HSTS header
 sharedhost.de: could not connect to host
 shareeri.com: could not connect to host
-shareeri.xyz: did not receive HSTS header
-shareimg.xyz: did not receive HSTS header
+shareimg.xyz: could not connect to host
+sharelovenotsecrets.com: could not connect to host
 sharemessage.net: could not connect to host
-shareoine.com: could not connect to host
+shareoine.com: did not receive HSTS header
 sharepass.pw: could not connect to host
-sharepic.xyz: could not connect to host
+sharepic.xyz: did not receive HSTS header
 sharepointdrive.com: could not connect to host
 sharesplitter.com: could not connect to host
 shareworx.net: could not connect to host
@@ -25458,6 +28056,7 @@ sharperedgecomputers.com: could not connect to host
 sharpsburg-ga.gov: did not receive HSTS header
 shasso.com: did not receive HSTS header
 shatorin.com: did not receive HSTS header
+shattered-souls.de: did not receive HSTS header
 shauncrowley.co.uk: could not connect to host
 shaundanielz.com: could not connect to host
 shaunharker.com: did not receive HSTS header
@@ -25469,20 +28068,25 @@ shawnh.net: could not connect to host
 shawnstarrcustomhomes.com: could not connect to host
 shawnwilson.info: could not connect to host
 shazbots.org: could not connect to host
-shdsub.xyz: did not receive HSTS header
+shdsub.xyz: could not connect to host
 sheaf.site: could not connect to host
 sheaspire.com.tw: did not receive HSTS header
 sheekdeveloper.com: could not connect to host
 sheekmedia.com: could not connect to host
+sheilagranger.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 shellcode.com.br: did not receive HSTS header
 shellopolis.com: could not connect to host
 shellot.com: could not connect to host
 shellsec.pw: did not receive HSTS header
 shellshock.eu: could not connect to host
+shellvatore.us: could not connect to host
 shemissed.me: could not connect to host
 shemsconseils.ma: could not connect to host
 shena.co.uk: could not connect to host
+shengbao.org: could not connect to host
 shengrenyu.com: could not connect to host
+shenqi.com: did not receive HSTS header
+shens.ai: could not connect to host
 shentengtu.idv.tw: could not connect to host
 shep.co.il: did not receive HSTS header
 sheratan.web.id: could not connect to host
@@ -25496,7 +28100,8 @@ shh-listen.com: did not receive HSTS header
 shiatsu-institut.ch: did not receive HSTS header
 shibainu.com.br: could not connect to host
 shibe.club: could not connect to host
-shieldblaze.com: could not connect to host
+shidai88.cc: could not connect to host
+shieldblaze.com: did not receive HSTS header
 shieldcomputer.com: did not receive HSTS header
 shieldfe.com: could not connect to host
 shift.ooo: did not receive HSTS header
@@ -25506,6 +28111,7 @@ shiftplanning.com: did not receive HSTS header
 shiftpsych.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 shiinko.com: could not connect to host
 shiji456.com: max-age too low: 0
+shijij.com: could not connect to host
 shikinobi.com: did not receive HSTS header
 shimonfly.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 shin-inc.jp: did not receive HSTS header
@@ -25515,6 +28121,7 @@ shinju.moe: could not connect to host
 shinko-osaka.jp: could not connect to host
 shinobi-fansub.ro: could not connect to host
 shinonome-lab.eu.org: could not connect to host
+shiny.gift: did not receive HSTS header
 shiona.xyz: could not connect to host
 shipinsight.com: did not receive HSTS header
 shipmile.com: did not receive HSTS header
@@ -25526,7 +28133,7 @@ shiseki.top: did not receive HSTS header
 shishamania.de: could not connect to host
 shitfest.info: did not receive HSTS header
 shitposting.life: could not connect to host
-shivammaheshwari.com: did not receive HSTS header
+shivammaheshwari.com: could not connect to host
 shivatattvayoga.com: did not receive HSTS header
 shiyouqkl.com: could not connect to host
 shk.im: did not receive HSTS header
@@ -25535,15 +28142,17 @@ shm-forum.org.uk: could not connect to host
 shmibbles.me: could not connect to host
 shmunky.co.uk: did not receive HSTS header
 sho-tanaka.jp: could not connect to host
-shobhanayogsadan.com: could not connect to host
+shobhanayogsadan.com: did not receive HSTS header
 shocksrv.com: did not receive HSTS header
 shoemuse.com: did not receive HSTS header
+shoes-mori.co.jp: did not receive HSTS header
 shola.ga: could not connect to host
 sholtowu.com: could not connect to host
 shome.de: could not connect to host
 shooshosha.com: could not connect to host
 shootingstarmedium.com: could not connect to host
 shootpooloklahoma.com: could not connect to host
+shop-h2o.net: did not receive HSTS header
 shopcord.co.uk: did not receive HSTS header
 shopdongho.com: did not receive HSTS header
 shopdopastor.com.br: could not connect to host
@@ -25552,70 +28161,82 @@ shopherbal.co.za: could not connect to host
 shophisway.com: could not connect to host
 shopific.co: could not connect to host
 shopify.com: did not receive HSTS header
+shopjek.com: did not receive HSTS header
 shopods.com: did not receive HSTS header
 shopontarget.com: did not receive HSTS header
+shoposal.com: could not connect to host
 shoppeno5.com: did not receive HSTS header
+shopperexperts.com: could not connect to host
 shoppia.se: did not receive HSTS header
 shoppingreview.org: did not receive HSTS header
+shoppr.dk: could not connect to host
 shoprose.ru: could not connect to host
 shoprsc.com: could not connect to host
 shops.neonisi.com: could not connect to host
-shopsouthafrican.com: did not receive HSTS header
+shorewoodmn.gov: could not connect to host
 shortpath.com: could not connect to host
 shortr.li: could not connect to host
 shota.party: could not connect to host
 shotly.net: could not connect to host
 shotpixonline.com.br: did not receive HSTS header
-shoujik8.com: could not connect to host
 shouldbetaught.com: could not connect to host
-shoulderpainrelief.online: could not connect to host
+shoulderpainrelief.online: did not receive HSTS header
+shouldihookupwithmybarista.com: did not receive HSTS header
 show-saratov.ru: did not receive HSTS header
 show-stream.tv: could not connect to host
 showdepiscinas.com.br: did not receive HSTS header
-shower.im: did not receive HSTS header
 showf.om: could not connect to host
 showkeeper.tv: did not receive HSTS header
 shownet.tk: could not connect to host
+showroom.cam: could not connect to host
 showroom.de: did not receive HSTS header
 showroom113.ru: could not connect to host
 showslivki.tk: could not connect to host
 shreyansh26.me: could not connect to host
 shrinkhub.com: could not connect to host
+shrt.tv: could not connect to host
 shtorku.com: could not connect to host
 shu-kin.net: did not receive HSTS header
 shuai1122.com: max-age too low: 0
 shukatsu-note.com: could not connect to host
 shukatsu-support.jp: did not receive HSTS header
+shulan.moe: could not connect to host
 shuletime.ml: could not connect to host
 shulker.store: could not connect to host
+shulyaka.org.ru: did not receive HSTS header
 shurita.org: could not connect to host
 shuvo.rocks: could not connect to host
 shuvodeep.de: could not connect to host
+shuzicai.cn: could not connect to host
 shv25.se: could not connect to host
 shwongacc.com: could not connect to host
 shwrm.ch: could not connect to host
+shybynature.com: could not connect to host
 shymeck.pw: could not connect to host
 shymeck.xyz: could not connect to host
 shypp.it: did not receive HSTS header
 shyrydan.es: could not connect to host
+sia.one: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 siamdevsqua.re: could not connect to host
 siamdevsquare.com: could not connect to host
 siamega.com: could not connect to host
 siammedia.co: could not connect to host
 siamojo.com: could not connect to host
 sianimacion.com: could not connect to host
+sianipestcontrolinc.com: max-age too low: 0
 sianjhon.com: could not connect to host
 siao-mei.com: did not receive HSTS header
 sibfk.org: could not connect to host
+sibiutourguide.com: did not receive HSTS header
 sichere-kartenakzeptanz.de: could not connect to host
 siciliadigitale.pro: could not connect to host
 sicilyalacarte.com: did not receive HSTS header
+sicken.eu: could not connect to host
 sicklepod.com: could not connect to host
 siconnect.us: did not receive HSTS header
 sictame-tigf.org: could not connect to host
 sideropolisnoticias.com.br: did not receive HSTS header
 sidmax.ca: could not connect to host
-sidpod.ru: could not connect to host
 siduga.com: could not connect to host
 siebens.net: could not connect to host
 sieh.es: did not receive HSTS header
@@ -25626,6 +28247,7 @@ siewert-kau.de: did not receive HSTS header
 sifls.com: could not connect to host
 sifreuret.com: could not connect to host
 sigmalux.ltd: could not connect to host
+sigmapramuka.com: could not connect to host
 signaltransmitter.de: did not receive HSTS header
 signdesk.com: did not receive HSTS header
 signere.com: could not connect to host
@@ -25635,22 +28257,27 @@ signoracle.com: could not connect to host
 signosquecombinam.com.br: could not connect to host
 signrightsigns.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 signsdance.uk: could not connect to host
+signup.ly: could not connect to host
 sigsegv.run: could not connect to host
+sigterm.no: could not connect to host
 sihaizixun.net: could not connect to host
 siikarantacamping.fi: did not receive HSTS header
-sijimi.cn: could not connect to host
+sijimi.cn: did not receive HSTS header
 sijmenschoon.nl: did not receive HSTS header
 sikatehtaat.fi: did not receive HSTS header
+sikecikcomel.com: could not connect to host
 siku.pro: could not connect to host
 silentcircle.com: did not receive HSTS header
 silentcircle.org: could not connect to host
 silentlink.io: could not connect to host
-silerfamily.net: could not connect to host
+silerfamily.net: did not receive HSTS header
 silicagelpackets.ca: did not receive HSTS header
-siliconchip.me: did not receive HSTS header
+siliconchip.me: could not connect to host
 silke-hunde.de: did not receive HSTS header
 silkebeckmann.de: did not receive HSTS header
+silkon.net: did not receive HSTS header
 silqueskineyeserum.com: could not connect to host
+silv.tk: could not connect to host
 silvacor-ziegel.de: max-age too low: 604800
 silver-drachenkrieger.de: did not receive HSTS header
 silverback.is: did not receive HSTS header
@@ -25686,16 +28313,15 @@ silvergoldbull.sn: could not connect to host
 silvergoldbull.tg: could not connect to host
 silvergoldbull.tj: could not connect to host
 silvergoldbull.tn: could not connect to host
-silvergoldbull.tt: could not connect to host
 silverhome.ninja: could not connect to host
 silveronline.ml: could not connect to host
 silverpvp.com: could not connect to host
 silverseen.com: did not receive HSTS header
 silverstartup.sk: could not connect to host
 silverswanrecruitment.com: did not receive HSTS header
+silviacataldi.com: could not connect to host
 silviamacallister.com: did not receive HSTS header
 silvistefi.com: could not connect to host
-silvobeat.com: did not receive HSTS header
 sim-sim.appspot.com: did not receive HSTS header
 simbast.com: could not connect to host
 simbol.id: could not connect to host
@@ -25704,20 +28330,23 @@ simccorp.com: could not connect to host
 simfri.com: could not connect to host
 simha.online: could not connect to host
 simhaf.cf: could not connect to host
+simmis.fr: could not connect to host
 simobilklub.si: could not connect to host
 simod.org: could not connect to host
+simon-czech.de: did not receive HSTS header
 simon-pokorny.com: did not receive HSTS header
 simon.butcher.name: max-age too low: 2629743
 simon.lc: did not receive HSTS header
 simongong.net: did not receive HSTS header
 simonpaarlberg.com: did not receive HSTS header
+simonpayne.cz: max-age too low: 7776000
 simonsaxon.com: did not receive HSTS header
 simonschmitt.ch: could not connect to host
+simonshine.dk: did not receive HSTS header
 simotrescu.ro: could not connect to host
 simpan.id: could not connect to host
 simpele-recepten.nl: did not receive HSTS header
 simpeo.fr: could not connect to host
-simpeo.org: could not connect to host
 simpleclassiclife.com: could not connect to host
 simplecrypt.io: could not connect to host
 simplefraud.com: could not connect to host
@@ -25731,6 +28360,7 @@ simplexgame.net: could not connect to host
 simplexsupport.com: did not receive HSTS header
 simpliby.com: did not receive HSTS header
 simply.black: could not connect to host
+simplycloud.de: could not connect to host
 simplyenak.com: did not receive HSTS header
 simplylifetips.com: did not receive HSTS header
 simplyrara.com: did not receive HSTS header
@@ -25743,7 +28373,7 @@ simumiehet.com: could not connect to host
 simyo.nl: did not receive HSTS header
 sin-nombre-alleria.de: could not connect to host
 sin30.net: could not connect to host
-sinakuhestani.ir: did not receive HSTS header
+sinakuhestani.ir: could not connect to host
 sinatrafamily.com: did not receive HSTS header
 sincai666.com: could not connect to host
 sinceschool.com: could not connect to host
@@ -25751,7 +28381,9 @@ sinclairmoving.com: did not receive HSTS header
 sincron.org: could not connect to host
 sincronizateconlosmilagros.com: did not receive HSTS header
 sinefili.com: could not connect to host
+sinful.pw: did not receive HSTS header
 sinfulforums.net: could not connect to host
+singaporemint.com: did not receive HSTS header
 singee.site: could not connect to host
 singerwang.com: did not receive HSTS header
 singul4rity.com: could not connect to host
@@ -25760,19 +28392,23 @@ sinktank.de: could not connect to host
 sinn.io: did not receive HSTS header
 sinneserweiterung.de: could not connect to host
 sinon.org: did not receive HSTS header
-sinonimosonline.com.br: could not connect to host
 sinoscandinavia.se: could not connect to host
 sinosky.org: did not receive HSTS header
 sinsastudio.com: did not receive HSTS header
 sinsojb.me: could not connect to host
 sintesysglobal.com: did not receive HSTS header
+sinupret-extract.com.ua: did not receive HSTS header
+sinusbot.online: could not connect to host
 sion.moe: did not receive HSTS header
+sipal.fr: did not receive HSTS header
 sipsik.net: did not receive HSTS header
+sipyuru.com: could not connect to host
+sipyuru.lk: could not connect to host
 siqi.wang: could not connect to host
 siratalmustaqim.com: could not connect to host
 siriad.com: could not connect to host
 sirius-lee.net: could not connect to host
-siro.gq: did not receive HSTS header
+siro.gq: could not connect to host
 siroop.ch: did not receive HSTS header
 siscompbolivia.tk: could not connect to host
 siseministeerium.ee: did not receive HSTS header
@@ -25782,14 +28418,16 @@ sistemasespecializados.com: did not receive HSTS header
 sistemhane.com: did not receive HSTS header
 sistemlash.com: could not connect to host
 sistemos.net: could not connect to host
+sisterjoeworld.com: did not receive HSTS header
 sistersurprise.de: did not receive HSTS header
+sisver.mx: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 site.mu: could not connect to host
+site.pictures: could not connect to host
 siteage.net: did not receive HSTS header
-sitecloudify.com: did not receive HSTS header
+sitecloudify.com: could not connect to host
 sitecuatui.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sitehome.eu: did not receive HSTS header
 sitehost.io: did not receive HSTS header
-sitehoster.org: could not connect to host
 sitemaxiphilippe.ch: could not connect to host
 sitennisclub.com: did not receive HSTS header
 siterip.org: could not connect to host
@@ -25801,12 +28439,14 @@ sitesten.com: could not connect to host
 sitesuccessful.com: did not receive HSTS header
 sitsy.ru: did not receive HSTS header
 sittinginoblivion.com: did not receive HSTS header
+sitz.ch: did not receive HSTS header
 siwek.xyz: could not connect to host
 sixcorners.info: did not receive HSTS header
 sixcorners.net: did not receive HSTS header
-sixtwentyten.com: did not receive HSTS header
+sixpackholubice.cz: could not connect to host
+sixtwentyten.com: could not connect to host
 sizingservers.be: did not receive HSTS header
-sizuvip.com: did not receive HSTS header
+sizuvip.com: could not connect to host
 sizzle.co.uk: did not receive HSTS header
 sja-se-training.com: could not connect to host
 sjatsh.com: did not receive HSTS header
@@ -25814,14 +28454,17 @@ sjdtaxi.com: did not receive HSTS header
 sjhyl11.com: could not connect to host
 sjis.me: could not connect to host
 sjsc.fr: did not receive HSTS header
+sjsmith.id.au: max-age too low: 7776000
 sjv4u.ch: did not receive HSTS header
-sjzebs.com: did not receive HSTS header
+sjzebs.com: could not connect to host
 sjzget.com: could not connect to host
-sjzybs.com: did not receive HSTS header
+sjzybs.com: could not connect to host
 sk-net.cz: did not receive HSTS header
+skala.io: did not receive HSTS header
 skalarwelle.eu: could not connect to host
 skandiabanken.no: did not receive HSTS header
 skante.tk: could not connect to host
+skanvordoff.ru: could not connect to host
 skanword.info: did not receive HSTS header
 skaraborgsassistans.com: did not receive HSTS header
 skarox.com: could not connect to host
@@ -25830,15 +28473,18 @@ skarox.eu: could not connect to host
 skarox.net: could not connect to host
 skarox.ru: could not connect to host
 skates.guru: did not receive HSTS header
+skateswagger.com: could not connect to host
 skena.lt: did not receive HSTS header
 skepneklaw.com: could not connect to host
 sketchmyroom.com: did not receive HSTS header
 sketchywebsite.net: did not receive HSTS header
 ski-insurance.com.au: did not receive HSTS header
 skia.org: did not receive HSTS header
+skid-berlin.de: max-age too low: 3600
 skidstresser.com: could not connect to host
 skilldetector.com: could not connect to host
 skilletfood.com: did not receive HSTS header
+skillled.com: could not connect to host
 skillout.org: did not receive HSTS header
 skillproxy.com: could not connect to host
 skillproxy.net: could not connect to host
@@ -25849,13 +28495,12 @@ skimming.net: did not receive HSTS header
 skinandglamour.com: did not receive HSTS header
 skinbet.co: could not connect to host
 skincases.co: could not connect to host
-skincontracts.co: could not connect to host
+skincontracts.co: did not receive HSTS header
 skingame.co: could not connect to host
 skingames.co: could not connect to host
 skinmarket.co: could not connect to host
 skinpwrd.com: could not connect to host
-skins.net: could not connect to host
-skinstyleglobal.com: did not receive HSTS header
+skins.net: did not receive HSTS header
 skipton.io: could not connect to host
 skischuleulm.de: did not receive HSTS header
 skk.io: did not receive HSTS header
@@ -25874,14 +28519,17 @@ skoleniphp.cz: did not receive HSTS header
 skolni-system.eu: could not connect to host
 skolnieks.lv: could not connect to host
 skolniweby.cz: could not connect to host
+skoloffwolfe.com: did not receive HSTS header
+skommettiamo.it: did not receive HSTS header
 skomski.org: did not receive HSTS header
+skontakt.cz: did not receive HSTS header
 skontorp-enterprise.no: did not receive HSTS header
 skpdev.net: could not connect to host
 skrimix.tk: could not connect to host
 skryptersi.pl: did not receive HSTS header
 sksdrivingschool.com.au: could not connect to host
+skullbite.me: did not receive HSTS header
 skullhouse.nyc: could not connect to host
-skullnet.co.uk: could not connect to host
 sky-aroma.com: could not connect to host
 sky-universe.net: could not connect to host
 skyasker.cn: could not connect to host
@@ -25891,35 +28539,41 @@ skybloom.io: could not connect to host
 skybound.link: did not receive HSTS header
 skyeeverest.tk: could not connect to host
 skyflix.me: could not connect to host
+skyingo.net: could not connect to host
 skyline.link: could not connect to host
 skyline.tw: did not receive HSTS header
 skylocker.net: could not connect to host
 skylocker.nl: could not connect to host
 skyminds.net: did not receive HSTS header
-skyn3t.in: did not receive HSTS header
-skynet800.goip.de: did not receive HSTS header
+skynethk.com: could not connect to host
+skynetstores.net: did not receive HSTS header
+skynetz.tk: could not connect to host
 skypeassets.com: could not connect to host
 skypoker.com: did not receive HSTS header
-skyris.co: did not receive HSTS header
+skyris.co: could not connect to host
 skyrunners.ch: could not connect to host
+skysuite.nl: could not connect to host
 skyvault.io: could not connect to host
 skyveo.ml: could not connect to host
 skyway.capital: did not receive HSTS header
 skyworldserver.ddns.net: could not connect to host
 sl-informatique.fr: did not receive HSTS header
 sl-informatique.ovh: could not connect to host
-sl0.us: could not connect to host
+sl0.us: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sl1pkn07.wtf: max-age too low: 2592000
+sl66.cc: could not connect to host
 sl899.com: could not connect to host
 sl998.com: could not connect to host
+slalix.pw: could not connect to host
 slalix.xyz: could not connect to host
+slan.fr: could not connect to host
+slane.cn: could not connect to host
 slaps.be: could not connect to host
-slash-dev.de: could not connect to host
+slash-dev.de: did not receive HSTS header
 slash64.co.uk: could not connect to host
 slash64.com: did not receive HSTS header
 slash64.uk: could not connect to host
 slashand.co: could not connect to host
-slashcrypto.org: could not connect to host
 slashdesign.it: did not receive HSTS header
 slashem.me: did not receive HSTS header
 slatemc.fun: could not connect to host
@@ -25931,27 +28585,25 @@ slc.gd: did not receive HSTS header
 sleep10.com: could not connect to host
 sleeping.town: did not receive HSTS header
 sleepingbaghub.com: did not receive HSTS header
-sleepstar.com.mt: did not receive HSTS header
 slever.cz: could not connect to host
 sliceone.com: could not connect to host
 slicketl.com: did not receive HSTS header
 slicss.com: could not connect to host
 slides.zone: could not connect to host
-slidesvideo.com: did not receive HSTS header
+slidesvideo.com: could not connect to host
 slightfuture.click: could not connect to host
 slightfuture.com: did not receive HSTS header
 slik.ai: did not receive HSTS header
 slimk1nd.nl: could not connect to host
 slimmerbouwen.be: did not receive HSTS header
-slingo-sta.com: did not receive HSTS header
 slingo.com: did not receive HSTS header
 slingooriginals.com: did not receive HSTS header
+slingoweb.com: could not connect to host
 slip-gaming.tk: could not connect to host
 sliteapp.com: did not receive HSTS header
 slix.io: could not connect to host
 sln.cloud: could not connect to host
 slope.haus: could not connect to host
-slopeedge.com: did not receive HSTS header
 slotboss.co.uk: did not receive HSTS header
 slovakiana.sk: did not receive HSTS header
 slovoice.org: could not connect to host
@@ -25959,14 +28611,17 @@ slowfood.es: did not receive HSTS header
 slowsociety.org: could not connect to host
 slrd-isperih.com: could not connect to host
 slse.ca: max-age too low: 0
+slt24.de: did not receive HSTS header
 sluitkampzeist.nl: could not connect to host
 sluplift.com: could not connect to host
 slycurity.de: could not connect to host
-slysend.com: did not receive HSTS header
+slysend.com: could not connect to host
+sm-supplements.gr: could not connect to host
 sm2016.ch: could not connect to host
 smaaker.com: did not receive HSTS header
 smablo.com: could not connect to host
 smadav.ml: could not connect to host
+small-panda.com: did not receive HSTS header
 smallcdn.rocks: could not connect to host
 smallchat.nl: could not connect to host
 smalldogbreeds.dog: could not connect to host
@@ -25974,9 +28629,12 @@ smalldogbreeds.net: did not receive HSTS header
 smallpath.me: could not connect to host
 smallshopit.com: could not connect to host
 smart-cloud.store: could not connect to host
+smart-cp.jp: could not connect to host
+smart-media-gmbh.de: could not connect to host
 smart-mirror.de: did not receive HSTS header
 smart-ov.nl: could not connect to host
 smart-shapes.co.uk: could not connect to host
+smart.vet: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 smartass.space: could not connect to host
 smartbiz.vn: could not connect to host
 smartboleta.com: did not receive HSTS header
@@ -25984,21 +28642,26 @@ smartbuyelectric.com: could not connect to host
 smartcoin.com.br: could not connect to host
 smarterskies.gov: could not connect to host
 smartest-trading.com: could not connect to host
+smartgridsecurity.com: could not connect to host
 smartgridsecurity.org: could not connect to host
 smarthomedna.com: did not receive HSTS header
 smartietop.com: could not connect to host
 smartit.pro: could not connect to host
 smartlend.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-smartlybuy.com: could not connect to host
+smartmail24.de: did not receive HSTS header
 smartmarketingcoaching.com: did not receive HSTS header
 smartmompicks.com: did not receive HSTS header
 smartofficesandsmarthomes.com: did not receive HSTS header
 smartofficeusa.com: did not receive HSTS header
 smartpass.government.ae: did not receive HSTS header
+smartphone-pliable.wtf: could not connect to host
 smartphone.continental.com: could not connect to host
 smartrade.tech: did not receive HSTS header
 smartrak.co.nz: did not receive HSTS header
-smartviewing.com: did not receive HSTS header
+smartrecruit.ro: did not receive HSTS header
+smartresumeservices.com: did not receive HSTS header
+smartsvillage.com: did not receive HSTS header
+smartvideo.io: could not connect to host
 smartvita.com: did not receive HSTS header
 smartwank.com: could not connect to host
 smash-gg.club: could not connect to host
@@ -26006,18 +28669,23 @@ smbeermen.tk: could not connect to host
 smcasino.net: could not connect to host
 smcasino.org: could not connect to host
 smcbox.com: could not connect to host
+smcquistin.uk: did not receive HSTS header
 smdev.fr: could not connect to host
 smet.us: could not connect to host
 smi-a.me: could not connect to host
+smicompact.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 smictecniservi.com: could not connect to host
+smileandpay.com: did not receive HSTS header
 smileawei.com: could not connect to host
 smiledirectsales.com: could not connect to host
 smileserver.com: could not connect to host
+smilingmiao.com: could not connect to host
 smimea.com: could not connect to host
 smirkingwhorefromhighgarden.pro: could not connect to host
 smit.ee: did not receive HSTS header
+smith.bz: could not connect to host
 smith.is: could not connect to host
-smithchow.com: could not connect to host
+smithchow.com: did not receive HSTS header
 smithcountytxtaxrates.gov: could not connect to host
 smithings.com: could not connect to host
 smittix.co.uk: did not receive HSTS header
@@ -26046,8 +28714,8 @@ sms1.ro: could not connect to host
 smsben.cn: could not connect to host
 smsben.com: could not connect to host
 smsben.net: could not connect to host
-smsg-dev.ch: could not connect to host
 smskeywords.co.uk: could not connect to host
+smslodging.com: did not receive HSTS header
 smspodmena.ru: could not connect to host
 smtp.bz: did not receive HSTS header
 smtpdev.com: could not connect to host
@@ -26056,7 +28724,6 @@ smuhelper.cn: could not connect to host
 smusg.com: did not receive HSTS header
 smutba.se: did not receive HSTS header
 smys.uk: could not connect to host
-snabbit-support.se: could not connect to host
 snafarms.com: did not receive HSTS header
 snailing.org: could not connect to host
 snake.dog: could not connect to host
@@ -26065,14 +28732,13 @@ snapappts.com: could not connect to host
 snapchat.com: did not receive HSTS header
 snapfinance.com: did not receive HSTS header
 snapnudes.co: could not connect to host
-snaptier.co: could not connect to host
+snaptier.co: did not receive HSTS header
 snaptools.io: could not connect to host
 snapworks.net: did not receive HSTS header
 snarf.in: could not connect to host
 snazzie.nl: could not connect to host
 sneaker.date: could not connect to host
 sneakers88.it: could not connect to host
-sneakypaw.com: could not connect to host
 sneed.company: could not connect to host
 sneeuwhoogtes.eu: could not connect to host
 sneezry.com: did not receive HSTS header
@@ -26083,10 +28749,8 @@ snic.website: could not connect to host
 sniderman.pro: could not connect to host
 sniderman.xyz: could not connect to host
 snight.co: could not connect to host
-snip.city: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 snip.host: could not connect to host
 snip.run: could not connect to host
-snippet.host: could not connect to host
 snod.land: did not receive HSTS header
 snopyta.com: could not connect to host
 snoqualmiefiber.org: could not connect to host
@@ -26094,36 +28758,41 @@ snoringhq.com: did not receive HSTS header
 snovey.com: did not receive HSTS header
 snow-online.de: could not connect to host
 snowalerts.eu: could not connect to host
+snowcrestdesign.com: could not connect to host
 snowdy.eu: could not connect to host
 snowdy.link: could not connect to host
+snowreport.io: could not connect to host
 snowsubs.moe: could not connect to host
 snowyluma.com: could not connect to host
 snowyluma.me: could not connect to host
+snperformance.gr: did not receive HSTS header
 snughealth.org.uk: did not receive HSTS header
 snus123.com: did not receive HSTS header
+snwaterpolo.com: did not receive HSTS header
 so-comm.fr: did not receive HSTS header
 so-healthy.co.uk: did not receive HSTS header
+soacompanhantes.vip: could not connect to host
 sobabox.ru: could not connect to host
 sobeelectronics.com: could not connect to host
-sobelift.com: could not connect to host
+sobelift.com: did not receive HSTS header
 sobinski.pl: did not receive HSTS header
 soboleva-pr.com.ua: could not connect to host
 soccergif.com: could not connect to host
 soccorso-stradale.org: could not connect to host
+sochic.in: could not connect to host
 soci.ml: could not connect to host
 social-journey.com: could not connect to host
 social-media-strategy.org.uk: could not connect to host
 socialbillboard.com: could not connect to host
 socialcs.xyz: could not connect to host
 socialdj.de: did not receive HSTS header
-socialfacecook.com: did not receive HSTS header
+socialfacecook.com: could not connect to host
 socialgrowing.cl: did not receive HSTS header
 socialhead.io: did not receive HSTS header
 socialhub.com: did not receive HSTS header
 socialmedia.ro: did not receive HSTS header
 socialprize.com: could not connect to host
 socialspirit.com.br: did not receive HSTS header
-socialstrata.com: did not receive HSTS header
 socialtraderpartner.com: could not connect to host
 socialweblearning.com: did not receive HSTS header
 socialworkout.com: could not connect to host
@@ -26135,11 +28804,11 @@ sockeye.cc: could not connect to host
 socomponents.co.uk: could not connect to host
 sodacore.com: could not connect to host
 sodamakerclub.com: did not receive HSTS header
-sodiao.cc: could not connect to host
 sofigeleiascaseiras.com.br: did not receive HSTS header
 sofort.com: did not receive HSTS header
 sofortueberweisung.de: did not receive HSTS header
 softart.club: did not receive HSTS header
+softballrampage.com: could not connect to host
 softballsavings.com: did not receive HSTS header
 softbebe.com: did not receive HSTS header
 softclean.pt: did not receive HSTS header
@@ -26156,17 +28825,21 @@ softwoods.com.au: did not receive HSTS header
 sogeek.me: could not connect to host
 sogravatas.net.br: could not connect to host
 sohncloud.my-router.de: could not connect to host
-soinvett.com: could not connect to host
+soia.ca: could not connect to host
 sojingle.net: did not receive HSTS header
 soju.fi: did not receive HSTS header
 sokche.com: did not receive HSTS header
 sokolka.tv: did not receive HSTS header
 sol.works: could not connect to host
+solanum-games.com: could not connect to host
+solaradventures.icu: could not connect to host
 solarcom.com.br: could not connect to host
 solariiknight.org: did not receive HSTS header
 solariilacheie.ro: could not connect to host
 solarium.gov: could not connect to host
+solarpvoffer.co.uk: did not receive HSTS header
 solartrackerapp.com: could not connect to host
+sold.rip: max-age too low: 2592000
 soldbygold.net: did not receive HSTS header
 soldecom.com: did not receive HSTS header
 sole-software.de: did not receive HSTS header
@@ -26176,18 +28849,17 @@ solesoftware.de: did not receive HSTS header
 solidfuelappliancespares.co.uk: did not receive HSTS header
 solidimage.com.br: could not connect to host
 solidtuesday.com: could not connect to host
-solidus.systems: did not receive HSTS header
+solidus.systems: could not connect to host
 solidwebnetworks.co.uk: did not receive HSTS header
 solinter.com.br: did not receive HSTS header
 solisrey.es: could not connect to host
 soljem.com: did not receive HSTS header
 soll-i.ch: did not receive HSTS header
-sollevix.ovh: did not receive HSTS header
 solmek.com: did not receive HSTS header
-solos.im: could not connect to host
+solomo.pt: could not connect to host
 soloshu.co: could not connect to host
 solosmusic.xyz: could not connect to host
-solsystems.ru: did not receive HSTS header
+solsystems.ru: could not connect to host
 soltekla.com: did not receive HSTS header
 solunci-loznica.tk: could not connect to host
 solupredperu.com: did not receive HSTS header
@@ -26201,6 +28873,7 @@ solymar.co: could not connect to host
 somcase.com.br: did not receive HSTS header
 some.rip: did not receive HSTS header
 somebodycares.org: did not receive HSTS header
+somersetwellbeing.nhs.uk: could not connect to host
 someserver.cf: could not connect to host
 someshit.xyz: could not connect to host
 something-else.cf: could not connect to host
@@ -26212,7 +28885,7 @@ somoyorkies.com: could not connect to host
 somp-rp.su: could not connect to host
 sonafe.info: could not connect to host
 sonerezh.bzh: did not receive HSTS header
-songluck.com: could not connect to host
+songluck.com: did not receive HSTS header
 songsmp3.co: could not connect to host
 songsmp3.info: could not connect to host
 songsmp3.io: could not connect to host
@@ -26220,35 +28893,32 @@ songsmp3.live: did not receive HSTS header
 songsmp3.me: could not connect to host
 songsmp3.net: did not receive HSTS header
 songsthatsavedyourlife.com: did not receive HSTS header
-songzhuolun.com: could not connect to host
-soniadoras.pe: did not receive HSTS header
+soniadoras.pe: could not connect to host
 soniafauville.com: could not connect to host
 sonialive.com: did not receive HSTS header
 sonic.network: could not connect to host
+soninger.ru: could not connect to host
 sonja-daniels.com: could not connect to host
 sonja-kowa.de: could not connect to host
-sonoecoracao.com.br: could not connect to host
-sony-psvita.ru: could not connect to host
+sonkonews.com: did not receive HSTS header
+sonomacounty.gov: could not connect to host
 sonyforum.no: did not receive HSTS header
-sonyunlock.nu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 soobi.org: did not receive HSTS header
 soodwatthanaphon.net: could not connect to host
-soondy.com: could not connect to host
+soolid.tech: could not connect to host
+soondy.com: did not receive HSTS header
 soothemobilemassage.com.au: did not receive HSTS header
 soph.us: could not connect to host
 sopher.io: did not receive HSTS header
 sophieandtrey.com: did not receive HSTS header
 soply.com: did not receive HSTS header
 soporte.cc: did not receive HSTS header
-sopra.tk: could not connect to host
-soptq.me: did not receive HSTS header
 soquee.net: could not connect to host
 soraiaschneider.com.br: could not connect to host
 sorellecollection.com.au: could not connect to host
 soren.xyz: could not connect to host
 sorenam.com: did not receive HSTS header
 sorensen-online.com: could not connect to host
-sorever.online: did not receive HSTS header
 sorex.photo: did not receive HSTS header
 sorinmuntean.ro: did not receive HSTS header
 sortaweird.net: could not connect to host
@@ -26256,25 +28926,27 @@ sortingwizard.com: could not connect to host
 soruly.com: did not receive HSTS header
 sorx.tech: could not connect to host
 sos.de: did not receive HSTS header
-sosaka.ml: could not connect to host
+sosaka.ml: did not receive HSTS header
 sosaka.tk: could not connect to host
 sosecu.red: could not connect to host
 sosesh.shop: could not connect to host
 sosiolog.com: could not connect to host
 sospromotions.com.au: did not receive HSTS header
 sot-te.ch: did not receive HSTS header
+sotadb.info: could not connect to host
 sotai.tk: could not connect to host
 sotavasara.net: did not receive HSTS header
-sotayhoctap.com: did not receive HSTS header
-sotiran.com: did not receive HSTS header
+sotiran.com: could not connect to host
 sotor.de: did not receive HSTS header
 sotthewes.nl: did not receive HSTS header
 sou-co.jp: did not receive HSTS header
 soubriquet.org: could not connect to host
 soucorneteiro.com.br: could not connect to host
 sougi-review.top: did not receive HSTS header
-soulcraft-cracked.de: could not connect to host
+soulc.ml: could not connect to host
+soulcraft-cracked.de: did not receive HSTS header
 soulcraft.bz: could not connect to host
+soulcrazy.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 soulema.com: could not connect to host
 soulfulglamour.uk: could not connect to host
 souly.cc: could not connect to host
@@ -26290,7 +28962,6 @@ sourcecode.love: could not connect to host
 sourcelair.com: did not receive HSTS header
 sourcely.net: could not connect to host
 southcoastkitesurf.co.uk: did not receive HSTS header
-southcoastswords.com: did not receive HSTS header
 southernjamusa.com: did not receive HSTS header
 southernlights.cf: could not connect to host
 southernlights.gq: could not connect to host
@@ -26308,7 +28979,6 @@ souvik.me: did not receive HSTS header
 souyar.de: could not connect to host
 souyar.net: could not connect to host
 souyar.us: could not connect to host
-souyidai.com: could not connect to host
 soved.eu: did not receive HSTS header
 sovereignpcs.com: could not connect to host
 sovereignshare.com: could not connect to host
@@ -26317,18 +28987,17 @@ sowncloud.de: could not connect to host
 soz6.com: did not receive HSTS header
 sp.rw: could not connect to host
 space-y.cf: could not connect to host
+spacedirectory.org: could not connect to host
 spacedust.xyz: could not connect to host
 spacefish.biz: did not receive HSTS header
 spacehq.org: could not connect to host
 spacelabs.io: could not connect to host
 spacemo.com: did not receive HSTS header
-spaceunique.de: could not connect to host
 spacewallpaperhd.com: could not connect to host
 spacountryexplorer.org.au: could not connect to host
-spaggel.nl: did not receive HSTS header
+spaggel.nl: could not connect to host
 spakhmer.com: did not receive HSTS header
 spam.lol: could not connect to host
-spamloco.net: did not receive HSTS header
 spanch.cf: could not connect to host
 spanch.ga: could not connect to host
 spanch.gq: could not connect to host
@@ -26343,6 +29012,7 @@ spanda.io: could not connect to host
 spangehlassociates.com: did not receive HSTS header
 spanien.guide: could not connect to host
 spar-ni.co.uk: did not receive HSTS header
+sparendirekt.at: could not connect to host
 spark.team: could not connect to host
 sparkbase.cn: could not connect to host
 sparkl.fm: could not connect to host
@@ -26350,22 +29020,26 @@ sparklatvia.lv: could not connect to host
 sparklingsparklers.com: did not receive HSTS header
 sparkresearch.net: could not connect to host
 sparkwood.org: could not connect to host
+sparkz.no: did not receive HSTS header
+sparprofi.at: could not connect to host
 sparsa.army: could not connect to host
 sparta-solutions.de: could not connect to host
 sparta-trade.com: did not receive HSTS header
 spartaconsulting.fi: did not receive HSTS header
 spartantheatre.org: could not connect to host
-sparxsolutions.be: did not receive HSTS header
+sparxsolutions.be: could not connect to host
 spatzenwerkstatt.de: could not connect to host
 spauted.com: could not connect to host
 spawn.cz: could not connect to host
-spcx.eu: did not receive HSTS header
+spcx.eu: could not connect to host
 spd-pulheim-mitte.de: did not receive HSTS header
 spdysync.com: could not connect to host
 speakingdiligence.com: did not receive HSTS header
+specdver.ru: did not receive HSTS header
 specialedesigns.com: could not connect to host
 specialistnow.com.au: did not receive HSTS header
 specialized-hosting.eu: could not connect to host
+spectre.com.br: could not connect to host
 spectreattack.com: did not receive HSTS header
 spectroom.space: did not receive HSTS header
 spectrosoftware.de: could not connect to host
@@ -26378,6 +29052,7 @@ speedboost.de: did not receive HSTS header
 speedcounter.net: could not connect to host
 speeder.cf: could not connect to host
 speeders.cf: could not connect to host
+speeders.ga: could not connect to host
 speeds.vip: could not connect to host
 speedway.com.pl: did not receive HSTS header
 speedyprep.com: did not receive HSTS header
@@ -26389,13 +29064,13 @@ sperohub.com: could not connect to host
 sperohub.io: could not connect to host
 sperohub.lt: could not connect to host
 sphereblur.com: could not connect to host
-spherenix.org: could not connect to host
 sphinx.network: could not connect to host
-spicydog.tk: could not connect to host
+spicydog.tk: did not receive HSTS header
 spicywombat.com: could not connect to host
 spidermail.tk: could not connect to host
 spidernet.tk: could not connect to host
 spiegel21.de: did not receive HSTS header
+spiegels-op-maat.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 spiegels.nl: did not receive HSTS header
 spiel-teppich.de: could not connect to host
 spielcasinos.com: did not receive HSTS header
@@ -26403,6 +29078,7 @@ spiellawine.de: could not connect to host
 spikeykc.me: could not connect to host
 spilled.ink: did not receive HSTS header
 spillersfamily.net: could not connect to host
+spilogkoder.dk: could not connect to host
 spilsbury.io: could not connect to host
 spinalo.se: did not receive HSTS header
 spindle.com.ph: could not connect to host
@@ -26410,7 +29086,7 @@ spindrift.com: did not receive HSTS header
 spineandscoliosis.com: did not receive HSTS header
 spinner.dnshome.de: could not connect to host
 spinor.im: could not connect to host
-spira-group.eu: could not connect to host
+spira-group.eu: did not receive HSTS header
 spiralschneiderkaufen.de: could not connect to host
 spirit-dev.net: max-age too low: 0
 spirit-of-sahara.de: did not receive HSTS header
@@ -26421,19 +29097,23 @@ spisoggrin.dk: could not connect to host
 spitefultowel.com: did not receive HSTS header
 spitfireuav.com: could not connect to host
 spititout.it: could not connect to host
+splash.solar: did not receive HSTS header
 split.is: could not connect to host
 splunk.zone: could not connect to host
+spm.tv: could not connect to host
 spmswiss.com: did not receive HSTS header
 spoketwist.com: did not receive HSTS header
 spokonline.com: could not connect to host
 spon.cz: did not receive HSTS header
-sponsorowani.pl: could not connect to host
+sponsor.network: max-age too low: 10368000
+sponsormatch.eu: did not receive HSTS header
+sponsorowani.pl: did not receive HSTS header
 sponsortobias.com: could not connect to host
-spontex.org: did not receive HSTS header
 spookyinternet.com: could not connect to host
 sporara.com: could not connect to host
+sporcard.com: did not receive HSTS header
 sportakrobatik.at: could not connect to host
-sportchirp-internal.azurewebsites.net: could not connect to host
+sportchirp-internal.azurewebsites.net: did not receive HSTS header
 sportflash.info: did not receive HSTS header
 sporthit.ru: could not connect to host
 sportifik.com: did not receive HSTS header
@@ -26442,10 +29122,13 @@ sportressofblogitude.com: did not receive HSTS header
 sportscollection.com.br: could not connect to host
 sportsmanadvisor.com: could not connect to host
 sportsmole.co.uk: did not receive HSTS header
+sportstraineradvisor.com: could not connect to host
 spot-events.com: could not connect to host
 spoters.co: could not connect to host
 spotifyripper.tk: could not connect to host
 spotlightsrule.com: could not connect to host
+spotsylvaniacounty-va.gov: could not connect to host
+spotsylvaniacountyva.gov: could not connect to host
 spotteredu.com: did not receive HSTS header
 spotterpix.de: did not receive HSTS header
 spotzlight.tk: did not receive HSTS header
@@ -26461,12 +29144,15 @@ springsoffthegrid.com: could not connect to host
 sprinklermanohio.com: did not receive HSTS header
 sprint.ml: did not receive HSTS header
 sprk.fitness: could not connect to host
+spro.in: could not connect to host
 sproing.ca: max-age too low: 0
+sproktz.com: could not connect to host
 sproutconnections.com: could not connect to host
 sprueche-zum-valentinstag.de: could not connect to host
 sprueche-zur-geburt.info: could not connect to host
 sprueche-zur-hochzeit.de: could not connect to host
 sprueche-zur-konfirmation.de: could not connect to host
+spt.tf: could not connect to host
 sptr.blog: could not connect to host
 spumanti.dk: did not receive HSTS header
 sputnik1net.org: could not connect to host
@@ -26475,36 +29161,34 @@ spyroszarzonis.com: did not receive HSTS header
 sqetsa.com: did not receive HSTS header
 sqkaccountancy.co.uk: did not receive HSTS header
 squaddraft.com: did not receive HSTS header
-squadlinx.com: did not receive HSTS header
-square.com: max-age too low: 604800
 square.gs: could not connect to host
 squarelab.it: could not connect to host
 squareonebgc.com.ph: could not connect to host
-squareup.com: max-age too low: 604800
 squatldf.org: could not connect to host
 squawk.cc: could not connect to host
 squeakie.club: could not connect to host
-squeakql.online: did not receive HSTS header
+squeakql.online: could not connect to host
 squids.space: could not connect to host
+squirtingpussygirl.com: could not connect to host
 squirtlesbians.net: could not connect to host
 sqzryang.com: could not connect to host
 sr-cs.net: did not receive HSTS header
-sranje.rocks: could not connect to host
 srcc.fr: could not connect to host
 sreeharis.tk: could not connect to host
 srevilak.net: did not receive HSTS header
+srinivasan.io: could not connect to host
 sritest.io: could not connect to host
 srmaximo.com: could not connect to host
 srna.sk: did not receive HSTS header
 srochnyj-zajm.ga: could not connect to host
-srolim.com: did not receive HSTS header
+srolim.com: could not connect to host
 srpdb.com: did not receive HSTS header
-srrdb.com: did not receive HSTS header
 srrr.ca: could not connect to host
 srun.in: could not connect to host
 srv.solutions: did not receive HSTS header
-srvc.io: could not connect to host
+srvc.io: did not receive HSTS header
 srvonfire.com: could not connect to host
+srx.sx: could not connect to host
 ss-free.net: could not connect to host
 ss-x.ru: did not receive HSTS header
 ss.wtf: could not connect to host
@@ -26513,10 +29197,10 @@ ss6729.co: could not connect to host
 ss6729.com: did not receive HSTS header
 ss6957.co: could not connect to host
 ss9297.co: could not connect to host
-ss9397.com: could not connect to host
-ss9721.com: could not connect to host
+ss9397.com: did not receive HSTS header
 ss9728.co: could not connect to host
 ssc8809.com: max-age too low: 0
+ssccp.am: could not connect to host
 sscd.no: could not connect to host
 ssco.xyz: could not connect to host
 ssconn.com: could not connect to host
@@ -26530,11 +29214,13 @@ ssl.panoramio.com: did not receive HSTS header
 ssl.rip: could not connect to host
 ssl888.com: could not connect to host
 sslcertificateshop.com: did not receive HSTS header
-ssld.de: could not connect to host
+ssld.de: did not receive HSTS header
+ssldecoder.org: could not connect to host
 ssldev.net: could not connect to host
 sslzilla.de: did not receive HSTS header
 ssmato.me: could not connect to host
-ssn1.ru: could not connect to host
+ssmm88.cc: could not connect to host
+ssn1.ru: did not receive HSTS header
 ssnet.vip: could not connect to host
 sso.to: could not connect to host
 sspanda.com: did not receive HSTS header
@@ -26552,30 +29238,30 @@ staceyhankeinc.com: did not receive HSTS header
 stackfiles.io: could not connect to host
 stackhub.cc: could not connect to host
 stacklasvegas.com: could not connect to host
+stacktrace.sh: could not connect to host
+stacyscbdoil.com: did not receive HSTS header
 stadionmanager.com: could not connect to host
 stadjerspasonline.nl: could not connect to host
 stadt-apotheke-muensingen.de: did not receive HSTS header
 stadtgartenla.com: could not connect to host
 stadtpapa.de: could not connect to host
+staffhunt.org.uk: did not receive HSTS header
 staffjoy.com: did not receive HSTS header
-staffjoystaging.com: did not receive HSTS header
+staffjoystaging.com: could not connect to host
 stagend.com: did not receive HSTS header
 stagingjobshq.com: did not receive HSTS header
 stahl.xyz: could not connect to host
 stahlfeuer-ofenwerkstatt.de: did not receive HSTS header
-stahlfors.com: could not connect to host
 stainternational.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 stakeshare.org: could not connect to host
 stakestrategy.com: could not connect to host
 stalkerhispano.com: max-age too low: 0
-stalkthe.net: could not connect to host
 stall-zur-linde.de: did not receive HSTS header
 stalschermer.nl: could not connect to host
 stamboommuller.nl: did not receive HSTS header
 stamboomvanderwal.nl: did not receive HSTS header
 stamonicatourandtravel.com: could not connect to host
 stampederadon.com: could not connect to host
-stampsbar.co.uk: did not receive HSTS header
 stanandjerre.org: could not connect to host
 standardssuck.org: did not receive HSTS header
 standingmist.com: did not receive HSTS header
@@ -26591,9 +29277,8 @@ starcafe.me: could not connect to host
 stardeeps.net: max-age too low: 0
 stardust-entertainments.co.uk: could not connect to host
 starease.com: could not connect to host
-starease.net: could not connect to host
 starfeeling.net: could not connect to host
-starfixreparaciones.com: could not connect to host
+starfixreparaciones.com: did not receive HSTS header
 starfm.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 stargarder-jungs.de: did not receive HSTS header
 stargatedesign.com: did not receive HSTS header
@@ -26612,8 +29297,9 @@ starsing.bid: could not connect to host
 starteesforsale.co.za: did not receive HSTS header
 startergen.com: did not receive HSTS header
 startloop.org: could not connect to host
+startnowmakingmoneyonline.com: did not receive HSTS header
 startsamenvitaal.nu: could not connect to host
-startstunter.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+starttraffic.com: did not receive HSTS header
 startup.melbourne: could not connect to host
 startupgenius.org: did not receive HSTS header
 startuplevel.com: could not connect to host
@@ -26629,6 +29315,7 @@ statebuildinggroup.com: did not receive HSTS header
 statementinsertsforless.com: did not receive HSTS header
 stateofexception.io: could not connect to host
 statgram.me: could not connect to host
+static-692b8c32.de: could not connect to host
 static-assets.io: could not connect to host
 static.hosting: could not connect to host
 static.or.at: could not connect to host
@@ -26636,6 +29323,8 @@ static.today: could not connect to host
 staticisnoise.com: could not connect to host
 staticline.de: did not receive HSTS header
 stationaryjourney.com: did not receive HSTS header
+stationatbuckscounty.com: did not receive HSTS header
+stationatlyndhurst.com: did not receive HSTS header
 stationatwillowgrove.com: did not receive HSTS header
 stationcharlie.com: did not receive HSTS header
 stationnementdenuit.ca: did not receive HSTS header
@@ -26656,6 +29345,7 @@ steakhaus-zumdorfbrunnen.de: did not receive HSTS header
 stealthpressurewashers.com: did not receive HSTS header
 steampunkrobot.com: did not receive HSTS header
 steamscore.info: could not connect to host
+steborio.pw: could not connect to host
 steckel.cc: did not receive HSTS header
 stedbg.net: could not connect to host
 steelbea.ms: could not connect to host
@@ -26667,6 +29357,7 @@ stefanweiser.de: did not receive HSTS header
 steffi-in-australien.com: could not connect to host
 stegmaier-immobilien.de: did not receive HSTS header
 steigerplank.com: did not receive HSTS header
+stelinauto.com: did not receive HSTS header
 stellarvale.net: did not receive HSTS header
 stellen.ch: did not receive HSTS header
 stem.is: did not receive HSTS header
@@ -26676,11 +29367,10 @@ stepbymestudios.co.uk: did not receive HSTS header
 stepbystep3d.com: did not receive HSTS header
 steph-autoecole.ch: did not receive HSTS header
 steph3n.me: could not connect to host
+stephane-huc.net: could not connect to host
 stephanierxo.com: did not receive HSTS header
 stephanos.me: did not receive HSTS header
 stephenandburns.com: did not receive HSTS header
-stephenhorler.com.au: could not connect to host
-stephenjvoiceovers.com: did not receive HSTS header
 stephensolis.net: could not connect to host
 stephensolisrey.es: could not connect to host
 steplogictalent.com: could not connect to host
@@ -26696,32 +29386,33 @@ steuerseminare-graf.de: did not receive HSTS header
 steve.kiwi: could not connect to host
 stevechekblain.win: could not connect to host
 stevemario.com: could not connect to host
-stevemason.tk: could not connect to host
+stevemason.tk: did not receive HSTS header
 stevemonteyne.be: could not connect to host
 stevengoodpaster.com: could not connect to host
 stevenhumphrey.uk: did not receive HSTS header
 stevenkwan.me: could not connect to host
 stevenlepen.fr: did not receive HSTS header
-stevenroddis.com: did not receive HSTS header
+stevenroddis.com: could not connect to host
 stevensheffey.me: could not connect to host
 stevensononthe.net: did not receive HSTS header
 steventruesdell.com: could not connect to host
-stevereedmp.co.uk: did not receive HSTS header
 stevezheng.tk: could not connect to host
 stewartremodelingadvantage.com: could not connect to host
+stewonet.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 stge.uk: could not connect to host
 stgm.org: did not receive HSTS header
 sthelensoregon.gov: did not receive HSTS header
 stichtingscholierenvervoerzeeland.nl: could not connect to host
 stickerparadise.me: could not connect to host
 sticklerjs.org: could not connect to host
+stickmanventures.com: did not receive HSTS header
 stickmy.cn: could not connect to host
 stickswag.cf: could not connect to host
 stickswag.eu: could not connect to host
 stiebel.co.nz: did not receive HSTS header
 stiebel.com.au: did not receive HSTS header
 stiebelservice.com.au: did not receive HSTS header
-stiebelstore.com.au: could not connect to host
+stiebelstore.com.au: did not receive HSTS header
 stiens.de: did not receive HSTS header
 stiffordacademy.org.uk: did not receive HSTS header
 stig.io: did not receive HSTS header
@@ -26729,7 +29420,7 @@ stiger.me: could not connect to host
 stigroom.com: could not connect to host
 stijncrevits.be: did not receive HSTS header
 stikkie.me: could not connect to host
-stilettomoda.com.br: could not connect to host
+stilettomoda.com.br: did not receive HSTS header
 stillblackhat.id: could not connect to host
 stillnessproject.com: did not receive HSTS header
 stillyarts.com: did not receive HSTS header
@@ -26737,19 +29428,24 @@ stinkytrashhound.com: could not connect to host
 stirlingpoon.net: could not connect to host
 stirlingpoon.xyz: could not connect to host
 stitthappens.com: could not connect to host
+stjameslititz.org: did not receive HSTS header
 stjohnmiami.org: did not receive HSTS header
 stjohnsc.com: could not connect to host
 stkbn.com: could not connect to host
 stkeverneparishcouncil.org.uk: did not receive HSTS header
+stl.news: did not receive HSTS header
 stln.ml: could not connect to host
 stlucasmuseum.org: did not receive HSTS header
-stm32f4.jp: max-age too low: 0
 stmarkcharlotte.org: did not receive HSTS header
 stmaryextra.uk: could not connect to host
 stmbgr.com: could not connect to host
+stmosesbookstore.org: did not receive HSTS header
 stn.me.uk: did not receive HSTS header
 stnevis.ru: could not connect to host
 stnl.de: could not connect to host
+sto500.com.ua: could not connect to host
+stocknxt.com: could not connect to host
+stockrow.com: did not receive HSTS header
 stockseyeserum.com: could not connect to host
 stocktout.info: could not connect to host
 stocktrade.de: could not connect to host
@@ -26766,12 +29462,12 @@ stolkschepen.nl: did not receive HSTS header
 stomadental.com: did not receive HSTS header
 stonecutterscommunity.com: could not connect to host
 stonefusion.org.uk: could not connect to host
-stonehammerhead.org: could not connect to host
 stonemain.eu: could not connect to host
 stonemanbrasil.com.br: could not connect to host
 stonewuu.com: could not connect to host
 stopakwardhandshakes.org: could not connect to host
 stopbreakupnow.org: could not connect to host
+stopjunkmail.co.uk: could not connect to host
 stopwoodfin.org: could not connect to host
 storbritannien.guide: could not connect to host
 store-host.com: did not receive HSTS header
@@ -26782,14 +29478,22 @@ storedieu.com: could not connect to host
 storeprice.co.uk: did not receive HSTS header
 storeprijs.nl: did not receive HSTS header
 storiesofhealth.org: could not connect to host
+storm-family.com: did not receive HSTS header
+storm-family.nl: could not connect to host
 stormhub.org: could not connect to host
 stormwatcher.org: could not connect to host
 stormyyd.com: max-age too low: 0
 storytea.top: could not connect to host
+storzrealty.com: did not receive HSTS header
 stpatricksguild.com: did not receive HSTS header
 stqry.com: could not connect to host
 str0.at: did not receive HSTS header
+str8hd.com: could not connect to host
+str92.com: could not connect to host
+straat.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+straight2porn.com: could not connect to host
 stralingsonzin.com: could not connect to host
+strange.ga: could not connect to host
 strangeplace.net: did not receive HSTS header
 strangescout.me: could not connect to host
 strasweb.fr: did not receive HSTS header
@@ -26803,14 +29507,15 @@ stratuscloudconsulting.info: did not receive HSTS header
 stratuscloudconsulting.org: did not receive HSTS header
 strbt.de: could not connect to host
 strchr.com: did not receive HSTS header
-stream-ing.xyz: did not receive HSTS header
+stream-ing.xyz: could not connect to host
 stream.pub: could not connect to host
 streamblur.net: could not connect to host
 streamdesk.ca: did not receive HSTS header
 streamer.tips: did not receive HSTS header
+streamingargentino.info: did not receive HSTS header
 streamingeverywhere.com: could not connect to host
 streamingmagazin.de: could not connect to host
-streamlineautogroup.com: could not connect to host
+streamlineautogroup.com: did not receive HSTS header
 streampleasure.xyz: could not connect to host
 streams.dyndns.org: could not connect to host
 streamthemeeting.com: did not receive HSTS header
@@ -26819,7 +29524,7 @@ street-smart-home.de: did not receive HSTS header
 strehl.tk: could not connect to host
 streklhof.at: did not receive HSTS header
 strelitzia02.com: could not connect to host
-stressfreehousehold.com: could not connect to host
+stressfreehousehold.com: did not receive HSTS header
 stretchpc.com: could not connect to host
 strictlynormal.com: could not connect to host
 strictlysudo.com: could not connect to host
@@ -26832,8 +29537,10 @@ strming.com: could not connect to host
 stroeercrm.de: could not connect to host
 strommenhome.com: did not receive HSTS header
 strongest-privacy.com: could not connect to host
+strongmail.de: could not connect to host
 strongohio.gov: could not connect to host
 strongtowerpc.com: could not connect to host
+strousberg.de: could not connect to host
 stroyka-iz-brusa.ru: could not connect to host
 strrl.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 structure.systems: could not connect to host
@@ -26845,6 +29552,8 @@ stubbings.eu: could not connect to host
 stuco.co: could not connect to host
 student-scientist.org: did not receive HSTS header
 student.andover.edu: could not connect to host
+studentfintech.com: did not receive HSTS header
+studentloans.gov: did not receive HSTS header
 studentrdh.com: did not receive HSTS header
 studentresearcher.org: did not receive HSTS header
 studentrightsadvocate.org: could not connect to host
@@ -26856,16 +29565,17 @@ studienportal.eu: could not connect to host
 studienservice.de: did not receive HSTS header
 studiereader.nl: did not receive HSTS header
 studinf.xyz: could not connect to host
+studio-fotografico.ru: could not connect to host
 studio-panic.com: could not connect to host
-studio-webdigi.com: did not receive HSTS header
 studio44.fit: did not receive HSTS header
 studiocn.cn: could not connect to host
-studiodentisticomasi.com: did not receive HSTS header
 studiodentisticosanmarco.it: could not connect to host
 studiodoprazer.com.br: could not connect to host
 studiokilund.se: did not receive HSTS header
+studiopop.com.br: could not connect to host
 studiotrece.com: did not receive HSTS header
 studiozelden.com: did not receive HSTS header
+studisys.net: could not connect to host
 studlan.no: max-age too low: 0
 studport.rv.ua: could not connect to host
 studyabroadstation.com: did not receive HSTS header
@@ -26876,7 +29586,6 @@ studying-neet.com: could not connect to host
 studytale.com: could not connect to host
 stuffiwouldbuy.com: could not connect to host
 stugb.de: did not receive HSTS header
-stulda.cz: could not connect to host
 stumeta2018.de: could not connect to host
 stumf.si: could not connect to host
 stupidstatetricks.com: could not connect to host
@@ -26888,40 +29597,49 @@ stutsmancounty.gov: did not receive HSTS header
 stuttgart-gablenberg.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 stuudium.cloud: could not connect to host
 stuudium.life: could not connect to host
-styel.io: did not receive HSTS header
-stylaq.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+stuur.nl: did not receive HSTS header
+styel.io: could not connect to host
+stylaq.com: could not connect to host
 stylebajumuslim.com: could not connect to host
 stylenda.com: could not connect to host
 styles.pm: could not connect to host
 stylle.me: could not connect to host
 styloeart.com: could not connect to host
-stylusgroup.pw: could not connect to host
+stylusgroup.pw: did not receive HSTS header
 stytt.com: could not connect to host
 suaraangin.com: could not connect to host
 suave.io: did not receive HSTS header
-subarulegends.com: did not receive HSTS header
+subarulegends.com: could not connect to host
 subbing.work: could not connect to host
 subculture.live: did not receive HSTS header
 subeesu.com: could not connect to host
 subhacker.net: could not connect to host
 sublevel.net: did not receive HSTS header
-sublocale.com: did not receive HSTS header
+sublimebits.com: could not connect to host
+sublimetours.com: did not receive HSTS header
 subrain.com: did not receive HSTS header
-subrosa.io: could not connect to host
+subrosa.io: did not receive HSTS header
 subrosr.com: could not connect to host
+subtasks.co: could not connect to host
 subterfuge.io: did not receive HSTS header
 subtitle.rip: could not connect to host
+subtitry.ru: could not connect to host
 subtlelonging.com: did not receive HSTS header
 subwayz.de: did not receive HSTS header
 subzerolosangeles.com: did not receive HSTS header
+subzerotech.co.uk: could not connect to host
 succ.in: could not connect to host
 successwithflora.com: could not connect to host
 succubus.network: could not connect to host
 succubus.xxx: could not connect to host
 suchprogrammer.net: did not receive HSTS header
 suchtv.pk: did not receive HSTS header
+sudo-i.net: could not connect to host
 sudo.im: could not connect to host
+sudo.li: did not receive HSTS header
 sudo.org.au: did not receive HSTS header
+sudocat.me: could not connect to host
+sudosu.fr: could not connect to host
 sudya-dredd.ru: did not receive HSTS header
 suempresa.cloud: could not connect to host
 sufarce.com: could not connect to host
@@ -26931,6 +29649,7 @@ sugarandcloth.com: did not receive HSTS header
 sugarcitycon.com: could not connect to host
 sugarfactory.cz: did not receive HSTS header
 sugarhillsfarm.com: could not connect to host
+sugarlandkarate.net: did not receive HSTS header
 sugarmillmanagement.com: did not receive HSTS header
 sugarsweetorsour.com: did not receive HSTS header
 sugartownfarm.com: could not connect to host
@@ -26942,30 +29661,36 @@ suko.pe: could not connect to host
 sukoyakapp.com: could not connect to host
 suksesbisnisonline.id: did not receive HSTS header
 sullenholland.nl: could not connect to host
-summa-prefis.com: could not connect to host
+summa-prefis.com: did not receive HSTS header
 summer.ga: could not connect to host
 summermc.cc: could not connect to host
 summershomes.com: did not receive HSTS header
 summitcountyboe.gov: did not receive HSTS header
-summitmasters.net: did not receive HSTS header
+summitmasters.net: could not connect to host
 sumoscout.de: did not receive HSTS header
 sumthing.com: could not connect to host
 sun-leo.co.jp: did not receive HSTS header
+sun.re: could not connect to host
 sunboxstore.jp: did not receive HSTS header
-suncountrymarine.com: did not receive HSTS header
+suncountrymarine.com: could not connect to host
 sundanceusa.com: did not receive HSTS header
 suneilpatel.com: could not connect to host
 sunfeathers.net: could not connect to host
 sunfireshop.com.br: could not connect to host
+sunfulong.blog: could not connect to host
+sunfulong.me: could not connect to host
+sungari.ru: did not receive HSTS header
 suniru.com: did not receive HSTS header
 sunlandsg.vn: did not receive HSTS header
+sunnibangla.com: did not receive HSTS header
 sunnistan.in: could not connect to host
 sunnyfruit.ru: could not connect to host
 sunnylyx.com: could not connect to host
 sunplay.host: could not connect to host
 sunriseafricarelief.com: could not connect to host
-sunset.im: could not connect to host
-sunshinepress.org: could not connect to host
+sunset.im: did not receive HSTS header
+sunshinepress.org: did not receive HSTS header
+sunsmartresorts.com: could not connect to host
 sunxchina.com: could not connect to host
 sunyanzi.tk: could not connect to host
 sunyataherb.com: could not connect to host
@@ -26975,9 +29700,12 @@ suourl.com: could not connect to host
 supastuds.com: did not receive HSTS header
 supcoronado.com: did not receive HSTS header
 supcro.com: could not connect to host
+supedi.com: did not receive HSTS header
+supedi.de: did not receive HSTS header
 super-demarche.com: did not receive HSTS header
 super-garciniaslim.com: could not connect to host
 super-o-blog.com: could not connect to host
+super-puper.su: did not receive HSTS header
 super-radiant-skin.com: could not connect to host
 super-ripped-power.com: could not connect to host
 super-slim-coffee.com: could not connect to host
@@ -26987,6 +29715,7 @@ superbowlkneel.com: could not connect to host
 superbshare.com: could not connect to host
 supercastlesmelbourne.com.au: could not connect to host
 supercastlessouthsydney.com.au: could not connect to host
+supercastlessydney.com.au: could not connect to host
 supercreepsvideo.com: did not receive HSTS header
 superdaddy.club: did not receive HSTS header
 supereight.net: did not receive HSTS header
@@ -26999,28 +29728,34 @@ supernovabrasil.com.br: did not receive HSTS header
 supernt.lt: did not receive HSTS header
 superpase.com: could not connect to host
 supersalescontest.nl: did not receive HSTS header
-supersandro.de: could not connect to host
 superschnappchen.de: could not connect to host
 supersec.es: could not connect to host
 supersecurefancydomain.com: could not connect to host
+supersena.com.br: did not receive HSTS header
 superservers.ml: could not connect to host
 supersole.net: did not receive HSTS header
 supertechcrew.com: did not receive HSTS header
 supertramp-dafonseca.com: did not receive HSTS header
-superuser.fi: could not connect to host
+superuser.fi: did not receive HSTS header
 superwally.org: could not connect to host
 superway.es: could not connect to host
 supes.io: did not receive HSTS header
 supioka.com: could not connect to host
+suplments.co.uk: did not receive HSTS header
+suplments.com: did not receive HSTS header
+suplments.de: did not receive HSTS header
+suplments.fr: did not receive HSTS header
+suplments.it: did not receive HSTS header
+suplments.pt: did not receive HSTS header
 supperclub.es: did not receive HSTS header
-supplementswatch.com: could not connect to host
+supplementler.com: did not receive HSTS header
 supplypartnersdecolombia.com: did not receive HSTS header
 support4server.de: could not connect to host
 supportfan.gov: could not connect to host
 supportme123.com: did not receive HSTS header
 suppwatch.com: could not connect to host
 suprlink.net: could not connect to host
-supweb.ovh: did not receive HSTS header
+supweb.ovh: could not connect to host
 surasak.io: could not connect to host
 surasak.net: could not connect to host
 surasak.org: could not connect to host
@@ -27030,53 +29765,60 @@ suretone.co.za: could not connect to host
 surfeasy.com: did not receive HSTS header
 surfone-leucate.com: did not receive HSTS header
 surfpacific.com: max-age too low: 300
-surgenet.nl: could not connect to host
+surgenet.nl: did not receive HSTS header
+surgenights.com: did not receive HSTS header
 surgiclinic.gr: did not receive HSTS header
 surkatty.org: did not receive HSTS header
 surmountsoft.com: did not receive HSTS header
+suroot.moe: could not connect to host
 surrealcoder.com: could not connect to host
+surtisitio.com: did not receive HSTS header
 suruifu.tk: could not connect to host
 survivalistplanet.com: could not connect to host
-survivalmonkey.com: could not connect to host
+survivalmonkey.com: did not receive HSTS header
 susanbpilates.co: could not connect to host
-susastudentenjobs.de: did not receive HSTS header
+susastudentenjobs.de: could not connect to host
 susconam.org: could not connect to host
 suseasky.com: could not connect to host
 sushifrick.de: could not connect to host
 sushikatze.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sushiwereld.be: did not receive HSTS header
+susoccm.org: did not receive HSTS header
 suspiciousdarknet.xyz: could not connect to host
 sussexwebdesigns.com: could not connect to host
 sussexwebsites.info: could not connect to host
-sustc.ac.cn: could not connect to host
 suste.ch: could not connect to host
 susthx.com: could not connect to host
-suts.co.uk: did not receive HSTS header
 suttonbouncycastles.co.uk: could not connect to host
+suurhelsinki.cf: could not connect to host
 suv4.net: could not connect to host
 suvidhaapay.com: could not connect to host
 suwalls.com: did not receive HSTS header
 suzukikazuki.com: could not connect to host
-sv-schody.cz: could not connect to host
 svadobkajuvi.sk: did not receive HSTS header
 svarovani.tk: could not connect to host
+svartx.com: could not connect to host
 svatba-frantovi.cz: could not connect to host
 svc-sitec.com: did not receive HSTS header
 svdreamcatcher.com: did not receive HSTS header
 sve-hosting.nl: could not connect to host
 svenbacia.me: could not connect to host
+svenjaundchristian.de: could not connect to host
 svenskacasino.com: could not connect to host
 svenskaservern.se: could not connect to host
 svetdrzaku.cz: did not receive HSTS header
 svetjakonadlani.cz: did not receive HSTS header
 svetzitrka.cz: did not receive HSTS header
+svht.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 svisa.nl: did not receive HSTS header
 sviz.pro: could not connect to host
 svj-stochovska.cz: could not connect to host
 svjvn.cz: could not connect to host
+svm-it.eu: did not receive HSTS header
+svmedia.be: did not receive HSTS header
 sw-machines.io: could not connect to host
 swacp.com: could not connect to host
-swaggerdile.com: could not connect to host
+swaggerdile.com: did not receive HSTS header
 swagsocial.net: could not connect to host
 swaleacademiestrust.org.uk: did not receive HSTS header
 swallsoft.co.uk: could not connect to host
@@ -27094,6 +29836,7 @@ sweetstreats.ca: could not connect to host
 sweetvanilla.jp: could not connect to host
 swehack.org: could not connect to host
 swerve-media-testbed-03.co.uk: could not connect to host
+swey.net: could not connect to host
 swfloshatraining.com: could not connect to host
 swift-devedge.de: could not connect to host
 swiftconf.com: did not receive HSTS header
@@ -27108,15 +29851,21 @@ swingerclub.in: could not connect to host
 swiss-cyber-experts.ch: could not connect to host
 swisscannabis.club: could not connect to host
 swissentreprises.ch: could not connect to host
+swissfreshaircan.ch: could not connect to host
+swissmadesecurity.net: did not receive HSTS header
 swisstechtalks.ch: could not connect to host
 swisswebhelp.ch: could not connect to host
 swissxperts.ch: could not connect to host
-switch.moe: could not connect to host
+switch.moe: did not receive HSTS header
 switchchargers.com: did not receive HSTS header
 swite.com: did not receive HSTS header
+switzerland-family-office.com: did not receive HSTS header
+swj.red: could not connect to host
 swktestserver.tk: could not connect to host
 swmd5c.org: could not connect to host
+swo.re: could not connect to host
 swoffordconstruction.com: did not receive HSTS header
+swordfeng.xyz: could not connect to host
 swordfighting.net: could not connect to host
 swqa.hu: could not connect to host
 swrelay.com: could not connect to host
@@ -27131,31 +29880,35 @@ sxbk.pw: did not receive HSTS header
 sxwancai18.com: max-age too low: 0
 syam.cc: could not connect to host
 syamutodon.xyz: could not connect to host
-syamuwatching.xyz: did not receive HSTS header
+syamuwatching.xyz: could not connect to host
 sydgrabber.tk: could not connect to host
+sydneybamboo.com.au: did not receive HSTS header
 syhost.at: did not receive HSTS header
 syhost.ch: did not receive HSTS header
 syhost.de: did not receive HSTS header
 sykl.us: could not connect to host
 sylvaincombe.net: did not receive HSTS header
+sylvangarden.net: could not connect to host
 sylvangarden.org: could not connect to host
 sylvanorder.com: could not connect to host
 symbiose-bien-etre.ch: did not receive HSTS header
 symetria.io: did not receive HSTS header
+symphonos.it: could not connect to host
+symposium.beer: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 synack.uk: could not connect to host
 synackr.com: could not connect to host
 synackr.net: did not receive HSTS header
 synapticconsulting.co.uk: could not connect to host
 synaptickz.me: could not connect to host
+synatra.co: did not receive HSTS header
 syncaddict.net: could not connect to host
 syncappate.com: could not connect to host
 syncclinicalstudy.com: could not connect to host
 syncer.jp: did not receive HSTS header
 syncflare.com: could not connect to host
-synchrocube.com: could not connect to host
 syncmylife.net: could not connect to host
 syncserve.net: did not receive HSTS header
-syneic.com: did not receive HSTS header
+syneic.com: could not connect to host
 synergisticsoccer.com: could not connect to host
 syno.gq: could not connect to host
 syntaxoff.com: could not connect to host
@@ -27167,7 +29920,6 @@ syracuseut.gov: did not receive HSTS header
 syriatalk.biz: could not connect to host
 syriatalk.org: did not receive HSTS header
 syrocon.ch: could not connect to host
-sys-tm.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sys.tf: could not connect to host
 sysadmin.xyz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 sysadminstory.com: could not connect to host
@@ -27177,24 +29929,28 @@ sysgeek.cn: could not connect to host
 syslogic.io: could not connect to host
 syso.name: could not connect to host
 syspen.space: could not connect to host
-sysrq.tech: could not connect to host
 syss.de: did not receive HSTS header
 system-online.cz: could not connect to host
 system12.pl: could not connect to host
 system365.eu: did not receive HSTS header
 systemctl.io: could not connect to host
 systemd.me: could not connect to host
+systemnik.store: could not connect to host
+systemofabrown.com: did not receive HSTS header
 systemonthego.com: could not connect to host
 systemreboot.net: did not receive HSTS header
+systemscoinsminers.tech: could not connect to host
+systemspace.link: could not connect to host
 systemzeit.info: could not connect to host
 systoolbox.net: could not connect to host
 sysystems.cz: could not connect to host
 syt3.net: could not connect to host
 sytk.me: could not connect to host
 syukatsu-net.jp: did not receive HSTS header
-syunpay.cn: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+syunpay.cn: could not connect to host
 sywnthkrawft.tk: could not connect to host
 syy.hk: did not receive HSTS header
+sz-ideenlos.de: could not connect to host
 szagun.net: did not receive HSTS header
 szaloneigly.com: did not receive HSTS header
 szaszm.tk: could not connect to host
@@ -27203,23 +29959,26 @@ szczot3k.pl: could not connect to host
 szepsegbennedrejlik.hu: could not connect to host
 szerbnyelvkonyv.hu: could not connect to host
 szerelem.love: could not connect to host
-szeretekvajpolni.hu: did not receive HSTS header
+szeretekvajpolni.hu: could not connect to host
 szlovaknyelv.hu: could not connect to host
 szlovennyelv.hu: could not connect to host
 szongott.net: did not receive HSTS header
-szunia.com: could not connect to host
+szotkowski.info: could not connect to host
+szotkowski.online: could not connect to host
+szunia.com: did not receive HSTS header
 t-complex.space: could not connect to host
 t-ken.xyz: could not connect to host
 t-point.eu: did not receive HSTS header
 t-tz.com: could not connect to host
+t-unit.ru: could not connect to host
 t0dd.eu: could not connect to host
 t2000headphones.com: could not connect to host
 t2000laserpointers.com: could not connect to host
 t23m-navi.jp: did not receive HSTS header
 t30365.com: could not connect to host
-t39.com: did not receive HSTS header
 t3dynamics.com: did not receive HSTS header
 t3rror.net: could not connect to host
+t49.com: could not connect to host
 t4c-rebirth.com: could not connect to host
 t4x.org: could not connect to host
 t5118.com: could not connect to host
@@ -27230,17 +29989,21 @@ t7803.com: could not connect to host
 t7804.com: could not connect to host
 t7810.com: could not connect to host
 t7ys.com: did not receive HSTS header
+t81365.com: did not receive HSTS header
+t81818.com: did not receive HSTS header
+t82365.com: did not receive HSTS header
+t8816.com: could not connect to host
 t88aa.com: did not receive HSTS header
 t88dd.com: did not receive HSTS header
 t88hh.com: did not receive HSTS header
 t88kk.com: could not connect to host
 t88ll.com: could not connect to host
-t88rr.com: did not receive HSTS header
 t88uu.com: did not receive HSTS header
 t88ww.com: could not connect to host
+t88xx.com: did not receive HSTS header
 t88yy.com: could not connect to host
 t9297.co: could not connect to host
-t9721.com: could not connect to host
+t9721.com: did not receive HSTS header
 t9728.co: could not connect to host
 ta-sports.net: did not receive HSTS header
 taabe.xyz: could not connect to host
@@ -27256,7 +30019,7 @@ tachyonapp.com: could not connect to host
 tacklinglife.com: did not receive HSTS header
 tacklog.com: could not connect to host
 tacoma-games.com: did not receive HSTS header
-tacostea.net: could not connect to host
+tacostea.net: did not receive HSTS header
 tacotown.tk: could not connect to host
 tacticalsquare.com: did not receive HSTS header
 tadata.me: could not connect to host
@@ -27266,10 +30029,10 @@ tadj-mahalat.com: did not receive HSTS header
 tadlab.cl: did not receive HSTS header
 tafoma.com: did not receive HSTS header
 tag-coin.com: could not connect to host
-tageau.com: could not connect to host
+tageau.com: did not receive HSTS header
 tagesmutter-in-bilm.de: did not receive HSTS header
 tagesmutter-zwitscherlinge.de: did not receive HSTS header
-tagpay.com: could not connect to host
+tagpay.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 tahakomat.cz: could not connect to host
 tahavu.com: could not connect to host
 tahf.net: could not connect to host
@@ -27278,28 +30041,24 @@ tahosalodge.org: did not receive HSTS header
 taichi-jade.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 taidu.news: could not connect to host
 taigamehack.com: could not connect to host
-tail.id.lv: could not connect to host
-tail.ml: could not connect to host
 tailandfur.com: did not receive HSTS header
 tailify.com: did not receive HSTS header
+tailpuff.net: could not connect to host
 tails.com.ar: could not connect to host
 taim.io: could not connect to host
 taipei-101.tk: could not connect to host
-taiphanmem.net: did not receive HSTS header
 tajemno.net: did not receive HSTS header
 takb.ru: did not receive HSTS header
 takebackyourstate.com: could not connect to host
 takebackyourstate.net: could not connect to host
 takebackyourstate.org: could not connect to host
-takebonus.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 takedownthissite.com: could not connect to host
 takeitoffline.co.uk: did not receive HSTS header
-taki.sh: could not connect to host
-taki.to: could not connect to host
+takenbydrone.com.au: did not receive HSTS header
 takinet.kr: could not connect to host
 tako-miyabi.xyz: could not connect to host
 takusan.ru: could not connect to host
-takuyaphotos.com: did not receive HSTS header
+takuyaphotos.com: could not connect to host
 talado.gr: could not connect to host
 talenthero.io: did not receive HSTS header
 talenthub.co.nz: could not connect to host
@@ -27317,6 +30076,7 @@ talktodarcy.com: did not receive HSTS header
 talktwincities.com: could not connect to host
 tallr.se: could not connect to host
 tallshoe.com: could not connect to host
+talltreeskv.com.au: did not receive HSTS header
 talon.rip: could not connect to host
 talsi.eu: could not connect to host
 tam-moon.com: could not connect to host
@@ -27330,7 +30090,9 @@ tamchunho.com: could not connect to host
 tamex.xyz: could not connect to host
 tamirson.com: did not receive HSTS header
 tampa.gov: could not connect to host
+tamsweb.de: did not receive HSTS header
 tan90.tw: could not connect to host
+tanchynski.com: could not connect to host
 tandarts-haarlem.nl: did not receive HSTS header
 tandblekningidag.com: could not connect to host
 tandem-trade.ru: could not connect to host
@@ -27349,17 +30111,19 @@ tanner.sh: could not connect to host
 tanshin.xyz: could not connect to host
 tante-bugil.net: could not connect to host
 tantotiempo.de: did not receive HSTS header
+tanz-kreativ.de: could not connect to host
 tanze-jetzt.de: could not connect to host
 taotuba.net: could not connect to host
-taotuba.org: max-age too low: 2592000
+taotuba.org: did not receive HSTS header
 taoways.com: did not receive HSTS header
 taozj.org: could not connect to host
 tapakgram.com: did not receive HSTS header
+tapasnandi.in: could not connect to host
 tapestries.tk: could not connect to host
 tapety-na-pulpit.net: did not receive HSTS header
 tapfinder.ca: could not connect to host
 tapka.cz: did not receive HSTS header
-taplamvan.net: did not receive HSTS header
+taplamvan.net: could not connect to host
 taplemon.at: could not connect to host
 taplemon.com: could not connect to host
 tappezzeria.roma.it: could not connect to host
@@ -27370,18 +30134,19 @@ tarantul.org.ua: could not connect to host
 taravancil.com: did not receive HSTS header
 tarek.link: could not connect to host
 targaryen.house: could not connect to host
-targetexecutivesearch.com: did not receive HSTS header
+targetexecutivesearch.com: could not connect to host
 tarhauskielto.fi: did not receive HSTS header
 tarot-cartas.com: max-age too low: 0
 tarots-et-oracles.com: did not receive HSTS header
-tarsashaz-biztositas.hu: did not receive HSTS header
 tartaros.fi: could not connect to host
 taskin.me: could not connect to host
 taskstats.com: could not connect to host
 tasmansecurity.com: could not connect to host
 tassup.com: could not connect to host
-tasta.ro: could not connect to host
+tasta.ro: did not receive HSTS header
 tastenewwines.com: could not connect to host
+tastic.com: could not connect to host
+tasticfilm.com: could not connect to host
 tastyyy.co: could not connect to host
 tasyacherry-anal.com: could not connect to host
 tatary.tk: could not connect to host
@@ -27393,22 +30158,25 @@ tatiloley.com: did not receive HSTS header
 tatort-fanpage.de: could not connect to host
 tatt.io: could not connect to host
 tauchkater.de: could not connect to host
+tauerperfumes.com: did not receive HSTS header
+taunhanh.us: could not connect to host
 tauschen.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 taustyle.ru: could not connect to host
 tavoittaja.fi: did not receive HSTS header
 tavopica.lt: did not receive HSTS header
+tawasulav.com: did not receive HSTS header
 taxaudit.com: did not receive HSTS header
 taxbench.com: could not connect to host
 taxi-24std.de: did not receive HSTS header
 taxi-uslu.de: did not receive HSTS header
 taxiindenbosch.nl: did not receive HSTS header
 taxisafmatosinhos.pt: could not connect to host
+taxisantapolagranalacant.com: did not receive HSTS header
 taxmadras.com: could not connect to host
 taxsnaps.co.nz: did not receive HSTS header
 taxspeaker.com: did not receive HSTS header
 tayanamina.com: did not receive HSTS header
 taylorreaume.com: did not receive HSTS header
-taysonvodao.fr: could not connect to host
 tazemama.biz: could not connect to host
 tazj.in: did not receive HSTS header
 tazz.in: could not connect to host
@@ -27417,7 +30185,6 @@ tbpixel.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERRO
 tbrss.com: did not receive HSTS header
 tbys.us: could not connect to host
 tc-bonito.de: did not receive HSTS header
-tc.nz: could not connect to host
 tcacademy.co.uk: could not connect to host
 tcade.co: could not connect to host
 tcao.info: could not connect to host
@@ -27432,7 +30199,7 @@ tchaka.top: could not connect to host
 tcl.ath.cx: did not receive HSTS header
 tcp.expert: did not receive HSTS header
 tcptun.com: could not connect to host
-tcspartner.net: did not receive HSTS header
+tcspartner.net: could not connect to host
 tcwebvn.com: could not connect to host
 tda602-secure-login.tk: could not connect to host
 tdelmas.eu: did not receive HSTS header
@@ -27451,13 +30218,17 @@ tdsbhack.tk: could not connect to host
 tdsf.io: could not connect to host
 tea.codes: did not receive HSTS header
 teabagdesign.co.uk: could not connect to host
-teacherph.net: did not receive HSTS header
+teacherph.net: could not connect to host
 teachertool.io: could not connect to host
 teachforcanada.ca: did not receive HSTS header
+teachingcopyright.com: did not receive HSTS header
+teachingcopyright.net: did not receive HSTS header
+teachingcopyright.org: did not receive HSTS header
 teachmeplease.com: did not receive HSTS header
 tealdrones.com: did not receive HSTS header
+teallhaycock.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 team-bbd.com: could not connect to host
-team-pancake.eu: could not connect to host
+team-pancake.eu: did not receive HSTS header
 team-teasers.com: could not connect to host
 team.house: did not receive HSTS header
 team2fou.cf: could not connect to host
@@ -27467,7 +30238,9 @@ teamblueridge.org: could not connect to host
 teambodyproject.com: did not receive HSTS header
 teamcombat.com: did not receive HSTS header
 teamdaylo.xyz: could not connect to host
-teamhood.io: could not connect to host
+teamdog.pet: did not receive HSTS header
+teamhood.io: did not receive HSTS header
+teamif.io: could not connect to host
 teammathics.com: could not connect to host
 teamnetsol.com: did not receive HSTS header
 teamnorthgermany.de: did not receive HSTS header
@@ -27481,28 +30254,28 @@ teaparty.id: could not connect to host
 tearoy.faith: could not connect to host
 tebieer.com: could not connect to host
 tech-blog.fr: could not connect to host
-tech-director.ru: could not connect to host
+tech-director.ru: did not receive HSTS header
 tech-finder.fr: could not connect to host
+tech-mfoda.com: did not receive HSTS header
 tech-professor.ir: could not connect to host
 tech-techno.tk: could not connect to host
 tech55i.com: could not connect to host
-techableme.com: did not receive HSTS header
 techademy.nl: did not receive HSTS header
 techandtux.de: could not connect to host
 techarea.fr: did not receive HSTS header
 techask.it: could not connect to host
+techbelife.com: could not connect to host
 techbrawl.org: could not connect to host
 techcavern.ml: could not connect to host
 techcentric.com: did not receive HSTS header
-techday.co.nz: did not receive HSTS header
 techday.com: did not receive HSTS header
-techday.com.au: did not receive HSTS header
-techday.eu: did not receive HSTS header
 techelements.co: did not receive HSTS header
 techfactslive.com: did not receive HSTS header
 techforthepeople.org: could not connect to host
+techglover.com: could not connect to host
 techhipster.net: could not connect to host
 techhub.ml: could not connect to host
+techie-show.com: could not connect to host
 techiehall.com: could not connect to host
 techlines.com.co: could not connect to host
 techllage.com: could not connect to host
@@ -27513,14 +30286,14 @@ techmerch.ru: did not receive HSTS header
 technewera.com: did not receive HSTS header
 technicalbrothers.cf: did not receive HSTS header
 technicalforensic.com: could not connect to host
-technicalpenguins.com: did not receive HSTS header
-techniclab.net: did not receive HSTS header
-techniclab.org: did not receive HSTS header
+technicalpenguins.com: max-age too low: 0
 techniclab.ru: could not connect to host
 technifocal.com: could not connect to host
 technikblase.fm: did not receive HSTS header
+technikman.de: did not receive HSTS header
 technikrom.org: could not connect to host
 technistan.in: did not receive HSTS header
+technofirstonline.com: could not connect to host
 technoinfogroup.it: could not connect to host
 technoparcepsilon.fr: did not receive HSTS header
 technosavvyport.com: did not receive HSTS header
@@ -27535,12 +30308,11 @@ techproud.com: did not receive HSTS header
 techreview.link: could not connect to host
 techsharetx.gov: did not receive HSTS header
 techsocial.nl: could not connect to host
-techtoy.store: did not receive HSTS header
+techtoy.store: could not connect to host
 techtrackerpro.com: could not connect to host
 techtraveller.com.au: did not receive HSTS header
-techtuts.info: did not receive HSTS header
+techtuts.info: could not connect to host
 techunit.org: could not connect to host
-techvalue.gr: did not receive HSTS header
 techvhow.com: could not connect to host
 techwithcromulent.com: could not connect to host
 techzjc.com: did not receive HSTS header
@@ -27548,32 +30320,35 @@ tecit.ch: could not connect to host
 tecmarkdig.com: could not connect to host
 tecnicosenlineablanca.com: could not connect to host
 tecnidev.com: did not receive HSTS header
-tecnikan.com.ar: did not receive HSTS header
+tecnimas.com.mx: could not connect to host
 tecnimotos.com: did not receive HSTS header
 tecnogaming.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 tecnologino.com: could not connect to host
+tecnopiniones.com: could not connect to host
 tecnosa.es: did not receive HSTS header
 tecture.de: did not receive HSTS header
 tedovo.com: could not connect to host
 tedxkmitl.com: could not connect to host
 tedxodense.com: did not receive HSTS header
 tedxyalesecondaryschool.com: could not connect to host
-tee-idf.net: could not connect to host
+tee-idf.net: did not receive HSTS header
+teedb.de: could not connect to host
 teehaus-shila.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 teektalk.org: could not connect to host
 teemo.gg: did not receive HSTS header
 teencounseling.com: did not receive HSTS header
 teeplelaw.com: did not receive HSTS header
-teesypeesy.com: did not receive HSTS header
+teesypeesy.com: max-age too low: 2592000
+teetje-doko.de: could not connect to host
 tefl.io: did not receive HSTS header
 tegelsensanitaironline.nl: did not receive HSTS header
-tehcrayz.com: did not receive HSTS header
+tehcrayz.com: could not connect to host
 tehotuotanto.net: did not receive HSTS header
 tehplace.club: could not connect to host
 tehrankey.ir: did not receive HSTS header
 tehranperfume.com: did not receive HSTS header
 tejarat98.com: did not receive HSTS header
-tekingb.org: did not receive HSTS header
+tekingb.org: could not connect to host
 tekiro.com: did not receive HSTS header
 teknogeek.id: could not connect to host
 teknolit.com: did not receive HSTS header
@@ -27586,10 +30361,10 @@ tektuts.com: could not connect to host
 tekuteku.jp: did not receive HSTS header
 tel-dithmarschen.de: did not receive HSTS header
 telamon.fr: did not receive HSTS header
-telcodb.net: did not receive HSTS header
+telcotronics.com: could not connect to host
+teldak.pt: could not connect to host
 tele-alarme.ch: could not connect to host
 tele-assistance.ch: could not connect to host
-telealarme.ch: could not connect to host
 telealarmevalais.ch: could not connect to host
 teleallarme.ch: could not connect to host
 telecharger-itunes.com: could not connect to host
@@ -27614,7 +30389,6 @@ teletra.ru: could not connect to host
 telfordwhitehouse.co.uk: did not receive HSTS header
 telibee.com: did not receive HSTS header
 tellcorpassessoria.com.br: did not receive HSTS header
-telos-analytics.com: could not connect to host
 telugu4u.net: could not connect to host
 temehu.com: did not receive HSTS header
 temp.hopto.org: could not connect to host
@@ -27622,12 +30396,13 @@ tempcraft.net: could not connect to host
 temperandtantrum.com: did not receive HSTS header
 tempflix.com: could not connect to host
 tempo.co: did not receive HSTS header
-tempodecolheita.com.br: could not connect to host
+tempodecolheita.com.br: did not receive HSTS header
 tempus-aquilae.de: could not connect to host
 ten-cafe.com: did not receive HSTS header
 tenberg.com: could not connect to host
 tencent.xn--vuq861b: could not connect to host
 tendertool.nl: could not connect to host
+tendomag.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 tenerife-villas.com: max-age too low: 2592000
 tengu.cloud: could not connect to host
 tenispopular.com: could not connect to host
@@ -27636,30 +30411,31 @@ tenma.pro: could not connect to host
 tenni.xyz: could not connect to host
 tennisadmin.com: could not connect to host
 tennisapp.org: could not connect to host
-tenseapp.pl: could not connect to host
+tenseapp.pl: did not receive HSTS header
 tensei-slime.com: did not receive HSTS header
 tensionup.com: could not connect to host
 tent.io: could not connect to host
-tentabrowser.com: could not connect to host
-tenthousandbottoms.com: did not receive HSTS header
+tentech.io: did not receive HSTS header
+tenthousandbottoms.com: could not connect to host
 tenthpin.com: did not receive HSTS header
 tentins.com: could not connect to host
 teodio.cl: did not receive HSTS header
 teos.online: could not connect to host
 teoskanta.fi: could not connect to host
 tepautotuning.com: could not connect to host
+teplo-unit.ru: could not connect to host
 teplomash24.ru: could not connect to host
 terabyte-computing.com: could not connect to host
 terabyteharddrive.net: could not connect to host
-teranga.ch: could not connect to host
 tercerapuertoaysen.cl: could not connect to host
+terezalukasova.cz: did not receive HSTS header
 teriiphotography.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-teriyakiweasel.com: could not connect to host
+teriyakiweasel.com: did not receive HSTS header
+terlindung.com: did not receive HSTS header
 termax.me: did not receive HSTS header
 terminationsremembered.com: did not receive HSTS header
 terpotiz.net: did not receive HSTS header
 terra-x.net: could not connect to host
-terra.by: did not receive HSTS header
 terra.fitness: did not receive HSTS header
 terrace.co.jp: did not receive HSTS header
 terralimno.com: did not receive HSTS header
@@ -27680,6 +30456,7 @@ test-achats.be: did not receive HSTS header
 test-allegrodev.pantheonsite.io: did not receive HSTS header
 test-dns.eu: could not connect to host
 test-sev-web.pantheonsite.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+test.financial: did not receive HSTS header
 test02.dk: could not connect to host
 test1websiteboost.nl: did not receive HSTS header
 testadren.com: could not connect to host
@@ -27687,13 +30464,14 @@ testadron.com: could not connect to host
 testandroid.xyz: could not connect to host
 testbawks.com: could not connect to host
 testbirds.cz: could not connect to host
+testbirds.sk: could not connect to host
 testdomain.ovh: could not connect to host
 testlabs.tk: could not connect to host
 testnode.xyz: could not connect to host
 testosterone-complex.com: could not connect to host
 testosteronedetective.com: could not connect to host
 testovaci.ml: could not connect to host
-testsvigilantesdeseguridad.es: did not receive HSTS header
+testsvigilantesdeseguridad.es: could not connect to host
 testvocacional.online: could not connect to host
 tetrafinancial-commercial-business-equipment-financing.com: could not connect to host
 tetrafinancial-energy-mining-equipment-financing.com: could not connect to host
@@ -27704,6 +30482,7 @@ tetrafinancial-technology-equipment-software-financing.com: could not connect to
 tetragir.com: did not receive HSTS header
 tetramax.eu: did not receive HSTS header
 tetsai.com: could not connect to host
+teufel.dk: did not receive HSTS header
 teufelswerk.net: did not receive HSTS header
 teufelsystem.de: could not connect to host
 teuniz.nl: did not receive HSTS header
@@ -27713,6 +30492,7 @@ textbrawlers.com: could not connect to host
 texte-zur-taufe.de: did not receive HSTS header
 textinmate.com: could not connect to host
 textoplano.xyz: could not connect to host
+textpages.tk: could not connect to host
 textpedia.org: did not receive HSTS header
 textracer.dk: could not connect to host
 teyssedre.ca: did not receive HSTS header
@@ -27723,6 +30503,7 @@ tf7879.com: could not connect to host
 tfadictivo.com: could not connect to host
 tfcoms-sp-tracker-client.azurewebsites.net: could not connect to host
 tffans.com: did not receive HSTS header
+tfk.fr: could not connect to host
 tfl.lu: did not receive HSTS header
 tgbyte.com: did not receive HSTS header
 tgmkanis.com: did not receive HSTS header
@@ -27741,16 +30522,20 @@ thaihostcool.com: did not receive HSTS header
 thailandlongtime.com: did not receive HSTS header
 thailandpropertylistings.com: could not connect to host
 thairehabassociation.com: could not connect to host
+thaiteaw.com: could not connect to host
+thalan.fr: could not connect to host
 thaliagetaway.com.au: did not receive HSTS header
+thalliman.com: could not connect to host
 thallinger.me: could not connect to host
 thalskarth.com: did not receive HSTS header
 thamesfamilydentistry.com: did not receive HSTS header
 thatgudstuff.com: did not receive HSTS header
 thatpodcast.io: did not receive HSTS header
-thatsme.io: could not connect to host
+thatsme.io: did not receive HSTS header
 thatvizsla.life: could not connect to host
-the-arabs.com: did not receive HSTS header
+the-arabs.com: could not connect to host
 the-bermanns.com: did not receive HSTS header
+the-busbys.com: could not connect to host
 the-construct.com: could not connect to host
 the-delta.net.eu.org: could not connect to host
 the-earth-yui.net: could not connect to host
@@ -27759,25 +30544,30 @@ the-gdn.net: did not receive HSTS header
 the-gist.io: could not connect to host
 the-paddies.de: did not receive HSTS header
 the-sky-of-valkyries.com: could not connect to host
+the-spoonfeed.club: could not connect to host
 the-webmaster.com: did not receive HSTS header
 the.ie: could not connect to host
 the1.site: max-age too low: 2592000
 the420vape.org: could not connect to host
 theafleo.gq: could not connect to host
+theagencywithoutaname.com: could not connect to host
 theagilitychallenge.com: did not receive HSTS header
-thealexandertechnique.co.uk: did not receive HSTS header
+thealexandertechnique.co.uk: max-age too low: 72000
 theamateurs.net: did not receive HSTS header
 theamp.com: did not receive HSTS header
 theankhlife.com: did not receive HSTS header
 theanticellulitediet.com: could not connect to host
+theapplewiki.com: could not connect to host
 thearcheryguide.com: did not receive HSTS header
-theater.cf: could not connect to host
+theasianshooters.com: could not connect to host
+theater.cf: did not receive HSTS header
 theavenuegallery.com: did not receive HSTS header
 theazoorsociety.org: could not connect to host
 thebakingclass.com: max-age too low: 60
 thebarbdemariateam.com: did not receive HSTS header
 thebarneystyle.com: did not receive HSTS header
 thebasementguys.com: could not connect to host
+thebeachessportsphysio.com: did not receive HSTS header
 thebeautifulmusic.net: did not receive HSTS header
 thebeginningisnye.com: could not connect to host
 theberkshirescompany.com: could not connect to host
@@ -27785,9 +30575,11 @@ theberries.tk: could not connect to host
 thebest.ch: could not connect to host
 thebestofthesprings.com: did not receive HSTS header
 thebestpersonin.ml: could not connect to host
-thebestsavingsplan.com: did not receive HSTS header
+thebestsavingsplan.com: could not connect to host
 thebigfail.net: did not receive HSTS header
 thebiggive.org.uk: did not receive HSTS header
+thebigslow.com: could not connect to host
+thebirthdaysite.co.uk: could not connect to host
 theblackknightsings.com: could not connect to host
 thebluub.com: could not connect to host
 theboss.ch: did not receive HSTS header
@@ -27796,38 +30588,45 @@ thebreakhotel.com: did not receive HSTS header
 thebrotherswarde.com: could not connect to host
 thebte.com: could not connect to host
 thebuffalotavern.com: could not connect to host
-thecandyjam.com: did not receive HSTS header
+thecandyjam.com: could not connect to host
 thecapitalbank.com: could not connect to host
 thecellulitediet.com: could not connect to host
 thecharlestonwaldorf.com: did not receive HSTS header
+thechavs.xyz: could not connect to host
 thechunk.net: did not receive HSTS header
 theciderlink.com.au: could not connect to host
+theciso.com: could not connect to host
 thecitizens.com: did not receive HSTS header
 theclementinebutchers.com: could not connect to host
 theclimbingunit.com: did not receive HSTS header
 theclinician.com: did not receive HSTS header
-thecloudmigrator.com: did not receive HSTS header
+thecloudmigrator.com: could not connect to host
 theclubjersey.com: did not receive HSTS header
 thecodeninja.net: did not receive HSTS header
-thecoffeehouse.xyz: could not connect to host
+thecoffeehouse.xyz: did not receive HSTS header
 thecoffeepod.co.uk: did not receive HSTS header
 thecolumnist.net: could not connect to host
 theconcordbridge.azurewebsites.net: could not connect to host
 thecontentcloud.com: did not receive HSTS header
 thecookiejar.me: could not connect to host
 thecozycastle.com: did not receive HSTS header
+thecr3ative.com: could not connect to host
+thecrew-exchange.com: could not connect to host
 thecrochetcottage.net: could not connect to host
 thecstick.com: could not connect to host
 thecsw.com: did not receive HSTS header
 thecuppacakery.co.uk: did not receive HSTS header
 thecuriouscat.net: could not connect to host
-thecyberaid.com: did not receive HSTS header
+thecyberaid.com: could not connect to host
 thedailyupvote.com: could not connect to host
 thedarkartsandcrafts.com: could not connect to host
 thedebug.life: could not connect to host
+thedermreport.com: did not receive HSTS header
 thedevilwearswibra.nl: did not receive HSTS header
-thedisc.nl: did not receive HSTS header
+thedinnerdetective.com: did not receive HSTS header
+thedisc.nl: could not connect to host
 thedoctorsorders.pub: could not connect to host
+thedom.site: did not receive HSTS header
 thedominatorsclan.com: could not connect to host
 thedreamtravelgroup.co.uk: could not connect to host
 thedrinks.co: did not receive HSTS header
@@ -27835,7 +30634,7 @@ thedrop.pw: did not receive HSTS header
 thedrunkencabbage.com: could not connect to host
 thedutchmarketers.com: did not receive HSTS header
 thedystance.com: could not connect to host
-theebookkeepers.co.za: did not receive HSTS header
+theelectricguide.com: could not connect to host
 theelitebuzz.com: could not connect to host
 theender.net: did not receive HSTS header
 theendofzion.com: did not receive HSTS header
@@ -27853,17 +30652,22 @@ thefreebirds.in: could not connect to host
 thefrk.xyz: could not connect to host
 thefrozenfire.com: did not receive HSTS header
 thefutureharrills.com: could not connect to host
+thegarage961.co.nz: did not receive HSTS header
 thegcccoin.com: max-age too low: 2592000
 thegemriverside.com.vn: could not connect to host
+theghostlytavern.com: could not connect to host
 thego2swatking.com: could not connect to host
 thegoldregister.co.uk: could not connect to host
 thegospelforgeeks.org: did not receive HSTS header
-thegraciousgourmet.com: did not receive HSTS header
+thegrape.ro: could not connect to host
+thegreatpakistan.com: could not connect to host
 thegreenfields.se: could not connect to host
 thegreenmanpottery.com: could not connect to host
 thegreens.us: could not connect to host
 thegreenvpn.com: could not connect to host
 thegrs.com: did not receive HSTS header
+theguitarcompany.nl: did not receive HSTS header
+thegvoffice.net: could not connect to host
 thegym.org: did not receive HSTS header
 thehiddenbay.cc: could not connect to host
 thehiddenbay.eu: could not connect to host
@@ -27876,16 +30680,18 @@ thehighersideclothing.com: did not receive HSTS header
 thehistory.me: could not connect to host
 thehivedesign.org: could not connect to host
 thehoopsarchive.com: could not connect to host
-thehoryzon.com: did not receive HSTS header
+thehopefuture.com: could not connect to host
+thehoryzon.com: could not connect to host
 thehotfix.net: could not connect to host
 thehotness.tech: could not connect to host
 thehouseofgod.org.nz: did not receive HSTS header
 thehowtohome.com: did not receive HSTS header
 theideaskitchen.com.au: could not connect to host
 theimagefile.com: did not receive HSTS header
+theinflatablesne.co.uk: could not connect to host
 theinvisibletrailer.com: could not connect to host
 theissue.com.au: did not receive HSTS header
-thej0lt.com: did not receive HSTS header
+thej0lt.com: could not connect to host
 thejacksoninstitute.com.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 thejobauction.com: did not receive HSTS header
 thejserver.de: could not connect to host
@@ -27895,41 +30701,44 @@ thelapine.ca: did not receive HSTS header
 thelastbeach.top: could not connect to host
 thelastsurprise.com: could not connect to host
 thelatedcult.com: did not receive HSTS header
+theleap.co.uk: did not receive HSTS header
 thelefthand.org: did not receive HSTS header
 thelinuxspace.com: could not connect to host
 thelittlepeartree.eu: could not connect to host
-thelostyankee.com: could not connect to host
-themacoaching.nl: did not receive HSTS header
+themacoaching.nl: could not connect to host
 themadlabengineer.co.uk: could not connect to host
 themadmechanic.net: could not connect to host
 themanufacturingmarketingagency.com: could not connect to host
 themarble.co: could not connect to host
 themathbehindthe.science: could not connect to host
-themattresswarehouse.co.za: did not receive HSTS header
 themeaudit.com: could not connect to host
+themefoxx.com: did not receive HSTS header
+themenmedia.com: could not connect to host
 themesurgeons.net: could not connect to host
 themicrocapital.com: could not connect to host
 themilanlife.com: could not connect to host
 themillerslive.com: did not receive HSTS header
+themimitoof.fr: could not connect to host
 themobilestuffs.com: could not connect to host
 themoderate.xyz: could not connect to host
+themoep.at: max-age too low: 172800
+thenanfang.com: could not connect to host
 thenarcissisticlife.com: did not receive HSTS header
 theneatgadgets.com: could not connect to host
 thenewclassics.com: could not connect to host
-thenexteducation.com: did not receive HSTS header
+thenexteducation.com: could not connect to host
 thenextstep.events: could not connect to host
+thenib.com: max-age too low: 86400
 thenichecast.com: could not connect to host
+theninehertz.com: did not receive HSTS header
 thenorthschool.org.uk: did not receive HSTS header
+thenovaclinic.com: did not receive HSTS header
 thenrdhrd.nl: could not connect to host
 theo.me: could not connect to host
-theobg.co: did not receive HSTS header
-theoc.co: did not receive HSTS header
-theocg.co: did not receive HSTS header
 theocharis.org: could not connect to host
 theodorejones.info: could not connect to host
 theojones.name: could not connect to host
 theokonst.tk: could not connect to host
-theokouzelis.com: could not connect to host
 theoldbrewhouse.info: could not connect to host
 theosblog.de: could not connect to host
 theosophic.ga: could not connect to host
@@ -27938,14 +30747,14 @@ theoverfly.co: could not connect to host
 thepaffy.de: could not connect to host
 theparoxetine.gq: could not connect to host
 thepartywarehouse.co.uk: did not receive HSTS header
-thepcweb.tk: could not connect to host
+thepcweb.tk: did not receive HSTS header
 thepeninsulaires.com: did not receive HSTS header
 thepeoplesdata.com: could not connect to host
 thepeoplesdata.org: could not connect to host
 thephonecaseplace.com: did not receive HSTS header
 thepiabo.ovh: could not connect to host
-thepickledhedgehog.com: could not connect to host
-thepiratebay.al: did not receive HSTS header
+thepickledhedgehog.com: did not receive HSTS header
+thepiratebay.al: could not connect to host
 thepiratebay.poker: could not connect to host
 thepiratebay.tech: could not connect to host
 theplaidpoodle.com: did not receive HSTS header
@@ -27955,6 +30764,7 @@ thepostoffice.ro: did not receive HSTS header
 theprincegame.com: could not connect to host
 theprivacysolution.com: could not connect to host
 theproductpoet.com: did not receive HSTS header
+theproject.cf: could not connect to host
 theqjourney.com: did not receive HSTS header
 thequillmagazine.org: could not connect to host
 theragran.co.id: did not receive HSTS header
@@ -27963,7 +30773,8 @@ theresabrant.com: did not receive HSTS header
 therewill.be: could not connect to host
 thermo-recetas.com: did not receive HSTS header
 theroamingnotary.com: did not receive HSTS header
-thesage.cf: could not connect to host
+theruizes.com: did not receive HSTS header
+thesage.cf: did not receive HSTS header
 thesearchnerds.co.uk: did not receive HSTS header
 thesecurityteam.net: could not connect to host
 theseedbox.xyz: could not connect to host
@@ -27972,16 +30783,17 @@ theseletarmall.com: could not connect to host
 theserver201.tk: could not connect to host
 theshadestore.com: max-age too low: 10368000
 thesharepointfarm.com: did not receive HSTS header
-theshield.in: could not connect to host
+theshield.in: did not receive HSTS header
 thesignacademy.co.uk: could not connect to host
 thesimplifiers.com: did not receive HSTS header
+thesled.net: could not connect to host
+thesmokypoet.com: did not receive HSTS header
 thesocialmediacentral.com: could not connect to host
 thesplit.is: could not connect to host
 thestack.xyz: could not connect to host
 thestagchorleywood.co.uk: did not receive HSTS header
 thestandingroomrestaurant.com: did not receive HSTS header
 thestoritplace.com: max-age too low: 0
-thestoryshack.com: could not connect to host
 thestral.pro: could not connect to host
 thestralbot.com: could not connect to host
 thestudyla.com: did not receive HSTS header
@@ -27991,6 +30803,7 @@ thetenscrolls.com: could not connect to host
 thethirdroad.com: did not receive HSTS header
 thetorlock.com: could not connect to host
 thetorrentfunk.com: could not connect to host
+thetotalemaildelivery.com: could not connect to host
 thetravelczar.com: could not connect to host
 thetruthhurvitz.com: did not receive HSTS header
 theunitedstates.io: did not receive HSTS header
@@ -27998,25 +30811,25 @@ theurbanyoga.com: did not receive HSTS header
 theuucc.org: did not receive HSTS header
 theviewat55th.com: could not connect to host
 thevintagenews.com: did not receive HSTS header
-thevisasofoz.com: did not receive HSTS header
 thevoid.one: could not connect to host
+thevyra.com: could not connect to host
 thewallset.com: could not connect to host
 thewarrencenter.org: did not receive HSTS header
 thewashingmachine.tk: could not connect to host
-thewaxhouse.academy: did not receive HSTS header
-thewaxhouse.de: did not receive HSTS header
 thewaxhouse.shop: could not connect to host
 theway2u.com: could not connect to host
 thewebdexter.com: could not connect to host
 thewebfellas.com: did not receive HSTS header
-thewego.com: could not connect to host
+thewego.com: did not receive HSTS header
 theweilai.com: could not connect to host
 thewhiterabbit.space: could not connect to host
 thewindow.com: could not connect to host
+thewinstonatlyndhurst.com: did not receive HSTS header
 thewoolroom.com.au: did not receive HSTS header
+thewoosh.me: could not connect to host
 theworld.tk: could not connect to host
 thewp.pro: max-age too low: 0
-theyachtteam.com: could not connect to host
+thexfactorgames.com: did not receive HSTS header
 theyarnhookup.com: could not connect to host
 theyourbittorrent.com: could not connect to host
 thezonders.com: did not receive HSTS header
@@ -28025,51 +30838,58 @@ thibaultwalle.com: could not connect to host
 thibautcharles.net: did not receive HSTS header
 thierfreund.de: did not receive HSTS header
 thierryhayoz.ch: could not connect to host
-thierrymazue.eu: did not receive HSTS header
+thierrymazue.eu: could not connect to host
+thierrymazue.fr: could not connect to host
 thingsof.org: could not connect to host
 thinkcash.nl: could not connect to host
 thinkclic.fr: did not receive HSTS header
 thinkcoding.de: could not connect to host
 thinkcoding.org: could not connect to host
 thinkdo.jp: could not connect to host
+thinkingplanet.net: did not receive HSTS header
 thinklikeanentrepreneur.com: did not receive HSTS header
+thinkquality.nl: could not connect to host
 thinlyveiledcontempt.com: could not connect to host
-thirdpartytrade.com: did not receive HSTS header
+thirdpartytrade.com: could not connect to host
 thirdworld.moe: could not connect to host
 thirty5.net: did not receive HSTS header
+thirtysixseventy.ml: could not connect to host
 thirtyspot.com: could not connect to host
-this-server-will-be-the-death-of-me.com: could not connect to host
+this-server-will-be-the-death-of-me.com: did not receive HSTS header
 thisisacompletetest.ga: could not connect to host
 thisisforager.com: could not connect to host
 thisisgrey.com: did not receive HSTS header
+thisislaikipia.co.ke: did not receive HSTS header
 thisisthefinalact.com: did not receive HSTS header
-thisistranquility.life: did not receive HSTS header
+thisistheserver.com: did not receive HSTS header
 thisiswhywemom.com: could not connect to host
 thismumdoesntknowbest.com: could not connect to host
-thisserver.dontexist.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 thiswasalreadymyusername.tk: could not connect to host
 thkb.net: could not connect to host
 thm.vn: did not receive HSTS header
 thomas-bertran.com: did not receive HSTS header
-thomas-ferney.fr: could not connect to host
+thomas-fahle.de: did not receive HSTS header
+thomas-ferney.fr: did not receive HSTS header
 thomas-gibertie.fr: did not receive HSTS header
 thomas-grobelny.de: could not connect to host
 thomas-klubert.de: did not receive HSTS header
 thomas-prior.com: could not connect to host
 thomasbnt.fr: did not receive HSTS header
 thomascloud.ddns.net: could not connect to host
-thomasgriffin.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+thomasebenrett.de: could not connect to host
 thomasharvey.me: did not receive HSTS header
 thomaskaviani.be: could not connect to host
 thomaskliszowski.fr: did not receive HSTS header
 thomasnet.fr: could not connect to host
 thomasscholz.com: max-age too low: 2592000
 thomasschweizer.net: could not connect to host
+thomasverhelst.be: could not connect to host
 thomaswoo.com: did not receive HSTS header
 thorbis.com: could not connect to host
 thorbiswebsitedesign.com: could not connect to host
 thorgames.nl: did not receive HSTS header
 thorncreek.net: did not receive HSTS header
+thornton-le-moors-ince-elton.org.uk: did not receive HSTS header
 thoroquel.org: could not connect to host
 thorshammare.com: did not receive HSTS header
 thorshammare.org: did not receive HSTS header
@@ -28087,16 +30907,15 @@ threebulls.be: did not receive HSTS header
 threecrownsllp.com: did not receive HSTS header
 threefantasy.com: could not connect to host
 threepercentrealty.net: did not receive HSTS header
+threv.net: did not receive HSTS header
 thriveapproach.co.uk: did not receive HSTS header
 throughthelookingglasslens.co.uk: could not connect to host
 thrx.net: did not receive HSTS header
 thsc.org: did not receive HSTS header
-thsc.us: did not receive HSTS header
 thumbsupcandy.com: could not connect to host
 thumbtack.com: did not receive HSTS header
 thundercampaign.com: could not connect to host
 thundercloud.onthewifi.com: could not connect to host
-thunderfield-boat.co.uk: could not connect to host
 thuviensoft.net: could not connect to host
 thymiaturtle.de: did not receive HSTS header
 thzone.net: could not connect to host
@@ -28105,23 +30924,24 @@ ti.blog.br: did not receive HSTS header
 ti780.com: could not connect to host
 tiacollection.com: did not receive HSTS header
 tiagoealine.com.br: did not receive HSTS header
+tiance.me: could not connect to host
 tiantangbt.com: could not connect to host
 tianxicaipiao.com: could not connect to host
 tianxicaipiao.win: could not connect to host
 tianxicp.com: could not connect to host
 tianxing.pro: could not connect to host
 tianxingvpn.pro: could not connect to host
+tiaria.id: could not connect to host
 tibbitshall.ca: could not connect to host
 tibovanheule.site: could not connect to host
 tibovanheule.space: did not receive HSTS header
 tichieru.pw: could not connect to host
-ticinoscout.ch: could not connect to host
-ticketassist.nl: did not receive HSTS header
 ticketluck.com: did not receive HSTS header
 ticketmates.com.au: did not receive HSTS header
-ticketmaze.com: could not connect to host
+ticketmaze.com: did not receive HSTS header
 ticketoplichting.nl: did not receive HSTS header
 ticketscol.com: could not connect to host
+ticketsourcebeta.co.uk: could not connect to host
 tickopa.co.uk: could not connect to host
 tickreport.com: did not receive HSTS header
 ticktock.today: could not connect to host
@@ -28132,21 +30952,27 @@ tie-online.org: could not connect to host
 tielecingenieria.com.co: did not receive HSTS header
 tielectric.ch: did not receive HSTS header
 tiemcayxanh.com: did not receive HSTS header
+tiendasmart.com.co: did not receive HSTS header
 tiendavertigo.com: did not receive HSTS header
 tiendschuurstraat.nl: could not connect to host
 tiensnet.com: could not connect to host
 tier-1-entrepreneur.com: could not connect to host
 tiernanx.com: could not connect to host
+tierraprohibida.net: did not receive HSTS header
 tierrarp.com: could not connect to host
 tiffanytravels.com: did not receive HSTS header
-tigerfm.tk: could not connect to host
+tiger21.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+tigerchef.com: did not receive HSTS header
+tigerfm.tk: did not receive HSTS header
 tigergroup.tk: did not receive HSTS header
 tiggi.pw: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+tightassporntube.com: could not connect to host
 tightlineproductions.com: did not receive HSTS header
 tigit.co.nz: could not connect to host
 tihvin.tk: could not connect to host
 tijo.ch: could not connect to host
-tik.help: did not receive HSTS header
+tiki-god.co.uk: could not connect to host
+tikloot.com: did not receive HSTS header
 tikutiku.pl: could not connect to host
 tildebot.com: could not connect to host
 tiledailyshop.com: did not receive HSTS header
@@ -28159,23 +30985,30 @@ tiliaze.net: did not receive HSTS header
 tilient.eu: could not connect to host
 tilkah.com.au: could not connect to host
 tillcraft.com: could not connect to host
+tilta.com: did not receive HSTS header
 timbeilby.com: could not connect to host
 timbuktutimber.com: did not receive HSTS header
 timcamara.com: did not receive HSTS header
+timchanhxe.com: could not connect to host
 timdebruijn.nl: did not receive HSTS header
-time-business.tk: could not connect to host
+timdeneau.com: max-age too low: 0
+time-business.tk: did not receive HSTS header
 time-hotel.cf: could not connect to host
 time-river.xyz: could not connect to host
+timeatlas.com: did not receive HSTS header
 timebox.tk: could not connect to host
-timecd.cn: did not receive HSTS header
+timecd.cn: could not connect to host
+timeforcoffe.eu: could not connect to host
+timeget.ru: did not receive HSTS header
+timelessskincare.co.uk: did not receive HSTS header
 timer.fit: could not connect to host
 timerace.ml: could not connect to host
 timersuite.com: could not connect to host
 timesavingplugins.com: could not connect to host
 timesavingplugins.net: could not connect to host
-timeserver0.de: could not connect to host
 timeserver1.de: could not connect to host
 timeserver2.de: could not connect to host
+timeserver3.de: could not connect to host
 timestamp.io: did not receive HSTS header
 timestamp.uk: could not connect to host
 timetab.org: could not connect to host
@@ -28185,14 +31018,13 @@ timgame.tk: could not connect to host
 timhieubenh.net: could not connect to host
 timhieuthuoc.com: could not connect to host
 timhjalpen.se: could not connect to host
-timklefisch.de: did not receive HSTS header
-timmy.im: could not connect to host
 timmy.ws: could not connect to host
 timothybjacobs.com: did not receive HSTS header
-timotrans.de: could not connect to host
-timotrans.eu: could not connect to host
+timothysykes.com: did not receive HSTS header
+timotrans.de: did not receive HSTS header
+timotrans.eu: did not receive HSTS header
 timowi.net: could not connect to host
-timwhite.io: could not connect to host
+timwhite.io: did not receive HSTS header
 timwittenberg.com: could not connect to host
 tinchbear.xyz: could not connect to host
 tinclip.com: did not receive HSTS header
@@ -28201,6 +31033,7 @@ tinf15b4.de: could not connect to host
 tink.network: could not connect to host
 tinker.career: could not connect to host
 tinkerbeast.com: could not connect to host
+tinkerboard.org: could not connect to host
 tinlook.com: could not connect to host
 tinyvpn.net: could not connect to host
 tinyvpn.org: could not connect to host
@@ -28210,10 +31043,13 @@ tipbox.is: did not receive HSTS header
 tipiakers.club: could not connect to host
 tipo01.tk: could not connect to host
 tipocloud.cf: could not connect to host
+tipplist.com: could not connect to host
 tipps-fuer-den-haushalt.de: could not connect to host
 tippspiel.cc: could not connect to host
+tipsdebellezaysalud.com: did not receive HSTS header
 tipsyk.ru: could not connect to host
 tiratuki.games: did not receive HSTS header
+tircentrale.net: could not connect to host
 tiredofeating.com: could not connect to host
 tiremoni.ch: could not connect to host
 tirex.media: did not receive HSTS header
@@ -28222,13 +31058,16 @@ tiste.org: did not receive HSTS header
 titanlab.de: could not connect to host
 titanleaf.com: could not connect to host
 titanous.com: did not receive HSTS header
+titanplumbingservices.com.au: did not receive HSTS header
 titiansgirlphotography.com: did not receive HSTS header
 titli.fr: could not connect to host
+titser.ph: could not connect to host
 tittarpuls.se: could not connect to host
 titties.ml: could not connect to host
 tivido.nl: could not connect to host
 tjandpals.com: did not receive HSTS header
 tjc.wiki: could not connect to host
+tjcuk.co.uk: did not receive HSTS header
 tjeckien.guide: could not connect to host
 tjenestetorvet.dk: could not connect to host
 tjkcastles.uk: did not receive HSTS header
@@ -28237,25 +31076,31 @@ tjsbouncycastles.co.uk: could not connect to host
 tju.me: could not connect to host
 tkappertjedemetamorfose.nl: did not receive HSTS header
 tkarstens.de: did not receive HSTS header
-tkeycoin.com: did not receive HSTS header
 tkhw.tk: could not connect to host
 tkn.tokyo: could not connect to host
 tkonstantopoulos.tk: could not connect to host
 tkts.cl: could not connect to host
 tlach.cz: could not connect to host
 tlcdn.net: could not connect to host
+tld.gg: could not connect to host
 tlo.hosting: could not connect to host
 tlo.link: could not connect to host
 tlo.network: could not connect to host
+tls.blue: could not connect to host
 tls.builders: could not connect to host
 tls.li: could not connect to host
-tls1914.org: did not receive HSTS header
 tlsbv.nl: did not receive HSTS header
 tlshost.net: could not connect to host
 tlsrobot.se: could not connect to host
 tm-solutions.eu: could not connect to host
 tm.id.au: did not receive HSTS header
+tmakiguchi.org: did not receive HSTS header
 tmaward.net: could not connect to host
+tmberg.cf: could not connect to host
+tmberg.ga: could not connect to host
+tmberg.gq: could not connect to host
+tmberg.ml: could not connect to host
+tmberg.tk: could not connect to host
 tmc.com.mt: could not connect to host
 tmconnects.com: could not connect to host
 tmcpromotions.co.uk: could not connect to host
@@ -28271,39 +31116,43 @@ tmprod.com: did not receive HSTS header
 tmtradingmorocco.ma: did not receive HSTS header
 tnb-plattform.de: could not connect to host
 tncnanet.com.br: could not connect to host
+tnes.dk: did not receive HSTS header
+tnl.cloud: could not connect to host
 tno.io: did not receive HSTS header
 tnosha.gov: did not receive HSTS header
 tnrealid.gov: did not receive HSTS header
 tnusedoil.gov: could not connect to host
 tnwildlandfire.gov: did not receive HSTS header
 tnwioa.gov: could not connect to host
-tny.link: could not connect to host
 to2mbn.org: could not connect to host
+toabetteryou.org: could not connect to host
 toabsentfamily.com: did not receive HSTS header
 tob-rulez.de: could not connect to host
 tobaby.com.br: could not connect to host
 tobacco.gov: could not connect to host
 tobaccore.eu: could not connect to host
 tobaccore.sk: could not connect to host
+tobbro-trans.de: did not receive HSTS header
 tobedo.net: could not connect to host
 tobi-videos.goip.de: could not connect to host
-tobias-bauer.eu: did not receive HSTS header
-tobias-bauer.fr: did not receive HSTS header
-tobias-bauer.net: did not receive HSTS header
 tobias-bielefeld.de: did not receive HSTS header
+tobias-haenel.de: could not connect to host
 tobias-kluge.com: could not connect to host
+tobias-kluge.de: did not receive HSTS header
 tobias-picha.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 tobias-weidhase.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-tobias4.ddns.net: could not connect to host
 tobiasbergius.se: could not connect to host
 tobiasmathes.com: did not receive HSTS header
 tobiasmathes.name: could not connect to host
 tobiasofficial.at: could not connect to host
+tobiaspahlings.de: could not connect to host
 tobiassachs.cf: could not connect to host
 tobiassachs.tk: could not connect to host
 tobiaswiese.work: could not connect to host
 tobis-webservice.de: could not connect to host
+tochi-urikata.net: could not connect to host
 todaciencia.com: could not connect to host
+todaslascafeteras.com: could not connect to host
 toddmissiontx.gov: did not receive HSTS header
 todo.is: did not receive HSTS header
 todobazar.es: could not connect to host
@@ -28313,27 +31162,29 @@ todoist.com: did not receive HSTS header
 todoist.net: could not connect to host
 todokete.ga: could not connect to host
 todosrv.com: could not connect to host
-todotecnohoy.com: did not receive HSTS header
-toeglhofer.at: could not connect to host
+todotecnohoy.com: could not connect to host
 toerclub-ing-arnhem.nl: did not receive HSTS header
 toetsplatform.be: could not connect to host
 tofa-koeln.de: could not connect to host
 tofilmhub.com: could not connect to host
 tofu.im: could not connect to host
 togelonlinecommunity.com: could not connect to host
+tohokufd.com: could not connect to host
+tojannah.com: could not connect to host
 tojeto.eu: could not connect to host
 toka.sg: could not connect to host
 tokage.me: could not connect to host
 tokbijouxs.com.br: did not receive HSTS header
 tokenloan.com: did not receive HSTS header
 tokfun.com: could not connect to host
+tokic.hr: could not connect to host
 tokintu.com: could not connect to host
 tokobungaasryflorist.com: did not receive HSTS header
 tokobungadijambi.com: could not connect to host
 tokobungadilampung.com: could not connect to host
 tokobungadipadangflorist.com: could not connect to host
 tokoindo.top: could not connect to host
-tokoone.com: could not connect to host
+tokoone.com: did not receive HSTS header
 tokoplugin.com: could not connect to host
 tokotamz.net: could not connect to host
 tokotimbangandigitalmurah.web.id: did not receive HSTS header
@@ -28345,21 +31196,21 @@ tolud.com: could not connect to host
 tom-maxwell.com: did not receive HSTS header
 tom.run: did not receive HSTS header
 tomandshirley.com: could not connect to host
-tomashouzvicka.com: could not connect to host
+tomandsonya.com: max-age too low: 0
 tomashouzvicka.pl: could not connect to host
 tomaspialek.cz: did not receive HSTS header
 tomaw.net: did not receive HSTS header
-tombroker.org: did not receive HSTS header
+tombroker.org: could not connect to host
 tomcort.com: did not receive HSTS header
 tomdudfield.com: did not receive HSTS header
 tomeara.net: could not connect to host
+tomend.es: could not connect to host
 tomevans.io: could not connect to host
 tomfisher.eu: could not connect to host
 tomharling.co.uk: could not connect to host
 tomharris.tech: could not connect to host
 tomik.cloud: could not connect to host
 tomiler.com: could not connect to host
-tomjans.nl: could not connect to host
 tomlankhorst.nl: did not receive HSTS header
 tomli.blog: could not connect to host
 tomli.me: could not connect to host
@@ -28370,7 +31221,7 @@ tommyweber.de: did not receive HSTS header
 tomoyaf.com: could not connect to host
 toms.ovh: could not connect to host
 tomsdevsn.me: could not connect to host
-tomsk.ml: could not connect to host
+tomsk.ml: did not receive HSTS header
 tomudding.com: could not connect to host
 tomy.icu: could not connect to host
 tomyork.net: could not connect to host
@@ -28381,51 +31232,63 @@ tonex.nl: could not connect to host
 tongmu.me: could not connect to host
 tonguetechnology.com: could not connect to host
 tonifarres.net: could not connect to host
-tonigallagherinteriors.com: could not connect to host
+tonigallagherinteriors.com: did not receive HSTS header
 toniharant.de: could not connect to host
 tonkinson.com: could not connect to host
+tonnie.nl: did not receive HSTS header
+tonymaster21.me: could not connect to host
 tonytan.cn: could not connect to host
 toolkits.design: could not connect to host
+toolnerds.com: max-age too low: 2592000
 toomanypillows.com: could not connect to host
-toonsburgh.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+toomy.ddns.net: could not connect to host
 toontown.team: could not connect to host
-toopita.com: could not connect to host
-top-autoshop.com.ua: did not receive HSTS header
+toopita.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+toorl.com: could not connect to host
+top-autoshop.com.ua: could not connect to host
 top-solar-info.de: could not connect to host
 top-stage.net: could not connect to host
 top10mountainbikes.info: could not connect to host
+top1betting.net: did not receive HSTS header
+top5hosting.co.uk: max-age too low: 0
 topanlage.de: could not connect to host
+toparkinfo.hu: could not connect to host
 topbargains.com.au: did not receive HSTS header
+topbigdeals.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 topbilan.com: did not receive HSTS header
-topbounce.com: could not connect to host
+topbounce.com: did not receive HSTS header
 topbouncycastles.co.uk: could not connect to host
 topbrakes.com: did not receive HSTS header
+topcanadianescorts.com: could not connect to host
 topdeskdev.net: could not connect to host
 topdetoxcleanse.com: could not connect to host
 topdevbox.net: could not connect to host
 topdroneusa.com: could not connect to host
 topeyelashenhancerserumreviews.com: did not receive HSTS header
+topferta.com: could not connect to host
 topkek.ml: could not connect to host
 topmarine.se: did not receive HSTS header
 topnewstoday.org: could not connect to host
 topnotchendings.com: could not connect to host
 topnovini.com: did not receive HSTS header
-toppik.com.br: could not connect to host
+toppercan.es: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 toppointrea.com: could not connect to host
+topreit.ru: did not receive HSTS header
 topsailtechnologies.com: could not connect to host
 topservercccam.com: did not receive HSTS header
+topshelf.tech: did not receive HSTS header
 topshelfguild.com: could not connect to host
 topshoptools.com: could not connect to host
+topsteaks-daun.de: did not receive HSTS header
 topstore.me: could not connect to host
 topstore.ph: did not receive HSTS header
-toptenthebest.com: did not receive HSTS header
-topurls.tk: could not connect to host
+toptheto.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+topurls.tk: did not receive HSTS header
 topvertimai.lt: could not connect to host
 topwin.la: could not connect to host
 topworktops.co.uk: did not receive HSTS header
 topyad.com: did not receive HSTS header
 topyx.com: did not receive HSTS header
-tor.us: did not receive HSTS header
 tor2web.org: could not connect to host
 torahanytime.com: did not receive HSTS header
 torbay.ga: could not connect to host
@@ -28436,7 +31299,8 @@ torg-room.ru: could not connect to host
 torkware.com: could not connect to host
 torlock.download: could not connect to host
 toronto-escorts.com: did not receive HSTS header
-torontonews.tk: could not connect to host
+torontocorporatelimo.services: could not connect to host
+torontonews.tk: did not receive HSTS header
 torproject.org.uk: could not connect to host
 torproject.ovh: could not connect to host
 torquato.de: did not receive HSTS header
@@ -28445,7 +31309,6 @@ torrentgamesps2.info: could not connect to host
 torrentpier.me: did not receive HSTS header
 torrentz.website: could not connect to host
 torrentz2.al: could not connect to host
-torstensenf.de: could not connect to host
 tortocan.com: could not connect to host
 tortugalife.de: could not connect to host
 torv.rocks: did not receive HSTS header
@@ -28456,12 +31319,22 @@ toshnix.com: could not connect to host
 toshub.com: could not connect to host
 toskana-appartement.de: did not receive HSTS header
 totalaccess.com.ua: could not connect to host
+totalaccessnicaragua.co: could not connect to host
 totalbeauty.co.uk: did not receive HSTS header
 totaldragonshop.com.br: could not connect to host
+totalemaiildelivery.com: could not connect to host
+totalemaiilldelivery.com: could not connect to host
+totalemaildeliivery.com: could not connect to host
+totalemaildelivery.com: could not connect to host
+totalemaildellivery.com: could not connect to host
+totalemailldeliivery.com: could not connect to host
+totalemailldelivery.com: could not connect to host
 totalhomecareinc.com: could not connect to host
+totallclean.com: could not connect to host
 totalle.com.br: could not connect to host
+totallemaiildelivery.com: could not connect to host
+totallemaildelivery.com: could not connect to host
 totallynotaserver.com: could not connect to host
-totalpackers.com: did not receive HSTS header
 totalsystemcare.com: did not receive HSTS header
 totalworkout.fitness: did not receive HSTS header
 totch.de: could not connect to host
@@ -28480,16 +31353,18 @@ touchsupport.com: did not receive HSTS header
 touchtunesnz.com: did not receive HSTS header
 tougetu.com: could not connect to host
 touhou.cc: did not receive HSTS header
-touhou.tw: did not receive HSTS header
+toulineprestige.com: did not receive HSTS header
 tounyou-raku.com: could not connect to host
 touray-enterprise.ch: could not connect to host
 tourify.me: did not receive HSTS header
 tourispo.com: could not connect to host
 tourpeer.com: did not receive HSTS header
+tours.co.th: max-age too low: 0
 toursandtransfers.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+toursencancun.com: could not connect to host
 toursinvietnam.tk: could not connect to host
-toursthatmatter.com: could not connect to host
-tourx.co.nz: did not receive HSTS header
+toursthatmatter.com: did not receive HSTS header
+toushi-return.xyz: did not receive HSTS header
 tousproducteurs.fr: could not connect to host
 toutenmusic.fr: could not connect to host
 towaway.ru: could not connect to host
@@ -28503,7 +31378,6 @@ toxicip.com: could not connect to host
 toxme.se: did not receive HSTS header
 toymania.de: could not connect to host
 toyotamotala.se: could not connect to host
-tpansino.com: did not receive HSTS header
 tpbcdn.com: could not connect to host
 tpblist.xyz: could not connect to host
 tpbunblocked.org: could not connect to host
@@ -28515,43 +31389,50 @@ tpro.co.id: did not receive HSTS header
 tql.plus: could not connect to host
 tr0n.net: could not connect to host
 trabajarenperu.com: did not receive HSTS header
-trabajarenremoto.com: could not connect to host
 tracalada.cl: did not receive HSTS header
 tracelight.io: did not receive HSTS header
-tracemyplace.com: could not connect to host
+tracemyplace.com: did not receive HSTS header
 traces.ml: could not connect to host
 tracetracker.com: did not receive HSTS header
 track.plus: could not connect to host
+track54.com: did not receive HSTS header
 trackdays4fun.com: did not receive HSTS header
 trackdomains.com: could not connect to host
 tracker-gps.ch: could not connect to host
 trackfeed.tokyo: could not connect to host
 trackingstream.com: did not receive HSTS header
 trackmeet.io: did not receive HSTS header
-tracknerd.xyz: did not receive HSTS header
-tracksa.com.ar: could not connect to host
+tracknerd.xyz: could not connect to host
 tracktivity.com.au: could not connect to host
 trade-smart.ru: could not connect to host
 tradedesk.co.za: could not connect to host
 tradelogicintl.com: did not receive HSTS header
 trademan.ky: could not connect to host
+traderjoe-cloud.de: did not receive HSTS header
 tradernet.com: did not receive HSTS header
 tradernet.ru: did not receive HSTS header
 tradeshowfreightservices.com: could not connect to host
+tradexport.cn: did not receive HSTS header
 tradexport.com: did not receive HSTS header
 tradietrove.com.au: did not receive HSTS header
 trading-analytics.com: could not connect to host
 tradingbhavishya.com: did not receive HSTS header
 tradingcentre.com.au: could not connect to host
 tradinghope.com: could not connect to host
+tradingoptioncloud.com: could not connect to host
 tradingrooms.com: could not connect to host
 traditional-knowledge.tk: did not receive HSTS header
-traeningsprojekt.dk: did not receive HSTS header
+traditionalturk.com: could not connect to host
+traditionsvivantesenimages.ch: could not connect to host
+traefik.io: did not receive HSTS header
+traeningsprojekt.dk: could not connect to host
 traffic.az: did not receive HSTS header
 trafficmgr.cn: could not connect to host
 trafficquality.org: could not connect to host
 traffictigers.com: did not receive HSTS header
 traforet.win: could not connect to host
+traigo.co: did not receive HSTS header
+trailcloud.ink: could not connect to host
 train-track.co.uk: did not receive HSTS header
 traindb.nl: did not receive HSTS header
 trainhorns.us: did not receive HSTS header
@@ -28560,10 +31441,14 @@ trainingdigital.cl: did not receive HSTS header
 traininglist.org: could not connect to host
 trainingproviderresults.gov: could not connect to host
 trainings-handschuhe-test.de: could not connect to host
-trainline.cz: could not connect to host
 trainline.io: could not connect to host
+traintimes.be: could not connect to host
 traintimes.ch: could not connect to host
+traintimes.dk: could not connect to host
+traintimes.it: could not connect to host
+traintimes.lu: could not connect to host
 trainut.com: could not connect to host
+traiteur-laporte.fr: could not connect to host
 trakfusion.com: could not connect to host
 trakkr.tk: could not connect to host
 trance-heal.com: could not connect to host
@@ -28574,14 +31459,16 @@ tranceheal.com: could not connect to host
 tranceheal.de: did not receive HSTS header
 tranceheal.me: could not connect to host
 trancendances.fr: could not connect to host
+trandanhland.com: could not connect to host
 tranglenull.xyz: could not connect to host
-tranos.de: could not connect to host
+tranos.de: did not receive HSTS header
 tranquillapp.com: could not connect to host
 transbike.es: did not receive HSTS header
 transcendmotor.sg: could not connect to host
 transcricentro.pt: could not connect to host
 transcriptionwave.com: did not receive HSTS header
 transdirect.com.au: did not receive HSTS header
+transdyne.com: did not receive HSTS header
 transferio.nl: did not receive HSTS header
 transfile.fr: could not connect to host
 transformify.org: did not receive HSTS header
@@ -28591,8 +31478,9 @@ translate.googleapis.com: did not receive HSTS header (error ignored - included
 translateblender.ru: could not connect to host
 translatoruk.co.uk: did not receive HSTS header
 transmithe.net: could not connect to host
-transmitit.pl: could not connect to host
+transmitit.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 transparent.cf: did not receive HSTS header
+transparentcorp.com: did not receive HSTS header
 transportal.sk: could not connect to host
 transsexualpantyhose.com: could not connect to host
 transverify.com: did not receive HSTS header
@@ -28601,7 +31489,7 @@ tratamentoparacelulite.biz: could not connect to host
 trauertexte.info: could not connect to host
 traumhuetten.de: did not receive HSTS header
 travality.ru: could not connect to host
-travaux-toiture-idf.fr: could not connect to host
+travaux-toiture-idf.fr: did not receive HSTS header
 travauxcontact.com: did not receive HSTS header
 travel-kuban.ru: did not receive HSTS header
 travel-to-nature.ch: did not receive HSTS header
@@ -28610,55 +31498,62 @@ travel1x1.com: did not receive HSTS header
 traveleets.com: could not connect to host
 travelholicworld.com: could not connect to host
 traveling-thailand.info: could not connect to host
+travelingbagsmke.com: did not receive HSTS header
 travelinghacker.com.au: could not connect to host
 travelinsightswriter.com: could not connect to host
 travelling.expert: could not connect to host
 travellsell.com: could not connect to host
+travelmexico42.com: could not connect to host
 travelmyth.ie: did not receive HSTS header
 travelpricecheck.com: max-age too low: 0
 travisec.com: could not connect to host
 travotion.com: could not connect to host
 trazosdearte.com: did not receive HSTS header
+trea98.org: could not connect to host
 treasuredinheritanceministry.com: did not receive HSTS header
 treatment.org: could not connect to host
 treatprostatewithhifu.com: could not connect to host
+tredevlet.com: did not receive HSTS header
 treebaglia.xyz: could not connect to host
 treeby.net: could not connect to host
 treeremovaljohannesburg.co.za: could not connect to host
 treeremovalsboksburg.co.za: did not receive HSTS header
 trees.chat: did not receive HSTS header
-treeschat.com: could not connect to host
+treetopsecurity.com: did not receive HSTS header
 treino.blog.br: could not connect to host
 treinonerd.com: could not connect to host
 treker.us: could not connect to host
 trell.co.in: did not receive HSTS header
 tremoureux.fr: could not connect to host
 trendberry.ru: could not connect to host
+trendfrisuren-bongard.de: could not connect to host
 trendingpulse.com: did not receive HSTS header
 trendisland.de: did not receive HSTS header
-trendkraft.de: did not receive HSTS header
 trendyaccessoriesonline.com: could not connect to host
 trendydips.com: could not connect to host
 trentmaydew.com: did not receive HSTS header
 trenztec.ml: could not connect to host
+tretail.net: could not connect to host
 treussart.com: did not receive HSTS header
-trewe.eu: did not receive HSTS header
+trevsanders.co.uk: could not connect to host
+trewe.eu: could not connect to host
 trezy.me: could not connect to host
 trezy.net: could not connect to host
 triadwars.com: did not receive HSTS header
-triageo.com.au: could not connect to host
+triageo.com.au: did not receive HSTS header
 trialmock.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+trianglebruins.org: did not receive HSTS header
 trianon.xyz: could not connect to host
 tribalwarsstyles.tk: could not connect to host
-tribistovo.tk: could not connect to host
+tribistovo.tk: did not receive HSTS header
 tributh.cf: could not connect to host
 tributh.ga: could not connect to host
 tributh.gq: could not connect to host
 tributh.ml: could not connect to host
-trichdanhay.com: did not receive HSTS header
 trickedguys.com: could not connect to host
-trickgsm.com: max-age too low: 0
 tricks.clothing: did not receive HSTS header
+trictric.eco.br: did not receive HSTS header
+trictriceletrico.com.br: did not receive HSTS header
 triddi.com: could not connect to host
 tridentflood.com: did not receive HSTS header
 tridentmedia.gq: could not connect to host
@@ -28675,14 +31570,15 @@ trinityaffirmations.com: max-age too low: 0
 trinitytechdev.com: could not connect to host
 trink-und-partyspiele.de: could not connect to host
 trior.net: did not receive HSTS header
+tripasia.id: did not receive HSTS header
 tripcombi.com: did not receive HSTS header
 tripdelta.com: did not receive HSTS header
 tripinsider.club: could not connect to host
 triple-mmm.de: max-age too low: 0
+triplekeys.net: did not receive HSTS header
 triplicate.gq: could not connect to host
-tripout.tech: did not receive HSTS header
-tripp.xyz: did not receive HSTS header
-tripseats.com: did not receive HSTS header
+tripp.xyz: could not connect to host
+tripseats.com: could not connect to host
 triri.org: did not receive HSTS header
 trisect.eu: could not connect to host
 trish-mcevoy.ru: could not connect to host
@@ -28691,19 +31587,21 @@ tristanberger.io: could not connect to host
 tristanfarkas.one: could not connect to host
 triticeaetoolbox.org: did not receive HSTS header
 trix.pw: did not receive HSTS header
+trix360.com: did not receive HSTS header
 trixies-wish.nz: could not connect to host
 trixy.com.br: could not connect to host
 triz.co.uk: could not connect to host
 trizone.com.au: did not receive HSTS header
-trk1234.co.uk: did not receive HSTS header
 troedel-trolle.de: could not connect to host
 troisdorf-gestalten.de: did not receive HSTS header
 trollme.me: could not connect to host
 trollscave.xyz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-tronatic-studio.com: could not connect to host
 trondelan.no: max-age too low: 0
 tronflix.com: did not receive HSTS header
+tronmeo.com: could not connect to host
 troo.ly: could not connect to host
+tropicaltravelco.com: could not connect to host
+troplo.com: could not connect to host
 trotter.cf: could not connect to host
 trouble-free-employees.com: did not receive HSTS header
 trouter.io: could not connect to host
@@ -28721,6 +31619,9 @@ trueassignmenthelp.co.uk: could not connect to host
 trueblueessentials.com: did not receive HSTS header
 trueessayhelp.co.uk: could not connect to host
 truejob.com: did not receive HSTS header
+trueminecraft.com: could not connect to host
+trueproxy.net: did not receive HSTS header
+trueseeing.com: could not connect to host
 truessl.shop: could not connect to host
 truestaradvisors.com: could not connect to host
 trufflemonkey.co.uk: could not connect to host
@@ -28729,7 +31630,6 @@ trulance.com: did not receive HSTS header
 trumeet.top: did not receive HSTS header
 truncus-encephali.co.uk: could not connect to host
 trunkjunk.co: could not connect to host
-trush.in: did not receive HSTS header
 trustedbody.com: did not receive HSTS header
 trustedinnovators.com: could not connect to host
 trustednewssites.com: could not connect to host
@@ -28738,6 +31638,8 @@ trustees.org: did not receive HSTS header
 trustmeimfancy.com: could not connect to host
 trustocean.com: did not receive HSTS header
 truthsayer.tk: could not connect to host
+truyencuoi.org: could not connect to host
+truyentranh24.net: did not receive HSTS header
 trybabyschoice.com: could not connect to host
 trybind.com: could not connect to host
 tryfabulousdiet.com: could not connect to host
@@ -28748,8 +31650,9 @@ trygarciniaslimdiet.com: could not connect to host
 tryingtotakeovertheworld.tk: could not connect to host
 trymegadrol.com: could not connect to host
 trynowrinkleseyeserum.com: could not connect to host
-tryoneday.co: did not receive HSTS header
+tryoneday.co: could not connect to host
 trypineapple.com: could not connect to host
+tryupdates.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 trywesayyes.com: could not connect to host
 ts-publishers.com: could not connect to host
 ts2.se: could not connect to host
@@ -28758,15 +31661,20 @@ ts3-dns.me: could not connect to host
 ts3-dns.net: could not connect to host
 ts3-legenda.tech: could not connect to host
 ts3.consulting: could not connect to host
+ts5server.eu: could not connect to host
 tsachs.eu: could not connect to host
+tsahf.com: did not receive HSTS header
+tsai.com.de: did not receive HSTS header
 tsaro.io: could not connect to host
 tscqmalawi.info: could not connect to host
 tsdom.net: could not connect to host
 tsecy.com: could not connect to host
 tsgbit.net: could not connect to host
 tsgoc.com: did not receive HSTS header
-tshirtscapetown.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 tsigaradiko.com: could not connect to host
+tsinnosti.com: did not receive HSTS header
+tsng-stg.tk: did not receive HSTS header
+tsng.co.jp: did not receive HSTS header
 tsrstore.gq: could not connect to host
 tsu-ku-ro.com: could not connect to host
 tsugi.fr: did not receive HSTS header
@@ -28780,29 +31688,37 @@ tsurezurematome.ga: could not connect to host
 tsurimap.com: could not connect to host
 tsutsumi-kogyo.jp: could not connect to host
 tsuyuzakihiroyuki.com: could not connect to host
+tsv-1894.de: could not connect to host
+tt0866.com: did not receive HSTS header
+tt2966.com: could not connect to host
 tt3666.com: could not connect to host
 tt5197.co: could not connect to host
-tt6396.com: did not receive HSTS header
+tt6396.com: could not connect to host
 tt6729.co: could not connect to host
 tt6729.com: did not receive HSTS header
 tt6957.co: could not connect to host
 tt9297.co: could not connect to host
-tt9397.com: could not connect to host
-tt9721.com: could not connect to host
+tt9397.com: did not receive HSTS header
+tt9721.com: did not receive HSTS header
 tt9728.co: could not connect to host
 ttackmedical.com.br: could not connect to host
+ttcak.ddns.net: could not connect to host
 ttchan.org: could not connect to host
 ttfin.ch: could not connect to host
+ttfollower.com: did not receive HSTS header
 ttll.de: did not receive HSTS header
+ttp-shop.com.ua: could not connect to host
 ttrade.ga: could not connect to host
 tts.co.nz: did not receive HSTS header
 ttspttsp.com: could not connect to host
-ttt.tt: could not connect to host
 tty.space: could not connect to host
 ttyystudio.com: could not connect to host
 ttz.im: could not connect to host
+tu6.pm: could not connect to host
 tuamoronline.com: could not connect to host
 tuang-tuang.com: could not connect to host
+tuanhstore.com: could not connect to host
+tubedesire.com: could not connect to host
 tubeju.com: could not connect to host
 tubetoon.com: could not connect to host
 tubetooncartoons.com: could not connect to host
@@ -28810,25 +31726,23 @@ tubex.ga: could not connect to host
 tucidi.net: could not connect to host
 tucker.wales: could not connect to host
 tucnak.eu: could not connect to host
-tucsonpcrepair.com: could not connect to host
 tudorapido.com.br: could not connect to host
 tudorproject.org: could not connect to host
 tueche.com.ar: did not receive HSTS header
 tueplay.host: could not connect to host
-tufashionista.com: did not receive HSTS header
+tufashionista.com: could not connect to host
 tufilo.com: could not connect to host
 tugers.com: did not receive HSTS header
 tugesha.com: could not connect to host
 tuingresoonline.com: could not connect to host
 tula-city.tk: could not connect to host
-tula-news.ga: could not connect to host
+tula-news.ga: did not receive HSTS header
 tulasdeportivasbless.com: did not receive HSTS header
 tulpan22.ru: did not receive HSTS header
 tulsameetingroom.com: could not connect to host
-tumelum.de: could not connect to host
+tumarcafe.com: could not connect to host
 tumutanzi.com: did not receive HSTS header
-tunai.id: did not receive HSTS header
-tunaut.com: could not connect to host
+tunai.id: could not connect to host
 tunca.it: did not receive HSTS header
 tunebitfm.de: could not connect to host
 tunisiapress.tk: could not connect to host
@@ -28836,23 +31750,25 @@ tunity.be: did not receive HSTS header
 tunochebuena.com: could not connect to host
 tuotteet.org: could not connect to host
 tuou.xyz: could not connect to host
-turciya.cf: could not connect to host
+turciya.cf: did not receive HSTS header
 turingmind.com: did not receive HSTS header
 turismo.cl: did not receive HSTS header
+turismonochile.com: did not receive HSTS header
 turkey-portal.tk: could not connect to host
 turkface.tk: could not connect to host
 turkiet.guide: could not connect to host
 turkiyen.com: could not connect to host
 turkmannews.tk: could not connect to host
+turm-umzuege.de: max-age too low: 3600
 turn-sticks.com: could not connect to host
 turnik-67.ru: could not connect to host
 turniker.ru: could not connect to host
 turnsticks.com: could not connect to host
 turtle.ai: did not receive HSTS header
-turtlehead.tk: could not connect to host
+turtlehead.tk: did not receive HSTS header
 turtlementors.com: could not connect to host
 turtles.ga: could not connect to host
-tusb.ml: did not receive HSTS header
+tusb.ml: could not connect to host
 tusksol.com: could not connect to host
 tussengelegenwoningverkopen.nl: could not connect to host
 tuthowto.com: could not connect to host
@@ -28860,13 +31776,12 @@ tutiendaroja.com: could not connect to host
 tutiendarosa.com: could not connect to host
 tutoref.com: did not receive HSTS header
 tutorialcoding.tk: could not connect to host
+tutorialinux.com: could not connect to host
 tutorio.ga: could not connect to host
-tutu.ro: could not connect to host
 tuturulianda.com: could not connect to host
 tuvalie.com: could not connect to host
-tuvangoicuoc.com: did not receive HSTS header
+tuvangoicuoc.com: could not connect to host
 tuversionplus.com: could not connect to host
-tuxcloud.net: could not connect to host
 tuxhound.org: could not connect to host
 tuxpeliculas.com: could not connect to host
 tuxrtfm.com: could not connect to host
@@ -28874,6 +31789,7 @@ tv.search.yahoo.com: could not connect to host
 tvbeugels.nl: did not receive HSTS header
 tvc.red: could not connect to host
 tvcal.net: could not connect to host
+tvdates.info: could not connect to host
 tverdohleb.com: did not receive HSTS header
 tverskaya-outlet.ru: could not connect to host
 tvoia-dietka.tk: could not connect to host
@@ -28881,7 +31797,7 @@ tvoru.com.ua: did not receive HSTS header
 tvqc.com: did not receive HSTS header
 tvtubeflix.com: could not connect to host
 tvz-materijali.com: could not connect to host
-tw-hosting.de: did not receive HSTS header
+tw-hosting.de: could not connect to host
 tw2-tools.ga: could not connect to host
 twarog.cc: could not connect to host
 tweakersbadge.nl: could not connect to host
@@ -28915,6 +31831,7 @@ twinkietotmom.com: did not receive HSTS header
 twinkseason.ca: could not connect to host
 twinkseason.co: could not connect to host
 twinkseason.co.uk: could not connect to host
+twinkseason.com: could not connect to host
 twinkseason.net: could not connect to host
 twinkseason.org: could not connect to host
 twinkseason.xyz: could not connect to host
@@ -28932,6 +31849,8 @@ twojfaktum.pl: could not connect to host
 twolanedesign.com: could not connect to host
 twolinepassbrewing.com: could not connect to host
 twolivelife.com: could not connect to host
+twonodes.games: did not receive HSTS header
+twopif.net: did not receive HSTS header
 twotube.ie: could not connect to host
 twtimmy.com: could not connect to host
 twtremind.com: could not connect to host
@@ -28955,7 +31874,7 @@ ty587.com: could not connect to host
 ty593.com: could not connect to host
 ty5998.com: could not connect to host
 ty613.com: could not connect to host
-ty632.com: could not connect to host
+ty632.com: did not receive HSTS header
 ty637.com: could not connect to host
 ty650.com: could not connect to host
 ty679.com: could not connect to host
@@ -28984,20 +31903,19 @@ ty953.com: could not connect to host
 ty962.com: could not connect to host
 ty965.com: could not connect to host
 ty980.com: could not connect to host
+tyc009.cc: could not connect to host
 tycjt.vip: could not connect to host
 tykoon.com: could not connect to host
 tyl.io: did not receive HSTS header
 tyler.coach: could not connect to host
 tylercoach.com: could not connect to host
-tylerharcourt.ca: did not receive HSTS header
-tylerharcourt.com: could not connect to host
+tylerfreedman.com: did not receive HSTS header
 tylerharcourt.net: could not connect to host
 tylerharcourt.xyz: could not connect to host
 tylerjharcourt.com: could not connect to host
-tylervigario.com: did not receive HSTS header
 tylian.net: max-age too low: 0
 tylyjj.com: max-age too low: 0
-typcn.com: did not receive HSTS header
+typcn.com: could not connect to host
 type1joe.com: could not connect to host
 type1joe.net: could not connect to host
 type1joe.org: could not connect to host
@@ -29012,12 +31930,14 @@ tyreis.com: could not connect to host
 tyrelius.com: could not connect to host
 tyroproducts.eu: did not receive HSTS header
 tyskland.guide: could not connect to host
+tysye.ca: could not connect to host
 tyumen.ga: could not connect to host
 tzappa.net: could not connect to host
 tzifas.com: could not connect to host
 tziyona.net: could not connect to host
 tzsec.com: could not connect to host
 tzwe.com: could not connect to host
+tzyingshi.com: could not connect to host
 u-master.net: did not receive HSTS header
 u-metals.com: did not receive HSTS header
 u-tokyo.club: did not receive HSTS header
@@ -29039,9 +31959,12 @@ u6729.co: could not connect to host
 u6729.com: did not receive HSTS header
 u6957.co: could not connect to host
 u6957.com: did not receive HSTS header
+u81365.com: did not receive HSTS header
+u81818.com: did not receive HSTS header
+u82365.com: did not receive HSTS header
 u9297.co: could not connect to host
-u9397.com: could not connect to host
-u9721.com: could not connect to host
+u9397.com: did not receive HSTS header
+u9721.com: did not receive HSTS header
 u9728.co: could not connect to host
 uachemlabs.com: could not connect to host
 uaci.edu.mx: could not connect to host
@@ -29051,11 +31974,11 @@ uareferat.tk: could not connect to host
 ubalert.com: did not receive HSTS header
 uber.com.au: could not connect to host
 uberactivist.com: could not connect to host
-uberbkk.com: did not receive HSTS header
+uberbkk.com: could not connect to host
 ubercalculator.com: did not receive HSTS header
 uberfunction.com: did not receive HSTS header
 uberhorny.tk: could not connect to host
-uberifix.ca: could not connect to host
+uberifix.ca: did not receive HSTS header
 ubi.gg: could not connect to host
 ubicloud.de: did not receive HSTS header
 ubicv.com: could not connect to host
@@ -29074,11 +31997,16 @@ uchiha.ml: did not receive HSTS header
 uclanmasterplan.co.uk: did not receive HSTS header
 uclip.club: could not connect to host
 ucmatedeveloper.gq: could not connect to host
+udachnika.ru: did not receive HSTS header
+udancy.com: could not connect to host
+udbhav.me: could not connect to host
 udbina.tk: could not connect to host
 uddate-linthdcp-3345app.com: did not receive HSTS header
 uddate-linthdcp-567app.com: could not connect to host
 uddhabhaldar.com: did not receive HSTS header
+udiutv.no: could not connect to host
 udsocial.com: could not connect to host
+udtunnel.com: could not connect to host
 udvalgte-ordsprog.dk: did not receive HSTS header
 ueba1085.jp: could not connect to host
 uefeng.com: did not receive HSTS header
@@ -29091,12 +32019,13 @@ uex.im: could not connect to host
 ufgaming.com: did not receive HSTS header
 uflixit.com: did not receive HSTS header
 ufo.moe: did not receive HSTS header
+ufoch.com: did not receive HSTS header
 ufotable.uk: could not connect to host
+ugamyd-p1rosd2jcoeg3edh5o1y.com: did not receive HSTS header
 ugcdn.com: could not connect to host
 ugisgutless.com: could not connect to host
 ugo.ninja: could not connect to host
 ugosadventures.com: did not receive HSTS header
-ugtdigiteldocumentos.es: could not connect to host
 uhappy1.com: could not connect to host
 uhappy11.com: could not connect to host
 uhappy2.com: could not connect to host
@@ -29138,8 +32067,8 @@ uhappy78.com: did not receive HSTS header
 uhappy79.com: did not receive HSTS header
 uhappy8.com: could not connect to host
 uhappy80.com: did not receive HSTS header
-uhappy81.com: could not connect to host
-uhappy82.com: could not connect to host
+uhappy81.com: did not receive HSTS header
+uhappy82.com: did not receive HSTS header
 uhappy83.com: did not receive HSTS header
 uhappy85.com: did not receive HSTS header
 uhappy86.com: did not receive HSTS header
@@ -29154,21 +32083,25 @@ uhm.io: did not receive HSTS header
 uhssl.com: could not connect to host
 uhurl.net: could not connect to host
 uhuru-market.com: did not receive HSTS header
+uicchy.com: could not connect to host
 uitslagensoftware.nl: did not receive HSTS header
 uitvaartvrouwenfriesland.nl: could not connect to host
 uitvaartzorg-heerenveen.nl: could not connect to host
 uitvaartzorgzuidwestfriesland.nl: could not connect to host
+uix.biz: could not connect to host
 ukari.hokkaido.jp: could not connect to host
-ukclimbing.com: did not receive HSTS header
+ukb.sch.id: did not receive HSTS header
 ukdropshipment.co.uk: did not receive HSTS header
 ukdropshipment.com: did not receive HSTS header
 ukk.dk: did not receive HSTS header
 ukkeyholdingcompany.co.uk: could not connect to host
 ukmortgagecompare.co.uk: could not connect to host
+ukpirate.org: could not connect to host
 ukrgadget.com: could not connect to host
 ulabox.cat: did not receive HSTS header
 ulabox.es: did not receive HSTS header
 ulalau.com: did not receive HSTS header
+ulfberht.fi: did not receive HSTS header
 ulgc.cz: could not connect to host
 ulickaprozivot.cz: could not connect to host
 ullamodaintima.com.br: could not connect to host
@@ -29177,7 +32110,6 @@ ulotnefoto.pl: did not receive HSTS header
 ulovdomov.cz: did not receive HSTS header
 ulsters.cf: could not connect to host
 ulti.gq: could not connect to host
-ultieme.be: could not connect to host
 ultimate-garcinia-plus.com: could not connect to host
 ultimate-glow-skin.com: could not connect to host
 ultimate-memoryplus.com: could not connect to host
@@ -29201,11 +32133,11 @@ umsolugar.com.br: could not connect to host
 umwandeln-online.de: could not connect to host
 umzug-berlin24.de: did not receive HSTS header
 un.pe: did not receive HSTS header
+unadonna.it: did not receive HSTS header
 unapolegetic.co: did not receive HSTS header
 unart.info: could not connect to host
 unasim.gq: could not connect to host
-unatco.noip.me: could not connect to host
-unbanthe.net: could not connect to host
+unbanthe.net: did not receive HSTS header
 unbelievableplaces.de: could not connect to host
 unblockall.xyz: could not connect to host
 unblockat.tk: could not connect to host
@@ -29215,7 +32147,6 @@ unblocked.cx: could not connect to host
 unblocked.date: could not connect to host
 unblocked.faith: could not connect to host
 unblocked.host: did not receive HSTS header
-unblocked.lat: could not connect to host
 unblocked.party: could not connect to host
 unblocked.st: could not connect to host
 unblocked.today: could not connect to host
@@ -29240,12 +32171,14 @@ underkin.com: could not connect to host
 underskatten.tk: could not connect to host
 undo.co.il: could not connect to host
 undone.me: could not connect to host
+unedouleur.com: could not connect to host
+unferno.tech: did not receive HSTS header
 unfiltered.nyc: could not connect to host
 ungeek.eu: did not receive HSTS header
 ungeek.fr: max-age too low: 2592000
 ungelektro.no: did not receive HSTS header
 ungern.guide: could not connect to host
-unhu.fr: could not connect to host
+unhu.fr: did not receive HSTS header
 unhurriedluxury.com: could not connect to host
 uni-games.com: could not connect to host
 uni2share.com: could not connect to host
@@ -29274,6 +32207,7 @@ uniformehumboldt.com.br: did not receive HSTS header
 uniformespousoalegre.com.br: could not connect to host
 unikitty-on-tour.com: could not connect to host
 uninet.cf: did not receive HSTS header
+uninutri.com.br: did not receive HSTS header
 uniojeda.ml: could not connect to host
 unionstationapp.com: could not connect to host
 unique-bouncy-castles.co.uk: could not connect to host
@@ -29283,12 +32217,15 @@ unisyssecurity.com: could not connect to host
 united-german-commander.de: did not receive HSTS header
 united-schools.net: could not connect to host
 unitedcyberdevelopment.com: could not connect to host
+unitedstreamers.de: did not receive HSTS header
 unitlabs.net: could not connect to host
 unitrade-425.co.za: did not receive HSTS header
 univerkeys.com: could not connect to host
 univerpack.net: could not connect to host
 universal-happiness.com: could not connect to host
 universalpaymentgateway.com: could not connect to host
+universeinform.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+universeit.mx: could not connect to host
 universidadcatolica.tk: could not connect to host
 universidadvg.edu.mx: could not connect to host
 university4industry.com: did not receive HSTS header
@@ -29297,14 +32234,17 @@ universityhousemates.uk: could not connect to host
 universocaballo.top: could not connect to host
 univstore.win: could not connect to host
 univz.com: could not connect to host
-unixapp.ml: could not connect to host
+unixapp.ml: did not receive HSTS header
+unixattic.com: did not receive HSTS header
 unixtime.pro: could not connect to host
 unknownbreakup.com: max-age too low: 2592000
 unknownphenomena.net: could not connect to host
 unleash.pw: could not connect to host
+unlocktechs.com: did not receive HSTS header
 unlogis.ch: could not connect to host
-unmanaged.space: did not receive HSTS header
+unmanaged.space: could not connect to host
 unobrindes.com.br: did not receive HSTS header
+unosconotros.com: could not connect to host
 unplugg3r.dk: could not connect to host
 unravel.ie: could not connect to host
 unripple.com: could not connect to host
@@ -29327,7 +32267,7 @@ unun.fi: did not receive HSTS header
 unwiredbrain.com: could not connect to host
 unwomen.is: did not receive HSTS header
 unworthy.ml: could not connect to host
-unyq.me: did not receive HSTS header
+unyq.me: could not connect to host
 uonstaffhub.com: could not connect to host
 uoone.com: could not connect to host
 uow.ninja: could not connect to host
@@ -29338,8 +32278,11 @@ upboard.jp: could not connect to host
 upcloud.cz: could not connect to host
 update-linthdcp-567app1.com: did not receive HSTS header
 updatehub.io: did not receive HSTS header
-upldr.pw: did not receive HSTS header
+upforshare.com: did not receive HSTS header
+upldr.pw: could not connect to host
 uplinkgame.tk: could not connect to host
+upliving.be: did not receive HSTS header
+upload.cat: could not connect to host
 uploadbro.com: could not connect to host
 upmchealthsecurity.us: could not connect to host
 upnext.io: could not connect to host
@@ -29348,16 +32291,17 @@ uporoops.com: could not connect to host
 uppfinnarenc.tk: could not connect to host
 upplay.com.br: did not receive HSTS header
 upr-info.org: did not receive HSTS header
-upr.com.ua: could not connect to host
 uprotect.it: could not connect to host
+uprouteyou.com: did not receive HSTS header
 upsettunnel.com: could not connect to host
+upsiteseo.com: could not connect to host
 upstats.eu: could not connect to host
 uptakedigital.com.au: max-age too low: 2592000
 uptic.net: did not receive HSTS header
-uptimed.com: did not receive HSTS header
 uptimenotguaranteed.com: could not connect to host
 uptogood.org: did not receive HSTS header
 upupming.site: did not receive HSTS header
+upvoted.net: could not connect to host
 upwardtraining.co.uk: could not connect to host
 upyourfinances.com: could not connect to host
 urantiabookstudygroup.com: did not receive HSTS header
@@ -29371,6 +32315,7 @@ urban-garden.lt: could not connect to host
 urban-garden.lv: could not connect to host
 urbandance.club: did not receive HSTS header
 urbane-london.com: did not receive HSTS header
+urbangymfirenze.com: could not connect to host
 urbanmelbourne.info: could not connect to host
 urbanmic.com: could not connect to host
 urbansparrow.in: could not connect to host
@@ -29378,33 +32323,37 @@ urbanstylestaging.com: could not connect to host
 urbansurvival.com: max-age too low: 7776000
 urbanxhome.com: did not receive HSTS header
 urbpic.com: could not connect to host
+urep.us: could not connect to host
 urgences-valais.ch: could not connect to host
 urinedrugtesthq.com: did not receive HSTS header
 urion.com.br: did not receive HSTS header
 uriport.com: could not connect to host
-uriports.com: did not receive HSTS header
 url.cab: did not receive HSTS header
 url0.eu: did not receive HSTS header
+url1.ga: could not connect to host
 urlachershop.com.br: did not receive HSTS header
 urlaubstipps.eu: could not connect to host
 urlchomp.com: did not receive HSTS header
-urltell.com: could not connect to host
-urmom.lol: did not receive HSTS header
+urmom.lol: could not connect to host
 urology.wiki: did not receive HSTS header
 uronlinestreams.ga: could not connect to host
 urphp.com: could not connect to host
+ursae.co: could not connect to host
 us-immigration.com: did not receive HSTS header
 usa-10.com: could not connect to host
 usa-10.net: could not connect to host
 usa10sb.com: did not receive HSTS header
 usa250.gov: max-age too low: 300
 usaab.org: did not receive HSTS header
+usabibi.net: did not receive HSTS header
 usacitygames.org: did not receive HSTS header
 usadba.net.ru: could not connect to host
 usafuelservice.com: did not receive HSTS header
 usairlines.us: did not receive HSTS header
+usakitchensandflooring.com: did not receive HSTS header
+usaseanconnect.gov: could not connect to host
 usatomotori.com: did not receive HSTS header
-usbcraft.com: could not connect to host
+usbcraft.com: did not receive HSTS header
 usbcurrent.com: did not receive HSTS header
 usbirthcertificate.com: could not connect to host
 usbr.gov: could not connect to host
@@ -29418,6 +32367,7 @@ use.ci: could not connect to host
 used-in.jp: could not connect to host
 usedesk.ru: did not receive HSTS header
 usedoor.jp: did not receive HSTS header
+usedu.us: could not connect to host
 useevlo.com.br: could not connect to host
 usemusic.com.br: did not receive HSTS header
 user-agent.ga: could not connect to host
@@ -29429,34 +32379,37 @@ useresponse.com: did not receive HSTS header
 userify.com: did not receive HSTS header
 userra.gov: could not connect to host
 usidfc.gov: did not receive HSTS header
+usimmigration.us: did not receive HSTS header
 uslab.io: could not connect to host
 usleep.net: could not connect to host
-usmint.gov: max-age too low: 120
 usparklodging.com: did not receive HSTS header
 uspesnyprvnacek-staging.herokuapp.com: could not connect to host
+uspesnyprvnacek-testing.herokuapp.com: could not connect to host
 usportsgo.com: could not connect to host
 uspsoig.gov: did not receive HSTS header
 usr.nz: did not receive HSTS header
 ussemiquincentennial.gov: max-age too low: 300
 ust.space: did not receive HSTS header
 usu.org.ua: could not connect to host
+usualbeings.com: did not receive HSTS header
 usuluddin.ga: could not connect to host
 ut-addicted.com: did not receive HSTS header
 utahfireinfo.gov: did not receive HSTS header
 utahlocal.net: did not receive HSTS header
+utaiw.com: did not receive HSTS header
 utbosbeekhuuske.tk: could not connect to host
 utdscanner.com: did not receive HSTS header
 uteam.it: could not connect to host
 utilitronium-shockwave.com: could not connect to host
 utilityreport.eu: did not receive HSTS header
 utitreatment.com: did not receive HSTS header
-utleieplassen.no: did not receive HSTS header
+utleieplassen.no: could not connect to host
 utopiagalaxy.space: could not connect to host
 utopialgb.org.uk: could not connect to host
 utopian-surgery.com: could not connect to host
 utopianconcept.com: did not receive HSTS header
 utopians.dk: could not connect to host
-utorg.com.ua: could not connect to host
+utox.io: could not connect to host
 uttnetgroup.fr: did not receive HSTS header
 utube.tw: could not connect to host
 utumno.ch: could not connect to host
@@ -29466,11 +32419,12 @@ uu6729.co: could not connect to host
 uu6729.com: did not receive HSTS header
 uu6957.co: could not connect to host
 uu9297.co: could not connect to host
-uu9397.com: could not connect to host
-uu9721.com: could not connect to host
+uu9397.com: did not receive HSTS header
+uu9721.com: did not receive HSTS header
 uu9728.co: could not connect to host
-uuid.cf: did not receive HSTS header
+uuid.cf: could not connect to host
 uuid.fr: did not receive HSTS header
+uuzsama.me: could not connect to host
 uvarov.pw: could not connect to host
 uvolejniku.cz: did not receive HSTS header
 uw1008.com: could not connect to host
@@ -29481,46 +32435,84 @@ uwesander.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERR
 uwfreelanceopticien.nl: could not connect to host
 uwimonacs.org.jm: did not receive HSTS header
 uwstartups.com: could not connect to host
+uwusergdatasystems.com: could not connect to host
 uxtechnologist.com: did not receive HSTS header
 uxux.pl: could not connect to host
 uygindir.ml: could not connect to host
 uyku-apnesi.com: did not receive HSTS header
 uyym.com: did not receive HSTS header
 uziregister.nl: did not receive HSTS header
-uzmandroid.com: did not receive HSTS header
+uzmandroid.com: could not connect to host
 uzmandroid.net: could not connect to host
 uzmandroid.top: could not connect to host
+uzpirksana.lv: could not connect to host
 v-desk.ga: could not connect to host
 v-u-z.ru: could not connect to host
 v0rtex.xyz: could not connect to host
-v0tti.com: could not connect to host
+v0tti.com: did not receive HSTS header
+v10006.com: did not receive HSTS header
+v10008.com: did not receive HSTS header
 v12.co.uk: did not receive HSTS header
 v2.pw: did not receive HSTS header
 v2bv.win: could not connect to host
+v2c.tech: did not receive HSTS header
 v2ex.us: could not connect to host
 v2ray6.com: could not connect to host
 v2ray66.com: could not connect to host
 v2ray666.com: could not connect to host
+v3025.com: did not receive HSTS header
 v30365.com: could not connect to host
-v4s.ro: could not connect to host
+v4s.ro: did not receive HSTS header
 v4veedu.com: could not connect to host
+v5017.com: did not receive HSTS header
+v5075.com: did not receive HSTS header
 v5197.co: could not connect to host
+v55530.com: could not connect to host
+v55565.com: did not receive HSTS header
 v5ray.top: could not connect to host
-v5ray.xyz: did not receive HSTS header
-v5wz.com: did not receive HSTS header
+v5ray.xyz: could not connect to host
+v5wz.com: could not connect to host
 v5xp.com: did not receive HSTS header
+v6004.com: did not receive HSTS header
+v6170.com: did not receive HSTS header
+v66629.com: could not connect to host
+v66635.com: could not connect to host
+v66638.com: could not connect to host
 v6729.co: could not connect to host
 v6957.co: could not connect to host
 v7.cl: could not connect to host
+v700a.com: did not receive HSTS header
+v700b.com: did not receive HSTS header
+v700bb.com: did not receive HSTS header
+v700cc.com: did not receive HSTS header
+v700dd.com: did not receive HSTS header
+v700ee.com: did not receive HSTS header
+v700w.com: did not receive HSTS header
 v789xl.com: could not connect to host
 v800a.com: did not receive HSTS header
-v800g.com: could not connect to host
+v800b.com: did not receive HSTS header
+v800d.com: did not receive HSTS header
+v800e.com: did not receive HSTS header
+v800f.com: did not receive HSTS header
+v800g.com: did not receive HSTS header
+v800k.com: did not receive HSTS header
+v800n.com: did not receive HSTS header
+v800w.com: did not receive HSTS header
+v800y.com: did not receive HSTS header
+v81365.com: did not receive HSTS header
+v82365.com: did not receive HSTS header
+v88299.com: could not connect to host
+v9037.com: did not receive HSTS header
 v9297.co: could not connect to host
 v9728.co: could not connect to host
 v9728.com: could not connect to host
 v9820.com: could not connect to host
+v9821.com: could not connect to host
 vaaddress.co: could not connect to host
-vaalmarketplace.co.za: did not receive HSTS header
+vaaes.org: did not receive HSTS header
+vaalmarketplace.co.za: could not connect to host
+vaan-arbeidsrecht.nl: could not connect to host
+vacacionesenlinea.com: could not connect to host
 vacationality.com: could not connect to host
 vacationfund.co: could not connect to host
 vacationscostarica.com: did not receive HSTS header
@@ -29533,8 +32525,8 @@ vaddder.com: could not connect to host
 vadennissanofhinesvilleparts.com: could not connect to host
 vadik.me: could not connect to host
 vadodesign.nl: could not connect to host
+vaganciatechnology.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 vagrantbits.com: could not connect to host
-vaibhavchatarkar.com: could not connect to host
 vaincreladyslexie.com: did not receive HSTS header
 vaisselle-nature.fr: did not receive HSTS header
 val-sec.com: could not connect to host
@@ -29577,34 +32569,39 @@ vanacht.co.za: did not receive HSTS header
 vanagamsanthai.com: did not receive HSTS header
 vanagamseeds.com: did not receive HSTS header
 vanajahosting.com: did not receive HSTS header
+vandeput.be: did not receive HSTS header
+vanderbiltcisa.org: could not connect to host
 vanderkroon.nl: could not connect to host
 vanderlest.de: did not receive HSTS header
 vanderstraeten.dynv6.net: could not connect to host
-vanderziel.org: did not receive HSTS header
+vanderziel.org: could not connect to host
 vanessabalibridal.com: could not connect to host
 vanestack.com: could not connect to host
 vanetv.com: could not connect to host
 vangeluwedeberlaere.be: did not receive HSTS header
+vangore.de: did not receive HSTS header
+vanhaos.com: could not connect to host
 vanitas.xyz: could not connect to host
 vanitynailworkz.com: could not connect to host
 vanlent.net: could not connect to host
 vannaos.com: could not connect to host
 vansieleghem.com: could not connect to host
 vanvoro.us: did not receive HSTS header
+vanwertcountyohio.gov: could not connect to host
 vanwoensel.xyz: could not connect to host
 vapecom-shop.com: could not connect to host
 vapecraftinc.com: did not receive HSTS header
 vapehour.com: could not connect to host
-vapemania.eu: could not connect to host
 vapesupplies.com.au: did not receive HSTS header
 vapordepot.jp: could not connect to host
 vaporpunk.space: could not connect to host
 varaeventos.com: did not receive HSTS header
+varden.info: did not receive HSTS header
 varela-electricite.fr: could not connect to host
+varenzeeland.nl: max-age too low: 0
 variable.agency: could not connect to host
 variablyconstant.com: could not connect to host
 variando.fi: did not receive HSTS header
-varianto25.com: max-age too low: 7889238
 varicoseveinssolution.com: could not connect to host
 varmepumpe-guide.dk: did not receive HSTS header
 varonahairrestoration.com: did not receive HSTS header
@@ -29613,10 +32610,9 @@ varta.io: could not connect to host
 varunpriolkar.com: did not receive HSTS header
 vasa-webstranka.sk: did not receive HSTS header
 vasilisa-volodina.tk: could not connect to host
-vasp.group: did not receive HSTS header
 vastgoedcultuurfonds.nl: did not receive HSTS header
 vastkustenrunt.se: did not receive HSTS header
-vatelecom.dk: did not receive HSTS header
+vatelecom.dk: could not connect to host
 vati.pw: could not connect to host
 vatsalyagoel.com: did not receive HSTS header
 vatsim-uk.co.uk: did not receive HSTS header
@@ -29626,23 +32622,29 @@ vavai.net: did not receive HSTS header
 vavouchers.com: could not connect to host
 vawltstorage.com: could not connect to host
 vayaport.com: could not connect to host
+vazue.com: could not connect to host
 vb-oa.co.uk: did not receive HSTS header
+vbcdn.com: did not receive HSTS header
 vbest.net: could not connect to host
 vbestreviews.com: did not receive HSTS header
-vbhelp.org: did not receive HSTS header
+vbhelp.org: could not connect to host
 vbql.me: could not connect to host
 vbulletin-russia.com: could not connect to host
 vbulletinrussia.com: could not connect to host
 vcdn.xyz: could not connect to host
 vcdove.com: could not connect to host
+vcelin-na-doliku.cz: could not connect to host
 vconcept.ch: could not connect to host
 vconcept.me: could not connect to host
 vcr.re: could not connect to host
 vcraftaudio.com: could not connect to host
+vczk.me: could not connect to host
+vdanker.net: could not connect to host
 vdemuzere.be: could not connect to host
 vdhco.be: did not receive HSTS header
+vdio.com: could not connect to host
 vdrpro.com: could not connect to host
-vdzn.net: could not connect to host
+vdzn.net: did not receive HSTS header
 vdzwan.net: did not receive HSTS header
 vebbankir-zajm-onlajn.gq: could not connect to host
 veblen.com: did not receive HSTS header
@@ -29651,11 +32653,13 @@ vechkasov.ru: did not receive HSTS header
 vectro.me: could not connect to host
 vedatkamer.com: could not connect to host
 vega-motor.com.ua: did not receive HSTS header
+vega-rumia.com.pl: did not receive HSTS header
 vega.dyndns.info: could not connect to host
 vegalayer.com: could not connect to host
 vegalengd.com: could not connect to host
 vegane-proteine.com: could not connect to host
 vegangaymer.blog: could not connect to host
+veganopia.org: did not receive HSTS header
 veganosonline.com: could not connect to host
 vegasdocs.com: did not receive HSTS header
 vegepa.com: could not connect to host
@@ -29665,18 +32669,23 @@ veggiefasting.com: could not connect to host
 veggies.tk: could not connect to host
 veggiesbourg.fr: did not receive HSTS header
 veggiesecret.com: did not receive HSTS header
+vegguide.org: could not connect to host
 vegis.ro: did not receive HSTS header
 veglog.com: could not connect to host
+vegner.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 vehent.org: did not receive HSTS header
 vehicleuplift.co.uk: did not receive HSTS header
 veke.fi: did not receive HSTS header
 vekenz.com: could not connect to host
 velasense.com: could not connect to host
+velib.com: did not receive HSTS header
 velocom.com.ar: did not receive HSTS header
 velonustraduction.com: could not connect to host
 velotyretz.fr: did not receive HSTS header
 vemokin.net: could not connect to host
+vemtorcer.com: did not receive HSTS header
 venalytics.com: could not connect to host
+venclave.com: could not connect to host
 vendserve.eu: could not connect to host
 venicecomputerrepair.com: could not connect to host
 venicefl.gov: could not connect to host
@@ -29685,6 +32694,7 @@ venicerealdeal.com: could not connect to host
 venirextra.com: did not receive HSTS header
 venirideal.com: did not receive HSTS header
 venixplays-stream.ml: could not connect to host
+venje.pro: did not receive HSTS header
 venmos.com: could not connect to host
 venninvestorplatform.com: could not connect to host
 venoom.eu: did not receive HSTS header
@@ -29699,10 +32709,9 @@ ventures.lgbt: could not connect to host
 ventureslgbt.com: could not connect to host
 ventzke.com: did not receive HSTS header
 venusbymariatash.com: did not receive HSTS header
-venzocrm.com: did not receive HSTS header
 vera.bg: did not receive HSTS header
 veraandsteve.date: could not connect to host
-verbierfestival.com: could not connect to host
+verata.co: did not receive HSTS header
 verdeandco.co.uk: could not connect to host
 vergeaccessories.com: could not connect to host
 vergessen.cn: could not connect to host
@@ -29715,11 +32724,9 @@ verkkopalvelin.fi: did not receive HSTS header
 vermellcollection.com: could not connect to host
 vermogeninkaart.nl: could not connect to host
 vermontcareergateway.org: could not connect to host
-vernonchan.com: could not connect to host
 vernonfishandgame.ca: did not receive HSTS header
 vernonhouseofhope.com: did not receive HSTS header
 vernontechnology.com: did not receive HSTS header
-veronicaphotography.com: could not connect to host
 versalhost.com: could not connect to host
 versalhost.nl: could not connect to host
 versfin.net: could not connect to host
@@ -29727,17 +32734,23 @@ versia.ru: did not receive HSTS header
 versolslapeyre.fr: did not receive HSTS header
 vertigo.com.br: did not receive HSTS header
 verustracking.com: could not connect to host
+verwimp.org: could not connect to host
+very-kids.fr: did not receive HSTS header
 veryhax.de: could not connect to host
+veryhome.com.pe: could not connect to host
 veryimportantusers.com: could not connect to host
 veryyounglesbians.com: did not receive HSTS header
+verzekeringsacties.nl: did not receive HSTS header
 verzick.com: could not connect to host
 vestacp.top: could not connect to host
 vet-planet.com: did not receive HSTS header
 vetdnacenter.com: did not receive HSTS header
-veteransonline.us: did not receive HSTS header
+veteransnewsroom.com: did not receive HSTS header
+veteransonline.us: could not connect to host
+vetergysurveys.com: did not receive HSTS header
 veterinaire-cazeres-foucault.fr: could not connect to host
 veterinarian-hospital.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-vethouse.com.ua: could not connect to host
+vethouse.com.ua: did not receive HSTS header
 vetmgmt.com: could not connect to host
 vetpraxis.de: did not receive HSTS header
 veusveus.cat: could not connect to host
@@ -29747,18 +32760,20 @@ vfn-nrw.de: could not connect to host
 vforvendetta.science: did not receive HSTS header
 vfree.org: could not connect to host
 vgatest.nl: could not connect to host
-vgchat.us: could not connect to host
 vglimg.com: could not connect to host
+vh.net: did not receive HSTS header
+vhasurvey.org: did not receive HSTS header
 vhost.co.id: could not connect to host
-vi.photo: could not connect to host
 viabemestar.com.br: could not connect to host
 viadeux.com: did not receive HSTS header
 viagusto.pl: could not connect to host
 vialorran.com: could not connect to host
 viato.fr: could not connect to host
+vibgyorrise.com: did not receive HSTS header
 vibrashop.com.br: did not receive HSTS header
 vicenage.com: could not connect to host
 viceversa.xyz: could not connect to host
+viceversa2013.org: could not connect to host
 vicgenesis.me: could not connect to host
 viciousflora.com: could not connect to host
 viciousviscosity.xyz: did not receive HSTS header
@@ -29766,18 +32781,7 @@ vickshomes.com: did not receive HSTS header
 victordiaz.me: did not receive HSTS header
 victorenxovais.com.br: could not connect to host
 victoreriksson.ch: could not connect to host
-victoreriksson.co: could not connect to host
-victoreriksson.com: could not connect to host
-victoreriksson.es: could not connect to host
-victoreriksson.eu: could not connect to host
-victoreriksson.info: could not connect to host
 victoreriksson.me: could not connect to host
-victoreriksson.net: could not connect to host
-victoreriksson.nu: could not connect to host
-victoreriksson.org: could not connect to host
-victoreriksson.se: could not connect to host
-victoreriksson.us: could not connect to host
-victoreriksson.xyz: could not connect to host
 victoriaville.ca: did not receive HSTS header
 victornilsson.pw: did not receive HSTS header
 victoroilpress.com: did not receive HSTS header
@@ -29785,14 +32789,15 @@ victorzambrano.com: did not receive HSTS header
 victusrp.gq: could not connect to host
 vida-it.com: did not receive HSTS header
 vida.es: could not connect to host
-vidadigitalecuador.com: did not receive HSTS header
+vidadigitalecuador.com: max-age too low: 0
 vidadu.com: could not connect to host
+vidasanayfitness.com: could not connect to host
 vidb.me: could not connect to host
 vidbuchanan.co.uk: did not receive HSTS header
 vidcloud.xyz: could not connect to host
 videnskabsklubben.dk: did not receive HSTS header
 videobola.win: could not connect to host
-videodrome.me: could not connect to host
+videodrome.me: max-age too low: 4838400
 videoload.co: could not connect to host
 videomuz.com: could not connect to host
 videorullen.se: could not connect to host
@@ -29805,30 +32810,27 @@ vidid.net: could not connect to host
 viditut.com: could not connect to host
 vidkovaomara.si: could not connect to host
 vidlyoficial.com: could not connect to host
-vidracariaespelhosbh.com.br: max-age too low: 0
-vidz.ga: could not connect to host
+vidz.ga: did not receive HSTS header
 viennan.net: did not receive HSTS header
 vierdaagsehotel.nl: could not connect to host
 vieref.eu: could not connect to host
 vierna.ga: could not connect to host
+viethungwork.vn: did not receive HSTS header
 vietnam-lifer.com: could not connect to host
 vietnamchevrolet.net: did not receive HSTS header
-vietnamguide.co.kr: did not receive HSTS header
 vietnamhost.vn: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 vietnamphotographytours.com: could not connect to host
 vietplan.vn: could not connect to host
 vieux.pro: could not connect to host
-viewey.com: could not connect to host
 viewflix.win: could not connect to host
 viewmyrecords.com: did not receive HSTS header
-viewsea.com: max-age too low: 0
-viflores.com: could not connect to host
 viga.me: could not connect to host
 vigenebio.com: did not receive HSTS header
 vigilanciatotal.com: could not connect to host
 vigilantesporcolombia.org: could not connect to host
 vigilo.cf: could not connect to host
 vigilo.ga: could not connect to host
+vigliano.ovh: did not receive HSTS header
 vigour.us: could not connect to host
 viikko.cf: could not connect to host
 viikko.eu: could not connect to host
@@ -29846,13 +32848,15 @@ viladochurrasco.com.br: did not receive HSTS header
 vilafloridacapivari.com.br: could not connect to host
 vilaydin.com: could not connect to host
 vilight.com.br: could not connect to host
-villa-anna-cilento.de: could not connect to host
+villa-anna-cilento.de: did not receive HSTS header
 villa-bellarte.de: did not receive HSTS header
+villa-toscana.berlin: could not connect to host
 villacarmela.com.br: could not connect to host
 villaella.com: did not receive HSTS header
 villainsclothing.com.au: could not connect to host
 villalaskowa.pl: did not receive HSTS header
 villasenor.online: could not connect to host
+vilnagaon.com: did not receive HSTS header
 vilog.me: could not connect to host
 vimeosucks.nyc: could not connect to host
 vinasec.se: could not connect to host
@@ -29871,20 +32875,23 @@ vincentkooijman.nl: could not connect to host
 vincentoshana.com: did not receive HSTS header
 vincentswordpress.nl: could not connect to host
 vinciconps4.it: could not connect to host
+vinco.ch: did not receive HSTS header
 vincura.io: did not receive HSTS header
+vindafrid.com: could not connect to host
 vineright.com: did not receive HSTS header
 vinesauce.info: could not connect to host
 vinetalk.net: could not connect to host
 vingt.me: could not connect to host
 viniferawineclub.com: did not receive HSTS header
-vinihk.com: could not connect to host
+vinigas.com: could not connect to host
+vinihk.com: did not receive HSTS header
 vinilosdecorativos.net: could not connect to host
 vinkt.eu: did not receive HSTS header
 vinnie.gq: could not connect to host
-vinogradovka.com: could not connect to host
+vinogradovka.com: did not receive HSTS header
 vinolli.de: could not connect to host
 vinosalmundo.com: did not receive HSTS header
-vinsetchampagne.fr: could not connect to host
+vintagetrailerbuyers.com: could not connect to host
 vintazh.net: could not connect to host
 vintock.com: could not connect to host
 vinyculture.com: did not receive HSTS header
@@ -29895,19 +32902,21 @@ violet-letter.delivery: could not connect to host
 viosey.com: could not connect to host
 vioye.com: could not connect to host
 vip-9649.com: could not connect to host
+vip-ssl.com: could not connect to host
 vip380.vip: max-age too low: 0
 vip4553.com: could not connect to host
-vip8522.com: could not connect to host
 vip9649.com: could not connect to host
-vipcards.top: could not connect to host
 vipcp.me: could not connect to host
 viperdns.com: did not receive HSTS header
 vipesball.net: could not connect to host
-viphospitality.se: did not receive HSTS header
+viphospitality.se: could not connect to host
 vipi.es: could not connect to host
 viplentes.com.br: did not receive HSTS header
+vipllcnj.com: could not connect to host
 vipmusic.ga: could not connect to host
 vipnettikasinoklubi.com: did not receive HSTS header
+viptamin.eu: did not receive HSTS header
+vipw66.com: could not connect to host
 viqo.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 viral8.jp: could not connect to host
 viralboombox.xyz: could not connect to host
@@ -29918,35 +32927,41 @@ virgiliocervantes.co.uk: did not receive HSTS header
 virginiacrimeanalysisnetwork.org: did not receive HSTS header
 virial.de: did not receive HSTS header
 virtual.hk: did not receive HSTS header
+virtualcitehuallaga.com: could not connect to host
+virtualcloud.ddns.net: could not connect to host
 virtualhealth.com: did not receive HSTS header
-virtualizy.de: could not connect to host
+virtualizy.de: did not receive HSTS header
 virtualstrongbox.ca: could not connect to host
 virus.pm: could not connect to host
 visa-shinsei.com: did not receive HSTS header
 visadaifu.com: could not connect to host
 visaexpert.co.za: did not receive HSTS header
 visanhigia.com: could not connect to host
-visasofoz.com: did not receive HSTS header
-viserproject.com: did not receive HSTS header
+viserproject.com: could not connect to host
+vishwashantiyoga.com: did not receive HSTS header
 visibleone.com: did not receive HSTS header
 visioflux-premium.com: could not connect to host
 vision-painting.com: did not receive HSTS header
 visionarymedia.nl: could not connect to host
 visiondigitalsog.com: could not connect to host
 visiondirectionaldrilling.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+visionexpress.com: did not receive HSTS header
 visionexpress.ie: did not receive HSTS header
+visionexpresscareers.com: could not connect to host
 visiongamestudios.com: could not connect to host
 visionthroughknowledge.com: could not connect to host
 visiontree-beta.eu: could not connect to host
-visiontree.eu: did not receive HSTS header
+visiontree.eu: could not connect to host
+visionviral.com: did not receive HSTS header
 visistruct.com: max-age too low: 2592000
-visitbroadstairs.com: did not receive HSTS header
+visitbroadstairs.com: could not connect to host
 vispaleistexel.nl: did not receive HSTS header
 vissanum.com: did not receive HSTS header
 vissersgrootboek.nl: did not receive HSTS header
+vista-calculator.ru: did not receive HSTS header
 vistaalmar.es: max-age too low: 2592000
 vistarait.com: could not connect to host
-vistodeturista.com.br: did not receive HSTS header
+visto.cl: could not connect to host
 visualdrone.co: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 visualgrafix.com.mx: could not connect to host
 visualvotes.co.uk: could not connect to host
@@ -29960,17 +32975,18 @@ vitalityscience.com: did not receive HSTS header
 vitalthings.de: could not connect to host
 vitamaxxi.com.br: could not connect to host
 vitamineproteine.com: did not receive HSTS header
-vitapingu.de: could not connect to host
+vitaminler.com: did not receive HSTS header
 vitavie.nl: did not receive HSTS header
 vitoye.com: could not connect to host
 vitpeyr.com: could not connect to host
 vitra-vcare.co.uk: did not receive HSTS header
 vitta.me: did not receive HSTS header
+vitzro.kr: did not receive HSTS header
 viva-french.com: did not receive HSTS header
 vivaldi-fr.com: did not receive HSTS header
-vivanosports.com.br: could not connect to host
 vivasports.com.br: could not connect to host
 viveconsalud.club: could not connect to host
+vivediabetes-sanamente.com: could not connect to host
 vivianmaier.cn: could not connect to host
 viviendy.com: did not receive HSTS header
 vivocloud.com: could not connect to host
@@ -29978,26 +32994,22 @@ vivoregularizafacil.com.br: could not connect to host
 vivoseg.com: could not connect to host
 vivremoinscher.fr: did not receive HSTS header
 viza.io: could not connect to host
-vizards.cc: could not connect to host
 vizeat.com: did not receive HSTS header
-vizeyurdu.com: did not receive HSTS header
 vizierdata.ca: could not connect to host
 vizuul.com: did not receive HSTS header
-vjirovsky.cz: could not connect to host
 vk4wip.org.au: did not receive HSTS header
 vkennke.org: could not connect to host
 vkirichenko.name: could not connect to host
 vkulagin.ru: could not connect to host
-vkwebsite.ru: could not connect to host
-vladsfads.com: could not connect to host
 vlakjebak.nl: could not connect to host
+vlamir.dynu.net: could not connect to host
 vlastimilburian.cz: did not receive HSTS header
 vleij.family: could not connect to host
+vleij.se: could not connect to host
 vlogge.com: could not connect to host
 vlora.city: could not connect to host
 vlsk.eu: could not connect to host
-vlsm.se: did not receive HSTS header
-vlvvl.com: could not connect to host
+vlsm.se: could not connect to host
 vlzbazar.ru: could not connect to host
 vmc.co.id: did not receive HSTS header
 vmconnected.co.uk: did not receive HSTS header
@@ -30005,14 +33017,14 @@ vmem.jp: did not receive HSTS header
 vmoagents.com: could not connect to host
 vmrdev.com: could not connect to host
 vmstan.com: did not receive HSTS header
-vmzone.de: did not receive HSTS header
+vmzone.de: could not connect to host
 vncg.org: did not receive HSTS header
+vnology.com: could not connect to host
 vnpay.vn: did not receive HSTS header
 vnpem.org: did not receive HSTS header
-vns1780.com: could not connect to host
+vns1780.com: did not receive HSTS header
 vns3780.com: could not connect to host
 vns5656.com: could not connect to host
-vns6868.com: could not connect to host
 vocab.guru: could not connect to host
 vocalik.com: could not connect to host
 vocalsynth.space: could not connect to host
@@ -30027,6 +33039,7 @@ vogt.tech: could not connect to host
 voicesuk.co.uk: did not receive HSTS header
 void-it.nl: could not connect to host
 void-zero.com: did not receive HSTS header
+void.to: did not receive HSTS header
 voidark.com: could not connect to host
 voidbot.tk: could not connect to host
 voidi.ca: could not connect to host
@@ -30043,17 +33056,20 @@ voipkb.com: did not receive HSTS header
 voiro.club: could not connect to host
 voirodaisuki.club: could not connect to host
 vojenshandicap.dk: could not connect to host
+vojtechpavelka.cz: did not receive HSTS header
 vojtekpince.hu: did not receive HSTS header
 vokalsystem.com: did not receive HSTS header
-vokurka.net: did not receive HSTS header
 volatimer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 volbyzive.cz: could not connect to host
 volcain.io: could not connect to host
 volcanconcretos.com: could not connect to host
 volcano-kazan.ru: could not connect to host
 volcano-spb.ru: could not connect to host
+volcano-ug.ru: could not connect to host
 volcano-vts.ru: could not connect to host
+volcano-x.ru: could not connect to host
 volcano24.ru: could not connect to host
+volcano75.ru: could not connect to host
 volcanov.ru: could not connect to host
 volcrado.com: could not connect to host
 volkden.com: could not connect to host
@@ -30062,7 +33078,6 @@ volksvorschlagpmar.ch: could not connect to host
 volkswurst.de: did not receive HSTS header
 vollmondstollen.de: could not connect to host
 volosnet.tk: could not connect to host
-volqanic.com: could not connect to host
 volta.io: could not connect to host
 voltimax.com: could not connect to host
 voltotc.com: could not connect to host
@@ -30073,46 +33088,53 @@ von-lien-lichtplatten.de: did not receive HSTS header
 von-lien-profilbleche.de: did not receive HSTS header
 vonavy-cukor.sk: could not connect to host
 vonavycukor.sk: could not connect to host
+vonborstelboerner.de: did not receive HSTS header
 vonedelmann.de: did not receive HSTS header
 vongerlach.at: did not receive HSTS header
 vonski.pl: could not connect to host
+voolik.pw: could not connect to host
 vorangerie.com: could not connect to host
 vorderklier.de: could not connect to host
+vorlicek.de: could not connect to host
 vorlif.org: did not receive HSTS header
 vorte.ga: could not connect to host
 vortexhobbies.com: did not receive HSTS header
 vos-fleurs.ch: could not connect to host
 vos-fleurs.com: could not connect to host
 vosjesweb.nl: could not connect to host
-vossenack.nrw: did not receive HSTS header
+vosky.fr: could not connect to host
+voss-zaehne.com: could not connect to host
+voss-zaehne.de: could not connect to host
 vostok-zapad54.ru: could not connect to host
 votelevy.gov: could not connect to host
 votemarion.gov: could not connect to host
 votercircle.com: did not receive HSTS header
 voterstartingpoint.uk: could not connect to host
 votewa.gov: max-age too low: 2592000
-votre-site-internet.ch: did not receive HSTS header
-votresiteweb.ch: could not connect to host
+votra.ru: did not receive HSTS header
+votre-site-internet.ch: could not connect to host
 vow.vn: did not receive HSTS header
 vowsy.club: could not connect to host
 vox.vg: could not connect to host
+voxographe.com: did not receive HSTS header
 voya.ga: did not receive HSTS header
-vozami.com: could not connect to host
+voyageofyume.com: could not connect to host
 vpip.net: could not connect to host
-vpl.me: could not connect to host
+vpl.me: did not receive HSTS header
 vpn-byen.dk: did not receive HSTS header
 vpn.pics: could not connect to host
+vpnet.net: did not receive HSTS header
 vpnhot.com: could not connect to host
 vpntech.net: did not receive HSTS header
 vpnzoom.com: did not receive HSTS header
 vps-szerver-berles.hu: could not connect to host
 vpsao.org: could not connect to host
 vpsmojo.com: did not receive HSTS header
-vpsproj.dynu.net: did not receive HSTS header
 vpsvz.cloud: could not connect to host
 vpsvz.ninja: could not connect to host
 vqporn.com: did not receive HSTS header
 vrachi.online: did not receive HSTS header
+vractive.pl: could not connect to host
 vranjske.co.rs: could not connect to host
 vratny.space: could not connect to host
 vrcholovka.cz: did not receive HSTS header
@@ -30130,21 +33152,29 @@ vrijstaandhuis-in-zuidplas-kopen.nl: could not connect to host
 vrijstaandhuis-in-zwartewaterland-kopen.nl: could not connect to host
 vrijstaandhuisverkopen.nl: could not connect to host
 vrobert.fr: could not connect to host
+vroyaltours.com: did not receive HSTS header
+vrtak-cz.net: did not receive HSTS header
 vrtouring.org: could not connect to host
 vrzl.pro: could not connect to host
+vs303.com: could not connect to host
+vs603.com: could not connect to host
+vs677.com: could not connect to host
 vsamsonov.com: could not connect to host
 vsc-don-stocksport.de: did not receive HSTS header
+vscm888.com: did not receive HSTS header
 vsem-privet.tk: could not connect to host
+vsestiralnie.com: did not receive HSTS header
 vstehn.ru: did not receive HSTS header
 vtipe-vylez.cz: did not receive HSTS header
 vtuber-schedule.info: could not connect to host
 vtuber.art: could not connect to host
-vuasinhly.com: did not receive HSTS header
+vtuber.land: could not connect to host
+vuasinhly.com: could not connect to host
 vuatruyen.com: did not receive HSTS header
 vucdn.com: could not connect to host
-vullriede-multimedia.de: could not connect to host
+vuelacaruru.com: could not connect to host
 vulndetect.org: did not receive HSTS header
-vulnerabilities.io: could not connect to host
+vulnerabilities.io: did not receive HSTS header
 vuojolahti.com: did not receive HSTS header
 vuojolahti.fi: did not receive HSTS header
 vuosaarenmontessoritalo.fi: did not receive HSTS header
@@ -30153,91 +33183,97 @@ vv6729.co: could not connect to host
 vv6729.com: did not receive HSTS header
 vv6957.co: could not connect to host
 vv9297.co: could not connect to host
-vv9397.com: could not connect to host
-vv9721.com: could not connect to host
+vv9397.com: did not receive HSTS header
+vv9721.com: did not receive HSTS header
 vv9728.co: could not connect to host
+vvs.spb.ru: did not receive HSTS header
 vvw-8522.com: could not connect to host
 vvzero.cf: could not connect to host
-vvzero.com: did not receive HSTS header
-vvzero.me: did not receive HSTS header
 vw-touranclub.cz: could not connect to host
 vwhcare.com: did not receive HSTS header
 vwoforangeparts.com: could not connect to host
+vwt-event.nl: could not connect to host
 vww-8522.com: could not connect to host
 vxapps.com: could not connect to host
 vxml.club: could not connect to host
 vxst.org: max-age too low: 2592000
 vxstream-sandbox.com: did not receive HSTS header
-vykup-car.ru: could not connect to host
+vykup-car.ru: did not receive HSTS header
 vynedmusic.com: did not receive HSTS header
 vyshivanochka.in.ua: could not connect to host
 vysvetluju.cz: could not connect to host
+vytea.com: did not receive HSTS header
 vyvybean.cf: could not connect to host
 vyvygen.com: did not receive HSTS header
 vzce.cn: could not connect to host
 vzk.io: could not connect to host
 vztekloun.cz: could not connect to host
+w-spotlight.appspot.com: could not connect to host (error ignored - included regardless)
 w-ws.ga: could not connect to host
-w000999.com: could not connect to host
+w00228.com: could not connect to host
 w0115.com: could not connect to host
+w0202w.com: did not receive HSTS header
 w10club.com: could not connect to host
 w1221.com: did not receive HSTS header
 w2gshop.com.br: could not connect to host
 w30365.com: could not connect to host
 w3n.org: could not connect to host
+w3n14izy.cf: could not connect to host
+w3n14izy.ga: could not connect to host
 w3n14izy.gq: could not connect to host
+w3n14izy.ml: could not connect to host
+w3n14izy.tk: could not connect to host
 w4a.fr: could not connect to host
 w4b.in: could not connect to host
-w4solutions.de: could not connect to host
 w4xzr.top: could not connect to host
 w4xzr.xyz: could not connect to host
 w5197.co: could not connect to host
 w6603.com: could not connect to host
 w6612.net: could not connect to host
-w662211.com: could not connect to host
 w66938.com: could not connect to host
 w6729.co: could not connect to host
 w6729.com: did not receive HSTS header
 w6863.com: could not connect to host
 w6957.co: could not connect to host
 w80010.com: could not connect to host
+w81365.com: did not receive HSTS header
+w81818.com: did not receive HSTS header
+w82365.com: did not receive HSTS header
 w84.it: could not connect to host
 w9297.co: could not connect to host
-w9397.com: could not connect to host
+w9397.com: did not receive HSTS header
 w95.pw: could not connect to host
-w9710.com: did not receive HSTS header
-w9720.com: did not receive HSTS header
-w9721.com: could not connect to host
+w9710.com: could not connect to host
+w9720.com: could not connect to host
+w9721.com: did not receive HSTS header
 w9728.co: could not connect to host
 w9730.com: could not connect to host
-w9740.com: did not receive HSTS header
-w9750.com: did not receive HSTS header
+w9740.com: could not connect to host
+w9750.com: could not connect to host
 w97a.com: could not connect to host
-w97aa.com: did not receive HSTS header
-w97app.com: did not receive HSTS header
-w97app2.com: did not receive HSTS header
-w97app3.com: did not receive HSTS header
-w97bb.com: did not receive HSTS header
-w97cc.com: did not receive HSTS header
+w97app.com: could not connect to host
+w97app2.com: could not connect to host
+w97app3.com: could not connect to host
 w9rld.com: did not receive HSTS header
 wa3368.com: could not connect to host
 wabifoggynuts.com: could not connect to host
 wachter.biz: could not connect to host
 wachtwoordencheck.nl: could not connect to host
-wacky-science.com: could not connect to host
 wadvisor.com: could not connect to host
 wafa4hw.com: could not connect to host
-wafelland.be: did not receive HSTS header
 wafni.com: could not connect to host
 wage-feeg.gc.ca: could not connect to host
 waggs.link: could not connect to host
+wagnergroup.com: did not receive HSTS header
 wahhoi.net: did not receive HSTS header
 wahidhasan.com: did not receive HSTS header
 wahlman.org: did not receive HSTS header
 wai-in.com: could not connect to host
 waidu.de: could not connect to host
 waifu-technologies.com: could not connect to host
+waifu.space: could not connect to host
 waikatowebdesigners.com: could not connect to host
+wail.net: could not connect to host
 wains.be: did not receive HSTS header
 wait.jp: could not connect to host
 wait.moe: could not connect to host
@@ -30245,25 +33281,26 @@ waiterwheels.com: did not receive HSTS header
 waivcollective.com: did not receive HSTS header
 waixingrenfuli7.vip: could not connect to host
 wajtc.com: could not connect to host
+wak.io: could not connect to host
 wakapp.de: could not connect to host
 wakastream.cc: could not connect to host
 wakened.net: did not receive HSTS header
 walentin.co: could not connect to host
+waligorska.pl: could not connect to host
 walkeryoung.ca: could not connect to host
 walkingforhealth.org.uk: did not receive HSTS header
 wallabag.it: did not receive HSTS header
 wallabag.org: did not receive HSTS header
+wallace-group.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 wallacequinn.co.uk: did not receive HSTS header
 wallet.google.com: did not receive HSTS header (error ignored - included regardless)
-wallet.pp.ua: could not connect to host
 wallethub.com: did not receive HSTS header
 wallis-inside.ch: could not connect to host
+wallisdiervoeding.nl: max-age too low: 0
 wallsblog.dk: could not connect to host
 walnutgaming.co.uk: could not connect to host
 walterlynnmosley.com: did not receive HSTS header
-waltervictor.com: could not connect to host
 walvi.nl: did not receive HSTS header
-wan.pp.ua: could not connect to host
 wanashi.com: could not connect to host
 wanban.io: could not connect to host
 wancai666.com: max-age too low: 0
@@ -30301,9 +33338,9 @@ wangql.net: could not connect to host
 wangwill.me: could not connect to host
 wangyubao.cn: could not connect to host
 wanmen.org: did not receive HSTS header
-wantshow.com.br: did not receive HSTS header
+wantocode.com: could not connect to host
+wantshow.com.br: could not connect to host
 wanybug.cf: could not connect to host
-wanybug.cn: did not receive HSTS header
 wanybug.ga: could not connect to host
 wanybug.gq: could not connect to host
 wanybug.tk: could not connect to host
@@ -30325,6 +33362,8 @@ warlions.info: could not connect to host
 warmcat.com: could not connect to host
 warmestwishes.ca: could not connect to host
 warmservers.com: could not connect to host
+warmsquirrel.com: did not receive HSTS header
+warmtepomp.express: could not connect to host
 warnings.xyz: did not receive HSTS header
 warren.sh: could not connect to host
 warrencreative.com: did not receive HSTS header
@@ -30337,44 +33376,49 @@ wasatchconstables.com: did not receive HSTS header
 wasatchcrest.com: did not receive HSTS header
 wasgehtheute.in: could not connect to host
 washandfun.com: did not receive HSTS header
+washcowi.gov: could not connect to host
+washcowisco.gov: could not connect to host
+washingtoncountywi.gov: could not connect to host
 wasil.org: did not receive HSTS header
 wassim.is: could not connect to host
-wasticker.ru: could not connect to host
 watashi.bid: could not connect to host
 watboeithet.nl: could not connect to host
-watchinventory.com: did not receive HSTS header
 watchium.com: could not connect to host
 watchonline.al: could not connect to host
 watchtv-online.pw: could not connect to host
 watchweasel.com: could not connect to host
 waterfedpole.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-waterforlife.net.au: did not receive HSTS header
-waterpoint.com.br: could not connect to host
+waterforlife.net.au: could not connect to host
+waterpoint.com.br: did not receive HSTS header
 waterproofingahmedabad.com: did not receive HSTS header
 waterseal.in: did not receive HSTS header
 watersportmarkt.net: could not connect to host
 waterworkscondos.com: could not connect to host
 watsonhall.uk: could not connect to host
 watsonwork.me: could not connect to host
+wattcontrol.cz: did not receive HSTS header
 wattechweb.com: did not receive HSTS header
 watvindtnederland.com: could not connect to host
 waukeect.com: could not connect to host
 wave-ola.es: could not connect to host
-wavefloatrooms.com: could not connect to host
+wavefloatrooms.com: did not receive HSTS header
 wavefrontsystemstech.com: could not connect to host
 waverlypa.gov: did not receive HSTS header
 waverlysecuritycameras.com: did not receive HSTS header
 waverlytn.gov: did not receive HSTS header
 waxlrs.com: could not connect to host
 waycraze.com: could not connect to host
+wayfair.de: max-age too low: 300
 waylandss.com: did not receive HSTS header
 waylaydesign.com: did not receive HSTS header
-waylee.net: could not connect to host
+waylee.net: did not receive HSTS header
 waynecountyoh.gov: did not receive HSTS header
 wayuanma.com: could not connect to host
+wbcasaverde.co: could not connect to host
 wbit.co.il: did not receive HSTS header
 wbut.ml: could not connect to host
 wbx.support: did not receive HSTS header
+wby.by: could not connect to host
 wby.gd: could not connect to host
 wby.tw: could not connect to host
 wc11122.com: max-age too low: 0
@@ -30391,8 +33435,9 @@ wcw668.com: max-age too low: 0
 wcw9366.com: max-age too low: 0
 wcwcp88.com: max-age too low: 0
 wd627.com: could not connect to host
+wd63.cc: could not connect to host
 wd976.com: could not connect to host
-wdic.org: could not connect to host
+wdbgroup.co.uk: did not receive HSTS header
 wdj1023.com: max-age too low: 0
 wdrl.info: did not receive HSTS header
 wdt.io: could not connect to host
@@ -30400,45 +33445,51 @@ we-run-linux.de: could not connect to host
 we-use-linux.de: could not connect to host
 we.serveftp.net: could not connect to host
 we9988.net: could not connect to host
+weadvize.fr: could not connect to host
 wealthcentral.com.au: did not receive HSTS header
 wealthformyhealth.com: did not receive HSTS header
 wear2work.nl: did not receive HSTS header
-wearedisneyland.com: did not receive HSTS header
+wearedisneyland.com: could not connect to host
 wearehackerone.com: could not connect to host
 weareincognito.org: could not connect to host
-wearesouthafricans.com: did not receive HSTS header
+wearethreebears.co.uk: did not receive HSTS header
 wearewithyou.org: could not connect to host
 weather-and-climate.com: did not receive HSTS header
 weaverhairextensions.nl: could not connect to host
 web-adminy.co.uk: did not receive HSTS header
 web-advisor.co.uk: could not connect to host
 web-demarche.com: could not connect to host
-web-dl.cc: could not connect to host
+web-desing.com.ua: did not receive HSTS header
+web-dl.cc: did not receive HSTS header
 web-fox23.ru: did not receive HSTS header
 web-industry.fr: could not connect to host
 web-insider.net: did not receive HSTS header
+web-kouza.com: did not receive HSTS header
+web-lab.ml: did not receive HSTS header
+web-mail.info: could not connect to host
 web-vision.de: did not receive HSTS header
-web1n.com: could not connect to host
+web1n.com: did not receive HSTS header
 web4all.fr: did not receive HSTS header
 web4pro.fr: could not connect to host
-webais.ru: could not connect to host
+webaeon.org: could not connect to host
 webalert.cz: did not receive HSTS header
 webambacht.nl: could not connect to host
 webandwords.com.au: could not connect to host
 webanker.sh: could not connect to host
 webapky.cz: could not connect to host
 webappky.cz: could not connect to host
-webapps.directory: could not connect to host
-webart-factory.de: could not connect to host
+webapps.directory: did not receive HSTS header
 webassadors.com: could not connect to host
 webauthority.co.uk: could not connect to host
 webbson.net: could not connect to host
 webbuzz.com.au: did not receive HSTS header
 webbx.se: did not receive HSTS header
+webceo.se: could not connect to host
 webchat.domains: could not connect to host
 webcreation.rocks: could not connect to host
 webdeflect.com: did not receive HSTS header
 webdesign-kronberg.de: did not receive HSTS header
+webdesign-st.de: did not receive HSTS header
 webdesignerinwarwickshire.co.uk: did not receive HSTS header
 webdesignplay.com: could not connect to host
 webdesignssussex.co.uk: could not connect to host
@@ -30446,27 +33497,29 @@ webdestiny.net: did not receive HSTS header
 webdev-cw.me: could not connect to host
 webdev-quiz.de: did not receive HSTS header
 webdev.mobi: could not connect to host
-webdevxp.com: could not connect to host
+webdevops.io: did not receive HSTS header
 webdollarvpn.io: could not connect to host
 webdosh.com: did not receive HSTS header
+webeast.eu: could not connect to host
 webeconomia.it: did not receive HSTS header
 webelement.sk: did not receive HSTS header
 weberjulia.com: did not receive HSTS header
 webetnet.fr: did not receive HSTS header
-webev.ru: could not connect to host
+webev.ru: did not receive HSTS header
 webfilings-eu-mirror.appspot.com: did not receive HSTS header (error ignored - included regardless)
 webfox.com.br: did not receive HSTS header
 webfronten.dk: did not receive HSTS header
 webgap.me: did not receive HSTS header
-webgeneric.xyz: could not connect to host
+webgeneric.xyz: did not receive HSTS header
 webhackspro.com: could not connect to host
 webhopp.com: could not connect to host
 webhosting4.net: did not receive HSTS header
 webhostingpros.ml: could not connect to host
 webhostplan.info: could not connect to host
 webinator.tk: could not connect to host
+webjobposting.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 webkeks.org: did not receive HSTS header
-webless.com: did not receive HSTS header
+webless.com: could not connect to host
 weblogic.pl: did not receive HSTS header
 webm.to: could not connect to host
 webmail.mayfirst.org: did not receive HSTS header
@@ -30483,6 +33536,9 @@ webnosql.com: could not connect to host
 webogram.org: did not receive HSTS header
 webperformance.ru: could not connect to host
 webplatform.fi: did not receive HSTS header
+webpostingmart.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+webpostingpro.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+webpostingreviews.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 webproject.rocks: did not receive HSTS header
 webproshosting.tk: could not connect to host
 webproxy.pw: could not connect to host
@@ -30497,17 +33553,18 @@ websiteforlease.ca: did not receive HSTS header
 websiterent.ca: could not connect to host
 websites4business.ca: could not connect to host
 websitesabq.com: did not receive HSTS header
-websitesolutionsmedia.com: did not receive HSTS header
+websitesolutionsmedia.com: could not connect to host
 websouthdesign.com: could not connect to host
 webspotter.nl: could not connect to host
 webstationservice.fr: could not connect to host
+webstellung.com: could not connect to host
 webstory.xyz: did not receive HSTS header
 webswitch.io: could not connect to host
 webszolgaltatas.hu: did not receive HSTS header
 webtalis.nl: did not receive HSTS header
-webtar.info: could not connect to host
-webtech.com.br: could not connect to host
-webtechgadgetry.com: did not receive HSTS header
+webtar.info: did not receive HSTS header
+webtech.com.br: did not receive HSTS header
+webtechgadgetry.com: could not connect to host
 webtek.nu: could not connect to host
 webthings.com.br: could not connect to host
 webtiles.co.uk: could not connect to host
@@ -30524,7 +33581,7 @@ webzanem.com: could not connect to host
 wecanfindit.co.za: could not connect to host
 wecanvisit.com: could not connect to host
 wedding-m.jp: did not receive HSTS header
-weddingalbumsdesign.com: did not receive HSTS header
+weddingalbumsdesign.com: max-age too low: 2592000
 weddingfantasy.ru: could not connect to host
 weddingibiza.nl: could not connect to host
 weddingofficiantwilmington.com: could not connect to host
@@ -30532,23 +33589,30 @@ wedestock.com: did not receive HSTS header
 wedos.com: did not receive HSTS header
 wedotrains.club: could not connect to host
 wedplay.host: could not connect to host
+weeblrpress.com: did not receive HSTS header
 weebsr.us: could not connect to host
 weed.ren: could not connect to host
-weedcircles.com: could not connect to host
+weedcircles.com: did not receive HSTS header
+weedelec.pl: did not receive HSTS header
 weedlandia.org: could not connect to host
-weednews.co: could not connect to host
+week.report: could not connect to host
+weeka.cc: did not receive HSTS header
 weekly.fyi: could not connect to host
 weeklycenter.co.jp: did not receive HSTS header
-weems.fr: could not connect to host
+weems.fr: max-age too low: 0
+wefinanceinc.com: did not receive HSTS header
 weforgood.org.tw: could not connect to host
 wegenaer.nl: could not connect to host
 wegethitched.co.uk: could not connect to host
 weggeweest.nl: could not connect to host
+wegiel24.info: did not receive HSTS header
 wegner.no: could not connect to host
+wegvielfalt.de: could not connect to host
 weicn.org: did not receive HSTS header
 weidehelp.com: did not receive HSTS header
+weideheuvel.org: could not connect to host
 weightreviews.com: could not connect to host
-weiji.ga: did not receive HSTS header
+weiji.ga: could not connect to host
 weiler.xyz: could not connect to host
 weili1111.com: could not connect to host
 weili1120.com: could not connect to host
@@ -30564,17 +33628,21 @@ weilibet.net: could not connect to host
 weilibet.org: could not connect to host
 weiliyule.com: could not connect to host
 weiliyule.net: could not connect to host
+weiltoast.de: could not connect to host
 weimaraner.com.br: could not connect to host
 weiming.ddns.net: did not receive HSTS header
 weinhandel-preissler.de: could not connect to host
+weiran.org.cn: could not connect to host
 weirdserver.com: could not connect to host
 weizenke.im: could not connect to host
 wejumall.com: did not receive HSTS header
 wekibe.de: could not connect to host
 welby.cat: did not receive HSTS header
 welches-kinderfahrrad.de: could not connect to host
+welcome-werkstatt.com: could not connect to host
+welcome-werkstatt.de: max-age too low: 172800
 welcomehelp.de: could not connect to host
-weldwp.com: could not connect to host
+weldotherm.fr: did not receive HSTS header
 welkers.org: could not connect to host
 wellacapability.com: did not receive HSTS header
 wellandslim.de: did not receive HSTS header
@@ -30597,8 +33665,7 @@ welsh.com.br: could not connect to host
 weltentreff.com: could not connect to host
 weltmeisterschaft.net: could not connect to host
 wemakebookkeepingeasy.com: could not connect to host
-weme.eu: could not connect to host
-wenchieh.com: could not connect to host
+weme.eu: did not receive HSTS header
 wendabisheng.com: max-age too low: 0
 wendalyncheng.com: did not receive HSTS header
 wendigo.pl: max-age too low: 0
@@ -30608,15 +33675,17 @@ wenode.net: did not receive HSTS header
 wenta-computerservice.net: could not connect to host
 wentu.ml: could not connect to host
 wenz.io: did not receive HSTS header
+wepa.pe: could not connect to host
 wer.sh: did not receive HSTS header
 werbewelt-tv.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 werdeeintimo.de: could not connect to host
 wereldplanner.nl: could not connect to host
+werepairit.com.au: did not receive HSTS header
 werhatunsverraten.eu: could not connect to host
 werkaanonderwijs.nl: did not receive HSTS header
 werken-bij-inwork.nl: could not connect to host
 werkenbijkfc.nl: did not receive HSTS header
-werkeninvledder.nl: did not receive HSTS header
+werkeninvledder.nl: could not connect to host
 werkinholland.com: could not connect to host
 werkplaatsoost.nl: did not receive HSTS header
 werkruimtebottendaal.nl: could not connect to host
@@ -30642,15 +33711,16 @@ westhighlandwhiteterrier.com.br: could not connect to host
 westlahair.com: did not receive HSTS header
 westlaketire.pt: did not receive HSTS header
 westlife.cn: did not receive HSTS header
-westlights.net: did not receive HSTS header
+westlights.net: could not connect to host
 westlinwinds.com: could not connect to host
 westsussexconnecttosupport.org: could not connect to host
+westthorntonlabour.co.uk: did not receive HSTS header
 westtulsa.com: did not receive HSTS header
 westwood.no: did not receive HSTS header
 wetherbymethodist.org.uk: did not receive HSTS header
 wetherbyweather.org.uk: did not receive HSTS header
 wetoxic.com: could not connect to host
-wettanbieter-vergleich.de: could not connect to host
+wetpussylipsex.com: could not connect to host
 wettbonus.info: max-age too low: 0
 wettbuero.de: did not receive HSTS header
 wettertoertchen.com: could not connect to host
@@ -30679,73 +33749,77 @@ wgsi-friesland.nl: did not receive HSTS header
 whanau.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 whanwhy.com: max-age too low: 0
 whatanime.ga: could not connect to host
+whatdevotion.com: did not receive HSTS header
 whateveraspidercan.com: did not receive HSTS header
 whatisl.ovh: could not connect to host
+whatismyipaddress.ca: could not connect to host
+whatismypublicip.com: did not receive HSTS header
 whats.io: could not connect to host
 whatsapp.com: did not receive HSTS header
 whatsapp.net: did not receive HSTS header
 whatsstalk.me: could not connect to host
 whatsupdeco.com: did not receive HSTS header
-whatsyouroffer.co.uk: did not receive HSTS header
+whatsyouroffer.co.uk: could not connect to host
 whdpc.gov: could not connect to host
-wheatgra.in: could not connect to host
 wheeler.kiwi.nz: could not connect to host
 wheelwide.co.uk: could not connect to host
 wheelwright.org: did not receive HSTS header
 wheezie.be: did not receive HSTS header
 when-release.com: did not receive HSTS header
 when-release.ru: did not receive HSTS header
+when.fm: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 whereisjason.com: could not connect to host
 whereismyorigin.cf: could not connect to host
 whereiszakir.com: could not connect to host
 wherephoto.com: could not connect to host
 wheresben.today: could not connect to host
 whexit.nl: could not connect to host
-whiletrue.run: did not receive HSTS header
+whiletrue.run: could not connect to host
 whilsttraveling.com: could not connect to host
 whimtrip.fr: could not connect to host
-whirlpool-luboss.de: could not connect to host
 whisker.network: could not connect to host
 whiskey.town: did not receive HSTS header
 whisperwashonline.com: did not receive HSTS header
 whistler-transfers.com: did not receive HSTS header
 whiteeagleca.com: did not receive HSTS header
 whitehat.id: could not connect to host
-whitepinetn.gov: could not connect to host
-whiterabbitcakery.com: could not connect to host
+whitepinetn.gov: did not receive HSTS header
+whiterabbitcakery.com: did not receive HSTS header
 whiteready.it: did not receive HSTS header
 whiteroom.agency: did not receive HSTS header
 whiteshadowimperium.com: could not connect to host
 whitestagforge.com: did not receive HSTS header
-whitewebhosting.co.za: did not receive HSTS header
+whitesuithacking.com: did not receive HSTS header
+whitewebhosting.co.za: could not connect to host
 whitewebhosting.com: could not connect to host
-whitewinterwolf.com: could not connect to host
+whnpa.org: did not receive HSTS header
 who.pm: could not connect to host
-whoasome.com: could not connect to host
 whoclicks.net: could not connect to host
-whoisamitsingh.com: could not connect to host
+whoisamitsingh.com: did not receive HSTS header
 whoisapi.online: could not connect to host
 whoiscuter.ml: could not connect to host
 whoiscutest.ml: could not connect to host
 whoisdhh.com: could not connect to host
+whoisthenightking.com: could not connect to host
 whoiswp.com: could not connect to host
 wholelotofbounce.co.uk: could not connect to host
-wholesalecbd.com: did not receive HSTS header
-wholikes.us: did not receive HSTS header
+wholesalecbd.com: could not connect to host
+wholikes.us: could not connect to host
 whoneedstobeprimaried.today: could not connect to host
 whoownsmyavailability.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 whoshotya.de: did not receive HSTS header
 whosyourdaddy.ml: could not connect to host
 whqqq.com: could not connect to host
 whtcsj.com: could not connect to host
+whychoosebob.net.au: could not connect to host
 whysuck.com: could not connect to host
 whythisguy.com: did not receive HSTS header
 wiapply.com: could not connect to host
 wibruje.pl: did not receive HSTS header
 wibuw.com: could not connect to host
-widenews.org: did not receive HSTS header
 widoj.gov: could not connect to host
 wiebetaaltdat.nl: could not connect to host
+wielrenbond.ml: could not connect to host
 wien52.com: could not connect to host
 wienerwichtelchallenge.at: did not receive HSTS header
 wieninternational.at: could not connect to host
@@ -30755,8 +33829,11 @@ wiiaam.com: could not connect to host
 wiiforum.no: did not receive HSTS header
 wiire.me: could not connect to host
 wijnimportjanssen.nl: did not receive HSTS header
+wikibulz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 wikiclash.info: could not connect to host
 wikilivres.ca: could not connect to host
+wikimilk.org: could not connect to host
+wikipiedi.it: could not connect to host
 wikisports.eu: could not connect to host
 wikiwp.org: could not connect to host
 wiktoriaslife.com: did not receive HSTS header
@@ -30764,14 +33841,16 @@ wild-emotion-events.de: could not connect to host
 wildbee.org: could not connect to host
 wildboaratvparts.com: did not receive HSTS header
 wildcard.hu: could not connect to host
+wildcardcorp.com: max-age too low: 300
+wildcardfederal.net: could not connect to host
 wildcatdiesel.com.au: did not receive HSTS header
+wilddirections.co.uk: did not receive HSTS header
 wilddog.com: did not receive HSTS header
 wilderky.gov: did not receive HSTS header
 wildlifeadaptationstrategy.gov: could not connect to host
 wildrough.com: did not receive HSTS header
 wildwind.world: could not connect to host
 wildzoopark.com: could not connect to host
-wilf1rst.com: could not connect to host
 willbarnesphotography.co.uk: could not connect to host
 willcipriano.com: could not connect to host
 willdropphoto.co.uk: could not connect to host
@@ -30784,18 +33863,20 @@ williamsapiens.com: could not connect to host
 williamscountyoh.gov: did not receive HSTS header
 williamsflintlocks.com: did not receive HSTS header
 williamtm.design: could not connect to host
-willkommen-fuerstenberg.de: could not connect to host
+willkommen-fuerstenberg.de: did not receive HSTS header
+willowtree.school: did not receive HSTS header
+willtc.co.uk: could not connect to host
 willywangstory.com.tw: could not connect to host
 willywangstory.org: could not connect to host
 wilsonovi.com: could not connect to host
 wilsonvilleoregon.gov: could not connect to host
+wimbo.nl: did not receive HSTS header
 winaes.com: could not connect to host
 winbignow.click: could not connect to host
 wincasinowin.click: could not connect to host
 winclient.cn: could not connect to host
-wind.moe: did not receive HSTS header
 winddan.nz: could not connect to host
-windholz.us: did not receive HSTS header
+windholz.us: could not connect to host
 windows10insider.com: did not receive HSTS header
 windowsforum.com: did not receive HSTS header
 windowstech.it: did not receive HSTS header
@@ -30805,6 +33886,7 @@ windrunner.se: could not connect to host
 winds.cf: could not connect to host
 windwoodmedia.com: could not connect to host
 windwoodweb.com: could not connect to host
+windycitydubfest.com: did not receive HSTS header
 wine-importer.ru: could not connect to host
 winecodeavocado.com: could not connect to host
 wineonthewall.com: did not receive HSTS header
@@ -30823,6 +33905,7 @@ winportal.cz: could not connect to host
 winsec.nl: could not connect to host
 winshiplending.com: could not connect to host
 winsufi.biz: could not connect to host
+winter.engineering: did not receive HSTS header
 wintercircle.co: max-age too low: 60
 wintzenterprise.com: did not receive HSTS header
 winwitharval.co.uk: could not connect to host
@@ -30830,6 +33913,7 @@ wipc.net: did not receive HSTS header
 wipply.com: could not connect to host
 wirc.gr: could not connect to host
 wircon-int.net: could not connect to host
+wireframesoftware.com: did not receive HSTS header
 wirelesswatch.com.au: could not connect to host
 wiretrip.io: could not connect to host
 wirkaufendeinau.to: could not connect to host
@@ -30837,9 +33921,10 @@ wisak.eu: did not receive HSTS header
 wisdomize.me: could not connect to host
 wisecountytx.gov: did not receive HSTS header
 wiseflat.com: did not receive HSTS header
-wiseloan.com: did not receive HSTS header
+wiseloan.com: could not connect to host
 wishcert.com: could not connect to host
 wishesbee.com: could not connect to host
+wishlist.net: could not connect to host
 wism.io: could not connect to host
 wissamnr.be: could not connect to host
 wissl.org: could not connect to host
@@ -30851,16 +33936,20 @@ withoutacrystalball.com: could not connect to host
 withustrading.com: did not receive HSTS header
 withyoutube.com: did not receive HSTS header (error ignored - included regardless)
 wittcher.com: could not connect to host
+wittepapaver.nl: could not connect to host
 wittydonut.com: could not connect to host
+wittywomaniyaa.com: did not receive HSTS header
 witzemaschine.com: max-age too low: 0
 wixguide.co: could not connect to host
 wiz.farm: could not connect to host
 wizardmeow.xin: could not connect to host
 wizardspire.com: could not connect to host
 wizznab.tk: could not connect to host
+wj0666.com: could not connect to host
 wjcainc.com: did not receive HSTS header
 wk-cpm.com: could not connect to host
 wk577.com: could not connect to host
+wkennington.com: could not connect to host
 wl.bet: could not connect to host
 wl970.com: could not connect to host
 wl971.com: could not connect to host
@@ -30873,7 +33962,6 @@ wl977.com: could not connect to host
 wl978.com: could not connect to host
 wlsme.org: did not receive HSTS header
 wlwlwx.com: could not connect to host
-wlx678d.com: could not connect to host
 wlzhiyin.cn: could not connect to host
 wmawri.com: did not receive HSTS header
 wmcns.net: could not connect to host
@@ -30893,15 +33981,17 @@ wochenentwicklung.com: did not receive HSTS header
 wod-stavby.cz: could not connect to host
 wodboss.com: could not connect to host
 wodice.com: could not connect to host
-wohnungsbau-ludwigsburg.de: did not receive HSTS header
+wohlraj.net: could not connect to host
 woi.vision: could not connect to host
 woima.fi: did not receive HSTS header
+wojak.xyz: did not receive HSTS header
 wokeai.net: could not connect to host
 woktoss.com: could not connect to host
 wolfdev.fr: did not receive HSTS header
-wolfemg.com: did not receive HSTS header
+wolfemg.com: could not connect to host
 wolfenland.net: did not receive HSTS header
 wolfesden.com: could not connect to host
+wolfgang-braun.info: did not receive HSTS header
 wolfgang-kerschbaumer.com: could not connect to host
 wolfgang-kerschbaumer.net: could not connect to host
 wolfram.io: could not connect to host
@@ -30916,12 +34006,14 @@ womosale.de: could not connect to host
 wonabo.com: did not receive HSTS header
 wonderbooks.club: could not connect to host
 wonderfall.xyz: could not connect to host
+wondergorilla.com: could not connect to host
 wonderhost.info: could not connect to host
 wondermags.com: could not connect to host
 wondershift.biz: did not receive HSTS header
 wondy.com: could not connect to host
 wongu.tech: did not receive HSTS header
 wooblr.com: could not connect to host
+woodcountywi.gov: could not connect to host
 woodfordcountyky.gov: could not connect to host
 woodmafia.com.au: could not connect to host
 woodminstermanagement.tk: could not connect to host
@@ -30931,22 +34023,26 @@ woodworkertip.com: could not connect to host
 woofsbakery.com: could not connect to host
 woomai.net: could not connect to host
 woomu.me: could not connect to host
+wooplagaming.com: could not connect to host
 woording.com: could not connect to host
 wootton95.com: could not connect to host
 wooviet.com: could not connect to host
 wopen.org: could not connect to host
 worcade.net: did not receive HSTS header
+wordadmin.com: could not connect to host
 wordbits.net: did not receive HSTS header
 wordlessecho.com: did not receive HSTS header
+wordnietvindbaar.nl: could not connect to host
+wordpress-experts.net: could not connect to host
 wordpress-test.site: could not connect to host
 wordpresspro.cl: could not connect to host
 wordsofamaster.com: could not connect to host
-work-and-jockel.de: did not receive HSTS header
+work-and-jockel.de: could not connect to host
 workcheck.bz: could not connect to host
 workemy.com: could not connect to host
 workfone.io: could not connect to host
 workforce.co.tz: did not receive HSTS header
-workgrouptech.org: did not receive HSTS header
+workgrouptech.org: could not connect to host
 workingmachine.info: could not connect to host
 workissime.com: did not receive HSTS header
 workmart.mx: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
@@ -30954,40 +34050,44 @@ workpermit.com.vn: could not connect to host
 workplaces.online: did not receive HSTS header
 workray.com: did not receive HSTS header
 worksofwyoming.org: did not receive HSTS header
-workwithgo.com: could not connect to host
 world-education-association.org: could not connect to host
 worldchess.london: could not connect to host
 worldcrafts.org: did not receive HSTS header
 worldeventscalendars.com: could not connect to host
 worldfree4.org: did not receive HSTS header
-worldlist.org: could not connect to host
+worldmeteo.info: did not receive HSTS header
 worldnettps.com: did not receive HSTS header
 worldofterra.net: did not receive HSTS header
+worldofvnc.net: could not connect to host
+worldpeacetechnology.com: could not connect to host
 worldpovertysolutions.org: did not receive HSTS header
 worldsbeststory.com: did not receive HSTS header
 worldsoccerclips.com: could not connect to host
 worldtravelandadventure.com: did not receive HSTS header
 worldwhisperer.net: could not connect to host
-wormdisk.net: could not connect to host
 wormholevpn.net: could not connect to host
 wormincorporated.tk: could not connect to host
 worshapp.com: did not receive HSTS header
 worthygo.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 woshiluo.site: could not connect to host
 wot-tudasbazis.hu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
+wotra-register.com: could not connect to host
 woufbox.com: did not receive HSTS header
+wouterbruijning.nl: max-age too low: 2592000
 wow-travel.eu: could not connect to host
 wow202y5.com: could not connect to host
 wowapi.org: could not connect to host
 wowhelp.it: could not connect to host
+wowin58.com: could not connect to host
 wowinvasion.com: did not receive HSTS header
 wowprezi.com: did not receive HSTS header
 woxter.com: did not receive HSTS header
-wozalapha.com: did not receive HSTS header
 wp-bullet.com: did not receive HSTS header
 wp-fastsearch.de: could not connect to host
 wp-rescue.com.au: could not connect to host
 wp-securehosting.com: could not connect to host
+wp-site1.com: did not receive HSTS header
+wp-site2.com: did not receive HSTS header
 wp-stack.pro: could not connect to host
 wp6.pw: did not receive HSTS header
 wpabzar.ir: did not receive HSTS header
@@ -31000,8 +34100,7 @@ wpcheck.io: could not connect to host
 wpcontrol.se: could not connect to host
 wpdesigner.ir: did not receive HSTS header
 wpdirecto.com: did not receive HSTS header
-wpdublin.com: did not receive HSTS header
-wpenhance.com: could not connect to host
+wpdublin.com: could not connect to host
 wpexplainer.com: did not receive HSTS header
 wpfast.net: could not connect to host
 wpfortify.com: did not receive HSTS header
@@ -31010,18 +34109,20 @@ wpgoblin.com: could not connect to host
 wphelpwithhomework.tk: could not connect to host
 wphome.org: could not connect to host
 wphostingspot.com: did not receive HSTS header
-wpinfos.de: did not receive HSTS header
 wplatin.com: could not connect to host
+wpldn.uk: did not receive HSTS header
 wpletter.de: did not receive HSTS header
 wpmetadatastandardsproject.org: could not connect to host
 wpoptimalizace.cz: could not connect to host
+wprecommend.com: did not receive HSTS header
 wprevs.com: did not receive HSTS header
+wprodevs.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 wpruby.com: did not receive HSTS header
 wpscans.com: did not receive HSTS header
 wpsec.nl: did not receive HSTS header
 wpsono.com: could not connect to host
-wpspeed.nl: did not receive HSTS header
-wptomatic.de: could not connect to host
+wpspeed.nl: could not connect to host
+wptomatic.de: did not receive HSTS header
 wpunpacked.com: could not connect to host
 wpvulndb.com: did not receive HSTS header
 wpyecom.es: could not connect to host
@@ -31029,6 +34130,7 @@ wpzhiku.com: did not receive HSTS header
 wql.zj.cn: could not connect to host
 wrapit.hu: could not connect to host
 wrapitup.co.uk: did not receive HSTS header
+wrc-results.com: could not connect to host
 wrd48.net: could not connect to host
 wrfu.co.nz: did not receive HSTS header
 wrglzd.com: could not connect to host
@@ -31037,6 +34139,7 @@ wrightdoumawedding.com: could not connect to host
 wrightselfstorageandremovals.com: did not receive HSTS header
 writeapp.me: did not receive HSTS header
 writeenglishright.com: did not receive HSTS header
+writemyessay.info: did not receive HSTS header
 writepride.com: could not connect to host
 writing-job-online.com: did not receive HSTS header
 wrksheet.com: did not receive HSTS header
@@ -31046,13 +34149,12 @@ wroffle.com: did not receive HSTS header
 wromeapp.com: could not connect to host
 wrongware.cz: could not connect to host
 wrwg.ca: could not connect to host
-wryoutube.com: could not connect to host
+wryoutube.com: did not receive HSTS header
 ws-meca.com: could not connect to host
-ws.net.cn: did not receive HSTS header
+ws.net.cn: could not connect to host
 wscore.me: could not connect to host
 wsdcap.com: could not connect to host
 wsor.group: did not receive HSTS header
-wsp-center.com: could not connect to host
 wss.com.ve: could not connect to host
 wsscompany.com.ve: could not connect to host
 wssv.ch: could not connect to host
@@ -31061,15 +34163,16 @@ wsv-grafenau.de: did not receive HSTS header
 wsyy.info: could not connect to host
 wt-server3.de: could not connect to host
 wtf.ninja: could not connect to host
+wtfbryan.com: did not receive HSTS header
 wtfismyip.com: did not receive HSTS header
 wtfsec.org: did not receive HSTS header
+wth.in: could not connect to host
 wu6v.com: did not receive HSTS header
 wuav.net: could not connect to host
 wubify.com: did not receive HSTS header
 wubocong.com: did not receive HSTS header
 wubthecaptain.eu: could not connect to host
 wucanyao.com: max-age too low: 0
-wufu.org: did not receive HSTS header
 wufupay.com: could not connect to host
 wugniu.com: did not receive HSTS header
 wuhengmin.com: could not connect to host
@@ -31077,12 +34180,7 @@ wuifan.com: did not receive HSTS header
 wulpi.it: did not receive HSTS header
 wumai-p.cn: could not connect to host
 wumai.cloud: could not connect to host
-wumbo.cf: could not connect to host
-wumbo.ga: could not connect to host
-wumbo.gq: could not connect to host
 wumbo.kiwi: could not connect to host
-wumbo.ml: could not connect to host
-wumbo.tk: could not connect to host
 wundtherapie-schulung.de: could not connect to host
 wunschpreisauto.de: did not receive HSTS header
 wuppertal-2018.de: could not connect to host
@@ -31091,25 +34189,26 @@ wusx.club: could not connect to host
 wutianxian.com: could not connect to host
 wuwuwu.me: could not connect to host
 wuxiaobai.win: could not connect to host
-wuyang.ws: could not connect to host
+wuyang.ws: did not receive HSTS header
+wuyiwa.net: could not connect to host
 wuyue.photo: could not connect to host
-wv-n.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 wvr-law.de: did not receive HSTS header
 wvv-8522.com: could not connect to host
 wvw-8522.com: could not connect to host
 wvw698.com: max-age too low: 2592000
 ww2onlineshop.com: did not receive HSTS header
 ww5197.co: could not connect to host
-ww6396.com: did not receive HSTS header
+ww6396.com: could not connect to host
 ww6729.co: could not connect to host
 ww6729.com: did not receive HSTS header
 ww6957.co: could not connect to host
-ww9397.com: could not connect to host
-ww9721.com: could not connect to host
+ww9397.com: did not receive HSTS header
+ww9721.com: did not receive HSTS header
 ww9728.co: could not connect to host
 wwbsb.xyz: could not connect to host
 wwc.ren: could not connect to host
-wwtext.com: could not connect to host
+wweichen.com.cn: could not connect to host
+wwjd.dynu.net: did not receive HSTS header
 wwv-8522.com: could not connect to host
 www-001133.com: could not connect to host
 www-0385.com: could not connect to host
@@ -31120,13 +34219,14 @@ www-38978.com: could not connect to host
 www-39988.com: did not receive HSTS header
 www-49889.com: could not connect to host
 www-507.net: could not connect to host
+www-5287.com: could not connect to host
 www-62755.com: could not connect to host
 www-66136.com: could not connect to host
 www-68277.com: could not connect to host
 www-746.com: could not connect to host
 www-7570.com: could not connect to host
 www-771122.com: did not receive HSTS header
-www-8003.com: did not receive HSTS header
+www-8003.com: could not connect to host
 www-80036.com: could not connect to host
 www-8522.am: could not connect to host
 www-86499.com: could not connect to host
@@ -31152,13 +34252,14 @@ www.googlemail.com: did not receive HSTS header (error ignored - included regard
 www.gpo.gov: did not receive HSTS header
 www.greplin.com: could not connect to host
 www.icann.org: could not connect to host
+www.intercom.io: did not receive HSTS header
 www.jitsi.org: did not receive HSTS header
 www.lastpass.com: did not receive HSTS header
 www.ledgerscope.net: could not connect to host
 www.logentries.com: did not receive HSTS header
 www.makeyourlaws.org: could not connect to host
 www.moneybookers.com: did not receive HSTS header
-www.mydigipass.com: did not receive HSTS header
+www.mydigipass.com: could not connect to host
 www.neonisi.com: could not connect to host
 www.org.gg: could not connect to host
 www.paycheckrecords.com: did not receive HSTS header
@@ -31168,33 +34269,35 @@ www.sandbox.mydigipass.com: could not connect to host
 www.simbolo.co.uk: could not connect to host
 www.surfeasy.com: did not receive HSTS header
 www.zenpayroll.com: did not receive HSTS header
-www00228c.com: could not connect to host
 www3.info: did not receive HSTS header
-www63605.com: did not receive HSTS header
-wwwn888.com: could not connect to host
+www63605.com: could not connect to host
 wwww.is: could not connect to host
 wwww.me.uk: could not connect to host
 wx37.ac.cn: could not connect to host
+wx6688.cc: could not connect to host
 wxukang.cn: did not receive HSTS header
 wxyz.buzz: could not connect to host
 wxzm.sx: could not connect to host
 wy6.org: did not receive HSTS header
+wybar.uk: could not connect to host
 wybmabiity.com: could not connect to host
+wycrow.com: did not receive HSTS header
 wygluszanie.eu: could not connect to host
 wyjmb.com: max-age too low: 0
 wylog.ph: could not connect to host
 wynterhill.co.uk: did not receive HSTS header
-wyomingexiles.com: did not receive HSTS header
+wyomingexiles.com: could not connect to host
 wypemagazine.se: did not receive HSTS header
 wyu.cc: could not connect to host
 wyysoft.tk: could not connect to host
 wyzwaniemilosci.com: could not connect to host
-wzfetish.com.br: did not receive HSTS header
-x-pertservice.com: did not receive HSTS header
+wzfetish.com.br: could not connect to host
+wzp.ovh: did not receive HSTS header
+x-pertservice.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 x-power-detox.com: could not connect to host
 x-ripped-hd.com: could not connect to host
-x00.me: could not connect to host
-x00228.com: could not connect to host
+x00.me: did not receive HSTS header
+x13.com: could not connect to host
 x1616.tk: could not connect to host
 x1be.win: did not receive HSTS header
 x2c0.net: could not connect to host
@@ -31216,18 +34319,22 @@ x6729.co: could not connect to host
 x6957.co: could not connect to host
 x7715.com: could not connect to host
 x7716.com: could not connect to host
+x7718.com: could not connect to host
+x7plus.com: could not connect to host
+x81365.com: did not receive HSTS header
+x81818.com: did not receive HSTS header
+x82365.com: did not receive HSTS header
 x9016.com: could not connect to host
-x9721.com: could not connect to host
+x9721.com: did not receive HSTS header
 x9728.co: could not connect to host
 x98t.com: could not connect to host
 xab199.com: could not connect to host
-xanax.pro: could not connect to host
-xanderbron.tech: could not connect to host
 xanderweaver.com: did not receive HSTS header
 xandocs.com: could not connect to host
 xat.re: did not receive HSTS header
 xavier.is: could not connect to host
-xavierbarroso.com: did not receive HSTS header
+xavierbarroso.com: could not connect to host
+xavierdmello.com: could not connect to host
 xawen.net: did not receive HSTS header
 xb008.com: could not connect to host
 xb1001.com: could not connect to host
@@ -31236,7 +34343,7 @@ xb2002.com: could not connect to host
 xb201.com: could not connect to host
 xb3008.com: could not connect to host
 xb306.com: could not connect to host
-xb3636.com: could not connect to host
+xb3636.com: did not receive HSTS header
 xb380.com: could not connect to host
 xb3888.com: could not connect to host
 xb6008.com: could not connect to host
@@ -31333,9 +34440,7 @@ xbjt666.com: could not connect to host
 xbjt7.com: could not connect to host
 xbjt77.com: could not connect to host
 xbjt9.com: could not connect to host
-xboxdownloadthat.com: could not connect to host
 xbpay88.com: could not connect to host
-xbt.co: could not connect to host
 xbvip.net: could not connect to host
 xbvip99.com: could not connect to host
 xbyl.xn--fiqs8s: could not connect to host
@@ -31362,8 +34467,10 @@ xbyl85.com: could not connect to host
 xbyl86.com: could not connect to host
 xbyl89.com: could not connect to host
 xbyl91.com: could not connect to host
+xc9988.cc: could not connect to host
 xchangeinfo.com: could not connect to host
 xchating.com: could not connect to host
+xcmfu.com: could not connect to host
 xcompany.one: could not connect to host
 xcoop.me: did not receive HSTS header
 xd.fi: did not receive HSTS header
@@ -31376,14 +34483,15 @@ xellos.ml: could not connect to host
 xenesisziarovky.sk: could not connect to host
 xeniox.ch: did not receive HSTS header
 xenolith.eu: did not receive HSTS header
-xenon.cloud: could not connect to host
 xenosphere.tk: could not connect to host
 xenotropegames.com: could not connect to host
+xenox-rp.ru: could not connect to host
+xenum.ua: did not receive HSTS header
 xeonlab.com: could not connect to host
 xeonlab.de: could not connect to host
 xerblade.com: did not receive HSTS header
-xett.com: could not connect to host
-xfive.de: did not receive HSTS header
+xett.com: did not receive HSTS header
+xf5888.com: could not connect to host
 xg3n1us.de: did not receive HSTS header
 xgusto.com: could not connect to host
 xh7eee.com: could not connect to host
@@ -31400,10 +34508,11 @@ xianguocy.com: could not connect to host
 xianjianruishiyouyiyuan.com: could not connect to host
 xiao094605.com: max-age too low: 0
 xiaobaiwancai.com: max-age too low: 0
-xiaobude.cn: could not connect to host
+xiaobude.cn: did not receive HSTS header
 xiaody.me: could not connect to host
 xiaofengsky.com: did not receive HSTS header
 xiaohui.love: could not connect to host
+xiaojicdn.com: could not connect to host
 xiaolan.me: could not connect to host
 xiaolanglang.net: could not connect to host
 xiaolvmu.com: could not connect to host
@@ -31412,12 +34521,13 @@ xiaomao.tk: could not connect to host
 xiaomi.express: did not receive HSTS header
 xiaomionline24.pl: could not connect to host
 xiaoniaoyou.com: did not receive HSTS header
+xiaowu.xyz: could not connect to host
 xiaoxiao.im: could not connect to host
-xiaoyu.net: could not connect to host
 xiaoyy.org: did not receive HSTS header
 xiaxuejin.cn: could not connect to host
 xiazhaobing.com: max-age too low: 0
 xice.cf: could not connect to host
+xichtsbuch.de: could not connect to host
 xiecongan.org: could not connect to host
 xilegames.com: could not connect to host
 xilkoi.net: did not receive HSTS header
@@ -31544,22 +34654,23 @@ xinex.cz: could not connect to host
 xing.ml: could not connect to host
 xinghuokeji.xin: could not connect to host
 xingiahanvisa.net: did not receive HSTS header
+xingyu1993.cn: could not connect to host
 xinj.com: did not receive HSTS header
 xinlandm.com: could not connect to host
 xinnixwebshop.be: did not receive HSTS header
-xinplay.net: max-age too low: 0
-xinpujing918.com: could not connect to host
+xinpujing198.com: could not connect to host
+xinpujing200.com: could not connect to host
+xinpujing518.com: could not connect to host
 xinqinhai.com: could not connect to host
-xinsto.com: could not connect to host
 xiongx.cn: could not connect to host
 xiqi.us: could not connect to host
 xirion.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 xisa.it: could not connect to host
 xivpn.com: could not connect to host
 xiwu.li: could not connect to host
-xiyu.it: did not receive HSTS header
 xjoin.de: could not connect to host
 xkblog.xyz: could not connect to host
+xkngroup.com: could not connect to host
 xlaff.com: could not connect to host
 xlboo.com: did not receive HSTS header
 xldl.ml: could not connect to host
@@ -31569,23 +34680,29 @@ xlfilippou.com: could not connect to host
 xliang.co: did not receive HSTS header
 xlinar.com: could not connect to host
 xlui.me: did not receive HSTS header
-xlunastore.com: did not receive HSTS header
+xlunastore.com: could not connect to host
+xlyingyuan.com: could not connect to host
 xmerak.com: could not connect to host
+xmflyrk.com: could not connect to host
 xmine128.tk: did not receive HSTS header
 xmiui.com: could not connect to host
 xmlogin288.com: could not connect to host
 xmodule.org: could not connect to host
 xmonk.org: did not receive HSTS header
+xmppwocky.net: could not connect to host
 xmr.my: could not connect to host
-xms66.top: did not receive HSTS header
+xmr.wiki: could not connect to host
+xms66.top: could not connect to host
 xmtpro.com: did not receive HSTS header
 xmusic.live: could not connect to host
 xn-----8kcgbo2bmdgkdacthvjf.xn--p1ai: could not connect to host
+xn----7sbbagp2bcfwdeee1afm.xn--p1ai: could not connect to host
 xn----7sbfl2alf8a.xn--p1ai: could not connect to host
+xn----7sblrfhjjgq8g.xn--p1ai: could not connect to host
 xn----7sbmucgqdbgwwc5e9b.xn--p1ai: could not connect to host
 xn----8sbjfacqfqshbh7afyeg.xn--80asehdb: did not receive HSTS header
+xn----dtbhcpoeofgcvoic1s.xn--p1ai: could not connect to host
 xn----zmcaltpp1mdh16i.com: could not connect to host
-xn---35-6cdk1dnenygj.xn--p1ai: did not receive HSTS header
 xn--0kq33cbsi8bk6d417b.com: could not connect to host
 xn--15tx89ctvm.xn--6qq986b3xl: could not connect to host
 xn--1yst51avkr.ga: could not connect to host
@@ -31598,6 +34715,7 @@ xn--3lqp21gwna.xn--fiqz9s: could not connect to host
 xn--3lqt7ir4md4tzwa.cn: could not connect to host
 xn--3lqt7ir4md4tzwa.xn--fiqs8s: could not connect to host
 xn--3px.jp: could not connect to host
+xn--4brt03c.xn--io0a7i: could not connect to host
 xn--4dbfsnr.xn--9dbq2a: could not connect to host
 xn--4dbjwf8c.cf: could not connect to host
 xn--4dbjwf8c.ga: could not connect to host
@@ -31605,40 +34723,49 @@ xn--4dbjwf8c.gq: could not connect to host
 xn--4dbjwf8c.ml: could not connect to host
 xn--4dbjwf8c.tk: could not connect to host
 xn--4kro7fswi.xn--6qq986b3xl: could not connect to host
-xn--5kv19nxn6b.club: did not receive HSTS header
+xn--5kv19nxn6b.club: could not connect to host
 xn--68jub.pw: could not connect to host
-xn--6cv66l79sp0n0ibo7s9ne.xyz: did not receive HSTS header
+xn--6cv66l79sp0n0ibo7s9ne.xyz: could not connect to host
 xn--6oqx6c301allufxcm23a7sm.com: could not connect to host
 xn--6qq52xuogcjfw8pwqp.ga: could not connect to host
 xn--6qq62xsogfjfs8p1qp.ga: could not connect to host
 xn--7rvz7ku3ppnr.jp: could not connect to host
 xn--7v8h.cf: could not connect to host
 xn--80aaagmgvmvmcuoq7r.xn--p1ai: did not receive HSTS header
+xn--80aanbkcescrdedmxzcl4pmc.xn--p1acf: could not connect to host
 xn--80ablh1c.online: could not connect to host
 xn--80ac0aqlt.xn--p1ai: could not connect to host
 xn--80adb4aeode.xn--p1ai: could not connect to host
+xn--80ahnefiifo0g.xn--p1ai: could not connect to host
 xn--80anogxed.xn--p1ai: could not connect to host
 xn--80aocgsfei.xn--p1ai: could not connect to host
 xn--88j2fy28hbxmnnf9zlw5buzd.com: did not receive HSTS header
 xn--8dry00a7se89ay98epsgxxq.com: could not connect to host
-xn--8mr166hf6s.xn--fiqs8s: could not connect to host
+xn--8mr166hf6s.xn--fiqs8s: did not receive HSTS header
+xn--8n2am80a.tech: could not connect to host
+xn--90adahrqfmec.xn--p1ai: did not receive HSTS header
 xn--90aroj.xn--p1ai: did not receive HSTS header
 xn--98jm6m.jp: could not connect to host
 xn--9pr52k0p5a.com: could not connect to host
 xn--acompaamientoholistico-pec.com: could not connect to host
+xn--bckerei-trster-5hb11a.de: did not receive HSTS header
 xn--bstlinser-v2a.com: could not connect to host
+xn--c1aehtaetb.xn--p1ai: could not connect to host
 xn--c5w27q.ml: could not connect to host
 xn--cckvb1cwa0c5br5e2d2711k.net: could not connect to host
 xn--circul-gva.cc: could not connect to host
 xn--circul-u3a.cc: could not connect to host
+xn--d1acj9c.xn--90ais: could not connect to host
 xn--datenrettung-mnchen-jbc.com: did not receive HSTS header
 xn--dcko6fsa5b1a8gyicbc.biz: could not connect to host
 xn--dckya4a0bya6x.com: could not connect to host
 xn--dckya4a0bya6x.jp: could not connect to host
 xn--dej-3oa.lv: could not connect to host
-xn--die-hrercharts-zpb.de: could not connect to host
+xn--depias-zwa.es: could not connect to host
+xn--die-hrercharts-zpb.de: did not receive HSTS header
 xn--die-zahnrzte-ncb.de: did not receive HSTS header
 xn--dk8haaa.ws: could not connect to host
+xn--dmontaa-9za.com: could not connect to host
 xn--e--0g4aiy1b8rmfg3o.jp: could not connect to host
 xn--e--4h4axau6ld4lna0g.com: could not connect to host
 xn--e--ig4a4c3f6bvc5et632i.com: could not connect to host
@@ -31649,23 +34776,26 @@ xn--eckle6c0exa0b0modc7054g7h8ajw6f.com: did not receive HSTS header
 xn--ehq13kgw4e.ml: could not connect to host
 xn--ekr87w7se89ay98ezcs.biz: did not receive HSTS header
 xn--elsignificadodesoar-c4b.com: could not connect to host
-xn--eo5aaa.eu.org: could not connect to host
+xn--eo5aaa.eu.org: did not receive HSTS header
 xn--fiestadefindeao-crb.com: could not connect to host
-xn--gi8hwa.tk: did not receive HSTS header
+xn--flordepia-s6a.com: could not connect to host
+xn--fp8h58f.ws: could not connect to host
+xn--gi8hwa.tk: could not connect to host
 xn--gmq92k.nagoya: could not connect to host
 xn--hfk-allgu-schwaben-stb.de: could not connect to host
 xn--hmdiseoweb-y9a.com.ar: could not connect to host
 xn--hwt895j.xn--kpry57d: could not connect to host
 xn--int-ru8ea.xn--6qq986b3xl: could not connect to host
 xn--internetlnen-1cb.com: could not connect to host
+xn--j1aoca.xn--p1ai: did not receive HSTS header
 xn--j4h.cf: could not connect to host
 xn--jbs-tna.de: did not receive HSTS header
 xn--jp-6l5cs1yf3ivjsglphyv.net: could not connect to host
 xn--jywq5uqwqxhd2onsij.jp: did not receive HSTS header
 xn--kckd0bd4a8tp27yee2e.com: could not connect to host
 xn--keditr-0xa.biz: could not connect to host
-xn--kreuzwortrtsel-fib.life: did not receive HSTS header
-xn--krpto-lva.de: could not connect to host
+xn--knstler-n2a.tips: did not receive HSTS header
+xn--kreuzwortrtsel-fib.life: could not connect to host
 xn--l8j9d2b.jp: could not connect to host
 xn--lgb3a8bcpn.cf: could not connect to host
 xn--lgb3a8bcpn.ga: could not connect to host
@@ -31675,9 +34805,11 @@ xn--lna-2000-9za.nu: could not connect to host
 xn--lna-4000-9za.nu: could not connect to host
 xn--ls8hi7a.tk: could not connect to host
 xn--lsupp-mra.net: did not receive HSTS header
-xn--maraa-rta.org: did not receive HSTS header
+xn--maraa-rta.org: could not connect to host
+xn--matua-n7a.pl: could not connect to host
 xn--mensenges-o1a8c.gq: could not connect to host
 xn--mensengesss-t8a.gq: could not connect to host
+xn--mhringen-65a.de: could not connect to host
 xn--mhsv04avtt1xi.com: could not connect to host
 xn--milchaufschumer-test-lzb.de: could not connect to host
 xn--mllers-wxa.info: did not receive HSTS header
@@ -31685,6 +34817,7 @@ xn--n8jubz39q0g0afpa985c.com: could not connect to host
 xn--neb-tma3u8u.xyz: could not connect to host
 xn--nf1a578axkh.xn--fiqs8s: did not receive HSTS header
 xn--nrrdetval-v2ab.se: could not connect to host
+xn--o38h.tk: could not connect to host
 xn--o77hka.ga: could not connect to host
 xn--obt757c.com: could not connect to host
 xn--p3t555glxhnwa.com: could not connect to host
@@ -31698,27 +34831,29 @@ xn--qckyd1cu698a35zarib.xyz: could not connect to host
 xn--qfun83b.ga: could not connect to host
 xn--r77hya.ga: could not connect to host
 xn--registriertesexualstraftter-ykc.de: could not connect to host
-xn--rt-cja.eu: could not connect to host
+xn--schlerzeitung-ideenlos-ulc.de: could not connect to host
 xn--sdkwa9azd389v01ya.com: could not connect to host
 xn--seelenwchter-mcb.eu: could not connect to host
 xn--skmotoroptimering-zzb.site: could not connect to host
 xn--spenijmazania-yhc.pl: could not connect to host
+xn--spiraphnix-olb.xyz: could not connect to host
 xn--srenpind-54a.dk: could not connect to host
+xn--svezavaukuu-ulb08i.rs: could not connect to host
 xn--t8j2a3042d.xyz: did not receive HSTS header
 xn--t8j4aa4nkg1h9bwcvud.com: could not connect to host
-xn--t8j4aa4nyhxa7duezbl49aqg5546e264d.net: did not receive HSTS header
-xn--t8jo9k1b.com: could not connect to host
+xn--t8j4aa4nyhxa7duezbl49aqg5546e264d.net: could not connect to host
 xn--tda.ml: could not connect to host
 xn--thorme-6uaf.ca: could not connect to host
 xn--trdler-xxa.xyz: could not connect to host
 xn--u9jy16ncfao19mo8i.nagoya: could not connect to host
-xn--uist1idrju3i.jp: could not connect to host
 xn--uort9oqoaj00bv04d.biz: could not connect to host
 xn--uorz58b8p0bpwa.biz: could not connect to host
+xn--v4q.ml: could not connect to host
+xn--v6q426ishax2a.xyz: could not connect to host
 xn--vck8crc010pu14e.biz: could not connect to host
 xn--vck8crc655y34ioha.net: did not receive HSTS header
 xn--vck8crcu789ajtaj92eura.xyz: could not connect to host
-xn--w22a.jp: could not connect to host
+xn--w22a.jp: did not receive HSTS header
 xn--werner-schffer-fib.de: could not connect to host
 xn--whlefamilie-l8a.de: did not receive HSTS header
 xn--wmq.jp: did not receive HSTS header
@@ -31726,9 +34861,10 @@ xn--woistdermlleimer-rzb.de: could not connect to host
 xn--xdtx3pfzbiw3ar8e7yedqrhui.com: could not connect to host
 xn--xft85up3jca.ga: could not connect to host
 xn--xz1a.jp: could not connect to host
-xn--y8j148r.xn--q9jyb4c: could not connect to host
+xn--y-5ga.com: could not connect to host
 xn--y8j2eb5631a4qf5n0h.com: could not connect to host
 xn--y8j5gq14rbdd.net: did not receive HSTS header
+xn--y8jarb5hca.jp: could not connect to host
 xn--yj8h0m.ws: could not connect to host
 xn--ykrp42k.com: could not connect to host
 xn--yoamomisuasbcn-ynb.com: could not connect to host
@@ -31747,19 +34883,23 @@ xombra.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR
 xoonth.net: did not receive HSTS header
 xor-a.net: could not connect to host
 xotika.tv: could not connect to host
+xotv.top: could not connect to host
 xpenology-fr.net: could not connect to host
 xperiacode.com: could not connect to host
 xperiacodes.com: could not connect to host
-xpi.fr: could not connect to host
-xpiuat.global: could not connect to host
+xpi.fr: did not receive HSTS header
+xpiuat.global: did not receive HSTS header
 xpj.bet: did not receive HSTS header
 xpj.sx: could not connect to host
-xpjcunkuan.com: could not connect to host
+xpj567288.com: could not connect to host
+xpj567888.com: could not connect to host
+xpjai.com: max-age too low: 2592000
+xpjcunkuan.com: did not receive HSTS header
 xplore-dna.net: did not receive HSTS header
 xposedornot.com: max-age too low: 2592000
 xpressable.com: could not connect to host
 xpresswifi.network: could not connect to host
-xps2pdf.co.uk: could not connect to host
+xps2pdf.co.uk: did not receive HSTS header
 xps2pdf.info: could not connect to host
 xq55.com: did not receive HSTS header
 xqin.net: could not connect to host
@@ -31771,17 +34911,20 @@ xrp.pw: could not connect to host
 xs74.com: could not connect to host
 xscancun.com: could not connect to host
 xscapers.com: did not receive HSTS header
-xserownia.pl: did not receive HSTS header
 xsmobile.de: could not connect to host
 xss.ht: did not receive HSTS header
+xss.name: could not connect to host
 xsstime.nl: could not connect to host
+xstreamable.com: could not connect to host
 xsyds.cn: did not receive HSTS header
 xsz.jp: could not connect to host
 xt.om: could not connect to host
 xtenz.xyz: could not connect to host
 xtips.us: could not connect to host
+xtom.chat: could not connect to host
 xtom.email: could not connect to host
 xtom.io: could not connect to host
+xtom.wiki: could not connect to host
 xtream-hosting.com: did not receive HSTS header
 xtream-hosting.de: could not connect to host
 xtream-hosting.eu: could not connect to host
@@ -31794,34 +34937,37 @@ xts.bike: could not connect to host
 xtzone.be: could not connect to host
 xuanmeishe.net: did not receive HSTS header
 xuanmeishe.top: did not receive HSTS header
-xuehao.net.cn: could not connect to host
 xuehuang666.cn: could not connect to host
 xuexb.com: did not receive HSTS header
 xun3708855.com: could not connect to host
+xunleiyy.com: did not receive HSTS header
 xuntaosms.com: could not connect to host
 xupeng.me: did not receive HSTS header
 xuyh0120.win: did not receive HSTS header
 xvt-blog.tk: could not connect to host
 xwalck.se: could not connect to host
-xx6396.com: did not receive HSTS header
+xx6396.com: could not connect to host
 xx6729.co: could not connect to host
 xx6729.com: did not receive HSTS header
 xx6957.co: could not connect to host
+xx9297.co: could not connect to host
 xx9397.com: could not connect to host
 xx9721.com: could not connect to host
 xx9728.co: could not connect to host
 xxbase.com: could not connect to host
-xxx020625.com: max-age too low: 0
+xxgalgame.com: could not connect to host
+xxx020625.com: could not connect to host
 xxx3dbdsm.com: could not connect to host
 xxxlbox.com: did not receive HSTS header
 xy1919.com: could not connect to host
+xy366.cc: could not connect to host
+xy369.cc: could not connect to host
 xy6729.com: could not connect to host
 xy6957.com: could not connect to host
 xynex.us: could not connect to host
 xyngular-health.com: could not connect to host
 xynta.ch: could not connect to host
-xyyp.mn: could not connect to host
-xza.fr: did not receive HSTS header
+xza.fr: could not connect to host
 xzoneadventure.com: could not connect to host
 y-o-w.com: did not receive HSTS header
 y-s.pw: could not connect to host
@@ -31836,87 +34982,21 @@ y5bet.com: could not connect to host
 y6729.co: could not connect to host
 y6729.com: did not receive HSTS header
 y68ah.com: could not connect to host
-y68am.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68bet.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68bj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68cd.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68cq.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68fj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68gd.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 y68gl.com: could not connect to host
-y68gs.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68gx.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68gz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68heb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68hf.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68hk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68hlj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68hn.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68hz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68jl.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 y68jn.com: could not connect to host
-y68jx.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68ln.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68nj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68nm.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68nx.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68qh.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 y68sc.com: could not connect to host
-y68sd.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68sh.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68sjz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68sx.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68sy.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 y68sz.com: could not connect to host
-y68tj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68tw.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68xg.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68xj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68xz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68yn.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
-y68zj.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 y6957.co: could not connect to host
 y6bet.com: could not connect to host
 y7091.com: could not connect to host
 y7092.com: could not connect to host
 y7093.com: could not connect to host
 y7bet.com: could not connect to host
-y892222.com: could not connect to host
-y895555.com: could not connect to host
-y898888.com: could not connect to host
-y89a.com: could not connect to host
-y89a.net: could not connect to host
-y89aaa.com: could not connect to host
-y89b.net: could not connect to host
-y89bbb.com: could not connect to host
-y89c.net: could not connect to host
-y89d.com: could not connect to host
-y89d.net: could not connect to host
-y89ddd.com: could not connect to host
-y89e.net: could not connect to host
+y81365.com: did not receive HSTS header
+y82365.com: did not receive HSTS header
 y89eee.com: could not connect to host
-y89f.com: could not connect to host
-y89f.net: could not connect to host
-y89g.net: could not connect to host
-y89gg.com: could not connect to host
 y89ggg.com: could not connect to host
-y89h.net: could not connect to host
-y89hh.com: could not connect to host
-y89i.com: could not connect to host
-y89ii.com: could not connect to host
-y89jjj.com: could not connect to host
-y89k.com: could not connect to host
-y89kk.com: could not connect to host
-y89ll.com: could not connect to host
-y89n.com: could not connect to host
-y89o.com: could not connect to host
-y89p.com: could not connect to host
-y89q.com: could not connect to host
-y89r.com: could not connect to host
-y89t.com: could not connect to host
-y89u.com: could not connect to host
-y89ww.com: could not connect to host
-y89z.com: could not connect to host
+y9297.co: could not connect to host
 y9721.com: could not connect to host
 y9728.co: could not connect to host
 yaay.com.br: could not connect to host
@@ -31924,66 +35004,68 @@ yabbarov.ru: could not connect to host
 yabrt.cn: could not connect to host
 yaccin.com: could not connect to host
 yachts-magazine.com: did not receive HSTS header
-yacineboumaza.fr: could not connect to host
 yado-furu.com: did not receive HSTS header
 yafull.com: could not connect to host
-yageys.com: did not receive HSTS header
 yagi2.com: could not connect to host
 yagihiro.tech: could not connect to host
 yahoo.ax: could not connect to host
 yak-host.tk: could not connect to host
+yakamediaperu.com: did not receive HSTS header
 yalecleaners.com: could not connect to host
 yalla.jp: did not receive HSTS header
 yamamo10.com: could not connect to host
-yamei8.com: could not connect to host
 yamei9911.com: could not connect to host
-yameveo.com: did not receive HSTS header
+yameveo.com: could not connect to host
 yan.lt: could not connect to host
 yanbao.xyz: could not connect to host
 yangcs.net: could not connect to host
-yangjingwen.com: did not receive HSTS header
 yangmi.blog: could not connect to host
+yanjicg.com: did not receive HSTS header
 yannis.codes: did not receive HSTS header
 yanqiyu.info: could not connect to host
 yanuwa.com: could not connect to host
 yanwei.tech: could not connect to host
 yanwh.xyz: did not receive HSTS header
-yao28.com: could not connect to host
 yaoidreams.com: did not receive HSTS header
 yapan8.com: could not connect to host
 yaporn.tv: did not receive HSTS header
+yarapilates.com.br: could not connect to host
 yarchives.jp: could not connect to host
 yard-fu.com: could not connect to host
 yardbird.us: could not connect to host
 yarnhookup.com: could not connect to host
 yarogneva.ru: could not connect to host
 yasinaydin.net: did not receive HSTS header
-yasirworkfolio.com: did not receive HSTS header
+yasirworkfolio.com: could not connect to host
 yasutomonodokoiko.com: did not receive HSTS header
 yateshomesales.com: did not receive HSTS header
 yaucy.win: could not connect to host
 yawen.tw: did not receive HSTS header
-yawnbox.com: could not connect to host
+yawnbox.com: did not receive HSTS header
 yay.cam: could not connect to host
 yayart.club: could not connect to host
 yayoba.com: did not receive HSTS header
 yazaral.com: did not receive HSTS header
+ybos.nl: could not connect to host
 ybt520.com: could not connect to host
 ycaaz.com: did not receive HSTS header
 ycc.wtf: could not connect to host
+ycherbonnel.fr: could not connect to host
 ychong.com: did not receive HSTS header
 ycm2.wtf: could not connect to host
 yd.io: could not connect to host
+yd163.cc: could not connect to host
+yd169.cc: could not connect to host
 ydy.jp: could not connect to host
 yell.ml: could not connect to host
 yello.website: could not connect to host
 yellowcar.website: could not connect to host
 yellowfish.top: could not connect to host
-yellowfly.co.uk: did not receive HSTS header
 yellowpages.ee: did not receive HSTS header
+yellowsquid.co.uk: could not connect to host
+yellowsquid.uk: could not connect to host
 yellowstone.nsupdate.info: could not connect to host
 yellowtaillasvegas.com: could not connect to host
-yellowtree.co.za: did not receive HSTS header
 yemalu.com: could not connect to host
 yemekbaz.az: could not connect to host
 yenbainet.tk: could not connect to host
@@ -31996,13 +35078,11 @@ yenniferallulli.moda: could not connect to host
 yenniferallulli.nl: could not connect to host
 yenpape.com: could not connect to host
 yepbitcoin.com: could not connect to host
-yephy.com: could not connect to host
 yerbasbuenas.tk: could not connect to host
 yesdevnull.net: did not receive HSTS header
 yesfone.com.br: could not connect to host
 yeshu.org: could not connect to host
 yeskx.com: did not receive HSTS header
-yesogovinpetcare.com: could not connect to host
 yeswecan.co.bw: could not connect to host
 yetanalytics.io: did not receive HSTS header
 yetcore.io: could not connect to host
@@ -32014,49 +35094,50 @@ yezishurb.site: could not connect to host
 yffengshi.ml: could not connect to host
 ygcdyf.com: could not connect to host
 yggdar.ga: could not connect to host
-ygreneworks.com: did not receive HSTS header
 yh35.net: could not connect to host
 yh64678.com: could not connect to host
 yh66656.com: could not connect to host
 yh66689.com: could not connect to host
 yh88890.com: could not connect to host
 yhb.io: could not connect to host
+yhhh.org: could not connect to host
 yhong.me: could not connect to host
 yhori.xyz: could not connect to host
 yhwj.top: could not connect to host
-yibaoweilong.top: could not connect to host
 yibin0831.com: could not connect to host
+yicivideo.com: could not connect to host
 yicknam.my: could not connect to host
-yiffed.me: did not receive HSTS header
+yiffed.me: could not connect to host
 yiffy.tips: did not receive HSTS header
 yiffy.zone: did not receive HSTS header
 yii2.cc: did not receive HSTS header
 yikzu.cn: could not connect to host
+yiluup.com: did not receive HSTS header
+yimgo.fr: could not connect to host
 yin.roma.it: did not receive HSTS header
 yin8888.tv: did not receive HSTS header
 ying299.com: could not connect to host
 ying299.net: could not connect to host
 yinga.ga: could not connect to host
 yingsuo.ltd: could not connect to host
-yinhe12.net: did not receive HSTS header
+yingyj.com: could not connect to host
+yinhe12.net: could not connect to host
+yinulo.com: could not connect to host
 yippie.nl: did not receive HSTS header
 yisin.net: did not receive HSTS header
+yiyueread.com: could not connect to host
 yizhu.com: could not connect to host
 yjsoft.me: could not connect to host
 yjsw.sh.cn: could not connect to host
 ykhut.com: could not connect to host
-ykkme.com: could not connect to host
+ykkme.com: did not receive HSTS header
+ykqpw.com: could not connect to host
 yl8.com: could not connect to host
-ylilauta.org: did not receive HSTS header
 ylk.io: could not connect to host
 ylwz.cc: could not connect to host
 ym039.com: could not connect to host
 ym065.com: could not connect to host
-ym3311.com: could not connect to host
-ym3322.com: could not connect to host
-ym6699.com: could not connect to host
 ymblaw.com: did not receive HSTS header
-ymvip8.com: could not connect to host
 ynnovasport.be: could not connect to host
 ynode.co: did not receive HSTS header
 ynsn.nl: could not connect to host
@@ -32071,11 +35152,12 @@ yoga-sky.de: did not receive HSTS header
 yoga.is-an-engineer.com: could not connect to host
 yogabhawnamission.com: did not receive HSTS header
 yogamayanine.com: could not connect to host
-yogatrainingrishikesh.com: could not connect to host
+yogatrainingrishikesh.com: did not receive HSTS header
+yogeshbeniwal.com: did not receive HSTS header
 yoibyoin.info: did not receive HSTS header
 yoimise.net: did not receive HSTS header
 yoiyado.info: did not receive HSTS header
-yokeepo.com: did not receive HSTS header
+yokeepo.com: could not connect to host
 yokone3-kutikomi.com: could not connect to host
 yolo-csgo.com: could not connect to host
 yolocast.wtf: could not connect to host
@@ -32084,16 +35166,19 @@ yoloprod.fr: could not connect to host
 yoloseo.com: could not connect to host
 yomena.in: could not connect to host
 yomepre.com: could not connect to host
-yooguo123.com: did not receive HSTS header
+yonema.com: could not connect to host
+yooguo123.com: could not connect to host
+yooomu.com: could not connect to host
 yopers.com: did not receive HSTS header
-yoplate.com: could not connect to host
+yoplate.com: did not receive HSTS header
 yopuedo.co: did not receive HSTS header
 yorgosbos.nl: did not receive HSTS header
 yorkshireterrier.com.br: could not connect to host
+yorname.ml: could not connect to host
 yoru.me: did not receive HSTS header
 yosheenetwork.fr: could not connect to host
 yoticonnections.com: could not connect to host
-yotilab.com: did not receive HSTS header
+yotilab.com: could not connect to host
 yotilabs.com: could not connect to host
 youareme.ca: did not receive HSTS header
 youcaitian.com: could not connect to host
@@ -32101,12 +35186,14 @@ youcancraft.de: did not receive HSTS header
 youcanfuckoff.xyz: could not connect to host
 youcanhelp.tk: could not connect to host
 youcontrol.ru: could not connect to host
+youcruit.com: did not receive HSTS header
 youdowell.com: did not receive HSTS header
 youfencun.com: could not connect to host
 youftp.tk: could not connect to host
 yougot.pw: could not connect to host
 youhabitat.es: did not receive HSTS header
 youhacked.me: could not connect to host
+youhs.top: did not receive HSTS header
 youjizz.bz: could not connect to host
 youkok2.com: did not receive HSTS header
 youla.cf: could not connect to host
@@ -32115,11 +35202,14 @@ youlikehookups.com: could not connect to host
 youliketwinks.com: could not connect to host
 youlog.net: did not receive HSTS header
 youlovehers.com: could not connect to host
+youmiracle.com: could not connect to host
+younameit.ru: could not connect to host
 youngandunited.nl: did not receive HSTS header
 youngpeopleunited.co.uk: could not connect to host
 youngsoad.com: did not receive HSTS header
 younl.net: could not connect to host
 youon.tokyo: could not connect to host
+your-dns.run: could not connect to host
 your-greece.ga: could not connect to host
 your-idc.tk: could not connect to host
 your-waterserver.com: could not connect to host
@@ -32127,10 +35217,10 @@ your28days.com: could not connect to host
 yourbapp.ch: could not connect to host
 yourbittorrent.com: did not receive HSTS header
 yourbonus.click: could not connect to host
-yourcomputer.expert: could not connect to host
+yourcomputer.expert: did not receive HSTS header
 yourconscious.life: could not connect to host
+yourdomain.host: did not receive HSTS header
 youreward.ga: could not connect to host
-yourfriendlytech.com: could not connect to host
 yourgadget.ro: could not connect to host
 yourgame.co.il: did not receive HSTS header
 yourhair.net: max-age too low: 0
@@ -32139,30 +35229,35 @@ yourlovesong.com.mx: could not connect to host
 yourmemorykeeper.co.uk: did not receive HSTS header
 yoursecondphone.co: did not receive HSTS header
 yourself.today: could not connect to host
+yourstage.nl: could not connect to host
 yourstrongbox.com: could not connect to host
-yourtrainer.com: did not receive HSTS header
+yourtimetravel.net: did not receive HSTS header
+yourtrainer.com: could not connect to host
 yourtrainingsolutions.com: did not receive HSTS header
 youruseragent.info: could not connect to host
 yourznc.com: could not connect to host
+youshouldbealiberal.com: could not connect to host
 yousite.by: could not connect to host
 yout.com: did not receive HSTS header
+youth2009.org: could not connect to host
 youthovation.org: did not receive HSTS header
 youtsuu-raku.com: could not connect to host
 youtube: could not connect to host
 youtubeviews.ml: could not connect to host
-yoyoost.duckdns.org: could not connect to host
-yoyoost.ga: could not connect to host
-yp518518.com: max-age too low: 0
+yp518518.com: could not connect to host
 ypcs.fi: did not receive HSTS header
 ypiresia.fr: could not connect to host
+yrjanheikki.com: did not receive HSTS header
 yryz.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 ys-shop.biz: did not receive HSTS header
-ysicing.net: could not connect to host
+ysicing.me: did not receive HSTS header
+ysicing.net: did not receive HSTS header
 yspa.tv: could not connect to host
 yspeo.biz: did not receive HSTS header
 ysun.xyz: could not connect to host
 ysuna.xyz: could not connect to host
 ysx.me.uk: could not connect to host
+yt656.com: could not connect to host
 yt668899.com: could not connect to host
 ytb.zone: did not receive HSTS header
 ytbmp3.com: did not receive HSTS header
@@ -32173,37 +35268,38 @@ ytpak.com: could not connect to host
 ytpak.pk: could not connect to host
 ytuquelees.net: could not connect to host
 ytvwld.de: did not receive HSTS header
-yu.gg: did not receive HSTS header
+yu.vc: did not receive HSTS header
 yu7.jp: did not receive HSTS header
+yuan.nctu.me: could not connect to host
+yuanbaohd.com: did not receive HSTS header
 yuanbenlian.com: did not receive HSTS header
 yuandan.ml: could not connect to host
-yuanjiazhao.com: could not connect to host
 yuanjiazhao.tk: could not connect to host
 yuansecard.me: could not connect to host
+yubanmei.com: could not connect to host
 yuce518.com: could not connect to host
 yudan.com.br: could not connect to host
-yude.ml: could not connect to host
+yude.ml: did not receive HSTS header
+yue2.net: could not connect to host
 yuema.net.cn: could not connect to host
 yuer.sytes.net: could not connect to host
 yuexiangzs.com: could not connect to host
 yufan.me: did not receive HSTS header
-yugasun.com: could not connect to host
 yugege.cf: could not connect to host
-yugodi.team: did not receive HSTS header
 yuhen.ru: did not receive HSTS header
 yuho.vn: could not connect to host
 yui.cat: did not receive HSTS header
-yuisyo.ml: could not connect to host
 yuka.one: could not connect to host
 yukaction.com: did not receive HSTS header
+yukari.cloud: did not receive HSTS header
 yukbeli.id: did not receive HSTS header
 yuki-portfolio.com: did not receive HSTS header
+yukict.com: could not connect to host
 yukijinji.moe: could not connect to host
 yukiminami.net: could not connect to host
 yukimochi.me: could not connect to host
 yuko.moe: could not connect to host
 yukonrefugees.com: could not connect to host
-yulaiz.com: could not connect to host
 yum.beer: could not connect to host
 yum0.cn: could not connect to host
 yumikori.net: could not connect to host
@@ -32214,13 +35310,16 @@ yuna.love: could not connect to host
 yuna.tg: could not connect to host
 yunjishou.pro: could not connect to host
 yunpan.blue: could not connect to host
+yunsoupian.vip: could not connect to host
 yuntama.xyz: could not connect to host
 yunzhu.org: could not connect to host
+yuqi.me: could not connect to host
 yurimoens.be: could not connect to host
 yurinet.org: could not connect to host
 yuriykuzmin.com: could not connect to host
+yushi.moe: did not receive HSTS header
 yutabon.com: could not connect to host
-yutang.vn: could not connect to host
+yutang.vn: did not receive HSTS header
 yutangyun.com: could not connect to host
 yutuo.net: did not receive HSTS header
 yuucchi.com: could not connect to host
@@ -32230,23 +35329,29 @@ yux.fr: could not connect to host
 yux.io: did not receive HSTS header
 yuxingxin.com: did not receive HSTS header
 yuyu.io: did not receive HSTS header
+yuzei.tk: could not connect to host
 yuzu.tk: did not receive HSTS header
+yuzzamatuzz.co.uk: did not receive HSTS header
 yveshield.com: could not connect to host
-yveslegendre.fr: could not connect to host
 ywei.org: could not connect to host
 yxs.me: did not receive HSTS header
-yxzero.xyz: could not connect to host
+yy-s.net: could not connect to host
+yy366.cc: could not connect to host
+yy369.cc: could not connect to host
 yy5197.co: could not connect to host
-yy6396.com: did not receive HSTS header
+yy6396.com: could not connect to host
 yy6729.co: could not connect to host
 yy6729.com: did not receive HSTS header
 yy6957.co: could not connect to host
+yy9297.co: could not connect to host
+yy9297.com: could not connect to host
 yy9397.com: could not connect to host
 yy9721.com: could not connect to host
 yy9728.co: could not connect to host
 yya.bid: could not connect to host
-yya.me: could not connect to host
+yya.me: did not receive HSTS header
 yya.men: could not connect to host
+yyffqq.tk: could not connect to host
 yyrss.com: could not connect to host
 yyy116.com: could not connect to host
 yyy608.com: could not connect to host
@@ -32255,11 +35360,10 @@ yzer.club: could not connect to host
 z-coder.com: could not connect to host
 z-konzept-nutrition.ru: could not connect to host
 z-to-a.com: did not receive HSTS header
-z00228.com: could not connect to host
 z0rro.net: could not connect to host
-z30365.com: did not receive HSTS header
 z33.ch: did not receive HSTS header
 z33.co: did not receive HSTS header
+z33d.xyz: did not receive HSTS header
 z3liff.com: could not connect to host
 z3liff.net: could not connect to host
 z4k.de: did not receive HSTS header
@@ -32268,9 +35372,14 @@ z6729.co: could not connect to host
 z6729.com: did not receive HSTS header
 z6957.co: could not connect to host
 z6957.com: did not receive HSTS header
+z8079.com: could not connect to host
+z81365.com: did not receive HSTS header
+z81818.com: did not receive HSTS header
 z8182.com: could not connect to host
 z8193.com: could not connect to host
+z82365.com: did not receive HSTS header
 z8851.com: could not connect to host
+z9297.co: could not connect to host
 z9397.com: could not connect to host
 z9721.com: could not connect to host
 z9728.co: could not connect to host
@@ -32278,8 +35387,9 @@ zaadnet.ir: did not receive HSTS header
 zaalleatherwear.nl: did not receive HSTS header
 zabavno.mk: did not receive HSTS header
 zabezpecweb.cz: did not receive HSTS header
-zacadam.com: could not connect to host
-zacco.com: did not receive HSTS header
+zacadam.com: did not receive HSTS header
+zacavi.com.br: could not connect to host
+zacco.com: could not connect to host
 zacco.site: could not connect to host
 zacharopoulos.me: could not connect to host
 zachbolinger.com: could not connect to host
@@ -32287,12 +35397,12 @@ zachpeters.org: did not receive HSTS header
 zadania.wiki: could not connect to host
 zadieheimlich.com: did not receive HSTS header
 zaem.tv: could not connect to host
-zaffit.com: did not receive HSTS header
-zafirus.name: could not connect to host
+zaffit.com: could not connect to host
+zafirus.name: did not receive HSTS header
 zagluszaczgps.pl: did not receive HSTS header
+zahnarzt-kramer.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 zahnarzt-muenich.de: did not receive HSTS header
 zahnrechner-staging.azurewebsites.net: could not connect to host
-zahyantechnologies.com: did not receive HSTS header
 zajm-bez-poruchitelej.cf: could not connect to host
 zajm-bez-spravok.tk: could not connect to host
 zajm-ehkspress.ml: could not connect to host
@@ -32301,9 +35411,12 @@ zajm-pod-zalog.gq: could not connect to host
 zajmy-contact.cf: could not connect to host
 zajmy-contact.ga: could not connect to host
 zajmy-contact.gq: could not connect to host
+zakelijketaalcursus.nl: could not connect to host
 zalan.do: could not connect to host
 zalaxx.ddns.net: could not connect to host
+zalohovaniburian.cz: could not connect to host
 zalzalac.com: did not receive HSTS header
+zambranopublicidadvideo.com: could not connect to host
 zamis.net: could not connect to host
 zamocosmeticos.com.br: could not connect to host
 zamorano.edu: could not connect to host
@@ -32316,11 +35429,11 @@ zaoext.com: could not connect to host
 zaoshanghao-dajia.rhcloud.com: could not connect to host
 zap.yt: could not connect to host
 zapatoshechoamano.pe: could not connect to host
+zapmaster14.com: could not connect to host
 zappos.com: did not receive HSTS header
-zaptan.net: did not receive HSTS header
-zaptan.org: did not receive HSTS header
-zaptan.us: did not receive HSTS header
-zarfinakber.com: did not receive HSTS header
+zaptan.net: could not connect to host
+zaptan.org: could not connect to host
+zaptan.us: could not connect to host
 zargaripour.com: did not receive HSTS header
 zarmarket.org: could not connect to host
 zarooba.com: could not connect to host
@@ -32329,7 +35442,7 @@ zaympodzalog.ga: could not connect to host
 zayna.eu: did not receive HSTS header
 zbanks.cn: could not connect to host
 zbasenem.pl: did not receive HSTS header
-zbchen.com: did not receive HSTS header
+zbchen.com: could not connect to host
 zberger.com: could not connect to host
 zbetcheck.in: could not connect to host
 zbigniewgalucki.eu: did not receive HSTS header
@@ -32338,7 +35451,12 @@ zby.io: could not connect to host
 zcgram.com: did not receive HSTS header
 zcr.ca: could not connect to host
 zcryp.to: could not connect to host
+zd0808.com: could not connect to host
 zd279.com: could not connect to host
+zd3535.com: could not connect to host
+zd739.com: could not connect to host
+zd8828.com: could not connect to host
+zd8835.com: could not connect to host
 zdrave-konzultace.cz: could not connect to host
 zdravekonzultace.cz: could not connect to host
 zdravesteny.cz: could not connect to host
@@ -32359,9 +35477,12 @@ zeeuw.nl: did not receive HSTS header
 zefiris.org: did not receive HSTS header
 zefu.ca: could not connect to host
 zegriesalmansa.tk: could not connect to host
+zeguigui.com: could not connect to host
 zehdenick-bleibt-bunt.de: could not connect to host
+zeilles.nu: could not connect to host
 zeitoununiversity.org: could not connect to host
 zeitzer-turngala.de: could not connect to host
+zeiw.me: could not connect to host
 zelfmoord.ga: could not connect to host
 zelfrijdendeautos.com: did not receive HSTS header
 zelfstandigemakelaars.net: could not connect to host
@@ -32376,6 +35497,7 @@ zenics.co.uk: did not receive HSTS header
 zenmate.com.tr: could not connect to host
 zennzimie.be: did not receive HSTS header
 zennzimie.com: did not receive HSTS header
+zeno-dev.com: could not connect to host
 zeno-system.com: did not receive HSTS header
 zenpayroll.com: did not receive HSTS header
 zenram.com: could not connect to host
@@ -32387,22 +35509,23 @@ zentiweb.nl: did not receive HSTS header
 zentralwolke.de: did not receive HSTS header
 zentrumfuerchemie.de: could not connect to host
 zenus-biometrics.com: did not receive HSTS header
+zenvideocloud.com: could not connect to host
 zenwears.com: could not connect to host
-zeparadox.com: could not connect to host
+zeparadox.com: did not receive HSTS header
 zepect.com: did not receive HSTS header
 zepter.ga: could not connect to host
 zera.com.au: could not connect to host
-zerg.uk: did not receive HSTS header
+zerg.uk: could not connect to host
 zero-sum.xyz: could not connect to host
-zero-x-baadf00d.com: did not receive HSTS header
+zero-x-baadf00d.com: could not connect to host
 zerocool.io: could not connect to host
 zeroday.sk: did not receive HSTS header
 zerofox.gq: could not connect to host
-zerolab.org: could not connect to host
 zeroling.com: could not connect to host
 zeroml.ml: could not connect to host
 zerosource.net: could not connect to host
-zerowastesavvy.com: could not connect to host
+zerosync.com: could not connect to host
+zerowastesavvy.com: did not receive HSTS header
 zerowastesonoma.gov: did not receive HSTS header
 zertif.info: could not connect to host
 zerudi.com: did not receive HSTS header
@@ -32412,10 +35535,14 @@ zetrov.pl: did not receive HSTS header
 zeug.co: could not connect to host
 zewtie.com: could not connect to host
 zeytin.pro: could not connect to host
+zezeatolye.com: did not receive HSTS header
 zfly.me: could not connect to host
+zfyl8.com: could not connect to host
 zgan.ga: could not connect to host
+zgndh.com: could not connect to host
 zh-yds.com: could not connect to host
 zh1.li: could not connect to host
+zhang.nz: could not connect to host
 zhang.wtf: could not connect to host
 zhangge.net: did not receive HSTS header
 zhanglizhi.ml: could not connect to host
@@ -32424,42 +35551,44 @@ zhangruilin.com: did not receive HSTS header
 zhangsir.net: could not connect to host
 zhangyuhao.com: could not connect to host
 zhaochen.xyz: could not connect to host
+zhaoeq.com: could not connect to host
 zhaojin97.cn: could not connect to host
 zhaotongjun.com: max-age too low: 0
 zhattyt.com: could not connect to host
 zhdd.pl: did not receive HSTS header
 zhendingresources.com: could not connect to host
-zhengouwu.com: could not connect to host
 zhengqiangonglue.com: max-age too low: 0
 zhenmeish.com: could not connect to host
 zhenyan.org: could not connect to host
 zhh.in: could not connect to host
 zhi.ci: could not connect to host
-zhihua-lai.com: did not receive HSTS header
 zhikin.com: could not connect to host
 zhiku8.com: could not connect to host
 zhimajk.com: could not connect to host
+zhina.wiki: could not connect to host
 zhiwei.me: could not connect to host
 zhome.info: could not connect to host
+zhongxigo.com: could not connect to host
 zhongzicili.ws: could not connect to host
+zhou28d88vip.com: did not receive HSTS header
 zhoujiashu.com: could not connect to host
-zhoutiancai.cn: could not connect to host
+zhoutiancai.cn: did not receive HSTS header
 zhouzeng1314.com: max-age too low: 0
 zhthings.com: could not connect to host
-zhuji.com.cn: could not connect to host
-zhuji5.com: could not connect to host
 zhujicaihong.com: could not connect to host
 zi0r.com: did not receive HSTS header
 zian.online: could not connect to host
 zicklam.com: did not receive HSTS header
-ziegler-family.com: did not receive HSTS header
+ziegler-family.com: could not connect to host
 zigcore.com.br: could not connect to host
+zihun.club: could not connect to host
+zijung.me: could not connect to host
 zikirakhirzaman.com: could not connect to host
 ziktime.com: did not receive HSTS header
 zilon.com.co: could not connect to host
 zindan.tk: could not connect to host
 zinenapse.info: did not receive HSTS header
-zingpetfood.com: could not connect to host
+zingpetfood.com: did not receive HSTS header
 zings.eu: could not connect to host
 zip.ch: did not receive HSTS header
 zippy-download.com: could not connect to host
@@ -32471,7 +35600,7 @@ zittingskalender.be: did not receive HSTS header
 zivagold.com: could not connect to host
 zivy-ruzenec.cz: could not connect to host
 ziwa.ir: did not receive HSTS header
-zixo.sk: could not connect to host
+zixo.sk: did not receive HSTS header
 ziyuanabc.xyz: could not connect to host
 ziz.exchange: could not connect to host
 zizcollections.com: could not connect to host
@@ -32483,8 +35612,10 @@ zju.tv: could not connect to host
 zjubtv.com: could not connect to host
 zjuqsc.com: could not connect to host
 zjutv.com: could not connect to host
+zjv.me: could not connect to host
 zjyifa.cn: could not connect to host
 zk.com.co: did not receive HSTS header
+zkd.me: could not connect to host
 zkillboard.com: did not receive HSTS header
 zking.ga: could not connect to host
 zkrypt.cc: did not receive HSTS header
@@ -32493,46 +35624,59 @@ zl-59.com: could not connect to host
 zl-69.com: could not connect to host
 zl-79.com: could not connect to host
 zl-89.com: could not connect to host
-zl0101.com: could not connect to host
+zl0505.com: could not connect to host
+zl071.com: could not connect to host
+zl0909.com: could not connect to host
+zl1212.com: could not connect to host
+zl2020.com: could not connect to host
+zl2020.vip: could not connect to host
+zl3737.com: could not connect to host
+zl4231.com: could not connect to host
+zl4290.com: could not connect to host
 zl8824.com: could not connect to host
-zlc1994.com: could not connect to host
+zl883.com: could not connect to host
+zlaty-tyden.cz: did not receive HSTS header
+zlatytyden.cz: did not receive HSTS header
+zlc1994.com: did not receive HSTS header
 zlcp.com: could not connect to host
+zlogic.xyz: did not receive HSTS header
+zlol.lg.ua: did not receive HSTS header
 zlotonews.com: did not receive HSTS header
+zlypi.com: could not connect to host
 zmala.com: could not connect to host
+zmessages.com: did not receive HSTS header
 zmsastro.co.za: could not connect to host
 zmscable.com: did not receive HSTS header
 zmy.im: could not connect to host
 znacite.com: did not receive HSTS header
 znd.jp: could not connect to host
-zngay.com: could not connect to host
 zning.net.cn: could not connect to host
-znn.co.jp: did not receive HSTS header
 zny.pw: could not connect to host
 zocken.com: did not receive HSTS header
 zodgame.fun: did not receive HSTS header
 zodgame.us: did not receive HSTS header
 zoe.vc: did not receive HSTS header
-zohair.xyz: did not receive HSTS header
 zohar.link: could not connect to host
 zohar.shop: did not receive HSTS header
-zoi.jp: could not connect to host
+zoi.jp: did not receive HSTS header
 zokster.net: did not receive HSTS header
 zolokar.xyz: could not connect to host
 zonadebolsa.es: did not receive HSTS header
 zone-de-confiance.fr: could not connect to host
-zone39.com: could not connect to host
 zone403.net: could not connect to host
 zoneminder.com: did not receive HSTS header
 zoners.si: did not receive HSTS header
+zonewatcher.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: ../../../UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 132"  data: no]
 zonky.io: could not connect to host
 zontractors.com: could not connect to host
-zoo.city: could not connect to host
+zoo.city: did not receive HSTS header
 zoo24.de: did not receive HSTS header
 zoofaeth.de: did not receive HSTS header
 zoofit.com.au: could not connect to host
 zookids.uy: did not receive HSTS header
 zoological-gardens.eu: could not connect to host
 zoomcar.pro: did not receive HSTS header
+zoomek.com: could not connect to host
 zoomingin.net: max-age too low: 5184000
 zoommailing.com: did not receive HSTS header
 zoomplumbing.net: did not receive HSTS header
@@ -32553,15 +35697,17 @@ zqhong.com: could not connect to host
 zqjs.tk: could not connect to host
 zqstudio.top: could not connect to host
 zqwqz.com: did not receive HSTS header
+zqzx.xyz: could not connect to host
 zr.is: did not receive HSTS header
 zrt.io: did not receive HSTS header
+zry-blog.top: could not connect to host
 zs-ohradni.cz: did not receive HSTS header
-zserver.fr: could not connect to host
+zs6688.cc: could not connect to host
 zsoltbereczki.tk: could not connect to host
 zsrbcs.com: could not connect to host
 zstu.eu: could not connect to host
 ztan.tk: could not connect to host
-ztcaoll222.cn: did not receive HSTS header
+ztcaoll222.cn: could not connect to host
 ztytian.com: could not connect to host
 zuan-in.com: could not connect to host
 zuan-in.net: could not connect to host
@@ -32572,15 +35718,18 @@ zuckerfloh.de: did not receive HSTS header
 zudomc.me: could not connect to host
 zuefle.net: did not receive HSTS header
 zuehlcke.de: could not connect to host
+zuenkov.com: max-age too low: 0
 zug.fr: could not connect to host
 zug.io: did not receive HSTS header
 zuitaotu.com: could not connect to host
 zukix.com: could not connect to host
 zulu7.com: did not receive HSTS header
+zumazar.ru: could not connect to host
 zunda.cafe: could not connect to host
 zunftmarke.de: did not receive HSTS header
 zup.me: could not connect to host
 zupago.com: did not receive HSTS header
+zuppy.pm: could not connect to host
 zurickrelogios.com.br: did not receive HSTS header
 zurret.de: did not receive HSTS header
 zutsu-raku.com: could not connect to host
@@ -32595,15 +35744,17 @@ zwembadheeten.nl: did not receive HSTS header
 zx1168.com: could not connect to host
 zx2268.com: could not connect to host
 zxavier.com: did not receive HSTS header
-zxc.science: could not connect to host
+zxc.science: did not receive HSTS header
 zxe.com.br: could not connect to host
 zxity.co.uk: could not connect to host
 zxity.ltd: could not connect to host
 zxity.uk: could not connect to host
 zxssl.com: did not receive HSTS header
+zxtcode.com: could not connect to host
 zxxcq.com: could not connect to host
 zyf.pw: could not connect to host
 zyger.co.za: did not receive HSTS header
+zygozoon.com: could not connect to host
 zylai.net: could not connect to host
 zymbit.com: did not receive HSTS header
 zync.ca: did not receive HSTS header
@@ -32613,14 +35764,16 @@ zyrillezuno.com: could not connect to host
 zyso.org: could not connect to host
 zz0036.com: max-age too low: 0
 zz017.com: could not connect to host
+zz074.com: could not connect to host
+zz284.com: could not connect to host
 zz295.com: did not receive HSTS header
 zz5197.co: could not connect to host
 zz606.com: could not connect to host
 zz6729.co: could not connect to host
 zz6729.com: did not receive HSTS header
 zz6957.co: could not connect to host
-zz9397.com: could not connect to host
-zz9721.com: could not connect to host
+zz9397.com: did not receive HSTS header
+zz9721.com: did not receive HSTS header
 zz9728.co: could not connect to host
 zzb510.com: could not connect to host
 zzb6688.com: could not connect to host
diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc
index 8adf5484c9..65f1d5ae56 100644
--- a/security/manager/ssl/nsSTSPreloadList.inc
+++ b/security/manager/ssl/nsSTSPreloadList.inc
@@ -8,7 +8,7 @@
 /*****************************************************************************/
 
 #include 
-const PRTime gPreloadListExpirationTime = INT64_C(1585036830608000);
+const PRTime gPreloadListExpirationTime = INT64_C(1591406347918000);
 
 class nsSTSPreload
 {
@@ -21,12 +21,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0--1.de", true },
   { "0-24.com", true },
   { "0-24.net", true },
-  { "00004048.com", true },
   { "000321365.com", true },
-  { "000b58.com", true },
-  { "000btt.net", true },
+  { "0007552.com", true },
+  { "00100010.net", true },
+  { "00130013.net", true },
+  { "00150015.net", true },
+  { "00160016.net", true },
   { "00168365.com", true },
-  { "001yapan.com", true },
+  { "0017552.com", true },
+  { "00180018.net", true },
+  { "00190019.net", true },
+  { "001yapan.com", false },
   { "00228.am", false },
   { "00228.org", false },
   { "00228ww.com", false },
@@ -35,37 +40,49 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "00228yy.com", false },
   { "00228z.com", false },
   { "00228zz.com", false },
-  { "0022bet.vip", true },
+  { "0022bet.vip", false },
   { "002k8.com", true },
   { "00365t.com", true },
+  { "0037552.com", true },
   { "003971.com", true },
+  { "00440044.net", true },
+  { "0047552.com", true },
+  { "00550055.net", true },
+  { "0057552.com", true },
+  { "0064427.com", true },
+  { "0067552.com", true },
+  { "0077552.com", true },
   { "008207.com", true },
   { "008251.com", true },
   { "008253.com", true },
   { "008271.com", true },
+  { "0086286.com", true },
+  { "0087552.com", true },
   { "009597.com", true },
+  { "0097552.com", true },
   { "00dani.me", true },
   { "00f.net", true },
+  { "01.org", true },
   { "01011970.xyz", true },
   { "010203.ru", true },
   { "010kb.com", true },
   { "010ks.com", true },
   { "010ks.net", true },
   { "01110000011100110111001001100111.com", true },
-  { "01234048.com", true },
-  { "012345678365.com", true },
+  { "0117552.com", true },
   { "0123456789365.com", true },
+  { "0127552.com", true },
   { "01365t.com", true },
+  { "0137552.com", true },
   { "015kb.com", true },
   { "0166z6.com", true },
   { "016kb.com", true },
   { "0177z6.com", true },
   { "0188z6.com", true },
-  { "018k8.com", true },
   { "01918.net", true },
   { "0199z6.com", true },
-  { "01tools.com", true },
   { "020ks.com", true },
+  { "021002.com", true },
   { "0222z6.com", true },
   { "022367.com", true },
   { "022379.com", true },
@@ -91,7 +108,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "02am8.com", true },
   { "03012.net", true },
   { "03018.net", true },
-  { "0311z6.com", true },
   { "0312z6.com", true },
   { "0313z6.com", true },
   { "0315z6.com", true },
@@ -114,16 +130,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0372z6.com", true },
   { "0373z6.com", true },
   { "0375z6.com", true },
-  { "0376z6.com", true },
   { "0377z6.com", true },
-  { "038456.com", true },
+  { "038456.com", false },
+  { "038899.com", true },
   { "0393gg.com", true },
   { "0393hh.com", true },
   { "0393ii.com", true },
   { "0399z6.com", true },
   { "04365t.com", true },
   { "046569.com", true },
-  { "04911701.cn", true },
   { "04d.co", true },
   { "050869.com", true },
   { "050ks.com", true },
@@ -136,18 +151,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0513z6.com", true },
   { "0515z6.com", true },
   { "0516z6.com", true },
-  { "0517z6.com", true },
   { "0518z6.com", true },
   { "0521z6.com", true },
   { "0523z6.com", true },
   { "0531z6.com", true },
   { "0532z6.com", true },
-  { "0533z6.com", true },
   { "0535z6.com", true },
   { "05365t.com", true },
   { "0536z6.com", true },
   { "0537z6.com", true },
-  { "0538z6.com", true },
   { "0539z6.com", true },
   { "0551z6.com", true },
   { "0552z6.com", true },
@@ -186,16 +198,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0593z6.com", true },
   { "0595z6.com", true },
   { "0596z6.com", true },
-  { "0597z6.com", true },
   { "0598z6.com", true },
   { "0599z6.com", true },
-  { "05am8.com", true },
   { "05am8.net", true },
+  { "060258.com", true },
   { "060795.com", true },
   { "0607p.com", true },
   { "060870.com", true },
   { "060875.com", true },
   { "06091994.xyz", true },
+  { "060s.com", true },
   { "06365t.com", true },
   { "065679.com", true },
   { "065706.com", true },
@@ -217,27 +229,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "067360.com", true },
   { "067361.com", true },
   { "06804.com", true },
-  { "0681b.com", true },
-  { "0681c.com", true },
-  { "0681d.com", true },
-  { "0681e.com", true },
-  { "0681f.com", true },
-  { "0681g.com", true },
-  { "0681i.com", true },
-  { "0681j.com", true },
-  { "0681l.com", true },
-  { "0681m.com", true },
-  { "0681o.com", true },
-  { "0681p.com", true },
-  { "0681q.com", true },
-  { "0681s.com", true },
-  { "0681t.com", true },
-  { "0681u.com", true },
-  { "0681w.com", true },
-  { "0681x.com", true },
-  { "0681y.com", true },
-  { "0681z.com", true },
-  { "068663.com", true },
   { "068697.com", true },
   { "068756.com", true },
   { "068957.com", true },
@@ -257,7 +248,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0713z6.com", true },
   { "0715z6.com", true },
   { "0716z6.com", true },
-  { "0717z6.com", true },
   { "0718z6.com", true },
   { "0719z6.com", true },
   { "071k8.com", true },
@@ -267,27 +257,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0728z6.com", true },
   { "0732ks.com", true },
   { "07365t.com", true },
-  { "0737399.com", true },
   { "075k8.com", true },
   { "0760ks.com", true },
   { "0763ks.com", true },
   { "0766ks.com", true },
   { "076k8.com", true },
-  { "0771z6.com", true },
   { "0772z6.com", true },
   { "0773z6.com", true },
   { "0775z6.com", true },
   { "0776z6.com", true },
+  { "077768.net", true },
   { "0777z6.com", true },
   { "077810.com", true },
   { "077863.com", true },
+  { "077969.com", true },
   { "0779z6.com", true },
   { "077k8.com", true },
   { "078kb.com", true },
   { "0792112.com", true },
-  { "079606.com", true },
-  { "079607.com", true },
   { "0798rcw.com", true },
+  { "07am8.com", true },
   { "07d88.com", true },
   { "081115.com", true },
   { "081752.com", true },
@@ -323,6 +312,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "085851.com", true },
   { "085905.com", true },
   { "085950.com", true },
+  { "087010.com", true },
   { "087065.com", true },
   { "0871z6.com", true },
   { "0872z6.com", true },
@@ -333,19 +323,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0875z6.com", true },
   { "0876z6.com", true },
   { "0877z6.com", true },
-  { "08817a.com", true },
-  { "08817c.com", true },
-  { "08817d.com", true },
-  { "08817e.com", true },
-  { "08817f.com", true },
-  { "08817g.com", true },
-  { "08817h.com", true },
-  { "08817j.com", true },
-  { "08817k.com", true },
-  { "08817m.com", true },
-  { "08817w.com", true },
-  { "08817y.com", true },
-  { "08817z.com", true },
   { "08845.cc", true },
   { "0888z6.com", true },
   { "08918.net", true },
@@ -368,6 +345,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0au.de", true },
   { "0c3.de", true },
   { "0chan.pl", true },
+  { "0chanru.net", true },
   { "0cp8778.com", true },
   { "0day.agency", true },
   { "0des.com", true },
@@ -375,14 +353,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0ik.de", true },
   { "0iz.net", true },
   { "0knowledge.de", false },
+  { "0kun.net", true },
   { "0lc8.com", true },
   { "0lc8.net", true },
   { "0paste.com", true },
+  { "0q0.eu", true },
+  { "0verl0rd.ir", true },
+  { "0vo.moe", true },
   { "0wx.cat", true },
   { "0wx.es", true },
   { "0wx.eu", true },
   { "0wx.org", true },
-  { "0x.cx", true },
   { "0x.sk", true },
   { "0x0.li", true },
   { "0x00c.de", true },
@@ -390,13 +371,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0x15.ca", true },
   { "0x17.de", true },
   { "0x378.net", true },
+  { "0x3bb.net", true },
   { "0x41.us", true },
   { "0x52.net", true },
   { "0x7.io", true },
   { "0x7d.com", true },
   { "0x7fffffff.net", true },
-  { "0x80.org", true },
-  { "0x90.in", true },
   { "0x90.io", true },
   { "0xabe.io", true },
   { "0xaf.tk", true },
@@ -407,13 +387,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "0xff.se", true },
   { "0xn.de", true },
   { "1-2-3bounce.co.uk", true },
-  { "1-345.com", false },
   { "100-downloads.com", true },
   { "10000v.ru", true },
   { "1000minds.com", true },
   { "1000wordsevents.com", true },
   { "1001kartini.com", true },
   { "1001kerstpakketten.com", false },
+  { "1004233.com", true },
+  { "1007337.com", true },
   { "10086.ru", true },
   { "100k.eu", true },
   { "100kredite.de", true },
@@ -426,9 +407,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "101.qa", true },
   { "101010.pl", true },
   { "1011100.com", true },
+  { "10160365.com", true },
   { "101sauna.kz", true },
   { "101sauna.ru", true },
-  { "102ch.us", true },
   { "1041263497.rsc.cdn77.org", true },
   { "10430.net", true },
   { "10435.net", true },
@@ -437,23 +418,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "10439.net", true },
   { "10453.net", true },
   { "10495.net", true },
-  { "105318.com", false },
   { "106jamz.com", true },
   { "10774.net", true },
   { "107996.com", false },
   { "10840.net", true },
   { "1088.fun", true },
+  { "1091.jp", true },
   { "109k8.com", true },
-  { "10gbit.ovh", true },
   { "10hz.de", true },
   { "10k.ag", true },
+  { "10milliondollarpage.com", true },
+  { "10og.de", true },
   { "10ppm.com", true },
-  { "11018xpj.com", false },
-  { "110320.com", true },
+  { "10x.to", true },
+  { "10xnation.com", true },
+  { "110110110.net", true },
   { "110k8.com", true },
-  { "111.one", true },
   { "1111365t.com", true },
-  { "1111k8.com", true },
   { "1112z6.com", true },
   { "111321365.com", true },
   { "111365t.com", true },
@@ -461,56 +442,52 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1115z6.com", true },
   { "11168365.com", true },
   { "1116z6.com", true },
+  { "1117035.com", true },
   { "1117z6.com", true },
   { "1119z6.com", true },
-  { "111b58.com", true },
-  { "111plus.design", true },
+  { "111ttt.com", true },
   { "111z6.com", true },
   { "111zlong.com", true },
   { "1120340.com", true },
+  { "112112112.net", true },
   { "1122z6.com", true },
   { "112app.nl", true },
   { "112hz.com", true },
   { "112it.ro", true },
   { "112z6.com", true },
-  { "11335835.com", true },
+  { "113113113.net", true },
+  { "11321365.com", true },
   { "1133z6.com", true },
   { "11365t.com", true },
   { "113k8.com", true },
   { "113ks.com", true },
   { "113z6.com", true },
-  { "11445835.com", true },
   { "114514ss.com", true },
-  { "11555835.com", true },
   { "115lc.com", true },
   { "115z6.com", true },
-  { "11665835.com", true },
   { "1166z6.com", true },
   { "116ks.com", true },
   { "116lc.com", true },
   { "116z6.com", true },
-  { "11775835.com", true },
   { "1177z6.com", true },
   { "117lc.com", true },
   { "117z6.com", true },
-  { "11885835.com", true },
-  { "1188bet.vip", true },
+  { "118118118.net", true },
+  { "1188bet.vip", false },
   { "1188z6.com", true },
   { "118btt.com", true },
   { "118z6.com", true },
   { "1190america.tk", true },
-  { "11995835.com", true },
-  { "1199bet.vip", true },
+  { "1199bet.vip", false },
   { "1199z6.com", true },
   { "119lc.com", true },
   { "119z6.com", true },
-  { "11assets.com", true },
+  { "11ag8.com", true },
   { "11lc8.com", true },
   { "11lc8.net", true },
   { "11loc.de", true },
   { "11thstreetcoffee.com", true },
   { "11urss.com", true },
-  { "120323.com", true },
   { "1212873467.rsc.cdn77.org", true },
   { "1212z6.com", true },
   { "1218641649.rsc.cdn77.org", true },
@@ -518,44 +495,66 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1222z6.com", true },
   { "122kb.com", true },
   { "123365t.com", true },
-  { "12344048.com", true },
+  { "1234365.vip", true },
+  { "1234365a.com", true },
+  { "1234365b.com", true },
+  { "1234365c.com", true },
+  { "1234365d.com", true },
+  { "1234365e.com", true },
+  { "1234365f.com", true },
+  { "1234365g.com", true },
+  { "1234365h.com", true },
+  { "1234365i.com", true },
+  { "1234365j.com", true },
+  { "1234365k.com", true },
+  { "1234365l.com", true },
+  { "1234365m.com", true },
+  { "1234365n.com", true },
+  { "1234365o.com", true },
+  { "1234365p.com", true },
+  { "1234365q.com", true },
+  { "1234365s.com", true },
+  { "1234365t.com", true },
+  { "1234365u.com", true },
+  { "1234365v.com", true },
+  { "1234365vip.com", true },
+  { "1234365w.com", true },
+  { "1234365x.com", true },
+  { "1234365y.com", true },
+  { "1234365z.com", true },
   { "12345678365.com", true },
   { "123456789365.com", true },
+  { "1234888.com", true },
   { "1236.be", true },
   { "12365t.com", true },
+  { "123666365.com", true },
   { "123apps.net", true },
   { "123bearing.co.uk", true },
   { "123bearing.com", true },
   { "123bearing.eu", true },
   { "123birthdaygreetings.com", true },
-  { "123comparer.fr", true },
+  { "123djdrop.com", true },
   { "123midterm.com", true },
-  { "123nutricion.es", true },
   { "123opstalverzekeringen.nl", true },
   { "123roulement.be", true },
   { "123roulement.com", true },
   { "123seo.ml", true },
   { "123termpapers.com", true },
+  { "123viajando.com", true },
   { "123writings.com", true },
   { "123z6.com", true },
   { "124133.com", true },
   { "124633.com", true },
+  { "1248.ink", true },
   { "125m125.de", true },
-  { "126772.com", true },
-  { "127661.com", true },
-  { "127662.com", true },
-  { "127663.com", true },
-  { "127665.com", true },
+  { "12ag8.com", true },
   { "12autoankauf-berlin.de", true },
   { "12l.nl", true },
   { "12thmanrising.com", true },
   { "12train.com", true },
   { "12vpn.net", true },
-  { "13-th.com", true },
+  { "12zw.com", true },
   { "130.ua", true },
-  { "130032.com", true },
-  { "130212.com", true },
-  { "130232.com", true },
   { "130ks.com", true },
   { "130ks.net", true },
   { "1313z6.com", true },
@@ -567,7 +566,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "131z6.com", true },
   { "13214.cc", true },
   { "132301.com", true },
-  { "132302.com", true },
   { "132k66.ag", true },
   { "132ks.com", true },
   { "132kv.ch", true },
@@ -575,7 +573,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "133294.com", true },
   { "1333z6.com", true },
   { "133492.com", true },
-  { "1337.vg", true },
+  { "133769.xyz", true },
+  { "133846.xyz", true },
   { "133ks.com", true },
   { "133ks.net", true },
   { "133z6.com", true },
@@ -588,7 +587,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "135z6.com", true },
   { "136814.com", true },
   { "136824.com", true },
-  { "136924.com", true },
   { "136k66.ag", true },
   { "136k66.com", true },
   { "136ks.com", true },
@@ -604,13 +602,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1395kj.com", true },
   { "139k66.ag", true },
   { "139z6.com", true },
-  { "13th-dover.uk", true },
+  { "13ag8.com", true },
   { "141145.com", true },
-  { "14159.gb.net", true },
   { "143533.com", true },
   { "143633.com", true },
   { "143733.com", true },
-  { "143918.com", true },
   { "143933.com", true },
   { "1453914078.rsc.cdn77.org", true },
   { "145433.com", true },
@@ -621,6 +617,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1464424382.rsc.cdn77.org", true },
   { "146533.com", true },
   { "146733.com", true },
+  { "1481481.com", true },
+  { "1481481.net", true },
+  { "1481482.com", true },
+  { "1481482.net", true },
+  { "1481483.com", true },
+  { "1481483.net", true },
+  { "1481485.com", true },
+  { "1481485.net", true },
+  { "1481486.com", true },
   { "149433.com", true },
   { "149733.com", true },
   { "14erc.com", true },
@@ -638,7 +643,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "152k66.com", true },
   { "152z6.com", true },
   { "153ks.net", true },
-  { "153z.com", true },
+  { "153z.com", false },
   { "153z6.com", true },
   { "154233.com", true },
   { "154633.com", true },
@@ -670,15 +675,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "159z6.com", true },
   { "16-qw.tk", true },
   { "1600esplanade.com", true },
+  { "16036510.com", true },
+  { "16036520.com", true },
+  { "16036530.com", true },
+  { "16036540.com", true },
+  { "16036550.com", true },
+  { "16036560.com", true },
+  { "16036570.com", true },
+  { "16036580.com", true },
+  { "16036590.com", true },
   { "160763.com", true },
   { "160887.com", true },
   { "161233.com", true },
-  { "161263.com", true },
   { "162223.com", true },
   { "162229.com", true },
   { "162231.com", true },
   { "162263.com", true },
-  { "162361.com", true },
   { "162jonesrd.ca", true },
   { "163132.com", true },
   { "1644091933.rsc.cdn77.org", true },
@@ -703,12 +715,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1683659.com", true },
   { "16836599.com", true },
   { "168365t.com", true },
+  { "168bo9.com", true },
+  { "168bo9.net", true },
   { "168btt.com", true },
   { "168btt.net", true },
   { "168fff.cc", true },
   { "168z6.com", true },
-  { "168zz.cc", true },
   { "1698k.com", true },
+  { "16ag6.com", true },
   { "16packets.com", true },
   { "16z6.com", true },
   { "16z66.com", true },
@@ -720,7 +734,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "171ks.com", true },
   { "1720302.com", true },
   { "1720312.com", true },
-  { "173940.com", true },
+  { "173940.com", false },
   { "1750studios.com", false },
   { "175k8.com", true },
   { "175ks.com", true },
@@ -746,7 +760,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "182k8.com", true },
   { "182ks.com", true },
   { "182ks.net", true },
-  { "182z6.com", true },
   { "183k8.com", true },
   { "183z6.com", true },
   { "1844329061.rsc.cdn77.org", true },
@@ -760,33 +773,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "187z6.com", true },
   { "1888lc.com", true },
   { "188cn-sb.com", true },
-  { "188da.com", true },
   { "188kb.com", true },
   { "188z6.com", true },
   { "189z6.com", true },
   { "18f.gov", true },
   { "18f.gsa.gov", false },
+  { "191090.com", true },
   { "1911trust.com", true },
   { "192433.com", true },
   { "192ks.com", true },
+  { "1939365.com", true },
   { "1941-45.ru", true },
   { "1972969867.rsc.cdn77.org", true },
   { "197k8.com", true },
   { "1981612088.rsc.cdn77.org", true },
   { "1994.io", true },
-  { "19990bb.com", false },
-  { "19990cc.com", false },
-  { "19990d.com", false },
-  { "19990dd.com", false },
-  { "19990ee.com", false },
-  { "19990gg.com", false },
-  { "19990jj.com", false },
-  { "19990k.com", false },
-  { "19990nn.com", false },
-  { "19990q.com", false },
-  { "19990r.com", false },
-  { "19990tt.com", false },
-  { "19990zz.com", false },
+  { "19990bb.com", true },
+  { "19990cc.com", true },
+  { "19990d.com", true },
+  { "19990dd.com", true },
+  { "19990ee.com", true },
+  { "19990ff.com", true },
+  { "19990gg.com", true },
+  { "19990ii.com", true },
+  { "19990jj.com", true },
+  { "19990k.com", true },
+  { "19990nn.com", true },
+  { "19990q.com", true },
+  { "19990r.com", true },
+  { "19990tt.com", true },
+  { "19990uu.com", true },
+  { "19990xx.com", true },
+  { "19990zz.com", true },
   { "199ks.com", true },
   { "199ks.net", true },
   { "19btt.com", true },
@@ -798,17 +816,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1ag777.com", true },
   { "1ag88.com", true },
   { "1android.de", true },
-  { "1b1.pl", true },
   { "1baks.tk", true },
+  { "1bet86.com", true },
   { "1blazing.cf", true },
   { "1c-power.ru", true },
+  { "1cedibet.com", true },
   { "1chan.pl", true },
+  { "1codex.online", true },
   { "1cool.vip", true },
   { "1cover.co.nz", true },
   { "1cover.com.au", true },
   { "1cprosto.tk", true },
+  { "1cswd.com", true },
   { "1datatec.com", true },
   { "1e9.nl", true },
+  { "1eanda.com", true },
   { "1europlan.nl", true },
   { "1f123.net", true },
   { "1fach-digital.de", true },
@@ -827,36 +849,39 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1lc8.net", true },
   { "1ll.uk", true },
   { "1lord1faith.com", true },
+  { "1m.duckdns.org", true },
   { "1malaysian.tk", true },
+  { "1me.cz", true },
+  { "1minutoomenos.com", true },
   { "1montre.fr", true },
   { "1morebounce.co.uk", true },
   { "1net.uk", true },
-  { "1nfr.com", false },
   { "1oaklasvegas.com", true },
   { "1of16.de", true },
   { "1on1on1.de", true },
   { "1on1on1.tv", true },
-  { "1onehouse.com", true },
   { "1panorama.ru", true },
   { "1password.ca", true },
   { "1password.com", true },
   { "1password.eu", true },
   { "1pw.ca", true },
+  { "1px.tv", true },
   { "1r.is", true },
   { "1rs.nl", true },
   { "1sand0s.nl", true },
   { "1se.co", true },
   { "1se2or3.com", true },
+  { "1simplesolution.com", true },
   { "1st-bounce.co.uk", true },
   { "1st-community.de", true },
+  { "1st2bounce.com", true },
   { "1stcarpetcleaning.co.uk", true },
   { "1stchoicelandscapingwa.com", true },
   { "1stclassbouncycastles.co.uk", true },
   { "1stforfun.co.uk", true },
   { "1stpeninsulabouncers.co.uk", true },
   { "1ticks.com", true },
-  { "1v1.xyz", true },
-  { "1v9.im", true },
+  { "1voz.org", true },
   { "1vpns.com", true },
   { "1way.faith", true },
   { "1whw.co.uk", true },
@@ -865,64 +890,72 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "1zombie.team", true },
   { "2.wtf", true },
   { "200.network", true },
+  { "2000.is", true },
   { "2000meter.no", true },
   { "2001y.me", true },
+  { "2002138.com", true },
   { "2012.ovh", true },
   { "2012review.tk", true },
   { "2013review.tk", true },
   { "2015review.tk", true },
+  { "20160365.com", true },
   { "2018fifaworldcup.tk", true },
-  { "2019k8.com", true },
   { "2022class1.ga", true },
-  { "2026j95.com", true },
   { "202jj.com", true },
   { "204504byse.info", true },
+  { "2083236893.com", true },
   { "208garfield.com", true },
-  { "208wns.com", true },
   { "20at.com", true },
   { "20denier.com", true },
   { "210k8.com", true },
+  { "2132-app.com", true },
+  { "2132-vip.com", true },
+  { "2132app.com", true },
+  { "2132hb.com", true },
+  { "2132hd.com", true },
+  { "2132kf.com", true },
+  { "2132vip.com", true },
+  { "2138-vip.com", true },
+  { "2138kf.com", true },
+  { "2138vip.com", true },
   { "213k8.com", true },
   { "215dy.net", true },
   { "217778.com", true },
   { "218btt.com", true },
-  { "21sthammersmith.org.uk", true },
   { "21stnc.us", true },
   { "21x9.org", true },
   { "2206p.com", true },
   { "22168365.com", true },
+  { "222138vip.com", true },
   { "2222365t.com", true },
   { "2222k8.com", true },
   { "2222k8.net", true },
   { "22245j.com", true },
   { "22256j.com", true },
-  { "222b58.com", true },
+  { "2227035.com", true },
+  { "2227552.com", true },
   { "222k8.com", true },
   { "222k8.net", true },
   { "222tips.com", true },
   { "224918.com", true },
   { "225485.com", true },
   { "2255motion.com", true },
-  { "2264707.ru", true },
+  { "2277bet.com", true },
   { "228668.com", true },
   { "22884.org", false },
-  { "2288422.com", false },
-  { "2288499.com", false },
   { "22884a.com", false },
   { "22884b.com", false },
   { "22884e.com", false },
   { "22884g.com", false },
   { "22884h.com", false },
-  { "2288bet.vip", true },
+  { "2288bet.vip", false },
   { "22918.net", true },
-  { "22994.org", false },
-  { "2299433.com", false },
-  { "2299455.com", false },
-  { "2299466.com", false },
+  { "22ag6.com", true },
   { "22delta.com", true },
   { "22i.co.uk", true },
   { "22lc8.com", true },
   { "22lc8.net", true },
+  { "22txc.com", true },
   { "230beats.com", true },
   { "233.be", true },
   { "23333.link", true },
@@ -934,20 +967,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "233hub.com", true },
   { "233hub.net", true },
   { "233hub.org", true },
-  { "233now.com", true },
   { "233ss.net", true },
+  { "233try.com", true },
   { "233v2.com", true },
   { "233vps.com", true },
-  { "233yes.com", true },
   { "23436565.com", true },
+  { "234567365.com", true },
+  { "2345678365.com", true },
+  { "23456789365.com", true },
+  { "234666365.com", true },
   { "234lc.com", true },
+  { "235551.com", true },
   { "235u.net", true },
+  { "2378.com", true },
   { "238212.com", true },
+  { "23lhb.com", true },
   { "24-7.jp", true },
   { "24.ie", true },
-  { "245meadowvistaway.com", true },
+  { "245meadowvistaway.com", false },
   { "246060.ru", true },
   { "247medplan.com", true },
+  { "247naijabuzz.com", true },
   { "24848168.com", true },
   { "24848188.com", true },
   { "2484822.com", true },
@@ -985,6 +1025,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "24848zz.com", true },
   { "249722.com", true },
   { "24dian30.com", true },
+  { "24gazette.ga", true },
   { "24hour-locksmithsanantonio.com", true },
   { "24hourcyclist.co.uk", true },
   { "24hourelectricalservices.co.uk", true },
@@ -1013,6 +1054,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "258877.com", true },
   { "25may.tk", true },
   { "25north.nl", true },
+  { "25percent.me", true },
   { "25reinyan25.net", true },
   { "2600edinburgh.org", true },
   { "2600hq.com", true },
@@ -1030,33 +1072,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "276117.com", true },
   { "2777z6.com", true },
   { "277z6.com", true },
-  { "27878.com", true },
-  { "27878dd.com", true },
-  { "27878gg.com", true },
-  { "27878hh.com", true },
-  { "27878ii.com", true },
-  { "27878jj.com", true },
-  { "27878ll.com", true },
-  { "27878nn.com", true },
-  { "27878oo.com", true },
-  { "27878pp.com", true },
-  { "27878qq.com", true },
-  { "27878rr.com", true },
-  { "27878ss.com", true },
-  { "27878tt.com", true },
-  { "27878vv.com", true },
-  { "27878ww.com", true },
-  { "27878xx.com", true },
-  { "27878yy.com", true },
-  { "27878zz.com", true },
-  { "27is.com", true },
   { "28-industries.com", true },
   { "281116.com", true },
   { "281180.de", true },
   { "281ks.com", true },
   { "282ks.com", true },
   { "28365cn-365.com", true },
-  { "284365.com", true },
   { "285551.com", true },
   { "2858958.com", true },
   { "2888z6.com", true },
@@ -1076,10 +1097,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "2991236.com", true },
   { "2999z6.com", true },
   { "299ks.net", true },
-  { "2ag88.com", true },
   { "2au.ru", true },
   { "2bas.nl", true },
   { "2bcompany.ch", false },
+  { "2bet86.com", true },
   { "2bis10.de", true },
   { "2blazing.cf", true },
   { "2c-b.com", true },
@@ -1092,9 +1113,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "2chan.eu", true },
   { "2chan.jp", true },
   { "2cv-fahrer.de", true },
-  { "2evip.com", true },
+  { "2evip.com", false },
   { "2fm.ie", true },
-  { "2fm.radio", true },
   { "2fraud.pro", true },
   { "2gen.com", true },
   { "2gether.fr", true },
@@ -1123,22 +1143,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "2rsc.net", true },
   { "2stv.net", false },
   { "2th.me", true },
+  { "2travel8.world", true },
   { "2ulcceria.nl", true },
   { "2wheel.com", false },
   { "2y.fi", true },
   { "2y3x.com", true },
   { "3-dot-careapp1-146314.appspot.com", true },
   { "30019.com", true },
-  { "3006789.com", true },
+  { "3006789.com", false },
+  { "3007337.com", true },
   { "300m.com", false },
   { "301.technology", true },
   { "301355.com", true },
+  { "30160365.com", true },
   { "301ks.com", true },
   { "302422.com", true },
-  { "303112.com", true },
   { "303312.com", true },
-  { "3033888.com", false },
   { "303422.com", true },
+  { "30365.vip", true },
   { "30375511.com", true },
   { "30375544.com", true },
   { "30375566.com", true },
@@ -1147,14 +1169,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "304322.com", true },
   { "304622.com", true },
   { "3056999.com", true },
-  { "308xpj.com", false },
   { "309422.com", true },
   { "30bet365.com", true },
+  { "30hzcollective.com", true },
   { "310422.com", true },
   { "311186.com", true },
   { "311191.com", true },
   { "313422.com", true },
-  { "313xpj.com", false },
   { "314022.com", true },
   { "314122.com", true },
   { "314322.com", true },
@@ -1162,56 +1183,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "314622.com", true },
   { "314633.com", true },
   { "314922.com", true },
-  { "315xpj.com", false },
   { "316433.com", true },
-  { "317811111.com", true },
-  { "31782222.com", true },
-  { "317822222.com", true },
-  { "31783333.com", true },
-  { "317833333.com", true },
-  { "31784444.com", true },
-  { "317844444.com", true },
-  { "317855555.com", true },
-  { "31786666.com", true },
-  { "317866666.com", true },
-  { "3178666666.com", true },
-  { "317877777.com", true },
-  { "3178888888.com", true },
-  { "31789999.com", true },
-  { "317899999.com", true },
-  { "3178b.com", true },
-  { "3178bbb.com", true },
-  { "3178c.com", true },
-  { "3178ccc.com", true },
-  { "3178dd.com", true },
-  { "3178ddd.com", true },
-  { "3178e.com", true },
-  { "3178f.com", true },
-  { "3178g.com", true },
-  { "3178h.com", true },
-  { "3178i.com", true },
-  { "3178iii.com", true },
-  { "3178j.com", true },
-  { "3178jjj.com", true },
-  { "3178l.com", true },
-  { "3178m.com", true },
-  { "3178n.com", true },
-  { "3178o.com", true },
-  { "3178p.com", true },
-  { "3178ppp.com", true },
-  { "3178qqq.com", true },
-  { "3178rrr.com", true },
-  { "3178tt.com", true },
-  { "3178ttt.com", true },
-  { "3178uuu.com", true },
-  { "3178vvv.com", true },
-  { "3178ww.com", true },
-  { "3178www.com", true },
-  { "3178xx.com", true },
-  { "3178xxx.com", true },
-  { "3178yy.com", true },
-  { "3178yyy.com", true },
-  { "3178zzz.com", true },
   { "319422.com", true },
   { "319xpj.com", false },
   { "31du.cn", true },
@@ -1227,11 +1199,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "324533.com", true },
   { "324922.com", true },
   { "325422.com", true },
+  { "325552.com", true },
   { "326422.com", true },
   { "326433.com", true },
   { "329422.com", true },
   { "32bet365.com", true },
   { "32h.de", true },
+  { "33138app.com", true },
+  { "33138vip.com", true },
   { "33168365.com", true },
   { "3322z6.com", true },
   { "333321365.com", true },
@@ -1242,7 +1217,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "3333ylc.cc", true },
   { "3333z6.com", true },
   { "33365t.com", true },
-  { "333b58.com", true },
+  { "3337035.com", true },
   { "3344981.com", true },
   { "3344982.com", true },
   { "3344983.com", true },
@@ -1257,13 +1232,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "3389p.com", true },
   { "338sa.com", true },
   { "33am8.com", true },
-  { "33b58.com", true },
   { "33btt.net", true },
   { "33jiasu.com", true },
   { "33kb88.com", true },
   { "33lc8.com", true },
   { "33lc8.net", true },
   { "33weishang.com", true },
+  { "34-restaurant.co.uk", true },
   { "340422.com", true },
   { "340622.com", true },
   { "340922.com", true },
@@ -1286,6 +1261,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "343722.com", true },
   { "343922.com", true },
   { "34536565.com", true },
+  { "345678365.com", true },
   { "345lc.com", true },
   { "346022.com", true },
   { "346033.com", true },
@@ -1312,6 +1288,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "35089y1.com", true },
   { "35089y2.com", true },
   { "351113.com", true },
+  { "351365.com", true },
   { "3518k.com", true },
   { "354022.com", true },
   { "354233.com", true },
@@ -1323,7 +1300,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "356433.com", true },
   { "357maelai.co", true },
   { "360-staffing.com", true },
-  { "360365.com", true },
   { "360hosting.com.au", true },
   { "360live.fr", true },
   { "360rail.nl", true },
@@ -1332,12 +1308,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "361171.com", true },
   { "361173.com", true },
   { "361183.com", true },
+  { "363331.com", true },
   { "365.asia", true },
-  { "3651143.com", true },
-  { "3651145.com", true },
-  { "3651146.com", true },
-  { "3651147.com", true },
-  { "3651149.com", true },
+  { "365.systems", true },
   { "36525.hk", true },
   { "36533c.com", true },
   { "36533d.com", true },
@@ -1359,6 +1332,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "36533t.com", true },
   { "36533u.com", true },
   { "36533v.com", true },
+  { "3655053.com", true },
   { "36554ll.com", true },
   { "36554mm.com", true },
   { "365600dl.com", true },
@@ -1368,15 +1342,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "36594a.com", true },
   { "36594b.com", true },
   { "36594c.com", true },
-  { "3659801.com", true },
-  { "365b58.com", true },
+  { "3659801.com", false },
   { "365cn-288.com", true },
   { "365daysreview.com", true },
   { "365electricalvn.com", true },
   { "365iosapp.com", true },
   { "365propertybuyer.co.uk", false },
   { "365sb-cn.com", true },
-  { "365securitymg.com", true },
   { "365skulls.com", true },
   { "365y0.com", true },
   { "365y00.com", true },
@@ -1394,25 +1366,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "365y77.com", true },
   { "365y9.com", true },
   { "365y99.com", true },
-  { "365yapan.com", true },
-  { "365ypw.com", true },
+  { "365yapan.com", false },
+  { "365ypw.com", false },
   { "365yuwen.com", true },
   { "365zg.com", true },
   { "366k66.com", true },
   { "366z6.com", true },
   { "367553.com", true },
   { "367556.com", true },
+  { "36ag8.com", true },
+  { "36bobines.com", true },
   { "370422.com", true },
   { "371422.com", true },
   { "371687.com", true },
   { "371cloud.com", false },
-  { "373.moe", true },
+  { "3733366.xyz", true },
   { "373422.com", true },
   { "373816.com", true },
   { "374933.com", true },
   { "375422.com", true },
   { "375ks.com", true },
-  { "376208.com", true },
   { "376557.com", true },
   { "377625.com", true },
   { "377632.com", true },
@@ -1422,13 +1395,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "378901.com", true },
   { "378902.com", true },
   { "378ks.com", true },
-  { "379700.com", true },
   { "37987.com", false },
-  { "37987c.com", false },
   { "37987d.com", false },
   { "37987e.com", false },
   { "37987f.com", false },
   { "37987g.com", false },
+  { "37zk.com", true },
+  { "37zw.com", true },
   { "380111333.com", true },
   { "380111444.com", true },
   { "380111666.com", true },
@@ -1447,6 +1420,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "380805.com", true },
   { "3808833.com", true },
   { "3809955.com", true },
+  { "381115.com", true },
   { "382225.com", true },
   { "387763.com", true },
   { "3886aa.com", true },
@@ -1454,6 +1428,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "38irkutsk.tk", true },
   { "390422.com", true },
   { "390933.com", true },
+  { "391119.com", true },
   { "392422.com", true },
   { "393422.com", true },
   { "394022.com", true },
@@ -1482,7 +1457,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "3957x.com", true },
   { "3957y.com", true },
   { "3957z.com", true },
-  { "396228.com", false },
   { "396301.com", true },
   { "396302.com", true },
   { "396303.com", true },
@@ -1494,42 +1468,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "3963ee.com", true },
   { "3963ff.com", true },
   { "396422.com", true },
-  { "3970abc.com", true },
-  { "3970bc.com", true },
-  { "3970ccc.com", true },
-  { "3970fa.com", true },
-  { "3970ku.com", true },
-  { "3970ok.com", true },
-  { "3970win.com", true },
-  { "3970yes.com", true },
-  { "3970ylc.com", true },
   { "398.info", true },
   { "398kb.com", true },
   { "399ks.com", true },
   { "399z6.com", true },
   { "39w66.com", true },
   { "3aandl.com", true },
+  { "3aexpert.com.ua", true },
   { "3ags.de", true },
   { "3b.pm", true },
+  { "3bet86.com", true },
   { "3bigking.com", true },
   { "3blazing.cf", true },
   { "3c-d.de", true },
-  { "3chat.org", true },
+  { "3cbalance.pl", true },
   { "3countiescastlehire.co.uk", true },
   { "3d-animator.net", true },
   { "3d-fotoservice.de", true },
-  { "3d1t0r4.com", true },
+  { "3d1t0r4.com", false },
   { "3danimation.tk", true },
   { "3dcollective.es", true },
   { "3de5.nl", true },
   { "3deeplearner.com", true },
   { "3dgep.com", true },
   { "3djuegos.com", true },
+  { "3dmedium.de", true },
   { "3dmusiclab.nl", true },
+  { "3dnovedades.com", true },
   { "3do3dont.com", true },
   { "3dprinterwiki.org", true },
   { "3dprintinggear.net", true },
   { "3dreactions.com", true },
+  { "3dsupplies.be", true },
   { "3elife.vn", true },
   { "3gdh.vip", true },
   { "3haeuserprojekt.org", true },
@@ -1544,11 +1514,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "3logic.ru", true },
   { "3mbo.de", true },
   { "3n5b.com", true },
+  { "3niu1.com", true },
   { "3niu6.com", true },
-  { "3niuurl.com", false },
-  { "3oneseven.com", true },
+  { "3niusurl.com", true },
+  { "3niuurl.com", true },
   { "3pestki.org", true },
   { "3plusdesign.gr", true },
+  { "3pm.tw", true },
   { "3prn.com", true },
   { "3queens.cz", true },
   { "3queens.io", true },
@@ -1569,73 +1541,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "3tribes.co.uk", true },
   { "3typen.tv", true },
   { "3v4l.org", true },
-  { "3ve.com", true },
-  { "3vlnaeet.cz", true },
   { "3w-solutions.fr", true },
   { "3xbit.com.br", true },
   { "4-it.de", true },
   { "4000milestare.com", true },
+  { "4000sf.com", true },
   { "400k8.com", true },
-  { "4025c.com", true },
-  { "4025d.com", true },
-  { "4025f.com", true },
-  { "4025g.com", true },
-  { "4025h.com", true },
-  { "4025i.com", true },
-  { "4025j.com", true },
-  { "4025k.com", true },
-  { "4025l.com", true },
-  { "4025n.com", true },
-  { "4025p.com", true },
-  { "4025q.com", true },
-  { "4025s.com", true },
-  { "4025t.com", true },
-  { "4025u.com", true },
-  { "4025v.com", true },
-  { "4025w.com", true },
-  { "4025x.com", true },
-  { "4025y.com", true },
+  { "40160365.com", true },
+  { "4025c.com", false },
+  { "4025d.com", false },
+  { "4025f.com", false },
+  { "4025g.com", false },
+  { "4025h.com", false },
+  { "4025i.com", false },
+  { "4025j.com", false },
+  { "4025k.com", false },
+  { "4025l.com", false },
+  { "4025n.com", false },
+  { "4025p.com", false },
+  { "4025q.com", false },
+  { "4025s.com", false },
+  { "4025t.com", false },
+  { "4025u.com", false },
+  { "4025v.com", false },
+  { "4025w.com", false },
+  { "4025x.com", false },
+  { "4025y.com", false },
   { "403.ch", true },
-  { "4048.co", true },
-  { "40481234.com", true },
-  { "40482345.com", true },
-  { "40484567.com", true },
-  { "40485678.com", true },
-  { "40486789.com", true },
-  { "4048aaa.com", true },
-  { "4048b.com", true },
-  { "4048ccc.com", true },
-  { "4048ddd.com", true },
-  { "4048e.com", true },
-  { "4048eee.com", true },
-  { "4048fff.com", true },
-  { "4048ggg.com", true },
-  { "4048hhh.com", true },
-  { "4048i.com", true },
-  { "4048iii.com", true },
-  { "4048jjj.com", true },
-  { "4048lll.com", true },
-  { "4048mmm.com", true },
-  { "4048ooo.com", true },
-  { "4048p.com", true },
-  { "4048ppp.com", true },
-  { "4048q.com", true },
-  { "4048qqq.com", true },
-  { "4048r.com", true },
-  { "4048rrr.com", true },
-  { "4048s.com", true },
-  { "4048sss.com", true },
-  { "4048t.com", true },
-  { "4048ttt.com", true },
-  { "4048vvv.com", true },
-  { "4048w.com", true },
-  { "4048www.com", true },
-  { "4048x.com", true },
-  { "4048xxx.com", true },
-  { "4048y.com", true },
-  { "4048yyy.com", true },
-  { "4048z.com", true },
-  { "4048zzz.com", true },
   { "404notfound.com.br", true },
   { "40666888.com", false },
   { "406811.com", true },
@@ -1647,19 +1579,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "411film.com", true },
   { "411movie.com", true },
   { "411quest.com", true },
-  { "4151365.com", true },
-  { "416365.com", true },
   { "41studio.com", true },
+  { "41where.com", true },
   { "42.tools", true },
   { "420.nerdpol.ovh", true },
   { "420java.com", true },
   { "420screen.com", true },
+  { "420weedcenter.com", true },
+  { "4233065.com", true },
+  { "4233068.com", true },
+  { "4233069.com", true },
   { "4233070.com", true },
+  { "4251365.com", true },
+  { "427138.com", true },
   { "428northampton.com", true },
-  { "42ch.com", true },
-  { "42day.info", true },
   { "42l.fr", true },
+  { "432666365.com", true },
   { "432web.net", true },
+  { "4351365.com", true },
+  { "437138.com", true },
   { "437844.com", true },
   { "439050.com", true },
   { "43klive.com", true },
@@ -1673,22 +1611,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "44365t.com", true },
   { "443887.com", true },
   { "443jz.com", true },
+  { "4447035.com", true },
+  { "4447552.com", true },
   { "444887.com", true },
-  { "444b58.com", true },
-  { "4455bet.vip", true },
+  { "4455bet.vip", false },
   { "445887.com", true },
-  { "44b58.com", true },
   { "451365.com", true },
   { "45365t.com", true },
+  { "4551365.com", true },
+  { "4562030.com", true },
+  { "4562040.com", true },
   { "456365t.com", true },
-  { "45674048.com", true },
-  { "456lc.com", true },
+  { "456666365.com", true },
   { "459022.com", true },
   { "45b.org", true },
   { "463855.com", true },
   { "4661049.com", true },
   { "46d88.com", true },
-  { "47.rs", true },
   { "4706666.com", true },
   { "4716666.com", true },
   { "4726666.com", true },
@@ -1700,6 +1639,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "47d88.com", true },
   { "48365365cn.com", true },
   { "48365cn-365.com", true },
+  { "486138.com", true },
   { "487511.com", true },
   { "487522.com", true },
   { "487866.com", true },
@@ -1708,15 +1648,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "492977.com", true },
   { "492y.com", true },
   { "497773.com", true },
-  { "49889.com", true },
   { "499ks.com", true },
   { "499ks.net", true },
   { "49dollaridahoregisteredagent.com", true },
   { "4best.tk", true },
+  { "4bet86.com", true },
   { "4c-haircare.com", true },
+  { "4cavaleiros.com.br", true },
   { "4dillusion.tk", true },
+  { "4dpredict.com", true },
+  { "4dropping.com", true },
   { "4everproxy.com", true },
-  { "4evip.com", true },
+  { "4evip.com", false },
   { "4eyes.ch", true },
   { "4fit.ro", true },
   { "4g-server.eu", false },
@@ -1725,53 +1668,57 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "4hmediaproductions.com", true },
   { "4host.ch", true },
   { "4investors.de", true },
+  { "4kpi.eu", true },
   { "4lock.com.br", true },
   { "4mm.org", true },
   { "4monar.com", true },
   { "4obgyne.com", true },
+  { "4pillarsit.com", true },
+  { "4played.de", true },
+  { "4played.vip", true },
   { "4plebs.moe", true },
   { "4project.co.il", true },
+  { "4smart.cz", true },
   { "4th-ave-studio.com", true },
   { "4thdc.com", true },
   { "4u.services", false },
   { "4u2ore.net", true },
   { "4vector.com", true },
   { "4vf.de", true },
+  { "4vio.com", true },
   { "4wrd.cc", true },
   { "4x.fi", true },
   { "4x4-27mc.nl", true },
   { "4x4.lk", true },
   { "4x4coatingen.nl", true },
   { "4xlabs.co", true },
-  { "5-890.com", false },
-  { "50.gd", true },
+  { "50.pe", true },
   { "500k8.com", true },
-  { "500promocodes.com", true },
   { "500promokodov.ru", true },
   { "501117.com", true },
-  { "5017701.com", true },
-  { "5017702.com", true },
-  { "5017703.com", true },
-  { "5017704.com", true },
-  { "5017705.com", true },
-  { "5017801.com", true },
-  { "5017802.com", true },
-  { "5017803.com", true },
-  { "5017804.com", true },
-  { "5017805.com", true },
+  { "50160365.com", true },
+  { "5017801.com", false },
+  { "5017802.com", false },
+  { "5017803.com", false },
+  { "5017804.com", false },
+  { "5017805.com", false },
   { "502312.com", true },
   { "504122.com", true },
   { "504322.com", true },
   { "504622.com", true },
   { "504922.com", true },
   { "505343.com", false },
-  { "5055990.com", true },
+  { "5055990.com", false },
   { "506422.com", true },
   { "508kb.com", true },
-  { "50lakeshore.com", true },
   { "50milli.com", true },
   { "50north.de", true },
-  { "513651.com", true },
+  { "50plusnet.nl", true },
+  { "50ten40.com", true },
+  { "5132app.com", true },
+  { "5132hb.com", true },
+  { "5132hd.com", true },
+  { "5132vip.com", true },
   { "51365a.com", true },
   { "51365aa.com", true },
   { "51365b.com", true },
@@ -1793,10 +1740,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "516ks.com", true },
   { "518.com.tw", true },
   { "51877.net", true },
+  { "5188900.com", true },
   { "518k8.com", true },
   { "519422.com", true },
   { "5197.com", true },
   { "51acg.eu.org", true },
+  { "51cls.tw", true },
   { "51guaq.com", true },
   { "51tiaojiu.com", true },
   { "52002a.com", true },
@@ -1824,20 +1773,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "52002x.com", true },
   { "52002y.com", true },
   { "52051.com", true },
-  { "52051t.com", true },
-  { "52051u.com", true },
-  { "52051v.com", true },
-  { "52051w.com", true },
-  { "52051x.com", true },
-  { "52051y.com", true },
-  { "52051z.com", true },
-  { "52062e.com", true },
+  { "52062a.com", true },
+  { "52062b.com", true },
+  { "52062c.com", true },
   { "52062g.com", true },
-  { "52062j.com", true },
-  { "52062k.com", true },
-  { "52062p.com", true },
-  { "52062u.com", true },
+  { "52062h.com", true },
+  { "52062n.com", true },
+  { "52062o.com", true },
+  { "52062q.com", true },
+  { "52062s.com", true },
+  { "52062v.com", true },
+  { "52062w.com", true },
+  { "52062x.com", true },
   { "52062y.com", true },
+  { "52062z.com", true },
+  { "5214889.com", true },
   { "524022.com", true },
   { "524622.com", true },
   { "524922.com", true },
@@ -1848,6 +1798,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "52kb365.com", true },
   { "52ncp.net", true },
   { "52sykb.com", true },
+  { "5310899.com", true },
+  { "5310899.net", true },
   { "531422.com", true },
   { "532441.com", true },
   { "532445.com", true },
@@ -1855,7 +1807,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "534622.com", true },
   { "534922.com", true },
   { "535kb.com", true },
-  { "5364.com", true },
   { "536422.com", true },
   { "5364b.com", true },
   { "5364c.com", true },
@@ -1865,54 +1816,53 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "53ningen.com", true },
   { "540922.com", true },
   { "541022.com", true },
+  { "5414app.com", true },
+  { "5414hd.com", true },
+  { "5414vip.com", true },
   { "541622.com", true },
   { "541651.com", true },
   { "541722.com", true },
   { "541922.com", true },
+  { "5424app.com", true },
+  { "5424hd.com", true },
+  { "5424vip.com", true },
+  { "5454app.com", true },
+  { "5454hd.com", true },
+  { "5454pk.com", true },
   { "545922.com", true },
   { "546802.com", true },
   { "54below.com", true },
   { "54lsj.cc", true },
-  { "551365.com", true },
-  { "552365.com", true },
   { "552z6.com", true },
   { "55365t.com", true },
   { "5539z.com", true },
   { "553z6.com", true },
-  { "55554048.com", true },
-  { "555b58.com", true },
+  { "5557035.com", true },
+  { "5557552.com", true },
   { "555btt.com", true },
   { "555kb.com", true },
+  { "555w.org", true },
   { "555wfcp.com", true },
-  { "555zlong.com", true },
   { "556021.com", true },
-  { "5566bet.vip", true },
   { "556777.cc", true },
   { "556z6.com", true },
   { "557z6.com", true },
   { "558btt.net", true },
   { "558z6.com", true },
   { "559z6.com", true },
-  { "55b58.com", true },
   { "55d88.com", true },
   { "55ks.app", true },
   { "55lc8.com", true },
-  { "56011r.com", true },
-  { "56011s.com", true },
-  { "56011t.com", true },
-  { "56011u.com", true },
-  { "56011v.com", true },
-  { "56011w.com", true },
-  { "56011x.com", true },
-  { "56011y.com", true },
-  { "56011z.com", true },
   { "56365t.com", true },
   { "565kb.com", true },
+  { "5663.cc", true },
+  { "5663.co", true },
+  { "56695.com", true },
   { "566k66.com", true },
   { "566ks.com", true },
   { "566z6.com", true },
   { "56736565.com", true },
-  { "56784048.com", true },
+  { "567667.cc", true },
   { "572kb.com", true },
   { "575kb.com", true },
   { "5763.org", true },
@@ -1930,7 +1880,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "5795887.com", true },
   { "5796.org", true },
   { "5797.org", true },
-  { "581018.com", true },
   { "581kb.com", true },
   { "583422.com", true },
   { "585422.com", true },
@@ -1945,7 +1894,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "591422.com", true },
   { "592227.com", true },
   { "592422.com", true },
-  { "593-7.com", false },
   { "5930593.com", true },
   { "594022.com", true },
   { "594622.com", true },
@@ -1974,6 +1922,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "5981t.com", true },
   { "5981v.com", true },
   { "5981w.com", true },
+  { "598598598.net", true },
   { "59859h.vip", true },
   { "59859j.vip", true },
   { "59859k.vip", true },
@@ -1981,12 +1930,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "59859y.vip", true },
   { "59859z.vip", true },
   { "598877.com", true },
+  { "59937.com", true },
   { "5997891.com", true },
   { "599980.com", true },
   { "599ks.com", true },
   { "59rus.tk", true },
   { "5agks.com", true },
   { "5apps.com", true },
+  { "5bet86.com", true },
   { "5c1fd0f31022cbc40af9f785847baaf9.space", true },
   { "5ccapitalinvestments.com", true },
   { "5chat.it", true },
@@ -1996,9 +1947,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "5gb.space", true },
   { "5goglobal.com", true },
   { "5i.gs", true },
-  { "5icsb.com", true },
   { "5ilg.com", true },
-  { "5in.win", true },
   { "5k66.ag", true },
   { "5kraceforals.com", true },
   { "5lc8.com", true },
@@ -2008,10 +1957,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "5thchichesterscouts.org.uk", true },
   { "5y.fi", true },
   { "5yeb.com", true },
+  { "6004233.com", true },
   { "60062b.cc", true },
   { "60062h.cc", true },
   { "60062i.cc", true },
   { "600k8.com", true },
+  { "60160365.com", true },
   { "602422.com", true },
   { "602yb.com", true },
   { "603yb.com", true },
@@ -2025,25 +1976,41 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "608885.com", true },
   { "608vets.com", true },
   { "609422.com", true },
+  { "611121.com", true },
+  { "611125.com", true },
   { "611135.com", true },
   { "611165.com", true },
   { "611195.com", true },
+  { "6132-app.com", true },
+  { "6132-hd.com", true },
+  { "6132-vip.com", true },
+  { "6132app.com", true },
+  { "6132hb.com", true },
+  { "6132hd.com", true },
+  { "6132kf.com", true },
+  { "6132pk.com", true },
+  { "6132vip.com", true },
   { "614022.com", true },
   { "614322.com", true },
   { "614922.com", true },
-  { "616btt.com", true },
+  { "616578.com", true },
+  { "616728.com", true },
+  { "616758.com", true },
+  { "616798.com", true },
   { "616f88.com", true },
   { "616xin.com", true },
   { "61730123.com", true },
   { "618btt.com", true },
   { "619kb.com", true },
+  { "61ag8.com", true },
   { "61z6.com", true },
   { "620207.com", true },
   { "621422.com", true },
   { "621kb.com", true },
-  { "62222.com", true },
+  { "622283.com", true },
   { "622812.com", true },
   { "622z6.com", true },
+  { "62314.cc", true },
   { "623kb.com", true },
   { "624022.com", true },
   { "624122.com", true },
@@ -2054,9 +2021,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "626422.com", true },
   { "630422.com", true },
   { "631422.com", true },
+  { "633362.com", true },
   { "633663.cc", true },
   { "633663.net", true },
-  { "633663.vip", true },
   { "633kb.com", true },
   { "633z6.com", true },
   { "634022.com", true },
@@ -2065,43 +2032,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "634922.com", true },
   { "635422.com", true },
   { "636422.com", true },
-  { "6365ah.com", true },
-  { "6365am.com", true },
-  { "6365bj.com", true },
-  { "6365cq.com", true },
-  { "6365dx.com", true },
-  { "6365fj.com", true },
-  { "6365gd.com", true },
-  { "6365gs.com", true },
-  { "6365gx.com", true },
-  { "6365gz.com", true },
-  { "6365hb.com", true },
-  { "6365hh.com", true },
-  { "6365hk.com", true },
-  { "6365hlj.com", true },
-  { "6365hn.com", true },
-  { "6365jl.com", true },
-  { "6365js.com", true },
-  { "6365jx.com", true },
-  { "6365ln.com", true },
-  { "6365lt.com", true },
-  { "6365nmg.com", true },
-  { "6365nn.com", true },
-  { "6365nx.com", true },
-  { "6365qh.com", true },
-  { "6365sc.com", true },
-  { "6365sd.com", true },
-  { "6365sh.com", true },
-  { "6365ss.com", true },
-  { "6365sx.com", true },
-  { "6365tj.com", true },
-  { "6365tw.com", true },
-  { "6365xj.com", true },
-  { "6365xz.com", true },
-  { "6365yd.com", true },
-  { "6365yn.com", true },
-  { "6365zj.com", true },
   { "639422.com", true },
+  { "6396000.com", true },
+  { "63960000.com", true },
+  { "63961111.com", true },
+  { "639611111.com", true },
+  { "6396222.com", true },
+  { "63962222.com", true },
+  { "639622222.com", true },
+  { "6396333.com", true },
+  { "63963333.com", true },
+  { "639633333.com", true },
+  { "6396444.com", true },
+  { "63964444.com", true },
+  { "639644444.com", true },
+  { "63965555.com", true },
+  { "639655555.com", true },
+  { "639666666.com", true },
+  { "63967777.com", true },
+  { "639677777.com", true },
+  { "63968888.com", true },
+  { "639688888.com", true },
+  { "63969999.com", true },
+  { "639699999.com", true },
+  { "6396aaa.com", true },
+  { "6396bbb.com", true },
+  { "6396eee.com", true },
+  { "6396ggg.com", true },
+  { "6396iii.com", true },
+  { "6396jjj.com", true },
+  { "6396ooo.com", true },
+  { "6396qqq.com", true },
+  { "6396rrr.com", true },
+  { "6396sss.com", true },
+  { "6396ttt.com", true },
+  { "6396vvv.com", true },
+  { "6396www.com", true },
+  { "6396xxx.com", true },
+  { "6396zzz.com", true },
   { "63gaming.com", true },
   { "640622.com", true },
   { "640722.com", true },
@@ -2133,52 +2101,43 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "646022.com", true },
   { "646322.com", true },
   { "646722.com", true },
+  { "647630.xyz", true },
   { "649022.com", true },
   { "649622.com", true },
   { "649722.com", true },
   { "649822.com", true },
   { "64d88.com", true },
-  { "65131a.com", true },
-  { "65131b.com", true },
-  { "65131c.com", true },
-  { "65131d.com", true },
-  { "65131e.com", true },
-  { "65131f.com", true },
-  { "65131g.com", true },
-  { "65131h.com", true },
-  { "65131i.com", true },
-  { "65131j.com", true },
-  { "65131k.com", true },
-  { "65131l.com", true },
-  { "65131m.com", true },
-  { "65131n.com", true },
-  { "65131o.com", true },
-  { "65131p.com", true },
-  { "65131q.com", true },
-  { "65131r.com", true },
-  { "65131s.com", true },
-  { "65131t.com", true },
-  { "65131u.com", true },
-  { "65131v.com", true },
-  { "65131w.com", true },
-  { "65131x.com", true },
-  { "65131y.com", true },
-  { "65131z.com", true },
+  { "64stacks.com", true },
+  { "65131a.com", false },
+  { "65131b.com", false },
+  { "65131c.com", false },
+  { "65131d.com", false },
+  { "65131e.com", false },
+  { "65131f.com", false },
+  { "65131g.com", false },
+  { "65131h.com", false },
+  { "65131i.com", false },
+  { "65131j.com", false },
+  { "65131k.com", false },
+  { "65131l.com", false },
+  { "65131m.com", false },
+  { "65131n.com", false },
+  { "65131o.com", false },
+  { "65131p.com", false },
+  { "65131q.com", false },
+  { "65131r.com", false },
+  { "65131s.com", false },
+  { "65131t.com", false },
+  { "65131u.com", false },
+  { "65131v.com", false },
+  { "65131w.com", false },
+  { "65131x.com", false },
+  { "65131y.com", false },
+  { "65131z.com", false },
   { "651422.com", true },
   { "652422.com", true },
   { "652kb.com", true },
-  { "6542277.com", true },
-  { "6543399.com", true },
-  { "65477.com", true },
-  { "6547700.com", true },
-  { "6547711.com", true },
-  { "6547722.com", true },
-  { "6547733.com", true },
-  { "6547744.com", true },
-  { "6547755.com", true },
-  { "6547766.com", true },
-  { "6548855.com", true },
-  { "6548877.com", true },
+  { "655591.com", true },
   { "6556a.com", true },
   { "6556b.com", true },
   { "6556c.com", true },
@@ -2200,13 +2159,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "661326.com", true },
   { "6616.fun", true },
   { "66168365.com", true },
-  { "6617365.com", true },
   { "6618.fun", true },
   { "6619k.com", true },
   { "661z6.com", true },
   { "662607.xyz", true },
-  { "6627365.com", true },
-  { "6629365.com", true },
   { "662k66.com", true },
   { "662z6.com", true },
   { "663365666.com", true },
@@ -2240,7 +2196,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "663365y.com", true },
   { "663365z.com", true },
   { "663z6.com", true },
-  { "664048.com", true },
   { "6652566.com", true },
   { "6658.fun", true },
   { "665z6.com", true },
@@ -2248,26 +2203,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "66619991.com", true },
   { "666222bet.com", true },
   { "666333bet.com", true },
+  { "666365app.com", true },
+  { "666365ios.com", true },
+  { "666365iosapp.com", true },
   { "666365t.com", true },
   { "666555bet.com", true },
-  { "66664048.com", true },
   { "666668722.com", true },
+  { "6667035.com", true },
   { "666888bet.com", true },
   { "66689j.com", true },
-  { "6669255.com", true },
+  { "6669255.com", false },
   { "666999bet.com", true },
   { "666am8.com", true },
-  { "666b58.com", true },
   { "666k66.com", true },
   { "666k8.com", true },
   { "666k8.net", true },
   { "666omg.com", true },
-  { "6671365.com", true },
-  { "6672365.com", true },
-  { "6673365.com", true },
-  { "6677bet.vip", true },
+  { "6677bet.vip", false },
   { "667z6.com", true },
   { "6685m.com", true },
+  { "668825.vip", true },
   { "6689m.com", true },
   { "668am8.com", true },
   { "668k8.com", true },
@@ -2275,8 +2230,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "668ks.com", true },
   { "668z6.com", true },
   { "669z6.com", true },
+  { "66ag9.com", true },
   { "66agks.com", true },
-  { "66b58.com", true },
+  { "66b.com", true },
   { "66d88.net", true },
   { "66k66.ag", true },
   { "66lc8.com", true },
@@ -2286,16 +2242,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "670633.com", true },
   { "671422.com", true },
   { "672422.com", true },
+  { "6729dns.com", false },
+  { "6729dz.com", false },
   { "673422.com", true },
-  { "673569.com", true },
   { "676422.com", true },
   { "676812.com", true },
   { "677z6.com", true },
   { "67836565.com", true },
-  { "678365cc.com", true },
   { "678365t.com", true },
   { "67877777.com", false },
-  { "67894048.com", true },
   { "678z6.com", true },
   { "679422.com", true },
   { "67y7.com", true },
@@ -2303,8 +2258,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "6810app.com", true },
   { "6830521.com", true },
   { "6848.com", true },
-  { "6863070.com", true },
-  { "686848.com", true },
+  { "6863070.com", false },
   { "688libo.com", true },
   { "688z6.com", true },
   { "68hvip.com", true },
@@ -2323,6 +2277,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "69games.xxx", true },
   { "69ks.com", true },
   { "69wasted.net", true },
+  { "6bet86.com", true },
   { "6dec.gc.ca", true },
   { "6k66.ag", true },
   { "6k662.ag", true },
@@ -2333,16 +2288,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "6lc8.com", true },
   { "6lc8.net", true },
   { "6lo.zgora.pl", true },
+  { "6upagent.com", true },
+  { "7.plus", true },
   { "700.az", true },
+  { "7007337.com", true },
   { "700k8.com", true },
-  { "700wns.com", true },
-  { "70365365.com", true },
+  { "701135.com", true },
+  { "70160365.com", true },
+  { "70365365.com", false },
   { "704233.com", true },
+  { "7045.com", true },
   { "704533.com", true },
   { "7045h.com", true },
   { "704633.com", true },
-  { "7080997.com", true },
-  { "70872.com", true },
+  { "705994.com", true },
+  { "70872.com", false },
   { "709129.com", true },
   { "70d88.com", true },
   { "712433.com", true },
@@ -2350,7 +2310,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "713367.com", true },
   { "713387.com", true },
   { "713433.com", true },
-  { "71365365.com", true },
+  { "71365365.com", false },
   { "714133.com", true },
   { "714533.com", true },
   { "714633.com", true },
@@ -2368,7 +2328,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "721167.com", true },
   { "721172.com", true },
   { "7214.cc", true },
-  { "7214.com", true },
   { "722201.com", true },
   { "722z6.com", true },
   { "724233.com", true },
@@ -2380,11 +2339,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "726433.com", true },
   { "728433.com", true },
   { "729433.com", true },
+  { "72hours2sold.com", true },
   { "730433.com", true },
   { "731433.com", true },
   { "731716.com", true },
   { "732433.com", true },
-  { "73365365.com", true },
+  { "73365365.com", false },
+  { "7337006.com", true },
+  { "7337007.com", true },
+  { "7337app.com", true },
+  { "7337dh.com", true },
+  { "7337dz.com", true },
   { "733z6.com", true },
   { "735433.com", true },
   { "736371.com", true },
@@ -2392,12 +2357,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "736433.com", true },
   { "738433.com", true },
   { "739433.com", true },
-  { "73info.com", false },
   { "740833.com", true },
   { "741833.com", true },
   { "742833.com", true },
   { "743833.com", true },
   { "74d88.com", true },
+  { "7552001.com", true },
+  { "7552002.com", true },
+  { "7552005.com", true },
+  { "7552006.com", true },
+  { "7552008.com", true },
+  { "7552009.com", true },
+  { "7552010.com", true },
+  { "7552011.com", true },
+  { "7552012.com", true },
+  { "7552013.com", true },
   { "755a.cc", true },
   { "755z6.com", true },
   { "756337.com", true },
@@ -2405,73 +2379,71 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "762.ch", false },
   { "762116.com", true },
   { "763137.com", true },
-  { "76365365.com", true },
-  { "7652.cc", true },
+  { "76365365.com", false },
   { "7654321c.com", false },
+  { "765666365.com", true },
   { "76668.com", true },
   { "7666898.com", true },
   { "76669.com", true },
+  { "76678.com", true },
   { "766k66.com", true },
   { "767kb.com", true },
+  { "76956.com", true },
   { "769k.com", true },
   { "76z66.com", true },
   { "77018aa.com", false },
   { "77018bb.com", false },
   { "77018cc.com", false },
   { "77018dd.com", false },
-  { "77018ee.com", false },
   { "77018vip.com", false },
   { "77168365.com", true },
   { "77177.de", true },
   { "772z6.com", true },
   { "773z6.com", true },
+  { "7748229.xyz", true },
   { "775018.com", true },
   { "775z6.com", true },
   { "776z6.com", true },
-  { "7770b.com", true },
   { "777234567.com", false },
   { "777365t.com", true },
   { "7776365.com", true },
-  { "77774048.com", true },
+  { "7777k8.com", true },
   { "777coin.com", true },
   { "778z6.com", true },
   { "779z6.com", true },
-  { "77dd.com", true },
   { "77lc8.com", true },
   { "77zxdy.com", true },
   { "781671.com", true },
   { "781683.com", true },
   { "783631.com", true },
-  { "78365app.com", true },
-  { "78365b.com", true },
-  { "78365bb.com", true },
-  { "78365c.com", true },
-  { "78365cc.com", true },
-  { "78365dd.com", true },
-  { "78365ee.com", true },
+  { "78365app.com", false },
+  { "78365b.com", false },
+  { "78365bb.com", false },
+  { "78365c.com", false },
+  { "78365cc.com", false },
+  { "78365dd.com", false },
+  { "78365ee.com", false },
   { "783lab.com", true },
   { "787637.com", true },
-  { "7878365.com", true },
+  { "7878365.com", false },
   { "787kb.com", true },
   { "7885765.com", true },
   { "7888813.com", true },
   { "7888815.com", true },
   { "7888821.com", true },
-  { "78904048.com", true },
   { "7891553.com", true },
   { "7891997.com", true },
   { "7893.net", true },
   { "78936565.com", true },
   { "789365t.com", true },
   { "7894.net", true },
-  { "789451.com", true },
+  { "789451.com", false },
   { "790security.co.za", true },
-  { "792ww.com", true },
   { "793ww.com", true },
   { "797715.com", true },
   { "799ks.com", true },
   { "799z6.com", true },
-  { "79ch.com", true },
+  { "7bet86.com", true },
   { "7careconnect.com", true },
   { "7delights.com", true },
   { "7delights.in", true },
@@ -2481,7 +2453,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "7k66.ag", true },
   { "7k66.vip", true },
   { "7kicks.com", true },
-  { "7kovrikov.ru", true },
   { "7l00p.com", true },
   { "7lb.de", true },
   { "7lc8.com", true },
@@ -2491,31 +2462,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "7plus.com.au", true },
   { "7proxies.com", true },
   { "7sdre.am", true },
-  { "7sons.de", true },
+  { "7th-heaven.me", true },
   { "7thcircledesigns.com", true },
   { "7win.am", true },
-  { "7x24servis.com", true },
-  { "8002d88.com", true },
-  { "8006d88.com", true },
+  { "8007337.com", true },
   { "8008d88.com", true },
   { "8012d88.com", true },
   { "8015d88.com", true },
+  { "80160365.com", true },
   { "8028d.com", true },
   { "8029d.com", true },
-  { "80365365.com", true },
+  { "803001.com", true },
+  { "80365365.com", false },
   { "804322.com", true },
+  { "80630.com", true },
   { "80651a.com", true },
   { "80651c.com", true },
   { "8065d.com", true },
   { "806kb.com", true },
   { "8078d.com", true },
   { "8080883.com", true },
-  { "8080889.com", true },
-  { "8083d.com", true },
-  { "80883.cc", true },
   { "80887.cc", true },
   { "809088.cc", true },
-  { "8092d88.com", true },
   { "809422.com", true },
   { "80993.net", true },
   { "809kb.com", true },
@@ -2527,11 +2495,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8128d.com", true },
   { "8129d.com", true },
   { "8130d88.com", true },
-  { "81365365.com", true },
+  { "81365365.com", false },
   { "814022.com", true },
   { "8153d.com", true },
   { "8156d.com", true },
-  { "815jz.com", true },
   { "816jz.com", true },
   { "8170d.com", true },
   { "8173d.com", true },
@@ -2552,12 +2519,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "81818q.com", true },
   { "81818r.com", true },
   { "81818s.com", true },
-  { "81818t.com", true },
   { "81818u.com", true },
   { "81818w.com", true },
   { "81818x.com", true },
   { "81818y.com", true },
-  { "81818z.com", true },
   { "8186d.com", true },
   { "8187d.com", true },
   { "8189196.com", true },
@@ -2566,13 +2531,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8190d.com", true },
   { "819kb.com", true },
   { "81d88.com", true },
-  { "8200d.com", true },
   { "8202d.com", true },
   { "8206d.com", true },
   { "8207d88.com", true },
   { "8208d.com", true },
   { "8211p.com", true },
-  { "8212p.com", true },
   { "8213p.com", true },
   { "8214p.com", true },
   { "8215p.com", true },
@@ -2582,7 +2545,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8227d88.com", true },
   { "8228d88.com", true },
   { "822z6.com", true },
-  { "8230d.com", true },
   { "8230d88.com", true },
   { "8238d.com", true },
   { "8239d.com", true },
@@ -2595,13 +2557,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "82789999.com", true },
   { "8278a.com", true },
   { "8278a.net", true },
-  { "8278aa.com", true },
   { "8278aaa.com", true },
   { "8278b.com", true },
   { "8278b.net", true },
   { "8278bb.com", true },
   { "8278bbb.com", true },
-  { "8278bet.com", true },
   { "8278c.net", true },
   { "8278ccc.com", true },
   { "8278d.com", true },
@@ -2650,11 +2610,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8378p.com", true },
   { "8387p.com", true },
   { "8396p.com", true },
-  { "842365.com", true },
   { "842844.com", true },
   { "847773.com", true },
-  { "848jz.com", true },
-  { "8522.am", true },
   { "8522club.com", true },
   { "8522ph.com", true },
   { "8522tw.com", true },
@@ -2678,7 +2635,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "86086066.com", true },
   { "86086077.com", true },
   { "86086099.com", true },
+  { "861365.com", true },
+  { "861365.vip", true },
+  { "861365a.com", true },
+  { "861365b.com", true },
+  { "861365c.com", true },
+  { "861365d.com", true },
+  { "861365e.com", true },
+  { "861365f.com", true },
+  { "861365g.com", true },
+  { "861365h.com", true },
+  { "861365i.com", true },
+  { "861365j.com", true },
+  { "861365k.com", true },
+  { "861365l.com", true },
+  { "861365m.com", true },
+  { "861365n.com", true },
+  { "861365o.com", true },
+  { "861365q.com", true },
+  { "861365r.com", true },
+  { "861365s.com", true },
+  { "861365t.com", true },
+  { "861365u.com", true },
+  { "861365v.com", true },
+  { "861365vip.com", true },
+  { "861365w.com", true },
+  { "861365x.com", true },
+  { "861365y.com", true },
+  { "861365z.com", true },
   { "861kb.com", true },
+  { "86286286.com", true },
+  { "86499.com", true },
   { "866300.vip", true },
   { "866305.vip", true },
   { "866308.vip", true },
@@ -2695,28 +2682,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8722ph.com", true },
   { "8722tw.com", true },
   { "8722usa.com", true },
-  { "87365365.com", true },
+  { "87365365.com", false },
+  { "877027.com", true },
   { "877791.com", true },
   { "877z6.com", true },
-  { "878365aa.com", true },
-  { "878365app.com", true },
-  { "878365b.com", true },
-  { "878365bb.com", true },
-  { "878365c.com", true },
-  { "878365cc.com", true },
+  { "878365aa.com", false },
+  { "878365app.com", false },
+  { "878365b.com", false },
+  { "878365bb.com", false },
+  { "878365c.com", false },
+  { "878365cc.com", false },
   { "878365cn.com", true },
-  { "878365d.com", true },
-  { "878365dd.com", true },
-  { "878365ee.com", true },
-  { "878365ii.com", true },
-  { "878365jj.com", true },
-  { "878365ll.com", true },
-  { "878365mm.com", true },
-  { "878365nn.com", true },
+  { "878365d.com", false },
+  { "878365dd.com", false },
+  { "878365ee.com", false },
+  { "878365ii.com", false },
+  { "878365jj.com", false },
+  { "878365ll.com", false },
+  { "878365mm.com", false },
+  { "878365nn.com", false },
+  { "878989.com", true },
+  { "87ag9.com", true },
   { "88-line.com", true },
   { "88-line.net", true },
+  { "8800ks.com", true },
   { "8801ks.com", true },
-  { "88021.com", false },
   { "8802ks.com", true },
   { "8802p.com", true },
   { "8806d.com", true },
@@ -2730,7 +2720,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8818ks.com", true },
   { "8819ks.com", true },
   { "881z6.com", true },
-  { "8822d88.com", true },
   { "8826d.com", true },
   { "8828ks.com", true },
   { "882kb.com", true },
@@ -2759,8 +2748,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "887.ag", true },
   { "8871d.com", true },
   { "8872d.com", true },
-  { "88740a.com", false },
-  { "88740g.com", false },
+  { "88740a.com", true },
+  { "88740b.com", true },
+  { "88740g.com", true },
   { "8875d.com", true },
   { "8876d.com", true },
   { "8879d.com", true },
@@ -2774,16 +2764,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8884567j.com", true },
   { "888456j.com", true },
   { "88851333.com", true },
-  { "88851777.com", true },
   { "888567j.com", true },
   { "8885ks.com", true },
   { "8886789j.com", true },
   { "8886ks.com", true },
   { "8888209.com", true },
-  { "88884048.com", true },
   { "888888722.com", true },
   { "88889822.com", true },
+  { "8888esb.com", true },
   { "8888yule8888.com", true },
+  { "888am8.com", true },
+  { "888am8.net", true },
   { "888funcity.com", true },
   { "888funcity.net", true },
   { "888k66.com", true },
@@ -2803,7 +2794,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "889w889.com", true },
   { "889w889.net", true },
   { "889z6.com", true },
-  { "88btt.com", true },
   { "88btt.net", true },
   { "88djl.cc", true },
   { "88home9.com", true },
@@ -2827,17 +2817,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "88yule7.com", true },
   { "88yule9.com", true },
   { "8900d.com", true },
+  { "8901178.com", true },
+  { "8901178.net", true },
   { "8906d.com", true },
   { "8907d.com", true },
   { "8908d.com", true },
+  { "8910899.com", true },
+  { "8910899.net", true },
   { "8914499.com", true },
+  { "8917168.com", true },
+  { "8917168.net", true },
+  { "8917818.com", true },
+  { "8917818.net", true },
   { "8919d.com", true },
   { "8920d.com", true },
   { "8921d.com", true },
   { "8925d.com", true },
   { "8926d.com", true },
   { "89365t.com", true },
-  { "89386.com", true },
   { "89386a.com", true },
   { "89386b.com", true },
   { "89386c.com", true },
@@ -2845,18 +2842,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "89386e.com", true },
   { "89386l.com", true },
   { "8938885.com", true },
+  { "8951889.net", true },
   { "897774.com", true },
   { "898z6.com", true },
+  { "8992088.com", true },
+  { "8992088.net", true },
   { "899ks.com", true },
   { "899z6.com", true },
   { "89btt.com", true },
+  { "8ag8.org", true },
   { "8ag88.com", true },
   { "8balls.nl", true },
-  { "8btt.app", true },
+  { "8bet86.com", true },
+  { "8e8z.com", true },
   { "8k66.vip", true },
   { "8lc8.net", true },
   { "8maerz.at", true },
   { "8me.nl", true },
+  { "8o8wave.com", true },
   { "8t8.eu", true },
   { "8tech.com.hk", true },
   { "8thportsmouth.org.uk", true },
@@ -2864,16 +2867,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "8win.am", true },
   { "8xx888.com", true },
   { "8xxbet.net", true },
-  { "8xxxxxxx.com", true },
+  { "8yabo.com", true },
   { "8yun.ga", true },
   { "9-11commission.gov", true },
-  { "900823.com", true },
+  { "9005424.com", true },
+  { "9007337.com", true },
+  { "900823.com", false },
   { "9009019.com", false },
   { "900k8.com", true },
   { "901543.com", true },
   { "903422.com", true },
   { "905422.com", true },
-  { "906vv.com", true },
   { "9090819.com", true },
   { "90920.cn", true },
   { "90r.jp", true },
@@ -2887,8 +2891,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "913422.com", true },
   { "914122.com", true },
   { "915kb.com", true },
-  { "917.moe", true },
-  { "918-siteinfo.com", true },
   { "918.com", true },
   { "9180.fun", true },
   { "9180nn.com", true },
@@ -2897,7 +2899,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "9180xx.com", true },
   { "9180yy.com", true },
   { "9180zz.com", true },
-  { "918101.net", true },
   { "91816.net", true },
   { "9186.fun", true },
   { "9186119.com", true },
@@ -2909,9 +2910,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "918aac.com", true },
   { "918aait.co", true },
   { "918aak.com", true },
-  { "918aav.com", true },
   { "918ac.com", true },
-  { "918aff.com", true },
   { "918agr.co", true },
   { "918ajj.com", true },
   { "918akk.com", true },
@@ -2925,8 +2924,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "918bby.com", true },
   { "918bcf.co", true },
   { "918bcw.co", true },
-  { "918bhh.com", true },
-  { "918bip.co", true },
   { "918bis.co", true },
   { "918bit.co", true },
   { "918btt.com", true },
@@ -2941,7 +2938,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "918ch.com", true },
   { "918cr.com", true },
   { "918ctt.com", true },
-  { "918cx.com", true },
   { "918dc04.com", true },
   { "918dc16.com", true },
   { "918dc19.com", true },
@@ -2965,7 +2961,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "918ia.com", true },
   { "918iz.com", true },
   { "918ji.com", true },
-  { "918jt.co", true },
+  { "918kissinw.com", true },
   { "918kx.com", true },
   { "918mc.com", true },
   { "918md10.com", true },
@@ -2974,26 +2970,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "918mf.com", true },
   { "918nc.com", true },
   { "918nd.com", true },
+  { "918nn.com", true },
   { "918nu.com", true },
   { "918ny.com", true },
   { "918pt.com", true },
   { "918qa.com", true },
   { "918qg.com", true },
   { "918qs.com", true },
-  { "918qz.com", true },
   { "918rw.com", true },
   { "918sn.com", true },
   { "918ta.com", true },
-  { "918te.com", true },
   { "918tj.com", true },
   { "918tr.com", true },
   { "918tw.com", true },
   { "918uh.com", true },
-  { "918um.com", true },
   { "918vb.com", true },
   { "918ve.com", true },
   { "918vi.com", true },
-  { "918vz.com", true },
   { "918wa.com", true },
   { "918we.com", true },
   { "918wo.com", true },
@@ -3002,7 +2995,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "918xe.com", true },
   { "918xn.com", true },
   { "918yy.net", true },
-  { "918ze.com", true },
   { "918zm.com", true },
   { "918zv.com", true },
   { "918zw.com", true },
@@ -3011,7 +3003,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "91d52.com", true },
   { "91d57.com", true },
   { "91d58.com", true },
-  { "91d89.com", true },
   { "91fldz.com", true },
   { "91travel.info", true },
   { "91z6.com", true },
@@ -3021,7 +3012,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "924622.com", true },
   { "926422.com", true },
   { "927774.com", true },
-  { "92owl.com", true },
+  { "929349.com", true },
   { "92url.com", true },
   { "931422.com", true },
   { "932422.com", true },
@@ -3030,7 +3021,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "934122.com", true },
   { "937774.com", true },
   { "939394.org", true },
-  { "940365.com", true },
+  { "9397.com", false },
+  { "9397dh.com", false },
+  { "9397hd.com", false },
+  { "9397l.com", false },
+  { "9397mm.com", false },
+  { "93ag8.com", true },
+  { "93jc.cn", true },
   { "941988.cn", true },
   { "943022.com", true },
   { "9449-27a1-22a1-e0d9-4237-dd99-e75e-ac85-2f47-9d34.de", true },
@@ -3040,82 +3037,45 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "949122.com", true },
   { "949622.com", true },
   { "949722.com", true },
-  { "9499060.com", true },
-  { "9499066.com", true },
-  { "9499068.com", true },
-  { "9499113.com", true },
-  { "9499115.com", true },
-  { "9499118.com", true },
-  { "9499125.com", true },
-  { "9499137.com", true },
-  { "9499151.com", true },
-  { "9499212.com", true },
-  { "9499232.com", true },
-  { "9499238.com", true },
-  { "9499263.com", true },
-  { "9499278.com", true },
-  { "9499292.com", true },
-  { "9499293.com", true },
-  { "9499343.com", true },
-  { "9499369.com", true },
-  { "9499399.com", true },
-  { "9499403.com", true },
-  { "9499459.com", true },
-  { "9499518.com", true },
-  { "9499558.com", true },
-  { "9499565.com", true },
-  { "9499568.com", true },
-  { "9499575.com", true },
-  { "9499668.com", true },
-  { "9499676.com", true },
-  { "9499682.com", true },
-  { "9499737.com", true },
-  { "9499757.com", true },
-  { "9499835.com", true },
-  { "9499855.com", true },
-  { "9499869.com", true },
-  { "9499958.com", true },
-  { "9499aaaa.com", true },
-  { "9499bbbb.com", true },
-  { "9499cccc.com", true },
-  { "9499dc.com", true },
-  { "9499dddd.com", true },
-  { "9499eeee.com", true },
-  { "9499ffff.com", true },
-  { "9499gggg.com", true },
-  { "9499good.com", true },
-  { "9499hhhh.com", true },
-  { "9499iiii.com", true },
-  { "9499jjj.com", true },
-  { "9499jjjj.com", true },
-  { "9499kkkk.com", true },
-  { "9499l.com", true },
-  { "9499llll.com", true },
-  { "9499love.com", true },
-  { "9499mmmm.com", true },
-  { "9499nnnn.com", true },
-  { "9499oooo.com", true },
-  { "9499pppp.com", true },
-  { "9499qqqq.com", true },
-  { "9499rrrr.com", true },
-  { "9499ssss.com", true },
-  { "9499ttt.com", true },
-  { "9499tttt.com", true },
-  { "9499uuuu.com", true },
-  { "9499vvvv.com", true },
-  { "9499wwww.com", true },
-  { "9499xxx.com", true },
-  { "9499xxxx.com", true },
-  { "9499yl.com", true },
-  { "9499yyyy.com", true },
-  { "9499zzzz.com", true },
+  { "9499459.com", false },
+  { "9499aaaa.com", false },
+  { "9499bbbb.com", false },
+  { "9499cccc.com", false },
+  { "9499dc.com", false },
+  { "9499dddd.com", false },
+  { "9499eeee.com", false },
+  { "9499ffff.com", false },
+  { "9499gggg.com", false },
+  { "9499good.com", false },
+  { "9499hhhh.com", false },
+  { "9499iiii.com", false },
+  { "9499jjj.com", false },
+  { "9499jjjj.com", false },
+  { "9499kkkk.com", false },
+  { "9499l.com", false },
+  { "9499llll.com", false },
+  { "9499love.com", false },
+  { "9499nnnn.com", false },
+  { "9499oooo.com", false },
+  { "9499pppp.com", false },
+  { "9499qqqq.com", false },
+  { "9499rrrr.com", false },
+  { "9499ssss.com", false },
+  { "9499ttt.com", false },
+  { "9499tttt.com", false },
+  { "9499uuuu.com", false },
+  { "9499vvvv.com", false },
+  { "9499wwww.com", false },
+  { "9499xxx.com", false },
+  { "9499xxxx.com", false },
+  { "9499yyyy.com", false },
+  { "9499zzzz.com", false },
   { "94imk.com", true },
   { "955z6.com", true },
   { "95am8.com", true },
   { "96002.com", false },
-  { "96002e.com", false },
   { "962312.com", true },
-  { "96678.com", true },
+  { "96678.com", false },
   { "966k66.com", true },
   { "966kb.com", true },
   { "966ks.com", true },
@@ -3123,7 +3083,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "9679693.com", true },
   { "967you.com", true },
   { "9681909.com", true },
+  { "9696178.com", true },
+  { "9696178.net", true },
   { "96z66.com", true },
+  { "9721.com", false },
+  { "9721dh.com", false },
+  { "9721hd.com", false },
+  { "9721mm.com", false },
+  { "9721yy.com", false },
   { "972422.com", true },
   { "97735.com", true },
   { "97736.com", true },
@@ -3144,7 +3111,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "9822usa.com", true },
   { "984.ch", true },
   { "985kb.com", true },
-  { "988316.com", true },
+  { "988wh.com", true },
   { "988z6.com", true },
   { "989z6.com", true },
   { "98d88.com", true },
@@ -3164,33 +3131,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "99789j.com", true },
   { "997z6.com", true },
   { "998081.com", true },
-  { "9988551.com", true },
-  { "9988959.com", true },
+  { "9988551.com", false },
+  { "9988959.com", false },
   { "9988ty.com", true },
   { "998k66.com", true },
   { "998sa.com", true },
-  { "998wns.com", true },
   { "998z6.com", true },
+  { "999321365.com", true },
   { "999365t.com", true },
+  { "9997035.com", true },
+  { "99989796.net", true },
   { "9998k8.com", true },
-  { "99994048.com", true },
   { "99999822.com", true },
   { "999998722.com", true },
-  { "999b58.com", true },
+  { "9999k8.net", true },
   { "999btt.net", true },
   { "999k66.com", true },
   { "999salon.co", true },
   { "999salon.com", true },
-  { "999zlong.com", true },
   { "99agks.com", true },
+  { "99billionaire.com", true },
   { "99d88.com", true },
   { "99kb88.com", true },
-  { "99lib.net", true },
+  { "99naturalfoods.de", true },
   { "99qp.org", true },
   { "99rst.org", true },
   { "99spokes.com", true },
   { "9ag88.com", true },
+  { "9bet86.com", true },
+  { "9bingo.net", true },
   { "9box.jp", true },
+  { "9elements.com", true },
   { "9farm.com", true },
   { "9fvip.net", true },
   { "9h.pl", true },
@@ -3301,6 +3272,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "9kopb.ru", true },
   { "9lc9.com", true },
   { "9pkfz.com", true },
+  { "9point6.com", true },
   { "9riddles.com", true },
   { "9to5notes.in", true },
   { "9uelle.jp", true },
@@ -3311,7 +3283,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "a-1indianawaterproofing.com", true },
   { "a-allard.be", true },
   { "a-care.net", true },
-  { "a-classinflatables.co.uk", true },
   { "a-invest.de", true },
   { "a-msystems.com", true },
   { "a-oben.org", true },
@@ -3319,14 +3290,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "a-wife.net", true },
   { "a-ztransmission.com", true },
   { "a00228.com", false },
-  { "a04gameapp.com", true },
-  { "a06gameapp.com", true },
-  { "a06webapp.com", true },
   { "a0print.nl", true },
   { "a1bouncycastlehire.com", true },
+  { "a1demolitionhauling.com", true },
   { "a1jumpandbounce.co.uk", true },
   { "a1post.bg", true },
   { "a1scuba.com", true },
+  { "a1towgrant.com", true },
   { "a210.online", true },
   { "a22z.xyz", true },
   { "a291.cc", true },
@@ -3337,6 +3307,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "a2os.club", true },
   { "a2os.xyz", true },
   { "a30.tokyo", false },
+  { "a30365.com", true },
   { "a36533.com", true },
   { "a36594.com", true },
   { "a365vip1.com", true },
@@ -3344,15 +3315,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "a365vip3.com", true },
   { "a365vip5.com", true },
   { "a365vip9.com", true },
+  { "a3m.gmbh", true },
   { "a3mobile.com", true },
   { "a4sound.com", true },
+  { "a66.la", true },
+  { "a6619.com", true },
+  { "a6621.com", true },
+  { "a6623.com", true },
+  { "a6627.com", true },
+  { "a6631.com", true },
+  { "a6651.com", true },
+  { "a6652.com", true },
+  { "a6657.com", true },
+  { "a6659.com", true },
+  { "a6671.com", true },
+  { "a6672.com", true },
+  { "a6673.com", true },
+  { "a6675.com", true },
+  { "a6682.com", true },
+  { "a6683.com", true },
+  { "a6687.com", true },
+  { "a6691.com", true },
+  { "a6692.com", true },
+  { "a6695.com", true },
+  { "a7035.com", true },
   { "a77018.com", false },
   { "a7m2.me", true },
   { "a88fc.com", true },
   { "aa-tour.ru", true },
   { "aa00228.com", false },
   { "aa4888.com", true },
-  { "aa7666.com", true },
   { "aaa-racing.com", true },
   { "aaa-racing.net", true },
   { "aaa-racing.uk", true },
@@ -3365,7 +3357,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aabenjaminjewelry.com", true },
   { "aacs-design.com", true },
   { "aadv.com.br", true },
-  { "aadw.de", true },
   { "aalalbayt.com", true },
   { "aalalbayt.net", true },
   { "aalstmotors-usedcars.be", false },
@@ -3376,17 +3367,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aanwp.com", true },
   { "aaomidi.com", true },
   { "aapar.nl", true },
-  { "aapas.org.ar", true },
   { "aarailfan.com", true },
+  { "aardvarksoep.nl", true },
   { "aarklendoia.com", true },
   { "aarkue.eu", true },
   { "aaron-russell.co.uk", true },
-  { "aaronfurtado.com", true },
+  { "aaron-schaal.de", true },
+  { "aaronburt.co.uk", true },
+  { "aaronhorler.com", true },
+  { "aaronhorler.com.au", true },
   { "aaronkimmig.de", true },
   { "aaronroyle.com", true },
   { "aaronsilber.me", true },
   { "aarquiteta.com.br", true },
   { "aartsplastics.nl", true },
+  { "aarwer.com", true },
+  { "aarwer.jp", true },
   { "aasvets.co.uk", true },
   { "aatf.us", true },
   { "aati.be", true },
@@ -3398,9 +3394,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ab2888.cn", true },
   { "ab28s.com", true },
   { "ab2web.com", true },
+  { "ab91corp.com", true },
   { "abaapplianceservice.com", true },
   { "abaaustin.com", true },
   { "ababyco.com.hr", true },
+  { "abacross.com", true },
   { "abacusbouncycastle.co.uk", true },
   { "abacusfi.com", true },
   { "abacustech.co.jp", true },
@@ -3412,20 +3410,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abbeyvetspets.co.uk", true },
   { "abbottscastles.co.uk", true },
   { "abbruch-star.de", true },
+  { "abbtw.com", true },
   { "abc-rz.de", true },
   { "abc.li", true },
   { "abcbouncycastlessurrey.co.uk", true },
   { "abcbouncyfactory.co.uk", true },
   { "abcdreamusa.com", true },
+  { "abcempreendimentos.com.br", true },
   { "abcheck.se", true },
   { "abckam.com", true },
   { "abcode.ml", true },
+  { "abcorporate-aviation.com", true },
+  { "abcorporate-aviation.fr", true },
   { "abcpartyhire.com", true },
   { "abcstudio.com.au", true },
+  { "abctowinghelp.com", true },
   { "abdel.me", true },
   { "abdelaliezzyn.be", true },
-  { "abdelaliezzyn.tk", true },
-  { "abdelsater.net", true },
   { "abdl.link", true },
   { "abdulawal.tk", true },
   { "abdullahavci.com", true },
@@ -3440,17 +3441,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abe-medical.jp", true },
   { "abeilles-idapi.fr", false },
   { "abelbarretto.tk", true },
+  { "abellis-formation.com", true },
+  { "abelrubio.me", true },
   { "abelsflooringandtile.com", true },
   { "abenteuer-ahnenforschung.de", true },
   { "abeontech.com", true },
   { "aberdeencastles.co.uk", true },
   { "aberdeenjudo.co.uk", true },
   { "aberon.pl", true },
+  { "abetterdeath.com", true },
   { "abeus.com", true },
   { "abg.ninja", true },
   { "abhaldus.ee", true },
   { "abhisharma.me", true },
   { "abhishekkabdijain.tk", true },
+  { "abi95oha.de", true },
   { "abiapp.net", true },
   { "abibruce.co.uk", true },
   { "abidinginhesed.com", true },
@@ -3468,7 +3473,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abiturma.de", true },
   { "abjay.com", true },
   { "ableprop.net", true },
-  { "abloop.com", true },
+  { "abloomnova.net", true },
   { "abmackenzie.com", true },
   { "abmc.gov", true },
   { "abminiplex.in", true },
@@ -3476,11 +3481,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abmtax.ca", true },
   { "abn-consultants.ie", true },
   { "abnehmen.com", true },
-  { "abobuch.de", true },
   { "aboces.org", true },
   { "abogadocriminalorlando.com", true },
   { "abogadoperu.com", true },
-  { "abogadoscav.com", true },
   { "abogadosescobarysanchez.es", true },
   { "abolicionistas.com", true },
   { "abolition.net", true },
@@ -3503,12 +3506,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abolitionistsociety.com", true },
   { "abolitionniste.com", true },
   { "abolizionista.com", true },
+  { "abona24.de", true },
   { "abonilla.com", true },
   { "aborla.net", true },
   { "abos.eu", false },
   { "abouncycastleman.co.uk", true },
   { "about-bangladesh.tk", true },
   { "about-ti.me", true },
+  { "aboutasia.nl", true },
   { "abouthrm.nl", true },
   { "aboutict.nl", true },
   { "aboutlegal.nl", true },
@@ -3526,12 +3531,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abox-kb.com", true },
   { "abpis.hr", true },
   { "abracadabra.co.jp", false },
+  { "abrah.am", true },
   { "abrahametalero.tk", true },
-  { "abrakidabra.com.br", true },
-  { "abraxasteam.com", true },
   { "abrightspark.gq", true },
   { "abrikos.group", true },
   { "abristolgeek.co.uk", true },
+  { "abrition.com", true },
   { "abseits.org", true },
   { "absolem.cc", false },
   { "absolutcruceros.com", true },
@@ -3541,6 +3546,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "absoluterush.net", true },
   { "absolutewebdesigns.com", true },
   { "absolutviajes.com", true },
+  { "abstechs.ae", true },
+  { "abstimmen.online", true },
   { "abstractbarista.net", true },
   { "abstraction21.com", true },
   { "absturztau.be", true },
@@ -3549,6 +3556,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abth.tk", true },
   { "abthorpe.org", true },
   { "abulanov.com", true },
+  { "abundanteconomy.com", true },
   { "abundent.com", true },
   { "abuse.ch", true },
   { "abuse.fi", true },
@@ -3559,7 +3567,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "abyssproject.net", true },
   { "ac-admin.pl", true },
   { "ac-cosmetics.nl", true },
-  { "ac-elektro.com.ua", true },
   { "ac-epmservices.com", true },
   { "ac.milan.it", true },
   { "ac0g.dyndns.org", true },
@@ -3569,7 +3576,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "academica.nl", true },
   { "academichealthscience.net", true },
   { "academie-de-police.ch", false },
-  { "academie-musique-nice.com", true },
+  { "academie-essentiel.ch", true },
+  { "academie-musique-nice.com", false },
   { "academkin.com", true },
   { "academus.io", true },
   { "academy-awards.ml", true },
@@ -3578,13 +3586,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "acaptureservices.com", true },
   { "acara-yoga.de", true },
   { "acareer.in", true },
-  { "acarreosvillavicencio.com", true },
   { "acat.io", true },
   { "acatec.de", true },
   { "acbrussels-used.be", false },
   { "accademia24.it", true },
+  { "accademiaditruccoblog.it", true },
   { "accademiapugilistica.it", true },
-  { "accadia.academy", true },
   { "accelaway.com", true },
   { "acceleratenetworks.com", true },
   { "accelerateyourworld.org", true },
@@ -3620,12 +3627,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "accs.org.au", true },
   { "accudraftpaintbooths.com", true },
   { "accurateautobodywa.com", true },
+  { "accuritconsulting.com", true },
   { "accutint.com", true },
+  { "acdcbrasil.net", true },
   { "ace.one", true },
   { "acealters.com", false },
   { "aceanswering.com", true },
   { "acecerts.co.uk", true },
   { "acecolleges.edu.au", true },
+  { "acefreightco.com", true },
+  { "acegroup.com.sg", true },
   { "aceinflatables.com", true },
   { "aceinstituteonline.com", true },
   { "aceitedelcampo.com", true },
@@ -3636,17 +3647,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "acendealuz.com.br", true },
   { "acerentalandsales.com", true },
   { "acerislaw.com", true },
-  { "acessibilidadebr.com.br", true },
   { "acessoeducacao.com", true },
   { "acfun.eu.org", true },
   { "acg.social", true },
   { "acg.vc", true },
-  { "acgqwq.gq", true },
   { "acgtalktw.com", true },
   { "achalay.org", false },
   { "achat-volets-roulants.fr", true },
-  { "achenar.net", true },
-  { "acheter-ethylotest.fr", true },
   { "achieveinternet.com", true },
   { "achiksongs.tk", true },
   { "achromatisch.de", true },
@@ -3654,18 +3661,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "achterstieg.dedyn.io", true },
   { "achtzehn.de", true },
   { "achtzehn.eu", true },
-  { "achtzehnterachter.de", true },
   { "achtzig20.de", true },
   { "achwo.de", true },
+  { "acihotel.vn", true },
   { "aciksite.com", true },
   { "acinq.co", true },
   { "ackermann.ch", true },
+  { "ackis.duckdns.org", true },
   { "acl.gov", true },
+  { "aclandia.fr", true },
   { "aclu.org", false },
-  { "acluva.org", false },
+  { "acmegamer.com", true },
   { "acmi.fr", true },
   { "acneintelligence.com", true },
-  { "acnpacific.com", true },
   { "acodess.com", true },
   { "aconnor.xyz", true },
   { "acordes.online", true },
@@ -3676,25 +3684,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "acousticalsolutions.com", true },
   { "acoustics.network", true },
   { "acoustics.tech", true },
-  { "acousticsoundrecords.com", true },
   { "acoustique-tardy.com", false },
   { "acperu.ch", false },
+  { "acpica.org", true },
   { "acquaparrucchieri.it", true },
   { "acquire.media", true },
   { "acquisition.gov", true },
-  { "acquistareviagragenericoitalia.net", false },
   { "acrepairgeorgetown.com", true },
   { "acrepairhutto.com", true },
   { "acrepairroundrocktx.com", true },
   { "acrevalue.com", true },
-  { "acriticismlab.org", true },
   { "acronis.com", true },
   { "acronis.org", true },
   { "acrosstheblvd.com", true },
   { "acroyoga-nuernberg.de", true },
   { "acrylbilder-acrylmalerei.de", true },
   { "acrylicwifi.com", true },
-  { "acs-nettoyage-entretien-immeuble.com", true },
   { "acsbbs.org", true },
   { "acsc.gov.au", true },
   { "acscbasket.com", true },
@@ -3710,18 +3715,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "actioncleaningnd.com", true },
   { "actioncoachignite.co.za", true },
   { "actionfinancialservices.net", true },
-  { "actionlabs.net", true },
   { "actionmadagascar.ch", false },
   { "actionsack.com", true },
-  { "actionselling.com", true },
   { "actionverb.com", true },
   { "activatemyiphone.com", true },
   { "activateudid.com", true },
-  { "active-tluszcz.pl", true },
   { "active.hu", false },
   { "active247.info", true },
   { "activeaerogels.com", true },
-  { "activecare-monitor.com", false },
   { "activeexcavator.com", true },
   { "activefootandankle.com", true },
   { "activehire.co.uk", true },
@@ -3730,9 +3731,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "activespaceautomation.com", true },
   { "activespacetech.com", true },
   { "activityeventhire.co.uk", true },
+  { "activityhub.cloud", true },
+  { "activityhub.xyz", true },
   { "actom.cc", true },
   { "actonwoodworks.com", true },
   { "actors-cafe.net", true },
+  { "actserv.co.ke", true },
   { "actualadmins.com", true },
   { "actualidadblog.com", true },
   { "actualidadecommerce.com", true },
@@ -3743,6 +3747,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "actualidadmotor.com", true },
   { "actualidadviajes.com", true },
   { "actualsolutions.am", true },
+  { "acubens.org", true },
   { "acudire.es", true },
   { "acuica.co.uk", false },
   { "acul.me", true },
@@ -3759,7 +3764,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "acwi.gov", true },
   { "acy.com", true },
   { "acyfxasia.com", true },
-  { "acyume.com", true },
   { "ad-notam.asia", true },
   { "ad-notam.ch", true },
   { "ad-notam.co.uk", true },
@@ -3773,12 +3777,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ad4msan.win", true },
   { "ada.gov", true },
   { "adaera.com", true },
+  { "adagia.eu", true },
   { "adalis.org", true },
   { "adam-ant.co.uk", true },
   { "adam-kostecki.de", true },
   { "adam.lgbt", true },
   { "adamas-magicus.ru", true },
-  { "adambryant.ca", false },
   { "adamdixon.co.uk", true },
   { "adamdorman.com", true },
   { "adamfontenot.com", true },
@@ -3786,9 +3790,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adamh.us", true },
   { "adamkostecki.de", true },
   { "adamlee.com", true },
-  { "adamoshaver.com", true },
   { "adamoutler.com", true },
-  { "adamricheimer.com", true },
   { "adams.dk", true },
   { "adamsasphaltpaving.com", true },
   { "adamstas.com", true },
@@ -3798,8 +3800,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adapt-elektronik.com", true },
   { "adapt.de", true },
   { "adaptablesecurity.org", true },
-  { "adaptergonomics.com", true },
   { "adapti.de", true },
+  { "adaptiv.ltd", true },
   { "adaptiveicons.com", true },
   { "adaptivemechanics.edu.au", true },
   { "adarixconsultores.com", true },
@@ -3815,7 +3817,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adcnvs.com", true },
   { "addcrazy.com", true },
   { "adderall.space", true },
-  { "addicional.com", true },
+  { "addictedtolength.co.uk", true },
   { "addictic.fr", true },
   { "addictionresource.com", true },
   { "addictively.com", true },
@@ -3826,18 +3828,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "addnine.com", true },
   { "addo-addo.com", true },
   { "addon.watch", true },
-  { "addones.org", true },
   { "addtoany.com", true },
   { "adduono.com", true },
   { "addvalue-renovations.co.uk", true },
   { "adelaidecc.com.au", true },
   { "adelebeals.com", true },
   { "adelightfulglow.com", true },
+  { "adelina.com.br", true },
   { "adeline.mobi", true },
   { "adentalsolution.com", true },
   { "adept-elearning.com", true },
   { "adept.org.pl", true },
-  { "adesa.co.uk", true },
   { "adevel.eu", true },
   { "adex.network", true },
   { "adf-safetytools.com", true },
@@ -3845,12 +3846,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adftrasporti.it", true },
   { "adhd-inattentive.com", true },
   { "adhesivelaundry.co.uk", true },
+  { "adhgroup.ug", true },
   { "adhocracy.plus", true },
+  { "adi.com.au", true },
+  { "adi.net.au", true },
   { "adidasrunningpartners.com", true },
   { "adiehard.party", false },
   { "adimaja.com", true },
   { "adimplere.com.br", true },
+  { "adinariversloveschool.com", true },
   { "adingenierie.fr", true },
+  { "adinternational.com.au", true },
   { "adiprospero.it", true },
   { "aditibhatia.com", true },
   { "adjagu.org", true },
@@ -3862,7 +3868,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adlignum.se", true },
   { "adme.co.il", true },
   { "admin-serv.net", true },
-  { "admin.casa", true },
   { "admin.fedoraproject.org", true },
   { "admin.google.com", true },
   { "admin.stg.fedoraproject.org", true },
@@ -3877,7 +3882,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adminlinux.pl", true },
   { "admino.cz", true },
   { "adminrezo.fr", true },
-  { "admirable.one", true },
   { "admody.com", true },
   { "admongo.gov", true },
   { "adnexa.it", true },
@@ -3885,7 +3889,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adoll.ml", true },
   { "adollarseo.com", true },
   { "adomani-italia.com", true },
-  { "adomicilio.com.gt", true },
   { "adonai.eti.br", true },
   { "adonis.hosting", true },
   { "adonis.media", true },
@@ -3895,18 +3898,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adoptionlink.co.uk", true },
   { "adoptionpregnancycenter.com", true },
   { "adoptionpregnancycenter.net", true },
+  { "adorade.ro", true },
   { "adorecricket.com", true },
   { "adorewe.com", true },
   { "adorno-gymnasium.de", true },
   { "adoucisseur.shop", true },
   { "adpkdsim.org", true },
-  { "adquisitio.co.uk", true },
-  { "adquisitio.es", true },
-  { "adquisitio.fr", true },
-  { "adquisitio.it", true },
   { "adr.gov", true },
   { "adra.com", true },
   { "adrafinil.wiki", true },
+  { "adrans.com", true },
   { "adrenalin.od.ua", true },
   { "adrenalin.travel", true },
   { "adrian.web.id", true },
@@ -3914,7 +3915,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adriancitu.com", true },
   { "adriancostin.ro", true },
   { "adrianmejias.com", true },
+  { "adrianoansaldi.it", true },
   { "adrianobarbosa.xyz", true },
+  { "adriatic.hr", true },
   { "adriatrans.ga", true },
   { "adrienjacquierbret.com", true },
   { "adrienkohlbecker.com", true },
@@ -3923,18 +3926,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "adsamcik.com", true },
   { "adsbouncycastles.co.uk", true },
   { "adsbtc.org", true },
+  { "adsib.gob.bo", true },
   { "adsl2meg.fr", true },
   { "adsviews.gq", true },
   { "adswoo.com", true },
   { "adtelligent.com", true },
   { "adtgroup.com", true },
+  { "adultforum.gr", true },
   { "adultwebcams1.com", true },
   { "adurra.com", true },
   { "aduvi.de", true },
   { "adv-f1.ru", true },
   { "adv.cr", true },
   { "advaith.fun", true },
-  { "advaithbot.com", true },
   { "advance.hr", true },
   { "advanced-fleet-services.com", true },
   { "advanced-scribes.com", true },
@@ -3954,6 +3958,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "advantagemechanicalinc.com", true },
   { "advantis.tk", true },
   { "advara.com", true },
+  { "advatech-solutions.com", true },
   { "advenacs.com", true },
   { "advenacs.com.au", true },
   { "advens.com", true },
@@ -3961,20 +3966,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "advento.bg", true },
   { "adventry.tk", true },
   { "adventure-inn.com", true },
+  { "adventurealpinetreks.com", true },
   { "adventurecreators.com", true },
   { "adventuredrives.com", false },
   { "adventureforest.co.nz", true },
   { "adventureforest.nz", true },
   { "adventuregamers.com", true },
   { "adventurenow.nl", true },
+  { "adventures.com", true },
   { "adventureswithlillie.ca", true },
   { "adventurousway.com", true },
+  { "adventus.space", true },
   { "advertis.biz", true },
+  { "adveszker.hu", true },
+  { "advisercentre.com.au", true },
   { "advocate-europe.eu", true },
   { "advocoeurdehaan.nl", true },
   { "advogatech.com.br", true },
   { "advokat-malinovskii.ml", true },
   { "advokat-romanov.com", true },
+  { "advokat-vvp.com.ua", true },
   { "advokaty-yuristy.tk", true },
   { "advtran.com", true },
   { "adware.pl", false },
@@ -4004,17 +4015,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ae86b.com", true },
   { "ae86c.com", true },
   { "ae86dj.com", true },
-  { "ae86nb.com", true },
+  { "ae86dy.com", true },
+  { "ae86zx.com", true },
+  { "aeb.io", true },
   { "aebian.org", true },
   { "aecexpert.fr", true },
   { "aecis.org", true },
   { "aedollon.com", true },
   { "aefcleaning.com", true },
-  { "aegis.moe", true },
+  { "aegee-utrecht.nl", true },
   { "aegisalarm.co.uk", true },
   { "aegisalarm.com", true },
   { "aegisalarms.co.uk", true },
   { "aegisalarms.com", true },
+  { "aegisinsight.com", true },
   { "aegrel.ee", true },
   { "aeh5134.cc", true },
   { "aehe.us", true },
@@ -4039,24 +4053,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aeronote.net", true },
   { "aeropole.de", true },
   { "aeropole.eu", true },
-  { "aerorecords.net", true },
   { "aerosimexperience.com", true },
   { "aerospace-schools.com", true },
   { "aerotechcoatings.com", true },
   { "aertel.ie", true },
   { "aes-freundeskreis.de", true },
   { "aessencia.com.br", true },
-  { "aestheticsplus.xyz", true },
   { "aesthetikpiercing.de", true },
   { "aesthetx.com", true },
+  { "aesvalanalys.com", true },
   { "aeternus.tech", true },
   { "aetherc0r3.eu", true },
   { "aetherlink.de", true },
+  { "aevar.io", true },
   { "aextron.com", true },
   { "aextron.de", true },
   { "aextron.org", true },
+  { "af.link", true },
+  { "afadvantage.gov", true },
   { "afashion.com.au", true },
   { "afavre.io", true },
+  { "afbtoto.com", true },
   { "afcompany.it", true },
   { "afcurgentcarelyndhurst.com", true },
   { "affaire.com", true },
@@ -4064,7 +4081,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "affarsnatverk.nu", true },
   { "affektblog.de", true },
   { "affichagepub3.com", true },
-  { "affiliatefeatures.com", true },
   { "affiliates.trade", true },
   { "affiliatetest.azurewebsites.net", true },
   { "affilie.de", true },
@@ -4083,6 +4099,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "affordableracingparts.com.au", true },
   { "affpass.com", true },
   { "affping.com", true },
+  { "affsquare.com", true },
+  { "afgaim.com", true },
   { "afghan.dating", true },
   { "afgn.com.ua", true },
   { "afi-business-consulting.com", true },
@@ -4091,77 +4109,223 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "afilio.de", true },
   { "afinadoronline.com.br", true },
   { "afinaudio.com", true },
+  { "afinterio.com", true },
   { "aflebedevo.tk", true },
   { "afmtevents.com", true },
+  { "afonso.io", true },
   { "afp548.com", true },
-  { "afree.ir", false },
+  { "afrakib.com", true },
   { "afri.cc", true },
   { "africa.dating", true },
   { "africalebanon.tk", true },
+  { "african-bay.de", true },
   { "africanhosting.ml", true },
   { "africanimpact.com", true },
   { "africantourer.com", true },
-  { "afrikarl.de", true },
   { "afrikmag.com", true },
   { "afrodigital.uk", true },
-  { "afs-asso.org", true },
+  { "afslankspecialist.nl", true },
   { "after.digital", true },
   { "afterdwi.info", true },
   { "afterhate.fr", true },
   { "afterpay.com", true },
+  { "afterschoolprogramsoflancaster.org", true },
   { "aftonpravdan.nu", true },
   { "afva.net", true },
   { "afwd.international", true },
   { "ag-2.net", true },
   { "ag-3.net", true },
   { "ag-33.net", true },
-  { "ag-55.net", true },
   { "ag-777.com", true },
   { "ag0.app", true },
+  { "ag000.com", true },
+  { "ag01.la", true },
   { "ag0101g.com", true },
+  { "ag011.net", true },
+  { "ag018.cc", true },
   { "ag0202a.com", true },
+  { "ag022.net", true },
+  { "ag06.la", true },
+  { "ag066.vip", true },
   { "ag0707a.com", true },
+  { "ag08.la", true },
+  { "ag09.la", true },
+  { "ag11.net", true },
+  { "ag123.la", true },
+  { "ag130.net", true },
+  { "ag138.com", true },
+  { "ag13842.com", true },
+  { "ag1386.com", true },
   { "ag1515a.com", true },
+  { "ag155.net", true },
+  { "ag158.cc", true },
   { "ag1588.com", true },
+  { "ag1601.com", true },
+  { "ag1603.com", true },
+  { "ag1604.com", true },
+  { "ag1607.com", true },
+  { "ag166.com", true },
   { "ag173168.com", true },
   { "ag18ks.com", true },
+  { "ag2017.cc", true },
   { "ag2020a.com", true },
-  { "ag2983.com", true },
-  { "ag3131a.com", true },
+  { "ag271.com", true },
+  { "ag2786.com", true },
+  { "ag285.com", true },
+  { "ag2855.com", true },
+  { "ag288.vip", true },
+  { "ag2886.com", true },
+  { "ag2897.com", true },
+  { "ag2978.com", true },
+  { "ag3.la", true },
+  { "ag3115.com", true },
+  { "ag3117.com", true },
+  { "ag3119.com", true },
   { "ag3232g.com", true },
+  { "ag33.la", true },
+  { "ag388.vip", true },
+  { "ag3916.com", true },
+  { "ag3917.com", true },
+  { "ag393.com", true },
+  { "ag3953.com", true },
   { "ag4141a.com", true },
   { "ag4848g.com", true },
   { "ag4949g.com", true },
+  { "ag5152.com", true },
+  { "ag5159.com", true },
+  { "ag5326.com", true },
+  { "ag5358.com", true },
+  { "ag5392.com", true },
+  { "ag5519.com", true },
+  { "ag556.com", true },
+  { "ag5623.com", true },
+  { "ag5657.com", true },
+  { "ag5662.com", true },
   { "ag5688.com", true },
+  { "ag5758.com", true },
+  { "ag5761.com", true },
+  { "ag5852.com", true },
+  { "ag5856.com", true },
+  { "ag5862.com", true },
+  { "ag5876.com", true },
   { "ag58ks.com", true },
-  { "ag600.com", true },
+  { "ag5917.com", true },
+  { "ag5933.com", true },
+  { "ag5936.com", true },
+  { "ag5939.com", true },
+  { "ag5951.com", true },
+  { "ag5952.com", true },
+  { "ag5967.com", true },
+  { "ag6.com", true },
+  { "ag6.im", true },
+  { "ag6.pub", true },
+  { "ag6.pw", true },
+  { "ag6.us", true },
+  { "ag6.vip", true },
+  { "ag600.la", true },
   { "ag6005.com", true },
   { "ag6016.com", true },
   { "ag6033.com", true },
   { "ag6037.com", true },
   { "ag6072.com", true },
   { "ag6086.com", true },
-  { "ag6211.com", true },
+  { "ag618.la", true },
   { "ag6215.com", true },
   { "ag6225.com", true },
   { "ag6262g.com", true },
+  { "ag6272.com", true },
+  { "ag6283.com", true },
+  { "ag6291.com", true },
+  { "ag6298.com", true },
   { "ag6306.com", true },
   { "ag660.com", true },
   { "ag66321.com", true },
-  { "ag686.com", true },
+  { "ag66567.com", true },
+  { "ag666.vip", true },
+  { "ag66668.com", true },
+  { "ag6675.com", true },
+  { "ag6676.com", true },
+  { "ag6819.com", true },
+  { "ag6825.com", true },
   { "ag68ks.com", true },
+  { "ag69000.com", true },
   { "ag698.com", true },
+  { "ag6995.com", true },
+  { "ag7.la", true },
   { "ag700.com", true },
+  { "ag72.vip", true },
+  { "ag7273.com", true },
+  { "ag77.la", true },
+  { "ag77.win", true },
+  { "ag77655.com", true },
+  { "ag7811.com", true },
+  { "ag7822.com", true },
   { "ag8-game.com", true },
   { "ag8.email", true },
+  { "ag8.im", true },
+  { "ag8.live", true },
+  { "ag8.us", true },
+  { "ag8.vip", true },
   { "ag800.com", true },
+  { "ag806.tv", true },
   { "ag80808.com", true },
   { "ag80880.com", true },
+  { "ag81117.com", true },
+  { "ag81119.com", true },
+  { "ag81122.com", true },
+  { "ag81125.com", true },
+  { "ag81163.com", true },
+  { "ag81191.com", true },
+  { "ag812.com", true },
+  { "ag812.tv", true },
+  { "ag81211.com", true },
+  { "ag81213.com", true },
+  { "ag81215.com", true },
+  { "ag81268.com", true },
+  { "ag81275.com", true },
+  { "ag81277.com", true },
+  { "ag81279.com", true },
+  { "ag81325.com", true },
+  { "ag81362.com", true },
+  { "ag81393.com", true },
+  { "ag81399.com", true },
+  { "ag81568.com", true },
+  { "ag816.com", true },
+  { "ag81611.com", true },
+  { "ag81613.com", true },
+  { "ag818.cc", true },
+  { "ag818.net", true },
   { "ag8181g.com", true },
-  { "ag81826.com", true },
-  { "ag81867.com", true },
+  { "ag81879.com", true },
+  { "ag81881.com", true },
+  { "ag819.tv", true },
+  { "ag81912.com", true },
+  { "ag81917.com", true },
+  { "ag81933.com", true },
+  { "ag81939.com", true },
+  { "ag82001.com", true },
+  { "ag82006.com", true },
+  { "ag82007.com", true },
+  { "ag82011.vip", true },
+  { "ag82015.com", true },
+  { "ag82018.cc", true },
+  { "ag82018.com", true },
+  { "ag82022.cc", true },
+  { "ag821.com", true },
+  { "ag82135.com", true },
+  { "ag8218.com", true },
+  { "ag822.com", true },
+  { "ag82225.com", true },
+  { "ag82226.com", true },
+  { "ag82287.com", true },
+  { "ag8400.com", true },
+  { "ag8500.com", true },
   { "ag855.net", true },
+  { "ag860.com", true },
+  { "ag8600.com", true },
+  { "ag865.com", true },
   { "ag87777.com", true },
+  { "ag8778.net", true },
   { "ag878.com", true },
   { "ag88-guide.com", true },
   { "ag880.com", true },
@@ -4182,7 +4346,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ag88098.com", true },
   { "ag88110.com", true },
   { "ag88158.com", true },
-  { "ag8819-livechat.com", true },
   { "ag88220.com", true },
   { "ag8829.com", true },
   { "ag88309.com", true },
@@ -4212,32 +4375,68 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ag88dc22.com", true },
   { "ag88ks.com", true },
   { "ag89000.com", true },
+  { "ag891.com", true },
+  { "ag898.cc", true },
+  { "ag899.com", true },
+  { "ag89951.com", true },
   { "ag89ks.com", true },
+  { "ag8vip.com", true },
+  { "ag9.com", true },
+  { "ag9.im", true },
+  { "ag9.vip", true },
+  { "ag9005.com", true },
+  { "ag905.com", true },
+  { "ag908.com", true },
+  { "ag9100.com", true },
   { "ag918.ag", true },
+  { "ag918.cc", true },
+  { "ag918.co", true },
+  { "ag918.top", true },
+  { "ag92018.com", true },
+  { "ag9532.com", true },
+  { "ag955.net", true },
+  { "ag96.win", true },
+  { "ag961.com", true },
+  { "ag9621.com", true },
+  { "ag9623.com", true },
+  { "ag966.net", true },
   { "ag978.com", true },
+  { "ag9792.com", true },
+  { "ag9793.com", true },
+  { "ag98.tv", true },
+  { "ag9800.com", true },
+  { "ag9815.com", true },
+  { "ag983.com", true },
   { "ag98ks.com", true },
+  { "ag992.com", true },
+  { "ag9931.com", true },
+  { "ag995.com", true },
+  { "ag9973.com", true },
   { "ag998.com", true },
   { "ag9ks.com", true },
+  { "ag9vip.com", true },
   { "agaa35.com", true },
   { "agaa41.com", true },
+  { "agagent.vip", true },
+  { "agahi90.ir", true },
   { "agalliasis.ch", false },
   { "agamsecurity.ch", false },
   { "agatajanik.de", true },
   { "agate.pw", true },
   { "agaveandpine.com", true },
+  { "agds.pw", true },
+  { "age-encryption.org", true },
   { "agechecker.net", true },
   { "agefriendlyri.org", true },
-  { "ageg.ca", true },
   { "agemfis.com", true },
   { "agence-wazacom.fr", true },
   { "agences-cegee.fr", true },
+  { "agencesaintpierre.fr", true },
   { "agencia.barcelona", true },
   { "agencia.cat", true },
   { "agencia.pro", true },
-  { "agenciabonobo.com", true },
   { "agenciacorujadesign.com.br", true },
-  { "agenciadeempregosdourados.com.br", true },
-  { "agenciamseo.com.br", true },
+  { "agenciafiscal.pe", true },
   { "agencyalacarte.com", true },
   { "agencyinmotion.com", true },
   { "agencytsunami.com", true },
@@ -4252,6 +4451,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "agenux.org", true },
   { "agenziaimmobiliarezeta.it", true },
   { "agfmedia.com", true },
+  { "agg097.com", true },
+  { "agg66.com", true },
+  { "agg77.com", true },
+  { "agg88.com", true },
   { "agh6p.com", true },
   { "aghayeva-edler.de", true },
   { "agiapelagia.com", true },
@@ -4259,7 +4462,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "agic-geneve.ch", true },
   { "agilebits.com", true },
   { "agilecraft.com", true },
-  { "agilesurvey.ch", true },
   { "agileui.com", true },
   { "agiley.se", true },
   { "agilicus.ca", true },
@@ -4267,8 +4469,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "agilizing.us", true },
   { "agilob.net", true },
   { "aging.gov", true },
-  { "agingstats.gov", true },
   { "aginion.net", true },
+  { "agk.co.com", true },
   { "agks0.com", true },
   { "agks006.com", true },
   { "agks008.com", true },
@@ -4281,8 +4483,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "agks113.com", true },
   { "agks12.com", true },
   { "agks13.com", true },
+  { "agks131.com", true },
   { "agks133.com", true },
-  { "agks136.com", true },
   { "agks138.com", true },
   { "agks150.com", true },
   { "agks168.com", true },
@@ -4305,7 +4507,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "agks998.com", true },
   { "agktest1.ga", true },
   { "aglc6.com", true },
-  { "aglc8.com", true },
   { "aglc88.com", true },
   { "aglh.com", true },
   { "agliamici.it", true },
@@ -4333,40 +4534,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "agouralighting.com", true },
   { "agouraoutdoorlighting.com", true },
   { "agowa338.de", true },
-  { "agpideas.com", true },
+  { "agproducts.co.uk", true },
   { "agpsn.com", true },
   { "agr.asia", true },
   { "agrarking.com", true },
   { "agrarking.de", true },
   { "agrarshop4u.de", true },
   { "agrekov.ru", true },
+  { "agremo.com", true },
+  { "agreor.com", true },
   { "agrichamber.com.ua", true },
-  { "agricolo.ch", true },
   { "agriculture-schools.com", true },
-  { "agridir.site", true },
   { "agrios.de", true },
   { "agriquads.nl", true },
+  { "agrobaza.com.ua", true },
   { "agroconsultoraplus.com", true },
-  { "agrodronechile.cl", true },
   { "agroline.by", true },
-  { "agromotorsburzaco.com", true },
   { "agroplas.cf", true },
+  { "agropotter.com.ua", true },
   { "agroxxi.ru", false },
   { "agroyard.com.ua", true },
   { "agsb.ch", false },
   { "agscinemas.com", true },
-  { "agscinemasapp.com", true },
-  { "agslot.com", true },
-  { "agslot.net", true },
   { "agslot777.com", true },
+  { "agsogou.com", true },
+  { "agsun6.com", true },
   { "aguarani.com.br", true },
-  { "aguijara.com", true },
+  { "aguiascarecas.org", true },
   { "agung-furniture.com", true },
+  { "agvip1000.com", true },
   { "agvip168.com", true },
+  { "agvip1888.com", true },
+  { "agvip2001.com", true },
+  { "agvip2008.com", true },
+  { "agvip2013.com", true },
   { "agvip88.com", true },
   { "agvip8800.com", true },
+  { "agvip986.com", true },
   { "agwa.name", true },
-  { "agwin1.com", true },
   { "agwin2.com", true },
   { "agwin7.com", true },
   { "agwin777.com", true },
@@ -4378,12 +4583,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ahawkesrealtors.com", true },
   { "ahd.com", false },
   { "ahegao.ca", true },
+  { "ahfazahmed.net", true },
   { "ahj.no", true },
   { "ahkubiak.ovh", false },
   { "ahlaejaba.com", true },
+  { "ahlstrom-filters.com", true },
   { "ahlz.sk", true },
   { "ahmad.works", true },
-  { "ahmedabadflowermall.com", true },
   { "ahmedcharles.com", true },
   { "ahmerjamilkhan.org", true },
   { "ahmetozer.org", true },
@@ -4391,9 +4597,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ahosi.com", true },
   { "ahoy.travel", true },
   { "ahoyconference.com", true },
-  { "ahsyg.com", true },
   { "ahtuxpk.ru", true },
-  { "ahu.la", true },
   { "ahughes03.com", true },
   { "ahxxm.com", false },
   { "ai-cuisine.fr", true },
@@ -4413,7 +4617,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aidanpr.com", true },
   { "aidanpr.net", true },
   { "aidarikako.com", true },
+  { "aiden.cool", true },
   { "aiden.link", false },
+  { "aidhan.net", true },
   { "aidi-ahmi.com", true },
   { "aidmycomputer.com", true },
   { "aids.gov", true },
@@ -4428,21 +4634,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aignermunich.com", true },
   { "aignermunich.de", true },
   { "aignermunich.jp", true },
-  { "aiho.stream", true },
   { "aiinsurance.io", true },
   { "aiinsurance.xyz", true },
   { "aijsk.com", true },
   { "aikenpromotions.com", true },
   { "aiki.de", true },
   { "aiki.do", true },
+  { "aiki.tk", false },
   { "aikido-club-limburg.de", true },
   { "aikido-kiel.de", true },
   { "aikido-linz.at", true },
   { "aikido-wels.at", true },
   { "ailitonia.com", true },
-  { "ailitonia.xyz", true },
   { "aimare-web.tk", true },
   { "aimax.com", true },
+  { "aimd.tech", true },
   { "aimeeandalec.com", true },
   { "aimgroup.co.tz", true },
   { "aimi-salon.com", true },
@@ -4450,11 +4656,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aimotive.com", true },
   { "aimstoreglobal.com", true },
   { "ainfographie.com", true },
-  { "aintevenmad.ch", true },
   { "ainvest.de", true },
   { "ainzu.net", true },
   { "aiois.com", true },
   { "aipbarcelona.com", true },
+  { "aipi.de", true },
   { "air-craftglass.com", true },
   { "air-shots.ch", false },
   { "air-techniques.fr", true },
@@ -4531,6 +4737,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "airbnbopen.com", true },
   { "airborne-inflatables.co.uk", true },
   { "airbossofamerica.com", true },
+  { "airbrake.io", true },
   { "aircomms.com", true },
   { "airconditioning-sandton.co.za", true },
   { "airconrandburg.co.za", true },
@@ -4544,21 +4751,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aireaseleaks.org", true },
   { "airetvie.com", true },
   { "airfax.io", true },
+  { "airfocused.com", true },
   { "airhart.me", true },
   { "airhelp.com", true },
   { "airhorn.de", true },
+  { "airi-tabei.com", true },
   { "airicy.com", true },
   { "airikai.com", true },
   { "airlibre-parachutisme.com", true },
+  { "airlinesreservation.org", true },
   { "airmail.cc", false },
   { "airmash.online", true },
   { "airmaxinflatables.com", true },
-  { "airnow.gov", true },
   { "airpbx.com", true },
   { "airplay-inflatable-hire.co.uk", true },
   { "airplayradio.nl", true },
   { "airport-charlotte.com", true },
-  { "airportal.cn", true },
+  { "airportal.cn", false },
   { "airrestoration.ch", true },
   { "airship.com", true },
   { "airslate.com", true },
@@ -4569,6 +4778,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "airtec-france.fr", true },
   { "airtimerewards.co.uk", false },
   { "airtoolaccessoryo.com", true },
+  { "airventilation.ca", true },
   { "airvpn.org", true },
   { "airvuz.com", true },
   { "airwaystorage.net", true },
@@ -4586,14 +4796,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aiticon.com", true },
   { "aitosoftware.com", true },
   { "aitrust.ro", true },
-  { "aiutodomestico.ch", false },
   { "aiva.ai", true },
   { "aivan.ai", true },
   { "aivd.lol", true },
+  { "aiwansky.com", true },
   { "aiwosq.cn", true },
   { "aizxxs.com", true },
   { "aizxxs.net", true },
   { "aj-foster.com", true },
+  { "aja.de", true },
   { "ajarope.com", true },
   { "ajaxed.net", true },
   { "ajaxtime.tk", true },
@@ -4614,11 +4825,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ajnasz.hu", true },
   { "ajs5.com", true },
   { "ajsb85.com", true },
+  { "ajt.io", true },
+  { "ajtatum.com", true },
   { "ajwebsolutions.com", true },
   { "ak-varazdin.hr", true },
   { "ak-webit.de", true },
   { "ak47-miyamoto.spdns.org", true },
   { "aka.ms", true },
+  { "akaal.pw", true },
   { "akachanikuji.com", true },
   { "akademeia.moe", true },
   { "akademie-frankfurt.de", true },
@@ -4627,6 +4841,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "akaoma.com", true },
   { "akasha.world", true },
   { "akashdsouza.now.sh", true },
+  { "akay.me", true },
   { "akdusekbudil.cz", true },
   { "akeenext.com", true },
   { "akeenshort.com", true },
@@ -4643,8 +4858,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "akj.io", true },
   { "akkade.be", true },
   { "akkbouncycastles.co.uk", true },
-  { "akkeylab.com", true },
-  { "akoofs.com", true },
   { "akostecki.de", true },
   { "akoww.de", false },
   { "akoya.fi", true },
@@ -4656,7 +4869,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aksehir.bel.tr", true },
   { "akselinurmio.fi", true },
   { "akshi.in", true },
-  { "aktca.org", true },
   { "aktin.cz", true },
   { "aktin.sk", true },
   { "aktion-vielfalt.ch", true },
@@ -4668,12 +4880,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aktivierungscenter.de", true },
   { "akuislam.com", true },
   { "akukas.com", true },
+  { "akuston.eu", true },
   { "akutun.cl", true },
+  { "akvitens.com.ua", true },
   { "akvorrat.at", true },
   { "al-f.net", true },
-  { "al3366.tech", true },
   { "al3abmizo.com", true },
-  { "al3xpro.com", true },
   { "alab.space", true },
   { "alabamaag.gov", true },
   { "alabamacoastalradiology.com", true },
@@ -4681,6 +4893,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alaboard.com", true },
   { "alabordage.fr", true },
   { "alacriti.com", true },
+  { "alacritylaw.com", true },
   { "aladdin.ie", true },
   { "aladdinschools.appspot.com", true },
   { "aladintechnologies.tk", true },
@@ -4695,12 +4908,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alalivre.cf", true },
   { "alamo-analytics.com", true },
   { "alamowellnessalliance.com", true },
+  { "alana.com.ua", true },
   { "alanberger.me.uk", true },
   { "aland.co.uk", true },
   { "alandoyle.com", true },
   { "alanhua.ng", true },
   { "alaninkenya.org", true },
   { "alantica.ga", true },
+  { "alarelleimpresiones.com", true },
   { "alargarlavida.com", true },
   { "alarmat.pl", true },
   { "alarmcomplete.co.uk", true },
@@ -4711,14 +4926,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alaskajewelry.com", true },
   { "alastairs-place.net", true },
   { "alatkesehatan.tk", true },
-  { "alaxyjewellers.co.za", true },
+  { "alaturkaonline.com", true },
+  { "alaunus.com", true },
   { "alb-flirt.de", true },
+  { "albagora.nl", true },
   { "albalatedelarzobispo.tk", true },
   { "albanesi.it", true },
-  { "albareport.com", true },
+  { "albanycountydems.com", true },
   { "albatrosswear.com", true },
   { "albbounce.co.uk", true },
-  { "alberoraydolap.com", true },
+  { "albergolafiorita.com", true },
   { "albersdruck.de", true },
   { "albert-yu.com", true },
   { "albertathome.org", true },
@@ -4728,6 +4945,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alberts-blatt.de", true },
   { "albilaga.id", true },
   { "albion2.org", true },
+  { "albionfaeries.org.uk", true },
   { "alboweb.nl", true },
   { "albstaedter-kids-cup.de", true },
   { "alca31.com", false },
@@ -4735,6 +4953,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alcatelonetouch.us", true },
   { "alchemy-media-marketing.com", true },
   { "alchemy.gr", true },
+  { "alchemyvfx.com", true },
   { "alchimic.ch", false },
   { "alco-united.com", true },
   { "alcobendas.tk", true },
@@ -4747,6 +4966,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aldomedia.com", true },
   { "aldorr.net", false },
   { "aldous-huxley.com", true },
+  { "alea.xyz", true },
   { "alecpap.com", true },
   { "alecpapierniak.com", true },
   { "alecrust.com", true },
@@ -4757,7 +4977,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alela.fr", true },
   { "alentadoras.com", true },
   { "aleph.land", true },
-  { "alerbon.net", true },
   { "alertboxx.com", true },
   { "alertonline.nl", true },
   { "alerts.sg", true },
@@ -4769,21 +4988,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alessandroz.ddns.net", true },
   { "aletm.it", true },
   { "alevi.tk", true },
+  { "alex-n.net", true },
   { "alex-ross.co.uk", true },
   { "alex4386.us", true },
   { "alex97000.de", true },
   { "alexander-beck.eu", true },
-  { "alexanderb.info", true },
   { "alexandercanton.com", true },
   { "alexanderneng.de", true },
   { "alexanderschimpf.de", true },
   { "alexandra-schulze.de", true },
   { "alexandrastorm.com", true },
-  { "alexandre-blond.fr", true },
   { "alexandreguarita.com.br", true },
   { "alexbaker.org", true },
   { "alexberts.ch", true },
-  { "alexbogovich.com", true },
   { "alexcoman.com", true },
   { "alexdaniel.org", true },
   { "alexey-shamara.ru", true },
@@ -4802,8 +5019,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alexmerkel.com", true },
   { "alexmerkel.me", true },
   { "alexmerkel.xyz", true },
+  { "alexmroberts.net", true },
   { "alexn.org", true },
-  { "alexpavel.com", true },
   { "alexpnixon.com", true },
   { "alexpotter.net", true },
   { "alexs.de", true },
@@ -4820,8 +5037,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alfa-host.ml", true },
   { "alfa-tech.su", true },
   { "alfacharlie.co", true },
+  { "alfadlmedical.com", true },
+  { "alfadlmedical.net", true },
   { "alfaperfumes.com.br", true },
   { "alfaproweb.fr", true },
+  { "alfastone.com.ua", true },
   { "alfavit.cf", true },
   { "alforto.nl", true },
   { "alfratehotelcampiglio.it", true },
@@ -4832,28 +5052,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alghanimcatering.com", true },
   { "algoentremanos.com", true },
   { "algolia.com", true },
-  { "alhost.ml", true },
+  { "algoritmus-uspechu.cz", true },
+  { "algoritmususpechu.cz", true },
+  { "algustionesa.com", true },
   { "aliacraft.net", true },
+  { "aliancapelobrasil.rio.br", true },
   { "aliantsoft.pl", true },
   { "aliaswp.com", true },
+  { "alibamu.com", true },
+  { "alibamu.org", true },
   { "alibangash.com", true },
   { "alice-memorial.de", true },
   { "alice-noutore.com", true },
-  { "alice-of-alice.top", true },
   { "alice.tw", true },
   { "alicemaywebdesign.com.au", true },
   { "alicestudio.it", true },
   { "alicetone.net", true },
   { "aliefirfany.com", true },
   { "alieke.design", true },
+  { "alien.bz", true },
   { "alien6.com", true },
-  { "alienation.biz", true },
-  { "alienslab.net", true },
+  { "alienation.biz", false },
   { "alienstat.com", true },
   { "alighierirescaldina.it", true },
   { "alignrs.com", true },
-  { "alijammusic.com", false },
   { "alikulov.me", true },
+  { "alimentsduquebecaumenu.com", true },
   { "alinasmusicstudio.com", true },
   { "alinbu.net", true },
   { "alineonline.tk", true },
@@ -4872,9 +5096,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aljaspod.hu", true },
   { "aljaspod.net", true },
   { "aljaspod.org", true },
-  { "aljoschairmer.de", true },
   { "aljweb.com", true },
   { "alkacoin.net", true },
+  { "alkami.com", true },
+  { "alkamitech.com", true },
   { "alkemi-si.fr", true },
   { "alko-centr.ru", true },
   { "alko-stop.ml", true },
@@ -4894,7 +5119,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "allaboutswing.com", true },
   { "allactioneventhire.co.uk", true },
   { "allamericanmuslim.com", true },
-  { "allamericanprotection.net", true },
   { "allamericatrans.com", true },
   { "allangirvan.net", true },
   { "allanta.be", true },
@@ -4925,13 +5149,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alle.bg", true },
   { "allemoz.com", true },
   { "allemoz.fr", true },
+  { "allenarchive.com", true },
   { "allenscaravans.co.uk", true },
   { "allensun.org", true },
+  { "allentertainment.de", true },
   { "allenwillis.ga", true },
   { "allerstorfer.at", true },
   { "alles-nur-ge.cloud", true },
   { "alleskomtgoed.org", true },
-  { "allesrocknroll.de", true },
   { "allfaucet.ml", true },
   { "allfoodrecipes.ga", true },
   { "allforyou.at", true },
@@ -4941,13 +5166,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "allgovernmentjobs.in", true },
   { "allgreenturf.com.au", true },
   { "allhard.org", true },
+  { "allhomemueble.com", true },
+  { "allhsa.com", true },
   { "alliance-psychiatry.com", true },
+  { "allianceexpressmail.com", true },
   { "alliances-globalsolutions.com", false },
+  { "allied.sh", true },
   { "alliedfrozenstorage.com", true },
   { "alliedpavers.com", true },
   { "allinagency.com", true },
   { "allincoin.shop", true },
-  { "allindiacityguide.com", true },
   { "allinone-ranking150.com", true },
   { "allinsuranceinformation.com", true },
   { "allis.studio", true },
@@ -4955,9 +5183,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alljamin.com", true },
   { "allladyboys.com", true },
   { "allmajestic.com", true },
-  { "allmemy.com", false },
   { "allmousepads.com", true },
-  { "allnoticebd.com", true },
   { "allnovosibirsk.tk", true },
   { "allns.fr", true },
   { "allo-credit.ch", false },
@@ -4993,7 +5219,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "allsun.online", true },
   { "allsurpl.us", true },
   { "allsync.com", true },
-  { "allsync.nl", true },
+  { "allsync.nl", false },
   { "allteach.co.uk", true },
   { "allterrainfence.com", true },
   { "allthecryptonews.com", true },
@@ -5001,7 +5227,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alltherooms.es", true },
   { "allthethings.co.nz", true },
   { "allthings.me", true },
-  { "allthingssquared.com", true },
   { "allthingswild.co.uk", true },
   { "alltubedownload.net", true },
   { "allurebikerental.com", true },
@@ -5013,11 +5238,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "almanssur.com", true },
   { "almatinki.com", true },
   { "almavios.com", false },
-  { "almayadeen.education", true },
   { "almeeraloyalty.com", true },
   { "almenrausch-pirkhof.de", true },
   { "almisnedrm.com", true },
-  { "almorafestival.com", true },
   { "almostobjective.com", true },
   { "almusbahperfume.com", true },
   { "almut-zielonka.de", true },
@@ -5040,10 +5263,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alpertron.com.ar", true },
   { "alpes-deis-tools.com", true },
   { "alpha-ag.ru", true },
-  { "alpha-assistant.com", true },
   { "alpha-bet.com.ua", true },
   { "alpha-force.net", false },
   { "alpha-premium.com", true },
+  { "alpha-shop.gr", true },
   { "alpha.ch", true },
   { "alpha88uat.com", true },
   { "alphaantileak.net", true },
@@ -5054,6 +5277,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alphaetomega3d.fr", true },
   { "alphafiduciaryservices.ch", false },
   { "alphainflatablehire.com", true },
+  { "alphamedphysicians.com", true },
   { "alphanodes.com", true },
   { "alphapengu.in", true },
   { "alphaperfumes.com.br", true },
@@ -5064,6 +5288,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alphasall.com", true },
   { "alphasib.ru", true },
   { "alphassl.de", true },
+  { "alphatrash.de", true },
   { "alphavote-avex.com", true },
   { "alphavote.com", true },
   { "alphera.nl", true },
@@ -5076,10 +5301,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alpinepubliclibrary.org", true },
   { "alpinestarmassage.com", true },
   { "alplogopedia.it", true },
-  { "alpstarentaisetaxi.com", true },
-  { "alpstarentaisetaxi.fr", true },
   { "alquds.edu", true },
   { "alquiaga.com", true },
+  { "alrait.com", true },
   { "alre-outillage.fr", true },
   { "als-japan.com", true },
   { "alsops.cf", true },
@@ -5088,7 +5312,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alt-three.com", true },
   { "alt.org", true },
   { "altair.fi", true },
-  { "altairlyh.com", true },
   { "altapina.com", false },
   { "altaplana.be", true },
   { "altaynews.kz", true },
@@ -5096,20 +5319,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "altedirect.com", true },
   { "alteiria.fr", true },
   { "alter-news.fr", true },
-  { "alteraro.com", true },
+  { "alteralife.eu", true },
   { "alteraro.org", true },
-  { "alterbaum.net", true },
   { "alteria.xyz", true },
   { "alternador.com.br", true },
   { "alternative.bike", true },
   { "alternative.hosting", true },
   { "alternativebit.fr", true },
-  { "alternativehosting.ca", true },
   { "alternativehosting.com", true },
   { "alternativeinternet.ca", true },
   { "alternativet.party", true },
   { "alternativetomeds.com", true },
   { "alternatiwa.tk", true },
+  { "alternatyv.ch", true },
   { "alterspalter.de", true },
   { "altertek.org", true },
   { "altes-sportamt.de", true },
@@ -5117,31 +5339,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "altestore.com", true },
   { "altijdleroy.nl", true },
   { "altijdleroy.online", true },
-  { "altisdev.com", true },
+  { "altiup.com", true },
   { "altkremsmuensterer.at", true },
   { "altmaestrat.es", true },
   { "altmann-systems.de", true },
   { "altoa.cz", true },
   { "altonblom.com", true },
-  { "altonkey.com", true },
   { "altopartners.com", true },
   { "altopia.com", true },
   { "altorise.com", true },
+  { "altospam.com", true },
   { "altphotos.com", true },
   { "altrui.st", true },
   { "altsdigital.com", true },
   { "altstipendiaten.de", true },
   { "altunbas.info", true },
-  { "altweaver.com", true },
   { "aluminium-express.ru", true },
-  { "aluminium-giesserei.de", true },
   { "alumni-kusa.jp", true },
   { "alupferd.de", true },
   { "aluroof.eu", true },
   { "alushta-vostorg.tk", true },
+  { "alvaiazere.net", true },
   { "alvcs.com", true },
   { "alvicom.hu", true },
+  { "alvimedika.com.ua", true },
   { "alvosec.com", true },
+  { "alwa.fi", true },
   { "alwayshowher.tk", true },
   { "alwayslookingyourbest.com", true },
   { "alwaysmine.fi", true },
@@ -5158,25 +5381,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "alza.hu", true },
   { "alza.sk", true },
   { "alzashop.com", true },
+  { "alziamoiltetto.it", true },
   { "am-dd.com", true },
   { "am-executive-consulting.com", true },
+  { "am-globalgroup.com", true },
   { "am156.com", true },
   { "am22i6xaf1m2a5m9k.xyz", true },
   { "am2s.fr", true },
-  { "am5188.com", true },
   { "am6118.com", true },
   { "am615.am", true },
+  { "am8.ag", true },
   { "am8.com", true },
+  { "am8009.com", true },
+  { "am8028.com", true },
   { "am8136.com", true },
   { "am88.ag", true },
-  { "am9d104.com", true },
+  { "am8866m.com", true },
+  { "am8895.com", true },
   { "ama.ne.jp", true },
   { "amaderelectronics.com", true },
   { "amadoraslindas.com", true },
   { "amagdic.com", true },
   { "amagical.net", false },
   { "amaiz.com", true },
-  { "amal2019.com", true },
+  { "amalficoastransfers.it", true },
   { "amalfilapiazzetta.it", true },
   { "amalfipositanoboatrental.com", true },
   { "amalfirock.it", true },
@@ -5185,11 +5413,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "amandadamsphotography.com", true },
   { "amandahamilton.tk", true },
   { "amandasage.ca", true },
-  { "amandaworldstudies.com", true },
+  { "amanduscommunication.com", true },
   { "amani-kinderdorf.de", true },
   { "amaranthinewanderlust.com", true },
   { "amardham.org", true },
   { "amaresq.com", true },
+  { "amarreconbrujeria.com", true },
+  { "amarresconvudu.com", true },
+  { "amarresimposibles.com", true },
+  { "amarresperuanos.com", true },
+  { "amarresydominio.com", true },
   { "amartinz.at", true },
   { "amateri.com", true },
   { "amateurpornhours.com", true },
@@ -5206,6 +5439,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "amazingraymond.com", true },
   { "amazingraymond.com.au", true },
   { "amb.tf", true },
+  { "amb8.net", true },
   { "ambacoin.io", true },
   { "ambassify.com", true },
   { "ambassify.eu", true },
@@ -5213,9 +5447,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "amberglowleisure.co.uk", true },
   { "amberlightleisure.com", true },
   { "amberoad.tk", true },
+  { "amberwiz.com", true },
   { "ambholding-usedcars.be", false },
   { "ambiente.one", true },
   { "ambiq.nl", true },
+  { "ambra.net.au", true },
+  { "ambra.net.nz", true },
   { "ambulanza.roma.it", true },
   { "ambulari.cz", true },
   { "amcangroup.com", true },
@@ -5230,18 +5467,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ameego.net", true },
   { "ameego.nl", true },
   { "ameego.org", true },
+  { "ameeradubai.com", true },
   { "amees.me", false },
+  { "ameeventos.pt", true },
   { "ameliemarieintokyo.com", true },
   { "amello.de", true },
   { "amendine.fr", true },
+  { "ameninalaceira.com.br", true },
   { "america.gov", true },
   { "americafamilylawcenter.org", true },
+  { "americagambles.com", true },
   { "american-school-search.com", true },
   { "american.dating", true },
+  { "americanartwarehouse.com", true },
   { "americandetour.com", true },
+  { "americanflooring.co", true },
   { "americanfoundationbr.com", true },
   { "americanindiannursing.com", true },
   { "americanmediainstitute.com", true },
+  { "americanreservations.us", true },
   { "americans.cam", true },
   { "americansforcommunitydevelopment.org", true },
   { "americanunicornparty.tk", true },
@@ -5249,13 +5493,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "americasbasementcontractor.com", true },
   { "americasdirector.com", true },
   { "americkykongres.cz", true },
+  { "americoadvogados.com.br", true },
   { "americorps.gov", true },
   { "ameriikanpoijat.org", true },
   { "amerika-forum.de", true },
   { "amerimex.cc", true },
   { "amerion.nl", true },
+  { "ameriondental.nl", true },
   { "amesgen.de", true },
-  { "amethystbodyart.com", true },
   { "amethystdevelopment.co.uk", true },
   { "amf.to", true },
   { "amforst-ha.ddns.net", true },
@@ -5269,34 +5514,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "amicalecanyon.ch", false },
   { "amiciperlatesta.it", true },
   { "amifoundation.net", true },
+  { "amigosencanada.com", true },
   { "amigucrochet.com", true },
   { "amikootours.com", true },
   { "amineptine.com", true },
+  { "amion.com.ua", true },
   { "amionvpn.com", true },
   { "amir-heinisch.de", true },
   { "amirasyraf.com", true },
   { "amirautos.com", false },
   { "amirmahdy.com", true },
-  { "amisderodin.fr", true },
   { "amitabhsirkiclasses.org.in", true },
-  { "amitpatra.com", true },
+  { "amitpatra.com", false },
   { "amj74-informatique.fr", true },
+  { "amjinc.ca", true },
   { "amleather.pl", true },
   { "amm6e.com", true },
   { "ammanagingdirectors.com", true },
   { "amministratore.biz", true },
   { "amministratore.roma.it", true },
   { "amministratorecondominio.roma.it", true },
+  { "ammobrand.com", true },
   { "amnesty-bf.org", true },
   { "amnesty.org.au", true },
   { "amnesy.fr", true },
   { "amobileway.co.uk", true },
-  { "amokinio.com", true },
   { "amoozesh98.com", true },
   { "amoozesh98.ir", true },
   { "amorgos-aegialis.com", true },
+  { "amorgosrentandgo.gr", true },
   { "amorim.ca", true },
+  { "amoryurgentcare.com", true },
+  { "amosng.com", true },
   { "amoxil.cf", true },
+  { "amper.kharkov.ua", true },
   { "amperaa.net", true },
   { "ampersandnbspsemicolon.com", true },
   { "ampgroep.nl", true },
@@ -5309,7 +5560,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "amputated.tk", true },
   { "amrcaustin.com", true },
   { "amrcla.com", true },
-  { "amrff.com", true },
+  { "amrff.com", false },
   { "amruta.org", true },
   { "ams-web-qa.azurewebsites.net", true },
   { "ams.co.rs", true },
@@ -5322,18 +5573,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "amuq.net", true },
   { "amuraimpianti.it", true },
   { "amusa.cl", true },
+  { "amv.su", true },
   { "amvip9.com", true },
-  { "amxpj888.com", false },
-  { "amyfoundhermann.com", true },
   { "amymabel.com", true },
   { "amyria.jp", true },
   { "amyyeung.com", true },
+  { "amzmall.com", true },
   { "amzn.rocks", true },
-  { "an-alles-gedacht.de", true },
   { "an7hrax.se", true },
-  { "anabolic.co", false },
   { "anabolickdieta.ga", true },
   { "anabolics.tk", true },
+  { "anachristinarodriguez.com", true },
   { "anacreon.de", true },
   { "anadiyogacentre.com", true },
   { "anageorgia.com", true },
@@ -5353,9 +5603,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "analyticum.de", true },
   { "analyticum.eu", true },
   { "analyticum.net", true },
+  { "anamelikian.com", true },
   { "anandchowdhary.com", true },
-  { "ananke.io", true },
   { "anankecosmetics.com", true },
+  { "ananswer.org", true },
   { "anantshri.info", true },
   { "ananyoo.com", true },
   { "anarchistischegroepnijmegen.nl", false },
@@ -5365,6 +5616,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "anasahr.be", true },
   { "anastasia-shamara.ru", true },
   { "anatoray.com", true },
+  { "anayarealm.com", true },
   { "anblik.com", true },
   { "ance.lv", false },
   { "ancestramil.fr", true },
@@ -5387,7 +5639,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "andersonpowerservices.com", true },
   { "andersonshatch.com", true },
   { "andesnevadotours.com", true },
-  { "andicui.xyz", true },
   { "andiplusben.com", true },
   { "anditi.com", true },
   { "andre-lategan.com", true },
@@ -5400,10 +5651,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "andreadraghetti.it", true },
   { "andreagobetti.com", true },
   { "andreagourmet.it", true },
-  { "andreahruby.it", true },
   { "andreamcnett.com", true },
+  { "andreariccitraduzioni.it", true },
   { "andreas-kluge.eu", true },
-  { "andreaseracleous.com", true },
   { "andreasfeusi.ch", true },
   { "andreasjanker.de", true },
   { "andreaskrasa.com", true },
@@ -5411,6 +5661,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "andreasolsson.se", true },
   { "andree.cloud", true },
   { "andrehansen.de", true },
+  { "andrehazeswinactie.nl", true },
   { "andrei-nakov.org", true },
   { "andreina-atencio.com", true },
   { "andrelauzier.com", true },
@@ -5439,17 +5690,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "andrewsun.com", true },
   { "andrewtasso.com", true },
   { "andrewtchin.com", true },
-  { "andrewx.net", true },
+  { "andrewwiggins.ca", true },
+  { "andrey.red", true },
   { "andrey1p.ru", true },
   { "andreyjuravlev.ga", true },
   { "andreypopp.com", true },
   { "andreysmirnov.tk", true },
   { "andrianova.ml", true },
-  { "andrija-i-andjelka.com", true },
   { "andrisilberschmidt.ch", true },
   { "andro2id.com", true },
   { "andro4all.com", true },
-  { "android-tv.3utilities.com", true },
   { "android.re", true },
   { "androide.com", true },
   { "androidhry.cz", true },
@@ -5458,12 +5708,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "androidservicetool.com", true },
   { "androidsis.com", true },
   { "androidtamer.com", true },
+  { "androidtcpdump.com", true },
   { "androidtelefony.cz", true },
   { "androidzone.me", true },
   { "andromeda.se", true },
   { "andromedacenter.com", true },
-  { "androtech.xyz", true },
   { "androticsdirect.com", true },
+  { "androtix.com", true },
   { "andruvision.cz", true },
   { "andsat.org", true },
   { "andschwa.com", false },
@@ -5471,8 +5722,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "anduril.eu", true },
   { "andybrett.com", true },
   { "andyc.cc", true },
-  { "andycraftz.eu", true },
   { "andycrockett.io", true },
+  { "andys-place.co.uk", true },
+  { "andyson.at", true },
   { "andysroom.dynu.net", true },
   { "andyt.eu", true },
   { "andzia.art.pl", true },
@@ -5485,19 +5737,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "anepsa.com.mx", true },
   { "aneslix.com", false },
   { "anetaben.nl", true },
+  { "anewbite.com", true },
   { "anextraordinaryday.net", true },
   { "angehardy.com", true },
   { "angelcorpus.tk", true },
   { "angelesydemonios.es", true },
   { "angeletakis.net", true },
   { "angelicare.co.uk", true },
+  { "angelikasolorzano.cloud", true },
   { "angelinahair.com", true },
   { "angeljmadrid.com", true },
+  { "angeloanan.xyz", true },
   { "angelok.ru", true },
   { "angelremigene.com", false },
   { "angelspabeauty.co.uk", true },
   { "angepsychedelices.tk", true },
   { "angiejones.com", true },
+  { "angiewickes.com", true },
   { "anginf.de", true },
   { "angkasa.net.id", true },
   { "anglersconservation.net", true },
@@ -5505,13 +5761,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "anglictinasojcak.cz", true },
   { "anglingactive.co.uk", true },
   { "anglirl.eu.org", true },
-  { "angora.freesite.host", true },
   { "angora.me", true },
-  { "angrapa.ru", true },
   { "angrido.com", true },
   { "angristan.fr", true },
   { "angristan.xyz", true },
-  { "angry.im", true },
   { "angrysnarl.com", true },
   { "angryteeth.net", true },
   { "angular-software.at", true },
@@ -5539,22 +5792,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "animeai.com", true },
   { "animebits.moe", true },
   { "animeclub.in.ua", true },
+  { "animecracks.com", true },
   { "animedon.tk", true },
-  { "animefever.tv", true },
   { "animefire.net", true },
   { "animefluxxx.com", true },
   { "animehf.com", true },
   { "animeinsights.net", true },
+  { "animem.es", true },
+  { "animemotivation.com", true },
   { "animeone.me", true },
   { "animes-portal.info", true },
+  { "animesharp.com", true },
   { "animetriad.com", true },
   { "animojis.es", true },
+  { "animorphsfanforum.com", true },
   { "anipassion.com", false },
   { "anirvalle.com", true },
   { "anitaalbersen.nl", true },
   { "anitaxcph.dk", true },
   { "anivar.net", true },
   { "aniviasport.store", true },
+  { "aniwhen.com", true },
   { "anjara.eu", true },
   { "anjocerdena.com", true },
   { "anjoola.com", true },
@@ -5569,7 +5827,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ankitpati.in", true },
   { "ankiuser.net", true },
   { "ankiweb.net", true },
-  { "ankwanoma.com", true },
+  { "ankya9.com", true },
   { "anleitung-deutsch-lernen.de", true },
   { "anleitung-zum-flechten.de", true },
   { "anleitung-zum-haekeln.de", true },
@@ -5584,6 +5842,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "annangela.moe", true },
   { "annarokina.com", true },
   { "annawagner.pl", true },
+  { "annawang.com.au", true },
   { "annedaniels.co.uk", true },
   { "anneeden.de", true },
   { "annejan.com", true },
@@ -5593,6 +5852,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "annetta.com", true },
   { "annettewindlin.ch", true },
   { "annevankesteren.nl", true },
+  { "annexorien.com", true },
   { "anney-life.com", true },
   { "anniversary-cruise.com", true },
   { "annmariewaltsphotography.com", true },
@@ -5616,14 +5876,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "anons.fr", false },
   { "anonser.tk", true },
   { "anonym-surfen.de", true },
+  { "anonym-surfen.online", true },
   { "anonyme-spieler.at", true },
+  { "anonymster.com", true },
   { "anora.ai", true },
   { "anoracdn.net", true },
-  { "anorak.tech", true },
+  { "anoretics.com", true },
   { "anotherfatgeek.net", true },
   { "anothervps.com", true },
   { "anouncer.ga", true },
   { "anowicki.pl", true },
+  { "anquankongjian.com", true },
   { "ans-delft.nl", true },
   { "ans-ge.ch", false },
   { "ansas.eu", true },
@@ -5646,7 +5909,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "antarcti.co", true },
   { "antarees.net", true },
   { "antaresmedia.com.py", true },
-  { "antarespc.com", true },
   { "antcas.com", false },
   { "antennajunkies.com", true },
   { "antennista.bari.it", true },
@@ -5661,8 +5923,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "antennisti.roma.it", true },
   { "antfarm.cf", true },
   { "antfie.com", true },
+  { "antha.com", true },
   { "anthisis.tv", true },
   { "anthony.codes", true },
+  { "anthonychampagne.fr", true },
+  { "anthonychampagne.me", true },
   { "anthonyellis.com", true },
   { "anthonyfontanez.com", true },
   { "anthonygaidot.fr", true },
@@ -5679,6 +5944,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "antihistory.cf", true },
   { "antihype.space", true },
   { "antik-trodelmarkt.de", true },
+  { "antikvariat.ru", true },
   { "antikvarius.ro", true },
   { "antilaserpriority.com", true },
   { "antimine.me", true },
@@ -5700,7 +5966,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "antonimos.com.br", true },
   { "antonin.one", true },
   { "antonio-gartenbau.de", true },
-  { "antoniogatti.ro", true },
   { "antonjuulnaber.dk", true },
   { "antonoff.tk", true },
   { "antonok.com", true },
@@ -5731,7 +5996,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "anypeer.net", true },
   { "anyquestions.govt.nz", true },
   { "anystack.xyz", true },
-  { "anythinggraphic.net", true },
   { "anyways.at", true },
   { "anzacparkeast.com", true },
   { "anzeiger.ag", true },
@@ -5739,7 +6003,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ao2.it", true },
   { "aoa.gov", true },
   { "aoadatacommunity.us", true },
-  { "aobeauty.com.au", true },
   { "aod-tech.com", true },
   { "aoe9.com", true },
   { "aoeuaoeu.com", true },
@@ -5755,39 +6018,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aotearoa.maori.nz", true },
   { "aotearoafreepress.com", true },
   { "aotearoaleaks.org", true },
+  { "aoyamacc.co.jp", true },
   { "ap-swiss.ch", false },
   { "apa-canal.ro", true },
   { "apache-portal.com", true },
   { "apachehaus.de", false },
   { "apachelounge.com", true },
   { "apachezone.com", true },
+  { "apadmi.com", true },
   { "apadvantage.com", true },
   { "apalancamiento.trade", true },
   { "apart-hotel-weimar.de", true },
   { "apartmanicg.me", true },
-  { "apartmanidano.com", true },
   { "apartment-in-rijeka.com", true },
-  { "apartmentkroatien.at", true },
   { "apartmentregister.com.au", true },
   { "apasaja.tech", true },
   { "apbank.ch", true },
   { "apbox.de", true },
   { "apc.ec", true },
   { "apcemporium.co.uk", true },
-  { "apcube.com", true },
   { "apdfawl.com", true },
   { "apdx.com", true },
   { "apef.ch", false },
   { "apercloud.es", true },
-  { "apertis.org", true },
+  { "apertis.org", false },
   { "aperture-science.net", true },
   { "apertureimaging.com", true },
   { "aperturelabs.tk", true },
   { "aperturesciencelabs.de", true },
   { "apervita.net", true },
   { "apex.to", true },
+  { "apexfacades.com.au", true },
   { "apexitsolutions.ca", true },
   { "apgw.jp", true },
+  { "aphelion-design.jp", true },
   { "aphelionentertainment.com", true },
   { "aphelis.net", true },
   { "api-connect.com", false },
@@ -5799,17 +6063,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "api.simple.com", false },
   { "api.xero.com", false },
   { "apicruz.com", true },
+  { "apila.care", true },
   { "apimon.de", true },
   { "apination.com", true },
   { "apio.systems", true },
   { "apiplus.fr", true },
   { "apirest.top", true },
   { "apis.google.com", true },
+  { "apisvida.com.br", true },
   { "apisyouwonthate.com", true },
   { "apitodemestre.com.br", true },
   { "apk.li", true },
   { "apk4fun.com", true },
-  { "apkmod.id", true },
+  { "apkclash.com", true },
   { "apkpokemongo.gq", true },
   { "aplazame.com", true },
   { "aplikaceproandroid.cz", true },
@@ -5825,8 +6091,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "apobot.de", true },
   { "apocalypseboard.tk", true },
   { "apocalypsemud.org", true },
-  { "apod-portal-daily.azurewebsites.net", true },
   { "apod.com.au", true },
+  { "apod.ml", true },
   { "apogeephoto.com", true },
   { "apollo-auto.com", true },
   { "apoly.de", true },
@@ -5836,24 +6102,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aponkral.net", true },
   { "aponkral.org", true },
   { "aporia.io", true },
+  { "aposke.com", true },
   { "aposke.net", true },
   { "aposke.org", true },
   { "apostalegal.com", true },
   { "apostalegal.pt", true },
   { "apothecarydouglasville.com", true },
+  { "apotheek-ict.nl", true },
   { "apotheke55.de", true },
   { "apothes.is", true },
+  { "app-2132.com", true },
+  { "app-2138.com", true },
+  { "app-6132.com", true },
   { "app-at.work", true },
   { "app-scope.com", true },
   { "app.lookout.com", true },
   { "app.recurly.com", true },
   { "app.simpletax.ca", true },
   { "app.yinxiang.com", false },
-  { "app00228.com", false },
-  { "app11018.com", false },
+  { "app2132.com", true },
+  { "app2138.com", true },
   { "app2get.de", true },
+  { "app33138.com", true },
+  { "app5132.com", true },
+  { "app5414.com", true },
+  { "app5424.com", true },
+  { "app5454.com", true },
+  { "app6132.com", true },
+  { "app666365.com", true },
   { "app6810.com", true },
-  { "app77018.com", false },
+  { "app7337.com", true },
   { "appagility.co.nz", true },
   { "appapi.link", true },
   { "apparelfashionwiki.com", true },
@@ -5862,30 +6140,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "appartementhaus-badria.de", true },
   { "appartementmarsum.nl", true },
   { "appassionata.ru", true },
+  { "appbet43.com", true },
   { "appbydl.com", true },
+  { "appcuarium.com", true },
   { "appelaprojets.fr", true },
   { "appelboomdefilm.nl", true },
   { "appengine.google.com", true },
   { "appers.co", true },
+  { "appfarm.io", true },
   { "appgeek.com.br", true },
   { "appharbor.com", true },
   { "appify.org", true },
   { "appizia.com", true },
+  { "applaudit.com", true },
   { "applegun.com", true },
   { "applemon.com", true },
   { "appleoosa.com", true },
   { "applesencia.com", true },
+  { "appletree.is", true },
   { "applian.jp", true },
   { "appliancepronwi.com", true },
   { "application-travel.us.com", true },
   { "applicationmanager.gov", true },
   { "applied-privacy.net", true },
-  { "appliquette.com.au", true },
   { "apply-esta.us.com", true },
   { "apply-eta.org", true },
   { "apply-visa.us.com", true },
   { "apply.eu", true },
   { "appmeas.co.uk", true },
+  { "appmobi.com", true },
   { "appmobile.io", true },
   { "appninjas.com", true },
   { "apponic.com", true },
@@ -5924,8 +6207,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aprsdroid.org", true },
   { "aprz.de", true },
   { "apsa.paris", true },
+  { "apsscientific.com", true },
   { "apstudynotes.org", true },
+  { "apswater.com", true },
   { "aptekakolska.pl", true },
+  { "aptitude9.com", true },
   { "aptitudetests.org", true },
   { "aptumseguros.mx", true },
   { "apu-board.de", true },
@@ -5935,6 +6221,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "apv-ollon.ch", true },
   { "apviz.io", true },
   { "apwide.com", true },
+  { "apyha.com", true },
   { "aqarategypt.com", true },
   { "aqsiq.net", true },
   { "aqua-bucht.de", true },
@@ -5962,12 +6249,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aquaterm72.ru", true },
   { "aquaundine.net", true },
   { "aquavitaedayspa.com.au", true },
-  { "aquelarreweb.com", true },
   { "aquila.co.uk", true },
   { "aquitainebrasserie.com.au", true },
   { "ar-informatique.ch", false },
   { "arab.dating", true },
   { "arabic-shirts.com", true },
+  { "arablovepet.com", true },
   { "arabsexi.info", true },
   { "arachina.com", true },
   { "arackiralama.name.tr", true },
@@ -5983,9 +6270,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aranycsillag.net", true },
   { "araratour.com", true },
   { "araro.ch", false },
+  { "ararrl.com", true },
+  { "ararrl.net", true },
   { "araseifudousan.com", true },
-  { "arawaza.com", false },
   { "araxis.com", true },
+  { "arbavere.ee", true },
   { "arbeitsch.eu", true },
   { "arbeitskreis-asyl-eningen.de", true },
   { "arbeitslosenverwaltung.de", true },
@@ -5993,16 +6282,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arbitrarion.com", true },
   { "arbitrary.ch", true },
   { "arboleda-hurtado.com", true },
+  { "arcadeencasa.com", true },
   { "arcadio.fr", true },
   { "arcaik.net", true },
-  { "arcanetides.com", true },
   { "arcanist.games", true },
   { "arcbouncycastles.co.uk", true },
   { "arcenergy.co.uk", true },
   { "archaeoadventures.com", true },
   { "archambault.paris", true },
+  { "archauthority.com", true },
   { "archbishop.ga", true },
   { "archeologicatoscana.it", true },
+  { "archeryaid.com", true },
   { "archframe.net", true },
   { "archimedicx.com", true },
   { "archina.ir", true },
@@ -6013,6 +6304,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "architectureandgovernance.com", true },
   { "architecturequote.com", true },
   { "architectus.ga", true },
+  { "archival-services.gov.ge", true },
+  { "archive.gov.ge", true },
   { "archivero.es", true },
   { "archivesdelavieordinaire.ch", true },
   { "archivium.biz", true },
@@ -6021,17 +6314,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "archiweb.pl", false },
   { "archlinux.de", true },
   { "archlinux.org", true },
-  { "archwood.ro", true },
   { "arcinapoli.it", true },
+  { "arcismant.com.br", true },
   { "arclandholdings.com.au", true },
+  { "arco.lu", true },
   { "arcobalabs.ca", true },
   { "arcogb.co", true },
   { "arcovix.com", true },
   { "arcridge.ca", true },
-  { "arctic.ca", true },
   { "arctic.gov", true },
   { "arctica.io", true },
   { "arcticbit.net", true },
+  { "arcticwolf.com", true },
   { "arctus-security.com", true },
   { "arcueil-cachan.fr", false },
   { "arcusnova.de", true },
@@ -6044,6 +6338,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "areaclienti.net", false },
   { "areafiftylan.nl", true },
   { "areatrend.com", true },
+  { "areavipbrasil.com.br", true },
   { "areis.pt", true },
   { "arekatieandchrisgettingmarried.com", true },
   { "arekatieandchrisgettingmarried.today", true },
@@ -6051,42 +6346,51 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arena-lemgo.de", true },
   { "arenda247.by", true },
   { "arendburgers.nl", true },
+  { "arenlor.com", true },
+  { "arenlor.info", true },
+  { "arenns.com", true },
   { "areqgaming.com", true },
   { "ares-trading.de", true },
   { "aresanel.com", true },
   { "arethsu.se", true },
+  { "arex-corp.com", true },
   { "arfad.ch", false },
   { "arganaderm.ch", false },
   { "argb.de", true },
   { "argecord.com", true },
   { "argekultur.at", true },
-  { "argentinatrabaja.org", true },
   { "argonium.com.au", true },
   { "argot.com", true },
   { "argovpay.com", true },
+  { "argrafiche.it", true },
   { "argumentative-essay.gq", true },
+  { "argyrakis.gr", true },
+  { "arheh.com", true },
+  { "arhitekti.hr", true },
   { "ariacreations.net", true },
   { "ariadermspa.com", true },
   { "arian.io", true },
-  { "ariana.wtf", true },
+  { "arias.re", true },
   { "ariba.info", true },
+  { "aridhia.com", true },
   { "ariege-pyrenees.net", true },
   { "arielpereira.tk", true },
   { "arieswdd.com", true },
   { "arigato-java.download", true },
-  { "ariixmex.com", true },
   { "arijitdg.net", true },
   { "arikar.eu", true },
   { "arilto.com", true },
+  { "arima.co.ke", true },
   { "arinde.ee", true },
+  { "arionta.com", true },
   { "arise19.com", true },
-  { "arisechurch.com", false },
-  { "ariseconference.org.nz", false },
+  { "arisechurch.com", true },
+  { "ariseconference.org.nz", true },
+  { "aristocrates.co", true },
   { "aritec-la.com", true },
   { "arithmetic.ga", true },
   { "arivo.com.br", true },
   { "ariyaoil.ir", true },
-  { "arizana.com", true },
   { "arjan.nl", true },
   { "arjandejong.eu", true },
   { "arjanenthijs.nl", true },
@@ -6095,14 +6399,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arjunasdaughter.pub", true },
   { "arjweb.co.uk", true },
   { "arkacrao.org", true },
+  { "arkadelphia.gov", false },
   { "arkadiyt.com", true },
   { "arkantos.agency", true },
   { "arkenco.cl", true },
   { "arkhvoid.xyz", true },
-  { "arkitextonico.com", true },
+  { "arktalentsolutions.com.mx", true },
   { "arkulagunak.com", false },
   { "arlaperu.com", true },
-  { "arlartistadigital.com.mx", true },
   { "arlen.tv", true },
   { "arlenarmageddon.com", true },
   { "arletalibrary.com", true },
@@ -6122,10 +6426,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "armcar.ga", true },
   { "armedpoet.com", true },
   { "armeniaweb.tk", true },
+  { "armensc.com", true },
   { "armil.it", true },
   { "armin-cme.de", true },
-  { "armin-cpe.de", true },
   { "arminpech.de", true },
+  { "arminsure.com", true },
   { "armor.ai", true },
   { "armpads.nl", true },
   { "armstrongsengineering.com", true },
@@ -6143,9 +6448,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arno-klein.de", true },
   { "arno-klein.eu", true },
   { "arno-klein.fr", true },
+  { "arno-klein.it", true },
   { "arno-klein.net", true },
   { "arnoklein.eu", true },
   { "arnoklein.fr", true },
+  { "arnoklein.it", true },
   { "arnoldkontz-occasions.lu", false },
   { "arnonerba.com", true },
   { "arnor.org", true },
@@ -6160,6 +6467,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aromacos.ch", true },
   { "aron.host", true },
   { "aroonchande.com", false },
+  { "arooshi.website", true },
   { "aros.pl", true },
   { "arose.io", true },
   { "around-cms.de", true },
@@ -6170,7 +6478,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arquitet.com.br", true },
   { "arquitetura.pt", true },
   { "arrakis.se", true },
-  { "arraudi.be", true },
+  { "arraudi.eu", true },
   { "arrazane.com.br", true },
   { "arresttracker.com", true },
   { "arrive.by", true },
@@ -6183,11 +6491,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arrowwebprojects.nl", true },
   { "ars-online.pl", true },
   { "arschkrebs.org", true },
-  { "arsenal-charodeya.com", true },
   { "arsindecor.com", true },
   { "arslankaynakmetal.com", true },
   { "arsplus.ru", false },
+  { "arswb.men", true },
   { "art-auction.jp", true },
+  { "art-dolls.com.ua", true },
   { "art-et-culture.ch", false },
   { "art-et-tonneaux.fr", true },
   { "art-news.tk", true },
@@ -6198,9 +6507,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "artacadia.org", true },
   { "artboja.com", true },
   { "artc.at", true },
-  { "artcaly.com.br", true },
-  { "artdeco-photo.com", false },
-  { "artea.ga", true },
+  { "artcar24.ru", true },
   { "arteaga.co.uk", true },
   { "arteaga.eu", true },
   { "arteaga.me", true },
@@ -6219,7 +6526,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "artera.spb.ru", true },
   { "arterienundvenen.ch", true },
   { "arterydb.ru", true },
-  { "artesaniastonalaytlaquepaque.com", true },
+  { "artesacraloreto.it", true },
   { "arteseideias.com.pt", true },
   { "arteshow.ch", false },
   { "artfabrics.com", true },
@@ -6228,6 +6535,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "arthan.me", true },
   { "arthermitage.org", true },
   { "arthritisrheumaticdiseases.com", true },
+  { "arthurdejong.org", true },
   { "arthurlaw.ca", true },
   { "arthuryidi.com", true },
   { "arti-islam.tk", true },
@@ -6238,18 +6546,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "artificialplants.tk", true },
   { "artigianociao.jp", true },
   { "artigoos.com", true },
+  { "artikel9.com", true },
   { "artimpact.ch", true },
   { "artioml.net", true },
   { "artionet.ch", true },
   { "artis-game.net", true },
   { "artisan-cheminees-poeles-design.fr", false },
+  { "artisan-emmanuel.fr", true },
   { "artisansoftaste.com", true },
-  { "artisavotins.com", true },
   { "artistagenda.com", true },
+  { "artistcorporation.com", true },
   { "artistedeparis.fr", true },
   { "artistrunwebsite.com", true },
   { "artitbe.net", true },
   { "artiwear.com.tw", true },
+  { "artj.jp", true },
+  { "artlabdentistry.com", true },
   { "artlantis.nl", true },
   { "artleading.ru", true },
   { "artlifeisgood.com", true },
@@ -6258,7 +6570,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "artlogo.sk", true },
   { "artmarketingnews.com", true },
   { "artmoney.com", true },
-  { "artmosfilms.co.za", true },
   { "artofcode.co.uk", true },
   { "artofhappyliving.com", true },
   { "artofmonitoring.com", false },
@@ -6270,6 +6581,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "artroot.jp", true },
   { "artroscopiaperlosport.it", true },
   { "arts.gov", true },
+  { "artsacademics.org", true },
   { "artschmidtoptical.com", true },
   { "artsmarket.ca", true },
   { "artspac.es", true },
@@ -6280,6 +6592,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "artweby.cz", true },
   { "artworxbathrooms.com.au", true },
   { "arty.name", true },
+  { "artycoz.fr", true },
   { "artyengine.com", true },
   { "arubasunsetbeach.com", true },
   { "arufu.dk", true },
@@ -6298,6 +6611,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aryan-nation.com", true },
   { "aryasenna.net", true },
   { "arzid.com", true },
+  { "arzinfo.pw", true },
   { "as200753.com", true },
   { "as200753.net", true },
   { "as44222.net", true },
@@ -6313,32 +6627,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "asananutrition.co.uk", true },
   { "asandu.eu", true },
   { "asanger.biz", true },
+  { "asaphomeinspect.com", true },
   { "asart.bg", true },
   { "asato-jewelry.com", true },
   { "asbestosthedarkarts.com", true },
   { "asbito.de", true },
   { "ascension.run", true },
+  { "ascent360.com", true },
   { "ascgathering.com", true },
   { "aschismatic.com", true },
   { "asciitable.tips", true },
   { "asciiwwdc.com", true },
-  { "ascpaphilatelie.eu", true },
   { "asdchieti.tk", true },
   { "asdwfwqd.com", true },
   { "asdyx.de", true },
   { "asegem.es", true },
   { "asenno.com", true },
-  { "aserver.co", true },
+  { "asesoriaglobalenseguros.com.mx", true },
+  { "aseth.de", true },
   { "asexualitat.cat", true },
   { "asfaleianet.gr", true },
   { "asgapps.co.za", true },
   { "asgrd.org", true },
-  { "ashd1.goip.de", true },
-  { "ashd2.goip.de", true },
-  { "ashd3.goip.de", true },
   { "ashenm.ml", true },
   { "ashessin.com", true },
   { "ashlarimoveis.com.br", true },
+  { "ashley.net.in", true },
   { "ashleyedisonuk.com", true },
   { "ashleykaryl.com", true },
   { "ashleymadison.com", true },
@@ -6353,10 +6667,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ashutoshmishra.org", true },
   { "asia-gazette.com", true },
   { "asia.dating", true },
+  { "asiaflash.com", true },
   { "asiaheavens.com", true },
   { "asialeonding.at", true },
   { "asian-industry.eu", true },
-  { "asianshops.net", true },
   { "asianspa.co.uk", true },
   { "asianwebcams.webcam", true },
   { "asiasmi.tk", true },
@@ -6365,24 +6679,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "asile-colis.fr", true },
   { "asilo.roma.it", true },
   { "asinetasima.com", true },
-  { "ask.fi", true },
   { "ask1.org", true },
+  { "askcaisse.com", true },
   { "askcascade.com", true },
+  { "asker-massasje.no", true },
   { "askeustache.com", true },
+  { "askexpert.in", true },
   { "askizzy.org.au", true },
   { "askkaren.gov", true },
-  { "askme-events.vip", true },
-  { "askv6.net", true },
+  { "askme-events.vip", false },
   { "askvg.com", true },
   { "askwhy.cz", true },
   { "askwhy.eu", true },
   { "asmanyasgiven.com", true },
-  { "asmarketero.com", true },
   { "asmbsurvey.com", true },
   { "asmdz.com", true },
   { "asmeets.nl", true },
   { "asmood.net", true },
-  { "asociaciontrastea.com", true },
+  { "asmrbuluo.com", true },
+  { "asnhgh.biz", true },
+  { "asokan.org", true },
   { "asp.net", true },
   { "aspargesgaarden.no", true },
   { "aspcl.ch", true },
@@ -6390,20 +6706,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "asperger-ag.ch", true },
   { "asperti.com", true },
   { "aspformacion.com", true },
-  { "asphyxia.su", true },
   { "aspiescentral.com", true },
   { "aspiradorasbaratas.net", true },
+  { "aspirantum.com", true },
   { "aspirateur-anti-pollution.fr", true },
   { "aspires.co.jp", true },
   { "aspireuniversal.com", true },
+  { "aspirevc-prod.com", true },
   { "aspirevc.com", true },
   { "aspisdata.com", true },
   { "asprion.org", true },
   { "asproni.it", true },
+  { "asps.biz", true },
   { "asr.cloud", true },
   { "asr.li", true },
   { "asr.rocks", true },
   { "asr.solar", true },
+  { "asr9k.de", true },
   { "asra.gr", true },
   { "asryflorist.com", true },
   { "assaabloygaragedoors.ca", true },
@@ -6415,8 +6734,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "assempsaibiza.com", true },
   { "assertion.de", true },
   { "assessoriati.com.br", true },
-  { "assetbacked.capital", false },
-  { "assetsec.io", true },
   { "assetsman-assetsvalue.com", true },
   { "assguidesporrentruy.ch", false },
   { "assign-it.co.uk", true },
@@ -6426,9 +6743,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "assistenciamultitec.com.br", true },
   { "associatedwomenshealthcare.com", true },
   { "associationhorizon.tk", true },
+  { "associazionelbn.it", false },
   { "assodigitale.it", true },
   { "asspinter.me", true },
   { "assumptionpj.org", true },
+  { "assuredspc.com", true },
   { "astal.rs", true },
   { "astaninki.com", true },
   { "astarbouncycastles.co.uk", true },
@@ -6442,17 +6761,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "astifan.online", true },
   { "astral-imperium.com", true },
   { "astroalloys.com.au", true },
+  { "astrobriga.es", true },
   { "astrociencia.tk", true },
   { "astrojunkies.com", true },
   { "astroloeches.tk", true },
+  { "astrologjia.com", true },
   { "astrology42.com", true },
   { "astrong.pl", true },
   { "astroscopy.ch", false },
+  { "astrosnail.pt.eu.org", true },
   { "astrovandalistas.cc", true },
   { "astucewebmaster.com", true },
   { "astural.org", false },
   { "astutikhonda.com", true },
-  { "asu.moe", true },
+  { "asua.ca", true },
   { "asuclassfinder.com", true },
   { "asun.co", true },
   { "asurbernardo.com", true },
@@ -6466,7 +6788,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "at.search.yahoo.com", false },
   { "at5.nl", true },
   { "at7s.me", true },
-  { "ataber.pw", true },
+  { "atab.se", true },
   { "atacadocervejeiro.com.br", true },
   { "atacadodesandalias.com.br", true },
   { "atahualpa.com", true },
@@ -6486,10 +6808,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atedificacion.com", true },
   { "ateli.com", true },
   { "atelier-coiffure.ch", false },
+  { "atelier-des-apprentissages.com", true },
   { "atelier-naruby.cz", true },
   { "atelieracbaby.com.br", true },
   { "atelieraphelion.com", true },
   { "atelierbw.com", true },
+  { "ateliercoquelicot.fr", true },
   { "atelierdefrancais.ch", false },
   { "atelierdeloulou.fr", true },
   { "atelierdesflammesnoires.fr", true },
@@ -6497,6 +6821,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atelierhsn.com", true },
   { "ateliernaruby.cz", true },
   { "atelierssud.ch", false },
+  { "atelierverbeelding.nl", true },
   { "atencionbimbo.com", false },
   { "aterlectric.com", true },
   { "aterskapa-data.se", true },
@@ -6512,14 +6837,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atheit.com", true },
   { "athekiu.com", true },
   { "athemis.de", true },
-  { "athena-garage.co.uk", true },
   { "athenadynamics.com", true },
   { "athenaneuro.com", true },
+  { "atheoryofchange.com", true },
   { "athlin.de", true },
   { "athomedeco.fr", true },
   { "atigerseye.com", true },
   { "atimbertownservices.com", true },
-  { "atinylittle.space", true },
   { "atis-ars.ru", true },
   { "atishchenko.com", true },
   { "atisoft.biz", true },
@@ -6530,15 +6854,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atitude.com", true },
   { "ativapsicologia.com.br", true },
   { "atl-paas.net", true },
+  { "atlantacompa-international.co.uk", true },
   { "atlantareroof.com", true },
   { "atlantaspringroll.com", true },
   { "atlantichomes.com.au", true },
   { "atlanticmarina.com", true },
+  { "atlanticmenshealth.com", true },
   { "atlanticpediatricortho.com", true },
   { "atlanticyellowpages.com", true },
   { "atlantis-kh.noip.me", true },
   { "atlantischild.hu", true },
-  { "atlantishq.de", true },
   { "atlantiswaterproofing.com", true },
   { "atlas-heritage.com", true },
   { "atlas-multimedia.de", true },
@@ -6550,6 +6875,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atlasone.us", true },
   { "atlassignsandplaques.com", true },
   { "atletika.hu", true },
+  { "atlseccon.com", true },
   { "atmalta.com", true },
   { "atmind.nl", true },
   { "atmmantenimiento.co", true },
@@ -6559,7 +6885,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atom-china.org", true },
   { "atom.solutions", true },
   { "atom86.net", true },
-  { "atomicbounce.co.uk", true },
   { "atomism.com", true },
   { "atorcidabrasileira.com.br", true },
   { "atplonline.co", true },
@@ -6574,24 +6899,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "attac.us", true },
   { "atte.fi", true },
   { "attendanceondemand.com", true },
-  { "attendantdesign.com", true },
+  { "attendantdesign.com", false },
   { "attendu.cz", true },
   { "attengo.ga", true },
   { "attention.horse", true },
-  { "attilagyorffy.com", true },
+  { "attentionpleats.com.tw", true },
   { "attilavandervelde.nl", true },
   { "attinderdhillon.com", true },
   { "attitudes-bureaux.fr", true },
   { "attogtech.com", true },
   { "attorney.org.il", true },
+  { "attractant.com", true },
   { "attuned.se", true },
-  { "attunedstore.com", true },
   { "attwood.org", true },
-  { "atuendomr.com", true },
+  { "attwoodmarshall.com.au", true },
   { "atviras.lt", false },
   { "atvirtual.at", true },
   { "atvsafety.gov", true },
-  { "atwar-mod.com", true },
   { "atwonline.org", true },
   { "atxchirocoverage.com", true },
   { "atyourprice.net", true },
@@ -6603,7 +6927,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "atzzz.com", true },
   { "au2pb.org", true },
   { "aubergegilly.ch", false },
-  { "aubg.org", true },
+  { "aubg.org", false },
   { "aubio.org", true },
   { "aubonheurdeshuiles.fr", true },
   { "aubonmanger.fr", false },
@@ -6616,6 +6940,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aucospa.com", true },
   { "aucubin.de", true },
   { "audiclubbahrain.com", true },
+  { "audiencealchemy.co", true },
+  { "audiencedefolie.com", true },
   { "audiense.com", false },
   { "audio-detector.com", true },
   { "audiobookboo.com", true },
@@ -6633,6 +6959,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "audiorental.net", true },
   { "audioschoolonline.com", true },
   { "audiotechniker.de", true },
+  { "audiovoodoo.pl", true },
   { "audirsq3.de", true },
   { "audisto.com", true },
   { "auditmatrix.com", true },
@@ -6645,7 +6972,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "auerbach-verlag.de", true },
   { "auf-feindgebiet.de", true },
   { "auf-nach-mallorca.info", true },
-  { "aufro.com", true },
   { "aufwecken.dynu.net", true },
   { "augehost.com", true },
   { "augen-seite.de", true },
@@ -6656,12 +6982,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "augenlaserzentrum-dresden.eu", true },
   { "augesen.tk", true },
   { "augiero.it", true },
+  { "augredutemps.ca", true },
   { "augur.us", true },
   { "august-don.site", true },
   { "augustian-life.cz", true },
   { "augustiner-kantorei-erfurt.de", true },
   { "augustiner-kantorei.de", true },
-  { "augustoshoppingnet.com.br", true },
   { "aukaraoke.su", true },
   { "auksnest.ca", true },
   { "aulasvirtualesperu.com", true },
@@ -6673,16 +6999,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "auntie-eileens.com.au", true },
   { "auntiesnorkel.com", true },
   { "auntmia.com", true },
+  { "aunto.xyz", true },
   { "aupaysdesanes.com", true },
   { "auplidespages.fr", true },
   { "aura7chakr.com", true },
-  { "aurbrowser.tk", true },
   { "aurelieburn.fr", true },
   { "aurelienaltarriba.fr", true },
   { "auricblue.com", true },
   { "auriko-games.de", true },
   { "aurnik.com", true },
   { "auroraassociationofrealtors.com", true },
+  { "auroraofficefurniture.com.au", true },
   { "auroware.com", true },
   { "aus-ryugaku.info", true },
   { "ausec.ch", false },
@@ -6695,8 +7022,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aussieseobrisbane.com.au", true },
   { "aussieservicedown.com", true },
   { "aussiestoresonline.com", true },
+  { "aussiestories.dk", true },
   { "austenplumbing.com", true },
-  { "austerevisuals.com", true },
   { "austin-pearce.com", true },
   { "austin-security-cameras.com", true },
   { "austincardiac.com", true },
@@ -6709,7 +7036,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "australianairbrushedtattoos.com.au", true },
   { "australianattractions.com.au", true },
   { "australianimmigrationadvisors.com.au", true },
-  { "australianstrongmanalliance.com.au", true },
   { "australiantemporarytattoos.com", true },
   { "australiantemporarytattoos.com.au", true },
   { "australien-tipps.info", true },
@@ -6717,9 +7043,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "auszeit-lanzarote.com", true },
   { "auszeit-walsrode.de", true },
   { "auszeit.bio", true },
+  { "autenticoperfumes.com.br", true },
   { "auth.adult", true },
   { "auth.mail.ru", true },
-  { "authanet.ga", true },
   { "authcom.ca", true },
   { "authenticate.computer", true },
   { "authenticationhub.io", true },
@@ -6730,7 +7056,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "author24.biz", true },
   { "author24.info", true },
   { "authoritysolutions.com", true },
-  { "autimatisering.nl", true },
   { "autismewoerden.nl", true },
   { "auto-anleitung.de", true },
   { "auto-dealership-news.com", true },
@@ -6740,6 +7065,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "auto-plus.tn", true },
   { "auto-res.ru", true },
   { "auto-skills.ru", true },
+  { "auto.nl", true },
   { "auto1.fi", true },
   { "autoauctionsohio.com", true },
   { "autoauctionsvirginia.com", true },
@@ -6754,7 +7080,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "autocontrol.online", true },
   { "autocorner.com", true },
   { "autocrypt.org", true },
-  { "autod.hu", true },
   { "autodalmacija.com", true },
   { "autodidactic.ai", true },
   { "autodidacticstudios.com", true },
@@ -6766,6 +7091,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "autofficina.roma.it", true },
   { "autoglass.com.my", true },
   { "autohomehub.com", true },
+  { "autohut.ca", true },
   { "autoi.ch", true },
   { "autokeyinaustin.com", true },
   { "autokeyreplacementsanantonio.com", true },
@@ -6774,7 +7100,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "autolawetawroclaw.pl", true },
   { "autoledky.sk", true },
   { "autolider.org", true },
-  { "automacity.com", true },
   { "automagischeberegening.nl", true },
   { "automatethis.com.au", true },
   { "automatic.com", true },
@@ -6782,7 +7107,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "automentesszolnok.hu", true },
   { "automotivegroup-usedcars.be", false },
   { "automotivemechanic.org", true },
-  { "automuovifix.fi", true },
   { "automy.de", true },
   { "autonewssite.com", true },
   { "autonoleggio.milano.it", true },
@@ -6792,6 +7116,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "autoparts.im", true },
   { "autoparts.sh", true },
   { "autoparts.wf", true },
+  { "autopaulito.pt", true },
+  { "autopower.gr", true },
   { "autoprice.info", false },
   { "autoproshouston.com", true },
   { "autorama.cf", true },
@@ -6801,8 +7127,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "autorijschooljohanbos.nl", true },
   { "autorijschoolrichardschut.nl", true },
   { "autorijschoolstorm.nl", true },
-  { "autos-mertens.com", true },
   { "autosaan.ro", true },
+  { "autosalesmachine.net", true },
   { "autoschadeschreuder.nl", true },
   { "autoschool.ga", true },
   { "autoscuola.roma.it", true },
@@ -6851,7 +7177,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "avaaz.org", true },
   { "avabouncehire.co.uk", true },
   { "avacariu.me", true },
-  { "avaemr-development-environment.ca", true },
   { "avaeon.com", true },
   { "available.direct", true },
   { "availablecastles.com", true },
@@ -6866,7 +7191,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "avantitualatin.com", true },
   { "avarcom.tk", true },
   { "avarty.com", true },
-  { "avarty.net", true },
   { "avatardiffusion.com", true },
   { "avcd.cz", true },
   { "ave.zone", true },
@@ -6884,6 +7208,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "averen.co.uk", true },
   { "avernis.de", true },
   { "avexon.com", true },
+  { "avgindiantech.com", true },
+  { "avhwelding.com", true },
   { "avi12.com", true },
   { "avia-krasnoyarsk.ru", true },
   { "avia-ufa.ru", true },
@@ -6891,7 +7217,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aviationmilitaire.tk", true },
   { "aviationstrategies.aero", true },
   { "aviationstrategy.aero", true },
-  { "aviationweather.gov", false },
+  { "aviationweather.gov", true },
   { "aviconverter.tk", true },
   { "avidmode-dev.com", true },
   { "avidmode-staging.com", true },
@@ -6900,6 +7226,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "avisofi-credit-immobilier.fr", true },
   { "aviteng.cloud", true },
   { "aviteng.com", true },
+  { "avivamiento-radio.com", true },
   { "avivaplasticsurgery.com", true },
   { "avlhostel.com", true },
   { "avm-multimedia.com", true },
@@ -6931,6 +7258,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "avvocato.bologna.it", true },
   { "aw.gov.pl", true },
   { "aw.net", true },
+  { "await.one", true },
+  { "awakengr.com", true },
   { "awangardaszkola.pl", true },
   { "awardplatform.com", true },
   { "awardsplatform.com", true },
@@ -6947,6 +7276,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "awic.ca", true },
   { "awk.tw", true },
   { "awksolutions.com", true },
+  { "awlgolf.com", true },
   { "awningcanopyus.com", true },
   { "awningsaboveus.com", true },
   { "awningsatlantaga.com", true },
@@ -6954,21 +7284,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "awomansplacenj.com", true },
   { "awplasticsurgery.com", true },
   { "awsbs.de", true },
-  { "awscloudrecipes.com", true },
   { "awsmdev.de", true },
+  { "awsnuke.com", true },
   { "awsome-books.co.uk", true },
   { "awsumchan.org", true },
   { "awxg.com", true },
   { "ax25.org", true },
   { "axa.de", true },
-  { "axault.com", true },
   { "axel-fischer.net", true },
-  { "axel-voss.eu", true },
+  { "axel-voss.eu", false },
   { "axelname.ru", true },
   { "axelteichmann.net", true },
-  { "axelvoss.eu", true },
-  { "axin888.vip", true },
-  { "axiodl.com", true },
+  { "axelvoss.eu", false },
   { "axiomeosteopathie.ca", true },
   { "axiomer.com", true },
   { "axishw.com", true },
@@ -6987,7 +7314,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ayesh.me", true },
   { "aykutcevik.com", true },
   { "aylak.com", true },
-  { "aylavblog.com", true },
   { "aylesburycastlehire.co.uk", true },
   { "aymerick-dupouey.fr", true },
   { "aymerick.fr", true },
@@ -6995,10 +7321,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ayothemes.com", true },
   { "ayporealestate.com", true },
   { "aypotech.com", true },
+  { "ayrop.com", true },
   { "ayrshirebouncycastlehire.co.uk", true },
+  { "ayselonia.onl", true },
   { "ayudacloud.com", true },
   { "ayudalabs.com", true },
   { "ayudapreview.com", true },
+  { "ayudaprogramacion.net", true },
   { "ayumi.network", true },
   { "ayumindev.net", true },
   { "ayumix3.xyz", true },
@@ -7011,20 +7340,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "az1b2y3cx.com", true },
   { "azabani.com", true },
   { "azadliq.info", true },
+  { "azadliq.online", true },
   { "azarus.ch", true },
   { "azazy.net", false },
   { "azerinews.tk", true },
+  { "azertyjobs.com", true },
   { "azh-kunden.de", true },
   { "aziende.com.ar", true },
   { "azimut.fr", true },
   { "azithromycine.gq", true },
-  { "azizvicdan.com", false },
   { "azlk-team.ru", true },
-  { "azlocalbusiness.com", true },
+  { "azlo.com", false },
   { "aznews.site", true },
   { "azora.cf", true },
   { "azort.com", true },
   { "azotobacter.nl", true },
+  { "azpeach.com", true },
   { "azpogomap.com", true },
   { "azrazalea.net", true },
   { "azrhymes.com", true },
@@ -7034,22 +7365,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "aztraslochi.it", true },
   { "aztrix.me", true },
   { "aztummytuck.com", true },
+  { "aztv.cc", true },
   { "azuki.cloud", true },
   { "azukie.com", true },
   { "azurecrimson.com", true },
   { "azuriasky.com", true },
   { "azuriasky.net", true },
-  { "azuxul.fr", true },
   { "azzorti.com", true },
   { "azzurrapelletterie.it", true },
   { "b-b-law.com", true },
   { "b-cyclesshop.ch", false },
   { "b-honey.gr", true },
+  { "b-landia.net", true },
   { "b-performance.de", true },
   { "b-root-force.de", true },
   { "b-services.net", false },
   { "b-tree.be", true },
-  { "b0000.co", true },
+  { "b0000.co", false },
   { "b00228.com", false },
   { "b00de.ga", true },
   { "b0305.com", true },
@@ -7059,36 +7391,72 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "b03aa.com", true },
   { "b03bb.com", true },
   { "b03cc.com", true },
+  { "b0618.com", true },
+  { "b0618.net", true },
+  { "b0868.com", true },
+  { "b0868.net", true },
   { "b0hr.ai", true },
   { "b0k.org", true },
   { "b0rk.com", true },
-  { "b1111.co", true },
+  { "b1111.co", false },
   { "b131000.com", true },
+  { "b1758.net", true },
+  { "b1768.com", true },
+  { "b1768.net", true },
+  { "b1788.com", true },
   { "b1788.net", true },
   { "b1c1l1.com", true },
-  { "b1nzy-pinged.me", true },
+  { "b2486.com", true },
+  { "b2486.net", true },
   { "b2bmuzikbank.com", true },
   { "b303.me", true },
+  { "b30365.com", true },
   { "b36594.com", true },
   { "b4bouncycastles.co.uk", true },
   { "b4ckbone.de", true },
   { "b4lint.hu", true },
   { "b4z.eu", true },
-  { "b58365.com", true },
-  { "b58app.com", true },
-  { "b58appb58app.com", true },
-  { "b58appb58appb58app.com", true },
+  { "b5189.com", true },
+  { "b5189.net", true },
+  { "b5289.com", true },
+  { "b5902.com", true },
+  { "b5903.com", true },
+  { "b5904.com", true },
+  { "b5905.com", true },
+  { "b5906.com", true },
+  { "b5907.com", true },
+  { "b5908.com", true },
+  { "b5910.com", true },
+  { "b5989.net", true },
+  { "b5dev.com", true },
+  { "b62h.com", true },
+  { "b64.club", true },
+  { "b67701.com", true },
+  { "b67702.com", true },
+  { "b67703.com", true },
+  { "b67704.com", true },
+  { "b67705.com", true },
+  { "b67772.com", true },
+  { "b67773.com", true },
+  { "b67774.com", true },
+  { "b67775.com", true },
   { "b68.xyz", true },
-  { "b70771.com", true },
-  { "b70772.com", true },
-  { "b70773.com", true },
-  { "b70774.com", true },
-  { "b70775.com", true },
-  { "b70881.com", true },
-  { "b70882.com", true },
-  { "b70883.com", true },
-  { "b70884.com", true },
-  { "b70885.com", true },
+  { "b70301.com", false },
+  { "b70302.com", false },
+  { "b70303.com", false },
+  { "b70304.com", false },
+  { "b70305.com", false },
+  { "b7035.com", true },
+  { "b70881.com", false },
+  { "b70882.com", false },
+  { "b70883.com", false },
+  { "b70884.com", false },
+  { "b70885.com", false },
+  { "b70991.com", false },
+  { "b70992.com", false },
+  { "b70993.com", false },
+  { "b70994.com", false },
+  { "b70995.com", false },
   { "b72.com", true },
   { "b72.net", true },
   { "b7306.com", true },
@@ -7099,8 +7467,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "b73ff.com", true },
   { "b767.net", true },
   { "b77018.com", false },
-  { "b789.co", true },
-  { "b81818.com", true },
+  { "b789.co", false },
   { "b83.tv", true },
   { "b83aa.com", true },
   { "b83bb.com", true },
@@ -7113,34 +7480,90 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "b83ii.com", true },
   { "b83jj.com", true },
   { "b83kk.com", true },
-  { "b86255.com", true },
+  { "b8591.com", true },
+  { "b8591.net", true },
+  { "b86255.com", false },
   { "b889b.com", true },
   { "b88vip2.com", true },
   { "b88vip3.com", true },
   { "b88vip4.com", true },
   { "b88vip5.com", true },
+  { "b8979.com", true },
+  { "b8979.net", true },
+  { "b899365.com", true },
+  { "b89aa.com", true },
   { "b89bb.com", true },
   { "b89cc.com", true },
   { "b89dd.com", true },
   { "b89ee.com", true },
-  { "b89ff.com", true },
-  { "b89gg.com", true },
-  { "b89hh.com", true },
+  { "b89ff.com", false },
+  { "b89gg.com", false },
+  { "b89hh.com", false },
+  { "b89ii.com", true },
   { "b89jj.com", true },
   { "b8a.me", true },
+  { "b9018.com", true },
+  { "b9018.net", true },
+  { "b9108.com", true },
+  { "b9108.net", true },
+  { "b9110.com", true },
+  { "b9110.net", true },
+  { "b9112.com", true },
+  { "b9112.net", true },
+  { "b911gt.com", true },
+  { "b911gt.net", true },
+  { "b91688.info", true },
+  { "b91688.net", true },
+  { "b91688.org", true },
+  { "b9175.com", true },
+  { "b9175.net", true },
+  { "b9258.com", true },
+  { "b9258.net", true },
+  { "b9318.com", true },
+  { "b9318.net", true },
+  { "b9418.com", true },
+  { "b9418.net", true },
+  { "b9428.com", true },
+  { "b9428.net", true },
+  { "b9453.net", true },
+  { "b9468.com", true },
+  { "b9468.net", true },
+  { "b9488.com", true },
+  { "b9488.net", true },
+  { "b9498.net", true },
+  { "b9518.com", true },
+  { "b9518.info", true },
+  { "b9518.net", true },
+  { "b9518.org", true },
+  { "b9528.com", true },
+  { "b9538.com", true },
+  { "b9538.net", true },
+  { "b9598.net", true },
   { "b960.com", true },
   { "b9618.com", true },
+  { "b9658.net", true },
+  { "b9758.com", true },
+  { "b9758.net", true },
   { "b979333.com", true },
   { "b979555.com", true },
   { "b979666.com", true },
   { "b979999.com", true },
+  { "b9818.com", true },
+  { "b9818.net", true },
+  { "b9858.com", true },
+  { "b9858.net", true },
+  { "b9880.com", true },
   { "b99011.com", true },
   { "b99022.com", true },
   { "b99118.com", true },
+  { "b9920.com", true },
   { "b99218.com", true },
   { "b99318.com", true },
   { "b99418.com", true },
+  { "b9948.com", true },
+  { "b9948.net", true },
   { "b99518.com", true },
+  { "b9960.com", true },
   { "b99618.com", true },
   { "b99718.com", true },
   { "b99818.com", true },
@@ -7157,6 +7580,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "b9999ww.com", true },
   { "b9999zz.com", true },
   { "b99iosapp.com", true },
+  { "b9best.cc", true },
+  { "b9best.net", true },
+  { "b9king.cc", true },
+  { "b9king.com", true },
+  { "b9king.net", true },
+  { "b9winner.cc", true },
   { "ba47.net", true },
   { "baac-dewellmed.com", true },
   { "baalsworld.de", true },
@@ -7167,10 +7596,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "babai.ru", true },
   { "babblenotes.com", true },
   { "babeleo.com", true },
+  { "bablodel.biz", true },
+  { "bablodel.com", true },
   { "babounet.com", true },
   { "babsbibs.com", true },
   { "baby-bath-tub.com", true },
+  { "baby-care.ir", true },
   { "baby-digne.com", false },
+  { "babybedding.com", true },
   { "babyboom.pl", true },
   { "babybuddah.ga", true },
   { "babycamapp.com", true },
@@ -7178,6 +7611,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "babymasaze.cz", true },
   { "babyphototime.com", true },
   { "babypibu.com", true },
+  { "bacaneriahlg.com", true },
   { "bacanora.tk", true },
   { "bachata.info", true },
   { "baches-piscines.com", true },
@@ -7192,28 +7626,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "background-checks.mobi", true },
   { "backgroundchecks.online", true },
   { "backgroundscreenersofamerica.com", true },
+  { "backlinkbase.com", true },
   { "backmitra.com", true },
   { "backmitra.mx", true },
   { "backmitra.nl", true },
   { "backmountaingas.com", true },
   { "backpacker.dating", true },
+  { "backpackingtours.com", true },
+  { "backpainandsciaticahouston.com", true },
   { "backscattering.de", false },
   { "backschues.com", true },
   { "backschues.de", true },
   { "backschues.net", true },
   { "backseatbandits.com", true },
   { "backsideverbier.ch", false },
-  { "backterris.com", true },
   { "backtest.org", true },
+  { "backtheeffup.com", true },
   { "backup-kurumsal.com", true },
   { "backupassist.de", true },
   { "backupcloud.ru", true },
-  { "bacon-monitoring.org", true },
   { "baconismagic.ca", true },
   { "bacontreeconsulting.com", true },
   { "bacsmegye.hu", true },
+  { "bacterias.mx", false },
   { "bactrim-antibiotic.ml", true },
   { "bacula.jp", true },
+  { "bad-wurzach.de", true },
   { "bad.pet", true },
   { "badam.co", true },
   { "badanka.com", true },
@@ -7239,7 +7677,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "badoo.eu", true },
   { "badoo.us", true },
   { "badrequest.me", true },
-  { "badseacoffee.com", true },
   { "baeder-luboss.de", true },
   { "baer.im", true },
   { "baer.one", true },
@@ -7265,6 +7702,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bahninrotweissrot.at", true },
   { "bahnmagazine.de", true },
   { "bahrevaran.ir", true },
+  { "baidu-s.com", true },
+  { "baiduo.com", true },
   { "baifubao.com", true },
   { "baiker.info", true },
   { "baildonbouncycastles.co.uk", true },
@@ -7272,11 +7711,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "baileybae.com", true },
   { "bailleux.be", true },
   { "bailonga.com", true },
+  { "baitaplamvan.com", true },
   { "baitcon.com", true },
+  { "baithe.co.za", true },
   { "baiyu.blog", true },
-  { "baiyu.me", true },
+  { "bajic.ch", true },
   { "baka-gamer.net", true },
-  { "baka.net", true },
   { "baka.org.cn", true },
   { "bakermen.com", true },
   { "bakersafari.co", true },
@@ -7285,8 +7725,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bakeup.be", true },
   { "bakibal.com", true },
   { "bakingstone.com", true },
+  { "bakkerij-janschrieks.nl", true },
   { "bakkerinjebuurt.be", true },
   { "bakongcondo.com", true },
+  { "bakxnet.com", true },
   { "balade-commune.ch", false },
   { "baladecommune.ch", false },
   { "balafon.cloud", true },
@@ -7311,13 +7753,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "balist.es", true },
   { "balivillassanur.com", true },
   { "balkancrystals.com", true },
+  { "balkanpharmstore.com", true },
   { "balkonien.org", true },
   { "ball-bizarr.de", true },
-  { "ball3d.es", true },
   { "ballarin.cc", true },
   { "ballast.tk", true },
   { "ballejaune.com", true },
   { "balletcenterofhouston.com", true },
+  { "ballettstudio-ost.de", true },
+  { "ballinw.com", true },
+  { "ballisticdetailing.com", true },
   { "ballmerpeak.org", true },
   { "ballonsportclub-erlangen.de", true },
   { "ballotapi.com", true },
@@ -7327,28 +7772,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "balmeo.co.uk", true },
   { "balmofgilead.org.uk", true },
   { "baloch-intelligence.tk", true },
+  { "balsallcommonbouncycastles.co.uk", true },
   { "balsamaiso.es", true },
   { "balslev.io", true },
   { "balter.com", true },
+  { "balthazarlondon.com", true },
   { "balticer.de", true },
   { "balticmed.pl", true },
   { "balticnetworks.com", true },
-  { "baltimorecashflow.com", true },
-  { "bamahammer.com", true },
-  { "bamanshop.com", true },
+  { "bamaagahi.ir", true },
+  { "bamanshop.com", false },
+  { "bamboehof.nl", true },
   { "bamboorelay.com", true },
   { "bambumania.com.br", true },
   { "bamily.rocks", true },
-  { "bamtoki.com", true },
-  { "ban.moe", true },
   { "bananabandy.com", true },
-  { "bananacloud.fr", true },
+  { "bananacloud.fr", false },
   { "banananet.work", true },
   { "bananice.moe", true },
   { "bancacrs.it", true },
   { "bancastato.ch", true },
   { "bancobai.ao", true },
   { "bancoctt.pt", true },
+  { "bancodeloja.fin.ec", true },
   { "bancomap.ch", true },
   { "bancor.network", true },
   { "bancosdominicanos.net", true },
@@ -7360,8 +7806,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bandiere-mondo.it", true },
   { "bandiga.it", true },
   { "bandito.re", true },
-  { "baneh-academic.com", true },
+  { "bandolino-bewind.nl", true },
+  { "bandolino.nl", true },
   { "banes.ch", true },
+  { "banfun.org", true },
   { "bangdream.ga", true },
   { "bangkok-dark-night.com", true },
   { "bangkok.dating", true },
@@ -7372,7 +7820,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bangorfederal.com", true },
   { "banguilacoquette.com", true },
   { "bangumi.co", true },
-  { "bangyu.wang", true },
+  { "bangzhu88.com", true },
   { "banham.co.uk", false },
   { "banham.com", true },
   { "banjostringiz.com", true },
@@ -7382,9 +7830,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "banka.space", true },
   { "bankanswers.gov", true },
   { "bankapp.se", true },
+  { "bankapply.eu", true },
   { "bankbranchlocator.com", true },
-  { "bankcardoffer.com", true },
-  { "bankcircle.co.in", true },
   { "bankee.us", true },
   { "banketbesteld.nl", true },
   { "bankheadvegetables.com", true },
@@ -7399,14 +7846,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "banksiaparkcottages.com.au", true },
   { "bankstownapartments.com.au", true },
   { "bankvanbreda.be", true },
-  { "banned-bitches.tk", true },
+  { "banlinhdanong.com", true },
   { "bannermarquees.ie", true },
+  { "bannerworld.co.uk", true },
   { "bannsecurity.com", true },
   { "banquevanbreda.be", true },
   { "bantaihost.com", true },
+  { "bao-in.com", true },
+  { "bao-in.net", true },
   { "baofengtech.com", true },
+  { "baogiathicongnoithat.com", true },
   { "baokhangfood.com", true },
   { "baopublishing.it", true },
+  { "baoxue1.com", true },
+  { "baoxue2.com", true },
+  { "baoxue3.com", true },
+  { "baoxue5.com", true },
+  { "baoxue6.com", true },
+  { "baoxue7.com", true },
+  { "baoxue8.com", true },
+  { "baoxue9.com", true },
+  { "bapha.be", true },
   { "baptisteplanckaert.tk", true },
   { "bar-harcourt.com", true },
   { "bar.pl", true },
@@ -7429,14 +7889,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "barbu.family", true },
   { "barburas.com", true },
   { "barca-movie.jp", true },
-  { "barcamp.koeln", true },
+  { "barcats.co.nz", true },
+  { "barcats.com", true },
+  { "barcats.com.au", true },
   { "barcel.com.mx", true },
   { "barcelonabagels.cat", true },
   { "barcelonapremium.es", true },
   { "barcelonapremiummini.es", true },
   { "barcelonawinewalk.com", true },
   { "barclays.net", true },
-  { "barcoderealty.com", true },
   { "bardes.org", true },
   { "bardiharborow.com", true },
   { "bardiharborow.tk", true },
@@ -7447,15 +7908,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bariseau-mottrie.be", false },
   { "barisi.me", true },
   { "baristador.com", true },
+  { "barkassen15.se", true },
   { "barkerjr.xyz", true },
+  { "barkingaboutbusiness.com", true },
+  { "barkstop.net", true },
+  { "barlex.pl", true },
   { "barlotta.net", true },
-  { "barnel.com", true },
+  { "barnakstudio.com", true },
+  { "barnakstudio.ir", true },
   { "barnettville.com", true },
   { "barneveldcentrum.nl", true },
   { "barneydavey.com", true },
-  { "barnflix.net", true },
   { "barnfotografistockholm.se", true },
   { "barnhardt4berks.com", true },
+  { "barnstead-water.com", true },
   { "barnvets.co.uk", true },
   { "baroloboys.de", true },
   { "baron14.be", true },
@@ -7471,7 +7937,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bart-f.com", true },
   { "barta.me", true },
   { "bartbania.com", true },
+  { "bartel.ws", true },
   { "bartelt.name", true },
+  { "barter.vg", true },
   { "barter4crypto.com", true },
   { "barth.services", true },
   { "bartkramer.nl", false },
@@ -7483,28 +7951,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bas.co.jp", true },
   { "bascht.com", true },
   { "base-autonome-durable.com", false },
+  { "base-n.ru", true },
   { "basebalance.net", true },
-  { "baseballrampage.com", true },
   { "baseballsavings.com", true },
-  { "baseballwarehouse.com", true },
   { "baseconvert.com", true },
+  { "basedos.com", true },
   { "baseerapp.com", true },
+  { "basel-gynaecology.com", true },
+  { "basel-gynaekologie.ch", true },
   { "baselang.com", true },
-  { "basement961.co.nz", true },
+  { "basementdoctor.com", false },
   { "basementdoctornorthwest.com", true },
   { "basementfinishingohio.com", true },
   { "basementwaterproofingdesmoines.com", true },
-  { "baserverz.ga", true },
+  { "basementwaterproofingwi.com", true },
   { "baseweb.design", true },
   { "bashing-battlecats.com", true },
   { "bashkirlife.tk", true },
   { "bashstreetband.co.uk", true },
-  { "basicamente.digital", true },
   { "basicapparel.de", true },
   { "basicattentiontoken.org", true },
   { "basics.net", true },
+  { "basilsys.com", true },
+  { "basisbedarf.de", true },
   { "basketball-brannenburg.de", true },
   { "basketforex.com", true },
+  { "baskibu.com", true },
   { "basnoslovno.ru", true },
   { "basonlinemarketing.nl", true },
   { "basradio.tk", true },
@@ -7515,13 +7987,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bassrhymeposse.tk", true },
   { "bassrider.eu", true },
   { "bassys.com.co", true },
+  { "bastardandpoors.com", true },
   { "bastelzauberwelt.de", true },
   { "bastide-viens.com", true },
   { "bastolino.de", true },
+  { "bastter.com", true },
   { "basw.eu", true },
   { "baswag.de", true },
   { "baswetter.photography", true },
   { "basyspro.net", true },
+  { "bat909.com", true },
+  { "bat909.net", true },
+  { "bat9vip.com", true },
+  { "bat9vip.net", true },
   { "batcave.tech", true },
   { "batch.com", true },
   { "batch.engineering", true },
@@ -7532,7 +8010,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "batiskaf.ua", true },
   { "batistareisfloresonline.com.br", true },
   { "batitrakya.org", true },
-  { "batlab.ch", false },
   { "batolis.com", true },
   { "batook.org", true },
   { "batteryboys.ca", true },
@@ -7540,10 +8017,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "batterystaple.pw", true },
   { "battle-game.com", true },
   { "battleboxx.com", false },
-  { "battleground.com.au", true },
   { "battleguard.net", true },
+  { "battlerealms.cc", true },
   { "batuhanbensoy.com.tr", true },
-  { "bauer.network", false },
+  { "batvip9.net", true },
+  { "bauer.network", true },
   { "bauernmarkt-fernitz.at", true },
   { "baufi24.de", true },
   { "baugeldspezi.de", true },
@@ -7556,6 +8034,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bausep.de", true },
   { "bauthier-occasions.be", false },
   { "bautied.de", true },
+  { "bautizodelucia.com", true },
   { "bauunternehmen-herr.de", true },
   { "bavarianhiker.de", true },
   { "bavaroparadise.com", true },
@@ -7567,6 +8046,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bayden.com", true },
   { "bayer-stefan.com", true },
   { "bayer-stefan.de", true },
+  { "bayer.earth", true },
   { "bayerhazard.de", true },
   { "bayerstefan.com", true },
   { "bayerstefan.de", true },
@@ -7576,7 +8056,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bayltd.com", true },
   { "bayly.eu", true },
   { "baymard.com", true },
-  { "bayoleth.com", true },
   { "bayportbotswana.com", true },
   { "bayportghana.com", true },
   { "bayporttanzania.com", true },
@@ -7586,13 +8065,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "baystreet.com.mt", true },
   { "baytalebaa.com", true },
   { "baytownent.com", true },
+  { "baytv.it", true },
   { "baywatch.io", true },
   { "bayz.de", true },
   { "baza-gai.com.ua", true },
   { "bazaarbhaav.com", true },
   { "bazaarcompass.com", true },
+  { "bazaclub.ru", true },
   { "bazari.com.pl", true },
-  { "bazinga-events.nl", true },
   { "bazos.at", true },
   { "bazos.cz", true },
   { "bazos.pl", true },
@@ -7600,13 +8080,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bazziergraphik.com", true },
   { "bb057.com", true },
   { "bb087.com", true },
-  { "bb168.cc", true },
   { "bb882.com", true },
   { "bbalposticino.it", true },
   { "bbbff.net", true },
   { "bbc67.fr", true },
   { "bbcastles.com", true },
   { "bbcomcdn.com", true },
+  { "bbforums.com", true },
   { "bbgeschenke.ch", false },
   { "bbimarketing.com", true },
   { "bbinsure.com", true },
@@ -7615,12 +8095,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bbld.de", true },
   { "bblove.me", true },
   { "bblsa.ch", false },
+  { "bbmagnagrecia.it", true },
   { "bbnx.net", true },
   { "bbs8080.net", true },
   { "bbsec.xyz", true },
+  { "bbswin9.cc", true },
   { "bbuio.com", false },
   { "bbw.dating", true },
   { "bbwcs.co.uk", true },
+  { "bbwsexclips.com", true },
+  { "bbxin9.com", true },
+  { "bbxin9.net", true },
   { "bbyouthco.com", true },
   { "bc-bd.org", false },
   { "bc-diffusion.com", true },
@@ -7639,8 +8124,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bclogandtimberbuilders.com", true },
   { "bclrk.us", true },
   { "bcmainland.ca", true },
-  { "bcmguide.com", true },
   { "bcmhire.co.uk", true },
+  { "bcoffices.com.mx", true },
   { "bcrook.com", true },
   { "bcswampcabins.com", true },
   { "bd-media.tk", true },
@@ -7650,6 +8135,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bdd.fi", true },
   { "bdikaros-network.net", true },
   { "bdpestsolutionsstlouis.com", true },
+  { "bdsmwiki.hu", true },
   { "bdtopshop.com", true },
   { "be-a-password.ninja", true },
   { "be-ka-tec.de", true },
@@ -7659,6 +8145,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "be.search.yahoo.com", false },
   { "be2cloud.de", true },
   { "be4lead.com", true },
+  { "be9458.com", true },
+  { "be958.com", true },
+  { "be958.net", true },
   { "bea.gov", true },
   { "beacham.online", true },
   { "beachcitycastles.com", true },
@@ -7668,13 +8157,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beadare.nl", true },
   { "beaglesecurity.com", true },
   { "bealpha.pl", true },
+  { "beam-to.me", true },
   { "beambdi.com", true },
   { "beanbagaa.com", true },
   { "beanilla.com", true },
-  { "beanjuice.me", true },
   { "beansgalore.com.au", true },
   { "bearcms.com", true },
   { "bearded.sexy", true },
+  { "bearden.io", true },
   { "beardic.cn", true },
   { "beardsome.me", true },
   { "beargoggleson.com", true },
@@ -7688,7 +8178,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beatrice-raws.org", true },
   { "beatrizaebischer.ch", false },
   { "beatuprobot.net", true },
-  { "beau.pw", true },
   { "beaumelcosmetiques.fr", true },
   { "beaute-eternelle.ch", false },
   { "beauty-expert.co", true },
@@ -7696,9 +8185,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beauty-italy.ru", true },
   { "beauty24.de", true },
   { "beautyandfashionadvice.com", true },
-  { "beautybear.dk", true },
   { "beautybh.com", true },
   { "beautycarepack.com.ng", true },
+  { "beautycon.ir", true },
   { "beautyevent.fr", true },
   { "beautyinweb.net", true },
   { "beautykat.ru", true },
@@ -7708,30 +8197,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beavertales.ca", true },
   { "bebe2luxe.es", true },
   { "bebe2luxe.fr", true },
+  { "bebecar.com", true },
   { "bebef.de", true },
   { "bebefofuxo.com.br", true },
+  { "bebemamae.com", true },
   { "bebes.uno", true },
   { "bebest.gov", false },
   { "beboldpr.com", true },
-  { "beckenhamcastles.co.uk", true },
+  { "beccaanne.photography", true },
+  { "bech32.net", true },
   { "beckerantiques.com", true },
   { "beckijayes.family", true },
-  { "beckyhirstconsulting.com.au", true },
   { "becleverwithyourcash.com", true },
   { "become-lucky.com", true },
   { "becomeabricklayer.com.au", true },
   { "becquerelgroup.com", true },
   { "becs.ch", false },
   { "becydog.cz", true },
+  { "bedacdn.com", true },
   { "bedamedia.com", true },
   { "bedandbreakfast.dk", true },
   { "bedandbreakfasteuropa.com", true },
   { "bedandbreakfasthoekvanholland.com", true },
   { "beddentotaal.nl", true },
+  { "bedding.ro", true },
   { "bedels.nl", true },
   { "bednar.co", true },
+  { "bedrijvencentrum-maartenslaan.nl", true },
+  { "bedrijvencentrum-malberg.nl", true },
   { "bedrocklinux.org", true },
   { "bedste10.dk", true },
+  { "bedtimeflirt.com", true },
   { "bee-creative.nl", true },
   { "bee-line.org.uk", true },
   { "bee-removal-dublin.com", true },
@@ -7742,22 +8238,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beehive42.nl", true },
   { "beehive42.org", true },
   { "beehosting.pro", true },
-  { "beeksnetwork.nl", true },
   { "beelen.fr", true },
   { "beelit.com", true },
   { "beeming.net", true },
   { "beer9.com", true },
-  { "beercandle.com", true },
   { "beercast.co.uk", true },
   { "beeremovalspretoria.co.za", true },
   { "beergazetteer.com", true },
   { "beerians.com", true },
+  { "beerians.info", true },
   { "beerjet.bg", true },
   { "beerjet.cz", true },
   { "beerjet.ro", true },
   { "beerjet.sk", true },
   { "beerjetcz.cz", true },
-  { "beerly.eu", true },
+  { "beermedlar.com", true },
   { "beers.my", true },
   { "beersconf.com", true },
   { "beestation13.com", true },
@@ -7778,7 +8273,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "begabungsfoerderung.info", true },
   { "begbie.com", true },
   { "beginner.nl", true },
-  { "begintravel.co.th", true },
   { "beginwp.top", true },
   { "behamepresrdce.sk", true },
   { "behamzdarma.cz", true },
@@ -7798,15 +8292,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beinad.com", true },
   { "beinad.ru", true },
   { "beisance.com", true },
+  { "beitmidrashrambam.com", true },
   { "bejarano.io", true },
   { "bekolite.com", true },
+  { "bel-snegirek.ru", true },
   { "belacapa.com.br", true },
+  { "belafonte.co", true },
   { "belanglos.de", true },
   { "belani.eu", true },
   { "belanja.express", true },
   { "belarto.be", true },
   { "belarto.de", true },
-  { "belarto.es", true },
   { "belarto.fr", true },
   { "belarto.it", true },
   { "belarto.nl", true },
@@ -7820,11 +8316,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "belfastbounce.co.uk", true },
   { "belfastlocks.com", true },
   { "belfasttechservices.co.uk", true },
+  { "belfastvibes.com", true },
   { "belfor-probleme.de", true },
   { "belfordroxo.net.br", true },
   { "belge.rs", true },
   { "belgers.com", true },
   { "belgicaservices.be", true },
+  { "belgie-postcodes.be", true },
   { "belgraver.email", true },
   { "belgraver.eu", true },
   { "belgraver.xyz", true },
@@ -7833,24 +8331,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "belien-tweedehandswagens.be", false },
   { "believablebook.com", false },
   { "believersweb.org", true },
+  { "belkamfish.com", true },
   { "bell.id.au", true },
   { "bella.network", true },
+  { "bellaaroma.com.tw", true },
+  { "bellabrowbydesign.com", true },
   { "bellaklein.de", true },
   { "bellamodeling.com", true },
   { "bellebakes.blog", true },
   { "bellevueowners.tk", true },
   { "bellezzasenzalimiti.it", true },
   { "bellinghamdetailandglass.com", true },
+  { "belllegal.com.au", true },
   { "belloy.ch", false },
   { "belloy.net", false },
   { "bellware.io", false },
   { "belly-button-piercings.com", true },
   { "bellyandbrain.amsterdam", true },
   { "belmontgoessolar.org", true },
-  { "belos.at", true },
   { "belouga.org", true },
   { "belquant.cf", true },
   { "beltar.nl", true },
+  { "belug.de", true },
   { "belvoirbouncycastles.co.uk", true },
   { "bembee.tk", true },
   { "bemcorp.de", true },
@@ -7877,12 +8379,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bendyworks.com", true },
   { "beneathvt.com", true },
   { "benedict-balzer.de", true },
+  { "benedictoaguilar.tech", true },
   { "benediktgeissler.de", true },
   { "benefits.gov", true },
   { "benefitshub.io", true },
   { "benefitshub.xyz", true },
   { "benepiscinas.com.br", true },
-  { "beneri.se", true },
   { "benetcasablancas.tk", true },
   { "benewpro.com", true },
   { "bengalurugifts.com", true },
@@ -7902,14 +8404,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "benjaminvasel.de", true },
   { "benjii.me", true },
   { "benjijaldoner.nl", true },
+  { "benleemd.com", true },
+  { "benmack.net", true },
   { "benmatthews.com.au", true },
   { "benmillett.us", false },
+  { "bennet.org", true },
   { "bennettsbouncycastlehire.co.uk", true },
   { "bennettshire.co.uk", true },
   { "benni1.eu", true },
   { "bennierobinson.com", true },
   { "benno.frl", true },
   { "bennygommers.nl", true },
+  { "benoniplumber24-7.co.za", true },
   { "benriya.shiga.jp", true },
   { "bensbouncycastles.co.uk", true },
   { "benschnarr.com", true },
@@ -7928,15 +8434,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bentrask.com", true },
   { "benu.cz", true },
   { "benvds.com", true },
-  { "benz-hikaku.com", true },
   { "benzi.io", true },
   { "benzina.cn", true },
   { "beoordelingen.be", true },
   { "bepayd.com", true },
-  { "bephoenix.org.uk", false },
   { "beplephan.com", true },
+  { "bepsvpt.me", true },
   { "bequ1ck.com", true },
   { "bequiia.com", true },
+  { "berakad.com", true },
   { "beranovi.com", true },
   { "beraten-entwickeln-steuern.de", true },
   { "berati.tv", true },
@@ -7945,32 +8451,34 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bereaplumber.co.za", true },
   { "bereginy.com.ua", true },
   { "berend.tk", true },
-  { "bergenhave.nl", true },
   { "berger-chiro.com", true },
   { "bergevoet-fa.nl", false },
   { "bergfex.at", true },
   { "bergfex.com", true },
+  { "berghuus.ch", true },
   { "berglust-pur.de", true },
+  { "bergman-gmbh.de", true },
   { "bergmanbeachproperties.com", true },
   { "bergstoneware.com", true },
   { "berichtsheft-vorlage.de", true },
   { "berikod.ru", true },
+  { "beris.us", true },
   { "beritanow.tk", true },
   { "berkat-luqs.ddns.net", true },
   { "berksabstract.com", true },
   { "berksarl.org", true },
   { "berksnetworking.com", true },
+  { "berlin-cuisine.com", true },
   { "berlin-flirt.de", true },
   { "berlin.dating", true },
+  { "berluga.com", true },
   { "bermeitinger.eu", true },
   { "bermytraq.bm", true },
-  { "bernadetteanderes.ch", false },
+  { "bern.bz", true },
+  { "berna.fr", true },
   { "bernar.do", true },
   { "bernardcontainers.be", false },
-  { "bernarddickens.com", true },
-  { "bernardez-photo.com", true },
   { "bernardgo.com", true },
-  { "bernardo.fm", true },
   { "bernat.ch", true },
   { "bernat.im", true },
   { "bernbrucher.com", true },
@@ -7987,7 +8495,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bernhardluginbuehl.com", true },
   { "bernieware.de", true },
   { "bernmail.ch", true },
-  { "bernyweb.net", true },
   { "berra.se", true },
   { "berruezoabogados.com", true },
   { "berrus.com", true },
@@ -8007,6 +8514,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "besensi.com", true },
   { "beserberg.tk", true },
   { "besole.ch", true },
+  { "bespoiled.nl", true },
   { "bespokebathrooms.com.au", true },
   { "bespokemortgages.co.uk", true },
   { "bespokestraps.com", true },
@@ -8040,25 +8548,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bestattungshaus-kammerer.de", true },
   { "bestautoinsurance.com", true },
   { "bestbatteriesonline.com", true },
-  { "bestbefore.com", true },
   { "bestboot.cf", true },
   { "bestbrokerindia.com", true },
   { "bestbuyzone.com", true },
-  { "bestbyte.com.br", true },
   { "bestcarscyprus.com", true },
   { "bestcivilattorneys.com", true },
+  { "bestcrossbowguide.com", true },
   { "bestdating.today", true },
   { "bestdownloadscenter.com", true },
   { "bestechgadgets.tk", true },
   { "bestedeal.nl", true },
   { "bestehostingproviders.nl", true },
-  { "bestessaycheap.com", true },
+  { "bestesb.com", true },
   { "bestessayhelp.com", true },
   { "bestfotostudio.com", true },
   { "bestfriendsequality.org", true },
-  { "bestgearlist.com", true },
   { "bestgiftever.ca", true },
+  { "bestguessonline.com", true },
   { "besthemes.tk", true },
+  { "besthost.cz", true },
   { "besti.it", true },
   { "bestinbarter.com", true },
   { "bestinshowing.com", true },
@@ -8066,6 +8574,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bestjumptrampolines.be", true },
   { "bestkenmoredentists.com", true },
   { "bestmedsmmj.com", true },
+  { "bestmodels.ua", true },
   { "bestmotherfucking.website", true },
   { "bestofbooks.gq", true },
   { "bestoliveoils.com", true },
@@ -8076,24 +8585,47 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bestpractice.domains", true },
   { "bestprint.vn", true },
   { "bestproductsaudit.com", true },
-  { "bestroofbox.com", true },
   { "bestshoesmix.com", true },
   { "bestsingingbowls.com", true },
   { "besttrade.tk", true },
+  { "bestvideoeffects.net", true },
   { "bestwarezone.com", true },
   { "bestwebcams.ml", true },
   { "bestwebsite.gallery", true },
-  { "bet01vip.com", true },
-  { "bet02vip.com", true },
-  { "bet03vip.com", true },
-  { "bet04vip.com", true },
-  { "bet05vip.com", true },
-  { "bet062.com", true },
+  { "bet-99.cc", true },
+  { "bet-99.com", true },
+  { "bet-99.net", true },
+  { "bet01vip.com", false },
+  { "bet02vip.com", false },
+  { "bet03vip.com", false },
+  { "bet04vip.com", false },
+  { "bet05vip.com", false },
   { "bet064.com", true },
   { "bet074.com", true },
-  { "bet10vip.com", true },
+  { "bet10vip.com", false },
+  { "bet166111.com", true },
+  { "bet166222.com", true },
+  { "bet166333.com", true },
+  { "bet166444.com", true },
+  { "bet166555.com", true },
+  { "bet166777.com", true },
+  { "bet166888.com", true },
+  { "bet1668888.com", true },
+  { "bet166b.com", true },
+  { "bet166bbb.com", true },
+  { "bet166c.com", true },
+  { "bet166ddd.com", true },
+  { "bet166eee.com", true },
+  { "bet166fff.com", true },
+  { "bet166hhh.com", true },
+  { "bet166tt.com", true },
+  { "bet166uu.com", true },
+  { "bet166ww.com", true },
+  { "bet166xx.com", true },
+  { "bet166yy.com", true },
+  { "bet168wy.com", true },
+  { "bet168wy.net", true },
   { "bet261.com", true },
-  { "bet290.com", true },
   { "bet333111.com", true },
   { "bet333123.com", true },
   { "bet333222.com", true },
@@ -8111,10 +8643,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bet333j.com", true },
   { "bet333k.com", true },
   { "bet333l.com", true },
-  { "bet333n.com", true },
+  { "bet333m.com", true },
   { "bet333o.com", true },
   { "bet333p.com", true },
-  { "bet333q.com", true },
   { "bet333r.com", true },
   { "bet333s.com", true },
   { "bet333t.com", true },
@@ -8123,7 +8654,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bet333w.com", true },
   { "bet333x.com", true },
   { "bet333y.com", true },
-  { "bet333z.com", true },
+  { "bet33app.com", true },
   { "bet3602.com", true },
   { "bet3607.com", true },
   { "bet3639.com", true },
@@ -8144,7 +8675,34 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bet365cnx.com", true },
   { "bet365cny.com", true },
   { "bet365cnz.com", true },
-  { "bet365u.com", true },
+  { "bet3app.com", true },
+  { "bet43a.com", true },
+  { "bet43app.com", true },
+  { "bet43b.com", true },
+  { "bet43c.com", true },
+  { "bet43d.com", true },
+  { "bet43e.com", true },
+  { "bet43f.com", true },
+  { "bet43g.com", true },
+  { "bet43h.com", true },
+  { "bet43i.com", true },
+  { "bet43j.com", true },
+  { "bet43k.com", true },
+  { "bet43l.com", true },
+  { "bet43m.com", true },
+  { "bet43n.com", true },
+  { "bet43o.com", true },
+  { "bet43p.com", true },
+  { "bet43q.com", true },
+  { "bet43r.com", true },
+  { "bet43s.com", true },
+  { "bet43t.com", true },
+  { "bet43u.com", true },
+  { "bet43v.com", true },
+  { "bet43w.com", true },
+  { "bet43x.com", true },
+  { "bet43y.com", true },
+  { "bet43z.com", true },
   { "bet44401.com", true },
   { "bet44402.com", true },
   { "bet44403.com", true },
@@ -8153,28 +8711,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bet44406.com", true },
   { "bet44407.com", true },
   { "bet44409.com", true },
-  { "bet44410.com", true },
-  { "bet444400.com", true },
-  { "bet444401.com", true },
-  { "bet444402.com", true },
-  { "bet444403.com", true },
-  { "bet444404.com", true },
-  { "bet444405.com", true },
-  { "bet444406.com", true },
-  { "bet444407.com", true },
-  { "bet444408.com", true },
-  { "bet444409.com", true },
-  { "bet444410.com", true },
-  { "bet444421.com", true },
-  { "bet444422.com", true },
-  { "bet444423.com", true },
-  { "bet444424.com", true },
-  { "bet444425.com", true },
-  { "bet444426.com", true },
-  { "bet444427.com", true },
-  { "bet444428.com", true },
-  { "bet444429.com", true },
-  { "bet444430.com", true },
+  { "bet5119.com", true },
+  { "bet5234.com", true },
+  { "bet567111.com", true },
+  { "bet567222.com", true },
+  { "bet567333.com", true },
+  { "bet567444.com", true },
+  { "bet567555.com", true },
   { "bet5678.cc", true },
   { "bet5678.com", true },
   { "bet5678a.com", true },
@@ -8183,12 +8726,47 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bet5678e.com", true },
   { "bet5678f.com", true },
   { "bet5678g.com", true },
+  { "bet5757.com", true },
+  { "bet5868.com", true },
   { "bet599.com", true },
   { "bet66669999.com", true },
   { "bet666888.vip", true },
   { "bet721.com", true },
+  { "bet7234.com", true },
   { "bet819.com", true },
   { "bet820.com", true },
+  { "bet86ah.com", true },
+  { "bet86am.com", true },
+  { "bet86bj.com", true },
+  { "bet86cq.com", true },
+  { "bet86fj.com", true },
+  { "bet86gd.com", true },
+  { "bet86gs.com", true },
+  { "bet86gx.com", true },
+  { "bet86gz.com", true },
+  { "bet86hb.com", true },
+  { "bet86hlj.com", true },
+  { "bet86hn.com", true },
+  { "bet86jl.com", true },
+  { "bet86js.com", true },
+  { "bet86jx.com", true },
+  { "bet86ln.com", true },
+  { "bet86nmg.com", true },
+  { "bet86nx.com", true },
+  { "bet86qh.com", true },
+  { "bet86sc.com", true },
+  { "bet86sd.com", true },
+  { "bet86sh.com", true },
+  { "bet86sx.com", true },
+  { "bet86tj.com", true },
+  { "bet86tw.com", true },
+  { "bet86xg.com", true },
+  { "bet86xj.com", true },
+  { "bet86xz.com", true },
+  { "bet86yn.com", true },
+  { "bet86zj.com", true },
+  { "bet916.com", true },
+  { "bet9bet9.net", true },
   { "betaal.my", true },
   { "betaclouds.net", true },
   { "betaprofiles.com", true },
@@ -8197,7 +8775,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "betb73.com", true },
   { "betcn-mart.com", true },
   { "betecnet.de", true },
-  { "bethanyduke.com", true },
+  { "betgo9.cc", true },
   { "bethanypeds.com", true },
   { "betheredge.us", true },
   { "bethpage.net", true },
@@ -8205,6 +8783,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "betimely.com", true },
   { "betmobilenigeria.com", true },
   { "betobaccofree.gov", true },
+  { "betolerant.fr", true },
   { "betonbit.com", true },
   { "betonmarkets.info", true },
   { "betor.cz", true },
@@ -8215,11 +8794,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "betsharpangles.com", true },
   { "betshoot.com", true },
   { "betsyshilling.com", true },
+  { "bett1.at", true },
+  { "bett1.ch", true },
   { "bett1.de", true },
+  { "bett1.fr", true },
+  { "bett1.pl", true },
   { "bettaline.com.au", true },
   { "bettashoerepairs.com.au", true },
   { "better-bounce.co.uk", true },
+  { "better.com", true },
   { "better.fyi", true },
+  { "betterbabyshop.com.au", true },
+  { "betterbladders.com", true },
   { "bettercareclinic.co.uk", true },
   { "bettercleaningcompany.co.uk", true },
   { "betterconsult.com", true },
@@ -8227,9 +8813,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "betterna.me", true },
   { "betterscience.org", true },
   { "bettersecurity.co", true },
-  { "betterselfbetterworld.cz", true },
   { "bettersocialmedia.co.uk", true },
-  { "bettertechinterviews.com", true },
   { "bettertest.it", true },
   { "bettertime.de", true },
   { "bettertime.jetzt", true },
@@ -8246,14 +8830,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bettyweber.com", true },
   { "betulashop.ch", true },
   { "betwalker.com", true },
+  { "betwin9.com", true },
+  { "betwin9.net", true },
+  { "betza.online", true },
   { "beulen.email", true },
   { "beulen.link", true },
   { "beulen.pro", true },
   { "beuteugeu.com", true },
-  { "bevallarta.com", true },
   { "bevedo.cz", true },
   { "bevedo.sk", true },
   { "beveiligingscamerawestland.nl", true },
+  { "beveiligingsupdate.nl", true },
   { "bevelbeer.com", true },
   { "bevelpix.com", true },
   { "beverhof.nl", true },
@@ -8288,16 +8875,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "beyours.be", true },
   { "bez-energie.de", true },
   { "bezahlbare-praemien.ch", true },
-  { "bezemkast.nl", true },
   { "bezlampowe.pl", true },
   { "bezlepkovamatka.cz", true },
-  { "bezpecnostsiti.cf", true },
   { "bezposrednio.net.pl", true },
   { "bezzia.com", true },
   { "bf5.ru", true },
   { "bfam.tv", true },
   { "bfanis.ir", true },
-  { "bfcgermania88.de", true },
+  { "bfdz.ink", true },
   { "bfem.gov", true },
   { "bfh.science", true },
   { "bfkcloud.ddns.net", true },
@@ -8309,8 +8894,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bgbaby.net", true },
   { "bgemi.net", true },
   { "bgfashion.net", true },
-  { "bgfix.se", true },
-  { "bgfoto.info", true },
+  { "bghope.com", true },
   { "bghost.xyz", true },
   { "bgkoleda.bg", true },
   { "bglsingles.de", true },
@@ -8318,17 +8902,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bgp.space", true },
   { "bgr34.cz", true },
   { "bgs-game.com", true },
-  { "bgtgames.com", true },
   { "bgtoyou.com", true },
   { "bguidinger.com", true },
   { "bh-oberland.de", true },
   { "bh.sb", true },
-  { "bharath-g.in", true },
   { "bhat.vn", true },
   { "bhavansvidyamandir.tk", true },
   { "bhaweshkumar.com", true },
   { "bhglamour.com", true },
   { "bhi.consulting", true },
+  { "bhimarmyofficial.com", true },
   { "bhodisoft.com", true },
   { "bhrenovations.com", true },
   { "bhserralheria.com.br", true },
@@ -8338,19 +8921,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bhyn.ca", true },
   { "bi.search.yahoo.com", false },
   { "bi1gif.radio", true },
-  { "bi5.me", true },
   { "bi8cku.club", true },
-  { "bi8cku.tech", true },
+  { "bia2takhfif.com", true },
   { "biaggeo.com", true },
   { "biancapulizie.it", true },
   { "biancazapatka.com", true },
-  { "biano-ai.com", true },
   { "biapinheiro.com.br", true },
   { "biasmath.es", true },
+  { "biathloncup.ru", true },
   { "bibica.net", true },
   { "bible-maroc.com", true },
   { "biblesignposts.com", true },
-  { "bibleversesfordailyliving.com", true },
   { "bibliaon.com", true },
   { "bibliatodo.com", true },
   { "biblioblog.fr", true },
@@ -8361,17 +8942,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "biblionix.com", true },
   { "biblioporn.com", true },
   { "bibliotecadeseguranca.com.br", true },
-  { "bibliotekarien.se", true },
   { "bibliotekasnow.org", true },
   { "bibliotherapie-existentiale.com", true },
   { "biboumail.fr", true },
   { "bibuch.com", true },
   { "bicecontracting.com", true },
   { "bicha.net", true },
+  { "bicicletassym.com", true },
   { "bicifanaticos.com", true },
-  { "bicranial.io", true },
   { "bicycleframeiz.com", true },
   { "bicycleuniverse.com", true },
+  { "bidadari.my", true },
   { "biddl.com", true },
   { "biddle.co", true },
   { "bidman.cz", true },
@@ -8383,17 +8964,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "biec.moe", true },
   { "biegal.ski", true },
   { "biegner-technik.de", true },
-  { "biego.cn", true },
   { "biehlsoft.info", true },
   { "bielefailed.de", true },
   { "bien-etre-sante.info", true },
   { "bienestarfacial.com", true },
+  { "bienestarinmobiliarioyaliadas.com", true },
   { "bienhacerlimpiezas.es", true },
   { "bienici.com", true },
   { "bienoubien.org", true },
-  { "bienstar.tv", true },
   { "bienvenidoamerica.com", true },
-  { "bierbaumer.net", true },
   { "biergaizi.info", true },
   { "bierochs.org", true },
   { "bierwebshop.be", true },
@@ -8403,6 +8982,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bifrost.cz", true },
   { "big-andy.co.uk", true },
   { "big-bounce.co.uk", true },
+  { "big-office.lviv.ua", true },
   { "big-tits-video.ru", true },
   { "bigbank.ee", true },
   { "bigbendcoffeeroasters.com", true },
@@ -8423,6 +9003,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bigideasnetwork.com", true },
   { "bigio.com.br", true },
   { "biglou.com", false },
+  { "biglu.eu.org", true },
   { "bigorbitgallery.org", true },
   { "bigpicture-learning.com", true },
   { "bigprintinglasvegas.com", true },
@@ -8433,6 +9014,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bigsisterchannel.com", true },
   { "bigskylifestylerealestate.com", true },
   { "bigskymontanalandforsale.com", true },
+  { "bigudi.ee", true },
   { "bihub.io", true },
   { "biilo.com", true },
   { "bijancompany.com", true },
@@ -8451,6 +9033,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bilalkilic.de", true },
   { "bilbayt.com", true },
   { "bilder-designs.de", true },
+  { "bildiri.ci", true },
   { "bildkomponist.de", true },
   { "bildschirmflackern.de", true },
   { "bildungshaus-arnach.de", true },
@@ -8459,24 +9042,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "biletyplus.ua", true },
   { "bilgo.com", true },
   { "bilibili.link", true },
-  { "bilibili.red", true },
   { "bilibili.sh", true },
   { "bilimoe.com", true },
   { "bilke.org", true },
   { "billaud.eu.org", true },
   { "billcompare.ga", true },
   { "billfazz.com", true },
-  { "billgoldstein.name", true },
   { "billgradywebdesign.com", true },
   { "billhartzer.com", true },
+  { "billiardmaster.com.ua", true },
   { "billigastehemsidan.se", true },
   { "billiger-mietwagen.de", true },
   { "billigerfinder.de", true },
-  { "billigesommerhuse.nu", true },
   { "billigpoker.dk", true },
   { "billin.net", true },
   { "billionaire365.com", true },
   { "billionairemailinglist.com", true },
+  { "billionbooksbaby.org", true },
   { "billkochman.com", true },
   { "billogr.am", true },
   { "billogram.be", true },
@@ -8507,7 +9089,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "billpro.com", false },
   { "billy.pictures", true },
   { "billyoh.com", true },
-  { "billysbouncycastlehire.co.uk", true },
   { "billywig.stream", true },
   { "biltullen.com", true },
   { "bim.physio", true },
@@ -8515,6 +9096,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bimbo.com", false },
   { "bimbo.com.ar", false },
   { "bimbobakeriesusa.com", false },
+  { "bimbole.it", true },
   { "bimibroccoli.co.uk", true },
   { "bimibroccoli.com", true },
   { "bimibroccoli.dk", true },
@@ -8533,13 +9115,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "binans.net", true },
   { "binaries.fr", true },
   { "binary.house", true },
-  { "binaryapparatus.com", true },
   { "binaryappdev.com", true },
   { "binarycreations.scot", true },
   { "binarydream.fi", true },
-  { "binaryevolved.com", true },
   { "binaryrebel.net", true },
   { "binarystud.io", true },
+  { "binbin9.com", true },
+  { "binbin9.net", true },
   { "binding-problem.com", true },
   { "bing.com", true },
   { "bingobank.org", true },
@@ -8557,9 +9139,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bio-feed.org", true },
   { "bio-place.com", true },
   { "bio24.si", true },
+  { "bioamtw.com", true },
   { "bioastin.de", true },
   { "bioatelier.it", true },
   { "biobuttons.ch", true },
+  { "biocal.eu", true },
+  { "biocal.nl", true },
   { "biocheminee.com", true },
   { "biocrafting.net", true },
   { "biodiagnostiki.clinic", true },
@@ -8575,7 +9160,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bioetco.ch", true },
   { "bioexploratorium.pl", true },
   { "biofattorietoscane.it", true },
-  { "biofrequenze.it", true },
+  { "biogaspuxin.es", true },
   { "biogecho.ch", false },
   { "biogecho.swiss", false },
   { "biogeist.de", true },
@@ -8584,17 +9169,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "biohappiness.com", true },
   { "bioharmony.ca", true },
   { "biointelligence-explosion.com", true },
+  { "biokal-labsystems.eu", true },
+  { "biokal-labsystems.nl", true },
+  { "biokal.com", true },
+  { "biokal.eu", true },
+  { "biokal.nl", true },
   { "bioknowme.com", true },
   { "biol.moscow", true },
   { "biol.spb.ru", true },
   { "biolack.cf", true },
   { "bioleev.sklep.pl", true },
   { "bioligo.ch", false },
+  { "biolika.ua", true },
   { "biolmarket.ru", true },
   { "biologis.ch", true },
   { "biology-colleges.com", true },
-  { "biomag.it", true },
-  { "biomathalliance.org", true },
+  { "biomax-mep.com.br", true },
   { "biomed-hospital.ch", true },
   { "biomed.ch", true },
   { "biomin.co.uk", true },
@@ -8613,6 +9203,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "biosphere.cc", true },
   { "biospw.com", true },
   { "biotechware.com", true },
+  { "biotecommunity.com", true },
   { "biotera.cl", true },
   { "biotin.ch", true },
   { "biowtage.gq", true },
@@ -8629,20 +9220,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "birkenstab.de", true },
   { "birkenwasser.de", true },
   { "birminghamsunset.com", true },
+  { "birsinghdhami.com.np", true },
+  { "birthday-to-you.com", true },
   { "birthdaytip.com", true },
-  { "birthmatters.us", true },
   { "birzan.org", true },
   { "bisa-sis.net", true },
-  { "bischoff-mathey.family", true },
-  { "biscuit.town", true },
   { "biscuitcute.com.br", true },
-  { "biser-borisov.eu", true },
   { "biser.online", true },
   { "bishopp.com.au", true },
-  { "bishopscourt-hawarden.co.uk", true },
   { "bishoptx.com", true },
   { "bismarck-tb.de", true },
-  { "bisoga.xyz", true },
   { "bison.co", true },
   { "bisq.community", true },
   { "bisq.network", true },
@@ -8663,22 +9250,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bitbucket.io", true },
   { "bitbucket.org", true },
   { "bitburner.de", true },
+  { "bitchigo.com", true },
+  { "bitclusive.de", true },
   { "bitcoin-fauset.cf", true },
   { "bitcoin-india.net", true },
-  { "bitcoin-wizards.com", true },
   { "bitcoin.asia", true },
   { "bitcoin.ch", true },
   { "bitcoin.co.nz", true },
   { "bitcoin.de", true },
   { "bitcoin.im", true },
   { "bitcoin.info", true },
+  { "bitcoin.ninja", true },
   { "bitcoin.org", true },
   { "bitcoin.us", true },
   { "bitcoinbitcoin.com", true },
   { "bitcoinbot.tk", true },
   { "bitcoincasinos.pro", true },
   { "bitcoincore.org", true },
-  { "bitcoiner-or-shitcoiner.com", true },
+  { "bitcoinemprendedor.com", true },
   { "bitcoinfees.net", true },
   { "bitcoingambling.pro", true },
   { "bitcoinindia.com", true },
@@ -8686,14 +9275,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bitcointhefts.com", true },
   { "bitcoinx.ro", true },
   { "bitcork.io", true },
+  { "bitcorner.de", true },
   { "bitcqr.io", true },
+  { "bitech-ec.com", true },
   { "bitenose.com", true },
   { "bitex.la", true },
   { "bitfasching.de", false },
   { "bitfehler.net", true },
-  { "bitfinder.nl", true },
   { "bitfuse.net", true },
   { "bitgain-leverage.com", true },
+  { "bitgild.com", true },
   { "bitgo.com", true },
   { "bitgrapes.com", true },
   { "bitguerrilla.com", true },
@@ -8703,24 +9294,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bititrain.com", true },
   { "bitjunkiehosting.com", true },
   { "bitking-trading.com", true },
-  { "bitlish.com", true },
   { "bitlo.com", true },
   { "bitlo.com.tr", true },
   { "bitlo.io", true },
   { "bitlo.org", true },
   { "bitmag.ml", true },
   { "bitmainwarranty.com", true },
-  { "bitmarket.net", true },
-  { "bitmarket.pl", true },
+  { "bitmart.com", true },
   { "bitmask.me", true },
-  { "bitmessage.ch", true },
   { "bitmidi.com", true },
   { "bitminter.com", true },
-  { "bitmoe.com", true },
   { "bitok.com", true },
   { "bitpumpe.net", true },
   { "bitref.com", true },
   { "bitrefill.com", true },
+  { "bitrefill.info", true },
   { "bitrush.nl", true },
   { "bits-hr.de", true },
   { "bitsafe.com.my", true },
@@ -8728,6 +9316,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bitski.com", true },
   { "bitskins.co", true },
   { "bitskrieg.net", true },
+  { "bitsler.ie", true },
   { "bitso.com", true },
   { "bitsoffreedom.nl", true },
   { "bitstage.uk", true },
@@ -8756,7 +9345,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "biz-seecrets.gq", true },
   { "biz4x.com", true },
   { "bizcash.co.za", true },
+  { "bizeasesupport.com", true },
   { "bizeau.ch", true },
+  { "bizedge.co.nz", true },
+  { "bizgo.nl", true },
   { "bizlatinhub.com", true },
   { "biznes-sekrety.gq", true },
   { "biznes-sekrety.tk", true },
@@ -8775,6 +9367,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bizzdesign.com", true },
   { "bizzit.se", true },
   { "bjarnerest.de", true },
+  { "bjfuli.com", true },
+  { "bjl5689.com", true },
+  { "bjl5689.net", true },
   { "bjl688.cc", true },
   { "bjoe2k4.de", true },
   { "bjolanta.pl", true },
@@ -8790,6 +9385,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bkkf.at", true },
   { "bkositspartytime.co.uk", true },
   { "bkt.to", true },
+  { "bkulup.com", true },
   { "bl00.se", true },
   { "bl4ckb0x.biz", true },
   { "bl4ckb0x.com", true },
@@ -8819,8 +9415,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blablacar.ro", true },
   { "blablacar.rs", true },
   { "blablacar.ru", true },
-  { "black-gay-porn.biz", true },
   { "black-holes.org", true },
+  { "black-khat.com", true },
+  { "black-magic-love-spells.com", true },
   { "black-mail.nl", true },
   { "black-raven.fr", true },
   { "black.dating", true },
@@ -8835,7 +9432,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blackcat.ca", true },
   { "blackcatinformatics.ca", true },
   { "blackcatinformatics.com", true },
-  { "blackdiam.net", true },
   { "blackdown.de", true },
   { "blackdragoninc.org", true },
   { "blackedbyte.com", true },
@@ -8848,6 +9444,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blackhelicopters.net", true },
   { "blackhillsinfosec.com", true },
   { "blackhost.org", true },
+  { "blackilli.de", true },
   { "blackjackballroomcasino.info", true },
   { "blackl.net", true },
   { "blacklightparty.be", true },
@@ -8864,6 +9461,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blackroot.eu", true },
   { "blackscytheconsulting.com", true },
   { "blackseals.net", true },
+  { "blacksheepsw.com", true },
   { "blackspark.tk", true },
   { "blackstrapsecurity.com", true },
   { "blackstump.xyz", true },
@@ -8871,6 +9469,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blacktown.eu", true },
   { "blacktownbuildingsupplies.com.au", true },
   { "blacktubes.cf", true },
+  { "blackyau.cc", true },
   { "blackys-chamber.de", false },
   { "blackzebra.audio", true },
   { "blaindalefarms.com", true },
@@ -8880,8 +9479,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blakezone.com", true },
   { "blanboom.org", true },
   { "blancodent.com", true },
+  { "blankersfamily.com", true },
   { "blanket.technology", true },
   { "blasorchester-runkel.de", true },
+  { "blastentertainment.co.nz", true },
   { "blastentertainment.com.au", true },
   { "blastersklan.com", true },
   { "blaudev.es", true },
@@ -8890,10 +9491,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blaumedia.com", true },
   { "blautiefe.de", true },
   { "blauwwit.be", true },
-  { "blayne.me", true },
-  { "blayneallan.com", true },
+  { "blayne.me", false },
+  { "blayneallan.com", false },
   { "blazing.cz", true },
-  { "blazor.nl", true },
   { "blblblblbl.fr", true },
   { "bleaching-tipps.de", true },
   { "blechbuexn.de", true },
@@ -8902,13 +9502,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blechinger.io", true },
   { "blechschmidt.saarland", true },
   { "blenderinsider.com", true },
-  { "blenderman.org", true },
   { "blenderrecipereviews.com", true },
   { "blending.kr", true },
   { "blendle.com", true },
   { "blendle.nl", true },
   { "blendr.com", true },
-  { "blendstudios.com", false },
+  { "blendstudios.com", true },
   { "blenheimears.com", true },
   { "blenneros.net", false },
   { "blessedgeeks.org", true },
@@ -8919,27 +9518,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blideobames.com", true },
   { "blidz.com", true },
   { "blieque.co.uk", true },
+  { "bliesekow.net", true },
   { "blijfbij.com", true },
   { "blijfbij.eu", true },
   { "blikund.swedbank.se", true },
   { "blindpigandtheacorn.com", true },
   { "blinds.media", true },
+  { "blindsjoburg.com", true },
+  { "bling9.com", true },
+  { "bling999.cc", true },
+  { "bling999.com", true },
+  { "bling999.net", true },
   { "blingsparkleshine.com", true },
   { "blingwang.cn", true },
-  { "blink-security.com", true },
   { "blinkdrivex.com", true },
   { "blinking.link", true },
   { "blio.tk", true },
   { "blip.website", true },
+  { "blissdrive.com", true },
   { "blissjoe.com", true },
   { "blissplan.com", true },
   { "blivawesome.dk", true },
   { "blivvektor.dk", true },
+  { "blixtv.com", true },
   { "blizhost.com", true },
   { "blizhost.com.br", true },
   { "blkbx.eu", true },
   { "blm.gov", true },
-  { "blm36.cc", true },
   { "blm69.cc", true },
   { "blo-melchiorshausen.de", true },
   { "blobemoji.com", true },
@@ -8951,23 +9556,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "block65.com", true },
   { "blockchain.com", true },
   { "blockchain.info", true },
+  { "blockchain.poker", true },
   { "blockchainced.com", true },
   { "blockchaindaigakko.jp", true },
   { "blockchainmagazine.net", true },
-  { "blockchainwhiz.com", true },
   { "blockclique.io", true },
   { "blockedyourcar.com", true },
   { "blockedyourcar.net", true },
   { "blockedyourcar.org", true },
   { "blockmetry.com", true },
-  { "blockstream.com", true },
+  { "blocktab.io", true },
+  { "blockwatch.cc", true },
   { "blockxit.de", true },
   { "bloemenbesteld.nl", true },
   { "bloemendal.me", true },
   { "blog-garage.com", true },
   { "blog-grupom2.es", true },
   { "blog-investimenti.it", true },
-  { "blog.gov.uk", true },
   { "blog.linode.com", false },
   { "blog.lookout.com", false },
   { "blog.torproject.org", false },
@@ -8977,38 +9582,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blogarts.net", true },
   { "blogauto.cz", true },
   { "blogbooker.com", true },
+  { "blogcast.com", true },
   { "blogcosmeticsurgeon.ga", true },
   { "blogdefarmacia.com", true },
   { "blogdelosjuguetes.com", true },
   { "blogdieconomia.it", true },
   { "blogdimoda.com", true },
   { "blogdimotori.it", true },
-  { "blogexpert.ca", true },
   { "bloggermumofthreeboys.com", true },
   { "blogging-life.com", true },
   { "bloggingtipsfornewblogger.com", true },
   { "bloggytalky.com", true },
   { "bloginbeeld.nl", true },
   { "blogit.fi", true },
-  { "bloglyric.com", true },
   { "blognews.cf", true },
   { "blognone.com", true },
   { "blogofapps.com", true },
-  { "blogom.at", true },
   { "blogpress.co.il", true },
   { "blogredmachine.com", true },
   { "blogreen.org", true },
   { "blogsdna.com", true },
+  { "blogsked.com", true },
   { "blogthedayaway.com", true },
+  { "blogthetindung.com", true },
   { "blogtroterzy.pl", true },
   { "blok56.nl", true },
   { "blomberg.name", true },
-  { "blonde.style", true },
+  { "bloobet.com", true },
+  { "bloodhunt.eu", true },
   { "bloodpop.tk", true },
   { "bloodsports.org", true },
   { "bloody.pw", true },
   { "bloom-avenue.com", true },
-  { "bloom.sh", true },
+  { "bloomscape.com", true },
+  { "bloondl.com", true },
   { "blopezabogado.es", true },
   { "blrjmt.com", true },
   { "bltc.co.uk", true },
@@ -9030,7 +9637,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blueblou.com", true },
   { "bluebnc.com", true },
   { "bluecanvas.io", true },
-  { "bluechilli.com", true },
   { "bluecrazii.nl", true },
   { "blued.moe", true },
   { "bluedeck.org", true },
@@ -9043,15 +9649,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blueimp.net", true },
   { "bluekrypt.com", true },
   { "blueliquiddesigns.com.au", true },
+  { "bluemail24.com", true },
   { "bluemanhoop.com", true },
   { "bluemarmalade.co.uk", true },
-  { "bluemeda.web.id", true },
+  { "bluemeteor.co", true },
+  { "bluemoonrescue.org", true },
   { "bluemoonroleplaying.com", true },
   { "bluemosh.com", true },
   { "bluemtnrentalmanagement.ca", true },
+  { "bluenailsstudio.nl", true },
   { "bluenote9.com", true },
   { "blueoakart.com", true },
   { "blueperil.de", true },
+  { "bluepoint.me", true },
   { "bluepostbox.de", true },
   { "blueprintrealtytn.com", true },
   { "bluepromocode.com", true },
@@ -9062,6 +9672,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bluesoap.com.au", true },
   { "bluestardiabetes.com", true },
   { "bluestarroofing.com", true },
+  { "bluestoneconstruction.com", true },
   { "bluesuncamping.com", true },
   { "bluesunhotels.com", true },
   { "blueswandaily.com", true },
@@ -9070,7 +9681,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bluetomatographics.com", true },
   { "bluetoothspecialist.ga", true },
   { "bluewavewebdesign.com", true },
-  { "bluewizardart.net", true },
   { "bluex.im", true },
   { "bluex.info", true },
   { "bluex.net", true },
@@ -9094,12 +9704,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "blyth.me.uk", true },
   { "blythwood.com", true },
   { "blzrk.com", true },
+  { "bmbfiltration.com", true },
   { "bmcorp.online", true },
   { "bmhglobal.com.au", true },
   { "bmk-kramsach.at", true },
   { "bmoattachments.org", true },
   { "bmone.net", true },
-  { "bmros.com.ar", true },
+  { "bmros.com.ar", false },
   { "bmw-motorradclub-seefeld.de", true },
   { "bn4t.me", true },
   { "bnbsinflatablehire.co.uk", true },
@@ -9107,10 +9718,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bngs.pl", true },
   { "bnin.org", true },
   { "bnjscastles.co.uk", true },
-  { "bnstree.com", true },
   { "bnty.net", true },
   { "bnzblowermotors.com", true },
+  { "bo1689.net", true },
   { "bo4tracker.com", true },
+  { "bo9club.cc", true },
+  { "bo9club.com", true },
+  { "bo9club.net", true },
+  { "bo9fun.com", true },
+  { "bo9fun.net", true },
+  { "bo9game.com", true },
+  { "bo9game.net", true },
+  { "bo9king.net", true },
   { "boardgamegeeks.de", true },
   { "boards.ie", true },
   { "boardspot.com", true },
@@ -9120,14 +9739,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "boattrader.com.au", true },
   { "bob-dylan.tk", true },
   { "bobaly.es", true },
-  { "bobancoamigo.com", true },
   { "bobandducky.com", true },
   { "bobaobei.net", true },
   { "bobasy.pl", true },
   { "bobazar.com", false },
+  { "bobbyblueplumbing.com", true },
+  { "bobbyhensley.com", true },
   { "bobcoffee.com.br", true },
   { "bobcopeland.com", true },
-  { "bobep.ru", true },
+  { "bobigames.com", true },
   { "bobkidbob.com", true },
   { "bobkoetsier.nl", true },
   { "bobnbounce.ie", true },
@@ -9142,12 +9762,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bochs.info", true },
   { "bockenauer.at", true },
   { "bocreation.fr", true },
+  { "bodagratis.com", true },
   { "bodas.com.mx", true },
-  { "bodegasvirei.com", true },
+  { "bodasgratis.com", true },
   { "bodemplaten4x4.nl", true },
   { "bodhi.fedoraproject.org", true },
+  { "bodin.cz", true },
   { "bodis.nl", true },
-  { "bodrumhotelsresorts.com", true },
   { "bodsch.com", true },
   { "bodybuilding.com", true },
   { "bodybuildingworld.com", true },
@@ -9160,12 +9781,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bodyweb.com.br", true },
   { "bodyworksautorebuild.com", true },
   { "boeddhashop.nl", true },
+  { "boerdam.nl", true },
   { "boernecancerfonden.dk", true },
+  { "boese.one", true },
   { "boevik.ml", true },
   { "bogdancornianu.com", true },
   { "bogdanepureanu.ro", true },
+  { "bogena.com.ua", true },
   { "bogner.sh", true },
-  { "bogosity.se", true },
+  { "bogs-consulting.de", true },
+  { "bogurl.com", true },
+  { "bohaishibei.com", true },
   { "bohan.co", true },
   { "bohramt.de", true },
   { "boimmobilier.ch", false },
@@ -9177,15 +9803,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "boke112.com", true },
   { "bokka.com", true },
   { "bokkeriders.com", true },
+  { "boksburgplumber24-7.co.za", true },
   { "bokutake.com", true },
+  { "bol.io", true },
   { "bolalocobrews.co.uk", true },
   { "bolamarela.com.br", true },
   { "bolamarela.pt", true },
-  { "boldt-metallbau.de", true },
+  { "boldmediagroup.com", true },
   { "bolektro.de", true },
   { "boleyn.su", true },
   { "bolgarka.kz", true },
   { "bolgarnyelv.hu", true },
+  { "bolgarus.ru", true },
+  { "bolico.de", true },
+  { "bolivar80.com", true },
   { "bologna-disinfestazioni.it", true },
   { "bolovegna.it", true },
   { "bolsashidrosolubles.com", true },
@@ -9210,6 +9841,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bonami.sk", true },
   { "bonawehouse.co.uk", true },
   { "bonbonmania.com", false },
+  { "bonchaboncha.com.tw", true },
   { "bondagefetishstore.com", true },
   { "bondank.com", true },
   { "bondarenko.dn.ua", true },
@@ -9223,18 +9855,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bongbabyhouse.com", true },
   { "bongbabyhouse.vn", true },
   { "bongloy.com", true },
-  { "bongminhtam.com", true },
   { "bongo.cat", true },
   { "bongocams.webcam", true },
   { "bongoo.fr", true },
-  { "bonifacius.be", true },
+  { "bonifatius-friedrich.de", true },
+  { "bonifatiusfriedrich.de", true },
   { "bonito.pl", true },
   { "bonn.digital", true },
   { "bonnant-associes.ch", false },
   { "bonnant-partners.ch", false },
-  { "bonniecoloring.com", true },
   { "bonnieradvocaten.nl", true },
-  { "bonnsustainabilityportal.de", true },
   { "bonnyprints.at", true },
   { "bonnyprints.ch", true },
   { "bonnyprints.es", true },
@@ -9251,17 +9881,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bonux.co", true },
   { "boodmo.com", true },
   { "book-in-hotel.com", true },
+  { "bookameeting.se", true },
   { "booker.ly", true },
   { "bookingapp.be", true },
   { "bookingapp.nl", true },
   { "bookingslog.com", true },
-  { "bookingtool.com", true },
   { "bookingtool.net", true },
   { "bookingworldspeakers.com", true },
   { "bookluk.com", true },
   { "bookmein.in", true },
   { "booknowmytrip.com", true },
   { "bookofdenim.com", true },
+  { "books.co.ua", true },
   { "booksearch.jp", true },
   { "bookshopofindia.com", true },
   { "booksinthefridge.at", true },
@@ -9269,15 +9900,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "booktoan.com", true },
   { "booktracker-org.appspot.com", true },
   { "bookwave.art", true },
+  { "bookwormex.com", true },
   { "bookzaga.com", true },
   { "bool.be", true },
   { "boombv.com", false },
-  { "boomersurf.com", true },
   { "boomfestival.org", true },
   { "boomkins.net", true },
   { "boomshelf.com", true },
   { "boomshelf.org", true },
-  { "boomvm.pw", true },
   { "boonbox.com", true },
   { "booox.cc", true },
   { "booox.info", true },
@@ -9291,13 +9921,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "boosmanpoolservice.com", true },
   { "boost.ink", true },
   { "booter.pw", true },
-  { "boothlabs.me", true },
+  { "bootina.com", true },
   { "bootjp.me", false },
   { "bootsschule-weiss.de", true },
   { "bopiweb.com", true },
   { "bopp.org", true },
   { "borahan.net", true },
-  { "boran.cl", true },
   { "borba-umov.tk", true },
   { "borchers.ninja", true },
   { "bordadoenpedreria.com", true },
@@ -9305,7 +9934,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bordes.me", true },
   { "bordo.com.au", true },
   { "boreacr.com", true },
-  { "boredhackers.com", true },
   { "boredhousewifeconfessions.cf", true },
   { "borein.cf", true },
   { "boreo.si", true },
@@ -9323,14 +9951,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "borriquillacuenca.tk", true },
   { "borysek.net", true },
   { "borysenko.se", true },
-  { "bosabosa.org", true },
   { "bosattondskap.tk", true },
+  { "boschsplit.co", true },
+  { "boschveldtuin.nl", true },
   { "boscoyacht.ch", false },
   { "boscq.fr", true },
   { "bosekarmelitky.cz", true },
   { "boskeopolis-stories.com", true },
   { "boss.az", true },
-  { "bossdistribuidora.com.br", true },
+  { "bossbabe.com", true },
+  { "boston-sailing.com", true },
   { "bostonadvisors.com", true },
   { "bostonaoii.com", true },
   { "bosufitness.cz", true },
@@ -9345,13 +9975,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "botmedia.cf", true },
   { "botnam.com", true },
   { "botserver.de", true },
-  { "bottaerisposta.net", true },
   { "bottineauneighborhood.org", true },
   { "bottinquebec.com", true },
   { "bottke.berlin", true },
+  { "bottle.li", true },
   { "bottledstories.de", true },
   { "bou.cloud", true },
-  { "bou.ke", true },
+  { "bou.ke", false },
   { "bouah.net", true },
   { "bouchard-mathieux.com", true },
   { "bouchonville-knifemaker.com", true },
@@ -9401,7 +10031,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bouncesouthwales.co.uk", true },
   { "bouncesquad.co.uk", true },
   { "bouncetasticuk.co.uk", true },
-  { "bouncetheparty.co.uk", true },
   { "bounceunlimited.co.uk", true },
   { "bouncewrightcastles.co.uk", true },
   { "bouncincastles.co.uk", true },
@@ -9411,7 +10040,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bouncingbuddiesleicester.co.uk", true },
   { "bouncinghigher.co.uk", true },
   { "bouncingscotland.com", true },
-  { "bouncourseplanner.net", true },
   { "bouncy-castles-surrey.co.uk", true },
   { "bouncybaileys.co.uk", true },
   { "bouncyball.eu", true },
@@ -9443,7 +10071,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bouncycastlesin.co.uk", true },
   { "bouncycastlesinderby.co.uk", true },
   { "bouncycastlesisleofwight.co.uk", true },
-  { "bouncycastlesmonaghan.com", true },
   { "bouncycastlessheerness.co.uk", true },
   { "bouncydays.co.uk", true },
   { "bouncygiggles.com.au", true },
@@ -9455,9 +10082,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bouncymacs.co.uk", true },
   { "bouncyrainbows.co.uk", true },
   { "bouncytime.co.uk", true },
-  { "bouncywouncy.co.uk", true },
   { "bound2bounce.co.uk", true },
   { "boundarybrighton.com", true },
+  { "boundaryford.com", true },
   { "boundaryvets.co.uk", true },
   { "bounouh.tk", true },
   { "bountyfactory.io", true },
@@ -9465,24 +10092,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bourgeoisdoorco.com", true },
   { "bournefun.co.uk", true },
   { "bourseauxservices.com", true },
+  { "boutiquedecanetas.com.br", true },
   { "boutiqueguenaelleverdin.com", true },
   { "boutoncoupdepoing.fr", true },
   { "bouw.live", true },
   { "bouwbedrijfvandortbv.nl", true },
-  { "bouwplaatscheckin.nl", true },
   { "bouzouada.com", true },
   { "bouzouks.net", true },
   { "bovenwebdesign.nl", true },
-  { "bovworkplacepensions.com", true },
   { "bowdens.me", true },
   { "bowedwallcrackrepair.com", true },
   { "boweryandvine.com", true },
   { "bowlcake.fr", true },
   { "bowling.com", true },
-  { "bownty.be", true },
   { "bownty.co.uk", true },
-  { "bownty.de", true },
-  { "bownty.dk", true },
   { "bownty.es", true },
   { "bownty.fr", true },
   { "bownty.it", true },
@@ -9494,7 +10117,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "boxdropcc.com", true },
   { "boxintense.com", true },
   { "boxlink.de", true },
-  { "boxpeg.com", true },
   { "boxpirates.to", true },
   { "boxspringbett-160x200.de", true },
   { "boxt.com.au", true },
@@ -9503,12 +10125,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "boyhost.cn", true },
   { "boyinglanguage.com", true },
   { "boykovo.tk", true },
-  { "boypoint.de", true },
   { "boysontech.com", true },
   { "boz.nl", false },
-  { "bozdoz.com", true },
   { "bozhok.tk", true },
   { "bozit.com.au", true },
+  { "bpa.gov", true },
   { "bpaste.net", true },
   { "bpastudies.org", true },
   { "bphostels.com", true },
@@ -9517,11 +10138,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bpreguica.com.br", true },
   { "bps.vc", true },
   { "bpvboekje.nl", true },
-  { "bqcp.net", true },
   { "bqp.io", false },
   { "bqr.ch", false },
   { "br.search.yahoo.com", false },
-  { "br1334shop.com.br", true },
   { "br3in.nl", false },
   { "br7.ru", true },
   { "braams.nl", true },
@@ -9532,6 +10151,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brachotelborak.com", true },
   { "bracknellvets.co.uk", true },
   { "bradbrockmeyer.com", true },
+  { "bradenanderin.com", true },
   { "bradfordhottubhire.co.uk", true },
   { "bradfordmascots.co.uk", true },
   { "bradkovach.com", true },
@@ -9543,8 +10163,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brahmins.com", true },
   { "braiampeguero.xyz", true },
   { "brailsford.xyz", true },
+  { "brain-club.info", true },
   { "brain-force.ch", true },
-  { "brainball.fr", false },
   { "brainboxai.com", true },
   { "braineet.com", true },
   { "brainobeat.com", true },
@@ -9558,18 +10178,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brainvoyagermusic.com", true },
   { "brainwav.es", true },
   { "brainwork.space", true },
+  { "brainyapp.net", true },
   { "braithwaites.ltd", true },
   { "brakemanpro.com", true },
   { "brakpanplumber24-7.co.za", true },
   { "bralnik.com", true },
   { "bramhallsamusements.com", true },
-  { "brammingfys.dk", true },
   { "bramois.tk", true },
   { "bramstaps.nl", true },
   { "bramvanaken.be", true },
   { "bramygrozy.pl", true },
   { "bran.land", true },
   { "branch-bookkeeper.com", true },
+  { "branchenbuch-potsdam.com", true },
   { "branchtrack.com", true },
   { "brandand.co.uk", true },
   { "brandfolder.com", true },
@@ -9578,7 +10199,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brandingcoapps.com", true },
   { "brandondivorcelawyer.com", true },
   { "brandonforce.com", true },
-  { "brandongomez.me", true },
   { "brandonhubbard.com", true },
   { "brandonlin.me", true },
   { "brandonlui.com", true },
@@ -9593,11 +10213,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brandweertrainingen.nl", true },
   { "brandweeruitgeest.nl", true },
   { "brandwidth.com", true },
-  { "brank.as", true },
   { "branno.org", true },
   { "branode.com", false },
   { "bransive.com.au", true },
-  { "branw.xyz", false },
+  { "branw.xyz", true },
   { "brasal.ma", true },
   { "brasalcosmetics.com", true },
   { "brashear.me", true },
@@ -9607,6 +10226,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brasserie-twins.be", true },
   { "brasserie-twins.com", true },
   { "bratteng.me", true },
+  { "bratteng.solutions", true },
   { "bratteng.xyz", true },
   { "bratunaconline.tk", true },
   { "bratvanov.com", true },
@@ -9622,11 +10242,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bravebaby.com.au", true },
   { "bravebooks.berlin", true },
   { "bravica.tk", true },
-  { "braviskindenjeugd.nl", true },
-  { "bravisziekenhuis.nl", false },
   { "bravobet.et", true },
   { "bravor.pe", true },
-  { "braystudio.com", true },
   { "brazenfol.io", true },
   { "brazilian.dating", true },
   { "brazilianbikinishop.com", true },
@@ -9636,11 +10253,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brb.city", true },
   { "brck.nl", true },
   { "brd.ro", true },
+  { "bread.fish", true },
   { "bread.red", true },
   { "breadandlife.org", true },
   { "breadofgod.org", true },
   { "breadpirates.chat", true },
   { "breakcraft.tk", true },
+  { "breakerlink.com", true },
   { "breakingtech.fr", true },
   { "breakingtech.it", true },
   { "breakout.careers", true },
@@ -9656,11 +10275,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brecknell.name", true },
   { "brecknell.net", true },
   { "brecknell.org", true },
-  { "bredvid.no", true },
+  { "breda.computer", true },
   { "breest.net", true },
   { "breeyn.com", true },
   { "brefy.com", true },
   { "brege.org", true },
+  { "bregnedal.dk", true },
   { "bregnedalsystems.dk", true },
   { "breitband.bz.it", true },
   { "breizh.pm", true },
@@ -9689,6 +10309,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brewsouth.com", true },
   { "brewspark.co", true },
   { "brewvo.com", true },
+  { "breyerslakeshoreresort.com", true },
+  { "breyerslakesideresort.com", true },
+  { "breyersresort.com", true },
   { "breznet.com", true },
   { "brgins.com", true },
   { "brguk.com", true },
@@ -9699,8 +10322,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brianfoshee.com", true },
   { "briangosnell.com", true },
   { "brianjohnson.co.za", true },
-  { "brianlanders.us", true },
-  { "brianmwaters.net", true },
+  { "brianlehfeld.com", true },
   { "brianpagan.net", true },
   { "brianroadifer.com", true },
   { "briansemrau.com", true },
@@ -9710,10 +10332,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brianwalther.com", true },
   { "brianwesaala.com", false },
   { "brianwilson.tk", true },
+  { "brianwylie.com", true },
   { "briarproject.org", true },
   { "brickadia.com", true },
   { "brickftp.com", true },
   { "brickheroes.com", false },
+  { "bricksmateriales.com.ar", true },
   { "brickstreettrio.com", true },
   { "brickvortex.com", false },
   { "brickweb.co.uk", true },
@@ -9728,6 +10352,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bride-forever.com", true },
   { "bridgedigest.tk", true },
   { "bridgedirectoutreach.com", true },
+  { "bridgeforcefinancial.com", true },
   { "bridgeglobalmarketing.com", true },
   { "bridgement.com", true },
   { "bridgercanyonfiremt.gov", false },
@@ -9744,31 +10369,34 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brighouse-leisure.co.uk", true },
   { "brightday.bz", true },
   { "brightendofleasecleaning.com.au", true },
-  { "brightonbank.com", true },
+  { "brightonbank.com", false },
   { "brightonbouncycastles.net", true },
   { "brightonchilli.org.uk", true },
   { "brightpool-markets.com", true },
   { "brightside.com", true },
   { "brightworkcreative.com", true },
   { "brigidaarie.com", true },
+  { "brigittaseasons.com", true },
   { "brigittefontaine.tk", true },
+  { "brilalux.pe", true },
   { "brilliantbouncyfun.co.uk", true },
   { "brilliantproductions.co.nz", true },
+  { "brillio.com", true },
   { "brimspark.systems", true },
   { "brindesgrafica.com.br", true },
   { "brindice.com.br", true },
-  { "brindisi.tk", true },
   { "bring-heaven.com", true },
   { "bringingbackthesweatervest.com", true },
+  { "brinkbem.com", true },
   { "brinksurl.com", true },
   { "brio-shop.ch", true },
-  { "briograce.com.mx", true },
   { "brioukraine.store", true },
   { "brisbanelogistics.com.au", true },
   { "brisignshop.com.au", true },
   { "brisq.design", true },
   { "bristebein.com", true },
   { "bristolandwestonsuperbounce.com", true },
+  { "brit-thoracic.org.uk", true },
   { "britanniacateringyeovil.co.uk", true },
   { "britanniapandi.com", true },
   { "britelocate.com", true },
@@ -9785,6 +10413,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brittanyferriesnewsroom.com", true },
   { "britton-photography.com", true },
   { "brizawen.com", true },
+  { "brk.dk", true },
   { "brk.st", true },
   { "brmsalescommunity.com", true },
   { "brnojebozi.cz", true },
@@ -9797,22 +10426,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brockmeyer.net", true },
   { "brockmeyer.org", true },
   { "brodowski.cc", true },
-  { "broerict.nl", true },
+  { "brody.digital", true },
+  { "brody.ninja", true },
+  { "broe.ie", true },
   { "broersma.com", true },
-  { "broeselei.at", true },
   { "brojagraphics.de", true },
   { "brokenhands.io", true },
-  { "brokervalues.com", true },
-  { "brokolit.com", true },
+  { "brokernotes.co", true },
   { "brols.eu", true },
   { "brompton-cocktail.com", true },
   { "bronetb2b.com.br", true },
   { "bronevichok.ru", true },
-  { "bronwynlewis.com", true },
-  { "bronzew.com", true },
   { "broodbesteld.nl", true },
   { "broodingblogger.com", true },
   { "brookes.xyz", true },
+  { "brooklyncosmetics.net", true },
   { "brooklynentdoc.com", true },
   { "brooklynrealestateblog.com", true },
   { "brosay-legko.ml", true },
@@ -9820,22 +10448,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brouillard.ch", false },
   { "brouskat.be", true },
   { "brouwerijdeblauweijsbeer.nl", true },
+  { "brovelton.com", true },
+  { "brownchair.org", true },
   { "brownesgas.com", true },
   { "brownfieldstsc.org", true },
   { "brownforces.desi", true },
   { "brownforces.org", true },
   { "brownihc.com", true },
+  { "brownsgroup.com", true },
   { "browntowncountryclub.com", true },
   { "brownwolfstudio.com", true },
-  { "browsbybecca.ca", true },
   { "browse-tutorials.com", true },
   { "browsemycity.com", true },
   { "browserleaks.com", true },
-  { "brrd.io", true },
   { "brrr.fr", true },
   { "bru6.de", true },
   { "brubank.com", true },
   { "brubankv1-staging.azurewebsites.net", true },
+  { "brucebenes.com", true },
   { "brucekovner.com", true },
   { "brucemartin.net", true },
   { "brucherlaw.lu", true },
@@ -9846,14 +10476,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brudkista.se", true },
   { "brudkistan.nu", true },
   { "brudkistan.se", true },
-  { "brueser-gmbh.de", true },
   { "brugerklub.info", true },
   { "bruijns.org", true },
+  { "brujoincaperuano.com", true },
+  { "brujonegroperuano.com", true },
   { "brunchandmatch.be", true },
   { "brunick.de", false },
   { "brunn.email", true },
   { "brunner.ninja", true },
+  { "brunohenc.from.hr", true },
+  { "brunolt.nl", true },
   { "brunoproduit.ch", false },
+  { "brunoramos.com", true },
+  { "brunoramos.org", true },
   { "brunoreno.be", true },
   { "brush.ninja", true },
   { "brushcreekyachts.com", true },
@@ -9861,7 +10496,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "brusselsexpostudio.ga", true },
   { "brutecloud.com", true },
   { "bruun.co", true },
-  { "bry.do", true },
+  { "bry.do", false },
   { "bryanarmijomd.com", true },
   { "bryandesrosiers.com", true },
   { "bryanfalchuk.com", true },
@@ -9883,22 +10518,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bsatroop794.org", true },
   { "bsc-rietz.at", true },
   { "bscc.support", true },
+  { "bscquimicos.com.br", true },
   { "bsd-box.net", true },
   { "bsdes.net", true },
+  { "bsdfreak.dk", true },
   { "bsdio.com", true },
+  { "bsdlab.com", true },
   { "bsdracing.ca", true },
   { "bsdunix.xyz", true },
   { "bsee.gov", true },
+  { "bserved.de", true },
   { "bsg.ro", false },
   { "bsgamanet.ro", false },
   { "bsgcredit.ro", true },
   { "bsidesf.com", true },
   { "bsidesf.org", true },
   { "bsidessf.com", true },
-  { "bsimerch.com", true },
   { "bsimyanmar.com", true },
   { "bsmn.ga", true },
-  { "bsmomo-api.com", true },
   { "bso-buitengewoon.nl", true },
   { "bsociabl.com", true },
   { "bsp-southpool.com", true },
@@ -9923,6 +10560,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "btcpop.co", true },
   { "bte365app.com", true },
   { "bteapp.com", true },
+  { "bthub.site", true },
+  { "bthub.xyz", true },
   { "btio.pw", false },
   { "btmstore.com.br", true },
   { "btnissanparts.com", true },
@@ -9930,17 +10569,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "btorrent.xyz", true },
   { "btsapem.com", true },
   { "btshe.net", true },
-  { "btshenqi.cc", true },
+  { "btsmoments.com", true },
   { "btsoft.eu", true },
   { "btsou.org", true },
   { "btsow.com", false },
+  { "btsybt.com", true },
   { "btt0101.com", true },
   { "btt0303.com", true },
   { "btt0505.com", true },
   { "btt0606.com", true },
   { "btt0707.com", true },
   { "btt0707a.com", true },
-  { "btt11.net", true },
   { "btt1111.com", true },
   { "btt1212.com", true },
   { "btt1313.com", true },
@@ -10000,6 +10639,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "btt686.com", true },
   { "btt6868.com", true },
   { "btt7272a.com", true },
+  { "btt7676.com", true },
   { "btt775.com", true },
   { "btt7878.com", true },
   { "btt8.me", true },
@@ -10007,7 +10647,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "btt829.com", true },
   { "btt830g.com", true },
   { "btt8787a.com", true },
-  { "btt88.net", true },
   { "btt88818.com", true },
   { "btt889g.com", true },
   { "btt891.com", true },
@@ -10022,7 +10661,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "btta15.com", true },
   { "btta16.com", true },
   { "btta26.com", true },
-  { "btta27.com", true },
   { "btta30.com", true },
   { "bttc.co.uk", true },
   { "btth.pl", true },
@@ -10030,8 +10668,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bttna.com", true },
   { "bttorj45.com", true },
   { "bttp7.com", true },
-  { "bttt111.com", true },
-  { "bttt222.com", true },
   { "bttt333.com", true },
   { "bttt999.com", true },
   { "bttyulecheng0.com", true },
@@ -10042,7 +10678,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bubblespetspa.com", true },
   { "bubblin.io", true },
   { "bubblinghottubs.co.uk", true },
-  { "bubblybouncers.co.uk", true },
   { "bubulazi.com", false },
   { "bubulazy.com", true },
   { "bucek.cz", true },
@@ -10054,22 +10689,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bucketlist.co.ke", true },
   { "buckscountyobgyn.com", true },
   { "buckypaper.com", true },
+  { "buddhismedia.com", true },
   { "buddhismus.net", true },
   { "buddie5.com", true },
   { "buddlycrafts.com", true },
-  { "buddy-acceptance-authentication-api.azurewebsites.net", true },
-  { "buddy-acceptance-authentication-frontend.azurewebsites.net", true },
-  { "buddy-acceptance-backoffice-frontend.azurewebsites.net", true },
-  { "buddy-acceptance-banking-api.azurewebsites.net", true },
-  { "buddy-acceptance-profiles-api.azurewebsites.net", true },
-  { "buddy-acceptance-users-api.azurewebsites.net", true },
-  { "buddy-acceptance-web-frontend.azurewebsites.net", true },
   { "buddycompany.net", true },
   { "buddyme.me", true },
   { "buddytop.com", true },
   { "buddyworks.net", true },
   { "budeanu.com", true },
-  { "budger.nl", true },
   { "budget.gov", true },
   { "budgetalk.com", true },
   { "budgetboats.net", true },
@@ -10080,6 +10708,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "budntod.com", true },
   { "budolangnau.ch", true },
   { "budolfs.de", true },
+  { "budowle.pl", true },
   { "bueltge.de", true },
   { "buena-vista.cz", true },
   { "buena.me", true },
@@ -10095,21 +10724,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "buffaloturf.com.au", true },
   { "buffashe.com", false },
   { "buffup.media", true },
+  { "buffus.cz", true },
+  { "bug.blue", true },
   { "bug.ee", true },
   { "bugcrowd.com", true },
-  { "bugginslab.co.uk", true },
   { "bugs.chromium.org", true },
   { "bugsmashed.com", true },
   { "bugteam.cn", true },
-  { "bugu.org", true },
   { "bugwie.com", true },
   { "bugzil.la", true },
   { "bugzilla.mozilla.org", true },
+  { "buhayprincipal.com", true },
   { "build.chromium.org", true },
   { "buildbytes.com", true },
   { "buildhoscaletraingi.com", true },
-  { "buildiffuse.com", false },
+  { "buildingbitcoin.org", true },
   { "buildingclouds.de", true },
+  { "buildingpoint.pt", true },
+  { "builditsolutions.net", true },
   { "buildkite.com", true },
   { "buildmorebuslanes.com", true },
   { "buildplease.com", true },
@@ -10117,7 +10749,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "builtvisible.com", true },
   { "builtwith.com", true },
   { "buissonchardin.fr", true },
+  { "buitenposter.nl", true },
+  { "bukalapak.com", true },
   { "bukiskola.hu", true },
+  { "bukivallalkozasok.hu", true },
   { "bukkenfan.jp", true },
   { "bulario.com", true },
   { "bulario.net", true },
@@ -10129,24 +10764,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bulldog-hosting.de", false },
   { "bulledair-savons.ch", false },
   { "bullettags.com", true },
+  { "bullseyemetrics.com", true },
   { "bullshitmail.nl", true },
   { "bullterrier.nu", true },
   { "bulvar.tk", true },
   { "bulwarkcrypto.com", true },
   { "bulwarkhost.com", true },
   { "bumble.com", true },
+  { "bumilangkawi.com", true },
   { "bund-von-theramore.de", true },
   { "bundespolizei-forum.de", true },
+  { "bundesverband-krisenintervention.de", true },
+  { "bundesverbandkrisenintervention.de", true },
   { "bundito.com", true },
   { "bungabuket.com", true },
+  { "bungaspa.com", true },
   { "bungee.pw", true },
   { "bunix.de", true },
   { "bunkyo-life.com", true },
   { "bunny-rabbits.com", true },
   { "bunny.parts", true },
-  { "bunnycarenotes.com", true },
   { "bunnydiamond.de", true },
   { "bunzy.ca", true },
+  { "buongiornolatina.it", true },
   { "buonventosbt.eu", true },
   { "bupropion.com", true },
   { "burakogun.com", true },
@@ -10156,6 +10796,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "burakogun.org", true },
   { "burbankdental.com", true },
   { "burcevo.info", true },
+  { "burchfabrics.com", true },
   { "bureaugoodwork.nl", true },
   { "burg-hohnstein.com", true },
   { "burgernet.nl", true },
@@ -10167,7 +10808,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "buriramradio.com", true },
   { "burke.services", true },
   { "burkhardt.at", true },
+  { "burkow.ru", true },
   { "burlapsac.ca", true },
+  { "burlingtonhs.com", true },
+  { "burncorp.org", true },
   { "burnerfitness.com", true },
   { "burnhamonseabouncycastles.co.uk", true },
   { "burningbird.net", true },
@@ -10190,6 +10834,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "buscasimple.com", true },
   { "buselefante.tk", true },
   { "bushbaby.com", true },
+  { "bushfirerecovery.gov.au", true },
   { "busindre.com", true },
   { "business-garden.com", true },
   { "business-secreti.gq", true },
@@ -10212,7 +10857,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "busuttil.org.uk", true },
   { "buswiki.ml", true },
   { "butarque.es", true },
-  { "buthowdoyoubuygroceries.com", true },
   { "butikvip.ru", true },
   { "butlerfm.dk", true },
   { "butter.horse", true },
@@ -10232,7 +10876,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "buy-los-angeles-auto-insurance.com", true },
   { "buy-out.jp", true },
   { "buy-zofran.ga", true },
-  { "buy2dollars.com", true },
   { "buyaccessible.gov", true },
   { "buyamerican.gov", false },
   { "buybutton.store", true },
@@ -10244,12 +10887,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "buyerdocs.com", true },
   { "buyessay.org", true },
   { "buyessays.net", true },
-  { "buyessayscheap.com", true },
   { "buyinginvestmentproperty.com", true },
   { "buylasix.ml", true },
   { "buylevaquin.tk", true },
   { "buypapercheap.net", true },
-  { "buyplaytix.com", true },
   { "buyplore.com", true },
   { "buyrogaine.ga", true },
   { "buyseo.store", true },
@@ -10265,9 +10906,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bvgt.org", true },
   { "bviphotovideo.com", true },
   { "bvl.aero", true },
+  { "bvprecords.com", true },
   { "bvsa.co.za", true },
   { "bw.codes", true },
   { "bwanglab.com", true },
+  { "bwasoimoveis.net", true },
   { "bwcscorecard.org", true },
   { "bwfc.nl", true },
   { "bwgjms.com", true },
@@ -10278,36 +10921,55 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bwhbwh.net", true },
   { "bwilkinson.co.uk", true },
   { "bwin18.cc", true },
-  { "bwin369.cc", true },
   { "bwin58.cc", true },
   { "bwl-earth.club", true },
   { "bws16.de", true },
   { "bwserhoscaletrainaz.com", true },
   { "bx-n.de", true },
-  { "bxegypt.com", true },
+  { "bxdj2.com", true },
+  { "bxdj3.com", true },
+  { "bxdj4.com", true },
+  { "bxdj5.com", true },
+  { "bxdj6.com", true },
+  { "bxdj666.com", true },
+  { "bxdj7.com", true },
+  { "bxdj8.com", true },
+  { "bxdj88.com", true },
+  { "bxdj888.com", true },
+  { "bxdj9.com", true },
   { "bxp40.at", true },
+  { "bxzx1.com", true },
+  { "bxzx2.com", true },
+  { "bxzx3.com", true },
+  { "bxzx4.com", true },
+  { "bxzx5.com", true },
+  { "bxzx6.com", true },
+  { "bxzx7.com", true },
+  { "bxzx9.com", true },
   { "by-robyn.nl", true },
   { "byange.pro", true },
+  { "byanjushka.com", true },
   { "byatte.com", true },
   { "byaustere.com", true },
-  { "bye-bye.us", true },
+  { "bycrates.com", true },
   { "byeskille.no", true },
   { "byggonline.ga", true },
   { "bygningsregistrering.dk", true },
-  { "byjamesrush.com", true },
+  { "byhenryvera.com", true },
+  { "byjus.com", true },
   { "byjuschennai.com", true },
+  { "byket.lviv.ua", true },
+  { "byluthier.com", true },
   { "bymark.co", true },
   { "bymike.co", true },
   { "bynder.com", true },
-  { "bynet.cz", true },
+  { "bynumlaw.net", true },
   { "bypass.sh", true },
   { "bypetula.cz", true },
-  { "byraje.com", true },
   { "byrko.cz", true },
   { "byrnesagency.com", true },
   { "byronkg.us", true },
   { "byrtz.de", true },
-  { "bysgo.com", true },
   { "bytanchan.com", true },
   { "byte-time.com", true },
   { "byte.nl", true },
@@ -10315,15 +10977,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bytearts.net", false },
   { "bytebucket.org", true },
   { "bytecode.no", true },
+  { "bytedigital.es", true },
   { "byteflies.com", true },
   { "bytegoing.com", true },
   { "bytejail.com", true },
   { "bytelog.org", false },
   { "bytema.cz", true },
   { "bytema.eu", true },
+  { "bytema.re", true },
   { "bytema.sk", true },
   { "bytemix.cloud", true },
-  { "bytenoc.nl", true },
   { "bytepen.com", true },
   { "bytes.co", true },
   { "bytes.fyi", true },
@@ -10332,7 +10995,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bytesign.de", true },
   { "bytesizedalex.com", true },
   { "bytesund.biz", true },
-  { "bytesunlimited.com", false },
   { "byteswave.cl", true },
   { "bytesystems.com", true },
   { "byteterrace.com", true },
@@ -10340,10 +11002,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "bytheswordinc.com", true },
   { "bythisverse.com", true },
   { "bytrain.net", true },
+  { "byuu.net", true },
+  { "byuu.org", true },
   { "byvshie.com", true },
+  { "bywin9.com", true },
   { "byxong.com", true },
   { "bzh.tf", true },
-  { "bziaks.xyz", true },
   { "bzsparks.com", false },
   { "bztech.com.br", true },
   { "bzv-fr.eu", true },
@@ -10359,6 +11023,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "c0rporation.com", true },
   { "c2design.it", true },
   { "c2lab.net", true },
+  { "c30365.com", true },
+  { "c35.design", true },
   { "c36533.com", true },
   { "c36594.com", true },
   { "c3kidspace.de", true },
@@ -10371,17 +11037,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "c4539.com", true },
   { "c4k3.net", true },
   { "c5h8no4na.net", true },
+  { "c678.top", true },
   { "c7dn.com", true },
-  { "c86255.com", true },
-  { "c8ms113.com", true },
+  { "c86255.com", false },
   { "ca-key.de", true },
   { "ca.gparent.org", true },
   { "ca.search.yahoo.com", false },
   { "ca5.de", true },
+  { "caai.cc", true },
   { "caaps.org.au", true },
   { "caarecord.org", true },
   { "caasd.org", true },
-  { "cabalacoach.com", true },
+  { "cabaal.net", true },
   { "cabaladada.org", true },
   { "cabarave.com", true },
   { "cabecera-descendimiento.tk", true },
@@ -10389,11 +11056,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cabezadelcaballo.tk", true },
   { "cabforum.org", true },
   { "cabineritten.nl", true },
-  { "cabinet-bedin.com", true },
-  { "cabinet-life.fr", true },
+  { "cabinet-life.fr", false },
   { "cabinetfurnituree.com", true },
   { "cablemod.com", true },
   { "cablesandkits.com", true },
+  { "cabooneconstruction.com", true },
   { "cabotfinancial.co.uk", true },
   { "cabuna.hr", true },
   { "cacao-chocolate.com", true },
@@ -10401,14 +11068,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cacaolalina.com", true },
   { "cacaumidade.com.br", true },
   { "cachacacha.com", true },
+  { "cachchoi138bet.com", true },
   { "cachedview.nl", true },
   { "cachetur.no", true },
   { "cackette.com", true },
-  { "cacn.pw", true },
   { "cacrm.com", true },
   { "cactuspedia.ga", true },
+  { "cactusyaktopus.com", true },
   { "cad-noerdlingen.de", true },
-  { "cadafamilia.de", true },
   { "cadams.io", true },
   { "caddyfashionshop.com", true },
   { "cadenceconstruction.com", true },
@@ -10420,12 +11087,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cadmanlaw.ca", true },
   { "cadmanlaw.com", true },
   { "cadmax.pro", true },
+  { "cadmechanic.com", true },
   { "cadooz.com", true },
   { "cadorama.fr", true },
   { "cadoth.net", true },
   { "cadra.nl", true },
   { "cadre.com", true },
   { "cadsys.net", true },
+  { "cadusilva.com", true },
   { "caesarkabalan.com", true },
   { "caetanobenet.es", true },
   { "caetanoflotas.es", true },
@@ -10434,6 +11103,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "caetanoformulagalicia.es", true },
   { "caetanomotorsmalaga.es", true },
   { "caetanoreicomsa.es", true },
+  { "cafe-pauline.de", true },
   { "cafedelahalle.com", true },
   { "cafedupont.be", true },
   { "cafedupont.co.uk", true },
@@ -10445,20 +11115,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cafenix.tk", true },
   { "cafeobscura.nl", true },
   { "caferagazzi.de", true },
+  { "cafericoy.com", true },
   { "cafermin.com", true },
   { "cafeterasbaratas.net", true },
   { "caffeinatedcode.com", true },
-  { "caffeinatedengineers.com", true },
   { "caffeinefiend.org", true },
   { "cafled.org", true },
-  { "caglarcakici.com", true },
   { "cainhosting.com", false },
-  { "cairuz.in", true },
   { "cais.de", true },
   { "caizx.com", false },
   { "caja-pdf.es", true },
   { "cajalosandes.cl", true },
   { "cajio.ru", true },
+  { "cake-n-go.com", true },
   { "cakearific.com", true },
   { "cakeoffencesact.uk", true },
   { "cakesbyzoey.com", true },
@@ -10509,34 +11178,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "calibso.net", true },
   { "calichines.com", true },
   { "caliderumba.com", true },
+  { "californiamusicacademy.com", true },
   { "californiawomensmedicalclinic.com", true },
   { "calitateavietii-ardeal.ro", true },
   { "calixte-concept.fr", true },
   { "call-centervko.kz", true },
   { "call.me", true },
   { "callanan.nl", true },
-  { "callantonia.com", true },
   { "callear.org", true },
   { "callerstrom.se", true },
-  { "callfunc.com", true },
   { "callhub.io", true },
   { "callmewhatever.com", true },
+  { "callqa.center", true },
   { "calltoar.ms", true },
   { "calltothepen.com", true },
   { "callumsilcock.com", true },
   { "callumsilcock.me", true },
-  { "calluna.nl", true },
   { "calluro.hr", true },
   { "calmtech.com", true },
   { "calomel.org", true },
   { "calonmahasiswa.com", true },
   { "calotte-academy.com", true },
   { "calposa.ml", true },
+  { "calprut.com", true },
   { "calrotaract.org", true },
   { "calucon.de", true },
   { "calverleyparish.church", true },
   { "calvin.my", true },
   { "calvinallen.net", false },
+  { "calyxinstitute.org", true },
   { "calzadonline1-latam.com", true },
   { "calzadonline1.com", true },
   { "camago.dk", true },
@@ -10551,40 +11221,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "camarillooutdoorlighting.com", true },
   { "camashop.de", true },
   { "camastowncar.com", true },
-  { "cambiemosjuegos.com", true },
+  { "camberford.com", true },
   { "cambier.org", true },
-  { "cambiowatch.ch", false },
   { "cambodiainfo.tk", true },
   { "cambodian.dating", true },
   { "cambreaconsulting.com", true },
   { "cambridge-examen.nl", true },
   { "cambridge-security.com", true },
+  { "cambridgeanalytica.cz", true },
   { "cambridgebouncers.co.uk", true },
   { "cambridgesecuritygroup.org", true },
   { "cambuslangharriers.org", true },
   { "camcapital.com", true },
+  { "camclips.pro", true },
   { "camconn.cc", true },
   { "camdesign.pl", true },
   { "cameo-membership.uk", true },
-  { "camera-news.com", true },
+  { "cameo.ee", true },
   { "cameramark.nl", true },
   { "cameraslyphotography.tk", true },
   { "cameraviva.com.br", true },
   { "camerweb.es", true },
+  { "camilastore.com.br", true },
   { "camilomodzz.net", true },
   { "camisetasmalwee.com.br", true },
   { "camolist.com", true },
   { "camp-pleinsoleil.ch", true },
-  { "camp.co.uk", true },
   { "campaign-ad.com", true },
-  { "campaign.gov.uk", true },
   { "campaignhelpdesk.org", true },
   { "campaignlake.com", true },
   { "campaignwiki.org", true },
   { "campamentos.info", true },
   { "campbellapplianceheatingandair.com", true },
+  { "campbellkennedy.co.uk", true },
   { "campcambodia.org", true },
-  { "campcanada.org", true },
   { "camperdays.de", true },
   { "camperlist.com", true },
   { "campermanaustralia.com", true },
@@ -10592,7 +11262,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "camperverzekerd.nl", true },
   { "campfiretails.org", true },
   { "camping-aupigeonnier.fr", true },
-  { "camping-landes.com", true },
   { "camping-le-pasquier.com", true },
   { "camping-seilershof.de", true },
   { "campinghuntingshooting.com", true },
@@ -10602,6 +11271,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "campmackinaw.com", true },
   { "campo-salado.com", true },
   { "campsoulfestival.com", true },
+  { "camptuk.org", true },
   { "campula.cz", true },
   { "campus-discounts.com", true },
   { "campus-finance.com", true },
@@ -10622,6 +11292,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "camshowverse.to", true },
   { "camsky.de", false },
   { "canada.ind.br", true },
+  { "canadaabroad.com", true },
   { "canadabread.com", false },
   { "canadaradon.com", true },
   { "canadasmotorcycle.ca", true },
@@ -10631,8 +11302,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "canadianoutdoorequipment.com", true },
   { "canadiantouristboard.com", true },
   { "canalecontracting.com", true },
-  { "canalsidehouse.be", true },
-  { "canalsidehouse.com", true },
   { "canariculturacolor.com", true },
   { "canarymod.net", true },
   { "canavilage.com", true },
@@ -10660,11 +11329,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "canhas.report", true },
   { "canhazip.com", true },
   { "canhq.tk", true },
+  { "cani-compostelle.fr", true },
   { "canihavesome.coffee", true },
   { "canine-mobility.com", true },
   { "caniuse.email", true },
   { "canker.org", true },
-  { "canmipai.com", true },
   { "cannabis-marijuana.com", true },
   { "cannabiscare.ca", true },
   { "cannabislegality.info", true },
@@ -10677,29 +11346,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cannoli.london", true },
   { "cannyfoxx.me", true },
   { "canobag.es", true },
-  { "canoonic.se", true },
   { "canopycleaningmelbourne.com.au", true },
   { "canopytax.com", true },
   { "cant.at", true },
   { "cantatio.ch", false },
   { "canterbury.ws", true },
   { "canterburybouncycastlehire.co.uk", true },
+  { "cantik.co", true },
   { "cantonroadjewelry.com", true },
   { "cantosdisidentes.tk", true },
   { "canttboardpachmarhi.org", true },
   { "canva-dev.com", true },
   { "canva.cn", true },
   { "canva.com", true },
+  { "canvas-gift.com", true },
   { "canx.org", true },
   { "canyonshoa.com", true },
   { "canyoupwn.me", true },
   { "cao.gov", true },
   { "cao.la", true },
+  { "caodo.cf", true },
   { "caoliu.tech", true },
   { "caoshan60.com", true },
   { "capachitos.cl", true },
-  { "capacitacionyautoempleo.com", true },
   { "capacityproject.org", true },
+  { "capalsa.com", true },
   { "capbig.com", true },
   { "capeannpediatrics.com", true },
   { "capebretonpiper.com", true },
@@ -10707,11 +11378,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "caphane.com", true },
   { "caphefin.com", true },
   { "capillary.io", true },
+  { "capimlimaoflores.com.br", true },
   { "capitainebaggy.ch", false },
   { "capital-match.com", true },
   { "capitalcap.com", true },
   { "capitalcollections.org.uk", true },
-  { "capitalfps.com", true },
   { "capitalibre.com", true },
   { "capitalism.party", true },
   { "capitalist.cf", true },
@@ -10722,7 +11393,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "capitolpathways.org", true },
   { "caplinbouncycastles.co.uk", true },
   { "capper.de", true },
-  { "capriccio.to", true },
+  { "caprice-holdings.co.uk", true },
   { "caprichosdevicky.com", true },
   { "caps.is", true },
   { "capsogusto.com", true },
@@ -10736,8 +11407,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "captivationtheory.com", true },
   { "capturapp.com", false },
   { "capture-app.com", true },
+  { "captured-symphonies.com", true },
   { "capuchinox.com", true },
   { "caputodesign.com", true },
+  { "car-forums.com", true },
   { "car-spaw-rac.fr", true },
   { "car.info", true },
   { "car24.de", true },
@@ -10756,13 +11429,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "carbon.coop", true },
   { "carbon12.org", true },
   { "carbon12.software", true },
-  { "carbonating.com", true },
   { "carboneselectricosnettosl.info", false },
   { "carbonnel.me", true },
   { "carbono.uy", true },
   { "carbontv.com", true },
   { "carburetorcycleoi.com", true },
   { "carbuyersbrisbane.com.au", true },
+  { "carcani.com", true },
   { "carcloud.ch", true },
   { "card-cashing.com", true },
   { "cardano.eco", true },
@@ -10774,11 +11447,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "carddreams.nl", true },
   { "cardexchangesolutions.com", true },
   { "cardiagnostics.tk", true },
-  { "cardioc.ru", true },
+  { "cardideas.xyz", true },
+  { "cardingforum.co", true },
+  { "cardioagainstcancer.nl", true },
   { "cardios.srv.br", true },
+  { "cardjit.su", true },
   { "cardoni.net", true },
   { "cardozovargas.com", true },
-  { "cardozovargas.me", true },
   { "cardranking.jp", true },
   { "cardrecovery.fr", true },
   { "cardsolutionsbh.com.br", true },
@@ -10786,40 +11461,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cardxl.de", true },
   { "cardxl.fr", true },
   { "cardxl.nl", true },
-  { "care-spot.biz", true },
-  { "care-spot.com", true },
-  { "care-spot.info", true },
-  { "care-spot.mobi", true },
-  { "care-spot.net", true },
-  { "care-spot.org", true },
-  { "care-spot.us", true },
   { "care4all.com", true },
   { "careeapp.com", true },
   { "career.support", true },
   { "careeroptionscoach.com", true },
-  { "careers.plus", true },
   { "careertransformed.com", true },
   { "carefulcolor.com", true },
   { "caremad.io", true },
   { "carepan.ga", true },
   { "carepassport.com", true },
-  { "carespot.biz", true },
-  { "carespot.co", true },
-  { "carespot.mobi", true },
-  { "carespot.net", true },
-  { "carespot.org", true },
-  { "carespot.us", true },
-  { "carespotexpress.com", true },
-  { "carespotexpresshealthcare.com", true },
-  { "carespottravelmedicine.com", true },
-  { "carespoturgentcare.com", true },
-  { "carespoturgentcare.info", true },
-  { "carespoturgentcare.net", true },
-  { "carespoturgentcare.org", true },
-  { "carespoturgentcare.us", true },
+  { "carespan.clinic", true },
   { "caretta.co.uk", true },
   { "careyshop.cn", true },
   { "carezone.com", false },
+  { "carezzaperu.com", true },
   { "carfinancehelp.com", true },
   { "carfinans.ru", true },
   { "carfraemill.co.uk", true },
@@ -10874,6 +11529,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "carnaticalifornia.com", true },
   { "carnet-du-voyageur.com", true },
   { "carnildo.com", true },
+  { "carnivorousplants.co.uk", true },
   { "caroes.be", true },
   { "caroffer.ch", true },
   { "carol-lambert.com", true },
@@ -10884,17 +11540,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "caroli.net", true },
   { "carolicious.tk", true },
   { "carolina.cz", true },
+  { "carolinaallergyandasthma.com", true },
   { "carolinaclimatecontrolsc.com", true },
   { "carolinaoliveira.tk", true },
   { "carolinapainandspine.com", true },
   { "carolineball.com", true },
   { "carolineeball.com", true },
   { "carolinehanania.com", true },
-  { "carolynjoyce.com.au", true },
   { "carontetourist.hr", true },
   { "carontetouristisoleminori.it", true },
   { "carousel.ga", true },
-  { "carparo.net", true },
   { "carpet---cleaning.com", true },
   { "carpetandhardwoodflooringpros.com", true },
   { "carpetcleaning-cypress.com", true },
@@ -10916,7 +11571,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "carson-matthews.co.uk", true },
   { "carsoug.com", true },
   { "carspneu.cz", true },
-  { "cartaodigi.com", true },
   { "cartegrise.xyz", true },
   { "carteirasedistintivos.com.br", true },
   { "carterdan.net", true },
@@ -10947,6 +11601,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "casaasia.cat", true },
   { "casaasia.es", true },
   { "casaasia.eu", true },
+  { "casabella.com.tw", true },
   { "casabouquet.com", true },
   { "casacazoleiro.com", true },
   { "casacochecurro.com", true },
@@ -10958,11 +11613,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "casalribeiro.com", true },
   { "casalunchbreak.de", true },
   { "casamariposaspi.com", true },
+  { "casamarrom.com.br", true },
+  { "casamentos.com.br", true },
   { "casapalla.com.br", true },
   { "casasuara.com", true },
   { "casavacanze.estate", true },
   { "casbuijs.nl", true },
-  { "casburggraaf.com", false },
   { "casc.cz", true },
   { "cascadesjobcorpscca.com", true },
   { "cascavelle.fr", true },
@@ -10972,10 +11628,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "casecurity.org", true },
   { "caseificio.roma.it", true },
   { "caseof.fr", true },
-  { "caseplus-daem.de", true },
   { "cases.lu", true },
   { "caseycapitalpartners.com", true },
   { "cash-4x4.com", true },
+  { "cash.me", true },
+  { "cash.nyc", true },
   { "cashati.com", true },
   { "cashbook.co.tz", true },
   { "cashbot.cz", true },
@@ -10984,7 +11641,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cashfazz.com", true },
   { "cashflowstrategist.com", true },
   { "cashforcarremovalsipswich.com.au", true },
-  { "cashlogic.ch", false },
   { "cashmaxtexas.com", true },
   { "cashontime.com", true },
   { "cashplk.com", true },
@@ -11005,6 +11661,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "casinoguide.dk", true },
   { "casinolegal.pt", true },
   { "casinolistings.com", true },
+  { "casinoluck.com", true },
   { "casinomucho.com", true },
   { "casinomucho.org", true },
   { "casinomucho.se", true },
@@ -11014,6 +11671,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "casinosblockchain.io", true },
   { "casinotokelau.tk", true },
   { "casio-caisses-enregistreuses.fr", true },
+  { "casio.bg", true },
   { "casjenprome.cz", true },
   { "casperfirm.com", true },
   { "casperpanel.com", true },
@@ -11022,16 +11680,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "castbulletassoc.org", false },
   { "castelannenberg.com", true },
   { "castellet.tk", true },
+  { "castelnuovo.xyz", true },
   { "castiana.xyz", true },
   { "castible.de", true },
   { "castle-engine.io", true },
-  { "castle.network", true },
   { "castlecapers.com.au", true },
-  { "castlecms.io", true },
   { "castleking.net", true },
   { "castlekingdomstockport.co.uk", true },
   { "castlekingkent.co.uk", true },
-  { "castleparty.co.uk", true },
   { "castlepointanime.com", true },
   { "castles-in-the-sky.co.uk", true },
   { "castles4kidz.com", true },
@@ -11049,11 +11705,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "catalyconv.com", true },
   { "catalystapp.co", true },
   { "catbold.space", true },
-  { "catbox.moe", true },
   { "catbull.com", true },
-  { "catburton.co.uk", true },
+  { "catchcrabs.com", true },
   { "catchers.cc", true },
-  { "catchersgear.com", true },
   { "catchhimandkeephim.com", true },
   { "catchief.com", true },
   { "catchkol.com", true },
@@ -11061,6 +11715,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "catenacondos.com", true },
   { "caterbing.com", true },
   { "catering-xanadu.cz", true },
+  { "cateringgoes.nl", true },
   { "cateringvanhetland.nl", true },
   { "catfooddispensersreviews.com", true },
   { "catgirl.science", true },
@@ -11068,14 +11723,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "catharisme.eu", false },
   { "cathcartandwinn.com", true },
   { "catherinejf.com", true },
-  { "cathiebrousse.com", true },
+  { "catherinejflee.com", true },
+  { "catherinesarasin.com", true },
+  { "catherinesofpartick.co.uk", false },
   { "catholic8964.org", true },
   { "catholics.dating", true },
   { "catholicteacherresources.com", true },
   { "cathosa.nl", true },
   { "cathouse.me", true },
+  { "cathy.best", true },
   { "cathy.guru", true },
+  { "cathy.legal", true },
   { "cathy.lgbt", true },
+  { "cathy.link", true },
   { "cathy.website", true },
   { "cathyfitzpatrick.com", true },
   { "cathyjf.ca", true },
@@ -11088,14 +11748,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "catl.st", true },
   { "catlovingcare.com", true },
   { "catmoose.ca", true },
+  { "catmoz.fr", true },
+  { "catprincess.com.tw", true },
   { "catram.org", true },
   { "catus.moe", true },
   { "catveteran.com", true },
+  { "catvsmice.com", true },
+  { "caudo.net", true },
+  { "caudohay.com", true },
   { "caughtredhanded.co.nz", true },
   { "caulfieldeastapartments.com.au", true },
   { "caulfieldracecourseapartments.com.au", true },
   { "cav.ac", true },
   { "cavac.at", true },
+  { "cavaleirocity.com.br", true },
+  { "cave-vet-specialists.co.uk", true },
   { "cavenderhill.com", true },
   { "cavern.tv", true },
   { "cavzodiaco.com.br", true },
@@ -11110,14 +11777,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cbbank.com", true },
   { "cbc-hire.co.uk", true },
   { "cbcf.info", true },
+  { "cbd-oil.shop", true },
   { "cbd.casa", true },
   { "cbd.supply", true },
-  { "cbdcontact.eu", true },
-  { "cbdev.de", true },
   { "cbdmarket.space", true },
-  { "cbdoilcures.co", true },
   { "cbecrft.net", true },
   { "cbin168.com", true },
+  { "cbin9.com", true },
   { "cbintermountainrealty.com", true },
   { "cbnainital.org.in", true },
   { "cbr-rcb.ca", true },
@@ -11128,27 +11794,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cc-customer.de", true },
   { "cc00228.com", false },
   { "cc8822.cc", true },
-  { "cc8833.cc", true },
-  { "ccattestprep.com", true },
-  { "ccavenue.com", true },
+  { "cc98.eu.org", true },
   { "ccblicense.com", true },
   { "ccc-ch.ch", true },
   { "ccc-cloud.de", true },
   { "cccwien.at", true },
   { "ccelectricaldrafting.ca", true },
   { "cceputnam360.com", true },
-  { "ccgx.de", false },
+  { "ccgx.de", true },
+  { "cclasabana.com.co", true },
   { "ccli.com", true },
   { "ccoooss.com", true },
   { "ccparishwilmington.org", true },
   { "ccprwebsite.org", true },
   { "ccr.ovh", true },
   { "ccriderlosangeles.com", true },
+  { "ccsae.org", true },
   { "ccsistema.com", true },
   { "cctv-supraveghere.ro", true },
+  { "cctvsecurityjohannesburg.co.za", true },
   { "cctvview.info", true },
   { "ccu.plus", true },
-  { "ccuuu.com", true },
   { "cd-shopware.de", true },
   { "cd-sport.com", true },
   { "cd.search.yahoo.com", false },
@@ -11159,14 +11825,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cdbf.ch", false },
   { "cdbtech.com", true },
   { "cdburnerxp.se", true },
-  { "cdc.cx", true },
   { "cdda.ch", false },
-  { "cdemi.io", true },
   { "cdepot.eu", true },
   { "cdf.wiki", true },
-  { "cdgfrm.com", true },
   { "cdigitale.com", true },
-  { "cdireland.com", true },
   { "cdkeykopen.com", true },
   { "cdkeyprices.com", true },
   { "cdkeyworld.de", true },
@@ -11182,6 +11844,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cdom.de", true },
   { "cdsdigital.de", true },
   { "cdshining.com", true },
+  { "cdt.org", false },
   { "cdu-gebhardshain.de", true },
   { "cdvl.org", true },
   { "ce-agentur.de", false },
@@ -11195,26 +11858,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cedarcitydining.com", true },
   { "cedarslodge.com", true },
   { "cedehb.be", true },
-  { "cedric-bour.fr", true },
   { "cedricbonhomme.org", true },
   { "cedriccassimo.ch", false },
   { "cedriccassimo.com", false },
+  { "cedricwalter.ch", true },
   { "ceebee.com", true },
   { "ceefaastresources.com", true },
+  { "cefinco.org", true },
   { "cegss.org.gt", true },
   { "ceiba.com.co", true },
-  { "ceiphr.com", true },
+  { "ceiling.cloud", true },
+  { "ceiphr.com", false },
   { "cejhon.cz", false },
   { "celadas.tk", true },
-  { "celcelulares.com", true },
   { "celcomhomefibre.com.my", true },
   { "cele.bi", true },
   { "celebmasta.com", true },
+  { "celebphotos.blog", true },
   { "celebrasianconference.com", true },
   { "celebrityhealthcritic.com", true },
+  { "celebrityphotos.blog", true },
+  { "celebritypics.club", true },
+  { "celebritypics.co", true },
   { "celebrityscope.net", true },
   { "celebritytopnews.tk", true },
+  { "celectro-pro.com", true },
   { "celestebonito.pt", true },
+  { "celestialisms.com", true },
   { "celiac.com", true },
   { "celiendev.ch", false },
   { "celine-patisserie.fr", true },
@@ -11225,6 +11895,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "celltek-server.de", false },
   { "celltesequ.com", true },
   { "celltick.com", true },
+  { "celsoazevedo.com", true },
   { "celtadigital.com", true },
   { "celti.ie.eu.org", true },
   { "celti.name", true },
@@ -11238,6 +11909,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "censurfridns.nu", true },
   { "censys.io", true },
   { "centaur.de", true },
+  { "centella.tw", true },
   { "centennialradon.com", true },
   { "centennialrewards.com", true },
   { "centennialseptic.com", true },
@@ -11249,12 +11921,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "centio.bg", true },
   { "centos.cz", true },
   { "centos.tips", true },
-  { "centralbank.ae", true },
+  { "centralconvergence.com", true },
   { "centraldoencanador.com.br", true },
   { "centralebigmat.eu", true },
   { "centralegedimat.eu", true },
-  { "centralfor.me", true },
   { "centralheating.hu", true },
+  { "centraljerseyrcca.com", true },
   { "centralmissourifoundationrepair.com", true },
   { "centralpaellera.com", true },
   { "centralpoint.be", false },
@@ -11268,15 +11940,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "centrepointorguk-dev.azurewebsites.net", true },
   { "centrobill.com", true },
   { "centrodeesteticarecife.com", true },
-  { "centroecuestrecastellar.com", true },
   { "centrojovencuenca.es", true },
   { "centrolavoro.org", true },
   { "centroperugia.gr", true },
   { "centrosocialferrel.pt", true },
   { "centrum-edukacji.tk", true },
   { "centrumhodinek.cz", true },
+  { "centrumpieknairelaksu.pl", true },
   { "centruvechisv.ro", true },
+  { "centsay.info", true },
+  { "centsay.io", true },
+  { "centsay.net", true },
+  { "centsay.org", true },
+  { "centsiwallet.com", true },
   { "centum.no", true },
+  { "centumail.com", true },
   { "centura.de", true },
   { "centurialeonina.com", true },
   { "centurion-consulting.net", true },
@@ -11285,10 +11963,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "centurioninfosec.com.sg", true },
   { "centurioninfosec.hk", true },
   { "centurioninfosec.sg", true },
+  { "centurionunderground.com", true },
   { "centurykiaparts.com", true },
   { "centurystonedental.com", true },
   { "ceopedia.org", true },
-  { "ceramiche.roma.it", true },
+  { "cepek4d.com", true },
   { "ceramixcoating.nl", true },
   { "ceramiya.com", true },
   { "cerastar.com", true },
@@ -11301,8 +11980,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cermak.photos", true },
   { "cernac.cz", true },
   { "cerpus-course.com", true },
-  { "cerrajeriaamericadelquindio.com", true },
-  { "cerrajeriaenvillavicencio.com", true },
   { "cert.ee", true },
   { "cert.govt.nz", true },
   { "certaintelligence.com", true },
@@ -11315,11 +11992,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "certificatedetails.com", true },
   { "certificatetools.com", false },
   { "certificato-prevenzione-incendi.it", true },
+  { "certificazione.it", true },
   { "certificazioni-energetiche.it", true },
   { "certifiednurses.org", true },
+  { "certifix.eu", true },
   { "certisoncologysolutions.com", true },
-  { "certmonitor.com.au", true },
-  { "certmonitor.net", true },
   { "certnazionale.it", true },
   { "certspotter.com", true },
   { "certspotter.org", true },
@@ -11328,6 +12005,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cesarparedespacora.com", true },
   { "cesdb.com", true },
   { "cesipagano.com", true },
+  { "ceska-polygraficka.cz", true },
   { "ceskaexpedice.org", true },
   { "ceskepivnesety.sk", true },
   { "ceskepivnisety.cz", true },
@@ -11336,10 +12014,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cestasedelicias.com.br", true },
   { "cetamol.com", true },
   { "ceu.edu", false },
+  { "ceverett.io", true },
   { "cevin.at", true },
   { "cevo.com.hr", true },
   { "cezdent.com", true },
   { "cf-ide.de", true },
+  { "cfan.space", true },
   { "cfc-swc.gc.ca", true },
   { "cfda.gov", true },
   { "cfdcre5.org", true },
@@ -11348,6 +12028,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cflsystems.com", false },
   { "cfno.org", true },
   { "cfo.gov", true },
+  { "cfotech.asia", true },
+  { "cfotech.co.nz", true },
+  { "cfotech.com.au", true },
   { "cfpa-formation.fr", true },
   { "cfrq.ca", true },
   { "cfsh.tk", true },
@@ -11365,6 +12048,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cgcookiemarkets.com", true },
   { "cgeceia.cf", true },
   { "cgf-charcuterie.com", true },
+  { "cgknieuwpoort.nl", true },
   { "cgnparts.com", true },
   { "cgp.moe", true },
   { "cgpe.com", false },
@@ -11374,6 +12058,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ch.bzh", true },
   { "ch.search.yahoo.com", false },
   { "ch47f.com", true },
+  { "chabad360.me", true },
   { "chabaudparfum.com", true },
   { "chabert-provence.fr", true },
   { "chabik.com", true },
@@ -11396,6 +12081,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "challengerinvestors.tk", true },
   { "chalupalokovka.cz", true },
   { "chambion.ch", false },
+  { "champagneandcoconuts.com", true },
   { "champdogs.co.uk", true },
   { "champdogs.com", true },
   { "champicreuse.fr", true },
@@ -11412,14 +12098,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chamsochoa.com", true },
   { "chancekorte.com", true },
   { "chancekorte.net", true },
-  { "chanddriving.co.uk", true },
   { "change-coaching-gmbh.ch", true },
   { "changeanalytics.io", true },
   { "changeanalytics.us", true },
   { "changemywifipassword.com", true },
   { "changes.jp", true },
   { "changesfor.life", true },
+  { "changinglivestoday.org", true },
+  { "channellife.co.nz", true },
+  { "channellife.com.au", true },
   { "channelsurf.tv", false },
+  { "channydraws.com", true },
   { "chantalguggenbuhl.ch", false },
   { "chanz.com", true },
   { "chaos-games.org", true },
@@ -11428,9 +12117,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chaoschemnitz.de", true },
   { "chaosdorf.de", true },
   { "chaosfield.at", true },
+  { "chaosorchestra.com", true },
   { "chaospott.de", true },
   { "chaoswars.ddns.net", true },
   { "chaoswebs.net", true },
+  { "chaoxi.in", true },
+  { "chaoxi.org", true },
+  { "chaoxi.tech", true },
   { "chapek9.com", true },
   { "chapelfordbouncers.co.uk", true },
   { "chapelhousevet.co.uk", true },
@@ -11440,7 +12133,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "charbonnel.eu", true },
   { "charcoal-se.org", true },
   { "charcoalvenice.com", true },
-  { "chardhamhotel.com", true },
   { "charge.co", false },
   { "chargify.com", true },
   { "charisma.ai", true },
@@ -11451,6 +12143,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "charlespitonltd.com", true },
   { "charlesrogers.co.uk", true },
   { "charlestonfacialplastic.com", true },
+  { "charlie.im", true },
   { "charlie4change.com", true },
   { "charliedillon.com", true },
   { "charliegarrod.com", true },
@@ -11469,36 +12162,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "charset.org", true },
   { "charta-digitale-vernetzung.de", true },
   { "charteroak.org", true },
+  { "chartkick.com", true },
   { "chartpen.com", true },
-  { "chartsheets.com", true },
   { "chartsy.de", true },
-  { "chartwellestate.com", true },
   { "chasafilli.ch", true },
   { "chascrazycreations.com", true },
   { "chasetrails.co.uk", true },
   { "chat-house-adell.com", true },
-  { "chat-libera.org", true },
   { "chat-porc.eu", true },
-  { "chat-senza-registrazione.net", true },
   { "chat.cz", true },
-  { "chat40.net", true },
   { "chataberan.cz", true },
   { "chatbelgie.eu", true },
-  { "chatbots.systems", true },
-  { "chatear.social", true },
   { "chateau-de-lisle.fr", true },
   { "chateaudestrainchamps.com", false },
-  { "chateroids.com", true },
-  { "chatfacile.org", true },
   { "chatforskning.no", true },
   { "chatgrape.com", true },
   { "chathund.de", true },
-  { "chatitaly.org", true },
   { "chatnederland.eu", true },
+  { "chatromania.ro", true },
   { "chatswoodprestige.com.au", true },
   { "chatsworthelectrical.com", true },
-  { "chatt-gratis.net", true },
-  { "chatt-gratis.org", true },
   { "chattanoogaface.com", true },
   { "chattergalerie.eu", true },
   { "chattergallery.com", true },
@@ -11511,8 +12194,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chaturbate.com.tw", true },
   { "chaturbates.org", true },
   { "chatxp.com", true },
-  { "chatxsingle.net", true },
-  { "chatxtutti.com", true },
   { "chatzimanolis.com", true },
   { "chatzimanolis.gr", true },
   { "chauffage-budget.fr", true },
@@ -11525,6 +12206,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chazalet.fr", false },
   { "chbs.me", true },
   { "chch.it", true },
+  { "chcheaptech.nz", true },
   { "chcoc.gov", true },
   { "chcsct.com", true },
   { "chcuscojungle.com", true },
@@ -11534,22 +12216,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cheapcaribbean.com", true },
   { "cheapessay.net", true },
   { "cheapestgamecards.at", true },
-  { "cheapestgamecards.be", true },
   { "cheapestgamecards.co.uk", true },
   { "cheapestgamecards.com", true },
-  { "cheapestgamecards.fi", true },
-  { "cheapestgamecards.fr", true },
-  { "cheapestgamecards.nl", true },
-  { "cheapestgamecards.no", true },
   { "cheapgeekts.com", false },
   { "cheapgoa.com", true },
   { "cheapiesystems.com", true },
-  { "cheapsharedhost.com", true },
-  { "cheapsharedhost.org", true },
   { "cheapsmall.tk", true },
-  { "cheapssl.com.tr", true },
   { "cheapsslrenewal.com", true },
   { "cheapsslsecurity.com.au", true },
+  { "cheapsslsecurity.com.ph", true },
   { "cheapticket.in", true },
   { "cheapwritinghelp.com", true },
   { "cheapwritingservice.com", true },
@@ -11565,12 +12240,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "checkmin.cf", true },
   { "checkmyessay.com", true },
   { "checkmyhttps.net", true },
-  { "checkmypsoriasis.com", true },
   { "checkout.google.com", true },
   { "checkpoint-tshirt.com", true },
   { "checkra.in", true },
   { "checkrent.ir", true },
   { "checkspf.net", true },
+  { "checktech.group", true },
   { "checktype.com", true },
   { "checkui.com", true },
   { "checkwebsiteonline.com", true },
@@ -11598,27 +12273,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cheltik.ru", true },
   { "chelyaba.tk", true },
   { "chemco.mu", true },
-  { "chemicalcrux.org", true },
   { "chemicalpharm.com", true },
   { "chemiphys.com", false },
   { "chemistry-schools.com", true },
+  { "chemolak.pl", true },
   { "chenapartment.com", true },
   { "cheneypartners.com", true },
+  { "chengbet.net", true },
   { "chengfayun.com", true },
   { "chengxindong.com", true },
-  { "chenkun.pro", true },
   { "chenky.com", true },
   { "chenna.me", true },
   { "chennien.com", true },
-  { "chenpei.org", true },
   { "chenqinghua.com", true },
-  { "chenx221.ml", true },
-  { "chenx221.xyz", true },
+  { "chentianyi.cn", true },
   { "chenx2210.xyz", true },
   { "chenzhekl.me", true },
   { "chenzhipeng.com.cn", true },
   { "cheque-transitionactive.fr", true },
   { "cheraghestan.com", true },
+  { "cherhenri.com", true },
   { "cherie-belle.com", true },
   { "chernyak.id.au", true },
   { "cherry-green.ch", true },
@@ -11634,7 +12308,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chestercountypediatrics.com", true },
   { "chestercountyroboticsurgery.com", true },
   { "chesterfieldplaceapartmentsstl.com", true },
-  { "chestnut.cf", true },
   { "chetanrana.me", true },
   { "chetwood.se", true },
   { "chevy37.com", true },
@@ -11642,14 +12315,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chewey.de", true },
   { "chewey.org", true },
   { "chewingucand.com", true },
-  { "chez-janine.de", true },
   { "chez-oim.org", true },
-  { "chez.moe", true },
   { "chezbernard.tk", true },
   { "chfr.search.yahoo.com", false },
   { "chhlin.com", true },
   { "chhory.com", true },
   { "chhy.at", true },
+  { "chiangmaimontessori.com", true },
   { "chianti2002.jp", true },
   { "chiaseeds24.com", true },
   { "chiavistello.it", true },
@@ -11657,9 +12329,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chiboost.net", true },
   { "chibr.eu", true },
   { "chic-leather.com", true },
-  { "chicagenial.com", true },
   { "chicagobreastaugdrs.com", true },
   { "chicagoemergencyclosings.com", true },
+  { "chicagofinancesupperclub.com", true },
   { "chicagolug.org", false },
   { "chicback.com", true },
   { "chicisimo.com", true },
@@ -11670,59 +12342,72 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chicurrichi.com", true },
   { "chiemgauflirt.de", true },
   { "chif16.at", true },
-  { "chika.kr", true },
+  { "chifumi.net", true },
+  { "chika.kr", false },
   { "chikazawa.info", true },
+  { "chilbert.co", true },
   { "childcare.gov", true },
   { "childcounseling.org", true },
   { "childcustodylegalaid.org", true },
+  { "childhr.org.au", true },
   { "childno.de", true },
   { "childrenandmedia.org.au", true },
   { "childrenfirstalways.org", true },
   { "childreninadversity.gov", true },
   { "childrens-room.com", true },
+  { "childrenschoicepearland.com", true },
   { "childrensentertainmentleicester.co.uk", true },
   { "childrensfurniture.co.uk", true },
-  { "childrenspartiesrus.com", true },
   { "childstats.gov", true },
   { "childvisitationassistance.org", true },
   { "chiledogphoto.com", true },
   { "chilihosting.eu", true },
   { "chilikin.pro", true },
-  { "chilimath.com", true },
+  { "chilimath.com", false },
   { "chilio.net", true },
   { "chilliwackchurchofgod.com", true },
   { "chima.net", true },
   { "chima.us", true },
   { "chimeratool.com", true },
   { "chimerity.com", true },
+  { "chimm.cc", true },
   { "chimpanzee.net", true },
   { "chimpmatic.com", true },
   { "china-online-news.tk", true },
   { "chinahighlights.ru", true },
+  { "chinasa.net", true },
   { "chinaspaceflight.com", true },
+  { "chinefrancophonie.fr", true },
+  { "chinesemedicine.be", true },
   { "chineserecipes.xyz", true },
   { "ching.tv", true },
+  { "chinookdigital.ca", true },
   { "chinwag.im", true },
   { "chinwag.org", true },
   { "chip.pl", true },
   { "chipcore.com", false },
+  { "chipdig.com", true },
+  { "chipollinko.com.ua", true },
   { "chippy.ch", false },
   { "chipset.no", true },
   { "chiralsoftware.com", true },
   { "chireiden.net", true },
   { "chiro-neuchatel.ch", false },
   { "chiropractic.gr", true },
-  { "chiropracticwpb.com", true },
   { "chiropraktik-riemann.de", true },
   { "chiropraticien-neuchatel.ch", false },
   { "chiropratique-neuchatel.ch", false },
   { "chirosphere.ch", false },
   { "chirpstory.com", true },
+  { "chirr.space", true },
   { "chiru.no", true },
   { "chirurgoplastico.roma.it", true },
   { "chisago-isantidfl.com", true },
   { "chit.search.yahoo.com", false },
+  { "chita.com.br", true },
   { "chitoku.jp", false },
+  { "chizipoms.com", true },
+  { "chk-ccs.com", true },
   { "chksite.com", true },
   { "chl.la", true },
   { "chliine.ch", true },
@@ -11731,11 +12416,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chloes.gr", true },
   { "chloescastles.co.uk", true },
   { "chlth.com", true },
-  { "chmc.ml", true },
   { "chmielarz.it", true },
   { "chmsoft.com.ua", true },
   { "chmsoft.ru", true },
-  { "chocamekong.com", true },
   { "chocgu.com", true },
   { "chocodecor.com.br", true },
   { "chocolah.com.au", false },
@@ -11749,10 +12432,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chook.as", true },
   { "choootto.net", true },
   { "choosemypc.net", true },
+  { "chopchat.com", true },
   { "chopperdesign.com", true },
   { "chordify.net", true },
   { "chorpinkpoemps.de", true },
   { "chosenplaintext.org", true },
+  { "choservices.com", true },
   { "chourishi-shigoto.com", true },
   { "chovancova.sk", true },
   { "choyri.com", true },
@@ -11763,12 +12448,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chrisaitch.com", true },
   { "chrisbryant.me.uk", true },
   { "chrisburnell.com", true },
+  { "chriscampdesigns.com", true },
   { "chriscarey.com", true },
   { "chriscutts.uk", true },
   { "chrisdecairos.ca", true },
   { "chrisgieger.com", true },
   { "chrisirwin.ca", true },
-  { "chrisjean.com", true },
   { "chrislane.com", true },
   { "chrismarker.org", true },
   { "chrismathys.com", true },
@@ -11784,8 +12469,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chrissmiley.co.uk", true },
   { "chrisspencercreative.com", true },
   { "chrisspencermusic.com", true },
-  { "chrissx.ga", true },
-  { "christadelphiananswers.org", true },
   { "christadelphians.eu", true },
   { "christec.net", true },
   { "christensenplace.us", true },
@@ -11795,23 +12478,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "christian-gredig.de", true },
   { "christian-host.com", true },
   { "christian-liebel.com", true },
+  { "christian-oette.de", true },
   { "christian-stadelmann.de", true },
   { "christianadventurecamps.org", true },
   { "christianblog.ml", true },
+  { "christianbsl.com", true },
   { "christiancleva.com", true },
   { "christiancoleman.info", true },
   { "christiandiscourse.net", true },
   { "christianfaq.org", true },
   { "christianforums.com", true },
   { "christiangehring.org", true },
+  { "christianhamacher.de", true },
   { "christianillies.de", true },
-  { "christianjens.com", true },
   { "christianliebel.com", true },
   { "christianlis.org.uk", true },
   { "christianlis.uk", true },
   { "christianmoore.me", true },
   { "christianoliff.com", true },
-  { "christianpilgrimage.com.au", true },
   { "christianr.me", true },
   { "christianrasch.de", true },
   { "christians.dating", true },
@@ -11849,7 +12533,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chromebookchart.com", true },
   { "chromebooksforwork.com", true },
   { "chromereporting-pa.googleapis.com", true },
-  { "chromeworld.ru", true },
   { "chromiumbugs.appspot.com", true },
   { "chromiumcodereview.appspot.com", false },
   { "chromopho.be", true },
@@ -11864,15 +12547,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "chrysanthos.net", true },
   { "chrystajewelry.com", true },
   { "chrystus.pl", true },
-  { "chs.us", false },
   { "chshealthcare.co.uk", true },
   { "chshouyu.com", true },
   { "chsterz.de", true },
   { "chtsi.uk", true },
   { "chuchote-moi.fr", true },
-  { "chuck.ovh", true },
+  { "chuck.ovh", false },
   { "chuill.com", true },
+  { "chukwunyere-chambers.org", true },
   { "chun.pro", true },
+  { "chun.si", true },
   { "chunche.net", true },
   { "chungsir.com.pa", true },
   { "chunk.science", true },
@@ -11886,6 +12570,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "churchwebcanada.ca", true },
   { "churchwebsupport.com", true },
   { "churningtracker.com", true },
+  { "chus-plongee.fr", true },
   { "chwilrank.pl", true },
   { "chyen.cc", true },
   { "chytraauta.cz", true },
@@ -11897,16 +12582,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cialisonlinee.com", true },
   { "ciancode.com", true },
   { "cianmawhinney.me", true },
-  { "ciaracode.com", true },
   { "ciat.no", false },
+  { "cibdol.com", true },
   { "cibercactus.com", true },
+  { "cichlid-world.com", true },
   { "cichol.com", true },
+  { "ciclimattio.com", true },
+  { "cidadedossonhos.org", true },
   { "cidbot.com", true },
   { "ciderclub.com", true },
   { "cidersus.com.ec", true },
   { "cie-theatre-montfaucon.ch", false },
   { "cielly.com", true },
-  { "cienciasempresariais.pt", true },
   { "cierreperimetral.com", true },
   { "cifapme.net", true },
   { "cifop-numerique.fr", true },
@@ -11917,23 +12604,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ciicutini.ro", true },
   { "cikeblog.com", true },
   { "cilacapnews.ml", true },
-  { "ciliwang.live", true },
-  { "ciliwang.org", true },
   { "cilloc.be", true },
   { "cima-idf.fr", true },
   { "cimbalino.org", true },
   { "cimballa.com", true },
   { "cimfax.com", true },
+  { "cimtools.net", true },
   { "cinafilm.com", true },
   { "cine-music.de", true },
   { "cine.to", true },
   { "cinefilzonen.se", true },
-  { "cinefun.net", true },
   { "cinema.paris", true },
   { "cinemarxism.com", true },
   { "cinemasetfree.com", true },
+  { "cinematherapy.org", true },
   { "cinemixer.club", true },
   { "cinemysticism.com", true },
+  { "cinenote.link", true },
   { "cineplex.my", true },
   { "cineworld.co.in", true },
   { "cinexmachina.com", true },
@@ -11947,10 +12634,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cio.go.jp", false },
   { "cio.gov", false },
   { "cioscloud.com", true },
-  { "cip.md", true },
   { "cipartyhire.co.uk", true },
   { "cipher.team", true },
   { "cipherboy.com", true },
+  { "cipherli.st", false },
   { "ciphersuite.info", true },
   { "ciphrex.com", true },
   { "cipri.com", true },
@@ -11964,15 +12651,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "circara.com", true },
   { "circle-people.com", true },
   { "circu.ml", true },
-  { "circuitcityelectricaladelaide.com.au", true },
   { "circulatedigital.com", true },
-  { "circule.cc", true },
+  { "circulosocial77.com", true },
+  { "circumstances.ir", true },
+  { "circus-maximus.de", true },
   { "ciri.com.co", true },
   { "cirrus0.de", true },
   { "cirruslab.ch", true },
   { "cirurgicagervasio.com.br", true },
   { "cirurgicalucena.com.br", true },
   { "cirurgicavirtual.com.br", true },
+  { "cirvapp.com", true },
   { "cisa.gov", true },
   { "ciscodude.net", true },
   { "cisoaid.com", true },
@@ -11983,6 +12672,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cissofitness.com", true },
   { "cisum-cycling.com", true },
   { "cisy.me", true },
+  { "citace.com", true },
+  { "citacepro.com", true },
   { "citas-adultas.com", true },
   { "citationranker.com", true },
   { "citcuit.in", true },
@@ -12000,17 +12691,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "citsc.de", true },
   { "cittadesign.com", false },
   { "citton.com.br", true },
-  { "city-adm.lviv.ua", true },
   { "city-walks.info", true },
   { "citybeat.de", true },
   { "citycreek.studio", true },
   { "citydance.ee", true },
   { "cityfloorsupply.com", true },
+  { "citykohviteek.ee", true },
+  { "citylift.com.ua", true },
   { "citylights.eu", true },
   { "citymoobel.ee", true },
   { "cityoftitans.com", true },
   { "cityoftitansmmo.com", true },
   { "citypro.tk", true },
+  { "cityradiusmaps.com", true },
   { "citysportapp.com", false },
   { "citywidealarms.com", true },
   { "citywisdom.tk", true },
@@ -12024,35 +12717,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "civillines.nl", true },
   { "civiltoday.com", true },
   { "civmob.com", true },
-  { "cixiaoya.space", true },
-  { "cixiaoya1.xyz", true },
-  { "cixiaoya2.xyz", true },
   { "cj-espace-vert.fr", true },
   { "cj-jackson.com", true },
   { "cjbeckert.com", false },
   { "cjdby.net", true },
   { "cjdpenterprises.com", true },
   { "cjdpenterprises.com.au", true },
+  { "cjean.fr", true },
   { "cjenni.ch", true },
   { "cjey.me", true },
   { "cjhzp.net", true },
+  { "cjpsrilanka.lk", true },
   { "cjr.host", true },
-  { "cjs8866.cc", true },
   { "cjsounds.com", true },
   { "ck.cx", true },
-  { "ck1020.cc", true },
+  { "ckenel.com", true },
+  { "ckenell.com", true },
   { "ckenelley.com", true },
   { "ckenelly.com", true },
   { "ckenely.com", true },
+  { "ckennel.com", true },
   { "ckenneley.com", true },
+  { "ckennell.com", true },
   { "ckennelley.com", true },
   { "ckennelly.com", true },
   { "ckennely.com", true },
+  { "ckleemann.de", true },
   { "cklie.de", true },
   { "ckliemann.com", true },
   { "ckliemann.net", true },
   { "ckna.ca", true },
   { "ckostecki.de", true },
+  { "ckp.ie", true },
   { "ckp.io", true },
   { "ckpl.us", true },
   { "cktennis.com", true },
@@ -12069,7 +12765,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "claimflights.ro", false },
   { "claimjeidee.be", true },
   { "claimnote.com", true },
+  { "claimspharmacy.services", true },
   { "clairegold.com", true },
+  { "clairelefort-architectes.com", true },
   { "clairescastles.co.uk", true },
   { "clairette-de-die-lantheaume.fr", true },
   { "claitec.com", true },
@@ -12080,14 +12778,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "clanrose.org.uk", true },
   { "clanwarz.com", true },
   { "clare3dx.com", true },
+  { "claretvillans.com", true },
   { "clarkelectricalservices.com.au", true },
   { "clarkwinkelmann.com", true },
   { "clase3.tk", true },
   { "clash.lol", true },
   { "class.com.au", true },
   { "classdojo.com", true },
+  { "classic-yacht-charters.com", true },
   { "classicalpilates.ca", true },
-  { "classiccutstupelo.com", true },
   { "classicfg.com.au", true },
   { "classics.io", true },
   { "classictheatrecumbria.co.uk", true },
@@ -12100,12 +12799,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "claude.me", true },
   { "claude.photo", true },
   { "claudeleveille.com", true },
+  { "claudia-makeup.com", true },
   { "claudia-urio.com", false },
+  { "claudiney.eti.br", true },
   { "claudiney.id", true },
+  { "claudiney.info", true },
   { "claudiolemos.com", true },
   { "claumarservice.com", true },
   { "claus-bahr.de", true },
   { "clauseriksen.net", true },
+  { "clausewitz-gesellschaft.de", true },
   { "clav1d.com", true },
   { "clawe.de", true },
   { "clawhammer.dk", true },
@@ -12128,11 +12831,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cleanplanet.co.jp", true },
   { "clearance365.co.uk", true },
   { "clearblueday.co.uk", true },
+  { "clearbooks.co.uk", true },
   { "clearbookscdn.uk", true },
   { "clearbreezesecuritydoors.com.au", true },
-  { "clearchaos.net", true },
   { "clearip.com", true },
+  { "clearlinux.org", true },
   { "clearpay.co.uk", true },
+  { "clearsense.com", true },
   { "clearspringinsurance.com", true },
   { "clearview-creative.com", true },
   { "clearvoice.com", true },
@@ -12144,14 +12849,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "clemensbartz.de", true },
   { "clemenscompanies.com", true },
   { "clement-beaufils.fr", true },
-  { "clementfevrier.fr", true },
   { "cles-asso.fr", true },
   { "cles.jp", true },
   { "cleveille.com", true },
   { "clevermatch.com", true },
+  { "cleveroad.com", true },
   { "clevertarget.ru", true },
-  { "cleververmarkten.com", true },
-  { "cleververmarkten.de", true },
   { "clevisto.com", true },
   { "clevvi.com.au", true },
   { "cleysense.com", true },
@@ -12160,12 +12863,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "clicheshishalounge.co.uk", true },
   { "click-licht.de", true },
   { "click2order.co.uk", true },
-  { "click4web.com", true },
+  { "clickalphaville.com.br", true },
   { "clickbasin.co.uk", true },
   { "clickclickphish.com", true },
+  { "clickempresarialgroup.com", true },
   { "clickenergy.com.au", true },
   { "clickingmad.com", true },
-  { "clickphish.com", true },
   { "clien.net", true },
   { "client.coach", false },
   { "clientboss.com", true },
@@ -12177,7 +12880,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cliffburton.tk", true },
   { "clifflu.net", true },
   { "cliffyb.com", true },
-  { "cliksource.com", true },
   { "climaprecio.es", true },
   { "climateinteractive.org", true },
   { "climatestew.com", true },
@@ -12185,6 +12887,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "climatizzatore.roma.it", true },
   { "clindoeilmontagne.com", false },
   { "clinicaarques.es", true },
+  { "clinicadentalados.com", true },
   { "clinicadentalvinateros.es", true },
   { "clinicainfinitydental.com", true },
   { "clinicalrehabilitation.info", true },
@@ -12194,12 +12897,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "clinicasmedicas.com.br", true },
   { "clinicminds.com", true },
   { "clinicos.cl", true },
+  { "cliniko.com", true },
   { "clinique-ser.ca", true },
   { "cliniquevethuy.be", true },
   { "clintonlibrary.gov", true },
+  { "clio.health", true },
   { "clip.ovh", true },
   { "clipchamp.com", true },
   { "clipclip.com", true },
+  { "clippingpathsupport.com", true },
   { "clippings.com", true },
   { "cliqz.com", true },
   { "clive.io", true },
@@ -12214,6 +12920,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "clomid100mg.ga", true },
   { "cloneuniverse.com", true },
   { "clorophilla.net", true },
+  { "closecross.com", true },
   { "closeli.cn", true },
   { "closelinksecurity.co.uk", true },
   { "closelinksecurity.com", true },
@@ -12231,11 +12938,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cloud9bouncycastlehire.com", true },
   { "cloud9vets.co.uk", true },
   { "cloudapps.digital", true },
+  { "cloudboard.fr", true },
   { "cloudbolin.es", true },
   { "cloudbrothers.info", true },
   { "cloudcaprice.net", true },
   { "cloudcert.org", true },
   { "cloudcite.net", true },
+  { "cloudcloudcloud.cloud", true },
   { "cloudclouds.com", true },
   { "cloudcrux.net", true },
   { "clouddesk.co.uk", true },
@@ -12249,10 +12958,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cloudhoreca.com", true },
   { "cloudia.org", true },
   { "cloudily.com", true },
+  { "cloudindex.io", true },
   { "cloudix.cf", true },
   { "cloudkeep.nl", true },
   { "cloudlessdreams.com", false },
-  { "cloudlight.biz", true },
+  { "cloudlight.biz", false },
   { "cloudninelandscapedesign.com", true },
   { "cloudnote.cc", true },
   { "cloudns.net", true },
@@ -12264,26 +12974,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cloudpole.de", true },
   { "cloudsavvyit.com", true },
   { "cloudse.co.uk", true },
-  { "cloudsec.tk", true },
-  { "cloudsecurityalliance.com", true },
-  { "cloudsecurityalliance.net", true },
+  { "cloudsecurityalliance-europe.org", true },
   { "cloudsecurityalliance.org", true },
-  { "cloudsecuritycongress.net", true },
+  { "cloudsecurityalliancelabs.com", true },
   { "cloudsecuritycongress.org", true },
   { "cloudservice.io", true },
   { "cloudservices.nz", false },
   { "cloudsign.jp", true },
   { "cloudspace-analytics.com", true },
   { "cloudspire.net", true },
-  { "cloudsters.nl", true },
-  { "cloudteam.de", true },
+  { "cloudsters.nl", false },
   { "cloudtocloud.tk", true },
   { "cloudtropia.de", true },
+  { "cloudturing.chat", true },
   { "cloudup.com", true },
-  { "cloudwallce.com", true },
+  { "cloudzentechnologies.com", true },
   { "clouz.de", true },
   { "cloveros.ga", true },
   { "clovertwo.com", true },
+  { "clownday.co.uk", true },
   { "clownindeklas.nl", true },
   { "cloxy.com", true },
   { "cloze.com", true },
@@ -12300,10 +13009,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "club-jose.com", true },
   { "club-leondehuanuco.tk", true },
   { "club-premiere.com", true },
-  { "club-reduc.com", true },
   { "club-slow.jp", true },
   { "club-yy.com", true },
+  { "club.zj.cn", true },
   { "club103.ch", false },
+  { "club10x.com", true },
   { "clubapk.com", true },
   { "clubatleticonacionalpotosi.tk", true },
   { "clubcorsavenezuela.com", false },
@@ -12315,19 +13025,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "clubeohara.com", true },
   { "cluberiks.ga", true },
   { "clubfamily.de", true },
-  { "clubiconkenosha.com", true },
   { "clubmarina.store", true },
   { "clubmini.jp", true },
   { "clubnoetig-ink2g.de", true },
+  { "clubon.com.tw", true },
   { "clubon.space", true },
+  { "clubportside.nl", true },
   { "clubtamarugal.tk", true },
   { "cluster.biz.tr", true },
+  { "cluster446.fr", true },
   { "clusterfuck.nz", true },
   { "clutch.ua", true },
   { "clwrota.com", true },
   { "cm-loures.pt", true },
   { "cmacacias.ch", true },
   { "cmadeangelis.it", true },
+  { "cmavs.com", true },
   { "cmc.pt", true },
   { "cmcressy.ch", true },
   { "cmdline.org", true },
@@ -12344,11 +13057,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cmngroupe.com", true },
   { "cmplainpalais.ch", true },
   { "cmpsc.uk", true },
-  { "cmserviscz.cz", true },
   { "cmshangu.com", true },
   { "cmskakuyasu.info", true },
   { "cmskeyholding.co.uk", true },
   { "cmskeyholding.com", true },
+  { "cmsua.ca", true },
   { "cmv.gr", true },
   { "cmylife.nl", true },
   { "cn.search.yahoo.com", false },
@@ -12365,7 +13078,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cncrans.ch", false },
   { "cncs.gov.pt", true },
   { "cni-certing.it", true },
-  { "cnitdog.com", false },
+  { "cnitdog.com", true },
   { "cnre.eu", true },
   { "cnss.io", true },
   { "cnvt.fr", true },
@@ -12373,7 +13086,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "co-founder-stuttgart.de", true },
   { "co.search.yahoo.com", false },
   { "co50.com", true },
-  { "coachapp-ipass.herokuapp.com", true },
+  { "coa.one", true },
   { "coachbakery.com", true },
   { "coachezmoi.ch", false },
   { "coachfederation.ro", true },
@@ -12383,13 +13096,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "coachsystem.ru", true },
   { "coalitionministries.org", true },
   { "coalpointcottage.com", true },
+  { "coastalurgentcarebatonrouge.com", true },
+  { "coastalurgentcarebossier.com", true },
+  { "coastalurgentcaregonzales.com", true },
+  { "coastalurgentcarehouma.com", true },
+  { "coastalurgentcareruston.com", true },
+  { "coastalurgentcarethibodaux.com", true },
   { "coastline.net.au", true },
   { "coastmedicalservice.com", true },
   { "coathangastrangla.com", true },
   { "coathangastrangler.com", true },
   { "coathangerstrangla.com", true },
   { "coathangerstrangler.com", true },
-  { "coatl-industries.com", true },
   { "coatsandcocktails.org", true },
   { "cobalt.io", true },
   { "cobaltgp.com", true },
@@ -12404,18 +13122,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cockfile.com", true },
   { "cockybot.com", true },
   { "coco-line.ch", true },
+  { "cocoa-job.jp", true },
   { "cocoamexico.com", true },
   { "cocodroid.com", true },
   { "coconutoil24.com", true },
   { "cocoscastles.co.uk", true },
+  { "cocounty.org", true },
   { "cocquyt-usedcars.be", false },
-  { "cod88.cc", true },
   { "coda.io", true },
   { "coda.moe", true },
   { "coda.today", true },
   { "coda.world", true },
   { "codabix.com", true },
   { "codabix.de", true },
+  { "code-maze.com", true },
   { "code-poets.co.uk", true },
   { "code-vikings.de", true },
   { "code-well.com", true },
@@ -12428,25 +13148,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "code67.com", true },
   { "codeandpeace.com", true },
   { "codeandsupply.co", true },
+  { "codebitel.com", true },
   { "codebrahma.com", false },
   { "codebrew.com.au", true },
   { "codedelarouteenligne.fr", true },
   { "codedo.info", true },
   { "codedump.net", true },
+  { "codedynasty.com", true },
   { "codeeclipse.com", true },
   { "codeferm.com", true },
   { "codefordus.nrw", true },
   { "codeguard.xyz", true },
   { "codehz.one", true },
   { "codeidea.ga", true },
-  { "codein.ca", true },
+  { "codein.ca", false },
   { "codeine.co.uk", true },
   { "codeit.guru", true },
   { "codeit.us", true },
   { "codejots.com", true },
   { "codelei.fr", true },
   { "codelyoko.club", true },
-  { "codemahrt.com", true },
   { "codemill.se", true },
   { "codemonster.eu", true },
   { "codenode.io", true },
@@ -12471,12 +13192,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "codevat.com", true },
   { "codeventure.de", true },
   { "codeversetech.com", true },
-  { "codewild.de", true },
+  { "codexpert.my", true },
   { "codexpo.net", true },
   { "codeyellow.nl", true },
   { "codific.com", true },
   { "codigodelbonusbet365.com", true },
-  { "codimaker.com", true },
+  { "codigomillonario.com", true },
   { "coding-minds.com", true },
   { "coding.lv", true },
   { "codingblog.org", true },
@@ -12490,7 +13211,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "codymoniz.com", true },
   { "codyqx4.com", true },
   { "coecho.net", true },
-  { "coens.me.uk", true },
   { "coeus.cloud", true },
   { "cofbev.com", true },
   { "coffee-machine.reviews", true },
@@ -12504,13 +13224,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cogitoltd.com", true },
   { "cognicom-gaming.com", true },
   { "cognitip.com", true },
-  { "cognitiveapplications.net", true },
   { "cognitivecomputingconsortium.com", true },
   { "cognitohq.com", true },
-  { "cogsquad.house", true },
   { "coiffeurschnittstelle.ch", true },
   { "coiffeurty.com", true },
-  { "coiffure-andrea.ch", true },
   { "coigach-assynt.org", true },
   { "coignieresentransition.fr", true },
   { "coimmvest.com", true },
@@ -12522,18 +13239,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "coincealed.com", true },
   { "coinchat.im", true },
   { "coincircle.com", true },
-  { "coinclickz.fun", true },
-  { "coinclickz.xyz", true },
   { "coincoin.eu.org", true },
   { "coincolors.co", true },
-  { "coindeal.com", true },
   { "coinf.it", true },
   { "coinflux.com", true },
   { "coingate.com", true },
   { "coinlist.co", false },
   { "coinloan.io", true },
   { "coinmewallet.com", true },
-  { "coinpath.io", true },
   { "coinroom.com", true },
   { "coinsmat.com", true },
   { "coinsuggest.com", true },
@@ -12551,23 +13264,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "col.la", true },
   { "cola-host.tk", true },
   { "colaborativa.tv", true },
+  { "colabug.com", true },
   { "coladv.com", true },
   { "colantonio.homelinux.net", true },
-  { "colasjourdain.fr", true },
   { "colchonesmoon.com", true },
   { "colcomm.com", true },
   { "coldawn.com", false },
   { "coldcardwallet.com", true },
   { "coldfff.com", true },
-  { "coldhak.ca", true },
   { "coldiario.com", true },
   { "coldlasers.org", true },
   { "coldren.org", true },
   { "coldstreamcreekfarm.com", true },
+  { "colectivointerconductual.com", true },
   { "colemak.com", true },
   { "colengo.com", true },
   { "colf.online", true },
   { "colibris.xyz", true },
+  { "colinchartier.com", true },
   { "colincogle.name", true },
   { "colinespinas.com", true },
   { "colinsnaith.co.uk", true },
@@ -12591,13 +13305,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "collada.org", true },
   { "collectdocs.com", true },
   { "collectiblebeans.com", true },
-  { "collectivesupply.com", true },
   { "collectorknives.net", true },
   { "collectorsystems.com", true },
-  { "collegeconnexxions.com.au", true },
   { "collegegirlhd.com", true },
   { "collegenavigator.gov", true },
-  { "collegepaperworld.com", true },
+  { "collegephysicsanswers.com", true },
   { "collegeprospectsofcentralindiana.com", true },
   { "collegereligionandphilosophy.com", true },
   { "collegesexvid.com", true },
@@ -12614,7 +13326,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "colonize.africa", true },
   { "color01.net", true },
   { "colorblindprogramming.com", true },
-  { "colorbrush.ru", true },
   { "colorcodedlyrics.com", true },
   { "colorectalcompounding.com", true },
   { "colorfuldots.com", true },
@@ -12630,22 +13341,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "colpacpackaging.com", true },
   { "colson-occasions.be", false },
   { "coltellisurvival.com", true },
+  { "columbushydroxide.com", true },
+  { "columbushydroxide.net", true },
+  { "columbushydroxide.org", true },
   { "columbuswines.com", true },
-  { "colyakoomusic.com", true },
-  { "colyakootees.com", true },
   { "com-in.de", true },
   { "com.cc", true },
   { "comalia.com", true },
   { "comarkinstruments.net", true },
   { "combigo.com", true },
+  { "combineconquer.com", true },
   { "combron.be", true },
   { "combron.co.uk", true },
   { "combron.com", true },
   { "combron.nl", true },
+  { "combustibilaspen.ro", true },
+  { "comcenter.com", true },
   { "comcol.nl", true },
-  { "comcov.com", true },
   { "comdotgame.com", true },
   { "comdurav.com", true },
+  { "come2cook.com", true },
   { "comeals.com", true },
   { "comedimagrire.it", true },
   { "comedyhuis.nl", true },
@@ -12670,17 +13385,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "comicspornow.com", true },
   { "comicspornoxxx.com", true },
   { "comicwiki.dk", true },
-  { "comidina.com", true },
   { "comiteaintriathlon.fr", true },
   { "comiteexpertes.gc.ca", true },
   { "comlipa.gq", true },
   { "comm.cx", true },
+  { "commania.co.kr", true },
   { "commco.nl", true },
   { "commechezvous.ch", false },
-  { "commerce.gov", true },
+  { "commercesend.com", true },
   { "commercezen.com", true },
-  { "commercia.srl", true },
   { "commercial-academy.fr", true },
+  { "commercialcleaningbrisbane.com.au", true },
   { "commeunamour.com", true },
   { "commissaris-vraagbaak.nl", true },
   { "commissionagenda.com", true },
@@ -12688,24 +13403,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "commlabindia.com", true },
   { "common.io", true },
   { "commoncode.com.au", true },
-  { "commoncode.io", true },
+  { "commoncode.io", false },
   { "commoncore4kids.com", true },
   { "commons-mayflower.tk", true },
   { "commonsenseamericanpolitics.com", true },
   { "communalconsulting.org", true },
   { "communiques.info", true },
+  { "communiquons.org", true },
   { "communist-party.tk", true },
   { "communitychurchafrica.co.za", true },
   { "communitycodeofconduct.com", true },
+  { "communityhealthservices.co.uk", true },
   { "communitymanagertorrejon.com", true },
   { "communote.net", true },
   { "commure.com", true },
   { "como-se-escribe.com", true },
-  { "comoaliviareldolor.de", true },
   { "comoculosdesol.pt", true },
   { "comocurarlagastritis24.online", true },
   { "comocurarlagastritistratamientonatural.com", true },
-  { "comodesinflamarlashemorroides.org", true },
   { "comodo.nl", true },
   { "comodormirmasrapido.com", true },
   { "comodosslstore.com", true },
@@ -12718,18 +13433,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "comosecarabarriga.net", true },
   { "comoseduzir.net", true },
   { "comosefazisto.com.br", true },
-  { "comp.kiev.ua", true },
+  { "comoviajarcontumascota.com", true },
   { "comp2go.com.au", true },
   { "compactchess.cc", true },
   { "compagnia-buffo.de", false },
-  { "compagniemartin.com", false },
+  { "compalliance.com", true },
   { "companion-web.net", true },
   { "comparatif-moto.fr", true },
-  { "compareandrecycle.co.uk", true },
-  { "comparecompensationclaims.com", true },
   { "compareinsurance.com.au", true },
+  { "comparelegalforms.com", true },
   { "comparemymobile.com", true },
   { "comparesoft.com", true },
+  { "comparetheproject.com", true },
   { "comparewatch.com", true },
   { "comparexcloudcenter.com", true },
   { "compartirtrenmesaave.com", true },
@@ -12739,18 +13454,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "compassionaterelease.com", true },
   { "compassleaf.com", true },
   { "compasslos.com", true },
+  { "compdermcenter.com", true },
   { "compeat.com", true },
   { "competencyassessment.ca", true },
   { "competitor.com", true },
   { "comphare.nl", true },
-  { "compibus.fr", true },
   { "compilenix.org", true },
-  { "complete-it.co.uk", true },
-  { "completefloorcoverings.com", true },
   { "completesecurityessex.co.uk", true },
   { "completesecurityessex.com", true },
   { "completionist.me", true },
   { "complexart.ro", true },
+  { "complexcoral.ro", true },
   { "complexorganization.com", true },
   { "complexorganizations.com", true },
   { "compliance-management.ch", false },
@@ -12766,9 +13480,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "comprarimpresoras-3d.com", true },
   { "comprarparaguas.online", true },
   { "comprauncelular.com", true },
+  { "compreair.com", true },
   { "compreautomacao.com.br", true },
   { "compree.com", true },
-  { "compservice.in.ua", true },
   { "comptablevilledequebec.com", true },
   { "comptrollerofthecurrency.gov", true },
   { "comptu.com", true },
@@ -12794,7 +13508,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "computron.ga", true },
   { "comschool.com.br", true },
   { "comumlab.org", true },
+  { "comunal.co", true },
+  { "comunic.io", true },
   { "comunidadmontepinar.es", true },
+  { "comuniondelucia.com", true },
   { "comvos.de", true },
   { "comw.cc", true },
   { "con-con.nl", true },
@@ -12804,10 +13521,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "conaudisa.com", false },
   { "concept-web.ch", false },
   { "concerto.amsterdam", true },
+  { "concerts-metal.ch", false },
   { "concertsenboite.fr", true },
   { "concertsto.com", true },
+  { "concetrabajos.cl", true },
   { "conciencia.fit", true },
-  { "concierge.diet", true },
   { "concilio.com", true },
   { "conciliumnotaire.ca", true },
   { "concordiagaming.com", true },
@@ -12842,15 +13560,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "confiwall.de", true },
   { "conforama.es", true },
   { "conforama.pt", true },
-  { "conformal.com", false },
   { "conformax.com.br", true },
   { "confrerie-rp.fr", true },
   { "conftree.com", true },
+  { "confusion-band.ch", true },
   { "confygo.com", true },
   { "congafasdesol.com", true },
   { "congineer.com", true },
   { "congobunkering.com", false },
-  { "congresscoverage.com", true },
   { "conju.cat", true },
   { "conjugacao.com.br", true },
   { "conkret.mobi", true },
@@ -12862,15 +13579,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "connect.facebook.net", true },
   { "connecta.store", true },
   { "connectedcare.md", true },
-  { "connectfri.club", true },
   { "connectfss.com", true },
   { "connectingrentals.com", true },
   { "connectingrentalsofbethel.com", true },
+  { "connectionplanet.nl", true },
   { "connectionstrings.com", true },
   { "connectivia.it", true },
   { "connectmath.com", true },
   { "connectme.com.mx", true },
   { "connectmy.car", true },
+  { "connectnet247.com", true },
   { "connecto-data.com", true },
   { "connectum.eu", true },
   { "conner.work", true },
@@ -12880,10 +13598,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "connexionht.com", true },
   { "connext.de", true },
   { "connictro.de", true },
+  { "connorcordell.co.uk", true },
   { "connorhatch.com", true },
   { "connyduck.at", true },
   { "conocchialidasole.it", true },
-  { "conocedordigital.com", true },
   { "conociendosalama.com", true },
   { "conorboyd.info", true },
   { "conory.com", true },
@@ -12912,19 +13630,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "console.rest", true },
   { "consoleuniverse.tk", true },
   { "consommateuraverti.com", true },
+  { "consonare.de", true },
   { "constant-rough.de", true },
   { "consteval.org", true },
   { "constexpr.org", true },
   { "constinit.org", true },
-  { "constitution.website", true },
   { "construct.net", true },
   { "constructieve.nl", true },
   { "construction-colleges.com", true },
   { "construction-student.co.uk", true },
-  { "constructive.men", true },
   { "construred.tk", true },
   { "consul.io", true },
   { "consulenza.pro", true },
+  { "consulenzanobiliare.com", true },
   { "consultation.biz.tr", true },
   { "consultimator.com", true },
   { "consultimedia.de", true },
@@ -12942,9 +13660,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "consuwijzer.nl", true },
   { "contabilidadebrooklin.com.br", true },
   { "contact.inc", true },
-  { "contact.xyz", true },
   { "contactaffix.com", true },
-  { "containerspace.com.au", true },
   { "contaquanto.com.br", true },
   { "contemplativeeducation.org", true },
   { "content-api-dev.azurewebsites.net", false },
@@ -12955,6 +13671,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "contentq.nl", true },
   { "contessa32experience.com", true },
   { "conti-profitlink.co.uk", true },
+  { "continuum.memorial", true },
   { "continuumrecoverycenter.com", true },
   { "contouring.fr", true },
   { "contrabass.net", true },
@@ -12963,6 +13680,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "contractwriters.com", true },
   { "contrasentido.net", true },
   { "contraspin.co.nz", true },
+  { "contrastecolombia.com", true },
   { "contratatupoliza.com", true },
   { "contratti.it", true },
   { "contributor.google.com", false },
@@ -12971,19 +13689,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "controlbooth.com", true },
   { "controle.net", true },
   { "controleer-maar-een-ander.nl", true },
+  { "controlewiki.be", true },
   { "controllertech.com", true },
   { "controlvoltage.cc", true },
   { "contunda.de", true },
+  { "conungranodesal.com", true },
   { "conv2pdf.com", true },
-  { "convergence.fi", true },
   { "convergencela.com", true },
   { "convergnce.com", true },
   { "conversationsri.ga", true },
   { "conversiepartners.nl", true },
   { "conversiones.com", true },
   { "convert.im", true },
-  { "converticacommerce.com", false },
   { "convertimg.com", true },
+  { "convexset.org", true },
+  { "coochiehacks.io", true },
   { "cookescastles.co.uk", true },
   { "cookicons.co", true },
   { "cookie4.com", true },
@@ -12993,7 +13713,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cookingcrusade.com", true },
   { "cookinglife.nl", false },
   { "cookingperfected.com", true },
-  { "cookingreporter.com", true },
   { "cookmedical.com", false },
   { "cookwithmanali.com", true },
   { "cool-parties.co.uk", true },
@@ -13004,18 +13723,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "coolattractions.co.uk", true },
   { "coolbitx.com", true },
   { "coolcamping.com", true },
+  { "coolcomputers.info", true },
   { "cooldan.com", true },
   { "coole-fete.de", true },
   { "coolgifs.de", true },
   { "cooljv.com", true },
+  { "coolmoda.com.ua", true },
   { "coolprylar.se", true },
   { "coolshirt.tk", true },
   { "coomonte.tk", true },
+  { "coon.fr", true },
   { "coonawarrawines.com.au", true },
+  { "coondesign.ch", true },
   { "coonelnel.net", true },
   { "coore.jp", true },
   { "coorpacademy.com", true },
-  { "coorpintr.com", true },
   { "copan.com.br", true },
   { "copdfoundation.org", true },
   { "copenhagenoptimization.com", true },
@@ -13032,6 +13754,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "copycenter.cf", true },
   { "copycrafter.net", true },
   { "copydz.com", true },
+  { "copyengine.co", true },
   { "copypoison.com", true },
   { "copyright-watch.org", true },
   { "copyrightcoins.com", true },
@@ -13042,18 +13765,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "coralreef.blue", true },
   { "corbi.net.au", true },
   { "cordejong.nl", true },
-  { "cordemar.info", true },
   { "corder.tech", true },
   { "cordeydesign.ch", false },
   { "cordis.io", true },
-  { "cordis.tk", true },
   { "cordlessdog.com", true },
   { "cordobaaldia.com.mx", true },
+  { "core-collective.co.uk", true },
   { "core-concepts.de", false },
   { "core-networks.de", true },
   { "core.mx", true },
   { "core.org.pt", true },
-  { "coreapm.org", true },
   { "corecodec.com", true },
   { "corehealthberks.com", true },
   { "coreless-stretchfilm.com", true },
@@ -13072,9 +13793,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "corkedwinebar.com", true },
   { "corkerscrisps.co.uk", true },
   { "corksoncolumbus.com", true },
+  { "corl3ss.com", true },
+  { "corleoncatering.com", true },
   { "corlija.com", true },
-  { "corlinde.nl", true },
-  { "corlitocaffe.de", true },
+  { "cornelia-schiemann.de", true },
   { "cornercircle.co.uk", true },
   { "cornergarage.coop", true },
   { "cornerstone.network", true },
@@ -13085,6 +13807,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cornitek.tk", true },
   { "cornmachine.com", true },
   { "cornodo.com", true },
+  { "cornsoyexpo.org", true },
   { "corona-academy.com", true },
   { "corona-renderer.cloud", true },
   { "corona-renderer.com", true },
@@ -13105,8 +13828,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "corpuschristisouthriver.org", true },
   { "corpusslayer.com", true },
   { "corrbee.com", true },
-  { "correct.cf", true },
-  { "correctconstructions.com.au", true },
   { "correctiv.org", true },
   { "correctlydesign.com", true },
   { "correctpaardbatterijnietje.nl", true },
@@ -13122,6 +13843,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "corsisicurezza.it", true },
   { "corso-antincendio.org", true },
   { "corsomassaggi.it", true },
+  { "corsorspp.roma.it", true },
   { "cortealcastello.it", true },
   { "cortexitrecruitment.com", true },
   { "cortexx.nl", true },
@@ -13129,7 +13851,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "corvax.kiev.ua", true },
   { "corvee.com", true },
   { "coryadum.com", true },
-  { "corytyburski.com", true },
+  { "corytyburski.com", false },
   { "cosasque.com", true },
   { "cosciamoos.com", true },
   { "cosec.cn", true },
@@ -13153,10 +13875,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cospol.ch", false },
   { "costablancavoorjou.com", true },
   { "costarellos.com", true },
+  { "costco.co.jp", true },
+  { "costco.co.kr", true },
+  { "costco.co.uk", true },
+  { "costco.com.au", true },
+  { "costco.com.mx", true },
+  { "costco.com.tw", true },
+  { "costco.is", true },
   { "costcoinsider.com", true },
   { "costinstefan.eu", true },
   { "costreportdata.com", false },
   { "costulessdirect.com", true },
+  { "coteax.com", true },
   { "coteibem.com.br", true },
   { "coteries.com", false },
   { "cotoacc.com", true },
@@ -13165,13 +13895,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cotwe-ge.ch", false },
   { "cou.re", true },
   { "cougar.dating", true },
+  { "coughlan.de", true },
   { "counselingfw.com", true },
   { "counsellingtime.com", true },
   { "counstellor.com", false },
   { "countdowntrader.com", true },
   { "counter-team.ch", false },
   { "counterenlol.com", true },
-  { "counterglobal.com", true },
   { "countermail.com", false },
   { "countermats.net", true },
   { "countersolutions.co.uk", true },
@@ -13183,11 +13913,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "countrylife.cz", true },
   { "countryoutlaws.ca", true },
   { "countrysidemarquees.co.uk", true },
+  { "countrysmile.org", true },
   { "countybankdel.com", true },
   { "countyjailinmatesearch.com", true },
   { "coupestanley.com", true },
   { "couponbates.com", true },
-  { "couponbre.com", true },
   { "couponcodesme.com", true },
   { "couponlo.net", true },
   { "cour4g3.me", true },
@@ -13198,14 +13928,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "courseconfidence.com", true },
   { "coursera.org", true },
   { "courseworkbank.info", true },
-  { "courvix.com", true },
-  { "coussinsky.net", true },
   { "couvreur-hinault.fr", true },
   { "covbounce.co.uk", true },
   { "coveredinspiders.com", true },
   { "covershousing.nl", true },
-  { "covery.ai", true },
+  { "covert.sh", true },
   { "covoiturage.fr", true },
+  { "covuro.com", true },
   { "covve.com", false },
   { "covybrat.cz", true },
   { "cowbird.org", true },
@@ -13214,42 +13943,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cowsay.blog", true },
   { "coxcapitalmanagement.com", true },
   { "coxxs.me", true },
-  { "coxxs.moe", true },
   { "coya.tw", true },
   { "cozmoyachts.com", true },
   { "cozo.me", true },
   { "cozumel-activities.com", true },
   { "cozyeggdesigns.com", true },
   { "cp-st-martin.be", true },
-  { "cp015.com", true },
+  { "cpaexamguy.com", true },
   { "cpars.gov", true },
   { "cpasperdu.com", true },
+  { "cpbanq.com", true },
   { "cpcheats.co", true },
   { "cpchur.ch", true },
   { "cpd-education.co.uk", true },
+  { "cpdhealthcare.com", true },
   { "cpe-colleg.de", true },
-  { "cpe-registry.com", true },
-  { "cpe-registry.net", true },
-  { "cpe-registry.org", true },
   { "cpegypt.tk", true },
-  { "cperegistry.net", true },
-  { "cperegistry.org", true },
-  { "cpgarmor.com", true },
   { "cphpvb.net", true },
+  { "cpilot.cz", true },
   { "cplus.me", true },
   { "cplusplus.se", true },
   { "cppan.org", true },
   { "cppaste.org", true },
   { "cpqcol.gov.co", true },
-  { "cprnearme.com", true },
   { "cpsa.co.uk", true },
   { "cpsc.gov", true },
+  { "cpsecureapp.com", true },
+  { "cpsq.fr", true },
   { "cpsurvey.com", true },
   { "cptoon.com", true },
   { "cpu.biz.tr", true },
   { "cpvmatch.eu", true },
   { "cpy.pt", true },
   { "cqn.ch", false },
+  { "cqvradio.ddns.net", true },
   { "cr.search.yahoo.com", false },
   { "cr8haven.com", true },
   { "cra-bank.com", true },
@@ -13260,6 +13987,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cracker.in.th", true },
   { "crackheros.site", true },
   { "crackle.io", true },
+  { "crackload.net", true },
   { "crackorsquad.in", true },
   { "crackslut.eu", true },
   { "cracksnet.tk", true },
@@ -13268,12 +13996,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "craft-beer.life", true },
   { "craft-me-in.com", true },
   { "craftandbuild.de", true },
+  { "craftcms.com", true },
   { "crafted.cat", true },
   { "crafters.co.jp", true },
   { "craftinghand.com", true },
   { "craftinginredlipstick.com", true },
   { "craftist.de", true },
-  { "craftmachinec.com", true },
   { "craftshiponline.tk", true },
   { "craftsmandruggets.com", true },
   { "craftsmany.net", true },
@@ -13288,19 +14016,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "craigleclaireteam.com", true },
   { "craigrouse.com", true },
   { "craigwfox.com", true },
-  { "crain.com.au", true },
   { "cralarm.de", true },
   { "cramersoft.com", true },
   { "cranberry-tee.de", true },
   { "crandall.io", true },
+  { "cranenburgh.nl", true },
   { "cranforddental.com", true },
+  { "cranioo.nl", true },
   { "cranshafengin.com", true },
   { "crapmail.tk", true },
   { "crapouill.es", true },
   { "crashboy.ws", true },
-  { "craterx.com", true },
   { "cratss.co.uk", true },
-  { "crawford.cloud", true },
   { "crawfordcountytcc.org", true },
   { "crawler.ninja", true },
   { "crawleybouncycastles.co.uk", true },
@@ -13314,6 +14041,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crazybulk.fr", true },
   { "crazycastles.ie", true },
   { "crazycraftland.net", true },
+  { "crazycube.fr", true },
   { "crazydomains.ae", true },
   { "crazydomains.co.nz", true },
   { "crazydomains.co.uk", true },
@@ -13325,15 +14053,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crazynoisybizarre.town", true },
   { "crazypaul.com", true },
   { "crazypowered.com", true },
+  { "crazyvisitors.com", true },
   { "crbug.com", true },
   { "crc-bank.com", true },
   { "crc-search.com", true },
+  { "crcd.com.ua", true },
   { "crdmendoza.net", true },
   { "crea-etc.net", false },
   { "crea-th.at", true },
   { "crea-that.fr", true },
   { "crea.bg", true },
-  { "crealogix-online.com", true },
   { "creamcastles.co.uk", true },
   { "creampiepornvids.com", true },
   { "creamsoft.com", true },
@@ -13343,15 +14072,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "createbeing.com", true },
   { "createcos.com", true },
   { "creategyx.ga", true },
-  { "createme.com.pl", true },
   { "creatic.co", true },
   { "creatieven.com", true },
-  { "creation-contemporaine.com", true },
   { "creationsgate.com", true },
   { "creative-thinking.ro", true },
   { "creative-wave.fr", true },
   { "creativeangles.in", true },
   { "creativecaptiv.es", true },
+  { "creativecenter.pro", true },
   { "creativecommons.gr", true },
   { "creativecommons.org", true },
   { "creativeconceptsvernon.com", true },
@@ -13374,12 +14102,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "creators-design.com", true },
   { "creators.direct", true },
   { "creatorswave.com", true },
+  { "creatujoya.com", true },
   { "crebita.de", true },
   { "crecman.fr", true },
-  { "credential.eu", true },
   { "credex.bg", true },
   { "credigo.se", true },
+  { "credit-10.com", true },
   { "credit-default-swaps.tk", true },
+  { "creditdigital.uk", true },
   { "creditif.tk", true },
   { "creditkarma.com", true },
   { "credito360.pt", true },
@@ -13393,22 +14123,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "creeks-coworking.com", true },
   { "creep.im", true },
   { "creepypastas.com", true },
-  { "creepypastas.net", true },
   { "creer-une-boutique-en-ligne.com", true },
   { "creermonsite-wp.com", true },
-  { "creerunsitepro.com", true },
   { "crefelder.com", true },
   { "crem.in", false },
-  { "cremedigital.com", true },
   { "cremepassion.de", true },
   { "crena.ch", true },
   { "crepa.ch", false },
-  { "crestasantos.com", false },
   { "cretdupuy.com", false },
   { "creteangle.com", true },
   { "cretica.no", true },
   { "creusalp.ch", false },
-  { "crew.moe", true },
+  { "crewplanner.eu", true },
   { "crgalvin.com", true },
   { "crgm.net", true },
   { "cribcore.com", true },
@@ -13416,6 +14142,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "criena.com", true },
   { "criena.net", true },
   { "crime-lawyers.com", true },
+  { "crimebarta.com", true },
   { "crimefreeliving.com", true },
   { "crimesolutions.gov", true },
   { "crimevictims.gov", true },
@@ -13426,6 +14153,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "criptocert.com", true },
   { "criptoinvest.pt", true },
   { "criptolog.com", true },
+  { "criptomonedas365.com", true },
   { "criptomoneylite.tk", true },
   { "criscitos.it", true },
   { "crisisactual.com", true },
@@ -13437,16 +14165,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crisp.im", true },
   { "crisp.watch", true },
   { "crispinusphotography.com", true },
-  { "cristalstandards.com", true },
+  { "criss.com.ua", true },
+  { "cristalstandards.com", false },
   { "cristarta.com", true },
   { "cristau.org", true },
   { "cristianonascimento.ml", true },
-  { "cristianuibar.com", true },
   { "critical.today", false },
   { "criticalgenesis.tk", true },
   { "criticalsurveys.co.uk", true },
   { "critterguard.org", true },
   { "crizin.io", true },
+  { "crizk.com", true },
+  { "crlna.com", true },
   { "crm.onlime.ch", false },
   { "crm114d.com", true },
   { "croceverdevb.it", true },
@@ -13477,6 +14207,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crossformer.com", true },
   { "crosslifenutrition.co.uk", false },
   { "crossnet.io", true },
+  { "crossorig.in", true },
   { "crossoverit.com", true },
   { "crosspeakoms.com", true },
   { "crossroads-gmbh.ch", true },
@@ -13486,9 +14217,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crowd.supply", true },
   { "crowdbox.net", true },
   { "crowdcloud.be", true },
-  { "crowdliminal.com", true },
+  { "crowds.ro", true },
   { "crowdsim3d.com", true },
-  { "crowdspire.org", true },
+  { "crowdstack.com", true },
   { "crowdsupply.com", true },
   { "crowleymarine.com", true },
   { "crownaffairs.ch", true },
@@ -13498,21 +14229,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crownpoint.com", true },
   { "crownsterling.io", true },
   { "crows.io", true },
+  { "crowter.li", true },
   { "croydonapartments.com.au", true },
   { "croydonbouncycastles.co.uk", true },
   { "crrev.com", true },
   { "crsmsodry.cz", true },
   { "crsoresina.it", true },
   { "crstat.ru", true },
-  { "crt.cloud", true },
+  { "crt.sh", true },
   { "crtalleres.com", true },
   { "crucibleofworlds.com", true },
   { "cruicky.uk", true },
   { "cruisemoab.com", true },
   { "crumbcontrol.com", true },
   { "crunchrapps.com", true },
+  { "crunchy.rocks", true },
   { "crustytoothpaste.net", true },
   { "crute.me", true },
+  { "cruzitoproducciones.gq", true },
   { "crvegas.com", true },
   { "crvv.me", true },
   { "cry-sys.de", true },
@@ -13520,7 +14254,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cryoblaster.com", true },
   { "cryothanasia.com", true },
   { "crypt.is-by.us", true },
-  { "cryptagio.com", true },
   { "cryptearth.de", true },
   { "crypted.chat", true },
   { "crypteianetworks.com", true },
@@ -13532,11 +14265,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crypto.is", false },
   { "cryptobin.co", true },
   { "cryptocon.org", true },
+  { "cryptodigitalgroup.com", true },
   { "cryptoegg.ca", true },
   { "cryptofan.org", true },
+  { "cryptofox.nl", true },
   { "cryptofrog.co", true },
   { "cryptography.ch", true },
-  { "cryptography.io", true },
   { "cryptoguidemap.com", true },
   { "cryptoholic.co", true },
   { "cryptoisnotacrime.org", true },
@@ -13544,9 +14278,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cryptojourney.com", true },
   { "cryptology.ch", true },
   { "cryptomail.nl", true },
-  { "cryptomaniaks.com", true },
+  { "cryptomkt.com", true },
   { "cryptonom.org", true },
   { "cryptonym.com", true },
+  { "cryptool.org", true },
   { "cryptoparty.at", true },
   { "cryptoparty.tv", true },
   { "cryptopartyutah.org", true },
@@ -13564,26 +14299,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "crys.pw", true },
   { "crys.tv", true },
   { "crystal-zone.com", true },
-  { "crystalapp.ca", true },
   { "crystalchandelierservices.com", true },
   { "crystalgrid.net", true },
   { "crystaloscillat.com", true },
   { "crystalroad.net", true },
   { "crystalzoneshop.com", true },
   { "crystone.me", true },
-  { "cryz.ru", true },
   { "cs-algeria.tk", true },
   { "cs.money", true },
-  { "cs2016.ch", true },
-  { "csa-library.org", true },
-  { "csaapac.com", true },
   { "csaapac.org", true },
   { "csabg.org", true },
   { "csacongress.com", true },
   { "csacongress.org", true },
   { "csacongress.us", true },
-  { "csadc.org", true },
-  { "csasummit.net", true },
   { "csca.me", true },
   { "cscau.com", true },
   { "cscdn.net", true },
@@ -13595,6 +14323,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "csgf.fun", true },
   { "csgf.ru", true },
   { "csgo.su", true },
+  { "csgomtr.com", true },
   { "csgoswap.com", true },
   { "csharpmarc.net", true },
   { "cshub.nl", true },
@@ -13604,9 +14333,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "csjministriesfoundation.org", true },
   { "cskentertainment.co.uk", true },
   { "cslaboralistas.pe", true },
+  { "cslbuild.com", true },
   { "csmainframe.com", true },
+  { "csodaorszagovoda.hu", true },
   { "csosa.gov", true },
-  { "csovek-idomok.hu", true },
   { "csp.ch", false },
   { "cspeti.hu", true },
   { "cspvalidator.org", true },
@@ -13615,14 +14345,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "css.direct", false },
   { "cssai.eu", true },
   { "cssaunion.com", true },
-  { "cst188.cc", true },
   { "cstanley.net", true },
   { "cstb.ch", false },
   { "cstp-marketing.com", true },
   { "cstrong.nl", true },
   { "csu.st", true },
   { "csust.net", true },
+  { "csuw.net", true },
   { "csvalpha.nl", true },
+  { "csvplot.com", true },
   { "cswarzone.com", true },
   { "cswebi.net", true },
   { "cswgmbh.de", true },
@@ -13634,6 +14365,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ctes.cz", true },
   { "ctf-albstadt.de", true },
   { "ctf.link", true },
+  { "ctir.gov.br", true },
   { "ctkwwri.org", true },
   { "ctliu.com", true },
   { "ctmrepository.com", true },
@@ -13642,10 +14374,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ctns.de", false },
   { "ctoin.tw", true },
   { "ctomp.io", false },
+  { "ctor.ch", true },
   { "ctpe.net", true },
   { "ctrl.blog", true },
+  { "ctrl.gr", true },
   { "cttso.gov", true },
   { "cu247secure.ie", true },
+  { "cuacamaungon.com", true },
   { "cuatroymedia.com", true },
   { "cub-bouncingcastles.co.uk", true },
   { "cubaal.com", true },
@@ -13658,6 +14393,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cubecraft.net", true },
   { "cubecraftcdn.com", true },
   { "cubekrowd.net", true },
+  { "cubeo.xyz", true },
   { "cubeperformancecentre.com.au", true },
   { "cubesugar.info", true },
   { "cubetech.co.jp", true },
@@ -13669,10 +14405,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cubile.xyz", true },
   { "cubing.net", true },
   { "cublick.com", true },
-  { "cubos.io", false },
+  { "cubos.io", true },
   { "cubsbestteaminbaseball.com", true },
   { "cubua.com", true },
+  { "cubyhome.com", true },
   { "cuchichi.es", true },
+  { "cuckoo.ee", true },
   { "cuckoopalace.cn", true },
   { "cuddlecomfort.com", true },
   { "cuddlingyaks.com", true },
@@ -13683,9 +14421,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cuentamecomopaso.es", true },
   { "cuentasmutualamr.org.ar", true },
   { "cuetoems.com", true },
+  { "cuff-links.nl", true },
   { "cuibonobo.com", true },
   { "cuio.net", true },
   { "cuir-lipari.fr", true },
+  { "cuitandokter.com", true },
   { "culan.dk", true },
   { "cultiv.nl", true },
   { "cultofd50.org", true },
@@ -13694,10 +14434,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "culturabrasilia.tk", true },
   { "culturalparadiso.tk", true },
   { "culturedcode.com", true },
+  { "culturelivresque.fr", true },
   { "cultureshift.co", true },
   { "culturesouthwest.org.uk", true },
   { "culturess.com", true },
-  { "cumagini.com", true },
+  { "culturoquiz.com", true },
   { "cumberlandrivertales.com", true },
   { "cuminas.com", true },
   { "cuminas.jp", true },
@@ -13708,7 +14449,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cumshots-video.ru", true },
   { "cuoc.org.uk", true },
   { "cup.al", true },
+  { "cupcake.pt", true },
   { "cupclub.com", true },
+  { "cupdunarea.ro", true },
   { "cupoane-reducere.net", true },
   { "cupom.net", true },
   { "cur.by", true },
@@ -13722,14 +14465,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "curiosity-driven.org", true },
   { "curlify.com", true },
   { "curlybracket.co.uk", true },
+  { "curontwerptoolgroenbeton.nl", true },
   { "currency-strength.com", true },
   { "current-usa.com", true },
   { "currentlystreaming.com", true },
-  { "currentlyusa.com", true },
   { "currynissanmaparts.com", true },
+  { "cursocatolico.com", true },
+  { "cursomente.online", true },
   { "cursos-trabajadores.net", true },
   { "cursos.com", true },
-  { "cursosdeinglesmexico.com", true },
+  { "cursosemmaus.es", true },
   { "cursosforex.com", true },
   { "cursosgratuitos.pe", true },
   { "cursosingles.com", true },
@@ -13738,16 +14483,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cursuri-de-actorie.ro", true },
   { "curtacircuitos.com.br", false },
   { "curtis-smith.me.uk", true },
-  { "curtis-smith.uk", true },
   { "curtislinville.net", true },
   { "curtissmith.me.uk", true },
-  { "curtissmith.uk", true },
+  { "curva.co", false },
+  { "curvemedia.co", true },
   { "curveprotect.com", true },
   { "curveprotect.cz", true },
   { "curveprotect.net", true },
   { "curveprotect.org", true },
   { "curvissa.co.uk", true },
-  { "custamped.com", true },
   { "custer.tk", true },
   { "custodian.nl", true },
   { "custodyxchange.com", true },
@@ -13760,9 +14504,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "customsportsocks.com", true },
   { "customwebsitesplus.com", true },
   { "customwritings.com", true },
-  { "customwritingservice.com", true },
   { "customwritten.com", true },
-  { "cuteselfie.com", true },
+  { "cutieland.to", true },
   { "cutlinks.ml", true },
   { "cutmylink.gq", true },
   { "cutner.co", true },
@@ -13782,12 +14525,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cvc.digital", true },
   { "cvchomes.com", true },
   { "cvcoders.com", true },
-  { "cvdc.xyz", true },
   { "cve-le-carrousel.ch", false },
   { "cviip.ca", true },
   { "cviip.com", true },
+  { "cvj.me", true },
   { "cvl.ch", false },
   { "cvlibrary.co.uk", true },
+  { "cvmatch.me", true },
   { "cvmu.jp", true },
   { "cvo-group.com", true },
   { "cvr.dk", true },
@@ -13797,7 +14541,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cvv.cn", true },
   { "cw.center", true },
   { "cwaclub.tk", true },
-  { "cwagner.me", true },
   { "cwbrtrust.ca", true },
   { "cwc.gov", true },
   { "cwgaming.co.uk", true },
@@ -13824,26 +14567,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cybercareers.gov", true },
   { "cybercat-tver.tk", true },
   { "cybercrew.cc", true },
+  { "cybercrew.rocks", true },
   { "cybercrime-forschung.de", true },
   { "cybercrime.gov", true },
   { "cybercustodian.com", true },
   { "cyberdean.fr", true },
+  { "cyberdev.cf", true },
   { "cyberdiscoverycommunity.uk", true },
   { "cyberduck.io", true },
-  { "cyberdyne.ie", true },
-  { "cyberdyne.llc", true },
   { "cyberfamily.network", true },
   { "cyberforensics.com", true },
   { "cyberfrancais.ro", true },
   { "cybergame-host.tk", true },
   { "cybergroup.cf", true },
-  { "cybergrx.com", true },
-  { "cyberguerrilla.info", true },
-  { "cyberguerrilla.org", true },
+  { "cyberhazard.eu", true },
   { "cyberhipsters.nl", true },
   { "cyberianhusky.com", false },
   { "cyberium-planet.cf", true },
-  { "cyberlab.team", false },
+  { "cyberlab.team", true },
   { "cyberlegal.co", true },
   { "cybermaniac.tk", true },
   { "cyberme.sh", true },
@@ -13859,11 +14600,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cyberpubonline.com", true },
   { "cybersafesolutions.com", true },
   { "cyberscan.io", true },
+  { "cybersecurite-info.fr", true },
   { "cybersecurity.gr", true },
   { "cybersecurity.run", true },
   { "cybersecuritychallenge.be", false },
-  { "cybersecurityketen.nl", true },
   { "cyberseguranca.com.br", true },
+  { "cybershark.space", true },
   { "cybersins.com", true },
   { "cybersmart.co.uk", true },
   { "cybersmartdefence.com", true },
@@ -13875,14 +14617,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cybertu.be", true },
   { "cyberwars.dk", true },
   { "cyberwire.nl", true },
+  { "cyberxpert.nl", true },
   { "cybozu.cn", true },
   { "cybozu.com", true },
-  { "cyclebeads.com", true },
   { "cycledownunder.com", true },
   { "cycleluxembourg.lu", true },
   { "cyclinggoodso.com", true },
   { "cyclonebikes.com.ua", true },
-  { "cyclop-editorial.fr", true },
+  { "cyclonedesign.ca", true },
+  { "cyclowiz.com", true },
   { "cydetec.com", true },
   { "cyfly.org", true },
   { "cygnan.com", true },
@@ -13907,7 +14650,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "cypherpunk.at", true },
   { "cypherpunk.observer", true },
   { "cypressinheritancesaga.com", true },
+  { "cypresslegacy.com", true },
   { "cyprus-company-service.com", true },
+  { "cyrano-books.com", true },
   { "cysec.biz", true },
   { "cysmo.de", true },
   { "cytat.tk", true },
@@ -13926,6 +14671,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "czk.mk", true },
   { "czprothz.tk", true },
   { "czwartybrat.pl", true },
+  { "czzs.org", true },
   { "d-20.fr", true },
   { "d-consultant.ru", true },
   { "d-designerin.de", true },
@@ -13933,10 +14679,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "d-macindustries.com", true },
   { "d-parts.de", true },
   { "d-parts24.de", true },
-  { "d-toys.com.ua", true },
   { "d-training.de", true },
   { "d-vision-web.com", true },
-  { "d.nf", true },
   { "d.nr", true },
   { "d00228.com", false },
   { "d00d.de", true },
@@ -13945,33 +14689,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "d0xq.com", true },
   { "d2.gg", true },
   { "d2ph.com", true },
+  { "d30365.com", true },
   { "d36533.com", true },
   { "d3a.xyz", true },
-  { "d3dev.cf", true },
   { "d3lab.net", true },
   { "d3xt3r01.tk", true },
-  { "d3xx3r.de", true },
   { "d42.no", true },
   { "d4b.in.ua", true },
   { "d4done.com", true },
   { "d4fx.de", true },
+  { "d4rkdeagle.tk", true },
   { "d4x.de", true },
+  { "d64.nl", true },
   { "d66.ag", true },
   { "d66.nl", true },
   { "d6c5yfulmsbv6.cloudfront.net", true },
-  { "d7211.com", true },
+  { "d7035.com", true },
   { "d7215.com", true },
-  { "d7216.com", true },
   { "d8.ag", true },
   { "d8.io", true },
   { "d8118.com", true },
-  { "d81818.com", true },
   { "d8228.com", true },
   { "d8778.com", true },
   { "d8787.net", true },
   { "d88.ag", true },
   { "d88.cc", false },
   { "d88.cn.com", true },
+  { "d88.com", true },
   { "d881.net", true },
   { "d8811.net", true },
   { "d88111.com", true },
@@ -13985,7 +14729,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "d88322.com", true },
   { "d88333.com", true },
   { "d8834.com", true },
-  { "d8841.com", true },
   { "d8842.com", true },
   { "d8843.com", true },
   { "d8845.com", true },
@@ -13999,7 +14742,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "d8860.net", true },
   { "d8861.com", true },
   { "d8864.com", true },
-  { "d88688.com", true },
   { "d8870.net", true },
   { "d8872.net", true },
   { "d8874.com", true },
@@ -14011,7 +14753,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "d88870.com", true },
   { "d88877.com", true },
   { "d88882.com", true },
-  { "d88886.com", true },
   { "d8890.net", true },
   { "d8897.com", true },
   { "d8898.com", true },
@@ -14019,15 +14760,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "d88998.com", true },
   { "d88agent.com", true },
   { "d88dc05.com", true },
-  { "d88girls.com", true },
   { "d88md03.com", true },
   { "d88md24.com", true },
   { "d88md29.com", true },
   { "d8998.com", true },
   { "d9c.eu", true },
+  { "daaje-und-andre.de", true },
   { "daallexx.eu", true },
-  { "dabai.club", true },
-  { "dabai.photo", true },
   { "dabasstacija.lv", true },
   { "dabuttonfactory.com", true },
   { "daceurope.co.uk", true },
@@ -14041,16 +14780,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dadadani.xyz", true },
   { "dadafterforty.be", true },
   { "daddybio.com", true },
-  { "daddyfinger.me", true },
   { "dado.fr", true },
   { "dado.me", true },
   { "dado.virtual.museum", true },
   { "dadosch.de", true },
   { "dadrian.io", true },
+  { "dadstersgroup.com", true },
   { "daduke.org", true },
   { "daemen.org", true },
   { "daemon-hentai.tk", true },
-  { "daemonslayer.net", true },
   { "daemwool.ch", true },
   { "daevel.com", true },
   { "daevel.fr", true },
@@ -14058,6 +14796,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dafe2021.ee", true },
   { "dafont.com", true },
   { "dafricapress.com", true },
+  { "daftarhajiumroh.com", true },
   { "dafyddcrosby.com", true },
   { "dag-hebergement.fr", true },
   { "dag-konsult.com", true },
@@ -14066,8 +14805,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dagrs.se", true },
   { "dahlberg.cologne", true },
   { "dahobo.tk", true },
-  { "dai.top", true },
   { "dai94.com", true },
+  { "daibetter.com", true },
   { "daidr.me", true },
   { "daie-inc.com", true },
   { "daigakujuken-plus.com", true },
@@ -14075,15 +14814,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dailybits.be", true },
   { "dailyblogged.com", true },
   { "dailychristianpodcast.com", true },
+  { "dailydote.com", true },
   { "dailyemailinboxing.com", true },
   { "dailyenglishchallenge.com", true },
   { "dailyhealthguard.com", true },
   { "dailykos.com", true },
   { "dailynewsclubs.ga", true },
-  { "dailypop.ru", true },
   { "dailyrenewblog.com", true },
   { "dailyrover.com", true },
   { "dailyroverr.com", true },
+  { "dailysuperheroes.com", true },
   { "dailyxenang.com", true },
   { "daimafengzi.com", true },
   { "dairyshrine.org", true },
@@ -14091,7 +14831,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "daisidaniels.co.uk", true },
   { "daisy-peanut.com", true },
   { "daisypeanut.com", true },
-  { "daitouryu-jujutsu.com", true },
+  { "daiwan.cool", true },
   { "dajiadu.net", true },
   { "dajiadu8.com", true },
   { "dajiale.org", true },
@@ -14102,6 +14842,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "daknob.net", true },
   { "dakota-spain.tk", true },
   { "dakotasjoint.com", true },
+  { "dakshm.in", true },
   { "daktarisys.com", true },
   { "dal.net.sa", true },
   { "daladubbeln.se", true },
@@ -14109,12 +14850,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dalb.in", true },
   { "dalcomseo.com", true },
   { "dale-west.com", true },
+  { "dalek.co.nz", true },
   { "dalfsennet.nl", true },
   { "dalianbbq.com", true },
   { "dalingk.com", true },
   { "dallaslu.com", true },
   { "dallasmenshealth.com", true },
-  { "dallinbryce.com", true },
+  { "dalliard.ch", false },
   { "dallmeier.net", true },
   { "dalmatiersheusden.be", true },
   { "damaged.org", true },
@@ -14135,6 +14877,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "damngoodpepper.com", false },
   { "damonline.dk", true },
   { "dampedia.com", true },
+  { "dampt.tk", true },
   { "dan-bureau.com", true },
   { "dan-bureau.dk", true },
   { "dan.me.uk", true },
@@ -14147,11 +14890,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "danbaldwinart.com", true },
   { "danbergen.com", true },
   { "danburycampervans.co.uk", true },
+  { "danca.com", true },
   { "dance-colleges.com", true },
   { "danceylove.net", true },
   { "danchen.org", true },
   { "dancingcubs.co.uk", true },
-  { "dandan101.com", true },
+  { "danclassroom.com", true },
   { "dandenongroadapartments.com.au", true },
   { "dandia.ro", true },
   { "danel.ski", true },
@@ -14162,6 +14906,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dangr.zone", true },
   { "danhalliday.com", true },
   { "danholloway.online", true },
+  { "danhotels.co.il", true },
+  { "danhotels.com", true },
   { "daniel-baumann.ch", true },
   { "daniel-cholewa.de", true },
   { "daniel-kulbe.de", true },
@@ -14170,6 +14916,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "daniel-milnes.uk", true },
   { "daniel-ruf.de", true },
   { "daniel-wildhaber.ch", true },
+  { "danielalvarez.net", true },
   { "danielas.boutique", true },
   { "daniele.tech", true },
   { "danielehniss.de", true },
@@ -14185,14 +14932,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "danieljball.co.uk", true },
   { "danieljstevens.com", true },
   { "danielkanchev.com", true },
-  { "danielkeppler.com", true },
   { "danielkoster.nl", true },
   { "danielluisrodriguezs.com", true },
   { "danielmartin.de", true },
   { "danielmiessler.com", true },
   { "danielmoch.com", true },
   { "danielmorell.com", true },
-  { "danieln.tech", true },
+  { "danielmostertman.com", true },
   { "danielnaaman.com", true },
   { "danielparker.com.au", true },
   { "danielpenno.com", true },
@@ -14210,8 +14956,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "danielvoogsgerd.nl", true },
   { "danielwildhaber.ch", true },
   { "danifabi.eu", true },
-  { "daniilgeorge.com", true },
   { "danilapisarev.com", true },
+  { "danilov-abrosimov.org.ua", true },
   { "danjesensky.com", true },
   { "dank.ninja", true },
   { "dankim.de", false },
@@ -14222,16 +14968,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "danmassarano.com", true },
   { "danminkevitch.com", false },
   { "danna-salary.com", true },
-  { "danndorf.com", true },
+  { "danndorf.com", false },
   { "dannhanks.com", true },
   { "dannicholas.net", true },
   { "danny-tittel.de", true },
   { "dannycairns.com", true },
   { "dannygaidateraelgar.com", true },
   { "dannyjota.tk", true },
-  { "dannyrohde.de", false },
   { "dannystevens.co.uk", true },
+  { "danonsecurity.com", true },
   { "danotage.tv", true },
+  { "danoz.net", true },
   { "danpiel.net", true },
   { "dansage.co", true },
   { "dansaunders.me", true },
@@ -14240,14 +14987,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "danselibre.net", true },
   { "danselibre.org", true },
   { "danseressen.nl", true },
+  { "dansk8bit.dk", true },
   { "danskefilm.dk", true },
   { "danskoferie.dk", true },
   { "danskoya.com", true },
   { "danslan.org", true },
   { "danstillman.com", true },
+  { "dante.com", true },
   { "dantransports.fr", true },
   { "danw.io", true },
   { "danwin1210.me", true },
+  { "danwise.online", true },
   { "danwolff.se", true },
   { "danyabanya.com", true },
   { "danzac.com", true },
@@ -14256,23 +15006,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "daop.co.uk", true },
   { "daoro.net", false },
   { "daphne.informatik.uni-freiburg.de", true },
+  { "daphnes-restaurant.co.uk", true },
+  { "dapianw.com", true },
+  { "dapim.co.il", true },
   { "dapoxetinagenerico.cf", true },
   { "dapperdom.net", true },
   { "daracokorilo.com", true },
   { "darani.ch", true },
   { "daravk.ch", true },
-  { "darbi.org", true },
-  { "darc-mak.de", false },
+  { "darc-mak.de", true },
   { "darchoods.net", false },
   { "darcymarshall.com", true },
   { "dare.deals", true },
   { "dareyou.be", true },
   { "darf.nl", true },
+  { "darfurwall.org", true },
   { "dariaburger.de", true },
+  { "daridarkom.fr", true },
   { "darinkotter.com", true },
-  { "darioackermann.ch", false },
   { "darioclip.com", true },
   { "darioturchetti.me", true },
+  { "dark-archive.com", true },
   { "dark-crystal.tk", true },
   { "dark-infection.de", true },
   { "dark-nova.me", true },
@@ -14280,13 +15034,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dark-vision.cz", true },
   { "dark.fail", true },
   { "dark.ninja", true },
+  { "darkag.ovh", true },
+  { "darkcards.xyz", true },
   { "darkcores.net", true },
   { "darkengine.io", true },
   { "darkengine.net", true },
+  { "darkenluster.space", true },
   { "darkeststar.org", true },
   { "darkfire.ch", true },
   { "darklang.com", true },
   { "darklaunch.com", true },
+  { "darkleia.com", true },
   { "darknessflickers.com", false },
   { "darknetlive.com", true },
   { "darknight.blog", true },
@@ -14295,7 +15053,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "darkserver.stg.fedoraproject.org", true },
   { "darkshop.nl", true },
   { "darkskymap.com", true },
-  { "darkspacelab.com", true },
   { "darktime.ru", true },
   { "darkwater.info", true },
   { "darkx.me", true },
@@ -14308,13 +15065,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "darth-sonic.de", true },
   { "darwinkel.net", true },
   { "darwinsearch.org", true },
-  { "daryl.moe", true },
   { "darylcrouse.com", true },
   { "darylcumbo.net", true },
   { "das-forum24.de", true },
   { "das-mediale-haus.de", true },
   { "das-sommercamp.de", true },
   { "dasgeestig.nl", true },
+  { "dashadmit123.com", true },
   { "dashdrive.net", true },
   { "dashlane.com", true },
   { "dashnearby.com", true },
@@ -14334,14 +15091,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "data.haus", true },
   { "data.world", true },
   { "data3w.nl", true },
-  { "databasez.net", true },
   { "databionix.com", true },
   { "databutlr.com", true },
   { "databutlr.net", true },
   { "datacalle.com", true },
   { "datacaptive.com", true },
+  { "datacenternews.asia", true },
+  { "datacenternews.us", true },
+  { "datacentrenews.eu", true },
   { "datacommissioner.gov.au", true },
   { "datadit.hu", true },
+  { "datadraugen.no", true },
   { "datadyne.technology", true },
   { "dataformers.at", true },
   { "datagrail.io", true },
@@ -14350,6 +15110,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "datahjalp.nu", true },
   { "datajobs.ai", true },
   { "datakick.org", true },
+  { "datakl.com", true },
   { "datalife.gr", true },
   { "datalysis.ch", false },
   { "dataman.ml", true },
@@ -14362,6 +15123,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "datascience.ch", false },
   { "dataskydd.net", false },
   { "dataspace.pl", true },
+  { "datasubject.com", true },
+  { "datasubjects.com", true },
   { "datasupport-stockholm.se", true },
   { "datasupport.one", true },
   { "dataswamp.org", true },
@@ -14385,38 +15148,50 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "datenkeks.de", true },
   { "dateno1.com", true },
   { "datenreiter.org", true },
+  { "datensalat.info", true },
   { "datenschutz-consult.de", true },
+  { "datenschutz-gruenwald.de", true },
   { "datenschutz-individuell.de", true },
+  { "datenschutz-isny.de", true },
+  { "datenschutz-leutkirch.de", true },
+  { "datenschutz-oberschwaben.de", true },
+  { "datenschutz-ravensburg.de", true },
+  { "datenschutz-wangen.de", true },
+  { "datenschutz-weingarten.de", true },
   { "datenschutzgrundverordnung.de", true },
   { "datenschutztag.org", true },
   { "datenschutzzentrum.de", true },
   { "datenwerkstatt.net", true },
   { "datewon.net", true },
   { "dating.wedding", true },
-  { "datingsite-vergelijken.website", true },
   { "datingsrit.tk", true },
-  { "datingticino.ch", false },
   { "datisstom.nl", true },
   { "datmancrm.com", true },
+  { "datometry.com", true },
   { "dator-test.se", true },
   { "datorhjalp-stockholm.se", true },
   { "datorhjalptaby.se", true },
   { "datorservice-stockholm.se", true },
   { "datumou-osusume.com", true },
-  { "datumou-recipe.com", true },
+  { "datumplus.co.uk", true },
   { "datumstudio.jp", true },
   { "daubecity.de", true },
   { "daubehosting.de", true },
   { "daunatotala.ro", true },
+  { "dautuvang.net", true },
   { "dave-pearce.com", true },
   { "daveaglick.com", true },
   { "davecardwell.com", true },
+  { "davedevries.nl", true },
+  { "davelage.com", true },
   { "davelynes.com", true },
   { "daveoc64.co.uk", true },
   { "daveops.net", true },
   { "davepage.me.uk", true },
   { "davepearce.com", true },
+  { "davepermen.net", true },
   { "davescomputertips.com", true },
+  { "davesharpe.com", true },
   { "davesinclair.com.au", true },
   { "davetempleton.com", true },
   { "davethom.net", true },
@@ -14424,6 +15199,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "davewardle.com", true },
   { "davewood.com.au", true },
   { "david-corry.com", true },
+  { "david-edu.com", true },
   { "david-hinschberger.me", true },
   { "david-jeffery.co.uk", true },
   { "david-merkel.de", true },
@@ -14437,8 +15213,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "davidbranco.me", true },
   { "davidbrookes.me", true },
   { "davidbuckell.com", true },
-  { "daviddever.net", true },
+  { "daviddejori.com", true },
+  { "davidelstob.com", true },
   { "davidfetveit.com", true },
+  { "davidfindlay.org", true },
   { "davidfrancoeur.com", true },
   { "davidgouveia.net", true },
   { "davidgow.net", true },
@@ -14451,12 +15229,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "davidkennardphotography.com", true },
   { "davidking.xyz", true },
   { "davidlamprea.com", true },
-  { "davidlane.io", true },
+  { "davidlamprea.eu", true },
+  { "davidlane.io", false },
+  { "davidlindekilde.dk", true },
   { "davidlyness.com", true },
   { "davidmcevoy.org.uk", true },
   { "davidmessenger.co.uk", true },
   { "davidmn.org", true },
-  { "davidops.com", true },
   { "davidpearce.com", true },
   { "davidpearce.org", true },
   { "davidpescarolo.it", true },
@@ -14468,28 +15247,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "davidtiffany.com", true },
   { "davidundetiwan.com", true },
   { "davidzeegers.nl", true },
+  { "davidzimmerman3.com", true },
   { "davie3.com", true },
   { "davisdieselandautorepair.com", true },
-  { "davisroi.com", true },
   { "davo-usedcars.be", false },
   { "davy-server.com", true },
-  { "davypropper.com", true },
   { "daw.nz", true },
   { "dawgs.ga", true },
   { "dawnbringer.eu", true },
   { "dawnbringer.net", true },
   { "dawnofeden.net", true },
-  { "dawnson.is", true },
   { "dawoud.org", true },
   { "dawson-floridavilla.co.uk", true },
   { "dax.guide", true },
   { "daxpatterns.com", true },
+  { "daxterfellowesservers.com", true },
   { "daycontactlens.com", true },
+  { "daygametraining.com", true },
   { "daylightpirates.org", true },
   { "daymprove.life", true },
   { "dayofdays.be", true },
   { "dayofthegirl.gc.ca", true },
-  { "days.one", true },
+  { "daysgolfclub.net", true },
   { "daysinnaustin.com", true },
   { "daysoftheyear.com", true },
   { "dayswithnostabbings.ca", true },
@@ -14501,7 +15280,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dayuse.fr", true },
   { "dayuse.pt", true },
   { "dayuse.se", true },
-  { "daywalkers-photography.de", true },
   { "dazz.it", true },
   { "dazzit.ca", true },
   { "dazzit.com", true },
@@ -14511,10 +15289,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dazzit.xyz", true },
   { "db-works.nl", true },
   { "db.ci", true },
-  { "dbapress.org", true },
   { "dbaron.org", true },
   { "dbas.cz", true },
-  { "dbb.wtf", true },
+  { "dbcartography.com", true },
   { "dbentertainment.co.uk", true },
   { "dbgamestudio.com", true },
   { "dblcastles.co.uk", true },
@@ -14536,14 +15313,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dc-solution.de", false },
   { "dc1.com.br", true },
   { "dc562.org", true },
-  { "dc585.info", true },
   { "dcain.me", true },
-  { "dcards.in.th", true },
   { "dcave.net", true },
   { "dcbouncycastles.co.uk", true },
+  { "dcc.cat", true },
   { "dcc.moe", true },
   { "dccwiki.com", true },
   { "dcdestetica.it", true },
+  { "dcdn.lt", true },
   { "dcepler.net", true },
   { "dchatelain.ch", false },
   { "dchest.org", true },
@@ -14558,6 +15335,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dcw.io", true },
   { "dcyph.de", true },
   { "dd.art.pl", true },
+  { "dd.center", true },
   { "dd00228.com", false },
   { "dd118d.com", true },
   { "dd11d.net", true },
@@ -14566,9 +15344,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dd209d.com", true },
   { "dd211d.com", true },
   { "dd215d.com", true },
-  { "dd33d.net", true },
   { "dd44d.net", true },
-  { "dd7211.com", true },
   { "ddatsh.com", true },
   { "ddays2008.org", true },
   { "dddmelbourne.com", true },
@@ -14576,6 +15352,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dden.ca", true },
   { "ddepot.us", true },
   { "ddhosted.com", true },
+  { "ddjlawtampa.com", true },
+  { "ddkkitchens.com", true },
   { "ddns-test.de", true },
   { "ddnsweb.com", false },
   { "ddoser.cn", false },
@@ -14583,6 +15361,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ddosolitary.org", true },
   { "ddracepro.net", true },
   { "dds.mil", true },
+  { "dds.pe", true },
   { "ddsmatchsouthwest.com", true },
   { "de-gucci.com", true },
   { "de-kramers.nl", true },
@@ -14616,9 +15395,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dealbx.com", true },
   { "dealcruiser.nl", true },
   { "dealdump.nl", true },
+  { "dealerbrindes.com.br", true },
   { "dealerselectric.com", true },
+  { "dealerwriter.com", true },
   { "dealinflatables.co.uk", true },
   { "dealosa.com", true },
+  { "dealsale.com", true },
   { "dealspotr.com", true },
   { "dealszone.net", true },
   { "deamuseum.org", true },
@@ -14635,16 +15417,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dearfcc.org", true },
   { "dearktiel.nl", true },
   { "dearnevalleybouncycastles.co.uk", true },
-  { "dearstackexchange.com", true },
   { "death.social", true },
   { "deathofspring.com", false },
+  { "deathorglory.cc", true },
   { "deathsdomain.com", true },
   { "deathy.ro", true },
   { "deautomaat.nl", true },
   { "deavel.com", true },
   { "deavel.fr", true },
   { "deavel.net", true },
-  { "debarras-diogene.paris", true },
   { "debatereport.com", true },
   { "debbyefurd.com", true },
   { "debie-usedcars.be", false },
@@ -14656,22 +15437,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "debtrecycling.com.au", true },
   { "debuemon.com", true },
   { "debuis.nl", true },
+  { "debzsh.tk", true },
   { "dec6.gc.ca", true },
-  { "decaffeinated.io", true },
   { "decal-times.com", true },
   { "decalquai.ch", false },
   { "decarrouseloss.nl", true },
+  { "decaturwomensports.com", true },
   { "dechat.nl", true },
-  { "decher.de", true },
   { "dechetor.fr", true },
   { "decidio.cc", true },
+  { "decimatechnologies.eu", true },
   { "decipe.com", true },
   { "decis.fr", true },
   { "decisivetactics.com", true },
+  { "deck.academy", true },
   { "deckenplatten.org", true },
-  { "deckersheaven.com", true },
   { "declarationlocationmeublee.com", true },
-  { "declivitas.com", true },
   { "deco-parisienne.fr", true },
   { "decock-usedcars.be", false },
   { "decode.ga", true },
@@ -14679,6 +15460,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "decologisticsgh.com", true },
   { "decompiled.de", true },
   { "deconsolas.tk", true },
+  { "deconstructind.ro", true },
   { "decoora.com", true },
   { "decor-d.com", true },
   { "decor-live.ru", true },
@@ -14689,7 +15471,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "decorativeflooring.com", true },
   { "decoratore.roma.it", true },
   { "decoratrix.com", true },
-  { "decorauvent.ca", true },
   { "decorestilo.com.br", true },
   { "decorotti.com.tr", true },
   { "decosoftware.com", true },
@@ -14717,23 +15498,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dee.su", true },
   { "deechtebakkers.nl", true },
   { "deegeeinflatables.co.uk", true },
+  { "deejayladen.de", true },
   { "deelmijnreis.nl", true },
+  { "deelodge.art", true },
+  { "deemlove.com", true },
+  { "deep-chess.com", true },
   { "deep-labs.com", true },
   { "deep.club", true },
   { "deepbluecrafting.co.uk", true },
+  { "deepblueemail.com", true },
   { "deepcode.io", true },
   { "deephill.com", true },
   { "deepinnov.com", true },
   { "deepinsight.io", true },
   { "deeplink-medical.com", true },
-  { "deepnet.cc", true },
-  { "deeps.me", true },
   { "deepserve.info", true },
+  { "deepsouthsounds.com", true },
   { "deepspace.dedyn.io", true },
   { "deepspace4.com", true },
   { "deerfieldapartmentsstl.com", true },
   { "deerwoodrvpark.com", true },
   { "def-pos.ru", true },
+  { "defamiliehagen.com", true },
   { "defantasia.cl", true },
   { "defcon.org", true },
   { "defcongroups.org", true },
@@ -14747,20 +15533,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "defensivefirearmsinstruction.org", true },
   { "defero.io", true },
   { "defesa.gov.br", true },
+  { "defesaaereanaval.com.br", true },
   { "deffo.com.au", true },
+  { "defiant.com", true },
   { "defiantrust.com", true },
   { "defibrillateur.co", true },
   { "define-atheism.com", true },
   { "define-atheist.com", true },
   { "defineatheism.com", true },
   { "defineatheist.com", true },
+  { "definingterms.com", true },
   { "definitely.cn", true },
   { "definitions360.com", true },
   { "defis-franciliens.fr", true },
   { "deflect.ca", true },
   { "deflumeri.com", true },
   { "deflumeriker.com", true },
-  { "defman.me", true },
   { "defont.nl", true },
   { "defreitas.no", true },
   { "deftek.com", true },
@@ -14771,8 +15559,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "defuse.ca", true },
   { "defxing.net", true },
   { "degata.com", true },
+  { "degeberg.com", true },
+  { "degeberg.dk", true },
   { "degeeks.xyz", true },
   { "degen-elektrotechnik.de", true },
+  { "degeneracy.xyz", true },
   { "degestamptepot.nl", true },
   { "degit.de", true },
   { "degoeiewebsite.cf", true },
@@ -14780,9 +15571,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "degoulet.net", true },
   { "degracetechnologie.com", true },
   { "degradarium.com", true },
-  { "degrasboom.nl", true },
+  { "degressif.com", true },
+  { "degroupage.info", true },
   { "dehopre.com", true },
-  { "dehydrated.de", true },
   { "deidee.nl", true },
   { "deimos.gq", true },
   { "dein-baumdienst.de", true },
@@ -14790,9 +15581,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deinballon.de", true },
   { "deine-gitarre.com", true },
   { "deinelakaien.tk", true },
-  { "deinewebsite.de", true },
   { "deinfoto.ch", true },
-  { "deinsparen24.de", true },
   { "deitti.net", true },
   { "dejandayoff.com", true },
   { "dejongonline.eu", true },
@@ -14812,8 +15601,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "delahrzolder.nl", true },
   { "delam.site", true },
   { "delbecqvo.be", false },
-  { "delegao.moe", true },
+  { "deleenheir.be", true },
   { "deleidscheflesch.nl", true },
+  { "delfi.lt", true },
   { "delfic.org", true },
   { "delhionlinegifts.com", true },
   { "deliacreates.com", true },
@@ -14823,10 +15613,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deliciousmedia.co.uk", true },
   { "deliciousmedia.net", true },
   { "delicioustable.com", true },
+  { "delicon.jp", true },
   { "delid.cz", true },
+  { "delijan24.ir", true },
   { "delio.tk", true },
   { "dellacasapizzasemassas.com.br", true },
-  { "dellipaoli.com", true },
   { "delogo.nl", true },
   { "delopt.co.in", true },
   { "delorenzi.dk", true },
@@ -14855,6 +15646,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deltav.ml", false },
   { "deltava.org", true },
   { "deltawolf.tk", true },
+  { "deltna.com", true },
+  { "deluxe-dubai.com", true },
   { "demadryn.com", true },
   { "demarle.ch", false },
   { "demastglazenwasserij.nl", true },
@@ -14878,9 +15671,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "democracydirect.com", true },
   { "democracyineurope.eu", true },
   { "democraziaineuropa.eu", true },
+  { "demolandia.net", true },
   { "demomanca.com", true },
   { "demonbuster.tk", true },
-  { "demoniak.ch", true },
+  { "demongey.com", true },
+  { "demoniak.ch", false },
   { "demonwav.com", true },
   { "demonwolfdev.com", true },
   { "demopanel.tk", true },
@@ -14894,11 +15689,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "denariu.net", true },
   { "denatured.tk", true },
   { "denbkh.ru", false },
+  { "dencel.lv", true },
   { "dendelft.nl", true },
   { "denegmnogo.tk", true },
   { "denejki.tk", true },
   { "dengivdom.tk", true },
   { "dengode.eu", true },
+  { "denhotels.com", true },
   { "denimtoday.com", true },
   { "denince.net", true },
   { "denis-martinez.photos", true },
@@ -14912,6 +15709,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "denkmalagentur.ch", true },
   { "denkmalsetzung.at", true },
   { "denkubator.de", true },
+  { "denninger.jp", true },
   { "dennisang.com", true },
   { "dennisdoes.net", false },
   { "dennisforbes.ca", true },
@@ -14921,7 +15719,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dennisvandenbos.nl", true },
   { "dennogumi.org", true },
   { "denous.nl", true },
-  { "dent.uy", true },
+  { "denta-ua.com", true },
   { "dental-cloud.eu", true },
   { "dental-colleges.com", true },
   { "dentallaborgeraeteservice.de", true },
@@ -14931,31 +15729,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dentistryateastpiedmont.com", true },
   { "dentrassi.de", true },
   { "dentystabirmingham.co.uk", true },
+  { "denuevestore.com", true },
+  { "denverbph.com", true },
   { "denvergospelhall.org", true },
   { "denvernews.ml", true },
   { "denwauranailab.com", true },
   { "denydarko.tk", true },
-  { "deonlinespecialist.nl", true },
   { "deontology.com", true },
   { "depaco.com", true },
   { "depannage-traceur.fr", true },
   { "deparis.me", true },
   { "departmentofdefense.tk", true },
   { "departmentofoncology.com", true },
+  { "departureboard.io", true },
   { "depeces.com", true },
   { "depechemode-live.com", true },
   { "depedclub.net", true },
+  { "depedclub.ph", true },
+  { "depedresources.ph", true },
   { "depedsurigaodelnorte.com", true },
-  { "depedtalks.com", true },
   { "depedtambayan.net", true },
   { "depedtayo.ph", true },
   { "depelos.co", true },
   { "depelteau.com", true },
   { "dependablehvacrefrigeration.com", true },
   { "depicus.com", true },
-  { "depilacioncon.com", true },
   { "depleteduranium.tk", true },
-  { "depoker.top", true },
   { "depone.net", true },
   { "depop.com", true },
   { "depositart.com", true },
@@ -14967,7 +15766,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deprecate.de", true },
   { "deprobe.pro", true },
   { "depthe.gr", true },
-  { "depuratori.milano.it", true },
   { "der-bank-blog.de", true },
   { "der-fliesenzauberer.de", true },
   { "der-gardinenmann.de", true },
@@ -14981,9 +15779,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "derattizzazioni.org", true },
   { "derbuntering.de", true },
   { "derbybouncycastles.com", true },
-  { "derbyware.com", true },
   { "derco.com.co", true },
   { "derdewereldrommelmarkt.nl", true },
+  { "dereddingsklos.nl", true },
   { "dereferenced.net", true },
   { "derehamcastles.co.uk", true },
   { "derekbooth.co.uk", true },
@@ -14991,10 +15789,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "derekkent.com", true },
   { "derekseaman.com", false },
   { "derekseaman.studio", false },
+  { "derenderkeks.me", true },
+  { "derf.fr", true },
   { "derf.red", true },
   { "derf.us", true },
   { "dergeilstestammderwelt.de", true },
   { "derhil.de", true },
+  { "derival.co.za", true },
   { "derivedata.com", true },
   { "derkuki.de", true },
   { "dermaldistinction.com", true },
@@ -15009,6 +15810,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deroo.org", true },
   { "derp.army", true },
   { "derp.chat", true },
+  { "derpibooru.org", true },
   { "derpy.pp.ua", true },
   { "derre.fr", true },
   { "derreichesack.com", true },
@@ -15017,11 +15819,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "desafiomovilidadsustentable.com", true },
   { "desagaz.com", true },
   { "desanta.top", true },
+  { "desarrollando.web.ve", true },
   { "descargar-apk.org", true },
   { "desec.io", true },
   { "desentupidorademais.com.br", true },
   { "desentupidorapernambucana.com.br", true },
-  { "desert-maroc.com", true },
+  { "deseosvip.tk", true },
   { "desertbloomplasticsurgery.com", true },
   { "desertmedaesthetics.com", true },
   { "desertsounds.org", true },
@@ -15030,12 +15833,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deshobi.cloud", true },
   { "design-in-bad.eu", true },
   { "design-tooning.de", true },
-  { "designartepublicidad.com", true },
+  { "design-your-life.info", true },
   { "designed-cybersecurity.com", true },
   { "designedcybersecurity.com", true },
   { "designer-drug.com", true },
   { "designera.se", true },
   { "designerchad.com", true },
+  { "designgears.com", true },
   { "designgraphic.fr", true },
   { "designhuddle.com", true },
   { "designrhome.com", true },
@@ -15049,7 +15853,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "deskaservices.com", true },
   { "deskdesign.nl", true },
   { "deskeen.fr", true },
-  { "deskguide.info", true },
   { "desklite.gr", true },
   { "desktopd.eu.org", false },
   { "desktopfx.net", false },
@@ -15057,6 +15860,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "desmaakvanplanten.be", true },
   { "desormiers.com", true },
   { "despachomariscal.com", true },
+  { "desperate.solutions", true },
   { "despertadoronline.com.es", true },
   { "despinavandi.gr", true },
   { "desplats.com.ar", true },
@@ -15064,7 +15868,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dessinemoilademocratie.ch", false },
   { "destakbrasilbrindes.com.br", true },
   { "destech.nl", true },
-  { "destileria.net.br", true },
   { "destroymc.net", true },
   { "destyntek.com", true },
   { "desu.ne.jp", true },
@@ -15088,6 +15891,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dethemium.com", true },
   { "deti-online.com", true },
   { "detki.cf", true },
+  { "detki24.ru", true },
   { "detodojuegos.com", true },
   { "detoxetmoi.com", true },
   { "detreannamaria.tk", true },
@@ -15097,19 +15901,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "detyobuv.tk", true },
   { "detype.nl", true },
   { "deu.sh", true },
-  { "deuchnord.fr", true },
   { "deude.de", true },
   { "deukie.nl", true },
   { "deumavan.ch", true },
   { "deurenfabriek.nl", true },
   { "deutsch-vietnamesisch-dolmetscher.com", true },
-  { "deutsche-seniorenbetreuung.de", true },
   { "deutsche-tageszeitungen.de", true },
   { "deutschebusiness.com", true },
   { "deutscher-bericht.de", true },
   { "deutscher-rollenspielpreis.de", true },
   { "deutscheshoponline.com", true },
   { "deutschland-dsl.de", true },
+  { "dev-aries.com", true },
   { "dev-brandywineglobal.com", true },
   { "dev-greavesindia.pantheonsite.io", true },
   { "dev-gutools.co.uk", true },
@@ -15118,6 +15921,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dev.moe", true },
   { "devagency.fr", true },
   { "devalps.eu", true },
+  { "devbean.net", true },
   { "devcf.com", true },
   { "devcoins.org", true },
   { "devconf.nl", true },
@@ -15125,7 +15929,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "devdeb.com", true },
   { "devel.cz", true },
   { "develop.cool", true },
-  { "develope.cz", true },
   { "developer.android.com", true },
   { "developer.moe", true },
   { "developerdan.com", true },
@@ -15147,7 +15950,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "devinfo.net", false },
   { "devinite.com", true },
   { "devirc.net", true },
-  { "devklog.net", true },
   { "devlamvzw.org", false },
   { "devlatron.net", true },
   { "devlinjurister.se", true },
@@ -15160,16 +15962,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "devopsish.com", true },
   { "devpp.com.br", true },
   { "devragu.com", true },
-  { "devrandom.net", true },
   { "devries.one", true },
   { "devsjournal.com", true },
+  { "devsrvr.ru", true },
   { "devstaff.gr", true },
   { "devstores.io", false },
   { "devswag.io", true },
   { "devtea.cz", true },
   { "devtoys.ru", true },
   { "devtty.org", true },
-  { "devun.limited", true },
   { "devzero.io", true },
   { "dewaard.de", true },
   { "dewalch.net", true },
@@ -15180,32 +15981,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dex.top", true },
   { "dexalo.de", true },
   { "dexigner.com", true },
-  { "dexonrest.azurewebsites.net", true },
   { "dexonservicedeskws.azurewebsites.net", true },
+  { "deyanadeco.com", true },
   { "deyute.com", true },
   { "dez-online.de", true },
   { "dezeregio.nl", true },
   { "dezet-ev.de", true },
   { "dezmembrariromania.ro", true },
   { "dezzoroofing.co.za", true },
+  { "df1nif.de", true },
   { "df1paw.de", true },
-  { "df3312.com", true },
-  { "df3313.com", true },
-  { "df3314.com", true },
-  { "df3315.com", true },
-  { "df3316.com", true },
-  { "df3317.com", true },
-  { "df3318.com", true },
-  { "df3319.com", true },
-  { "df63.cc", true },
+  { "df5105.com", true },
   { "dfafacts.gov", true },
+  { "dfagent.com", true },
+  { "dfc52.com", true },
   { "dfctaiwan.org", true },
   { "dfektlan.no", true },
   { "dfl.mn", false },
   { "dflcares.com", true },
   { "dfmn.berlin", true },
   { "dfranke.com", true },
-  { "dg68.cc", true },
   { "dgangsta.net", true },
   { "dgbouncycastlehire.com", true },
   { "dgeex.eu", true },
@@ -15215,13 +16010,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dgt-portal.de", true },
   { "dgtakano.co.jp", true },
   { "dgx.io", true },
+  { "dh7337.com", true },
   { "dhakawebhost.com", true },
   { "dharveydev.com", true },
   { "dhautefeuille.eu", true },
   { "dhauwer.nl", true },
   { "dhaynes.xyz", true },
   { "dhconcept.ch", false },
-  { "dhde.de", true },
   { "dheart.net", true },
   { "dhedegaard.dk", true },
   { "dhelixnet.de", true },
@@ -15237,7 +16032,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diabetessucks.net", true },
   { "diabhal-staff.com", true },
   { "diabhal-staff.it", true },
+  { "diablocarpet.com", true },
   { "diablovalleytech.com", true },
+  { "diaconat.ch", false },
   { "diadiemdangsong.com", true },
   { "diadorafitness.it", true },
   { "diagnoseo.com", true },
@@ -15245,12 +16042,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diagnoseo.se", true },
   { "dialapicnic.co.za", true },
   { "dialoegue.com", true },
+  { "diamant.family", true },
+  { "diamant.nyc", true },
   { "diamante.ro", true },
   { "diamantovaburza.cz", true },
   { "diamgroup.pl", true },
   { "diamond-hairstyle.dk", true },
-  { "diamondrose.co.za", true },
+  { "diamondrose.co.za", false },
   { "diamondsleepsolutions.com", true },
+  { "diamondyacca.co.uk", true },
   { "diamondyze.nl", true },
   { "diamorphine.com", true },
   { "dianadrive.com", true },
@@ -15260,13 +16060,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diariodearaxa.com.br", true },
   { "diarionoticia.pe", true },
   { "diariorealidad.com", true },
+  { "diariosurnoticias.com", true },
   { "diaroma.it", true },
   { "diarynote.jp", true },
   { "diasdasemana.com", true },
   { "diasp.org", true },
   { "diatrofi-ygeia.gr", true },
   { "diba.org.cn", true },
+  { "dibal.ua", true },
   { "dibiphp.com", true },
+  { "dibrunolab.com", true },
   { "diccionariodedudas.com", true },
   { "diccionarqui.com", true },
   { "dice.tokyo", true },
@@ -15288,10 +16091,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dickpics.ru", true },
   { "dicksakowicz.com", true },
   { "dicoding.com", true },
+  { "dicoeste.com", true },
   { "dictionaryofnumbers.com", true },
   { "dictionarypro.net", true },
   { "dictzone.com", true },
   { "didacte.com", true },
+  { "didaktik4you.de", true },
   { "didche.net", false },
   { "diddens.de", true },
   { "dideeducacion.com", true },
@@ -15299,8 +16104,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "didesalud.com", true },
   { "didierghez.com", true },
   { "didierlaumen.be", true },
-  { "didtrumpopengovernmentyet.com", true },
   { "die-bergfuehrer.de", true },
+  { "die-blahuts.de", true },
   { "die-borts.ch", true },
   { "die-gruenen-teufel.de", true },
   { "die-machons.de", true },
@@ -15310,7 +16115,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "die-seide.de", true },
   { "die-seiler.de", true },
   { "die-sinlosen.de", true },
-  { "die-speisekammer-reutlingen.de", true },
   { "diebestengutscheine.de", true },
   { "diebestenvpn.de", true },
   { "diebetriebsraete.de", true },
@@ -15320,7 +16124,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diegerbers.de", true },
   { "diegocoy.com", true },
   { "diegogelin.com", false },
-  { "diegogonzalez.com.co", true },
   { "diegorbaquero.com", true },
   { "diehl.io", true },
   { "diekperaiwseis.gr", true },
@@ -15328,18 +16131,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diemattels.at", true },
   { "dienchaninstitute.com", true },
   { "diendorfer.space", true },
+  { "dienmayplus.vn", true },
   { "dienstplan.cc", true },
   { "dienstplan.one", true },
-  { "diepanhcare.com", true },
   { "dierabenmutti.de", true },
   { "dieradvies.nl", true },
   { "dierenartsdeconinck.be", true },
+  { "dierencompleet.nl", true },
   { "dieselanimals.lt", true },
   { "dieselgalleri.com", true },
+  { "diesicheremail.de", true },
   { "diesteppenreiter.de", true },
-  { "dietaanticelulitica.com", true },
-  { "dietaanticelulitis.com", true },
-  { "dietafeliz.com", true },
   { "dietbrand.eu", true },
   { "dieterglas.de", true },
   { "dietergreven.de", false },
@@ -15347,6 +16149,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diethood.com", true },
   { "dieti-natura.com", true },
   { "dieti.net", true },
+  { "dietlein.tech", true },
   { "dietlin.com", true },
   { "dietrich.cx", true },
   { "dieumfrage.com", true },
@@ -15355,7 +16158,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "differenta.ro", true },
   { "differentgirleveryday.ml", true },
   { "diffnow.com", true },
+  { "diffuzehr.com.au", true },
   { "difoosion.com", true },
+  { "difusordeambientes.com.br", true },
+  { "digchip.info", true },
+  { "digchips.com", true },
   { "digcit.org", true },
   { "digdata.de", true },
   { "dighans.com", true },
@@ -15366,16 +16173,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "digicode.hu", true },
   { "digicy.cloud", true },
   { "digideli.ee", true },
-  { "digiepoxypaint.com", true },
+  { "digidroom.be", true },
   { "digilicious.com", true },
   { "digimaat.agency", true },
   { "digimagical.com", true },
   { "digimedia.cd", false },
   { "digioccumss.ddns.net", true },
+  { "digipolis.gent", true },
   { "digipost.no", true },
   { "digirechnung.de", true },
   { "digired.ro", true },
   { "digit.ec", true },
+  { "digitai.net", true },
   { "digital-compounds.com", true },
   { "digital-eastside.de", true },
   { "digital-insurance-engine.com", true },
@@ -15389,6 +16198,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "digital.govt.nz", true },
   { "digital1st.co.uk", true },
   { "digitalagencynetwork.com", true },
+  { "digitalakatsuki.com", true },
   { "digitalallies.co.uk", true },
   { "digitalarchitecture.com", true },
   { "digitalarchives.tw", true },
@@ -15398,11 +16208,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "digitalchurch.ng", true },
   { "digitalcitizen.life", true },
   { "digitalcitizen.ro", true },
-  { "digitalcoffeepodcast.com", true },
   { "digitalcraftmarketing.co.uk", true },
   { "digitalcronies.com", true },
-  { "digitaldaily.de", true },
-  { "digitaldatacenter.net", true },
   { "digitaldeli.com", true },
   { "digitaldeli.org", true },
   { "digitaldeli.tv", true },
@@ -15417,48 +16224,47 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "digitalframe.nl", true },
   { "digitalfury.co.uk", true },
   { "digitalfuturenow.com", true },
+  { "digitalgeckos.com", true },
   { "digitalgov.gov", true },
   { "digitalhabit.at", true },
   { "digitalhabitat.io", true },
+  { "digitalhealth.gov.au", true },
   { "digitalid-sandbox.com", true },
   { "digitalid.com", true },
   { "digitalid.com.au", true },
   { "digitalliteracy.gov", true },
-  { "digitalmarketingindallas.com", true },
   { "digitalpiloten.org", true },
   { "digitalposition.com", true },
   { "digitalprimate.my", true },
+  { "digitalpuppy.co.uk", true },
+  { "digitalradio.ie", true },
   { "digitalredshirts.com", true },
   { "digitalrights.center", true },
   { "digitalrights.fund", true },
   { "digitalskillswap.com", true },
-  { "digitalspiders.pk", true },
   { "digitalsurge.io", true },
   { "digitaltcertifikat.dk", true },
   { "digitaltrust.ae", true },
   { "digitalunite.de", true },
   { "digitec.ch", true },
   { "digitecgalaxus.ch", true },
-  { "digitiqo.com", true },
   { "digitkon.com", true },
   { "digitreads.com", true },
-  { "digixcellence.com", true },
   { "digminecraft.com", true },
   { "digpath.co.uk", true },
   { "digwp.com", true },
   { "dihesan.com", true },
   { "dijitaller.com", true },
   { "dijkmanmuziek.nl", false },
-  { "dijkmanvandoorn.nl", false },
+  { "dikiaap.id", true },
   { "dilberkebab.co.uk", true },
   { "dildoexperten.se", true },
-  { "dildosconsoladores.cl", true },
   { "diletec.com.br", true },
   { "dilibel.be", true },
+  { "dilichen.fr", true },
   { "diligo.ch", false },
   { "dillewijnzwapak.nl", true },
   { "dillonkorman.com", true },
-  { "diluv.com", false },
   { "dimagrimentoincorso.it", true },
   { "dimanet.fr", true },
   { "dimanss47.net", true },
@@ -15498,17 +16304,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dinheirolucrar.com", true },
   { "dinkommunikasjon.no", true },
   { "dinmtb.dk", true },
-  { "dino.lol", true },
   { "dinocarrozzeria.com", true },
   { "dinstec.cl", true },
   { "dintrafic.net", true },
   { "diodeled.com", true },
   { "diodo.me", true },
-  { "dioesfoto.com", true },
   { "dionysos-ios.gr", true },
   { "dipalma.me", true },
   { "dipdaq.com", true },
-  { "dipietro.id.au", true },
   { "dipling.de", true },
   { "diplomatiq.org", true },
   { "diplona.de", true },
@@ -15519,7 +16322,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dirba.io", true },
   { "direct-sel.com", true },
   { "direct.cz", true },
-  { "direct365.es", true },
   { "directed.ir", true },
   { "directelectricalltd.co.uk", true },
   { "directfinance.cz", true },
@@ -15527,17 +16329,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "directlendingsolutions.com", true },
   { "directlinkfunding.co.uk", true },
   { "directnews.be", true },
-  { "directoriostelefonicos.com", true },
   { "directorioz.com", true },
   { "directorydashboard.ga", true },
   { "directorydisc.ga", true },
   { "directoryhub.io", true },
   { "directreal.sk", true },
   { "directspa.fr", true },
+  { "directvacations.com", true },
   { "directveilig.nl", true },
   { "direktvermarktung-schmitzberger.at", true },
+  { "diriya.lk", true },
   { "dirk-dogs.tk", true },
-  { "dirk-scheele.de", true },
   { "dirk-weise.de", true },
   { "dirkdoering.de", true },
   { "dirkjonker.nl", true },
@@ -15545,9 +16347,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dirkwolf.de", true },
   { "dirtinmyshoes.com", true },
   { "dirtygeek.ovh", true },
+  { "dirtyherri.de", true },
   { "dirtyincest.com", true },
   { "dirtyprettyartwear.com", true },
   { "dirtytiles.xyz", true },
+  { "disa.uk", true },
   { "disability.gov", true },
   { "disabilitydischarge.com", true },
   { "disabled-world.com", true },
@@ -15555,6 +16359,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "disabuse.cf", true },
   { "disadattamentolavorativo.it", true },
   { "disanteimpianti.com", false },
+  { "disboard.org", true },
   { "disc.uz", true },
   { "discarica.bari.it", true },
   { "discarica.bologna.it", true },
@@ -15583,6 +16388,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "discountpokale.at", false },
   { "discountpokale.de", true },
   { "discover-shaken.com", true },
+  { "discoverelement.com", true },
   { "discoverthreejs.com", true },
   { "discoverucluelet.com", true },
   { "discoveryaima.com", true },
@@ -15601,10 +16407,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "disinfestazione.verona.it", true },
   { "disinfestazione24.it", true },
   { "disinfestazioneblatte.it", true },
+  { "disinfestazionecimici.napoli.it", true },
   { "disinfestazionecimici.roma.it", true },
+  { "disinfestazioni-sardegna.org", true },
   { "disinfestazioni-umbria.it", true },
   { "disinfestazioni.bari.it", true },
   { "disinfestazioni.bergamo.it", true },
+  { "disinfestazioni.cagliari.it", true },
+  { "disinfestazioni.caserta.it", true },
   { "disinfestazioni.catania.it", true },
   { "disinfestazioni.co", true },
   { "disinfestazioni.firenze.it", true },
@@ -15623,8 +16433,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "disinfestazioni.verona.it", true },
   { "disinfestazioni24.it", true },
   { "disinfestazionivespe.milano.it", true },
-  { "disinfestazionizanzare.milano.it", true },
-  { "disinfestazionizanzare.roma.it", true },
   { "disinisharing.com", true },
   { "disk.do", true },
   { "diskbit.com", true },
@@ -15639,12 +16447,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "disrupters.ch", false },
   { "disruptiveadvertising.com", true },
   { "dissertationhelp.com", true },
+  { "dissidence.ovh", true },
   { "dissieux.com", true },
   { "dist-it.com", true },
   { "dist.torproject.org", false },
   { "distancelove.ml", true },
   { "disti.com", true },
-  { "distiduffer.org", true },
   { "distillery.com", true },
   { "distinguishedprisoner.com", true },
   { "distortmotion.com", true },
@@ -15657,34 +16465,34 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "distributori.roma.it", true },
   { "district.sg", true },
   { "districtcapital.com", true },
-  { "distrivalle.ec", true },
   { "distro.fr", true },
   { "ditec.sk", true },
   { "diti.me", true },
   { "dities.tk", true },
+  { "div.im", true },
   { "diva.nl", true },
   { "divari.nl", true },
   { "divcoder.com", true },
   { "dive-japan.com", true },
-  { "divedowntown.com", true },
   { "divegearexpress.com", true },
   { "diveidc.com", true },
+  { "divelement.ro", true },
   { "diveplan.org", true },
-  { "diver-equipment.eu", true },
   { "diversifiedproduct.com", true },
   { "diversityflags.com", true },
   { "diversityflags.com.au", true },
   { "diversityflags.nz", true },
+  { "diversitywatch.asia", true },
+  { "diversitywatch.co.nz", true },
+  { "diversitywatch.com.au", true },
   { "divewithfrank.com", true },
   { "divi-experte.de", true },
-  { "dividendz.net", true },
   { "divinasaiamodas.com.br", true },
   { "divinegames.studio", true },
   { "divineglowinghealth.com", false },
   { "divinemercyparishvld.com", true },
   { "diving.photo", true },
   { "divingforlife.org", true },
-  { "divisasexpress.com", true },
   { "divisuite.com", true },
   { "divjak.at", true },
   { "divorciosmurcia.com", true },
@@ -15697,7 +16505,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "diygeek.com", true },
   { "diyibo.com", true },
   { "diymediahome.org", true },
-  { "diyosun.com", true },
+  { "diyosun.com", false },
   { "diytechguides.com", true },
   { "diyvideoeditor.com", true },
   { "dizayner.tk", true },
@@ -15714,30 +16522,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "djboekingskantoor.nl", true },
   { "djc.me", true },
   { "djcursuszwolle.nl", true },
-  { "djdavid98.hu", true },
+  { "djdavid98.art", true },
   { "djdeepstate.com", true },
+  { "djfantum.com", true },
   { "djfrenchy.com", true },
   { "dji-ars.pl", true },
   { "djipanov.com", true },
   { "djitsolutions.com", true },
   { "djl188.cc", true },
-  { "djl63.com", true },
-  { "djl63001.com", true },
   { "djleon.net", true },
   { "djlinux.cz", true },
   { "djlnetworks.co.uk", true },
   { "djlove.tk", true },
+  { "djmarian.com", true },
   { "djmox.in", true },
-  { "djsanonimo.com", true },
   { "djsbouncycastlehire.com", true },
   { "djslash.tk", true },
+  { "djurklinikenangelholm.se", true },
   { "djvintagevinyl.com", true },
   { "djvintagevinyl.nl", true },
   { "djwaynepryke.com", true },
   { "dk-kromeriz.cz", true },
   { "dk.com", true },
   { "dk.search.yahoo.com", false },
-  { "dk1818.cc", true },
   { "dkcomputers.com.au", true },
   { "dkds.us", true },
   { "dkstage.com", true },
@@ -15746,7 +16553,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dlaspania.pl", true },
   { "dlde.ru", true },
   { "dldl.fr", true },
-  { "dleger.space", true },
+  { "dleet.com", true },
   { "dlfsymposium.nl", true },
   { "dlitz.net", true },
   { "dll4free.com", true },
@@ -15761,6 +16568,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dlzz.net", true },
   { "dm.lookout.com", false },
   { "dm.mylookout.com", false },
+  { "dm4productions.com", true },
   { "dm7ds.de", true },
   { "dmaglobal.com", true },
   { "dmailshop.ro", true },
@@ -15771,16 +16579,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dmcw.de", true },
   { "dmd.lv", true },
   { "dmdd.org.uk", true },
-  { "dmerkel.de", true },
   { "dmfj.io", true },
   { "dmhtwebordering.com", true },
   { "dmi.es", true },
+  { "dmilb.org", true },
+  { "dmitriid.com", true },
   { "dmitry.sh", true },
+  { "dmmedya.com", true },
   { "dmmkenya.co.ke", false },
   { "dmmultionderhoud.nl", true },
   { "dmn.sh", true },
   { "dmoj.ca", true },
   { "dmparish.com", true },
+  { "dmxledlights.com", true },
   { "dn3s.me", true },
   { "dn42.us", true },
   { "dna.li", true },
@@ -15792,11 +16603,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dndtools.net", true },
   { "dnlr.tech", true },
   { "dnmlab.it", true },
+  { "dnns.no", true },
   { "dnoid.to", true },
   { "dnplegal.com", true },
+  { "dns-check.nl", true },
   { "dns-control.eu", true },
   { "dns-swiss.ch", true },
   { "dns.google.com", true },
+  { "dns.sb", true },
   { "dns8.online", true },
   { "dnsaio.com", true },
   { "dnscrawler.com", true },
@@ -15820,13 +16634,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "do13.net", true },
   { "do67.de", true },
   { "do67.net", true },
-  { "doanhnhankhanhhoa.vn", true },
   { "dobbshvac.com", true },
   { "dobraprace.cz", false },
   { "dobre-programy.xyz", true },
+  { "dobreoknaszczecin.pl", true },
   { "dobreprogramy.pro", true },
   { "dobrisan.ro", true },
-  { "dobryautoskup.pl", true },
   { "doc-baza.ru", true },
   { "doc.ai", true },
   { "doc.python.org", true },
@@ -15851,10 +16664,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "docs.google.com", false },
   { "docs.python.org", true },
   { "docs.tw", true },
-  { "docskiff.com", true },
-  { "doctabaila.com", true },
   { "doctafit.com", true },
-  { "docteurcardin.com", true },
+  { "docteurcardin.com", false },
   { "doctor-locks.co.uk", true },
   { "doctor.dating", true },
   { "doctor360.com.au", true },
@@ -15864,6 +16675,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "doctorperu.com", true },
   { "doctorwho.cz", true },
   { "doctorxdentist.com", true },
+  { "docu.io", true },
   { "docubox.info", true },
   { "docucopies.com", true },
   { "docudanang.com.vn", false },
@@ -15872,7 +16684,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "docusearch.com", true },
   { "dodikod.tk", true },
   { "dodopri.com", true },
-  { "doenjoylife.com", true },
+  { "doenjoylife.com", false },
   { "doeren.com", true },
   { "doerz.com", true },
   { "does.one", true },
@@ -15882,6 +16694,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dogadayiz.net", true },
   { "dogan.ch", false },
   { "dogandoganay.com", true },
+  { "dogcat.vn", true },
   { "dogcontrol.ca", true },
   { "dogear.ch", true },
   { "dogforum.de", true },
@@ -15896,34 +16709,41 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dogoo.com", true },
   { "dogpawstudio.com", true },
   { "dogrescuegreece.nl", true },
+  { "dogsdailylife.com", true },
+  { "dogurai.com", true },
   { "dogvolution.com", true },
+  { "dogwalkeru.com", true },
   { "dogworld.com.br", true },
   { "dohanews.co", true },
+  { "doi.org", true },
   { "doihavetoputonpants.com", true },
   { "doinaruscior.eu", true },
   { "doitauto.de", true },
   { "doitexperience.com", true },
   { "dojozendebourges.fr", true },
+  { "dokee.cn", true },
   { "dokelio-idf.fr", true },
   { "dokhuyenmaigiatot.com", true },
   { "doki.space", false },
   { "dokipy.no", true },
   { "dokkanashop.com", true },
+  { "doko.pl", true },
   { "dokuboard.com", true },
   { "dolcesalatoweb.it", true },
   { "dolci-delizie.de", true },
+  { "dolciariasimonini.com", true },
   { "dolciterapie.com", true },
   { "doli.se", true },
   { "dolice.net", true },
   { "dolinathome.com", true },
   { "doll.ml", true },
-  { "dollarrp.pl", true },
   { "dollchan.org", true },
   { "dollemore.com", true },
   { "dollhousetoyo.com", true },
   { "dolorism.com", true },
   { "dolph.de", true },
   { "doma.in", true },
+  { "domacikavarna.cz", true },
   { "domadillo.com", true },
   { "domain-ermittlung.de", true },
   { "domain-skachat.cf", true },
@@ -15935,14 +16755,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "domainexpress.de", false },
   { "domainforfree.gq", true },
   { "domainkauf.de", true },
-  { "domainname.forsale", true },
   { "domainoo.com", true },
   { "domains.google.com", true },
   { "domainsilk.com", true },
   { "domainspeicher.com", true },
   { "domainspeicher.one", true },
   { "domainstaff.com", true },
-  { "domainvoider.cf", true },
   { "domakidis.com", true },
   { "domarkperu.com", true },
   { "domaxpoker.com", true },
@@ -15961,12 +16779,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dominationgame.co.uk", true },
   { "dominctheroofguy.com", true },
   { "dominicandfelixroco.tk", true },
-  { "dominicanosenpr.com", true },
   { "dominicself.co.uk", true },
   { "dominictaylor.co.uk", true },
   { "dominik-bergmann.de", true },
   { "dominik.st", true },
   { "dominikaner-vechta.de", true },
+  { "dominionedge.com", true },
   { "dominionregistries.domains", true },
   { "dominique-haas.fr", false },
   { "dominoknihy.cz", true },
@@ -16011,23 +16829,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "donaldtrump.ga", true },
   { "donateabox.org", true },
   { "donateaday.net", true },
-  { "donation.ph", true },
+  { "donatus.nl", true },
   { "donboscogroep.nl", true },
+  { "dondiabolo.com", true },
   { "donfelino.tk", false },
-  { "dongcdn.com", true },
   { "dongxuwang.com", true },
+  { "donia-almla3b.com", true },
   { "donjusto.nl", true },
   { "donkennedyandsons.com", true },
   { "donkeytrekkingkefalonia.com", true },
   { "donnaandscottmcelweerealestate.com", true },
   { "donnabrothers.com", true },
-  { "donnacha.blog", true },
   { "donnachie.net", true },
   { "donnajeanbooks.com", true },
   { "donner-reuschel.de", true },
   { "donnons.org", false },
   { "donnoval.ru", false },
-  { "donotcall.gov", true },
+  { "donotcallgov.com", true },
   { "donotlink.it", true },
   { "donovankraag.nl", true },
   { "donpanda.cz", true },
@@ -16046,7 +16864,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dooby.fr", true },
   { "dooleylabs.com", true },
   { "dooleytackaberry.com", true },
-  { "doolz.co.nz", true },
   { "doomoo.com", true },
   { "doomsworld.com", true },
   { "doomtech.net", true },
@@ -16055,6 +16872,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "doop.im", true },
   { "doordecor.bg", true },
   { "doorflow.com", true },
+  { "doorgate.pt", true },
   { "doorhandlese.com", true },
   { "doorshingekit.com", true },
   { "doorswest.net", true },
@@ -16070,17 +16888,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "doradocomputer.com", true },
   { "doradoscampeon.tk", true },
   { "doramamusic.gq", true },
-  { "dorco.be", true },
-  { "dorde.eu", true },
+  { "dordtpas.nl", true },
   { "dorfbaeck.at", true },
   { "dorfbrunnen.eu", false },
   { "dorfpark-falkenburg.de", true },
   { "dorfzittig.de", true },
   { "doriangirod.ch", false },
   { "dorianharmans.nl", true },
+  { "dorianmuthig.com", true },
   { "doridian.com", true },
   { "doridian.de", true },
-  { "doridian.net", true },
   { "doridian.org", true },
   { "dormirmucho.com", true },
   { "dormitengernyikaland.hu", true },
@@ -16092,15 +16909,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dorpshuiskesteren.nl", true },
   { "dorsetentertainments.co.uk", true },
   { "dorth.nl", true },
+  { "dos.cafe", true },
+  { "dosenbierrepublik.com", true },
   { "dosenkiwi.at", true },
   { "dosje.org", true },
   { "doska.by", true },
   { "doska.ru", true },
-  { "dosomeworks.biz", true },
   { "dossplumbing.co.za", false },
   { "dostalsecurity.com", true },
   { "dostav.tk", true },
   { "dostlar.fr", true },
+  { "dosug.so", true },
   { "dosvientoselectric.com", true },
   { "dosvientoselectrical.com", true },
   { "dosvientoselectrician.com", true },
@@ -16115,6 +16934,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dotbigbang.com", true },
   { "dotbox.org", true },
   { "dotcircle.co", true },
+  { "dotcomtest02-single.azurewebsites.net", true },
   { "dotesports.com", true },
   { "dotgov.gov", true },
   { "dothebangthingsalon.com", true },
@@ -16136,11 +16956,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dotsiam.com", true },
   { "dotsiam.in.th", true },
   { "dottore.roma.it", true },
+  { "dottormarc.it", true },
   { "douai.me", true },
   { "doubleaste.com", true },
   { "doubleavineyards.com", true },
   { "doubleglazingmasters.com.au", true },
+  { "doubleglazingmelbourne.com", true },
   { "doubleup.com.au", true },
+  { "doubtaboutwill.org", true },
+  { "douceurcarlet.com", true },
   { "doucheba.gs", false },
   { "doughseeker.com", true },
   { "douglascountybar.com", true },
@@ -16150,9 +16974,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "doujinshi.info", true },
   { "doujinspot.com", true },
   { "douzer.de", true },
+  { "douzer.earth", true },
   { "douzer.industries", true },
   { "dovenzorgmalawi.nl", true },
   { "dovermotion.com", true },
+  { "dovizborsa.com", true },
   { "dowell.media", true },
   { "dowellconsulting.com", true },
   { "dowhatmakegood.de", true },
@@ -16169,9 +16995,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "downrightcute.com", true },
   { "downtimerobot.nl", true },
   { "downtownautospecialists.com", true },
-  { "downtownstevenspoint.org", true },
   { "downtownsuiteliving.com", true },
-  { "downtownvernon.com", true },
   { "downunderporn.com", true },
   { "dox-box.eu", true },
   { "doxal.ro", true },
@@ -16208,7 +17032,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dpsg-roden.de", false },
   { "dpwsweeps.co.uk", true },
   { "dr-becarelli-philippe.chirurgiens-dentistes.fr", true },
-  { "dr-bodendorf.de", true },
   { "dr-klotz.info", true },
   { "dr-knirr.de", true },
   { "dr-marlen-nystroem.de", true },
@@ -16233,6 +17056,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dracoon.de", true },
   { "dracoon.team", true },
   { "dracox.com", true },
+  { "dracula.city", true },
   { "draemar.com", true },
   { "draftguru.com.au", true },
   { "dragcave.net", true },
@@ -16247,6 +17071,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dragonheartsrpg.com", true },
   { "dragonkin.net", true },
   { "dragonprogrammer.com", true },
+  { "dragonreal.estate", true },
   { "dragonschool.org", true },
   { "dragonsunited.at", true },
   { "dragonsunited.ch", true },
@@ -16259,6 +17084,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dragonwolfpackaquaria.com", true },
   { "dragowebdesign.com", true },
   { "draintechnorthwest.net", true },
+  { "drainwllc.com", true },
   { "drake.partners", true },
   { "drakecommercial.com", true },
   { "drakeluce.com", true },
@@ -16274,11 +17100,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dranous.com", true },
   { "drapeauxdespays.fr", true },
   { "dras.hu", true },
+  { "drastik.cz", true },
   { "dratini0.hu", true },
   { "draugr.de", true },
   { "draw.uy", true },
   { "drawesome.uy", true },
-  { "drawingcode.net", true },
   { "drawtwo.gg", true },
   { "drawvesly.ovh", true },
   { "drawxp.com", true },
@@ -16289,20 +17115,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drchrislivingston.com", true },
   { "drchristophepanthier.com", true },
   { "drcourtney.com", true },
+  { "drcp.tokyo", true },
   { "drdegenhart.de", true },
   { "drdenisvincenzi.com.br", true },
   { "drdipilla.com", true },
-  { "drdripplumbingsydney.com.au", true },
   { "dream-pools.cf", true },
   { "dreamboxpro.com", true },
   { "dreamcrack.tk", true },
   { "dreamcraft.su", true },
-  { "dreamcreator108.com", true },
   { "dreamday-with-dreamcar.de", true },
   { "dreamdestine.com", true },
   { "dreamdivers.com", true },
+  { "dreamhack.com", true },
   { "dreamhostremixer.com", true },
   { "dreamhouses.com", true },
+  { "dreamingwolf.sk", true },
   { "dreamlandmagic.com", true },
   { "dreamlordpress.it", true },
   { "dreamlux.cz", true },
@@ -16316,6 +17143,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dreamstream.tv", true },
   { "dreamstream.video", true },
   { "dreamstudio.com", true },
+  { "dreamswelcome.com", true },
   { "dreamsxxl.com", true },
   { "dreamwork.financial", true },
   { "dreamz-staging.zone", true },
@@ -16338,14 +17166,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dress-cons.com", true },
   { "dressify.in", true },
   { "dressingmaternity.fr", true },
-  { "drevanbeale.com", true },
   { "drevo-door.cz", false },
+  { "drevoline.com.ua", true },
   { "drew.beer", true },
   { "drew.life", true },
+  { "drew.red", true },
   { "drewapianostudio.com", true },
   { "drewlearns.com", true },
   { "drewsilcock.co.uk", true },
   { "drewzar.com", true },
+  { "drexelwood.com", true },
   { "dreyfussplasticsurgery.com", true },
   { "drezzy.it", true },
   { "drgeadsdavinci.com", true },
@@ -16363,9 +17193,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drhyler.com", true },
   { "drianpublishing.tk", true },
   { "driesjtuver.nl", true },
+  { "driestwegkerk.nl", true },
   { "driftdude.nl", true },
   { "driftingruby.com", true },
   { "drighes.com", true },
+  { "drikuansvarligt.dk", true },
   { "drillingsupply.info", true },
   { "drillingsupplystore.com", true },
   { "drillion.net", true },
@@ -16374,13 +17206,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drinkcontrolapp.com", true },
   { "drinkgas-jihlava.cz", true },
   { "drinkgo.vn", true },
+  { "drinkrebellious.com", true },
   { "driv.io", true },
   { "drive.google.com", false },
+  { "drivedavis.com", true },
   { "driveexport.com", true },
   { "driven2shine.eu", true },
+  { "drivenbyperspective.com", true },
   { "drivenes.net", true },
   { "driver.ru", true },
-  { "drivercopilot.com", true },
   { "driverless.id", true },
   { "driverprofiler.co.uk", true },
   { "driverscollection.com", true },
@@ -16395,6 +17229,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drjuanitacollier.com", false },
   { "drjulianneil.com", true },
   { "drkhsh.at", false },
+  { "drkmtrx.xyz", true },
   { "drlandis.com", true },
   { "drlangsdon.com", true },
   { "drlinkcheck.com", true },
@@ -16408,8 +17243,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "droidandy.com", true },
   { "droidapp.nl", true },
   { "droidchart.com", true },
+  { "droidee.com", true },
   { "droidgyan.com", true },
   { "droidhere.com", true },
+  { "dromax.hu", true },
+  { "dromotique.com", true },
   { "drone-it.net", false },
   { "dronebl.org", true },
   { "droneland.nl", true },
@@ -16424,6 +17262,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dropboxer.net", true },
   { "droperplus.com", true },
   { "dropistic.com", true },
+  { "droplen.com", true },
   { "droppia.io", true },
   { "dropq.nl", true },
   { "dropscloud.spdns.de", true },
@@ -16437,7 +17276,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drphillipsmwc.com", true },
   { "drpico.com.au", true },
   { "drpil.nl", true },
-  { "drpure.top", true },
+  { "drrachellemeaux.com", true },
   { "drradin.com", true },
   { "drrhonda.com", true },
   { "drrr.chat", true },
@@ -16452,6 +17291,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drthalhammer.at", true },
   { "drtimmarch.com", true },
   { "drtimothybradley.com", true },
+  { "drtimothysteel.com.au", true },
+  { "drtimothysteeljournal.com", true },
+  { "drtimothysteelnetwork.com", true },
+  { "drtimothysteelresults.com", true },
+  { "drtimothysteelscholarship.com.au", true },
+  { "drtimothysteelvideos.com", true },
   { "drtristanberry.com", true },
   { "druckerei-huesgen.de", true },
   { "drugs.com", true },
@@ -16462,14 +17307,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drunkscifi.com", true },
   { "drupal-expert.it", true },
   { "drupal.org", true },
-  { "drupalspb.org", true },
+  { "drupalspb.org", false },
   { "drusantia.net", true },
   { "drusillas.co.uk", true },
   { "druwe.net", false },
+  { "drvaidyas.com", true },
   { "drwang.group", true },
-  { "drweinrach.com", true },
   { "drweissbrot.net", true },
-  { "drwxr.org", true },
   { "drybjed.net", true },
   { "drycleancoalition.org", true },
   { "drycreekphoto.com", true },
@@ -16481,15 +17325,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "drywallresponse.gov", true },
   { "ds.lol", true },
   { "ds138.cc", true },
-  { "ds168.cc", true },
   { "ds28s.com", true },
-  { "ds388.cc", true },
   { "ds67.de", true },
+  { "dsaengineering.com", true },
   { "dsancomics.com", true },
   { "dsanraffleshangbai.xyz", true },
   { "dsayce.com", true },
   { "dsble.de", true },
-  { "dsbmradio.tk", true },
   { "dsbutler.de", true },
   { "dscharrer.com", true },
   { "dschwarzachtaler.de", true },
@@ -16503,23 +17345,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dsgvo.name", true },
   { "dsh.io", true },
   { "dshield.org", true },
-  { "dsi7.com", true },
   { "dsimons.tk", true },
   { "dsm5.com", true },
   { "dsmjs.com", true },
+  { "dsmnet.org", true },
   { "dso-izlake.si", true },
   { "dsol.hu", true },
-  { "dsouzamusic.com", true },
   { "dspace.pl", true },
   { "dspropertyservicesltd.co.uk", true },
   { "dsreal.de", true },
   { "dstamou.de", true },
   { "dsteiner.at", true },
-  { "dstvinstalledenvale.co.za", true },
-  { "dstvinstallglenvista.co.za", true },
-  { "dstvinstalljohannesburg.co.za", true },
   { "dstvinstallkemptonpark.co.za", true },
-  { "dstvrandburg.co.za", true },
   { "dstvsandton.co.za", true },
   { "dstvsouthafrica.com", true },
   { "dsuinnovation.com", true },
@@ -16543,6 +17380,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dtmbx.net", true },
   { "dtmbx.nl", true },
   { "dtmbx.org", true },
+  { "dtmf.io", true },
   { "dtmlnp.com", true },
   { "dtngny.com", true },
   { "dtnx.email", true },
@@ -16553,23 +17391,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dtoweb.be", true },
   { "dtp-mstdn.jp", false },
   { "dtuaarsfest.dk", true },
-  { "dtune.me", true },
   { "dtx.sk", true },
   { "du-alex.ru", true },
+  { "dualascent.com", true },
   { "duarteeleiteconsultoria.com.br", true },
   { "dub.cz", true },
-  { "dubai-company.ae", true },
-  { "dubaieveningsafari.com", true },
   { "dubaizone.cf", true },
   { "dubbingkursus.dk", true },
   { "dubbningshemsidan.se", true },
   { "dubious-website.com", true },
   { "dublin-traceroute.net", true },
+  { "duboisinternational.com", true },
+  { "duboisinvestissements.com", true },
   { "dubrava.tk", true },
   { "dubrovskiy.net", true },
   { "dubrovskiy.pro", true },
   { "dubstep.fr", true },
   { "dubtrack.fm", true },
+  { "dubyou.tw", true },
   { "ducadu.com", true },
   { "duch.cloud", true },
   { "duckbase.com", true },
@@ -16579,9 +17418,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "duckduckstart.com", true },
   { "duckfam.us", true },
   { "duckinc.net", true },
+  { "ducksify.com", true },
   { "ducksoft.fi", true },
   { "duct.me", true },
-  { "dudesunderwear.com.br", false },
   { "due-diligence-security.com", true },
   { "duelingaces.com", true },
   { "duernberg.at", true },
@@ -16601,7 +17440,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dukeandduchessdrivingschool.co.uk", true },
   { "dukegat.de", false },
   { "dukers-baelemans.nl", true },
-  { "dukesatqueens.com", true },
   { "dukun.de", true },
   { "dulcinela.es", true },
   { "dulei.si", true },
@@ -16620,21 +17458,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "duncm.com", true },
   { "dungdev.net", true },
   { "dungeon-bbs.de", true },
+  { "dungeoncity.com", true },
   { "dunklau.fr", true },
   { "dunkle-seite.org", true },
   { "dunmanelectric.com", true },
   { "dunyahalleri.com", true },
   { "duobus.nl", true },
-  { "duoluodeyu.com", true },
   { "duoquadragintien.fr", true },
   { "duoyin.com", true },
   { "dupisces.com.tw", true },
   { "duplicazionechiavi.it", true },
   { "duploclique.pt", false },
   { "dupree.co", true },
-  { "dupree.pe", true },
   { "durand.tf", true },
   { "duranthon.eu", true },
+  { "durastill-distiller.com", true },
   { "durbanlocksmiths.co.za", true },
   { "durcal.tk", true },
   { "durdle.com", true },
@@ -16643,17 +17481,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "durgatopos.it", true },
   { "duria.de", true },
   { "duriaux-dentiste.ch", false },
+  { "duriemas.com", true },
   { "durin-art.com", true },
-  { "durmatest.com", true },
   { "durys.be", true },
   { "dusmomente.com", true },
-  { "dustandsand.com", true },
+  { "dustandsand.com", false },
+  { "dustpla.net", true },
   { "dustplanet.de", true },
   { "dustri.org", true },
+  { "dusty.gr", true },
   { "dustygroove.com", true },
   { "dustyspokesbnb.ca", true },
   { "dustywilson.com", true },
   { "dutch.desi", true },
+  { "dutchassistancedogs.nl", true },
   { "dutchessuganda.com", true },
   { "dutchfoodie.nl", true },
   { "dutchforkrunners.com", true },
@@ -16683,6 +17524,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dvorupotocnych.sk", true },
   { "dvwc.org", true },
   { "dvx.cloud", true },
+  { "dwarf.com.tw", true },
   { "dwgf.xyz", true },
   { "dwi-sued.de", true },
   { "dwood.store", true },
@@ -16692,7 +17534,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dwworld.co.uk", true },
   { "dwz-solutions.com", true },
   { "dx-revision.com", true },
-  { "dx2o.com", true },
   { "dxgl.info", true },
   { "dxgl.org", true },
   { "dxm.no-ip.biz", true },
@@ -16705,13 +17546,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dybuster.es", true },
   { "dybuster.it", true },
   { "dybuster.se", true },
+  { "dycoa.com", true },
   { "dyeager.org", true },
   { "dyktig.as", true },
   { "dyktig.no", true },
-  { "dylancl.cf", true },
   { "dylangattey.com", true },
   { "dylankatz.com", true },
   { "dylanknoll.ca", true },
+  { "dylanscott.com.au", true },
   { "dylanspcrepairs.com", true },
   { "dylmye.me", false },
   { "dylnuge.com", true },
@@ -16721,6 +17563,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dym2013.com", true },
   { "dym2014.com", true },
   { "dym2017.com", true },
+  { "dymdajce.ovh", true },
   { "dymersion.com", true },
   { "dymfbbs.com", true },
   { "dymmovie.com", true },
@@ -16731,8 +17574,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dynamicnet.net", false },
   { "dynamics-365.no", true },
   { "dynamics365.no", true },
+  { "dynamicsnetwork.net", true },
   { "dynamicsretailnotes.com", true },
-  { "dynamictostatic.com", true },
   { "dynamofanforum.de", true },
   { "dynapptic.com", true },
   { "dynastic.co", true },
@@ -16760,12 +17603,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dyrenesverden.no", true },
   { "dyrkar.com", true },
   { "dyrstad.net", true },
-  { "dyrvigs.de", true },
+  { "dys-coaching.com", true },
   { "dyscalculia-blog.com", true },
   { "dysthymia.com", true },
-  { "dyxe.me", true },
-  { "dyxe.xyz", true },
-  { "dyz.pw", true },
+  { "dyyn.de", true },
+  { "dz7337.com", true },
   { "dzar.nsupdate.info", true },
   { "dzeina.ch", false },
   { "dzet.de", true },
@@ -16789,10 +17631,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "dzworld.com", true },
   { "dzyszla.pl", true },
   { "dzytdl.com", true },
+  { "e-account.by", true },
+  { "e-bap.net", true },
+  { "e-beyond.de", true },
   { "e-bikesdirect.co.uk", true },
+  { "e-biografias.net", true },
+  { "e-bookshelf.de", true },
   { "e-borneoshop.com", true },
   { "e-briancon.com", true },
-  { "e-businessexpert.com", true },
   { "e-coexist.com", true },
   { "e-colle.info", true },
   { "e-cottage.com.br", true },
@@ -16801,21 +17647,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "e-enterprise.gov", false },
   { "e-id.ee", true },
   { "e-klempir.cz", true },
-  { "e-labo.works", true },
   { "e-lambre.com", true },
   { "e-learningbs.com", true },
-  { "e-lifetechnology.com", true },
+  { "e-m1.com", true },
   { "e-mandataires.fr", true },
   { "e-michiganinsurance.com", true },
-  { "e-nanum.kr", true },
+  { "e-node.net", true },
   { "e-privat.info", true },
   { "e-ptn.com", true },
   { "e-referendum.cz", true },
   { "e-speak24.pl", true },
   { "e-standardstore.org", true },
-  { "e-surety.net", true },
   { "e-sushi.net", true },
-  { "e-sw.co.jp", true },
   { "e-teachers.me", true },
   { "e-tech-solution.com", true },
   { "e-tech-solution.net", true },
@@ -16830,36 +17673,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "e-webos.com", true },
   { "e-worksmedia.com", false },
   { "e.mail.ru", true },
-  { "e007.com", true },
+  { "e1488.com", true },
   { "e15r.co", true },
+  { "e2a.cn", true },
   { "e2feed.com", true },
   { "e30.ee", true },
+  { "e30365.com", true },
   { "e36533.com", true },
+  { "e4.chat", true },
+  { "e52888.com", true },
+  { "e52888.net", true },
+  { "e59888.com", true },
+  { "e59888.net", true },
   { "e5tv.hu", true },
-  { "e64.com", true },
   { "e6e.io", true },
+  { "e7035.com", true },
   { "e7d.io", true },
   { "e7fun.net", true },
-  { "e81818.com", true },
-  { "e901.com", true },
+  { "e901.com", false },
+  { "e9582.com", true },
   { "e965.ru", true },
+  { "e9721.com", false },
   { "ea-lateleassistance.com", true },
   { "ea2drocks.com", true },
-  { "eac.gov", true },
   { "eacero.com", true },
   { "ead-italia.it", true },
+  { "eagar.com.au", true },
   { "eagle.net", true },
   { "eagleindustriesltd.com", true },
   { "eaglemessaging.com", true },
   { "eaglemoe.com", true },
   { "eaglenation.net", true },
-  { "eagletechz.com.br", true },
   { "eaglewreck.info", true },
   { "eaglexiang.org", true },
   { "eagleyecs.com", true },
   { "eaimty.com", true },
+  { "ealadel.com", true },
   { "ealev.de", true },
-  { "eallion.com", true },
+  { "eallion.com", false },
   { "eapestudioweb.com", true },
   { "earfolds.com", true },
   { "earl.org.uk", true },
@@ -16875,6 +17726,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "earthspundesigns.com", true },
   { "earthsystemprediction.gov", true },
   { "earticleblog.com", true },
+  { "easew.com", true },
   { "easez.net", true },
   { "eashwar.com", true },
   { "eason-yang.com", true },
@@ -16901,7 +17753,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "easyadsnbanners.tk", false },
   { "easycoding.org", true },
   { "easyconstat.com", true },
+  { "easycontentplan.com", true },
   { "easycosmetic.ch", true },
+  { "easycredit.se", true },
   { "easydumpsterrental.com", true },
   { "easyeditcms.com", true },
   { "easyeigo.com", true },
@@ -16909,11 +17763,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "easyfiles.gq", true },
   { "easyhaul.com", true },
   { "easylogics.tk", true },
+  { "easymotionskin-japan.jp", true },
   { "easynm.cn", true },
+  { "easyocm.hu", true },
   { "easypay.bg", true },
   { "easypayments.pro", true },
-  { "easypets.fr", true },
-  { "easyproperty.com", true },
+  { "easypets.fr", false },
   { "easypv.ch", true },
   { "easyroad.fr", true },
   { "easyshare.gq", true },
@@ -16955,11 +17810,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ebertlang.com", true },
   { "eberwe.in", true },
   { "ebest.co.jp", true },
+  { "ebill.pl", true },
   { "ebiografia.com", true },
+  { "ebiografias.com.br", true },
   { "ebisi.be", true },
   { "ebizarts.com", true },
   { "eblog.cf", true },
-  { "eblog.com.au", true },
   { "eblog.ink", true },
   { "eboardsolutions.com", true },
   { "eboek.info", true },
@@ -16968,8 +17824,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eboocker.de", true },
   { "ebookabc.tk", true },
   { "ebooki.eu.org", true },
+  { "ebooklib.club", true },
   { "ebooknetworking.net", true },
   { "ebooks-pdf.cf", true },
+  { "ebooksgratuits.org", true },
   { "eboutic.ch", true },
   { "eboyer.com", true },
   { "ebpglobal.com", false },
@@ -16979,27 +17837,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ebuyclub.com", true },
   { "ec-current.com", true },
   { "ec.mine.nu", true },
-  { "ecalculator.org", true },
   { "ecardoo.com", true },
   { "ecardoo.de", true },
   { "ecardoo.net", true },
   { "ecardoo.org", true },
   { "ecbt.co.il", true },
   { "ecchidreams.com", true },
+  { "eccma.org", true },
   { "ecco-verde.com", false },
   { "ecdn.cz", true },
   { "ecfnorte.com.br", true },
   { "echarity.ae", true },
   { "echarlascartas.es", true },
-  { "echatta.net", true },
-  { "echatta.org", true },
   { "echidna-rocktools.eu", true },
+  { "echinus.solutions", true },
   { "echo-in.info", true },
+  { "echo-n.nz", true },
   { "echo-security.co", true },
   { "echo.co.uk", true },
   { "echoanalytics.com", true },
   { "echobridgepartners.com", true },
   { "echodio.com", true },
+  { "echoesfromantiquity.com", true },
   { "echofoxtrot.co", true },
   { "echoit.net", true },
   { "echoit.net.au", true },
@@ -17024,7 +17883,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eclipseforum.tk", true },
   { "eclypsium.io", false },
   { "ecmatching.com", true },
-  { "ecmeshltd.com", true },
   { "ecnetworker.com", true },
   { "eco-derattizzazione.it", true },
   { "eco-flowplumbing.com", true },
@@ -17040,12 +17898,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ecoccinelles.com", false },
   { "ecococon.fr", true },
   { "ecocreativity.org", true },
+  { "ecocuisinedesign.com", true },
   { "ecodedi.com", true },
   { "ecodesign-labo.jp", true },
   { "ecodesigns.nl", true },
   { "ecodigital.social", true },
   { "ecofabrica.com.br", true },
   { "ecofac-bs.com", true },
+  { "ecoformeurope.com", true },
   { "ecogen.com.au", true },
   { "ecogen.net.au", true },
   { "ecoheatcool.co.uk", true },
@@ -17053,12 +17913,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ecole-attalens.ch", false },
   { "ecoledusabbat.org", false },
   { "ecolemathurincordier.com", false },
+  { "ecologica.it", true },
   { "ecombustibil.ro", true },
   { "ecomia.dk", true },
+  { "ecomonline.ru", true },
   { "ecomycie.com", true },
   { "economiafinanzas.com", true },
   { "economias.pt", true },
-  { "economicinclusion.gov", true },
+  { "economic-sanctions.com", true },
   { "economics-colleges.com", true },
   { "economie2.alsace", true },
   { "economiefidu.ch", false },
@@ -17074,7 +17936,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ecostruxureit.com", true },
   { "ecosystem.atlassian.net", true },
   { "ecosystemmanager-uat1.azurewebsites.net", true },
-  { "ecoterramedia.com", true },
   { "ecotransfer.bio", true },
   { "ecotur.org", true },
   { "ecovision.com.br", true },
@@ -17088,10 +17949,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ecsupplyinc.com", true },
   { "ecuadorbienesraices.com", true },
   { "ecuatask.com", true },
-  { "ecuteam.com", true },
   { "ecxforum.com", true },
   { "ed-studios.tk", true },
   { "ed.gs", true },
+  { "edailystar.com", true },
   { "edanni.io", true },
   { "edapt.org.uk", true },
   { "edas.info", false },
@@ -17100,7 +17961,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eddesign.ch", true },
   { "eddmil.es", true },
   { "eddokloosterman.com", true },
-  { "eddy.ee", true },
   { "eddyn.net", true },
   { "edeals.co", true },
   { "edeals.co.com", true },
@@ -17117,7 +17977,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "edesseglabor.hu", true },
   { "edfinancial.com", true },
   { "edgarz.tk", true },
-  { "edgefantasy.com", true },
   { "edgeservices.co.uk", true },
   { "edgetalk.net", true },
   { "edh.email", true },
@@ -17127,22 +17986,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "edi-gate.de", true },
   { "edibarcode.com", true },
   { "edicct.com", true },
-  { "edify.space", true },
+  { "edify.space", false },
   { "edilservizi.it", true },
   { "edilservizivco.it", true },
   { "edinburghsportsandoutdoorlearning.com", true },
   { "edincmovie.com", true },
   { "edisa.xyz", true },
   { "ediscomp.sk", true },
+  { "edisongroup.ru", true },
   { "edisonlee55.com", true },
   { "edisonluiz.com", true },
   { "edisonnissanparts.com", true },
+  { "edisonprint.ru", true },
+  { "edisontent.ru", true },
   { "edit.co.uk", true },
   { "edit.yahoo.com", false },
   { "edited.de", true },
   { "edition-bambou.com", false },
   { "edition-sonblom.de", true },
   { "editionsnoiretrouge.com", true },
+  { "editorakanope.com.br", true },
   { "edlinger.at", true },
   { "edlinger.mobi", true },
   { "edlinus.cn", true },
@@ -17157,7 +18020,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "edsby.com", true },
   { "edservicing.com", true },
   { "edshogg.co.uk", true },
-  { "edsinet.com", false },
   { "edsm.net", true },
   { "edstem.org", true },
   { "edstep.com", true },
@@ -17168,7 +18030,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "edu6.cloud", true },
   { "eduart.tk", true },
   { "edubase.net", true },
-  { "edubras.com.br", true },
   { "educa2.es", true },
   { "educacionvirtual.com.ar", true },
   { "educaestado.com", true },
@@ -17183,15 +18044,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "edugundavetiyesi.com", true },
   { "eduid.se", false },
   { "edukador.com", true },
-  { "edumundo.nl", true },
+  { "edumaster.pro", true },
   { "edunet.gq", true },
   { "eduroam.no", true },
   { "eduroam.uy", true },
   { "edusanjal.com", true },
-  { "eduschedule.org", true },
   { "edusercontent.com", true },
   { "eduvpn.no", true },
-  { "eduxpert.in", true },
   { "edv-kohls.de", true },
   { "edv-lehrgang.de", true },
   { "edv-ringhofer.de", true },
@@ -17224,6 +18083,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ee951.com", true },
   { "ee973.com", true },
   { "eebt.hu", true },
+  { "eeeeeeeeee.de", true },
   { "eelcapone.nl", true },
   { "eellak.gr", true },
   { "eelsden.net", true },
@@ -17244,7 +18104,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "efaas.nl", true },
   { "efag.com", true },
   { "efcross.com", true },
-  { "efeen.nl", true },
   { "eff.org", true },
   { "effdocs.com", true },
   { "effe.ch", false },
@@ -17253,6 +18112,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "effectivepapers.com", true },
   { "effex.ru", true },
   { "effinfun.com", true },
+  { "efflam.net", true },
   { "effortlesshr.com", true },
   { "eficsolar.com", true },
   { "efinity.io", true },
@@ -17270,9 +18130,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eflorashop.us", true },
   { "efmcredentialing.org", true },
   { "efoood.org", true },
-  { "efreet.xyz", true },
   { "eft.boutique", true },
-  { "eftopia.org", true },
   { "egablo.black", true },
   { "egarden.it", true },
   { "egb.at", false },
@@ -17281,6 +18139,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eges.eu", true },
   { "egg-ortho.ch", true },
   { "eggblast.com", true },
+  { "eggendorfer.at", true },
+  { "eggendorfer.be", true },
+  { "eggendorfer.biz", true },
+  { "eggendorfer.ch", true },
+  { "eggendorfer.co.uk", true },
+  { "eggendorfer.de", true },
+  { "eggendorfer.info", true },
+  { "eggendorfer.it", true },
+  { "eggendorfer.li", true },
+  { "eggendorfer.name", true },
+  { "eggendorfer.net", true },
+  { "eggendorfer.online", true },
+  { "eggendorfer.org", true },
+  { "eggendorfer.pro", true },
+  { "eggendorfer.rocks", true },
+  { "eggendorfer.tv", true },
+  { "eggendorfer.uk", true },
+  { "eggendorfer.us", true },
+  { "eggendorfer.wine", true },
   { "eggert.org", false },
   { "egglestonyouthcenter.org", true },
   { "egiftcards.be", true },
@@ -17296,16 +18173,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "egres.xyz", true },
   { "egrojsoft.info", true },
   { "egrp365.ru", true },
+  { "egsl.pro", true },
   { "egw-ceramica.de", true },
   { "egweb.tv", true },
   { "ehaccp.it", true },
-  { "ehandel.com", true },
   { "ehazi.hu", true },
-  { "ehb-sec-ward.be", true },
   { "ehbsecuritydavy.be", true },
   { "ehbssl.com", true },
   { "ehcommerce.com", true },
   { "ehcommerce.org", true },
+  { "ehealth.gov.au", true },
   { "eheliche-disziplin.schule", true },
   { "ehipaa.com", true },
   { "ehlacademy.org", true },
@@ -17319,6 +18196,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ehub.hu", true },
   { "ehub.pl", true },
   { "ehub.sk", true },
+  { "ei-bo.org", true },
   { "eichel.eu", true },
   { "eichinger-stelzl.de", true },
   { "eichler.work", true },
@@ -17330,16 +18208,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eigenpul.se", true },
   { "eigenpulse.com", true },
   { "eighty-aid.com", true },
-  { "eightyfour.ca", true },
   { "eightysoft.de", true },
   { "eigpropertyauctions.co.uk", true },
   { "eihaikyo.com", true },
   { "eikentafels.nl", true },
+  { "eikerposten.no", true },
   { "eikounoayumi.jp", true },
   { "eilhan.com", true },
   { "eimacs.com", true },
   { "eimmigration.com", true },
-  { "einaros.is", true },
   { "eine-andere-welt.org", true },
   { "einfachbahn.de", true },
   { "einheft.info", true },
@@ -17359,6 +18236,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eirb.fr", true },
   { "eirik.eu", true },
   { "eisaev.ru", true },
+  { "eisblau.org", true },
   { "eisen-biomed.ch", true },
   { "eisenbahnfreunde-lengerich.de", true },
   { "eisenhowerlibrary.gov", true },
@@ -17382,15 +18260,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ekd.de", true },
   { "ekedc.com", true },
   { "ekedp.com", true },
+  { "ekimaeseitai.com", true },
   { "ekimma.com", true },
   { "eklepka.com", true },
   { "eklitzke.org", true },
-  { "ekocleaningllc.com", true },
+  { "ekogroszekpieklo.pl", true },
   { "ekokontakt.cz", true },
   { "ekonbenefits.com", true },
   { "ekostecki.de", true },
   { "ekouniejow.pl", true },
-  { "ekpj.jp", true },
   { "ekranos.me", true },
   { "ekre.club", true },
   { "eksisozluk.com", true },
@@ -17406,13 +18284,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "elaboratefiction.com", true },
   { "eladgames.com", true },
   { "eladlak-ingatlan.com", true },
+  { "eladvardi.co.il", true },
   { "elagplus.com", true },
+  { "elaheze.com", false },
   { "elainerock.com", true },
   { "elainesearer.com", true },
   { "elaon.de", true },
+  { "elarmariodelucia.com", true },
   { "elars.de", true },
-  { "elarvee.xyz", true },
-  { "elasticshift.com", true },
   { "elb500ttl.nl", true },
   { "elbetech.net", true },
   { "elblogdegoyo.mx", true },
@@ -17461,9 +18340,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "electricconejovalley.com", true },
   { "electricdosvientos.com", true },
   { "electricfencealberton.co.za", true },
+  { "electricfencebenoni.co.za", true },
   { "electricfenceboksburg.co.za", true },
   { "electricfencemidrand.co.za", true },
   { "electricfenceroodepoort.co.za", true },
+  { "electricfencesandton.co.za", true },
   { "electricfencingballito.co.za", true },
   { "electricfencinggillitts.co.za", true },
   { "electricfencinghillcrest.co.za", true },
@@ -17472,15 +18353,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "electricgatemotorgermiston.co.za", true },
   { "electricgatemotorglenvista.co.za", true },
   { "electricgatemotorrandburg.co.za", true },
+  { "electricgatemotorsalberton.co.za", true },
   { "electricgatemotorsballito.co.za", true },
-  { "electricgatemotorsberea.co.za", true },
-  { "electricgatemotorsbluff.co.za", true },
   { "electricgatemotorskemptonpark.co.za", true },
-  { "electricgatemotorsqueensburgh.co.za", true },
   { "electricgatemotorsroodepoort.co.za", true },
   { "electricgatemotorsumhlanga.co.za", true },
   { "electrichiddenhills.com", true },
-  { "electrichome.fr", true },
+  { "electrichome.fr", false },
   { "electrician-umhlangaridge.co.za", true },
   { "electricianagoura.com", true },
   { "electricianagourahills.com", true },
@@ -17510,6 +18389,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "electricwestlakevillage.com", true },
   { "electro-pak.com.pk", true },
   { "electrocardiographe.net", true },
+  { "electrocomplect.com.ua", true },
   { "electroforum.tk", true },
   { "electrolivefest.spb.ru", true },
   { "electromagnetism.gq", true },
@@ -17523,13 +18403,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "electrotainment.com", true },
   { "electroworld.cz", true },
   { "electrum.org", true },
+  { "elefantebrasil.com.br", true },
   { "elegance-sm.com", true },
   { "eleganceperfumes.com.br", true },
   { "elegantlatex.tk", true },
   { "eleicoes2014.com.br", true },
   { "eleicoes2016.com.br", true },
   { "eleicoes2018.com", true },
-  { "elejordemarketingconsultancy.com", true },
   { "elekharris.com", true },
   { "elektrische-zahnbuerste24.de", true },
   { "elektro-adam.de", true },
@@ -17569,11 +18449,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "elements.guide", true },
   { "elementshop.co.uk", true },
   { "elena-baykova.ru", true },
+  { "elenapulizieroma.it", true },
   { "elenatranslations.nl", true },
   { "elenta.lt", true },
   { "elephantia.cf", true },
   { "elephants.net", true },
-  { "elephpant.cz", true },
   { "elepover.com", true },
   { "eletesstilus.hu", true },
   { "eletminosegert.ro", true },
@@ -17582,20 +18462,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eletrochape.com.br", true },
   { "elettricista-roma.it", true },
   { "elettricista-roma.org", true },
-  { "elettricisti.roma.it", true },
-  { "elettrodomestici.roma.it", true },
+  { "elettricista.roma.it", true },
   { "eleusis-zur-verschwiegenheit.de", true },
+  { "elevationcreative.net", true },
   { "elevationtech.co.za", true },
   { "elevatoraptitudetest.com", true },
-  { "elexel.ru", true },
   { "elexprimidor.com", true },
   { "elexwong.com", true },
   { "elfe.de", true },
   { "elfnon.com", true },
   { "elforno.gr", true },
   { "elfring.eu", true },
+  { "elfuerteclamor.org", true },
   { "elfussports.com", true },
   { "elgalponazo.com.ar", true },
+  { "elgenero.com", true },
   { "elglobo.com.mx", false },
   { "elgosblanc.com", true },
   { "elgrecohotel.gr", true },
@@ -17603,16 +18484,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "elguadia.faith", true },
   { "elguillatun.cl", true },
   { "elhamadimi.com", true },
+  { "elherraderoloscabos.com", true },
   { "elhorizontal.com", true },
   { "elhossari.com", true },
   { "elian-art.de", true },
   { "eliaskordelakos.com", true },
-  { "eliasojala.me", true },
   { "eliasong.com", true },
-  { "eliaswendt.com", true },
-  { "eliaswendt.de", true },
   { "elibom.com", true },
+  { "elicite.com", true },
   { "elie.net", true },
+  { "eliezermarcano.com", true },
   { "elifesciences.org", true },
   { "eligibilis.com", true },
   { "eligible.com", true },
@@ -17620,6 +18501,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eligrey.com", true },
   { "elijahgrey.com", true },
   { "elikers.ml", true },
+  { "elimer.com.ve", true },
+  { "eline168.com", true },
   { "elinevanhaaften.nl", true },
   { "elinvention.ovh", true },
   { "eliott.be", true },
@@ -17627,6 +18510,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "elisa.ee", false },
   { "elisabeth-kostecki.de", true },
   { "elisabeth-strunz.de", true },
+  { "elisabethbegle.at", true },
   { "elisabethcasanova.ch", true },
   { "elisabethkostecki.de", true },
   { "elisabethrene.com", true },
@@ -17636,10 +18520,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "elite-tools.tk", true },
   { "elite12.de", true },
   { "elitebasementsohio.com", true },
-  { "elitebouncingfun.com", true },
   { "elitedns.info", true },
   { "elitegameservers.net", true },
   { "elitel.nl", true },
+  { "elitelatinas.com", true },
   { "elitepainmanagement.com", true },
   { "elitsa.gr", true },
   { "elixi.re", true },
@@ -17660,17 +18544,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ellemental.me", true },
   { "ellencorddry.com", true },
   { "ellevit.ch", false },
-  { "elliesbouncers.co.uk", true },
+  { "ellhofen-peccioli.de", true },
   { "elliot.cat", true },
   { "elliquiy.com", true },
   { "ellisamusements.co.uk", true },
   { "ellisleisure.co.uk", true },
   { "ellsinger.me", true },
+  { "elmarchive.ir", true },
   { "elmermx.ch", true },
+  { "elmot24.pl", true },
   { "elmresan.ir", true },
-  { "elnan.do", true },
   { "elo-forum.org", true },
-  { "elo-rocket.com", true },
+  { "elobservadordiario.com", true },
   { "elodrias.de", true },
   { "elon-musk.ml", true },
   { "elonaspitze.de", true },
@@ -17678,27 +18563,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "elpo.net", true },
   { "elpoderdelespiritu.org", true },
   { "elprint.com", true },
-  { "elradix.be", true },
+  { "elradix.eu", true },
   { "elranchofeliz.org", true },
-  { "elri.blog", true },
   { "elriacdn.com", true },
   { "elrinconderovica.com", true },
-  { "elsanoguera.com", true },
   { "elshou.com", true },
   { "elsignificadodesonar.com", true },
   { "elskling.no", true },
   { "elstopstelten.nl", false },
   { "elsuccionador.com", true },
   { "elsvanderlugt.nl", true },
-  { "eltair.com", true },
   { "eltern-verein.ch", true },
   { "elternbeiratswahl.online", true },
   { "elternforum-birmensdorf.ch", true },
   { "elternverein-utzenstorf.ch", true },
   { "eltip.click", true },
   { "eltlaw.com", true },
+  { "eltonpastilha.me", true },
   { "eluhome.de", true },
-  { "eluvio.com", true },
   { "elvendrim.xyz", true },
   { "elviraszabo.com", true },
   { "elvispresley.net", true },
@@ -17714,13 +18596,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "em-biotek.cz", true },
   { "emaging-productions.fr", true },
   { "emaging.fr", true },
+  { "email.repair", true },
   { "emailconfiguration.com", true },
   { "emailhunter.co", true },
   { "emailmeform.com", true },
   { "emailprivacytester.com", true },
-  { "emailtemporal.org", false },
   { "emaily.eu", true },
-  { "emanol.co.uk", true },
+  { "emalm.ml", true },
   { "emanuel.photography", true },
   { "emanuelduss.ch", true },
   { "emanueleanastasio.com", true },
@@ -17728,28 +18610,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "emarketingmatters.com", true },
   { "emasex.es", true },
   { "embassycargo.eu", true },
+  { "embebelo.com", true },
   { "emberlife.com", true },
   { "embodiaacademy.com", true },
   { "embodiaapp.com", true },
+  { "embonus.dk", true },
   { "embox.net", true },
   { "embracecontext.com", true },
   { "embraceni.org", true },
   { "embroideryexpress.co.uk", true },
   { "embsaypreschool.co.uk", true },
   { "emby.cloud", true },
+  { "emby.live", true },
   { "emcspotlight.com", true },
   { "emdrupholm.dk", true },
   { "emecew.com", true },
   { "emeliefalk.se", true },
   { "emeliemai.com", true },
   { "ememsei.com", true },
-  { "emeraldcbdshop.com", false },
   { "emeraldcityswagger.com", true },
+  { "emeraldcoasturgentcare.com", true },
   { "emeraldislerealty.com", true },
   { "emergency-federal-register.gov", true },
-  { "emergencyessay.com", true },
-  { "emergencyshutoff.com", true },
+  { "emergencycommand.us", true },
   { "emergesydney.com.au", true },
+  { "emero.de", true },
   { "emersoncanada.ca", true },
   { "emex.ro", true },
   { "emi.im", true },
@@ -17762,7 +18647,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "emiliendevos.be", true },
   { "emilio.media", true },
   { "emiliops.com", true },
-  { "emilong.com", true },
   { "emils-1910.de", true },
   { "emilstahl.com", true },
   { "emilstahl.dk", true },
@@ -17780,6 +18664,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "emmagarland.com", true },
   { "emmagraystore.com", true },
   { "emmaliddell.com", true },
+  { "emmamillernovels.com", true },
   { "emmastree.com", true },
   { "emme3abbigliamento.it", true },
   { "emmiwelentain.com", true },
@@ -17789,9 +18674,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "emoji.bzh", false },
   { "emolafarm.com", true },
   { "emond-usedcars.net", false },
+  { "emote.bot", true },
+  { "emotebot.com", true },
   { "emotionalmente.com", true },
   { "emotive.productions", true },
-  { "emoxie.com", true },
+  { "emoxie.com", false },
   { "empathogen.com", true },
   { "empathogens.com", true },
   { "empathy.ca", true },
@@ -17801,13 +18688,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "emperor-penguin.com", true },
   { "emperor-penguins.com", true },
   { "empherino.net", true },
-  { "empicargo.com", true },
   { "empire-univ.com", true },
-  { "emploi-collectivites.fr", true },
+  { "emploi-collectivites.fr", false },
   { "employeeexpress.gov", true },
   { "employeemanual.com.au", true },
   { "employer.gov", true },
-  { "employer.guru", true },
   { "employer411.com", true },
   { "employment-applicant.com", true },
   { "emporikonathenshotel.com", true },
@@ -17815,29 +18700,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "emporiodosperfumes.com.br", true },
   { "emporioonline.com.br", true },
   { "emporiopatanegra.com.br", true },
-  { "emporioviverbem.com.br", false },
   { "empower.net", true },
+  { "empoweraces.com", true },
   { "empowerdb.com", true },
-  { "empoweren.com", true },
+  { "empoweren.com", false },
+  { "empowersimcoe.ca", true },
   { "emprechtinger.com", true },
   { "emprego.pt", true },
   { "empregosrj.com", true },
+  { "empreinte.ca", true },
+  { "empresasguia.es", true },
   { "emptybox.org", true },
   { "empyrean-advisors.com", true },
   { "emrah.io", true },
-  { "emrahcinik.com", true },
   { "emreaydinfan.tk", true },
   { "emresaglam.com", true },
   { "emrullahsahin.com", true },
   { "ems.gov", true },
   { "emsa-casm.ca", true },
+  { "emsliespharmacy.com.au", true },
   { "emulator.ml", true },
   { "emultiagent.pl", true },
   { "emvoice.net", true },
   { "emvoiceapp.com", true },
   { "emw3.com", true },
   { "emyr.net", true },
-  { "emyself.org", true },
   { "emzi0767.com", true },
   { "en-booster.jp", true },
   { "en-crypt.me", true },
@@ -17851,13 +18738,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "enanto.com", true },
   { "enbecom.net", true },
   { "enbulleiugnen.com", true },
+  { "encanttemais.com.br", true },
   { "encfs.win", true },
   { "encircleapp.com", true },
   { "encnet.de", true },
   { "encode.host", true },
   { "encodecloud.net", true },
-  { "encoderx.uk", true },
   { "encontra-me.org", true },
+  { "encontroespiritadeinverno.com.br", true },
   { "encoro.org", true },
   { "encountercss.com", true },
   { "encouragemarketing.com", true },
@@ -17869,11 +18757,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "encryptmysite.net", true },
   { "encuentraprecios.es", true },
   { "encycarpedia.com", true },
-  { "encyclopedia-titanica.org", true },
   { "endbox.email", true },
   { "endeal.nl", true },
   { "ender.co.at", true },
   { "ender.fr", true },
+  { "ender.moe", true },
   { "enderbycamping.com", true },
   { "enderle.cloud", true },
   { "endingthedocumentgame.gov", true },
@@ -17890,6 +18778,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "endzeit-architekten.com", false },
   { "eneamarcantoni.com", true },
   { "eneko.com", true },
+  { "enekogarrido.com", true },
   { "energie-sante.ch", false },
   { "energiekeurplus.nl", true },
   { "energija-visiems.lt", true },
@@ -17898,6 +18787,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "energy-in-balance.eu", true },
   { "energy-infra.nl", true },
   { "energy-initiative.com", true },
+  { "energy-robotics.com", true },
+  { "energy.gov", true },
   { "energyaupair.se", true },
   { "energybank.com.br", true },
   { "energycodes.gov", true },
@@ -17909,7 +18800,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "energysolutionstech.com", true },
   { "energystar.gov", true },
   { "enersolelectrical.com.au", true },
-  { "enerte.ru", true },
   { "enerypa.tk", true },
   { "enet-navigator.de", true },
   { "enfantsdelarue.ch", true },
@@ -17922,16 +18812,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "enganches.es", true },
   { "engarde.net", true },
   { "engaugetools.com", true },
-  { "engelke-optik.de", true },
-  { "engelundlicht.ch", true },
+  { "engelke-optik.de", false },
+  { "engelsholm.dk", true },
   { "engelwerbung.com", true },
   { "engg.ca", true },
   { "engie-laadpalen.nl", true },
   { "engiedev.net", true },
   { "engima.nl", true },
+  { "engineeringbigdata.com", true },
   { "enginepit.com", true },
   { "enginsight.com", true },
-  { "enginx.net", true },
+  { "engione.com", true },
   { "engl-server.de", true },
   { "engl-systems.de", true },
   { "englishbulgaria.net", true },
@@ -17944,11 +18835,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "englishtype.com", false },
   { "engvid.com", true },
   { "engweld.co.uk", true },
-  { "engym.com.tw", true },
   { "enigma.swiss", false },
   { "enitso.de", true },
+  { "enity.tk", true },
   { "enixgaming.com", true },
   { "eniziolab.com", true },
+  { "enjin.io", true },
   { "enjin.zone", true },
   { "enjincoin.io", true },
   { "enjinwallet.io", true },
@@ -17957,17 +18849,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "enjoy-drive.com", true },
   { "enjoymondayofficial.com", true },
   { "enjoytech.fr", true },
-  { "enlamochiladeadri.com", true },
   { "enlight.no", true },
   { "enlightenedhr.com", true },
   { "enlilrosse.com", true },
-  { "enlnf.link", true },
-  { "enloestatebank.com", true },
   { "ennea-mediation.fr", true },
   { "enness.co.uk", true },
   { "ennori.jp", true },
   { "enodais.gr", true },
-  { "enofmusic.com", true },
   { "enoisdaturma.tk", true },
   { "enorekcah.com", true },
   { "enot32.ru", true },
@@ -17983,7 +18871,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "enriquepiraces.com", true },
   { "enrollapp.com", true },
   { "ensage.io", true },
-  { "enscosupply.com", true },
   { "ensemble-rubato.de", true },
   { "ensembling.com", true },
   { "ensley.tech", true },
@@ -18000,15 +18887,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "entersoftsecurity.com", true },
   { "entertainmentblog.tk", true },
   { "entertainmentformitzvahs.com", true },
+  { "enthasso.gr", true },
   { "entheogens.com", true },
   { "enthusiaformazione.com", true },
+  { "entorangecounty.com", true },
   { "entradaweb.cl", true },
   { "entrainr.com", true },
   { "entrecieletpierres.com", false },
   { "entrezdansladanse.fr", true },
   { "entropia.de", false },
   { "entropy.su", true },
-  { "entrusted.io", true },
+  { "entrup.io", true },
   { "entryboss.cc", true },
   { "entrypoint.sh", true },
   { "entwickler.land", true },
@@ -18029,6 +18918,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "envoie.moi", true },
   { "envoker.nl", true },
   { "envoyez.moi", true },
+  { "envoypresents.com", true },
+  { "envygeeks.io", true },
   { "enwikipedia.tk", true },
   { "enxadahost.com", true },
   { "enzoic.com", true },
@@ -18038,6 +18929,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eon.tech", true },
   { "eonhive.com", true },
   { "eons.io", true },
+  { "eonwavesstudio.com", true },
   { "eooe.me", true },
   { "eoonglobalresources.jp", true },
   { "eopugetsound.org", false },
@@ -18045,6 +18937,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eosol.de", true },
   { "eosol.net", true },
   { "eosolutions.co", true },
+  { "eoy.cz", true },
   { "ep-cortex.com", true },
   { "ep-plus.jp", true },
   { "epa.com.es", true },
@@ -18055,12 +18948,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "epay.bg", true },
   { "epcreport.net", true },
   { "epdeveloperchallenge.com", true },
+  { "eperniagaan.com", true },
   { "ephesusbreeze.com", true },
   { "epi-lichtblick.de", true },
   { "epi.one", false },
   { "epic-vistas.com", true },
   { "epic-vistas.de", true },
   { "epicbouncycastles.co.uk", true },
+  { "epiccdn.net", true },
   { "epicdowney.com", true },
   { "epicentar.mk", true },
   { "epicenter.ga", true },
@@ -18068,13 +18963,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "epicenter.works", true },
   { "epicentre.works", true },
   { "epicfail.be", true },
-  { "epicginger.fi", true },
   { "epichouse.net", false },
   { "epicinflatables.co.uk", true },
   { "epickitty.co.uk", true },
   { "epiclub.com.au", true },
-  { "epicpages.com", true },
-  { "epicserver.ru", true },
   { "epicsoft.de", true },
   { "epicvistas.com", true },
   { "epicvistas.de", true },
@@ -18082,7 +18974,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "epidastudio.com", true },
   { "epidauros.be", true },
   { "epigrafes-led-farmakeia.gr", true },
-  { "epikomagazine.com", true },
+  { "epikomagazine.com", false },
   { "epilepsiyle.com", true },
   { "epilis.gr", true },
   { "epinesdeparadis.com", true },
@@ -18091,13 +18983,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "episkevh-plaketas.gr", true },
   { "epistas.com", true },
   { "epistas.de", true },
-  { "epitesz.co", true },
   { "epiteugma.com", true },
   { "epitome.cc", true },
   { "epitome.games", true },
   { "epizentrum.work", true },
   { "epizentrum.works", true },
   { "epmcentroitalia.it", true },
+  { "epoker6.com", true },
   { "epolitiker.com", true },
   { "epos-distributor.co.uk", true },
   { "epos.az", true },
@@ -18113,6 +19005,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eposlondon.co.uk", true },
   { "epossheffield.co.uk", true },
   { "eposswansea.co.uk", true },
+  { "epost.pub", true },
   { "epostplus.li", true },
   { "eposyork.co.uk", true },
   { "eppelblei.lu", true },
@@ -18122,10 +19015,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "epreskripce.cz", true },
   { "eprezto.com", true },
   { "eprojectfreetv.com", true },
-  { "epsilon.dk", true },
+  { "epsi.io", true },
   { "epsmil.it", true },
   { "epspolymer.com", true },
   { "epublibre.org", true },
+  { "epvin.com", true },
   { "epyonsuniverse.net", true },
   { "eq-serve.com", true },
   { "eqassociates.com", true },
@@ -18138,15 +19032,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "equinecoaching.ca", true },
   { "equinetherapy.ca", true },
   { "equinox.io", true },
+  { "equip-test.com", true },
   { "equipandoloja.net.br", true },
   { "equipedefrance.tv", false },
   { "equipoweb.info", true },
+  { "equippers.de", true },
   { "equisecu.com", true },
   { "equk.co.uk", true },
   { "er-mgmt.com", true },
   { "er.tl", true },
   { "er1s.xyz", true },
   { "era.fi", true },
+  { "eradigital.net", true },
   { "eradoom.net", true },
   { "erasmo.info", true },
   { "erasmusplusrooms.com", true },
@@ -18158,13 +19055,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "erethon.com", true },
   { "erf-neuilly.com", true },
   { "erfolgsmaschine.ch", true },
+  { "ergaomnes.cz", true },
   { "ergo-open.de", true },
   { "ergobyte.eu", true },
   { "ergobyte.gr", true },
   { "ergodark.com", true },
   { "ergonova.fr", true },
-  { "ergoterapeutas.lt", true },
   { "ergovita.com.br", true },
+  { "ergowish.com", true },
   { "ericabrahamsen.net", true },
   { "ericairwin.com", true },
   { "ericdiao.com", true },
@@ -18172,7 +19070,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "erichoekstra.nl", true },
   { "erichogue.ca", true },
   { "erichorstmanshof.nl", true },
-  { "ericjohnltd.com", true },
   { "erick.blog", true },
   { "ericksonvasquez.com", true },
   { "ericleuthardt.com", true },
@@ -18180,6 +19077,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "erics.site", true },
   { "ericsilva.org", true },
   { "ericspeidel.de", true },
+  { "erictgilmour.ca", true },
   { "ericvaughn-flam.com", true },
   { "eridanus.uk", true },
   { "eridas.ml", true },
@@ -18191,7 +19089,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "erikheemskerk.nl", true },
   { "erikhubers.nl", true },
   { "erikkruithof.nl", true },
+  { "eriksen.im", true },
   { "erikseth.de", true },
+  { "erikw.me", true },
   { "erikwalther.eu", true },
   { "erinaceinae.com", true },
   { "eringmaguire.com", true },
@@ -18203,16 +19103,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "erkenntniswen.de", true },
   { "erkiss.live", true },
   { "erlebnisarchaeologie-bayern.de", true },
-  { "ermessecurity.com", true },
   { "ernal.net", true },
   { "ernearmetx.com", true },
   { "ernest.ly", true },
+  { "ernsteisprung.ch", true },
   { "ero-video.net", true },
   { "ero.ink", false },
   { "erodvd.com", false },
   { "eromon.net", true },
   { "eron.info", true },
   { "eropics.org", true },
+  { "eroticlist.com", true },
   { "erp-band.ru", true },
   { "erp.band", true },
   { "erpax.com", true },
@@ -18220,6 +19121,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "erpcargo.com", false },
   { "erpelstolz.at", true },
   { "erperium.nl", true },
+  { "erpiv.com", true },
   { "errietta.me", true },
   { "errolstambler.com", true },
   { "error.fail", true },
@@ -18259,19 +19161,92 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "es-tools.de", true },
   { "es-trade.biz", true },
   { "es.search.yahoo.com", false },
+  { "es888.net", true },
+  { "es9999.net", true },
   { "esagente.com", true },
+  { "esailinggear.com", true },
   { "esalesclub.com", true },
   { "esalesdata.com", true },
   { "esamievalori.com", true },
   { "esample.info", true },
+  { "esb-in.net", true },
+  { "esb-top.com", true },
+  { "esb-top.net", true },
+  { "esb168168.com", true },
+  { "esb168168.info", true },
+  { "esb168168.net", true },
+  { "esb168168.org", true },
+  { "esb1688.biz", true },
+  { "esb1688.com", true },
+  { "esb1688.info", true },
+  { "esb1688.net", true },
+  { "esb1688.org", true },
+  { "esb1711.com", true },
+  { "esb1711.net", true },
+  { "esb1788.com", true },
+  { "esb1788.net", true },
+  { "esb1788.org", true },
+  { "esb2013.com", true },
+  { "esb2013.net", true },
+  { "esb2099.com", true },
+  { "esb2099.net", true },
+  { "esb258.net", true },
+  { "esb325.com", true },
+  { "esb325.net", true },
+  { "esb333.net", true },
+  { "esb336.com", true },
+  { "esb433.com", true },
+  { "esb518.com", true },
+  { "esb553.com", true },
+  { "esb555.biz", true },
+  { "esb555.cc", true },
+  { "esb5889.com", true },
+  { "esb6.net", true },
+  { "esb677.net", true },
+  { "esb777.biz", true },
+  { "esb777.org", true },
+  { "esb886.com", true },
+  { "esb888.net", true },
+  { "esb9527.com", true },
+  { "esb9588.com", true },
   { "esb9588.info", true },
+  { "esb9588.net", true },
+  { "esb9588.org", true },
+  { "esb999.org", true },
+  { "esba11.com", true },
+  { "esball-in.com", true },
+  { "esball-in.net", true },
+  { "esball.bz", true },
+  { "esball.cc", true },
+  { "esball.mx", true },
+  { "esball.online", true },
+  { "esball.org", true },
+  { "esball.win", true },
+  { "esball.ws", true },
+  { "esball518.com", true },
+  { "esball518.info", true },
+  { "esball518.net", true },
+  { "esball518.org", true },
+  { "esballs.com", true },
+  { "esbbon.com", true },
+  { "esbbon.net", true },
+  { "esbfun.com", true },
+  { "esbfun.net", true },
+  { "esbgood.com", true },
+  { "esbin.net", true },
+  { "esbjon.com", true },
+  { "esbjon.net", true },
+  { "esbm4.net", true },
+  { "esbm5.net", true },
   { "esc.chat", true },
   { "esc.gov", true },
   { "escael.org", true },
-  { "escandille.com", true },
+  { "escalesensorielle.com", true },
+  { "escandille.com", false },
   { "escapeforyou.com", true },
   { "escapeplaza.de", true },
   { "escaperoomdoctor.com", true },
+  { "escaperoompsl.com", true },
   { "escaperoomsolutions.com", true },
   { "escapetalk.nl", true },
   { "escavador.com", true },
@@ -18283,7 +19258,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "escortgigolo.com", true },
   { "escortlareryaman.com", true },
   { "escortlistings.ca", true },
-  { "escortlistings.mx", true },
   { "escortlistings.ph", true },
   { "escortsforu.com", true },
   { "escortslittleblackbook.com", true },
@@ -18294,17 +19268,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "esdacademy.eu", false },
   { "esdenera.com", true },
   { "esdiscuss.org", true },
-  { "esdvfootloose.nl", true },
   { "eseances.ch", true },
   { "esehospitalsabanagrande.com", true },
   { "eservices-greece.com", true },
   { "eseth.de", true },
-  { "esfahanahan.com", true },
   { "esfiledecrypter.com", true },
   { "esg-abi2001.de", true },
   { "esgen.org", true },
   { "esgr.in", true },
-  { "esh.ink", true },
   { "esher.ac.uk", true },
   { "eshigami.com", true },
   { "eshop-prices.com", true },
@@ -18319,6 +19290,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eslint.org", false },
   { "esmart.ru", true },
   { "esmejor.tk", true },
+  { "esmoney.cc", true },
+  { "esmoney.me", true },
   { "esoa.net", true },
   { "esoko.eu", true },
   { "esolcourses.com", true },
@@ -18329,7 +19302,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "esoterikerforum.de", true },
   { "esovita.de", true },
   { "espace-caen.fr", false },
-  { "espace-gestion.fr", true },
   { "espace-habitat-francais.fr", true },
   { "espace.network", true },
   { "espacelanguetokyo.fr", true },
@@ -18337,7 +19309,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "espacetheosophie.fr", true },
   { "espacio-cultural.com", true },
   { "espaciosdelalma.com", true },
-  { "espacobebecia.com.br", true },
   { "espanol.search.yahoo.com", false },
   { "espci.fr", true },
   { "especialistagoogleadwords.com.br", true },
@@ -18347,10 +19318,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "espgg.org", true },
   { "espherapromocional.com.br", true },
   { "espigol.org", true },
+  { "espiragen.com", true },
   { "espiritugay.com", true },
+  { "espirituracer.com", true },
   { "esport-agency.fr", true },
-  { "esport-battlefield.com", true },
-  { "espower.com.sg", true },
   { "espritrait.com", false },
   { "espyder.net", true },
   { "esquirou-trieves.fr", false },
@@ -18378,6 +19349,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "essenalablog.de", true },
   { "essencespresso.es", true },
   { "essenerbaeder.de", true },
+  { "essentta.com", true },
   { "essex.cc", true },
   { "essextimbercraft.co.uk", true },
   { "essite.net", true },
@@ -18392,6 +19364,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "estafallando.mx", true },
   { "estahl.dk", true },
   { "estaleiro.org", true },
+  { "estalinas.com", true },
+  { "estallidodigital.cl", true },
   { "estaryshop.com.br", true },
   { "estcequejailaflemme.fr", false },
   { "estcequonmetenprodaujourdhui.info", true },
@@ -18407,19 +19381,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "estetista.net", true },
   { "esthe-zukan.com", true },
   { "estherlew.is", true },
-  { "esthernariyoshi.com", true },
   { "estilopack-loja.com.br", true },
   { "estimulantesbrasil.com", true },
   { "estintori.roma.it", true },
   { "estoic.net", true },
   { "estonoentraenelexamen.com", true },
   { "estoppels.com", true },
-  { "estraks.com", true },
+  { "estudiaenrusia.com", true },
   { "estudiarparaser.com", true },
   { "estudiaryaprenderingles.com", true },
-  { "estudiogarcia-rada.com", true },
+  { "estudioaguiar.com.br", true },
   { "estufitas.com", true },
-  { "esu.moe", true },
   { "esuretynew.azurewebsites.net", true },
   { "esyoil.com", true },
   { "et-inf.de", true },
@@ -18434,6 +19406,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "etath.com", true },
   { "etax.com.au", true },
   { "etaxigraz.com", true },
+  { "etaxintuit.com", true },
   { "etccooperative.org", true },
   { "etch.co", true },
   { "etda.or.th", true },
@@ -18445,7 +19418,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eteesheet.com", true },
   { "eternal-warriors.de", true },
   { "eternalabyss.int.eu.org", true },
-  { "eternalflame.info", true },
   { "eternalparking.com", true },
   { "eternalparking.eu", true },
   { "eternalparking.net", true },
@@ -18466,18 +19438,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ethers.news", true },
   { "ethicalconsumer.org", true },
   { "ethicaldata.co.uk", true },
+  { "ethicalescorts.com", true },
+  { "ethicallogistics.com", true },
   { "ethicalpolitics.org", true },
   { "ethicsburg.gov", true },
   { "ethika.com", true },
   { "ethil-faer.fr", true },
-  { "ethiobaba.com", true },
   { "ethiopian.dating", true },
   { "ethitter.com", true },
   { "etienne.cc", true },
   { "etiennes.work", true },
   { "etiquetaunica.com.br", true },
+  { "etkarle.de", true },
   { "etna.com.br", true },
-  { "etni-cidade.net", true },
+  { "etnis.id", true },
   { "etnoria.com", true },
   { "etoile-usedcars.com", false },
   { "etre-soi.ch", false },
@@ -18492,6 +19466,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "etudesbibliques.net", false },
   { "etudesbibliques.org", false },
   { "eturist.si", true },
+  { "etutsplus.com", true },
   { "etv.cx", true },
   { "etwalldentalpractice.co.uk", true },
   { "etyd.org", true },
@@ -18499,6 +19474,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eu-datenbank.de", true },
   { "eu-gamers.com", true },
   { "eu-stellenangebot.de", true },
+  { "euaggelion.blog.br", true },
   { "euanbarrett.com", true },
   { "euc.world", true },
   { "euchre.us", true },
@@ -18525,15 +19501,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eulenschmiede.de", true },
   { "eulessplumbers.com", true },
   { "euman.ml", true },
+  { "eumananc.ro", true },
   { "eumr.org", true },
   { "euporos.ch", true },
   { "eureka.archi", true },
+  { "eurmarketing.com", true },
   { "euro-construction.co.uk", true },
   { "euroalter.com", true },
   { "eurocars2000.es", true },
   { "eurocenterobuda.hu", true },
   { "eurocertificazione.it", true },
   { "eurocomcompany.cz", true },
+  { "eurocons.ro", true },
   { "euroconthr.ro", true },
   { "eurodentaire.com", true },
   { "euroexpres.info", true },
@@ -18543,16 +19522,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eurogarden-parts.de", true },
   { "eurogarden.be", true },
   { "eurogarden.nl", true },
+  { "euroherp.com", true },
   { "eurolocarno.es", true },
   { "euronic.fi", true },
-  { "euroonline.org", true },
   { "europa.jobs", true },
   { "europainchemnitz.de", true },
   { "europalettenkaufen.de", true },
   { "europareise2010.de", true },
   { "europarts-sd.com", true },
   { "europastudien-chemnitz.de", true },
-  { "europastudien.de", true },
   { "european-agency.org", true },
   { "european-hospital.ga", true },
   { "european-hospital.ml", true },
@@ -18560,6 +19538,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "europeancupinline.eu", true },
   { "europeanstudies-chemnitz.de", true },
   { "europeantimberconnectors.ca", true },
+  { "europeantransportmanagement.com", true },
   { "europeanwineresource.com", true },
   { "europeos.es", true },
   { "europetravelservice.co.uk", true },
@@ -18576,6 +19555,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eurousa.us", true },
   { "eurovision.ie", true },
   { "eurowaage.de", true },
+  { "eurseo.com", true },
   { "eusarse.tk", true },
   { "eusolar.cloud", true },
   { "euterpiaradio.ch", true },
@@ -18583,15 +19563,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eutotal.com", true },
   { "euwid-energie.de", true },
   { "euwid.de", true },
+  { "ev-menden.de", true },
   { "ev-zertifikate.de", true },
   { "eva-briegel-fanpage.tk", true },
   { "eva-select.com", true },
   { "eva.cz", true },
+  { "eva42.com", true },
   { "evaalordiah.tk", true },
   { "evadental.institute", true },
   { "evafojtova.cz", true },
   { "evailoil.ee", true },
   { "evailoil.eu", true },
+  { "evalesc.com", true },
   { "evamachkova.cz", true },
   { "evamathil.de", true },
   { "evamira.com", true },
@@ -18600,6 +19583,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "evangelosm.com", true },
   { "evansdesignstudio.com", false },
   { "evanwang0.com", true },
+  { "evapp.org", true },
+  { "evaria-network.fr", true },
   { "evasioncreole.com", true },
   { "evasovova.cz", true },
   { "evavolfova.cz", true },
@@ -18608,7 +19593,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eve-raynon.fr", true },
   { "eve-ua.com", true },
   { "eveadmin.azurewebsites.net", false },
-  { "evearly.com", true },
   { "eveil-et-savoirs.com", true },
   { "evelienzorgt.nl", true },
   { "evelyndayman.com", true },
@@ -18639,13 +19623,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "everberg.tk", true },
   { "everettsautorepair.com", true },
   { "everfine.com.tw", true },
+  { "evergarden.cn", true },
   { "evergladesrestoration.gov", true },
   { "everglow.co.jp", true },
   { "everglowtrading.com", true },
   { "evergreenmichigan.com", true },
   { "everhome.de", true },
-  { "everichspice.com", false },
   { "everify.gov", true },
+  { "everitoken.io", true },
   { "everling.lu", true },
   { "everlong.org", true },
   { "evermarkstudios.com", true },
@@ -18656,6 +19641,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "every-day-life.com", false },
   { "everyday.eu.org", true },
   { "everydaylatestnews.com", true },
+  { "everydayrituals.ca", true },
+  { "everydaytherich.com", true },
   { "everyfad.com", true },
   { "everykidoutdoors.gov", false },
   { "everything-everywhere.com", true },
@@ -18680,12 +19667,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "evlorin.com", true },
   { "evnt.team", true },
   { "evntage.com", true },
+  { "evobox.store", true },
   { "evoco.vc", true },
   { "evodation.com", true },
   { "evodation.org", true },
   { "evodia-spirits.de", true },
   { "evohomecare.com", true },
   { "evok.com.co", false },
+  { "evokewonder.com", true },
+  { "evolutionbiote.com", true },
   { "evolutioninflatables.co.uk", true },
   { "evolutionlending.co.uk", true },
   { "evolutionpets.com", true },
@@ -18704,16 +19694,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "evpro.lt", true },
   { "evrial.com", true },
   { "evrica.me", true },
+  { "evrodim.company", true },
   { "evromandie.ch", true },
   { "evrotrust.com", true },
   { "evsinemasistemleri.tk", true },
-  { "evstatus.com", true },
   { "evtasima.name.tr", true },
   { "evthing.se", true },
   { "evtripping.com", true },
   { "evtscan.io", true },
   { "evyn.eu", true },
   { "ewa-hayward.co.uk", true },
+  { "ewaf.club", true },
   { "ewaipiotr.pl", true },
   { "ewanm89.co.uk", true },
   { "ewanm89.com", true },
@@ -18722,6 +19713,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ewc.co.jp", true },
   { "ewcd.co.jp", true },
   { "ewe2.ninja", true },
+  { "ewesparky.com", true },
   { "ewhitehat.com", true },
   { "ewie.name", true },
   { "ewinstore.com", true },
@@ -18754,7 +19746,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "excel-utbildning.nu", true },
   { "excelkurs.one", true },
   { "excelkursdirekt.eu", true },
-  { "excella.me", true },
   { "excellence-eventos.com", true },
   { "excelsiorcomics.com.br", true },
   { "exceltechdubai.com", true },
@@ -18763,31 +19754,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "excerp.tech", true },
   { "excess-baggage.com", true },
   { "excessamerica.com", true },
-  { "excesssecurity.com", true },
+  { "excesssecurity.com", false },
   { "exchangers.top", true },
   { "exchaser.com", true },
   { "excitoninteractive.com", true },
   { "exclusivebeautystudio.com.au", true },
   { "exclusivebouncycastles.co.uk", true },
-  { "exclusivecarcare.co.uk", true },
   { "excursionescaribe.com", true },
   { "exdamo.de", true },
   { "exe-boss.tech", true },
   { "execbar.com", true },
   { "exechip.com", true },
   { "execution.biz.tr", true },
-  { "executiveresolutions.co.uk", true },
   { "exegese.ch", true },
+  { "exegol.co.uk", true },
   { "exeintel.com", true },
   { "exekutori.com", true },
-  { "exemples-de-stands.com", true },
   { "exerforge.com", true },
   { "exeria.de", true },
   { "exexcarriers.com", true },
-  { "exeye.io", true },
   { "exgaywatch.com", true },
   { "exgen.io", true },
-  { "exhibityour.com", true },
   { "exiahost.com", true },
   { "existest.com", true },
   { "exit9wineandliquor.com", true },
@@ -18795,8 +19782,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "exl-english.com", true },
   { "exmart.ng", true },
   { "exmoe.com", true },
+  { "exnce.com", true },
   { "exocen.com", true },
-  { "exodiac.ph", true },
   { "exon.io", true },
   { "exordiumconcepts.com", true },
   { "exoscale.ch", true },
@@ -18807,13 +19794,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "exozwiki.com", false },
   { "exp.de", true },
   { "expancio.com", false },
+  { "expanda.org", false },
   { "expanddigital.media", true },
   { "expandeco.com", true },
+  { "expansion-lidl.es", true },
   { "expatfinancial.com.hk", true },
   { "expatfire.com", true },
   { "expatmortgage.uk", true },
   { "expe.voyage", true },
   { "expeditiegrensland.nl", true },
+  { "experens.com", true },
   { "experienceoutdoors.org.uk", true },
   { "experienceoz.com.au", true },
   { "experimentator.cz", true },
@@ -18825,8 +19815,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "expertisematrix.com", true },
   { "expertofficefitouts.com.au", true },
   { "expertpaintersvt.com", true },
+  { "expertpakistani.com", true },
   { "expertpanel.gc.ca", true },
-  { "expertplumbingandsolarservicesbathurst.com.au", true },
+  { "expertsluzby.cz", true },
   { "expertsverts.com", true },
   { "expertvagabond.com", true },
   { "expertviolinteacher.com", true },
@@ -18836,6 +19827,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "explicate.org", true },
   { "explodie.org", true },
   { "explodingcamera.com", true },
+  { "exploflex.com.br", true },
   { "exploit-db.com", true },
   { "exploit.cz", true },
   { "exploit.party", true },
@@ -18849,36 +19841,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "exploremonero.com", true },
   { "exploretsp.gov", true },
   { "exploringmorocco.tours", true },
-  { "expmind.co.in", true },
-  { "expo-america.ru", true },
-  { "expo-asia.ru", true },
-  { "expo-europe.ru", true },
   { "expo-larionov.org", true },
-  { "exponentialnews.net", true },
   { "expoort.com", true },
   { "expoort.es", true },
   { "expoort.fr", true },
   { "expoort.it", true },
-  { "expopodium.com", true },
+  { "expopro24.ru", true },
   { "exporta.cz", true },
-  { "exposurecompensation.co.uk", true },
   { "expouniverse.tk", true },
+  { "express-hosting.org", true },
   { "express-shina.ru", true },
   { "express-vpn.com", true },
   { "express-vyvoz.ru", true },
   { "express1040.com", true },
   { "expressemotion.net", true },
   { "expresshosting.org", true },
+  { "expressioncoffins.com.au", true },
   { "expressmarket.ru", true },
   { "expresstinte.de", true },
-  { "expressvpn.com", true },
   { "expromo.eu", true },
   { "expxkcd.com", true },
   { "exs.lv", true },
   { "exsanio.de", true },
   { "exside.com", true },
   { "exsora.com", true },
-  { "extasic.com", true },
   { "extensia.it", true },
   { "extensibility.biz.tr", true },
   { "extensiblewebmanifesto.org", true },
@@ -18901,6 +19887,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "exteriorlightingsimivalley.com", true },
   { "exteriorlightingthousandoaks.com", true },
   { "exteriorlightingwestlakevillage.com", true },
+  { "exteriorroofwindowguttercleaning.com", true },
   { "extinctionrebellion.de", true },
   { "extintormadrid.com", true },
   { "extmatrix.com", false },
@@ -18914,8 +19901,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "extreme-gaming.us", true },
   { "extreme-players.com", true },
   { "extreme-players.de", true },
+  { "extreme-stock.com", true },
   { "extreme.co.th", true },
+  { "extremebros.com", true },
   { "exvs.org", true },
+  { "exxelmedia.de", true },
+  { "exxoncannabis.com", true },
   { "exxpozed-image.de", true },
   { "exxpozed.ch", true },
   { "exxpozed.co.uk", true },
@@ -18924,7 +19915,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "exxpozed.eu", true },
   { "exxvip.com", true },
   { "exyplis.com", true },
-  { "eyal-dvorkin.com", true },
   { "eye-encounters.com", true },
   { "eyebrowsmicroblading.co.uk", true },
   { "eyecandy.gr", true },
@@ -18933,7 +19923,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eyelashconcept.com", true },
   { "eyeonid.com", true },
   { "eyep.me", true },
-  { "eyes-berg.ch", false },
   { "eyes-berg.com", false },
   { "eyesandearsrescue.org", true },
   { "eyetooth.ga", true },
@@ -18942,20 +19931,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "eyps.net", true },
   { "eyrelles-tissus.com", true },
   { "eythorsson.com", true },
-  { "ez3d.eu", true },
+  { "eyy.co", true },
   { "ezakazivanje.rs", true },
   { "ezdog.press", true },
   { "ezequiel-garzon.net", false },
   { "ezesec.com", true },
   { "ezftrs.com", true },
-  { "ezgamble.com", true },
   { "ezgif.com", true },
   { "ezhik-din.ru", true },
   { "ezik-ido.tk", true },
   { "eziwine.com", true },
   { "eznetworks.com.br", true },
+  { "ezrohi.ru", true },
   { "eztvtorrent.com", true },
-  { "ezwritingservice.com", true },
   { "f-droid.org", true },
   { "f-hd.net", true },
   { "f-thie.de", true },
@@ -18963,8 +19951,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "f00.fr", true },
   { "f00f.org", true },
   { "f0x.es", true },
-  { "f1318.com", false },
-  { "f1318.net", false },
+  { "f1318.com", true },
+  { "f1318.net", true },
   { "f13cybertech.cz", true },
   { "f1classement.com", false },
   { "f1distribution.com", true },
@@ -18973,17 +19961,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "f1minute.com", true },
   { "f1nal-lap.be", true },
   { "f2h.io", true },
+  { "f30365.com", true },
   { "f36533.com", true },
   { "f36594.com", true },
   { "f3nws.com", true },
   { "f43.me", true },
   { "f51365.com", true },
-  { "f5la.com", true },
   { "f5nu.com", true },
+  { "f7035.com", true },
   { "f8003.com", true },
   { "f8007.com", true },
   { "f8036.com", true },
-  { "f81818.com", true },
   { "f88-line.com", true },
   { "f88-line.net", true },
   { "f88288.com", true },
@@ -19018,6 +20006,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "f88yule7.com", true },
   { "f88yule8.com", true },
   { "f88yule9.com", true },
+  { "f8906.com", true },
   { "f8908.com", true },
   { "f8921.com", true },
   { "f8cp0.com", true },
@@ -19028,12 +20017,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "f8cp5.com", true },
   { "f8cp6.com", true },
   { "f8cp7.com", true },
+  { "f8cp8.com", true },
   { "f8cp9.com", true },
   { "f8s.co", true },
   { "f9marketing.com", true },
   { "fa-works.com", true },
   { "fa158k.com", true },
-  { "fabbro-roma.org", true },
   { "fabbro.roma.it", true },
   { "faber.org.ru", true },
   { "fabian-fingerle.de", true },
@@ -19044,7 +20033,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fabianbeiner.com", true },
   { "fabianbeiner.de", false },
   { "fabianegli.ch", true },
-  { "fabianfranke.de", true },
+  { "fabiankaindl.de", false },
   { "fabiankoeppen.com", true },
   { "fabien-hebuterne.fr", true },
   { "fabienne-roux.org", true },
@@ -19053,15 +20042,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fabjansisters.eu", true },
   { "fabled.com", true },
   { "fableforge.nl", true },
+  { "fableheartmedia.com", true },
   { "fabriceleroux.com", false },
   { "fabrika.com.br", true },
   { "fabriziocavaliere.it", true },
   { "fabriziorocca.it", true },
-  { "fabrysociety.org", true },
   { "fabse.net", true },
   { "fabservicos.com.br", true },
   { "fabslabour.uk", true },
   { "fabulosa.com.br", true },
+  { "fac.fi", true },
   { "faca.gov", true },
   { "facai666.cc", true },
   { "facai888.cc", true },
@@ -19080,6 +20070,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "facebylouise.co.uk", true },
   { "facedack.com", true },
   { "facekungfu.com", true },
+  { "facemaze.io", true },
   { "facemd.net", true },
   { "facepainting.gr", true },
   { "faceresources.org", true },
@@ -19093,7 +20084,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "facil.services", false },
   { "faciledireto.com.br", true },
   { "facilities.fr", true },
-  { "facilitiessurvey.org", true },
   { "facility-service-muenchen.de", true },
   { "facingbipolar.com", false },
   { "fackovec.cz", true },
@@ -19104,7 +20094,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "factoriotools.net", true },
   { "factoriotools.org", true },
   { "factorit.fr", true },
-  { "factory-f.net", true },
   { "factslider.tk", true },
   { "facturama.pt", true },
   { "factuur.pro", true },
@@ -19122,13 +20111,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fafa018.com", true },
   { "fafa066.com", true },
   { "fafa106.com", true },
+  { "fafro.eu", true },
   { "faggut.gg", true },
   { "fahmed.de", true },
   { "fahrenwal.de", false },
   { "fahrenwalde.de", false },
   { "fahrschule-laux.de", true },
   { "fahrwerk.io", true },
-  { "fai.gov", false },
+  { "fai.gov", true },
   { "faidanoi.it", true },
   { "faidatefacile.it", true },
   { "failforward.tech", true },
@@ -19136,9 +20126,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "failover.eu", true },
   { "failoverplan.it", true },
   { "fairbairnrealty.com", true },
-  { "fairbill.com", true },
   { "fairedeseconomies.info", true },
-  { "fairgaming.ml", true },
   { "fairgolfteams.com", true },
   { "fairgreenlimited.com", true },
   { "fairleighcrafty.com", true },
@@ -19149,25 +20137,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fairssl.dk", true },
   { "fairssl.se", true },
   { "fairviewmotel-simcoe.com", true },
-  { "fairydust.space", true },
+  { "fairwayhomeloans.mortgage", true },
   { "fairyth.tk", true },
   { "faithcentercogop.net", true },
+  { "faithfuladvisor.com", true },
   { "faithgrowth.com", true },
-  { "faithindemocracy.eu", false },
+  { "faithindemocracy.eu", true },
   { "faithleaks.org", true },
   { "faithwatch.org", true },
   { "faixaazul.com", true },
   { "faizan.net", true },
   { "faizan.xyz", true },
   { "faizanullah.com", true },
+  { "fajode.net", true },
   { "fake-show.ga", true },
+  { "faked.org", true },
   { "fakeduckpond.com", true },
   { "fakeemergency.com", true },
   { "fakerli.com", true },
   { "fakes-ru.tk", true },
   { "fakt.tk", true },
   { "fakti.bg", true },
-  { "faktotum.tech", true },
+  { "faktotum.tech", false },
   { "fakturi.com", true },
   { "fakturoid.cz", true },
   { "falaeapp.org", true },
@@ -19175,13 +20166,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "falasteenjobs.com", true },
   { "falbros.com", true },
   { "falcema.com", true },
-  { "falconfrag.com", true },
   { "falconvintners.com", true },
   { "falcoz.co", true },
   { "faldoria.de", true },
   { "falegname-roma.it", true },
   { "falegname.roma.it", true },
   { "falegnameria.milano.it", true },
+  { "fall.es", true },
   { "fall.ga", true },
   { "fallenangeldrinks.co.uk", true },
   { "fallenangeldrinks.com", true },
@@ -19201,13 +20192,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fam-weyer.de", true },
   { "famcloud.de", true },
   { "fameng.nl", true },
-  { "fameus.fr", true },
   { "familiaperez.net", false },
   { "familie-keil.de", true },
   { "familie-kruithof.nl", true },
   { "familie-kupschke.de", true },
   { "familie-leu.ch", true },
   { "familie-monka.de", true },
+  { "familie-mueller.com.de", true },
   { "familie-poeppinghaus.de", true },
   { "familie-remke.de", true },
   { "familie-sprink.de", false },
@@ -19226,20 +20217,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "familytreehq.com", true },
   { "familyworld.gr", true },
   { "famion.eu", false },
-  { "famososnaweb.com", true },
   { "famousbirthdays.com", true },
   { "famoushostels.com", true },
   { "famvangelder.nl", true },
   { "famvsomeren.nl", true },
   { "fan.gov", true },
+  { "fan4all.de", true },
+  { "fan8hd.com", true },
   { "fanactu.com", true },
   { "fanatical.com", true },
   { "fanatik.io", true },
   { "fanboi.ch", true },
   { "fanbot.co", true },
-  { "fancy-bridge.com", true },
   { "fancy.org.uk", true },
   { "fancygaming.dk", true },
+  { "fancypantsfit.com", true },
   { "fandler.cz", true },
   { "fandomservices.com", true },
   { "fanfareunion.ch", false },
@@ -19262,6 +20254,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fantasticservicesgroup.com", true },
   { "fantasticservicesgroup.com.au", true },
   { "fantasy-judo.com", true },
+  { "fantasybet.co", true },
   { "fantasycastles.co.uk", true },
   { "fantasydrop.com", true },
   { "fantasyescortsbirmingham.co.uk", true },
@@ -19272,9 +20265,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fantraxhq.com", true },
   { "fanyina.cn", true },
   { "fanyina.com", true },
-  { "fanyue123.tk", true },
+  { "fanysehy-prof.com", true },
   { "fanz.pro", true },
-  { "fanzlive.com", true },
+  { "fapcoholic.com", true },
   { "fapiis.gov", true },
   { "fapp.tube", true },
   { "fapplepie.com", true },
@@ -19293,28 +20286,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "farhadexchange.com", true },
   { "farhood.org", true },
   { "farid.is", true },
+  { "farizhan.com", true },
   { "farleybrass.com.au", true },
+  { "farleysworlds.com", true },
   { "farmacia-lloret.com", true },
-  { "farmaciacomunalelacchiarella.it", true },
   { "farmaciacorvi.it", true },
   { "farmaciadejaime.es", true },
   { "farmaspeed.it", true },
   { "farmer.dating", true },
   { "farmers.gov", false },
   { "farmkazuto.com", true },
+  { "farmmaximizer.com", true },
   { "farodeluz.ca", true },
   { "faroebusinessreport.com", true },
   { "faroes.net", true },
   { "faroes.org", true },
   { "farsil.eu", true },
   { "fart.wtf", true },
-  { "farthing.xyz", true },
-  { "farwat.ru", true },
   { "farzli.com", false },
+  { "fascat.com", true },
   { "faschingmd.com", true },
   { "fascia.fit", true },
   { "fashion-stoff.de", true },
   { "fashion.bg", true },
+  { "fashion.net", true },
   { "fashion24.de", true },
   { "fashiondays.bg", true },
   { "fashiondays.hu", true },
@@ -19341,13 +20336,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fashionusa.gq", true },
   { "fashionweekweb.com", true },
   { "fashionxmas.gq", true },
-  { "fashtic.nl", true },
   { "faspirits.co.uk", true },
   { "faspirits.com", true },
   { "fassaden-selleng.de", true },
   { "fassadenverkleidung24.de", true },
   { "fassi-sport.it", true },
   { "fast-cargo.ml", true },
+  { "fast-events.eu", true },
   { "fast-pro.co.jp", true },
   { "fastblit.com", true },
   { "fastcash.com.br", true },
@@ -19355,7 +20350,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fastcommerce.org", true },
   { "fastconfirm.com", true },
   { "fastconv.com", true },
-  { "fastest-hosting.co.uk", true },
   { "fastforwardsociety.nl", true },
   { "fasthost.com.br", true },
   { "fastighetsekonomi.com", true },
@@ -19366,8 +20360,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fastonline.ro", true },
   { "fastos.com", true },
   { "fastos.de", true },
+  { "fastpeoplesearch.com", true },
   { "fastpresence.com", true },
   { "fastserv.pl", true },
+  { "faststage.ch", true },
   { "fasturl.ml", true },
   { "fastvistorias.com.br", true },
   { "fastworx.com", true },
@@ -19376,24 +20372,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fatherhood.gov", true },
   { "fathers4equalrights.org", true },
   { "fatidique.com", true },
+  { "fatiguesyndrome.com", true },
   { "fatihingemisi.com", true },
   { "fatimamoldes.com.br", true },
   { "fatmixx.com", true },
   { "fatowltees.com", true },
+  { "fatpeople.lol", true },
   { "fattailcall.com", false },
   { "fatturegeko.eu", true },
   { "fattyink.com", true },
   { "faucetbox.com", false },
   { "faultlines.org", true },
+  { "faunahotel.cl", true },
   { "fauvettes.be", true },
+  { "fauwater.com", true },
+  { "fauxcams.com", true },
   { "favalart.com", true },
-  { "favirei.com", true },
+  { "favedog.com", true },
   { "favorai.com", true },
   { "fawong.com", true },
   { "faxvorlagen-druckvorlagen.de", true },
+  { "faydali.org", true },
   { "fayntic.com", true },
   { "fazzfinancial.com", true },
   { "fb-feed.net", true },
+  { "fb-lab.de", true },
   { "fb.gg", true },
   { "fb.me", true },
   { "fbcdn.net", true },
@@ -19407,16 +20410,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fbsbx.com", true },
   { "fbtholdings.com", true },
   { "fburl.com", true },
+  { "fbvstore.com", true },
   { "fbwgynplus.com", true },
   { "fbwgynplus.com.au", true },
   { "fc.media", true },
-  { "fc8882.com", false },
-  { "fc8882.net", false },
+  { "fc8882.com", true },
+  { "fc8882.net", true },
   { "fca-tools.com", true },
   { "fcapollo.tk", true },
   { "fcbarcelona.cz", true },
   { "fcburk.de", true },
-  { "fccarbon.com", true },
   { "fcdn.nl", true },
   { "fcforum.net", true },
   { "fcic.gov", true },
@@ -19427,10 +20430,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fdalawboston.com", true },
   { "fdaregs.com", true },
   { "fdevs.ch", true },
-  { "fdfz.edu.cn", true },
   { "fdicig.gov", true },
   { "fdicoig.gov", true },
   { "fdis.net.cn", true },
+  { "fdlibre.eu", true },
+  { "fdlpl.org", true },
   { "fdm.ro", true },
   { "fdms.gov", true },
   { "fdp-brig-glis.ch", true },
@@ -19439,7 +20443,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fdresearch.ca", true },
   { "fdworlds.com", true },
   { "fe-data.nl", true },
-  { "feac.us", true },
   { "feandc.com", true },
   { "feastr-dev.de", true },
   { "feastr.de", true },
@@ -19448,7 +20451,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "featherweightlabs.com", true },
   { "feb.gov", true },
   { "febeditora.com.br", true },
+  { "fed-shashek.spb.ru", true },
   { "fedcenter.gov", true },
+  { "fedemo.top", true },
   { "federaljobs.gov", true },
   { "federalreserve.gov", true },
   { "federalreserveconsumerhelp.gov", true },
@@ -19459,7 +20464,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fedoraproject.org", true },
   { "fedpartnership.gov", true },
   { "fedramp.gov", false },
-  { "fedrtc.org", true },
   { "fedshirevets.gov", true },
   { "fedux.com.ar", true },
   { "fedvan.com", true },
@@ -19468,13 +20472,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "feedhq.org", true },
   { "feedkovacs.hu", true },
   { "feedough.com", true },
-  { "feedthefuture.gov", false },
   { "feeeei.com", true },
-  { "feek.fit", true },
   { "feel-events.com", true },
   { "feel.aero", true },
   { "feelgood-workouts.de", true },
+  { "feelgood.com.tw", true },
+  { "feelingmassage.nl", true },
   { "feelmom.com", true },
+  { "feelnet.top", true },
   { "feeltennis.net", true },
   { "feen.us", true },
   { "feepod.com", true },
@@ -19493,10 +20498,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "feilestrokestown.com", true },
   { "feisim.com", true },
   { "feisim.org", true },
+  { "feistore.com.tw", true },
   { "feistyduck.com", true },
   { "feixiang.eu.org", true },
   { "feiya.ng", true },
   { "fejervar.hu", true },
+  { "fejes.house", true },
   { "fekir.info", true },
   { "feld.design", true },
   { "feld.saarland", true },
@@ -19505,15 +20512,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "felett.es", true },
   { "feli.games", true },
   { "felicifia.org", true },
+  { "feline.ro", true },
   { "felinepc.com", true },
   { "felistirnavia.sk", true },
   { "felix-hirner.de", true },
   { "felixaufreisen.de", true },
   { "felixbarta.de", true },
+  { "felixbrand.de", true },
   { "felixcrux.com", true },
-  { "felixduart.com", true },
   { "felixkaaman.com", true },
-  { "felixklein.com", true },
   { "felixklenner.de", true },
   { "felixqu.com", true },
   { "felixsanz.com", true },
@@ -19530,17 +20537,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "femmesaupluriel.com", true },
   { "femtomind.com", true },
   { "feng-hhcm.com", true },
+  { "feng-in.com", true },
+  { "feng-in.net", true },
   { "feng.si", true },
   { "fengchuiyudaqu.ml", true },
   { "fengyi.tel", true },
   { "fenhl.net", true },
   { "fenichelar.com", true },
-  { "fenixhost.com.br", true },
   { "fenom.com", true },
   { "fenster-bank.at", true },
   { "fenster-bank.de", true },
   { "feragon.net", true },
   { "ferc.gov", true },
+  { "ferestre-bucuresti.ro", true },
+  { "ferfer.ga", true },
   { "fergtm.com", true },
   { "feriehus-danmark.no", true },
   { "ferien-netzwerk.de", true },
@@ -19560,7 +20570,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ferlc.org", true },
   { "ferm-rotterdam.nl", true },
   { "fermabel.com.br", true },
-  { "fern.health", true },
   { "fernandes.org", true },
   { "fernandob.com", true },
   { "fernandobarata.pt", true },
@@ -19586,7 +20595,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "festesuniversitaries.tk", true },
   { "festival-tipps.com", true },
   { "festival-transform.com", true },
-  { "festival-transform.fr", true },
   { "festivaldimouamaroussiou.gr", true },
   { "festivaljapon.com", true },
   { "festivalpopayan.tk", true },
@@ -19594,11 +20602,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fetch.co.uk", true },
   { "fetchease.com", true },
   { "fetishbazar.cz", true },
+  { "fetishblend.com", true },
   { "fetlife.com", true },
-  { "fettlaus.de", true },
   { "feudalisten.de", true },
+  { "feuerfestival.org", true },
   { "feuerhaken.org", true },
-  { "feuerhuhn.de", true },
   { "feuerloescher-arten.de", true },
   { "feuerloescher-test.de", true },
   { "feuerwehr-coesfeld.de", true },
@@ -19608,9 +20616,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "feuerwehr-mehring.de", true },
   { "feuerwehr-offenbach-bieber.de", false },
   { "feuerwehr-vechta.de", true },
-  { "feuerwehrbadwurzach.de", true },
   { "feuerwerksmanufaktur.de", true },
   { "feuetgloire.com", false },
+  { "fever.ch", true },
   { "fewo-hafeninsel-stralsund.de", true },
   { "fewo-thueringer-wald.de", true },
   { "fewo32.de", true },
@@ -19618,9 +20626,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ff-bad-hoehenstadt.de", true },
   { "ff-koenigstein-opf.de", true },
   { "ff-obersunzing-niedersunzing.de", true },
-  { "ff00228.com", false },
   { "ff14-mstdn.xyz", false },
-  { "ff18.cc", true },
   { "ff326.com", true },
   { "ff396.com", true },
   { "ff612.com", true },
@@ -19634,24 +20640,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ff976.com", true },
   { "ffb.gov", false },
   { "ffbans.org", true },
+  { "ffbsee.de", true },
   { "fff-du.de", true },
   { "fffinfo.de", true },
   { "ffg.berlin", true },
   { "ffiec.gov", true },
   { "ffis.me", true },
   { "ffkoenigsberg.de", true },
-  { "fflone.com", true },
   { "ffmradio.de", true },
   { "ffmv.de", true },
+  { "ffp-survey.com", true },
   { "ffprofile.com", true },
   { "ffrev.de", true },
   { "ffsociety.nl", true },
+  { "ffta.eu", true },
   { "ffvideo.xyz", true },
   { "ffw-zeven.de", true },
   { "ffzeven.de", true },
   { "fgsv-heureka.de", true },
   { "fgsv-kongress.de", true },
-  { "fh169.cc", true },
+  { "fh-x.de", true },
+  { "fh14.com", true },
+  { "fh70.com", true },
   { "fhar.be", true },
   { "fhba.com.au", true },
   { "fhconseil.fr", false },
@@ -19665,35 +20675,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fi.search.yahoo.com", false },
   { "fiam.me", true },
   { "fiareapp.red", false },
-  { "fiasgo.com", true },
   { "fiasgo.dk", true },
   { "fiasgo.i.ng", true },
-  { "fibercoverage.com", true },
   { "fibo-forex.org", true },
   { "fibra.click", true },
-  { "fibrasynormasdecolombia.com", true },
   { "fibretv.co.nz", true },
   { "fibretv.tv", true },
+  { "fibroarrendacaseton.mx", true },
   { "fibromuebles.com", true },
   { "fichier-pdf.fr", true },
   { "fickweiler.nl", true },
   { "fidanza.eu", true },
-  { "fidelapp.com", true },
   { "fidelis-it.ch", true },
   { "fidelis-it.net", true },
   { "fidhouriet.ch", true },
   { "fidias.com.br", true },
   { "fidoo.com", true },
-  { "fiduciaire-azur.com", true },
+  { "fiduciaire-azur.com", false },
   { "fiduciaire-ratio.ch", false },
+  { "fidz.com.sg", true },
   { "fieggen.eu", true },
   { "fieggen.net", true },
+  { "fieldelite.com", true },
   { "fieldexpert.eu", true },
   { "fieldwork-paysage.com", false },
-  { "fierlafijn.net", true },
   { "fierscleaning.nl", true },
   { "fiery.me", true },
-  { "fierykitchen.pl", false },
+  { "fierykitchen.pl", true },
   { "fietsvierdaagsen.nl", true },
   { "fifacup.ga", true },
   { "fifautstore.com", true },
@@ -19702,24 +20710,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fifr.nl", true },
   { "fiftynorth.eu", true },
   { "fiftyonetielt.be", true },
-  { "figan.cz", true },
   { "fight215.com", true },
   { "fight215.org", true },
   { "figinstitute.org", true },
   { "figliasons.com", true },
   { "figshare.com", true },
+  { "figura.cz", true },
   { "figurasdelinguagem.com.br", true },
   { "figure.nz", true },
-  { "fiilr.com", true },
   { "fiix.io", true },
   { "fijnewoensdag.nl", true },
-  { "fiken.no", true },
   { "fikriwildannugraha.com", true },
   { "fikst.com", true },
   { "fil-tec-rixen.com", true },
-  { "filamentia.nl", true },
   { "filanthropystar.org", true },
   { "filaretihairlove.gr", true },
+  { "file-cloud.eu", true },
   { "file-pdf.it", true },
   { "filebox.one", true },
   { "filecloud.fun", true },
@@ -19727,12 +20733,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "filedesc.com", true },
   { "filehash.de", true },
   { "filehippo.com", true },
+  { "filejet.io", true },
   { "files.com", true },
   { "files.from-me.org", true },
   { "fileservicios.com.ar", true },
   { "filestar.io", true },
   { "filestartest.io", true },
   { "filesuffix.com", true },
+  { "filetransfer.one", true },
   { "filezilla-project.org", true },
   { "filhin.es", true },
   { "filhodohomem.com", true },
@@ -19742,7 +20750,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "filingsmadeeasy.com", true },
   { "filip-prochazka.com", false },
   { "filippo.io", true },
-  { "filipsebesta.com", true },
+  { "filli-it.ch", true },
+  { "fillmysuitca.se", true },
   { "fillo.sk", true },
   { "film-colleges.com", true },
   { "film-op-tv.nl", true },
@@ -19753,7 +20762,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "filmcrewdb.com", true },
   { "filme-onlines.com", true },
   { "filmers.net", true },
-  { "filmitis.com", true },
   { "filmpronet.in", true },
   { "filmreviewonline.com", true },
   { "filmserver.de", true },
@@ -19762,6 +20770,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "filoo.de", true },
   { "filstop.com", true },
   { "filterlists.com", true },
+  { "filtershekanha.com", true },
   { "filtr.me", true },
   { "fimfiction.net", true },
   { "fimozin.ga", true },
@@ -19776,6 +20785,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "financejobs.ch", true },
   { "financialfreedomaus.com", true },
   { "finansa.no", true },
+  { "finanskredirehberi.com", true },
   { "finanstilsynet.dk", true },
   { "finanziero.de", true },
   { "finch.am", true },
@@ -19786,11 +20796,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "findapinball.com", true },
   { "findautoloan.ml", true },
   { "findelahistoria.com", true },
+  { "findheim.at", true },
   { "findingkorea.com", false },
   { "findingtheuniverse.com", true },
   { "finditez.com", true },
   { "findlocalproduce.co.uk", true },
-  { "findoon.de", true },
   { "findrejsepartner.dk", true },
   { "findsingledating.ml", true },
   { "findstorenearme.ca", true },
@@ -19802,15 +20812,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "finefriends.nl", true },
   { "finefriends.social", true },
   { "finefriendsapp.com", true },
-  { "finehealth.ru", true },
-  { "finelovedolls.com", true },
+  { "finehealth.ru", false },
   { "finenet.com.tw", true },
   { "finestrabatalera.tk", true },
   { "finestreview.cf", true },
   { "finestrina.net", true },
-  { "finethin.com.br", true },
-  { "finevegashomes.com", true },
   { "finewineonline.com", true },
+  { "finexo.ch", true },
   { "finext.cz", true },
   { "finflix.net", true },
   { "finform.ch", true },
@@ -19820,13 +20828,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "finkelstein.fr", true },
   { "finkmartin.com", true },
   { "finlito.tk", true },
+  { "finn-thorben.me", true },
   { "finn.io", true },
   { "finnclass.cz", true },
   { "finnwea.com", true },
   { "finotax.com", true },
+  { "finprison.net", true },
   { "fins.money", true },
+  { "finsecurity.eu", true },
   { "finsprings.org", true },
   { "fintandunleavy.com", false },
+  { "fintexaddis.com", true },
   { "fintry.ca", true },
   { "finvantage.com", true },
   { "finwe.info", true },
@@ -19844,13 +20856,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "firebirdrangecookers.com", true },
   { "firebounty.com", true },
   { "fireboxfood.com", true },
+  { "firebrandchurch.com", true },
   { "firecareandsecurity.co.uk", true },
   { "firecore.com", true },
   { "firecry.org", true },
   { "firefense.com", true },
   { "firefighters.dating", true },
+  { "firefly-iii.org", true },
   { "fireflyiii.spdns.org", true },
-  { "firegeisha.com", true },
   { "fireglow.de", true },
   { "firegoby.jp", true },
   { "fireleadership.gov", true },
@@ -19866,7 +20879,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "firesofheaven.org", true },
   { "firestuff.org", true },
   { "firetotheprisons.org", true },
-  { "firevap.org", true },
   { "fireworksshowvr.com", true },
   { "firexfly.com", true },
   { "firma-cerny.cz", true },
@@ -19878,7 +20890,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "firmenwerbung-vermarktung.de", true },
   { "firmware.science", true },
   { "first-house.no", true },
-  { "first-time-offender.com", true },
   { "first.org", true },
   { "first4it.com", true },
   { "firstbooks.ml", true },
@@ -19888,23 +20899,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "firstclasscastles.com", true },
   { "firstclassleisure.co.uk", true },
   { "firstcoastteaco.com", true },
+  { "firstcolonyengraving.com", true },
   { "firstderm.com", true },
   { "firstdorsal.eu", true },
   { "firstdry.com.br", true },
   { "firstfinca.de", true },
-  { "firstinnovationltd.com", true },
   { "firstmall.de", true },
   { "firstnet.gov", true },
   { "firstnetworksouth.com", true },
   { "firstq.xyz", true },
   { "firstrays.com", true },
+  { "firstversionist.com", true },
   { "firstwebring.tk", true },
   { "firtreetechnology.co.uk", true },
+  { "fischer-immoteam.de", true },
   { "fischer-kundendienst.de", true },
   { "fischers.cc", true },
   { "fiscoeconti.it", true },
   { "fish-hook.ru", true },
+  { "fish-n-chips.uk", true },
   { "fish4dogs.com", true },
+  { "fishbattle.io", true },
+  { "fishbattle.net", true },
   { "fishermailbox.net", true },
   { "fishermansbendcorporation.com.au", true },
   { "fishermansbendtownhouses.com.au", true },
@@ -19912,56 +20928,56 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fishgen.no", true },
   { "fishlanestudios.com", true },
   { "fishoilsafety.com", true },
+  { "fishserver.net", true },
   { "fishtacos.blog", true },
+  { "fishycam.com", true },
   { "fisinfomanagerdr.com", true },
   { "fisiobox.eu", true },
   { "fisioterapista.roma.it", true },
   { "fiskalnepretor.pl", true },
-  { "fiskelures.se", true },
   { "fit-4u.ch", false },
   { "fit-mit-nina.com", true },
   { "fit365.jp", false },
   { "fitchconnect.com", true },
   { "fite.family", true },
   { "fitequilibrio.com.br", true },
-  { "fitinclass.com", true },
   { "fitkram.cz", true },
   { "fitness-challenge.co.uk", true },
   { "fitness.gov", true },
-  { "fitnesskarate.club", true },
   { "fitnessunder50.com", true },
   { "fito.tk", true },
+  { "fitrecepty.info", true },
   { "fittelo.cz", true },
   { "fittingperfetto.it", true },
   { "fitzsim.org", true },
   { "fivestartrader.com", true },
   { "fivethirtyeight.com", true },
+  { "fiveyearsahead.com", true },
+  { "fix.mk", true },
   { "fixatom.com", true },
   { "fixed.supply", true },
+  { "fixed.tech", true },
   { "fixedtodayplumbing.com.au", true },
   { "fixel.express", true },
   { "fixfm.tk", true },
   { "fixforce.nl", true },
-  { "fixhotsauce.com", true },
-  { "fixingscrews.co.uk", true },
   { "fixlasvegas.com", true },
   { "fixmyalarmpanel.co.uk", true },
   { "fixmycomputerdude.com", true },
+  { "fiyatgrafik.com", true },
   { "fizadvocaten.nl", true },
   { "fiziktedavi.name.tr", true },
+  { "fizjoterapia.uk", true },
   { "fizyoterapi.name.tr", true },
   { "fizz.buzz", false },
   { "fizzgi.gs", true },
-  { "fj.je", true },
   { "fj.search.yahoo.com", false },
   { "fj.simple.com", false },
-  { "fjdekermadec.com", true },
   { "fjordboge.dk", true },
-  { "fjzone.org", true },
   { "fkfev.de", true },
   { "fkosquad.moe", true },
   { "fkraiem.org", true },
-  { "fktpm.ru", true },
+  { "fktpm.ru", false },
   { "flaemig42.de", false },
   { "flagburningworld.com", true },
   { "flagfox.net", true },
@@ -19972,6 +20988,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "flagpedia.net", true },
   { "flagshop.jp", true },
   { "flagspot.net", false },
+  { "flairfindr.com", true },
   { "flam3d.be", true },
   { "flam3d.nl", true },
   { "flam3d.org", true },
@@ -19983,7 +21000,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "flamme-von-anor.de", true },
   { "flana.com", true },
   { "flanga.io", true },
-  { "flanga.org", true },
   { "flangaapis.com", true },
   { "flapoverspeed.com", true },
   { "flare.cloud", true },
@@ -20005,12 +21021,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "flaviu.co.uk", true },
   { "flavo.io", true },
   { "flawlesscowboy.xyz", true },
-  { "flcatering.com", true },
   { "flealab.it", true },
   { "fleep.io", true },
   { "fleesty.dynv6.net", true },
   { "fleet-group.com", true },
   { "fleet-search.com", true },
+  { "fleetcomplete.com", true },
   { "fleetcor.at", true },
   { "fleetcor.ch", true },
   { "fleetcor.cz", true },
@@ -20036,33 +21052,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fleurenplume.fr", true },
   { "fleursdujour.ph", true },
   { "fleuryfleury.com", true },
-  { "flexapplications.se", true },
-  { "flexbuildingsystems.com", true },
   { "flexfunding.com", true },
   { "fleximaal.com", true },
   { "fleximal.com", true },
   { "fleximus.org", false },
   { "flexport.com", true },
   { "flexstart.me", true },
+  { "flfl.de", true },
   { "fliacuello.com.ar", true },
   { "flibusta.appspot.com", true },
-  { "flickcritter.com", true },
   { "flieger-funk-runde.de", true },
   { "fliesen-waldschmidt.de", true },
   { "flight.school", true },
   { "flightdeckfriend.com", true },
   { "flightmedx.com", true },
-  { "flightright.at", true },
-  { "flightright.co.uk", true },
-  { "flightright.com", true },
-  { "flightright.de", true },
-  { "flightright.es", true },
-  { "flightright.fr", true },
-  { "flightright.it", true },
-  { "flightright.se", true },
   { "flightschoolbooking.com", true },
   { "flightschoolcandidates.gov", true },
-  { "flightzero.cf", true },
+  { "flightschoolusa.com", true },
   { "fliino.com", true },
   { "fliino.eu", true },
   { "fliino.info", true },
@@ -20070,19 +21076,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fliino.org", true },
   { "flinch.io", true },
   { "flip.kim", true },
+  { "flip.lease", true },
   { "flipmusic.tk", true },
   { "flipneus.net", true },
   { "flipphotography.ga", true },
+  { "flipsidevr.com", true },
   { "fliptable.org", true },
   { "flirt-norden.de", true },
   { "flirtee.net", true },
   { "flirtfaces.de", true },
-  { "flirtos.de", true },
   { "flixcheck.de", true },
-  { "flixstats.com", true },
-  { "flixtube.me", true },
   { "flmortgagebank.com", true },
   { "floaternet.com", true },
+  { "floating-holidays.co.uk", true },
   { "flockbox.club", true },
   { "flocktofedora.org", true },
   { "floersheimer-openair.de", true },
@@ -20097,8 +21103,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "floorballphilippines.tk", true },
   { "flooringnightmares.com", true },
   { "flooringsourcetx.com", true },
-  { "floors4lessbay.com", true },
   { "floort.net", false },
+  { "floqast.com", true },
   { "floraclick.net", true },
   { "floraexpress.it", true },
   { "florafiora.com.br", false },
@@ -20109,11 +21115,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "florenceapp.co.uk", true },
   { "florenciasabio.com", true },
   { "florent-tatard.fr", true },
-  { "florentynadawn.co.uk", true },
   { "florian-bachelet.fr", true },
+  { "florian-knorn.com", true },
   { "florian-lefevre.fr", true },
   { "florian-thie.de", true },
-  { "florianbecker.it", true },
+  { "florian2833z.de", true },
   { "floriankarmen.com", true },
   { "floriankeller.de", true },
   { "florianmitrea.uk", true },
@@ -20147,10 +21153,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fluffycloud.de", true },
   { "fluggesellschaft.de", true },
   { "fluglektuere.com", true },
+  { "flugrecht.de", true },
+  { "flugschule-usa.de", true },
   { "fluidmeterusa.com", true },
   { "fluidpicturesinc.com", true },
   { "fluids.ac.uk", true },
   { "fluitbeurt.nl", true },
+  { "flukethoughts.com", true },
   { "flumble.nl", true },
   { "flunschi.goip.de", true },
   { "fluoxetine.net", true },
@@ -20170,7 +21179,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "flyboyfpv.com", true },
   { "flydrivesicilie.nl", true },
   { "flyer.tools", true },
-  { "flyersmarket.com", true },
   { "flygon.pink", true },
   { "flying-dudes.de", true },
   { "flyinghigh.co.jp", true },
@@ -20196,8 +21204,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fmussatmd.com", true },
   { "fnanen.net", true },
   { "fnbnokomis.com", true },
+  { "fnbot.shop", true },
+  { "fneon.eu", true },
   { "fnh-expert.net", true },
-  { "fnkr.net", true },
   { "fnof.ch", true },
   { "fnordserver.eu", true },
   { "fnpro.eu", true },
@@ -20224,14 +21233,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fokan.ch", true },
   { "fokep.no", true },
   { "fokus.ag", true },
+  { "fol.tf", true },
   { "folar.ga", true },
   { "folio.no", true },
   { "foliumbiosciences.com", true },
   { "foliumfinance.com", true },
   { "foljeton.dk", true },
   { "folk.as", true },
+  { "folkofolk.se", true },
   { "follandviolins.com", true },
-  { "followback.net", true },
   { "follower98.ir", true },
   { "followmystaff.com", true },
   { "followthatpage.com", true },
@@ -20239,11 +21249,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "foluomeng.net", true },
   { "folv.es", true },
   { "folwark.krakow.pl", true },
-  { "folwarkwiazy.pl", true },
   { "fomopop.com", true },
   { "fonamperu.org.pe", true },
   { "fondationwiggli.ch", true },
-  { "fondy.eu", true },
   { "fondy.ru", true },
   { "fondy.ua", true },
   { "fonga.ch", true },
@@ -20255,13 +21263,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fonte-trading.com", true },
   { "fontedoprazer.com", true },
   { "fontein.de", true },
+  { "fontela.es", true },
   { "fontlibrary.org", true },
   { "fonts4free.net", true },
   { "fonzone.it", true },
   { "foo.fo", true },
   { "foo.hamburg", true },
   { "food4healthybones.com", true },
-  { "foodattitude.ch", false },
   { "foodboy.com", true },
   { "foodev.de", true },
   { "foodlist.net", true },
@@ -20282,10 +21290,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "for.care", false },
   { "foray-jero.me", true },
   { "forbidden-mods.de", true },
+  { "force4racing.co.uk", true },
+  { "force4racing.com", true },
   { "forcelink.eu", true },
   { "forcelink.nl", true },
   { "forcelinkamerica.com", true },
   { "forcelinkamerica.nl", true },
+  { "forcerakodo.hu", true },
   { "forcewave.com", true },
   { "ford-mustang.tk", true },
   { "ford-shop.by", true },
@@ -20305,20 +21316,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "forellenpark.com", true },
   { "forensicsoftware.biz", true },
   { "forento.be", true },
+  { "foresightbusinessservices.co.uk", true },
   { "forestraven.net", true },
   { "forevergreens.us", true },
   { "foreverssl.com", true },
   { "foreversummertime.com", true },
+  { "foreverydream.com", true },
   { "forewordreviews.com", true },
   { "forex-giants.com", true },
   { "forex.ee", true },
+  { "forex7.co", true },
   { "forexarby.com", true },
   { "forexchef.de", true },
   { "forexcity.cf", true },
   { "forexee.com", true },
-  { "forextickler.com", true },
-  { "forextimes.ru", true },
-  { "forextraders.com", true },
   { "forfeit.ga", true },
   { "forfeiture.gov", true },
   { "forfunssake.co.uk", true },
@@ -20344,13 +21355,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fornoreason.net.au", true },
   { "fornwall.net", true },
   { "foroaranda.com", true },
-  { "forodeespanol.com", true },
-  { "forodieta.com", false },
   { "forokd.com", true },
   { "forrestheller.com", true },
   { "forro.info", true },
   { "forsaleinedmonton.ca", true },
-  { "forsec.nl", true },
+  { "forself.me", true },
   { "forsi.xyz", true },
   { "forstbetrieb-hennecke.de", true },
   { "forstprodukte.de", true },
@@ -20360,7 +21369,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "forthewin.rocks", true },
   { "forthvalleykeswick.co.uk", true },
   { "fortnine.ca", true },
-  { "fortran.io", true },
   { "fortress.no", true },
   { "fortress.sk", true },
   { "fortuna-apotheke-lahnstein.de", true },
@@ -20370,6 +21378,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fortygordy.com", true },
   { "fortytwo.cloud", true },
   { "forum-4.com", true },
+  { "forum-batteries.com", true },
   { "forum-bonn.de", true },
   { "forum-egypte.tk", true },
   { "forum-noginska.tk", true },
@@ -20378,10 +21387,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "forumcarriocity.tk", true },
   { "forumdimo.fr", true },
   { "forumirc.net", true },
-  { "forumotomobil.com", true },
   { "forumpakistan.tk", true },
   { "forumstandaardisatie.nl", true },
-  { "forumvoordemocratie.nl", true },
   { "forvisualdesign.com", false },
   { "forward-fly-fishing.ch", false },
   { "foryourhealthybody.com", true },
@@ -20390,8 +21397,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fosaudit.com", true },
   { "foscamcanada.com", true },
   { "fosdem.org", true },
-  { "foselectro.ru", true },
   { "fosgreece.com", true },
+  { "fossboxen.com", true },
+  { "fossboxen.net", true },
+  { "fossboxen.org", true },
   { "fossdaily.xyz", true },
   { "fossforward.com", true },
   { "fossilfreeyale.org", true },
@@ -20406,6 +21415,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "foto-roma.ru", true },
   { "foto.by", true },
   { "fotoblog.nrw", true },
+  { "fotobodyart.nl", true },
   { "fotoboxvysocina.cz", true },
   { "fotofaerie.net", true },
   { "fotoflits.net", true },
@@ -20434,40 +21444,48 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "foundsounds.me", true },
   { "fourashesgolfcentre.co.uk", true },
   { "fourashesgolfcentre.com", true },
+  { "fourdesignstudio.com", true },
   { "fourfourcrew.com", true },
   { "fourmies.fr", true },
   { "fournarisopenday.com", true },
+  { "fournisseur-des-collectivites.com", true },
   { "fourscore.ga", true },
+  { "foursight.io", true },
+  { "fourwaysplumber24-7.co.za", true },
   { "fourxone.com", true },
-  { "fowlervwparts.com", true },
   { "fowlsmurf.net", true },
   { "fox.my", false },
-  { "foxes.no", true },
+  { "foxeffect.com", true },
   { "foxesare.sexy", true },
+  { "foxghoul.com", true },
   { "foxhillshotel.com", true },
   { "foxo.blue", true },
   { "foxontheinter.net", true },
   { "foxphotography.ch", false },
   { "foxquill.com", false },
   { "foxroy.com", true },
+  { "foxscribbler.com", true },
   { "foxstreetcomms.co.za", false },
   { "foxtrotfm.tk", true },
+  { "foxycredit.com", true },
   { "fozzie.co.uk", true },
   { "fozzie.space", true },
   { "fpasca.com", true },
   { "fpc.gov", false },
   { "fpersona.com", true },
+  { "fpgamania.com", true },
   { "fps73.ru", true },
   { "fpsclasico.de", true },
   { "fpsv.de", true },
-  { "fpt-technojapan.com", true },
   { "fpy.cz", true },
   { "fr.search.yahoo.com", false },
   { "fr33tux.org", true },
   { "frack.nl", false },
   { "fracreazioni.it", true },
+  { "fracturedperspective.com", true },
   { "fraesentest.de", true },
   { "frag.works", true },
+  { "fragdenstaat.de", true },
   { "fragmentspuren.de", true },
   { "fragstore.net", true },
   { "fraho.eu", true },
@@ -20477,7 +21495,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "framer.com", true },
   { "framezdakkapellen.nl", true },
   { "fran.cr", true },
-  { "fran.id", true },
+  { "france-hotellerie-restauration.com", true },
   { "france-news.cf", true },
   { "francepandi.fr", true },
   { "francesca-and-lucas.com", true },
@@ -20489,10 +21507,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "franchini.engineer", true },
   { "franchisehive.com", true },
   { "francinebelanger.network", true },
-  { "francis.ph", true },
   { "francisli.net", false },
+  { "francisplaza.com", true },
   { "franckgirard.net", true },
-  { "franckyz.com", true },
   { "francois-occasions.be", false },
   { "francoisbelangerboisclair.com", true },
   { "francoise-paviot.com", true },
@@ -20509,16 +21526,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "frankieburkeactor.tk", true },
   { "frankieistanbul.com", true },
   { "frankierfachmann.de", true },
-  { "frankierprofi.de", true },
   { "frankierstar.de", true },
   { "frankinteriordesign.co.uk", true },
   { "frankl.in", true },
   { "franklinmagic.com", true },
   { "frankopol-sklep.pl", true },
-  { "frankpalomeque.com", true },
   { "frankslaughterinsurance.com", true },
   { "frankyan.com", true },
-  { "franqois.id", true },
   { "frantic1048.com", true },
   { "frantorregrosa.me", true },
   { "franz-vatter.de", true },
@@ -20536,6 +21550,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "frasesdodia.net", true },
   { "frasesparaface.com.br", true },
   { "frasesytarjetas.com", true },
+  { "fratelliscarrone.com", true },
   { "frattaroli.org", true },
   { "frau-inge.de", true },
   { "frau-pusteblu.me", true },
@@ -20554,7 +21569,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "frdl.ch", false },
   { "freaksites.dk", true },
   { "freaksports.com.au", true },
-  { "freakyawesome.com", true },
   { "frebib.co.uk", true },
   { "frebib.com", true },
   { "frebib.net", true },
@@ -20566,6 +21580,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fredhook.tk", true },
   { "fredloya.com", true },
   { "fredriksslaktforskning.se", true },
+  { "fredriksslekt.se", true },
   { "freds4buildings.com", true },
   { "fredsmith.net", true },
   { "fredsmith.org", true },
@@ -20573,8 +21588,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fredvoyage.fr", true },
   { "free-bitco.ml", true },
   { "free-generate.tk", true },
+  { "free-sex-sites.com", true },
   { "free-ss.site", true },
   { "free.com.tw", true },
+  { "free8hd.com", true },
   { "freeaf.gq", true },
   { "freebarrettbrown.org", true },
   { "freebcard.com", true },
@@ -20583,18 +21600,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freebies.id", true },
   { "freebookmakersbetsandbonuses.com.au", true },
   { "freeboson.org", true },
-  { "freebsd.la", true },
-  { "freebsd.one", true },
-  { "freebsd.wiki", true },
   { "freebsdbrasil.com.br", true },
   { "freebus.org", true },
   { "freecloud.at", true },
-  { "freecookies.nl", true },
+  { "freecodezilla.com", true },
   { "freedev.cz", true },
-  { "freedgb.com", true },
   { "freedom.nl", false },
   { "freedom.press", true },
   { "freedom35.org", true },
+  { "freedomdujour.com", true },
   { "freedomfinance.se", true },
   { "freedomflotilla.org", true },
   { "freedomhk.info", true },
@@ -20613,6 +21627,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freegovernmentcellphoneguide.com", true },
   { "freegutters.com", true },
   { "freeiconspng.com", true },
+  { "freeinfos.fr", true },
   { "freeinoutboard.com", true },
   { "freejeremy.net", true },
   { "freekdevries.nl", true },
@@ -20620,11 +21635,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freelance-webdesigner.jp", true },
   { "freelance.boutique", true },
   { "freelance.nl", true },
+  { "freelancecollab.com", true },
   { "freelanceessaywriters.com", true },
   { "freelancehunt.com", true },
   { "freelancejobs.org.uk", true },
-  { "freelancerhub.online", true },
-  { "freelanceunited.co.uk", true },
   { "freelauri.com", true },
   { "freelifer.jp", true },
   { "freemanlogistics.com", true },
@@ -20644,7 +21658,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freesitemapgenerator.com", true },
   { "freesms-online.de", true },
   { "freesnowden.is", true },
-  { "freesoft-board.to", false },
+  { "freesoft-board.to", true },
   { "freesoftlab.com", true },
   { "freesolitaire.win", true },
   { "freesourcestl.org", true },
@@ -20653,6 +21667,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freesslcertificate.me", true },
   { "freestylesolutions.com", true },
   { "freetaxusa.com", true },
+  { "freetext.org", true },
   { "freethetv.ie", true },
   { "freetrung.tk", true },
   { "freetsa.org", true },
@@ -20660,15 +21675,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freevst.ir", true },
   { "freeweibo.com", true },
   { "freewerkt.nl", true },
+  { "freewillfilm.com", true },
   { "freewoodfactory.com", true },
   { "freeyourmusic.com", true },
+  { "freezemea.com", true },
   { "freezion.com", true },
-  { "freiboth.ddns.net", true },
   { "freie-software.net", true },
   { "freiewaehler-verden.de", true },
   { "freifahrt.de", true },
   { "freifall.tk", true },
-  { "freifamily.ch", true },
   { "freifunk-burgaltendorf.de", true },
   { "freifunk-essen.de", true },
   { "freifunk-luenen.de", true },
@@ -20681,7 +21696,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freizeitbad-riff.de", true },
   { "freizeitplaza.de", true },
   { "frenchcreekcog.org", true },
-  { "frenchguy.ch", true },
+  { "frenchmac.com", true },
   { "frenchmusic.fr", true },
   { "frequencebanane.ch", false },
   { "frequentflyerapp.com", true },
@@ -20692,12 +21707,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freshair.com.br", true },
   { "freshbean.club", true },
   { "freshbooks.com", true },
-  { "freshdesigns.de", true },
   { "freshdns.nl", true },
   { "freshempire.gov", true },
   { "freshers9.com", true },
-  { "freshmaza.com", true },
-  { "freshpounds.com", true },
   { "fretscha.com", true },
   { "frettirnar.is", true },
   { "fretworksec.com", true },
@@ -20707,6 +21719,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "freundinnenausflug.de", true },
   { "frforms.com", true },
   { "friarsonbase.com", true },
+  { "fricassea.com", true },
   { "frickelboxx.de", true },
   { "frickelmeister.de", true },
   { "fridarestaurantemexicano.com", true },
@@ -20726,13 +21739,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "friendlycleaners.co.uk", true },
   { "friendlysiberia.com", true },
   { "friendowment.us", true },
-  { "friends-of-naz.com", true },
-  { "friends-socialgroup.org", true },
-  { "friends.tn", true },
   { "friends24.cz", true },
-  { "friendship-quotes.co.uk", true },
   { "friendshipismagicsquad.com", true },
   { "friendsofgfwpc.org", true },
+  { "friendsofparks.org", true },
   { "friet.org", true },
   { "frietbesteld.nl", true },
   { "frietzombie.nl", true },
@@ -20759,12 +21769,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "frogatto.com", true },
   { "frogeye.fr", true },
   { "froggitt.com", true },
+  { "frogical.nl", true },
   { "froh.co.jp", true },
   { "frolova.org", true },
   { "fromager.net", true },
-  { "fromanolderwoman.com", true },
   { "fromscratch.rocks", true },
   { "fromtheboxoffice.com", true },
+  { "fromtinythings.com", true },
   { "fronteers.nl", false },
   { "frontier-ad.co.jp", true },
   { "frontiers.nl", true },
@@ -20781,7 +21792,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "frownonline.co.uk", true },
   { "frozen-geek.net", true },
   { "frozen-solid.net", true },
-  { "frozendurian.club", true },
   { "frozenfutures.com", true },
   { "frozenjam.com", true },
   { "frozensector.com", true },
@@ -20797,7 +21807,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fruchtikus.net", true },
   { "fruend-hausgeraeteshop.de", true },
   { "frugalfamilyhome.com", true },
-  { "frugalmechanic.com", true },
   { "frugro.be", true },
   { "fruit-farm.tk", true },
   { "fruition.co.jp", true },
@@ -20819,6 +21828,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fsck.jp", false },
   { "fsckd.com", true },
   { "fscott.de", true },
+  { "fsd.gov", true },
   { "fsfxpackages.com", true },
   { "fsg.one", true },
   { "fsgeek.ca", true },
@@ -20828,6 +21838,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fsm2016.org", true },
   { "fsps.ch", true },
   { "fsty.uk", true },
+  { "fsvoboda.cz", true },
   { "fsvt.ch", false },
   { "ft.com", false },
   { "ftang.de", true },
@@ -20836,17 +21847,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ftcefile.gov", true },
   { "ftdev.in", true },
   { "ftexchange.com", true },
-  { "ftgeufyihreufheriofeuozirgrgd.tk", true },
   { "fthat.link", true },
   { "ftl13.com", true },
   { "ftmc.tk", true },
   { "ftnpower.com", true },
   { "ftptest.net", true },
   { "ftrsecure.com", true },
+  { "ftrucks.com.au", true },
   { "ftv.re", true },
-  { "ftworthhousekeeper.com", true },
   { "ftx.com", true },
   { "ftx.io", true },
+  { "fu-li88.com", true },
+  { "fu-li88.net", true },
   { "fuantaishenhaimuli.net", true },
   { "fuckav.ru", true },
   { "fuckcie.com", true },
@@ -20854,6 +21866,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fucknazis.tk", true },
   { "fuckup.dk", true },
   { "fuckz.net", true },
+  { "fudie.net", true },
+  { "fudubank.vn", true },
   { "fuechschen.org", true },
   { "fuelingyourdreams.com", false },
   { "fuerstenfelder-immobilien.de", true },
@@ -20872,10 +21886,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fukushima-fun.com", true },
   { "fulfilmentcrowd.com", true },
   { "fulgenzis.com", true },
+  { "fulige.top", true },
   { "fuliwang.info", true },
   { "fuliwang.us", true },
   { "full-race.com", true },
-  { "full-stack.ninja", true },
   { "fullautomotivo.com.br", true },
   { "fullbundle.com", true },
   { "fullcirclestudio.nl", true },
@@ -20884,7 +21898,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fullhost.com", true },
   { "fullhub.ru", true },
   { "fullmatch.net", true },
-  { "fullmoviez.co", true },
   { "fullstacknotes.com", false },
   { "fumblers.ca", true },
   { "fumerolles.ch", false },
@@ -20900,12 +21913,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "funadvisor.ca", true },
   { "funadvisorfrance.com", true },
   { "funatic.nl", true },
+  { "funbuynet.com.br", true },
   { "funcabinrentals.com", true },
   { "funchestra.at", false },
   { "functional.cc", true },
   { "functions-online.com", true },
   { "fundacionfranciscofiasco.org", true },
-  { "fundamentt.com", true },
+  { "fundamentalsofaccounting.org", true },
   { "fundavi.jp", true },
   { "fundayltd.com", true },
   { "fundays.nl", true },
@@ -20921,10 +21935,61 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "funfair.io", true },
   { "funfoodco.co.uk", true },
   { "funfun.com.br", true },
+  { "funfunmstdn.tokyo", true },
   { "fungomoscow.cf", true },
   { "funhouse-inflatables.co.uk", true },
+  { "funidelia-tr.com", true },
+  { "funidelia.at", true },
+  { "funidelia.be", true },
+  { "funidelia.bg", true },
+  { "funidelia.ca", true },
+  { "funidelia.ch", true },
+  { "funidelia.cl", true },
+  { "funidelia.co", true },
+  { "funidelia.co.il", true },
+  { "funidelia.co.nz", true },
+  { "funidelia.co.uk", true },
+  { "funidelia.com", true },
+  { "funidelia.com.ar", true },
+  { "funidelia.com.au", true },
+  { "funidelia.com.br", true },
+  { "funidelia.com.ua", true },
+  { "funidelia.cz", true },
+  { "funidelia.de", true },
+  { "funidelia.dk", true },
+  { "funidelia.ee", true },
+  { "funidelia.es", true },
+  { "funidelia.fi", true },
+  { "funidelia.fr", true },
+  { "funidelia.gr", true },
+  { "funidelia.hk", true },
+  { "funidelia.hr", true },
+  { "funidelia.hu", true },
+  { "funidelia.id", true },
+  { "funidelia.ie", true },
+  { "funidelia.in", true },
+  { "funidelia.is", true },
+  { "funidelia.it", true },
+  { "funidelia.kr", true },
+  { "funidelia.lt", true },
+  { "funidelia.lu", true },
+  { "funidelia.lv", true },
+  { "funidelia.mx", true },
+  { "funidelia.my", true },
+  { "funidelia.nl", true },
+  { "funidelia.no", true },
+  { "funidelia.ph", true },
+  { "funidelia.pt", true },
+  { "funidelia.ro", true },
+  { "funidelia.rs", true },
+  { "funidelia.ru", true },
+  { "funidelia.se", true },
+  { "funidelia.sg", true },
+  { "funidelia.si", true },
+  { "funidelia.sk", true },
   { "funinbeds.org.uk", true },
   { "funken-networks.de", true },
+  { "funkfamily.org", true },
   { "funkfernbedienung-industrie.de", true },
   { "funknotaus.de", true },
   { "funktionel.co", true },
@@ -20936,6 +22001,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "funnybikini.com", true },
   { "funnychristianjokes.tk", true },
   { "funoverip.net", true },
+  { "funprode.org", true },
   { "funsochi.ru", true },
   { "funspins.com", true },
   { "funtime-inflatables.co.uk", true },
@@ -20945,6 +22011,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "funtimesbouncycastles.co.uk", true },
   { "funyirotraktor.hu", true },
   { "fur.red", true },
+  { "furca.ca", true },
   { "furcdn.net", true },
   { "furgetmeknot.org", true },
   { "furgo.love", true },
@@ -20966,14 +22033,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "furry.cat", true },
   { "furry.cool", true },
   { "furry.dk", true },
-  { "furryrex.top", true },
   { "furrytech.network", true },
-  { "fursuitbutts.com", true },
+  { "furukogarasusha.com", true },
   { "fusa-miyamoto.jp", true },
   { "fusechange.org", true },
   { "fuselight.nl", true },
   { "fuseos.net", true },
   { "fuseyahoken.com", true },
+  { "fusionapps.com", true },
+  { "fusionapps.net", true },
+  { "fusionetics.plus", true },
+  { "fusiongaming.de", true },
   { "fussball-xxl.de", true },
   { "fussell.io", true },
   { "fuszara.pl", true },
@@ -20981,17 +22051,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "futaba-works.com", true },
   { "futbol-tv.tk", true },
   { "futbolvivo.tv", true },
-  { "futbomb.com", true },
-  { "future-moves.com", true },
   { "futureaudiographics.com", true },
   { "futurefastforward.com", true },
+  { "futurefive.asia", true },
+  { "futurefive.co.nz", true },
+  { "futurefive.com.au", true },
   { "futurefund.com", true },
   { "futuregrowthva.com", true },
   { "futurenda.com", true },
   { "futuressm.com", true },
+  { "futurestyletiling.com.au", true },
   { "futurezone.at", true },
   { "fuuko.net", true },
-  { "fuvelis.fr", true },
   { "fuwafuwa.moe", true },
   { "fuyu.moe", true },
   { "fuzenet.net", true },
@@ -21011,6 +22082,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fxislamic.com", true },
   { "fxmarketing.com.au", true },
   { "fxmarketing.net.au", true },
+  { "fxmotion.ir", true },
   { "fxopen.co.uk", true },
   { "fxopen.com", true },
   { "fxopen.com.au", true },
@@ -21021,7 +22093,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fxp.co.il", true },
   { "fxseo.com.au", true },
   { "fxsshiwo.cn", true },
-  { "fxstrategics.com", true },
   { "fxtalk.cn", true },
   { "fxthai.com", true },
   { "fxtrade-lab.com", true },
@@ -21034,20 +22105,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "fyn.nl", true },
   { "fyner.lt", true },
   { "fyol.xyz", false },
-  { "fyreek.me", true },
   { "fyretrine.com", true },
   { "fysesbjerg.dk", true },
+  { "fysio-ict.nl", true },
   { "fysiomassageoosterhout.nl", true },
+  { "fysiotherapie-ict.nl", true },
   { "fysiotherapieapeldoornzuid.nl", true },
   { "fysiotherapieholtenbroek.nl", true },
   { "fysiovdberg.nl", true },
   { "fyss.ga", true },
+  { "fysuite.com", true },
   { "fytcart.com", true },
   { "fytorio-pasxalis.gr", true },
   { "fzbrweb.cz", true },
   { "fzdm.com", true },
   { "fzhyzamt.com", true },
-  { "fzx750.ru", true },
   { "g-ds.de", true },
   { "g-fruit.gr", true },
   { "g-lab.xyz", true },
@@ -21055,7 +22127,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "g-p-design.com", true },
   { "g-rom.net", true },
   { "g.co", false },
-  { "g00228.com", false },
+  { "g0158.com", true },
   { "g0881.com", true },
   { "g0man.com", true },
   { "g1.ie", true },
@@ -21067,16 +22139,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "g2pla.net", true },
   { "g2ship.com", true },
   { "g2soft.net", true },
-  { "g365.vip", true },
+  { "g365.vip", false },
   { "g36533.com", true },
   { "g3d.ro", true },
   { "g3dev.ch", false },
   { "g3homefoods.com", true },
-  { "g3rv4.com", true },
   { "g4w.co", true },
   { "g51365.com", true },
+  { "g7035.com", true },
   { "g7yy.com", true },
-  { "g81818.com", true },
   { "g818city.com", true },
   { "g8energysolutions.co.uk", true },
   { "ga-2.it", true },
@@ -21091,7 +22162,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gabiocs.com", true },
   { "gablesportsga.com", true },
   { "gabriel.to", true },
-  { "gabriele-kluge.de", true },
   { "gabriele.tips", true },
   { "gabrielgn.com.br", true },
   { "gabriella.cf", true },
@@ -21101,19 +22171,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gachiyase.com", true },
   { "gachter.name", false },
   { "gaci88play.com", true },
+  { "gad.co.id", true },
   { "gadabit.pl", true },
   { "gaddini.it", true },
   { "gadgetadvisor.com", true },
+  { "gadgetflip.com", true },
   { "gadgethacks.com", true },
   { "gadgetstock.ir", true },
   { "gae123.com", true },
   { "gaelico.tk", true },
   { "gaengler.com", true },
-  { "gaest.com", true },
   { "gaestehaus-leipzig.de", true },
   { "gaestehaus-monika.com", true },
   { "gaetanosonline.com", true },
   { "gaetantremois.fr", true },
+  { "gafa.vn", true },
   { "gaff-rig.co.uk", true },
   { "gaflooring.com", true },
   { "gafunds.com", true },
@@ -21127,6 +22199,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gaiavanderzeyp.com", true },
   { "gaigelama.com", true },
   { "gaines-sodiamex.fr", true },
+  { "gainins.com", true },
   { "gaio-automobiles.fr", true },
   { "gaireg.de", true },
   { "gaitandmobility.com", true },
@@ -21137,8 +22210,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gakdigital.com", true },
   { "gakki.photos", true },
   { "gaku-architect.com", true },
-  { "gala.kiev.ua", false },
-  { "galabau-maurmann.de", true },
   { "galacg.me", true },
   { "galak.ch", false },
   { "galaktika-znakomstv.tk", true },
@@ -21160,11 +22231,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "galeries.photo", false },
   { "galganoboutique.com", true },
   { "galighticus.com", true },
+  { "galilahiskye.com", true },
   { "galileanhome.org", true },
   { "galinas-blog.de", true },
   { "galinos.gr", true },
   { "galj.info", true },
   { "galle.cz", true },
+  { "galleoncloud.net", true },
   { "galleonwaymedical.com.au", true },
   { "gallerify.eu", true },
   { "galletasgabi.com.mx", false },
@@ -21174,9 +22247,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gallifreypermaculture.com.au", true },
   { "gallmeyer-consulting.com", true },
   { "gallun-shop.com", true },
+  { "galoserver.org", true },
   { "galpaoap.com.br", true },
   { "galvingao.com", true },
   { "gamberorosso.menu", true },
+  { "gamberorotto.com", true },
   { "gambetti.fr", true },
   { "gambitnash.co.uk", true },
   { "gambitnash.com", true },
@@ -21205,6 +22280,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gameclue.jp", true },
   { "gamecollector.be", true },
   { "gameconservation.org.uk", true },
+  { "gameconsole.co.nz", true },
   { "gamedevelopers.pl", true },
   { "gamegear.club", true },
   { "gamegix.com", true },
@@ -21215,20 +22291,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gamekaitori.jp", true },
   { "gamekeepers.cz", true },
   { "gamemodding.com", true },
-  { "gamenauta.com.br", true },
   { "gamenerd.net", true },
   { "gameofbooks.de", true },
   { "gamepad.com.br", true },
   { "gameplaysforkids.com", true },
   { "gamepreorders.com", true },
+  { "gamepres.org", true },
   { "gamer-portal.com", true },
   { "gamercredo.com", true },
-  { "gamereader.de", true },
+  { "gamereactor.asia", true },
+  { "gamereactor.cn", true },
+  { "gamereactor.de", true },
+  { "gamereactor.dk", true },
+  { "gamereactor.es", true },
+  { "gamereactor.eu", true },
+  { "gamereactor.fi", true },
+  { "gamereactor.fr", true },
+  { "gamereactor.it", true },
+  { "gamereactor.no", true },
+  { "gamereactor.pt", true },
+  { "gamereactor.se", true },
   { "gamerepublic.hu", true },
   { "gameres.com", true },
   { "gamerezo.com", true },
   { "gamerspost.ga", true },
   { "gamerzdot.com", true },
+  { "games2kids.net", true },
   { "games4theworld.org", true },
   { "gamesaviour.com", true },
   { "gamesdepartment.co.uk", true },
@@ -21240,37 +22328,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gamesme.cn", true },
   { "gamesplanet.com", true },
   { "gamesputnik.ru", true },
-  { "gamestats.gg", true },
-  { "gametilt.com", true },
   { "gametube.website", true },
   { "gamewinninggoal.com", true },
   { "gamilab.com", true },
   { "gamilab.no", true },
   { "gamingexodus.com", true },
   { "gamingmedley.com", true },
+  { "gamingmonitortest.com", true },
   { "gamingroomaccessories.com", true },
+  { "gamingterritory.com", true },
   { "gamingtilltheend.cf", true },
   { "gamingx.tk", true },
   { "gamingzoneservers.com", true },
-  { "gamisalya.com", true },
   { "gamishou.fr", true },
   { "gamismu.com", true },
   { "gamivo.com", true },
   { "gammaphibeta.tk", true },
+  { "gampa.be", true },
   { "ganado.org", true },
   { "ganaenergia.com", true },
   { "ganaenergia.es", true },
+  { "ganapati.fr", true },
   { "ganasoku.net", true },
   { "gancedo.com.es", true },
   { "gandalfservice.com", true },
   { "gandalfthefeline.com", true },
   { "gandgliquors.com", true },
   { "ganggalbichler.at", true },
-  { "gangnamcool.com", true },
   { "ganodermatiendaonline.com", true },
   { "ganpris.online", true },
   { "gansleit.com", false },
-  { "ganyouxuan.com", true },
+  { "gantt-chart.com", true },
   { "ganzgraph.de", true },
   { "ganztagplus.de", true },
   { "gao.ci", true },
@@ -21283,6 +22371,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gaphag.ddns.net", true },
   { "garage-leone.com", false },
   { "garagedejan.ch", true },
+  { "garagedoorrepaircedarhilltx.com", true },
   { "garagedoorrepairingsanjose.com", true },
   { "garageenginuity.com", true },
   { "garagegoossens.be", true },
@@ -21296,6 +22385,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "garciagerman.com", true },
   { "garda-see.mobi", true },
   { "gardedenfantspourtous.fr", true },
+  { "garden4less.co.uk", true },
   { "gardengameshireuk.com", true },
   { "gardeningdirect.co.uk", true },
   { "gardensandgifts.com", true },
@@ -21309,11 +22399,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "garethrhugh.es", true },
   { "gargazon.net", true },
   { "garnuchbau.de", true },
+  { "garonna.com.ua", true },
+  { "garotos.gq", true },
   { "garron.net", true },
   { "garrowmediallc.com", true },
   { "garsio.com", true },
   { "gartenbaur.de", true },
   { "gartenplanung-brendes.de", true },
+  { "garwoh.de", true },
   { "garycarmell.com", true },
   { "garycwaite.com", true },
   { "garyjones.co.uk", true },
@@ -21345,7 +22438,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gaussianwaves.com", true },
   { "gauthier.dk", true },
   { "gavin.sh", true },
-  { "gavins.stream", true },
   { "gavlix.se", true },
   { "gavr.me", true },
   { "gavr.space", true },
@@ -21362,19 +22454,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gaymerx.org", true },
   { "gaypirateassassins.com", true },
   { "gaysexpositions.guide", true },
-  { "gaysfisting.com", true },
   { "gaytorrent.ru", true },
   { "gayukai.net", true },
-  { "gayxsite.com", true },
   { "gazellegames.net", true },
   { "gazete.org", true },
   { "gazette.govt.nz", true },
-  { "gazflynn.com", true },
   { "gazizov.tk", true },
   { "gb-repair.com", true },
-  { "gbc-radio.nl", true },
-  { "gbcsummercamps.com", true },
-  { "gbl.selfip.net", true },
   { "gboys.net", false },
   { "gbs-uk.com", true },
   { "gbthatcher.com", true },
@@ -21391,6 +22477,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gcs-ventures.com", true },
   { "gcsepod.com", true },
   { "gd88.cc", true },
+  { "gda.fr", true },
   { "gdb-tutorial.net", true },
   { "gdesemena.ru", true },
   { "gdgrzeszow.pl", true },
@@ -21403,16 +22490,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gdv.me", true },
   { "gdz-spishy.com", true },
   { "ge3k.net", false },
+  { "gealot.com", true },
   { "gear4you.shop", true },
   { "gearallnews.com", true },
   { "gearbot.rocks", true },
   { "gearboxhero.com", true },
-  { "gearev.net", true },
   { "gearfinder.nl", true },
   { "gearset.com", true },
   { "gearwise.se", true },
   { "geaskb.nl", true },
   { "geba-online.de", true },
+  { "gebaeudebilanzierung.de", true },
   { "gebn.co.uk", true },
   { "gebn.uk", true },
   { "geboortestoeltje.com", true },
@@ -21432,18 +22520,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "geekariom.com", true },
   { "geekbundle.org", true },
   { "geekclubbooks.com", true },
-  { "geekeffect.co.uk", true },
+  { "geekeries.org", true },
   { "geeklair.net", true },
   { "geeklan.co.uk", true },
   { "geekles.net", true },
+  { "geekobyte.com", true },
   { "geekpad.com", true },
   { "geeks.berlin", true },
-  { "geeks.lgbt", true },
   { "geeks.one", false },
   { "geeksandthecity.fr", true },
   { "geekshirts.cz", true },
   { "geekstreet.fr", true },
-  { "geektarven.com", true },
   { "geektier.com", true },
   { "geektopia.es", true },
   { "geekwhack.org", true },
@@ -21460,7 +22547,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gefolge.org", true },
   { "gegeco.ch", false },
   { "geh.li", true },
-  { "gehaowu.com", true },
   { "gehas-wein-shop.de", false },
   { "gehatrans.de", true },
   { "gehirn.co.jp", true },
@@ -21470,6 +22556,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gehrke.cloud", true },
   { "gehrke.in", true },
   { "gehsicht.de", true },
+  { "geico.com", true },
   { "geigenbauer.in", false },
   { "geiser-family.ch", true },
   { "geisser-elektronikdata.de", true },
@@ -21482,23 +22569,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "geleenbeekdal.nl", true },
   { "geleia-real.com", true },
   { "gelis.ch", true },
-  { "gellis12.com", true },
   { "gelog-software.de", false },
   { "gelonghui.com", true },
-  { "geloofindemocratie.nl", false },
+  { "geloofindemocratie.nl", true },
   { "gelpinhos.pt", true },
   { "gelsey.com", true },
   { "geluidsstudio.com", true },
   { "geluk.io", true },
   { "gelukkigehonden.nl", true },
   { "geluleminceur.fr", true },
+  { "gem-info.fr", true },
   { "gemails.eu", true },
   { "gemeentestein.nl", true },
+  { "gemeinderatswahl2020.de", true },
   { "gemeinsam-ideen-verwirklichen.de", true },
-  { "gemini.com", true },
+  { "gemelen.net", true },
+  { "gemonite.com", true },
   { "gemquery.com", true },
   { "gemstn.com", true },
   { "gemstonz.org", true },
+  { "genbars.jp", true },
   { "genbright.com", true },
   { "genchev.io", true },
   { "gencmedya.com", true },
@@ -21515,6 +22605,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "geneau.net", true },
   { "genehightower.com", true },
   { "genehome.com.au", true },
+  { "genemon.at", true },
   { "genen.ga", true },
   { "generador-electrico.com", true },
   { "general-anaesthesia.com", true },
@@ -21525,6 +22616,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "generationr.nl", true },
   { "generator.creditcard", true },
   { "generic.cx", true },
+  { "genericdevelopment.nl", true },
   { "generujdata.cz", true },
   { "genesiseureka.com", true },
   { "genesismachina.ca", true },
@@ -21538,13 +22630,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "genfaerd.dk", true },
   { "genioideal.com", true },
   { "geniush.ovh", true },
+  { "geniushost.in", true },
   { "geniusteacher.in", true },
-  { "geniuszone.biz", true },
   { "gennerator.com", true },
   { "genocidediary.org", true },
   { "genodeftest.de", true },
+  { "genome.gov", false },
   { "genomedia.jp", true },
   { "genomequestlive.com", true },
+  { "genometrik.de", true },
   { "genosse-einhorn.de", true },
   { "genossenwiese.ch", true },
   { "genoveve.de", true },
@@ -21556,16 +22650,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "genslerwisp.com", true },
   { "gensokyo.re", true },
   { "gensonline.eu", true },
+  { "gentapps.com", true },
   { "gentcdn.com", true },
   { "gentledance.ch", true },
   { "gentledance.net", true },
+  { "gentlemens-life.de", true },
+  { "gentlent.co", true },
   { "gentlent.com", true },
+  { "gentlent.info", true },
   { "gentlent.net", true },
+  { "gentlent.org", true },
+  { "gentlent.us", true },
+  { "gentlentapis.com", true },
   { "gentoo-blog.de", true },
-  { "gentoocn.org", true },
   { "gentz.rocks", true },
   { "genunlimited.tk", true },
   { "genusshotel-riegersburg.at", true },
+  { "genxnotes.com", true },
   { "geocar.com", true },
   { "geocompass.at", true },
   { "geoffnussmd.com", true },
@@ -21580,22 +22681,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "geomac.gov", true },
   { "geometra.roma.it", true },
   { "geometra24.it", true },
-  { "geomex.be", true },
   { "geomonkeys.com", true },
   { "geoponika.gr", true },
   { "geoport.al", true },
   { "georadar-algerie.com", true },
   { "george-brighton.co.uk", true },
   { "george-orwell.com", true },
+  { "georgebeverlysheamemorial.org", true },
   { "georgeblack.me", true },
   { "georgebrighton.co.uk", true },
   { "georgecolgrove.com", true },
-  { "georgedesign.ch", true },
   { "georgekaraoglanis.tk", true },
   { "georgemaschke.net", true },
   { "georgepancescu.ro", true },
   { "georgesand.be", true },
-  { "georgescarryout.com", true },
   { "georgewatson.me", true },
   { "georgewbushlibrary.gov", true },
   { "georgiaautoglass.net", true },
@@ -21607,9 +22706,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "georgioskontaxis.net", true },
   { "georgioskontaxis.org", true },
   { "georgmayer.eu", true },
-  { "geoscan.aero", true },
   { "geoscope.ch", false },
-  { "geotab.com", true },
   { "gepgroup.gr", true },
   { "gepps.de", true },
   { "geraintwhite.co.uk", true },
@@ -21621,6 +22718,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gerbang-singkolo.ga", true },
   { "gerbyte.co.uk", true },
   { "gerbyte.com", true },
+  { "geri.be", true },
   { "gerinet.pl", true },
   { "germandarknes.net", true },
   { "germanicvs.tk", true },
@@ -21629,6 +22727,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "germantrip.tk", true },
   { "germanytravel.ga", true },
   { "germanytravelguide.ml", true },
+  { "germfr.ee", true },
+  { "germistonplumber24-7.co.za", true },
+  { "germistonrubbleremovals.co.za", true },
   { "gernert-server.de", true },
   { "gero.io", true },
   { "geroiplavska.tk", true },
@@ -21641,19 +22742,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "geschichtscheck.de", true },
   { "geschmacksache.online", true },
   { "geschwinder.net", true },
+  { "gesditel.es", false },
+  { "geseduc.cl", true },
   { "gesevi.com", true },
   { "gesica.cloud", true },
   { "gesmav-trier.de", true },
   { "gesnex.com", true },
   { "gessettirotti.it", true },
+  { "gestionadministrativevirtuelle.ca", true },
+  { "gestionadministrativevirtuelle.ch", true },
+  { "gestionadministrativevirtuelle.com", true },
   { "gestionrocamar.es", true },
   { "gestlifes.com", true },
   { "gestormensajeria.com", true },
   { "gestsal.com", true },
   { "gestus.co", true },
-  { "gesunddurchenergie.ch", true },
   { "gesundheitmassage.com", true },
   { "gesundheitswelt24.de", true },
+  { "get-baaam.com", true },
   { "get-california-real-estate.com", true },
   { "get-erp.ru", true },
   { "get-it-live.com", true },
@@ -21672,12 +22778,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "getbreadcrumbs.com", true },
   { "getbrowink.com", true },
   { "getbutterfly.com", true },
+  { "getcalc.com", true },
   { "getcard.cc", true },
   { "getcertified.pro", true },
   { "getcheapinsurancenow.info", true },
   { "getcloak.com", false },
+  { "getcreditscore.com.au", true },
   { "getdash.io", true },
   { "getdeveloper.de", true },
+  { "getdownon.it", true },
   { "geteduroam.no", true },
   { "geterp.ru", true },
   { "geteventbox.com", true },
@@ -21686,17 +22795,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "getflorence.co.uk", true },
   { "getgeek.es", true },
   { "getgeek.se", true },
+  { "gethome.ru", true },
   { "gethow.org", true },
   { "gethttpsforfree.com", true },
   { "getidmcc.com", true },
+  { "getimgs.com", true },
   { "getinphase.com", true },
   { "getintopc.com", true },
+  { "getintra.org", true },
   { "getitlive.de", true },
+  { "getjms.com", true },
   { "getlawyered.com.au", true },
   { "getmango.com", true },
   { "getmdl.io", true },
   { "getmerch.eu", true },
-  { "getmovil.com", false },
+  { "getmonero.cz", true },
+  { "getmovil.com", true },
   { "getnib.com", true },
   { "getnikola.com", true },
   { "getonyx.com", true },
@@ -21711,26 +22825,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "getsensibill.com", true },
   { "getsetbounce.co.uk", true },
   { "getsmartaboutdrugs.gov", false },
-  { "getsmarterinsurance.com", true },
   { "getsport.mobi", true },
-  { "getsubs.net", true },
   { "getteamninja.com", true },
   { "getthefriendsyouwant.com", true },
+  { "getthejob.pt", true },
   { "getticker.com", true },
   { "gettok.com", true },
   { "gettopquality.com", true },
   { "getupandbounce.co.uk", true },
   { "getvdownloader.com", true },
   { "getwemap.com", true },
+  { "getwhelp.com", true },
   { "getwisdom.io", true },
   { "getwork.tk", true },
   { "getyour.nz", true },
   { "getyourlifestraight.com", true },
   { "geus-okna.eu", true },
   { "gevelreinigingtiel.nl", true },
+  { "gevme.com", true },
   { "geyduschek.be", true },
   { "gezinnenhilton.com", true },
   { "gezondetips.nl", true },
+  { "gezondheidszorg-ict.nl", true },
+  { "gezondheidszorg-it.nl", true },
   { "gf-franken.de", true },
   { "gf5fcalc.com", true },
   { "gfac.ru", true },
@@ -21747,11 +22864,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gfoss.eu", true },
   { "gfourmis.co", true },
   { "gfronline.tk", true },
+  { "gfw.moe", true },
+  { "gfw.ro", true },
   { "gfxbench.com", true },
   { "gfxworld.tk", true },
   { "ggbet.me", true },
   { "ggdcpt.com", true },
-  { "gggggg.org", true },
   { "gginin.today", true },
   { "ggismo.com", true },
   { "ggiveilig.nl", true },
@@ -21764,21 +22882,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ggservers.com", true },
   { "ggx.us", true },
   { "gh-sandanski.com", true },
-  { "gha.st", true },
+  { "ghaglund.se", true },
+  { "ghcpl.in", true },
   { "gheestore.in", true },
   { "ghettonetflix.de", true },
   { "ghfip.com.au", true },
   { "ghini.com", true },
   { "ghislainphu.fr", true },
-  { "ghkim.net", true },
-  { "ghostsupreme.eu", true },
+  { "ghostcir.com", true },
+  { "ghostpin.ga", true },
   { "ghowell.io", true },
   { "ghull.email", true },
   { "ghuntley.com", false },
   { "giac.net", true },
   { "giac.org", true },
+  { "giacchettaauto.it", true },
   { "giacomopelagatti.it", true },
   { "giakki.eu", false },
+  { "giancarlomarino.com", true },
   { "giannademartini.com", true },
   { "gianproperties.com", true },
   { "giant-panda.com", true },
@@ -21793,6 +22914,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "giardiniere.bologna.it", true },
   { "giardiniere.milano.it", true },
   { "giardiniere.roma.it", true },
+  { "giardinoperfetto.com", true },
   { "gichigamigames.com", true },
   { "giebel.it", true },
   { "gielectrical.com.au", true },
@@ -21800,14 +22922,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gierds.de", true },
   { "gieschke.de", true },
   { "giethoorn.com", true },
+  { "gietvloer-wand.nl", true },
   { "gietvloergarant.nl", false },
   { "gifino.fr", true },
   { "giftcard.net", true },
-  { "giftcardgranny.com", true },
   { "giftedconsortium.com", true },
   { "giftking.nl", false },
   { "giftlist.guru", true },
+  { "giftofsquare.net", true },
+  { "giftofsquare.org", true },
   { "gifts365.co.uk", true },
+  { "giftsofsquare.com", true },
+  { "giftsofsquare.net", true },
+  { "giftsofsquare.org", true },
   { "giftya.com", true },
   { "gifudodo.com", true },
   { "gig-raiffeisen.de", true },
@@ -21815,6 +22942,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gigabitz.pw", true },
   { "gigantism.com", true },
   { "gigasoft.tk", true },
+  { "gigawattz.com", true },
   { "giggletotz.co.uk", true },
   { "gigin.eu", true },
   { "gigin.me", true },
@@ -21827,14 +22955,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gijsbertus.com", true },
   { "gijswesterman.nl", true },
   { "gikovatelojavirtual.com.br", true },
-  { "gilangcp.com", true },
   { "gileadpac.com", true },
   { "giliamor.com", true },
   { "gillfamily.de", true },
   { "gillmanandsoame.co.uk", true },
   { "gillyscastles.co.uk", true },
-  { "gilme.net", true },
   { "gilnet.be", false },
+  { "gim-app.tk", true },
   { "gimme.money", true },
   { "gimnazjum-miloslaw.tk", true },
   { "gina-architektur.design", true },
@@ -21843,6 +22970,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gingersutton.com", true },
   { "ginionusedcars.be", false },
   { "ginja.co.th", true },
+  { "ginnasterling.com", true },
   { "ginnegappen.nl", true },
   { "ginniemae.gov", true },
   { "gino-gelati.de", true },
@@ -21850,8 +22978,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ginza-viola.com", true },
   { "ginzadelunch.jp", true },
   { "ginzaj.com", true },
-  { "giochiecodici.it", true },
   { "gioielleriamolena.com", true },
+  { "giordano.com", true },
   { "giovannarossi.tk", true },
   { "gipelpsb.fr", true },
   { "gipfelbuch.gr", true },
@@ -21860,7 +22988,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "giraffenland.de", true },
   { "giraffes.org", true },
   { "giri.co", true },
-  { "girl.science", true },
   { "girlan.net", true },
   { "girlinthetiara.com", true },
   { "girlsforum.com", true },
@@ -21869,12 +22996,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "girvas.ru", true },
   { "gisac.org", true },
   { "gisauto.ru", true },
-  { "gisch.tk", true },
   { "gisher.news", true },
   { "gisher.org", true },
   { "gisher.video", true },
   { "gishiko.net", true },
   { "gistr.io", true },
+  { "git.ac.cn", true },
   { "git.market", false },
   { "git.sb", true },
   { "git.tt", true },
@@ -21897,12 +23024,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "give.net", true },
   { "give2charity.co", true },
   { "give2charityapp.com", true },
+  { "giveamericahope.org", true },
+  { "giveasquare.com", true },
+  { "giveasquare.net", true },
+  { "giveasquare.org", true },
   { "giveattheoffice.org", false },
   { "giveaways.ph", true },
   { "givemylife.gq", true },
   { "given2.com", true },
   { "givepenny.com", true },
-  { "givesunlight.com", true },
   { "givingnexus.org", false },
   { "givingtools.com", true },
   { "gixtools.com", true },
@@ -21916,11 +23046,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gkb2020.ch", true },
   { "gkoenig-innenausbau.de", true },
   { "gkralik.eu", true },
-  { "gku-winterling.de", false },
+  { "gkstyle.net", true },
+  { "gku-winterling.de", true },
   { "gkv-gorinchem.nl", true },
   { "gl.search.yahoo.com", false },
   { "glaciernursery.com", true },
-  { "gladdy.co.uk", true },
+  { "gladdy.uk", true },
   { "gladdymedia.co.uk", true },
   { "gladdymedia.com", true },
   { "gladdymedia.uk", true },
@@ -21930,7 +23061,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "glahcks.com", true },
   { "glamcosmetic.ch", true },
   { "glamguru.co.il", true },
-  { "glamguru.world", true },
   { "glamira.de", true },
   { "glammybabes.com", true },
   { "glamour4you.de", true },
@@ -21943,9 +23073,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "glasgestaltung.biz", true },
   { "glasner.photo", true },
   { "glass.google.com", true },
+  { "glasschmuck-millefiori.de", true },
   { "glassemployees.com", true },
   { "glassexpertswa.com", true },
-  { "glassofgrape.com", true },
+  { "glassochchoklad.se", true },
   { "glassrainbowtrust.org.je", true },
   { "glassrom.pw", true },
   { "glasweld.com", true },
@@ -21961,12 +23092,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "glenhuntlyapartments.com.au", true },
   { "glenshere.com", true },
   { "glexia.com", true },
+  { "glidestep.com", true },
   { "glidingshop.cz", true },
   { "glidingshop.de", true },
   { "glidingshop.eu", true },
   { "gliihc.net", true },
   { "glimhome.com", true },
-  { "glittersjabloon.nl", true },
+  { "glit.sh", true },
   { "glitzafricafashionweek.com", true },
   { "glitzerstuecke.de", true },
   { "glixee.com", true },
@@ -21976,13 +23108,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "global-adult-webcams.com", true },
   { "global-monitoring.com", true },
   { "global-office.com", false },
+  { "global-qanoon.gq", true },
   { "global-village.koeln", true },
   { "global1.gg", true },
   { "globalbano.com", true },
   { "globalchokepoints.org", true },
   { "globalcomix.com", true },
   { "globaleaks.org", true },
+  { "globalepsilon.com", true },
   { "globalesm.com", true },
+  { "globalfuture.eu", true },
   { "globalgovernancewatch.org", true },
   { "globalhealth.gov", true },
   { "globalhealthstrategiesnetwork.com", true },
@@ -21993,19 +23128,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "globalipaction.ch", true },
   { "globalisierung-fakten.de", true },
   { "globalitac.com", true },
+  { "globalizationpedia.com", true },
   { "globalnewsdaily.cf", true },
-  { "globalno.me", true },
   { "globalonetechnology.com", true },
   { "globalprojetores.com.br", true },
   { "globalresearchcouncil.org", true },
   { "globalresistancecorporation.com", true },
   { "globalshippinglimited.ga", true },
-  { "globalvoice.ga", true },
-  { "globalwitness.org", true },
+  { "globaltiendat.com", true },
+  { "globalwitness.org", false },
   { "globalzone.tk", true },
   { "globecollege.nl", true },
   { "globelink-group.com", true },
-  { "globemusic.es", true },
   { "globetalent.nl", true },
   { "globologic.com", true },
   { "glocalworks.jp", true },
@@ -22015,38 +23149,51 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gloneta.com", false },
   { "glont.net", true },
   { "gloryholefucking.com", true },
+  { "glosiko.cn", true },
   { "glosiko.com", true },
+  { "glosiko.com.cn", true },
+  { "glosiko.net", true },
+  { "glosiko.org", true },
   { "glosons.com", true },
   { "glotech.co.uk", true },
   { "glotechkitchens.co.uk", true },
   { "glotechrepairs.co.uk", true },
   { "gloucestershiregospelpartnership.org.uk", true },
+  { "glovementor.com", true },
+  { "glpepper.com", true },
   { "glueck-im-norden.de", true },
   { "gluecksgriff-taschen.de", true },
   { "glueckskindter.de", true },
   { "gluedtomusic.com", true },
   { "gluhov-ss.ru", true },
   { "gluit.de", true },
+  { "glutenfreeandtasty.com", true },
   { "glutenfreehomemaker.com", true },
   { "glutenfreelife.co.nz", true },
   { "glutenfreevr.com", true },
+  { "glyfadacoaststudio.gr", true },
   { "glykofridis.nl", true },
   { "glyptodon.com", true },
   { "glyxins.com", true },
+  { "gm-net.jp", true },
   { "gm.search.yahoo.com", false },
   { "gmacedo.com", true },
   { "gmail.com", false },
   { "gmao.com", true },
   { "gmbh-kiekin.de", true },
   { "gmc.uy", true },
+  { "gmcbm.net", true },
   { "gmccar.it", true },
   { "gmcd.co", true },
   { "gmdu.net", true },
+  { "gmeet.at", true },
+  { "gmeet.io", true },
   { "gmenhq.com", true },
   { "gmind.ovh", true },
   { "gmod.de", true },
   { "gmpark.dk", true },
   { "gmpartsdb.com", true },
+  { "gmplab.com", true },
   { "gmslparking.co.uk", true },
   { "gmta.nl", true },
   { "gmtplus.co.za", true },
@@ -22062,7 +23209,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gmx.net", true },
   { "gn00.com", true },
   { "gnax.jp", false },
-  { "gnetion.com", true },
   { "gnetwork.eu", true },
   { "gnezdo.tk", true },
   { "gnfrazier.me", true },
@@ -22070,13 +23216,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gnk.io", true },
   { "gnmlive.com", true },
   { "gnucashtoqif.us", true },
-  { "gnwp.eu", true },
+  { "gnylf.com", true },
   { "go-away.xyz", true },
   { "go-datasecurity.de", true },
   { "go-dutch.eu", true },
   { "go-embedded.de", true },
+  { "go-girlonly.shop", true },
+  { "go-indochine.com", true },
   { "go-kuwait.tk", true },
   { "go-life.com.tw", true },
+  { "go-mail.me", true },
   { "go-propiedades.cl", true },
   { "go-srx.tk", true },
   { "go-wild.co.uk", true },
@@ -22086,8 +23235,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "go2archive.nl", true },
   { "go2people-websites.nl", true },
   { "go2ubl.nl", true },
+  { "go6.si", true },
+  { "go6lab.si", true },
   { "go889w.com", true },
-  { "goa8.xyz", true },
   { "goalbookapp.com", true },
   { "goanalyse.co.uk", true },
   { "goand.run", true },
@@ -22096,6 +23246,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "goaudits.com", true },
   { "gobarrelroll.com", true },
   { "gobiz.com.my", true },
+  { "goblackcat.com", true },
   { "gobouncy.co.uk", true },
   { "gobouncy.com", true },
   { "gobytedesign.co.uk", true },
@@ -22105,12 +23256,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gochu.se", true },
   { "gocleanerslondon.co.uk", true },
   { "god-clan.hu", true },
+  { "god-esb.com", true },
   { "godall.tk", true },
   { "godan.tech", true },
   { "godattributes.com", true },
   { "godaxen.tv", true },
+  { "godbo9.cc", true },
+  { "godbo9.net", true },
   { "godclan.hu", true },
+  { "goddard.id.au", true },
   { "goddg.com", true },
+  { "godesb.com", true },
   { "godesigner.ru", true },
   { "godruoyi.com", true },
   { "godsofhell.com", true },
@@ -22118,13 +23274,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "goeb.eu", true },
   { "goeb.org", true },
   { "goededoelkerstkaarten.nl", true },
-  { "goedkopeonesies.nl", true },
   { "goedverzekerd.net", true },
   { "goehler-baumpflege.de", true },
   { "goemail.me", true },
   { "goerres2014.de", true },
   { "goetemp.de", true },
   { "goettinger-biergarten.de", true },
+  { "goettinger-katzenschutz.de", true },
+  { "goetzinger-web.de", true },
   { "goffrie.com", true },
   { "goflo.net", true },
   { "gofoiayourself.org", true },
@@ -22138,7 +23295,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gogsat.com", true },
   { "gohon.org", true },
   { "goingreen.com.au", true },
-  { "goiymua.com", true },
+  { "gokhana.com", true },
   { "gokhankesici.com", true },
   { "gokmenguresci.com", true },
   { "golang.org", true },
@@ -22153,15 +23310,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "goldcoaststumpbusters.com", true },
   { "golden-kamuy.com", true },
   { "goldenage.tk", true },
-  { "goldenbadger.de", true },
   { "goldendawnapersonalaffair.com", true },
   { "goldenhillsoftware.com", true },
   { "goldenhost.ca", true },
-  { "goldenhostmyanmar.com", false },
+  { "goldenhostmyanmar.com", true },
   { "goldenplate.com.sg", true },
+  { "goldenqueenbee.com", true },
+  { "goldenruleemail.com", true },
+  { "goldenyacca.co.uk", true },
   { "goldfmromania.ro", true },
-  { "goldlevelmarketing.com", true },
-  { "goldlevelprint.com", true },
   { "goldmark.com.au", false },
   { "goldpreisfinder.at", true },
   { "goldsecurity.com", true },
@@ -22181,24 +23338,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "golosok.ml", true },
   { "golser-schuh.at", true },
   { "golser.info", true },
+  { "golsportsoccer.com", true },
+  { "golvlyftarna.se", true },
   { "gomasy.jp", true },
+  { "gomasy.net", true },
   { "gomedium.com", true },
   { "gomel.chat", true },
   { "gomel.city", true },
   { "gomelchat.com", true },
   { "gomelphoto.com", true },
   { "gommista.roma.it", true },
+  { "gomu.ca", true },
+  { "gon45.com", true },
   { "gondelvaartdwarsgracht.nl", true },
   { "gondola-parkinson.com", true },
   { "gongjianwei.com", true },
   { "gongjuhao.com", true },
+  { "gonumbers.ru", true },
   { "gonx.dk", false },
-  { "goo.gl", true },
+  { "goo.gl", false },
   { "gooby.co", false },
+  { "gooch.io", true },
   { "good-tips.pro", true },
-  { "good588.com", true },
   { "gooday.life", true },
+  { "goodcreds.com", true },
   { "goodfor.us", true },
+  { "goodgame.lt", true },
   { "goodhealthtv.com", true },
   { "goodiesoft.hu", true },
   { "goodmood.co.uk", true },
@@ -22213,13 +23378,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "google", true },
   { "google-analytics.com", true },
   { "googleandroid.cz", true },
+  { "googlehits.com", true },
   { "googlemail.com", false },
+  { "googlepinyin.com", true },
   { "googleplex.com", true },
   { "googleshortcuts.org", true },
   { "googlesource.com", true },
+  { "goolnk.com", true },
   { "goombi.fr", true },
   { "goonersworld.co.uk", true },
   { "goonfleet.com", true },
+  { "gooseberries.ch", true },
   { "gooty.ru", true },
   { "goover.de", true },
   { "goow.in", true },
@@ -22230,9 +23399,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gopnikman.cf", true },
   { "gopostore.com", true },
   { "goproinspectiongroup.com", true },
+  { "gopwhip.gov", false },
   { "goquiq.com", true },
   { "goquiqstatus.com", true },
   { "gordeijnsbouw.nl", true },
+  { "gordon-reid.com", true },
   { "gordonchevy.com", true },
   { "gordonscouts.com.au", true },
   { "gordy.fr", true },
@@ -22241,6 +23412,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gorgeconnect.com", true },
   { "gorgias.me", true },
   { "gorky.media", true },
+  { "gorlani.com", true },
+  { "gorlani.net", true },
   { "gorn.ch", true },
   { "gornergrat-kulm.ch", true },
   { "gorodabakan.ml", true },
@@ -22254,17 +23427,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "goshow.tv", true },
   { "gosnipe.com", true },
   { "gosolockpicks.com", true },
-  { "gospelfollower.com", true },
   { "gospelites.com", true },
   { "gospelvestcination.de", true },
   { "gospicers.ca", true },
   { "gospomedley.com.ng", true },
   { "gosportweather.co.uk", true },
+  { "gosq.co", true },
+  { "gosq.com", true },
+  { "gossiplolly.com", true },
   { "gostaffer.com", true },
   { "gostargazing.co.uk", true },
   { "gosti-dom.ga", true },
   { "gosu.pro", true },
-  { "gosuland.org", true },
   { "goswak.com", true },
   { "goszakupki.tk", true },
   { "got-tty.de", true },
@@ -22280,12 +23454,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "goto10.se", true },
   { "gotomi.info", false },
   { "gotowebsites.info", true },
-  { "gotowned.org", false },
   { "gotoxy.at", true },
   { "gotrail.fr", true },
   { "gotravel.us", true },
+  { "gotscrapcar.com", true },
+  { "gottcar.com", true },
   { "gottcode.org", false },
   { "goudenharynck.be", true },
+  { "goudt.nl", true },
   { "gouforit.com", true },
   { "gougeaway.tk", true },
   { "gouldcooksey.com", true },
@@ -22302,23 +23478,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "govisitcostarica.co.cr", true },
   { "govisitcostarica.com", true },
   { "govloans.gov", true },
-  { "govsurvey.us", true },
-  { "govtjobs.blog", true },
   { "govtrack.us", true },
   { "govype.com", true },
   { "gow220.ru", true },
   { "gowancommunications.com", true },
-  { "goweraesthetics.co.uk", true },
   { "gowervets.co.uk", true },
   { "gowildrodeo.co.uk", true },
+  { "gowin9.com", true },
+  { "gowin9.net", true },
   { "gowithflo.de", true },
   { "gozaars.com", true },
-  { "gozenhost.com", true },
+  { "gozadera.es", true },
   { "gpalabs.com", true },
   { "gpcp.org", true },
-  { "gpcsolutions.fr", true },
   { "gpdimaranathasiantar.org", false },
-  { "gpfclan.de", true },
   { "gpfitness.com.br", true },
   { "gpgscoins.com", true },
   { "gpl-elite.store", true },
@@ -22326,25 +23499,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gplvilla.com", true },
   { "gpm.ltd", true },
   { "gpna.org", true },
+  { "gpolanco.com", true },
   { "gprs.uk.com", true },
   { "gps-fleettracking.ga", true },
   { "gpsblackbox.com", true },
   { "gpsolarpanels.com", true },
   { "gpsvideocanada.com", true },
   { "gpswebsoft.ml", true },
-  { "gpu.nu", true },
-  { "gpureport.cz", true },
+  { "gpu.nu", false },
   { "gpz500s.tk", true },
+  { "gqjx.fun", true },
   { "gqmstore.com.br", true },
   { "gqyyingshi.com", true },
   { "gqyys.com", true },
   { "gqyyy.cc", true },
   { "gr.search.yahoo.com", false },
   { "gr8engineer2b.com", true },
+  { "gra2.com", true },
   { "grabacabpa.com", true },
   { "grabadolasermonterrey.com", true },
   { "grabatt.de", true },
-  { "grabtech.vn", true },
   { "grace-wan.com", true },
   { "gracebaking.com", false },
   { "gracedays.org", true },
@@ -22357,10 +23531,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gradualgram.com", true },
   { "graeber.com", true },
   { "graecum.org", true },
-  { "graetnew.com", true },
   { "graf-igor.ch", true },
   { "graf.re", true },
   { "grafcaps.com", true },
+  { "grafe.com", true },
   { "graffen.dk", true },
   { "grafia.ink", true },
   { "graficasantana.com.br", true },
@@ -22374,13 +23548,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "grahambaker.ca", true },
   { "grahamcarruthers.co.za", true },
   { "grahamcluley.com", true },
+  { "grahamleeonline.com", true },
+  { "grahamsgifts.com", true },
   { "grailians.com", true },
   { "grailify.com", true },
   { "graingert.co.uk", true },
   { "graliv.net", false },
-  { "gramiaperu.com", true },
   { "grammysgrid.com", true },
   { "grand-city38.ru", true },
+  { "grand-sity.ru", true },
   { "grandcafecineac.nl", true },
   { "grandcafetwist.nl", true },
   { "grandcapital.cn", true },
@@ -22393,7 +23569,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "grandeto.com", true },
   { "grandisco.tk", true },
   { "grandjunctionbrewing.com", true },
-  { "grandmusiccentral.com.au", true },
   { "grandpadusercontent.com", true },
   { "grandwailea.com", true },
   { "grandworldnghiduong.com", false },
@@ -22416,17 +23591,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "grapheneos.org", true },
   { "graphic-schools.com", true },
   { "graphic-shot.com", true },
+  { "graphicbuffet.co.th", true },
   { "graphobyte.com", true },
   { "grapholio.net", true },
-  { "grasboomamersfoort.nl", true },
-  { "grasboombinnendoor.nl", true },
-  { "grasboomclophaemer.nl", true },
-  { "grasboomderoos.nl", true },
-  { "grasboomleusden.nl", true },
-  { "grasboommax.nl", true },
-  { "grasboommeerbalans.nl", true },
-  { "grasboomveenendaal.nl", true },
-  { "grasboomvondellaan.nl", true },
   { "grasmark.com", true },
   { "graspingtech.com", true },
   { "grasscity.com", true },
@@ -22442,19 +23609,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gratitudeabundancepassion.com", true },
   { "grattan.co.uk", true },
   { "graumeier.de", true },
-  { "gravilink.com", true },
   { "graviola.es", true },
   { "gravitascreative.net", true },
+  { "gravito.nl", false },
   { "gravityformspdfextended.com", true },
   { "gravitypdf.com", true },
   { "grawe-blog.at", true },
   { "grayclub.co.il", true },
   { "grayhatter.com", true },
   { "grayiron.io", true },
-  { "grayscale.co", true },
+  { "grayrectangle.com", true },
   { "grayson.sh", true },
   { "graz2020.com", true },
-  { "grazieitalian.com", true },
   { "grazitti.com", true },
   { "grc.com", false },
   { "greatagain.gov", true },
@@ -22466,6 +23632,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "greatislandarts.ca", true },
   { "greatlakeside.de", true },
   { "greatlifeinsurancegroup.com", true },
+  { "greatnetsolutions.com", true },
+  { "greatscott.media", true },
   { "greatskillchecks.com", true },
   { "greatwebdesign.uk", true },
   { "greboid.com", true },
@@ -22476,19 +23644,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "greeks.tk", true },
   { "green-anarchy.tk", true },
   { "green-attitude.be", true },
+  { "green-aura.ru", true },
   { "green-care.nl", true },
+  { "green-light.cf", true },
   { "green-light.co.nz", true },
+  { "green-light.ga", true },
+  { "green-light.gq", true },
+  { "green-light.ml", true },
   { "green-techno.ru", true },
   { "greenaddress.it", true },
+  { "greenangels.com.ua", true },
   { "greenapproach.ca", true },
   { "greencircleplantnursery.com.au", true },
   { "greencircleplantnursery.net.au", true },
   { "greendrive.tk", true },
+  { "greendvorik.com.ua", true },
   { "greener.pl", true },
   { "greengates.co.uk", true },
   { "greengorych.ru", true },
   { "greenhats.de", true },
-  { "greenliquidsystem.com", true },
   { "greenliv.pl", true },
   { "greenlungs.net", true },
   { "greenmachines.com", true },
@@ -22511,6 +23685,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "greentea.ml", true },
   { "greenteamtwente.nl", true },
   { "greenwithdecor.com", true },
+  { "greenytimes.com", true },
   { "greg.red", true },
   { "gregbrimble.com", true },
   { "greger.me", true },
@@ -22539,23 +23714,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "grenlandkiropraktor.no", true },
   { "grepmaste.rs", false },
   { "grepular.com", true },
+  { "gresak.io", true },
   { "greta-birkner.de", true },
   { "grexx.today", true },
-  { "greyhash.se", true },
+  { "greybazar.com", true },
+  { "greybeards.ca", true },
   { "greymattertechs.com", true },
+  { "greyrectangle.com", true },
   { "greysky.me", true },
   { "greyskymedia.com", true },
   { "greysolutions.it", true },
   { "greywizard.com", true },
   { "greywolf.cz", true },
   { "grh.am", true },
-  { "griassdi-reseller.de", true },
   { "gricargo.com", true },
   { "grid.studio", true },
   { "gridpack.org", true },
   { "gridtennis.net", true },
   { "griechische-pfoetchen.de", true },
-  { "griefheart.com", true },
   { "grieg-gaarden.no", true },
   { "grieg.no", false },
   { "griegfoundation.no", true },
@@ -22566,6 +23742,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "griffinsrfc.tk", true },
   { "grifomarchetti.com", true },
   { "grillen-darf-nicht-gesund-sein.de", true },
+  { "grillfocused.com", true },
   { "grilllness.com", true },
   { "grillteller42.de", true },
   { "grimcalc.com", true },
@@ -22581,12 +23758,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gritte.ch", true },
   { "grizz.gdn", true },
   { "grizzlys.com", true },
-  { "grocerybuild.com", true },
-  { "grocock.me.uk", true },
   { "groenaquasolutions.nl", true },
   { "groentebesteld.nl", true },
   { "groepjam-usedcars.be", false },
-  { "grog.pw", true },
   { "grokandtonic.com", true },
   { "grokker.com", true },
   { "groklearning.com", true },
@@ -22597,12 +23771,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "groomscroft.co.uk", true },
   { "groomscroft.com", true },
   { "grootinadvies.nl", true },
+  { "groovefetish.com", true },
   { "groovydisk.com", true },
   { "groovygoldfish.org", true },
   { "gropp.org", true },
-  { "grosdebit.com", true },
   { "gross.business", true },
-  { "grossberger-ge.org", true },
+  { "grossberger-ge.org", false },
   { "grossiste-en-ligne.com", true },
   { "groszek.pl", true },
   { "groth.im", true },
@@ -22610,7 +23784,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "grothoff.org", true },
   { "grottenthaler.eu", true },
   { "grouindev.net", true },
+  { "groundengenharia.com", true },
   { "groundmc.net", true },
+  { "groundsdirect.com", true },
+  { "groundspan.com", true },
   { "groundthumpingmotors.com", true },
   { "groundthumpingmotors.net", true },
   { "groundthumpinmotors.com", true },
@@ -22623,14 +23800,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "groupghistelinck-cars.be", false },
   { "grouphomes.com.au", false },
   { "groupme.com", true },
+  { "groupramirez.com", true },
   { "groups.google.com", true },
   { "groupseslogistic.com", true },
   { "grove-archiv.de", true },
+  { "growik.com", true },
   { "growingallthings.co.uk", true },
   { "growingsmiles.co.uk", true },
   { "growit.events", true },
   { "growth-rocket.com", true },
-  { "growthseedconsulting.com", true },
   { "growwithdaylight.co.uk", true },
   { "growy.ch", false },
   { "grrmmll.com", true },
@@ -22656,27 +23834,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gruper.mk", true },
   { "grupoalpi.com", true },
   { "grupoattia.com", true },
-  { "grupocata.com", true },
   { "grupodatco.com", true },
   { "grupog2i.com", true },
+  { "grupoharbour.com", true },
   { "grupoinassa.com", true },
   { "grupomakben.com", false },
   { "grupomedlegal.com", true },
-  { "grupoparco.com", true },
   { "grupoproabienesraices.com.mx", true },
-  { "gruposertaoveredas.com.br", true },
   { "gruselgrotte.com", true },
-  { "grusenmeyer.be", true },
+  { "gruslic.org.mx", true },
   { "gruver.de", true },
   { "gruwa.net", true },
   { "gruzoperevozki.ml", true },
+  { "grwebdesigns.gr", true },
   { "gs1pt.org", true },
   { "gs93.de", true },
   { "gsaj114.net", true },
-  { "gscloud.xyz", true },
+  { "gsbolivia.com", true },
   { "gse.space", true },
   { "gsimagebank.co.uk", true },
-  { "gslaw.edu.gh", true },
   { "gslink.me", true },
   { "gsmsale.nl", true },
   { "gsmsecurity.net", true },
@@ -22684,14 +23860,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gsrc.io", true },
   { "gst.name", true },
   { "gst.priv.at", true },
-  { "gstand.tk", true },
   { "gt-himmel.com", true },
   { "gt-network.de", true },
   { "gta-arabs.com", true },
   { "gtacty.co", true },
   { "gtaforum.nl", true },
-  { "gtcprojects.com", true },
+  { "gtagames.nl", true },
+  { "gtd.cloud", true },
   { "gtdgo.com", false },
+  { "gtlaun.ch", true },
   { "gtlfsonlinepay.com", true },
   { "gtmetrix.com", true },
   { "gtn-pravda.ru", true },
@@ -22700,24 +23877,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gtopala.net", true },
   { "gtour.info", false },
   { "gtravers-basketmaker.co.uk", true },
-  { "gtxbbs.com", true },
+  { "gtupgrade.eu", true },
   { "gtxmail.de", true },
   { "guadagnare.info", true },
   { "guadalgrass.com", true },
   { "guancha.org", true },
-  { "guangjiangk.com", true },
   { "guanyembadalona.org", true },
+  { "guanyu.ml", true },
   { "guanzhong.ca", true },
   { "guardian360.nl", true },
   { "guardianportal.us", true },
   { "gubagoo.com", true },
   { "gubagoo.io", true },
+  { "guberniya.net", true },
   { "gudini.net", true },
   { "gudrunfit.dk", true },
   { "guegan.de", true },
   { "guenthereder.at", true },
-  { "guenthernoack.de", true },
+  { "guepardoinvest.com.br", true },
   { "guerard.info", true },
+  { "guercioarchitecture.com", true },
   { "guerrilla.technology", true },
   { "guesthouse-namaste.com", true },
   { "guevener.de", true },
@@ -22735,9 +23914,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "guichet-entreprises.fr", true },
   { "guichet-qualifications.fr", true },
   { "guid2steamid.com", true },
-  { "guid2steamid.pw", true },
   { "guidebook.co.tz", true },
-  { "guidedselling.net", true },
   { "guideline.gov", false },
   { "guidelines.gov", false },
   { "guideo.ch", false },
@@ -22746,7 +23923,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "guidesorbetiere.com", true },
   { "guidethailande.tk", true },
   { "guidetoiceland.is", false },
-  { "guildbase.de", true },
   { "guilde-dissection.com", true },
   { "guildofmusicsupervisors.co.uk", true },
   { "guillaume-briand.fr", true },
@@ -22766,17 +23942,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gumeyamall.jp", true },
   { "gumi.ca", true },
   { "gummientchen.net", true },
+  { "gun321.com", true },
   { "gunauc.net", true },
   { "gunbrig.com", true },
   { "gunerds.com.br", true },
   { "gunlukburc.net", true },
-  { "gunn.ee", true },
+  { "gunnarhafdal.com", true },
   { "gunstatus.net", true },
+  { "gununsesi.info", true },
+  { "gununsesi.org", true },
   { "gunwatch.co.uk", true },
   { "gunworld.com.au", true },
   { "gunz.net", true },
   { "guodong.net", true },
-  { "guohuageng.com", true },
+  { "guogetv.com", true },
   { "guoke.com", true },
   { "guolaw.ca", true },
   { "guoliang.me", true },
@@ -22789,6 +23968,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gurunpa.com", true },
   { "gururi.com", true },
   { "gus.host", true },
+  { "gusmiller.org", true },
   { "gustaff.de", true },
   { "gut8er.com.de", true },
   { "gute-schulen-porta.de", true },
@@ -22796,7 +23976,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gutools.co.uk", true },
   { "gutschein-spezialist.de", true },
   { "gutscheinemagic.de", true },
+  { "gutscheineplus.de", true },
   { "gutscheingeiz.de", true },
+  { "guus-thijssen.nl", true },
   { "guyeskens.be", true },
   { "guyfletcher.com", true },
   { "guys-reviews.ml", true },
@@ -22824,16 +24006,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gw2zone.net", true },
   { "gw66.cc", true },
   { "gwbet99.cc", true },
-  { "gwerder.net", true },
   { "gwhois.org", true },
   { "gwo24.pl", true },
-  { "gwrtech.com", true },
   { "gwsec.co.uk", true },
+  { "gwthub.com", true },
   { "gwynfryncottages.com", true },
   { "gxlrx.net", true },
   { "gxmyqy.net", true },
   { "gxpconsultora.com", true },
   { "gyas.nl", true },
+  { "gycis.me", true },
   { "gymagine.ch", true },
   { "gymbunny.de", true },
   { "gymhero.me", true },
@@ -22861,22 +24043,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "gz-bmw.com", true },
   { "gza.jp", true },
   { "gzom.ru", true },
-  { "gzriedstadt.de", true },
   { "h-ealthy.net", true },
   { "h-jo.net", true },
   { "h-server.myfirewall.org", true },
   { "h001.ru", true },
   { "h09.eu", true },
   { "h10l.com", true },
-  { "h11.io", false },
+  { "h11.io", true },
   { "h1ctf.com", true },
   { "h1z1swap.com", true },
   { "h24.org", true },
   { "h2b.me", true },
-  { "h2rul.eu", true },
   { "h2s-design.de", true },
+  { "h2ssafety.com", true },
   { "h2u.tv", true },
-  { "h365.vip", true },
+  { "h365.vip", false },
   { "h36533.com", true },
   { "h36594.com", true },
   { "h3artbl33d.nl", true },
@@ -22885,12 +24066,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "h404bi.com", true },
   { "h4kl4b.rs", true },
   { "h51365.com", true },
+  { "h678.top", true },
   { "h6852.com", true },
   { "h6853.com", true },
-  { "h6895.com", true },
+  { "h6895.com", false },
   { "h6913.com", true },
-  { "h81818.com", true },
-  { "h9386.com", true },
+  { "h9386.com", false },
   { "ha-kunamatata.de", true },
   { "ha.com", true },
   { "ha3.eu", true },
@@ -22906,6 +24087,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "habernet.tk", true },
   { "habitable.ga", true },
   { "habitat-domotique.fr", true },
+  { "habitatetbatiment.fr", true },
   { "habr.com", true },
   { "habtium.es", true },
   { "hac2er.net", true },
@@ -22950,11 +24132,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hackerone.org", true },
   { "hackgins.com", true },
   { "hackingand.coffee", false },
-  { "hackingarise.com", true },
   { "hackingdh.com", true },
   { "hackingvision.com", true },
   { "hackintosh.eu", true },
   { "hackmd.io", true },
+  { "hackmeifyoucan.site", true },
   { "hackmeimfamo.us", true },
   { "hackreone.com", true },
   { "hacksoc.co.uk", true },
@@ -22982,19 +24164,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "haferman.org", true },
   { "hafniatimes.com", true },
   { "hag27.com", true },
+  { "hagbergmedia.se", true },
   { "haggeluring.su", true },
   { "hagiati.gr", true },
-  { "hagier.pl", true },
   { "hagueaustralia.com.au", true },
   { "haha-raku.com", true },
   { "haha.nl", true },
-  { "hahay.es", true },
   { "haiboxu.com", true },
   { "hailstorm.nl", true },
-  { "hainanstar.cc", true },
   { "haindlmuehle.eu", true },
+  { "haineshilton.com", true },
   { "hair-guide.net", true },
-  { "hair-reborn.be", true },
   { "haircode.gr", true },
   { "haircrazy.com", true },
   { "haircutideas.gq", true },
@@ -23002,8 +24182,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hairpins.tk", true },
   { "hairplaybychenellekay.com", false },
   { "hairraisingphotobooths.co.uk", true },
-  { "hairtonic-lab.com", true },
   { "haitaka.cc", true },
+  { "haixihui.cn", true },
   { "hajekj.com", true },
   { "hajekj.cz", true },
   { "hajekj.net", true },
@@ -23019,8 +24199,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hakkasannightclub.com", true },
   { "halacs.hu", true },
   { "halbich.design", true },
+  { "half.host", true },
   { "halfhosting.de", true },
-  { "halihali.cc", true },
+  { "halihali.me", true },
   { "halilweb.tk", true },
   { "halilyagcioglu.tk", true },
   { "halitopuroprodutos.com.br", true },
@@ -23034,16 +24215,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "halligladen.de", true },
   { "hallmarkestates.ca", true },
   { "hallme.com", true },
+  { "hallopstyling.com", true },
   { "halls.hu", true },
+  { "hallspumpandwellservice.net", true },
   { "hallucinogen.com", true },
   { "hallucinogens.org", true },
   { "halo.fr", true },
   { "halocredit.pl", true },
-  { "haloria.com", true },
   { "haltegame.com", true },
   { "halyul.com", true },
   { "hamacho-kyudo.com", true },
   { "hamali.bg", true },
+  { "hamamatsu-kotsu.co.jp", true },
   { "hamarimarriage.tk", true },
   { "hambassadors.org", true },
   { "hamburg40grad.de", true },
@@ -23062,6 +24245,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hampl.tv", true },
   { "hampshiretechservices.co.uk", true },
   { "hamsystems.eu", true },
+  { "hamyarpet.com", true },
   { "hana-groupsac.com", true },
   { "hana.ondemand.com", true },
   { "hanakaraku.com", true },
@@ -23072,8 +24256,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "handcraft.eu.org", true },
   { "handgelenkbandage-test.de", true },
   { "handknit.com.np", true },
-  { "handlecoin.com", true },
   { "handleidingkwijt.com", true },
+  { "handwerk-digital-steinfurt.de", true },
   { "handy-reparatur-berlin.com", true },
   { "handymanbypolli.com", true },
   { "handymanlondonplease.co.uk", true },
@@ -23084,12 +24268,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hanfox.co.uk", false },
   { "hanfverband-erfurt.de", true },
   { "hangar.hosting", true },
+  { "hangarbox.de", true },
   { "hangcapnach.com", true },
   { "hangerphant.com", true },
   { "hangout", true },
   { "hangouts.google.com", true },
   { "hangtenseo.com", true },
-  { "hanjuapp.com", true },
+  { "hangw.xyz", true },
+  { "hankoreas.com", true },
   { "hankr.com", true },
   { "hanksacservice.com", true },
   { "hannah.link", true },
@@ -23100,6 +24286,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hannover.de", true },
   { "hannywbarek.com", true },
   { "hanpenblog.com", true },
+  { "hansahome.ddns.net", true },
   { "hansbijster.nl", true },
   { "hanschventures.com", true },
   { "hansen-kronshagen.de", true },
@@ -23118,11 +24305,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hanu.la", true },
   { "hanxv.pw", true },
   { "hanyibo.com", true },
+  { "hanyingw.com", true },
   { "hanzubon.jp", true },
   { "hao-zhang.com", true },
   { "hao6.ag", true },
   { "hao8.ag", true },
+  { "haocq3.com", true },
   { "haogoodair.ca", true },
+  { "haorenka.org", true },
   { "haozhang.org", true },
   { "haozhexie.com", true },
   { "haozhuanfa.com", true },
@@ -23132,6 +24322,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "happy-life-food.de", true },
   { "happyagain.de", true },
   { "happyagain.se", true },
+  { "happyandrelaxeddogs.com", true },
   { "happyandrelaxeddogs.eu", true },
   { "happybirthdaywisher.com", true },
   { "happybounce.co.uk", true },
@@ -23142,17 +24333,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "happycoder.net", true },
   { "happydoq.ch", false },
   { "happygadget.me", true },
-  { "happyhourboard.com", true },
+  { "happyglacons.com", true },
+  { "happyheartsabode.com", true },
   { "happykidscastles.co.uk", true },
   { "happylearning.com", true },
   { "happylifestyle.com", true },
-  { "happyschnapper.com", true },
+  { "happyretail.co", true },
   { "happyteamlabs.com", true },
   { "happyukgo.com", true },
   { "hapsana.nl", true },
   { "haptemic.com", true },
   { "harabar.ml", true },
-  { "haraj.com.sa", true },
   { "harald-d.dyndns.org", true },
   { "harald-pfeiffer.de", true },
   { "haramainbd.com", true },
@@ -23162,9 +24353,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hardcore-bodybuilding.nl", true },
   { "hardeman.nu", true },
   { "hardenize.com", true },
-  { "hardergayporn.com", true },
   { "hardertimes.com", true },
-  { "hardfalcon.net", true },
   { "hardfloorcleaninglondon.co.uk", true },
   { "hardforum.com", true },
   { "hardh.at", true },
@@ -23185,7 +24374,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "haritsa.co.id", true },
   { "harjitbhogal.com", true },
   { "harley-davidson-live.com", true },
-  { "harmfarm.nl", true },
+  { "harleyclassifieds.com", true },
   { "harmoney.co.nz", true },
   { "harmoney.com", true },
   { "harmoney.com.au", true },
@@ -23194,18 +24383,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "harmsboone.org", true },
   { "harnov.dk", true },
   { "haroldsharpe.com", true },
-  { "harp.gov", true },
   { "harpoo.jp", false },
+  { "harptechnologies.com", true },
   { "harringtonca.com", true },
   { "harrisandharris.com.au", true },
   { "harrisconsulting.ie", true },
   { "harrisonm.com", true },
   { "harrisonswebsites.com", true },
-  { "harrygerritstransport.nl", true },
   { "harrymclaren.co.uk", true },
   { "harrysmallbones.co.uk", true },
   { "harrysqnc.co.uk", true },
   { "harschnitz.nl", false },
+  { "harshee.ml", true },
   { "hartie95.de", true },
   { "hartkampforkids.nl", true },
   { "hartleighclyde.com.au", true },
@@ -23235,8 +24424,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hashcashconsultants.com", true },
   { "hashcat.net", true },
   { "hashemian.com", true },
-  { "hashes.org", true },
   { "hashi.dk", true },
+  { "hashiconf.com", false },
   { "hashicorp.com", false },
   { "hashimah.ca", true },
   { "hashimoto-jimusho.com", true },
@@ -23251,8 +24440,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "haskett.ca", true },
   { "haskovec.com", true },
   { "hasselbach-dellwig.de", true },
+  { "hasseplatslageri.se", true },
   { "hassra.org.uk", true },
-  { "hastaneurunleri.com.tr", true },
+  { "hastyllc.com", true },
   { "hatachan.site", true },
   { "hatarisecurity.co.ke", true },
   { "hatcher.cloud", true },
@@ -23293,9 +24483,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "havetherelationshipyouwant.com", true },
   { "hawaar.com", true },
   { "hawaiianchoice.com", true },
+  { "hawaiiforbernie.com", true },
   { "hawaiioceanproject.com", true },
   { "hawaiiwho.com", true },
   { "hawickvets.co.uk", true },
+  { "hawkargentina.com", true },
   { "hawkeyeinsight.com", true },
   { "hawkinsonkiaparts.com", true },
   { "hawkofgeorgia.com", true },
@@ -23307,39 +24499,47 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "haxo.nl", false },
   { "hayai.space", true },
   { "hayashi-rin.net", true },
+  { "hayden.ru", true },
+  { "haydenbleasel.com", true },
   { "haydenjames.io", true },
   { "hayfordoleary.com", true },
   { "hayl.me.uk", true },
-  { "haynes-davis.com", true },
+  { "haynes-davis.com", false },
   { "hayobethlehem.nl", true },
   { "hayonik.com", true },
   { "haystackrenovation.com.au", true },
   { "hayvid.com", true },
   { "haz.cat", true },
   { "hazelglow.com", true },
+  { "hazelhof.nl", true },
   { "hazeltime.com", true },
   { "hazeover.com", true },
   { "hazmijardin.es", true },
-  { "hazukilab.com", true },
-  { "hb6365.com", true },
   { "hb8522.com", true },
   { "hbaa.ml", true },
   { "hbcm70.fr", true },
   { "hbcu-colleges.com", true },
+  { "hbelectricsolutions.com", true },
   { "hbkonsult.com", true },
   { "hboeck.de", true },
   { "hbpowell.com", true },
   { "hbudd.com", true },
   { "hbweb.io", true },
   { "hcbj.io", true },
-  { "hceu-performance.com", true },
   { "hcie.pl", false },
   { "hcscrusaders.com", true },
+  { "hd-6132.com", true },
   { "hd-gaming.com", true },
   { "hd-iptv.co", true },
   { "hd-offensive.at", false },
   { "hd-only.org", true },
   { "hd-outillage.com", true },
+  { "hd2132.com", true },
+  { "hd5132.com", true },
+  { "hd5414.com", true },
+  { "hd5424.com", true },
+  { "hd6132.com", true },
+  { "hd7337.com", true },
   { "hdbits.org", true },
   { "hdc.cz", true },
   { "hdcenter.cc", true },
@@ -23349,11 +24549,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hdguru.com", true },
   { "hdhoang.space", true },
   { "hdkandsons.com", true },
+  { "hdm.io", true },
   { "hdnastudio.com", true },
   { "hdrsource.com", true },
   { "hdrtranscon.com", true },
   { "hds-lan.de", true },
-  { "hdtwinks.com", true },
   { "hdv.paris", true },
   { "hdwallpapers.net", true },
   { "he.kg", true },
@@ -23364,7 +24564,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "headlinepublishing.be", true },
   { "healike.hk", true },
   { "healingourskin.com", true },
-  { "health-and-beauty-news.net", true },
   { "health-booster.com", false },
   { "health-iq.com.au", true },
   { "health-plan-news.com", true },
@@ -23382,6 +24581,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "healthfinder.gov", true },
   { "healthfoam.com", true },
   { "healthgames.co.uk", true },
+  { "healthiercompany.com", true },
   { "healthiergenerations.co.uk", true },
   { "healthit.gov", true },
   { "healthplansamerica.org", true },
@@ -23390,9 +24590,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "healththoroughfare.com", true },
   { "healthworksmarden.com.au", true },
   { "healthy-map.com", true },
-  { "healthyfitfood.com", true },
   { "healthyhomesofmichigan.com", true },
-  { "healthylifeelite.com", true },
   { "healthypeople.gov", true },
   { "healthyspirituality.org", true },
   { "healthystyle.tk", true },
@@ -23400,6 +24598,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "healthyteame.com", true },
   { "heapkeeper.org", true },
   { "heardcountyathletics.com", true },
+  { "hearfool.cc", true },
   { "hearmeraw.uk", true },
   { "heartbeat24.de", true },
   { "heartbound.wiki", true },
@@ -23412,9 +24611,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heartview.com.br", true },
   { "heartwoodart.com", true },
   { "hearty.eu.org", true },
-  { "hearty.gq", true },
   { "hearty.me", true },
-  { "hearty.ml", true },
   { "hearty.sg", true },
   { "hearty.tw", true },
   { "heartycorp.com", true },
@@ -23422,12 +24619,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heatershop.co.uk", true },
   { "heathersmithcommercial.com", true },
   { "heatingandairconditioningdallastx.com", true },
-  { "heatingpartswarehouse.co.uk", true },
   { "heavensattic.co.uk", true },
   { "heavensinferno.net", true },
   { "heavyequipments.org", true },
   { "hebamme-cranio.ch", true },
+  { "hebamme-ebersberg.de", true },
   { "hebbet.de", true },
+  { "hebel-intern.de", true },
   { "hebikhiv.nl", true },
   { "hebingying.cn", true },
   { "hec-espace-entreprise.ch", false },
@@ -23448,6 +24646,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heello.es", true },
   { "hefengautoparts.com", true },
   { "heftkaufen.de", true },
+  { "hegartymaths.com", true },
+  { "hegdahl.tk", true },
   { "hegen.com.pl", false },
   { "hegen.cz", false },
   { "hegen.sk", false },
@@ -23456,6 +24656,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heha.co", false },
   { "heiaheia.com", true },
   { "heid.ws", true },
+  { "heiden-wir-helfen.de", true },
   { "heidisheroes.org", true },
   { "heighton.com.au", true },
   { "heightselectrical.com.au", true },
@@ -23464,11 +24665,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heijmans.cloud", true },
   { "heijmans.email", true },
   { "heijmans.io", true },
+  { "heijmans.network", true },
+  { "heijmans.one", true },
   { "heijmans.pm", true },
   { "heijmans.xyz", true },
   { "heikegastmann.com", true },
   { "heikohessenkemper.de", true },
-  { "heikorichter.name", true },
   { "heiland.io", true },
   { "heiliger-gral.info", true },
   { "heilpraxis-bgl.de", true },
@@ -23476,9 +24678,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heimdallr.nl", true },
   { "heimonen.eu", true },
   { "heinemeier.dk", true },
+  { "heinenhopman.ro", true },
   { "heino-peters.de", true },
   { "heinpost.nl", false },
-  { "heinrich-kleyer-schule.de", true },
   { "heinzelmann.co", true },
   { "heiraten-gardasee.de", true },
   { "heiraten-venedig.de", true },
@@ -23487,7 +24689,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heitepriem.info", true },
   { "heitland-it.de", true },
   { "heiwa-valve.co.jp", false },
-  { "heka.ai", true },
+  { "hekat.sk", true },
   { "helber-it-services.de", true },
   { "helbreath.tk", true },
   { "helden-spielen.de", true },
@@ -23506,7 +24708,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "helifreak.club", true },
   { "helijobs.net", true },
   { "helikon.ro", true },
-  { "helios4.com", true },
   { "heliosnet.com", true },
   { "heliosvoting.org", true },
   { "helix.am", true },
@@ -23515,31 +24716,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "helkyn.org", true },
   { "hell.sh", true },
   { "hella-secure.com", true },
+  { "hellboundhackers.org", true },
   { "hellenicagora.co.uk", true },
   { "hellenicmusicacademy.com", true },
   { "hellerarko.de", true },
   { "hellersgas.com", true },
-  { "helles-koepfchen.de", true },
   { "helloacm.com", true },
   { "helloafrica.ga", true },
   { "hellobrian.me", true },
   { "hellocyber.co.uk", true },
-  { "hellofrom.com", true },
+  { "hellolocalmedia.com.au", true },
   { "hellomedian.com", true },
   { "hellomookie.com", true },
   { "hellomouse.net", true },
   { "hellosalmon.com", true },
   { "hellovillam.com", true },
   { "helloworldhost.com", false },
-  { "helloyemek.com", true },
   { "hellsgamers.pw", true },
   { "hellsh.com", true },
   { "helm-pokale.at", true },
   { "helm-pokale.de", true },
   { "helm-trophy.com", true },
   { "help.simpletax.ca", true },
+  { "help207.me", true },
   { "helpconnect.com.au", true },
+  { "helpfulhealthinsurance.com", true },
   { "helpkoil.com", true },
+  { "helppc.com.ua", true },
   { "helpscoutdocs.com", true },
   { "helpstarloja.com.br", true },
   { "helptasker.com", true },
@@ -23549,22 +24752,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "helpwithinsomnia.org", false },
   { "helpwithmybank.gov", true },
   { "helsenorge.no", true },
+  { "helseogmassasje.no", true },
   { "helsinki.dating", true },
   { "helvella.de", true },
   { "hematoonkologia.pl", true },
   { "hemdal.se", true },
   { "hemkoll.nu", true },
   { "hemnet.se", true },
-  { "hemp.je", true },
+  { "hemp.je", false },
   { "hems.si", true },
   { "hemtest.com", true },
   { "hen.ne.ke", true },
-  { "hendersonvalleyautomotive.co.nz", true },
-  { "hendranicholas.com", true },
   { "hendric.us", false },
   { "hendrickx.be", true },
   { "hendrik.li", true },
   { "hendrinortier.nl", true },
+  { "heng555.com", true },
   { "hengroenet.de", true },
   { "hengstumone.com", true },
   { "henkboelman.com", true },
@@ -23575,6 +24778,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "henley-computer-repairs.co.uk", true },
   { "henleybouncycastles.co.uk", true },
   { "henlich.de", true },
+  { "hennastories.com", true },
+  { "hennastories.org", true },
   { "hennecke-forstbetrieb.de", true },
   { "henneke.me", true },
   { "hennes-haan.de", true },
@@ -23585,6 +24790,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "henningkerstan.org", true },
   { "hennymerkel.com", true },
   { "henrik-bondtofte.dk", true },
+  { "henrikjuvonen.fi", true },
   { "henrikwelk.de", true },
   { "henrilammers.nl", true },
   { "henry.gg", true },
@@ -23609,6 +24815,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "herbertjanvandinther.nl", true },
   { "herbhuang.com", true },
   { "herbolarigranvida.com", true },
+  { "herbsupplements.co.uk", true },
   { "herbweb.net", true },
   { "herbweb.org", true },
   { "herd-kaufen.com", true },
@@ -23621,7 +24828,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heritagebaptistchurch.com.ph", true },
   { "heritagecoffee.co.uk", true },
   { "herkam.pl", true },
+  { "herkel.email", true },
+  { "herkelmedia.com", true },
+  { "herkelmedia.de", true },
+  { "herlynlingerie.com", true },
   { "hermanbrouwer.nl", true },
+  { "hermes-net.de", true },
   { "herminghaus24.de", true },
   { "hermiu.com", true },
   { "herni-kupony.cz", true },
@@ -23632,11 +24844,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "heroiclove.com", true },
   { "heroicpixel.com", true },
   { "heroku.com", true },
-  { "heroku.ga", true },
   { "heromuster.com", true },
   { "herpes-no.com", true },
   { "herranzramia.com", false },
-  { "herrderzeit.de", true },
   { "herrenmuehle-wein.de", true },
   { "herrfirm.com", true },
   { "herringboneeats.com", true },
@@ -23657,7 +24867,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hesaplama.net", true },
   { "hessen-liebe.de", true },
   { "hesslag.com", true },
-  { "hestervanderheijden.nl", true },
   { "hestia-systeme.be", true },
   { "hestia-systeme.com", true },
   { "hestia-systeme.eu", true },
@@ -23668,6 +24877,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hethely.ch", true },
   { "hetmer.cz", true },
   { "hetushu.com", true },
+  { "hetwalhalla.nl", true },
   { "heute-kaufen.de", true },
   { "heute.training", true },
   { "heutger.net", true },
@@ -23677,9 +24887,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hexapt.com", true },
   { "hexcode.in", true },
   { "hexed.it", true },
-  { "hexhu.com", true },
+  { "hexhu.net", true },
   { "hexiaohu.cn", true },
-  { "hexicurity.com", true },
   { "hexieshe.com", true },
   { "hexo.io", false },
   { "hexony.com", true },
@@ -23689,7 +24898,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hexstream.xyz", true },
   { "hexstreamsoft.com", true },
   { "hexxagon.com", true },
-  { "heyapakabar.com", true },
   { "heyboldface.com", true },
   { "heywood.cloud", true },
   { "hf51.nl", true },
@@ -23704,13 +24912,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hgpowerglue.nl", true },
   { "hguandl.com", true },
   { "hgw168.com", true },
-  { "hgyoseo.com", true },
   { "hh-medic.com", true },
   { "hh-wolke.dedyn.io", true },
   { "hhgdo.de", true },
   { "hhh1080.com", true },
   { "hhhdb.com", true },
   { "hhidr.org", true },
+  { "hhl.de", true },
   { "hhmmmm.de", true },
   { "hhs.gov", true },
   { "hhtoners.com.br", true },
@@ -23719,6 +24927,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hickorywinecellar.com", true },
   { "hicl.org", true },
   { "hicoria.com", true },
+  { "hicts.nl", true },
   { "hiczp.com", true },
   { "hidbo.de", true },
   { "hiddenhillselectric.com", true },
@@ -23731,31 +24940,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hiddenimage.ml", true },
   { "hiddenmalta.net", true },
   { "hiddenpalms.tk", true },
+  { "hide.me", true },
   { "hideallip.com", true },
-  { "hideo54.com", true },
   { "hideouswebsite.com", true },
   { "hidroshop.com.br", true },
   { "hidroshoping.com.br", true },
   { "hieisuki.ga", true },
   { "hielscher.com", true },
+  { "hierer.com", true },
   { "hieu.com.au", true },
   { "hif88.com", true },
+  { "hifala.de", true },
   { "hiffo.de", true },
   { "hifumi.us", true },
   { "hig.gov", true },
   { "higgstools.org", true },
   { "highair.net", true },
-  { "highclasseducation.com", true },
   { "highcorkett.com", true },
   { "highdesertroboticsurgery.com", true },
   { "highenergy.ro", true },
+  { "higherpress.org", true },
+  { "highinthemid80s.com", true },
   { "highkick.jp", true },
   { "highlandparkcog.org", true },
   { "highlegshop.com", true },
   { "highlevelwoodlands.com", true },
-  { "highpressuretech.com", true },
+  { "highriskpay.com", true },
   { "highspeed-arnsberg.de", true },
   { "highspeedinternet.my", true },
+  { "highstreethomes.com.au", true },
   { "hightechreviews.ga", true },
   { "hightimes.com", true },
   { "highwaytohoell.de", true },
@@ -23773,6 +24986,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hilchenba.ch", true },
   { "hildebrand.group", true },
   { "hilden.ws", true },
+  { "hiledge.com", true },
   { "hilfe-bei-krebs-vechta.de", true },
   { "hilfreiche-server.tips", true },
   { "hilhorst-uitvaartverzorging.nl", true },
@@ -23787,9 +25001,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hilltopcellar.com", true },
   { "hilnu.com", true },
   { "hiltonarubabeachservices.com", true },
+  { "hiltonhylandluxurycondos.com", true },
   { "hiltonsydney.com.au", true },
   { "himalaya-masala.at", true },
-  { "himalayanyogashram.com", true },
   { "himecorazon.com", true },
   { "himekomi.com", true },
   { "himiku.com", true },
@@ -23802,12 +25016,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hintergrundbewegung.de", true },
   { "hinterhofbu.de", true },
   { "hinterposemuckel.de", true },
-  { "hinyari.net", true },
   { "hiparish.org", true },
   { "hipeople.com.br", true },
   { "hipercultura.com", true },
+  { "hiperusera.es", true },
   { "hipnos.net", true },
-  { "hippiekiller.net", true },
   { "hippies.com.br", true },
   { "hippomovers.com", true },
   { "hippopotamuses.org", true },
@@ -23819,7 +25032,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hirakatakoyou.org", true },
   { "hirake55.com", true },
   { "hiratake.xyz", true },
-  { "hire-a-coder.de", true },
   { "hireabouncycastle.net", true },
   { "hirel.gq", true },
   { "hiresteve.ca", true },
@@ -23831,35 +25043,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hirotaka.org", true },
   { "hisbrucker.net", true },
   { "hisgifts.com.au", true },
-  { "hisingensck.se", true },
   { "hisnet.de", true },
   { "hispadent.com.do", true },
+  { "hispania-valencia.com", true },
   { "hispanic.dating", true },
   { "hisregistries.com", true },
   { "hisregistries.net", true },
   { "hisregistries.org", true },
   { "histkult.tk", true },
   { "histoire-cite.ch", false },
-  { "histoiresdecontenu.com", true },
+  { "histoiresdecontenu.com", false },
   { "histoiresdemotos.fr", true },
   { "historia-arte.com", true },
   { "historiasdepueblo.es", true },
+  { "historischhout.nl", true },
   { "history-schools.com", true },
   { "history.google.com", false },
   { "history.gov", true },
   { "hitandhealth.nl", true },
   { "hitchpin.com", true },
   { "hitechgr.eu", true },
+  { "hitechnologystore.com", true },
   { "hiteco.com", true },
   { "hiteshchandwani.com", true },
-  { "hiteshjoshi.com", true },
   { "hitflow.fr", true },
+  { "hitflow.net", true },
   { "hitfront.com", true },
   { "hithardnews.com", true },
   { "hititgunesi-tr.com", true },
   { "hitmanstat.us", true },
   { "hitn.at", true },
-  { "hitoapi.cc", true },
+  { "hitoapi.cc", false },
   { "hitocom.net.br", true },
   { "hitokoto-mania.com", true },
   { "hitokoto.cn", false },
@@ -23884,9 +25098,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hizzacked.xxx", true },
   { "hj-mosaiques.be", true },
   { "hj.rs", true },
-  { "hj555.cc", true },
-  { "hj556.cc", true },
   { "hjartasmarta.se", true },
+  { "hjelpemiddeldatabasen.no", true },
   { "hjertingfysioterapi.dk", true },
   { "hjort.land", true },
   { "hjortland.org", true },
@@ -23901,7 +25114,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hkmap.live", true },
   { "hkmap.net", true },
   { "hkr.at", true },
-  { "hks-ffm.de", true },
   { "hks-projekt.at", true },
   { "hks.pw", true },
   { "hktech.com", true },
@@ -23911,9 +25123,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hlavacek.us", true },
   { "hlavi.hu", true },
   { "hledejlevne.cz", true },
+  { "hlegrandbeautysupply.com", true },
   { "hlfh.space", true },
-  { "hlg66.cc", true },
-  { "hlg88.cc", true },
   { "hlinformatics.nl", true },
   { "hloe0xff.ru", true },
   { "hlsmandarincentre.com", true },
@@ -23921,26 +25132,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hlx66.cc", true },
   { "hlx86.cc", true },
   { "hly0928.com", true },
+  { "hlz.mn", true },
   { "hm1ch.com", true },
   { "hm1ch.ovh", true },
-  { "hmeonot.org.il", true },
+  { "hm773.org", true },
   { "hmhotelec.com", false },
   { "hmnd.io", true },
   { "hmoegirl.com", true },
+  { "hmri.org.au", true },
   { "hms-waldmann.de", true },
   { "hmsseahawk.com", true },
   { "hn.search.yahoo.com", false },
-  { "hn122.cc", true },
   { "hn75.de", true },
   { "hnfertilizermachine.com", true },
   { "hnn.net.br", true },
   { "hnonline.sk", true },
   { "hnyp.hu", true },
-  { "ho18.net", true },
   { "ho188.net", true },
   { "ho518.net", true },
   { "ho568.com", true },
-  { "ho68.net", true },
   { "ho918.net", true },
   { "hoaas.no", true },
   { "hoahau.org", true },
@@ -23949,15 +25159,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hoathienthao.vn", true },
   { "hobby-drechselei.de", true },
   { "hobby-freizeit.de", true },
-  { "hobbyspeed.com", true },
   { "hoberg.ch", true },
   { "hochhaus.us", true },
   { "hochoukikikiraku.com", true },
   { "hochyi.com", true },
-  { "hochzeit-dana-laurens.de", true },
   { "hochzeitsfotograf-deinfoto.ch", true },
   { "hochzeitsplanerin-hamburg.de", true },
+  { "hockeyworldwide.com", true },
   { "hodgephotography.com", true },
+  { "hodler.shop", true },
   { "hoe.re", true },
   { "hoeft-autolackierung.de", true },
   { "hoekvanholland.eu", true },
@@ -23969,8 +25179,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hofapp.de", true },
   { "hofauer.de", true },
   { "hoffmancorporation.com", true },
+  { "hoffmann-fliesen-design.de", true },
   { "hoffnungberlin.de", true },
   { "hoffnungdeutschland.de", true },
+  { "hofiprojekt.cz", true },
   { "hoflerlawfirm.com", true },
   { "hofstaetter.io", true },
   { "hogarthdavieslloyd.com", true },
@@ -23980,13 +25192,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hogrebe.de", true },
   { "hogwarts.io", true },
   { "hohenleimbach.de", true },
+  { "hohenpoelz.de", true },
   { "hohm.in", true },
   { "hoiquanadida.com", true },
   { "hoish.in", false },
   { "hoken-wakaru.jp", true },
   { "hokenselect.jp", true },
   { "hokioisecurity.com", true },
-  { "hokung.xyz", true },
+  { "hokusya.com", true },
   { "holacannx.com", true },
   { "holacbdoils.com", true },
   { "holadinero.es", true },
@@ -23994,12 +25207,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "holboxwhalesharktours.com", false },
   { "holdengreene.com", true },
   { "holebedeljek.hu", true },
-  { "holenergies.com", true },
-  { "holenergies.fr", true },
-  { "holgerlehner.com", true },
   { "holidayacademy.co.uk", true },
   { "holidaylocal.ga", true },
-  { "holidaypackage.co", true },
   { "holidaysportugal.eu", true },
   { "holisticacupuncture.com.au", true },
   { "holistichealer.in", true },
@@ -24012,6 +25221,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hollyforrest.ca", true },
   { "hollyforrestphotography.ca", true },
   { "hollywoodstars.tk", true },
+  { "hollywoodsurvey.org", true },
   { "holmesian.org", true },
   { "holo.ovh", true },
   { "holofono.com", true },
@@ -24020,7 +25230,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "holtackersleather.be", true },
   { "holtslander.ca", true },
   { "holunderbluetentee.de", true },
-  { "holundersberg.de", true },
   { "holvonix.com", true },
   { "holycrossphl.org", true },
   { "holycrossverobeach.org", true },
@@ -24038,7 +25247,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "holytransaction.com", true },
   { "holywhite.com", true },
   { "holz.nu", true },
-  { "holzed.com", true },
   { "holzheizer-forum.de", true },
   { "holzheizerforum.de", true },
   { "holzschutz-holzbearbeitung.de", true },
@@ -24048,16 +25256,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "holzvergaser-forum.de", true },
   { "homatism.com", true },
   { "hombresconestilo.com", true },
-  { "home-sud-renovation.com", true },
+  { "home-sud-renovation.com", false },
   { "homeable.io", true },
   { "homeandliving.it", true },
   { "homebank.kg", true },
   { "homebasedsalons.com.au", true },
-  { "homebodyalberta.com", true },
+  { "homebrewshop.be", true },
   { "homecareassociatespa.com", true },
   { "homecareinterio.com", true },
   { "homecaring.com.au", true },
   { "homecheck.gr", true },
+  { "homedentist.cl", true },
   { "homeehome.com", true },
   { "homegardeningforum.com", true },
   { "homegardenresort.nl", true },
@@ -24066,13 +25275,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "homeimagician.com.au", true },
   { "homelab.farm", true },
   { "homelabalert.com", true },
-  { "homelabquotes.com", true },
   { "homeland.ie", true },
+  { "homemdeferro.net", true },
   { "homeodynamics.com", true },
   { "homeoesp.org", true },
   { "homeogenium.com", false },
-  { "homeownersinsurancenevada.com", true },
-  { "homeownersinsurancenv.com", true },
   { "homepage.shiga.jp", true },
   { "homeporn.stream", true },
   { "homeportal.cz", true },
@@ -24100,26 +25307,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "honey.is", true },
   { "honeybadger.io", false },
   { "honeybrooklibrary.org", true },
+  { "honeycomb.com.vn", true },
   { "honeycome.net", true },
   { "honeycreeper.com", true },
   { "honeyhaw.com", true },
-  { "honeymaze.com", true },
   { "honeypot.net", true },
+  { "honeyspot.de", true },
   { "hong.io", true },
   { "hongbomiao.com", true },
   { "hongki.tk", true },
-  { "honglitrading.co.uk", true },
   { "hongoi.com", true },
   { "hongorw.tk", true },
   { "hongosdemexico.tk", true },
+  { "honkion.net", true },
   { "honoka-seitai.jp", true },
   { "honovere.de", true },
   { "hontoir.eu", true },
   { "hoofdredacteuren.nl", true },
   { "hoogeveen.nl", false },
-  { "hookany.com", true },
+  { "hooghiemstrazelf.nl", true },
   { "hookbin.com", true },
   { "hookshotdesign.com", true },
+  { "hookupndate.com", true },
   { "hookxlab.org", false },
   { "hoon.tk", true },
   { "hoooc.com", true },
@@ -24127,10 +25336,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hoop.la", true },
   { "hoopertechnicalsolutions.com", true },
   { "hooplessinseattle.com", true },
+  { "hoopshabit.com", true },
   { "hooray.beer", true },
+  { "hoorig.de", true },
   { "hoorr.com", true },
-  { "hoosa.de", true },
-  { "hoovism.com", true },
   { "hoowhen.cn", true },
   { "hopconseils.ch", false },
   { "hopconseils.com", false },
@@ -24150,7 +25359,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "horairetrain.ch", true },
   { "horairetrain.fr", true },
   { "horairetrain.lu", true },
-  { "horairetrain.nl", true },
   { "horclan.tk", true },
   { "hord.ca", true },
   { "horecaapparatuurkobezuijen.nl", true },
@@ -24168,13 +25376,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "horochx.org", true },
   { "horodance.dk", true },
   { "horrell.ca", true },
-  { "horrendous-servers.com", true },
   { "horror-forum.de", true },
   { "horrormovies.gr", true },
-  { "horsegateway.com", true },
   { "horsehunter.co.uk", true },
   { "horsky.me", true },
   { "horstmanshof.eu", true },
+  { "horti-it.com", true },
   { "horton-brasses.com", true },
   { "hory.me", true },
   { "horza.org", true },
@@ -24186,7 +25393,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hosiet.me", true },
   { "hosmussynergie.nl", false },
   { "hosoi-tax.com", true },
-  { "hospeda1.com.br", true },
   { "hospitalhomelottery.org", true },
   { "hospitality-colleges.com", true },
   { "hostadvice.com", true },
@@ -24194,6 +25400,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hostco.nl", true },
   { "hostcoz.com", true },
   { "hosteasy.nl", false },
+  { "hostedghost.eu", true },
+  { "hostedghost.net", true },
+  { "hostedghost.nl", true },
   { "hostedtalkgadget.google.com", true },
   { "hosteleriauno.es", true },
   { "hosteons.com", true },
@@ -24211,27 +25420,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hostingphp.ch", true },
   { "hostingpunt.be", true },
   { "hostingsolutions.cz", true },
-  { "hostingsrv.nl", true },
   { "hostix.de", true },
-  { "hostmark.pl", true },
-  { "hostme.co.il", false },
+  { "hostme.co.il", true },
   { "hostmijnpagina.nl", true },
   { "hostmodern.com.au", true },
   { "hostmywebsite.online", true },
+  { "hostpoint.ch", true },
+  { "hostwinds.com", true },
   { "hosuronline.com", true },
   { "hot-spa.ch", false },
-  { "hotartup.com", true },
   { "hotcandlestick.com", true },
   { "hotchillibox.com", true },
   { "hotcoin.io", true },
+  { "hotdates18.com.au", true },
+  { "hotdates18.fi", true },
   { "hotel-alan.hr", true },
   { "hotel-kontorhaus-stralsund.de", true },
   { "hotel-kontorhaus.de", true },
   { "hotel-le-vaisseau.ch", true },
-  { "hotel-pension-sonnalp.eu", true },
   { "hotel-rosner.at", true },
   { "hotel-schiller.de", true },
-  { "hotel1926.com.mt", true },
   { "hotelamgarnmarkt.at", false },
   { "hotelbonacabol.com", true },
   { "hotelbretagne.dk", true },
@@ -24241,13 +25449,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hotelcorporatecodes.com", true },
   { "hotelelaphusabrac.com", true },
   { "hoteles4you.com", true },
+  { "hotelesenpuertoescondido.com", true },
+  { "hotelevergrandpalace.in", true },
   { "hotelevershine.com", true },
   { "hotelflow.com.br", true },
   { "hotelident.de", true },
   { "hotelindraprasth.biz", true },
   { "hotelkaj.hr", true },
-  { "hotellerssolutions.com", true },
-  { "hotellilas.in", true },
   { "hotelmap.com", true },
   { "hotelmarinaadria.com", true },
   { "hotelmonal.in", true },
@@ -24268,6 +25476,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hotelstanford.com.co", true },
   { "hotelvalena.com", true },
   { "hotelvillaluisa.de", true },
+  { "hotesb.com", true },
   { "hothbricks.com", false },
   { "hotjuice.com", true },
   { "hotmann.de", true },
@@ -24275,16 +25484,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hoton.in", true },
   { "hotornot.com", true },
   { "hotplate.co.nz", true },
-  { "hotplug.gr", true },
+  { "hotrowordpress.com", true },
   { "hottaro.com", true },
   { "hottheme.net", true },
   { "hotting.nl", true },
-  { "hottubhirenewcastle.co.uk", true },
   { "hottubspasnewcastle.co.uk", true },
   { "hotvideosgalleries.com", true },
   { "houby-studio.eu", true },
   { "houhuayuan.com", true },
   { "houraiteahouse.net", true },
+  { "house-scape.com", true },
   { "house-sparrow.com", true },
   { "houseandgarden.co.uk", true },
   { "houseboydesigns.com", true },
@@ -24293,38 +25502,43 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "houseofherbs.gr", true },
   { "houseofhouston.com", true },
   { "houseofpertijs.com", true },
-  { "houseofyee.com", true },
   { "houser.lu", true },
   { "housese.at", true },
+  { "housingloan.jp", true },
   { "housingneedz.com", true },
   { "houstonapartmentinsiders.com", true },
   { "houstonauthorizedrepair.com", true },
-  { "houstoncreditlaw.com", true },
   { "houstonendodontics.com", true },
   { "houstongaragedoorsrepair.com", true },
   { "houstonlockout.com", true },
   { "houtinee.com", true },
   { "hoverboardbarato.com", true },
+  { "how-old.info", true },
   { "how-to-simply.com", true },
   { "how2dev.tools", true },
   { "howa-n.net", true },
   { "howbehealthy.com", true },
-  { "howbigismybuilding.com", true },
   { "howellaccounts.co.uk", true },
   { "howgoodwasmysex.com", true },
   { "howieisawesome.com", true },
   { "howlongtobeatsteam.com", true },
+  { "howmanymilesfrom.com", true },
   { "howmanypeoplearethereinthe.world", true },
   { "howmanypeoplearethereintheworld.com", true },
+  { "howonce.cn", true },
+  { "howonce.com", true },
+  { "howonce.com.cn", true },
+  { "howonce.net", true },
+  { "howonce.org", true },
   { "howsecureismypassword.net", true },
   { "howsmyssl.com", true },
   { "howsmytls.com", true },
-  { "howson.me", true },
   { "howsyourhealth.org", true },
   { "howtogeek.com", true },
   { "howtogosolar.org", true },
   { "howtolaser.com", true },
   { "howtomovetheneedle.com", true },
+  { "howtorunfasterandlonger.com", true },
   { "howtoteachviolin.com", true },
   { "howtotech.de", true },
   { "howtutu.click", true },
@@ -24337,11 +25551,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "howtutu.org", true },
   { "hoxo.fr", true },
   { "hozana.si", false },
+  { "hp-lexicon.org", true },
   { "hp-work.net", true },
   { "hp42.de", true },
   { "hpac-portal.com", true },
   { "hpage.com", true },
   { "hpbn.co", true },
+  { "hpic.net", true },
   { "hpisavageforum.com", true },
   { "hpkp-faq.de", true },
   { "hplace.com.br", true },
@@ -24352,8 +25568,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hq77.ru", true },
   { "hqon.com.br", true },
   { "hqq.tv", true },
+  { "hqsmartpanel.com", true },
   { "hquest.pro.br", true },
-  { "hqwebhosting.tk", false },
   { "hqy.moe", true },
   { "hr-praemien-santander.de", true },
   { "hr-tech.shop", true },
@@ -24369,7 +25585,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hrdns.de", false },
   { "hrebecek.cz", true },
   { "href.one", true },
-  { "hreflang.info", true },
   { "hrjfeedstock.org", true },
   { "hrltech.com.br", true },
   { "hrmg.agency", true },
@@ -24391,6 +25606,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hschen.top", false },
   { "hscorp.de", true },
   { "hsg-kreuzberg.de", true },
+  { "hsimrall.com", true },
   { "hsivonen.com", true },
   { "hsivonen.fi", true },
   { "hsivonen.iki.fi", true },
@@ -24409,8 +25625,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hstspreload.com", true },
   { "hstspreload.de", true },
   { "hstspreload.org", true },
+  { "hstudio.tk", true },
   { "hsturan.com", true },
-  { "hsuan.pw", true },
   { "hszemi.de", true },
   { "ht.mk", true },
   { "htaccessbook.com", true },
@@ -24422,7 +25638,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hte.ovh", true },
   { "hti.digital", true },
   { "htmanager.fr", true },
-  { "htmdom.com", true },
   { "html.moe", true },
   { "html5.org", true },
   { "html5media.info", true },
@@ -24430,16 +25645,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "htmlvalidator.com", true },
   { "htmlyse.com", true },
   { "htsure.ma", false },
+  { "http-2.com", true },
   { "http2.eu", true },
   { "http2.pro", true },
+  { "http3.ch", true },
   { "http3.pro", true },
   { "https-rulesets.org", true },
   { "https.dk", true },
   { "https.jetzt", true },
   { "https4all.org", true },
-  { "httpsarnemergan.ml", true },
   { "httpsecured.net", true },
-  { "httpsecurityreport.com", true },
   { "httpsiseasy.com", true },
   { "httpsispisseasy.com", true },
   { "httpsnow.com", true },
@@ -24451,16 +25666,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "httpswatch.com", true },
   { "httpswatch.eu", true },
   { "httpswatch.nl", true },
-  { "htxlaunch.sg", true },
   { "hu-a-u.com", true },
   { "hu.search.yahoo.com", false },
   { "hua-chuan.com.tw", true },
   { "hua-chuan.tw", true },
+  { "hua-in.com", true },
+  { "hua-in.net", true },
+  { "hua-li88.com", true },
+  { "hua-li88.net", true },
   { "huabantxt.com", true },
   { "huabanxs.com", true },
   { "huabianwa.com", true },
   { "huagati.com", true },
   { "huahinpropertylisting.com", true },
+  { "huai123.org", true },
   { "huang-haitao.com", true },
   { "huang.nu", true },
   { "huangh.com", true },
@@ -24470,7 +25689,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "huangzenghao.cn", true },
   { "huaqian.art", true },
   { "huashan.co.uk", true },
-  { "huawenyy.com", true },
   { "huaxingui.com", true },
   { "huaxueba.com", true },
   { "hub.org.ua", true },
@@ -24483,15 +25701,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hubchain.org", true },
   { "huber-informatik.de", true },
   { "hubitt.com", true },
-  { "hubok.net", true },
   { "hubspot.com", true },
   { "hubspot.de", true },
   { "hubspot.es", true },
   { "hubspot.fr", true },
   { "hubspot.jp", true },
   { "huchet.me", true },
+  { "hudebnibazarmixer.cz", true },
   { "hudobniny.net", true },
-  { "hudognik.com", true },
   { "hudrydum.cz", true },
   { "hudsonfaceandeye.com", true },
   { "huduser.gov", true },
@@ -24502,18 +25719,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hugi.is", true },
   { "huglen.info", true },
   { "hugo.pro", true },
-  { "hugofs.com", true },
   { "hugolegrand.fr", true },
   { "hugolynx.fr", false },
   { "hugonote.cf", true },
   { "hugonote.ga", true },
   { "hugonote.gq", true },
   { "hugonote.ml", true },
+  { "hugonote.ovh", true },
   { "hugonote.tk", true },
   { "huguesblanchard.paris", true },
   { "huguesditciles.com", false },
   { "huh.gdn", true },
   { "huh.today", false },
+  { "hui-in.com", true },
+  { "hui-in.net", true },
   { "huihui.moe", true },
   { "huimiquan.com", true },
   { "huininga.com", true },
@@ -24521,6 +25740,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "huininga.org", true },
   { "huipc.com", true },
   { "huirongis.me", true },
+  { "huisartsen-ict.nl", true },
   { "huisartsenpraktijkheemraadssingel.nl", true },
   { "huisartsenpraktijksonmezer.nl", true },
   { "huisartsenpraktijkzonnehoed.nl", true },
@@ -24544,7 +25764,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "humanity.com", true },
   { "humaniza.com.mx", true },
   { "humanlocation.net", true },
-  { "humans.io", true },
+  { "humans.io", false },
+  { "humansense.nl", true },
   { "humanzee.com", true },
   { "humass.nl", true },
   { "humblebee.at", true },
@@ -24568,11 +25789,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "humbledot.com", true },
   { "humboldthomeguide.com", true },
   { "humboldtmfg.com", true },
-  { "humdingersnj.com", true },
   { "humeur.de", true },
   { "humexe.com", true },
   { "humio.com", true },
-  { "hummingbird.services", true },
+  { "humitat-stop.com", true },
   { "hummy.tv", true },
   { "humpchies.com", true },
   { "humpen.se", true },
@@ -24583,9 +25803,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hundter.com", true },
   { "hunger.im", true },
   { "huniverse.co", true },
-  { "hunngard.com", true },
   { "hunqz.com", true },
   { "hunstoncanoeclub.co.uk", true },
+  { "hunt.gs", true },
   { "huntcraft.ru", true },
   { "hunter-read.com", true },
   { "hunter.io", true },
@@ -24597,16 +25817,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "huntshomeinspections.com", false },
   { "huntsmansecurity.com", true },
   { "huntsvillecottage.ca", true },
+  { "huntyourshitaround.com", true },
   { "huoduan.com", true },
   { "huonit.com.au", true },
-  { "huoqibaike.club", true },
   { "huotuyouxi.com", true },
   { "huoyankan.com", true },
   { "hup.hu", false },
+  { "huracanvillegas.com", true },
   { "hurbascooter.com", true },
   { "hurd.is", true },
   { "hurleyhomestead.com", true },
-  { "huroji.com", true },
+  { "huroji.com", false },
   { "hurricanelabs.com", true },
   { "hurtigtinternet.dk", true },
   { "husakbau.at", true },
@@ -24642,15 +25863,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hwx8.com", true },
   { "hwxvip.com", true },
   { "hx53.de", true },
-  { "hx56.cc", true },
-  { "hx678.cc", true },
   { "hx77.cc", true },
-  { "hx789.cc", true },
   { "hxp.io", true },
-  { "hxying.com", true },
   { "hy88win.com", true },
   { "hyatt.com", true },
-  { "hybridragon.net", true },
   { "hybridworx.com", true },
   { "hybridworx.de", true },
   { "hybridworx.eu", true },
@@ -24662,6 +25878,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hyckenberg.com", true },
   { "hyderabadonlinegifts.com", true },
   { "hydrante.ch", false },
+  { "hydrazin.pw", true },
   { "hydro17.com", true },
   { "hydrographicsocietybenelux.eu", true },
   { "hydroponicglobal.com.au", true },
@@ -24690,9 +25907,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hyper-text.org", true },
   { "hyper.ai", true },
   { "hyper.lol", true },
-  { "hyperactive.am", true },
   { "hyperalgesia.com", true },
-  { "hyperautomotive.com.au", true },
   { "hyperd.sh", true },
   { "hyperion.io", true },
   { "hyperreal.biz", true },
@@ -24700,6 +25915,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hyperstack.org", true },
   { "hyperthymia.com", true },
   { "hyperv.fr", true },
+  { "hypnose-hennigsdorf.de", true },
   { "hypnovir.us", true },
   { "hypolineweb.de", true },
   { "hypotecnicentrum.cz", true },
@@ -24708,19 +25924,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "hypotheekbond.nl", true },
   { "hypothes.is", true },
   { "hypothyroidmom.com", true },
-  { "hyr.mn", true },
+  { "hyr.mn", false },
+  { "hysemmarket.com", true },
   { "hysh.jp", true },
   { "hysolate.com", true },
   { "hytale.com", true },
   { "hytopcp168.com", true },
   { "hyundai.no", true },
+  { "hyundaisrilanka.lk", true },
   { "hyvanilmankampaamo.fi", true },
   { "hyvinvointineuvoja.fi", true },
   { "hyyen.com", true },
   { "hztgzz.com", true },
   { "i--b.com", true },
   { "i-0v0.in", true },
-  { "i-fastnet.net", true },
+  { "i-connect.ie", true },
   { "i-geld.de", true },
   { "i-house.gq", true },
   { "i-hoz.ru", true },
@@ -24729,25 +25947,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "i-make.fr", true },
   { "i-meto.com", true },
   { "i-office.com.vn", true },
-  { "i-pinged-everyone.today", true },
   { "i-proswiss.com", false },
   { "i-red.info", true },
   { "i-sports.cz", true },
-  { "i-telligence.de", true },
   { "i-verbi.it", true },
   { "i-voting.pl", true },
   { "i00.eu", true },
+  { "i0day.com", true },
   { "i1314.gdn", true },
-  { "i2b.ro", true },
+  { "i2gether.org.uk", true },
   { "i2verify.com", true },
   { "i36533.com", true },
   { "i36594.com", true },
-  { "i4m1k0su.com", true },
   { "i51365.com", true },
   { "i5y.co.uk", true },
   { "i5y.org", true },
+  { "i7.io", true },
   { "i7sas.tk", true },
-  { "i81818.com", true },
   { "i879.com", true },
   { "i95.me", false },
   { "i9s.in", true },
@@ -24772,7 +25988,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iamhansen.xyz", true },
   { "iamhealthystore.com", true },
   { "iamjoshellis.com", true },
-  { "iamlbk.com", true },
   { "iamlife.com", true },
   { "iamlizu.com", true },
   { "iamtheib.me", true },
@@ -24780,6 +25995,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iamusingtheinter.net", false },
   { "iamwill.io", true },
   { "iamwoodbeard.com", true },
+  { "ian678.com", true },
+  { "ian678.tk", true },
   { "ianbrault.com", true },
   { "iancu.io", true },
   { "iancu.me", true },
@@ -24793,21 +26010,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ianmoriarty.com.au", true },
   { "iansyst.co.uk", true },
   { "ianwalsh.org", false },
-  { "iap.network", true },
+  { "iap.network", false },
   { "ias-gruppe.net", true },
+  { "ias.ua", true },
   { "iassess.eu", true },
   { "iatfei.com", true },
   { "iautodily.cz", true },
   { "iavian.com", true },
-  { "iba.community", true },
+  { "iba.gov.au", true },
   { "ibacktraced.it", true },
+  { "ibadboy.net", true },
   { "ibaq.nl", true },
   { "ibauruapan.com.mx", true },
   { "ibavaro.com", true },
   { "ibb.co", true },
   { "ibcl.us", true },
+  { "ibcmed.com", true },
+  { "ibcmed.net", true },
   { "ibcmed.org", true },
-  { "ibe.de", true },
+  { "ibe.de", false },
   { "ibeep.com", true },
   { "iberiaversicherungen.com", true },
   { "ibericaderedes.es", true },
@@ -24815,7 +26036,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ibericarcuzco.es", true },
   { "ibericarcuzcomini.es", true },
   { "ibericarformula.es", true },
-  { "ibericargestoso.es", true },
   { "ibericarmotors.es", true },
   { "ibericarmotorsmalaga.es", true },
   { "ibericarmovilcentro.es", true },
@@ -24825,15 +26045,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iberion.pl", true },
   { "ibestproduct.com", true },
   { "ibestreview.com", true },
+  { "ibex-lb.com", true },
   { "ibexcore.com", true },
   { "ibhgospel.com", true },
   { "ibi.mt", true },
   { "ibidyoupeace.com", true },
   { "ibigawamizueco.com", true },
+  { "ibiki-boushi-makura.net", true },
   { "ibin.co", true },
   { "ibiz.mk", true },
   { "iblackfriday.ro", true },
   { "ibloggospel.com", true },
+  { "iblowdry.com", true },
   { "ibodyiq.com", true },
   { "ibps-recruitment.in", true },
   { "ibrainmedicine.org", true },
@@ -24844,26 +26067,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ibwc.gov", true },
   { "ibykos.com", true },
   { "ic-lighting.com.au", true },
+  { "ic1technologies.com", true },
   { "ic3.gov", true },
   { "icafecash.com", true },
   { "icanhas.report", true },
   { "icanhasht.ml", true },
   { "icanhazpass.com", true },
   { "icarlos.net", true },
+  { "icc.kharkov.ua", true },
   { "iccorporateinteriors.com.au", true },
   { "iccpublisher.com", true },
   { "icdp.org.ua", true },
   { "ice.xyz", true },
   { "iceandfiremechanical.com", true },
   { "iceberg.academy", false },
-  { "icecars.net", true },
+  { "icebound.cc", true },
   { "icecontrol.ro", true },
   { "icecutethings.com", true },
-  { "icedream.tech", true },
   { "icelandic.cf", true },
   { "icelandicasian.com", true },
   { "icetiger.eu", true },
   { "icetravellers.com", true },
+  { "icetwister.com", true },
   { "icewoman.net", true },
   { "ich-hab-die-schnauze-voll-von-der-suche-nach-ner-kurzen-domain.de", true },
   { "ich-tanke.de", true },
@@ -24871,9 +26096,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ichasco.com", true },
   { "ichbinein.org", true },
   { "ichbinkeinreh.de", true },
+  { "ichinghero.com", true },
   { "ichitaso.com", true },
   { "iclinic.ua", true },
-  { "icloud.st", true },
   { "icmhd.ch", false },
   { "icmp2018.org", true },
   { "icmshoptrend.com", true },
@@ -24882,10 +26107,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "icoh.it", true },
   { "iconomi.net", true },
   { "icpc.pp.ua", true },
-  { "icsfinomornasco.gov.it", true },
-  { "ict-concept.nl", true },
+  { "icq-project.net", true },
   { "ict-crew.nl", true },
-  { "ict-helpteam.nl", true },
   { "ict-radar.com", true },
   { "ict-radar.nl", true },
   { "ictbaneninnederland.nl", true },
@@ -24895,10 +26118,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ictoniolopisa.it", true },
   { "ictradar.com", true },
   { "ictussistemas.com.br", true },
+  { "ictvanafmorgen.nl", true },
   { "icy.aq", true },
   { "icyapril.com", true },
   { "icymint.me", true },
   { "icynet.eu", true },
+  { "icyrock.com", true },
   { "iczc.cz", true },
   { "id-blog.ch", false },
   { "id.atlassian.com", false },
@@ -24911,9 +26136,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "idarv.com", true },
   { "idaspis.com", true },
   { "idatha.de", true },
-  { "idconsult.nl", true },
-  { "iddconnect.com", true },
-  { "iddconnect.org", true },
+  { "idblab.tk", true },
   { "iddns.net", true },
   { "ideageek.net", true },
   { "ideal-envelopes.co.uk", false },
@@ -24925,6 +26148,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "idealtruss.com", true },
   { "idealtruss.com.tw", true },
   { "idealwhite.space", true },
+  { "ideamiapublicidad.com", true },
   { "ideashop.com", true },
   { "ideatarmac.com", true },
   { "ideaweb.de", true },
@@ -24939,7 +26163,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ident-clinic.be", true },
   { "identassist.com", true },
   { "identigraf.center", true },
-  { "identity.plus", true },
+  { "identityexperts.co.uk", true },
   { "identitytheft.gov", true },
   { "idered.net", true },
   { "idesoft.cloud", true },
@@ -24954,12 +26178,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "idgateway.co.uk", true },
   { "idhosts.co.id", true },
   { "idkidknow.com", true },
-  { "idleleo.com", true },
   { "idlethoughtsandramblings.com", true },
   { "idlewildflowers.com", true },
   { "idmanagement.gov", true },
   { "idmobile.co.uk", true },
-  { "idndx.com", true },
   { "idoc24.com", true },
   { "idodiandina.com", true },
   { "idolf.dk", true },
@@ -24997,8 +26219,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ies911.com", true },
   { "iesonline.co.in", true },
   { "ieval.ro", true },
+  { "ievgenialehner.com", true },
   { "iexpert99.com", true },
   { "ifacservice.be", true },
+  { "ifamily.top", false },
   { "ifan.ws", true },
   { "ifbagro.in", true },
   { "ifconfig.se", true },
@@ -25012,7 +26236,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ifiveglobal.com", true },
   { "ifixe.ch", false },
   { "iflyi.me", true },
-  { "ifma.edu.br", true },
   { "ifoa.it", true },
   { "ifolder.ga", true },
   { "ifort.fr", true },
@@ -25042,13 +26265,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "igiftcards.nl", true },
   { "igimusic.com", false },
   { "igk.nz", true },
+  { "igkabel.cf", true },
+  { "igkabel.ga", true },
+  { "igkabel.gq", true },
+  { "igkabel.ml", true },
+  { "igkabel.tk", true },
   { "iglobus.cz", true },
   { "iglosujemy.pl", true },
   { "igmus.org", true },
+  { "ignace72.eu", true },
   { "ignacjanskiednimlodziezy.pl", true },
   { "ignat-mag.com", true },
-  { "ignat.by", true },
   { "ignatij.tk", true },
+  { "ignation.me", true },
   { "ignatovich.by", true },
   { "ignatovich.me", true },
   { "ignet.gov", true },
@@ -25062,9 +26291,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "igotoffer.com", false },
   { "igramfollower.com", true },
   { "igramming.com", true },
-  { "igrarium.com.ua", true },
+  { "igrarium.com.ua", false },
   { "igrivi.com", true },
   { "iguana.com.ec", false },
+  { "igva.or.kr", true },
   { "ih8sn0w.com", true },
   { "iha6.com", true },
   { "ihacker.cn", true },
@@ -25077,11 +26307,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ihkk.net", true },
   { "ihls.stream", true },
   { "ihmphila.org", true },
+  { "ihoey.com", true },
   { "ihollaback.org", true },
   { "ihorizon.jp", true },
   { "ihostup.net", true },
   { "ihotel.io", true },
   { "ihre-pflege-sachsen.de", true },
+  { "ihredls.de", true },
   { "ihrhost.com", true },
   { "ihtdenisjaccard.com", true },
   { "ihuan.me", true },
@@ -25089,19 +26321,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ii918.com", true },
   { "iiax.net", true },
   { "iiax.org", true },
+  { "iic.kharkov.ua", true },
+  { "iiet.pl", true },
   { "iiit.pl", true },
+  { "iikd.de", true },
   { "iimarckus.org", true },
+  { "iin.fm", true },
   { "iinf.in", true },
   { "iinfin.org", true },
   { "iinix.com", true },
   { "iiong.com", true },
-  { "iisjy.cn", true },
   { "iitowns.ir", true },
   { "iix.se", true },
-  { "iiyama-bg.com", true },
   { "ijazjewelers.com", true },
   { "ijinus.com", true },
   { "ijm.io", true },
+  { "ijnokmpl.cf", true },
   { "ijohan.nl", true },
   { "ijsbaanwitten.nl", true },
   { "ijsblokjesvormen.nl", true },
@@ -25119,7 +26354,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ikedaquotes.org", true },
   { "ikespta.com", true },
   { "ikeyless.com", true },
-  { "iki4you.com", true },
+  { "ikfloreer.nu", true },
   { "ikigaiweb.com", true },
   { "ikiler.com", true },
   { "ikinokori-marketing.com", true },
@@ -25133,11 +26368,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iknet.top", true },
   { "ikparis.com", true },
   { "ikraenglish.com", false },
+  { "iksi.cc", true },
+  { "ikud-seminare.de", true },
+  { "ikud.de", true },
   { "ikulist.me", true },
   { "ikvts.de", true },
   { "ikwilthepiratebay.org", true },
   { "ikx.me", true },
   { "ila.fi", true },
+  { "ilab.health", true },
   { "ilacrehberi.com", true },
   { "ilamparas.at", true },
   { "ilamparas.co.uk", true },
@@ -25147,6 +26386,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ilamparas.mx", true },
   { "ilard.fr", true },
   { "ilazycat.com", true },
+  { "ilbiscottificiodipamparato.it", true },
   { "ilc510.com", true },
   { "ilc518.com", true },
   { "ilc519.com", true },
@@ -25159,14 +26399,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ilc583.com", true },
   { "ilc588.com", true },
   { "ilc66.com", true },
-  { "ilc666.com", true },
   { "ilc999.com", true },
+  { "ilctucson.com", true },
   { "ildomani.it", true },
   { "ile-kalorii.pl", true },
   { "ile-sapporo.jp", true },
   { "ilektronika-farmakeia-online.gr", true },
   { "ilemonrain.com", true },
+  { "iletisimmakinesi.com", true },
   { "ilformichiere.com", true },
+  { "ilfumoshop.ru", true },
   { "ilg.ink", true },
   { "ilgiornaledelticino.ch", true },
   { "ilhan.name", true },
@@ -25180,10 +26422,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iligang.xin", true },
   { "iliz-kafe.fr", true },
   { "ilkeakyildiz.com", false },
-  { "illaadventure.com", true },
   { "illambias.ch", false },
   { "illange.info", true },
-  { "illative.net", true },
+  { "illavobuempliz.ch", true },
   { "illegalpornography.com", true },
   { "illegalpornography.me", true },
   { "illerzell.de", true },
@@ -25194,7 +26435,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "illorenese.fr", true },
   { "illsley.org", true },
   { "illumed.net", true },
+  { "illuminatiofficial.vip", true },
   { "illuminationis.com", true },
+  { "illuminatisocietyworldwide.org", true },
   { "illusionephemere.com", false },
   { "illusionunlimited.com", true },
   { "illustrate.biz", true },
@@ -25213,7 +26456,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ilove918.com", true },
   { "iloveherb.ru", true },
   { "ilovelwy.com", true },
-  { "ilovequiz.ru", true },
+  { "ilovemychi.com", true },
   { "ilovesamara.tk", true },
   { "ilovestickers.gr", true },
   { "ilovethiscampsite.com", true },
@@ -25236,12 +26479,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "im66.net", true },
   { "imacs.org", true },
   { "image-drive.de", true },
+  { "image.hosting", true },
   { "image.tf", false },
   { "imagebin.ca", true },
   { "imagecurl.com", true },
   { "imagecurl.org", true },
   { "imagefu.com", true },
   { "imagerive.ch", false },
+  { "imageshare.web.id", true },
+  { "imagevillage.ir", true },
   { "imaginair.es", true },
   { "imaginary.ca", true },
   { "imaginary.stream", true },
@@ -25255,11 +26501,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "imanesdeviaje.com", true },
   { "imanolbarba.net", true },
   { "imap2imap.de", true },
-  { "imarkethost.co.uk", true },
+  { "imaple.org", true },
   { "imawhale.com", true },
-  { "imbiancatura.milano.it", true },
+  { "imaxinaria.org", true },
+  { "imbdagency.com", true },
   { "imbianchino.roma.it", true },
   { "imcassociation.com", true },
+  { "imcreative.ro", true },
   { "imcsi.cn", true },
   { "imcsx.co", true },
   { "imdemos.com", true },
@@ -25268,7 +26516,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "imed.com.pt", true },
   { "imed.pt", true },
   { "imedes.de", true },
-  { "imedia.com.sg", false },
+  { "imedia.com.sg", true },
   { "imediafly.com", true },
   { "imedikament.de", true },
   { "imeds.pl", true },
@@ -25278,16 +26526,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "img.mg", true },
   { "img.ovh", true },
   { "img.ren", true },
-  { "imga.ch", true },
   { "imgaa.com", true },
   { "imgal.vin", true },
   { "imgbb.com", true },
+  { "imgbu.com", true },
   { "imgg.es", true },
+  { "imgul.net", true },
   { "imgup.co", true },
   { "imguploaden.nl", true },
+  { "imgx.eu.org", true },
   { "imhua.com", true },
   { "imi-rhapsody.eu", false },
-  { "imiix.mx", true },
   { "iminshell.com", false },
   { "imirhil.fr", true },
   { "imisa.com.mx", true },
@@ -25295,16 +26544,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "imjad.cn", true },
   { "imjo.in", true },
   { "imjustcreative.com", true },
-  { "imkerei-contento.de", true },
+  { "imkerei-contento.de", false },
   { "imkerei-freilinger.de", false },
-  { "imkereicontento.de", true },
+  { "imkereicontento.de", false },
   { "imkerverein-moenchswald.de", true },
   { "imkerverenigingzaanstreek.nl", true },
   { "imkindofabigdeal.com", true },
   { "imlec.net", true },
+  { "imlhx.com", true },
+  { "immanuellutheranmedia.org", true },
   { "immaterium.de", true },
   { "immatix.xyz", true },
   { "immedia.net", true },
+  { "immedicohospitalario.es", true },
+  { "immense.ly", true },
   { "immersa.co.uk", true },
   { "immersion-pictures.com", true },
   { "immigrantdad.com", true },
@@ -25313,6 +26566,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "immo-passion.net", false },
   { "immobilien-badlippspringe.de", true },
   { "immobilien-in-istanbul.de", true },
+  { "immobilien-marschner-stiftung.de", true },
   { "immobilien-zirm.de", true },
   { "immobiliengutachter-holland.de", true },
   { "immobilier-nice.fr", true },
@@ -25327,14 +26581,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "imokuri123.com", true },
   { "imolights.com", true },
   { "imolights.net", true },
+  { "imolog.cl", true },
   { "imoney.tw", true },
   { "imouto.my", false },
   { "imoveisavenda.rio.br", true },
   { "impact-fluids.com", true },
   { "impact.health.nz", true },
+  { "impactcalifornia.com", true },
   { "impacter.eu", true },
   { "impactingsports.com", true },
-  { "impactplumbingdrainage.com.au", true },
+  { "impactparcels.co.uk", true },
+  { "impactparcels.com", true },
   { "impactpub.ch", false },
   { "impakho.com", true },
   { "impas.se", true },
@@ -25342,15 +26599,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "impera.at", true },
   { "imperial-legrand.com", true },
   { "imperialmiami.com", true },
+  { "imperiodigital.online", true },
   { "imperiumglass.com.au", true },
+  { "imphotep.net", true },
   { "impiantistica.org", true },
-  { "implantologie-dr-loeck.de", true },
+  { "implantica.com", true },
   { "impns.org", true },
   { "imponet.com.ar", true },
   { "import-shopping.de", true },
   { "importsagt.com", true },
   { "importsign.com", true },
-  { "imposingoods.com", true },
   { "impossible.co", true },
   { "impossible.org", true },
   { "impossiblefitness.com", true },
@@ -25365,7 +26623,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "impresa-di-pulizie.milano.it", true },
   { "impresa-di-pulizie.org", true },
   { "impresa-pulizie.it", true },
-  { "impresadipulizia.roma.it", true },
   { "impresadipulizie.roma.it", true },
   { "impresadipulizieantonella.com", true },
   { "impresaedile.roma.it", true },
@@ -25378,8 +26635,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "improklinikken.dk", true },
   { "improv.ee", true },
   { "improved-madness.de", true },
-  { "improvision.eu", true },
-  { "impulsocristiano.com", true },
+  { "improvenerg.com", true },
   { "impyus.com", true },
   { "imququ.com", true },
   { "imreh.net", true },
@@ -25388,7 +26644,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ims-sargans.ch", true },
   { "imscompany.com", true },
   { "imstocker.com", true },
-  { "imtikaib.ml", true },
   { "imwalking.de", true },
   { "imwjc.xyz", true },
   { "imy.rs", true },
@@ -25397,14 +26652,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "imyjy.cn", true },
   { "imyrs.cn", true },
   { "imyunya.com", true },
-  { "imyvm.com", true },
   { "imyz.tw", true },
+  { "in-depthgame.reviews", true },
   { "in-depthoutdoors.com", true },
   { "in-flames.com", true },
   { "in.search.yahoo.com", false },
   { "in.xero.com", false },
   { "in1000worten.de", true },
   { "in10tion.com", false },
+  { "in2-comms.com", true },
   { "inabox.ro", true },
   { "inait.ai", true },
   { "inalvittile.cf", true },
@@ -25426,24 +26682,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inchenaim.com", true },
   { "inchidi.id", true },
   { "incigma.com", false },
+  { "incisivea.com", true },
   { "includesubdomains.preloaded.test", true },
   { "includesubdomains2.preloaded.test", true },
   { "inclusion.tn", true },
+  { "inclusiv.nl", true },
   { "incoherent.ch", true },
   { "income.wiki", true },
-  { "incomeproshoutr.com", true },
   { "incommon.io", true },
   { "incompliance.de", true },
   { "inconcerts.de", true },
-  { "incontrixsingle.net", true },
   { "incore.nl", true },
   { "incosi.com", true },
   { "incowrimo.org", true },
   { "incparadise.net", true },
-  { "increasetestosteronelevels.org", true },
   { "incrementation.net", true },
   { "incrom.com", true },
-  { "incubos.org", true },
   { "incy.io", true },
   { "ind.ie", true },
   { "indasun.com", true },
@@ -25452,9 +26706,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "independenttravelcats.com", true },
   { "index-mp3.com", true },
   { "indexcesmad.cz", true },
+  { "indexer.net", true },
   { "indexmarket.ml", true },
+  { "indexsalaire.be", true },
   { "indiaflowermall.com", true },
   { "indiafm.tk", true },
+  { "indialocaltours.com", true },
   { "indian-elephant.com", true },
   { "indianaberry.com", true },
   { "indianafoundationpros.com", true },
@@ -25468,13 +26725,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "indiapur.com", true },
   { "indiatrademarkwatch.com", true },
   { "indiayogastudio.net", true },
-  { "indicateurs-flash.fr", true },
   { "indie.dog", true },
   { "indiecongdr.it", true },
   { "indievelopment.nl", true },
   { "indigartbeading.ca", true },
   { "indigartbeading.com", true },
-  { "indigitalagency.com", true },
   { "indigoblack.com.au", true },
   { "indigobooks.gq", true },
   { "indigoinflatables.com", true },
@@ -25483,7 +26738,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "indigosakura.com", true },
   { "indigostudios.com", true },
   { "indigotreeservice.com", true },
-  { "indika.pe", true },
   { "indio.co.jp", true },
   { "inditip.com", true },
   { "inditoot.com", true },
@@ -25496,16 +26750,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "indospot.tk", true },
   { "indota.hu", true },
   { "indovinabank.com.vn", true },
+  { "indrebuild.com", true },
   { "indusap.com", true },
-  { "indusfastremit-us.com", true },
-  { "indust.me", true },
   { "industriafranchini.com", true },
   { "industrial-remote-control.com", true },
-  { "industrialstarter.com", true },
   { "industriemeister.io", true },
+  { "industryperspectives.com", true },
   { "indybay.org", true },
   { "ineardisplay.com", false },
   { "ineed.coffee", false },
+  { "ineffect.net", true },
   { "inefin.tk", true },
   { "inegol.mobi", true },
   { "inesfinc.es", true },
@@ -25524,6 +26778,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inff.info", true },
   { "inffin-portal.de", true },
   { "inficom.org", true },
+  { "infihow.com", true },
   { "infinipharm.com", true },
   { "infinitescript.com", true },
   { "infinitiofallentownparts.com", true },
@@ -25540,11 +26795,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infivalle.gov.co", true },
   { "inflatablehire-scotland.co.uk", true },
   { "inflatablesny.com", true },
+  { "inflatadays.co.uk", true },
   { "inflatamania.com", true },
+  { "inflated.cloud", true },
   { "inflatiecalculator.nl", true },
   { "inflationstation.net", true },
   { "inflexsys.com", true },
-  { "influencerchampions.com", true },
   { "influo.com", true },
   { "infmed.com", true },
   { "info-beamer.com", true },
@@ -25559,7 +26815,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infobot.eu", true },
   { "infobot.nl", true },
   { "infobrain.net", true },
-  { "infocity-tech.fr", true },
   { "infocoin.es", true },
   { "infocommsociety.com", true },
   { "infocon.org", true },
@@ -25568,16 +26823,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infodesigners.eu", true },
   { "infodesk.at", true },
   { "infodiscus.com", true },
-  { "infoduv.fr", true },
+  { "infofamouspeople.com", true },
   { "infogram.com", true },
   { "infogym.com", true },
   { "infohub.com.ua", true },
   { "infoland.ml", true },
-  { "infomasx.com", true },
+  { "infomax.gr", true },
   { "infomegastore.com", true },
+  { "infomir.eu", true },
   { "infomisto.com", true },
   { "infomundord.com", true },
+  { "infopico.com", true },
   { "infopier.sg", true },
+  { "infoprofuse.com", true },
+  { "infoprosnetwork.co", true },
   { "infoprosnetwork.com", true },
   { "infor-allaitement.be", true },
   { "informace-zbozi.cz", true },
@@ -25601,10 +26860,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infosexual.com", true },
   { "infosubasta.es", true },
   { "infotainworld.com", true },
-  { "infotelecharge.com", true },
   { "infotune.nl", true },
+  { "infovb.org", true },
   { "infovision-france.com", true },
-  { "infra-se.com", true },
+  { "infra.beer", true },
   { "infra.land", true },
   { "infraball.com", true },
   { "infrabeep.com", true },
@@ -25617,6 +26876,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infraclip.com", true },
   { "infracron.com", true },
   { "infradart.com", true },
+  { "infradeep.com", true },
   { "infradisk.com", true },
   { "infradrop.com", true },
   { "infraedifice.com", true },
@@ -25627,6 +26887,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infraflux.com", true },
   { "infrafuse.com", true },
   { "infrafusion.com", true },
+  { "infraget.com", true },
   { "infralira.com", true },
   { "infralist.com", true },
   { "infraloon.com", true },
@@ -25665,11 +26926,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "infravoce.com", true },
   { "infrazine.com", true },
   { "ing-buero-junk.de", true },
+  { "ing89.cc", true },
+  { "ing89.com", true },
   { "ingadesign.it", true },
   { "ingatlanjogaszok.hu", true },
   { "ingber.com", true },
   { "inge-r.nl", true },
+  { "inge.ec", true },
   { "ingeeibach.de", true },
+  { "ingeni.ink", true },
   { "ingenias.es", true },
   { "ingenius.ws", true },
   { "ingermany.ml", true },
@@ -25683,26 +26948,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ingolonde.pw", true },
   { "ingoschlueter.de", true },
   { "ingressfs.pl", true },
-  { "inh.gob.ve", true },
+  { "ingridvandamme.nl", true },
   { "inhaltsangabe.de", true },
-  { "inheritestate.com", true },
   { "inhouseents.co.uk", true },
   { "iniby.com", true },
   { "inima.org", true },
-  { "iningrui.com", true },
   { "inishbofin.ie", true },
   { "init.blog", true },
-  { "initialization.tech", true },
+  { "initiative-digitalisierung-kmu.de", true },
   { "initramfs.io", true },
   { "initrd.net", true },
+  { "injapan.nl", true },
   { "injigo.com", false },
   { "injurylawyer.com", true },
   { "ink.horse", true },
   { "inkable.com.au", true },
   { "inkbunny.net", true },
+  { "inkdrop.co.za", true },
   { "inkeliz.com", true },
+  { "inkerotic.com", true },
   { "inkhor.se", true },
-  { "inkontriamoci.com", true },
+  { "inkomensafhankelijkehuurverhoging.nl", true },
   { "inkopers.org", true },
   { "inksay.com", true },
   { "inkspire.co.uk", true },
@@ -25723,7 +26989,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inmigracion-florida.com", true },
   { "inmobillium.fr", true },
   { "inmueblescartagena.com.co", true },
-  { "innatocol.com", true },
   { "innerfence.com", true },
   { "innerlightcrystals.co.uk", true },
   { "innermostparts.org", true },
@@ -25734,29 +26999,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "innogen.fr", true },
   { "innohb.com", true },
   { "innolabfribourg.ch", true },
-  { "innophate-security.com", true },
   { "innoraft.com", true },
   { "innot.net", true },
   { "innotas.com", true },
   { "innoteil.com", true },
+  { "innoteknology.com", true },
   { "innotel.com.au", true },
-  { "innovacoachgroup.com", true },
   { "innovairservices.ch", true },
   { "innovamag.com", true },
   { "innovaptor.at", true },
   { "innovaptor.com", true },
   { "innovate-indonesia.com", true },
+  { "innovation-photography.co.uk", true },
   { "innovation-workshop.ro", true },
   { "innovation.gov", false },
+  { "innovationacademy.uk", true },
   { "innover.se", true },
-  { "innovere.co.uk", true },
   { "innovomuebles.com", true },
   { "innovum.cz", true },
   { "innsalzachsingles.de", true },
   { "innvisiondesign.net", true },
   { "innwan.com", true },
   { "inoa8.com", true },
-  { "inobun.jp", true },
   { "inocelda.com", true },
   { "inodari.com", true },
   { "inoio.de", true },
@@ -25776,12 +27040,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inprotec.com.co", true },
   { "input.pt", true },
   { "inputmodes.com", true },
-  { "inqorp.ca", true },
   { "inquant.de", true },
   { "ins-kreativ.de", true },
   { "ins.to", true },
   { "ins1gn1a.com", true },
-  { "insanelyelegant.com", true },
   { "inscomers.net", false },
   { "inscribe.ai", true },
   { "inscripcionessena.com", true },
@@ -25791,6 +27053,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "insecure.org.je", true },
   { "insegne.roma.it", true },
   { "insertcoins.net", true },
+  { "insertwh.at", true },
   { "inserzioniticino.ch", true },
   { "insgesamt.net", true },
   { "inshapenutrition.com.br", true },
@@ -25815,8 +27078,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inspiredlife.fun", true },
   { "inspiredrealtyinc.com", true },
   { "inspiresurgery.com", true },
+  { "inspirez-vous-sophro.com", true },
   { "insside.net", true },
   { "insta-drive.com", true },
+  { "instachina.ru", true },
   { "instafind.nl", true },
   { "instafuckfriend.com", true },
   { "instagc.com", true },
@@ -25824,7 +27089,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "instagram.com", false },
   { "instagrammernews.com", true },
   { "instagramtweet.com", true },
-  { "instagraph.cn", true },
   { "instahub.net", true },
   { "installatietechniekgresnigt.nl", true },
   { "installgentoo.net", true },
@@ -25834,6 +27098,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "instant.io", true },
   { "instantdomainsearch.com", true },
   { "instantkhabar.com", true },
+  { "instantmoron.com", true },
   { "instava.cz", true },
   { "instawierszyki.pl", true },
   { "instead.com.au", true },
@@ -25843,6 +27108,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "instics.com", true },
   { "institut-confucius-montpellier.org", true },
   { "institut-uthyl.com", true },
+  { "institutmaupertuis.hopto.org", true },
   { "institutogiuseppe.com", true },
   { "institutogiuseppe.com.ar", true },
   { "institutointersistemico.com.br", true },
@@ -25853,6 +27119,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "insurance321.com", true },
   { "insuranceonlinenow.com", true },
   { "insurediy.com.sg", true },
+  { "insuremyworkcomp.com", true },
   { "insureon.com", true },
   { "int64software.com", true },
   { "intafe.co.jp", true },
@@ -25866,7 +27133,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "integralkk.com", true },
   { "integralsalud.xyz", true },
   { "integrata.de", true },
-  { "integratedintegrations.xyz", true },
   { "integratedmedicalonline.com", true },
   { "integratemyschool.com", true },
   { "integrateur-web-paris.com", true },
@@ -25875,7 +27141,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "integrityglobal.com", true },
   { "integrityokc.com", true },
   { "integrityoklahoma.com", true },
-  { "integrogroup.com", true },
   { "integromat.com", true },
   { "integroof.com", true },
   { "integsystem.com", true },
@@ -25900,21 +27165,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "intellitonic.com", true },
   { "intelly.nl", true },
   { "intelly365.nl", true },
-  { "intelmed.info", true },
   { "intencje.pl", true },
   { "intensify.pictures", true },
   { "intensivpflege-sachsen.de", true },
   { "intentanalytica.com", true },
   { "inter-corporate.com", true },
-  { "interaffairs.com", true },
   { "interaktiva.fi", true },
+  { "interallied.org", true },
   { "interasistmen.se", true },
   { "interchanges.io", true },
-  { "intercom.com", true },
-  { "intercom.io", true },
+  { "interconlarp.org", true },
   { "intercrosse.tk", true },
-  { "interessengemeinschaft-pregelstrasse.tk", true },
-  { "interessiert-uns.net", true },
   { "interflores.com.br", true },
   { "interfug.de", true },
   { "intergozd.si", true },
@@ -25928,36 +27189,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "intermax.nl", true },
   { "intermedinet.nl", true },
   { "interminsk.tk", true },
-  { "intern.tax", true },
+  { "intern-base.com", true },
   { "internalkmc.com", true },
   { "international-arbitration-attorney.com", true },
-  { "international-books.org", false },
-  { "international-nash-day.com", true },
+  { "international-friends.net", true },
   { "internationalfashionjobs.com", true },
   { "internationalschool.it", true },
   { "internationalstudentassociation.com", true },
   { "internationaltalento.it", true },
   { "internect.co.za", true },
   { "internet-aukcion.info", true },
+  { "internet-meesters.nl", true },
   { "internet-pornografie.de", false },
   { "internet-software.eu", true },
   { "internet-tv4u.tk", true },
   { "internet42.tk", true },
   { "internetaanbieders.eu", true },
-  { "internetanbieter-experte.de", true },
   { "internetbank.swedbank.se", true },
   { "internetbugbounty.com", true },
   { "internetbusiness-howto.com", true },
   { "internetcom.jp", true },
   { "internetfonden.se", true },
-  { "internetgardener.co.uk", true },
   { "internetinhetbuitengebied.nl", true },
   { "internetk.tk", true },
   { "internetloansdirect.com", true },
   { "internetmagaz.tk", true },
   { "internetmedia.si", true },
   { "internetmuseum.se", true },
-  { "internetmusicexchange.com", true },
   { "internetnz.nz", true },
   { "internetofdon.gs", true },
   { "internetoffensive.fail", true },
@@ -25966,8 +27224,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "internetpro.me", true },
   { "internetstaff.com", true },
   { "internetstiftelsen.se", true },
+  { "internettradie.com.au", true },
   { "internetzentrale.net", true },
   { "internetzonei.com", true },
+  { "internewscast.com", true },
+  { "internex.at", true },
   { "interparcel.com", true },
   { "interphoto.by", true },
   { "interpol.gov", true },
@@ -25984,19 +27245,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inthouse.cloud", true },
   { "intimznakomstvo.tk", true },
   { "intita.com", true },
-  { "intl-webs.com", true },
   { "intmissioncenter.org", false },
   { "into-the-mountain.com", true },
-  { "into.technology", true },
   { "inton.biz", true },
   { "intoparking.com", true },
   { "intoparking.fi", true },
   { "intpforum.com", true },
   { "intr0.cf", true },
+  { "intracdf.net", true },
   { "intrack.net.au", true },
   { "intradayseasonals.com", true },
   { "intranet.dvag", true },
-  { "intranetcrowd.com", true },
   { "intraobes.com", true },
   { "intrasoft.com.au", true },
   { "intraxia.com", true },
@@ -26004,20 +27263,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "intrigue3d.com", true },
   { "intrixgroup.com", true },
   { "intrixlifestyle.com", true },
-  { "introes.com", true },
   { "intropickup.ru", true },
   { "introspectivemarketresearch.com", true },
+  { "introverted.ninja", true },
   { "intvonline.com", true },
   { "intxt.net", true },
   { "inu.codes", true },
+  { "inu.nl", true },
   { "inumcoeli.com.br", true },
   { "inup.jp", true },
   { "inusasha.de", true },
+  { "inuyasha-petition.tk", true },
   { "invadelabs.com", true },
   { "invalida.ru", true },
   { "invasion.com", true },
   { "invasivespeciesinfo.gov", true },
-  { "invasmani.com", true },
   { "inventaire.ch", false },
   { "inventionsteps.com.au", true },
   { "inventix.nl", true },
@@ -26027,14 +27287,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inventtheworld.com.au", true },
   { "inventum.cloud", true },
   { "inverselink-user-content.com", true },
-  { "inversionesgalindo.com", true },
   { "investactiv.tk", true },
   { "investarholding.nl", true },
-  { "investforum.net", true },
   { "investigatore.it", true },
   { "investigatore.roma.it", true },
   { "investigatore.torino.it", true },
-  { "investigazione.milano.it", true },
   { "investigazionimoretti.it", true },
   { "investinturkey.com.tr", true },
   { "investinweed.com", true },
@@ -26058,7 +27315,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "invkao.com", true },
   { "invoiced.com", true },
   { "involic.com", true },
-  { "invuite.com", true },
+  { "invsky.com", true },
   { "invuite.com.au", true },
   { "inwao.com", true },
   { "inwebo.com", true },
@@ -26071,8 +27328,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "inzelabs.com", true },
   { "inzernettechnologies.com", true },
   { "ioactive.com", true },
-  { "ioasync.com", true },
-  { "iobint.com", true },
   { "iocheck.com", true },
   { "iochen.com", true },
   { "iocurrents.com", true },
@@ -26087,13 +27342,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iondrey.gq", true },
   { "iondrey.ml", true },
   { "iondrey.tk", true },
+  { "ione.net.nz", true },
   { "ionlabs.kr", true },
   { "ionplesalexandru.com", true },
   { "ionspin.com", true },
+  { "ionutnechita.ro", true },
+  { "ionutnica.ro", true },
   { "ionx.co.uk", true },
   { "ioover.net", true },
   { "iop.intuit.com", false },
-  { "ios11018.com", false },
   { "iosartstudios.gr", true },
   { "iosecurity.co.za", true },
   { "ioslo.net", true },
@@ -26101,7 +27358,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iossifovlab.com", true },
   { "iostream.by", true },
   { "iotac.xyz", true },
-  { "iotekha.tv", true },
   { "iotorq.com", true },
   { "iotsys.in", true },
   { "iowaent.com", true },
@@ -26124,12 +27380,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iparkki.com", true },
   { "ipcareers.net", true },
   { "ipcyb.com", true },
-  { "ipdsols.co.za", true },
   { "ipemcomodoro.com.ar", true },
   { "iperconnessi.it", true },
   { "ipfire.org", true },
   { "ipfirebox.de", true },
   { "ipfs.io", true },
+  { "ipggroup.com", true },
   { "iphonekaitori.tokyo", true },
   { "iphoneunlock.nu", true },
   { "ipinfo.tw", true },
@@ -26139,7 +27395,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ipleak.net", true },
   { "ipledgeonline.org", false },
   { "iplist.cc", true },
-  { "iplog.info", false },
   { "ipmonitoring.hu", true },
   { "ipo-times.jp", true },
   { "ipoisk.com.ua", true },
@@ -26149,8 +27404,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iposm.net", true },
   { "ippawards.com", false },
   { "ipplans.com", true },
+  { "ippo-juku.com", true },
   { "iprcenter.gov", true },
   { "ipresent.com", true },
+  { "iprice.co.id", true },
+  { "iprice.hk", true },
+  { "iprice.my", true },
+  { "iprice.ph", true },
+  { "iprice.sg", true },
+  { "iprice.vn", true },
+  { "ipricethailand.com", true },
   { "iprim.ru", true },
   { "ipripojeni.cz", true },
   { "iproducemusic.com", true },
@@ -26158,12 +27421,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ips-ihre-pflege-sachsen.de", true },
   { "ips-sachsen.de", true },
   { "ipschool.spb.ru", true },
+  { "ipsec.pl", true },
   { "ipsecurelink.com", true },
-  { "ipslsig.org", true },
   { "ipso.paris", true },
-  { "ipstream.it", true },
   { "ipsum.dk", true },
   { "ipswitch.com.tw", true },
+  { "iptops.com", true },
+  { "iptvmaxx.com", true },
   { "iptvzoom.xyz", true },
   { "ipty.de", true },
   { "ipv4.cf", true },
@@ -26172,14 +27436,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ipv4.rip", true },
   { "ipv6-adresse.dk", true },
   { "ipv6-handbuch.de", true },
-  { "ipv6.jetzt", true },
-  { "ipv6alizer.se", true },
+  { "ipv6.jetzt", false },
   { "ipv6vpn.net", true },
   { "ipvbook.com", true },
   { "iqboxy.com", true },
+  { "iqos.ru", true },
+  { "iqratunisie.com", true },
   { "iqsecurity.eu", true },
   { "iqskinclinics.com", true },
   { "iqsmn.org", true },
+  { "iqtechportal.com", true },
   { "ir1s.com", false },
   { "irajsingh.tk", true },
   { "iramellor.com", true },
@@ -26194,11 +27460,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iraqinews.ga", true },
   { "irasandi.com", true },
   { "irayo.net", true },
+  { "irc-results.com", true },
+  { "ircica.org", true },
   { "ircmett.de", true },
   { "ird.nz", true },
   { "ireaco.com", true },
   { "ireef.tv", true },
   { "ireland.gq", true },
+  { "irelandondemand.ie", true },
   { "iren.ch", true },
   { "irenkuhn.ch", true },
   { "irequi.re", true },
@@ -26208,13 +27477,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "irgendeine.cloud", true },
   { "irgit.pl", true },
   { "iridiumbrowser.de", true },
+  { "irina-beauty.de", true },
   { "irioka.be", true },
   { "iriomote.com", true },
   { "iris-design.info", true },
   { "iris-insa.com", true },
   { "irish.dating", true },
-  { "irish.radio", true },
-  { "irishradioplayer.radio", true },
   { "irishsessions.ch", true },
   { "irisjieun.com", true },
   { "irismq.fr", true },
@@ -26231,9 +27499,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ironfistdesign.com", true },
   { "ironfittings.com.br", true },
   { "ironhide.de", true },
+  { "ironmountainsolutions.com", true },
   { "ironpeak.be", true },
   { "ironraven.ml", true },
-  { "irose.am", true },
+  { "ironycats.net", true },
   { "irrewilse.se", true },
   { "irrigadorbucal.com", true },
   { "irritant.net", true },
@@ -26243,20 +27512,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "irxoo.com", true },
   { "iryodatumoguide.com", true },
   { "iryogakkai.jp", true },
-  { "is-going-to-rickroll.me", true },
-  { "is-in-hyper.space", true },
+  { "is-a-furry.org", true },
   { "is-rocket.science", true },
   { "is-socket.tk", true },
   { "isa357.com", true },
   { "isa5417.com", true },
   { "isaaccomputerscience.org", true },
   { "isaacdgoodman.com", false },
+  { "isaackabel.cf", true },
+  { "isaackabel.ga", true },
+  { "isaackabel.gq", true },
+  { "isaackabel.ml", true },
+  { "isaackabel.tk", true },
   { "isaackhor.com", true },
   { "isaacman.tech", true },
   { "isaacmorneau.com", true },
   { "isaacpartnership.co.uk", true },
   { "isaacphysics.org", true },
   { "isaaczais.com", true },
+  { "isab.top", true },
   { "isabelaflores.com", true },
   { "isabellavandijk.nl", true },
   { "isabelle-delpech.com", true },
@@ -26274,6 +27548,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "isbc-telecom.ru", true },
   { "isbengrumpy.com", true },
   { "iscert.org", true },
+  { "iscontrol.com.mx", true },
   { "isdn.jp", true },
   { "isecrets.se", true },
   { "iservicio.mx", true },
@@ -26284,10 +27559,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ishigurodo.com", true },
   { "ishiharaken.com", true },
   { "ishimen.co.jp", true },
-  { "ishland.com", true },
-  { "ishome.org", true },
-  { "ishtarfreya.com", true },
+  { "ishotagency.com", true },
+  { "isidore.uk", true },
   { "isif-ostewg.org", true },
+  { "isigmaonline.org", true },
   { "isil.fi", true },
   { "isimonbrown.co.uk", true },
   { "isincheck.com", true },
@@ -26296,31 +27571,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "isitcoffeetime.com", true },
   { "isitdoneyet.gov", true },
   { "isitef.com", true },
-  { "isitup.org", true },
   { "iskaron.de", true },
   { "iskaz.rs", true },
+  { "iskconnews.org", true },
   { "iskogen.nu", true },
+  { "iskultur.com.tr", true },
   { "islam.si", true },
   { "islamabadcourt.tk", true },
+  { "islamicarchitecturalheritage.com", true },
   { "islamicmarkets.com", true },
   { "islamicnews.tk", true },
   { "islamnewss.tk", true },
-  { "islamonline.net", true },
+  { "island.studio", true },
   { "islandhosting.com", true },
   { "islandmapstore.com", true },
+  { "islandsbanki.is", true },
   { "islavolcan.cl", true },
   { "isletech.net", true },
   { "isliada.org", true },
-  { "islief.com", true },
   { "islightdown.today", true },
-  { "ismadgeintrouble.com", true },
   { "ismat.com", true },
   { "ismena.bg", true },
   { "ismywebsitepenalized.com", true },
   { "isn.cz", true },
   { "isocom.eu", true },
   { "isognattori.com", true },
-  { "isolde.com", true },
   { "isolta.com", true },
   { "isolta.de", true },
   { "isolta.ee", true },
@@ -26335,7 +27610,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "isowosi.com", true },
   { "ispfontela.es", true },
   { "ispmedipv6.se", true },
-  { "ispringcloud.ru", true },
   { "israel-in-color.com", true },
   { "israelbiblicalstudies.com", true },
   { "israelbizreg.com", true },
@@ -26347,13 +27621,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "isreedyinthe.us", true },
   { "isreedyintheuk.com", true },
   { "issa.org.pl", false },
-  { "issaias.net", true },
   { "issasfrissa.se", true },
   { "issforum.org", true },
   { "issio.net", true },
   { "issue.watch", true },
   { "issues.email", true },
-  { "ist.cm", true },
   { "istanbul.systems", true },
   { "istdas.lol", true },
   { "istdieweltschonuntergegangen.de", true },
@@ -26361,7 +27633,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "isterfaslur.com", true },
   { "istheapplestoredown.com", true },
   { "istheapplestoredown.de", true },
-  { "isthedoorlocked.com", true },
   { "istheinternetdown.com", true },
   { "istheinternetonfire.com", true },
   { "isthephone.com", true },
@@ -26374,13 +27645,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "istogether.com", true },
   { "istormsolutions.co.uk", true },
   { "istorrent.is", true },
-  { "istrazivac-istine.com", true },
   { "istschonsolangeinrente.de", true },
   { "istsi.org", true },
   { "isusemasa.com", false },
   { "isv.online", true },
   { "isvbscriptdead.com", true },
   { "isvsecwatch.org", true },
+  { "iswapgh.com", true },
+  { "isync2.me", true },
   { "isz.no", true },
   { "iszy.cc", true },
   { "it-academy.sk", true },
@@ -26410,16 +27682,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "it-tekniker.nu", true },
   { "it-ti.me", true },
   { "it-uws.com", false },
+  { "it-world.eu", true },
   { "it-zt.at", true },
   { "it.search.yahoo.com", false },
   { "it1b.com", true },
   { "it4sure.nl", true },
   { "itactiq.com", true },
+  { "itactiq.info", true },
   { "itaiferber.net", true },
   { "italbavaro.com", true },
   { "italia-store.com", true },
   { "italiachegioca.com", true },
   { "italian.dating", true },
+  { "italianisiert.de", true },
   { "italianshoemanufacturers.com", true },
   { "italiansrent.com", true },
   { "italiataxi.ru", true },
@@ -26435,40 +27710,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "itaporanga.se.gov.br", true },
   { "itb-online.co.uk", true },
   { "itbox.cl", true },
+  { "itbrief.co.nz", true },
+  { "itbrief.com.au", true },
   { "itcbuerobedarf.de", true },
   { "itchy.nl", true },
-  { "itchybrainscentral.com", true },
   { "itconsulting-wolfinger.de", true },
   { "itcs.services", true },
+  { "itdaan.com", true },
   { "itdashboard.gov", true },
-  { "itdata.ro", false },
+  { "itdata.ro", true },
+  { "itdoneproperly.com", true },
   { "itdutchie.com", true },
   { "itecor.net", false },
   { "iteecafe.hu", true },
   { "iteha.de", true },
   { "iteli.eu", true },
   { "itemcreator.tk", true },
+  { "itemmc.com", true },
   { "itemorder.com", true },
   { "itemstore.ir", true },
-  { "iterader.com", true },
   { "iternalnetworks.com", true },
   { "iterror.co", true },
   { "itesign.de", true },
   { "itezu.ml", true },
   { "itfh.eu", true },
   { "itfix.cz", true },
+  { "itfly.xyz", false },
   { "itgoesup.com", true },
   { "itgoesupent.com", true },
   { "itgoesupentertainment.com", true },
   { "ithakama.com", true },
   { "ithakama.cz", true },
-  { "ithedgehog.co.uk", true },
   { "ithenrik.com", true },
   { "ithinc.net", true },
   { "ithink.cf", true },
   { "ithink.ml", true },
   { "ithjalpforetag.se", true },
   { "ithot.ro", true },
+  { "itidying.com", true },
   { "itikon.com", true },
   { "itilo.de", true },
   { "itis.gov", true },
@@ -26476,11 +27755,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "itisyourmoney.co.uk", true },
   { "itkaufmann.at", true },
   { "itkonsultstockholm.se", true },
-  { "itludens.com", true },
   { "itm-c.de", true },
+  { "itmax.ua", true },
+  { "itmedicinai.lt", true },
   { "itmindscape.com", true },
   { "itmustbee.com", true },
-  { "itmx.cc", true },
   { "itn.co.uk", true },
   { "itneeds.tech", true },
   { "itnota.com", true },
@@ -26497,7 +27776,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "its-gutachten.de", true },
   { "its.gov", true },
   { "its420somewhere.com", true },
-  { "its4living.com", true },
   { "itsabouncything.com", true },
   { "itsallaboutplumbing.com", true },
   { "itsallsotireso.me", true },
@@ -26510,6 +27788,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "itsecblog.de", true },
   { "itsecguy.com", true },
   { "itseeze.com", true },
+  { "itseovn.com", true },
   { "itsevident.com", true },
   { "itsfitlab.com", true },
   { "itsgoingdown.org", false },
@@ -26518,7 +27797,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "itsmyparty.ie", true },
   { "itsnotquitethehilton.com", false },
   { "itsok.de", true },
-  { "itsok.link", true },
   { "itspartytimeonline.co.uk", true },
   { "itspersonaltraining.nl", true },
   { "itsquiet.org", true },
@@ -26538,11 +27816,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "itzer.de", true },
   { "itzkavin.tk", true },
   { "iubuniversity.tk", true },
-  { "iurisnow.com", true },
+  { "iurisnow.com", false },
   { "iuyos.com", true },
-  { "ivact.co.jp", true },
   { "ivahbbiz.tk", true },
-  { "ivais.mx", true },
+  { "ivan1874.dynu.net", true },
   { "ivanaleksandrov.com", true },
   { "ivanbenito.com", true },
   { "ivanboi.com", true },
@@ -26559,8 +27836,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ivisitorinsurance.com", true },
   { "ivo.co.za", true },
   { "ivocopro.com", true },
+  { "ivocotec.com", true },
   { "ivocotec.de", true },
-  { "ivoid.cf", true },
+  { "ivolunteer.com.ph", true },
   { "ivopetkov.com", true },
   { "ivor.io", true },
   { "ivor.is", true },
@@ -26573,10 +27851,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ivusn.cz", true },
   { "ivvl.ru", true },
   { "ivy-league-colleges.com", true },
+  { "ivy.show", true },
   { "iwader.co.uk", true },
   { "iwalton.com", true },
   { "iwanttoliveinabunker.com", true },
-  { "iwanttrack.com", true },
   { "iwascoding.com", true },
   { "iwascoding.de", true },
   { "iwashealthy.com", true },
@@ -26585,15 +27863,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "iwatt.sk", true },
   { "iwch.tk", true },
   { "iwd.gc.ca", true },
-  { "iwebolutions.com", true },
   { "iwell.de", true },
   { "iwizerunek.pl", true },
   { "iww.me", true },
-  { "ixanis.net", true },
   { "ixds.org", true },
   { "ixio.cz", true },
   { "ixit.cz", true },
-  { "ixix.org", true },
   { "ixquick-proxy.com", true },
   { "ixquick.co.uk", true },
   { "ixquick.com", true },
@@ -26602,34 +27877,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ixquick.fr", true },
   { "ixquick.info", true },
   { "ixquick.nl", true },
+  { "ixuexi.tech", true },
   { "iyassu.com", true },
   { "iyc.web.tr", true },
-  { "iycharter.com", true },
+  { "iycharter.com", false },
+  { "iyn.me", true },
   { "iyouewo.com", true },
   { "iz8mbw.net", true },
   { "izamulhakeem.tk", true },
-  { "izevg.ru", true },
+  { "izavel.com", true },
   { "izmirescort.tk", true },
   { "izntz.com", true },
   { "izodiacsigns.com", true },
   { "izolpoznan.pl", true },
-  { "izs8.com", false },
+  { "izs8.com", true },
   { "izt.tech", false },
   { "izttech.com", true },
   { "izuba.info", false },
   { "izumi-ryokan.com", true },
   { "izumi.tv", true },
+  { "izuna.info", true },
   { "izxxs.com", true },
   { "izxxs.net", true },
   { "izxzw.net", true },
   { "izzys.casa", true },
-  { "j-elliott.co.uk", true },
   { "j-k-fischer-verlag.de", true },
   { "j-l.pw", true },
   { "j-navi.com", true },
   { "j-ph.ovh", true },
   { "j-robertson.com", true },
-  { "j-softlab.com", true },
+  { "j-sheekey.co.uk", true },
   { "j0bs.org", true },
   { "j0e.com", true },
   { "j0hndball.com", true },
@@ -26640,14 +27917,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "j1879.com", true },
   { "j1visahealthinsurance.com", true },
   { "j2h.de", true },
-  { "j32663.com", true },
-  { "j32664.com", true },
-  { "j32665.com", true },
-  { "j32771.com", true },
-  { "j32772.com", true },
-  { "j32773.com", true },
-  { "j32774.com", true },
-  { "j32775.com", true },
+  { "j32663.com", false },
+  { "j32664.com", false },
+  { "j32665.com", false },
+  { "j32771.com", false },
+  { "j32772.com", false },
+  { "j32773.com", false },
+  { "j32774.com", false },
+  { "j32775.com", false },
   { "j3349.com", true },
   { "j36533.com", true },
   { "j36594.com", true },
@@ -26659,8 +27936,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "j5lx.eu", true },
   { "j5lx.io", true },
   { "j605.tk", true },
-  { "j81818.com", true },
   { "j8846.com", true },
+  { "j8hs.com", true },
   { "j9504.com", true },
   { "j9507.com", true },
   { "j9508.com", true },
@@ -26697,18 +27974,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jabberzac.org", true },
   { "jaberg-rutschi.ch", true },
   { "jabergrutschi.ch", true },
+  { "jability.ovh", true },
   { "jabjab.de", true },
   { "jacarandafinance.com.au", true },
-  { "jaccblog.com", true },
   { "jacekowski.org", true },
   { "jacik.cz", true },
   { "jack-p2.tech", true },
-  { "jack2celebrities.com", true },
+  { "jackal-cogito.tk", true },
   { "jackassofalltrades.org", true },
   { "jackdawphoto.co.uk", true },
   { "jackf.me", true },
   { "jackflet.ch", true },
-  { "jackgreenrealty.com", false },
+  { "jackgreenrealty.com", true },
   { "jackhoodtransportation.com", true },
   { "jackingsolutions.com", true },
   { "jackpothappy.com", true },
@@ -26718,7 +27995,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jackson-quon.com", true },
   { "jackson.jp", true },
   { "jacksonhu.com", true },
-  { "jacksonvillestation.com", true },
   { "jacksorrell.com", true },
   { "jackspub.net", true },
   { "jackwozny.com", true },
@@ -26733,9 +28009,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jacquesdedixmude.eu", true },
   { "jacuzziprozone.com", true },
   { "jadchaar.me", true },
-  { "jadehotel.nl", true },
   { "jadesong.net", true },
   { "jadopado.com", true },
+  { "jaduniv.cf", true },
+  { "jaeger.link", true },
   { "jaegerlacke.de", true },
   { "jaepinformatica.com", true },
   { "jaetech.org", true },
@@ -26744,6 +28021,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jagido.de", true },
   { "jaguarlandrover-asse.be", false },
   { "jaguarlandrover-occasions.be", false },
+  { "jaguarwong.xyz", true },
   { "jahanaisamu.com", true },
   { "jahner.xyz", true },
   { "jahofmann.de", false },
@@ -26768,27 +28046,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jakereynolds.co", true },
   { "jakerullman.com", true },
   { "jakeslab.tech", true },
-  { "jaketremper.com", true },
-  { "jakewalker.xyz", false },
   { "jakewestrip.com", true },
   { "jakob-server.tk", true },
   { "jakobejitblokaci.cz", true },
   { "jakobkrigovsky.com", true },
+  { "jakobs.systems", true },
   { "jakobssystems.net", true },
   { "jakpremyslet.cz", true },
-  { "jaksch.biz", true },
   { "jakse.fr", true },
-  { "jakub-boucek.cz", true },
-  { "jakubboucek.cz", true },
   { "jakubklimek.com", true },
   { "jakubsindelar.cz", true },
   { "jakubtopic.cz", true },
   { "jakubvrba.cz", true },
   { "jala.co.jp", true },
   { "jaleo.cn", true },
+  { "jalogisch.de", true },
   { "jaluzelemoderne.ro", true },
   { "jamaat.hk", true },
   { "jamalfi.bio", true },
+  { "jamcyberinc.com", true },
   { "james-bell.co.uk", true },
   { "james-loewen.com", true },
   { "jamesachambers.com", true },
@@ -26805,19 +28081,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jamesjboyer.com", true },
   { "jamesmarsh.net", true },
   { "jamesmilazzo.com", true },
-  { "jamesrobertson.net", true },
-  { "jamesrobertson.sh", true },
+  { "jamesrobertson.io", true },
   { "jamesross.name", true },
   { "jamessmith.me.uk", true },
   { "jamestmartin.me", true },
-  { "jamestown.de", true },
+  { "jamestown.de", false },
   { "jamesturnerstickley.com", true },
-  { "jamesusandra.com", true },
   { "jameswarp.com", true },
+  { "jamesxu.com", true },
   { "jamhost.org", true },
   { "jamie-read-photography.com", true },
   { "jamie.ie", true },
-  { "jamielarter.ca", true },
   { "jamielinux.com", true },
   { "jamiemagee.co.uk", true },
   { "jamiemagee.dk", true },
@@ -26837,6 +28111,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jan-roenspies.de", true },
   { "jan-von.de", true },
   { "jan.gl", true },
+  { "janata.net", true },
   { "janaundgeorgsagenja.eu", true },
   { "janbrodda.de", true },
   { "jandev.de", true },
@@ -26845,6 +28120,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "janelauhomes.com", true },
   { "janelle-jamer.tk", true },
   { "janellequintana.tk", true },
+  { "janeweeber.com", true },
+  { "janey.cf", true },
   { "janeymac.com", true },
   { "jangl.com", true },
   { "janhermann.cz", true },
@@ -26858,22 +28135,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "janker.me", true },
   { "jann.is", true },
   { "jannekekaasjager.nl", true },
-  { "jannisfink.de", true },
   { "jannyrijneveld.nl", true },
   { "janokacer.sk", true },
   { "janome.club", true },
+  { "janome.com.ua", true },
   { "janostheil.de", true },
   { "janschaumann.de", true },
   { "janterpstra.eu", true },
   { "jantinaboelens.nl", true },
+  { "janv.it", true },
   { "janvari.com", true },
   { "janvaribalint.com", true },
+  { "janw.me", true },
   { "jaot.info", true },
   { "japanese-cuisine.com", true },
   { "japanesemotorsports.net", true },
-  { "japangids.nl", true },
   { "japaniac.de", false },
   { "japanphilosophy.com", false },
+  { "japanrail.nl", true },
   { "japansm.com", true },
   { "japantravel.tk", true },
   { "japanwatches.xyz", true },
@@ -26881,10 +28160,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jaramilloconstrucciones.pe", true },
   { "jardineriaon.com", true },
   { "jaredfernandez.com", true },
+  { "jaredfraser.com", true },
   { "jarmala.lt", true },
   { "jarmandental.com", true },
   { "jarmatys.pl", true },
   { "jarniashop.se", true },
+  { "jarods.org", true },
   { "jaroku.com", true },
   { "jarondl.net", true },
   { "jarrah-alsilawi.com", true },
@@ -26896,8 +28177,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jasminlive.cam", true },
   { "jasnowidzkajowi.pl", true },
   { "jasonamorrow.com", true },
+  { "jasonbassford.com", true },
   { "jasongerber.ch", false },
-  { "jasonmili.online", true },
   { "jasonsplecoscichlids.com", true },
   { "jasonwei.nctu.me", true },
   { "jasper.link", true },
@@ -26905,25 +28186,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jasperhuttenmedia.com", true },
   { "jasperpatterson.me", true },
   { "jaspersreef.com", true },
+  { "jaspven.net", true },
   { "jastrow.me", true },
   { "jaszbereny-vechta.eu", true },
   { "javaexpert.tk", true },
   { "javamilk.com", true },
   { "javanguiano.mx", true },
-  { "javaweb.site", true },
+  { "javaxxz.com", true },
   { "javelin.cc", true },
   { "javfree.me", true },
   { "javhdmovies.com", true },
   { "javierburgos.net", true },
+  { "javierflorescastillero.es", true },
   { "javierlorente.es", true },
   { "javiermascherano.tk", true },
-  { "javik.net", true },
   { "javiscoffee.com", true },
   { "jawo2008.pl", true },
   { "jaxfstk.com", true },
   { "jaxxnet.co.uk", true },
   { "jaxxnet.org", true },
   { "jaybrokers.com", true },
+  { "jayceeprints.com", true },
   { "jayden.tech", true },
   { "jayf.de", true },
   { "jayfreestone.com", false },
@@ -26944,29 +28227,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jazzy.id.au", true },
   { "jazzy.pro", true },
   { "jazzysumi.com", true },
+  { "jb0.de", true },
   { "jb138.cc", true },
   { "jbbd.fr", true },
   { "jbc88.cc", true },
+  { "jbdesignfoundations.com", true },
+  { "jbholdings.co.uk", true },
   { "jblackweb.com", true },
   { "jbradaric.me", true },
   { "jbridal.com.au", true },
   { "jbs-jardins.ch", false },
   { "jbsinternational.com", true },
+  { "jbt-stl.com", true },
   { "jcadg.com", true },
   { "jcai.dk", true },
   { "jcaicedo.com", true },
   { "jcb.com", true },
   { "jcbgolfandcountryclub.com", true },
-  { "jccrew.org", true },
+  { "jch.xyz", true },
+  { "jchn.be", true },
   { "jci.cc", true },
   { "jclynne.com", true },
   { "jcontspoord.nl", true },
-  { "jcsdevelopment.com", false },
   { "jcsesecuneta.com", true },
   { "jctf.team", true },
   { "jcus.co", true },
   { "jcwodan.nl", true },
+  { "jcyz.cf", true },
+  { "jd-group.co.uk", true },
   { "jd1.de", true },
+  { "jd777.vip", true },
   { "jdassets.com", true },
   { "jdc.io", true },
   { "jdd888.cc", true },
@@ -26984,6 +28274,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jdproofing.com", true },
   { "jdscastlehire.co.uk", true },
   { "jdtic.com", true },
+  { "jdubya.info", true },
   { "je-vends.fr", false },
   { "je2050.de", true },
   { "jean-luc.org", true },
@@ -26998,16 +28289,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jeansdiscounter.de", true },
   { "jebengotai.com", true },
   { "jec-dekrone.be", true },
-  { "jecho.cn", true },
   { "jecjacshop.com", true },
+  { "jed.site", true },
   { "jeda.ch", true },
   { "jedayoshi.com", true },
+  { "jedcg.com", true },
   { "jedepannetonordi.fr", true },
   { "jedipedia.net", true },
   { "jediweb.com.au", true },
   { "jedmud.com", true },
   { "jedwarddurrett.com", true },
   { "jeec.ist", true },
+  { "jeep4ik.com", true },
   { "jeepeg.com", true },
   { "jeeran.com", true },
   { "jeeranservices.com", true },
@@ -27017,7 +28310,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jeffersonregan.com", true },
   { "jeffersonregan.net", true },
   { "jeffhaferman.com", true },
-  { "jeffmcneill.com", true },
+  { "jeffpenchoff.com", true },
   { "jeffreyhaferman.com", true },
   { "jeffri.me", true },
   { "jeffsanders.com", true },
@@ -27031,8 +28324,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jekhar.com", true },
   { "jelena-adeli.com", true },
   { "jelenkovic.rs", true },
+  { "jelewa.de", true },
   { "jell.ie", true },
   { "jelle.pro", true },
+  { "jellebo.dk", true },
   { "jelleluteijn.com", true },
   { "jelleluteijn.eu", true },
   { "jelleluteijn.net", true },
@@ -27041,7 +28336,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jelleraaijmakers.nl", true },
   { "jelly.cz", true },
   { "jellybeanbooks.com.au", true },
+  { "jellyfish.co", true },
   { "jellyfloral.com", true },
+  { "jellypepper.com", true },
   { "jellysquid.me", true },
   { "jelmer.uk", true },
   { "jelmoli-shop.ch", true },
@@ -27064,6 +28361,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jeproteste.info", true },
   { "jeps.fi", true },
   { "jeremiahbenes.com", true },
+  { "jeremy-chen.org", true },
   { "jeremy.hu", true },
   { "jeremybentham.com", true },
   { "jeremybloomfield.co.uk", true },
@@ -27071,14 +28369,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jeremycantu.com", true },
   { "jeremycrews.com", true },
   { "jeremynally.com", true },
-  { "jeremyness.com", true },
-  { "jeremypaul.me", true },
   { "jeremytcd.com", true },
+  { "jeremywinn.com", true },
+  { "jeretec.com.br", true },
   { "jericamacmillan.com", true },
   { "jering.tech", true },
   { "jerisandoval.tk", true },
   { "jermann.biz", true },
   { "jeroendeneef.com", true },
+  { "jeroendev.one", true },
   { "jerome.to", true },
   { "jerret.de", true },
   { "jerrysretailstores.com", true },
@@ -27091,21 +28390,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jerseylvi2013.org", true },
   { "jerseyplantsdirect.com", true },
   { "jerusalempersonals.ml", true },
-  { "jes.events", true },
+  { "jesec.cn", true },
   { "jesec.io", true },
+  { "jesecharlie.com", true },
   { "jesiensredniowiecza.pl", true },
+  { "jesscharlie.com", true },
+  { "jesse-charlie.com", true },
+  { "jesse-charlie.net", true },
+  { "jesse-charlie.org", true },
   { "jesse3.com", true },
+  { "jesseblum.com", true },
+  { "jessecharley.com", true },
+  { "jessecharli.com", true },
+  { "jessecharlie.co", true },
+  { "jessecharlie.com", true },
+  { "jessecharlie.info", true },
+  { "jessecharlie.net", true },
+  { "jessecharlie.org", true },
+  { "jessecharlienaser.com", true },
   { "jesseerbach.com", true },
   { "jessekaufman.com", true },
   { "jessem.fr", true },
+  { "jessenaser.com", true },
+  { "jessenaser.net", true },
+  { "jessenaser.org", true },
   { "jesseonline.tk", true },
   { "jessesjumpingcastles.co.uk", true },
   { "jessgranger.com", true },
+  { "jessica-weller.de", true },
   { "jessicabenedictus.nl", false },
+  { "jessicaevrard.com", true },
   { "jessicahrehor.com", true },
+  { "jessicharlie.com", true },
+  { "jessiecharlie.com", true },
+  { "jessycharlie.com", true },
   { "jesters-court.net", true },
   { "jesuisadmin.fr", true },
   { "jesuisunpapageek.fr", true },
+  { "jesuscnasistente.com", true },
   { "jesusthegoodshepherd.org", true },
   { "jesusvasquez.tk", true },
   { "jesusvazquez.online", true },
@@ -27114,7 +28436,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jetfirenetworks.com", true },
   { "jetflex.de", true },
   { "jetkittens.co.uk", true },
-  { "jetses.be", true },
   { "jetsetboyz.net", true },
   { "jetsieswerda.nl", true },
   { "jetswhiteout.com", true },
@@ -27123,19 +28444,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jetwhiz.com", true },
   { "jeurissen.co", true },
   { "jeuxerotiques.net", true },
-  { "jeuxetcodes.fr", true },
   { "jewadvert.ml", true },
   { "jeweet.net", true },
   { "jewishboyscouts.com", true },
   { "jewishquotations.com", true },
   { "jezeravillage.com", true },
   { "jezibaba.info", true },
+  { "jf-beco.pt", true },
+  { "jf-igrejanovadosobral.pt", true },
   { "jf886.cc", true },
   { "jfbst.net", true },
   { "jfgselbitztal.tk", true },
   { "jfr.im", true },
   { "jfreitag.de", false },
   { "jftw.org", true },
+  { "jfvaccountants.nl", true },
   { "jg-skid.me", true },
   { "jgid.de", true },
   { "jgke.fi", true },
@@ -27150,22 +28473,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jhe.li", true },
   { "jhill.de", true },
   { "jhollandtranslations.com", true },
-  { "jhuang.me", true },
   { "jhw3d.com", true },
   { "jhwestover.com", true },
   { "ji0vwl.net", true },
   { "jiahao.codes", true },
   { "jiangxu.site", true },
   { "jianji.de", true },
-  { "jianny.me", true },
   { "jianshu.com", true },
   { "jianwei.wang", true },
   { "jianyuan.art", true },
+  { "jiaty.com", true },
   { "jiayi.eu.org", true },
   { "jiayi.life", true },
   { "jicaivvip.com", true },
   { "jichi.io", true },
   { "jichi000.win", true },
+  { "jiexi6.com", true },
   { "jif.gc.ca", true },
   { "jigsawplanet.com", true },
   { "jiji.co.ke", true },
@@ -27175,25 +28498,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jiji.ng", true },
   { "jiji.ug", true },
   { "jijistatic.com", true },
-  { "jimbraaten.com", true },
   { "jimbutlerkiaparts.com", true },
+  { "jimcoggeshall.com", true },
   { "jimdorf.com", true },
   { "jime-hlavou.cz", true },
   { "jimeaton.com", true },
   { "jimfranke.com", true },
   { "jimfranke.nl", true },
+  { "jimkimmel.com", true },
   { "jimmiestore.com", true },
   { "jimmycai.com", true },
   { "jimmycarterlibrary.gov", true },
   { "jimmyroura.ch", false },
+  { "jimsefton.com", true },
   { "jimshaver.net", true },
   { "jimslop.nl", true },
   { "jinbijin.nl", true },
   { "jinbo123.com", false },
   { "jinbowiki.org", true },
   { "jinduoduo369.com", true },
-  { "jinduoduo666.com", true },
-  { "jinduoduo888.com", true },
+  { "jing-in.com", true },
+  { "jing-in.net", true },
   { "jing.su", true },
   { "jingbo.fan", true },
   { "jingjo.com.au", true },
@@ -27203,22 +28528,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jino-jossy.appspot.com", true },
   { "jino.gq", true },
   { "jinshuju.net", true },
+  { "jintaiyang123.org", true },
   { "jiogo.com", true },
   { "jirav.com", true },
-  { "jiretvariedades.com", true },
-  { "jiripudil.cz", true },
+  { "jiripik.com", true },
   { "jisai.net.cn", true },
+  { "jischool.org", true },
   { "jisha.site", true },
   { "jitterbit.com", true },
   { "jittruckparts.com", true },
+  { "jiu99shipin.com", true },
   { "jix.im", true },
   { "jixun.moe", true },
   { "jjhampton.com", true },
   { "jjj.blog", true },
-  { "jjrstudio.com", true },
+  { "jjphospitalaria.com", true },
   { "jjspartyhire.co.uk", true },
   { "jjvanoorschot.nl", true },
   { "jk-entertainment.biz", true },
+  { "jkbfabrics.com", true },
+  { "jkbizsolutions.org", true },
   { "jkchocolate.com", true },
   { "jkdhn.me", true },
   { "jkg.tw", true },
@@ -27228,6 +28557,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jkrippen.com", true },
   { "jkvov.com", true },
   { "jldp.org", true },
+  { "jldrenergysaver.com", true },
   { "jlink.nl", true },
   { "jlkhosting.com", true },
   { "jloh.codes", true },
@@ -27242,35 +28572,45 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jmbmexico.com", true },
   { "jmcataffo.com", true },
   { "jmce.eu", true },
-  { "jmcleaning.services", true },
   { "jmdiesel.com", true },
   { "jmedved.com", true },
   { "jmentertainment.co.uk", true },
   { "jmfjltd.com", true },
+  { "jmisern.com", true },
   { "jmk.hu", true },
   { "jmkrecords.fr", true },
   { "jmlogistica.com", true },
   { "jmorahan.net", true },
   { "jmpb.hu", true },
+  { "jmsjms.cc", true },
+  { "jmsjms.me", true },
   { "jmsjms.org", true },
   { "jmsjms.top", true },
   { "jmsjms.xyz", true },
   { "jmsolodesigns.com", true },
   { "jmssg.jp", true },
+  { "jmstfv.com", true },
+  { "jmsystems.sk", true },
+  { "jmwap.com", true },
+  { "jmzo.nl", true },
   { "jnjdj.com", true },
   { "jnm-art.com", true },
   { "jnordell.com", true },
+  { "jnssnfotografie.nl", true },
   { "jnsz.hu", true },
   { "joa-ebert.com", true },
+  { "joanjensen.net", true },
   { "joanofarcmtcarmel.org", true },
   { "joaoaugusto.net", false },
   { "joaobautista.com", true },
-  { "joaojunior.com", true },
   { "joaopenteado.com", true },
   { "joaosampaio.com.br", true },
+  { "job-chocolat.jp", true },
   { "job-ofertas.info", true },
+  { "job-uber.com", true },
   { "job.biz.tr", true },
   { "jobalicious.nl", true },
+  { "jobastudio.nl", true },
   { "jobatus.com.br", true },
   { "jobatus.es", true },
   { "jobatus.it", true },
@@ -27293,19 +28633,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jobs.ch", true },
   { "jobs.su", true },
   { "jobs4sales.ch", true },
-  { "jobsarkari.com", false },
   { "jobseekeritalia.it", true },
   { "jobsindemedia.nl", true },
   { "jobsisbrown.com", true },
   { "jobsnet.eu", true },
   { "jobsuchmaschine.ch", true },
   { "jobtarget.com", true },
+  { "jobtread.com", true },
   { "jobty.net", true },
   { "jobwinner.ch", true },
   { "jobzninja.com", true },
+  { "jocelynjenkins.com", true },
   { "jockbusuttil.co.uk", true },
   { "jockbusuttil.com", true },
   { "jockbusuttil.uk", true },
+  { "jocusvenlo.nl", true },
   { "jodaniels.photography", true },
   { "jodbush.com", true },
   { "jodlajodla.si", true },
@@ -27314,7 +28656,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jodyshop.com", true },
   { "joe262.com", true },
   { "joebiden.com", true },
-  { "joebobbriggs.net", true },
   { "joedavison.me", true },
   { "joedeblasio.com", true },
   { "joedinardo.com", true },
@@ -27338,7 +28679,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "joepitt.co.uk", false },
   { "joergschneider.com", true },
   { "joernwendland.de", true },
-  { "joerosca.com", true },
   { "joerss.at", true },
   { "joeskup.com", true },
   { "joespaintingpgh.com", true },
@@ -27346,14 +28686,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "joetsutj.com", true },
   { "joetyson.me", true },
   { "joeyfelix.com", true },
-  { "joeygitalian.com", true },
   { "joeyhoer.com", true },
   { "joeysmith.com", true },
   { "joeyvanvenrooij.nl", true },
   { "jogjacar.com", true },
+  { "jogosdeanimais.org", true },
   { "jogwitz.de", true },
   { "johan-koffeman.tk", true },
-  { "johanli.com", true },
   { "johannes-bauer.com", true },
   { "johannes-sprink.de", false },
   { "johannes-zinke.de", true },
@@ -27364,7 +28703,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "johanpeeters.com", true },
   { "johansf.tech", true },
   { "johego.org", true },
+  { "johlmike.com", true },
   { "johnaltamura.com", true },
+  { "johnathanhasty.com", true },
   { "johnball.co", true },
   { "johnbeil.com", true },
   { "johnberan.com", true },
@@ -27391,19 +28732,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "johnmh.me", true },
   { "johnmichel.org", true },
   { "johnnybet.com", true },
+  { "johnnybetstaging.com", true },
   { "johnnybsecure.com", true },
   { "johnpenny.info", true },
   { "johnpenny.uk", true },
   { "johnroach.io", true },
   { "johnroberts.me", true },
   { "johnrockefeller.net", true },
+  { "johnrosen.top", true },
   { "johnrosewicz.com", true },
   { "johnsanchez.io", true },
   { "johnsegovia.com", true },
   { "johnsongenealogy.net", true },
   { "johnvanhese.nl", true },
   { "johnyytb.be", true },
-  { "joi-dhl.ch", false },
   { "joinhonor.com", true },
   { "jointotem.com", true },
   { "joinus-outfits.nl", true },
@@ -27421,16 +28763,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jollykidswobbleworld.co.uk", true },
   { "jolo.software", true },
   { "jolokia.ch", true },
-  { "jomagus.de", true },
   { "jomo.tv", true },
   { "jomsolat.tk", true },
+  { "jonahburke.com", true },
   { "jonahperez.com", true },
-  { "jonale.net", true },
   { "jonas-thelemann.de", true },
   { "jonas.me", true },
+  { "jonasherkel.de", true },
   { "jonaskarlssonfoto.se", true },
   { "jonaskjodt.com", true },
+  { "jonaskoeritz.de", true },
   { "jonasled.de", true },
+  { "jonasmoeller.de", true },
   { "jonaswitmer.ch", true },
   { "jonathancarter.org", true },
   { "jonathandupree.com", true },
@@ -27443,6 +28787,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jondarby.com", true },
   { "jondevin.com", true },
   { "jondowdle.com", false },
+  { "jonesfor.men", true },
   { "jonespayne.com", false },
   { "jong030.nl", true },
   { "jongbloed.nl", true },
@@ -27461,9 +28806,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jonnybarnes.uk", true },
   { "jonnystoten.com", true },
   { "jonoalderson.com", true },
+  { "jonohewitt.com", true },
   { "jonola.com", true },
   { "jonpads.com", true },
   { "jonpavelich.com", true },
+  { "jons.org", true },
   { "jonscaife.com", true },
   { "jonssheds.direct", true },
   { "joodari.fi", true },
@@ -27472,13 +28819,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "joomla-leipzig.com", true },
   { "joompress.biz", true },
   { "joona.pw", true },
+  { "joorshin.ir", true },
+  { "joostbovee.nl", true },
   { "joostrijneveld.nl", true },
   { "joostvanderlaan.nl", true },
   { "jopl.org", true },
   { "joran.org", true },
   { "jorcus.com", true },
   { "jordandevelopment.com", true },
-  { "jordanhamilton.me", true },
+  { "jordanhamilton.me", false },
   { "jordankmportal.com", true },
   { "jordanprogrammer.tk", true },
   { "jordans.co.uk", true },
@@ -27487,6 +28836,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jordibelgraver.email", true },
   { "jordibelgraver.eu", true },
   { "jordibelgraver.xyz", true },
+  { "jordywijman.nl", true },
+  { "jorganicsolutions.com", true },
   { "jorgeto.ddns.net", true },
   { "jorisdalderup.nl", true },
   { "jornalalerta.com.br", true },
@@ -27502,10 +28853,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "joseetesser.nl", true },
   { "josef-lotz.de", true },
   { "josefernandomorilloardila.tk", true },
-  { "josefjanosec.com", true },
   { "josefottosson.se", true },
-  { "josegdigital.com", true },
-  { "joseitoda.org", true },
+  { "joseluishenriquez.cl", true },
   { "josemikkola.fi", true },
   { "josepbel.com", true },
   { "josephbarela.com", true },
@@ -27516,8 +28865,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "josephsniderman.com", true },
   { "josephsniderman.org", true },
   { "josephv.website", true },
+  { "joshdiamant.com", true },
   { "joshgilson.com", true },
-  { "joshgrancell.com", true },
   { "joshharmon.me", true },
   { "joshics.in", false },
   { "joshjanzen.com", true },
@@ -27528,13 +28877,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "joshtriplett.org", true },
   { "joshua-kuepper.de", true },
   { "joshua.bio", true },
-  { "joshuadmiller.info", true },
+  { "joshuadiamant.com", true },
   { "joshuamessick.com", true },
   { "joshuameunier.com", true },
-  { "joshuarogers.net", true },
+  { "josien.net", true },
   { "josoansi.de", true },
   { "jouons-aux-echecs.be", true },
   { "jourdain.pro", true },
+  { "journaldesvoisins.com", true },
+  { "journales.com", true },
   { "journalism-schools.com", true },
   { "journalof.tech", true },
   { "journeedesfilles.gc.ca", true },
@@ -27542,6 +28893,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "journeyfriday.rocks", true },
   { "journeying.ca", true },
   { "journeyof1000hops.com", true },
+  { "journeytoascension.com", true },
   { "journeytomastery.net", true },
   { "joustsec.ca", true },
   { "joustsec.com", true },
@@ -27550,12 +28902,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jovani.com", false },
   { "jovenescontraelaburrimiento.tk", true },
   { "jovic.hamburg", true },
+  { "jovisa.com.tw", true },
   { "joyful.house", true },
   { "joyfulexpressions.gallery", true },
   { "joyfulhealthyeats.com", true },
   { "joyinverse.com", true },
   { "joyofcookingandbaking.com", true },
   { "joyofhaskell.com", true },
+  { "joyousisle.com", true },
   { "joyqi.com", true },
   { "joysinventingblog.com", true },
   { "jpbe-network.de", true },
@@ -27567,12 +28921,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jphandjob.com", true },
   { "jplennard.com", true },
   { "jplesbian.com", true },
+  { "jpm-inc.jp", true },
   { "jpmelos.com", true },
   { "jpmelos.com.br", true },
   { "jpmguitarshop.com.br", true },
   { "jpod.cc", true },
+  { "jpoirierlavoie.ca", true },
   { "jppcadvertising.com", true },
   { "jpph.org", true },
+  { "jpprivatehiretaxis.co.uk", true },
   { "jpralves.net", true },
   { "jproxx.com", true },
   { "jps-selection.co.uk", true },
@@ -27581,20 +28938,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jpshop.ru", true },
   { "jpsinflatables.co.uk", true },
   { "jpslconsulting.ca", true },
-  { "jpvtutoriales.com", true },
-  { "jqk918.com", true },
+  { "jpst.it", true },
   { "jquery.wtf", true },
   { "jrabasco.me", true },
   { "jrc9.ca", false },
   { "jrcmo.com", true },
   { "jreb.nl", true },
   { "jreiff.de", true },
+  { "jrjuristen.nl", true },
   { "jross.me", true },
+  { "jrstehlik.com", true },
+  { "jrstehlik.cz", true },
   { "jrt.ovh", true },
   { "jrtapsell.co.uk", true },
   { "jrxpress.com", true },
   { "js-web.eu", true },
-  { "js0204.com", true },
   { "js636.com", true },
   { "js637.com", true },
   { "js638.com", true },
@@ -27609,17 +28967,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jsdelivr.com", true },
   { "jselby.net", true },
   { "jsent.co.uk", true },
+  { "jsfloydlaw.com", true },
+  { "jsheekeyatlanticbar.co.uk", true },
   { "jshub.com", true },
   { "jsidefox.de", true },
+  { "jsjohnsononline.com", true },
   { "jsk26.ru", true },
   { "jskoelliken.ch", true },
   { "jsme.cz", true },
-  { "jsmetallerie.fr", true },
   { "jsnfwlr.com", true },
   { "jsnfwlr.io", true },
-  { "jss6868.cc", true },
+  { "json.download", true },
+  { "jsproxy.tk", false },
   { "jsteward.moe", true },
   { "jstore.ch", true },
+  { "jswebbdevelopment.com", true },
   { "jsxc.ch", true },
   { "jtcat.com", true },
   { "jtcjewelry.com", true },
@@ -27627,7 +28989,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jtl-pos.com", true },
   { "jtl-software.com", true },
   { "jtl-software.de", false },
-  { "jtmar.me", true },
   { "jtp.id", true },
   { "jts3servermod.com", true },
   { "jtslay.com", true },
@@ -27638,7 +28999,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "juanjovega.com", true },
   { "juanmazzetti.com", true },
   { "juanxt.ddns.net", true },
-  { "jubileum.online", true },
   { "jubobs.com", true },
   { "jucca-nautica.si", true },
   { "jucktehkeinen.de", true },
@@ -27647,13 +29007,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "judoprodeti.cz", true },
   { "judosaintdenis.fr", true },
   { "judybai.me", true },
-  { "judytka.cz", true },
   { "juef.space", true },
-  { "juegosycodigos.es", true },
   { "juegosycodigos.mx", true },
   { "juegosyolimpicos.com", true },
   { "juergen-elbert.de", true },
-  { "juergenhecht.de", true },
   { "juergenklieber.de", true },
   { "juergenspecht.com", true },
   { "juergenspecht.de", true },
@@ -27673,9 +29030,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "julia-clarete.tk", true },
   { "julia-thonig.de", true },
   { "juliaknightly.com", true },
+  { "julian-miller.de", true },
   { "julian-post.de", true },
   { "julian-uphoff.de", true },
-  { "julian-weigle.de", true },
   { "julianbroadway.com", true },
   { "juliangonggrijp.com", true },
   { "julianickel.de", true },
@@ -27683,7 +29040,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "juliansimioni.com", true },
   { "julianskitchen.ch", false },
   { "julianvmodesto.com", true },
-  { "julianweigle.de", true },
   { "julianxhokaxhiu.com", true },
   { "juliazeengardendesign.co.uk", true },
   { "julibear.com", true },
@@ -27696,7 +29052,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "juliemaurel.fr", true },
   { "julienc.io", true },
   { "juliendoco.com", true },
-  { "julienpaterne.com", false },
   { "julienschmidt.com", true },
   { "julienstalder.ch", true },
   { "julientartarin.com", true },
@@ -27705,7 +29060,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jullensgroningen.com", true },
   { "julm.de", true },
   { "jultube.de", true },
-  { "jumboquid.co.uk", true },
+  { "jumeirashoes.com", true },
   { "jump-zone.co.uk", true },
   { "jump.wtf", true },
   { "jump4funinflatables.co.uk", true },
@@ -27719,7 +29074,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jumpinchat.com", true },
   { "jumpingbee.co.uk", true },
   { "jumpingcastlesonline.com.au", true },
-  { "jumpingdeliege-vip.be", true },
   { "jumpingjacksbouncycastles.co.uk", true },
   { "jumpinjaes.co.uk", true },
   { "jumpinmonkeys.co.uk", true },
@@ -27738,18 +29092,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "junglevet.fr", true },
   { "junglist.org", true },
   { "jungyonghwa.tk", true },
-  { "juni.io", true },
   { "junias-fenske.de", true },
   { "juniorhandball.com", true },
   { "juniperroots.ca", true },
   { "junjun-web.net", true },
   { "junkdrome.org", true },
+  { "junkfoodcafe.com", true },
   { "juno.co.uk", true },
   { "junodownload.com", true },
-  { "junta.pl", true },
   { "juozasveza.lt", true },
+  { "jupiterchiropractic.com", true },
   { "juppy.tk", true },
-  { "jupuglia.com.br", true },
   { "jura-reiseschutz.de", true },
   { "juragan.ga", true },
   { "jurassicbarkharrogate.co.uk", true },
@@ -27761,13 +29114,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "juristique.org", true },
   { "juristique.us", true },
   { "jurojin.net", true },
-  { "jusos-goettingen.de", true },
+  { "jurriaan.ninja", true },
   { "just-heberg.fr", true },
   { "just-keep-swimming.tk", true },
   { "just-vet-and-drive.fr", true },
   { "just-webdesign-berlin.de", true },
   { "just2trade.com", true },
   { "just3preety.com", true },
+  { "justacoupleofclarkes.co.uk", true },
   { "justbelieverecoverypa.com", true },
   { "justbookexcursions.com", true },
   { "justbooktransfers.com", true },
@@ -27783,12 +29137,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "justimports.com.br", true },
   { "justin-p.me", true },
   { "justinfreid.com", true },
-  { "justinharrison.ca", true },
   { "justinho.com", true },
   { "justinmuturifoundation.org", true },
   { "justinstandring.com", true },
   { "justknigi.gq", true },
   { "justmysocks.xyz", true },
+  { "justmysocks8.com", true },
+  { "justninja.com", true },
   { "justonce.net", true },
   { "justpaste.it", true },
   { "justquoteme.ga", true },
@@ -27808,26 +29163,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "juweliervanwillegen.nl", true },
   { "juxin08.com", true },
   { "juyunce.com", true },
-  { "jvandenbroeck.com", true },
   { "jvanerp.nl", true },
   { "jvbouncycastlehire.co.uk", true },
   { "jvdham.nl", true },
   { "jvdz.nl", true },
   { "jvega.me", true },
-  { "jvlandscapingservices.com", true },
   { "jvlfinance.cz", true },
+  { "jvn.com", true },
   { "jvphotoboothhire.co.uk", true },
   { "jvrproductions.com", true },
   { "jvsticker.com", true },
+  { "jw.fail", true },
   { "jw1.ca", true },
-  { "jw66.cc", true },
   { "jw77.cc", true },
   { "jwatt.org", true },
+  { "jwatt.uk", true },
   { "jwchords.org", true },
   { "jwe.nl", true },
   { "jwhite.network", true },
   { "jwilsson.com", true },
-  { "jwimps.com", true },
   { "jwjwjw.com", true },
   { "jwmmarketing.com", true },
   { "jwnotifier.org", true },
@@ -27845,6 +29199,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "jyoti-fairworks.org", true },
   { "jyrilaitinen.fi", true },
   { "jyvaskylantykkimies.fi", true },
+  { "jzbk.org", true },
   { "jzcapital.co", true },
   { "jzgj088.com", true },
   { "jzwebdesign.ie", true },
@@ -27856,12 +29211,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k-sails.com", true },
   { "k-scr.me", true },
   { "k-system.de", true },
-  { "k-tube.com", true },
   { "k10.ag", true },
   { "k10.app", true },
   { "k10.best", true },
   { "k1024.org", true },
-  { "k1958.com", true },
+  { "k123123.com", true },
+  { "k1958.com", false },
+  { "k1chn.com", true },
+  { "k234234.com", true },
   { "k258059.net", true },
   { "k2mts.org", true },
   { "k36533.com", true },
@@ -27884,6 +29241,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k668.vip", true },
   { "k6688.ag", true },
   { "k669.ag", true },
+  { "k66wang.com", true },
+  { "k66win.com", true },
   { "k7azx.com", true },
   { "k8-1.com", true },
   { "k8-2.com", true },
@@ -27904,6 +29263,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k805.net", true },
   { "k8052.com", true },
   { "k8053.com", true },
+  { "k80608.com", true },
   { "k8062.com", true },
   { "k8063.com", true },
   { "k8067.com", true },
@@ -27912,7 +29272,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k8071.com", true },
   { "k8073.com", true },
   { "k8075.com", true },
-  { "k8079.com", true },
   { "k8082.com", true },
   { "k8083.com", true },
   { "k8084.com", true },
@@ -27920,7 +29279,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k809.net", true },
   { "k8097.com", true },
   { "k8098.com", true },
-  { "k80998.com", true },
   { "k8100.com", true },
   { "k8102.com", true },
   { "k8103.com", true },
@@ -27936,16 +29294,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k8121.com", true },
   { "k8125.com", true },
   { "k8158.com", true },
+  { "k816.com", true },
   { "k816.net", true },
   { "k81788.com", true },
   { "k818.co", true },
-  { "k81818.com", true },
+  { "k819.com", true },
   { "k819.net", true },
   { "k821.net", true },
   { "k82222.com", true },
   { "k82222.net", true },
   { "k8268.net", true },
   { "k8270.com", true },
+  { "k829.com", true },
   { "k82999.com", true },
   { "k831.com", true },
   { "k83333.com", true },
@@ -27976,9 +29336,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k865.com", true },
   { "k865.net", true },
   { "k86666.com", true },
-  { "k8668.com", true },
   { "k8668.net", true },
   { "k86681.com", true },
+  { "k86690.com", true },
   { "k867.co", true },
   { "k867.com", true },
   { "k86788.com", true },
@@ -28030,7 +29390,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k86965.com", true },
   { "k86966.com", true },
   { "k86967.com", true },
-  { "k86988.com", true },
   { "k86989.com", true },
   { "k86990.com", true },
   { "k86991.com", true },
@@ -28086,6 +29445,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k8736.com", true },
   { "k875.co", true },
   { "k8771.com", true },
+  { "k87777.com", true },
   { "k8780.com", true },
   { "k8804.com", true },
   { "k88101.com", true },
@@ -28216,24 +29576,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k8892.com", true },
   { "k89.app", true },
   { "k89188.com", true },
-  { "k8927.com", true },
   { "k89388.com", true },
   { "k8955.com", true },
   { "k8974.com", true },
   { "k8994.com", true },
+  { "k89999.com", true },
+  { "k8cf002.com", true },
+  { "k8cf003.com", true },
+  { "k8cf005.com", true },
+  { "k8cf006.com", true },
+  { "k8cf007.com", true },
   { "k8dc01.com", true },
   { "k8dc13.com", true },
   { "k8dc17.com", true },
-  { "k8gege.com", true },
   { "k8md01.com", true },
   { "k8md12.com", true },
   { "k8n.de", true },
   { "k8r.eu", true },
   { "k8slot.com", true },
+  { "k8top.com", true },
   { "k8v02.com", true },
   { "k8v03.com", true },
   { "k8v04.com", true },
-  { "k8v05.com", true },
   { "k8v06.com", true },
   { "k8v07.com", true },
   { "k8v08.com", true },
@@ -28254,6 +29618,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "k8v27.com", true },
   { "k8v29.com", true },
   { "k8v30.com", true },
+  { "k8vn001.com", true },
+  { "k8vn002.com", true },
+  { "k8vn003.com", true },
+  { "k8vn005.com", true },
+  { "k8vn006.com", true },
+  { "k8vn007.com", true },
+  { "k8vn008.com", true },
+  { "k8vn009.com", true },
+  { "k8vn010.com", true },
+  { "k8vn011.com", true },
+  { "k8vn9999.com", true },
   { "k9swx.com", true },
   { "kaamoscreations.com", true },
   { "kaanhaa.com", true },
@@ -28262,18 +29637,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kaatsen.tk", true },
   { "kab-s.de", true },
   { "kabachok.tk", true },
+  { "kabal-invasion.com", true },
   { "kabarlinux.id", true },
+  { "kabartani.com", true },
   { "kabashop.com.br", true },
   { "kabellegger.nl", true },
   { "kabeltv.co.nz", true },
   { "kabeuchi.com", true },
   { "kabinett.cz", true },
+  { "kabukpsikoloji.com", true },
   { "kabulpress.org", true },
   { "kabus.org", true },
   { "kacgal.com", true },
   { "kachelfm.nl", true },
   { "kachlikova2.cz", true },
   { "kack.website", true },
+  { "kadenba.ch", true },
   { "kadhambam.in", true },
   { "kado-ya.jp", true },
   { "kadro.com.pl", true },
@@ -28286,10 +29665,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kafoom.de", true },
   { "kagicomb.org", true },
   { "kagitreklam.com", true },
-  { "kagucho.net", true },
   { "kaheim.de", true },
   { "kai-ratzeburg.de", true },
   { "kai-ruecker.tk", true },
+  { "kai.cool", false },
   { "kaibo.cz", true },
   { "kaibo.eu", true },
   { "kaidoblogi.eu", true },
@@ -28326,7 +29705,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kakie-gobocha.jp", true },
   { "kakie-kolesa.ru", true },
   { "kakolightingmuseum.or.jp", true },
-  { "kaktuskola.se", true },
+  { "kalakarclub.com", true },
   { "kalamos-psychiatrie.be", true },
   { "kalamos.tk", true },
   { "kalashcards.com", true },
@@ -28338,8 +29717,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kalender.com", true },
   { "kalevlamps.co.uk", true },
   { "kalex.nl", true },
+  { "kalhufvudet.se", true },
+  { "kaliaa.fi", true },
+  { "kaliajoyas.com", true },
   { "kalian.cz", true },
   { "kaliboairport.tk", true },
+  { "kaligrafievreni.com", true },
   { "kaliningrad.gq", true },
   { "kalisch.eu", true },
   { "kalkulacka-havarijni.cz", true },
@@ -28348,24 +29731,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kalmar.com", true },
   { "kalmykphilly.org", true },
   { "kalombo.ru", true },
+  { "kalprajsolutions.com", true },
   { "kalsa.ga", true },
   { "kaltenbrunner.it", true },
   { "kalterersee.ch", true },
   { "kalugadeti.ru", true },
+  { "kalwak.cr", true },
   { "kalwestelectric.com", true },
-  { "kalyanmatka.guru", false },
+  { "kalyanmatka.guru", true },
   { "kam-serwis.pl", true },
-  { "kamagraerektion.eu", true },
   { "kamata-shinkyu-seikotsu.jp", true },
   { "kameari-za.space", true },
   { "kamen-master.ru", true },
+  { "kameng.com", true },
+  { "kamengapp.com", true },
   { "kamikaichimaru.com", false },
   { "kamikatse.net", true },
   { "kamildrozd.tk", true },
-  { "kamilmagdziak.pl", true },
+  { "kamilmajewski.pl", true },
   { "kaminbau-laub.de", true },
   { "kamisato-ent.com", true },
   { "kamixa.se", true },
+  { "kamp-kisten.nl", true },
   { "kamppailusali.fi", true },
   { "kamranmirhazar.com", true },
   { "kamui.co.uk", true },
@@ -28375,14 +29762,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kanaete-uranai.com", true },
   { "kanag.pl", true },
   { "kanal-tv-haensch.de", true },
-  { "kandalife.com", true },
   { "kandhamal.org", true },
   { "kandianshang.com", true },
   { "kandofu.com", true },
-  { "kandoo.tech", true },
   { "kanecastles.com", true },
   { "kanehusky.com", false },
-  { "kanetix.ca", true },
   { "kangaroo-bouncycastle.co.uk", true },
   { "kangarooislandholidayaccommodation.com.au", true },
   { "kangaroojacks.co.uk", true },
@@ -28392,16 +29776,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kangaroovalleyolives.com.au", true },
   { "kangaroovalleyshow.org.au", true },
   { "kangaroovalleywoodcrafts.com.au", true },
+  { "kangutingo.com", true },
   { "kanis.ag", true },
   { "kanis.me", true },
   { "kankimaru.com", true },
   { "kanna.cf", true },
   { "kannchen.de", true },
   { "kanootours.com", true },
+  { "kanope.com.br", true },
   { "kanpian369.com", true },
   { "kansaiyamamoto.jp", true },
+  { "kant1.tk", true },
   { "kantankye.nl", true },
-  { "kantanmt.com", true },
   { "kantoportraits.com", true },
   { "kantorosobisty.pl", true },
   { "kanuvu.de", true },
@@ -28410,7 +29796,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kanzlei-gaengler.de", true },
   { "kanzlei-oehler.com", true },
   { "kanzlei-sixt.de", true },
-  { "kap-genial.de", true },
   { "kap.pe", true },
   { "kapelya.gq", true },
   { "kapler.family", true },
@@ -28454,6 +29839,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "karmaassurance.ca", true },
   { "karmabaker.com", true },
   { "karmaflux.com", true },
+  { "karmaful.de", true },
   { "karmainsurance.ca", true },
   { "karmaplatform.com", true },
   { "karmaspa.se", true },
@@ -28461,13 +29847,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "karneid.info", true },
   { "karo.pc.pl", true },
   { "karodos.pl", true },
-  { "karolak.fr", true },
   { "karopapier.de", true },
   { "karopc.com.pl", true },
   { "karopc.pl", true },
   { "karoverwaltung.de", true },
   { "karrot.world", true },
   { "karrselfstorage.com", true },
+  { "karsofsystems.com", true },
   { "karsten-voigt.de", true },
   { "karta-paliwowa.pl", true },
   { "kartacha.com", true },
@@ -28477,17 +29863,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kartec.com", true },
   { "karten-verlag.de", true },
   { "kartikmohta.com", true },
+  { "kartina.io", true },
   { "kartoffel-tobi.de", true },
   { "kartonmodellbau.org", true },
   { "karula.org", true },
   { "karupp-did.net", true },
   { "kas.ie", true },
+  { "kaseban.com", true },
   { "kasei.im", true },
   { "kashbet.net", true },
   { "kashflowcoupon.co.uk", true },
   { "kashflowpromocode.co.uk", true },
   { "kashinavi.com", true },
   { "kashis.com.au", true },
+  { "kashrutbaking.com", true },
   { "kasiafricagroup.org", true },
   { "kasinobonus.com", true },
   { "kasko.io", true },
@@ -28502,10 +29891,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kassa.expert", true },
   { "kassa.fr", true },
   { "kassarsoap.com", true },
+  { "kasse.at", true },
   { "kastankaoffice.cz", true },
   { "kastelruth.biz", true },
   { "kastgroup.com", true },
-  { "kastorsky.ru", true },
+  { "kastorsky.ru", false },
   { "kasual.id", true },
   { "kat.marketing", true },
   { "katagena.com", true },
@@ -28517,7 +29907,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "katapult.es", true },
   { "katarsisuib.no", true },
   { "katcleaning.com.au", false },
-  { "katcr.co", true },
   { "katedra.de", true },
   { "katekligys.com", true },
   { "katemihalikova.cz", true },
@@ -28528,30 +29917,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kathegiraldo.com", true },
   { "katherineswynford.tk", true },
   { "kathleendeisher.com", true },
+  { "kathy.best", true },
   { "kathy.lgbt", true },
+  { "kathy.link", true },
   { "kati-raumplaner.de", true },
   { "katiechai.xyz", true },
   { "katieriker.com", true },
   { "katieskandy.co.uk", true },
   { "katieskastles.co.uk", true },
+  { "katio.net", true },
   { "kativa.it", true },
-  { "katja-und-ronny.de", true },
-  { "katjavoneysmondt.de", true },
   { "katka.info", true },
   { "katnunn.co.uk", true },
   { "kato-yane.com", true },
+  { "katom.com", true },
   { "katscastles.co.uk", true },
   { "katsiavarasorthopedics.gr", true },
   { "katsunet.com", true },
   { "kattelans.eu", true },
-  { "katyl.info", false },
   { "katyusha.net", true },
   { "kau-boys.com", true },
   { "kau-boys.de", true },
   { "kaufberatung.community", true },
   { "kaufkraftkiel.de", true },
   { "kavatasygarety.tk", true },
-  { "kavorka.me", true },
   { "kavovary-kava.cz", true },
   { "kawaii.su", true },
   { "kawaiicon.org", true },
@@ -28559,7 +29948,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kay.la", true },
   { "kayit.co.uk", true },
   { "kayo.digital", true },
-  { "kayscs.com", true },
   { "kaysis.gov.tr", false },
   { "kazakov.lt", true },
   { "kazancci.com", true },
@@ -28587,7 +29975,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kb283.com", true },
   { "kb2929.com", true },
   { "kb3232.com", true },
-  { "kb3434.com", true },
   { "kb3535.com", true },
   { "kb3636.com", true },
   { "kb367.com", true },
@@ -28616,6 +30003,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kb7474.com", true },
   { "kb750.com", true },
   { "kb756.com", true },
+  { "kb7676.com", true },
   { "kb787.com", true },
   { "kb8.ag", true },
   { "kb8.best", true },
@@ -28664,6 +30052,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kb8878.com", true },
   { "kb888.ag", true },
   { "kb8880.com", true },
+  { "kb88818.com", true },
   { "kb8882.com", true },
   { "kb8885.com", true },
   { "kb8889.com", true },
@@ -28694,10 +30083,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kbc.be", true },
   { "kbcequitas.hu", true },
   { "kbet168.com", true },
+  { "kbit.dk", true },
   { "kbjorklu.com", true },
   { "kbk4t.com", true },
   { "kbleventhire.co.uk", true },
   { "kbsinflatablekingdom.co.uk", true },
+  { "kbst.se", true },
   { "kbterapicenter.se", true },
   { "kc-holzfaeller.de", true },
   { "kc1hbk.com", true },
@@ -28710,34 +30101,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kcshipping.co.uk", true },
   { "kcsordparticipation.org", true },
   { "kd.net.nz", true },
+  { "kdcp.pw", true },
   { "kdex.de", true },
+  { "kdistech.nz", true },
   { "kdw.cloud", true },
   { "ke.fo", true },
   { "ke7tlf.us", true },
   { "keakon.net", true },
   { "keane.space", true },
+  { "kearnsmotorcar.com", true },
   { "keaysmillwork.com", true },
   { "keb.com.au", true },
   { "keb.net.au", true },
   { "kebabbesteld.nl", true },
   { "kebabbruce.com", false },
-  { "kebhanamyanmar.com", false },
+  { "kebhanamyanmar.com", true },
+  { "kebidanan.id", true },
   { "kecht.at", true },
   { "kedarastudios.com", true },
-  { "kedibizworx.com", true },
   { "kedv.es", true },
   { "kee.pm", true },
+  { "keeley.net", true },
   { "keeleysam.com", true },
   { "keelove.net", true },
   { "keengamer.com", true },
   { "keepa.com", true },
   { "keepdecor.com", true },
+  { "keeperklan.com", false },
   { "keepersecurity.com", true },
   { "keepingtheplot.co.uk", true },
   { "keepiteasy.eu", true },
   { "keepitsecure24.com", true },
   { "keepleft.gr", true },
   { "keepsight.org.au", true },
+  { "keesslop.nl", true },
   { "keestalkstech.com", true },
   { "keevault.pm", true },
   { "keeweb.info", true },
@@ -28747,15 +30144,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kehlenbach.net", true },
   { "keian.tk", true },
   { "keifel.de", true },
+  { "keilycosmetics.com", true },
   { "kein-design.de", true },
   { "keinefilterblase.de", true },
   { "keisaku.org", true },
   { "keishiando.com", true },
   { "keithlomax.com", true },
-  { "keithws.net", true },
   { "keke-shop.ch", true },
   { "kekku.li", true },
   { "keksi.io", true },
+  { "kelapagading.co.id", true },
   { "keldan.fo", true },
   { "kelderwijnen.nl", true },
   { "kelgtermans-usedcars.be", false },
@@ -28764,11 +30162,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "keller-aarau.ch", true },
   { "keller-sports.be", true },
   { "kellerlan.org", true },
+  { "kelleycurran.com", true },
   { "kellimacconnell.com", true },
   { "kellygrenard.com", true },
   { "kellyskastles.co.uk", true },
   { "kelsa.io", true },
   { "kelsall39.com", true },
+  { "kemand.com", true },
   { "kemerovo.gq", true },
   { "kemerovo.ml", true },
   { "kemerovo.tk", true },
@@ -28784,7 +30184,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kenbonny.net", true },
   { "kendermore.it", true },
   { "kengilmour.com", false },
-  { "kenguntokku.jp", true },
   { "kenia-vakantie.nl", true },
   { "keniff.gq", true },
   { "kenkou-kitakyusyu.jp", true },
@@ -28795,6 +30194,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kennethlim.me", true },
   { "kenneths.org", true },
   { "kenny-peck.com", true },
+  { "kennynet.co.uk", true },
   { "keno.im", true },
   { "kenokallinger.at", true },
   { "kenoschwalb.com", false },
@@ -28806,21 +30206,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kentec.net", false },
   { "kenterlis.gr", true },
   { "kenvix.com", true },
+  { "kenyons.info", true },
   { "keoliz.com", true },
   { "keops-spine.fr", true },
   { "kepkonyvtar.hu", true },
   { "keponews.com", true },
   { "keralit.nl", true },
   { "keramed.ga", true },
+  { "kerameion.com", true },
   { "kerebro.com", true },
   { "kerijacoby.com", true },
-  { "kermadec.com", true },
-  { "kermadec.fr", true },
-  { "kermadec.net", true },
   { "kernel-error.de", true },
   { "kernel-panik.me", true },
+  { "kernel.nz", true },
   { "kernelpanics.nl", true },
   { "kernelprogrammer.com", true },
+  { "kernet.com.ar", true },
   { "kernkompas.nl", true },
   { "kerrnel.com", true },
   { "kerrydavisguitars.tk", true },
@@ -28828,10 +30229,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kersvers.agency", true },
   { "kerus.net", true },
   { "kesef.org.il", true },
+  { "keskeces.com", true },
   { "kessawear.com", true },
   { "kesslerwine.com", true },
   { "ketamine.co.uk", true },
-  { "ketaminecareclinic.com", true },
   { "ketoconazole.gq", true },
   { "ketosecology.co.uk", true },
   { "ketotadka.com", true },
@@ -28844,13 +30245,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kevertje.net", true },
   { "kevin-darmor.eu", true },
   { "kevin-ta.com", true },
-  { "kevin.tw", true },
   { "kevinapease.com", true },
+  { "kevinbowers.me", true },
   { "kevinbusse.de", true },
   { "kevincox.ca", false },
   { "kevincramer.net", true },
-  { "kevindavid.org", true },
   { "kevindienst.blog", true },
+  { "kevinfumbles.com", true },
   { "kevinhill.nl", true },
   { "kevinhq.com", true },
   { "kevinkla.es", true },
@@ -28860,12 +30261,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kevinmorssink.nl", true },
   { "kevinpatel.com", true },
   { "kevinpirnie.com", false },
-  { "kevinquintero.co", true },
+  { "kevinquintero.co", false },
   { "kevinrandles.com", false },
+  { "kevinratcliff.com", true },
+  { "kevinrousseeuw.be", true },
   { "kevinvanderperren.tk", true },
   { "kevyn.lu", true },
   { "kexino.com", true },
   { "key-form.fr", true },
+  { "key2swipe.com", true },
   { "keybase.io", true },
   { "keybored.co", true },
   { "keybored.me", true },
@@ -28874,6 +30278,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "keycontainers.co.za", true },
   { "keyex.com.br", true },
   { "keygen.sh", true },
+  { "keygens.pro", true },
   { "keyhani.tk", true },
   { "keyholdingservices.co.uk", true },
   { "keyhomechecker.com", true },
@@ -28894,7 +30299,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "keywebdesign.nl", true },
   { "keyworth-meadow.tk", true },
   { "kf-slot.com", true },
-  { "kf0000.com", true },
   { "kf0000g.com", true },
   { "kf005.com", true },
   { "kf006.com", true },
@@ -28913,7 +30317,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf0q.com", true },
   { "kf108.com", true },
   { "kf117.com", true },
-  { "kf1288.com", true },
   { "kf130.com", true },
   { "kf1313.com", true },
   { "kf172.com", true },
@@ -28921,10 +30324,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf196.com", true },
   { "kf199.com", true },
   { "kf200.vip", true },
-  { "kf2000.vip", true },
   { "kf201988.com", true },
   { "kf2020g.com", true },
   { "kf2121g.com", true },
+  { "kf2132.com", true },
+  { "kf2138.com", true },
   { "kf2222g.com", true },
   { "kf260.com", true },
   { "kf268.com", true },
@@ -28941,14 +30345,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf388.com", true },
   { "kf3u.com", true },
   { "kf4040.com", true },
-  { "kf4343g.com", true },
   { "kf5201314.com", true },
   { "kf5252.com", true },
   { "kf5288.com", true },
-  { "kf5656.com", true },
   { "kf5858.com", true },
   { "kf5858g.com", true },
   { "kf588.com", true },
+  { "kf6132.com", true },
   { "kf6161.com", true },
   { "kf6161g.com", true },
   { "kf618.com", true },
@@ -28968,7 +30371,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf6636.com", true },
   { "kf6637.com", true },
   { "kf6638.com", true },
-  { "kf6639.com", true },
   { "kf6666g.com", true },
   { "kf66888.com", true },
   { "kf680.com", true },
@@ -29001,7 +30403,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf6830.com", true },
   { "kf6831.com", true },
   { "kf6835.com", true },
-  { "kf6868.com", true },
   { "kf688.com", true },
   { "kf707.com", true },
   { "kf7171.com", true },
@@ -29014,12 +30415,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf780.com", true },
   { "kf7979.com", true },
   { "kf7979g.com", true },
-  { "kf7joz.com", true },
-  { "kf8181.com", true },
   { "kf820.com", true },
   { "kf826.com", true },
   { "kf8282g.com", true },
-  { "kf8383.com", true },
   { "kf846.com", true },
   { "kf848.com", true },
   { "kf8484g.com", true },
@@ -29061,7 +30459,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf8809.com", true },
   { "kf8810.com", true },
   { "kf8812.com", true },
-  { "kf8813.com", true },
   { "kf8817.com", true },
   { "kf8819.com", true },
   { "kf8820.com", true },
@@ -29089,13 +30486,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kf8892.com", true },
   { "kf8895.com", true },
   { "kf8896.com", true },
-  { "kf8897.com", true },
+  { "kf8949.com", true },
+  { "kf8950.com", true },
+  { "kf8951.com", true },
+  { "kf8952.com", true },
+  { "kf8953.com", true },
+  { "kf8954.com", true },
+  { "kf8955.com", true },
+  { "kf8956.com", true },
+  { "kf8957.com", true },
+  { "kf8958.com", true },
   { "kf908.com", true },
   { "kf909.com", true },
-  { "kf9191.com", true },
   { "kf955.com", true },
   { "kf968.com", true },
-  { "kf9696.com", true },
   { "kf9797.com", true },
   { "kf981.com", true },
   { "kf997.com", true },
@@ -29110,10 +30514,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kfv-kiel.de", false },
   { "kfz-hantschel.de", true },
   { "kfz-service-wachtmann.de", true },
+  { "kgcarpetandupholsterycleaning.com", true },
   { "kgm-irm.be", true },
   { "kgnk.ru", true },
   { "kgt10.ru", true },
-  { "kgv-schlauroth.de", true },
+  { "kha.com", true },
   { "khaganat.net", true },
   { "khairul-zamri.com", false },
   { "khakasiya.ml", true },
@@ -29123,20 +30528,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "khakassia.gq", true },
   { "khakassia.tk", true },
   { "khaledgarbaya.net", false },
-  { "khamphafood.com", true },
+  { "khaneh-memar.com", true },
   { "khanovaskola.cz", true },
   { "khas.co.uk", true },
   { "khasiatmanfaat.com", true },
   { "khedmatazma.com", true },
-  { "kheshtar.pl", true },
   { "khetmaal.com", true },
   { "khetzal.info", true },
+  { "kheyrabady.com", true },
   { "khg-orchester.de", true },
   { "khipu.com", true },
   { "khmb.ru", false },
   { "khmh.co.uk", true },
   { "khojhealth.com", true },
-  { "khokey.com", true },
   { "khorne.me", true },
   { "khoury-dulla.ch", true },
   { "khouryalexandre.com", false },
@@ -29145,6 +30549,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "khslaw.com", true },
   { "khudothiswanpark.vn", true },
   { "khushiandjoel.com", true },
+  { "ki-management.ch", true },
   { "kiadoapartman.hu", true },
   { "kiahalchemy.com", true },
   { "kiahoriane.com", true },
@@ -29184,16 +30589,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kiekin.org", true },
   { "kiekko.pro", true },
   { "kieran.de", true },
+  { "kieran.ie", true },
+  { "kieranjones.uk", true },
   { "kieskundig.nl", true },
+  { "kiesmedia.com", true },
   { "kiesuwkerstkaart.nl", true },
   { "kigmbh.com", true },
   { "kii91.com", true },
+  { "kiinteistot-lidl.fi", true },
   { "kiir.net", true },
   { "kiisu.club", true },
   { "kik.ee", true },
   { "kikbb.com", true },
   { "kiki-voice.jp", true },
   { "kiknudes.co", true },
+  { "kiku.pw", true },
   { "kilbi-reussbuehl.ch", true },
   { "kilianvalkhof.com", true },
   { "kiliframework.org", true },
@@ -29206,11 +30616,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kilo-files.tk", true },
   { "kilobyte22.de", true },
   { "kilogram.nl", true },
-  { "kilometertje.nl", true },
+  { "kimai.cloud", true },
+  { "kimamass.com", true },
   { "kimathilegal.com", true },
   { "kimbal.co.uk", true },
   { "kimberleythomson.tk", true },
   { "kimdumaine.com", true },
+  { "kimiadaro.ir", true },
   { "kimiris.com", true },
   { "kimis.gr", true },
   { "kimisia.net", true },
@@ -29220,19 +30632,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kimmel.com", false },
   { "kimmel.in", true },
   { "kimochi.info", true },
-  { "kimono-rental-one.com", true },
   { "kimotodental.com", true },
   { "kimsnagelstudio.nl", true },
-  { "kimtran.kim", true },
   { "kimtstore.com", true },
-  { "kin-to-kin.ca", true },
   { "kinaesthetics-forschung.net", true },
   { "kinautas.com", true },
   { "kindconcentrates.com", false },
   { "kinderarzt-berlin-zia.de", true },
   { "kinderbasar-luhe.de", true },
   { "kinderchor-bayreuth.de", true },
-  { "kinderergotherapie-ik.nl", true },
   { "kinderkleding.news", true },
   { "kinderopvangthuis.nl", true },
   { "kinderpneumologie.ch", true },
@@ -29256,6 +30664,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kingjamesbibleonline.org", true },
   { "kingjamesgospel.com", true },
   { "kinglier.ga", true },
+  { "kingnascholing.nl", true },
   { "kingofshooting.com", true },
   { "kingofthecastlecoventry.co.uk", true },
   { "kingofthecastlesentertainments.co.uk", true },
@@ -29266,7 +30675,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kingsgateseptic.com", true },
   { "kingshome.gr", true },
   { "kingsofkauffman.com", true },
-  { "kingstake.network", true },
+  { "kingsvilletexas.com", true },
   { "kingtreeexperts.com", true },
   { "kingwoodtxlocksmith.com", true },
   { "kini24.ru", true },
@@ -29289,11 +30698,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kinovsem.ml", true },
   { "kinozal-tv.appspot.com", true },
   { "kinozone.tk", true },
+  { "kinshipnd.com", true },
   { "kinsights.com", false },
   { "kinsmenhomelottery.com", true },
   { "kintana.ovh", true },
+  { "kintawifi.com", true },
   { "kintone.com", true },
   { "kintore.tv", true },
+  { "kinualive.com", true },
   { "kiocloud.com", true },
   { "kiomara.com", true },
   { "kionetworks.es", true },
@@ -29309,6 +30721,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kirainmoe.com", true },
   { "kiraku.co", true },
   { "kirbear.com", true },
+  { "kirche-sankt-augustin.de", true },
   { "kirchen-im-web.de", false },
   { "kirchenchor-olzheim.de", true },
   { "kirchengemeinde-markt-erlbach.de", true },
@@ -29319,15 +30732,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kirgistan.tk", true },
   { "kirig.ph", true },
   { "kirikira.moe", true },
-  { "kirill.ws", true },
+  { "kirill.fr", true },
   { "kirillaristov.com", true },
   { "kirillpokrovsky.de", true },
   { "kirinas.com", true },
   { "kirinuki.jp", true },
   { "kirkae.com", true },
   { "kirkforcongress.com", true },
-  { "kirkforillinois.com", true },
   { "kirklandtriallawyer.com", true },
+  { "kirkovsky.com", true },
   { "kirkwood-smith.com", true },
   { "kirkwoodfence.com", true },
   { "kiro-ku.com", true },
@@ -29348,7 +30761,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kiskeedeesailing.com", true },
   { "kisma.de", true },
   { "kisser.name", true },
-  { "kissflow.com", true },
+  { "kissesb.com", true },
   { "kissgyms.com", true },
   { "kisskiss.ch", true },
   { "kissmycreative.com", true },
@@ -29361,6 +30774,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kitchen-profi.by", true },
   { "kitchen-profi.com.ua", true },
   { "kitchen-profi.kz", true },
+  { "kitchenpad.biz", true },
+  { "kitchenpad.co.uk", true },
+  { "kitchenpad.info", true },
+  { "kitchenpad.net", true },
+  { "kitchenpad.org", true },
+  { "kitchenpad.us", true },
+  { "kitchenpadtimer.com", true },
   { "kitchenpunx.com", false },
   { "kitchenwarestore.xyz", true },
   { "kiteadventure.nl", true },
@@ -29373,21 +30793,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kiteschoolzandvoort.nl", true },
   { "kitevalley.tk", true },
   { "kitpartners.com", true },
-  { "kitsapsolutions.com", true },
+  { "kitseliit.ee", true },
   { "kittmedia.com", true },
   { "kittpress.com", true },
-  { "kiumie.com", true },
+  { "kittymagician.com", true },
   { "kivitelezesbiztositas.hu", true },
+  { "kiwee.eu", true },
+  { "kiwi-bird.xyz", true },
   { "kiwi.digital", true },
   { "kiwi.wiki", true },
   { "kiwibird.tokyo", true },
   { "kiwiflowershop.com.ua", true },
+  { "kiwitastic.com", true },
   { "kiyotatsu.com", true },
   { "kizomba.info", true },
   { "kizzedbykelz.com", true },
   { "kj-prince.com", true },
   { "kj1396.net", true },
-  { "kj1397.com", true },
   { "kjaer.io", true },
   { "kjarrval.is", true },
   { "kjchernov.info", true },
@@ -29406,12 +30828,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kkr-bridal.net", true },
   { "kks-karlstadt.de", true },
   { "kksg.com", true },
+  { "kkutu.xyz", true },
   { "kkyy.me", true },
   { "kkzxak47.com", true },
   { "kl-diaetist.dk", true },
   { "klaasmeijerbodems.nl", true },
+  { "klabnik.cz", true },
+  { "klabnikova.cz", true },
+  { "klacki.de", true },
   { "klaim.us", true },
   { "klanggut.at", true },
+  { "klapib.ee", true },
   { "klarika.com", true },
   { "klarmobil-empfehlen.de", true },
   { "klassika.tk", true },
@@ -29422,7 +30849,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "klaver.it", true },
   { "klaw.xyz", true },
   { "klaxon.me", true },
-  { "klcreations.co.uk", true },
   { "kle.cz", true },
   { "kleaning.by", true },
   { "klebeband.eu", true },
@@ -29451,10 +30877,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kleppe.co", true },
   { "kleteckova.cz", true },
   { "klev.su", true },
-  { "kleyer.eu", true },
   { "kli.is", true },
   { "klickstdu.com", true },
   { "kliemann.me", true },
+  { "klil.co.il", true },
   { "klimaloven.no", true },
   { "klimapartner.de", true },
   { "klimmzugstange-fitness.de", true },
@@ -29480,9 +30906,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "klssn.com", true },
   { "klu.io", true },
   { "klub.tk", true },
+  { "klubxanadu.cz", true },
   { "kluck.me", true },
   { "klugemedia.de", true },
-  { "klumba.org", true },
+  { "klusbedrijfdupau.nl", true },
   { "klustermedia.com", true },
   { "klusweb-merenwijk.nl", true },
   { "klva.cz", true },
@@ -29495,7 +30922,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kn4ola.com", true },
   { "knab-networks.com", true },
   { "knapp.noip.me", true },
-  { "knarcraft.net", true },
+  { "knapp.servehttp.com", true },
+  { "knautiluz.net", true },
   { "kncg.pw", true },
   { "kndkv.com", true },
   { "kndrd.io", true },
@@ -29506,7 +30934,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "knep.me", true },
   { "kneppe.me", true },
   { "knetterbak.nl", true },
-  { "kngk-azs.ru", true },
   { "kngk-group.ru", true },
   { "kngk.org", true },
   { "kngkng.com", true },
@@ -29521,7 +30948,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "knoji.com", true },
   { "knop.info", false },
   { "knowarth.com", true },
-  { "knowledgebuilds.com", true },
   { "knowledgehook.com", true },
   { "knowyourday.ai", true },
   { "knoxvilleimplants.com", true },
@@ -29539,6 +30965,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koba.jp", true },
   { "kobejet.com", true },
   { "kobofarm.com", true },
+  { "koboldmalade.fr", true },
   { "kobolya.hu", true },
   { "kobudo49.fr", true },
   { "kochbar.de", true },
@@ -29553,8 +30980,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kodak-ism.com", true },
   { "kodamail.com", true },
   { "kodden.com.br", true },
-  { "kode-it.de", true },
   { "kode.ch", false },
+  { "kodenia.com", true },
   { "kodify.net", true },
   { "kodkollen.com", true },
   { "kodkollen.se", true },
@@ -29566,7 +30993,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koef.nl", true },
   { "koehlhoff.de", true },
   { "koehn.com", true },
-  { "koeldezomerdoor.nl", true },
   { "koelnmafia.de", true },
   { "koenigsbrunner-tafel.de", true },
   { "koenleemans.nl", true },
@@ -29582,6 +31008,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koethen-markt.de", true },
   { "koetjesenkanker.nl", true },
   { "koffie-enzo.com", true },
+  { "koffkindom.ru", true },
   { "koflegend.com", true },
   { "kofler.info", true },
   { "kogak.ninja", true },
@@ -29590,6 +31017,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kogro.de", true },
   { "kogudesi.com", true },
   { "kohlchan.net", true },
+  { "kohlistkool.tk", true },
   { "koho.fi", true },
   { "kohoutsautomotive.com", true },
   { "kohsandra.com", false },
@@ -29597,6 +31025,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koi-lexikon.de", true },
   { "koicenter-thuine.de", true },
   { "koifish.org", true },
+  { "koineuno.com", true },
   { "koji-tsujitani.net", true },
   { "kojip.com", true },
   { "kojy.fr", true },
@@ -29604,6 +31033,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koketteriet.se", true },
   { "koki.cl", true },
   { "kokobaba.com", true },
+  { "kokomo.xyz", true },
   { "kokomu.com", true },
   { "kokona.ch", true },
   { "kokosnusswasser.de", true },
@@ -29611,17 +31041,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kolania.de", true },
   { "kolania.net", true },
   { "kolaprestaurant.com", true },
-  { "kolas.in", true },
   { "kolbeinsson.se", true },
   { "kolcsey.eu", true },
+  { "kolibrikapp.com", true },
   { "kolibrisolutions.nl", true },
   { "kolin.org", true },
-  { "kolitel.com", true },
   { "kolizaskrap.bg", true },
   { "kolja-engelmann.de", true },
-  { "kolkataflowermall.com", true },
   { "kolkinn.no", true },
-  { "kollect.ie", true },
   { "kollega.it", true },
   { "kollegamenti.it", true },
   { "kollross.io", true },
@@ -29631,13 +31058,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kolrami.com", true },
   { "koluke.co", true },
   { "koluke.com", true },
-  { "komall.net", true },
-  { "komelin.com", true },
+  { "komelin.com", false },
   { "komenamanda.de", true },
   { "kometia.com", true },
+  { "komfort.kh.ua", true },
   { "komicloud.com", true },
   { "komidoc.com", true },
-  { "komiksbaza.pl", true },
   { "kominfo.go.id", true },
   { "kominfo.net", false },
   { "kominki-sauny.pl", true },
@@ -29654,6 +31080,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kompetenzkurs.de", true },
   { "komplet.sk", true },
   { "kon-sil.de", true },
+  { "konarentals.net", true },
   { "kondi.net", true },
   { "kondomshop.org", true },
   { "kondou-butsudan.com", true },
@@ -29665,6 +31092,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "konings.it", false },
   { "koningskwartiertje.nl", true },
   { "konklone.com", true },
+  { "konkursita.ru", true },
   { "konosuke.jp", true },
   { "konplott.shop", true },
   { "konpyuta.nl", true },
@@ -29674,17 +31102,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "konsul.tk", true },
   { "kontaxis.org", true },
   { "kontorhaus-stralsund.de", true },
+  { "kontrolapovinnosti.cz", true },
+  { "konveer.com.ua", true },
   { "konventa.net", true },
   { "konyaescortsiteler.net", true },
   { "konyalian.com", true },
   { "konzertheld.de", true },
   { "koodaklife.com", true },
+  { "koode.mx", true },
   { "koodimasin.ee", true },
   { "koodimasin.eu", true },
   { "kooer.org", true },
-  { "koof.win", true },
+  { "kooibeds.com", true },
   { "koolauwomenshealthcare.com", true },
-  { "koolerbythelake.org", true },
   { "kooli.ee", true },
   { "koolikatsed.ee", true },
   { "koolitee.ee", true },
@@ -29696,6 +31126,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koozal.de", true },
   { "kopfgeld.tk", true },
   { "kopfkrieg.org", true },
+  { "kopfootdoctor.com", true },
   { "kopfundseele.de", true },
   { "kopidingin.xyz", true },
   { "kopjethee.nl", true },
@@ -29715,7 +31146,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "koreanrandom.com", true },
   { "koreanrandom.ru", true },
   { "koretech.nl", true },
+  { "korfbalinformatie.nl", true },
   { "korinar.com", true },
+  { "koriyoukai.net", true },
   { "kornrunner.net", true },
   { "korob-ok.com.ua", true },
   { "korobkovsky.ru", false },
@@ -29729,9 +31162,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "korup.com", true },
   { "koryfi.com", true },
   { "kos4all.com", true },
+  { "kos9078.com", true },
   { "koscielniak-nieruchomosci.pl", true },
   { "kosherjava.com", true },
-  { "kosho.org", true },
   { "kosinc.org", true },
   { "kosmos.org.tw", true },
   { "kosmosfestival.tk", true },
@@ -29747,23 +31180,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kotitesti.fi", true },
   { "kotke.ru", true },
   { "kotly-marten.com.ua", true },
+  { "kotmale.com", true },
   { "kotobox.net", true },
   { "kotois.com", true },
-  { "kotomei.moe", true },
-  { "kotonoha.cafe", true },
+  { "kotonozaka.xyz", true },
   { "kotori.love", true },
   { "kotuwa.tk", true },
   { "kouki-food.com", true },
   { "koumakan.cc", true },
   { "koumuwin.com", true },
+  { "koupons.nl", true },
   { "koushinjo.org", true },
-  { "kouten-jp.com", true },
   { "kov.space", true },
   { "kovachica.tk", true },
   { "koval.io", true },
-  { "kovals.sk", true },
   { "kovehitus.ee", true },
   { "kovspace.com", true },
+  { "kovuthehusky.com", true },
   { "kowalmik.tk", true },
   { "kowalstwo.com.pl", true },
   { "kowarschick.de", true },
@@ -29772,18 +31205,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kozlekedes.info", true },
   { "kozuch.biz", true },
   { "kp0808.cc", true },
-  { "kp0809.com", true },
   { "kpfanworld.com", true },
   { "kpforme.org", true },
   { "kpinvest.eu", true },
   { "kplasticsurgery.com", true },
   { "kplnet.net", true },
   { "kpmgclientcollab.co.nz", true },
+  { "kpnthings.com", true },
   { "kpop.re", true },
   { "kpopsource.com", true },
   { "kprem.com", true },
   { "kpumuk.info", true },
-  { "kr.cm", true },
   { "kr.search.yahoo.com", false },
   { "kr0n.dk", true },
   { "krachtinverbinding.nl", true },
@@ -29803,7 +31235,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kralovstvimap.cz", true },
   { "kram.nz", true },
   { "krambeutel.de", true },
-  { "kramer-edelstahl.de", true },
   { "kramsj.uk", true },
   { "krang.org.uk", true },
   { "kranjnakolo.ml", true },
@@ -29824,31 +31255,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kreativbande.com", true },
   { "kreativelabs.ch", false },
   { "kreativklinik.at", true },
+  { "kreativoweb.tk", true },
   { "kreativstrecke.de", true },
   { "kreatorbus.com", true },
   { "kredit-abzocke.com", true },
-  { "kredita.dk", true },
   { "kreditkacs.cz", true },
   { "kreditkoll.nu", true },
   { "kredytzen.pl", true },
-  { "kreen.org", true },
   { "krehl.io", true },
   { "kremalicious.com", true },
   { "kresimir-blazevic.tk", true },
+  { "krestanskydarek.cz", true },
   { "kretschmann.consulting", true },
   { "kreuzpfadfinder.de", true },
+  { "kreuzwortraetsellosungen.com", true },
   { "kreyolgym.fr", true },
   { "kriechel.de", true },
   { "krikorianconstruction.com", true },
-  { "krillz.se", true },
+  { "krimikiosk.de", true },
   { "krinetzki.de", true },
   { "kringloopwinkelsteenwijk.nl", true },
   { "krinnovations.ie", true },
   { "kriptokereso.com", true },
-  { "kriptosec.com", true },
   { "kriptoworld.hu", true },
-  { "kris.click", true },
   { "krise-chance.ch", true },
+  { "krisenintervention-deutschland.de", true },
+  { "kriseninterventiondeutschland.de", true },
   { "krisftp.fr", true },
   { "krishnenduayur.org", true },
   { "krishofer.com", true },
@@ -29865,12 +31297,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kritikawebu.cz", true },
   { "kritikos.io", true },
   { "krizevci.info", true },
+  { "krmela.com", true },
   { "krmeni.cz", false },
   { "kroell.net", true },
   { "krokedil.se", true },
   { "kromamoveis.com.br", true },
   { "kromax.it", true },
   { "kromonos.net", true },
+  { "kronopolo.com", true },
   { "kroon.email", true },
   { "kropkait.pl", true },
   { "krossakorven.tk", true },
@@ -29880,15 +31314,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "krsaustralia.com.au", true },
   { "krsn.de", true },
   { "krsvrs.nl", true },
+  { "krti.com.ua", true },
+  { "krug-munroe.wedding", true },
   { "krugersdorpplumber24-7.co.za", true },
   { "kruin.net", true },
   { "kruisselbrink.com", true },
   { "kruk.co", true },
   { "krumberconsulting.com", true },
   { "krumpf.de", true },
+  { "krup.com.ua", true },
   { "krupa.net.pl", false },
-  { "krupacars.pl", true },
   { "kruselegal.com.au", true },
+  { "krusic22.com", true },
   { "krutka.cz", true },
   { "kry.no", true },
   { "kry.se", true },
@@ -30007,7 +31444,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ks3888.com", true },
   { "ks3939.com", true },
   { "ks40.vip", true },
-  { "ks410.com", true },
   { "ks50.vip", true },
   { "ks5000.com", true },
   { "ks502.com", true },
@@ -30140,6 +31576,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ks695.com", true },
   { "ks698.com", true },
   { "ks6998.com", true },
+  { "ks7.vip", true },
   { "ks70.vip", true },
   { "ks7272.com", true },
   { "ks7373.com", true },
@@ -30198,11 +31635,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ksero.center", true },
   { "ksero.wroclaw.pl", true },
   { "ksham.net", true },
-  { "kshlm.in", true },
   { "ksmmmo.org.tr", true },
   { "ksoc.com", true },
   { "ksopp.si", true },
+  { "ksradio.it", true },
   { "kssk.de", true },
+  { "kst-dlvr.tk", true },
   { "kst-service.tk", true },
   { "kstr.us", true },
   { "ksukelife.com", true },
@@ -30218,9 +31656,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ktsee.eu.org", true },
   { "ktuluweb.tk", true },
   { "ktw.lv", true },
-  { "ku-7.club", true },
   { "kuadey.com", true },
-  { "kuaikan1.com", true },
   { "kuaimen.bid", true },
   { "kuaiyaojing.com", true },
   { "kualiti.net", true },
@@ -30230,15 +31666,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kuaza.com", true },
   { "kub.hr", true },
   { "kubabrussel.be", true },
-  { "kubanitoscali.com", true },
+  { "kubeico.com", true },
   { "kubkprf.ru", true },
   { "kublis.ch", true },
   { "kuchen-am-stiel.de", true },
+  { "kucloud.win", true },
   { "kucnibudzet.com", true },
   { "kudinilam.tk", true },
   { "kuditel.net", true },
   { "kudo.co.id", true },
-  { "kuechenprofi-group.de", false },
   { "kuechenserver.de", true },
   { "kuechenserver.org", true },
   { "kuehndel.org", true },
@@ -30262,6 +31698,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kulivps.com", true },
   { "kulpakko.com", true },
   { "kulthist.tk", true },
+  { "kultmobil.se", true },
   { "kultsar.com", true },
   { "kulturmel.ch", true },
   { "kuma.es", true },
@@ -30271,21 +31708,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kumpulannamabayi.com", true },
   { "kunaldesai.blog", true },
   { "kunda.ovh", true },
-  { "kundenerreichen.com", true },
-  { "kundenerreichen.de", true },
+  { "kundo.se", true },
   { "kungerkueken.de", true },
+  { "kunow.ml", true },
   { "kunra.de", true },
   { "kunstdrucke-textildruck.de", true },
   { "kunsthandel-augustus-rex.de", true },
   { "kunstkieken.nl", true },
   { "kunstundunrat.de", true },
-  { "kunzesoftware.com.br", true },
+  { "kunvarji.com", true },
   { "kuoruan.com", true },
+  { "kup-sluzbu.cz", true },
   { "kupaa.ink", true },
   { "kupferschmids.ch", true },
   { "kupferstichshop.com", true },
+  { "kupibilet.ru", true },
   { "kupiclub.com", true },
   { "kupid.com", true },
+  { "kupidom2.com", true },
   { "kupiewszystkieauta.pl", true },
   { "kupimlot.ru", true },
   { "kupinska.pl", true },
@@ -30294,6 +31734,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kuponydoher.cz", true },
   { "kupriy-coach.ru", true },
   { "kupschke.net", true },
+  { "kupsluzbu.cz", true },
   { "kupu.maori.nz", true },
   { "kurdishphotography.tk", true },
   { "kuretru.com", true },
@@ -30301,7 +31742,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kurido-anime.tk", true },
   { "kurierwilenski.lt", true },
   { "kurniadwin.to", true },
-  { "kurofuku.me", true },
   { "kuroha.co.uk", true },
   { "kuroinu.jp", true },
   { "kuroisalva.xyz", false },
@@ -30314,20 +31754,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kursypolska.pl", true },
   { "kurtschlatzer.com", true },
   { "kuruma-ex.jp", true },
+  { "kurungkurawal.id", true },
   { "kuruppa.xyz", true },
-  { "kusadasiforum.com", true },
+  { "kusasa.biz", true },
   { "kuscheln.com", true },
   { "kuschku.de", true },
-  { "kuscu.co", true },
   { "kusdaryanto.web.id", true },
   { "kusochi.eu", true },
   { "kustod.io", true },
   { "kutinsoft.com", true },
-  { "kutip.id", true },
   { "kutny.cz", true },
   { "kutsankaplan.com", true },
   { "kuttler.eu", true },
   { "kutus.ee", true },
+  { "kuwaitsatellite.co", true },
   { "kuwichitagastro.com", true },
   { "kuwichitaim.com", true },
   { "kuznica.tk", true },
@@ -30345,6 +31785,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kvilt.dk", true },
   { "kvnsport.ru", true },
   { "kvpc.com.au", true },
+  { "kwadraadtevredenheid.nl", true },
   { "kwat.chat", true },
   { "kwbresidential.com", true },
   { "kwcolville.com", true },
@@ -30360,6 +31801,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kybi.sk", true },
   { "kycisrael.com", true },
   { "kydara.com", true },
+  { "kyivstar-internet.com.ua", true },
   { "kyledrake.net", true },
   { "kylegutschow.com", true },
   { "kylejohnson.io", true },
@@ -30368,7 +31810,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kylinj.com", false },
   { "kynaston.org.uk", true },
   { "kynastonwedding.co.uk", true },
-  { "kyochon.fr", true },
   { "kyoko.org", true },
   { "kyosaku.org", true },
   { "kyoto-k9.com", false },
@@ -30379,7 +31820,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "kyras-castles.co.uk", true },
   { "kyrylych.tk", true },
   { "kys.host", true },
-  { "kysil.org", true },
+  { "kysseo.fr", true },
   { "kyunyuki.com", true },
   { "kyusyu.org", true },
   { "kyy.me", false },
@@ -30395,16 +31836,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "l17r.eu", true },
   { "l214.com", true },
   { "l2guru.ru", true },
+  { "l2l.vn", true },
   { "l33te.net", true },
   { "l36533.com", true },
   { "l36594.com", true },
   { "l4n-clan.de", true },
+  { "l51365.com", true },
   { "l66.io", true },
   { "l7plumbing.com.au", true },
   { "l7world.com", true },
-  { "l81818.com", true },
   { "la-baldosa.fr", false },
-  { "la-bolle.fr", true },
+  { "la-bolle.fr", false },
   { "la-compagnie-des-elfes.fr", true },
   { "la-fenice-neheim.de", true },
   { "la-ganiere.com", true },
@@ -30417,21 +31859,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "la-petite-entreprise.com", true },
   { "laab.gv.at", true },
   { "laan247.dk", true },
+  { "laanius.dk", true },
   { "laatikko.io", true },
   { "laatjeniethackmaken.nl", true },
+  { "lab-water-filters.com", true },
   { "labandadelamente.tk", true },
   { "labande-annonce.fr", true },
   { "labanochjonas.se", true },
   { "labanote.com", true },
   { "labanskoller.se", true },
   { "labanskollermark.se", true },
-  { "labastidedesaromes.com", true },
+  { "labastidedesaromes.com", false },
   { "labavn.com", true },
   { "labavn.org", true },
   { "labcenter.com", true },
   { "labcoat.jp", true },
-  { "labeled.vn", true },
-  { "labibikids.com.br", true },
+  { "labelfactory.nl", true },
+  { "labfilter.com", true },
   { "labiblioafronebrulepas.com", false },
   { "lablnet.tk", true },
   { "labobooks.com", true },
@@ -30443,11 +31887,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "laboutiquedejuliette.com", true },
   { "labrat.mobi", false },
   { "labsys.xyz", true },
+  { "labtechsupplyco.com", true },
+  { "labwater.com", true },
   { "labworks.org", true },
   { "laby.life", true },
+  { "laby.me", true },
   { "lacaey.se", true },
   { "lacantine.xyz", true },
+  { "lacasadelours.fr", true },
   { "lacaveducinquantenaire.com", true },
+  { "laceleste.it", true },
   { "lacentral.com", false },
   { "lacetsfun.com", true },
   { "lacetsroses.ch", true },
@@ -30457,11 +31906,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lachlan-harris.com", true },
   { "lachlan.com", true },
   { "lachlanallison.com", true },
-  { "lachosetypo.com", true },
   { "lachyoga-schwieberdingen.de", true },
   { "lackierereischmitt.de", true },
   { "laclaque.ch", false },
-  { "lacledeslan.com", false },
+  { "lacledeslan.com", true },
+  { "lacledeslan.org", true },
   { "lacledor.ch", false },
   { "laclefdor.ch", false },
   { "lacoast.gov", true },
@@ -30469,10 +31918,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lacocina.nl", true },
   { "lacoquette.gr", true },
   { "lacyc3.eu", true },
+  { "lada-event.com.ua", true },
   { "lada-granta.tk", true },
   { "lada-plus.tk", true },
   { "ladadate.com", true },
-  { "ladakhtrip.tours", true },
   { "ladanmokhtari.tk", true },
   { "ladbroke.net", false },
   { "ladenzeile.at", true },
@@ -30484,11 +31933,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ladotech.cn", true },
   { "ladotech.com", true },
   { "ladraiglaan.com", true },
-  { "ladyanna.de", true },
+  { "ladymakeup.com.ua", true },
+  { "ladymakeup.eu", true },
   { "ladyofhopeparish.org", true },
-  { "ladyofsongstv.com", true },
   { "laencina.tk", true },
   { "laermschmiede.de", true },
+  { "laestacionmontevideo.com", true },
   { "laextra.mx", true },
   { "lafansite.tk", true },
   { "lafantasticatravel.com", true },
@@ -30500,28 +31950,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lafillepolyvalente.com", true },
   { "lafka.org", true },
   { "laflash.com", true },
+  { "lagaia.com.br", true },
   { "lagazzettadigitale.it", true },
   { "lagerauftrag.info", true },
   { "lagit.in", true },
   { "laglab.org", false },
   { "lagout.org", true },
+  { "lagrange.cloud", true },
   { "lagriffeduservice.fr", true },
   { "lagsoftware.com", true },
   { "laguinguette.fr", true },
   { "lagunakitchenandbath.com", true },
+  { "lahacker.net", true },
   { "lahipotesisgaia.com", true },
   { "lahnau-akustik.de", true },
-  { "lahora.com.ec", true },
   { "lai.is", true },
-  { "lai.zone", true },
   { "laibcoms.com", true },
   { "laimut.com", true },
   { "lain.at", true },
   { "laindonleisure.co.uk", true },
+  { "laissezparler.fr", true },
   { "lajkatheme.com", true },
+  { "lak-berlin.de", true },
+  { "lake-bonavista.ca", true },
   { "lakeandriverrestoration.com", true },
   { "lakedavid.com.au", true },
-  { "lakeee.com", true },
   { "lakehavasuwebsites.com", true },
   { "lakelandbank.com", true },
   { "lakeoswegotowncar.com", true },
@@ -30534,10 +31987,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lakesherwoodlighting.com", true },
   { "lakesherwoodoutdoorlighting.com", true },
   { "lakeshowlife.com", true },
+  { "lakeview.photography", true },
   { "lakewoodcityglass.com", true },
   { "lakiernictwo.auto.pl", true },
   { "lakkt.de", true },
   { "lakonia.com.br", true },
+  { "lakorntoday.com", true },
   { "lalalab.com", true },
   { "lalaloe.be", true },
   { "lalaya.fr", true },
@@ -30545,6 +32000,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lalegria.tk", true },
   { "lalucepulsata.it", true },
   { "lalucioledigitale.com", true },
+  { "lalunaonlinebr.com", true },
   { "lalunecreative.com", true },
   { "lalyre-corcelles.ch", false },
   { "lamakat.de", true },
@@ -30554,16 +32010,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lamasacre.tk", true },
   { "lambangcapgiare.com", true },
   { "lambauer.com", true },
+  { "lambda.dance", true },
   { "lambda.sx", true },
   { "lambertshealthcare.co.uk", true },
   { "lambertz.xyz", true },
   { "lamboo.be", true },
+  { "lamchannang.com", true },
   { "lamclam.site", true },
   { "lamconnect.com", true },
+  { "lamdav.com", true },
   { "lamikvah.org", true },
   { "laminine.info", true },
   { "laminsaho.tk", true },
   { "lammersmarketing.com", true },
+  { "lamnea.se", true },
+  { "lamnhom.com.vn", true },
   { "lamontre.ru", true },
   { "lamp.re", false },
   { "lamp24.se", true },
@@ -30579,8 +32040,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lampposthomeschool.com", true },
   { "lampy.pl", true },
   { "lamujerquesoy.com", false },
-  { "lamunyon.com", true },
+  { "lamunyonfoundationrepair.com", true },
   { "lan.biz.tr", true },
+  { "lan4.life", true },
   { "lana.swedbank.se", true },
   { "lanahallen.com", true },
   { "lanbroa.eu", true },
@@ -30596,7 +32058,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "landchecker.com.au", true },
   { "landegge.nl", true },
   { "landflair-magazin.de", false },
-  { "landhaus-christmann.de", true },
   { "landhaus-havelse.de", true },
   { "landinfo.no", true },
   { "landingear.com", true },
@@ -30604,6 +32065,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "landofelves.net", false },
   { "landoncreekapartments.com", true },
   { "landsbankinn.com", true },
+  { "landsbref.is", true },
   { "landscape-photography.org", true },
   { "landscapelightingagoura.com", true },
   { "landscapelightingagourahills.com", true },
@@ -30626,11 +32088,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lanforalla.se", true },
   { "lang-php.com", true },
   { "langadeduero.tk", true },
+  { "langapi.com", true },
   { "langatang.com", true },
   { "langbein.org", true },
   { "langduytinh.com", true },
   { "langgasse-baar.ch", true },
   { "langhun.me", true },
+  { "langkawihomestay.net", true },
   { "langkawitrip.com", true },
   { "langleyporter.com", true },
   { "langsam-dator.se", true },
@@ -30645,11 +32109,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lannatefl.com", true },
   { "lanodan.eu", true },
   { "lanostrasalute.it", true },
+  { "lanparty.si", true },
   { "lanre.org", true },
   { "lanroamer.de", true },
   { "lansechensilu.com", true },
   { "lanselot.com", true },
-  { "lansewu.com", true },
   { "lansoftware.eu", true },
   { "lanternalauth.com", true },
   { "lanternhealth.org", true },
@@ -30659,13 +32123,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lanzalex.com", true },
   { "lanzamientovirtual.es", true },
   { "lanzarote-online.info", true },
+  { "laobayy.com", true },
   { "laoliang.ml", true },
   { "laopcionb.net", true },
+  { "laoriginalfm.com", true },
   { "laos.dating", true },
   { "lapacho-tee.de", true },
   { "lapageamelkor.org", true },
   { "lapassiondutrading.com", false },
   { "lapatio.dk", true },
+  { "lapcameradongnai.com", true },
+  { "lapcamerahochiminh.com", true },
   { "lapelpinsandcoins.com", true },
   { "lapicena.eu", true },
   { "lapidge.net", true },
@@ -30677,8 +32145,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lapotagere.ch", false },
   { "lapparente-aise.ch", false },
   { "lappari.com", false },
+  { "laprensadelasagradafamilia.org", true },
   { "lapseofsanity.net", true },
   { "lapshore.com", true },
+  { "laqueuedevache.be", true },
   { "lara.photography", true },
   { "larabergmann.de", true },
   { "laracode.eu", true },
@@ -30689,17 +32159,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "larasm.tk", true },
   { "laraveldirectory.com", true },
   { "larbertbaptist.org", true },
-  { "larch.me", true },
   { "lareclame.fr", true },
   { "larepublicacultural.es", true },
   { "lares.com", true },
   { "larete.ch", true },
+  { "largeandhighquality.com", true },
   { "largescaleforums.com", true },
   { "largeviewer.com", true },
   { "lariposte.org", true },
   { "lariscus.eu", true },
   { "larondinedisinfestazione.com", true },
-  { "larotayogaming.com", false },
   { "larpkalender.ch", true },
   { "larraz.es", true },
   { "larryandprisca.it", true },
@@ -30708,6 +32177,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lars-ewald.com", true },
   { "lars-kusch.de", true },
   { "lars-mense.de", true },
+  { "lars-minecraft.de", true },
   { "lars.cloud", true },
   { "lars.moi", true },
   { "larsklene.nl", true },
@@ -30723,29 +32193,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lasavonnerieducroisic.fr", true },
   { "lascana.co.uk", true },
   { "lasdelgadas.tk", true },
+  { "lasept.com.ua", true },
+  { "lasercareestetica.com.br", true },
   { "lasereyess.net", true },
   { "laserhealthsolutions.com", true },
   { "laserpc.net", true },
   { "laserplaza.de", true },
   { "laserplaza.net", true },
+  { "lasersandbacon.com", true },
   { "lask.in", true },
   { "laskas.pl", true },
   { "lasowy.com", true },
   { "laspequenassemillas.com", true },
   { "lasranas.es", true },
   { "lasrecetascocina.com", true },
+  { "lassesworld.com", true },
+  { "lassesworld.se", true },
   { "lassovideos.com", true },
   { "last-strike.org", true },
+  { "lastcraft.ru", true },
   { "lastpass.com", false },
   { "lasuzefc.fr", true },
   { "lasvegasescortmagazine.com", true },
+  { "lasvegasgfegirls.com", true },
   { "lat.sk", true },
   { "latabaccheria.net", true },
   { "late.am", false },
   { "latecnosfera.com", true },
   { "latedeals.co.uk", true },
   { "latenitefilms.com", false },
-  { "lateralsecurity.com", true },
   { "laterremotodealcorcon.tk", true },
   { "latestdeals.co.uk", true },
   { "latiendauno.com", true },
@@ -30755,10 +32231,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "latremebunda.com", true },
   { "lattyware.co.uk", true },
   { "lattyware.com", true },
+  { "latvijashipoteka.lv", true },
   { "laubacher.io", true },
   { "lauchundei.at", true },
   { "laudableapps.com", true },
   { "laudablesites.com", true },
+  { "laudwein.fr", true },
   { "lauensteiner.de", false },
   { "laufpix.de", true },
   { "lauftreff-himmelgeist.de", true },
@@ -30767,7 +32245,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "launch-subtitle.com", true },
   { "launcher-minecraft.com", true },
   { "launchgroup.com.au", true },
-  { "launchkey.com", false },
   { "launchmylifend.com", true },
   { "launchpad-app2.com", true },
   { "launchpadder2.com", true },
@@ -30781,7 +32258,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lauraofrank.com", true },
   { "lauraohagan.com", true },
   { "laurasplacefamilysupport.org.au", true },
-  { "lauravaindumentaria.com", true },
   { "laurelblack.com", true },
   { "laurenball.com", true },
   { "laurencball.com", true },
@@ -30794,9 +32270,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "laurineprice.com", true },
   { "lauriuc.sk", true },
   { "lausannedentiste.ch", false },
-  { "lausannelovers.ch", false },
-  { "laussat.de", true },
   { "laut.digital", true },
+  { "lauxzahnheilkunde.de", true },
   { "lauzon-hitter.com", true },
   { "lavabit.com", true },
   { "lavabit.no", true },
@@ -30811,13 +32286,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lavinya.net", true },
   { "lavita.de", true },
   { "lavitaura.com", true },
-  { "lavitrine-une-collection.be", true },
   { "lavoieducoeur.be", true },
   { "lavoiepharmd.com", true },
   { "lavolte.net", true },
   { "lavozdelamusicachilena.tk", true },
   { "lavril.fr", true },
   { "law-colleges.com", true },
+  { "law-iku.pro", true },
   { "law-peters.de", true },
   { "law-profile.com", true },
   { "law.co.il", true },
@@ -30830,12 +32305,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lawlessspanish.com", true },
   { "lawn-seeds.com", true },
   { "lawnuk.com", true },
-  { "lawrenceberg.nl", true },
   { "lawrencemurgatroyd.com", true },
   { "lawrencewhiteside.com", true },
   { "lawservice.com.ua", true },
   { "lawyer.cf", true },
   { "lawyerkf.com", true },
+  { "lawyermidrand.co.za", true },
   { "layazc.com", true },
   { "laylo.io", true },
   { "laylo.nl", true },
@@ -30845,6 +32320,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lazer.cf", true },
   { "lazerengravingpros.com", true },
   { "lazistance.com", true },
+  { "lazo.futbol", true },
   { "lazurit.com", true },
   { "lazyboston.com", true },
   { "lazyclock.com", true },
@@ -30853,21 +32329,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lazytux.org", true },
   { "lb-toner.de", true },
   { "lb266.net", true },
-  { "lb366.cc", true },
-  { "lb369.cc", true },
+  { "lbarrios.es", true },
   { "lbayer.com", true },
   { "lbc-podcast.tk", true },
   { "lbc.gr", true },
   { "lbda.net", true },
   { "lbgconsultores.com", true },
   { "lbihrhelpdesk.com", true },
-  { "lbls.me", true },
   { "lbmblaasmuziek.nl", true },
   { "lbs-logics.com", true },
   { "lbsistemas.com.mx", true },
   { "lbux.org", true },
   { "lc-cs.com", false },
   { "lc-promiss.de", true },
+  { "lc-suites.gr", true },
   { "lc0101.com", true },
   { "lc0188.com", true },
   { "lc040.com", true },
@@ -30962,7 +32437,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc3795.com", true },
   { "lc3798.com", true },
   { "lc3801.com", true },
-  { "lc3802.com", true },
   { "lc3838g.com", true },
   { "lc389.com", true },
   { "lc3939.com", true },
@@ -31018,12 +32492,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc6659.com", true },
   { "lc6662.com", true },
   { "lc6663.com", true },
-  { "lc6665.com", true },
   { "lc6666g.com", true },
   { "lc6667.com", true },
   { "lc6668.com", true },
   { "lc6669.com", true },
-  { "lc6681.com", true },
   { "lc6683.com", true },
   { "lc6698.com", true },
   { "lc6767.com", true },
@@ -31049,7 +32521,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc6868g.com", true },
   { "lc68690.com", true },
   { "lc68692.com", true },
-  { "lc68693.com", true },
   { "lc68694.com", true },
   { "lc68695.com", true },
   { "lc68696.com", true },
@@ -31071,15 +32542,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc7676g.com", true },
   { "lc777.net", true },
   { "lc7979.com", true },
-  { "lc7979g.com", true },
-  { "lc8.com", true },
   { "lc8.fun", true },
-  { "lc8.life", true },
   { "lc8.live", true },
-  { "lc8.tv", true },
-  { "lc80000.com", true },
   { "lc8003.com", true },
-  { "lc8005.com", true },
   { "lc8020.com", true },
   { "lc8023.com", true },
   { "lc8032.com", true },
@@ -31089,11 +32554,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8050.com", true },
   { "lc8052.com", true },
   { "lc818.net", true },
-  { "lc8181.com", true },
   { "lc8282.com", true },
   { "lc8383g.com", true },
   { "lc8585g.com", true },
-  { "lc859.com", true },
   { "lc861.com", true },
   { "lc862.com", true },
   { "lc863.com", true },
@@ -31101,7 +32564,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc871.com", true },
   { "lc873.com", true },
   { "lc875.com", true },
-  { "lc876.com", true },
   { "lc8787.com", true },
   { "lc879.com", true },
   { "lc88.fun", true },
@@ -31126,7 +32588,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8861.com", true },
   { "lc8862.com", true },
   { "lc8863.com", true },
-  { "lc8865.com", true },
   { "lc8866.com", true },
   { "lc8868.net", true },
   { "lc8869.com", true },
@@ -31135,7 +32596,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8878.com", true },
   { "lc8881.com", true },
   { "lc8882.com", true },
-  { "lc8885.com", true },
   { "lc8887.com", true },
   { "lc8888g.com", true },
   { "lc8890.com", true },
@@ -31145,31 +32605,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8896.com", true },
   { "lc8898.net", true },
   { "lc8900.com", true },
-  { "lc8905.com", true },
-  { "lc8906.com", true },
   { "lc891.com", true },
-  { "lc8910.com", true },
-  { "lc8911.com", true },
-  { "lc8912.com", true },
   { "lc8913.com", true },
-  { "lc8914.com", true },
-  { "lc8915.com", true },
-  { "lc8916.com", true },
-  { "lc8917.com", true },
-  { "lc8918.com", true },
-  { "lc892.com", true },
   { "lc8920.com", true },
   { "lc8921.com", true },
   { "lc8922.com", true },
   { "lc8923.com", true },
-  { "lc8924.com", true },
-  { "lc8925.com", true },
-  { "lc8926.com", true },
   { "lc8927.com", true },
-  { "lc8928.com", true },
-  { "lc8929.com", true },
   { "lc893.com", true },
-  { "lc8930.com", true },
   { "lc8931.com", true },
   { "lc8932.com", true },
   { "lc8934.com", true },
@@ -31177,9 +32620,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8936.com", true },
   { "lc895.com", true },
   { "lc896.com", true },
-  { "lc897.com", true },
   { "lc8a.com", true },
-  { "lc8c.com", true },
   { "lc8dc04.com", true },
   { "lc8dc08.com", true },
   { "lc8dc10.com", true },
@@ -31187,16 +32628,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8dc12.com", true },
   { "lc8dc13.com", true },
   { "lc8dc14.com", true },
-  { "lc8dc15.com", true },
   { "lc8dc16.com", true },
   { "lc8dc17.com", true },
   { "lc8dc20.com", true },
   { "lc8dc21.com", true },
   { "lc8dc22.com", true },
   { "lc8dc24.com", true },
-  { "lc8dc26.com", true },
   { "lc8dc27.com", true },
-  { "lc8dc28.com", true },
   { "lc8dc29.com", true },
   { "lc8guidance.com", true },
   { "lc8md00.com", true },
@@ -31212,39 +32650,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lc8md33.com", true },
   { "lc8md35.com", true },
   { "lc8md55.com", true },
-  { "lc8md77.com", true },
   { "lc8md88.com", true },
-  { "lc9.app", true },
-  { "lc90000.com", true },
   { "lc9090.com", true },
-  { "lc9108.com", true },
   { "lc9251.com", true },
   { "lc9253.com", true },
-  { "lc9256.com", true },
   { "lc9292.com", true },
   { "lc9393g.com", true },
   { "lc9494.com", true },
   { "lc9494g.com", true },
   { "lc9797.com", true },
   { "lc98.net", true },
-  { "lc9852.com", true },
-  { "lc9862.com", true },
-  { "lc9899.com", true },
-  { "lc9900.com", true },
-  { "lc9910.com", true },
-  { "lc9920.com", true },
-  { "lc9930.com", true },
   { "lc9938.com", true },
   { "lc9939.com", true },
-  { "lc9940.com", true },
-  { "lc9950.com", true },
   { "lc9960.com", true },
   { "lc9968.com", true },
   { "lc9986.com", true },
-  { "lc9999g.com", true },
   { "lca-pv.de", true },
   { "lcacommons.gov", true },
   { "lcars-sv.info", true },
+  { "lcdf.education", true },
   { "lce-events.com", true },
   { "lcgaj.com", true },
   { "lcv.psc.br", true },
@@ -31253,18 +32677,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lcvip7.com", true },
   { "lcvip8.net", true },
   { "lcvip9.com", true },
-  { "lcx.cc", true },
   { "lcy.im", false },
   { "lcy.moe", true },
   { "ld-begunjscica.si", true },
   { "ld66999.com", true },
   { "ld6999.com", true },
-  { "ldesignweb.com", true },
   { "ldjb.jp", true },
   { "ldm2468.com", true },
   { "ldsun.com", true },
+  { "ldts.es", true },
   { "le-bar.org", true },
-  { "le-cameleon.fr", true },
+  { "le-caprice.co.uk", true },
   { "le-controle-parental.fr", true },
   { "le-creux-du-van.ch", false },
   { "le-drive-de-just-vet.fr", true },
@@ -31278,7 +32701,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "le23.fr", true },
   { "le42mars.fr", true },
   { "le518.net", true },
-  { "le802.com", true },
   { "leadbook.ru", true },
   { "leadbox.cz", true },
   { "leadership-conference.net", true },
@@ -31289,13 +32711,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leafans.tk", false },
   { "leafinote.com", true },
   { "leafland.co.nz", true },
+  { "leafletdistributionmanchester.com", true },
   { "leakforums.net", true },
+  { "leakplay.com", true },
   { "leamsigc.com", false },
+  { "leandromoreno.co", true },
   { "leankit.com", true },
   { "leanplando.com", true },
   { "leap-it.be", false },
   { "leapandjump.co.uk", true },
   { "leapworks.io", true },
+  { "learncrypto.live", true },
+  { "learncrypto.show", true },
   { "learncrypto.vip", true },
   { "learnflakes.net", true },
   { "learnhowtoplayguitar.tk", true },
@@ -31306,7 +32733,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "learningman.top", true },
   { "learningselfreliance.com", true },
   { "learnlux.com", true },
-  { "learnpianogreece.com", true },
   { "learnplayground.com", true },
   { "learntohack.me", true },
   { "leaseplan.com", true },
@@ -31314,37 +32740,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leatam.fr", true },
   { "leatherfurnitureexpo.com", true },
   { "leathersofacleaning.co.uk", true },
+  { "leatherwill.com.ua", true },
   { "leatherwood.nl", true },
+  { "leaving.africa", true },
+  { "lebalcondesraspes.com", true },
   { "lebanesearmy.gov.lb", true },
   { "lebanonbitcoin.com", true },
   { "lebarmy.gov.lb", true },
-  { "lebedata.com", true },
+  { "lebeachvillage.com", true },
   { "lebendige-heilkunst.de", true },
   { "lebens-fluss.at", true },
   { "lebensraum-fitness-toenisvorst.de", true },
   { "lebensraum-kurse.ch", true },
   { "lebihan.pl", true },
   { "leblanc.io", true },
-  { "lebosse.me", true },
   { "lebourgeo.is", true },
   { "lecannabis.com", true },
   { "lecannabiste.com", true },
-  { "lecheng.in", true },
+  { "lecannabiste.uk", true },
+  { "lecatal.ca", true },
   { "lecheng08.com", true },
-  { "lecheng2.com", true },
-  { "lecheng3.com", true },
-  { "lecheng31.com", true },
   { "lecheng518.com", true },
   { "lecheng5288.com", true },
   { "lecheng5888.com", true },
   { "lecheng66.com", true },
-  { "lecheng7.com", true },
   { "lecheng88.com", true },
-  { "lecheng88.net", true },
   { "lecheng888.com", true },
   { "lecheng98.com", true },
   { "lecheng98.net", true },
   { "lecheng988.com", true },
+  { "leclubnestlereunion.re", true },
   { "lectricecorrectrice.com", true },
   { "led-jihlava.cz", true },
   { "ledburyvets.co.uk", true },
@@ -31352,11 +32777,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ledecologie.com.br", true },
   { "ledeguisement.com", true },
   { "lederer-it.com", true },
-  { "lederkleren.nl", true },
   { "ledlight.com", true },
   { "ledlights.ca", true },
   { "ledscontato.com.br", true },
   { "ledspadova.eu", true },
+  { "ledspalluto.de", true },
   { "ledwereld.nl", true },
   { "lee-fuller.co.uk", true },
   { "leeaaronsrealestate.com", true },
@@ -31366,12 +32791,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leedev.org", true },
   { "leekspin.ml", true },
   { "leelaylay.com", true },
+  { "leemachinetools.com", true },
   { "leemankuiper.nl", true },
+  { "leendebroekertfonds.nl", true },
   { "leerliga.de", true },
-  { "leertipp.de", true },
   { "leesilvey.com", true },
   { "leesyal.org", true },
-  { "leet2.com", true },
   { "leetcode.com", true },
   { "leetcode.net", true },
   { "leetgamers.asia", true },
@@ -31383,14 +32808,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leflibustier.ru", true },
   { "lefonddeloeil.com", false },
   { "left-baggage.co.uk", true },
+  { "leftbankdesign.net", true },
   { "leftbrainsolutions.com.au", true },
+  { "leftclick.be", true },
+  { "leftclick.cloud", true },
+  { "leftclick.es", true },
+  { "leftclick.eu", true },
+  { "leftclick.fr", true },
+  { "leftclick.nl", true },
   { "legabot.fr", true },
   { "legacyiohs.org", true },
   { "legaillart.fr", true },
   { "legalatlanta.com", true },
   { "legalband.club", true },
   { "legalcontrol.info", true },
-  { "legaldesk.com", false },
   { "legalforms.ng", true },
   { "legalinmotion.es", true },
   { "legalplace.fr", true },
@@ -31398,13 +32829,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "legalsearch.nl", true },
   { "legalsoftware.net", true },
   { "legend-v.life", true },
+  { "legendary-royale.net", true },
   { "legendcatz.com", true },
   { "legendesdechine.ch", false },
   { "legendofkrystal.com", true },
   { "legends-game.ru", false },
   { "legible.es", true },
+  { "legion.ge", true },
   { "legioniv.org", true },
-  { "legionminecraft.com", true },
   { "legiscontabilidade.com.br", true },
   { "legit.nz", true },
   { "legjobblogo.hu", true },
@@ -31414,9 +32846,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "legrandvtc.fr", true },
   { "legumeinfo.org", true },
   { "legyenkianegykereked.hu", true },
-  { "lehighmathcircle.org", true },
   { "lehighvalleypeds.com", true },
   { "lehmitz-weinstuben.de", true },
+  { "lehouerou.net", true },
   { "lehti-tarjous.net", true },
   { "leibniz-gymnasium-altdorf.de", true },
   { "leideninternationalreview.com", true },
@@ -31428,9 +32860,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leisure-blog.com", true },
   { "leisure-supplies-show.co.uk", true },
   { "leisurepools.com.au", true },
+  { "leiyinan.com", true },
   { "lejardindesmesanges.fr", true },
   { "lektier.cf", true },
-  { "lelac-capfrance.com", true },
+  { "lelac-capfrance.com", false },
+  { "lele13.cn", true },
+  { "lelo.com.pl", true },
   { "lelubre.info", true },
   { "lelux.fi", true },
   { "lelux.site", true },
@@ -31438,7 +32873,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lemarcheelagrandeguerra.it", true },
   { "lemazol.fr", true },
   { "lemilane.it", true },
-  { "leminhduong.com", true },
   { "lemni.top", true },
   { "lemoine.at", true },
   { "lemondenumerique.com", true },
@@ -31446,16 +32880,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lemonop.com", true },
   { "lemonparty.co", true },
   { "lemonrockbiketours.com", true },
-  { "lemonrotools.com", true },
   { "lemonthy.com", true },
   { "lenafonster.se", true },
   { "lenagroben.de", true },
   { "lenalio.fr", true },
-  { "lenaneva.ru", true },
+  { "lenaneva.ru", false },
   { "lence.net", true },
   { "lencia.ga", true },
   { "lendingclub.com", true },
-  { "lenget.com", true },
   { "lenguajedeprogramacion.com", true },
   { "lenidh.de", true },
   { "leninalbertop.com.ve", true },
@@ -31473,6 +32905,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lenyip.me", true },
   { "lenyip.works", true },
   { "leoandpeto.com", true },
+  { "leochedibracchio.com", true },
   { "leodraxler.at", true },
   { "leola.cz", true },
   { "leola.sk", true },
@@ -31480,37 +32913,39 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leomwilson.com", true },
   { "leon-tec.co.jp", true },
   { "leon-tech.com", true },
+  { "leon.wtf", true },
+  { "leonardocremonesi.it", true },
   { "leonbuitendam.nl", true },
   { "leondenard.com", true },
   { "leonklingele.de", true },
   { "leonmahler.consulting", true },
   { "leontiekoetter.de", true },
   { "leontyev.tk", true },
-  { "leopoldina.net", true },
+  { "leonvermunt.nl", true },
+  { "leopoldina.net", false },
   { "leoservicos.etc.br", true },
   { "leoservicosetc.com", true },
-  { "leoservicosetc.com.br", true },
   { "leoservicosetc.email", true },
   { "leoservicosetc.live", true },
   { "leoservicosetc.net", true },
   { "leoservicosetc.online", true },
   { "leoservicosetc.org", true },
   { "leoservicosetc.rio.br", true },
+  { "leoservicosetc.store", true },
   { "leoservicosetc.world", true },
   { "leovanna.co.uk", true },
   { "leowkahman.com", true },
   { "lep.gov", true },
-  { "lepartiecomemoracoes.com.br", true },
   { "lepenetapeti.com", true },
-  { "lepidum.jp", true },
   { "lepsos.com", false },
   { "lequerceagriturismo.com", true },
   { "lequest.dk", true },
   { "lequocthai.com", true },
   { "lerasenglish.com", true },
-  { "lereporter.ma", true },
+  { "lerefugedujambon.com", true },
   { "leretour.ch", false },
   { "lerku.com", true },
+  { "lermer.nl", true },
   { "lernenamsee.ch", true },
   { "lernerspersonalinjury.ca", true },
   { "lernorteuropa.com", true },
@@ -31521,13 +32956,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "les-ateliers-de-melineo.be", false },
   { "les-explos.com", true },
   { "les-inoxydables.com", true },
+  { "lesacredescouleurs.fr", true },
   { "lesaffre.es", true },
+  { "lesalpinistes.com", true },
   { "lesancheslibres.fr", true },
   { "lesarts.com", true },
   { "lesberger.ch", false },
   { "lesbi-porno-video.ru", true },
   { "lesbianlovers.tk", true },
-  { "lesbofight.com", true },
   { "lesbrillantsdaristide.com", true },
   { "lesconteursavis.org", true },
   { "lescrapdesfilles.fr", true },
@@ -31546,9 +32982,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lesplatanes.ch", false },
   { "lespoesiesdheloise.fr", true },
   { "lespret.nl", true },
-  { "lesptitspasdelyne.fr", true },
   { "lesptitstutos.fr", true },
   { "lesquerda.cat", false },
+  { "lessentieldanthony.fr", true },
   { "lessis.moe", true },
   { "lesterchan.net", true },
   { "lesterrassesdusoleil.ch", false },
@@ -31598,13 +33034,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "leuthardtfamily.com", true },
   { "lev103.com", true },
   { "levans.fr", true },
+  { "levante.net.nz", true },
   { "level-10.de", true },
-  { "level6.me", true },
   { "level9hvac.com", true },
   { "levelonetrainingandfitness.com", true },
   { "levels.one", true },
+  { "levels3d.com", true },
   { "leveluplv.com", true },
-  { "leveluprails.com", true },
   { "leveluprankings.com", true },
   { "levendwater.org", true },
   { "levensbron.nl", true },
@@ -31614,11 +33050,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "levermann.eu", true },
   { "leviaan.nl", true },
   { "leviathan-studio.com", true },
+  { "levidromelist.com", true },
   { "levineteamestates.com", true },
   { "levinus.de", true },
+  { "levis.fun", true },
   { "leviscop.com", true },
   { "leviscop.de", true },
-  { "levittasaude.com.br", true },
+  { "levshamaster.org", true },
   { "lew.im", true },
   { "lewdawson.com", true },
   { "lewdgamer.com", true },
@@ -31629,18 +33067,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lewisllewellyn.me", true },
   { "lewismcyoutube.uk", true },
   { "lexautoservice.nl", true },
+  { "lexblog.com", true },
   { "lexdigital.pl", true },
   { "lexic.co", true },
   { "lexico.pt", true },
   { "lexicography.online", true },
   { "lexikon24.tk", true },
-  { "lexoo.co.uk", true },
+  { "lexitravels.com", true },
   { "lexpierce.social", true },
   { "lexway.pk", true },
+  { "leybelsgarden.cf", true },
   { "leymaritima.com", true },
   { "lfashion.eu", true },
   { "lfgss.com", true },
-  { "lfrconseil.com", true },
   { "lfyhokk.tk", true },
   { "lg-waps.go.jp", true },
   { "lg-waps.jp", true },
@@ -31649,14 +33088,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lgbt-colleges.com", true },
   { "lgbt.io", true },
   { "lgbtq.cool", true },
+  { "lgbusiness.es", true },
   { "lghfinancialstrategy.ch", false },
   { "lgpecasoriginais.com.br", true },
   { "lgygf.com", true },
+  { "lhajn.cz", true },
   { "lhamaths.online", true },
   { "lhconsult.tk", false },
   { "lhero.org", true },
   { "lhgavarain.com", true },
   { "lhost.su", true },
+  { "lhp-creation.com", true },
+  { "lhp-creation.fr", true },
   { "lhr.wiki", true },
   { "li-ke.co.jp", true },
   { "li.gz.cn", true },
@@ -31667,9 +33110,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "liam-w.io", true },
   { "liamelliott.me", true },
   { "liamlin.me", true },
+  { "lian-in.com", true },
   { "liandongyoupin.com", true },
+  { "liang-li88.com", true },
+  { "liang-li88.net", true },
+  { "lianglongcredit.com", true },
   { "liangxingai.com", true },
-  { "lianhongrui.com", true },
   { "liaronce.com", true },
   { "liautard.fr", true },
   { "lib64.net", true },
@@ -31685,19 +33131,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "liberhk.net", true },
   { "liberhk.org", true },
   { "liberta-me.org", true },
-  { "libertarian-party.com", true },
   { "libertas.co.jp", true },
   { "liberty-city.tk", true },
   { "liberty-med.ru", true },
-  { "libertyachts.com", true },
+  { "libertyachts.com", false },
+  { "libertytereconoce.com", true },
+  { "libertywines.co.uk", true },
+  { "libertywines.ie", true },
   { "libgame.com", true },
   { "libmpq.org", true },
-  { "libnull.com", true },
-  { "libo766.com", true },
   { "libo766.net", true },
   { "liborburda.cz", true },
   { "libportal.cf", true },
   { "libra.com", true },
+  { "librairiezbookstore.com", true },
   { "librarium.tk", true },
   { "library-quest.com", true },
   { "libraryextension.com", true },
@@ -31710,25 +33157,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "libre.cr", true },
   { "libreboot.org", true },
   { "librebox.de", true },
-  { "libreduca.com", true },
   { "librehk.com", true },
   { "librehk.info", true },
   { "librehk.net", true },
   { "librehk.org", true },
+  { "libreho.st", true },
   { "librelamp.com", true },
   { "libremail.nl", true },
   { "libreoffice-from-collabora.com", true },
   { "libreofficefromcollabora.com", true },
   { "libreria-ouroboros.tk", true },
-  { "librerias-he.com.pe", true },
   { "librervac.org", true },
+  { "librespeed.org", true },
   { "librisulibri.it", true },
   { "librofilia.com", true },
-  { "libscode.com", false },
+  { "libscode.com", true },
   { "libskia.so", true },
   { "libsodium.org", true },
   { "libstock.si", true },
+  { "liceo.cn", true },
   { "lichess.org", true },
+  { "lichform.com", true },
   { "lichtmetzger.de", false },
   { "lichtspot.de", true },
   { "lichttechnik-tumler.com", true },
@@ -31746,7 +33195,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lidl-fotos.de", true },
   { "lidl-gewinnspiel.de", true },
   { "lidl-holidays.com", true },
-  { "lidl-menubox.ch", true },
+  { "lidl-immobilien.de", true },
   { "lidl-shop.be", true },
   { "lidl-shop.cz", true },
   { "lidl-shop.nl", true },
@@ -31754,13 +33203,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lidl-sklep.pl", true },
   { "lidl-stikeez.si", true },
   { "lidl-tour.ro", true },
+  { "lidl-vins.fr", true },
   { "lidlonline.es", true },
   { "lidogr.com", true },
   { "lidong.me", true },
   { "lidow.eu", true },
   { "lidtkemotors.com", true },
   { "liduan.net", false },
-  { "lie.as", true },
   { "liebel.org", true },
   { "lieberwirth.biz", true },
   { "liehuojun.com", true },
@@ -31777,9 +33226,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lifeartstudios.net", true },
   { "lifebetweenlives.com.au", true },
   { "lifeboxhealthcare.co.uk", true },
-  { "lifecism.com", true },
+  { "lifeeducationqld.org.au", true },
   { "lifefoto.de", true },
-  { "lifeguatemala.com", true },
   { "lifeinhex.com", true },
   { "lifeinsurancepro.org", true },
   { "lifekirov.tk", true },
@@ -31790,13 +33238,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lifeqa.net", true },
   { "lifesafety.com.br", true },
   { "lifesavvy.com", true },
+  { "lifesavvymedia.com", true },
   { "lifeset.pp.ua", true },
+  { "lifesharing.gr", true },
   { "lifeslonglist.com", true },
   { "lifestorage.com", true },
-  { "lifestylecent.com", true },
+  { "lifestylediet.space", true },
   { "lifestylefinancial.ca", true },
   { "lifestylefoto.cz", true },
-  { "lifestyletravel.co.za", true },
+  { "lifetimeexteriors-us.com", true },
   { "lifetoolscdc.com", true },
   { "lifetree.network", true },
   { "lifewithdyna.com", true },
@@ -31805,8 +33255,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lift-wise.com", true },
   { "liftie.info", true },
   { "liftmastercloud.com", true },
+  { "liftoff.rocks", true },
   { "ligadosgames.com", true },
-  { "light-up.xyz", true },
+  { "light-vision.com.ua", true },
   { "light.mail.ru", true },
   { "lightbox.co", true },
   { "lightcraftmc.tk", true },
@@ -31827,14 +33278,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lightingsimivalley.com", true },
   { "lightingthousandoaks.com", true },
   { "lightingwestlakevillage.com", true },
-  { "lightme.us", true },
   { "lightning-wallet.com", true },
   { "lightning.community", true },
   { "lightning.engineering", true },
   { "lightningwirelabs.com", true },
   { "lightography.com", true },
   { "lights.co.uk", true },
-  { "lights.ie", true },
   { "lightscale.com", true },
   { "lightsfromspace.com", true },
   { "lightsheep.no", false },
@@ -31863,24 +33312,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "likeometer.co", true },
   { "likere.com", true },
   { "likesforinsta.com", true },
-  { "likestudio.com.ua", true },
-  { "likui.me", true },
   { "lilai107.com", true },
   { "lilai116.com", true },
-  { "lilai18.ph", true },
   { "lilai2211.com", true },
   { "lilai3366.com", true },
-  { "lilai634.com", true },
   { "lilai6677.com", true },
   { "lilai838.com", true },
   { "lilai8866.com", true },
   { "lilai9966.com", true },
   { "lilianejuchli.ch", true },
   { "liliang13.com", true },
+  { "lilith-magic.com", true },
   { "liljohnsanitary.net", true },
   { "lillepuu.com", true },
   { "lilliputpreschool.co.nz", true },
   { "lilomatrixcorner.fr", true },
+  { "lilosaludable.com", true },
+  { "lilpwny.com", true },
   { "lily-bearing.com", true },
   { "lily-inn.com", true },
   { "lilyfarmfreshskincare.com", true },
@@ -31894,14 +33342,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "limbaido.tk", true },
   { "limberg.me", true },
   { "limbo.services", true },
-  { "limeres.com", true },
-  { "limereslaw.com", true },
   { "limit.xyz", true },
   { "limitededitioncomputers.com", true },
   { "limitededitionsolutions.com", true },
   { "limitlessinteractive.com", true },
   { "limitxyz.com", true },
-  { "limnt.cn", true },
   { "limo.pl", true },
   { "limoshka.ru", true },
   { "limpid.nl", true },
@@ -31910,16 +33355,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "limules.ch", true },
   { "limx.win", true },
   { "lin.fi", true },
+  { "linafernandez.com.co", true },
   { "linaklein.de", true },
   { "lincdavis.com", true },
   { "lince-bonares.tk", true },
   { "lincnaarzorg.nl", true },
   { "lincoln.com.cn", true },
   { "lincoln.mx", true },
-  { "lincolnboolefoundation.org", true },
   { "lincolnfinewines.com", true },
   { "lincolnpedsgroup.com", true },
-  { "lincolnsfh.com", true },
   { "lincolnwayflorist.com", true },
   { "lincore.ru", true },
   { "lindajahn.de", true },
@@ -31944,11 +33388,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "linearmap.com", true },
   { "lineshop.ml", true },
   { "linestep.jp", true },
-  { "linfamilygc.com", true },
   { "linge-ma.ro", true },
   { "lingerie.com.br", true },
   { "lingeriesilhouette.com", true },
   { "lingotaxi.com", true },
+  { "linguatrip.com", true },
   { "link-net.ga", true },
   { "link-sanitizer.com", true },
   { "link2serve.com", true },
@@ -31963,19 +33407,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "linko-pomoika.tk", true },
   { "linkopia.com", true },
   { "linksphotograph.com", true },
+  { "linkstagr.am", true },
   { "linkthis.me", true },
   { "linktio.com", true },
   { "linkuva.tk", true },
   { "linkwheel.tk", true },
   { "linkycat.com", true },
+  { "linkyou.top", true },
   { "linnaeusgroup.co.uk", true },
+  { "linnetinfotech.in", true },
   { "linonin.tk", true },
   { "linosky.ch", true },
   { "linost.com", true },
-  { "linpx.com", true },
   { "linqhost.nl", true },
   { "linss.com", true },
-  { "lintasi.com", true },
+  { "lintelliftdks.com", true },
   { "lintelliftusa.com", true },
   { "lintmx.com", true },
   { "linux-audit.com", true },
@@ -31988,7 +33434,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "linux.conf.au", true },
   { "linux.farm", true },
   { "linux.fi", true },
-  { "linux.im", true },
   { "linux.pizza", true },
   { "linux3.org", true },
   { "linuxadictos.com", true },
@@ -31997,8 +33442,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "linuxbierwanderung.com", true },
   { "linuxchick.se", true },
   { "linuxcommand.ru", true },
+  { "linuxdashboard.com", true },
   { "linuxdays.cz", true },
   { "linuxforum.ch", true },
+  { "linuxforwindows.com", true },
   { "linuxgiggle.com", true },
   { "linuxhilux.com", true },
   { "linuxhostsupport.com", true },
@@ -32012,13 +33459,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "linzyjx.com", true },
   { "lion7.de", true },
   { "lionlyrics.com", true },
-  { "lionsdeal.com", true },
   { "lipacom.ga", true },
   { "lipartydepot.com", true },
+  { "lipaslovanska.cz", true },
   { "lipex.com", true },
   { "lipighor.com", true },
-  { "lipighor.xyz", true },
   { "lipoabaltimore.org", true },
+  { "lipobattery.pl", true },
   { "lippu1.fi", true },
   { "lipthink.com", true },
   { "liqd.net", true },
@@ -32027,10 +33474,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "liquidhost.co", true },
   { "liquidinternet.co", true },
   { "liquipedia.net", true },
+  { "liquor.my", true },
   { "liress.gq", true },
   { "lirion.de", true },
   { "lirlandais.ch", false },
   { "lirnberger.com", true },
+  { "lis.koeln", true },
   { "lisadelbo.tk", true },
   { "lisahh-jayne.com", true },
   { "lisamccorrie.com", true },
@@ -32038,6 +33487,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lisasc.gq", true },
   { "lisasworkshop.co.uk", true },
   { "lisburnhottubnbounce.co.uk", true },
+  { "liscieperfetti.com", true },
   { "lisius.ga", true },
   { "liskgdt.net", true },
   { "lislan.org.uk", true },
@@ -32051,6 +33501,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "listen.dk", true },
   { "lister-kirchweg.de", true },
   { "listisima.com", true },
+  { "listiu.com", true },
   { "listminut.be", true },
   { "lists.fedoraproject.org", true },
   { "lists.stg.fedoraproject.org", true },
@@ -32063,7 +33514,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "litebit.nl", true },
   { "litebitcdn.eu", true },
   { "litebits.com", true },
+  { "litecache.de", true },
   { "litemind.com", false },
+  { "litepanels-parts.com", true },
   { "literaki123.pl", true },
   { "literarymachin.es", true },
   { "literature-schools.com", true },
@@ -32075,7 +33528,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "little-brother.eu", true },
   { "little-cake.com", true },
   { "little-news.gq", true },
+  { "little.recipes", true },
   { "littlebestfriend.de", true },
+  { "littlebites.co.nz", true },
   { "littleblackfish.se", true },
   { "littleboutiqueshop.co.uk", true },
   { "littledev.nl", true },
@@ -32087,7 +33542,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "littlelucifercafe.tk", true },
   { "littlenina.nz", false },
   { "littlenlargeevents.co.uk", true },
-  { "littlepigcreek.com.au", true },
   { "littleprincessandmascotparties.co.uk", true },
   { "littleredpenguin.com", true },
   { "littleredsbakeshop.com", true },
@@ -32106,8 +33560,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "liubliu.co.uk", true },
   { "liudon.org", true },
   { "liuliuya.com.tw", true },
+  { "liulo.cf", true },
+  { "liuqiao.best", true },
+  { "liuqiao.eu.org", true },
+  { "liuqiao.ga", true },
   { "liv3d.stream", true },
   { "livada.fr", true },
+  { "livaniaccesorios.com", true },
   { "live4k.media", false },
   { "live8811.com", true },
   { "live8899.cn", true },
@@ -32117,9 +33576,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "livebandphotos.com", true },
   { "livebetterwith.com", true },
   { "livebythesun.de", true },
-  { "livecards.es", true },
-  { "livecards.eu", true },
-  { "livecards.it", true },
+  { "livecards.co.uk", true },
   { "livecchi.cloud", true },
   { "livechat-ag777.com", true },
   { "livedesign.at", true },
@@ -32128,24 +33585,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "liveforspeed.se", true },
   { "livehomecams.co.uk", true },
   { "liveint.org", true },
+  { "liveitlogical.in", true },
   { "livejasmin.dk", true },
   { "livejh.tk", true },
-  { "livekaarten.be", true },
   { "livekaarten.nl", true },
-  { "livekarten.at", true },
-  { "livekarten.de", true },
   { "livekort.com", true },
   { "livekort.dk", true },
-  { "livekort.no", true },
   { "livekort.se", true },
   { "livekortti.com", true },
-  { "livekortti.fi", true },
-  { "livela.jp", true },
   { "livelifewithintent.com", true },
   { "livelink.tk", true },
   { "livelondon.fr", true },
   { "livenewsrussia.tk", true },
-  { "livepaperhelp.com", true },
   { "liveregistratie.nl", true },
   { "liverider.co.jp", true },
   { "livesheep.com", true },
@@ -32163,18 +33614,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "living.video", true },
   { "living24.de", true },
   { "livingafrugallife.com", true },
-  { "livingforreal.com", true },
   { "livinginhimalone.com", true },
-  { "livingkingsinc.net", true },
   { "livingspace.co.nz", true },
-  { "livingword.in", true },
   { "livingworduk.org", true },
   { "livive.com", true },
   { "livogeva.dk", true },
   { "livresetmanuscrits.com", true },
+  { "livv168.com", true },
   { "livv88.com", true },
   { "lixtick.com", true },
-  { "liyang.pro", false },
   { "liz-fry.com", true },
   { "liz.ee", true },
   { "lizardsystems.com", true },
@@ -32183,7 +33631,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lizmooredestinationweddings.com", true },
   { "liztattoo.se", true },
   { "lizzaran.io", true },
-  { "lizzian.uk", true },
   { "lizzwood.com", true },
   { "lizzythepooch.com", true },
   { "ljason.cn", true },
@@ -32210,7 +33657,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "llnl.gov", true },
   { "lloyd-day.me", true },
   { "llslb.com", false },
-  { "llw0x.com", true },
   { "lm-landscapes.co.uk", true },
   { "lm-pumpen.de", false },
   { "lm1628.com", true },
@@ -32218,22 +33664,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lm228.com", true },
   { "lm338.cn", true },
   { "lm338.com", true },
+  { "lmasqueen.com", true },
   { "lmbyrne.co.uk", true },
   { "lmbyrne.com", true },
   { "lmddgtfy.net", true },
+  { "lmdexpresstransport.com", true },
+  { "lmh-style.com", true },
   { "lmintlcx.com", true },
   { "lmmi.nl", true },
   { "lmmtfy.io", true },
   { "lms-luch.ru", true },
   { "lmsptfy.com", true },
+  { "lmsuitespagna.it", true },
   { "lmtls.me", true },
   { "lmtm.eu", true },
   { "lmvsci.gov", true },
   { "lng-17.org", true },
   { "lnhequipmentltd.com", true },
   { "lnhydy.cn", true },
-  { "lnrsoft.ddns.net", true },
   { "load-ev.de", true },
+  { "loader.to", true },
   { "loader.us.com", true },
   { "loadlow.me", true },
   { "loadwallet.com", true },
@@ -32261,12 +33711,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "locald.at", true },
   { "localdecor.com.br", true },
   { "localethereum.com", true },
+  { "localexpert.realestate", true },
   { "localhorst.duckdns.org", true },
-  { "localhost.cat", true },
   { "localhost.ee", true },
+  { "locallhost.me", true },
   { "localnet.site", true },
   { "localpov.com", true },
   { "localsearch.homes", true },
+  { "localseo.ltd", true },
   { "localseo.repair", true },
   { "localseorepair.co", true },
   { "localseorepair.design", true },
@@ -32282,6 +33734,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "localtownhouses.ga", true },
   { "locapos.com", true },
   { "location-appartement-dakar.com", true },
+  { "locationfontaine.fr", true },
   { "locatorplus.gov", true },
   { "locauxrama.fr", true },
   { "lock.me", true },
@@ -32298,7 +33751,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lockme.pl", true },
   { "locknlock.com.br", true },
   { "locknlockbrasil.com.br", true },
-  { "lockoutgroup.com", true },
   { "lockpick.nl", true },
   { "lockpicks.se", true },
   { "lockr.jp", true },
@@ -32343,12 +33795,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "locksmithswestville.com", true },
   { "locksmiththewoodlands.com", true },
   { "lockwoodchristmastreefarm.com", true },
-  { "locomore.com", true },
   { "locomotionds.com", true },
-  { "locomotive.net.br", true },
   { "locoserver.net", true },
   { "locurimunca.co", true },
   { "locus-dashboard.com", true },
+  { "locus-dashboard.eu", true },
   { "locusmap.eu", true },
   { "lodash.com", false },
   { "loddeke.eu", true },
@@ -32362,12 +33813,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "logactiond.org", true },
   { "loganmarchione.com", true },
   { "loganparkneighborhood.org", true },
+  { "logbook.ch", true },
   { "logbot.info", true },
   { "logement-saisonnier.com", true },
+  { "logement.com", true },
   { "logentries.com", false },
   { "logexplorer.net", true },
   { "logfile.at", true },
   { "logfile.ch", true },
+  { "logibow.com", true },
   { "logicaccountingsolutions.com", true },
   { "logical-invest.com", true },
   { "logicdream.tk", true },
@@ -32377,7 +33831,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "logicio.net", false },
   { "logicne-hise.si", true },
   { "logico.ar", true },
-  { "logicoma.com", true },
   { "login.corp.google.com", true },
   { "login.gov", false },
   { "login.launchpad.net", true },
@@ -32388,14 +33841,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "login.yahoo.com", false },
   { "logitel.de", true },
   { "logo-vogtland.de", true },
+  { "logoesun.com", true },
   { "logoglo.com", true },
   { "logojoes.net", true },
   { "logopedistalanni.it", true },
   { "logophiliapress.com", true },
   { "logopoeia.com", true },
   { "logostock.jp", true },
+  { "logsnitch.com", true },
   { "logtalk.org", true },
-  { "logtalk.pt", true },
+  { "logtenberg.eu", true },
   { "logtywardrobe.com", true },
   { "logue.be", true },
   { "logze.nl", true },
@@ -32408,10 +33863,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "loic.gr", true },
   { "loichot.ch", false },
   { "loisircreatif.net", true },
+  { "loisirsdouville.com", true },
   { "lojadamimo.com.br", true },
   { "lojadanidrea.com.br", true },
   { "lojadarenda.com.br", true },
   { "lojadewhisky.com.br", true },
+  { "lojadoanime.com", true },
   { "lojadoarcomprimido.com.br", true },
   { "lojadoprazer.com.br", true },
   { "lojadosomautomotivo.com.br", true },
@@ -32420,8 +33877,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lojamagicalx.com", true },
   { "lojamascate.com.br", true },
   { "lojamoleco.com.br", true },
+  { "lojapos.eu", true },
   { "lojaprojetoagua.com.br", true },
-  { "lojas25online.com.br", true },
+  { "lojastec.com.br", true },
   { "lojaterrazul.com.br", true },
   { "lojavisamed.com.br", true },
   { "lojix.com", false },
@@ -32429,7 +33887,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lok.space", true },
   { "lokaal.org", true },
   { "lokal-speisen.de", true },
-  { "lokalna.net", true },
   { "loker.id", true },
   { "loket.nl", true },
   { "lolas-vip.com", true },
@@ -32439,20 +33896,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "loli.com", true },
   { "loli.net", true },
   { "loli.pet", true },
-  { "loli.ski", true },
   { "loli.today", true },
   { "loli.tube", true },
   { "loli.world", true },
   { "lolibrary.org", true },
   { "lolic.xyz", true },
   { "lolicon.eu", true },
-  { "lolivpn.com", true },
   { "lolkot.ru", true },
   { "lolly.cc", true },
   { "lolnames.gg", true },
   { "lolpatrol.de", true },
   { "lolpatrol.wtf", true },
-  { "loma.ml", false },
+  { "loma.ml", true },
   { "lomaem-nsk.ru", true },
   { "lomayko.ml", true },
   { "lombri-agro.com", true },
@@ -32461,7 +33916,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lommyfleet.com", true },
   { "lon-so.com", true },
   { "lona.io", true },
-  { "lonasdigital.com", true },
   { "lonavla.tk", true },
   { "london-mafia.tk", true },
   { "london-transfers.com", true },
@@ -32473,14 +33927,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "londonlegaltranslation.ae", true },
   { "londonpropertymatch.com", true },
   { "londonseedcentre.co.uk", true },
-  { "londontaxipr.com", true },
   { "lonelyhaoss.com", true },
   { "lonelypawn.com", true },
   { "lonelystoner.design", false },
   { "lonelytweets.com", true },
+  { "lonelyworld.co.uk", true },
   { "lonesomecosmonaut.com", true },
   { "lonestarlandandcommercial.com", true },
-  { "long-journey.com", true },
   { "long008.com", true },
   { "long116.com", true },
   { "long139.com", true },
@@ -32493,7 +33946,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "long510.com", true },
   { "long510.net", true },
   { "long566.net", true },
+  { "long688.com", true },
   { "long788.com", true },
+  { "long8.com", true },
   { "long8039.com", true },
   { "long8097.com", true },
   { "long918.com", true },
@@ -32524,10 +33979,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lookatmysco.re", true },
   { "lookbetweenthelines.com", true },
   { "looker.wang", false },
-  { "lookgadgets.com", true },
-  { "lookingstores.fr", true },
+  { "lookingstores.fr", false },
   { "lookup-dns.net", true },
-  { "lookzook.com", true },
+  { "loonbedrijfdenboer.nl", true },
   { "loonylatke.com", true },
   { "loopback.kr", true },
   { "loopstart.org", true },
@@ -32538,12 +33992,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "loqu8.com", true },
   { "loquo.com", true },
   { "loqyu.com", true },
+  { "lor.kharkov.ua", true },
   { "lord.sh", true },
   { "lordjevington.co.uk", true },
   { "lore-seeker.cards", true },
+  { "lore.azurewebsites.net", true },
   { "loremipsum.info", true },
   { "lorenadumitrascu.ro", true },
-  { "lorenz-hundler.co", true },
   { "lorenzocampagna.myqnapcloud.com", true },
   { "lorenzocompeticion.com", true },
   { "loreofthenorth.com", true },
@@ -32552,18 +34007,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lorimullins.com", true },
   { "lorisfnotary.com", true },
   { "loritaboegl.de", true },
+  { "lornabenes.com", true },
   { "losangelestown.com", true },
   { "losaucas.tk", true },
   { "loshogares.mx", true },
-  { "losingweight.coach", true },
   { "losreyesdeldescanso.com.ar", true },
   { "loss.no", true },
   { "lossaicos.tk", true },
   { "lost.host", true },
   { "lost.report", true },
   { "lostandfound.mu", true },
+  { "lostinfood.co.uk", true },
   { "lostinlegends.com", true },
-  { "lostinweb.eu", true },
   { "lostkeys.co.uk", true },
   { "lostsandal.com", true },
   { "lostsandal.io", true },
@@ -32577,70 +34032,86 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lotnonline.com", true },
   { "lotnonline.nl", true },
   { "lotro-wiki.com", true },
-  { "lotsofbargains.com", true },
+  { "lottodatabase.com", true },
   { "lottoland.pt", true },
   { "lottospielen24.org", false },
-  { "lotw.de", true },
   { "lotz.li", true },
-  { "lou-castelet.com", true },
+  { "lou-castelet.com", false },
   { "lou.ist", true },
   { "lou.lt", true },
   { "louange-reconvilier.ch", false },
   { "loucanfixit.com", true },
   { "louerunhacker.fr", true },
+  { "louiscap.co", true },
   { "louisdefunes.tk", true },
   { "louisemisellinteriors.co.uk", true },
   { "louisvillecarguys.com", true },
   { "louisvillefibroids.com", true },
   { "louiza.tk", true },
+  { "loukas-stoltz.fr", true },
   { "loune.net", true },
   { "loungecafe.net", true },
   { "loungecafe.org", true },
   { "loungepapillon.com", true },
   { "louremedi.fr", true },
+  { "louwlemmer.com", true },
   { "love-books.ga", true },
+  { "love-sent.com", true },
   { "love-spells-tarot.com", true },
-  { "love4musik.com", true },
   { "love4taylor.me", true },
   { "lovebeingsexy.co.uk", true },
   { "lovebigisland.com", true },
+  { "lovebo9.com", true },
+  { "lovebo9.net", true },
   { "loveismystyle.tk", true },
   { "loveisourweapon.com", true },
-  { "lovelive.tools", true },
-  { "lovelo.store", true },
+  { "lovejms.com", true },
   { "lovelovenavi.jp", true },
+  { "loveluna.com", true },
   { "lovemanagementaccounts.co.uk", true },
   { "lovemen.cc", true },
   { "lovemomiji.com", true },
   { "lovemybubbles.com", true },
+  { "loveni.me", true },
   { "lovenwishes.com", true },
   { "loveph.one", true },
   { "lover-bg.com", true },
   { "loverepublic.ru", true },
   { "loverngifts.com", true },
+  { "loveskin.co", true },
   { "lovesmagical.com", false },
+  { "lovesove.com", true },
+  { "lovessentials.com", true },
   { "lovesupremefestival.com", true },
   { "loveweddingphotosandfilm.co.uk", true },
   { "loveysa.ch", false },
   { "lovg.ren", true },
-  { "lovingbody.yoga", true },
   { "lovingearth.co", true },
   { "lovingthermo.com", true },
+  { "lovink.net", true },
+  { "lovizaim.ru", true },
   { "low-diets.com", true },
   { "lowbidders.com", true },
   { "lowcost.to", true },
   { "lowcostvehicleinsurance.com", true },
   { "lowcostwire.com.au", true },
+  { "lowend.cn", true },
   { "lowerpricefinder.com", true },
   { "lowestpriceremovals.com.au", true },
   { "lowmagnitude.com", true },
+  { "lowratelocksmith.com", true },
   { "lowsec.space", true },
   { "lowsidetna.com", true },
   { "lowson.ca", true },
+  { "loxal.org", true },
+  { "loyaleco.it", true },
   { "loyaltyondemand.club", true },
   { "loyaltyondemand.eu", true },
   { "loyisa.cn", true },
   { "lp-support.nl", true },
+  { "lpmkonji.cf", true },
+  { "lprcommunity.co.za", true },
+  { "lps.in.ua", true },
   { "lpt-nebreziny.eu", true },
   { "lq.hr", true },
   { "lrdo.net", true },
@@ -32649,21 +34120,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lrssystems.com", true },
   { "lrumeq.com", true },
   { "ls-alarm.de", true },
-  { "ls-mapping-team.de", true },
   { "ls-modcompany.com", true },
   { "lsbricks.com", true },
   { "lsc-dillingen.de", true },
   { "lsc.gov", true },
+  { "lsc.moe", true },
   { "lsh1688.com", true },
   { "lshiy.com", true },
   { "lsiq.io", true },
   { "lsl.eu", true },
   { "lsmentor.com", true },
-  { "lsmpx.com", true },
   { "lspdonline.gq", true },
   { "lsquo.com", true },
   { "lsscreens.de", true },
   { "lstlx.com", true },
+  { "lswim.com", true },
   { "lsy.cn", true },
   { "lsys.ac", true },
   { "lt.search.yahoo.com", false },
@@ -32684,13 +34155,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "luav.org", true },
   { "lubar.me", true },
   { "lubbockyounglawyers.org", true },
+  { "lubersacr.com", true },
   { "lubot.net", true },
   { "luc-oberson.ch", false },
   { "luca-steeb.com", true },
   { "lucacastelnuovo.nl", true },
+  { "lucade.ddns.net", true },
   { "lucafontana.net", true },
   { "lucafrancesca.me", true },
   { "lucasbergen.ca", true },
+  { "lucascantor.com", true },
   { "lucasdamasceno.com", true },
   { "lucasem.com", true },
   { "lucasgymnastics.com", true },
@@ -32709,11 +34183,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lucie.jp", true },
   { "lucielavickova.com", true },
   { "lucille-thomas.fr", true },
+  { "luck9988.com", true },
+  { "lucklesslovelocks.com", true },
   { "lucky-frog.co.uk", true },
+  { "luckycasino.se", true },
   { "luckycastles.co.uk", true },
   { "luckyfrog.hk", true },
   { "luckystorevn.com", true },
   { "luclu7.fr", true },
+  { "lucorautopartes.com", true },
+  { "lucschiltz.com", true },
   { "luctam.com", true },
   { "lucybles.com", true },
   { "lucyhancock.tech", true },
@@ -32729,8 +34208,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ludothek-burgdorf.ch", true },
   { "ludovic-frank.fr", true },
   { "ludovic-muller.fr", true },
-  { "ludum-polus.xyz", true },
-  { "ludwig.im", true },
   { "ludwiggrill.de", true },
   { "ludwigjohnson.se", true },
   { "ludwigpro.net", true },
@@ -32740,18 +34217,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "luelistan.net", true },
   { "luenwarneke.com", true },
   { "luera1959.de", true },
-  { "lueurexterne-audiovisuel.com", true },
-  { "lueurexterne.com", true },
+  { "lueurexterne-audiovisuel.com", false },
+  { "lueurexterne.com", false },
   { "luffyhair.com", true },
   { "luftbild-siegerland.de", true },
   { "luftreiniger.biz", true },
-  { "lugbb.org", true },
   { "luginbuehl.be", true },
   { "luginbuehl.eu", true },
   { "lugui.in", true },
   { "luisa-birkner.de", true },
   { "luiscapelo.info", true },
-  { "luisfariasgrupo.com", true },
   { "luismaier.de", true },
   { "luissotodesign.com", true },
   { "luisyr.com", true },
@@ -32768,7 +34243,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lukasfunk.com", true },
   { "lukasrod.cz", true },
   { "lukasschauer.de", true },
-  { "lukasschick.de", false },
+  { "lukaswiden.com", true },
   { "lukaszuk.net", true },
   { "lukaszuk.pl", true },
   { "lukaszwojcik.com", true },
@@ -32778,34 +34253,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lukeistschuld.de", true },
   { "lukem.net", true },
   { "lukeng.net", true },
+  { "lukersallamericanstorage.com", true },
   { "lukesbouncycastlehire.com", true },
   { "lukestebbing.com", true },
   { "lukezweb.tk", true },
   { "lukin.ga", true },
+  { "lukmanulhakim.id", true },
   { "lukull-pizza.de", true },
   { "lulua.pl", true },
   { "lumbercartel.ca", true },
   { "lumen.sh", true },
+  { "lumenapp.com", true },
   { "lumenbrowser.com", true },
   { "lumi.pw", true },
   { "lumierewithinspirato.com", true },
   { "luminaire.fr", true },
   { "luminary.pl", true },
+  { "lumindigital.com", true },
   { "lumitop.com", true },
-  { "lumiwellnessshop.com", true },
+  { "lummi-nsn.gov", true },
   { "lumminary.com", true },
   { "lumomongoose.com", true },
-  { "lunakit.org", true },
+  { "lumoria.eu", true },
+  { "lums.se", true },
   { "lunalove.de", true },
   { "lunanova.moe", true },
   { "lunapps.com", true },
   { "lunar6.ch", false },
+  { "lunares.pl", true },
   { "lunarflake.com", true },
   { "lunarlog.com", true },
-  { "lunarshark.com", true },
   { "lunarsoft.net", true },
   { "lunartail.nl", true },
   { "lunasqu.ee", true },
+  { "lunatic.red", true },
   { "lunazacharias.com", true },
   { "lunchbunch.me", true },
   { "lundberghealthadvocates.com", true },
@@ -32815,10 +34296,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lunidea.com", false },
   { "lunis.net", true },
   { "lunite.net", true },
+  { "lunivertdelyne.fr", true },
   { "lunix.io", true },
   { "luoe.me", true },
   { "luoh.cc", true },
   { "luoh.me", true },
+  { "luohua.im", true },
   { "luongvu.com", true },
   { "luowu.cc", true },
   { "lupa.cz", true },
@@ -32826,6 +34309,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lupinencyclopedia.com", true },
   { "lupinenorthamerica.com", true },
   { "lushan.me", true },
+  { "lusis.fr", true },
   { "lusitom.com", true },
   { "luso-livros.net", true },
   { "lustin.fr", true },
@@ -32834,10 +34318,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "luteijn.cloud", true },
   { "luteijn.email", true },
   { "luteijn.pro", true },
-  { "luthierunatespalermo.com", true },
   { "lutoma.org", true },
   { "luu.moe", true },
-  { "luukdebruincv.nl", true },
+  { "luukdebruincv.nl", false },
   { "luukklene.nl", true },
   { "luukuton.fi", true },
   { "luuppi.fi", true },
@@ -32850,10 +34333,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "luvplay.co.uk", true },
   { "luvscent.com", true },
   { "lux-house.tk", true },
+  { "luxcraft.eng.br", true },
   { "luxecalendar.com", true },
+  { "luxeturf.com.au", true },
   { "luxhome.tk", true },
   { "luxsci.com", true },
   { "luxur.is", true },
+  { "luxury-inside.vn", true },
   { "luxurydistribution.cz", true },
   { "luxurynsight.net", false },
   { "luxuryweddingsindonesia.com", true },
@@ -32863,6 +34349,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "luyckx.net", true },
   { "luzat.com", true },
   { "luzfaltex.com", true },
+  { "luzi-type.ch", true },
   { "lv.search.yahoo.com", false },
   { "lv0.it", true },
   { "lvcshu.com", true },
@@ -32872,7 +34359,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lvrsystems.com", true },
   { "lvtrafficticketguy.com", true },
   { "lw-addons.net", true },
-  { "lwl12.com", true },
+  { "lwl.moe", true },
   { "lwsl.ink", true },
   { "lx-blog.cn", true },
   { "lxai.net", true },
@@ -32883,7 +34370,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lydudlejning.net", true },
   { "lyfebotanicals.com", true },
   { "lyftrideestimate.com", true },
-  { "lykai.ca", true },
   { "lykope.com", true },
   { "lymia.moe", true },
   { "lyna.ml", true },
@@ -32891,6 +34377,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lyness.io", true },
   { "lyness.uk", true },
   { "lyngvaer.no", true },
+  { "lynnejeancleaning.com", true },
   { "lynnellneri.com", true },
   { "lynnlaytonnissanparts.com", true },
   { "lynsec.com", true },
@@ -32898,35 +34385,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "lynx.nl", true },
   { "lynxbroker.de", true },
   { "lynxpro.nl", true },
+  { "lynxriskmanager.com", true },
   { "lyon-interactive.com", true },
   { "lyon-synergie.com", true },
+  { "lyonl.com", true },
   { "lyonslawlink.com", true },
+  { "lyrenhex.com", true },
   { "lyrical-nonsense.com", true },
   { "lyricfm.ie", true },
   { "lyriksidan.ga", true },
-  { "lys.ch", true },
+  { "lys.ch", false },
   { "lysbed.com", true },
-  { "lyscnd.com", true },
   { "lyst.co.uk", true },
+  { "lyteclinic.com", true },
   { "lyuda.tk", true },
   { "lyuly.com", true },
   { "lyx.dk", true },
   { "lzcreation.com", true },
-  { "lzh.one", true },
   { "lzwc.nl", true },
   { "m-16.ml", true },
   { "m-22.com", true },
   { "m-beshr.tk", true },
   { "m-chemical.com.hk", true },
-  { "m-cont.cz", true },
-  { "m-gh.info", true },
+  { "m-epigrafes.gr", true },
+  { "m-hydravlika.com.ua", true },
   { "m-idea.jp", true },
   { "m-kleinert.de", true },
   { "m-kugpn.ru", true },
   { "m-mail.fr", true },
   { "m-monitor.pl", true },
   { "m-net.de", true },
-  { "m-orthodontic.com", true },
+  { "m-office.pl", true },
   { "m-ses.fr", true },
   { "m-team.cc", true },
   { "m.facebook.com", true },
@@ -32942,20 +34431,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "m2il.co", true },
   { "m2os.com", true },
   { "m2tm.fr", true },
+  { "m3-gmbh.de", true },
   { "m36533.com", true },
   { "m36594.com", true },
+  { "m3e30.com", true },
   { "m3windowsanddoors.com", true },
   { "m4all.gr", true },
   { "m4g.ru", true },
   { "m51365.com", true },
   { "m6pub.fr", true },
-  { "m81818.com", true },
   { "m8593.com", true },
   { "ma-eir.nl", true },
   { "ma-maison-container.fr", true },
   { "ma-maison-ossature-bois.fr", true },
   { "ma-ze-linux.tk", true },
   { "ma2t.com", true },
+  { "maaret.de", true },
   { "maartenderaedemaeker.be", true },
   { "maartenvandekamp.nl", true },
   { "maatwerkzorgcoaching.nl", true },
@@ -32976,8 +34467,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "macappstudio.com", true },
   { "macaroonshindig.tk", true },
   { "macaws.org", true },
+  { "macbay.net", true },
   { "macbook.es", true },
-  { "macedonian-hotels.com", true },
+  { "macedonian-hotels.com", false },
   { "macedonian-hotels.com.mk", true },
   { "macedonian-hotels.mk", true },
   { "maceinturecuir.com", true },
@@ -32992,13 +34484,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "machidaclip.com", true },
   { "machikka.com", false },
   { "machine.email", true },
+  { "machinebazar.com", true },
+  { "machinerysafety101.com", true },
   { "machinetransport.com", true },
   { "machon.biz", true },
   { "macht-elektro.de", true },
   { "machtweb.de", true },
   { "machu-picchu.nl", true },
   { "macil.tech", true },
-  { "macji-raj.si", true },
   { "macker.io", true },
   { "mackeysack.com", true },
   { "macksproductions.in", true },
@@ -33012,6 +34505,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maco.org.uk", true },
   { "macon.de", true },
   { "maconnerie-dcs.ch", true },
+  { "macosxfilerecovery.com", true },
   { "macpress.com.br", true },
   { "macreosolutions.com", true },
   { "macros.co.jp", true },
@@ -33019,6 +34513,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "macsupportnacka.se", true },
   { "macsupportstockholm.se", true },
   { "mactools.com.co", true },
+  { "macx.cc", true },
   { "madae.nl", true },
   { "madamegarage.nl", true },
   { "madars.org", false },
@@ -33031,7 +34526,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "made-to-usb.com", true },
   { "madebydusk.com", true },
   { "madebyshore.com", true },
-  { "madeinolive.com", true },
+  { "madeinolive.com", false },
   { "madeinrussia.com", true },
   { "madeinstudio3.com", true },
   { "madeira.gov.pt", true },
@@ -33040,20 +34535,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mademoe.com", true },
   { "mademoiselledemargaux.com", true },
   { "mader.jp", true },
+  { "maderasyacabados.net", true },
   { "madewithopendata.org", true },
-  { "madgeandpaul.com", true },
-  { "madgech.com", true },
-  { "madgeisawesome.com", true },
+  { "madhyrecords.com", true },
   { "madin.ru", true },
   { "madirc.net", true },
   { "madisoncountyhelps.com", true },
   { "madisonent-facialplasticsurgery.com", true },
   { "madisonsquarerealestate.com", true },
+  { "madix.cl", true },
   { "madmar.ee", true },
   { "madmax-store.gr", true },
   { "madoka.nu", true },
   { "madpsy.uk", true },
   { "madrants.net", true },
+  { "madreacqua.org", true },
   { "madreluna.it", true },
   { "madreshoy.com", true },
   { "madridagency.com", true },
@@ -33066,7 +34562,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maduradas.net", true },
   { "maedchenflohmarkt.at", true },
   { "maedchenflohmarkt.de", true },
-  { "maekha.in.th", true },
   { "maeln.com", true },
   { "maelstrom-fury.eu", true },
   { "maelstrom.ninja", true },
@@ -33075,10 +34570,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maewongaming.tk", true },
   { "maff.co.uk", true },
   { "maff.scot", true },
+  { "mafia-penguin.club", true },
   { "mafia.network", true },
   { "mafiaforum.de", true },
   { "mafiapenguin.club", true },
   { "mafiasi.de", true },
+  { "mafworld.com", true },
   { "magaconnection.com", true },
   { "magasindejouets.com", true },
   { "magasinsalledebain.be", true },
@@ -33104,31 +34601,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maggot.cf", true },
   { "magi-cake.com", true },
   { "magic-cards.info", true },
+  { "magic-chair.co.uk", true },
   { "magic-cheerleading.tk", true },
   { "magic-photo-events.fr", true },
+  { "magicafacil.com", true },
   { "magical-secrets.com", true },
   { "magical.rocks", true },
-  { "magicball.co", true },
   { "magicbeanschool.com", true },
   { "magicbroccoli.de", true },
+  { "magicbullets.com", true },
   { "magiccards.info", true },
   { "magicdaysomagh.co.uk", true },
   { "magicdlp.com", true },
   { "magicjudges.org", true },
   { "magiclen.org", true },
   { "magicnethosting.com", true },
+  { "magicomotor.com", true },
   { "magicroom.it", true },
+  { "magicskillet.com", true },
   { "magicsms.pl", true },
-  { "magicspaceninjapirates.de", true },
   { "magicstay.com", true },
   { "magictable.com", true },
   { "magicvodi.at", true },
   { "magisternegi.tk", true },
-  { "magnacarebroker.com", true },
   { "magnate.co", true },
   { "magnatronic.com.br", true },
   { "magnes.priv.pl", true },
-  { "magnesium-biomed.ch", true },
   { "magnesy-neodymowe.com.pl", true },
   { "magnesy-neodymowe.pl", true },
   { "magnesy-tanio.net", true },
@@ -33138,6 +34636,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "magnetgaming.com", true },
   { "magneticattraction.com.au", true },
   { "magnetoscopio.tk", true },
+  { "magnetoterapiapertutti.com", true },
   { "magnetpass.uk", true },
   { "magnets.jp", true },
   { "magnificatwellnesscenter.com", true },
@@ -33148,12 +34647,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "magnunbaterias.com.br", true },
   { "magonote-nk.com", true },
   { "magravsitalia.com", true },
+  { "magtapp.com", true },
   { "magu.kz", true },
   { "maguire.email", true },
   { "maguire.tk", true },
   { "magwin.co.uk", true },
   { "magyarepitok.hu", true },
   { "mahadulmuneer.org", true },
+  { "mahalaraibanda.ro", true },
   { "mahalux.com", true },
   { "mahalux.cz", true },
   { "mahatmayoga.org", true },
@@ -33164,11 +34665,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mahler.io", true },
   { "mahrer.net", true },
   { "maiaimobiliare.ro", true },
-  { "maichun.info", true },
   { "maidenliput.fi", true },
   { "maidoty.net", true },
   { "maiebanatulfruncea.com", true },
   { "maiet.net", true },
+  { "maigesellschaft-lammersdorf.de", true },
   { "maijia800.com", true },
   { "maikolfish.it", true },
   { "maikoloc.com", true },
@@ -33188,39 +34689,42 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mailer.site", true },
   { "mailfence.com", true },
   { "mailflank.com", true },
+  { "mailgun.com", true },
   { "mailhardener.com", true },
   { "mailinabox.email", true },
   { "mailinaitor.tk", true },
   { "mailingproduct.tk", true },
   { "mailjunky.de", true },
   { "maillady-susume.com", true },
-  { "mailmag.net", true },
+  { "mailmaid.de", true },
   { "mailmaster.tk", true },
+  { "mailmerc.com", true },
   { "mailnara.co.kr", true },
   { "mailsend.ml", true },
   { "mailstart.ga", true },
   { "mailtelligent.com", true },
   { "mailto.space", true },
   { "mailtobiz.tk", true },
-  { "mailtrap.io", true },
+  { "mailtrap.io", false },
   { "mailum.org", false },
   { "mailwala.tk", true },
   { "mailxpress.ga", true },
   { "main-freedom.ru", true },
   { "mainechiro.com", true },
-  { "mainframeserver.space", true },
   { "mainhattan-handwerker.de", true },
   { "mainlined.org", true },
   { "mainone.net", true },
   { "mainquest.org", true },
   { "mainston.com", true },
   { "maintenance-traceur-hp.fr", true },
-  { "mainzelmaennchen.net", true },
   { "maioresemelhores.com", true },
   { "mairie-sornay.fr", true },
+  { "maisallianz.com", true },
   { "maisan.best", true },
+  { "maisapanama.com", true },
   { "maiscelular.com.br", true },
   { "maisgasolina.com", true },
+  { "maisie.nl", true },
   { "maison-haimard.fr", true },
   { "maisondoree.be", true },
   { "maisonpaulmier.fr", true },
@@ -33232,6 +34736,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maiti.info", true },
   { "maitrise-orthopedique.com", true },
   { "majahoidja.ee", true },
+  { "majameer.com", true },
   { "majaweb.cz", true },
   { "majemedia.com", false },
   { "majesnix.org", true },
@@ -33250,12 +34755,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "makaleci.com", true },
   { "makalu.me", true },
   { "make-your-own-song.com", true },
-  { "makeaboldmove.com", true },
   { "makechanges.com.au", true },
   { "makedin.net", true },
   { "makefoodrecipes.com", true },
-  { "makejusticework.org.uk", true },
-  { "makenaiyo-fx.com", true },
+  { "makepro.net", true },
+  { "maker.to", true },
   { "makerdao.com", true },
   { "makermiles.com", true },
   { "makermiles.net", true },
@@ -33271,6 +34775,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maklerinfo.biz", true },
   { "makos.jp", true },
   { "makowitz.cz", true },
+  { "maksoud-karim.net", true },
   { "maktoob.search.yahoo.com", false },
   { "maku.edu.tr", true },
   { "malachiteauth.com", true },
@@ -33281,8 +34786,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "malaysia.search.yahoo.com", false },
   { "malaysian.dating", true },
   { "malaysianews.ml", true },
+  { "malcolmellis.com", true },
   { "maldives.cx", true },
   { "malediven.biz", true },
+  { "maleevcues.com", true },
   { "malenaamatomd.com", true },
   { "malenyflorist.com.au", true },
   { "maleperformancepills.com", true },
@@ -33293,6 +34800,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "malibu-electric.com", true },
   { "malibuelectrical.com", true },
   { "malibuexteriorlighting.com", true },
+  { "malibulingerie.com", true },
   { "malibumodas.com.br", true },
   { "malik.id", true },
   { "malikussa.id", true },
@@ -33300,7 +34808,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "malikzinad.com", true },
   { "malinaclub.com", true },
   { "malinheadview.ie", true },
-  { "malkoun.com", true },
   { "mall.cz", true },
   { "mall.hr", true },
   { "mall.hu", true },
@@ -33313,17 +34820,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "malta-firma.com", true },
   { "maltasite.tk", true },
   { "maltaultrastifo.tk", true },
-  { "malte-kiefer.de", true },
+  { "maltegegner.de", true },
   { "malufs.com.br", true },
-  { "malvertise.xyz", true },
+  { "malwar.ee", true },
+  { "malwar.eu", true },
   { "malware.watch", true },
   { "malwareinvestigator.gov", true },
-  { "malwarekillers.com", true },
   { "malwaretips.com", true },
+  { "malwr.ee", true },
   { "malyshata.com", true },
   { "malysvet.net", false },
   { "mamabepo.com", true },
-  { "mamadoma.com.ua", true },
   { "mamaisondefamille.info", true },
   { "mamamoet.ru", true },
   { "mamanakormit.tk", true },
@@ -33337,7 +34844,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mammothlakesmls.net", true },
   { "mamospienas.lt", true },
   { "mamot.fr", false },
-  { "mamsds.com", true },
   { "mamtapark.tk", true },
   { "mamuko.nl", true },
   { "man-stuff.co.uk", true },
@@ -33352,20 +34858,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "management-companie.ro", true },
   { "managementboek.nl", true },
   { "managementfeedback.com", true },
-  { "managementforstartups.com", true },
+  { "managementforstartups.com", false },
   { "manageprefs.com", true },
   { "manageprojects.com", false },
   { "manager-efficacement.com", true },
   { "manager.linode.com", false },
   { "managewp.org", true },
-  { "manantialdevida1450.com", true },
+  { "managr.net", true },
+  { "manasakcijas.lv", true },
   { "manatees.com.au", true },
   { "manatees.net", true },
   { "manawill.jp", true },
   { "manawithtea.com", true },
-  { "manchestercleaner.co.uk", true },
   { "mancrates.com", true },
+  { "mandalevydesigns.com", true },
+  { "mandarinpediatrics.com", true },
   { "mandcbouncycastlehire.co.uk", true },
+  { "mandediary.com", true },
   { "mandela-effect-wiki.tk", true },
   { "mandilabeachhotel.com", true },
   { "mandynamic.gr", true },
@@ -33385,6 +34894,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mangareactor.tk", true },
   { "mangaristica.com", false },
   { "mangaworld.gq", true },
+  { "mangnhuapvc.com.vn", true },
   { "mangotwoke.co.uk", true },
   { "manhattanchoralensemble.org", true },
   { "manhole.club", true },
@@ -33399,22 +34909,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maniorpedi.com", true },
   { "maniosglass.gr", true },
   { "manipil.ch", true },
-  { "manipurmatka.net", false },
-  { "manitaggarwal.com", true },
+  { "manipurmatka.net", true },
+  { "manito.kr", true },
   { "manja-und-martin.de", true },
   { "manjaro.ru", true },
   { "mankans.com", false },
+  { "mankier.com", true },
   { "mankomarketing.com", true },
   { "manmeetgill.com", true },
   { "manneguiden.no", true },
   { "mannheimbloggt.tk", true },
-  { "manns-solutions.co.uk", true },
   { "mannschafft.ch", true },
   { "manoirdecontres.com", true },
   { "manonamission.de", true },
   { "manonandre-avocat.fr", true },
   { "manoro.de", true },
-  { "mansarda-life.net", true },
   { "mansdell.net", true },
   { "mansfeld.pl", true },
   { "manshatech.com", true },
@@ -33449,7 +34958,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "manuel7espejo.com", true },
   { "manuelguerra.pt", true },
   { "manueli.de", true },
-  { "manuelpinto.in", true },
+  { "manuelpinto.in", false },
+  { "manuelraimo.cf", true },
   { "manufacturing.gov", false },
   { "manufacturinginmexico.org", true },
   { "manufacturingusa.com", false },
@@ -33459,18 +34969,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "manutd.org.np", true },
   { "manuth.life", true },
   { "manwish.cn", true },
-  { "manwithavan.co.uk", true },
   { "manylots.ru", true },
+  { "manyue.org", true },
   { "maoi.re", true },
   { "maomihz.com", true },
   { "maone.net", true },
   { "maorx.cn", true },
   { "maosensanguentadasdejesus.net", true },
   { "maowtm.org", true },
-  { "maozedong.red", true },
   { "map-patho.com", true },
   { "map4erfurt.de", true },
   { "map4jena.de", true },
+  { "mapado.ru", true },
   { "mapasmundi.com.br", true },
   { "mapblender.com", true },
   { "mapchange.org", true },
@@ -33478,16 +34988,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maplebgm.cc", true },
   { "maplegate.info", true },
   { "mapletime.com", true },
+  { "mappingfutures.org", true },
   { "mapresidentielle.fr", true },
   { "mapstack.org", true },
   { "maquinariaspesadas.org", true },
-  { "maquinariastitan.com", true },
   { "maquinasdecoserplus.com", true },
   { "mar-eco.no", true },
   { "marabumadrid.com", false },
   { "marabunta.io", true },
   { "marakovits.net", true },
+  { "marandu.com.ar", false },
+  { "maransurology.com", true },
   { "marble.com", true },
+  { "marbledentalcentre.ca", true },
   { "marblemosaics.ga", true },
   { "marbogardenlidkoping.se", true },
   { "marbree.eu", true },
@@ -33523,21 +35036,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "marcheslep.org.uk", true },
   { "marchhappy.tech", false },
   { "marchukov.com", true },
-  { "marcianoandtopazio.com", true },
   { "marclay.co.uk", true },
   { "marco-burmeister.de", true },
   { "marco-goltz.de", true },
   { "marco-hegenberg.net", true },
   { "marco-polo-reisen.com", true },
+  { "marco-reitmeier.de", true },
   { "marcobicca.com", true },
   { "marcocasoni.com", true },
   { "marcoherten.com", true },
   { "marcoklomp.nl", true },
+  { "marcopolo-restaurant.com", true },
+  { "marcoreitmeier.de", true },
   { "marcoslater.com", true },
   { "marcotics.nl", true },
   { "marcus.pw", true },
   { "marcusds.ca", true },
-  { "marcuskoh.com", true },
   { "marcusstafford.com", true },
   { "mareamoda.com", true },
   { "marechal-company.com", true },
@@ -33552,27 +35066,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "margolis.gq", true },
   { "margotlondon.co.uk", true },
   { "marguerite-maison.fr", true },
+  { "maria-galland.cz", true },
+  { "mariaaguirrevalarezo.com", true },
   { "mariafernanda.com.br", true },
   { "mariage-protestant.ch", true },
   { "mariagealamontagne.com", true },
-  { "mariahandnasty.com", true },
+  { "mariagiovannaluini.it", true },
   { "mariaheidemann.nl", true },
   { "marianatherapy.com", true },
-  { "marianelaisashi.com", true },
   { "marianhoenscheid.de", true },
   { "mariannenan.nl", true },
   { "mariannethijssen.nl", true },
   { "mariapietropola.com", true },
-  { "mariasbonitas.com", true },
+  { "mariasandoli.com.br", true },
+  { "mariasavchenko.com", true },
   { "mariasilverbutterfly.com", true },
   { "mariatash.com", true },
   { "maridonlaw.com", true },
   { "marie-elisabeth.dk", true },
   { "marie-pettenbeck-schule.de", true },
+  { "mariehane.com", true },
   { "mariemiramont.fr", true },
   { "mariendistel-tee.de", true },
   { "mariereichl.cz", true },
-  { "marietrap.ch", true },
   { "marijnfidder.nl", true },
   { "marijuanajobscannabiscareers.com", true },
   { "marikafranke.de", true },
@@ -33584,12 +35100,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "marin-dom.ru", false },
   { "marin-tullet.com", false },
   { "marina-tsvetaeva.ml", true },
+  { "marinat2012.de", true },
   { "marinazarza.es", true },
   { "marinbusinesscenter.ch", false },
   { "marinela.com.mx", false },
   { "marinelausa.com", false },
   { "marinershousecalstock.com", true },
-  { "marines-shop.com", false },
   { "maringalazer.com.br", true },
   { "marioabela.com", true },
   { "mariogeckler.de", false },
@@ -33604,7 +35120,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mariviolin.com", true },
   { "marjeta-gurtner.ch", true },
   { "marjoleindens.be", true },
-  { "marjonruns.nl", true },
   { "marjorie-wiki.de", true },
   { "marjoriecarvalho.com.br", true },
   { "mark-dietzer.de", true },
@@ -33625,31 +35140,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "marketgrid.tk", true },
   { "marketindex.com.au", true },
   { "marketing-2.de", true },
-  { "marketing1-0-1.com", true },
   { "marketingbrandingnews.com", true },
   { "marketingbrandingnews.net", true },
   { "marketingco.nl", true },
   { "marketingconverts.com", true },
-  { "marketinggenerators.nl", false },
   { "marketingpalace.tk", true },
-  { "marketingromania.ro", true },
+  { "marketingprofesszorok.hu", true },
   { "marketingtrendnews.com", true },
   { "marketingvirtuales.com", true },
+  { "marketingypublicidaddigital.com.mx", true },
   { "marketizare.ro", true },
   { "marketking.ga", true },
   { "marketplacestrategy.com", true },
   { "marketsearch.ga", true },
   { "marketvalue.gq", true },
+  { "markfisher.photo", true },
   { "markfordelegate.com", true },
   { "markhaehnel.de", true },
   { "markhoodphoto.com", true },
   { "markhoodwrites.com", true },
   { "markido.com", true },
-  { "markiewicz.online", true },
   { "markitzeroday.com", true },
   { "markkirkforillinois.com", true },
-  { "markkirkforsenate.com", true },
   { "marklauman.ca", true },
+  { "markoglou.com.gr", true },
   { "markri.nl", true },
   { "markridgwell.co.uk", true },
   { "markridgwell.com", true },
@@ -33662,6 +35176,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "markstickley.co.uk", true },
   { "markt-heiligenstadt.de", false },
   { "marktcontact.com", true },
+  { "marktgorman.com", true },
   { "marktguru.at", true },
   { "marktguru.de", true },
   { "marktissink.nl", true },
@@ -33675,25 +35190,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "markusjochim.de", true },
   { "markuskeppeler.de", true },
   { "markuskeppeler.no-ip.biz", true },
+  { "markusritzmann.ch", true },
   { "markusueberallassetmanagement.de", true },
   { "markusueberallconsulting.de", true },
   { "markusweimar.de", true },
-  { "markxpdesign.ga", true },
   { "marl.fr", true },
+  { "marliesfens.nl", true },
   { "marloncommunications.com", true },
   { "marlonlosurdopictures.com", true },
   { "marlosoft.net", true },
+  { "marmaluot.com", true },
   { "marmista.roma.it", true },
   { "marmolesromero.com", true },
   { "marmotte.love", true },
+  { "marmuif.fr", true },
   { "marocemploi.co", true },
+  { "maroismasso.com", true },
   { "marolu.one", true },
-  { "maroquineriepirlot.be", true },
+  { "maroquineriepirlot.be", false },
   { "maroussia.tk", true },
   { "marpa-wohnen.de", true },
-  { "marqueswines.co.uk", true },
   { "marrai.de", true },
   { "marriage-shrine.jp", true },
+  { "marriageawareness.com", true },
   { "marrickvilleapartments.com.au", true },
   { "marron-dietrecipe.com", true },
   { "mars.army", true },
@@ -33710,6 +35229,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "martel-innovate.com", true },
   { "martelange.ovh", true },
   { "martellosecurity.com", true },
+  { "martemeo-wetterau.de", true },
   { "marten-buer.de", true },
   { "martensmxservice.nl", true },
   { "martensson.io", false },
@@ -33727,7 +35247,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "martinbaileyphotography.com", true },
   { "martinboerhof.nl", true },
   { "martincernac.cz", true },
-  { "martindoe.pl", true },
   { "martine.nu", true },
   { "martinelias.cz", true },
   { "martineweitweg.de", true },
@@ -33745,38 +35264,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "martonmihaly.hu", true },
   { "marufmusic.tk", true },
   { "maruhoi.com", true },
+  { "marulaweb.com", true },
   { "marvaco.ga", true },
-  { "marvell.cat", true },
   { "marvelmoviemarathon.com", true },
   { "marvelousdesigners.com", true },
   { "marvin.rocks", true },
   { "marvinschopf.com", true },
   { "marvman.me", true },
+  { "marvnet.de", true },
   { "marvnet.design", true },
-  { "marvnet.email", true },
   { "marvnetdigital.com", true },
   { "marvnetdigital.de", true },
-  { "marvnetforum.com", true },
   { "marxists.org", true },
   { "marycliffpress.com", true },
   { "maryeclark.com", true },
-  { "maryeileen90.party", true },
   { "maryhaze.net", true },
   { "maryjaneroach.com", true },
   { "maryjruggles.com", true },
   { "marykatrinaphotography.com", true },
   { "marylandbasementandcrawlspacewaterproofing.com", true },
+  { "marylandtraditions.org", true },
   { "maryluzturismo.co", true },
   { "marzio.co.za", true },
   { "masalaband.tk", true },
   { "masarik.sh", true },
   { "masarn.com", true },
-  { "masautonomo.com", true },
   { "masaze-hanka.cz", true },
   { "mascosolutions.com", true },
+  { "mascotarios.org", true },
   { "masdemariette.com", true },
   { "masdemexico.com", true },
-  { "masdillah.com", true },
   { "maseni.com", true },
   { "maservant.net", true },
   { "mashandco.it", true },
@@ -33793,6 +35310,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "massage-colleges.com", true },
   { "massage-vitalite.fr", true },
   { "massage4u.net", true },
+  { "massageandwellbeing.com", true },
   { "massagecoolangatta.com.au", true },
   { "massagecupping.com", true },
   { "massagetainha-hanoi.com", true },
@@ -33803,7 +35321,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "masshiro.blog", true },
   { "masshvac.com", true },
   { "massotherapeutique.com", true },
-  { "masstercurssos.com", true },
   { "masta.ch", false },
   { "mastdi.eu", true },
   { "mastellone.us", true },
@@ -33813,7 +35330,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mastercardpac.com", true },
   { "masterdemolitioninc.com", true },
   { "masterdigitale.com", true },
-  { "mastermindcesar.com", true },
+  { "masterdrilling.com", true },
+  { "masterkitchen.com.br", true },
   { "masterofallscience.com", true },
   { "masterofbytes.ch", true },
   { "masterpassword.org", true },
@@ -33825,7 +35343,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mastersthesiswriting.com", true },
   { "masterstuff.de", true },
   { "masterton.com.au", true },
-  { "masterwayhealth.com", true },
   { "mastodon.at", true },
   { "mastodon.host", true },
   { "mastodon.top", true },
@@ -33839,10 +35356,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "matchboxdesigngroup.com", true },
   { "matchlessdentist.com", true },
   { "matchmadeinstubton.com", true },
+  { "matchmuchach.net", true },
   { "matchupmagic.com", true },
-  { "mateiko.by", true },
+  { "mate.vn", true },
+  { "matebalazs.hu", true },
   { "matejgroma.com", true },
-  { "matejstrnad.cz", true },
   { "matel.org", true },
   { "matematikkulubu.tk", true },
   { "matematyka.wiki", true },
@@ -33854,6 +35372,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "materialyinzynierskie.pl", true },
   { "maternalsafety.org", true },
   { "mateuszmajewski.com", true },
+  { "matex-tokyo.co.jp", true },
+  { "matgodt.no", true },
   { "math-coaching.com", true },
   { "math-colleges.com", true },
   { "math.hamburg", true },
@@ -33862,7 +35382,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mathers.ovh", true },
   { "mathes.berlin", true },
   { "mathhire.org", true },
-  { "mathias-frank.com", true },
   { "mathiasbynens.be", true },
   { "mathiasgarbe.de", true },
   { "mathiaswagner.org", true },
@@ -33871,6 +35390,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mathis.com.tr", true },
   { "mathiteia.com", true },
   { "maths.network", true },
+  { "mathsai.com", true },
   { "mathspace.co", true },
   { "mathys.io", true },
   { "matijakolaric.com", true },
@@ -33883,7 +35403,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "matome-surume.com", true },
   { "matomeathena.com", true },
   { "matoutepetiteboutique.com", true },
-  { "matratzentester.com", true },
   { "matridiana.com", true },
   { "matrieux.dk", true },
   { "matrimonio.com.pe", true },
@@ -33907,6 +35426,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mattcoles.io", true },
   { "mattconstruction.com", true },
   { "mattcorp.com", true },
+  { "mattcronin.co.uk", true },
   { "matteobrenci.com", true },
   { "matteomarescotti.it", true },
   { "mattersource.com", true },
@@ -33914,19 +35434,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mattfin.ch", true },
   { "mattforster.ca", true },
   { "matthew-cash.com", true },
+  { "matthewcollins.me", true },
   { "matthewfells.com", true },
   { "matthewgrow.com", true },
   { "matthewj.ca", true },
   { "matthewkenny.co.uk", true },
-  { "matthewljiang.com", true },
+  { "matthewkerley.com", true },
   { "matthewohare.com", true },
+  { "matthewprenger.com", true },
   { "matthewsaeger.com", true },
   { "matthewsetter.com", true },
   { "matthey.nl", true },
   { "matthi.coffee", true },
   { "matthi3u.xyz", true },
   { "matthias-muenzner.de", true },
-  { "matthias-wimmer.de", true },
   { "matthiasbeck.com", true },
   { "matthiasmueller.me", true },
   { "matthiasott.com", true },
@@ -33934,76 +35455,60 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "matthieuchedidweb.tk", true },
   { "matthieuschlosser.fr", true },
   { "mattiascibien.net", false },
-  { "mattknight.io", true },
   { "mattlaks.com", true },
   { "mattli.us", true },
   { "mattmccutchen.net", true },
   { "mattmcshane.com", true },
   { "mattonline.me", true },
   { "mattprojects.com", true },
-  { "mattrude.com", true },
   { "matts.wiki", true },
   { "matts.world", true },
   { "mattwservices.co.uk", true },
+  { "matucloud.de", true },
   { "matuslab.net", true },
   { "matviet.vn", true },
-  { "matway.com", true },
-  { "matway.net", true },
   { "matze.co", true },
+  { "mau.chat", true },
+  { "mau.life", true },
   { "mauerwerk.online", true },
   { "mauerwerkstag.info", true },
   { "mauiticketsforless.com", true },
   { "mauldincookfence.com", true },
+  { "maunium.net", true },
   { "mauracher.cc", true },
   { "mauran.me", false },
   { "maureencsmith.ca", true },
-  { "maurice-walker.com", false },
   { "mauricedb.nl", true },
   { "mauriceje.ga", true },
   { "mauricioquadradoconsultor.com.br", true },
   { "mauricioquadradocontador.com.br", true },
   { "maurovacca.com", true },
   { "maury-moteurs.com", true },
+  { "mauwis.ro", true },
   { "maveeranpasupathi.tk", true },
   { "mavenclinic.com", true },
   { "mavensecurity.com", true },
+  { "mavenvets.co.uk", true },
   { "maveris.com", true },
+  { "mawai.com.tw", true },
   { "mawo.olkusz.pl", true },
   { "mawrex.tech", true },
-  { "max-apk.com", true },
   { "max-it.fr", true },
   { "max-moeglich.de", true },
-  { "max-phone.com", true },
   { "max-went.pl", true },
   { "max.gov", true },
   { "max0365.com", true },
-  { "max11365.com", true },
-  { "max1365.com", true },
-  { "max22365.com", true },
-  { "max2365.com", true },
-  { "max33365.com", true },
-  { "max3365.com", true },
-  { "max4365.com", true },
-  { "max44365.com", true },
-  { "max5365.com", true },
-  { "max55365.com", true },
-  { "max6365.com", true },
-  { "max66365.com", true },
-  { "max7365.com", true },
-  { "max77365.com", true },
-  { "max8365.com", true },
-  { "max88365.com", true },
-  { "max9365.com", true },
   { "maxb.fm", true },
   { "maxbeenen.de", true },
   { "maxbruckner.de", true },
   { "maxbruckner.org", true },
   { "maxchan.info", true },
   { "maxclean.ml", true },
-  { "maxdg.be", true },
   { "maxedgymequipment.com", true },
   { "maxh.me.uk", true },
-  { "maximdeboiserie.be", true },
+  { "maxhoechtl.at", true },
+  { "maxiglobal.net", true },
+  { "maxiglobal.pt", true },
   { "maximdens.be", true },
   { "maximeferon.fr", true },
   { "maximilian-graf.de", true },
@@ -34023,7 +35528,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maxmilton.com", true },
   { "maxmind.com", true },
   { "maxmobiles.ru", true },
-  { "maxmoda.eu", true },
   { "maxmuen.de", true },
   { "maxp.info", true },
   { "maxpl0it.com", true },
@@ -34032,20 +35536,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "maxrider.tk", true },
   { "maxtruxa.com", true },
   { "maxundlara.at", true },
+  { "maxverboom.nl", true },
   { "maxwaellenergie.de", true },
   { "maxwell-english.co.jp", false },
   { "maxwellmoore.co.uk", true },
   { "may24.tw", true },
   { "mayaimplant.com", true },
   { "mayavi.co.in", true },
-  { "maydex.info", true },
+  { "mayblossom.net", true },
   { "maydn.org", true },
   { "mayhutmuibep.com", true },
   { "mayito.tk", true },
   { "mayomarquees.com", true },
   { "mayopartyhire.com", true },
   { "mayorcahill.com", true },
-  { "mayper.net", true },
+  { "mayper.net", false },
   { "maypolevilla.co.uk", true },
   { "mayre-idol.tk", true },
   { "mayrhofer.eu.org", false },
@@ -34055,7 +35560,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mazavto.ml", true },
   { "mazda-mps.de", true },
   { "mazda-thermote.com", false },
-  { "mazda626.net", true },
   { "mazdaofgermantown.com", true },
   { "maze.design", false },
   { "maze.fr", false },
@@ -34068,7 +35572,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mb300sd.com", true },
   { "mb300sd.net", true },
   { "mbaasy.com", true },
-  { "mbadika.org", true },
   { "mbaestlein.de", true },
   { "mbainflatables.co.uk", true },
   { "mbanq.com", true },
@@ -34077,9 +35580,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mbc.asn.au", true },
   { "mbcars.be", false },
   { "mbclegal.org", true },
-  { "mbda.gov", false },
+  { "mbda.gov", true },
   { "mbed.com", true },
   { "mbedcloud.com", true },
+  { "mbedcloudintegration.net", true },
   { "mbeo.ch", false },
   { "mbetb73.com", true },
   { "mbinf.de", false },
@@ -34089,22 +35593,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mbr-net.de", true },
   { "mbrooks.info", true },
   { "mbs-journey.com", true },
+  { "mbski.se", true },
   { "mbsr-barmstedt.de", true },
   { "mbsync4supply.com", true },
   { "mbte365.com", true },
   { "mburaks.com", true },
   { "mburns.duckdns.org", true },
+  { "mbusi.com", true },
   { "mc-jobs.net", true },
+  { "mc-pub.org", true },
   { "mc-web.se", true },
+  { "mc007.xyz", true },
   { "mcatnnlo.org", true },
   { "mcblain.com", true },
   { "mccannbristol.co.uk", true },
   { "mcconciergerie.com", true },
   { "mccoolesredlioninn.com", true },
+  { "mccordscvs.com", true },
   { "mccordsvillelocksmith.com", true },
   { "mccrackon.com", true },
   { "mcculloughjchris.com", true },
-  { "mcdona1d.me", true },
   { "mcdonalds.be", true },
   { "mcduff.ga", true },
   { "mce.eu", true },
@@ -34118,20 +35626,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mcfx.us", true },
   { "mcgaccountancy.co.uk", true },
   { "mcgovernance.com", true },
+  { "mchan.us", true },
   { "mchel.net", true },
   { "mchost.no", true },
   { "mchristopher.com", true },
-  { "mcinterface.de", true },
   { "mcivor.me", true },
   { "mcjars.com", true },
-  { "mckay-bednar.net", true },
   { "mckendry.com", true },
   { "mckendry.consulting", true },
   { "mckernan.in", false },
   { "mckinley.school", true },
   { "mcl.de", false },
   { "mcl.gg", true },
-  { "mclawyers.com.au", true },
   { "mclinflatables.co.uk", true },
   { "mclmotors.co.uk", true },
   { "mclouds.ru", true },
@@ -34153,6 +35659,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mcukhost.co.uk", true },
   { "mcuuid.net", true },
   { "mcversions.net", true },
+  { "mcvs.net", true },
   { "mcwrapper.com", true },
   { "mcynews.com", true },
   { "mcyukon.com", true },
@@ -34166,7 +35673,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "md17lc8.com", true },
   { "md19lc8.com", true },
   { "md1lc8.com", true },
-  { "md21lc8.com", true },
   { "md24lc8.com", true },
   { "md33lc8.com", true },
   { "md34lc8.com", true },
@@ -34186,13 +35692,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mdaemon.de", true },
   { "mdbug.de", true },
   { "mdcghana.org", true },
-  { "mdclass.id", true },
-  { "mdconnect.asia", true },
-  { "mdek.at", true },
+  { "mdcloudps.com", true },
   { "mdewendt.de", true },
   { "mdf-bis.com", false },
-  { "mdi-wolfsburg.de", true },
+  { "mdhosting.co.uk", true },
   { "mdihi.com", true },
+  { "mdinvest.nz", true },
   { "mdir.tk", true },
   { "mdiv.pl", true },
   { "mdkhorshedalam.com", true },
@@ -34201,6 +35706,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mdma.net", true },
   { "mdmed.clinic", true },
   { "mdosch.de", true },
+  { "mdpparish.com", true },
   { "mdpraha.cz", true },
   { "mdrsp.de", true },
   { "mdrthmcs.io", true },
@@ -34214,9 +35720,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "me-soft.nl", true },
   { "me.net.nz", true },
   { "me7878.com", true },
-  { "mealcast.ml", true },
+  { "meadowfen.farm", true },
+  { "meadowfenfarm.com", true },
+  { "meadstats.com", true },
   { "meamod.com", false },
-  { "meangirl.club", true },
   { "meany.xyz", true },
   { "meap.xyz", true },
   { "measureyourpenis.today", true },
@@ -34532,10 +36039,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mec999.com", true },
   { "mecanicoautomotriz.org", true },
   { "mecaniquemondor.com", true },
-  { "meccano.srl", true },
   { "mechanics-schools.com", true },
   { "mechanus.io", true },
   { "mechaspartans6648.com", true },
+  { "mechbattlegrounds.com", true },
   { "mechmk1.me", true },
   { "mechok.ru", true },
   { "med-colleges.com", true },
@@ -34564,53 +36071,50 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "medcrowd.com", true },
   { "meddelare.com", true },
   { "meddigital.com", false },
+  { "meddin.com", true },
+  { "medecinchinois.be", true },
   { "medeinos.lt", true },
+  { "medeurope.info", true },
   { "medexpress.co.uk", true },
   { "medguide-bg.com", true },
   { "medi.com.br", true },
-  { "media-credit.eu", true },
   { "media-instance.ru", true },
   { "media-library.co.uk", true },
   { "media-pi.com", true },
   { "media-serwis.com", true },
+  { "media-store.ir", true },
   { "mediaarea.net", true },
   { "mediabackoffice.co.jp", true },
   { "mediablaster.com", true },
   { "mediabogen.net", true },
+  { "mediabookdb.de", true },
   { "mediaburst.co.uk", true },
   { "mediacloud.me", true },
   { "mediadex.be", true },
   { "mediafamous.com", true },
   { "mediafart.fr", true },
   { "mediafly.com", true },
-  { "mediafocus.biz", true },
   { "mediagenic.ch", false },
-  { "mediagold.it", true },
   { "mediagrand.net", true },
-  { "mediahaus.de", true },
   { "mediajurnal.com", true },
   { "medialab.nrw", true },
-  { "medialys.ca", true },
-  { "mediamarkt.pl", true },
   { "mediapart.fr", true },
   { "mediapath.gr", true },
   { "mediarithmics.com", true },
   { "mediarithmics.io", true },
   { "mediaselection.eu", true },
-  { "mediasst.com", true },
   { "mediathekview.de", true },
   { "mediation-mv.de", true },
-  { "mediationculturelleclp.ch", false },
   { "mediatorzy.waw.pl", true },
   { "mediaukkies.nl", true },
   { "mediawijsheid.nl", true },
   { "mediawijzer.net", true },
   { "mediawiki.org", true },
   { "mediawin.pl", true },
-  { "medic-world.com", true },
   { "medical-assistant-colleges.com", true },
-  { "medicalabroad.org", true },
+  { "medicalabroad.org", false },
   { "medicalcountermeasures.gov", true },
+  { "medicaltools.de", true },
   { "medicare-providers.net", true },
   { "medicarecoveragefinder.com", true },
   { "medicareful.com", true },
@@ -34624,6 +36128,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "medicoleads.com", true },
   { "medicoresponde.com.br", true },
   { "medicsz.co", true },
+  { "medictools.de", true },
   { "medienweite.de", true },
   { "medifirst.de", true },
   { "medigap-quote.net", true },
@@ -34636,7 +36141,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "medinsider.ch", true },
   { "medinsider.li", true },
   { "medirota.com", true },
-  { "medisense.tk", true },
   { "meditadvisors.com", true },
   { "meditarenargentina.org", true },
   { "meditation-rennes.org", true },
@@ -34676,7 +36180,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "medposturgentcare.org", true },
   { "medpostwalkincare.com", true },
   { "medpostwellness.com", true },
-  { "medrep.pp.ua", true },
   { "medsblalabs.com", true },
   { "medschat.com", true },
   { "medsourcelabs.com", true },
@@ -34684,7 +36187,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "medtalents.ch", true },
   { "medtehnika.ua", true },
   { "medtip.de", true },
-  { "medundmed.at", true },
+  { "medunovi.com", true },
   { "medusa.wtf", true },
   { "meduza.io", true },
   { "medvedikorenka.cz", true },
@@ -34694,11 +36197,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "medwaybouncycastlehire.co.uk", true },
   { "medyotan.ga", true },
   { "meedoenhartvanwestbrabant.nl", false },
-  { "meeplegamers.com", true },
+  { "meekhak.com", true },
   { "meerman.nl", true },
   { "meermantechnischburo.nl", true },
   { "meerutcake.com", true },
-  { "meesteresmisty.nl", true },
   { "meet.google.com", true },
   { "meetawesomepeople.net", true },
   { "meetbot.fedoraproject.org", true },
@@ -34713,10 +36215,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "meeztertom.nl", true },
   { "meg-a-bounce.co.uk", true },
   { "mega-byte.nl", true },
+  { "mega-loteria.com", true },
   { "mega.co.nz", true },
   { "megabounce.co.uk", true },
   { "megabounceni.co.uk", true },
   { "megabouncingcastles.com", true },
+  { "megaelettrostimolatore.com", true },
+  { "megaflix.nl", true },
   { "megaflowers.ru", true },
   { "megagifs.de", true },
   { "megaherz.tk", true },
@@ -34728,8 +36233,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "meganreel.com", true },
   { "meganruggiero.com", true },
   { "megapixel.cz", true },
+  { "megapl.ru", true },
   { "megaplan.cz", true },
-  { "megaplan.ru", true },
   { "megaportal.ga", true },
   { "megarex.jp", true },
   { "megaron.at", true },
@@ -34739,7 +36244,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "megawebsite.tk", true },
   { "megaxchange.com", true },
   { "megaxchange.org", true },
-  { "meggidesign.com", true },
+  { "megayachts.world", true },
   { "meginajums1.space", true },
   { "mego.cloud", true },
   { "megumico.net", true },
@@ -34748,6 +36253,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mehalick.com", true },
   { "mehdibouchema.be", true },
   { "mehdimassage.com", true },
+  { "meherbaba.sk", true },
+  { "meherpurnews.com", true },
   { "mehhh.xyz", true },
   { "mehibo.tk", true },
   { "mehmetakif.edu.tr", true },
@@ -34759,12 +36266,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mehrnevesht.com", true },
   { "mehrwert.de", true },
   { "mehvix.com", true },
+  { "meia.ir", true },
   { "meidev.co", true },
   { "meierhofer.net", true },
+  { "meikampf.de", true },
   { "meiksbar.de", true },
   { "meillard-auto-ecole.ch", true },
   { "meilleur.info", true },
   { "meilleursavis.fr", true },
+  { "meilleursjeuxporno.fr", true },
   { "meilleurstrucs.com", true },
   { "mein-domizil.at", true },
   { "mein-gehalt.at", true },
@@ -34779,26 +36289,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "meine-finanzanalyse.de", true },
   { "meine-immofinanzierung.de", true },
   { "meineit.dvag", true },
+  { "meinephbern.ch", true },
   { "meinewolke.pw", true },
   { "meinezwangsversteigerung.de", true },
   { "meinheizstrom.de", true },
   { "meintragebaby.de", true },
   { "meinv.asia", true },
+  { "meiobit.com", true },
   { "meiodomato.com.br", true },
   { "meiqia.com", true },
   { "meisterlabs.com", true },
   { "meistertask.com", true },
   { "meitan.gz.cn", true },
-  { "meizitang.es", true },
   { "mekaleskirit.tk", true },
   { "mekanika.com.my", true },
   { "mekatrotekno.com", true },
   { "mekesh.com", true },
   { "mekesh.net", true },
-  { "mekesh.ru", true },
   { "meklon.net", true },
-  { "melania-voyance.fr", true },
-  { "melaniegruber.de", true },
+  { "melania-voyance.fr", false },
+  { "melanieschweiger.com", true },
   { "melatonin.fun", true },
   { "melbourne.dating", true },
   { "melcher.it", true },
@@ -34806,19 +36316,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "melda-agustin.tk", true },
   { "melda.ru", true },
   { "meldcode-assistent.nl", true },
-  { "mele.ro", true },
+  { "meldpuntemma.nl", true },
   { "melearning.university", false },
   { "melhoresdominios.com", true },
   { "melhoresmarcasdenotebook.com.br", true },
-  { "melikoff.es", true },
+  { "meliggemert.nl", true },
+  { "melihacar.com.tr", true },
   { "melillaorienta.es", true },
   { "melina-schefczyk.de", true },
   { "meliowebweer.nl", true },
   { "melissaadkins.com", true },
-  { "melissagalt.com", true },
   { "melissameuwszen.nl", true },
   { "meliyb.ga", true },
-  { "mellika.ch", true },
+  { "mellonne.com", true },
   { "melnessgroup.com", true },
   { "melnikov.ch", true },
   { "melodict.com", true },
@@ -34835,10 +36345,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "melosyne.net", true },
   { "melosyne.org", true },
   { "meltzow.net", true },
+  { "membercents.com", true },
   { "memberhk.com", true },
   { "members-arbourlake.com", true },
   { "members-only-shopping.com", true },
   { "members.nearlyfreespeech.net", false },
+  { "membersense.com", true },
   { "membershipservices.org.uk", true },
   { "meme-photostudio.com.tw", true },
   { "meme.fi", true },
@@ -34847,15 +36359,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "memento-mori.cf", true },
   { "memes.nz", true },
   { "memesbee.com", true },
+  { "memind.net", true },
   { "memiux.com", true },
-  { "memmertusa.com", true },
   { "memo-linux.com", true },
   { "memo.ee", true },
   { "memo2ch.com", true },
   { "memoire-resistance-ariege.fr", true },
   { "memoirmedie.dk", true },
+  { "memoriadeunaciudadzccm2019.com", true },
   { "memorind.com", true },
   { "memoryex.net", true },
+  { "mempool.de", true },
   { "memrise.com", true },
   { "menanwc.org", true },
   { "menden.com", true },
@@ -34869,13 +36383,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "menole.de", true },
   { "menole.net", true },
   { "menotag.com", true },
+  { "mens-v.com", true },
   { "mensagemaniversario.com.br", true },
   { "mensagemdaluz.com", true },
   { "mensagensaniversario.com.br", true },
   { "mensagensdeconforto.com.br", true },
   { "mensarena.gr", true },
   { "mensch-peter.me", true },
-  { "menshealthinsurance.com", true },
   { "mentalcalculations.tk", true },
   { "mentalcraft.tk", true },
   { "mentalhealthmn.org", true },
@@ -34884,8 +36398,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "menthiere.fr", true },
   { "mentiq.az", true },
   { "mentita.de", true },
-  { "mentorbuk.com", true },
-  { "menuonlineordering.com", true },
+  { "mentup.com.br", true },
   { "menzietti.it", true },
   { "meo.de", true },
   { "meodihoang.com", true },
@@ -34911,14 +36424,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mercadosex.com.br", true },
   { "mercamaris.es", true },
   { "mercari.com", true },
+  { "mercatoitticosbt.it", true },
+  { "mercedes-benz-arena-stuttgart.de", true },
   { "mercedes-benz-kiev.com", true },
   { "mercedes-ig.de", true },
   { "mercedobem.com.br", true },
   { "merchant-automotive.com", true },
   { "merchant.agency", true },
   { "merchcity.com", true },
-  { "mercier-auto.com", true },
-  { "mercier-cars.co.uk", true },
+  { "mercici.com", true },
   { "mercredifiction.io", true },
   { "mercury.photo", true },
   { "mercuryamericas.com", false },
@@ -34934,12 +36448,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "meridianenvironmental.com", true },
   { "meridianmetals.com", true },
   { "meridianoshop.com.br", true },
-  { "merite.cloud", true },
+  { "merkel.li", true },
   { "merkel.me", true },
   { "merlet.eu", true },
   { "merlin-memorial.de", true },
   { "merlinsoap.com", true },
-  { "merloaded.rocks", true },
   { "merojob.com", true },
   { "meronberry.jp", true },
   { "merpay.com", true },
@@ -34950,19 +36463,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mertcangokgoz.com", true },
   { "meruri.com", true },
   { "merza.is", true },
-  { "merzai.co.uk", true },
   { "mes-bouquins.fr", true },
-  { "mes-finances.be", true },
-  { "mesami-art.de", true },
   { "mesappros.com", true },
   { "mescaline.com", true },
   { "mescaline.org", true },
   { "mesec.cz", true },
   { "mesh.gov", true },
+  { "mesh.org.ua", true },
   { "meshok.info", true },
   { "mesicka.com", false },
   { "meskiukas.tk", true },
-  { "mesomeds.com", true },
   { "mesotheliomacentre.tk", true },
   { "messagescelestes-archives.ca", true },
   { "messagevortex.com", true },
@@ -34981,9 +36491,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "metachris.com", true },
   { "metacoda.com", true },
   { "metacode.biz", true },
+  { "metacompliance.com", true },
   { "metacortex.cf", true },
   { "metadata.be", true },
-  { "metaether.net", true },
+  { "metadedi.net", true },
   { "metafurquest.net", true },
   { "metaglyphics.com", true },
   { "metainnovative.net", true },
@@ -34993,20 +36504,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "metalempire.tk", true },
   { "metaljournal.tk", true },
   { "metaljunkiez.com", true },
-  { "metallibrarian.com", true },
   { "metalliran.tk", true },
   { "metallobaza.ml", true },
   { "metallomania.it", true },
   { "metallosajding.ru", true },
-  { "metallschutz-direkt.de", true },
   { "metalu.ch", false },
+  { "metanic.services", true },
   { "metanodo.com", true },
   { "metanumbers.com", true },
   { "metapeen.nl", true },
   { "metasquare.com.au", true },
   { "metasquare.nyc", true },
+  { "metasurfforecast.com", true },
   { "metasyntactic.xyz", true },
-  { "metasysteminfo.com", true },
   { "metaurl.io", true },
   { "metaword.com", true },
   { "metaword.net", true },
@@ -35030,56 +36540,54 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "meterhost.com", true },
   { "methamphetamine.co.uk", true },
   { "method.com", true },
+  { "methodfactory.com", true },
   { "methylone.com", true },
+  { "metod.photo", true },
   { "metric.ai", true },
   { "metricmutt.com", true },
   { "metro-lawn-care.com", true },
   { "metro-web.net", true },
   { "metroairvirtual.com", true },
   { "metrobriefs.com", true },
+  { "metrocarremovals.com", true },
   { "metrodemaracaibo.tk", true },
   { "metrodetroitmommy.com", true },
-  { "metrolush.com", true },
-  { "metron-eging.com", true },
-  { "metron-networks.com", true },
+  { "metrolaut.de", true },
   { "metron-online.com", true },
   { "metronaut.de", true },
-  { "metronews.co.nz", true },
   { "metropop.ch", false },
   { "metrorealestatepros.com", true },
   { "metsasta.com", true },
   { "mettekopp.dk", true },
-  { "metz-metropolitain.fr", true },
   { "metzgermark.com", true },
   { "meugamer.com", true },
   { "meujeitodigital.com.br", false },
   { "meurisse.org", true },
   { "mevanshop.com", false },
   { "mevo.xyz", true },
-  { "mevs.cz", true },
   { "mevsim.com", true },
   { "mexican.dating", true },
   { "mexicanjokes.net", true },
   { "mexico.rs", true },
   { "mexico.sh", true },
-  { "mexicom.org", true },
   { "mexicotopescorts.com", true },
-  { "meyash.co", true },
+  { "meys.io", true },
   { "mezedokamomata.tk", true },
   { "mezinfo.tk", true },
   { "mezzehuis.be", true },
   { "mf-fischer.de", true },
   { "mfen.de", true },
+  { "mfischer-it.de", true },
   { "mfits.co.uk", true },
   { "mflodin.se", true },
-  { "mfsquad.com", true },
   { "mfxbe.de", true },
+  { "mgae.com", true },
   { "mgcraft.net", true },
   { "mgdigitalmarketing.com.au", true },
   { "mghw.ch", true },
   { "mgi.gov", true },
   { "mgiljum.com", true },
-  { "mglink.be", true },
+  { "mgmultiservicessrl.it", true },
   { "mgonline.tk", true },
   { "mgrossklaus.de", false },
   { "mgrt.net", true },
@@ -35107,30 +36615,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mi80.com", true },
   { "mi92.ru", true },
   { "mia.tw", true },
+  { "miacordeonstereo.com", true },
   { "miadennees.com", true },
   { "miagexport.com", true },
-  { "miah.top", true },
   { "mialquilerdecoches.com", true },
   { "miamiaquatours.com", true },
-  { "miamiobgyndreams.com", true },
   { "miaomiao.eu.org", true },
   { "miaowo.org", true },
   { "miapuntes.com", true },
+  { "miasarafina.de", true },
   { "miasonne.com", true },
   { "miavierra.org", true },
   { "mibh.de", true },
   { "mibuiin.com", true },
   { "mica.ml", true },
   { "micalodeal.ch", false },
-  { "micamisetaestampada.com", true },
   { "micbase.com", true },
   { "michadenheijer.com", true },
-  { "michael-contento.de", true },
   { "michael-schefczyk.de", true },
   { "michael-steinhauer.eu", true },
   { "michaelasawyer.com", true },
   { "michaelband.com", true },
-  { "michaelcontento.de", true },
+  { "michaelbeer.co.uk", true },
   { "michaelcullen.name", true },
   { "michaeldg.be", true },
   { "michaelhrehor.com", true },
@@ -35138,6 +36644,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "michaelizquierdo.com", true },
   { "michaeljacksonforsale.com", true },
   { "michaeljdennis.com", true },
+  { "michaelklos.nl", true },
   { "michaelkuchta.me", true },
   { "michaell.io", true },
   { "michaell.xyz", true },
@@ -35153,11 +36660,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "michaeltroger.com", true },
   { "michaeltruskowski.com", true },
   { "michaelwermeester.com", true },
+  { "michal-klabnik.com", true },
+  { "michal-klabnik.cz", true },
   { "michal-s.net", true },
   { "michal-spacek.com", true },
   { "michal-spacek.cz", true },
   { "michaldudek.it", true },
-  { "michalpodraza.pl", true },
+  { "michalis.xyz", true },
+  { "michalklabnik.com", true },
+  { "michalklabnik.cz", true },
   { "michalspacek.com", true },
   { "michalspacek.cz", true },
   { "michalwiglasz.cz", true },
@@ -35187,6 +36698,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "microco.sm", true },
   { "microcomploja.com.br", true },
   { "microdots.de", true },
+  { "microjournal.xyz", true },
   { "microjovem.pt", true },
   { "microlog.org", true },
   { "micromata.de", true },
@@ -35212,8 +36724,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "midistop.org", true },
   { "midkam.ca", true },
   { "midlandgate.de", true },
-  { "midlandleisuresales.co.uk", true },
-  { "midlandroofingri.com", true },
   { "midlandsfundays.co.uk", true },
   { "midlandslotus.co.uk", true },
   { "midlandsphotobooths.co.uk", true },
@@ -35223,9 +36733,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "midnightmango.de", true },
   { "midnightmechanism.com", true },
   { "midrandplumber24-7.co.za", true },
+  { "midrandrubbleremovals.co.za", true },
   { "midstatebasement.com", true },
   { "midterm.us", true },
-  { "midtowndentistry.com", true },
   { "midwayrecovery.com", true },
   { "midweb.ro", false },
   { "midwestbloggers.org", true },
@@ -35239,9 +36749,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mieuxgrandir.ch", false },
   { "mifarmaciaenbarcelona.com", true },
   { "miffy.me", true },
-  { "miftahulteknik.com", true },
   { "mig5.net", true },
   { "miggy.org", true },
+  { "mightybit.co", true },
   { "mightysighty.com", true },
   { "miguel.pw", true },
   { "migueldemoura.com", true },
@@ -35253,16 +36763,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "miguelmenendez.pro", true },
   { "miguelmoura.com", true },
   { "miguia.tv", true },
+  { "mihalicka.com", true },
   { "mihgroup.net", true },
   { "mihnea.net", true },
   { "mijailovic.net", true },
+  { "mijam.xyz", true },
   { "mijcorijneveld.nl", true },
   { "mijn-financien.be", true },
   { "mijn.computer", true },
   { "mijnbeijesweb.nl", true },
   { "mijnetz.nl", false },
+  { "mijngeldcoach.nl", true },
+  { "mijnkantoor.net", true },
   { "mijnkerstkaarten.be", true },
   { "mijnkinderkleding.com", true },
+  { "mijnkwadraad.nl", true },
+  { "mijnnaamdag.nl", true },
   { "mijnpartijhandel.nl", true },
   { "mijnreisoverzicht.nl", true },
   { "mijnstembureau.nl", true },
@@ -35271,10 +36787,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mika.moe", true },
   { "mikadoe.nl", true },
   { "mikaeljansson.net", true },
+  { "mikaelvesavuori.se", true },
   { "mikakalathil.ca", true },
   { "mikakalevi.com", true },
   { "mikalikes.men", true },
-  { "mikdoss.co", true },
   { "mike-bland.com", true },
   { "mike-burns.com", true },
   { "mike-et-pascale-sanger.com", true },
@@ -35286,15 +36802,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mikecapson.com", true },
   { "mikecb.org", true },
   { "mikechasejr.tk", true },
-  { "mikegao.net", false },
-  { "mikegao.org", true },
+  { "mikedhoore.be", true },
   { "mikegerwitz.com", true },
   { "mikeguy.co.uk", true },
   { "mikehamburg.com", true },
   { "mikeklidjian.com", true },
   { "mikekreuzer.com", true },
   { "mikemooresales.com", true },
-  { "mikeowens.us", true },
+  { "mikeprocopio.com", true },
   { "mikerichards.gallery", true },
   { "mikerichards.photography", true },
   { "mikerichards.photos", true },
@@ -35307,18 +36822,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mikevesch.com", true },
   { "mikewillia.ms", true },
   { "mikewrites.online", true },
-  { "mikhlevich.ru", true },
   { "miki.it", true },
   { "mikkei.space", true },
-  { "mikkelladegaard.dk", true },
+  { "mikkelladegaard.dk", false },
   { "mikkelscheike.com", true },
-  { "mikkelvej.dk", true },
   { "mikkonen.bio", true },
   { "miklagard.dk", true },
   { "miklcct.com", true },
+  { "mikmik.co.il", true },
   { "miknight.com", true },
   { "mikropixel.de", true },
-  { "miku.ro", true },
   { "mikywow.eu", true },
   { "milahendri.com", true },
   { "milakirschner.de", true },
@@ -35327,16 +36840,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "milanstephan.de", false },
   { "milavica.tk", true },
   { "milcahsmusings.com", true },
+  { "milcarteles.com", true },
   { "mileme.com", true },
   { "milenaria.es", true },
   { "milesapart.dating", true },
+  { "milfhubs.com", true },
   { "milfpornograph.com", true },
   { "milhoazul.com.br", true },
   { "milieuland.com", true },
   { "militaryonesource.mil", true },
   { "militarysrit.tk", true },
   { "milkaalpesiutazas.hu", true },
+  { "milkagyengedseg.hu", true },
   { "milkameglepetes.hu", true },
+  { "milkandbourbons.com", true },
   { "milkingit.co.uk", true },
   { "milkingit.net", true },
   { "milkmoovement.io", true },
@@ -35349,13 +36866,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "millennium-thisiswhoweare.net", true },
   { "millenniumstem.org", true },
   { "millenniumweb.com", false },
+  { "milleron.net", true },
   { "milleron.xyz", true },
   { "millersminibarns.com", true },
   { "millerwalker.com", true },
   { "millettable.com", true },
   { "millhousenchurch.com", true },
-  { "millionairegames.com", true },
   { "millionen-von-sonnen.de", true },
+  { "millipore-alternative.com", true },
   { "millistream.com", true },
   { "mim.am", true },
   { "mimavision.ddns.net", true },
@@ -35408,6 +36926,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "minecraftstal.com", true },
   { "minehattan.de", true },
   { "minehub.de", true },
+  { "minei.me", true },
   { "minepack.net", true },
   { "minepay.net", true },
   { "minepic.org", true },
@@ -35417,6 +36936,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "minesouls.fr", true },
   { "minetracker.dk", true },
   { "minez-nightswatch.com", false },
+  { "minfin.gov.ua", true },
   { "mingky.net", true },
   { "mingkyaa.com", true },
   { "mingming.info", true },
@@ -35424,10 +36944,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mingtreerealty.com", true },
   { "mingwah.ch", false },
   { "minh.at", false },
+  { "minhng99.cloud", true },
   { "minhyukpark.com", true },
   { "mini-piraten.de", true },
   { "mini2.fi", true },
   { "miniaturepets.net", true },
+  { "minibaggerverleih-aulendorf.de", true },
   { "minibrewery.cf", true },
   { "minican.net", true },
   { "miniclip.com", true },
@@ -35440,17 +36962,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "minilions.fr", true },
   { "minimal-apps.de", true },
   { "minimalistbaker.com", true },
+  { "minimalmx.io", true },
   { "minimaltimer.com", true },
   { "minimayhemsoftplay.co.uk", true },
   { "minimbah.com.au", true },
-  { "minimonies.tk", true },
   { "minimvc.com", true },
   { "mining.diamonds", true },
+  { "miniskipper.at", true },
   { "minisoft4u.ir", true },
   { "ministeriumfuerinternet.de", true },
   { "minitruckin.net", true },
   { "minitrucktalk.com", true },
-  { "miniverse.social", true },
   { "miniwaplus.com", true },
   { "mink-coat.tk", true },
   { "minkymoon.jp", true },
@@ -35459,6 +36981,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "minnesotareadingcorps.org", true },
   { "minnit.chat", true },
   { "minor.news", true },
+  { "minoritywhip.gov", false },
   { "minorshadows.net", true },
   { "minpingvin.dk", true },
   { "minschuns.ch", true },
@@ -35474,6 +36997,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mionerve.com", true },
   { "mionerve.org", true },
   { "mipapo.de", true },
+  { "mipasevip.com", true },
   { "mipnet.cl", true },
   { "miproximopaso.org", true },
   { "mir-faktov.tk", true },
@@ -35488,7 +37012,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "miramar-obgyn.com", true },
   { "miramar.ca", true },
   { "miravelli.ro", true },
-  { "mirazperu.com", true },
   { "mircarfinder.ru", true },
   { "mirch.com", true },
   { "mireiaseuba.com", true },
@@ -35499,7 +37022,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mirknighechek.tk", true },
   { "mirkofranz.de", true },
   { "mirkvartir.tk", true },
-  { "miroctum.com", true },
   { "mirokon.tk", true },
   { "mironet.cz", true },
   { "miroslavbaka.cz", true },
@@ -35508,33 +37030,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mirshak.com", false },
   { "mirtes.cz", true },
   { "mirtouf.fr", true },
-  { "misakastudio.com", true },
+  { "misakacloud.net", true },
   { "misakatang.cn", false },
   { "misakiya.co.jp", true },
   { "misanci.cz", true },
   { "misclick.nl", true },
+  { "misfit-media.com", true },
   { "mishkan-israel.net", true },
   { "mishkovskyi.net", true },
   { "misinstrumentos.com", true },
   { "miskatonic.org", true },
   { "misoji-resist.com", true },
   { "misp-project.org", true },
-  { "mispromo.com", true },
   { "miss-alisa.com", true },
   { "miss-inventory.co.uk", true },
   { "miss-platinum.net", true },
   { "miss.com.tw", true },
   { "miss.sh", true },
+  { "missaocadastrobv.com.br", true },
   { "missblisshair.com.au", true },
   { "missdream.org", true },
   { "misseguf.dk", true },
   { "missguidedus.com", true },
   { "mission-orange.de", true },
+  { "missionpuppy.nl", true },
   { "missionsgemeinde.de", true },
   { "missip.nl", true },
   { "missivystorm.com", true },
   { "misskey.jp", true },
-  { "misssex.de", true },
+  { "missmaid.co.uk", true },
+  { "missmaid.com", true },
   { "missualready.com", true },
   { "missyou.link", true },
   { "mist79.ru", true },
@@ -35543,7 +37068,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mister-matthew.de", true },
   { "misterandersson.com", true },
   { "misterseguros.com.br", true },
-  { "mistine.net", true },
   { "mistlake.net", true },
   { "mistreaded.com", true },
   { "mistybox.com", true },
@@ -35552,12 +37076,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mit-dem-rad-zur-arbeit.de", true },
   { "mit-dem-rad-zur-uni.de", true },
   { "mit-uns.org", true },
-  { "mita.me", true },
   { "mitarbeitermotivation-anleitungen.de", true },
   { "mitchellhandymanservices.co.uk", true },
   { "mitchelmore.ca", true },
   { "mitdip-mit-group-ch.azurewebsites.net", true },
-  { "mitevi.com", true },
   { "mitfx.com", true },
   { "mithgol.tk", true },
   { "miticobikes.com", true },
@@ -35570,12 +37092,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mitremai.org", true },
   { "mitrostudios.com", true },
   { "mitsonnenbrillen.de", true },
+  { "mitsubishi-club.ge", true },
   { "mitsukabose.com", true },
   { "mittagonggardencentre.com.au", true },
   { "mittbolan.se", true },
   { "mittelalter-lexikon.de", true },
   { "mittwoch-nacht.net", true },
-  { "mitylite.com", true },
   { "mitzpettel.com", true },
   { "miui-germany.de", true },
   { "mivm.cn", true },
@@ -35592,7 +37114,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mivzakim.tk", true },
   { "mivzakim.tv", true },
   { "miweb.cr", false },
+  { "miwebmadrid.es", true },
   { "mix-channel.ml", true },
+  { "mix-recruit.jp", true },
+  { "mixedreality.football", true },
   { "mixedrecipe.com", true },
   { "mixify.ga", true },
   { "mixinglight.com", true },
@@ -35602,23 +37127,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mixtafrica.com", true },
   { "mixx.com.hk", true },
   { "miyanaga.tech", true },
-  { "miyasyou.com", true },
   { "miyatakaikei.com", true },
   { "miyatore.com", true },
   { "miyugirls.com", true },
-  { "mizar.im", false },
   { "mizoey.se", true },
   { "mizque.ch", true },
   { "mizternational.com", true },
   { "mizu.coffee", true },
   { "mizucoffee.net", true },
-  { "mizuho-trade.net", true },
   { "mizuhobank.co.id", true },
   { "mj420.com", true },
   { "mjacobson.net", true },
   { "mjanja.ch", true },
   { "mjasm.org", true },
+  { "mjbulgaria.com", true },
+  { "mjdmetal.com", true },
   { "mjec.net", true },
+  { "mjforan.com", true },
   { "mjjlab.com", true },
   { "mjmedia.co.za", true },
   { "mjniessen.com", true },
@@ -35638,21 +37163,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mkbouncyhire.co.uk", true },
   { "mkcert.org", true },
   { "mkchandler.com", true },
-  { "mkd.mk", true },
   { "mkes.com", true },
-  { "mkfilm.ma", true },
   { "mkg-chirurgie-bruchsal.de", true },
   { "mkg-scherer.de", true },
   { "mkg-wiebelskirchen.de", true },
   { "mkhsoft.eu", true },
-  { "mkie.cf", true },
   { "mkimage.com", false },
   { "mkinteriores.com.br", true },
   { "mkjl.ml", false },
   { "mkk.de", true },
   { "mklenterprises.com", true },
-  { "mklenterprisesacademy.com", true },
-  { "mklenterprisescoaching.com", true },
   { "mkm.szczecin.pl", true },
   { "mkoppmann.at", true },
   { "mkpdeepclean.com", true },
@@ -35660,7 +37180,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mksac.co.uk", true },
   { "mksdarchitects.com", true },
   { "mkse.com", true },
-  { "mkset.ru", true },
+  { "mkset.ru", false },
+  { "mkt.com", true },
   { "mktdigital.info", true },
   { "mktemp.org", true },
   { "mktenlared.com", true },
@@ -35668,31 +37189,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mladamoda.sk", true },
   { "mlathrom.com", true },
   { "mlcnfriends.com", true },
-  { "mllz.com", true },
   { "mlmjam.com", true },
   { "mlohr.com", true },
-  { "mlonline.com.mx", true },
   { "mlp.ee", true },
   { "mlpvector.club", true },
   { "mlsha.cn", true },
+  { "mlstav.sk", true },
   { "mlundberg.se", true },
+  { "mlwr.ee", true },
   { "mlytics.com", true },
-  { "mm-wife.com", true },
   { "mm13.at", true },
   { "mm404.com", true },
+  { "mm88game.com", true },
+  { "mma-records.de", true },
   { "mmalisz.com", true },
   { "mmaps.org", true },
   { "mmassemblyline.de", true },
   { "mmbb.org", true },
   { "mmbhof.org", true },
-  { "mmcalc.jp", true },
   { "mmgal.com", true },
+  { "mmhome.fr", true },
+  { "mmichaelb.pw", true },
   { "mminsco.com", true },
   { "mml.cx", true },
   { "mmmarco.com", true },
   { "mmmm.mn", true },
   { "mmogah.com", true },
-  { "mmoneko.com", true },
   { "mmonit.com", true },
   { "mmprojects.nl", true },
   { "mms.is", true },
@@ -35701,6 +37223,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mmucha.de", true },
   { "mmwb.nl", true },
   { "mmxblog.com", true },
+  { "mnatechnologies.com.au", true },
+  { "mnc.moda", true },
   { "mnciitbhu.me", true },
   { "mncloud.de", true },
   { "mnd.sc", true },
@@ -35709,7 +37233,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mneti.ru", true },
   { "mnguyen.io", true },
   { "mnienamel.com", true },
-  { "mnium.de", true },
+  { "mnlfnet.com", true },
   { "mnml.art", true },
   { "mns.co.jp", true },
   { "mns.jp", true },
@@ -35731,7 +37255,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mobila-chisinau.md", true },
   { "mobilcom-debitel-empfehlen.de", true },
   { "mobile-holzofenpizza.de", true },
-  { "mobile.eti.br", true },
   { "mobile.united.com", false },
   { "mobile.usaa.com", false },
   { "mobile360.ph", true },
@@ -35747,7 +37270,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mobiletry.com", true },
   { "mobilewikiserver.com", true },
   { "mobilinnov.it", true },
-  { "mobilisation-generale.org", false },
   { "mobility-events.ch", true },
   { "mobilux.lv", true },
   { "mobinst.ml", true },
@@ -35760,10 +37282,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mobsitin.tk", true },
   { "mobtop.ml", true },
   { "moburst.com", true },
-  { "mobydog.net", true },
   { "moc.ac", true },
   { "moca-2080.com", true },
-  { "mochilerostailandia.com", true },
   { "mochizuki.moe", true },
   { "mockerel.com", true },
   { "mocking-bird.org", true },
@@ -35803,6 +37323,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "modernautorepairs.com", true },
   { "moderncommercialrealestate.com", true },
   { "moderniknihovna.cz", true },
+  { "modhay.com", true },
   { "modifiedmind.com", true },
   { "modmountain.com", true },
   { "modnitsa.info", true },
@@ -35811,7 +37332,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "modul8infinity.co", true },
   { "module.market", true },
   { "modulex-gmbh.de", true },
-  { "moduloseltaladro.com", true },
   { "modusawperandi.com", true },
   { "moe-max.jp", true },
   { "moebel-vergleichen.com", true },
@@ -35820,10 +37340,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moefactory.com", true },
   { "moegi.ml", true },
   { "moego.me", true },
-  { "moehrke.cc", true },
   { "moekes.amsterdam", true },
   { "moeking.me", true },
-  { "moeloli.cc", true },
   { "moenew.us", true },
   { "moesif.com", true },
   { "moetrack.com", true },
@@ -35837,7 +37355,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mohot.com", true },
   { "mohot.fit", true },
   { "mohr-maschinenservice.de", true },
-  { "moin.jp", true },
+  { "mohritz.co", true },
   { "moipourtoit.ch", true },
   { "moipourtoit.com", true },
   { "moipourtoit.org", true },
@@ -35846,16 +37364,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mojavenissanofbarstowparts.com", true },
   { "mojeco2.cz", true },
   { "mojefedora.cz", true },
+  { "mojekonsultacje.pl", true },
   { "mojilitygroup.com", true },
   { "mojitoparty-articlespara.website", true },
   { "mojizuri.com", true },
-  { "mojizuri.jp", true },
-  { "mojkragujevac.net", true },
   { "mojleksikon.com", true },
   { "mojnet.eu", true },
   { "mojnet.net", true },
   { "mojoco.co.za", true },
-  { "mojomusic.org", true },
   { "mojt.net", true },
   { "mojzis.com", true },
   { "mojzis.cz", true },
@@ -35869,6 +37385,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moldovanka.tk", true },
   { "moldovawall.tk", true },
   { "molecularbiosystems.org", true },
+  { "molekula.hr", true },
   { "moleskinestudio.com", true },
   { "molinero.xyz", true },
   { "mollaretsmeningitis.org", true },
@@ -35878,6 +37395,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "molokai.org", true },
   { "moltapor.tk", true },
   { "molti.hu", true },
+  { "moltina.com", true },
   { "molun.net", true },
   { "molunerfinn.com", true },
   { "molwick.com", true },
@@ -35897,6 +37415,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "momstableonline.com", true },
   { "momut.org", true },
   { "momy-genealogie.info", true },
+  { "mon-a-lisa.com", true },
+  { "mon-butin.fr", true },
   { "mon-partage.fr", true },
   { "mon-trafic.com", false },
   { "mon22.ch", false },
@@ -35907,18 +37427,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "monakasatmasr.com", true },
   { "monalyse.com", true },
   { "monarchcleanersnc.com", true },
+  { "monarchpartnersgroup.com", true },
   { "monarcjuexpo.ch", true },
   { "monbudget.org", false },
   { "moncoach.ch", false },
   { "mondedie.fr", true },
   { "mondial-movers.nl", true },
   { "mondo-it.ch", true },
-  { "mondonet.org", true },
+  { "mondonet.org", false },
   { "mondzorgaanzee.nl", true },
   { "moneni.com", true },
   { "monerogamez.com", true },
-  { "moneta-rossii.ru", true },
   { "monetki.net", true },
+  { "monetus.com.br", true },
   { "money-fast.ga", true },
   { "moneybird.com", true },
   { "moneybird.nl", true },
@@ -35926,22 +37447,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moneycredit.eu", true },
   { "moneyfortitude.com", true },
   { "moneygo.se", true },
-  { "moneyhouse.de", true },
   { "moneypark.ch", true },
   { "moneyreal.tk", true },
   { "moneytoday.se", true },
   { "mongolbox.tk", true },
   { "mongolie.net", true },
   { "mongolieenfrance.fr", true },
+  { "mongooselock.com.ua", true },
   { "monicajean.photography", true },
-  { "moninformaticien.ovh", true },
-  { "moninformaticien.shop", true },
-  { "moniquedekermadec.com", true },
   { "moniquemunhoz.com.br", true },
-  { "monitman.com", true },
   { "monitorbox.jp", true },
   { "monitord.at", true },
-  { "monitoring.kalisz.pl", true },
   { "monitzer.com", true },
   { "monix.io", true },
   { "monkatos.org", true },
@@ -35963,19 +37479,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "monolithindustries.com", true },
   { "monolithinteractive.com", true },
   { "monopoly-one.com", true },
-  { "monotai.com", true },
   { "monoworks.co.jp", true },
   { "monpc-pro.fr", false },
   { "monpermismoto.com", true },
   { "monpermisvoiture.com", true },
+  { "monpetitherboriste.com", true },
   { "monpetitmobile.com", true },
+  { "monroe27.com", true },
   { "monsieurbureau.com", true },
+  { "monsieurdecapage.com", true },
   { "monsieursavon.ch", false },
   { "monsitemoncommerce.com", true },
   { "monsterandfox.co.uk", true },
   { "monstermashentertainments.co.uk", true },
   { "monsterx.cn", true },
-  { "mont-thabor.fr", true },
   { "montack.de", true },
   { "montage-kaika.de", false },
   { "montanasky.tv", true },
@@ -35984,12 +37501,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "montarfotoaki.com", true },
   { "montas.io", true },
   { "montemanik.com", true },
+  { "montenegro-yacht.com", true },
   { "montessori.edu.vn", true },
   { "montgomeryfirm.com", true },
   { "monthlyfukuoka.com", true },
-  { "montopolis.com", true },
   { "montpreveyres.ch", false },
   { "montrain.com", true },
+  { "montrain.fr", true },
   { "montrealcatadoptions.com", true },
   { "montredeal.fr", true },
   { "montsaintaignan.fr", true },
@@ -36010,14 +37528,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moonchart.co.uk", true },
   { "moondrop.org", true },
   { "moonkin.eu", true },
-  { "moonlabs.nl", true },
   { "moonlightdesign.org", true },
   { "moonmelo.com", true },
   { "moonraptor.co.uk", false },
   { "moonraptor.com", false },
-  { "moonrhythm.io", true },
+  { "moonrhythm.io", false },
+  { "moonsault.de", true },
   { "moonshyne.org", true },
-  { "moontaj.com", true },
   { "moonue.com", true },
   { "moonvpn.org", true },
   { "moonwolfwiccanschool.tk", true },
@@ -36031,12 +37548,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moorparklighting.com", true },
   { "moorparkoutdoorlighting.com", true },
   { "moort.be", true },
-  { "mooselook.de", true },
   { "moosikapp.tk", true },
   { "moosmann-moehrle.de", true },
-  { "moosmaus.tk", true },
   { "moot-info.co.za", true },
   { "moovablestorage.com", true },
+  { "moove-it.com", true },
+  { "mooveo.co", true },
   { "moparcraft.net", true },
   { "moparisthebest.com", true },
   { "moparisthebest.net", true },
@@ -36044,6 +37561,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moparscape.net", true },
   { "mopedreifen.de", false },
   { "mopie.de", true },
+  { "mople71.cz", true },
   { "mopliangxing.com", true },
   { "moplx.com", true },
   { "moppeleinhorn.de", true },
@@ -36070,6 +37588,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "morethancode.be", true },
   { "morethandigital.info", true },
   { "morgan-insurance.com", true },
+  { "morgandesort.com", true },
   { "morgansleisure.co.uk", true },
   { "morganwilder.com", true },
   { "morgner.com", true },
@@ -36080,15 +37599,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "moriz.net", true },
   { "mormon-colleges.com", true },
   { "mormonleaks.io", true },
-  { "morningcurve.com", true },
+  { "morningbird.eu", true },
+  { "morningcurve.com", false },
   { "morningstar.moe", true },
   { "morningtime.cloud", true },
   { "moroccanews.tk", true },
   { "moroccotodaynews.ga", true },
-  { "morox.top", true },
+  { "moron-mu.com", true },
   { "morozko.gq", true },
   { "morris.computer", true },
   { "morrisby.com", true },
+  { "morritosfelices.com", true },
+  { "morse-ti.net", true },
   { "mortengamstpedersen.tk", true },
   { "mortgagecalculator.biz", true },
   { "mortis.eu", true },
@@ -36115,6 +37637,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mostafabanaei.cf", true },
   { "mostbelehuzunk.hu", true },
   { "mosternaut.com", true },
+  { "mosttaza.com", true },
+  { "motcha.be", true },
   { "motd.ch", true },
   { "motekforce.link", true },
   { "motekforcelink.com", true },
@@ -36136,6 +37660,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "motionless.nl", true },
   { "motionvideos.uk", true },
   { "motiv-rechts.tk", true },
+  { "motivational-babes.com", true },
   { "motiweb.fr", true },
   { "motlife.net", false },
   { "motmplus.com", true },
@@ -36151,9 +37676,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "motojato.com.br", true },
   { "motoland.ml", true },
   { "motonauticaibiza.com", true },
+  { "motor-agro.com", true },
+  { "motor-agro.com.ua", true },
+  { "motor-agro.kz", true },
+  { "motor-agro.ru", true },
   { "motor-forum.nl", true },
   { "motor1.com", true },
   { "motoreflex.com", true },
+  { "motorialab.com", false },
   { "motornaolja.com", true },
   { "motorpointarenacardiff.co.uk", true },
   { "motorring.ru", true },
@@ -36181,33 +37711,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mountainactivitysection.org.uk", true },
   { "mountainbatchers.de", true },
   { "mountainchalet.blue", true },
-  { "mountainspringsrentals.ca", true },
   { "mountaintree.eu", true },
   { "mountainutilities.eu", true },
   { "mountbatten.cz", true },
+  { "mountknowledge.nl", true },
   { "mountpost.tk", true },
   { "mousepotato.uk", true },
   { "moutiezhaller.com", true },
+  { "mov-square.jp", true },
   { "movacare.de", true },
-  { "movahoteis.com.br", true },
   { "move-out-cleaning.co.uk", true },
   { "move.mil", true },
   { "moveltix.net", true },
   { "movember.com", false },
   { "movementdanceacademy.it", true },
   { "movewellnesslab.com", true },
-  { "movfun.ga", true },
   { "movie-infos.net", true },
   { "movie1000.com", true },
   { "moviefreeze.com", true },
   { "movieguys.org", true },
   { "moviesetc.net", true },
+  { "moviestrendingnow.com", true },
   { "movilcelular.es", true },
   { "moviltronix.com", true },
   { "movimento-terra.it", true },
   { "movinglogistics.nl", false },
   { "movingtohttps.com", true },
-  { "movlib.org", true },
+  { "moviro.net", true },
   { "moy.cat", true },
   { "moylen.eu", true },
   { "mozartgroup.hu", true },
@@ -36218,6 +37748,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mp3gratuiti.com", true },
   { "mpa-pro.fr", true },
   { "mpac.ca", false },
+  { "mpath.health", true },
   { "mpc-hc.org", true },
   { "mpcompliance.com", true },
   { "mpetroff.net", true },
@@ -36228,13 +37759,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mpkrachtig.nl", true },
   { "mplanetphl.fr", false },
   { "mplant.io", true },
+  { "mpodraza.eu", true },
   { "mpoonamchandpearls.com", true },
   { "mprsco.eu", true },
   { "mpsoundcraft.com", true },
   { "mpu-beratungsstellen.com", true },
   { "mpu-ibbi.de", true },
   { "mpu-vorbereitung.com", true },
+  { "mpu-vorbereitung.com.de", true },
   { "mpublicidad.com", true },
+  { "mqbeauty.com.tw", true },
   { "mr-anderson.org", true },
   { "mr-bills.com", true },
   { "mr-moulding-knives.com", true },
@@ -36246,14 +37780,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mralonas.ml", true },
   { "mralonas.tk", true },
   { "mrandmrsparrot.gr", true },
-  { "mrbmafrica.com", true },
+  { "mrazek.biz", true },
   { "mrbounce.com", true },
   { "mrbouncescrazycastles.co.uk", true },
   { "mrbouncycastle.com", true },
   { "mrbuckykat.com", true },
   { "mrca-sharp.com", false },
   { "mrcoolevents.com", true },
-  { "mrcrowley217.com", true },
   { "mrd.ninja", true },
   { "mrdatenschutz.de", true },
   { "mrdayman.com", true },
@@ -36267,9 +37800,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mrinalpurohit.in", true },
   { "mrjhnsn.com", true },
   { "mrjo.sh", true },
-  { "mrjooz.com", false },
+  { "mrjones.org", true },
   { "mrkapowski.com", true },
-  { "mrketolocksmith.com", true },
   { "mrknee.gr", true },
   { "mrkrabat.de", true },
   { "mrlove.tk", true },
@@ -36281,17 +37813,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mrnonz.com", true },
   { "mrnordic.com", true },
   { "mrprintables.com", true },
-  { "mrs-labo.jp", true },
   { "mrs-shop.com", true },
   { "mrsbairds.com", false },
   { "mrschristine.com", true },
-  { "mrserge.lv", true },
   { "mrsheep.win", true },
   { "mrsiding.net", true },
   { "mrsk.me", true },
   { "mrstat.co.uk", true },
   { "mrston.ml", true },
   { "mrstuudio.ee", true },
+  { "mrtunnel.club", true },
   { "mruczek.ga", true },
   { "mrv.li", true },
   { "mrvnt.co", true },
@@ -36302,6 +37833,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ms-host.fr", true },
   { "msa-aesch.ch", true },
   { "msafiri.co", true },
+  { "msc-corps.de", true },
   { "mscc.mu", true },
   { "mscc.org", true },
   { "msch.pw", true },
@@ -36311,8 +37843,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "msha.gov", true },
   { "msi-zlin.cz", true },
   { "msiegmund.com", true },
+  { "msieursvp.fr", true },
   { "msize48.ch", true },
   { "msmails.de", true },
+  { "msnhdd.info", true },
   { "msnr.net", true },
   { "msoll.de", true },
   { "msoll.eu", true },
@@ -36321,7 +37855,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "msquadrat.de", true },
   { "msroot.de", true },
   { "mssora.com", true },
-  { "mssys.de", true },
   { "mstdn.blue", true },
   { "mstdn.io", true },
   { "mstdn.onl", false },
@@ -36338,9 +37871,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mtane0412.com", true },
   { "mtasa.com", true },
   { "mtasa.hu", true },
-  { "mtasts.xyz", true },
   { "mtauburnassociates.com", true },
-  { "mtcpuntosalud.com", true },
+  { "mtb.wtf", true },
   { "mtcq.jp", true },
   { "mtd.org", true },
   { "mte.sk", true },
@@ -36355,7 +37887,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mthrbrd.net", true },
   { "mths.be", false },
   { "mticareportal.com", true },
-  { "mtinz.com", true },
   { "mtiryaki.com", true },
   { "mtjholding.ee", true },
   { "mtlconcerts.com", true },
@@ -36387,25 +37918,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mudit.xyz", false },
   { "muelhau.pt", true },
   { "muell-weg.de", true },
-  { "mueller-gaestehaus.de", true },
   { "muenchberger.com", true },
   { "muffs.ru", true },
   { "mufibot.net", true },
+  { "muganworld.com", true },
   { "mugen.technology", true },
   { "muguayuan.com", true },
   { "muhabbet.org", true },
   { "muhcow.dk", true },
-  { "mui.jp", true },
   { "muilties.com", true },
-  { "muitadica.com", false },
-  { "muitoalemdobolo.com.br", true },
   { "mujerfutura.com", true },
   { "muk-kobetsu.com", true },
   { "mukilteodentalarts.com", true },
   { "mukilteoeuropeanautorepair.com", true },
   { "muku-flooring.com", true },
   { "mulaccosmetics.com", true },
-  { "mulej.net", true },
+  { "mulail.com", true },
   { "mulheres18.com", true },
   { "muling.lu", true },
   { "mulk.hopto.org", true },
@@ -36422,13 +37950,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "multigamecard.com", true },
   { "multigeist.de", true },
   { "multikalender.de", false },
+  { "multilogik.com", true },
   { "multimatte.com", true },
   { "multimed-solutions.com", true },
   { "multimed.krakow.pl", true },
   { "multimedia-pool.com", true },
   { "multimediapc.de", true },
-  { "multiplayernow.com", true },
-  { "multipleservers.com", true },
   { "multirep.ch", false },
   { "multiroom-streaming.de", true },
   { "multischool.tk", true },
@@ -36438,8 +37965,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "multitenantlaravel.com", true },
   { "multiterm.org", true },
   { "multitheftauto.com", true },
+  { "multiupload.us", true },
   { "multixa.net", true },
-  { "multrier.fr", true },
+  { "multixvideo.com", true },
   { "mum.ceo", true },
   { "mumablue.com", true },
   { "mumakil.fi", false },
@@ -36467,35 +37995,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "munkibuilds.org", true },
   { "muntproever.nl", true },
   { "munwr.com", true },
+  { "munzlocal10.org.nz", true },
   { "muot.tv", false },
   { "muqu.co", true },
   { "mur-vegetal-interieur.fr", true },
   { "murakami-sah.com", true },
+  { "mural.co", true },
   { "muralswallpaper.co.uk", true },
   { "muralswallpaper.com", true },
   { "murashun.jp", true },
+  { "muratatifsayar.com.tr", true },
   { "muratore-roma.it", true },
   { "murfy.nz", true },
   { "murgi.de", true },
   { "murmansk.cf", true },
-  { "murmashi.com", true },
   { "murmashi.ru", true },
-  { "murmu.re", true },
   { "murof.com.br", true },
   { "murray.xyz", true },
   { "murraya.cn", true },
+  { "murster.tw", true },
   { "musa.gallery", true },
   { "musasdanet.com", true },
-  { "muscle-tg.com", true },
   { "muscleangels.com", true },
   { "musclecarresearch.com", true },
   { "muscolinomusic.com", true },
   { "muscularbabes.net", true },
   { "museclef.com", true },
+  { "musedash.moe", true },
   { "musehelix.com", true },
   { "muserver.io", true },
   { "muses-success.info", true },
   { "musettishop.com", true },
+  { "museumwaalsdorp.nl", true },
   { "mush-room.co.jp", true },
   { "mushel.ddns.net", true },
   { "mushikabu.net", true },
@@ -36520,6 +38051,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "musicradio.ga", true },
   { "musicschoolonline.com", true },
   { "musicstudio.pro", true },
+  { "musicvideo.club", true },
   { "musicwear.cz", true },
   { "musicworkout.de", true },
   { "musik-mentaltraining.ch", true },
@@ -36528,11 +38060,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "musiktag2020.ch", true },
   { "musikverein-elten.de", true },
   { "musikzentrale.net", true },
+  { "musings.tech", true },
   { "musketiers.tk", true },
   { "musketonhaken.nl", false },
   { "muskokavoltz.ca", true },
   { "muslim.singles", true },
   { "musmann.io", true },
+  { "muspla.com.br", true },
   { "mussalains.com", true },
   { "musta.ch", true },
   { "mustard.co.uk", true },
@@ -36548,19 +38082,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mutantmonkey.info", true },
   { "mutualmoney.ml", true },
   { "mutuelle.fr", true },
+  { "muuglu.es", true },
   { "muunnin.net", true },
   { "muurlingoogzorg.nl", true },
   { "muwatenraqamy.org", true },
   { "muz2u.ru", true },
   { "muzeumkomiksu.eu", true },
-  { "muzgra.in", true },
   { "muzhijy.com", true },
   { "muzikantine.nl", true },
   { "muzykanawesele.info", true },
   { "mv-schnuppertage.de", true },
   { "mvandek.nl", true },
   { "mvbits.com", true },
-  { "mvion.fr", true },
+  { "mvccp.co.za", true },
   { "mvisioncorp.com", true },
   { "mvistatic.com", true },
   { "mvno.io", true },
@@ -36571,7 +38105,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mw.search.yahoo.com", false },
   { "mwainc.org", true },
   { "mwalz.com", true },
-  { "mware-staging.azurewebsites.net", true },
+  { "mwavuli.co.ke", true },
   { "mwba.org", true },
   { "mwe.st", true },
   { "mwlcouriers.com", true },
@@ -36580,7 +38114,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mx.org.ua", true },
   { "mx.search.yahoo.com", false },
   { "mx5international.com", true },
+  { "mxcrs.com", true },
   { "mxdvl.com", true },
+  { "mxes.net", true },
   { "my-best-wishes.com", true },
   { "my-bratsk.tk", true },
   { "my-contract.ch", false },
@@ -36590,6 +38126,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "my-ebook.es", true },
   { "my-floor.com", true },
   { "my-gode.fr", true },
+  { "my-goldfinger.com", true },
   { "my-host.ovh", true },
   { "my-hps.de", true },
   { "my-ip.work", true },
@@ -36602,7 +38139,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "my-web.xyz", true },
   { "my-webcloud.at", true },
   { "my.onlime.ch", false },
-  { "my.usa.gov", false },
+  { "my.usa.gov", true },
   { "my4g.net", true },
   { "my4thtelco.com.sg", true },
   { "my4thtelco.sg", true },
@@ -36613,14 +38150,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myadself.com", true },
   { "myaggic.com", true },
   { "myalliancechurch.com", true },
-  { "myamend.com", true },
+  { "myamend.com", false },
   { "myamihealth.com", true },
   { "myamity.info", true },
+  { "myammo.com", true },
   { "myammo.ru", true },
   { "myanimelist.net", true },
   { "myapexcard.com", true },
   { "myarcade.org", true },
-  { "mybagofcoffee.com", true },
   { "mybasementdoctor.com", true },
   { "mybathroom.tk", true },
   { "mybauingenieur24.de", true },
@@ -36634,6 +38171,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mybodylife.com", true },
   { "mybon.at", false },
   { "myboothang.com", true },
+  { "mybuildingcertifier.com.au", true },
   { "mybusiness.wien", true },
   { "mycaelis.fr", true },
   { "mycakeangel.com", true },
@@ -36653,10 +38191,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myclgnotes.com", true },
   { "myclinicalstudybuddy.com", true },
   { "mycloud-system.com", true },
+  { "mycodes.com.au", true },
   { "mycofairtrade.com", false },
-  { "myconan.net", true },
-  { "myconan.tk", true },
+  { "mycoldjet.com", true },
+  { "mycompanysite.host", true },
   { "myconf.com", true },
+  { "myconf.es", true },
   { "myconf.uk", true },
   { "myconsulting.ch", false },
   { "mycookrecetas.com", true },
@@ -36666,15 +38206,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mycreativenook.com", true },
   { "mycreditcardcenter.com", true },
   { "mycreditunion.gov", true },
+  { "mycrowdstack.com", true },
   { "mycrypnet.io", true },
   { "mycrypto.com", true },
   { "mycrystalgrove.com", true },
-  { "mycustomwriting.com", true },
   { "mydais.org", true },
   { "mydarkstar.net", true },
   { "mydatadoneright.eu", true },
   { "mydaywebapp.com", true },
   { "mydebian.in.ua", true },
+  { "mydentalhealth.com.au", true },
   { "mydentalplan.gr", true },
   { "mydenverhomesource.com", true },
   { "mydevolo.com", true },
@@ -36685,7 +38226,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mydnshost.co.uk", true },
   { "mydoc.fr", true },
   { "mydocserve.com", true },
-  { "mydomaindesk.com", true },
   { "mydoxod.tk", true },
   { "mydroneservices.ca", true },
   { "mydroneservices.com", true },
@@ -36693,9 +38233,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myduffyfamily.com", true },
   { "myeasybooking.de", true },
   { "myeberspaecher.com", true },
-  { "myebony.cam", true },
   { "myecms.com", true },
   { "myedcreview.cf", true },
+  { "myediblefood.com", true },
   { "myeditclub.ml", true },
   { "myedu.ga", true },
   { "myeisenbahn.de", true },
@@ -36707,7 +38247,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myexams.nl", true },
   { "myf.cloud", true },
   { "myfae.eu", true },
-  { "myfantasysportstalk.com", true },
   { "myfavorite.com.tw", true },
   { "myfedloan.org", true },
   { "myfirenet.com", false },
@@ -36723,7 +38262,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mygate.at", false },
   { "mygear.live", true },
   { "mygedit.com", true },
-  { "mygeneral.org", true },
   { "mygeotrip.com", true },
   { "mygest.me", true },
   { "mygigabitnation.com", true },
@@ -36737,7 +38275,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mygreenrecipes.com", true },
   { "mygretchen.de", true },
   { "mygrodno.tk", true },
-  { "mygrotto.org", true },
   { "mygymer.ch", true },
   { "myhatsuden.jp", true },
   { "myhealthyday.com", true },
@@ -36746,19 +38283,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myhome-24.pl", true },
   { "myhomeworkpapers.com", true },
   { "myhoor.ga", true },
-  { "myhostname.net", true },
   { "myhuthwaite.com", true },
   { "myibidder.com", true },
   { "myimds.com", true },
   { "myimmitracker.com", true },
   { "myinsiderplus.com", true },
-  { "myinsuranceauto.com", true },
   { "myinsurancelife.com", true },
-  { "myinsurancesource.com", true },
   { "myinternist.com", true },
-  { "myintimtoys.com", true },
-  { "myinvite.nl", true },
-  { "myipv4.de", true },
+  { "myjarofhope.com", true },
   { "myjudo.net", true },
   { "myjumparoo.co.uk", true },
   { "myjumpsuit.de", true },
@@ -36767,9 +38299,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mykontool.de", true },
   { "mykumedir.com", true },
   { "mykursumlija.tk", true },
-  { "mylatestnews.org", true },
   { "mylawyer.be", true },
-  { "myleanfactory.de", true },
   { "mylegacyvip.com", true },
   { "mylennonbuddy.com", true },
   { "mylennonbuddy.info", true },
@@ -36782,8 +38312,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myliftmaster.eu", true },
   { "mylight.tk", true },
   { "mylittlechat.ru", true },
-  { "myliveupdates.com", true },
-  { "mylkguys.com", true },
+  { "mylms.nl", true },
   { "myloan.hk", true },
   { "myloanmanager.com", true },
   { "myloneworkers.com", true },
@@ -36800,7 +38329,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mymkphotography.com", true },
   { "mymommyworld.com", true },
   { "mymonture.com", true },
+  { "mymotherlandstuffs.cn", true },
   { "mymotor.nl", true },
+  { "mymsr.de", true },
   { "mymun.com", true },
   { "mymun.net", true },
   { "mymx.lu", true },
@@ -36808,7 +38339,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mynameistavis.com", true },
   { "mynaturalmood.es", true },
   { "myndcoin.com", true },
-  { "myndcoins.com", true },
   { "myndighetermeddnssec.se", true },
   { "myndighetermedipv6.se", true },
   { "mynewsspot.com", true },
@@ -36816,6 +38346,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mynextmove.org", true },
   { "mynn.io", true },
   { "mynook.info", false },
+  { "myoddlittleworld.com", true },
+  { "myodysi.com", true },
   { "myofficeconnect.co.uk", true },
   { "myonline.hu", true },
   { "myonline.store", true },
@@ -36834,13 +38366,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myowndisk.net", true },
   { "mypaperdone.com", true },
   { "mypaperwriter.com", true },
-  { "myparisiankitchen.com", true },
   { "mypartnernews.com", true },
   { "mypartybynoelia.es", true },
   { "mypay.fr", true },
   { "mypayoffloan.com", true },
   { "mypenza.tk", true },
-  { "myperfecthome.ca", true },
   { "myperks.in", true },
   { "mypfp.co.uk", true },
   { "myphamaplus.org", true },
@@ -36855,7 +38385,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myportal.ga", true },
   { "mypress.mx", true },
   { "myprintcard.de", true },
-  { "myproblog.com", true },
   { "mypromoshop.com.au", true },
   { "myprotime.eu", true },
   { "myptsite.com", false },
@@ -36866,7 +38395,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myrandomtips.com", true },
   { "myraytech.net", false },
   { "myrealestatemate.com.au", true },
-  { "myrealestateschool.com", true },
   { "myred.net", true },
   { "myref.net", true },
   { "myrekber.co.id", true },
@@ -36878,7 +38406,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myrepublic.asia", true },
   { "myrepublic.cf", true },
   { "myrepublic.cloud", true },
-  { "myrepublic.co.id", true },
   { "myrepublic.com.cn", true },
   { "myrepublic.com.hk", true },
   { "myrepublic.com.kh", true },
@@ -36890,7 +38417,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myrepublic.ga", true },
   { "myrepublic.gq", true },
   { "myrepublic.icu", true },
-  { "myrepublic.id", true },
   { "myrepublic.in", true },
   { "myrepublic.limited", true },
   { "myrepublic.lk", true },
@@ -36920,7 +38446,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myrepublicsg.com", true },
   { "myrepublictelecom.com", true },
   { "myrepubllc.net", true },
-  { "myresearchapp.com", true },
   { "myresearchtoolbox.net", true },
   { "myresidence.de", true },
   { "myrevery.com", true },
@@ -36929,20 +38454,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myriadof.com", true },
   { "myrig.com", true },
   { "myrnabiondo.com.br", true },
-  { "myroofandhome.com", true },
   { "myrotvorets.center", true },
   { "myrotvorets.news", true },
   { "myrp.co", true },
-  { "myrvogna.net", true },
-  { "mysam.net", true },
   { "mysasiedzi.bialystok.pl", true },
   { "myschoolphoto.org", true },
   { "myseatime.com", true },
   { "myself5.de", true },
   { "myservicearl.com", true },
+  { "mysexycard.com", true },
   { "mysexydate24.com", true },
+  { "myshopdisplay.com", true },
   { "mysignal.com", true },
-  { "mysmelly.com", true },
   { "mysockfactory.ch", true },
   { "mysockfactory.com", true },
   { "mysocrat.com", true },
@@ -36953,7 +38476,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myssl.com", true },
   { "mystaffonline.com", true },
   { "mystagic.cloud", true },
-  { "mysteriesandmargaritasblogspot.com", true },
   { "mysteriouscode.io", true },
   { "mysteryblog.de", true },
   { "mysterydata.com", true },
@@ -36965,7 +38487,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "mysticconsult.com", true },
   { "mystickphysick.com", true },
   { "mysticrs.tk", true },
-  { "mystore24.us", true },
   { "mystorymonster.com", true },
   { "mystudy.me", true },
   { "mystudycart.com", true },
@@ -36982,20 +38503,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myting.net", true },
   { "mytntware.com", true },
   { "mytraiteurs.com", true },
+  { "mytrinity.com.ua", true },
   { "mytripcar.co.uk", true },
   { "mytripcar.com", true },
   { "mytripcar.de", true },
   { "mytripcar.es", true },
   { "mytripcar.fr", true },
-  { "mytruecare.org", true },
   { "mytrustadviser.com", true },
   { "mytty.net", true },
   { "mytuleap.com", false },
   { "mytun.com", true },
   { "myunox.com", true },
-  { "myupdatestar.com", true },
-  { "myupdatestudio.com", true },
-  { "myupdatesystems.com", true },
   { "myusagepayments.com", true },
   { "myvacompany.com", true },
   { "myvalleymarketing.com", true },
@@ -37003,30 +38521,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "myvirtualserver.com", true },
   { "myvitalhealthsolutions.com.au", true },
   { "mywari.com", true },
+  { "myweatherbuzz.com", true },
   { "mywebpanel.eu", true },
   { "mywebpanel.nl", true },
   { "myweddingreceptionideas.com", true },
   { "mywetpussycams.com", true },
   { "mywindscreen.my", true },
   { "mywiwe.com.au", true },
-  { "mywomenshealthgroup.com", true },
   { "myworkinfo.com", false },
   { "myworth.com.au", true },
   { "myxnr.com", true },
   { "myxxxsite.tk", true },
   { "myyubikey.net", true },
   { "myyubikey.org", true },
-  { "myzhili.com", true },
   { "myzina.cz", false },
   { "mz-mz.net", true },
   { "mza.com", true },
+  { "mzb.company", true },
   { "mzcsgo.top", true },
-  { "mziulu.me", false },
+  { "mzitu.com", true },
   { "mzlive.eu", true },
   { "mzmtech.com", true },
   { "mznet.de", true },
   { "mzorn.photography", true },
   { "mzstatic.cc", true },
+  { "n-design-service.de", true },
   { "n-design.de", true },
   { "n-gram.it", true },
   { "n-linear.org", true },
@@ -37045,8 +38564,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "n4v.eu", true },
   { "n6a.net", true },
   { "n7.education", true },
-  { "n81818.com", true },
-  { "n8ch.net", true },
   { "n8mgt.com", true },
   { "n8nvi.com", true },
   { "n8solutions.host", true },
@@ -37055,6 +38572,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "na-kipre.tk", true },
   { "na-school.nl", true },
   { "naahgluck.de", true },
+  { "naamlint.nl", true },
   { "nabaleka.com", true },
   { "nabankco.com", true },
   { "nabeez.cf", true },
@@ -37063,8 +38581,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nabidkydnes.cz", true },
   { "nabokov.tk", true },
   { "nabytek-valmo.cz", true },
+  { "nabytokalva.sk", true },
   { "nacfit.com", true },
-  { "nachovni.pp.ua", true },
   { "nachrichten-heute.net", true },
   { "nachsendeauftrag.net", true },
   { "nachsenden.info", true },
@@ -37073,7 +38591,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nacocu.cf", true },
   { "nacyklo.cz", true },
   { "nad-r.com", true },
-  { "nadaquenosepas.com", true },
   { "nadejeproninu.cz", true },
   { "nadelholzkulturen.de", true },
   { "naders.com", true },
@@ -37083,33 +38600,41 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nadine-chaudier.net", true },
   { "nadjabenaissa.tk", true },
   { "nadji.ga", true },
+  { "nadlerdentistry.com", true },
+  { "nadoske.info", true },
   { "nadsandgams.com", true },
   { "nadyaolcer.fr", true },
   { "naemnuk.tk", true },
   { "nafod.net", true },
+  { "nafoods.com", true },
   { "naga-semi.com", true },
   { "nagashi.ma", false },
-  { "nagata.info", true },
   { "nagato.tk", true },
   { "nagaya.biz", true },
   { "nagb.gov", true },
+  { "nagb.org", true },
   { "nagel-dentaltechnik.de", true },
+  { "nageler.org", true },
   { "nagelfam.com", true },
+  { "nagoonline.com", true },
   { "nah.nz", true },
   { "nah.re", true },
   { "nahman.tk", true },
   { "nahouw.net", true },
   { "nai-job.jp", true },
+  { "naia.me", true },
   { "naiaokami.me", true },
   { "naide.ee", true },
+  { "naidonline.org", true },
+  { "naifcare.cz", true },
   { "nailattitude.ch", false },
   { "nailchiodo.com", true },
   { "nailsalon-aztplus.com", true },
   { "nailsart.roma.it", true },
+  { "nailsforyoustouffville.ca", true },
   { "nailshop.gq", true },
   { "nailtodayminneapolis.com", true },
   { "nairobibusinessreview.com", true },
-  { "naivetube.com", false },
   { "najedlo.sk", true },
   { "naji-astier.com", true },
   { "naka.io", true },
@@ -37134,8 +38659,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nalexandru.xyz", true },
   { "nalsai.de", true },
   { "namaanakperempuan.net", true },
-  { "namalelaki.com", true },
-  { "namaperempuan.com", true },
+  { "namacindia.com", true },
   { "namazvakitleri.com.tr", true },
   { "namegrep.com", true },
   { "nameid.org", true },
@@ -37158,7 +38682,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "namu.news", true },
   { "namu.wiki", true },
   { "namus.gov", true },
-  { "nan.ci", false },
+  { "nan.ci", true },
   { "nan.cm", true },
   { "nan.ge", true },
   { "nan0.cloud", true },
@@ -37171,9 +38695,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nandito.tk", true },
   { "nange.cn", true },
   { "nanisiyou.com", true },
+  { "nanjiyy.com", true },
   { "nankiseamansclub.com", true },
+  { "nannycoupons.com", true },
   { "nannytax.ca", true },
   { "nano.voting", true },
+  { "nanodynelabs.com", true },
   { "nanogramme.fr", false },
   { "nanopixel.ch", true },
   { "nanotechnologist.com", true },
@@ -37181,7 +38708,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nanotechtorsion.com", true },
   { "nanowallet.io", true },
   { "nanpuyue.com", true },
-  { "nansa.ch", true },
   { "nanshy.com", false },
   { "nanubo.com", true },
   { "nanubo.de", true },
@@ -37195,32 +38721,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "napkins-wholesale.uk", true },
   { "naplata.mk", true },
   { "napominanie.ml", true },
+  { "naql.om", true },
   { "naradiebosch.sk", true },
   { "naradiehusqvarna.sk", true },
   { "naradiemakita.sk", true },
   { "narakenkoland.net", true },
   { "naralogics.com", true },
   { "narazaka.net", true },
-  { "narela.com.mx", true },
-  { "narenderchopra.com", true },
+  { "nardininaturopathic.com", true },
   { "narfation.org", true },
   { "nargele.eu", true },
   { "nargileh.nl", true },
-  { "naric.com", true },
   { "narindal.ch", true },
   { "naro.se", true },
   { "naroska.name", true },
   { "narrabeenlakesbikehire.com", true },
   { "narrativasdigitais.pt", true },
-  { "narrative.network", true },
   { "narrative.org", true },
   { "narrenverein-wolkenschieber.de", true },
   { "narthollis.net", false },
   { "naruto-best.tk", true },
-  { "nasaacronyms-beta.com", true },
-  { "nasaacronyms.com", true },
   { "nasbi.pl", true },
   { "nasbnation.com", false },
+  { "naschenweng.info", true },
+  { "naschenweng.me", true },
   { "nashdistribution.com", true },
   { "nashikmatka.com", true },
   { "nashira.cz", true },
@@ -37230,13 +38754,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nashzhou.me", true },
   { "nasladko.cz", true },
   { "naslovi.net", true },
+  { "nasmocopati.com", true },
   { "nasosvdom.com.ua", true },
-  { "nasr.mobi", true },
   { "nasrsolar.com", true },
-  { "nastoletni.pl", true },
+  { "nastrojka-pianino.spb.ru", true },
   { "nastycomics.eu", true },
   { "nataez.tk", true },
-  { "nataldigital.com", true },
   { "natalia-in-quebec.tk", true },
   { "nataliedawnhanson.com", true },
   { "natanaelys.com", false },
@@ -37257,6 +38780,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nathaliebaroncoaching.ch", false },
   { "nathaliedijkxhoorn.com", true },
   { "nathaliedijkxhoorn.nl", true },
+  { "nathaliesadventure.eu", true },
   { "nathan.ovh", true },
   { "nathanaeldawe.com", true },
   { "nathanbarry.com", true },
@@ -37272,26 +38796,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nationalcentereg.org", true },
   { "nationalcprfoundation.com", true },
   { "nationalcrimecheck.com.au", true },
+  { "nationalcybersecuritysociety.org", true },
   { "nationalhomequotes.com", true },
   { "nationalmap.gov", true },
   { "nationalpriorities.org", true },
   { "nationalresourcedirectory.gov", true },
   { "nationalservice.gov", true },
   { "nationaltrails.ru", true },
+  { "nationslending.com", true },
+  { "nativeonestop.gov", true },
   { "natives-team.ch", false },
   { "nativitynj.org", true },
   { "nativs.ch", false },
+  { "natlec.ch", true },
   { "natlec.com", true },
   { "natmal.net", true },
   { "natropie.pl", true },
   { "natsumihoshino.com", true },
-  { "natteravneneibergen.no", true },
   { "natuerlichabnehmen.ch", true },
   { "natur-care.com", true },
   { "natur.com", true },
   { "natura-sense.com", true },
+  { "naturalbeautyhacks.com", true },
   { "naturalbijou.com", true },
   { "naturalcosmetics.cf", true },
+  { "naturaleza.com.ar", true },
   { "naturalezafengshui.com", true },
   { "naturalfit.co.uk", true },
   { "naturalhealthcures.net", true },
@@ -37304,6 +38833,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "naturesbest.co.uk", true },
   { "natureshive.org", true },
   { "naturesorganichaven.com", true },
+  { "naturheilpraxis-grauer.de", true },
   { "naturheilpraxis-oida.de", true },
   { "naturheilpraxis-p-grote.de", true },
   { "naturline.com", true },
@@ -37320,6 +38850,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "navalarchitect.tk", true },
   { "navaneethnagesh.com", true },
   { "navarralanparty.org", true },
+  { "navarrogear.com", true },
   { "navdeep.ca", true },
   { "navenlle.com", true },
   { "navienna.com", true },
@@ -37334,6 +38865,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nayahe.ru", true },
   { "nayami64.xyz", true },
   { "nayanaas.com", true },
+  { "nayefalebrahim.com", true },
   { "nayr.us", true },
   { "nazarenoviso.tk", true },
   { "nazbol.tk", true },
@@ -37344,6 +38876,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nb01.com", true },
   { "nb6.de", true },
   { "nba-2k.com", true },
+  { "nba-officecenter.hu", true },
   { "nba.christmas", true },
   { "nba.com.de", true },
   { "nba.de.com", true },
@@ -37378,6 +38911,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nba2konline.com", true },
   { "nba2konlinex.com", true },
   { "nba2kx.com", true },
+  { "nba669.com", true },
+  { "nba686.com", true },
   { "nbad.al", true },
   { "nbadancers.com", true },
   { "nbade.com", true },
@@ -37398,7 +38933,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nbclinic.co.uk", true },
   { "nbhorsetraining.com", true },
   { "nbib.gov", true },
-  { "nbook.org", true },
   { "nbrii.com", true },
   { "nc-beautypro.fr", true },
   { "nc-formation.fr", true },
@@ -37418,9 +38952,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nchponline.org", true },
   { "ncjrs.gov", true },
   { "nclf.net", true },
+  { "ncli-design.com", true },
   { "ncloud.freeddns.org", true },
+  { "ncpimd001.spdns.de", true },
+  { "ncrypt.at", true },
   { "ncsc.gov.uk", true },
   { "nctx.co.uk", true },
+  { "ncu.world", true },
   { "ncua.gov", true },
   { "ndarville.com", true },
   { "ndbt.com", true },
@@ -37432,22 +38970,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ndphp.org", true },
   { "ndpigskin.com", true },
   { "nds-helicopter.de", true },
-  { "ndum.ch", true },
   { "ndvr.com", true },
   { "ndx.ee", true },
   { "ndy.sex", true },
   { "ne-on.org", true },
   { "nea.gov", true },
+  { "nealvorusphd.com", true },
   { "neanderthalia.tk", true },
   { "nearby.in.th", true },
-  { "nearon.nl", true },
   { "neartothesky.com", true },
   { "neasahourigan.com", false },
   { "neat-patch.de", true },
   { "neatlife.co.uk", true },
   { "neatous.cz", true },
   { "neatous.net", true },
-  { "neatzy.co.uk", true },
   { "neave.tv", true },
   { "neaz.tk", true },
   { "neba.io", true },
@@ -37456,7 +38992,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nebenbeiblog.ch", true },
   { "nebohost.tk", true },
   { "neboley.cf", true },
-  { "nebras.ga", true },
+  { "nebra.io", true },
   { "nebul.at", true },
   { "nebula.exchange", true },
   { "nebulae.co", true },
@@ -37472,9 +39008,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nectir-staging.com", true },
   { "nectir.co", true },
   { "nedcdata.org", true },
-  { "nederdraad.org", true },
   { "nederland.media", true },
   { "nederlands-vastgoedfonds.nl", true },
+  { "nedermisp.nl", true },
   { "nediapp.com", true },
   { "nedim-accueil.fr", true },
   { "nedlinin.com", true },
@@ -37484,11 +39020,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "neecist.org", true },
   { "needemand.com", true },
   { "needfire.ga", true },
+  { "needrom.com", true },
   { "needstyle.ru", true },
-  { "neeerd.org", true },
   { "neel.ch", true },
+  { "neemdetijd.nl", true },
   { "neemzy.org", true },
   { "neev.tech", true },
+  { "neferology.com", true },
   { "nefertitis.cz", true },
   { "neflabs.com", true },
   { "nefro-cme.de", true },
@@ -37496,12 +39034,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "negai.moe", true },
   { "negativecurvature.net", true },
   { "negativeentropy.org", true },
-  { "neglecteddiseases.gov", true },
   { "negocios-imatore.com", true },
+  { "negoya-shokai.info", true },
   { "negril.com", true },
   { "neheim-huesten.de", true },
   { "nehoupat.cz", true },
   { "nehrp.gov", true },
+  { "nehta.gov.au", true },
   { "nei.st", true },
   { "neighborhoodelectricwa.com", true },
   { "neighborshop.de", true },
@@ -37516,6 +39055,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "neilwynne.com", true },
   { "nejenpneu.cz", true },
   { "nejlevnejsi-parapety.cz", true },
+  { "nejmaklerka.cz", true },
   { "nejprivlac.cz", true },
   { "neko-nyan-nuko.com", true },
   { "neko-nyan.org", true },
@@ -37525,11 +39065,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nekorektni.cz", true },
   { "nekosc.com", true },
   { "nekowa.moe", true },
+  { "nekretnine-lidl.hr", true },
   { "nekusoul.de", true },
   { "nelflex.com.br", true },
   { "nelhage.com", true },
   { "nellen.it", true },
+  { "nellyarias.com", true },
+  { "nellydallois.fr", true },
   { "nemcd.com", true },
+  { "nemecl.eu", true },
   { "nemez.net", true },
   { "nemiroth.net", true },
   { "nemo.run", true },
@@ -37540,18 +39084,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nemumu.com", true },
   { "nemunai.re", true },
   { "nemzetizaszlok.hu", true },
+  { "neneko.moe", true },
   { "nenkin-kikin.jp", true },
   { "neno.io", true },
   { "neo-novarion.com", true },
   { "neo2k.dk", true },
   { "neo2shyalien.eu", false },
   { "neobits.nl", true },
+  { "neochan.net", true },
+  { "neochan.ru", true },
   { "neocities.org", true },
   { "neoclick.io", true },
   { "neodigital.bg", true },
   { "neodrive.ch", true },
   { "neoedresources.org", true },
+  { "neoeliteconsulting.com", true },
   { "neojo.org", true },
+  { "neoko.fr", true },
   { "neolaudia.es", true },
   { "neonataleducationalresources.org", true },
   { "neonatalgoldenhours.org", true },
@@ -37560,7 +39109,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "neophilus.net", true },
   { "neos.co.jp", true },
   { "neosdesignstudio.co.uk", true },
-  { "neosey.com", true },
   { "neostralis.com", true },
   { "neotiv.com", true },
   { "neoverso.tk", true },
@@ -37576,6 +39124,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nepovolenainternetovahazardnihra.cz", true },
   { "nepozitkova.cz", true },
   { "nepremicninar.com", true },
+  { "nepremicnine-lidl.si", true },
   { "nepremicnine.click", true },
   { "nepremicnine.net", true },
   { "nepustil.net", false },
@@ -37586,18 +39135,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nerdmind.de", true },
   { "nerdpol.ch", true },
   { "nerdpol.org", true },
-  { "nerdrockshop.co.uk", true },
   { "nerds-gegen-stephan.de", true },
-  { "nerdswithknives.com", true },
   { "nerdtime.de", true },
   { "nerdwallet.com", true },
   { "nerdydev.net", true },
   { "nereustech.com", true },
   { "neriumrx.com", true },
+  { "neroshana.com", true },
   { "nerot.eu", true },
   { "nerpa-club.ru", true },
+  { "nertus.ua", true },
   { "nerv.com.au", true },
   { "nerven.se", true },
+  { "nesabamedia.com", true },
   { "nesolabs.com", true },
   { "nesolabs.de", true },
   { "nestedquotes.ca", false },
@@ -37611,14 +39161,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "netbank.com.au", true },
   { "netbears.com", true },
   { "netbears.ro", true },
-  { "netbows.com", true },
-  { "netbows.es", true },
   { "netbox.org", true },
   { "netbrewventures.com", true },
   { "netbulls.io", true },
   { "netbuzz.ru", true },
   { "netchameleon.com", true },
   { "netcials.in", true },
+  { "netcombne.ch", true },
   { "netconnect.at", true },
   { "netcoolusers.org", true },
   { "netd.at", true },
@@ -37629,8 +39178,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "netdiode.org", true },
   { "netera.se", true },
   { "neteraser.de", true },
-  { "netexpat.com", true },
-  { "netexpatcommunity.com", true },
+  { "netexpatcommunity.com", false },
   { "netfabb.com", true },
   { "netface.com.br", true },
   { "netfeeds.eu", true },
@@ -37647,6 +39195,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "netfuture.ch", true },
   { "netfxharmonics.com", true },
   { "netgaming.de", true },
+  { "netguide.co.nz", true },
   { "nethack.ninja", true },
   { "nethackwiki.com", true },
   { "nethask.ru", true },
@@ -37662,11 +39211,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "netmagicas.com.br", true },
   { "netmeister.org", true },
   { "netnea.com", true },
-  { "netnik.de", true },
   { "netnodes.net", true },
   { "netolink.co.il", true },
   { "netolink.com", true },
-  { "netolink.ru", true },
   { "netpenge.tk", true },
   { "netrabota.tk", true },
   { "netraising.com", false },
@@ -37676,7 +39223,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "netrogue.ninja", true },
   { "netronix.be", true },
   { "netsearch.ga", true },
-  { "netsec.cloud", true },
   { "netsigna.de", true },
   { "netsite.dk", true },
   { "netsoins.org", true },
@@ -37694,6 +39240,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "netto-service.ch", false },
   { "nettools.link", true },
   { "nettx.co.uk", true },
+  { "netube.org", true },
   { "netvizura.co.uk", true },
   { "netwarc.eu", true },
   { "netwarc.nl", true },
@@ -37703,7 +39250,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "networg.pl", true },
   { "network-midlands.co.uk", true },
   { "network-midlands.uk", true },
-  { "network-notes.com", true },
   { "network23.nl", true },
   { "networkdiode.com", true },
   { "networkdiode.eu", true },
@@ -37712,28 +39258,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "networking4all.com", true },
   { "networkingnexus.net", true },
   { "networkingphoenix.com", true },
+  { "networkmas.com", true },
   { "networkmidlands.co.uk", true },
   { "networkmidlands.uk", true },
   { "networkmon.net", true },
   { "networkofarts.com", true },
-  { "networkposting.com", true },
   { "networksolutionsconsultant.com", true },
   { "networth.at", true },
+  { "networx-online.de", true },
   { "netz-yokohama.co.jp", true },
   { "netz0.com", true },
   { "netzfabrik.com", true },
   { "netzfrauen.org", true },
   { "netzklad.de", true },
-  { "netzona.org", true },
   { "netzwerk-lq.com", true },
   { "netzwerkwerk.de", true },
+  { "neuber.uno", true },
   { "neuflizeobc.net", true },
+  { "neumarkcb.com", true },
   { "neurabyte.com", true },
   { "neurexcellence.com", true },
-  { "neuroandspineconsultants.com", true },
   { "neurobiology.com", true },
   { "neurochip.com", true },
   { "neurocny.cloud", true },
+  { "neurolab.no", true },
   { "neuronus.com.br", true },
   { "neuropatia-periferica.com", true },
   { "neuropharmacology.com", true },
@@ -37744,10 +39292,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "neutralox.com", true },
   { "neuwal.com", true },
   { "neva.li", true },
+  { "nevadafiber.com", true },
   { "never.pet", true },
   { "nevergirl.tk", true },
   { "nevergreen.io", true },
+  { "neverguess.ca", true },
   { "nevermore.fi", true },
+  { "neverwasinparis.com", true },
   { "nevivur.net", true },
   { "nevntech.com", true },
   { "nevolution.me", true },
@@ -37766,6 +39317,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "new-vip.com", true },
   { "new-web-studio.com", true },
   { "newaccess.ch", true },
+  { "newaygotowing.com", true },
   { "newbernpost539.com", true },
   { "newblogr.com", true },
   { "newborncryptocoin.com", true },
@@ -37782,16 +39334,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "newcityinfo.ch", false },
   { "newcitystudio.ch", false },
   { "newcloudwhodis.com", true },
-  { "newcomm.nl", true },
+  { "newcontext.com", true },
   { "newday.host", true },
   { "newdimensioninterlock.com", true },
-  { "newdirectionsolar.com.au", true },
   { "newearth.press", true },
   { "newendsoft.com", true },
   { "newenglandworkinjury.com", true },
   { "newfangledscoop.com", true },
   { "newfiepedia.ca", true },
-  { "newflavor.design", true },
   { "newflora.ru", true },
   { "newfordmustang.com.au", true },
   { "newforms.nl", true },
@@ -37804,7 +39354,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "newind.info", true },
   { "newinf.at", true },
   { "newinternet.media", true },
-  { "newizv.ru", true },
+  { "newizv.ru", false },
   { "newkaliningrad.ru", true },
   { "newknd.com", true },
   { "newlifeband.de", true },
@@ -37814,24 +39364,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "newlynamed.com", true },
   { "newlytricks.ml", true },
   { "newmall.org", true },
+  { "newmanwebsolutions.com", true },
   { "newmarketbouncycastlehire.co.uk", true },
   { "newmed.com.br", true },
   { "newmediaone.net", true },
   { "newmusicjackson.org", true },
   { "newodesign.com", true },
   { "neworiflame.tk", true },
-  { "newposts.ru", true },
+  { "neworleansmenshealth.com", true },
+  { "newparadigmventures.net", false },
   { "newquilters.com", true },
   { "newreleases.io", true },
   { "news-novoros.cf", true },
   { "news-srilanka.tk", true },
   { "news-sy.cf", true },
   { "news-technology.ml", true },
+  { "news-trendlab.com", true },
   { "news123.ga", true },
   { "news12elite.tk", true },
   { "news47ell.com", true },
   { "news53today.tk", true },
   { "news54.tk", true },
+  { "newsall.gr", true },
   { "newsarmenia.tk", true },
   { "newsbali.tk", true },
   { "newsbusiness.cf", true },
@@ -37847,11 +39401,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "newsletteralerts.com", true },
   { "newsmotor.info", true },
   { "newsnew2020.com", true },
+  { "newsound.vn", true },
+  { "newspaper-myapp.herokuapp.com", true },
   { "newspiritfilms.com", true },
   { "newspsychology.com", true },
+  { "newstargeted.com", true },
   { "newsuk.tk", true },
   { "newsuzbekistan.tk", true },
   { "newsvideo.tk", true },
+  { "newsvoice.com", true },
   { "newsyslog.org", true },
   { "newtekstil.ga", true },
   { "newtonproject.org", true },
@@ -37863,12 +39421,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "newyorknews.tk", true },
   { "nex.li", true },
   { "nex.sx", true },
+  { "nexcoda.io", true },
   { "nexd.com", true },
   { "nexgeneration-solutions.com", true },
   { "nexicafiles.com", true },
   { "next-idea.co", true },
   { "next-taxi.ru", false },
-  { "next-web.ad.jp", true },
+  { "next-web.ad.jp", false },
   { "next176.sk", true },
   { "next24.io", true },
   { "nextbranders.com", true },
@@ -37877,32 +39436,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nextcloud.com", true },
   { "nextcloud.de", true },
   { "nextcloud.li", false },
-  { "nextcloud.nerdpol.ovh", true },
   { "nextcloud.org", true },
   { "nextcom.digital", true },
-  { "nextechoax.com", true },
-  { "nexter.cloud", true },
   { "nextevolution.co.uk", true },
   { "nextfm.tk", true },
   { "nextgen-life-insurance.com", true },
+  { "nextgen.sk", true },
   { "nextgenthemes.com", true },
   { "nextgreatmess.com", true },
   { "nextiot.de", true },
   { "nextiva.com", true },
-  { "nextlevel-it.co.uk", true },
   { "nextmbta.com", true },
-  { "nextme.se", true },
   { "nextnely.com", true },
   { "nextnowagency.com", true },
   { "nextos.com", true },
-  { "nextrec.site", true },
   { "nextrend.co", true },
   { "nextstart-staging.azurewebsites.net", true },
   { "nextstart.azurewebsites.net", true },
   { "nextstep-labs.gr", true },
   { "nextwab.com", true },
   { "nexus-exit.de", true },
-  { "nexusconnectinternational.eu", true },
   { "nexwebsites.com", true },
   { "nexxus-sistemas.net.br", true },
   { "neyer-lorenz.de", true },
@@ -37915,6 +39468,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nfl.dedyn.io", true },
   { "nfl.duckdns.org", true },
   { "nflmocks.com", true },
+  { "nfls.io", true },
+  { "nflsic.org", true },
   { "nfltshirt.com", true },
   { "nfpors.gov", true },
   { "nframe.io", true },
@@ -37928,11 +39483,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nghe.net", true },
   { "ngi.eu", true },
   { "nginxconfig.com", true },
-  { "nginxconfig.io", true },
   { "ngmx.com", true },
   { "ngmx.net", true },
   { "ngmx.org", true },
-  { "ngojclee.com", true },
   { "ngospelmedia.net", true },
   { "ngt.gr", true },
   { "nguru.net", true },
@@ -37944,10 +39497,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ngx.hk", true },
   { "ngxpkg.com", true },
   { "nhakhoabella.com", true },
-  { "nhakhoangocanh.net", true },
   { "nhanlucnhatban.com", true },
   { "nhchalton.com", true },
   { "nhdsilentheroes.org", true },
+  { "nhglobalpartners.com", true },
   { "nhimf.org", true },
   { "nhnieuws.nl", true },
   { "nhome.ba", true },
@@ -37962,6 +39515,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "niagarafallsmuseums.ca", true },
   { "niagaraschoice.org", true },
   { "nibb13.tech", true },
+  { "nibletllc.com", true },
   { "nibo.blog", true },
   { "nibouw.nl", true },
   { "nic.ads", true },
@@ -38008,11 +39562,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nic.zip", true },
   { "nicastrosalvatore.tk", true },
   { "nice.ch", true },
-  { "niceb5y.net", true },
   { "niceguyit.biz", true },
   { "nicesco.re", true },
-  { "nicesleepo.com", true },
   { "nicestudio.co.il", false },
+  { "nicetaninaka.com", true },
   { "nichesite.gq", true },
   { "nichi.co", true },
   { "nichijou.com", true },
@@ -38026,6 +39579,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nichteinschalten.de", false },
   { "nichthelfer.de", true },
   { "nicic.gov", true },
+  { "nick-slowinski.de", true },
   { "nickcraver.com", true },
   { "nickdekruijk.nl", true },
   { "nickfrost.rocks", true },
@@ -38049,7 +39603,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nickstories.de", true },
   { "niclasreich.de", true },
   { "niclewis.me", true },
-  { "nicn.me", true },
   { "nico.st", true },
   { "nicochinese.com", true },
   { "nicocourts.com", true },
@@ -38064,6 +39617,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nicolas-hoizey.com", true },
   { "nicolas-simond.ch", true },
   { "nicolas-simond.com", true },
+  { "nicolascornet.com", true },
   { "nicolasfriedli.ch", true },
   { "nicolasiung.me", true },
   { "nicolaspecher.com", true },
@@ -38075,17 +39629,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nicoobank.com", true },
   { "nicsezcheckfbi.gov", true },
   { "nicul.in", true },
+  { "nidhoeggr.duckdns.org", true },
   { "nidro.de", true },
   { "nidsuber.ch", true },
+  { "niederalt.com", true },
   { "niederohmig.de", true },
+  { "niekbrekelmans.nl", true },
   { "nielsbohr.ai", true },
-  { "nien.cf", true },
   { "nien.co", true },
   { "nien.com", true },
   { "nien.eu.org", true },
-  { "nien.gq", true },
   { "nien.org", true },
-  { "nien.tk", true },
   { "nienkeslop.nl", true },
   { "nierenpraxis-dr-merkel.de", true },
   { "nierenpraxis-merkel.de", true },
@@ -38096,10 +39650,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nietzsche.com", true },
   { "nieuwpoort.tk", true },
   { "nieuwsberichten.eu", true },
+  { "nieuwsfiets.nu", true },
   { "nieuwslagmaat.nl", true },
   { "nifc.gov", true },
   { "niftiestsoftware.com", true },
-  { "niftypersonalloans.com.au", true },
   { "nigelwakefield.com", true },
   { "nigensha.co.jp", true },
   { "niggo.eu", true },
@@ -38108,27 +39662,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "night2stay.fr", true },
   { "night2stay.ru", true },
   { "nightfirec.at", true },
-  { "nightman.info", true },
   { "nightmoose.org", true },
+  { "nightscapesoutdoorlighting.com", true },
   { "nightsi.de", true },
   { "nightstand.io", true },
   { "nihaarpstars.com", true },
   { "niituva.ga", true },
   { "nij.gov", true },
+  { "nijiero-ch.com", false },
   { "nijikata.com", true },
   { "nijm.nl", true },
   { "nijniy-novgorod.tk", true },
   { "nika-travel.ga", true },
   { "nikandcara.com", true },
   { "nikavandenbos.nl", true },
+  { "nikifoth.io", true },
   { "nikimix.com", false },
   { "nikitenko.tk", true },
   { "nikitin.photo", true },
-  { "nikka.systems", true },
   { "nikkasystems.com", true },
   { "nikkila.me", true },
+  { "nikklassen.ca", true },
   { "niklas.pw", true },
   { "niklasbabel.com", true },
+  { "niklasstinkt.com", true },
   { "nikolahost.tk", true },
   { "nikolai-schmidt.tk", true },
   { "nikomo.fi", false },
@@ -38137,13 +39694,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nikonnps.co.uk", true },
   { "nikonpromotions.co.uk", true },
   { "nikpool.com", true },
-  { "niktok.com", true },
   { "nil.gs", true },
   { "nil.mx", true },
+  { "nila.store", true },
   { "nilahue.com", true },
   { "niles.xyz", true },
   { "nilgirispice.co.uk", true },
-  { "nim-news.com", true },
   { "nimanranch.com", true },
   { "nimbo.com.au", true },
   { "nimidam.com", true },
@@ -38158,15 +39714,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ninetaillabs.xyz", true },
   { "ninfora.com", true },
   { "ningbo.co.uk", true },
-  { "ningrui.me", true },
+  { "ningwei.net", true },
   { "ninja-galerie.de", true },
   { "ninja-skillz.com", true },
-  { "ninjan.co", true },
-  { "ninjasquad.fr", true },
   { "ninjaworld.co.uk", true },
-  { "ninjio.com", true },
+  { "ninkt.com", true },
   { "ninmegam.gq", true },
   { "ninofink.com", true },
+  { "nintendohill.com", true },
   { "ninth.cat", true },
   { "ninthfloor.org", true },
   { "ninverse.com", true },
@@ -38190,7 +39745,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nissanofbismarckparts.com", true },
   { "nist.tech", true },
   { "nitifilter.com", true },
-  { "nitix.games", true },
   { "nitrix.me", true },
   { "nitrohorse.com", false },
   { "nitrokey.com", true },
@@ -38199,12 +39753,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nitropur.de", true },
   { "nitrous-networks.com", true },
   { "nitschinger.at", true },
+  { "nitter.net", true },
   { "niu.moe", false },
   { "niumactive.it", true },
   { "nivelul2.ro", true },
   { "nivoit.cf", true },
   { "nixnet.email", true },
-  { "nixnet.xyz", true },
+  { "nixnet.services", true },
+  { "nixnetmail.com", true },
   { "nixonlibrary.gov", true },
   { "niyawe.de", true },
   { "niyazpoyilan.com", false },
@@ -38212,17 +39768,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "niyen.eu", true },
   { "niyen.net", true },
   { "niyen.org", true },
-  { "nizhaoheng.com", true },
   { "nja.id.au", true },
   { "njast.net", true },
+  { "njcareers.org", true },
   { "njguardtraining.com", true },
   { "njilc.com", true },
   { "njpjanssen.nl", true },
   { "njprimary.com", true },
   { "nkapliev.org", true },
   { "nkbwnx.com", true },
-  { "nkforum.pl", true },
   { "nkinka.de", true },
+  { "nkio.de", true },
   { "nkjwmn.com", true },
   { "nkjwrs.com", true },
   { "nkorolev.tk", true },
@@ -38230,10 +39786,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nksky.cn", true },
   { "nl-comunistas.tk", true },
   { "nl-ix.net", true },
+  { "nl-xs.com", true },
   { "nl.search.yahoo.com", false },
   { "nl3ehv.nl", true },
+  { "nlagstage.in", true },
   { "nlap.ca", false },
   { "nlbewustgezond.nl", true },
+  { "nlc.org.au", true },
   { "nlegall.fr", true },
   { "nllboard.co.uk", true },
   { "nlleisure.co.uk", true },
@@ -38245,11 +39804,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nmnd.de", true },
   { "nmontag.com", true },
   { "nms-thoracic-surgery.com", true },
-  { "nmx.moe", true },
   { "nn-vol.ga", true },
   { "nn.cz", true },
-  { "nn01.cc", true },
-  { "nn01.com", true },
   { "nna774.net", true },
   { "nnews.tk", true },
   { "nnnow.com", true },
@@ -38269,10 +39825,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nob.ro", true },
   { "nobilefoods.com", true },
   { "nobitakun.com", true },
-  { "nobleandlore.com", true },
   { "nobledust.com", true },
   { "nobleparkapartments.com.au", true },
   { "nobly.de", true },
+  { "nobodyplex.gq", true },
   { "nobreaks.ca", true },
   { "nobreinox.com.br", true },
   { "noc.org", true },
@@ -38285,7 +39841,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nodecdn.net", true },
   { "nodecraft.com", true },
   { "nodeedge.com", true },
-  { "nodeflame.com", true },
   { "nodejs.de", true },
   { "nodelab-it.de", true },
   { "nodelia.com", true },
@@ -38309,7 +39864,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nogradhont.hu", true },
   { "nohats.ca", true },
   { "nohkan.fr", false },
-  { "nohm.eu", true },
   { "nohttps.org", true },
   { "nohup.se", true },
   { "nohup.xyz", true },
@@ -38317,7 +39871,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "noiglosujemy.pl", true },
   { "noima.com", true },
   { "noincludesubdomains.preloaded.test", false },
-  { "noinghene.com", true },
   { "noise.agency", true },
   { "noisetrap.cz", true },
   { "noisky.cn", true },
@@ -38326,12 +39879,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nokia.la", true },
   { "nokono.com", true },
   { "nokya.tk", true },
-  { "nolalove.nl", true },
   { "nolaviz.org", true },
   { "noleggio-bagni-chimici.it", true },
   { "noleggioimbarcazioni.it", true },
   { "noleggiolimousine.roma.it", true },
   { "noma-film.com", true },
+  { "nomadichome.com", true },
+  { "nomadichome.org", true },
+  { "nomadichomes.com", true },
+  { "nomadichomes.org", true },
+  { "nomadicrootsco.com", true },
   { "nomadproject.io", true },
   { "nomagic.software", true },
   { "nomaster.cc", true },
@@ -38345,7 +39902,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "noncombatant.org", true },
   { "nonglamfarm.vn", true },
   { "nontonfilem.ml", true },
-  { "nonzero.io", true },
   { "noob-box.net", true },
   { "nooben.com", true },
   { "noobow.me", true },
@@ -38357,17 +39913,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "noomist.com", true },
   { "noon-entertainments.com", true },
   { "noonan.family", true },
-  { "nooneshere.co.uk", true },
   { "noop.ch", true },
   { "noop.com.au", true },
   { "noordsee.de", true },
   { "noordwesthoekrit.nl", true },
   { "noorsolidarity.com", false },
   { "noortronic.com", true },
+  { "noosxe.com", true },
   { "nootronerd.com", true },
   { "nootropic.com", true },
   { "noovell.com", true },
   { "nooverviewavailable.com", true },
+  { "nopaincenter.ro", true },
   { "nopajam.tk", true },
   { "nopaste.xyz", true },
   { "nopaynocure.com", true },
@@ -38384,12 +39941,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nordicsrit.tk", true },
   { "nordinfo.fi", true },
   { "nordlichter-brv.de", true },
+  { "nordlocker.com", true },
   { "nordmoregatebilklubb.com", true },
   { "nordnetz-hamburg.de", true },
+  { "nordpass.com", true },
+  { "nordsec.com", true },
   { "nordseeblicke.de", true },
   { "nordstromheating.com", true },
   { "nordvestkysten.de", true },
   { "nordvestkysten.dk", true },
+  { "nordvpn.com", true },
+  { "nordvpnteams.com", true },
   { "nordwaldzendo.de", true },
   { "noreply.mx", true },
   { "norestfortheweekend.com", true },
@@ -38401,6 +39963,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "normanbauer.com", true },
   { "normandgascon.com", true },
   { "normankranich.de", true },
+  { "normansolutions.co.uk", true },
+  { "normapro.es", true },
   { "norml.fr", true },
   { "noroshi-burger.com", true },
   { "norrlandsbilverkstad.se", true },
@@ -38409,8 +39973,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "norskpensjon.no", true },
   { "northampton-vets.co.uk", true },
   { "northatlantalaw.net", true },
+  { "northbengaltourism.com", true },
   { "northbridgecre.com", true },
-  { "northbrisbaneapartments.com.au", true },
   { "northcoastlabs.com", true },
   { "northconsulting.fr", true },
   { "northcreekresort.com", true },
@@ -38422,7 +39986,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "northebridge.com", true },
   { "northern-lakes.com", true },
   { "northerngate.net", true },
-  { "northernhamsterclub.com", true },
   { "northernpowertrain.com", true },
   { "northernselfstorage.co.za", true },
   { "northfieldyarn.com", true },
@@ -38435,7 +39998,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "northrose.net", true },
   { "northscottsdaleloan.com", true },
   { "northtexasvasectomy.com", true },
-  { "northumbriagames.co.uk", true },
+  { "northwoodstudios.org", true },
   { "norys-escape.de", true },
   { "nos-medias.fr", true },
   { "nos-oignons.net", true },
@@ -38443,15 +40006,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "noscura.nl", true },
   { "noseastumismo.com", true },
   { "nosecrets.ch", true },
-  { "nosedoctor.net", true },
   { "noslite.nl", true },
-  { "nosqlzoo.net", true },
   { "nossasenhora.net", true },
+  { "nossasenhoradopranto.pt", true },
   { "nostalgimidi.se", true },
   { "nostalgische-attracties.nl", true },
   { "nostraforma.com", false },
   { "nosuch.blog", true },
-  { "nosuch.site", true },
   { "noswap.com", true },
   { "nosyu.pe.kr", true },
   { "nota.moe", true },
@@ -38471,6 +40032,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "notcompletelycorrect.com", true },
   { "note64.com", true },
   { "noteboat.net", true },
+  { "notecoffee.tw", true },
   { "notedinstyle.co.uk", true },
   { "notenarchiv.eu", true },
   { "notepad.nz", true },
@@ -38478,8 +40040,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nothinfancy.ca", true },
   { "nothing.net.nz", true },
   { "noticaballos.com", true },
-  { "noticiasdehumor.com", true },
   { "noticiasdetv.com", true },
+  { "notifications.net", true },
   { "notigatos.es", true },
   { "notilus.fr", true },
   { "notilus.it", true },
@@ -38493,14 +40055,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nototema.com", true },
   { "notsafefor.work", true },
   { "nottres.com", true },
+  { "nou.vn", true },
   { "nou9ta.tk", true },
   { "noudjalink.nl", true },
   { "nougat-anduze.fr", true },
-  { "noujoumtounes.com", true },
   { "nourishandnestle.com", true },
   { "noustique.com", true },
   { "noustramits.com", true },
   { "nousyukum.com", true },
+  { "nouveauhosting.com.au", true },
   { "nova-dess.ch", false },
   { "nova-wd.org.uk", true },
   { "nova.live", true },
@@ -38511,7 +40074,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "novafreixo.pt", true },
   { "novaiguacu.net.br", true },
   { "novak.cf", true },
-  { "novalite.rs", true },
   { "novanetwork.ml", true },
   { "novascan.net", true },
   { "novawave.ca", true },
@@ -38521,13 +40083,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "novecity.it", true },
   { "novecity.org", true },
   { "novecitymail.com", true },
+  { "novel543.com", true },
   { "novelfeed.com", true },
   { "novelinglife.net", false },
   { "novema.jp", true },
   { "novengi.mu", true },
   { "novfishing.ru", true },
   { "novgorod-avia.ru", true },
-  { "novicecamp.com", true },
   { "novichok.ml", true },
   { "novilaw.com", true },
   { "novilidery.com", true },
@@ -38535,10 +40097,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "novinivo.com", true },
   { "novinkihd.tk", true },
   { "novinminer.com", true },
+  { "novobi.com", true },
   { "novogradnje.si", true },
   { "novojet.cl", true },
   { "novokuznetsk.tk", true },
   { "novonegoc.io", true },
+  { "novoregalos.com", true },
   { "novoresume.com", false },
   { "novorossiysk.tk", true },
   { "novorussiya.tk", true },
@@ -38546,12 +40110,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "novosibavia.ru", true },
   { "novotoznanie.com", true },
   { "novurania.com", true },
+  { "novysvit.com.ua", true },
+  { "now.sh", true },
   { "now101atm.tk", true },
   { "nowarning.cc", true },
   { "nowhere.dk", true },
   { "nowitzki.me", true },
   { "nowitzki.network", true },
-  { "nowlas.org", true },
+  { "nowlas.org", false },
   { "nowloading.co", true },
   { "nowzuwan.org", false },
   { "noxlogic.nl", true },
@@ -38565,13 +40131,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "npaccel.com", true },
   { "npath.de", true },
   { "npbeta.com", true },
+  { "npchosting.com", true },
   { "npcrcss.org", true },
   { "npdigital.com", true },
   { "nphrm.com", true },
   { "npmcdn.com", true },
+  { "npod.me", true },
   { "npregion.org", true },
   { "npsas.org", true },
-  { "npw.net", true },
   { "nr-sputnik.ru", true },
   { "nrd.gov", true },
   { "nrd.li", true },
@@ -38581,7 +40148,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nrsmart.com", true },
   { "nrsweb.org", true },
   { "nrthcdn.me", true },
-  { "nrv-linux.io", true },
   { "nrvc.net", true },
   { "nrvn.cc", false },
   { "ns-frontier.com", true },
@@ -38591,6 +40157,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nsapwn.com", true },
   { "nsboston.org", true },
   { "nscnet.jp", true },
+  { "nscondominios.pt", true },
   { "nsfw-story.com", true },
   { "nshipster.cn", true },
   { "nshipster.co.kr", true },
@@ -38605,12 +40172,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nsoft.nu", true },
   { "nsp.ua", true },
   { "nspawn.org", true },
-  { "nspeaks.com", true },
   { "nstd.net", true },
   { "nstinvoiceqa.com", true },
   { "nstnet.org", true },
   { "nsworks.com", true },
-  { "nt-catala.com", true },
   { "ntags.org", true },
   { "ntcp.ph", true },
   { "nte.email", true },
@@ -38620,7 +40185,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ntotten.com", true },
   { "ntppool.org", false },
   { "ntsb.gov", true },
-  { "ntwt.us", true },
   { "ntx360grad-fallakte.de", true },
   { "ntzlaw.com", true },
   { "ntzwrk.org", true },
@@ -38630,17 +40194,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nualgiponds.com", true },
   { "nuamooreaindonesia.com", true },
   { "nubehogar.nsupdate.info", true },
-  { "nubu.at", true },
   { "nuclea.id", true },
   { "nuclearcat.com", true },
-  { "nucleuspanel.com", true },
+  { "nucleosynth.space", true },
   { "nudeimg.com", true },
   { "nudevotion.com", true },
   { "nudge.ai", true },
   { "nuel.cl", true },
-  { "nuestratecnologia.com", true },
   { "nuevaimagenpublicidad.es", true },
   { "nuffield.nl", true },
+  { "nugmanov.net", true },
   { "nuipogoda.ru", true },
   { "nuits-franciliennes.fr", true },
   { "null-life.com", true },
@@ -38651,6 +40214,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nullscripts.tk", true },
   { "nullwebscripts.com", true },
   { "nullxsec.net", true },
+  { "nully.xyz", true },
   { "numarasorgulama.tel", true },
   { "numatic.co.uk", true },
   { "numbercult.net", true },
@@ -38664,18 +40228,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "numero-aleatorio.com", true },
   { "numero1.ch", false },
   { "numerologist.com", true },
-  { "numerossanos.com.ar", true },
   { "numo.co", true },
   { "numwave.nl", true },
   { "nunesgh.com", true },
   { "nunnenmacher.net", true },
   { "nunnun.jp", true },
+  { "nunoleiria.com", true },
   { "nunomoura.com", true },
+  { "nuntiicaelo.in.ua", true },
+  { "nunu.io", true },
   { "nuoha.com", true },
   { "nuovaelle.it", true },
   { "nuovavetro.com", true },
   { "nuquery.com", true },
-  { "nuquery.org", true },
   { "nur.berlin", true },
   { "nureg.club", true },
   { "nureg.net", true },
@@ -38687,6 +40252,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nurseregistry.com", true },
   { "nurses.dating", true },
   { "nuryahan.com.br", true },
+  { "nusaceningan.io", false },
   { "nusatrip-api.com", true },
   { "nussadoclub.org", true },
   { "nut-dev.com", true },
@@ -38697,16 +40263,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nutleyef.org", true },
   { "nutpanda.com", true },
   { "nutra-creations.com", true },
+  { "nutradian.com", true },
   { "nutrafitsuplementos.com.br", true },
+  { "nutralivbio.com", true },
   { "nutrashop.fr", true },
+  { "nutri-spec.me", true },
   { "nutricaovegana.com", true },
-  { "nutriciametabolics-shop.de", true },
   { "nutridieta.com", true },
   { "nutripedia.gr", true },
   { "nutrishop.com", true },
   { "nutrition.gov", true },
+  { "nutritionalsupplement.co.uk", true },
   { "nutrizionista.roma.it", true },
-  { "nuttyveg.com", true },
   { "nuvechtdal.nl", true },
   { "nuverabusiness.com", true },
   { "nuveratechtrends.com", true },
@@ -38724,6 +40292,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nwea.nl", true },
   { "nwerc.party", true },
   { "nwgh.org", false },
+  { "nwh.nz", true },
   { "nwitt.us", true },
   { "nwk1.com", true },
   { "nwmd.nl", false },
@@ -38737,6 +40306,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nxcd.com.br", true },
   { "nxgn.io", true },
   { "nxinfo.ch", false },
+  { "nxit.ca", true },
   { "nxtgenbroadband.in", true },
   { "nxth.io", true },
   { "nya.as", true },
@@ -38776,29 +40346,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "nystudio107.com", true },
   { "nytrafficticket.com", true },
   { "nyzed.com", true },
-  { "nzbs.com", true },
   { "nzelaweb.com", true },
   { "nzstudy.ac.nz", true },
   { "nzws.me", false },
   { "o-aconsult.com", true },
   { "o-results.ch", true },
+  { "o-s.no", true },
   { "o-sp.com", true },
   { "o15y.com", true },
   { "o2oxy.cn", true },
+  { "o2ss.com", true },
   { "o3.wf", true },
   { "o36533.com", true },
   { "o36594.com", true },
-  { "o3c.com.br", true },
+  { "o3ptitschats.fr", true },
   { "o3wallet.com", true },
+  { "o5.cx", false },
   { "o6asan.com", true },
-  { "o81818.com", true },
+  { "o9721.com", false },
   { "o98.com", true },
   { "o98.net", true },
   { "oacloud.nl", true },
+  { "oadeo.com", true },
   { "oahpmdata.net", true },
   { "oaic.gov.au", true },
   { "oakbarnvets.com", true },
-  { "oaken.duckdns.org", true },
   { "oakesfam.net", true },
   { "oakface.club", true },
   { "oakface.com.au", true },
@@ -38809,11 +40381,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oakparklighting.com", true },
   { "oakparkmedicalcentre.ga", true },
   { "oakparkoutdoorlighting.com", true },
+  { "oakshield.nl", true },
   { "oakslighting.co.uk", true },
-  { "oaktravel.nl", true },
   { "oaktree-realtors.com", true },
   { "oakwood-park.tk", true },
   { "oasiristorantebagno.it", true },
+  { "oasis-conference.org.nz", false },
+  { "oasis9.net", true },
   { "oasisdabeleza.com.br", true },
   { "oasisim.net", false },
   { "oasisorthodontics.com.au", true },
@@ -38833,7 +40407,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "obg-global.com", true },
   { "obgalslancaster.com", true },
   { "obgynmiamifl.com", true },
-  { "obitech.de", true },
   { "object.earth", true },
   { "objectif-securite.ch", true },
   { "objectif-terre.ch", false },
@@ -38842,6 +40415,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "objetperso.fr", true },
   { "oblast45.ru", false },
   { "obligacjekk.pl", true },
+  { "obliviate.io", true },
   { "obmen-vizitami.ml", true },
   { "obnalichka.ga", true },
   { "oboeta.com", true },
@@ -38855,10 +40429,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "obsessharness.com", true },
   { "obsproject.com", true },
   { "obtima.org", true },
+  { "obuchowicz.pl", true },
   { "obud.cz", true },
   { "obxlistings.com", true },
   { "obyvateleceska.cz", true },
   { "obzor-znakomstv.tk", true },
+  { "obzoroff.asia", true },
+  { "obzoroff.info", true },
   { "oc-sa.ch", false },
   { "ocachik.com.br", true },
   { "ocad.com.au", true },
@@ -38872,14 +40449,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "occupational-therapy-colleges.com", true },
   { "ocd2016.com", true },
   { "oceanbreezehomes.com", true },
-  { "oceancity4sales.com", true },
   { "oceandns.eu", true },
   { "oceandns.net", true },
   { "oceandns.nl", true },
   { "oceanlogisticgroup.com", true },
   { "oceanlord.me", true },
   { "oceanofapk.com", true },
-  { "oceanspraymiami.com", true },
+  { "oceanspraymiami.com", false },
   { "oceanvisuals.com", true },
   { "ocenka-nedv.ml", true },
   { "ocenovani-inspekce.cz", true },
@@ -38889,22 +40465,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ochsenfeld.co", true },
   { "ochsundjunior.ch", true },
   { "ochsundjunior.swiss", true },
-  { "ociaw.com", true },
   { "ocim.ch", false },
+  { "ocimumcdn.net", true },
   { "ockendenhemming.co.uk", true },
   { "oclausen.com", true },
   { "ocni-ambulance-most.cz", true },
   { "ocnjapartment.com", true },
+  { "ocodo.ru", true },
   { "ocolere.ch", true },
   { "ocotg.com", true },
   { "ocrn.nl", true },
   { "ocsigroup.fr", true },
+  { "octagongroup.co", true },
+  { "octane.net.au", true },
   { "octarineparrot.com", true },
-  { "octav.name", false },
+  { "octav.name", true },
+  { "octava.ua", false },
   { "octaviosimon.com", true },
   { "octobered.com", true },
   { "octocaptcha.com", true },
-  { "octofox.de", true },
   { "octolopagon.games", true },
   { "octopoos.com", true },
   { "octopoos.org", true },
@@ -38912,10 +40491,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "octopuslab.fr", true },
   { "octosniff.net", true },
   { "octothorpe.club", true },
-  { "octothorpe.ninja", true },
   { "octovpn.com", true },
   { "oculus.com", true },
   { "ocupat.ro", true },
+  { "od-cure.com", true },
+  { "odacyeux.fr", true },
+  { "odatakao.com", true },
   { "odden.io", true },
   { "oddmuse.org", true },
   { "oddnumber.ca", true },
@@ -38930,11 +40511,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "odifi.com", true },
   { "odinseye.net", true },
   { "odolbeau.fr", true },
-  { "odonti.com", true },
+  { "odontologia-online.com", true },
   { "odoo.co.th", true },
   { "odpikedoslike.com", true },
   { "odtu.lu", true },
   { "odysea.cat", true },
+  { "odyssey44.com", true },
   { "odysseyofthemind.eu", true },
   { "odysseytraining.com.au", true },
   { "odzyskaniedomeny.pl", true },
@@ -38945,6 +40527,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oec-music.com", false },
   { "oegd.at", true },
   { "oeh.ac.at", true },
+  { "oeilpouroeilcreations.fr", true },
   { "oeko-bundesfreiwilligendienst-sh.de", true },
   { "oeko-bundesfreiwilligendienst.de", true },
   { "oeko-jahr-jubilaeum.de", true },
@@ -38957,17 +40540,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oes.org.gt", true },
   { "oessi.eu", true },
   { "ofcampuslausanne.ch", false },
-  { "ofda.gov", true },
   { "ofertasadsl.com", true },
+  { "ofertaviva.com.br", true },
   { "ofertino.es", true },
   { "ofertolino.fr", true },
   { "offandonagain.org", true },
   { "offbyinfinity.com", true },
+  { "offcasesstore.com", true },
   { "offenekommune.de", true },
   { "offenes-deutschland.de", true },
   { "offensity.com", true },
   { "offerhome.com", true },
+  { "offermann-koeln.de", true },
   { "offertegiuste.com", true },
+  { "offertenet.nl", true },
   { "offgridauto.com", true },
   { "offgridhub.com", true },
   { "office-discount.at", true },
@@ -38976,6 +40562,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "officefundays.co.uk", true },
   { "officeinteriors.co.nz", true },
   { "officemovepro.com", true },
+  { "officevibe.com", true },
   { "officezoneonline.com", true },
   { "officina.roma.it", true },
   { "officium.tech", true },
@@ -38983,25 +40570,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "offroadeq.com", true },
   { "offroadhoverboard.net", true },
   { "offshoot.ie", true },
-  { "offshoot.rentals", true },
+  { "offshoot.rentals", false },
   { "offshore.digital", true },
   { "offshoremarineparts.com", false },
   { "offtopica.uk", true },
   { "ofggolf.com", true },
-  { "ofileo.fr", true },
   { "ofisescort.tk", true },
   { "oflow.me", true },
+  { "ofrion.lu", true },
   { "oftamedic.com", false },
   { "oftn.org", true },
   { "ogamerezine.tk", true },
   { "oge.ch", false },
+  { "ogfarms.in", true },
   { "oghost.ir", true },
   { "ogkw.de", true },
   { "ogo-knigi.ml", true },
   { "oguya.ch", true },
   { "ogyaa.jp", true },
   { "oh-leg.com", true },
-  { "ohadsoft.com", true },
   { "ohai.su", true },
   { "ohartl.de", true },
   { "ohbabybean.com", true },
@@ -39011,10 +40598,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ohentpay.com", true },
   { "ohhere.xyz", true },
   { "ohioflockcote.com", true },
-  { "ohiohealthfortune100.com", true },
+  { "ohiooutside.com", true },
   { "ohm.sg", true },
   { "ohm2013.org", true },
   { "ohmy.ca", true },
+  { "ohmyunix.com", true },
   { "ohne-name.de", true },
   { "ohnonotme.com", true },
   { "ohol.se", true },
@@ -39022,7 +40610,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ohoreviews.com", true },
   { "ohsocool.org", true },
   { "ohsohairy.co.uk", true },
+  { "ohsweetart.com", true },
+  { "ohya8.com", true },
   { "ohyooo.com", true },
+  { "oi-wiki.org", true },
+  { "oiahe.org.uk", true },
   { "oic-ci.gc.ca", true },
   { "oil-ecn.ru", true },
   { "oimexico.tk", true },
@@ -39030,6 +40622,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oita-homes.com", true },
   { "ojaioliveoil.com", true },
   { "ojdip.net", true },
+  { "ojeremy.com", true },
   { "ojojz.com", true },
   { "ojomovies.com", true },
   { "ojp.gov", true },
@@ -39039,38 +40632,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "okad-center.de", true },
   { "okad.de", true },
   { "okad.eu", true },
-  { "okada-touki.jp", true },
   { "okaidi.es", true },
   { "okaidi.fr", true },
   { "okakuro.org", true },
+  { "okashi.me", true },
   { "okasurfbali.com", true },
   { "okay.cf", true },
   { "okay.coffee", true },
+  { "okayloser.com", true },
   { "okaz.de", true },
   { "okazoo.eu", true },
   { "okburrito.com", true },
   { "okchousebuyer.com", true },
   { "okeeferanch.ca", true },
-  { "okewp.com", true },
-  { "okhrana.agency", true },
   { "okib.ca", true },
-  { "okin-jp.net", true },
   { "okinawa-mag.net", true },
   { "okkhor52.com", true },
   { "oklahomafibroids.com", true },
   { "okmx.cloud", true },
   { "okmx.de", true },
-  { "okmyanmartravels.com", false },
+  { "okmyanmartravels.com", true },
   { "okna-tm.kz", true },
+  { "okna-vek.com.ua", true },
   { "okonetwork.org.uk", true },
   { "okonto.com", true },
+  { "okoris.net", true },
   { "okotoksbeach.ca", true },
   { "okpo.tk", true },
   { "okqubit.net", true },
   { "oksafe-t.org", true },
   { "oktayincesuturizm.com", true },
   { "oktime.cz", true },
-  { "oku-nara.com", true },
   { "okukan.com.au", true },
   { "okulistiyoruz.tk", true },
   { "okurapictures.com", true },
@@ -39078,6 +40670,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "okviz.com", true },
   { "okwu.cz", true },
   { "olafnorge.de", true },
+  { "olafvantol.nl", true },
   { "olafwalther.de", true },
   { "olanderflorist.com", true },
   { "olasouris.com", false },
@@ -39091,21 +40684,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oldbrookinflatables.co.uk", true },
   { "oldbrookmarqueehire.co.uk", true },
   { "oldchaphome.nl", true },
-  { "oldcity.tk", true },
   { "older-racer.com", true },
   { "oldfieldmusic.tk", true },
   { "oldiesmusicguide.tk", true },
   { "oldita.ru", true },
   { "oldking.net", true },
   { "oldliverpoolrailways.tk", true },
-  { "oldnews.news", true },
   { "oldno07.com", true },
   { "oldoakflorist.com", true },
-  { "oldonyosafaris.com", true },
+  { "oldpc.com.ua", true },
   { "oldprop.com", true },
   { "oldriver.tk", true },
   { "oldroutetwo.com", true },
   { "oldschool-criminal.com", true },
+  { "oldschool.wiki", true },
   { "oldsticker.com", true },
   { "oldstmary.com", true },
   { "oldtimerparts.de", true },
@@ -39144,6 +40736,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oliverah.com", true },
   { "oliverclausen.com", true },
   { "oliverdunk.com", false },
+  { "oliverfaircliff.com", true },
   { "olivernaraki.com", true },
   { "oliverniebuhr.de", true },
   { "oliverschmid.space", true },
@@ -39183,9 +40776,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "olympeakgaming.tv", true },
   { "olympiads.ca", true },
   { "olympic-research.com", true },
-  { "olympicfitness.com.mx", true },
   { "om.yoga", true },
   { "om1.com", true },
+  { "omaedu.ro", true },
   { "omahmebel.com", true },
   { "omangrid.com", true },
   { "omanko.porn", false },
@@ -39209,6 +40802,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "omniaclubs.com", true },
   { "omniasig.ro", true },
   { "omniatv.com", true },
+  { "omnibnk.cl", true },
   { "omnibot.tv", true },
   { "omnifurgone.it", true },
   { "omnigon.network", true },
@@ -39219,6 +40813,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "omniverse.ru", true },
   { "omny.info", true },
   { "omoide-hitokoto.com", true },
+  { "omorashi.org", false },
   { "omori.ch", true },
   { "omoteura.com", true },
   { "omranic.com", true },
@@ -39241,25 +40836,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "onaboat.se", true },
   { "onahonavi.com", true },
   { "onair.ovh", true },
-  { "onarto.com", true },
   { "onbuzzer.com", false },
   { "oncalltech.net", true },
+  { "once.eu.org", true },
   { "onceuponabow.org", true },
   { "onceuponarainbow.co.uk", true },
   { "oncf.asso.fr", true },
-  { "onchol.com", true },
+  { "onchol.com", false },
   { "oncodedesign.com", true },
   { "oncotarget.ru", true },
   { "ond-inc.com", true },
   { "ond-inc.jp", true },
   { "ondcp.gov", true },
+  { "onde.xyz", true },
   { "ondeapostar.pt", true },
   { "onderwijstransparant.nl", true },
   { "ondevamosjantar.com", true },
-  { "ondiet.biz", true },
   { "ondrej.org", true },
   { "ondrejbudin.cz", true },
-  { "one---line.com", true },
+  { "ondrejhoralek.cz", true },
   { "one-news.net", true },
   { "one-resource.com", true },
   { "one-s.co.jp", true },
@@ -39268,13 +40863,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "one6688.com", true },
   { "oneartyminute.com", true },
   { "oneazcu.com", false },
+  { "onebestdeal.com", true },
   { "onebigcow.com", true },
   { "oneclic.ch", false },
-  { "oneclickjailbreak.com", true },
   { "oneclickroot.com", true },
   { "onedottwelve.co.jp", false },
   { "onedottwelve.com", false },
-  { "onedrive.com", true },
+  { "onedrive.com", false },
   { "onedrive.live.com", false },
   { "onee3.org", true },
   { "oneearthapp.com", true },
@@ -39291,12 +40886,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oneononeonone.tv", true },
   { "onepercentrentals.com", true },
   { "onepersona.io", true },
-  { "onepointsafeband.ca", true },
-  { "onepointsafeband.com", true },
   { "onepointzero.com", true },
   { "oneprediction.com", true },
   { "oneshotmediakc.com", true },
   { "onesports.cz", true },
+  { "onestacked.club", true },
+  { "onestacked.tk", true },
   { "onestasolar.com", true },
   { "onestopcastles.co.uk", true },
   { "onestpasdesanges.fr", true },
@@ -39306,10 +40901,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "onetonline.org", true },
   { "onetouchrevealplus.com", true },
   { "onetwentyseven001.com", true },
-  { "onetwosweetatelier.com", true },
   { "oneway.ga", true },
-  { "onewaymail.com", true },
   { "oneweb.hu", true },
+  { "onezero24.net", true },
   { "onfarma.it", true },
   { "ongea.io", true },
   { "ongiaenegogoa.com", true },
@@ -39327,7 +40921,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "onkentessegertdij.hu", true },
   { "onlfait.ch", false },
   { "online-backup.se", true },
-  { "online-biblio.tk", true },
   { "online-calculator.com", true },
   { "online-eikaiwa-guide.com", true },
   { "online-health-insurance.com", true },
@@ -39342,22 +40935,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "online24.pt", true },
   { "onlineautodealered.com", true },
   { "onlinecasinobluebook.com", true },
+  { "onlinecasinolisboa.com", true },
   { "onlinecasinoselite.org", true },
   { "onlinecensorship.org", true },
   { "onlinecollegeessay.com", true },
   { "onlinedemo.hu", true },
   { "onlinehaircuts.com", true },
-  { "onlinehashfollow.com", true },
   { "onlinekmc.com", true },
   { "onlinekocunuz.com", true },
   { "onlinelegalmarketing.com", true },
   { "onlinelegalmedia.com", true },
   { "onlineltctraining.com", true },
+  { "onlinemagento.com", true },
   { "onlinemarketingmuscle.com", true },
   { "onlinemarketingtraining.co.uk", true },
+  { "onlinemoviewatch.org", true },
   { "onlinepokerspelen.be", true },
   { "onlineradio.pp.ua", true },
-  { "onlinerollout.de", false },
   { "onlinesports.tk", true },
   { "onlinestoresite.com.au", true },
   { "onlinesystem.jp", true },
@@ -39367,12 +40961,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "onlinevisa.ru", true },
   { "onlineweblearning.com", true },
   { "onload.pt", true },
-  { "only-fragrances.com", true },
+  { "only-fragrances.com", false },
   { "onlycrumbsremain.co.uk", true },
+  { "onlyesb.com", true },
   { "onlysim.nl", true },
   { "onmaps.de", true },
   { "onmarketbookbuilds.com", true },
   { "onnaguse.com", true },
+  { "onoelixir.gr", true },
   { "onoranzefunebri.roma.it", true },
   { "onore.org", true },
   { "onpay.io", true },
@@ -39381,14 +40977,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "onrr.gov", true },
   { "ons.ca", true },
   { "onsgenoegen-waz.nl", true },
-  { "onshuistrust.co.za", true },
   { "onsinscrit.com", true },
   { "onspring.com", true },
   { "onsudoku.com", true },
   { "ontdekhetzelf.nu", true },
   { "onthebriteside.com", true },
+  { "onthegosystems.com", true },
+  { "onthehook.ru", true },
   { "ontheten.org", true },
   { "ontogenese.net", true },
+  { "ontopoflove.nl", true },
   { "ontourmarketing.at", true },
   { "ontrio.cz", true },
   { "ontsc.com", true },
@@ -39411,16 +41009,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oodlessoftplay.co.uk", true },
   { "oogami.name", true },
   { "ooharttemplates.com", true },
+  { "ookjesprookje.nl", true },
   { "oolsa.net", true },
+  { "oomepu.com", true },
   { "ooo-santal.ml", true },
   { "ooonja.de", true },
-  { "oortcast.com", true },
-  { "oosolutions.nl", true },
+  { "oosm.org", true },
+  { "oosoo.org", true },
   { "ooyo.be", true },
   { "op3racional.eu", true },
   { "op3y.com", true },
+  { "opale-concept.com", true },
   { "opalesurfcasting.net", true },
   { "oparl.org", true },
+  { "opatut.de", false },
   { "opbedbugcanines.com", true },
   { "opcare.co.uk", true },
   { "opcenter.de", true },
@@ -39430,8 +41032,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "open-banking-access.uk", true },
   { "open-bs.com", true },
   { "open-bs.ru", true },
-  { "open-ctp.com", true },
-  { "open-ctp.org", true },
   { "open-desk.org", true },
   { "open-freax.fr", false },
   { "open-future.be", true },
@@ -39441,6 +41041,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "open-mesh.org", true },
   { "open-sauce-recipes.co.uk", true },
   { "open-source.gr", true },
+  { "open.film", true },
   { "open.gl", true },
   { "open.ru", true },
   { "openacte.ch", false },
@@ -39457,21 +41058,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "openclima.com", true },
   { "openconf.uk", true },
   { "opencpes.com", true },
+  { "opencpes.info", true },
+  { "opencpes.io", true },
+  { "opencpes.org", true },
   { "opencrm.co.uk", true },
-  { "openctp.org", true },
   { "opendata.cz", true },
   { "opendataincubator.eu", true },
   { "opendecide.com", true },
   { "openfir.st", true },
   { "openfitapi-falke.azurewebsites.net", true },
   { "opengovpartnership.de", true },
+  { "openhistory.de", true },
   { "openings.ninja", true },
   { "openitforum.pl", true },
   { "openjur.de", true },
   { "openkim.org", true },
   { "openkvk.nl", true },
   { "openmail.ml", true },
-  { "openmirrors.ml", true },
   { "opennippon.com", true },
   { "opennippon.ru", true },
   { "openpictures.ch", true },
@@ -39480,6 +41083,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "openrainbow.net", true },
   { "openre.site", true },
   { "openrealestate.co", true },
+  { "openreel.com", true },
   { "openresearch.amsterdam", true },
   { "openreview.net", true },
   { "openroademail.com", true },
@@ -39492,6 +41096,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "opensourcesurvey.org", true },
   { "openspa.webhop.info", true },
   { "openssl.org", true },
+  { "openstakes.com", true },
   { "openstandia.jp", true },
   { "openstem.com.au", true },
   { "openstreetmap.is", true },
@@ -39505,11 +41110,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "openwireless.org", true },
   { "openwrt-dist.tk", true },
   { "operanavigation.ro", true },
+  { "operationkiwi.work", true },
   { "operr.com", true },
   { "operrbilling.com", true },
   { "operrgroup.com", true },
   { "operrhealth.com", true },
-  { "operrtel.com", true },
   { "opexterminating.com", true },
   { "opfin.com", true },
   { "ophis-phosphoros.com", true },
@@ -39523,19 +41128,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "opioids.gov", true },
   { "opioneers.ga", true },
   { "opium.io", true },
+  { "oplata.uz", true },
   { "oplatki-charistia.pl", true },
   { "oplop.appspot.com", true },
+  { "opnaarsalto.be", true },
   { "opncld.com", true },
   { "opoleo.com", true },
   { "oposiciones.com.es", true },
   { "oposicionesapolicialocal.es", true },
+  { "oposicionescorreos.com.es", true },
   { "oposicionescorreos.es", true },
   { "oposicionescorreos.info", true },
   { "oposicionesdejusticia.org", true },
+  { "oposicionesertzaintza.com.es", true },
   { "oposicionesprofesores.tk", true },
   { "oposicionesycursos.com", true },
   { "opp.moe", true },
   { "oppada.com", true },
+  { "oppaiti.me", true },
   { "oppejoud.ee", true },
   { "opportunis.me", true },
   { "opportunity.de", true },
@@ -39544,17 +41154,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oppwa.com", true },
   { "opq.pw", true },
   { "opraab.ga", true },
-  { "oprbox.com", true },
   { "oprechtgezegd.nl", true },
   { "oprueba.com", true },
   { "opryshok.com", true },
   { "ops-com.com", true },
   { "ops.com.pl", true },
+  { "opskiwi.work", true },
   { "opsmate.com", false },
-  { "opstory.com", true },
   { "opti-net.at", true },
   { "opticaltest.com", true },
+  { "opticasocialvision.com", true },
+  { "opticsboss.com", true },
   { "optiekdemeester.be", true },
+  { "optigear.nl", true },
   { "optik-trosdorff.de", true },
   { "optiker-gilde.de", true },
   { "optimall.tk", true },
@@ -39589,6 +41201,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "orangutan-appeal.org.uk", true },
   { "orangutan.org", true },
   { "oranjee.net", false },
+  { "orbeimaginario.com", true },
   { "orbital3.com", true },
   { "orbitalcommerce.com.br", true },
   { "orbitcleaning.com.au", true },
@@ -39606,20 +41219,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "orcsnet.com", true },
   { "ordbokpro.se", true },
   { "orde.red", true },
-  { "orderessay.net", true },
   { "ordermore.cloud", true },
   { "ordermygear.com", true },
   { "ordevanoranjenassau.nl", true },
   { "ordina.tk", true },
   { "ordoro.com", true },
+  { "ore.cool", true },
   { "oreadstudios.com", true },
   { "orel-sait.tk", true },
+  { "orembaeviajes.tur.ar", true },
   { "oreshinya.xyz", true },
   { "oreskylaw.com", true },
   { "oreto.de", false },
   { "orf-digitalsatkarte.at", false },
   { "orf-kartentausch.at", false },
-  { "orfelios.com", true },
   { "organica.co.za", true },
   { "organisatieteam.nl", true },
   { "organisationsberatung-jacobi.de", true },
@@ -39628,11 +41241,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "orged.de", true },
   { "orgoniteindonesia.com", true },
   { "orgsyn.in", true },
-  { "orgyporngroup.com", true },
   { "orhideous.name", true },
   { "orians.eu", true },
   { "oribia.net", true },
-  { "orientalart.nl", true },
+  { "orienttime.com.tw", true },
   { "oriflamesamara.tk", true },
   { "oriflameszepsegkozpont.hu", true },
   { "orifonline.ro", true },
@@ -39642,6 +41254,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "origin8delicafes.com", true },
   { "original-christstollen.com", true },
   { "original-christstollen.de", true },
+  { "originalabsinthe.com", true },
+  { "originalmockups.com", true },
   { "originalniknihy.cz", true },
   { "originpc.com", false },
   { "orikadabra.nl", true },
@@ -39657,21 +41271,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "orleika.io", true },
   { "ormer.nl", true },
   { "ornsyn.no", true },
+  { "ornua.com", true },
   { "oro.roma.it", true },
   { "orocojuco.com", true },
   { "orologeria.roma.it", true },
-  { "orologidicristina.com", true },
   { "oroscopodelmese.it", true },
   { "orphee-beaute.com", true },
+  { "orpheus.network", true },
   { "orrs.de", true },
   { "ortho-europe.com", true },
   { "ortho-graz.at", true },
   { "orthograph.ch", true },
   { "orthotictransfers.com", true },
   { "ortlepp.eu", true },
-  { "ortopedistamarcelocosta.com.br", true },
   { "ortopertutti.it", true },
   { "oruggt.is", true },
+  { "orum.in", true },
   { "orwell1984.today", true },
   { "oryva.com", true },
   { "os-s.net", true },
@@ -39689,11 +41304,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oscarvk.ch", true },
   { "osci.io", true },
   { "oscillation-services.fr", true },
-  { "oscloud.com", true },
   { "osepideasthatwork.org", true },
   { "oses.mobi", true },
   { "osez-l-odyssee.fr", true },
   { "oshayr.com", true },
+  { "oshea.cc", true },
   { "oshrc.gov", true },
   { "osielnava.com", true },
   { "osimmo.fr", true },
@@ -39717,18 +41332,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "osomagicmountain.com", true },
   { "osomjournal.org", true },
   { "ospf.sk", true },
+  { "osrs.wiki", true },
   { "osszekotatermeszettel.hu", true },
-  { "ostachstore.com", true },
-  { "ostan-collections.net", true },
   { "ostankino.tk", true },
   { "ostechnix.com", true },
   { "osteendiner.com", true },
-  { "osteolaclusaz.com", true },
+  { "osteopathe-palaiseau.com", true },
   { "osterkraenzchen.de", true },
   { "osterlensyd.se", true },
   { "ostgotamusiken.se", true },
   { "osti.gov", true },
   { "ostimwebyazilim.com", true },
+  { "osto.us", true },
   { "ostr.io", true },
   { "ostrov8.com", true },
   { "ostylelimo.com", true },
@@ -39742,26 +41357,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oswbouncycastles.co.uk", true },
   { "osx86spain.com", true },
   { "oszri.hu", true },
-  { "ota365.com", true },
   { "otakubox.de", true },
   { "otakurepublic.com", true },
-  { "otakurumi.de", false },
+  { "otakurumi.de", true },
   { "otdelka56.ml", true },
   { "otdyh-v-abhazii.tk", true },
   { "otellio.com", true },
   { "otellio.de", true },
   { "otellio.it", true },
+  { "otemplario.pt", true },
   { "other98.com", true },
   { "otherlandlabs.com", true },
   { "oticasaopaulo.com.br", true },
   { "oticasvisao.net.br", true },
   { "otisko.com", true },
+  { "otiumtech.com", true },
   { "otixz.com", true },
-  { "otoblok.com", true },
   { "otocenterfelix.com.br", true },
   { "otokiralama.name.tr", true },
   { "otoma.tk", true },
-  { "otomobilforumu.com", true },
   { "otooil.com", true },
   { "otoplastik.ml", true },
   { "otoplenie-ufa.ml", true },
@@ -39770,6 +41384,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "otoya.space", false },
   { "otprema.hr", true },
   { "otpsmart.com.ua", true },
+  { "otpusk.com", true },
   { "otr.ie", true },
   { "otrm.de", true },
   { "ots.gov", true },
@@ -39782,13 +41397,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "otvertka.kz", true },
   { "otya.me", true },
   { "otzyvy2.ru", true },
-  { "ouaibe.qc.ca", true },
   { "ouattara.ch", true },
   { "ouest-annonces.com", true },
+  { "ouestfrance-auto.pro", true },
   { "ouestsolutions.com", true },
+  { "ouglor.com", true },
+  { "ouin.land", true },
   { "oulunjujutsu.com", true },
   { "ounage.de", true },
-  { "our-box.de", true },
   { "ourai.ws", true },
   { "ourcloud.at", true },
   { "ourdocuments.gov", true },
@@ -39820,18 +41436,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "outdoorlightingsimivalley.com", true },
   { "outdoorlightingthousandoaks.com", true },
   { "outdoorlightingwestlakevillage.com", true },
+  { "outdoormixfestival.com", true },
+  { "outdoorstop.net", true },
   { "outdoortrip.com", true },
   { "outetc.com", true },
   { "outfunnel.com", true },
   { "outgress.com", true },
   { "outincanberra.com.au", true },
+  { "outingexpert.com", true },
   { "outinjersey.net", true },
   { "outka.xyz", true },
   { "outline.ski", true },
+  { "outline.vn", true },
   { "outlookonthedesktop.com", true },
+  { "outnow.ch", true },
+  { "outoftheboxfitness.com", true },
+  { "outpostinfo.com", true },
+  { "outshinesolutions.nl", true },
   { "outsideconnections.com", true },
   { "outsiders.paris", false },
   { "outstack.vote", true },
+  { "outstandingpromotion.com", true },
+  { "outurnate.com", true },
   { "outwesthunts.com", true },
   { "ouwerling.tk", true },
   { "ovelhaostra.com", false },
@@ -39840,6 +41466,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "overframe.gg", true },
   { "overijsselsemerentocht.nl", true },
   { "overlandireland.ie", true },
+  { "overlord.network", true },
   { "overnetfaq.tk", true },
   { "overnightglasses.com", true },
   { "overpb.gq", true },
@@ -39851,10 +41478,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oversight.gov", true },
   { "overstap.deals", true },
   { "overstemmen.nl", true },
-  { "overstockpromote.com", true },
   { "overthecloud.it", true },
   { "overthinkingit.com", true },
-  { "overtrolls.de", true },
   { "overwatchss.club", true },
   { "overzicht.pro", true },
   { "overzicht.ws", true },
@@ -39864,17 +41489,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ovix.co", true },
   { "ovnrain.com", true },
   { "ovodev.com", true },
+  { "ovpn.com", true },
   { "ovvy.net", false },
   { "owapi.net", true },
+  { "owbt.pl", true },
   { "owddm.com", true },
   { "owennelson.co.uk", true },
   { "owensordinarymd.com", true },
+  { "owid.cloud", true },
   { "owl-square.com", true },
   { "owl-stat.ch", false },
   { "owl.net", true },
   { "own3d.ch", true },
   { "ownagepranks.com", true },
   { "ownc.at", true },
+  { "owncloud.help", true },
   { "owner.pw", true },
   { "ownian.com", true },
   { "ownmay.com", false },
@@ -39883,22 +41512,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oxborrow.ca", true },
   { "oxelie.com", false },
   { "oxfordbio.com", true },
+  { "oxfordurgentclinic.com", true },
   { "oxia.me", true },
   { "oxiame.eu", true },
   { "oxidemusic.com", true },
   { "oximo.lviv.ua", true },
   { "oxo.cloud", true },
   { "oxsec.co.uk", true },
-  { "oxygin.net", true },
+  { "oxygin.net", false },
   { "oxymail.ru", true },
-  { "oxyx.tk", true },
   { "oxz.me", true },
-  { "oyosoft.fr", true },
   { "oyosoft.net", true },
   { "oysterworldwide.com", true },
   { "oyungg.net", true },
   { "oyunmadeni.tk", true },
-  { "oyunpat.com", true },
   { "oz-style.com", true },
   { "ozalp.dk", true },
   { "ozark.be", true },
@@ -39907,16 +41534,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "oznamovacipovinnost.cz", true },
   { "ozonstyle.ga", true },
   { "ozvolvo.org", true },
+  { "p-0.me", true },
   { "p-damda.com", true },
   { "p-mint.jp", true },
   { "p-p.site", true },
   { "p-s-b.com", true },
+  { "p-soc.com.br", true },
+  { "p-store.net", true },
   { "p1979.com", true },
   { "p1group.com", true },
   { "p1ratrulezzz.me", true },
   { "p22.co", true },
   { "p2d.ru", true },
   { "p333a.net", true },
+  { "p333aa.com", true },
   { "p333aaa.com", true },
   { "p333b.com", true },
   { "p333b.net", true },
@@ -39981,31 +41612,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "p333x.com", true },
   { "p333y.com", true },
   { "p333z.com", true },
-  { "p365.vip", true },
+  { "p365.vip", false },
   { "p36533.com", true },
   { "p36594.com", true },
   { "p4chivtac.com", true },
   { "p5on.net", true },
   { "p5r.uk", true },
-  { "p81818.com", true },
-  { "p888010.com", true },
-  { "p9120.com", true },
-  { "p9121.com", true },
-  { "p9125.com", true },
-  { "p9136.com", true },
-  { "p9161.com", true },
-  { "p9162.com", true },
-  { "p9167.com", true },
-  { "p9195.com", true },
-  { "p9196.com", true },
-  { "p91ab.com", true },
-  { "p91ac.com", true },
-  { "p91ad.com", true },
-  { "p91ae.com", true },
-  { "p91af.com", true },
-  { "p91ag.com", true },
-  { "p91ah.com", true },
-  { "p91aj.com", true },
+  { "p888010.com", false },
   { "pa-w.de", true },
   { "pa.search.yahoo.com", false },
   { "paardenhulp.nl", true },
@@ -40013,9 +41626,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paas-inf.net", true },
   { "paass.net", true },
   { "paazmaya.fi", true },
-  { "pablo.im", true },
+  { "pablo.io", true },
   { "pablo.scot", true },
   { "pablo.sh", true },
+  { "pabloalbertoazar.com", true },
   { "pabloarteaga.co.uk", true },
   { "pabloarteaga.com", true },
   { "pabloarteaga.com.es", true },
@@ -40023,7 +41637,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pabloarteaga.eu", true },
   { "pabloarteaga.info", true },
   { "pabloarteaga.me", true },
-  { "pabloarteaga.name", true },
   { "pabloarteaga.net", true },
   { "pabloarteaga.nom.es", true },
   { "pabloarteaga.org", true },
@@ -40032,7 +41645,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pabloarteaga.uk", true },
   { "pabloarteaga.xyz", true },
   { "pablofain.com", true },
-  { "pabloroblesminister.com", true },
   { "pablovaldiviesoar.com", true },
   { "pabuzo.vn", true },
   { "pacalzheimer.com", true },
@@ -40042,17 +41654,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pacchioni.me", true },
   { "paccolat.name", true },
   { "pace.car", true },
+  { "pacecounsel.com", true },
   { "paced.me", true },
   { "pacelink.de", true },
   { "pacifco.com", true },
+  { "pacificarperu.com", true },
   { "pacificautobody.net", true },
   { "pacificbeachpub.com", true },
   { "pacificcashforcars.com.au", true },
   { "pacificgynsurgicalgroup.com", true },
   { "pacificintegration.ca", true },
   { "pacificpuke.com", true },
+  { "pacificspraydry.com", true },
   { "pacifictilkin-occasions.be", false },
   { "pack-haus.de", true },
+  { "pack.io", true },
   { "packagingproject.management", true },
   { "packagist.jp", true },
   { "packagist.org", false },
@@ -40074,11 +41690,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "padron.com.es", true },
   { "padshah.tk", true },
   { "padzilla.com", true },
+  { "paediatricdata.eu", true },
   { "paedlink.ca", true },
   { "paesi.info", true },
   { "paf-events.ch", false },
   { "pagalsongs.com", true },
-  { "pagalsongs.world", true },
   { "pagalworld.com", true },
   { "pagalworld.info", true },
   { "pagalworld.io", true },
@@ -40091,16 +41707,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pageantsnews.com", false },
   { "pageboard.fr", true },
   { "pagecdn.io", true },
-  { "pagedesignhub.com", true },
-  { "pagedesignpro.com", true },
-  { "pagedesignweb.com", true },
   { "pagefulloflies.io", true },
+  { "pagenstedt.de", true },
   { "pagerduty.com", true },
+  { "pagespeedtweaks.com", true },
   { "pagewizz.com", true },
   { "pagiamtzis.com", true },
   { "pagina394.com.br", true },
   { "paginamaravillosa.tk", true },
   { "paginaweb4u.com", true },
+  { "pagliucadb.ddns.net", true },
   { "paguponku.com", true },
   { "pagure.io", true },
   { "pagure.org", true },
@@ -40117,6 +41733,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paintersgc.com.au", true },
   { "paintingindurban.co.za", true },
   { "paipuman.jp", true },
+  { "paisleyandsparrow.com", true },
   { "pajadam.me", true },
   { "pajuvuo.fi", true },
   { "pakaranggrek.com", true },
@@ -40135,7 +41752,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "palapadev.com", true },
   { "palariviera.com", true },
   { "palary.work", true },
+  { "palatetotable.com", true },
   { "palatin.at", true },
+  { "palaubluetours.com", true },
   { "palava.tv", true },
   { "palavalbasket.it", true },
   { "palavatv.com", true },
@@ -40151,20 +41770,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paleoso.com", true },
   { "palermoantagonista.tk", true },
   { "palermopride.it", true },
+  { "palessit.com", true },
   { "palestra.roma.it", true },
+  { "paletdecor.com.ua", true },
   { "palladium46.com", true },
   { "palletflow.com", true },
   { "palli.ch", false },
   { "palmaprop.com", true },
+  { "palmbeachcuisine.com", true },
+  { "palmbeachwebsitehosting.com", true },
   { "palmen-apotheke.de", true },
   { "palner.eu", true },
   { "palomardisplays.com", true },
-  { "pama.fun", true },
   { "pamaniqu.nl", true },
   { "pamc.tk", true },
   { "pamm.tk", true },
   { "pamsorel.co.za", true },
   { "pan.digital", true },
+  { "panamarealestatebrokers.com", true },
   { "panamatravel.tk", true },
   { "panangelium.tk", true },
   { "panasca.is", true },
@@ -40192,18 +41815,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "panascais.tech", true },
   { "panascais.us", true },
   { "panascais.zone", true },
+  { "panavision.com", true },
   { "panaxis.biz", true },
   { "panaxis.ch", true },
   { "panaxis.li", true },
   { "panda-community.com", true },
+  { "panda.tf", true },
   { "pandahut.net", true },
   { "pandaltd.nl", false },
-  { "pandemic.group", true },
   { "pandemicflu.gov", true },
   { "pandiora.pw", true },
   { "pandithaya.tk", true },
   { "pandkonijn.nl", true },
   { "pandoraflora.com", true },
+  { "pandorasprom.co.uk", true },
   { "panduan-hamil.tk", true },
   { "pandymic.com", true },
   { "paneldewelopera.pl", true },
@@ -40218,10 +41843,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paninohome.com", true },
   { "paniodpolskiego.eu", false },
   { "paniyanovska.ua", true },
-  { "panj.ws", true },
   { "panjiva.com", true },
   { "panlex.org", true },
   { "panmetro.com", true },
+  { "pano-guru.com", true },
+  { "pano.ie", true },
   { "panopy.co", true },
   { "panopy.me", true },
   { "panoramahurtowni.pl", true },
@@ -40231,13 +41857,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "panpsychist.com", true },
   { "pantallasled.mx", true },
   { "pantallasyescenarios.com", false },
+  { "panthenolplus.co.uk", true },
+  { "panthenolplus.com", true },
   { "pantheoncrafters.com", true },
   { "panthi.lk", true },
   { "panthur.com.au", false },
   { "pantographe.info", false },
   { "pantou.org", false },
+  { "pants-off.xyz", true },
   { "pantsu.club", true },
+  { "panzdravi.cz", true },
   { "panzer72.ru", true },
+  { "paolodemichele.it", true },
   { "paolotagliaferri.com", true },
   { "pap.la", false },
   { "papa---mama.tk", true },
@@ -40245,6 +41876,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "papabearsautocenter.com", true },
   { "papadopoulos.me", true },
   { "papakatsu-life.com", true },
+  { "paparazzie.de", true },
   { "papaya.me.uk", true },
   { "papayame.com", true },
   { "papayapythons.com", true },
@@ -40270,6 +41902,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "par-allel.ru", true },
   { "paraborsa.net", true },
   { "parachute70.com", false },
+  { "parachuteteam.co.uk", true },
   { "paracomer.es", true },
   { "paradais-sphynx.com", true },
   { "paradependentesquimicos.com.br", true },
@@ -40280,10 +41913,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paradise-travel.net", true },
   { "paradiselost.com", true },
   { "paradiseprivatehospital.com", true },
+  { "paradisestore.org", true },
   { "paragonie.com", false },
   { "paragonremodeling.com", true },
   { "paragontasarim.com", true },
   { "paragreen.net", true },
+  { "parallaxsite.com", true },
   { "paramaquetas.com", true },
   { "paramountelectronics.co.uk", true },
   { "paranoidandroid.tk", true },
@@ -40300,17 +41935,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "parchcraftaustralia.com", true },
   { "parckwart.de", true },
   { "parcon.it", true },
+  { "parcoursup-nouvelle-caledonie.fr", true },
   { "parcoursup.fr", true },
   { "pareachat.com", true },
   { "paremvasi.net", true },
   { "parentelement.com", true },
   { "parentinterview.com", true },
-  { "parents-as-allies.com", true },
   { "parentsandzebrasunited.com", true },
   { "parentsintouch.co.uk", true },
   { "parfum-selbermachen.de", true },
   { "parfumer.tk", true },
-  { "parfumerie-de-grasse.fr", true },
+  { "parfumerie-de-grasse.fr", false },
   { "pari.cz", true },
   { "parisackerman.com", true },
   { "parisbloom.com", true },
@@ -40323,12 +41958,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "parisprovincedemenagements.fr", true },
   { "parkeerbordenhuren.be", true },
   { "parkefficient.de", true },
+  { "parkercs.tech", true },
   { "parkeren.in", true },
+  { "parkerforum.cf", true },
+  { "parkerforum.tk", true },
   { "parkerplumbingcompany.com.au", true },
   { "parkers.co.uk", true },
   { "parket.gq", true },
+  { "parketdoska.ua", true },
   { "parkettdielen.net", true },
-  { "parkhost.eu", true },
   { "parkinginparis.fr", true },
   { "parkingparisnord.fr", true },
   { "parkinsplasticsurgery.com", true },
@@ -40340,7 +41978,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "parkwayminyan.org", true },
   { "parlamento.gub.uy", true },
   { "parleamonluc.fr", true },
-  { "parleu2016.nl", true },
   { "parleur.net", true },
   { "parltrack.org", true },
   { "parmels.com.br", true },
@@ -40361,6 +41998,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "parser.nu", true },
   { "parsonsfamilyhomes.com", true },
   { "parsuv.ir", true },
+  { "part-of-that-world.com", true },
   { "part.la", true },
   { "partage-noir.fr", true },
   { "parteaga.com", true },
@@ -40370,18 +42008,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "parthkolekar.me", true },
   { "partii.tk", true },
   { "partin.nl", true },
+  { "partiono.com", true },
   { "partner.sh", true },
   { "partnercardservices.com", true },
   { "partnermobil.de", true },
   { "partnersofprc.com", true },
-  { "partnertaxhub.com", true },
   { "partnerwerk.de", true },
   { "partoenagua.org", true },
   { "partou.de", true },
   { "partridge.tech", true },
   { "parts4phone.com", false },
   { "partsestore.com", true },
-  { "parturi-manner.fi", true },
+  { "partshop.be", true },
+  { "parturi-manner.fi", false },
   { "partusedtyres.net", true },
   { "party-and-play.co.uk", true },
   { "party-kneipe-bar.com", true },
@@ -40399,7 +42038,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "partytimeltd.ie", true },
   { "partytownireland.co.uk", true },
   { "partytownmarquees.co.uk", true },
-  { "partyvan.io", true },
   { "partyyy.io", true },
   { "partyzone.ie", true },
   { "parvaneh.fr", true },
@@ -40409,7 +42047,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pasarella.eu", true },
   { "pasarkoin.co", true },
   { "pascal-bourhis.com", true },
-  { "pascal-bourhis.net", true },
   { "pascal-wittmann.de", true },
   { "pascal90.de", true },
   { "pascalchristen.ch", true },
@@ -40421,7 +42058,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pascualinmuebles.com", true },
   { "pasearch.nl", true },
   { "pashminacachemire.com", true },
+  { "pasito.se", true },
   { "pasnederland.tk", true },
+  { "pasquinelli-truebag.ch", true },
   { "pass.org.my", true },
   { "passabook.com", true },
   { "passau-webdesign.com", true },
@@ -40433,13 +42072,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "passhojao.com", true },
   { "passieposse.nl", true },
   { "passionandbalance.com", true },
-  { "passionate.org.nz", false },
+  { "passionate.org.nz", true },
   { "passionatefoodie.co.uk", true },
   { "passionatehorsemanship.com", true },
   { "passionatelife.com.au", true },
+  { "passiondesigns.web.id", true },
   { "passionebenessere.com", true },
   { "passionfiat.fr", true },
   { "passionpictures.eu", true },
+  { "passmefaster.net", true },
   { "passover-fun.com", true },
   { "passport.yandex.by", true },
   { "passport.yandex.com", true },
@@ -40456,34 +42097,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "passwd.one", true },
   { "passwd.org", true },
   { "password-checker.de", true },
-  { "password.work", true },
   { "passwordhashing.com", true },
   { "passwordkeeperbooks.com", true },
   { "passwords.google.com", false },
   { "passwordscon.org", true },
   { "passwordsecurity.info", true },
   { "passworks.io", true },
-  { "passy.pw", true },
   { "pasta-factory.co.il", true },
   { "pastaenprosecco.nl", true },
   { "paste.fedoraproject.org", true },
   { "paste.gg", true },
   { "paste.to", true },
   { "pastebin.co.za", true },
-  { "pastebin.run", true },
   { "pasteht.ml", true },
   { "pasternok.org", true },
   { "pasticcerialorenzetti.com", true },
   { "pastimeproject.com", true },
   { "pasztor.at", true },
-  { "patapwn.com", true },
   { "patatbesteld.nl", true },
   { "pataterosviajeros.com", true },
   { "patbatesremodeling.com", false },
+  { "patchofabsence.com", true },
   { "patchyvideo.com", true },
   { "patdorf.com", true },
   { "patechmasters.com", true },
   { "patentados.com", true },
+  { "patentchallenges.com", true },
   { "patentfamily.de", true },
   { "pathagoras.com", true },
   { "pathsha.re", true },
@@ -40494,6 +42133,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "patlis.com", true },
   { "patric-lenhart.de", true },
   { "patriciaandpaul.com", true },
+  { "patriciaramos.pt", true },
   { "patrick-othmer.de", true },
   { "patrick-robrecht.de", true },
   { "patrick.my-gateway.de", true },
@@ -40503,12 +42143,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "patrickbrosi.de", true },
   { "patrickcurl.com", true },
   { "patrickhoefler.net", true },
+  { "patricklynch.xyz", true },
   { "patrickschneider.me", true },
   { "patrikgarten.de", true },
   { "patriksima.cz", true },
   { "patriksimek.cz", true },
   { "patrikzk.eu", true },
-  { "patriotstationatchalfont.com", true },
   { "patrocinio.com.br", true },
   { "patrol-x.com", true },
   { "patryk.cf", true },
@@ -40516,9 +42156,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "patsyforyou.ch", false },
   { "patsytoforyou.ch", false },
   { "pattayafruitgarden.tk", true },
-  { "pattonfanatic.com", true },
   { "pattuka.com", true },
   { "pattyliao.com", true },
+  { "patystation.com", true },
   { "paudley.ca", true },
   { "paudley.com", true },
   { "paudley.org", true },
@@ -40528,12 +42168,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paul.reviews", true },
   { "pauladamsmith.com", true },
   { "paulalutz.com", false },
-  { "paulandmadge.com", true },
   { "paulbdelaat.nl", true },
   { "paulbramhall.uk", true },
-  { "paulbrown.ddns.net", true },
-  { "paulchen.at", true },
-  { "paulcloud.fr", true },
+  { "paulchen.at", false },
   { "paulcoldren.org", true },
   { "paulcooper.me.uk", true },
   { "pauld.codes", true },
@@ -40544,7 +42181,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paullockaby.com", true },
   { "paulmarc.org", true },
   { "paulmeier.com", false },
+  { "pauloalcobianeves.pt", true },
   { "paulocolacino.tk", true },
+  { "paulomonteiro.pt", true },
   { "paulov.com", true },
   { "paulov.info", true },
   { "paulov.ru", true },
@@ -40556,16 +42195,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paulsnar.lv", true },
   { "paulswartz.net", true },
   { "paulus-foto.pl", true },
-  { "paulw.io", true },
   { "paulward.net", true },
   { "paulwatabe.com", true },
   { "paulwendelboe.com", true },
   { "pauly-stahlhandel.com", true },
   { "pauly-stahlhandel.de", true },
+  { "pauspam.net", true },
   { "pautadiaria.com", true },
   { "pavamtio.cz", true },
   { "pavando.com", false },
   { "pavelfojt.cz", true },
+  { "pavelfucik.com", true },
+  { "pavelfucik.cz", true },
+  { "pavelfucik.eu", true },
   { "pavelitus.tk", true },
   { "pavelrebrov.com", true },
   { "pavelstriz.cz", true },
@@ -40573,13 +42215,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "paw.cloud", true },
   { "paw.pt", true },
   { "pawel-international.com", true },
-  { "pawelnazaruk.com", true },
   { "pawelurbanek.com", true },
   { "pawgearlab.com", true },
-  { "pawspuppy.com", true },
+  { "pawserv.pw", true },
+  { "pawspuppy.com", false },
   { "pawsr.us", true },
   { "pawsru.org", true },
   { "paxchecker.com", true },
+  { "paxer.com", true },
   { "paxerahealth.com", true },
   { "pay-online.in", true },
   { "pay.gov", true },
@@ -40592,15 +42235,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "payjunction.com", true },
   { "payjunctionlabs.com", true },
   { "paylike.io", true },
+  { "paylike.se", true },
   { "payloc.io", true },
   { "payme.uz", true },
   { "payment-express.net", true },
+  { "payment.ac.cn", true },
   { "paymentaccuracy.gov", true },
   { "payments.google.com", true },
   { "paymerang.com", true },
   { "paymongo.com", true },
-  { "paymongo.me", true },
-  { "paymyphysician.com", true },
   { "paynet.com.co", true },
   { "payoff.com", true },
   { "paypal.com", true },
@@ -40619,10 +42262,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pazerandepstein.com", true },
   { "pb.ax", false },
   { "pbcables.tk", true },
+  { "pbdigital.org", true },
   { "pborn.eu", true },
   { "pbosquet.com", false },
   { "pbourhis.me", true },
   { "pbr.so", true },
+  { "pbrb.gov", false },
   { "pbren.com", true },
   { "pbrumby.com", true },
   { "pbwebdev.com", true },
@@ -40632,13 +42277,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pc28yc.com", true },
   { "pcatv.org", true },
   { "pcbmarketing.gq", true },
+  { "pcccthicongcungcap.com", true },
   { "pcdbank.com", true },
   { "pcdn.cf", true },
   { "pcdocjim.com", true },
   { "pcel.com", true },
   { "pcexpress.tk", true },
+  { "pcf-frankfurt.de", true },
   { "pcf92.fr", true },
-  { "pcfeuerwehr.de", true },
   { "pcgamingfreaks.at", true },
   { "pchancs.com", true },
   { "pchelpforum.net", true },
@@ -40646,18 +42292,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pciconcursos.com.br", true },
   { "pcisecuritystandards.org", true },
   { "pcissc.org", true },
-  { "pcjsercon.com", true },
   { "pckurzypd.sk", true },
   { "pclaeuft.de", true },
   { "pclob.gov", true },
   { "pcloud.com", true },
   { "pcmkrembangan.or.id", true },
+  { "pcmobile.tech", true },
   { "pcmr.info", true },
+  { "pcnotdienst-oldenburg-rastede.de", true },
   { "pcprkolo.pl", true },
   { "pcr24.ru", true },
   { "pcrab.ml", true },
+  { "pcrabme.com", true },
   { "pcrypt.org", true },
-  { "pcs2.gr", true },
   { "pcsetting.com", true },
   { "pctonic.net", true },
   { "pctrouble.net", true },
@@ -40673,12 +42320,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pdfpasswort.de", true },
   { "pdfresizer.com", true },
   { "pdfsearches.com", true },
-  { "pdkrawczyk.com", true },
   { "pdox.net", true },
+  { "pdxdeli.com", true },
   { "pdxtowncar.net", true },
-  { "pe-bank.co.jp", true },
   { "pe-bank.jp", true },
   { "pe.search.yahoo.com", false },
+  { "peabodytile.com", true },
   { "peaceandjava.com", true },
   { "peacedivorce.com", true },
   { "peaceispossible.cc", true },
@@ -40692,22 +42339,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "peanutproductionsnyc.com", true },
   { "pear2pear.de", true },
   { "pearbloom.com", true },
+  { "pearcom.co.uk", true },
   { "pearlsonly.ca", true },
   { "pearlsonly.com", true },
   { "pearlsonly.com.au", true },
   { "pearlsonly.de", true },
   { "peatsbeast.com", false },
   { "peawo.com", true },
-  { "pebbleparents.com", true },
+  { "pebbleparents.com", false },
   { "pebblepointapartmentsstl.com", true },
   { "pebbles.net.in", true },
+  { "pebmarketing.nl", true },
   { "pecheneg.tk", true },
   { "pechonova.com", true },
   { "pecker-johnson.com", true },
   { "peda.net", true },
   { "pedago.it", true },
+  { "pedaleuse.be", true },
   { "pedalsbarcelona.com", true },
-  { "peddock.com", true },
   { "peddy.dyndns.org", true },
   { "pediatersucha.sk", true },
   { "pedicurean.nl", true },
@@ -40721,8 +42370,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pedroventura.com", false },
   { "peeekaaabooo.com", true },
   { "peekier.com", true },
+  { "peenor.xyz", true },
   { "peep.gq", true },
   { "peepsfoundation.org", false },
+  { "peer.travel", true },
   { "peerbanking.com.au", true },
   { "peercraft.at", true },
   { "peercraft.be", true },
@@ -40754,6 +42405,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "peetah.com", true },
   { "peeters.io", true },
   { "peev.io", true },
+  { "pefricea.com", true },
   { "pegas-studio.net", true },
   { "peifi.de", false },
   { "peippo.at", true },
@@ -40786,13 +42438,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "penetrationstest.se", true },
   { "penfold.fr", true },
   { "pengepung.com", true },
-  { "pengi.me", true },
   { "penguinbits.net", true },
   { "penguindrum.moe", true },
   { "penguinprotocols.com", true },
   { "penguinworld.co", true },
   { "penholder.ga", true },
   { "peniarth.cymru", true },
+  { "peninsuladoctor.com", true },
   { "penispumpen.se", true },
   { "pennergold.net", true },
   { "pennington.io", true },
@@ -40806,18 +42458,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pension-am-alten-waschhaus.de", true },
   { "pensionecani.roma.it", true },
   { "pensioner-1000.tk", true },
-  { "pensionpilot.ca", true },
   { "pensiunea-paco.ro", true },
   { "pensiunealido.ro", true },
   { "penslabyrinth.com", true },
   { "pentagram.me", true },
   { "pentamexicali.tk", true },
+  { "pentandra.com", true },
   { "pentatec.de", true },
   { "pentechealth.com", false },
   { "pentest.blog", true },
   { "pentest.nl", true },
   { "pentesterlab.com", true },
-  { "penticton.photography", true },
+  { "pentestit.com", true },
   { "pentofun.ch", true },
   { "pentoo.ch", true },
   { "pentools.org", true },
@@ -40835,7 +42487,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pepfar.gov", false },
   { "pepgrid.net", true },
   { "pepime.com", true },
-  { "pepinierebotanique.com", true },
+  { "pepkey.net", true },
   { "peplog.nl", true },
   { "pepme.net", true },
   { "pepperandpartner.com", true },
@@ -40844,10 +42496,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "per-olsson.se", true },
   { "perala.me", true },
   { "peraparker.cz", true },
+  { "perceptivemeded.com", true },
   { "percolate.com", true },
   { "percraft.com", true },
   { "percy.io", true },
   { "perd.re", true },
+  { "pereceh.eu.org", true },
   { "perecraft.com", true },
   { "peredoz.tk", true },
   { "perevedi.org", true },
@@ -40864,12 +42518,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "perfectcloud.org", true },
   { "perfectfocuseyecare.com", true },
   { "perfectgarden.es", true },
-  { "perfectgift.com", true },
   { "perfectoparty.co.uk", true },
   { "perfectsnap.co.uk", true },
   { "perfectstreaming.systems", true },
   { "perfektesgewicht.de", true },
   { "perfmatters.io", true },
+  { "perfmed.ro", true },
   { "performancegate.com", true },
   { "performancehealth.com", false },
   { "performancepiers.com", true },
@@ -40882,9 +42536,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "periodic-drinking.com", true },
   { "periscope.tv", true },
   { "perishablepress.com", true },
+  { "perka.com", true },
+  { "perlbanjo.com", true },
   { "perm-avia.ru", true },
   { "perm4.com", true },
   { "permaculture.cf", true },
+  { "permaculture.co.uk", true },
   { "permajackofstlouis.com", true },
   { "permaseal.net", true },
   { "permeance108.com", true },
@@ -40893,18 +42550,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "permisecole.com", true },
   { "permistheorique.be", true },
   { "permistheoriqueenligne.be", true },
-  { "perniciousgames.com", true },
+  { "perniciousgames.com", false },
   { "perot.me", true },
   { "perpetual.ga", true },
   { "perpetualemotion.com", true },
   { "perron.ml", true },
   { "perroquet-passion.ch", false },
+  { "pers-hr.tk", true },
   { "persefonne.com", true },
   { "persephone.gr", true },
   { "persiennkompaniet.se", true },
-  { "persocloud.org", true },
   { "personadecoded.com", true },
   { "personal-genome.com", true },
+  { "personalidadmagnetica.com", true },
+  { "personalityjunkie.com", true },
   { "personalitymax.com", true },
   { "personaljokes.ml", true },
   { "personalnames.net.ru", true },
@@ -40918,7 +42577,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "perthtrains.net", true },
   { "perubusca.nl", true },
   { "perulinks.tk", true },
-  { "pervacio.hu", true },
+  { "perun.wiki", true },
   { "pervoklass.cf", true },
   { "perzeidi.hr", true },
   { "pescadorcomunicacao.com.br", true },
@@ -40936,8 +42595,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "petech.ro", true },
   { "petelew.is", true },
   { "peter-hurtenbach.de", false },
+  { "peter-r.co.uk", true },
   { "peter.org.ua", true },
   { "peterandjoelle.co.uk", true },
+  { "peterbarrett.ca", true },
   { "peterboers.info", true },
   { "peterborgapps.com", true },
   { "peterboweycomputerservices.com.au", true },
@@ -40953,15 +42614,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "peterkrivanek.com", true },
   { "peterlew.is", true },
   { "petermaar.com", true },
+  { "peterslavik.com", true },
   { "petersontoscano.com", true },
-  { "petervaldesii.com", true },
-  { "petervaldesii.io", true },
-  { "petervanleeuwentweewielers.nl", true },
+  { "petervaldesii.com", false },
+  { "petervaldesii.io", false },
   { "petfa.ga", true },
+  { "petherwick.co.uk", true },
+  { "petherwick.com", true },
+  { "petherwicks.co.uk", true },
+  { "petherwicks.com", true },
+  { "pethood.com.au", true },
   { "pethub.com", true },
   { "petit-archer.com", true },
   { "petite-maison.ch", true },
   { "petitsfrenchies.com", true },
+  { "petitu.mx", true },
   { "petja.me", false },
   { "petlife.vet", true },
   { "petmall.bg", true },
@@ -40987,13 +42654,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "petrucciresidential.com", true },
   { "petruzz.net", true },
   { "petschnighof.at", true },
+  { "petstoredog.com", true },
   { "petto.com.co", true },
   { "peturnashes.ga", true },
-  { "petwall.info", true },
   { "petwatchersnj.com", true },
   { "pew.ninja", true },
   { "pewnews.org", true },
   { "pex.digital", false },
+  { "pexxi.eu", true },
   { "peyote.com", true },
   { "peyote.org", true },
   { "pf.dk", true },
@@ -41006,6 +42674,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pfd-nz.com", false },
   { "pfefferkuchen-shop.de", true },
   { "pfefferkuchenprinzessin-dresden.de", true },
+  { "pferdesportclub-chiemgau.de", true },
   { "pfeuffer-elektro.de", true },
   { "pfft.net", true },
   { "pfk.org.pl", true },
@@ -41013,8 +42682,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pflanzen-shop.ch", true },
   { "pflanzenshop-emsland.de", true },
   { "pfmeasure.com", true },
-  { "pfnext.de", true },
-  { "pfonks.com", true },
   { "pfotentour-berlin.de", true },
   { "pfrost.me", true },
   { "pfstaging.xyz", true },
@@ -41023,7 +42690,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pgh-art.com", true },
   { "pgmann.cf", true },
   { "pgnetwork.net", true },
-  { "pgpaintanddesign.com", true },
   { "pgpmail.cc", true },
   { "pgregg.com", true },
   { "ph-blog.de", true },
@@ -41047,9 +42713,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pharmica.uk", true },
   { "pharside.dyndns.org", true },
   { "pharynks.com", true },
-  { "pharynx.nl", true },
   { "phasme-2016.com", true },
   { "phaux.uno", true },
+  { "phbits.com", true },
+  { "phc-sa.com", true },
   { "phcimages.com", true },
   { "phcnetworks.net", false },
   { "phcorner.net", true },
@@ -41058,7 +42725,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "phelx.de", true },
   { "phenixairsoft.com", true },
   { "phenq.com", true },
+  { "pheramoan.com", true },
+  { "pheramoans.com", true },
   { "phero.com", true },
+  { "pheroforce.com", true },
+  { "pherologie.com", true },
+  { "pherology.com", true },
+  { "pheromeon.com", true },
+  { "pheromeons.com", true },
+  { "pheromoans.com", true },
+  { "pheromoen.com", true },
+  { "pheromoens.com", true },
+  { "pheromonez.com", true },
+  { "pheronome.com", true },
+  { "pheronomes.com", true },
+  { "pheros.com", true },
+  { "pheroz.com", true },
   { "phget.com", true },
   { "phi-works.com", true },
   { "phibureza.com", true },
@@ -41077,9 +42759,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "philipdeussen.de", true },
   { "philiperiksson.se", true },
   { "philipkobelt.ch", true },
-  { "philipp-trulson.de", false },
   { "philipp-winkler.de", true },
   { "philippbirkholz.de", true },
+  { "philippe-metayer-platrier.fr", true },
   { "philippe-mignotte.fr", true },
   { "philippebonnard.fr", true },
   { "philipperoose.be", false },
@@ -41091,15 +42773,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "philippkeschl.at", true },
   { "philipssupportforum.com", true },
   { "philipzhan.tk", true },
-  { "phillipgoldfarb.com", true },
-  { "phillipsdistribution.com", true },
+  { "phillippe-lemarc.ch", true },
   { "philna.sh", true },
   { "philo.shop", true },
   { "philosoftware.com.br", true },
   { "philosophers.tk", true },
   { "philosopherswool.com", true },
   { "philosophy-colleges.com", true },
-  { "philosophy.moe", true },
   { "philosophyguides.org", true },
   { "philphonic.de", true },
   { "phils1990.com", true },
@@ -41110,7 +42790,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "philux.ch", false },
   { "phinphanatic.com", true },
   { "phive.eu", true },
-  { "phoenixlogan.com", true },
   { "phoenixnest.ltd", true },
   { "phoenixnow.org", true },
   { "phoenixurbanspaces.com", true },
@@ -41119,12 +42798,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "phone-service-center.de", true },
   { "phone888.cn", true },
   { "phonedoc.it", true },
-  { "phonefilter.co.uk", true },
   { "phonemore.com", true },
   { "phonenumber-info.co.uk", true },
   { "phonenumberfind.tk", true },
   { "phonetikos.com", true },
   { "phongthuyanthinh.vn", false },
+  { "phongthuyhoangmanh.vn", true },
   { "phongthuytaitam.vn", true },
   { "phormance.com", true },
   { "phosagro.biz", false },
@@ -41144,14 +42823,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "photographerforwedding.tk", true },
   { "photography-workshops.net", true },
   { "photolessya.by", true },
-  { "photomaniastore.com", true },
   { "photomodelcasting.com", true },
   { "photosafari.com.my", true },
   { "photosafaribg.com", true },
   { "photosaloncontest.com", true },
   { "photosgaia.ch", true },
+  { "photoshop-tipps-und-tricks.de", true },
   { "phototravel.uk", true },
-  { "phototrio.com", true },
   { "photoutils.com", true },
   { "phoxden.net", true },
   { "phoxmeh.com", true },
@@ -41168,7 +42846,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "phpliteadmin.org", true },
   { "phpmyadmin.net", true },
   { "phpmynewsletter.com", true },
-  { "phpower.com", true },
   { "phpprime.com", true },
   { "phpsecure.info", true },
   { "phpstan.org", true },
@@ -41177,6 +42854,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "phuket-idc.com", true },
   { "phuket-idc.de", true },
   { "phuket-nash.ga", true },
+  { "phukienchanh.com", true },
   { "phulyshop.com", true },
   { "phuoctran.com", true },
   { "phuoctran.com.vn", true },
@@ -41186,11 +42864,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "phurl.de", true },
   { "phurl.io", true },
   { "phyley.com", true },
+  { "phyllischerry.com", true },
   { "physicalism.com", true },
   { "physicalist.com", true },
   { "physicpezeshki.com", false },
   { "physics-schools.com", true },
   { "physik.hu", true },
+  { "physiobiggerawaters.com.au", true },
   { "physiotherapie-seiwald.de", true },
   { "physiovesenaz.ch", false },
   { "pi-control.de", true },
@@ -41208,22 +42888,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "piatabrasil.com.br", true },
   { "piatatem.com.br", true },
   { "piatika.com", true },
+  { "piazzafrancesco.com", true },
   { "piboubes.me", true },
   { "pic.gov", false },
   { "pic2map.com", true },
   { "picchietti.io", true },
   { "piccirello.com", true },
   { "piccolo-parties.co.uk", true },
+  { "pick.aw", true },
   { "pick150.hu", true },
   { "picka.gift", true },
   { "pickabrain.fr", true },
+  { "pickaw.click", true },
+  { "pickaw.com", true },
+  { "pickaw.link", true },
   { "pickelhaubes.com", true },
   { "picklinik.id", true },
-  { "pickme.nl", false },
-  { "pickmysoap.gr", true },
   { "pickormix.co.uk", true },
   { "picksin.club", true },
-  { "pickthestory.com", true },
   { "pickupenc.ru", true },
   { "piclect.com", true },
   { "picom365.com", true },
@@ -41240,6 +42922,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pidginhost.com", true },
   { "pidibagrik.cz", true },
   { "pidjipi.com", true },
+  { "pidmanager.de", true },
   { "pie-express.xxx", true },
   { "pieces-or.com", true },
   { "piedrasblancas.gov", true },
@@ -41253,6 +42936,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "piepermail.nl", true },
   { "pieq.eu", true },
   { "pieq.eu.org", true },
+  { "pier1url.com", true },
   { "pier28.com", true },
   { "piercing.hu", true },
   { "piercraft.com", true },
@@ -41267,23 +42951,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pieterbamps.tk", true },
   { "pieterbos.nl", true },
   { "pieterdev.net", true },
-  { "pieterhordijk.com", false },
   { "pietermaene.be", false },
   { "pietz.uk", true },
   { "pif.email", true },
+  { "piferdal.pt", true },
   { "piffer.ind.br", true },
   { "pigb.net", true },
-  { "pighouse.info", true },
   { "pigliadesigns.com", true },
   { "pijuice.com", true },
   { "pijusmagnificus.com", true },
   { "pik.bzh", true },
   { "pikafederation.ca", true },
-  { "pikimusic.moe", true },
+  { "pikboxstore.com", true },
+  { "piken.eu", true },
   { "pikio.pl", true },
   { "pilani.ch", false },
   { "pilarguineagil.com", true },
   { "pilatescenteraz.com", true },
+  { "pilatespt.nl", true },
   { "pildat.org", true },
   { "pileofgarbage.net", true },
   { "pill.id", true },
@@ -41306,6 +42991,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pinceaux.org", true },
   { "pinchuk.tk", true },
   { "pincodeit.com", true },
+  { "pincong.rocks", true },
   { "pindanutjes.be", false },
   { "pinellaslaser.com", true },
   { "pinemountainnursery.com.au", true },
@@ -41321,10 +43007,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pinkapple.com", true },
   { "pinkbike.com", true },
   { "pinkbikecycle.com", true },
+  { "pinkbuff.com", true },
   { "pinkerton.io", true },
   { "pinklecfest.org", true },
   { "pinklittlenotebook.com", true },
-  { "pinkmango.travel", true },
   { "pinkoi.com", true },
   { "pinksec.com.au", true },
   { "pinkwalk.co.nz", true },
@@ -41339,6 +43025,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pinpointengineer.co.uk", true },
   { "pinpromosisemarang.com", true },
   { "pinskupakki.fi", true },
+  { "pinster.com", true },
   { "pinterest.at", true },
   { "pinterest.co.uk", true },
   { "pinterest.com", true },
@@ -41348,8 +43035,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pinterest.info", true },
   { "pinterest.jp", true },
   { "pinterjann.is", true },
+  { "pintiaux.com", true },
   { "pintosbeeremovals.co.za", true },
   { "pintoselectricfencing.co.za", true },
+  { "pintoselectrician.co.za", true },
   { "pintosplumbing.co.za", true },
   { "pioneer-car.eu", true },
   { "pioneer-rus.ru", true },
@@ -41357,10 +43046,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pipenav.gq", true },
   { "pipenny.net", true },
   { "pipeuro.com", true },
+  { "pippenainteasy.com", true },
+  { "pipscprd.ca", true },
+  { "piraeuspress.gr", true },
   { "piramalglassusa.com", true },
   { "piranhaattack.tk", true },
-  { "pirate.trade", true },
-  { "piratebayproxy.tf", true },
   { "piraten-basel.ch", true },
   { "piraten-bv-nord.de", true },
   { "pirateparty.org.uk", true },
@@ -41375,6 +43065,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pirateproxy.la", true },
   { "pirateproxy.lat", true },
   { "pirateproxy.one", true },
+  { "pirateproxy.onl", true },
   { "pirateproxy.pl", true },
   { "pirateproxy.pw", true },
   { "pirateproxy.red", true },
@@ -41390,6 +43081,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pires.ovh", true },
   { "pirman.es", true },
   { "piroleikki.co.jp", true },
+  { "pirscapital.com", true },
   { "piruchita.com", true },
   { "pirxpilot.me", true },
   { "pis.eu.com", true },
@@ -41397,10 +43089,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "piscine.roma.it", true },
   { "piseach.be", true },
   { "pisf.in", true },
+  { "pishifu.org", true },
   { "piskenfuerwehr.de", true },
+  { "pisquettes.fr", true },
   { "pissblau.com", true },
   { "pissflaps.co.uk", true },
   { "pistonkandidatu.tk", true },
+  { "pistonpowered.com", true },
   { "pisupp.ly", true },
   { "pitaiabank.com", true },
   { "pitaiatrade.com", true },
@@ -41412,7 +43107,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pitoufi.fr", true },
   { "pitshift.com", true },
   { "piu.moe", true },
-  { "piubip.com.br", true },
   { "piucellulare.it", true },
   { "pivbar.tk", true },
   { "pivniraj.com", true },
@@ -41420,26 +43114,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pivotanimation.org", true },
   { "pivotanimation.tk", true },
   { "pivovarcunak.cz", true },
-  { "piwko.co", true },
   { "pix5.de", true },
   { "pixael.com", true },
   { "pixe2019.org", true },
-  { "pixel-kraft.de", true },
   { "pixel.facebook.com", false },
   { "pixel.google.com", true },
   { "pixelabs.fr", true },
-  { "pixelbash.de", true },
+  { "pixelcatproductions.net", true },
   { "pixelcomunicacion.com", true },
   { "pixelcubed.com", true },
   { "pixelecommerce.com", true },
   { "pixelmedianetwork.com", true },
   { "pixelminers.net", true },
   { "pixelsquared.us", true },
-  { "pixelumin3d.com", true },
   { "pixelurbia.com", true },
   { "pixelution.at", true },
   { "pixelz.cc", true },
-  { "pixeoapp.com", true },
+  { "pixiin.com", true },
   { "pixiv.cat", true },
   { "pixiv.moe", true },
   { "pixivimg.me", true },
@@ -41449,89 +43140,71 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pizza-calzone.com", true },
   { "pizza-show.fr", true },
   { "pizzabesteld.nl", true },
+  { "pizzafest.ddns.net", true },
   { "pizzagigant.hu", true },
   { "pizzahut.ru", true },
-  { "pizzalongaway.it", true },
+  { "pizzariapartiupizza.com.br", true },
   { "pizzeria-mehrhoog.de", true },
   { "pizzeriaamadeus.hr", true },
   { "pizzeriacolore.com", true },
+  { "pizzeriasmallorca.com", true },
   { "pj11018.com", false },
-  { "pj21299.com", true },
-  { "pj21399.com", true },
-  { "pj21499.com", true },
-  { "pj21566.com", true },
-  { "pj21599.com", true },
-  { "pj21677.com", true },
-  { "pj21678.com", true },
-  { "pj21866.com", true },
-  { "pj21877.com", true },
-  { "pj21886.com", true },
-  { "pj21887.com", true },
-  { "pj21899.com", true },
-  { "pj21990.com", true },
-  { "pj21991.com", true },
-  { "pj21992.com", true },
-  { "pj21993.com", true },
-  { "pj21994.com", true },
-  { "pj21995.com", true },
-  { "pj21996.com", true },
-  { "pj21997.com", true },
-  { "pj21998.com", true },
-  { "pj21aa.com", true },
-  { "pj21bb.com", true },
-  { "pj21c.com", true },
-  { "pj21f.com", true },
-  { "pj21g.com", true },
-  { "pj21gg.com", true },
-  { "pj21i.com", true },
-  { "pj21j.com", true },
-  { "pj21kk.com", true },
-  { "pj21n.com", true },
-  { "pj21o.com", true },
-  { "pj21p.com", true },
-  { "pj21q.com", true },
-  { "pj21r.com", true },
-  { "pj21s.com", true },
-  { "pj21t.com", true },
-  { "pj21tt.com", true },
-  { "pj21v.com", true },
-  { "pj21w.com", true },
-  { "pj21x.com", true },
-  { "pj21y.com", true },
-  { "pj21z.com", true },
+  { "pj21299.com", false },
+  { "pj21399.com", false },
+  { "pj21499.com", false },
+  { "pj21599.com", false },
+  { "pj21677.com", false },
+  { "pj21678.com", false },
+  { "pj21877.com", false },
+  { "pj21992.com", false },
+  { "pj21994.com", false },
+  { "pj21995.com", false },
+  { "pj21aa.com", false },
+  { "pj21g.com", false },
+  { "pj21gg.com", false },
+  { "pj21kk.com", false },
+  { "pj21n.com", false },
+  { "pj21s.com", false },
+  { "pj21t.com", false },
+  { "pj21z.com", false },
   { "pj4488.cc", false },
   { "pj5588.cc", true },
-  { "pjax.xyz", true },
   { "pjentertainments.co.uk", true },
   { "pjgj16.com", true },
   { "pjleisure.co.uk", true },
   { "pjo.no", true },
-  { "pjp.com.mt", true },
   { "pjshop.cf", true },
   { "pjuu.com", false },
+  { "pjylb.com", true },
   { "pk.search.yahoo.com", false },
+  { "pk.wiki", true },
+  { "pk6132.com", true },
+  { "pk8.com", true },
   { "pk8k.com", true },
+  { "pk9.com", true },
   { "pkbjateng.or.id", true },
   { "pkdhungthinh.com", true },
   { "pkeus.de", true },
   { "pkgt.de", false },
   { "pkirwan.com", true },
   { "pkisolutions.com", true },
+  { "pkov.cz", true },
   { "pkphotobooths.co.uk", true },
   { "pkvitality.com", true },
   { "pl-cours.ch", false },
   { "pl-trans.tk", true },
   { "pl.search.yahoo.com", false },
   { "placasonline.com.br", true },
-  { "placebet.pro", true },
   { "placedaffiliate.com", true },
   { "placedapps.com", true },
   { "placedsupport.com", true },
+  { "placehold.co", true },
   { "placeitsf.com", true },
+  { "placepugs.com", true },
   { "placeralplato.com", true },
   { "placker.com", true },
   { "plae.com.au", true },
-  { "plage-les-pirates.fr", true },
+  { "plage-les-pirates.fr", false },
   { "plagiarismcheck.org", true },
   { "plainbulktshirts.co.za", true },
   { "plainjs.com", true },
@@ -41543,16 +43216,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "plaintextpledge.org", true },
   { "plaisirdumouvement.com", true },
   { "plaisirs-coquins.com", true },
-  { "plan-immobilier.fr", true },
   { "plan-it-events.de", true },
   { "planboardapp.com", true },
   { "planbox.info", true },
   { "plandegralba.net", true },
   { "planecon.nz", true },
-  { "planespotterblog.de", true },
+  { "planer.me", true },
   { "planet-work.com", true },
   { "planet.live", true },
+  { "planeta-deti.org", true },
   { "planeta-remontika.ga", true },
+  { "planetadeti.org", true },
   { "planetanim.fr", true },
   { "planetarian.moe", true },
   { "planetarydesign.com", true },
@@ -41566,13 +43240,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "planetknauer.net", true },
   { "planetloisirs.com", true },
   { "planetofthegames.tv", true },
-  { "planetofwoman.com", true },
-  { "planetofwomen.net", true },
   { "planetpowershell.com", true },
   { "planetromeo.com", true },
   { "planetromeofoundation.org", true },
   { "planetsoftware.com.au", true },
-  { "planhub.com", true },
+  { "planettimer.com", true },
   { "planify.io", false },
   { "planisys.net", true },
   { "planitz.com", true },
@@ -41583,9 +43255,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "planmemberpartners.com", true },
   { "plannedlink.com", true },
   { "planosylicencias.de", true },
-  { "planovivofibra.com.br", true },
   { "planrow.com", true },
-  { "plans3ds.com", true },
   { "plant-gift.jp", true },
   { "plantarportugal.org", true },
   { "plantarum.com.br", true },
@@ -41595,19 +43265,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "plantes.ch", true },
   { "plantron.gr", true },
   { "plantroon.com", true },
-  { "plantrustler.com", true },
+  { "plantsupplement.co.uk", true },
   { "planujemywesele.pl", true },
+  { "planungsregion-abw.de", true },
   { "planview.com", true },
   { "plaque-funeraire.fr", true },
   { "plaque-immatriculation-auto.com", true },
   { "plassmann.ws", true },
+  { "plastdesign.com.ua", true },
   { "plastic-id.com", true },
   { "plasticbags.co.uk", true },
   { "plasticosbiobasados.com", true },
   { "plasticstare.com", true },
   { "plasticsurgerynola.com", true },
   { "plasticsurgeryservices.com", true },
-  { "plastiflex.it", true },
   { "plastischechirurgie-linz.at", true },
   { "plastovelehatko.cz", true },
   { "plateformecandidature.com", true },
@@ -41616,12 +43287,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "platformadmin.com", true },
   { "platformlms.org", true },
   { "platinapump.com", true },
-  { "platinumexpress.com.ar", true },
+  { "platomania.eu", true },
   { "platomania.nl", true },
   { "platten-nach-mass.de", true },
   { "platter.ga", true },
+  { "platypiduses.com", true },
+  { "plavdoma.com.ua", true },
   { "play-casino-japan.com", true },
   { "play-charades.com", true },
+  { "play-the-furyu.com", true },
   { "play.cash", true },
   { "play.google.com", true },
   { "playandwin.co.uk", true },
@@ -41631,12 +43305,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "playdaysparties.co.uk", true },
   { "playelephant.com", true },
   { "playerdb.co", true },
+  { "playfinder.com", true },
   { "playinfinity.com", true },
   { "playinfinityvr.com", true },
   { "playlisten.radio.br", true },
   { "playmytime.com", true },
   { "playnation.io", true },
   { "playnow.com", true },
+  { "playnuganug.com", true },
   { "playocean.net", true },
   { "playpirates.com", true },
   { "playreal.city", true },
@@ -41653,12 +43329,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "playtopia.no", true },
   { "playtzolk.in", true },
   { "playviolinmusic.com", true },
-  { "plaza.ph", true },
   { "plazasummerlin.com", true },
   { "plcgurus.net", true },
   { "pldx.org", true },
   { "pleasantonmobilenotary.com", true },
-  { "please-uwu.me", true },
   { "pleasure-science.com", true },
   { "plegro.com", true },
   { "pleier-it.de", false },
@@ -41668,16 +43342,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "plenigo.com", true },
   { "plenkanaotrez.ml", true },
   { "plesse.pl", true },
-  { "plevenlab.org", true },
   { "plexa.de", true },
   { "plexhome13.ddns.net", true },
-  { "plexmark.tk", true },
+  { "plezantforum.net", true },
+  { "plgr.cc", true },
   { "pliosoft.com", true },
   { "plissee-experte.de", true },
   { "plitu.de", true },
   { "plixer.com", true },
   { "plny.eu", true },
   { "plob.org", true },
+  { "ploegleiderbhv.nl", true },
   { "ploi.io", true },
   { "plokko.com", true },
   { "plongee-phuket.fr", true },
@@ -41699,7 +43374,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "plumberlewisvilletexas.com", true },
   { "plumbermountedgecombe.co.za", true },
   { "plumberumhlangarocks.co.za", true },
-  { "plumbing-arlington.com", true },
   { "plumbingandheatingspecialistnw.com", true },
   { "plumbingbenoni.co.za", true },
   { "plumbingcentral.com.au", true },
@@ -41712,11 +43386,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "plural.cafe", true },
   { "plus-5.com", true },
   { "plus-aliance.ru", true },
+  { "plus-immo-neuf.fr", true },
   { "plus.google.com", false },
   { "plus.sandbox.google.com", true },
-  { "pluscbdoil.com", true },
+  { "plus15.ml", true },
   { "pluslink.co.jp", true },
   { "plusmobile.fr", true },
+  { "plusreed.com", true },
   { "plusstreamfeed.appspot.com", true },
   { "pluta.net", true },
   { "pluth.org", true },
@@ -41728,9 +43404,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "plz.report", true },
   { "plzdontpwn.me", true },
   { "plzh4x.me", true },
-  { "plzz.de", true },
   { "pm-onboarding-external-dev.azurewebsites.net", true },
   { "pm-partners-management-dev.azurewebsites.net", true },
+  { "pm.link", true },
   { "pm.me", true },
   { "pm13.cz", true },
   { "pm13.org", true },
@@ -41738,21 +43414,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pmaene.be", false },
   { "pmalaty.com", true },
   { "pmarbeid.nl", true },
+  { "pmarques.info", true },
   { "pmartin.tech", true },
   { "pmbc.org", true },
   { "pmbsteelbuildings.com", true },
   { "pmcc.net", true },
+  { "pmccrystal.com", true },
+  { "pmcfarland.space", true },
+  { "pmcorganometallix.com", true },
+  { "pmcouvrie.com", true },
+  { "pmcvinyladditives.com", true },
   { "pmf.gov", true },
   { "pmg-offshore-company.com", true },
+  { "pmg-p4p.de", true },
   { "pmg-purchase.com", true },
   { "pmg-purchase.net", true },
-  { "pmgnet.de", true },
   { "pmi.gov", true },
+  { "pmklaassen.com", true },
   { "pmnaish.co.uk", true },
   { "pmoreau.org", true },
   { "pmp-art.com", true },
   { "pmp6.fr", true },
+  { "pmsf.eu", true },
+  { "pmt-documenten.nl", true },
   { "pn.id.lv", true },
+  { "pnawrocki.com", true },
   { "pneu01.fr", true },
   { "pneu74.fr", true },
   { "pneuhaus-lemp.ch", true },
@@ -41765,8 +43451,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "po0k.ie", true },
   { "pocatellonissanparts.com", true },
   { "pochaneko.com", true },
+  { "pochoden-praha.cz", true },
   { "pocitacezababku.cz", true },
-  { "pocketcash.com.au", true },
   { "pocketfruity.com", true },
   { "pocketinsure.com", true },
   { "pocketpasta.com", true },
@@ -41774,7 +43460,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "podcrto.si", true },
   { "poddr.co", true },
   { "podemos.info", true },
-  { "podia.com.gr", false },
   { "podipod.com", true },
   { "podlibre.org", true },
   { "podobovo.if.ua", true },
@@ -41784,6 +43469,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "podsvojostreho.net", true },
   { "poe.digital", true },
   { "poed.net.au", true },
+  { "poemerx.com", true },
+  { "poemerx.net", true },
   { "poemlife.com", true },
   { "poemwall.ml", true },
   { "poetenblog.tk", true },
@@ -41805,17 +43492,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pointsixtyfive.com", true },
   { "pointum.com", true },
   { "pointzip.ml", true },
-  { "poiru.net", true },
-  { "poitiers-ttacc-86.eu.org", true },
+  { "poisk.kharkov.ua", true },
+  { "pojdnafp.cz", true },
   { "pojer.me", true },
   { "pokazy-iluzji.pl", true },
   { "poke.blue", true },
+  { "pokedex.mobi", true },
   { "pokefarm.com", true },
   { "pokeforest.io", true },
   { "pokeinthe.io", true },
   { "pokeli.de", true },
   { "pokemonargentina.tk", true },
   { "pokemondb.net", true },
+  { "pokemongochamp.com", true },
+  { "pokemongostatus.org", true },
   { "pokemonguide.tk", true },
   { "pokemonlab.com", true },
   { "pokemonsimulator.com", true },
@@ -41823,6 +43513,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pokemori.jp", true },
   { "poker4all.tk", true },
   { "pokeram.ml", true },
+  { "pokerking.club", true },
   { "pokl.cz", true },
   { "pokoleniebar.ru", true },
   { "pokrowcecardo.pl", true },
@@ -41830,7 +43521,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "polan.tk", true },
   { "polanda.com", true },
   { "polar-baer.com", true },
-  { "polarnova.site", true },
+  { "polarauto.pt", true },
   { "pole-emotion.ch", false },
   { "poleacademie.com", false },
   { "poles4pilots.com", true },
@@ -41856,7 +43547,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "polishwomen.com", true },
   { "polisipati.tk", true },
   { "polit.im", true },
-  { "politic.org.ua", true },
   { "political-science-schools.com", true },
   { "politicsandnews.cf", true },
   { "politicsnews.ga", true },
@@ -41871,34 +43561,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "polleverywhere.com", true },
   { "polliconstruction.com", true },
   { "pollingplace.uk", true },
-  { "polly.spdns.org", true },
+  { "pollybarks.com", true },
   { "polog.tk", true },
+  { "pologalileo.eu", true },
   { "polomack.eu", true },
   { "poloniainfo.com", true },
   { "polska-robota.com.ua", true },
   { "polskiemalzenstwo.org", true },
   { "polskienewsy.tk", true },
   { "polybius.io", true },
-  { "polychainlabs.com", true },
   { "polycoise.com", true },
   { "polycraftual.co.uk", true },
   { "polyfluoroltd.com", false },
   { "polygamer.net", true },
   { "polygraphi.ae", true },
   { "polymake.org", true },
-  { "polymathematician.com", true },
   { "polynomapp.com", true },
   { "polypane.rocks", true },
   { "polypet.com.sg", true },
   { "polytarian.com", true },
   { "polytekniskforening.dk", true },
   { "pomar.club", true },
+  { "pomdoc.com", true },
   { "pomegranate.productions", true },
   { "pomelo-paradigm.com", true },
   { "pommedepain.fr", true },
   { "pomockypredeti.sk", true },
   { "pomocniczy.eu.org", true },
   { "pomorskibereg.ml", true },
+  { "pompeii.tickets", true },
   { "pompiers-martigny.ch", false },
   { "pompoco.info", true },
   { "pomsinoz.com", true },
@@ -41909,7 +43600,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ponga.se", true },
   { "ponio.org", true },
   { "ponnau.com", true },
-  { "ponxel.com", true },
   { "pony-cl.co.jp", true },
   { "pony.tf", true },
   { "ponychan.net", true },
@@ -41917,20 +43607,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ponyfoo.com", true },
   { "poodleassassin.com", true },
   { "poodlefan.net", true },
-  { "pookl.com", true },
+  { "poolmans.se", true },
   { "poolsafely.gov", true },
   { "poolsafety.gov", true },
   { "pooltools.net", true },
   { "poolvilla-margarita.net", true },
   { "poon.io", true },
-  { "poopchart.net", true },
   { "poopjournal.rocks", true },
   { "poopr.ru", true },
   { "poopthereitisla.com", true },
   { "poorclarepa.org", true },
   { "pop-corn.ro", true },
   { "pop.dk", true },
-  { "pop3.jp", false },
   { "popcat.ru", true },
   { "popcornpalacefundraising.com", true },
   { "popcultureshack.com", true },
@@ -41945,11 +43633,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "popoway9.ml", true },
   { "poppetsphere.de", true },
   { "poppincurls.com", true },
-  { "poptimize.net", true },
   { "populardogs.gq", true },
   { "population-ethics.com", true },
   { "popupbazaar.tk", true },
   { "popvitrin.com", true },
+  { "poquiloco.com", true },
   { "poquvi.net", true },
   { "porchdaydreamer.com", true },
   { "porcore.com", true },
@@ -41975,15 +43663,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "porngay.co", true },
   { "pornhubhd.biz", true },
   { "pornimg.net", true },
+  { "pornjunkiesxxx.com", true },
   { "pornleg.com", true },
   { "pornless.biz", true },
   { "pornloupe.com", true },
   { "pornmax.net", true },
   { "pornmega.net", true },
+  { "pornmixed.com", true },
   { "porno-gif.ru", true },
   { "porno-stars-video.ru", true },
   { "pornofilmovi.us", true },
   { "pornohub.su", true },
+  { "pornolab.su", true },
+  { "pornolarizlehd.com", true },
   { "pornomens.be", true },
   { "pornopark.nl", true },
   { "pornovk.xxx", true },
@@ -41995,7 +43687,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pornteddy.com", true },
   { "pornultra.net", true },
   { "porny.xyz", true },
-  { "porpcr.com", true },
   { "pors-sw.cz", true },
   { "porsi.pt", true },
   { "port443.hamburg", false },
@@ -42027,6 +43718,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "portosonline.pl", true },
   { "portsdebalears.gob.es", true },
   { "portsmouthbouncycastles.co.uk", true },
+  { "portsolent.com", true },
   { "portugal-a-programar.pt", true },
   { "portugalsko.net", true },
   { "porybox.com", true },
@@ -42039,7 +43731,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "poshsecurity.com", true },
   { "positionus.io", true },
   { "positive.com.cy", true },
-  { "positiveaffirmationscenter.com", true },
   { "positiverbeitrag.net", true },
   { "positiverbeitrag.org", true },
   { "positivos.tk", true },
@@ -42054,11 +43745,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "postal.dk", true },
   { "postal3.es", true },
   { "postandfly.com", true },
-  { "postari.ro", true },
   { "postawnasiebie.pl", true },
   { "postblue.info", true },
-  { "postbox.life", true },
   { "postcode.nl", true },
+  { "postcodeswag.co.uk", true },
+  { "postcodeswag.com", true },
+  { "postcodeswag.uk", true },
   { "postdarwinian.com", true },
   { "postdarwinism.com", true },
   { "postdeck.de", true },
@@ -42074,32 +43766,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "postn.eu", true },
   { "postoffices.co.in", true },
   { "postoyanstvo.cf", true },
-  { "postpot.co.kr", true },
   { "postsubmeta.net", true },
   { "posttigo.com", true },
   { "posyperfume.com", true },
   { "potatiz.com", true },
   { "potato.im", true },
-  { "potatofrom.space", true },
   { "potatopro.com", true },
   { "potatotee.com", true },
-  { "potatron.tech", true },
   { "potature.it", true },
   { "potature.org", true },
   { "potature.rimini.it", true },
   { "potature.roma.it", true },
   { "potbar.com", true },
   { "potentialproject.com", false },
+  { "poterepersonale.it", true },
   { "potgrowersunion.com", true },
   { "pothe.com", true },
   { "pothe.de", true },
   { "potionlabs.de", true },
-  { "potlytics.com", true },
   { "potolok-brest.tk", true },
   { "potolok.am", true },
   { "potomac.cf", true },
   { "potomacurology.com", true },
-  { "potsdam.directory", true },
+  { "potreningu.pl", true },
   { "potterperfect.tk", true },
   { "pottersheartministry.org", true },
   { "potterybroker.ga", true },
@@ -42112,6 +43801,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "poundwholesale.co.uk", true },
   { "pourlesenfants.info", true },
   { "pouwels-oss.nl", true },
+  { "povarchik.com", true },
   { "povareschka.ru", true },
   { "povesham.tk", true },
   { "povmacrostabiliteit.nl", true },
@@ -42121,13 +43811,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "powelljones.co.uk", true },
   { "power-flowengineer.com", true },
   { "powerball.shop", true },
+  { "powerbi.istanbul", true },
   { "powerblanket.com", true },
   { "powercloud.technology", true },
   { "poweredbyiris.nl", true },
   { "powerfortunes.com", true },
+  { "powergok.com", true },
   { "powerinboxperformance.com", true },
   { "powerlifting.tk", true },
   { "powermeter.at", true },
+  { "powerplantmall.com", true },
   { "powerpointschool.com", true },
   { "powersaleskc.com", true },
   { "powersergdatasystems.com", true },
@@ -42142,6 +43835,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pozitiffchik.ml", true },
   { "pozitive.pl", true },
   { "pozlife.net", true },
+  { "poznaj-siebie.pl", true },
   { "poznajrynek.pl", true },
   { "pp-server.com", true },
   { "pp3345.net", true },
@@ -42152,9 +43846,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ppmathis.ch", true },
   { "ppmathis.com", true },
   { "ppmoon.com", true },
+  { "ppoozl.com", true },
   { "ppro.com", true },
   { "ppy.la", true },
   { "ppy.sh", true },
+  { "pqgruber.com", true },
   { "pr-news.spb.ru", true },
   { "pr.search.yahoo.com", false },
   { "pr1sm.com", true },
@@ -42162,6 +43858,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pr3.space", true },
   { "prac.to", true },
   { "pracevjihlave.cz", true },
+  { "pracownia-porta.pl", true },
+  { "practicalbytes.de", true },
   { "practicalhomes.com.au", true },
   { "practicallabs.com", true },
   { "practicalprogrammer.tech", true },
@@ -42169,6 +43867,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "practicepanther.com", true },
   { "practisforms.com", true },
   { "practo.com", true },
+  { "practodev.com", true },
   { "pradeek.tk", true },
   { "prado.it", true },
   { "praeparation-keppner.de", true },
@@ -42176,13 +43875,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "praetzlich-hamburg.de", true },
   { "pragata.id", true },
   { "pragma-solution.com", true },
+  { "pragmatist.nl", true },
   { "prague-swim.cz", true },
+  { "praguemakeover.com", true },
   { "praguepsychology.com", true },
   { "praguepsychology.cz", true },
   { "pragueswim.cz", true },
   { "praha-9.eu", true },
-  { "praiss.net", true },
-  { "prajwal-koirala.com", true },
   { "prajwalkoirala.com", true },
   { "prakhar.uk", true },
   { "prakharprasad.com", true },
@@ -42191,16 +43890,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "praktiker.hu", true },
   { "praladofuturo.blog", true },
   { "praleria.com", true },
-  { "pranaprinciple.com", true },
   { "pranita-schals.de", true },
   { "pranita.cz", true },
   { "pranita.sk", true },
   { "pranksearch.ml", true },
-  { "prateep.io", true },
+  { "prankstercompany.com", true },
   { "pratemarkets.com", true },
+  { "praticienmedecinechinoise.be", true },
   { "pratorotoli.it", true },
   { "pravaha-elixirs.com", true },
-  { "praveenravichandran.xyz", true },
+  { "pravnisistem.rs", true },
   { "pravo911.tk", true },
   { "pravoslavie.tk", true },
   { "pravoslavnayarus.tk", true },
@@ -42209,6 +43908,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "praxino.de", false },
   { "praxis-familienglueck.de", true },
   { "praxistipp24.com", true },
+  { "prayercentric.com", true },
   { "prayerrequest.com", true },
   { "prc.gov", true },
   { "precedencemedia.com", true },
@@ -42216,14 +43916,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "preciouslife.fr", true },
   { "preciscx.com", true },
   { "preciseassemblies.com", true },
-  { "precisedigitalmarketing.com.au", true },
   { "precision-tops.com", true },
   { "precision.st", true },
+  { "precisionclan.com", true },
   { "precisiondigital-llc.com", true },
   { "precisionhealthpilot.org", true },
   { "precisionhockey.net", true },
   { "precisionicerinks.com", true },
   { "precisionmachineservice.com", true },
+  { "precisionvaccinations.com", true },
   { "precode.eu", true },
   { "predkosci.pl", true },
   { "predoiu.ro", true },
@@ -42234,6 +43935,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prefontaine.name", true },
   { "pregunteleakaren.gov", true },
   { "preigu.de", true },
+  { "preis-reifen.de", true },
   { "preisser-it.de", true },
   { "preisser.it", true },
   { "preissler.co.uk", true },
@@ -42248,8 +43950,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prelved.nl", true },
   { "prelved.pl", true },
   { "prelved.se", true },
+  { "prematureacceleration.club", true },
   { "preme.name", true },
-  { "premieravenue.net", true },
+  { "premierbb.com", true },
   { "premierbouncycastles.co.uk", true },
   { "premierdisco.co.uk", true },
   { "premiereco.com.sg", true },
@@ -42268,6 +43971,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "premiumcredit.am", true },
   { "premiumdeal.org", true },
   { "premiumhosting.com.hr", true },
+  { "premiumiptvplus.com", true },
   { "premiumplusiptv.com", true },
   { "premiumweb.co.id", true },
   { "premiumwebdesign.it", true },
@@ -42277,13 +43981,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prepadefi.fr", true },
   { "prepagosyescortforyou.com", true },
   { "prepaid-cards.xyz", true },
+  { "prepaid-voip.nl", true },
   { "prepaidgirl.com", true },
   { "prepaidkredietkaart.be", true },
   { "prepare-job-hunting.com", true },
   { "preparetheword.com", true },
   { "prepavesale.fr", true },
-  { "prepedia.org", true },
   { "prepfba.com", true },
+  { "prepperswill.com", true },
+  { "presbee.com", true },
   { "presbvm.org", true },
   { "presbyterian-colleges.com", true },
   { "prescotonline.co.uk", true },
@@ -42300,12 +44006,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "presscenter.jp", true },
   { "presscuozzo.com", true },
   { "presseagrume.net", true },
-  { "pressento.com", true },
   { "pressertech.com", true },
   { "presses.ch", false },
-  { "pressography.org", true },
   { "pressplayandrelax.com", true },
   { "pressrush.com", true },
+  { "pressspace2hack.com", true },
+  { "pressspacetohack.com", true },
   { "pressup.it", true },
   { "pressureradio.com", true },
   { "prestige-car-location.ch", false },
@@ -42314,10 +44020,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prestigerepairs.com.au", true },
   { "prestigesoundandlight.co.uk", true },
   { "prestonandsons.com.au", true },
-  { "prestonapp.com", true },
   { "prestonbrant.com", true },
   { "prestonetwork.eu", true },
-  { "pretachique.com.br", true },
+  { "prethost.com", true },
   { "pretix.eu", true },
   { "pretor.com.pl", true },
   { "pretor.eu", true },
@@ -42334,13 +44039,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prexxorvita.com", true },
   { "prgrmmr.nl", true },
   { "pricegg.com", true },
-  { "pricena.vn", true },
   { "priceremoval.net", true },
   { "pricesim.com", true },
   { "pricesniffer.co", true },
   { "prideindomination.com", true },
   { "pridnestrovye.gq", true },
   { "prielwurmjaeger.de", true },
+  { "primaconsulting.net", true },
   { "primaflorafloristaccrington.co.uk", true },
   { "primalbase.com", true },
   { "primalinea.pro", true },
@@ -42355,9 +44060,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "primetrialfree.co.uk", true },
   { "primglaz.ru", true },
   { "primoloyalty.com", true },
+  { "primopan.org", true },
   { "primorus.lt", true },
-  { "primos-tech.com", true },
   { "princefamilylaw.co.uk", true },
+  { "princelishan.com", true },
+  { "princelishan.com.tw", true },
+  { "princesparktouch.com", true },
   { "princessefoulard.com", true },
   { "princetonnassaupediatrics.com", true },
   { "princezna.club", true },
@@ -42371,9 +44079,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prinice.org", true },
   { "printeknologies.com", true },
   { "printerleasing.be", true },
+  { "printerpoint.co.in", true },
   { "printfn.com", false },
   { "printler.com", true },
   { "printmet.com", true },
+  { "printmet.ru", true },
+  { "printmijn3dmodel.be", true },
   { "printus.de", true },
   { "prior-it.be", true },
   { "priorite-education.com", true },
@@ -42395,11 +44106,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "priorityelectric.mobi", true },
   { "priorityelectric.net", true },
   { "priorityessays.com", true },
+  { "priorityfakes.com", true },
   { "prioritylawyers.com.au", true },
   { "prioritynissannewportnewsparts.com", true },
   { "prismacloud.com", true },
   { "prismacloud.xyz", true },
   { "prisminfosys.com", true },
+  { "prismintl.org", true },
   { "pristal.eu", true },
   { "pristinegreenlandscaping.com", true },
   { "pritchi.tk", true },
@@ -42414,6 +44127,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "privacychick.io", true },
   { "privacyforjournalists.org.au", true },
   { "privacyget.tk", true },
+  { "privacyinsights.nl", true },
   { "privacyinternational.org", true },
   { "privacynow.eu", true },
   { "privacyscore.org", true },
@@ -42425,14 +44139,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "privacyweekvienna.at", true },
   { "privaday.de", false },
   { "privasphere.com", true },
+  { "private-diary-taka.com", true },
   { "privatebanks.uk", true },
   { "privatebin.info", true },
   { "privatecapsecurity.org", true },
   { "privateger.me", true },
   { "privateideas.de", true },
   { "privateimarketing.com", true },
+  { "privatemediaserver.tech", true },
   { "privatenebula.eu", true },
-  { "privatepokertour.com", true },
   { "privatepropertymallorca.com", true },
   { "privateservice.cz", true },
   { "privatestatic.com", false },
@@ -42442,11 +44157,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "privatpatient-krankenhaus.de", true },
   { "privc.io", true },
   { "privea.fr", true },
-  { "privelust.nl", true },
   { "priverify.com", true },
   { "privorot-taro.com", true },
   { "privy-staging.com", true },
   { "privy.com", true },
+  { "prix-pneus.fr", true },
   { "prizehometickets.com.au", true },
   { "prizelink.com.au", true },
   { "prjktruby.com", false },
@@ -42457,6 +44172,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pro-bike.ro", true },
   { "pro-clean.org", true },
   { "pro-co.at", true },
+  { "pro-esb.com", true },
   { "pro-kemerovo.ml", true },
   { "pro-lq.at", true },
   { "pro-lq.ch", true },
@@ -42467,10 +44183,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pro-lq.net", true },
   { "pro-lq.ro", true },
   { "pro-mile.pl", true },
-  { "pro-netz.de", false },
   { "pro-taucher.com", true },
   { "pro-taucher.de", true },
   { "pro-wiert.pl", true },
+  { "pro100systems.com.ua", true },
   { "proactivenews.ml", true },
   { "proactivestructuresolutions.com", true },
   { "proadvanced.com", true },
@@ -42480,11 +44196,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "probely.com", true },
   { "probiv.biz", true },
   { "probiv.cc", true },
+  { "procabinetrefinishers.com", true },
   { "procar-rheinland.de", true },
   { "procarservices.com", true },
   { "procarswoking.com", true },
   { "procensus.com", true },
   { "procert.ch", false },
+  { "procesadorafenix.com.mx", true },
   { "processesinmotion.com", true },
   { "procharter.com", true },
   { "procinorte.net", true },
@@ -42492,7 +44210,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "proclib.org", true },
   { "procrastinatingengineer.uk", true },
   { "procrastinationland.com", true },
-  { "procreditbank-kos.com", true },
   { "proctorauth.com", true },
   { "proctorio.com", true },
   { "proctorio.net", true },
@@ -42502,7 +44219,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prodentalsantacruz.es", true },
   { "prodesigntools.com", true },
   { "prodietix.cz", true },
-  { "prodigia.com", false },
+  { "prodigyhq.io", true },
   { "prodinger.com", true },
   { "prodsim.ninja", true },
   { "producentbalustrad.pl", true },
@@ -42530,10 +44247,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prodware.nl", true },
   { "proeflokaalbakker.nl", true },
   { "proefteksten.nl", false },
-  { "proeftuinveenweiden.nl", true },
+  { "proesb.com", true },
   { "proeski.com", true },
   { "proevlifecycle.eu", true },
-  { "proextra.com.br", true },
   { "prof-toplivo.ru", true },
   { "prof.ch", false },
   { "profection.biz", true },
@@ -42549,12 +44265,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "profitopia.de", true },
   { "profits.fund", true },
   { "profloorstl.com", true },
-  { "profmetod.com", true },
+  { "profootballnetwork.com", true },
   { "profritual.ru", true },
   { "profsaranya.com", true },
   { "proft.eu", true },
   { "profumeria.roma.it", true },
   { "profuntime.tk", true },
+  { "profvideo.kharkov.ua", true },
   { "progarm.org", true },
   { "progaudio.be", true },
   { "progenda.be", true },
@@ -42563,8 +44280,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "proggersession.com", true },
   { "proggersession.de", true },
   { "progiscad.com", false },
+  { "prognoshealth.com", true },
   { "prograce.info", true },
   { "programador-web-freelance.es", true },
+  { "programadorwp.com", true },
   { "programarya.com", true },
   { "programistka.com", true },
   { "programmaticmagic.com", true },
@@ -42572,7 +44291,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "programme-phenix.com", true },
   { "programming-solutions.tk", true },
   { "programsareproofs.com", true },
-  { "programsupport300procent.com", true },
+  { "programtracker.net", true },
   { "programyburian.cz", true },
   { "progresivoptic.ro", true },
   { "progreso.pl", true },
@@ -42583,9 +44302,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "progressnet.nl", true },
   { "progresswww.nl", true },
   { "prohrcloud.com", true },
+  { "proibidoler.com", true },
   { "proimpact.it", true },
+  { "project-novis.org", true },
   { "projectarmy.net", false },
-  { "projectborealisgitlab.site", true },
   { "projectbotticelli.com", true },
   { "projectemail.co", true },
   { "projectforge.org", true },
@@ -42594,6 +44314,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "projectinnovation.org", true },
   { "projectlinuseasttn.org", true },
   { "projectmailext.co", true },
+  { "projectmaka.io", true },
   { "projectmakeit.com", true },
   { "projectnom.com", true },
   { "projectobs.com", true },
@@ -42602,7 +44323,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "projectsecretidentity.org", true },
   { "projectxparis.com", true },
   { "projectxyz.eu", true },
-  { "projekt-allianz.de", true },
   { "projektarbeit-projektplanung.de", true },
   { "projektzentrisch.de", true },
   { "projest.ch", false },
@@ -42613,34 +44333,42 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "proledwall.nl", true },
   { "prolinos.de", true },
   { "prolinq.in", true },
+  { "promax.nl", true },
   { "promedyczny.pl", true },
   { "prometheanfire.net", true },
   { "prometheanfire.org", true },
   { "promexbol.com.bo", true },
   { "promiflash.de", true },
   { "promisesaplus.com", true },
+  { "prommontag.com", true },
   { "promo-brille.at", true },
   { "promo-brille.ch", true },
   { "promo-brille.de", true },
   { "promo-computers.nl", true },
   { "promo-matelas.com", true },
   { "promobo.fr", true },
+  { "promocjedladzieci.pl", true },
   { "promocodius.com", true },
   { "promodafinil.com", true },
   { "promodance.cz", true },
   { "promods.cn", true },
+  { "promods.download", true },
   { "promods.net", true },
+  { "promods.store", true },
   { "promods.web.tr", true },
+  { "promoglisse.com", true },
   { "promohulp.nl", true },
   { "promolover.com", true },
+  { "promopony.com", true },
+  { "promoqueen.nl", true },
   { "promorder.ru", true },
   { "promoscuola.net", true },
+  { "promotech.pro", true },
   { "promoterms.com.au", true },
   { "promotioncentre.co.uk", true },
   { "promtechosnastka.ru", true },
   { "promuovi.tv", true },
   { "prontocleaners.co.uk", true },
-  { "prontointerventofognature.roma.it", true },
   { "prontointerventoimmediato.it", true },
   { "prontossl.com", true },
   { "proofwiki.org", true },
@@ -42654,12 +44382,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "properticons.com", true },
   { "property-catalogue.eu", true },
   { "propertyauctionaction.co.uk", true },
-  { "propertycrawl.com", true },
   { "propertyflare.com", true },
   { "propertygroup.pl", true },
   { "propertyinside.id", true },
   { "propertyone.mk", true },
   { "propertysales-almeria.com", true },
+  { "propertysold.ca", true },
+  { "prophiler.de", true },
   { "propipesystem.com", true },
   { "propiteer.com", true },
   { "proporcer.tk", true },
@@ -42679,23 +44408,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "prospecto.ee", true },
   { "prospecto.hr", true },
   { "prospecto.lt", true },
+  { "prosperbot.com", true },
   { "prosperfit.com", true },
   { "prosperity-textile.com", true },
   { "prosperontheweb.com", true },
   { "prosperops.com", true },
-  { "prosperus.ru", true },
   { "prospo.co", true },
   { "prostitutki-narvskaja.ga", true },
   { "prosto-dengi.tk", true },
   { "prostohobby.ru", true },
-  { "prostoporno.live", true },
   { "prostoskidki.ml", true },
   { "prostye-recepty.com", true },
   { "prosurveillancegear.com", true },
+  { "protech.ge", true },
   { "proteco.sk", true },
   { "protectedpayments.net", true },
   { "protectedreport.com", true },
   { "protectem.de", true },
+  { "protectionformula.com.ua", true },
   { "protectoraanimalesalicante.org", true },
   { "protectorlando.com", true },
   { "protectr.de", false },
@@ -42710,6 +44440,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "proteogenix.science", true },
   { "proteus-eretes.nl", true },
   { "proteus-tech.com", true },
+  { "protic.online", true },
+  { "protic.pt", true },
   { "protiksana.gr", true },
   { "protobetatest.com", true },
   { "protocol.ai", true },
@@ -42720,18 +44452,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "protonvpn.com", true },
   { "prototypefund.de", true },
   { "prototyping-computer.ml", true },
+  { "protracks.ca", true },
   { "proudplus.com", true },
   { "proust.ch", false },
   { "proust.media", false },
   { "proustmedia.de", false },
+  { "provakil.com", true },
   { "prove-uru.co.uk", true },
   { "prove.no", true },
   { "provent.io", true },
   { "provereno-rabotaet.gq", true },
   { "provereno-rabotaet.tk", true },
+  { "provide-your-image.de", true },
   { "providential.be", true },
   { "providentins.com", true },
   { "providerlijst.com", true },
+  { "providerlijst.ml", true },
   { "providerlijst.nl", true },
   { "provinciaotlavoro.it", true },
   { "provision-isr.nl", true },
@@ -42739,10 +44475,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "provitec.de", true },
   { "provlas.se", true },
   { "prowebcenter.com", false },
+  { "prowindow.sk", true },
   { "prowise.com", true },
   { "prowise.me", true },
   { "prowpcare.com", true },
-  { "proximityradio.fr", true },
   { "proximoconcurso.com.br", true },
   { "proxirealtime.com", true },
   { "proxybay.bet", true },
@@ -42753,20 +44489,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "proxybay.ist", true },
   { "proxybay.la", true },
   { "proxybay.lat", true },
+  { "proxybay.ltd", true },
   { "proxybay.one", true },
+  { "proxybay.red", true },
   { "proxybay.tv", true },
   { "proxyportal.eu", true },
   { "proxyportal.org", true },
   { "proyectafengshui.com", true },
-  { "proyecto13.com", true },
-  { "proyectosinelec.com", true },
+  { "proyectosx.net", true },
   { "prpferrara.it", true },
+  { "prpr.cloud", true },
   { "prsnlafk.com", true },
   { "prt.in.th", true },
   { "prtimes.com", true },
   { "prtpe.com", true },
+  { "prtscloud.ddns.net", true },
   { "pru.com.hk", true },
   { "pru.hk", true },
+  { "pruna.org", true },
   { "prvcy.one", true },
   { "prvikvadrat.hr", true },
   { "prvnirodinna.cz", true },
@@ -42781,7 +44521,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ps2911.com", true },
   { "psa-travel-care.com", true },
   { "psabrowse.com", true },
-  { "psauxit.com", true },
+  { "psasines.pt", true },
   { "psb1.org", true },
   { "psb1911.com", true },
   { "psb4ukr.org", true },
@@ -42804,15 +44544,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "psicologasandrabernal.es", true },
   { "psicologo-especialista-barcelona.com", true },
   { "psicologo-infantil-barcelona.com", true },
-  { "psicologoforensemadrid.com", true },
   { "psihotest.tk", true },
+  { "psinergy.info", true },
+  { "psinergyhealth.com", true },
+  { "psinergytech.com", true },
   { "psitarz.com", true },
   { "psixotest.tk", true },
   { "psixotesty.tk", true },
   { "psm.org.ph", true },
-  { "psochecker.com", true },
   { "psono.pw", true },
-  { "psoriasischecker.com", true },
+  { "pspbar.com", true },
   { "pssgcsim.org", true },
   { "pst.moe", true },
   { "psu.je", true },
@@ -42832,6 +44573,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "psychologbruksela.be", true },
   { "psychologi.cf", true },
   { "psychometrictest.ca", true },
+  { "psychopathtest.com", true },
   { "psychopersonnalite.com", true },
   { "psychotechnique.africa", true },
   { "psychotechnique.be", true },
@@ -42840,6 +44582,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "psychotherapie-kp.de", true },
   { "psychotherapy-vienna.com", true },
   { "psycolleges.com", true },
+  { "psylab.re", true },
+  { "psylab.vip", true },
   { "psytrance-pro.com", true },
   { "pt-d.ru", true },
   { "pt-server.de", true },
@@ -42856,8 +44600,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ptfiber.ru", true },
   { "ptfiber.spb.ru", true },
   { "ptgoldensun.com", true },
+  { "ptk-svarka.ru", true },
   { "ptm.ro", true },
   { "ptmarquees.ie", true },
+  { "ptmp.net", true },
   { "ptrbrs.nl", true },
   { "ptrl.ws", true },
   { "ptron.org", true },
@@ -42866,6 +44612,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "puac.de", true },
   { "pubclub.com", true },
   { "pube.tk", true },
+  { "pubg-tournament.com", true },
   { "pubi.me", true },
   { "pubkit.io", true },
   { "publanda.nl", true },
@@ -42875,9 +44622,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "public-projects.com", true },
   { "public-projects.de", true },
   { "public-vocals.de", true },
+  { "publicard.es", true },
   { "publiccarauctionscalifornia.com", true },
   { "publicholidays.im", true },
+  { "publicintegrity.org", true },
   { "publicintelligence.net", true },
+  { "publicrea.com", true },
   { "publicsuffix.org", true },
   { "publiq.space", true },
   { "publishedpaper.ga", true },
@@ -42891,7 +44641,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "puddis.de", true },
   { "pudro.com", true },
   { "puer.eu.org", true },
-  { "puestifiestas.mx", false },
+  { "puestifiestas.mx", true },
   { "puestosdeferia.mx", true },
   { "puetter.eu", true },
   { "pugetsoundspas.com", true },
@@ -42899,6 +44649,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pugovka72.ru", true },
   { "puissancemac.ch", false },
   { "puiterwijk.org", true },
+  { "pukeking.com", true },
   { "pukfalkenberg.dk", true },
   { "pukkapilatesandpt.com", true },
   { "pulcinella.tk", true },
@@ -42907,20 +44658,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pulizievap.it", true },
   { "pulpproject.org", true },
   { "pulser.stream", true },
-  { "pulseroot.ga", true },
   { "pulsnitzer-lebkuchen-shop.de", true },
   { "pulsnitzer-lebkuchen.de", true },
   { "pulsnitzer-lebkuchen.shop", true },
   { "pulsnitzer-pfefferkuchen-shop.de", true },
   { "pulsnitzer-pfefferkuchen.shop", true },
   { "pulsr.ml", true },
+  { "pump19.eu", true },
   { "pumperszene.com", true },
+  { "pumpn.net", true },
+  { "punchadragon.com", true },
   { "punchlinetheatre.co.uk", true },
   { "punchlinetheatre.com", true },
   { "punchunique.com", true },
   { "punematka.com", true },
   { "punikonta.de", true },
-  { "punitsheth.com", true },
+  { "punjabprime.com", true },
   { "punkapoule.fr", true },
   { "punkart.tk", true },
   { "puntacananetwork.com", true },
@@ -42935,13 +44688,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pupok.cf", true },
   { "puppet.pl", true },
   { "pupset.net", true },
+  { "pupsikstudio.com", true },
   { "puralps.ch", true },
   { "puravida-estate.com", true },
   { "purchasescooters.ga", true },
   { "pure-gmbh.com", true },
   { "pure-host.de", true },
+  { "purecbdvapors.com", true },
+  { "puredayshop.com.tw", true },
+  { "puredns.org", true },
   { "purefkh.xyz", false },
-  { "purejewels.com", true },
   { "purepest.com", true },
   { "purevapeofficial.com", true },
   { "purexis.ch", true },
@@ -42969,13 +44725,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "purrfectswingers.com", true },
   { "pursuedtirol.com", true },
   { "pursuehappiness.tk", true },
+  { "pursuingoutdoors.com", true },
   { "puryearlaw.com", true },
   { "pusehusetkattehotell.no", true },
   { "pusehusetmalvik.no", true },
   { "pushers.com.mx", true },
   { "pushoflove.com", true },
   { "pushpanel.io", true },
-  { "pushrax.com", true },
   { "pussr.com", true },
   { "pussylickingnow.com", true },
   { "put.moe", true },
@@ -42996,11 +44752,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "puxlit.net", true },
   { "puyallupnissanparts.com", true },
   { "puyblanc.info", true },
+  { "puzzlage.com", true },
   { "puzzle-welt.ch", true },
+  { "puzzlegames.com", true },
   { "puzzlepoint.ch", true },
   { "pv-paderborn-now.de", true },
   { "pvamg.org", true },
-  { "pvc-stolarija.co", true },
+  { "pvc-stolarija.co", false },
   { "pvcvoordeel.nl", false },
   { "pvda.nl", true },
   { "pvhe.pl", true },
@@ -43011,6 +44769,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pvphs98.com", true },
   { "pvtschlag.com", true },
   { "pwdsafe.com", false },
+  { "pwg-see.de", true },
   { "pwnies.dk", true },
   { "pwolk.com", true },
   { "pxetech.com", true },
@@ -43020,10 +44779,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pxx.io", true },
   { "py-amf.org", true },
   { "py.search.yahoo.com", false },
+  { "pya.org.tr", true },
+  { "pybtex.org", true },
   { "pycrc.org", true },
   { "pycrypto.org", true },
+  { "pycycle.info", true },
   { "pygarage.com", false },
+  { "pyhello.world", true },
   { "pylon.bot", true },
+  { "pymenetica.com", true },
   { "pymescentro.net", true },
   { "pymesvalencia.es", true },
   { "pymeup.org", true },
@@ -43031,8 +44795,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pypi.io", true },
   { "pypi.org", true },
   { "pypi.python.org", true },
+  { "pyramid-it.co.uk", true },
   { "pyrenees.io", true },
+  { "pyro.works", true },
   { "pyroballpcbs.com", true },
+  { "pyrohandel.de", true },
   { "pyrotechnologie.de", true },
   { "pysays.net", true },
   { "pyspace.org", true },
@@ -43045,56 +44812,60 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "pzsearch.nl", true },
   { "q-inn.com", true },
   { "q-inn.nl", true },
+  { "q-m.design", true },
+  { "q-m.space", true },
   { "q-technologies.com.au", true },
   { "q01.us", true },
   { "q1000.nl", true },
-  { "q365.vip", true },
+  { "q365.vip", false },
   { "q36594.com", true },
-  { "q81818.com", true },
-  { "q88588.com", true },
+  { "q88588.com", false },
   { "q8igh228tq.tk", true },
   { "qa-brandywineglobal.com", true },
   { "qa.fedoraproject.org", true },
   { "qa.stg.fedoraproject.org", true },
-  { "qabel.de", true },
-  { "qacademy.com.au", true },
   { "qaconstrucciones.com", true },
   { "qambarraza.com", true },
   { "qani.me", true },
   { "qaq.cloud", true },
-  { "qaq.sh", true },
   { "qarea.com", true },
   { "qarto.com", true },
   { "qaz.cloud", true },
+  { "qaz.link", true },
   { "qbiju.com.br", true },
   { "qbiltrade.com", true },
   { "qbtechs.com", true },
-  { "qbus.pl", true },
+  { "qbus.pl", false },
   { "qc.search.yahoo.com", false },
   { "qcbrna.qa", true },
-  { "qccareerschool.com", true },
+  { "qccareerschool.com", false },
   { "qcdesignschool.com", false },
   { "qceventplanning.com", false },
   { "qclt.com", true },
   { "qcmakeupacademy.com", false },
   { "qcmlw.com", true },
   { "qcstudentcenter.com", true },
-  { "qcstyleacademy.com", true },
+  { "qcstyleacademy.com", false },
   { "qctravelschool.com", true },
+  { "qcuarto.com.py", true },
   { "qdabogados.com", true },
   { "qdon.space", true },
   { "qdrat.ml", true },
+  { "qdstationary.co.uk", true },
+  { "qdstationery.co.uk", true },
   { "qe-lab.at", true },
   { "qed.ai", true },
   { "qedcon.org", false },
+  { "qei.org.au", true },
   { "qelectrotech.org", true },
   { "qetesh.de", true },
   { "qetic.co.jp", true },
   { "qewc.com", true },
-  { "qgr.se", true },
   { "qhse-professionals.nl", true },
+  { "qi0.de", true },
   { "qianalysis.com", true },
   { "qianmo.com", true },
+  { "qiannews.net", true },
   { "qianqiao.me", true },
   { "qiaohong.org", true },
   { "qicsystems.com", true },
@@ -43104,26 +44875,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qingly.me", true },
   { "qingpei.me", true },
   { "qionouu.cn", true },
+  { "qipei8.com", true },
   { "qis.fr", true },
   { "qitarabutrans.com", true },
   { "qiuby.de", true },
   { "qiuri.org", false },
   { "qivonline.pt", true },
   { "qixi.biz", true },
+  { "qkka.org", true },
   { "qkmortgage.com", true },
   { "ql.tc", true },
   { "qlarititech.io", true },
   { "qlcvea.com", true },
+  { "qlcvea.it", true },
   { "qldcarwreckers.com.au", true },
   { "qldconservation.org.au", true },
   { "qldformulaford.org", true },
-  { "qlinksgroup.com", true },
+  { "qliving.com", true },
+  { "qlix.pl", true },
   { "qlrace.com", false },
   { "qm-marzahnnordwest.de", true },
   { "qmee.com", true },
   { "qnected.nl", true },
   { "qnome.eu", true },
-  { "qnsgmd.com", true },
   { "qochealth.com", true },
   { "qoml.net", true },
   { "qonto.eu", true },
@@ -43132,14 +44906,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qosmoschools.edu.my", true },
   { "qotw.net", true },
   { "qp666d.com", true },
+  { "qpaypro.com", true },
   { "qpcna.org", true },
   { "qponverzum.hu", true },
-  { "qpresentes.com.br", true },
-  { "qq52o.me", true },
   { "qq6177.com", true },
   { "qq6177.net", true },
   { "qqiao.me", true },
   { "qqq6.com", true },
+  { "qqq67.com", true },
   { "qqrss.com", true },
   { "qr-city.org", true },
   { "qr.cl", true },
@@ -43154,6 +44928,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qrpth.eu", true },
   { "qruiser.com", true },
   { "qryo.nl", true },
+  { "qrz.one", true },
   { "qscloud.de", true },
   { "qtacairsoft.com", true },
   { "qtl.me", true },
@@ -43169,12 +44944,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qtxh.net", true },
   { "quackerswaterproofing.com", true },
   { "quadra.srl", true },
-  { "quafe.tech", true },
   { "quagga.me", true },
   { "quaggan.co", true },
   { "quai10.org", false },
   { "qualbe.com", true },
-  { "qualitation.co.uk", true },
+  { "qualiacomputers.com", true },
   { "qualite-ecole-et-formation.ch", false },
   { "quality-life.gr", true },
   { "qualityhomesystems.com", true },
@@ -43182,10 +44956,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qualityofcourse.com", true },
   { "qualitypropertycare.co.uk", true },
   { "qualitywaterproofing.com", true },
-  { "quallo.com", true },
   { "qualpay.com", true },
   { "qualtrics.com", true },
+  { "qualyven.com", true },
   { "quant-labs.de", true },
+  { "quantaloupe.tech", true },
   { "quanterra.ch", false },
   { "quantifiedcommerce.com", true },
   { "quantolytic.de", true },
@@ -43196,7 +44971,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "quantum2.xyz", true },
   { "quantumcrypto.nl", true },
   { "quantumfinance.com.au", true },
-  { "quantumfurball.net", true },
   { "quantumpair.net", true },
   { "quareal.ru", true },
   { "quarim.cz", true },
@@ -43214,10 +44988,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qubes-os.org", true },
   { "qubhockey.tk", true },
   { "qubyte.codes", true },
-  { "quchao.com", true },
   { "que-debo-regalar.es", true },
   { "quebajelagasolina.com", true },
   { "quebec.casa", true },
+  { "quecomo.cl", true },
   { "quedos.com.au", true },
   { "queenbeer.com", true },
   { "queencomplex.net", true },
@@ -43228,6 +45002,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "queercoders.com", false },
   { "queextensiones.com", true },
   { "queirozmiotto.adv.br", true },
+  { "queirozmiotto.com.br", true },
   { "quelle-catalog.tk", true },
   { "quelle.at", true },
   { "quelle.ch", true },
@@ -43239,28 +45014,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "quenotejodan.cl", true },
   { "quentin-sauvetre.fr", true },
   { "quentinchevre.ch", true },
-  { "queo.com.co", true },
   { "quera.ir", true },
-  { "querencia.online", true },
-  { "quermail.com", true },
+  { "querenciavirtual.com.br", true },
   { "queropescar.net", true },
   { "query-massage.com", false },
   { "queryquinton.com", true },
   { "questdairy.com", true },
   { "question.com", true },
   { "questionscafe.org", true },
-  { "questionyu.com", true },
   { "questsocial.it", true },
   { "quevisiongrafica.com", true },
   { "quhyu.xyz", true },
   { "quic.network", true },
   { "quic.stream", true },
   { "quichante.com", true },
+  { "quiche-quic.cf", true },
   { "quickassortments.com", true },
   { "quickformspro.com", true },
   { "quickinfosystem.com", true },
+  { "quickrelations.de", true },
   { "quicksell.store", true },
   { "quicksupplies.us", true },
+  { "quieoltre.it", true },
   { "quieroserbombero.org", true },
   { "quieroserdoula.com", true },
   { "quieroserdoula.es", true },
@@ -43276,10 +45051,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "quintenbraakman.com", true },
   { "quintenbraakman.nl", true },
   { "quintenehb.be", true },
+  { "quinterorealestate.com", true },
   { "quintessa.org", true },
   { "quiq-api.com", true },
   { "quiq-cdn.com", true },
   { "quiq-uri.com", true },
+  { "quiq-url.com", true },
+  { "quiq.com", true },
   { "quiq.us", true },
   { "quiqd.com", true },
   { "quiqstatus.com", true },
@@ -43287,11 +45065,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "quiqurls.com", true },
   { "quire.io", true },
   { "quirkytravelguy.com", true },
-  { "quitsmoking.coach", true },
   { "quiz4math.gr", true },
   { "quizhub.co", true },
   { "quizz.biz", true },
   { "qul.link", true },
+  { "qunix.net", true },
   { "quote.gq", false },
   { "quotedtale.com", true },
   { "quoteidiot.com", true },
@@ -43309,7 +45087,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qvq.cloud", true },
   { "qwant.com", true },
   { "qwantjunior.com", true },
-  { "qwaser.fr", true },
   { "qwd.no", true },
   { "qwdqwd.de", true },
   { "qwe7002.com", true },
@@ -43317,53 +45094,58 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "qwerty.work", true },
   { "qwikdash.com", true },
   { "qwq.moe", true },
+  { "qwq2333.top", true },
   { "qx.fi", true },
   { "qx.se", true },
   { "qxzg.xyz", true },
+  { "qzhou.ddns.net", true },
   { "r-ay.cn", true },
   { "r-rwebdesign.com", true },
   { "r-t-b.fr", true },
   { "r102.ch", true },
+  { "r18.moe", true },
   { "r1a.eu", true },
   { "r1ch.net", true },
+  { "r1h3.nl", true },
   { "r2d2pc.com", true },
   { "r33.space", true },
   { "r36533.com", true },
   { "r36594.com", true },
   { "r3s1stanc3.me", true },
+  { "r3t.io", true },
   { "r40.us", true },
   { "r6-team.ru", true },
   { "r7.com.au", true },
   { "r7h.at", true },
-  { "r81818.com", true },
   { "ra-joergensen.de", true },
   { "ra-jurochnik.de", false },
   { "ra-micro-koeln.de", true },
   { "ra-schaal.de", true },
   { "ra.co.ke", true },
-  { "ra.vc", true },
   { "ra3y.xyz", true },
   { "raadgiverborsen.com", true },
   { "raah.co", true },
   { "raailto.com", true },
   { "raaynk.com", true },
   { "raballder.tk", true },
+  { "rabbit.finance", true },
   { "rabbitcallcenter.com", true },
   { "rabbitfinance.com", true },
   { "rabbitinternet.com", true },
   { "rabica.de", true },
+  { "rabis.co", true },
+  { "rabitfordarcy.org", true },
   { "rabotaescort.com", false },
-  { "rabotayes.ru", true },
   { "racaliz.tk", true },
   { "raccoltarifiuti.com", true },
   { "raccoon.fun", true },
   { "racermaster.xyz", true },
+  { "racesimscoring.com", true },
   { "raceviewcycles.com", true },
   { "racevinyl.es", true },
   { "racheldiensthuette.de", true },
   { "rachelmoorelaw.com", true },
   { "rachelreagan.com", true },
-  { "rachurch.net", false },
   { "racing-planet.cz", true },
   { "racius.com", true },
   { "rackerlab.com", true },
@@ -43374,17 +45156,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "radar.sx", true },
   { "radaravia.ru", true },
   { "radarbanyumas.co.id", true },
+  { "radarequation.com", true },
   { "radartatska.se", true },
   { "radartek.com", true },
   { "radcube.hu", true },
   { "radegundisfest.de", true },
   { "radfieldhomecare.co.uk", true },
   { "radfieldhomecarefranchising.co.uk", true },
+  { "radiantweb.co.za", true },
   { "radicaldream.tk", true },
   { "radicalepil-haguenau.fr", true },
   { "radicaloptimism.org", true },
   { "radicalsub.com.br", true },
-  { "radins.com", true },
   { "radio-brest.tk", true },
   { "radio-pulsar.eu", true },
   { "radio-utopie.de", true },
@@ -43397,24 +45180,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "radiocomsaocarlos.com.br", true },
   { "radiodeutsch.com", true },
   { "radiodiagonal.tk", true },
+  { "radioduepuntozero.it", true },
   { "radioelectronic.tk", true },
   { "radiofmimagen.net", true },
-  { "radioh.no", true },
   { "radioheteroglossia.com", true },
   { "radiohub.ru", true },
   { "radioilusion.es", true },
   { "radioldpr.ru", true },
   { "radiolla.com", true },
   { "radiom.fr", true },
+  { "radiomercure.net", true },
   { "radiomodem.dk", true },
   { "radiomontebianco.it", true },
   { "radionrg.tk", true },
   { "radiopharereims.tk", true },
   { "radiopleer.net", true },
-  { "radior9.it", true },
   { "radioradicchio.it", true },
   { "radiorainbow.tk", true },
-  { "radiosdeguate.com", true },
   { "radiosendungen.com", true },
   { "radiowakeup.tk", true },
   { "radiozetta.tk", true },
@@ -43423,13 +45205,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "radiumtree.com", true },
   { "radixsalon.tk", true },
   { "radlina.com", true },
-  { "radmehrco.com", true },
   { "radomir-online.ru", true },
   { "radondetectionandcontrol.com", true },
   { "radreisetraumtreibstoff.de", true },
   { "radyabkhodro.net", true },
   { "radyn.com", true },
   { "radyodinle.mobi", true },
+  { "radyodinle.us", true },
   { "radzikow.ski", true },
   { "raeder-test.azurewebsites.net", true },
   { "raelto.com", true },
@@ -43440,13 +45222,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rafaelmagalhaesweb.com", true },
   { "rafas.com.tr", true },
   { "rafey.xyz", true },
-  { "raffaelevinci.eu", true },
   { "raffaellaosti.com", true },
+  { "raffleoftheday.com", true },
   { "raffleshospital.co.id", false },
   { "rafleatherdesign.com", true },
+  { "rafsurveys.co.uk", true },
   { "rafting-japan.com", true },
   { "ragasto.nl", true },
   { "rage4.com", true },
+  { "raghuspeaks.com", true },
   { "raginggaming.ga", true },
   { "ragingserenity.com", true },
   { "ragu.co.uk", true },
@@ -43496,20 +45280,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "railvideo.net", true },
   { "railvideo.nl", true },
   { "rain.bz", true },
+  { "rainbow-web.com", true },
   { "rainbowbay.org", true },
   { "rainbowflowers.co.uk", true },
   { "rainbowinflatables.co.uk", true },
+  { "rainbowloompattern.com", true },
+  { "rainbowloompatterns.com", true },
   { "rainbowsmoothies.win", true },
   { "rainbowstore.com.au", true },
   { "rainbowstore.com.ua", true },
+  { "rainbowswingers.net", true },
   { "raincoat.systems", true },
   { "rainel.at", true },
   { "rainforest.engineering", true },
   { "raingoc.com", true },
   { "rainiv.com", true },
+  { "rainmanzone.com", true },
   { "rainpaper.com", true },
   { "rainstormsinjuly.co", true },
-  { "rainturtle.com", true },
   { "rainville.me", true },
   { "rainway.com", true },
   { "rainway.io", true },
@@ -43518,10 +45306,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "raissarobles.com", true },
   { "raistrick.it", true },
   { "raitlo.com", true },
+  { "raivis.com", true },
   { "rajaealhoceima.tk", true },
   { "rajasatour.id", true },
-  { "rajkapoordas.com", true },
-  { "rajyogarishikesh.com", true },
   { "rak-business-service.com", true },
   { "raketa.travel", true },
   { "raketaro.de", true },
@@ -43545,9 +45332,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "raltha.com", true },
   { "ram-it.nl", true },
   { "ram.nl", true },
+  { "rama.ovh", true },
   { "ramarka.de", true },
   { "rambedjeans.com", true },
   { "rambo.codes", true },
+  { "ramdigital.xyz", true },
+  { "ramirezpeluqueria.com", true },
   { "ramitan.com", true },
   { "rammstein-portugal.com", true },
   { "rammsteinzone.tk", true },
@@ -43562,11 +45352,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ranalawassociates.com", true },
   { "ranasinha.com", true },
   { "randc.org", true },
-  { "randewoo.ru", true },
   { "randolf.ca", true },
+  { "random-samplings.org", true },
   { "random.org", true },
   { "randomadversary.com", true },
   { "randombit.eu", false },
+  { "randomcategory.com", true },
   { "randomcode.org", true },
   { "randomdata.sh", true },
   { "randomkoalafacts.com", true },
@@ -43574,6 +45365,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "randomquotesapp.com", true },
   { "randomsearching.ml", true },
   { "randomserver.pw", true },
+  { "randstalker.ovh", true },
   { "ranfurlychambers.co.nz", true },
   { "rangde.org", true },
   { "rangercollege.edu", true },
@@ -43581,11 +45373,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rank-net.de", true },
   { "rankgiants.com", true },
   { "ranking-deli.jp", true },
-  { "ranktopay.com", true },
   { "rannamoisaaiasalong.ee", true },
-  { "ranobe.club", true },
   { "ranthambhorenationalpark.net", true },
   { "ranwest.com", true },
+  { "rany.eu.org", true },
   { "ranyeh.com", true },
   { "ranzbak.nl", true },
   { "raoul-kieffer.net", true },
@@ -43594,12 +45385,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rapenroer.nl", true },
   { "raphael.li", true },
   { "raphaelcasazza.ch", false },
+  { "raphrfg.com", true },
   { "rapidapp.io", true },
   { "rapidoo.com.br", true },
-  { "rapidshit.net", true },
   { "rapidstone.com", true },
   { "raportdnia.pl", true },
   { "rapport.link", true },
+  { "rapportdecoracoes.com.br", true },
   { "raptorsrapture.com", true },
   { "rapwoyska.tk", true },
   { "raqoo.jp", true },
@@ -43615,29 +45407,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rascalscastles.co.uk", true },
   { "rascalscastlesdoncaster.co.uk", true },
   { "rasebo.ro", true },
+  { "raspberid.com.es", true },
   { "raspii.tech", true },
+  { "rassadacvetov.com", true },
+  { "rasset.ie", true },
   { "rassro.sk", true },
   { "rastabooks.ga", true },
   { "rasty.cz", true },
+  { "ratajczak.one", true },
   { "ratd.net", true },
   { "ratebridge.com", true },
   { "ratelimited.me", true },
   { "ratgeber-guide.de", true },
   { "rathbonesonline.com", true },
+  { "rathgeb.org", true },
   { "rationalcreation.com", true },
   { "rationalism.com", true },
   { "ratirl.be", true },
   { "rattattees.com", true },
   { "rattenkot.io", true },
   { "ratujemyzwierzaki.net", true },
+  { "ratul.me", true },
   { "raucris.ro", true },
   { "raulrivero.es", true },
   { "rauros.net", true },
   { "rauschenbach.de", true },
-  { "ravada-vdi.com", true },
   { "ravanalk.com", true },
   { "ravchat.com", true },
-  { "raveboy.dyndns.org", true },
   { "ravelin.com", true },
   { "raven.dog", true },
   { "ravencoin.com", true },
@@ -43649,10 +45445,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ravindran.me", true },
   { "ravis.org", true },
   { "rawcbd.shop", true },
-  { "rawcode.xyz", true },
   { "rawdamental.com", true },
   { "rawdutch.nl", true },
   { "rawinfosec.com", true },
+  { "rawpearls.com", true },
   { "rawsec.net", true },
   { "ray-home.de", true },
   { "ray-works.de", true },
@@ -43660,13 +45456,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rayadventure.com", true },
   { "raydius.de", true },
   { "raydolapfiyat.com", true },
+  { "rayfalling.com", true },
   { "rayiris.com", true },
   { "raykitchenware.com", true },
   { "raymcbride.com", true },
   { "raymd.de", true },
+  { "raymondelooff.nl", true },
   { "raynersorchard.com.au", true },
   { "raynis.net", true },
   { "raysei.com", true },
+  { "raystark.com", true },
+  { "raywin168.com", true },
+  { "raywin168.net", true },
+  { "raywin88.net", true },
   { "rayworks.de", true },
   { "raza.gr", true },
   { "razalabs.com", true },
@@ -43674,18 +45476,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "razborpoletov.cf", true },
   { "razborpoletov.ml", true },
   { "razborpoletov.tk", true },
+  { "razeencheng.com", true },
   { "razgon.ga", true },
-  { "raziskovalec-resnice.com", true },
   { "razrabo.tk", true },
   { "razrsec.uk", true },
-  { "razvanburz.net", true },
   { "razvlekuha.cf", true },
   { "razvlekuhablog.tk", true },
   { "rbensch.com", true },
   { "rbflote.lv", true },
   { "rbh.co.uk", true },
-  { "rbin.nl", true },
+  { "rbiacademylms.org", true },
   { "rbltracker.com", true },
+  { "rblx.red", true },
   { "rbmland.com", true },
   { "rbnet.xyz", true },
   { "rbran.com", true },
@@ -43698,12 +45500,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rc-offi.net", true },
   { "rc-shop.ch", true },
   { "rca.fr", true },
-  { "rca2015.ru", true },
   { "rcd.cz", true },
   { "rcdocuments.com", true },
   { "rcgoncalves.pt", true },
-  { "rchavez.site", true },
-  { "rchrdsn.uk", true },
   { "rcjescrow.uk", true },
   { "rclaywilliamsdo.com", true },
   { "rclsm.net", true },
@@ -43715,11 +45514,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rct.sk", true },
   { "rct.uk", true },
   { "rctalk.com", true },
-  { "rcvd.io", true },
-  { "rdactive.de", true },
-  { "rdactive.net", true },
   { "rdap.co.il", true },
   { "rdcdesign.com", true },
+  { "rddjapan.info", true },
   { "rdfproject.it", true },
   { "rdh.asia", true },
   { "rdjb2b.com", true },
@@ -43731,19 +45528,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rdr2natives.com", true },
   { "rdv-cni.fr", true },
   { "rdv-prefecture.com", true },
-  { "rdviitd.org", true },
   { "re-crawl.com", true },
   { "re-engines.com", true },
   { "re-inspect.com", true },
   { "re-security.com", true },
   { "reach-on.de", true },
   { "reachhead.com", true },
-  { "reachonline.org", true },
   { "reachout-ghana.com", true },
   { "reachrss.com", true },
   { "reaconverter.com", true },
   { "react-db.com", true },
-  { "reactions.ai", true },
+  { "reactions.ai", false },
   { "reactive-press.com", true },
   { "reactivemarkets.com", true },
   { "reactpwa.com", true },
@@ -43753,7 +45548,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "readify.net", true },
   { "readifycloud.com", true },
   { "readingrats.de", true },
-  { "readism.io", true },
   { "readmusiccoleman.com", true },
   { "readonly.de", true },
   { "readouble.com", false },
@@ -43771,26 +45565,46 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "real-neo.me", true },
   { "realcapoeira.ru", true },
   { "realestate-in-uruguay.com", true },
+  { "realestate-lidl.at", true },
+  { "realestate-lidl.be", true },
+  { "realestate-lidl.bg", true },
+  { "realestate-lidl.ch", true },
+  { "realestate-lidl.co.uk", true },
+  { "realestate-lidl.com", true },
+  { "realestate-lidl.cz", true },
+  { "realestate-lidl.dk", true },
+  { "realestate-lidl.fr", true },
+  { "realestate-lidl.gr", true },
+  { "realestate-lidl.it", true },
+  { "realestate-lidl.lt", true },
+  { "realestate-lidl.lu", true },
+  { "realestate-lidl.lv", true },
+  { "realestate-lidl.pl", true },
+  { "realestate-lidl.pt", true },
+  { "realestate-lidl.ro", true },
+  { "realestate-lidl.rs", true },
+  { "realestate-lidl.se", true },
+  { "realestate-lidl.sk", true },
   { "realestatecentralcoast.info", true },
   { "realestatemarketingblog.org", true },
   { "realestateonehowell.com", true },
   { "realestateradioshow.com", true },
   { "realfood.space", true },
   { "realgogo.com", true },
-  { "realhorsegirls.net", true },
   { "realhypnosistraining.com.au", true },
   { "reality.news", true },
   { "reality0ne.com", false },
-  { "realitycrazy.com", true },
   { "reall.uk", true },
   { "reallifeforums.com", true },
   { "realloc.me", true },
-  { "really-simple-plugins.com", false },
   { "really-simple-ssl.com", true },
   { "reallytrusted.com", true },
   { "reallywild.tk", true },
+  { "realm-of-shade.com", true },
   { "realme.govt.nz", true },
+  { "realmofaesir.com", true },
   { "realmofespionage.xyz", true },
+  { "realneo.me", true },
   { "realoteam.ddns.net", true },
   { "realpaella.com", true },
   { "realpropertyprofile.gov", true },
@@ -43818,7 +45632,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rebelko.de", true },
   { "rebellionbrewing.com.au", true },
   { "rebelonline.nl", true },
-  { "rebelrebel.com.au", true },
   { "rebelz.se", true },
   { "rebirthia.me", true },
   { "reboxetine.com", true },
@@ -43850,7 +45663,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reckontalk.com", true },
   { "reclametoolz.nl", true },
   { "reclusiam.net", true },
-  { "recmon.hu", true },
   { "reco-studio.de", true },
   { "recoba3d.com", true },
   { "recolic.net", true },
@@ -43859,9 +45671,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "recompiled.org", false },
   { "recon-networks.com", true },
   { "reconexion.life", true },
+  { "recordmeeting.jp", true },
   { "recoveringspirit.com", true },
   { "recoveryonline.org", true },
+  { "recoveryunplugged.com", true },
+  { "recoveryunpluggedtreatment.com", true },
   { "recrea.pl", true },
+  { "recreatieftotaal.nl", true },
   { "recreation.gov", true },
   { "recruit.net", true },
   { "recruitmade.jp", true },
@@ -43872,16 +45688,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "recurrentmeningitis.org", true },
   { "recursionrecursion.co.uk", true },
   { "recursosdeautoayuda.com", true },
-  { "recyclebin.email", true },
   { "recycling.tk", true },
+  { "recyclingisland.com", true },
   { "red-button.hu", true },
   { "red-dead-rp.de", true },
-  { "red-dead.life", true },
   { "red-t-shirt.ru", true },
   { "red-trigger.net", true },
   { "red031000.com", true },
   { "red2fred2.com", true },
   { "redable.hosting", true },
+  { "redable.nl", true },
   { "redactieco.nl", true },
   { "redb.cz", true },
   { "redballoonsecurity.com", true },
@@ -43910,7 +45726,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reddingsbrigadeveghel.nl", true },
   { "reddit.com", true },
   { "reddit2kindle.com", true },
-  { "reddited.com", true },
   { "reddraggone9.com", true },
   { "reddyai.com", true },
   { "rede-reim.de", true },
@@ -43926,7 +45741,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "redgoose.ca", true },
   { "redgravity.net", true },
   { "redhandedsecurity.com.au", true },
+  { "redhawkwa.com", true },
   { "redheadfuck.com", true },
+  { "redicals.com", true },
+  { "redinational.com", true },
   { "redion.me", true },
   { "redir.me", true },
   { "redirect.fedoraproject.org", true },
@@ -43959,11 +45777,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "redstoner.com", true },
   { "redteam-pentesting.de", true },
   { "redunion.tk", true },
+  { "redwater.co.uk", true },
   { "redwaterhost.com", true },
   { "redweek.com", true },
-  { "redwhey.com", true },
   { "redwiki.tk", true },
   { "redworks.nl", true },
+  { "reecewindows.com", true },
   { "reed-sensor.com", true },
   { "reedloden.com", true },
   { "reedyforkfarm.com", true },
@@ -43974,7 +45793,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reesmichael1.com", true },
   { "reevaappliances.co.uk", true },
   { "reeves-family.com", true },
-  { "reezer.org", true },
   { "ref1oct.nl", true },
   { "refactor.zone", false },
   { "refer.codes", true },
@@ -43990,7 +45808,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reflets.info", true },
   { "reflexions.co", true },
   { "reflexionspain.tk", true },
-  { "reflexive.xyz", true },
   { "refluxogastroesofagico.ga", true },
   { "refood-cascaiscpr.eu", true },
   { "reformation.financial", true },
@@ -44000,6 +45817,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "refu.net", true },
   { "refundo.cz", true },
   { "refundo.sk", true },
+  { "reg.place", true },
   { "regalcapitalwi.com", true },
   { "regalopublicidad.com", true },
   { "regalosymuestrasgratis.com", true },
@@ -44008,6 +45826,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reganparty.com", true },
   { "regar42.fr", false },
   { "regata2015.tk", true },
+  { "regazofotografia.com", true },
   { "regeneo.cz", true },
   { "regeneracjalamp.eu", true },
   { "regenerapoint.it", true },
@@ -44024,11 +45843,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "regiovertrieb.de", false },
   { "regis.tech", true },
   { "regisearch.co.uk", true },
+  { "register.to", true },
   { "registerex.me", true },
   { "registerforevent.co.uk", true },
   { "registerra.nl", true },
   { "registr.io", true },
-  { "registrar.io", true },
   { "registrarplus.net", true },
   { "registrarplus.nl", true },
   { "registry.google", true },
@@ -44039,10 +45858,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "regolithmedia.com", true },
   { "regon.hu", true },
   { "regraph.de", true },
-  { "regresionavidaspasadas.com", true },
-  { "regsec.com", true },
   { "regularflolloping.com", true },
-  { "regularizaeudora.com.br", true },
   { "regulations.gov", true },
   { "reha-honpo.jp", true },
   { "rehabili-shigoto.com", true },
@@ -44052,6 +45868,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reichardt-home.goip.de", true },
   { "reichel-steinmetz.de", true },
   { "reichelt-cloud.de", true },
+  { "reichl-online.net", true },
   { "reiciunas.lt", true },
   { "reidasbombas.com", true },
   { "reifr.net", true },
@@ -44065,43 +45882,49 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reinaertvandecruys.com", true },
   { "reinaldudras.ee", true },
   { "reinaldudrasfamily.ee", true },
+  { "reinascba.com.ar", true },
   { "reindersfoodfashion.nl", true },
   { "reinencaressa.be", true },
   { "reinfer.io", true },
-  { "reinhardtsgermanautorepair.com", true },
   { "reinhardtsgrimma.de", true },
   { "reinhart-auto.cz", true },
   { "reinierjonker.nl", true },
+  { "reinotools.com", true },
   { "reinout.nu", true },
   { "reinouthoornweg.nl", true },
   { "reinventetoi.com", false },
+  { "reinventfit.ro", true },
+  { "reirei.cc", true },
   { "reisenbauer.ee", true },
   { "reiseversicherung-werner-hahn.de", true },
   { "reishunger.de", true },
   { "reissnehme.com", true },
+  { "reitmeier.me", true },
   { "reitoracle.com", true },
   { "reitstall-goettingen.de", true },
   { "reittherapie-tschoepke.de", true },
   { "rejahrehim.com", true },
   { "rejects.email", true },
   { "rejido.tk", true },
-  { "rejsehuskelisten.dk", true },
   { "rekisuta.com", true },
   { "reklamjog.hu", true },
   { "rekorsanat.com.tr", true },
   { "rekurasi.com", true },
   { "relaispourlavie.net", true },
-  { "relates.link", true },
   { "relax.hn", true },
   { "relaxdom.net", true },
   { "relaxhavefun.com", true },
   { "relaxpointhyncice.cz", true },
   { "release-monitoring.org", true },
   { "releasepoint.com", true },
+  { "releasingarchive.org", true },
+  { "reliablemaids.co.uk", true },
   { "reliableremovals-blackpool.co.uk", true },
   { "reliancebank.bank", true },
+  { "relitas.cz", true },
   { "relojeriajoyeria.com", true },
   { "relojes-online.com", true },
+  { "relsak.cz", true },
   { "rem0te.net", true },
   { "remaimodern.org", true },
   { "remambo.jp", true },
@@ -44121,10 +45944,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "remissan.com", true },
   { "remitano.com", true },
   { "remmik.com", true },
+  { "remny.com", true },
   { "remodeus.com", true },
+  { "remonline.ru", true },
   { "remont-kvartirvmoskve.ga", true },
   { "remont-naushnikov.tk", true },
   { "remont-p.com", true },
+  { "remont-warszawa.pl", true },
   { "remonti.info", true },
   { "remotedesktop.corp.google.com", true },
   { "remoteham.com", true },
@@ -44139,10 +45965,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rendall.tv", true },
   { "render.com", true },
   { "renderloop.com", true },
+  { "rene-eizenhoefer.de", true },
   { "rene-schwarz.com", true },
   { "rene-stolp.de", true },
   { "renearends.nl", true },
   { "renedekoeijer.com", true },
+  { "renehsz.com", true },
   { "reneleu.ch", true },
   { "renem.net", false },
   { "renemayrhofer.com", false },
@@ -44155,10 +45983,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "renezuo.com", true },
   { "renkenlaw.com", true },
   { "renlen.nl", true },
+  { "rennes-bachata.com", true },
+  { "rennes-danse-africaine.com", true },
+  { "rennes-danses-en-ligne.com", true },
+  { "rennes-hip-hop.com", true },
+  { "rennes-lindy-hop.com", true },
+  { "rennes-reggaeton.com", true },
+  { "rennes-rock-6-temps.com", true },
+  { "rennes-tango.com", true },
+  { "rennes-yoga.com", true },
   { "renoovodesign.ltd", true },
   { "renov8sa.co.za", true },
   { "renovablesverdes.com", true },
-  { "renovandoingresos.com", true },
   { "renovum.es", true },
   { "renrenche.com", false },
   { "rens.nu", true },
@@ -44166,24 +46002,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rent-a-c.io", true },
   { "rent-a-coder.de", true },
   { "rentacaramerica.com", true },
+  { "rentandamiosycasetas.com", true },
   { "rentandgo.it", true },
   { "rentasweb.gob.ar", true },
   { "renthelper.us", true },
   { "rentinsingapore.com.sg", true },
   { "rentourhomeinprovence.com", true },
   { "rentsbg.com", true },
-  { "rentta.fashion", true },
   { "renuo.ch", true },
   { "renyiyou.com", true },
   { "reorz.com", false },
   { "reox.at", false },
   { "repaik.com", true },
   { "repairguy.dk", true },
+  { "repairit.support", true },
   { "repalcateia.com.br", true },
   { "repaper.org", true },
   { "reparacionesdecalefones.com", true },
   { "reparacionmovilesmurcia.com", true },
   { "reparizy.com", true },
+  { "repauto.com.ua", true },
+  { "repceszentgyorgy.hu", true },
+  { "repin.in.ua", true },
   { "replenology.com", true },
   { "repliksword.com", true },
   { "repo.ml", true },
@@ -44197,22 +46037,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reproductiverevolution.com", true },
   { "reprogramming-predators.com", true },
   { "reprogrammingpredators.com", true },
-  { "reprowesty.com", true },
   { "reprozip.org", true },
+  { "repsltd.co.uk", true },
   { "repsomelt.com", true },
   { "reptrax.com", true },
   { "reptv.online", true },
   { "republic.gr", true },
+  { "republicanleader.gov", false },
   { "republicghana.com", true },
   { "republictelecom.net", true },
   { "republique.org", true },
   { "repuestosmedellin.com", true },
   { "repugnant-conclusion.com", true },
   { "repugnantconclusion.com", true },
-  { "reputatiedesigners.nl", true },
   { "reputationweaver.com", true },
   { "requestr.co.uk", true },
-  { "require.software", true },
+  { "requezmc.net", true },
+  { "require.software", false },
   { "reroboto.com", true },
   { "reroboto.eu", true },
   { "reroboto.net", true },
@@ -44225,6 +46066,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "resdon.cn", true },
   { "research-panel.jp", true },
   { "research.facebook.com", false },
+  { "researchchempro.nl", true },
   { "researchgate.net", true },
   { "researchstory.com", true },
   { "reseausyndic.ca", true },
@@ -44235,10 +46077,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "residence-simoncelli.com", true },
   { "residentiallocksmithdallas.com", true },
   { "resilientlives.com", true },
+  { "resilienzatropical.it", true },
   { "resine.roma.it", true },
   { "resinflooringcompany.com", true },
   { "resist.ca", true },
+  { "resize2fs.de", true },
   { "resnickandnash.com", true },
+  { "resolve-portal.it", true },
   { "resolvefa.co.uk", true },
   { "resolvefa.com", true },
   { "resolving.com", true },
@@ -44279,9 +46124,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ressl.ch", true },
   { "ressupply.com", true },
   { "restaurant-de-notenkraker.be", true },
+  { "restaurant-eatenjoy.be", true },
   { "restaurant-fujiyama.fr", true },
   { "restaurant-oregano.de", true },
   { "restaurantedonono.com.br", true },
+  { "restaurantepepeyestrella.es", true },
   { "restauranttester.at", true },
   { "restauriedili.roma.it", true },
   { "restoran-radovce.me", true },
@@ -44295,18 +46142,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "resultsatretail.com", true },
   { "resume4dummies.com", true },
   { "resumelab.com", true },
-  { "resumeprime.com", true },
   { "resumeprofessionalwriters.com", true },
   { "resumeshoppe.com", true },
   { "resursedigitale.ro", true },
+  { "resveratrolsupplement.co.uk", true },
   { "retailcybersolutions.com", true },
   { "retailing.cf", true },
   { "retefarmaciecostadamalfi.it", true },
   { "retetop95.it", true },
   { "reticket.me", true },
   { "reticon.de", true },
-  { "retidurc.fr", true },
+  { "retinacv.es", true },
   { "retireearlyandtravel.com", true },
+  { "retirementsolutionva.com", true },
   { "retirest.com", true },
   { "retmig.dk", true },
   { "reto.ch", false },
@@ -44319,14 +46167,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "retractableawningssydney.com.au", true },
   { "retraitebysaulsplace.nl", true },
   { "retro-game.org", true },
-  { "retro.rocks", true },
+  { "retro.camp", true },
   { "retro.sx", true },
   { "retroarms.com", true },
   { "retroarms.cz", true },
   { "retrocdn.net", true },
   { "retrofitlab.com", true },
   { "retroity.net", true },
-  { "retronet.nl", true },
   { "retropack.org", true },
   { "retroride.cz", true },
   { "retroroundup.com", true },
@@ -44334,11 +46181,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "retrotracks.net", true },
   { "retrovideospiele.com", true },
   { "rettig.xyz", false },
-  { "returnonerror.com", true },
-  { "returnpath.com", true },
   { "retzer.me", true },
   { "reucon.com", true },
-  { "reuna.me", true },
+  { "reupo.com", true },
   { "reussirsavie.info", true },
   { "reut42.de", true },
   { "reuter-profishop.de", true },
@@ -44346,6 +46191,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reuzenplaneten.nl", true },
   { "revamed.com", false },
   { "revampweb-development.azurewebsites.net", true },
+  { "revampweb-staging.azurewebsites.net", true },
+  { "revapost.fr", true },
   { "revayd.net", true },
   { "revealdata.com", true },
   { "revensoftware.com", true },
@@ -44355,31 +46202,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "reverseloansolutions.com", true },
   { "reverselookupphone.us", true },
   { "reversesouthafrica.com", true },
-  { "reviderm-skinmedics-rheinbach.de", true },
   { "review.jp", true },
   { "reviewbestseller.com", true },
   { "reviewcenter.in", true },
   { "reviewgeek.com", true },
+  { "reviewinteriors.com.au", true },
   { "reviewninja.net", true },
   { "reviews.anime.my", false },
-  { "reviewu.ca", true },
   { "revirt.global", true },
   { "revisionnotes.xyz", true },
+  { "revisit.date", true },
   { "revisores.pt", true },
   { "revisoronline.ml", true },
   { "revista-programar.info", true },
   { "revistabifrontal.com", true },
   { "revistadiscover.com", true },
-  { "revistasomos.com", true },
+  { "revitalisierungs-akademie.de", true },
   { "revivalinhisword.com", true },
   { "revivalprayerfellowship.com", true },
+  { "revivemoment.com", true },
   { "reviveplumbingmelbourne.com.au", true },
   { "revivingtheredeemed.org", true },
   { "revizor-online.gq", true },
   { "revizor-online.tk", true },
   { "revlect.com", true },
   { "revolutionaryaim-vienna.tk", true },
-  { "revuestarlight.me", true },
+  { "revolware.com", true },
   { "revworld.org", true },
   { "rewardingexcellence.com", true },
   { "rex.tc", true },
@@ -44388,7 +46236,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rexskz.info", true },
   { "rexxworld.com", true },
   { "reyna.cc", true },
-  { "rezenfitness.com", true },
+  { "reyrubi.com", true },
   { "rezept-planer.de", true },
   { "rezio.io", true },
   { "rezka-burenie.cf", true },
@@ -44400,12 +46248,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rfid-schutz.org", true },
   { "rfid-sicherheit.com", true },
   { "rfxanalyst.com", true },
-  { "rfxt.com", true },
   { "rga.sh", true },
   { "rgbinnovation.com", true },
   { "rgbpty.com", true },
   { "rgcomportement.fr", false },
   { "rggraphics.mx", true },
+  { "rgiohio.com", true },
   { "rgpdkit.io", true },
   { "rgraph.net", true },
   { "rgz.ee", true },
@@ -44416,24 +46264,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rhd-instruments.com", true },
   { "rhd-instruments.de", true },
   { "rhees.nl", true },
-  { "rheijmans.com", true },
-  { "rheijmans.email", true },
+  { "rheijmans.io", true },
+  { "rheijmans.nl", true },
   { "rhein-liebe.de", true },
   { "rheinneckarmetal.com", true },
   { "rhese.net", true },
   { "rhetorical.ml", false },
   { "rhetthenckel.com", true },
+  { "rhevelo.com", true },
   { "rhhfoamsystems.com", true },
+  { "rhinecho.com", true },
   { "rhinelander.ca", true },
   { "rhinobase.net", false },
   { "rhinoceroses.org", true },
   { "rhodenmanorcattery.co.uk", true },
+  { "rhodos.fr", true },
   { "rhodri.io", true },
   { "rhowell.io", true },
   { "rhubarb.land", true },
   { "rhumblineadvisers.com", true },
-  { "rhycloud.com", true },
-  { "rhymc.com", true },
   { "rhyme.com", true },
   { "rhymeswithmogul.com", true },
   { "rhymix.org", true },
@@ -44447,24 +46296,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ribtours.co", true },
   { "ricardo.nu", true },
   { "ricardobalk.nl", true },
+  { "ricardojsanchez.com.ar", true },
   { "ricardopq.com", true },
   { "ricardotaakehb.tk", true },
+  { "ricaribeiro.com.br", true },
   { "ricaud.me", true },
   { "riccardopiccioni.it", true },
-  { "ricci-ingenieria.com", true },
   { "riccy.org", true },
+  { "rice.id.au", true },
   { "riceadvice.info", true },
   { "richadams.me", true },
   { "richardbloomfield.blog", true },
   { "richardcrosby.co.uk", true },
   { "richardharpur.com", true },
   { "richardhicks.us", true },
+  { "richardinesrolltop.com", true },
   { "richardjgreen.net", true },
   { "richardlangham.plumbing", true },
   { "richardlangworth.com", true },
   { "richardlevinmd.com", true },
   { "richardlugten.nl", true },
-  { "richardramos.me", true },
   { "richardrblocker.net", true },
   { "richardschut.nl", true },
   { "richardson.cam", true },
@@ -44474,21 +46325,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "richardson.systems", true },
   { "richardson.tw", true },
   { "richardstonerealestate.com", true },
+  { "richardvd.nl", true },
   { "richardwarrender.com", true },
   { "richbutler.co.uk", true },
   { "richcat.tw", true },
   { "richecommecresus.com", true },
   { "richelelahaise.nl", true },
   { "richeyweb.com", true },
+  { "richie.cloud", true },
   { "richie.fi", true },
+  { "richie.network", true },
   { "richie.one", true },
   { "richie.pm", true },
+  { "richieheijmans.cloud", true },
   { "richieheijmans.com", true },
   { "richieheijmans.email", true },
   { "richieheijmans.eu", true },
-  { "richieheijmans.io", true },
+  { "richieheijmans.network", true },
   { "richieheijmans.nl", true },
+  { "richieheijmans.one", true },
+  { "richieheijmans.xyz", true },
   { "richlj.net", true },
+  { "richviajero.com", true },
   { "ricketyspace.net", true },
   { "ricki-z.com", true },
   { "rickmakes.com", true },
@@ -44500,21 +46358,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rickyromero.com", true },
   { "ricobaldegger.ch", true },
   { "ricochet.im", true },
+  { "ricomp.com.br", true },
   { "ricordisiciliani.it", true },
-  { "ricozienke.de", true },
+  { "ricoydesign.com", true },
   { "ridadihouse.com", true },
   { "riddimsworld.com", true },
   { "riddler.com.ar", true },
   { "rideapart.com", true },
-  { "rideintaxi.com", true },
   { "rident-estetic.ro", true },
   { "rides-japan.jp", true },
-  { "rideways.com", true },
   { "rideyourdamn.bike", true },
+  { "ridgarou.no-ip.org", true },
   { "ridhaan.co", true },
   { "ridingboutique.de", true },
   { "rido.ml", true },
-  { "riechsteiner.tech", true },
   { "riesenweber.id.au", true },
   { "riesheating.com", true },
   { "rievo.net", true },
@@ -44526,7 +46383,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "righettod.eu", true },
   { "righini.ch", false },
   { "rightbrain.training", true },
-  { "rightfold.io", true },
   { "rightlaw.nz", true },
   { "rightmovecanada.com", true },
   { "rightnetworks.com", true },
@@ -44536,7 +46392,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rightsolutionplumbing.com.au", true },
   { "rightstuff.link", false },
   { "righttobuy.gov.uk", true },
+  { "rigintegrity.com", true },
   { "rigsalesaustralia.com", true },
+  { "riho.moe", true },
   { "riight.online", true },
   { "riimihaku.fi", true },
   { "rijk-catering.nl", false },
@@ -44546,25 +46404,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rik.onl", true },
   { "riklewis.com", true },
   { "riku.pw", true },
+  { "rikunori.com.tw", true },
+  { "rikuras.cl", true },
   { "rile5.com", true },
-  { "rileyskains.com", true },
   { "rilish.cf", true },
   { "rimax.vn", true },
   { "rimcountrymuseum.org", true },
   { "rime.com.hr", true },
   { "rimeto.io", true },
   { "rimkereso.hu", true },
-  { "rimo.site", false },
+  { "rimo.site", true },
   { "rimorrecherche.nl", true },
   { "ringingliberty.com", true },
   { "ringjewellery.co.uk", true },
   { "ringofglory.gq", true },
+  { "ringtune.ir", true },
   { "rinkhill.com", true },
   { "rinsepimp.com", true },
   { "rinvex.com", true },
+  { "rinzler.io", true },
   { "rio-weimar.de", true },
   { "riograndesurgeons.com", true },
-  { "rioxmarketing.com", true },
   { "rioxmarketing.pt", true },
   { "rioxmarketing.us", true },
   { "rip-sport.cz", true },
@@ -44575,11 +46435,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ripley.red", true },
   { "ripmixmake.org", true },
   { "ripp-it.com", true },
-  { "ripple.com", true },
   { "riproduzionichiavi.it", true },
   { "riptidetech.io", true },
-  { "riptoforex.com", true },
-  { "riqy86.nl", true },
+  { "ripuree.com", true },
   { "ris-bad-wurzach.de", true },
   { "ris.fi", true },
   { "risada.nl", true },
@@ -44588,9 +46446,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rischard.org", true },
   { "rise-technologies.com", true },
   { "rise.global", true },
+  { "riselab.com.ua", true },
   { "riseup.net", true },
+  { "rishabh.me", true },
   { "rishikeshyoga.in", true },
   { "risiinfo.com", true },
+  { "risoscotti.es", true },
   { "risounokareshi.com", true },
   { "risparmiare.info", true },
   { "ristioja.ee", true },
@@ -44599,20 +46460,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ristorantefattoamano.it", true },
   { "ristorantelittleitaly.com", true },
   { "ristorantesamarkand.it", true },
-  { "ristoviitanen.fi", true },
   { "ristrutturazioneappartamenti.milano.it", true },
   { "ristrutturazioneappartamento.roma.it", true },
   { "ristrutturazioniappartamentinapoli.it", true },
   { "risxx.com", true },
   { "rit.space", true },
   { "ritel.nl", true },
-  { "riteway.rocks", true },
-  { "ritewayconcrete.com", true },
   { "ritirocalcinacci.viterbo.it", true },
-  { "ritsu-life.com", true },
   { "rittau.biz", true },
   { "rittau.org", true },
-  { "ritzlux.com.tw", true },
   { "rivaforum.de", true },
   { "rivalsa.cn", true },
   { "rivastation.de", true },
@@ -44621,26 +46477,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "riverford.co.uk", true },
   { "rivermist.com.au", true },
   { "riveroacessorios.com", true },
+  { "riveroflifegifts.com", true },
+  { "riverotravel.cl", true },
   { "riverridgecc.com", true },
   { "rivers.gov", true },
   { "riversidebaptistchurch.net", true },
   { "riversideradio.nl", true },
   { "riversmeet.co.uk", true },
-  { "riverviewcourtapts.com", true },
+  { "riverviewurologic.com", true },
   { "riverweb.gr", true },
   { "rivierasaints.ch", false },
+  { "riviere.pro", true },
+  { "rivingtongreenwich.co.uk", true },
   { "rivoflor.it", true },
   { "rivus.net", true },
   { "riwick.com", false },
   { "rix.ninja", true },
-  { "rixter.com", false },
   { "riyono.com", true },
   { "rizarus.com", true },
   { "rizospastis.gr", true },
   { "rj-onderneemt.nl", true },
   { "rjan.nl", true },
   { "rjrplay.com", true },
-  { "rk.mk", true },
+  { "rkbegraafplaats.com", true },
   { "rkfp.cz", true },
   { "rkmns.edu.in", true },
   { "rlahaise.nl", true },
@@ -44652,19 +46511,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rlove.org", true },
   { "rm-it.de", true },
   { "rmb.li", true },
+  { "rmc.edu", true },
   { "rmcbs.de", true },
   { "rmdscreen.com", true },
   { "rmeuropean.com", true },
-  { "rmit.me", true },
   { "rmm-i.com", true },
   { "rmmanfredi.com", true },
   { "rmrig.org", true },
-  { "rms.sexy", true },
   { "rmstudio.tw", true },
   { "rmsupply.nl", true },
   { "rnag.ie", true },
   { "rnbjunk.com", true },
   { "rngmeme.com", true },
+  { "rnoax.com", true },
   { "ro.search.yahoo.com", false },
   { "roach.nz", true },
   { "roachesofficial.com", true },
@@ -44676,18 +46535,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roamfreun.tk", true },
   { "roams.es", true },
   { "roams.mx", true },
+  { "roar.com.br", true },
   { "rob006.net", true },
   { "robandjanine.com", true },
   { "robbiecrash.me", true },
+  { "robbinsgaragedoorwenatchee.com", true },
+  { "robbysmets.be", true },
   { "robdavidson.network", true },
-  { "robert-foster.com", true },
-  { "robert-wiek-transporte.de", true },
+  { "robert-flynn.de", true },
+  { "robert-reisemobil.de", true },
   { "robertattfield.com", true },
-  { "robertayamashita.com", true },
-  { "robertayamashita.com.br", true },
   { "robertbln.com", true },
-  { "robertcrain.com.au", true },
-  { "robertg.me", true },
   { "robertglastra.com", true },
   { "roberthurlbut.com", true },
   { "robertkotlermd.com", true },
@@ -44704,6 +46562,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "robertsmits.be", false },
   { "robgorman.ie", true },
   { "robhorstmanshof.nl", true },
+  { "robicue.com", true },
   { "robigalia.org", false },
   { "robin.co.kr", true },
   { "robin.info", true },
@@ -44720,24 +46579,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "robocop.no", true },
   { "robodeal.cc", true },
   { "robodeidentidad.gov", true },
-  { "roboex.net", true },
   { "robohash.org", true },
   { "robokits.co.in", true },
   { "robot.car", true },
   { "robotattack.org", true },
   { "robotenmihogar.com", true },
-  { "robotham.org", true },
   { "robotkvarnen.se", true },
-  { "robototes.com", true },
   { "robots-ju.ch", true },
   { "robotsbigdata.com", true },
   { "robotstxt.com", true },
-  { "robottip.com", true },
   { "robpol86.com", true },
   { "robspc.repair", true },
   { "robspeed.rocks", true },
   { "robsutter.com", true },
-  { "robtatemusic.com", true },
   { "robtex.com", true },
   { "robu.in", true },
   { "robud.info", true },
@@ -44747,14 +46601,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rocis.gov", true },
   { "rocka.me", true },
   { "rockagogo.com", true },
-  { "rockbankland.com.au", true },
   { "rockcanyonbank.com", true },
   { "rockefellergroup.info", true },
+  { "rockernj.com", true },
   { "rocket-resume.com", true },
   { "rocketevents.com.au", true },
   { "rocketmill.co.uk", true },
   { "rocketr.net", true },
   { "rocketsandtutus.com", true },
+  { "rockfax.com", true },
+  { "rockfordtow.com", true },
+  { "rockfordtowing.com", true },
   { "rockinronniescastles.co.uk", true },
   { "rockitinflatables.co.uk", true },
   { "rocknwater.com", true },
@@ -44763,7 +46620,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rockthebabybump.com", true },
   { "rockymountainspice.com", true },
   { "rockypest.com.au", true },
+  { "rocmartialartsacademy.com", true },
+  { "rocsole.com", true },
   { "rocssti.net", true },
+  { "rod.run", false },
   { "rodchapman.com", true },
   { "rodelstein.eu", true },
   { "rodeobull.biz", true },
@@ -44775,6 +46635,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rodichi.net", true },
   { "rodinka.tk", true },
   { "rodinnebyvanie.eu", true },
+  { "rodkidesings.com", true },
   { "rodolfo.gs", true },
   { "rodomonte.org", true },
   { "rodrigoacevedo.com.uy", true },
@@ -44782,17 +46643,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rody-design.com", true },
   { "rodykossen.com", true },
   { "roeckx.be", true },
+  { "roed.gg", true },
+  { "roeden.dk", true },
   { "roeitijd.nl", false },
   { "roelenscitynews.ml", true },
-  { "roeleveld.nl", true },
   { "roelhollander.eu", true },
   { "roelof.io", true },
   { "roelsworld.eu", true },
   { "roemhild.de", true },
   { "roerstaafjes.nl", true },
-  { "rofai.biz", true },
   { "rofl.com.ua", true },
   { "rogagym.com", true },
+  { "rogard.fr", true },
   { "rogerhub.com", true },
   { "rogerkunz.ch", true },
   { "rogerriendeau.ca", true },
@@ -44815,6 +46677,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rohrle.com", true },
   { "roi.ovh", true },
   { "rointe.online", true },
+  { "roircop.info", true },
+  { "roiscroll.com", true },
   { "roisu.org", true },
   { "roka9.de", true },
   { "rokass.nl", true },
@@ -44824,11 +46688,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rokudenashi.de", true },
   { "roland.io", true },
   { "rolandlips.nl", true },
+  { "rolandoredi.com", true },
   { "rolandozarate.tk", true },
   { "rolandreed.cn", true },
   { "rolandszabo.com", true },
   { "rolandvanipenburg.com", true },
   { "rolecontj.com", true },
+  { "roleplaybdsm.com", true },
+  { "roll-bakery.com.tw", true },
   { "rolleyes.org", true },
   { "rollforadventure.com.au", true },
   { "rollingbarge.com", true },
@@ -44844,6 +46711,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "romainlapoux.fr", true },
   { "roman-pavlik.cz", true },
   { "roman.systems", true },
+  { "romancloud.com", true },
   { "romancoinsforsale.org", false },
   { "romande-entretien.ch", true },
   { "romanian.cam", true },
@@ -44851,7 +46719,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "romanpavlodar.kz", true },
   { "romantelychko.com", true },
   { "romantica-hotel.de", true },
-  { "romanticasfm.com", true },
   { "romanticschemer.com", true },
   { "romanticsexshopguatemala.com", true },
   { "romanticvillas.com.au", false },
@@ -44864,9 +46731,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rommelwood.de", true },
   { "romo-holidays.de", true },
   { "romo-holidays.dk", true },
+  { "romsey.org", true },
   { "romtex.co.uk", true },
+  { "romun.net", true },
   { "ronan-hello.fr", true },
-  { "ronbongamis.com", true },
+  { "ronbyrne.com", true },
   { "roncallijets.net", true },
   { "rondommen.nl", true },
   { "rondouin.fr", true },
@@ -44888,7 +46757,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roofingandconstructionllc.com", true },
   { "roofingomaha.com", true },
   { "roofsandbasements.com", true },
-  { "roohanionlinespiritualhelp.co.uk", true },
   { "rook-playz.net", true },
   { "rookiehpc.com", true },
   { "rookvrij.nl", true },
@@ -44897,7 +46765,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "room3b.eu", true },
   { "roombase.nl", true },
   { "roomee.tk", true },
-  { "roomguide.info", true },
   { "roomhub.jp", true },
   { "roomkey.com", true },
   { "roomlab.cl", true },
@@ -44906,8 +46773,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roopakv.com", true },
   { "roopakvenkatakrishnan.com", true },
   { "roosabels.nl", false },
-  { "rooselaers.com", true },
-  { "roosta.xyz", true },
   { "root-books.gq", true },
   { "root-books.ml", true },
   { "root-couture.de", true },
@@ -44929,8 +46794,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roots-example-project.com", true },
   { "roots.io", true },
   { "rootsandrain.com", true },
-  { "rootsbar.fr", false },
   { "rootscope.co.uk", false },
+  { "rootsskininstitute.com", true },
   { "rootstation.de", true },
   { "rootswitch.com", false },
   { "rootusers.com", true },
@@ -44940,8 +46805,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roryneville.com", true },
   { "rosa-spain.tk", true },
   { "rosabellas.co.uk", true },
+  { "rosahijab.com", true },
   { "rosalindgreenllc.com", true },
   { "rosalindturner.co.uk", true },
+  { "rosaquest.ru", true },
   { "rosbass.ru", true },
   { "rosbiznes.tk", true },
   { "rose-prism.org", true },
@@ -44993,6 +46860,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rottamazioni.it", true },
   { "rottweil-hilft.de", true },
   { "rotunneling.net", true },
+  { "rouair.com", true },
   { "rougechocolat.fr", true },
   { "roughcopy.com.au", true },
   { "roughgrain.com", true },
@@ -45009,11 +46877,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roundtoprealestate.com", true },
   { "roussos.cc", true },
   { "roussosmanos.gr", true },
-  { "rout0r.org", true },
   { "route-wird-berechnet.de", true },
   { "routerclub.ru", true },
-  { "routetracker.co", true },
   { "roverglobal.ga", true },
+  { "rovota.com", true },
   { "rowancasting.com", true },
   { "rowancasting.ie", true },
   { "rowancounty911.com", true },
@@ -45033,11 +46900,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "roy-buehring.de", true },
   { "roya-holding.com", true },
   { "royal-rangers.de", true },
+  { "royal818.com", true },
+  { "royal833.com", true },
   { "royal88.com", true },
+  { "royal929.com", true },
   { "royalacademy.org.uk", true },
   { "royalasianescorts.co.uk", true },
   { "royalaubar.com", true },
-  { "royalbeautyclinic.ir", true },
   { "royalbluewa3.cc", true },
   { "royalcavaliers.tk", true },
   { "royaleagletourism.com", true },
@@ -45049,7 +46918,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "royaloz.ma", true },
   { "royalpainters.co", true },
   { "royalpratapniwas.com", true },
-  { "royalpub.net", true },
   { "royalrangers.fi", true },
   { "royalstylefit.com", true },
   { "royaltube.net", true },
@@ -45058,13 +46926,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "royceandsteph.com", true },
   { "roycewilliams.net", true },
   { "roygerritse.nl", true },
-  { "roys.design", true },
+  { "roystowingrockford.com", true },
   { "royveenendaal.com", true },
-  { "rozalynne-dawn.ga", true },
   { "rozar.eu", true },
   { "rozhodce.cz", true },
   { "rpadonline.com", true },
   { "rpadovani.com", false },
+  { "rpattisonroofing.co.uk", true },
   { "rpgcampaign.website", true },
   { "rpgmaker.es", true },
   { "rpherbig.com", true },
@@ -45089,18 +46957,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rrwolfe.com", true },
   { "rs-aktuell.net", true },
   { "rs-maschinenverleih.de", true },
+  { "rs-solution.ch", true },
+  { "rs.wiki", true },
+  { "rs200.org", true },
   { "rs2ap33.com", true },
   { "rsa-erp.com", true },
   { "rsanahuano.com", true },
   { "rsap.ca", true },
   { "rsarchive.net", true },
   { "rsarchive.org", true },
+  { "rscturmoil.com", true },
   { "rsdisedezzari.it", true },
   { "rsec.kr", true },
   { "rsingermd.com", true },
   { "rsl.gd", true },
   { "rslnd.com", true },
-  { "rsm-liga.de", true },
   { "rsmith.io", true },
   { "rsp-blogs.de", true },
   { "rsquare.nl", true },
@@ -45111,15 +46982,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rssl.me", true },
   { "rssr.se", true },
   { "rsttraining.co.uk", true },
+  { "rswebsols.com", true },
   { "rswow.ru", true },
   { "rsync.eu", false },
   { "rt22.ch", true },
-  { "rtate.ca", true },
-  { "rtate.se", true },
   { "rtcx.net", true },
-  { "rtd.uk", true },
+  { "rte.mobi", true },
   { "rte.radio", true },
-  { "rte2fm.ie", true },
+  { "rte1.ie", true },
   { "rteaertel.ie", true },
   { "rtechservices.io", true },
   { "rteguide.ie", true },
@@ -45127,21 +46997,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rtejr.ie", true },
   { "rtenews.eu", true },
   { "rteone.ie", true },
+  { "rteplayer.co.uk", true },
   { "rteplayer.com", true },
+  { "rteplayer.ie", true },
+  { "rteplayer.org", true },
   { "rtesport.eu", true },
   { "rteworld.com", true },
   { "rtfch.ru", true },
   { "rtgnews.cf", true },
   { "rtho.me", true },
-  { "rthsoftware.cn", true },
+  { "rthsoftware.cn", false },
   { "rtmoran.org", true },
   { "rtrappman.com", true },
   { "rtsak.com", true },
   { "rtsr.ch", false },
+  { "rttvip.com", true },
   { "rttvvip.com", true },
   { "rtveen.nl", true },
   { "rtwcourse.com", true },
-  { "ru-e-business.com", true },
   { "ru-music.com", false },
   { "ru-sprachstudio.ch", true },
   { "ru.search.yahoo.com", false },
@@ -45154,18 +47027,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rubbleremovalhillcrest.co.za", true },
   { "rubbleremovalsbenoni.co.za", true },
   { "rubblerock.com", true },
-  { "ruben.am", false },
   { "rubenbaer.ch", true },
   { "rubenbarbero.com", true },
   { "rubenbrito.net", true },
   { "rubenkruisselbrink.nl", true },
+  { "rubenmamo.com", true },
+  { "rubenpeeters.ml", true },
   { "rubenroy.com", true },
   { "rubenruiz.org", true },
   { "rubens.cloud", true },
+  { "rubia.ca", true },
+  { "rubidium.ml", true },
   { "rubixstudios.com.au", true },
   { "rublacklist.net", true },
   { "ruby-auf-schienen.de", true },
-  { "rubyist.im", true },
   { "rubyist.today", true },
   { "rubylabs.am", true },
   { "rubymartin.com.au", true },
@@ -45190,6 +47065,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rudolphmarketing.com", true },
   { "rudrastyh.com", true },
   { "rue-de-la-vieille.fr", true },
+  { "ruediger-voigt.eu", true },
+  { "ruedigervoigt.de", true },
   { "rueduverre.com", true },
   { "rueegger.me", true },
   { "rueg.eu", true },
@@ -45210,9 +47087,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ruhproject.kz", true },
   { "ruhrmobil-e.de", true },
   { "ruhrnalist.de", true },
-  { "ruht.ro", true },
   { "ruicore.cn", true },
-  { "ruiming.me", true },
+  { "ruiming.me", false },
   { "ruin.one", true },
   { "ruitershoponline.nl", true },
   { "ruk.ca", true },
@@ -45221,11 +47097,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rulu.co", true },
   { "rulu.tv", true },
   { "rulutv.com", true },
+  { "rumahminimalisoi.com", true },
   { "rumartinez.es", true },
+  { "rumbasguayaquil.com", true },
   { "rumlager.de", true },
+  { "rummage4property.co.uk", true },
   { "rummey.co.uk", true },
   { "rumplesinflatables.co.uk", true },
-  { "rumtaste.com", true },
   { "rumtaste.de", true },
   { "run-it-direct.co.uk", true },
   { "run4gameplay.net", true },
@@ -45234,14 +47112,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rundesign.it", true },
   { "runebet.com", true },
   { "runefake.com", true },
+  { "runescape.wiki", true },
+  { "runetracker.org", true },
   { "runfitcoaching.com", true },
+  { "rungutan.com", true },
   { "runicspells.com", true },
   { "runklesecurity.com", true },
   { "runner.az", true },
   { "runningrabb.it", true },
   { "runreport.fr", true },
   { "runrocknroll.com", true },
-  { "runschrauger.com", true },
   { "runvs.io", true },
   { "ruobiyi.com", true },
   { "ruobr.ru", true },
@@ -45254,9 +47134,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ruralsuppliesdirect.co.uk", true },
   { "ruri.io", true },
   { "rusdigisolutions.com", true },
-  { "rusempire.ru", true },
   { "rusexmany.ml", true },
   { "rushball.net", true },
+  { "rushiiworks.com", true },
   { "rushpoppershop.co.uk", true },
   { "rushter.com", true },
   { "rushyo.com", true },
@@ -45274,23 +47154,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "russian-page.tk", true },
   { "russianbearsmotorsport.tk", true },
   { "russianbristol.tk", true },
-  { "russianescortsmumbai.com", true },
+  { "russianescortsmumbai.com", false },
   { "russianpunkrock.tk", true },
   { "russianrandom.com", true },
   { "russianrandom.ru", true },
   { "russstudios.com", true },
   { "russt.me", true },
+  { "rust-lang.codes", true },
   { "rust.cf", true },
   { "rust.mn", true },
   { "rustable.com", true },
+  { "rustfu.rs", true },
   { "rusticpathways.com.au", true },
   { "rustikalwallis.ch", true },
+  { "rustls.com", true },
+  { "rustls.org", true },
   { "rustpedia.net", true },
   { "rustyrambles.com", true },
   { "rusxakep.com", true },
   { "rutgerschimmel.nl", true },
   { "ruthbarrettmusic.com", true },
-  { "ruthiehallarsis.com", true },
+  { "ruthbellgrahammemorial.org", true },
   { "ruthmontenegro.com", false },
   { "rutiger.com", true },
   { "rutika.ru", true },
@@ -45303,10 +47187,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ruyatabirleri.com", true },
   { "ruzaevka.tk", true },
   { "ruzzll.com", true },
+  { "rv-jpshop.com", true },
   { "rva-asbestgroep.nl", true },
   { "rvdbict.nl", true },
+  { "rvender.cz", true },
   { "rvfit.dk", true },
   { "rvnoel.net", false },
+  { "rvoigt.eu", true },
+  { "rvpoweroutlet.com", true },
   { "rvsa2bevestigingen.nl", true },
   { "rvsa4bevestigingen.nl", true },
   { "rvsbevestigingen.nl", true },
@@ -45315,7 +47203,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rw.search.yahoo.com", false },
   { "rw2.de", true },
   { "rwky.net", true },
-  { "rws-cc.com", true },
   { "rws-vertriebsportal.de", true },
   { "rwx.ovh", true },
   { "rwx.work", true },
@@ -45323,6 +47210,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "rxbusiness.com", true },
   { "rxguide.nl", true },
   { "rxight.com", true },
+  { "rxyz.rocks", true },
   { "ryabinushka.tk", true },
   { "ryan-gehring.com", true },
   { "ryan-goldstein.com", true },
@@ -45334,6 +47222,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ryanmcdonough.co.uk", false },
   { "ryanparman.com", true },
   { "ryansmithphotography.com", true },
+  { "ryanteck.uk", true },
   { "ryazan-region.ru", true },
   { "rylandgoldman.com", true },
   { "rynekpierwotny.pl", true },
@@ -45341,6 +47230,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ryois.me", true },
   { "rys.pw", true },
   { "rythm.es", true },
+  { "ryu22e.org", true },
   { "ryuanerin.kr", true },
   { "ryuu.es", true },
   { "ryzhov.me", true },
@@ -45357,17 +47247,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "s-pro.io", true },
   { "s-s-paint.com", true },
   { "s-u.pw", true },
+  { "s-yuz.com", true },
   { "s007.co", true },
-  { "s1-llc.com", true },
   { "s10y.eu", true },
   { "s1128.com", true },
+  { "s13d.fr", true },
   { "s2i.ch", true },
   { "s2member.com", true },
-  { "s2p.moe", true },
   { "s2t.net", true },
   { "s36533.com", true },
   { "s36594.com", true },
   { "s3cur3.it", true },
+  { "s3dservices.io", true },
+  { "s3gfault.com", true },
   { "s3robertomarini.it", true },
   { "s404.de", true },
   { "s44.eu", true },
@@ -45385,7 +47277,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "s558.cc", true },
   { "s559.cc", true },
   { "s64.cz", true },
-  { "s81818.com", true },
+  { "s6o.de", true },
   { "s88.com", true },
   { "s8a.us", true },
   { "s92.cloud", true },
@@ -45402,8 +47294,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "saamhorigheidsfonds.nl", false },
   { "saas.de", true },
   { "saatchiart.com", true },
+  { "saathi.asia", true },
   { "saba-piserver.info", true },
-  { "sabahattin-gucukoglu.com", true },
   { "sabbat-wildfire.tk", true },
   { "sabbottlabs.com", true },
   { "sabedinovski.tk", true },
@@ -45421,6 +47313,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sacaleches.net", true },
   { "saccani.net", true },
   { "sachk.com", true },
+  { "sachse.info", true },
   { "sacians.tk", true },
   { "sackmesser.ch", true },
   { "saclier.at", true },
@@ -45428,7 +47321,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sacred-knights.net", true },
   { "sacredheart-cliftonheights.net", true },
   { "sacrome.com", true },
-  { "sadbox.es", true },
+  { "sad-berezka.ru", true },
   { "sadbox.org", true },
   { "sadbox.xyz", true },
   { "sadeghian.us", true },
@@ -45436,6 +47329,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sadhana.cz", true },
   { "sadhawkict.org", true },
   { "sadiejewellery.co.uk", true },
+  { "sadkodesign.com.ua", true },
   { "sadmansh.com", true },
   { "sadou.kyoto.jp", true },
   { "sadoun.com", true },
@@ -45444,6 +47338,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "saeder-krupp.de", true },
   { "saengsook.com", true },
   { "saengsuk.com", true },
+  { "saevor.com", true },
   { "saf.earth", true },
   { "safar.sk", true },
   { "safara.host", true },
@@ -45463,10 +47358,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "safegroup.pl", true },
   { "safeguardcommerce.com", true },
   { "safeguardhosting.ca", true },
-  { "safeinfra.nl", true },
+  { "safehero.com", true },
   { "safeitup.se", true },
   { "safejourney.education", true },
   { "safematix.com", true },
+  { "safenetwork.it", true },
   { "safeocs.gov", true },
   { "safercar.gov", true },
   { "saferequest.net", true },
@@ -45477,7 +47373,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "safescan.com", true },
   { "safesoundcounselingllc.com", true },
   { "safestore.io", true },
+  { "safethishome.com", true },
   { "safetycloud.me", true },
+  { "safetymp3.com", true },
+  { "safetynames.com", true },
   { "safetynetwork.me", true },
   { "safetyrange.com", true },
   { "safetysite.tips", true },
@@ -45496,35 +47395,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sagitta.hr", true },
   { "saglikhaber.tk", true },
   { "sagnette.xyz", true },
-  { "sagracefarms.com", true },
   { "sahajbooks.com", true },
   { "sahar.io", true },
   { "saharacloud.com", true },
   { "saharmassachi.com", true },
   { "sahb.dk", true },
   { "sahibinden.com", true },
-  { "sahilm.com", true },
   { "sahkotyot.eu", true },
   { "said.id", true },
   { "said.it", true },
   { "said.my.id", true },
-  { "saidtezel.com", true },
   { "saier.me", true },
   { "saifonvillas.com", true },
   { "saifoundation.in", true },
-  { "saigaocy.me", true },
+  { "saigaocy.moe", true },
   { "saigonflowers.com", true },
   { "saikarra.com", true },
   { "saikou.moe", true },
   { "saikouji.tokushima.jp", true },
   { "sail-nyc.com", true },
   { "sailanitours.com", true },
-  { "sailbookers.com", true },
+  { "sailing-yacht.club", true },
   { "sailingonward.com", true },
   { "sailormoonevents.org", true },
   { "sailormoongallery.org", true },
   { "sailormoonlibrary.org", true },
   { "sailwiz.com", true },
+  { "saimatravels.in", true },
   { "saimoe.moe", true },
   { "saimoe.org", true },
   { "sainetworks.net", true },
@@ -45564,9 +47461,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "saintphilipneri.org", true },
   { "saintpius.net", true },
   { "saintpolycarp.org", true },
+  { "sainzderozas.com", true },
   { "saipariwar.com", true },
   { "saiputra.com", true },
+  { "sairadio.net", true },
+  { "saisecure.net", true },
+  { "sait.at", true },
   { "saitapovan.com", true },
+  { "saito-koken.co.jp", true },
   { "saitrance.com", true },
   { "saitv.org", true },
   { "saityvkaluge.ru", true },
@@ -45575,21 +47477,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sajdowski.de", true },
   { "sajjadzaidi.com", true },
   { "sajtoskal.hu", false },
+  { "sajtr.ga", true },
   { "sakaki.anime.my", false },
   { "sakenohana.com", true },
-  { "sakerhetsbubblan.se", true },
   { "sakerhetskopiering.nu", true },
   { "sakostacloud.de", true },
   { "saksonski-szlak-parowozow.pl", true },
   { "sakura-paris.org", true },
   { "sakura.zone", true },
   { "sakuracommunity.com", true },
-  { "sakuradata.com", true },
   { "sakuraplay.com", true },
   { "sakuraz.net", true },
+  { "saladgo.id", true },
   { "salaire-minimum.com", true },
+  { "salaminos.no-ip.org", true },
   { "salamon-it.de", false },
   { "salandalairconditioning.com", true },
+  { "salariominimo.com.co", true },
   { "salde.net", true },
   { "saleduck.at", true },
   { "saleduck.ch", true },
@@ -45605,8 +47509,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "saledump.nl", true },
   { "salemedia.pro", true },
   { "salensmotors-usedcars.be", false },
-  { "salesactivities.de", true },
-  { "salesblackbelt.coach", true },
+  { "salentocab.com", true },
   { "salesflare.com", true },
   { "saletzki.de", true },
   { "salexy.kz", true },
@@ -45630,29 +47533,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "salonsantebienetre.ch", true },
   { "salrosadohimalaia.com", true },
   { "salsa-straubing.de", true },
-  { "salt-documentary.blog", true },
+  { "saltaranuncios.com", true },
   { "saltbythesea.com", true },
   { "saltedfish.network", true },
   { "saltercane.com", false },
   { "saltstack.cz", true },
+  { "saltsugarlove.de", true },
+  { "saltyfish.tech", true },
   { "salud.top", false },
   { "saluddecalidad.com", true },
   { "saludmas.site", true },
+  { "saluels.servemp3.com", true },
   { "salutethefish.com", true },
   { "salutethegrains.com", true },
   { "salutethepig.com", true },
   { "salva.re", true },
   { "salvadorinfantil.tk", true },
   { "salvagedfurnitureparlour.com", true },
-  { "salvameuba.com", true },
   { "salvandoalocombia.com", true },
-  { "salzerperu.com", true },
   { "sam-football.fr", true },
   { "sam66.cc", true },
-  { "sam88.cc", true },
   { "samalderson.co.uk", true },
   { "samanacafe.com", true },
   { "samandcatonline.tk", true },
+  { "samandej.ir", true },
   { "samandroscosrestaurant.com", true },
   { "samanthasgeckos.com", true },
   { "samappleton.com", true },
@@ -45665,7 +47569,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sambot22.tk", true },
   { "sambuchanan.tk", true },
   { "sambus.com", true },
-  { "samcentertech.com", true },
   { "samdev.io", true },
   { "samdrewtakeson.com", true },
   { "samegoal.com", true },
@@ -45673,11 +47576,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "samel.de", true },
   { "samenwerkingsportaal.nl", true },
   { "samenwerkingsportaal.tk", true },
+  { "samesound.ru", true },
   { "sameworks.com", true },
+  { "samfreaks.de", true },
   { "samhuri.net", true },
+  { "samiamelikian.com.br", true },
   { "samifar.in", true },
   { "samindgroup.com", true },
   { "samiratv.tk", true },
+  { "samisoft.ir", true },
   { "samiysok.cf", true },
   { "samizdat.cz", true },
   { "samkelleher.com", true },
@@ -45704,8 +47611,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "samuelkeeley.com", true },
   { "samuellaulhau.fr", false },
   { "samui-samui.de", false },
+  { "samuidiving.net", true },
   { "samusil.org", true },
   { "samvanderkris.xyz", true },
+  { "samwilberforce.com", true },
   { "samwrigley.co.uk", true },
   { "samwu.tw", true },
   { "samystic.com", true },
@@ -45720,31 +47629,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sanantoniolocksmithtx.com", true },
   { "sanasport.cz", true },
   { "sanasport.sk", true },
+  { "sanates.cz", true },
   { "sanatorii-sverdlovskoy-oblasti.ru", true },
   { "sanatorionosti.com.ar", true },
   { "sanbornteam.com", true },
   { "sancaktepehaber.tk", true },
+  { "sanctum.geek.nz", true },
   { "sanctumwealth.com", true },
+  { "sand-islets.de", true },
   { "sand-stoneinc.com", true },
   { "sand66.cc", true },
   { "sand66.com", true },
   { "sandalj.com", true },
   { "sandboxfp.com", true },
+  { "sandburner.net", true },
   { "sander.sh", true },
   { "sanderdorigo.nl", true },
   { "sanderkoenders.eu", true },
   { "sanderkoenders.nl", true },
+  { "sanderpoppe.com", true },
   { "sanderstech.solutions", true },
   { "sandervanderstap.nl", true },
   { "sandervankasteel.nl", false },
+  { "sandgatebaysidedental.com.au", true },
   { "sandhaufen.tk", true },
-  { "sandiegoluxuryhomes.org", true },
   { "sandiegoopticas.com", true },
   { "sandiegotown.com", true },
   { "sandmanintel.com", true },
   { "sandmarc.cz", true },
   { "sandor.wtf", true },
   { "sandr0.tk", true },
+  { "sandra-perlbach.de", true },
   { "sandrabernardo.com", true },
   { "sandrainden.nl", true },
   { "sandraindenfotografie.nl", true },
@@ -45754,12 +47669,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sandstroh.network", true },
   { "sandtears.com", true },
   { "sandtohand.com", true },
+  { "sandton-plumbing.co.za", true },
   { "sandtonescorts.com", true },
   { "sandtonplumber24-7.co.za", true },
   { "sandwichcouncil.tk", true },
   { "sandyrobsonhypnotherapy.co.uk", true },
-  { "sanemind.de", false },
-  { "sanemind.eu", false },
   { "sanepsychologen.nl", true },
   { "sanex.ca", true },
   { "sanfranciscopersonalinjuryattorney.us", true },
@@ -45773,7 +47687,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sanitairwinkel.nl", true },
   { "sanix.org", true },
   { "sanjosecolorectal.com", true },
-  { "sanjotech.space", true },
   { "sanketsu.ml", false },
   { "sanluisdequillota.tk", true },
   { "sanmuding.com", true },
@@ -45781,16 +47694,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sannesfotklinikk.no", true },
   { "sanogym.com", true },
   { "sanovnik.at", true },
-  { "sanpham-balea.org", true },
+  { "sanpei-design.com", true },
   { "sanqianssr.com", true },
+  { "sans-hotel.com", true },
   { "sanskritiyoga.com", true },
   { "sansonehowell.com", true },
-  { "santa-fell-from.space", true },
-  { "santaijia.com", true },
-  { "santamariaretreats.com", true },
+  { "santaijia.com", false },
   { "santamonicapost123.org", true },
   { "santegra.tk", true },
-  { "santensautomatics.be", true },
   { "santevie.ch", false },
   { "santi-club.de", true },
   { "santiagogarza.co", true },
@@ -45800,10 +47711,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "santo.fi", true },
   { "sanvitolocapobus.com", true },
   { "sanych-msk.ru", true },
-  { "saobancrafts.com", true },
   { "saol.eu", true },
+  { "saorsa.fr", true },
   { "saorsat.com", true },
   { "saorsat.ie", true },
+  { "saorsat.net", true },
   { "saorsat.tv", true },
   { "saorview.com", true },
   { "saorview.ie", true },
@@ -45817,18 +47729,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sapien-ci.com", true },
   { "sapience.com", true },
   { "sapindus.pl", true },
-  { "sapk.fr", true },
+  { "sapiperelining.com.au", true },
   { "saplumbers.com.au", true },
+  { "sapphi.st", true },
   { "sapphirepearl.com.sg", true },
   { "sapphireservicesga.com", true },
   { "sapporobeer.com", true },
   { "sapprendre.ch", false },
   { "saprima.de", false },
+  { "sapuseven.com", true },
   { "saputra.org", true },
   { "saq.com", true },
-  { "sarae.id", true },
   { "sarah-jane.nl", true },
   { "sarahbeckettharpist.com", true },
+  { "sarahjanecreates.co.uk", true },
   { "sarahlicity.co.uk", true },
   { "sarahlicity.me.uk", true },
   { "sarahplusdrei.de", true },
@@ -45847,22 +47761,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sarbash.ee", true },
   { "sard.ro", true },
   { "sardacompost.it", true },
+  { "sardinianvillas.co.uk", true },
   { "sardinianvillas.com", true },
+  { "sardinianvillas.ru", true },
   { "sarella.org", true },
   { "sarhua.tk", true },
   { "sarink.eu", true },
   { "sarjakuvakauppa.fi", true },
-  { "sarkaariseva.live", true },
   { "sarkisianbuilders.com", true },
   { "sarkoziadam.hu", true },
   { "sarny.at", true },
   { "saro.me", true },
   { "saronikos.city", true },
+  { "saronikos.guide", true },
   { "saropa.com", true },
   { "sarpsb.org", true },
   { "sartoria.roma.it", true },
   { "sarumtechnologies.com", true },
-  { "sas-snowboarding.sk", true },
   { "sascha.io", true },
   { "sascha.is", true },
   { "saschaeggenberger.ch", true },
@@ -45870,10 +47785,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sash.pw", true },
   { "sashaokun.com", true },
   { "sashascollections.com", true },
-  { "sashka.com.ua", true },
+  { "sashleighaust.com", true },
   { "sasioglu.co.uk", true },
   { "saskadoodle.com", true },
-  { "saskpension.com", true },
   { "sasquatt.com.br", true },
   { "sasrobotics.xyz", true },
   { "sassandbelle.co.uk", true },
@@ -45882,13 +47796,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sassandbelletrade.com", true },
   { "sastd.com", true },
   { "sasyabapi.com", true },
+  { "sat-kw.net", true },
   { "sat4all.com", true },
   { "satai.dk", true },
   { "satal.in", true },
   { "satania.moe", true },
   { "satanspowers.tk", true },
   { "satario.vn", true },
+  { "satellite-prof.com", true },
   { "satellites.hopto.me", true },
+  { "satellitetv-deal.com", true },
   { "satimagingcorp.com", true },
   { "satinn.pl", true },
   { "satmali.az", true },
@@ -45899,7 +47816,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sattaresult.net", true },
   { "saturn.pl", true },
   { "satyanarayana.xyz", true },
-  { "saudeealimentos.com", true },
   { "saudenoclique.com.br", true },
   { "sauerbrey.eu", true },
   { "sauerland-schnittgruen.de", true },
@@ -45927,7 +47843,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "save-me-aachen.de", true },
   { "savebees.org", true },
   { "savecrypto.org", true },
-  { "savemylicence.co.uk", true },
+  { "savejobsshoplocal.com", true },
   { "saveoney.ca", true },
   { "saveonkitchens.com", true },
   { "savetheinternet.eu", true },
@@ -45942,17 +47858,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "savorvip.ir", true },
   { "sawyerroofing.com", true },
   { "saxeandthecity.com", true },
-  { "saxojoe.co.uk", true },
+  { "saxis.dk", true },
   { "saxojoe.de", true },
   { "saxoncreative.com", true },
   { "saxonsink.com", true },
   { "saxotex.de", true },
   { "saxowert.de", true },
   { "saxwereld.nl", true },
-  { "sayprepay.com", true },
+  { "say-it-loud.com", true },
   { "sayrodigital.com", true },
   { "sayura.net", true },
-  { "sayver22.com", true },
   { "saz.sh", true },
   { "saz9001.com", true },
   { "sazavafest.cz", true },
@@ -45966,18 +47881,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sbanken.no", true },
   { "sbaten.nl", true },
   { "sbblog.cn", true },
+  { "sbbz-bad-wurzach.de", true },
   { "sbcargo.com", true },
+  { "sbconstrucciones.com", true },
   { "sber.us", true },
   { "sberbank.ch", true },
   { "sberna-fotofast.cz", true },
   { "sbf888.com", true },
-  { "sbgroup.dk", true },
   { "sbiewald.de", true },
   { "sbir.gov", true },
   { "sbirecruitment.co.in", true },
-  { "sbit.com.br", true },
   { "sbivc.jp", true },
-  { "sbl001.com", true },
   { "sbo-dresden.de", true },
   { "sbrouwer.org", true },
   { "sbrownbourne.com", true },
@@ -45985,9 +47899,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sbscyber.com", true },
   { "sbsrv.ml", true },
   { "sbssoft.ru", true },
-  { "sbstattoo.com", true },
   { "sbytes.info", true },
-  { "sc-artworks.co.uk", true },
+  { "sc-artworks.co.uk", false },
+  { "sc019.com", true },
   { "sc5.jp", true },
   { "scaarus.com", true },
   { "scaffalature.roma.it", true },
@@ -45996,6 +47910,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scaffoldhiremidrand.co.za", true },
   { "scaffoldhirerandburg.co.za", true },
   { "scaffoldhiresandton.co.za", true },
+  { "scag9.com", true },
   { "scalaire.com", true },
   { "scalaire.fr", true },
   { "scale.roma.it", true },
@@ -46004,7 +47919,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scallywagsbouncycastles.co.uk", true },
   { "scallywagskids.co.uk", true },
   { "scalpel.com", true },
-  { "scamblockplus.org", true },
   { "scan.co.uk", true },
   { "scan2key.com", true },
   { "scandalindo.ml", true },
@@ -46015,10 +47929,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scanmailx.com", true },
   { "scanpay.dk", true },
   { "scapdoors.ca", true },
+  { "scarabcoder.com", true },
   { "scarafaggio.it", true },
   { "scarinex.tk", true },
   { "scatsbouncingcastles.ie", true },
+  { "scatters.com", true },
+  { "scatterscasino.com", true },
   { "scbdh.org", true },
+  { "sccd.co.uk", true },
   { "sccimo.com", true },
   { "scde.ventures", true },
   { "sceenfox.de", true },
@@ -46040,35 +47958,39 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schadevergoedingen.eu", true },
   { "schaffensdrang.at", true },
   { "schafgarbe-tee.de", true },
+  { "schafzwitschern.blog", false },
   { "schamlosharmlos.de", true },
   { "schastie.ml", true },
   { "schat.top", true },
   { "schatzibaers.de", true },
   { "schawe.me", true },
   { "schbebtv.fr", true },
-  { "scheduleme.io", true },
+  { "scheervergelijker.nl", true },
   { "schefczyk.com", true },
   { "schefczyk.de", true },
   { "schefczyk.eu", true },
   { "schefczyk.net", true },
+  { "scheidingspuntlansingerland.nl", true },
+  { "scheidsrechtersinfo.nl", true },
   { "scheinerhaus.at", true },
   { "scheinlichter.de", true },
   { "schellebelle.tk", true },
+  { "schellenberger.biz", true },
   { "schellevis.net", true },
   { "schemingmind.com", true },
   { "schenkes.de", false },
   { "scherfke.de", true },
   { "schermkapot.nl", true },
   { "scheuchenstuel.at", true },
-  { "schgroup.com", true },
+  { "schiau.co", true },
   { "schier.info", true },
   { "schil.li", true },
   { "schildbach.de", true },
   { "schillers-friedberg.de", true },
   { "schipholwatch.nl", true },
   { "schippendale.de", true },
-  { "schippers-it.nl", true },
   { "schizoids.net", true },
+  { "schizomatrix.tk", true },
   { "schlachter.ca", true },
   { "schlaf.guru", true },
   { "schlagenhauf.info", true },
@@ -46083,7 +48005,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schlueter-software.de", true },
   { "schmaeh-coaching.ch", true },
   { "schmatloch.cloud", true },
-  { "schmelle.me", true },
+  { "schmelle.me", false },
   { "schmidthomes.com", true },
   { "schmidtlohwasser.de", true },
   { "schmidtplasticsurgery.com", true },
@@ -46091,11 +48013,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schmitt-max.com", true },
   { "schmuggelware.de", false },
   { "schnapke.name", true },
-  { "schneckenhilfe.de", true },
+  { "schneckenhilfe.de", false },
   { "schnegg.name", false },
   { "schneidr.de", true },
   { "schneids.me", true },
   { "schnellno.de", true },
+  { "schnitzel-und-co.de", true },
   { "schnouki.net", true },
   { "schnuckenhof-wesseloh.de", true },
   { "schnyder-werbung.ch", true },
@@ -46108,6 +48031,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schoknecht.one", true },
   { "schoko-ferien.de", true },
   { "schokoferien.de", true },
+  { "schokofoto.de", true },
   { "schokokeks.org", true },
   { "schokoladensouffle.eu", true },
   { "scholar.group", true },
@@ -46116,17 +48040,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scholarnet.cn", true },
   { "scholarshipplatform.com", true },
   { "scholarshipsplatform.com", true },
-  { "scholarstyle.com", true },
+  { "scholarstyle.com", false },
   { "scholieren.com", true },
   { "scholtensupport.nl", true },
   { "scholz-kallies.de", true },
   { "schonstedt.com", true },
   { "schont.org", true },
-  { "school-b.us", true },
   { "school-register.co.za", true },
   { "schoolantwoorden.tk", true },
-  { "schoolarchive.net", true },
-  { "schoolbus.at", true },
   { "schoolcafe.com", true },
   { "schoolofphilosophy.org.au", true },
   { "schoolroom.ga", true },
@@ -46140,8 +48061,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schrauger.info", true },
   { "schrauger.net", true },
   { "schrauger.org", true },
-  { "schrauger.run", true },
-  { "schraugerrun.com", true },
   { "schreibers.ca", true },
   { "schreinerei-jahreis.de", true },
   { "schreinerei-schweikl.de", true },
@@ -46149,19 +48068,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schritt4fit.de", true },
   { "schrodingersscat.com", true },
   { "schrodingersscat.org", true },
-  { "schroeder-immobilien-sundern.de", true },
   { "schroepfi.de", true },
   { "schrolm.de", true },
   { "schsrch.xyz", true },
   { "schtiehve.duckdns.org", true },
   { "schubergphilis.com", true },
   { "schubertgmbh-ingelheim.de", true },
-  { "schuelerzeitung-ideenlos.de", true },
   { "schuetzen-ehrenbreitstein.de", true },
   { "schuhbedarf.de", true },
   { "schuhwerkstatt.at", true },
+  { "schuhzoo.de", true },
   { "schul-bar.de", true },
   { "schulderinsky.de", true },
+  { "schule.wtf", true },
   { "schuler.st", true },
   { "schulfotograf-deinfoto.ch", true },
   { "schull.ch", false },
@@ -46194,7 +48113,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "schwuppengrillen.de", false },
   { "scicomm.xyz", true },
   { "science-network.ch", true },
-  { "science-questions.org", true },
   { "science-texts.de", true },
   { "science.gov", true },
   { "sciencebase.gov", true },
@@ -46205,11 +48123,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sciencetram.tk", true },
   { "sciencex.com", true },
   { "scigov.xyz", true },
+  { "sciguyryan.com", true },
   { "scijinks.gov", true },
   { "scilifebiosciences.com", true },
-  { "scimage.com", true },
   { "scintilla.nl", true },
-  { "scintillating.stream", true },
   { "scip.ch", true },
   { "scislowcy.pl", true },
   { "scistarter.com", true },
@@ -46220,6 +48137,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scohetal.de", true },
   { "scolasti.co", true },
   { "scom.org.uk", true },
+  { "scoolcode.com", true },
   { "scoop6.co.uk", true },
   { "scootaloo.co.uk", true },
   { "scooter-experts.com", true },
@@ -46231,16 +48149,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scotthelme.co.uk", true },
   { "scotthelmesucks.com", true },
   { "scottipc.com", true },
+  { "scottishcca.co.uk", true },
   { "scottishcu.org", true },
   { "scottishseniorsgolf.com", true },
   { "scottlanderkingman.com", true },
   { "scottmay.id.au", true },
+  { "scottrae.me.uk", true },
+  { "scotts-restaurant.com", true },
   { "scottseditaacting.com", true },
   { "scottshorter.com.au", true },
   { "scottspainting.com", true },
-  { "scottynordstrom.org", false },
   { "scouting-wageningen.nl", true },
   { "scoutingridderkerk.nl", true },
+  { "scoutingtheworld.co.uk", true },
   { "scoutingtungelroy.nl", true },
   { "scoutnet.de", true },
   { "scouttrails.com", true },
@@ -46279,10 +48200,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "script.google.com", true },
   { "scripter.co", true },
   { "scriptgates.ru", true },
+  { "scriptic.xyz", true },
+  { "scriptjunkie.us", true },
   { "scriptomania.tk", true },
   { "scriptslug.com", true },
   { "scriptum.gr", true },
-  { "scrisulfacebine.ro", true },
   { "scrivito.com", true },
   { "scrod.me", true },
   { "scroll.in", true },
@@ -46305,11 +48227,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "scuolamazzini.livorno.it", true },
   { "scurtam.tk", true },
   { "sd.af", true },
+  { "sd4u.be", true },
   { "sda.one", true },
   { "sdcardrecovery.de", true },
   { "sdebitati.it", true },
   { "sdeu.fr", true },
-  { "sdfleetmanagement.com", true },
   { "sdg-tracker.org", true },
   { "sdgllc.com", true },
   { "sdho.org", true },
@@ -46330,8 +48252,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "se.com", true },
   { "se.gg", true },
   { "se.search.yahoo.com", false },
+  { "se86.us", true },
   { "seabehind.me", true },
-  { "seabooty.com", true },
   { "seabrooklocksmith.com", true },
   { "seac.me", true },
   { "seachef.it", true },
@@ -46344,7 +48266,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sealoffantasy.de", true },
   { "sealtitebasement.com", true },
   { "seamester.com", true },
-  { "seamless.no", true },
   { "seamoo.se", true },
   { "seamus.party", true },
   { "sean-wright.com", true },
@@ -46371,6 +48292,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "searx.one", true },
   { "searx.rocks", true },
   { "searx.ru", true },
+  { "searx.run", true },
   { "searx.xyz", true },
   { "seasidestudios.co.uk", true },
   { "season.moe", true },
@@ -46396,12 +48318,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sebastiaanwijnimport.nl", true },
   { "sebastian-janich.de", true },
   { "sebastian-kuhnert.de", true },
-  { "sebastian.expert", true },
+  { "sebastian-walla.com", true },
   { "sebastianblade.com", true },
   { "sebastianboegl.de", true },
   { "sebastianungureanu.com", true },
   { "sebastiaperis.com", true },
-  { "sebastiensenechal.com", true },
   { "sebasveeke.nl", true },
   { "seberova.cz", true },
   { "sebi.org", true },
@@ -46415,6 +48336,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sec.ec", true },
   { "sec.gd", true },
   { "sec.gov", true },
+  { "sec30.com", true },
   { "sec3ure.co.uk", true },
   { "sec455.com", true },
   { "sec530.com", true },
@@ -46424,6 +48346,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "secgui.de", true },
   { "sech.me", true },
   { "secinto.at", true },
+  { "secinto.com", true },
   { "secnews.gr", true },
   { "secomo.org", true },
   { "second-life-partner-ichien.com", true },
@@ -46434,13 +48357,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "secpatrol.de", true },
   { "secretagentclub.tk", true },
   { "secretary-schools.com", true },
+  { "secrethub.io", true },
   { "secretpanties.com", true },
   { "secretsdujeu.com", true },
   { "secretserveronline.com", true },
   { "secretum.tech", true },
   { "secrium.io", true },
-  { "secteer.com", true },
   { "sectelligence.nl", true },
+  { "sectember.com", true },
+  { "sectember.events", true },
+  { "secthirty.com", true },
   { "sectio-aurea.org", true },
   { "section-31.org", true },
   { "section.io", true },
@@ -46451,9 +48377,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sector5.xyz", true },
   { "sectun.com", true },
   { "secumailer.com", true },
-  { "secumailer.eu", true },
   { "secumailer.nl", true },
   { "secundity.nl", true },
+  { "secur3.us", true },
   { "securai.de", true },
   { "secure-computing.net", true },
   { "secure-graphic.de", true },
@@ -46475,32 +48401,41 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "securemailbox.com", true },
   { "securemantra.net", true },
   { "securemessage.nl", true },
-  { "securemy.website", true },
+  { "securemind.ch", true },
   { "securenets.nl", true },
   { "secureobscure.com", true },
   { "secureonline.co", true },
   { "securepress.io", true },
-  { "securetasks.net", true },
+  { "securesense.nl", true },
+  { "securesystems.de", true },
   { "securethe.news", true },
   { "securetrustbank.com", true },
   { "securevideo.com", true },
   { "securewebcomputing.com", true },
   { "secureworks.com", true },
+  { "secureyourerp.nl", true },
   { "securi-tay.co.uk", true },
+  { "securify.nl", true },
   { "securist.nl", true },
+  { "securitelandry.com", true },
   { "security-24-7.com", true },
   { "security-brokers.com", true },
   { "security.gives", true },
   { "security.google.com", true },
   { "security.love", true },
+  { "security.pl", true },
   { "security201.co.uk", true },
   { "security201.com", true },
+  { "securitybrief.asia", true },
+  { "securitybrief.co.nz", true },
+  { "securitybrief.com.au", true },
+  { "securitybrief.eu", true },
   { "securitybsides.pl", false },
-  { "securitycamerascincinnati.com", true },
   { "securitydriver.com", true },
   { "securityescrownews.com", true },
   { "securityfest.com", true },
   { "securitygladiators.com", true },
+  { "securityhandbook.cz", true },
   { "securityheaders.com", true },
   { "securityheaders.io", true },
   { "securityheaders.nl", true },
@@ -46513,7 +48448,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "securitysnobs.com", false },
   { "securitystreak.com", true },
   { "securitytrails.com", true },
-  { "securitywithnick.com", true },
   { "securitywithoutborders.org", true },
   { "securview.ch", true },
   { "secutrans.com", true },
@@ -46526,7 +48460,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sedmicka.sk", false },
   { "sedoexpert.nl", true },
   { "sedoexperts.nl", true },
-  { "sedomicilier.fr", true },
   { "see.asso.fr", true },
   { "see.wtf", true },
   { "seedandleisure.co.uk", true },
@@ -46553,17 +48486,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "segnalabullo.eu", true },
   { "segnalabullo.it", true },
   { "segnidisegni.eu", true },
-  { "segtronix.com", true },
   { "seguimosganando.com", true },
   { "segulink.com", true },
   { "seguridadconsumidor.gov", true },
+  { "seguridadsistem.tech", true },
+  { "seguridadsistemtienda.tech", true },
   { "seguridadysaludeneltrabajo.com.co", true },
   { "seguros-de-salud-y-vida.com", true },
   { "segurosbalboa.com.ec", false },
-  { "segurosmaurobracchieri.com", true },
   { "segurosocial.gov", false },
   { "seguroviagem.srv.br", false },
-  { "sehablazolano.com", true },
   { "sehd.top", true },
   { "sehnenweh.org", true },
   { "seibert.ninja", true },
@@ -46579,6 +48511,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "seitai-nabejun.jp", true },
   { "seitai-taiyou.com", true },
   { "seitenwaelzer.de", true },
+  { "sejageek.com", true },
   { "sek.ai", true },
   { "sekainokokki.jp", true },
   { "sekfung.me", true },
@@ -46599,9 +48532,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "selectionengine.com", true },
   { "selectionengine.net", true },
   { "selectionengine.org", true },
+  { "selectra.pt", true },
   { "selegiline.com", true },
   { "selekzo.com", true },
-  { "seleondar.ru", true },
   { "self-business.tk", true },
   { "self-evident.org", true },
   { "self-xss.info", true },
@@ -46629,32 +48562,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sellorbuy.uk", true },
   { "sellorbuy.us", true },
   { "selltous.com.au", true },
+  { "sellwithsquare.com", true },
   { "selo-cer.tk", true },
   { "seloc.org", true },
   { "seltendoof.de", true },
   { "semacode.com", true },
-  { "semaf.at", true },
   { "semaflex.it", true },
-  { "semakincantik.com", true },
   { "semantica.cz", false },
   { "semaphore-studios.com", true },
   { "sembyotic.com", true },
   { "semdynamics.com", true },
   { "semenov.ml", true },
+  { "semerkhet.com", true },
+  { "semesur.com", true },
   { "seminariosvip.com", true },
   { "seminariruum.ee", true },
+  { "seminarraum-isny.de", true },
   { "semiocast.com", true },
   { "semiotical.com", false },
   { "semiotika.tk", true },
   { "semiread.com", true },
   { "semjonov.de", true },
-  { "semmuhely.tk", true },
   { "semobr.cf", true },
   { "semops.gq", true },
   { "semox.de", true },
+  { "semplicementelight.com", true },
   { "semps-2fa.de", true },
   { "semps-threema.de", true },
   { "semps.de", true },
+  { "semriscos.pt", true },
   { "semsec.net", true },
   { "sen.bo", true },
   { "senarius.de", true },
@@ -46672,8 +48608,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sendzik.eu", true },
   { "senego.com", true },
   { "senekalstorageman.co.za", true },
-  { "sengoku-okayama.net", true },
-  { "sengokulife.com", true },
+  { "senergyconsultants.com", true },
   { "senhost.tk", true },
   { "seniorem.eu", true },
   { "seniorhost.net", true },
@@ -46684,12 +48619,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "senobio.com", true },
   { "sens2lavie.com", true },
   { "sensebridge.net", true },
+  { "senseonline.co.il", true },
   { "sensepixel.com", true },
   { "senshot.com", true },
   { "senshudo.tv", true },
+  { "sensivo.eu", true },
   { "sensor-dream.ru", true },
   { "sensorville.com.br", true },
-  { "sensory-brands.com", true },
   { "sensualism.com", true },
   { "sensuality-models.com", true },
   { "sentandsecure.com", true },
@@ -46700,13 +48636,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sentinelproject.io", true },
   { "sentry.io", true },
   { "sentry.nu", true },
+  { "sentworks.com", true },
   { "senu.pro", true },
   { "senzaparole.de", true },
   { "seo-analyse.com", true },
   { "seo-dr-it.com", true },
   { "seo-forum.nu", true },
   { "seo-linz.at", true },
-  { "seo-nerd.de", true },
   { "seo-obmen.tk", true },
   { "seo-phpbb.cf", true },
   { "seo-piar.tk", true },
@@ -46718,32 +48654,29 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "seoankara.name.tr", true },
   { "seobutler.com", true },
   { "seodayo.com", true },
-  { "seoenmexico.com.mx", true },
   { "seoexpert.com.br", true },
   { "seogeek.nl", true },
   { "seohackers.fr", true },
-  { "seoharish.com", true },
   { "seohouston.com", true },
   { "seoinc.com", true },
+  { "seoium.com", true },
   { "seojames.com", true },
+  { "seolab.amsterdam", true },
   { "seolabuitest.azurewebsites.net", true },
   { "seolotsen.de", true },
   { "seomarketing.bg", true },
   { "seomaton.com", true },
   { "seomaton.org", true },
-  { "seomik.dk", true },
   { "seon.me", true },
   { "seoonline.cf", true },
-  { "seoquake.com", true },
   { "seorus.cf", true },
-  { "seosec.xyz", true },
   { "seoserfing.tk", true },
   { "seosof.com", true },
   { "seoul.dating", true },
   { "seovision.se", true },
   { "seoviziti50.tk", true },
   { "seowebexpert.co.uk", true },
-  { "seowordpress.pl", true },
+  { "seowerkz.com", true },
   { "seowork.tk", true },
   { "seozel.tk", true },
   { "sepalandseed.com", true },
@@ -46753,6 +48686,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "septicrepairspecialists.com", true },
   { "septonol.tk", true },
   { "septs.blog", true },
+  { "sequachee.com", true },
   { "sequencing.com", true },
   { "sequiturs.com", true },
   { "sera.jp", true },
@@ -46760,9 +48694,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "serban.ro", true },
   { "serbanpaun.ro", true },
   { "serbianclimbing.com", false },
+  { "serdarwork.com", true },
   { "sereema.com", true },
   { "serele.fr", true },
   { "serenaden.at", true },
+  { "serenascreations.com", true },
   { "serenavilage.net", true },
   { "serenavillage.net", true },
   { "serenavillageresidence.com", true },
@@ -46779,13 +48715,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "serialexperiments.co.uk", true },
   { "serienstream.to", true },
   { "seriesdatv.pt", true },
+  { "seriesfeed.com", true },
   { "serigraphs.co.uk", true },
   { "serinamusic.com", true },
   { "seriousaboutsecurity.com", true },
   { "seriousclimbing.com", true },
-  { "seriouss.am", true },
-  { "serkanceyhan.com", true },
-  { "serkaneles.com", true },
+  { "serkanyarbas.com", true },
+  { "serkanyarbas.com.tr", true },
+  { "sermasvital.com", true },
   { "sernate.com", true },
   { "serotiuk.com", false },
   { "serpenteq.com", true },
@@ -46794,15 +48731,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "serrano-chris.ch", false },
   { "serrature.roma.it", true },
   { "seru.eu", true },
-  { "serve-a.com.au", true },
-  { "servea.com.au", true },
-  { "serveatechnologies.com", true },
+  { "servcom.net.au", true },
   { "servepublic.com", true },
   { "servepublic.org", true },
   { "server-daten.de", true },
   { "server-essentials.com", true },
-  { "server-eye.com", true },
-  { "server-eye.de", true },
   { "serveradium.com", true },
   { "serverco.com", true },
   { "serverd.de", true },
@@ -46810,7 +48743,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "serverfrog.de", true },
   { "serverhost.no", true },
   { "serverhunter.com", true },
-  { "serverlog.net", true },
+  { "servermacher.de", true },
   { "servermaster.sk", true },
   { "serverninja.tk", true },
   { "serveroffline.net", false },
@@ -46820,9 +48753,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "serverstuff.info", true },
   { "serversuit.com", true },
   { "servertastic.com", true },
+  { "servertutorial.eu", true },
   { "servethecity-karlsruhe.de", true },
   { "servetten-groothandel.nl", true },
-  { "servettorna.com", true },
   { "serveur.nl", true },
   { "serveursminecraft.org", true },
   { "servgate.jp", true },
@@ -46831,6 +48764,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "serviceboss.de", true },
   { "serviceinconstanta.ro", true },
   { "servicerequesthub.io", true },
+  { "servicestechnologiquesam.ca", true },
   { "serviciales.com", true },
   { "servicios-electricos.com", true },
   { "servida.ch", true },
@@ -46849,10 +48783,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "servo.org", true },
   { "servtraq-staging.azurewebsites.net", true },
   { "servtraqazure.com", true },
-  { "servx.org", true },
   { "serw.org", true },
   { "serwetki-papierowe.pl", true },
-  { "serwusik.pl", true },
   { "seryox.com", true },
   { "sesam-biotech.com", true },
   { "sesamecare.com", true },
@@ -46887,13 +48819,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "seva.fashion", true },
   { "sevastopol.tk", true },
   { "sevathian.com", true },
+  { "seven-purple.com", true },
   { "sevencooks.com", true },
   { "sevenhillsapartments.com.au", true },
   { "sevenicealimentos.com.br", true },
   { "seventwentynine.com", true },
   { "severntrentinsuranceportal.com", true },
   { "sevilinux.es", true },
-  { "sevipro.mx", true },
   { "sevocomm.com", true },
   { "sevsey.ru", true },
   { "sewa.nu", true },
@@ -46902,6 +48834,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sewatec.com", true },
   { "sewfarsewgood.co.uk", true },
   { "sewfarsewgood.uk", true },
+  { "sewing-machines.com.ua", true },
   { "sewing-world.ru", true },
   { "sewinginsight.com", true },
   { "sewoo.co.uk", true },
@@ -46916,30 +48849,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sexmobil.de", true },
   { "sexocomgravidas.com", true },
   { "sexologist.cf", true },
+  { "sexonosalao.com", true },
   { "sexoyrelax.com", true },
   { "sexplicit.co.uk", true },
   { "sextop1.pro", true },
   { "sexy-store.nl", true },
+  { "sexyblonds.net", true },
+  { "sexyfish.com", true },
   { "sexyfotosvandep.nl", true },
   { "sexymassageoil.com", true },
   { "sexytagram.com", true },
+  { "seyfarth.de", true },
   { "seyhanlar.com", true },
   { "seyr.me", true },
   { "sfa.sk", true },
   { "sfaparish.org", true },
   { "sfaturiit.ro", true },
+  { "sfbao.com", true },
   { "sfdev.ovh", true },
   { "sfg-net.com", true },
   { "sfg-net.eu", true },
   { "sfg-net.net", true },
   { "sfg-net.org", true },
   { "sfg-nordholz.de", true },
+  { "sfil.fr", true },
   { "sfile.eu", true },
   { "sfirat-haomer.com", true },
   { "sfleisure.com", true },
   { "sfo-fog.ch", false },
+  { "sfpebblesstones.com", true },
   { "sft-framework.org", true },
   { "sftool.gov", true },
+  { "sfvonline.nl", true },
   { "sg-elektro.de", true },
   { "sg.search.yahoo.com", false },
   { "sg1.tech", true },
@@ -46948,7 +48889,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sgcy.vip", true },
   { "sgdementia.ca", true },
   { "sggame990.com", true },
-  { "sgh.ovh", true },
   { "sgi.org", true },
   { "sgitc.de", true },
   { "sglibellen.de", true },
@@ -46956,7 +48896,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sglynp.com", true },
   { "sgombero.it", true },
   { "sgrossi.it", true },
-  { "sgroup-rec.com", true },
   { "sgrub.xyz", true },
   { "sgs-systems.de", true },
   { "sgs.camera", true },
@@ -46966,11 +48905,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sgtt.ch", false },
   { "sgutranscripts.org", true },
   { "sh-heppelmann.de", true },
-  { "sh-network.de", true },
   { "sh0rt.zone", true },
   { "sh0shin.org", true },
+  { "sh0uld.net", true },
   { "sh11.pp.ua", true },
-  { "sh68.cc", true },
+  { "sha.bi", true },
   { "sha2017.org", true },
   { "shaadithailand.com", true },
   { "shabiwangyou.com", true },
@@ -47000,20 +48939,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shadwe.com", true },
   { "shadynook.net", true },
   { "shahar.cc", false },
-  { "shaharyaranjum.com", true },
-  { "shahidhashmi.net", true },
   { "shahpurjat.xyz", true },
   { "shahrsazan.tk", true },
   { "shahzaibm.com", true },
   { "shaicoleman.com", true },
+  { "shajol.com", true },
   { "shakan.ch", false },
-  { "shakebox.de", true },
   { "shaken110.com", true },
   { "shakerwebdesign.net", true },
   { "shakespearevet.com", true },
   { "shakingthehabitual.com", true },
   { "shakthifacility.com", true },
-  { "shalazine.com", true },
   { "shaloc.site", true },
   { "shalott.org", true },
   { "shalyapin.by", true },
@@ -47025,12 +48961,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shan.si", true },
   { "shanahanstrategy.com", true },
   { "shanefagan.com", true },
+  { "shanesofos.com", true },
+  { "shanesofos.info", true },
   { "shanetully.com", true },
   { "shanewadleigh.com", true },
   { "shanhay.tk", true },
   { "shanju.tk", true },
   { "shannapeeples.com", true },
   { "shanoviyam.in", true },
+  { "shansen-online.de", true },
   { "shanshushu.com", true },
   { "shansing.cn", true },
   { "shansing.com", true },
@@ -47040,11 +48979,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shapin.tv", true },
   { "sharanyamunsi.net", true },
   { "shard.vc", true },
+  { "sharedgoals.co", true },
+  { "shareeri.xyz", true },
   { "sharefox.eu", true },
   { "sharefox.nl", true },
   { "sharejoy.cn", false },
   { "sharekey.com", false },
-  { "sharelovenotsecrets.com", true },
   { "shareoffice.ch", true },
   { "sharer.link", true },
   { "sharerotic.com", true },
@@ -47063,7 +49003,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sharpe.systems", true },
   { "sharu.me", true },
   { "sharvey.ca", true },
-  { "shattered-souls.de", true },
   { "shaun.net", true },
   { "shaunandamyswedding.com", true },
   { "shaunc.com", true },
@@ -47080,6 +49019,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shazzlepro.com", true },
   { "shcode.de", true },
   { "shdw.cc", true },
+  { "she.tw", true },
   { "shearcomfort.com", true },
   { "shearin.pro", true },
   { "sheaspire.com", true },
@@ -47094,10 +49034,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sheffield-wednesday-fc.tk", true },
   { "shehaal.com", true },
   { "shehata.com", true },
-  { "sheilagranger.com", true },
   { "sheilasdrivingschool.com", true },
   { "shejutu.com", true },
   { "shek.zone", true },
+  { "shekareyehospital.com", true },
   { "shelbymunsch.com", true },
   { "shelehov.tk", true },
   { "shelfordsandstaplefordscouts.org.uk", true },
@@ -47110,41 +49050,43 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shellgame.io", true },
   { "shellj.me", true },
   { "shellta.com", true },
-  { "shellvatore.us", true },
+  { "shellta.net", true },
+  { "sheltieplanet.com", true },
   { "shelvacu.com", true },
   { "shenderman.ml", true },
-  { "shengbao.org", false },
   { "shenghaiautoparts.com", true },
   { "shenghaiautoparts.net", true },
-  { "shenqi.com", true },
-  { "shens.ai", true },
+  { "shenpei.net", true },
   { "shenyuqi.com", false },
   { "shepherdsfriendly.co.uk", true },
   { "sherbers.de", true },
   { "sheremetka.com", true },
   { "shermantank.biz", true },
   { "sherpa.blog", true },
+  { "sherpnortheast.com", true },
   { "sherrikehoetherapy.com", true },
   { "sherrikelley.com", true },
   { "sherut.net", true },
   { "shevet-achim.tk", true },
   { "shft.cl", true },
+  { "shfzzz.org", true },
   { "shg-pornographieabhaengigkeit.de", false },
   { "shgroup.xyz", true },
   { "shgt.jp", true },
-  { "shgw186.com", true },
+  { "shgw186.com", false },
   { "shh.sh", true },
   { "shiawasedo.co.jp", true },
   { "shibbydex.com", true },
   { "shibuya-rin.kr", true },
   { "shichibukai.net", true },
   { "shico.org", true },
-  { "shidai88.cc", true },
   { "shielddagger.com", true },
   { "shielder.it", true },
   { "shieldofachilles.in", true },
+  { "shifaat.com", true },
   { "shift-record.com", true },
   { "shift-to.co.jp", true },
+  { "shift.email", true },
   { "shiftdevices.com", true },
   { "shiftj.is", true },
   { "shiftleft.org", true },
@@ -47154,7 +49096,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shiganmartialarts.com", true },
   { "shihadwiki.com", true },
   { "shiji.info", true },
-  { "shijij.com", true },
   { "shijing.me", true },
   { "shikimori.org", true },
   { "shikiryu.com", true },
@@ -47174,13 +49115,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shinsyo.com", true },
   { "shintoism.com", true },
   { "shinuytodaati.co.il", true },
-  { "shiny.gift", false },
   { "shinyuu.net", true },
   { "shipard.com", true },
   { "shipard.cz", true },
   { "shipcloud.io", true },
+  { "shipito.kg", true },
+  { "shipmonk.com", true },
   { "shippercenter.info", true },
-  { "shippinglabel.de", false },
+  { "shippinglabel.de", true },
   { "shiqi.ca", true },
   { "shiqi.lol", true },
   { "shiqi.one", true },
@@ -47194,9 +49136,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shiresvets.com", true },
   { "shirevirtual.tk", true },
   { "shiriforum.tk", true },
+  { "shiroanime.es", true },
   { "shirt2go.shop", true },
   { "shirtsdelivered.com", true },
   { "shirtsofholland.com", true },
+  { "shishadenbosch.nl", true },
   { "shishkin.us", true },
   { "shishlik.net", true },
   { "shitagi-shop.com", true },
@@ -47208,17 +49152,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shitproductions.org", true },
   { "shitsta.in", true },
   { "shiva-temple.tk", true },
-  { "shivamber.com", false },
+  { "shivamber.com", true },
   { "shivammathur.com", true },
+  { "shivamohanam.com", true },
   { "shixuen.com", true },
   { "shkololo.ml", true },
   { "shlmail.info", true },
   { "shock.ee", true },
   { "shockercityservices.com", true },
   { "shodan.io", true },
+  { "shoejitsu.co", true },
   { "shoemakerywc.com", true },
   { "shoeracks.uk", true },
-  { "shoes-mori.co.jp", true },
   { "shoestringeventing.co.uk", true },
   { "shokola.com", true },
   { "shokureach.jp", true },
@@ -47239,7 +49184,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shopalike.pl", true },
   { "shopalike.se", true },
   { "shopalike.sk", true },
-  { "shopandworld.net", true },
+  { "shopandworld.net", false },
   { "shopapi.cz", true },
   { "shoparbonne.co.uk", true },
   { "shopatkei.com", true },
@@ -47254,27 +49199,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shopific.com", true },
   { "shopifycloud.com", true },
   { "shopikal.com", true },
-  { "shopjek.com", true },
   { "shopkini.com", true },
   { "shoplandia.co", true },
   { "shopmacher.de", true },
   { "shopminut.com", true },
   { "shoponlinedeals.tk", true },
-  { "shoposal.com", true },
-  { "shopperexperts.com", true },
   { "shopperexpertss.com", true },
   { "shopping24.de", true },
   { "shoppingandreviews.it", true },
+  { "shoppingicarai.com", true },
   { "shoppingvrimini.ru", true },
-  { "shoppr.dk", true },
   { "shopregional.com.br", true },
   { "shopstart.dk", true },
   { "shopstasy.com", true },
   { "shoptec.sk", true },
+  { "shopteq.hu", true },
+  { "shoptio.cz", true },
   { "shopunilever.com", true },
   { "shopwebhue.com", true },
   { "shorebreaksecurity.com", true },
   { "shorehamfort.co.uk", true },
+  { "shorifart.com", true },
   { "short-biography.com", false },
   { "short-term-plans.com", true },
   { "short.cm", true },
@@ -47291,17 +49236,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shota.vip", true },
   { "shotbow.net", true },
   { "shotsleeve.com", true },
-  { "shouldihookupwithmybarista.com", true },
   { "shouttag.com", true },
   { "shovonhasan.com", true },
   { "showbits.net", true },
+  { "shower.im", true },
   { "showersnet.com", true },
   { "showfom.sb", true },
   { "showmax.com", true },
   { "showmethegadgets.com", true },
   { "showmethemoney.ru", true },
   { "showpassword.net", false },
-  { "showroom.cam", true },
   { "showroom.co.uk", true },
   { "showroom.uk", true },
   { "showsonar.com", true },
@@ -47314,7 +49258,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shrike.me", false },
   { "shrimpcam.pw", true },
   { "shrinidhiclinic.in", true },
-  { "shrt.tv", true },
   { "shrub.ca", true },
   { "shrug.ml", false },
   { "shsh.host", true },
@@ -47322,6 +49265,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shtaiman.com", true },
   { "shtaiman.net", true },
   { "shtaiman.org", true },
+  { "shtaketnik-metall.ru", true },
   { "shtaketniki.kz", true },
   { "shtaketniki.ru", true },
   { "shteiman.com", true },
@@ -47331,9 +49275,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shuax.com", true },
   { "shuffleradio.nl", true },
   { "shugo.net", true },
+  { "shugua.com.tw", true },
   { "shuhacksoc.co.uk", true },
-  { "shulan.moe", true },
-  { "shulyaka.org.ru", true },
   { "shunliandongli.com", true },
   { "shuomingshu88.com", true },
   { "shura.eu.org", true },
@@ -47343,37 +49286,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "shutter-shower.com", true },
   { "shutupbabyiknowit.party", true },
   { "shux.pro", true },
-  { "shuzicai.cn", true },
-  { "shybynature.com", true },
   { "shyuka.me", true },
   { "si-benelux.nl", true },
   { "si.to", true },
   { "si2b.fr", true },
-  { "sia.one", true },
   { "siaggiusta.com", true },
   { "siamericas.com", true },
   { "siamrehab.com", true },
   { "siamsnus.com", true },
   { "sianbryn.co.uk", true },
-  { "sianipestcontrolinc.com", true },
   { "siava.ru", true },
   { "siberas.de", true },
   { "siberia.gq", true },
+  { "siberiactiva.com", true },
   { "siberkulupler.com", true },
   { "sibertakvim.com", true },
-  { "sibiutourguide.com", true },
   { "sibrenvasse.nl", true },
+  { "siccardisport.it", true },
   { "sice-si.org", true },
   { "sich-fight.club", true },
   { "siciliadisinfestazioni.it", true },
   { "siciliamconsulting.com", true },
   { "sicilianbalm.com", true },
   { "siciliapulizie.it", true },
-  { "sicken.eu", true },
+  { "sickplanet.cf", true },
   { "sicurezza24.info", true },
   { "sicurezzalavoro24.com", true },
   { "sicurled.com", true },
   { "sicz.de", true },
+  { "siddigsami.com", true },
   { "sideleau.com", true },
   { "sidelka-tver.ru", true },
   { "sidema.be", true },
@@ -47388,6 +49329,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sidnicio.us", true },
   { "sidonge.com", true },
   { "sidongkim.com", true },
+  { "sidpod.ru", true },
   { "sidsun.com", true },
   { "siecledigital.fr", true },
   { "siegemund-frankfurt.de", true },
@@ -47399,7 +49341,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sierramusic.tk", true },
   { "sietejefes.com.ar", true },
   { "sieumod.com", true },
-  { "sift-tool.org", true },
+  { "sieuthithangmay.com", true },
+  { "sift-tool.org", false },
+  { "sifuondemand.com", true },
   { "sig6.org", true },
   { "siga.com", true },
   { "sigabrt.org", true },
@@ -47413,7 +49357,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sigma-signalisation.com", true },
   { "sigma957.net", true },
   { "sigmalux.sarl", true },
-  { "sigmapramuka.com", true },
+  { "sigmasensors.com.br", true },
   { "sigmaweb.co.uk", true },
   { "sign.dog", true },
   { "sign.io", true },
@@ -47431,18 +49375,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "signix.net", true },
   { "signpath.io", true },
   { "signtul.com", false },
-  { "signup.ly", true },
   { "sigsrv.net", true },
-  { "sigterm.no", true },
   { "sigterm.sh", true },
   { "sigurnost.online", true },
   { "siikaflix.tv", true },
-  { "siirtutkusu.com", true },
+  { "siirtutkusu.com", false },
+  { "sijbesmaverhuizingen.nl", true },
   { "sik-it.nl", true },
   { "sikademy.com", true },
   { "sikaranbrotherhood.tk", true },
   { "sikayetvar.com", false },
-  { "sikecikcomel.com", true },
   { "sikevux.se", true },
   { "sikko.biz", true },
   { "siku-shop.ch", true },
@@ -47463,7 +49405,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "silicon-vision.com", true },
   { "silkebaekken.no", true },
   { "silken-madame.tk", true },
-  { "silkon.net", true },
   { "sillisalaatti.fi", true },
   { "sillysnapz.co.uk", true },
   { "silo.org.br", true },
@@ -47514,6 +49455,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "silvergoldbull.se", true },
   { "silvergoldbull.si", true },
   { "silvergoldbull.sv", true },
+  { "silvergoldbull.tt", true },
   { "silvergoldbull.tw", true },
   { "silvergoldbull.uy", true },
   { "silvergoldbull.uz", true },
@@ -47527,9 +49469,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "silverwind.io", true },
   { "silvesrom.ro", true },
   { "silvester-mitterschida.de", true },
-  { "silviacataldi.com", true },
   { "silvine.xyz", true },
   { "silvobeat.blog", true },
+  { "silvobeat.com", true },
   { "sim-karten.net", true },
   { "sim-minaoshi.jp", true },
   { "sim-mobile.ml", true },
@@ -47540,8 +49482,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simbamail.de", true },
   { "simbeton.nl", true },
   { "simcoecurlingclub.ca", true },
+  { "simcongroup.ir", true },
   { "simeonoff.ninja", true },
-  { "simetal.ch", true },
+  { "simetal.ch", false },
   { "simfdr.com", true },
   { "simfed.org", true },
   { "simivalleyelectrical.com", true },
@@ -47551,12 +49494,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simivalleyoutdoorlighting.com", true },
   { "simkova-reality.cz", true },
   { "simlau.net", true },
-  { "simmis.fr", false },
   { "simmtronic.com", true },
   { "simnovo.net", true },
   { "simoesgoulart.com.br", true },
   { "simon-agozzino.fr", true },
-  { "simon-czech.de", true },
   { "simon-hofmann.org", true },
   { "simon-mueller.de", true },
   { "simon3k.moe", true },
@@ -47574,9 +49515,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simonlyabonnement.nl", true },
   { "simonmaddox.com", true },
   { "simonmanuel.com", true },
-  { "simonpayne.cz", true },
   { "simonreich.de", true },
-  { "simonshine.dk", true },
   { "simonsmh.cc", true },
   { "simonspeich.ch", true },
   { "simonsreich.de", true },
@@ -47589,6 +49528,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simosol.dk", true },
   { "simpbx.net", true },
   { "simpel.be", true },
+  { "simpeo.org", true },
   { "simphony.cz", true },
   { "simpip.com", true },
   { "simple.com", false },
@@ -47604,6 +49544,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simplelinux.tk", true },
   { "simplemining.net", true },
   { "simpleprojects.net", true },
+  { "simplertrading.com", true },
   { "simpleshirts.us", true },
   { "simpletax.ca", true },
   { "simplewire.de", true },
@@ -47617,9 +49558,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simply.scot", true },
   { "simplycateringequipment.co.uk", true },
   { "simplycharlottemason.com", true },
-  { "simplycloud.de", true },
   { "simplyfixit.co.uk", true },
   { "simplyhelen.de", true },
+  { "simplyml.com", true },
   { "simplymozzo.se", true },
   { "simplyowners.net", true },
   { "simplyregister.net", true },
@@ -47632,6 +49573,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "simulfund.com", true },
   { "simulise.com", true },
   { "simulping.com", true },
+  { "simyayayinlari.com", true },
   { "sin-el-fil.com", true },
   { "sin.swiss", false },
   { "sinalizeweb.com.br", false },
@@ -47646,17 +49588,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sindarina.net", true },
   { "sinde.ru", true },
   { "sindicatoburgos.org", true },
+  { "sindlerova.com", true },
+  { "sindlerova.cz", true },
+  { "sindominio.net", true },
   { "sinergy.ch", false },
   { "sinews.tk", true },
   { "sinfonietta-meridiana.de", true },
-  { "sinful.pw", true },
   { "sinfully.gq", true },
   { "sinfulthrills.co.uk", true },
-  { "singaporemint.com", true },
   { "singapurfirma.com", true },
   { "singel.ch", true },
   { "singer.ru", true },
+  { "singhpackersmovers.com", true },
   { "single-in-stuttgart.de", true },
+  { "singleproduction.com", true },
   { "singles-aus-hamburg.de", true },
   { "singles-berlin.de", true },
   { "singleuse.link", true },
@@ -47665,16 +49610,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sinluzvenezuela.tk", true },
   { "sinmik.com", true },
   { "sinnersprojects.ro", true },
+  { "sinog.si", true },
   { "sinomod.com", true },
   { "sinonimos.com.br", true },
   { "sinonimosonline.com", true },
+  { "sinonimosonline.com.br", true },
   { "sinquin.eu", true },
   { "sinronet.com", true },
   { "sint-joris.nl", true },
   { "sintaxis.org", true },
   { "sinterama.biz", true },
   { "sinuelovirtual.com.br", true },
-  { "sinusbot.online", true },
   { "sinusitis-bronchitis.ch", true },
   { "sioeckes.hu", true },
   { "siogyumolcs.hu", true },
@@ -47684,8 +49630,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sipa.pf", true },
   { "sipc.org", true },
   { "sipstix.co.za", true },
-  { "sipyuru.com", true },
-  { "sipyuru.lk", true },
   { "sirandorung.tk", true },
   { "siraweb.org", true },
   { "sirbouncealotcastles.co.uk", true },
@@ -47728,28 +49672,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sistem-maklumat.com", true },
   { "sistem-maklumat.com.my", true },
   { "sistemy48.ru", false },
-  { "sisterjoeworld.com", true },
   { "sistimiki-anaparastasi.gr", true },
   { "sistov.it", true },
   { "sisu.ai", true },
   { "sisv.eu", true },
   { "sisver.host", true },
-  { "sisver.mx", true },
   { "sit-brn.ru", true },
   { "sit.ec", true },
   { "sit.moe", true },
   { "sitahk.org", true },
+  { "sitak.fi", true },
   { "sitanleta.de", true },
+  { "sitatravel.gr", true },
   { "sitc.sk", true },
   { "site-helper.com", true },
   { "site-ua.tk", true },
-  { "site.pictures", true },
   { "site2002.tk", true },
   { "sitebuilderreport.com", true },
   { "sitecentre.com.au", true },
   { "sitedebelezaemoda.com.br", true },
   { "sitedrive.fi", true },
   { "sitefactory.com.br", true },
+  { "sitehoster.org", true },
   { "sitekatalog.tk", true },
   { "sitelmexico.com", true },
   { "sitemai.eu", true },
@@ -47767,29 +49711,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sito-online.ch", true },
   { "sittogether.club", true },
   { "sittogether.tw", true },
-  { "sitz.ch", true },
   { "siulam-wingchun.org", true },
   { "siusto.com", true },
   { "sivale.mx", true },
+  { "sivers.org", true },
   { "sivyerge.com", true },
   { "siw64.com", true },
   { "six-o-one.com", true },
   { "sixcolors.lu", true },
   { "sixnines.net", true },
-  { "sixpackholubice.cz", true },
   { "sj-leisure.com", true },
   { "sjaakgilsingfashion.nl", true },
   { "sjamaan.nl", false },
   { "sjbwoodstock.org", true },
   { "sjd.is", false },
   { "sjdaws.com", true },
+  { "sjenkins.net", true },
   { "sjleisure.co.uk", true },
   { "sjnp.org", true },
   { "sjoorm.com", true },
   { "sjorsvanweert.nl", true },
   { "sjrcommercialfinance.co.uk", true },
-  { "sjsmith.id.au", true },
+  { "sjttt.com", true },
   { "sjwheel.net", true },
+  { "sjyachting.com", true },
+  { "sk.tl", true },
   { "sk33t.cf", true },
   { "sk33t.ga", true },
   { "sk33t.gq", true },
@@ -47798,14 +49744,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "skagen-feriebolig.dk", true },
   { "skaginn.tv", true },
   { "skaiman.ga", true },
-  { "skala.io", true },
   { "skalar.sk", true },
   { "skalec.org", true },
-  { "skanvordoff.ru", true },
+  { "skalis-portage.com", true },
   { "skatclub-beratzhausen.de", true },
   { "skateaustria.at", true },
   { "skatesins.ch", true },
-  { "skateswagger.com", true },
   { "skatingchina.com", true },
   { "skatn.de", true },
   { "skazka.ml", true },
@@ -47825,7 +49769,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "skhire.co.uk", true },
   { "skhoop.cz", true },
   { "skiblandford.com", true },
-  { "skid-berlin.de", true },
   { "skid.church", true },
   { "skiddle.com", true },
   { "skifairview.com", true },
@@ -47836,7 +49779,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "skiinstructor.services", true },
   { "skiley.net", true },
   { "skill.moe", true },
-  { "skillled.com", true },
   { "skillmoe.at", true },
   { "skilloutlook.com", true },
   { "skills2services.com", true },
@@ -47847,6 +49789,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sking.io", true },
   { "skinmodo.com", true },
   { "skinseries.cf", true },
+  { "skinstyleglobal.com", true },
+  { "skipbounce.com", true },
   { "skipfault.com", true },
   { "skippy.dog", true },
   { "skirts.tk", true },
@@ -47865,9 +49809,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "skolebil.dk", true },
   { "skolem.de", true },
   { "skolnilogin.cz", true },
-  { "skommettiamo.it", true },
-  { "skontakt.cz", true },
-  { "skooks.fr", true },
+  { "skooks.fr", false },
   { "skoolergraph.azurewebsites.net", true },
   { "skorepova.info", true },
   { "skorovsud.ru", true },
@@ -47875,52 +49817,60 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "skortekaas.nl", false },
   { "skory.us", true },
   { "skpk.de", true },
+  { "skpracta.info", true },
+  { "skpracta.tk", true },
   { "skram.de", true },
   { "skremovals.co.uk", true },
   { "sktan.com", true },
   { "sktorrent.org", true },
+  { "sku-partei.de", true },
   { "skuizy.ddns.net", true },
   { "skulblaka.ch", true },
   { "skulblaka.cloud", true },
   { "skuldwyrm.no", true },
-  { "skullbite.me", true },
+  { "skullnet.co.uk", true },
   { "skutry-levne.cz", true },
   { "skutry.cz", true },
   { "skux.ch", true },
   { "skwile-cafe.com", true },
   { "skwitko.com", true },
+  { "skwlkrs.com", true },
+  { "skxpl.eu.org", true },
   { "sky-coach.com", true },
   { "sky-coach.nl", true },
   { "sky-live.fr", true },
   { "sky-torch.com", true },
-  { "skyanchor.com", true },
+  { "skyanchor.com", false },
+  { "skyartsfake.com", true },
   { "skyautorental.com", true },
   { "skybloom.com", true },
   { "skyblue.co.jp", true },
   { "skycmd.net", true },
   { "skyderby.ru", true },
   { "skydiverapp.com", true },
+  { "skydiverecuador.com", true },
   { "skydragoness.com", true },
   { "skydrive.live.com", false },
   { "skyem.co.uk", false },
   { "skyfone.cz", true },
   { "skyger.cz", true },
-  { "skyingo.net", true },
   { "skylarker.org", true },
   { "skylgenet.nl", true },
   { "skylightcreative.com.au", true },
   { "skylinertech.com", true },
   { "skylineservers.com", true },
   { "skyloisirs.ch", false },
+  { "skyn3t.in", true },
+  { "skynet-research.us", true },
   { "skynet233.ch", false },
-  { "skynethk.com", true },
+  { "skynet800.goip.de", true },
   { "skynetnetwork.eu.org", true },
   { "skynetstores.ae", true },
-  { "skynetstores.net", true },
-  { "skynetz.tk", true },
   { "skyntalent.com", true },
   { "skyoy.com", true },
   { "skype.com", true },
+  { "skypech.com", true },
+  { "skypefr.com", true },
   { "skyportcloud.com", true },
   { "skyquid.co.uk", true },
   { "skyros.us", true },
@@ -47932,28 +49882,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "skyscanner.ru", true },
   { "skyscapecanopies.com", true },
   { "skyscnr.com", true },
-  { "skysuite.nl", true },
+  { "skysoftbg.com", true },
   { "skytec.host", true },
   { "skywalkers.net", true },
   { "skywt.cn", true },
   { "skyynet.de", true },
   { "skyzimba.com.br", true },
   { "sl-bildermacher.de", true },
-  { "sl66.cc", true },
   { "slab.com", false },
   { "slack-files.com", true },
   { "slack.com", true },
   { "sladic.si", false },
   { "slainvet.net", true },
-  { "slalix.pw", true },
   { "slamdjapan.com", true },
   { "slamix.nl", true },
-  { "slan.fr", true },
-  { "slane.cn", false },
   { "slangbellor.com", true },
   { "slanterns.net", true },
   { "slapen17.nl", true },
   { "slash32.co.uk", true },
+  { "slashcam.de", true },
+  { "slashcrypto.org", true },
   { "slate.to", true },
   { "slatemc.com", true },
   { "slaughter.com", true },
@@ -47969,6 +49917,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sleepmap.de", true },
   { "sleeps.jp", true },
   { "sleepstar.co.uk", true },
+  { "sleepstar.com.mt", true },
   { "sleepstar.de", true },
   { "sleepstar.fr", true },
   { "sleestak.net", true },
@@ -47982,7 +49931,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "slim-planet.com", true },
   { "slim-slender.com", true },
   { "slimspots.com", true },
-  { "slingoweb.com", true },
   { "slink.hr", true },
   { "slipknot-site.tk", true },
   { "sliptrickrecords.com", true },
@@ -47991,18 +49939,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "slo-net.net", true },
   { "slo-tech.com", true },
   { "sloancom.com", true },
+  { "sloanestreetdeli.com", true },
   { "sloanrealtygroup.com", true },
   { "slobrowink.com", true },
   { "slogan.tk", true },
   { "sloneczni.pl", true },
   { "slonep.net", true },
+  { "slopeedge.com", true },
   { "slopeedge.net", true },
   { "slotarazzi.com", true },
   { "slotcar.com", false },
   { "slotfara.com", true },
   { "slotfara.net", true },
+  { "slothless.com", true },
   { "sloths.org", true },
   { "slotlist.info", true },
+  { "slotmad.com", true },
   { "slovenskycestovatel.sk", true },
   { "slow.social", true },
   { "slow.zone", false },
@@ -48017,7 +49969,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "slpm.com", true },
   { "slpower.com", true },
   { "slrpancreaticsurgery.org", true },
-  { "slt24.de", true },
   { "sluciaconstruccion.com", true },
   { "sluhockey.com", true },
   { "sluimann.de", true },
@@ -48034,7 +49985,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "slytech.ch", false },
   { "slyvon.com", true },
   { "sm-kyoushitsu.com", true },
-  { "sm-supplements.gr", true },
   { "sm.link", true },
   { "sm.ms", true },
   { "sma-gift.com", true },
@@ -48042,7 +49992,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smakassen.no", true },
   { "smakoszwegrzynka.pl", true },
   { "smaksbanken.no", true },
-  { "small-panda.com", true },
   { "smallbytedesign.co", true },
   { "smallcloudsolutions.co.za", true },
   { "smalldata.tech", true },
@@ -48062,33 +50011,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smaltimentorifiuti.firenze.it", true },
   { "smaltimentorifiuti.livorno.it", true },
   { "smaltimentorifiuti.milano.it", true },
+  { "smaltimentorifiuti.napoli.it", true },
   { "smaltimentorifiuti.prato.it", true },
   { "smaltimentorifiuti.roma.it", true },
   { "smaltimentorifiuti.veneto.it", true },
   { "smamunir.is", true },
   { "smares.de", true },
   { "smarntrading.com", true },
-  { "smart-cp.jp", true },
   { "smart-informatics.com", true },
-  { "smart-media-gmbh.de", true },
   { "smart-wohnen.net", true },
   { "smart.gov", true },
-  { "smart.vet", true },
   { "smartacademy.ge", true },
   { "smartacademy.pro", true },
   { "smartairkey.com", true },
   { "smartandcom.ch", false },
   { "smartandhappychild.ro", false },
+  { "smartass0027.com", true },
   { "smartcheck.gov", true },
   { "smartcleaningcenter.nl", true },
   { "smartcover.tk", true },
   { "smartcpa.ca", true },
+  { "smartdb.jp", true },
   { "smartedg.io", true },
   { "smartfit.cz", true },
   { "smartftp.com", true },
   { "smartgrid.gov", true },
-  { "smartgridsecurity.com", true },
   { "smarthdd.com", true },
+  { "smarthealthinnovationlab.com", true },
   { "smarthinking.nl", true },
   { "smarthouse.de", true },
   { "smartime.com.ar", true },
@@ -48099,17 +50048,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smartlogreturns.com", true },
   { "smartlogstock.com", true },
   { "smartlogtower.com", true },
+  { "smartlybuy.com", true },
   { "smartmachine.com", true },
-  { "smartmail24.de", true },
   { "smartmeal.ru", true },
   { "smartmessages.net", true },
   { "smartminibushire.co.uk", true },
   { "smartmomsmartideas.com", true },
   { "smartmones.com", true },
+  { "smartpanelsmm.com", true },
   { "smartpatika.hu", true },
   { "smartpheromones.com", true },
   { "smartphone-blog.de", true },
-  { "smartphone-pliable.wtf", true },
   { "smartphonechecker.co.uk", true },
   { "smartphones-baratos.com", true },
   { "smartphonesolution.tk", true },
@@ -48117,16 +50066,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smartpolicingplatform.com", true },
   { "smartproductguide.com", true },
   { "smartpti.net", true },
-  { "smartrecruit.ro", true },
-  { "smartresumeservices.com", true },
+  { "smartrise.us", true },
   { "smartservices.nl", true },
   { "smartshiftme.com", true },
   { "smartship.co.jp", true },
   { "smartshoppers.es", true },
   { "smartsitio.com", true },
   { "smartsparrow.com", true },
+  { "smartstep.pt", true },
   { "smartthursday.hu", true },
-  { "smartvideo.io", true },
   { "smartweb.ge", true },
   { "smartwoodczech.cz", true },
   { "smartwritingservice.com", true },
@@ -48143,29 +50091,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smesitel-online.ru", true },
   { "smeso.it", true },
   { "smexpt.com", true },
+  { "smh.me", true },
   { "smiatek.name", true },
   { "smiblog.tk", true },
-  { "smicompact.com", true },
-  { "smileandpay.com", true },
   { "smilecon.cf", true },
   { "smilenwa.com", true },
   { "smilesatlakewood.com", true },
   { "smilessoftplay.co.uk", true },
   { "smileytechguy.com", true },
-  { "smilingmiao.com", true },
+  { "smileywoodflooring.com", true },
   { "smime.io", true },
   { "smimea.info", true },
   { "smipty.cn", true },
   { "smipty.com", true },
   { "smit.com.ua", true },
-  { "smith.bz", true },
   { "smith.co", false },
   { "smithandcanova.co.uk", false },
   { "smithchung.eu", true },
   { "smithf.red", true },
+  { "smithsanchez.com", true },
   { "smits.frl", true },
   { "smkw.com", false },
+  { "smlk.org", true },
   { "smm.im", true },
+  { "smmpanelweb.com", true },
   { "smokeandmirrors.agency", true },
   { "smokefree.gov", true },
   { "smokefreerowan.org", true },
@@ -48177,6 +50126,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smoothgesturesplus.com", true },
   { "smoothiecriminals.com", true },
   { "smoothtalker.com", true },
+  { "smoqerhome.ddns.net", true },
   { "smrtrpck.com", true },
   { "sms-go.ru", true },
   { "sms-pro.tk", true },
@@ -48188,7 +50138,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "smsk.email", true },
   { "smsk.io", true },
   { "smskmail.com", true },
-  { "smslodging.com", true },
   { "smsprivacy.org", true },
   { "smspujcka24.eu", true },
   { "smtenants.cn", true },
@@ -48202,6 +50151,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sn0int.com", true },
   { "snabbare-dator.se", true },
   { "snabbit-support.nu", true },
+  { "snabbit-support.se", true },
   { "snabblim.tk", true },
   { "snackbesteld.nl", true },
   { "snafu.cz", true },
@@ -48223,6 +50173,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sneakpod.de", true },
   { "sneakycode.net", true },
   { "sneakynote.com", true },
+  { "sneakypaw.com", true },
   { "sneberger.cz", false },
   { "sneed.it", true },
   { "sneedit.com", true },
@@ -48245,7 +50196,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sniffing.gq", true },
   { "snille.com", true },
   { "snipermarkettiming.com", true },
-  { "snippet.wiki", true },
+  { "snipl.io", true },
+  { "snippet.host", true },
+  { "snippet.wiki", false },
   { "snipr.gg", true },
   { "snizl.com", true },
   { "snj.pt", true },
@@ -48259,12 +50212,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "snortfroken.net", true },
   { "snote.io", true },
   { "snoupon.com", true },
+  { "snoutsandpaws.com", true },
   { "snow-online.com", true },
+  { "snow-service.it", true },
   { "snow.dog", true },
   { "snowalerts.nl", true },
   { "snowboardforum.tk", true },
   { "snowchamps.nl", true },
-  { "snowcrestdesign.com", true },
   { "snowdy.dk", true },
   { "snowhaze.ch", true },
   { "snowhaze.com", true },
@@ -48272,12 +50226,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "snowpak.com", true },
   { "snowparties.com", true },
   { "snowpaws.de", true },
-  { "snowplane.net", false },
+  { "snowplane.net", true },
   { "snowraven.de", true },
-  { "snowreport.io", true },
   { "snowrippers.ro", false },
   { "snowy.land", true },
-  { "snperformance.gr", true },
   { "snroth.de", true },
   { "snrub.co", true },
   { "snsirius.cf", true },
@@ -48287,9 +50239,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "snwsjz.com", true },
   { "sny.no", true },
   { "so.is-a-cpa.com", true },
-  { "soacompanhantes.vip", true },
   { "soakgames.com", true },
+  { "soap-teco.com", true },
   { "soapitup.com.au", true },
+  { "soaringdownsouth.com", true },
   { "soaringtoglory.com", true },
   { "sobakasite.tk", true },
   { "sobaya-gohei.com", true },
@@ -48308,7 +50261,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "soccers.fr", true },
   { "socheat.net", true },
   { "sochi-sochno.ru", true },
-  { "sochic.in", true },
   { "sochionline.tk", true },
   { "sociability.dk", true },
   { "social-events.net", false },
@@ -48317,7 +50269,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "socialair.tk", true },
   { "socialclimb.com", true },
   { "socialhams.net", true },
+  { "socialief.com", true },
   { "socializam.com", true },
+  { "socializam.ro", true },
   { "sociallyunited.net", true },
   { "socialmarketingday.nl", true },
   { "socialmedia-manager.gr", true },
@@ -48326,6 +50280,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "socialrank.com", true },
   { "socialsecurity.gov", false },
   { "socialsecurityhelpcenters.com", true },
+  { "socialstrata.com", true },
   { "socialsurvivalist.net", true },
   { "socialtrends.pl", true },
   { "socialz.nl", true },
@@ -48347,6 +50302,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sodafilm.de", true },
   { "sodexam.pro", true },
   { "sodi.nl", true },
+  { "sodiao.cc", true },
+  { "sodo.top", true },
   { "sodomojo.com", true },
   { "soe-server.com", true },
   { "sofa-rockers.org", true },
@@ -48366,9 +50323,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "soft41.ru", true },
   { "softandbouncy.co.uk", true },
   { "softanka.com", true },
-  { "softballrampage.com", true },
   { "softbit.pt", true },
   { "softblinds.co.uk", true },
+  { "softchin.ir", true },
   { "softcreatr.com", true },
   { "softcreatr.de", false },
   { "softfay.com", true },
@@ -48380,6 +50337,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "softplay4hire.co.uk", true },
   { "softplaynation.co.uk", true },
   { "softprayog.in", true },
+  { "softskills.tech", true },
   { "softtennis-zenei.com", true },
   { "softw.net", true },
   { "software-search.com", true },
@@ -48397,8 +50355,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sogravatas.com.br", true },
   { "sogutma.com.tr", true },
   { "sohamroy.me", true },
-  { "soia.ca", true },
   { "sointelcom.com.co", true },
+  { "sojournindica.com", true },
+  { "sojournsaffairs.com", true },
   { "sokaissues.info", true },
   { "sokak-sanati.tk", true },
   { "soket.ee", true },
@@ -48411,7 +50370,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sol-computers.es", true },
   { "sol24.net", true },
   { "solacyre.ch", false },
-  { "solanum-games.com", true },
   { "solar-aydinlatma.com", true },
   { "solar-ec.com", true },
   { "solar-floodlight.ca", true },
@@ -48420,7 +50378,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "solarfever.ga", true },
   { "solarloon.com", true },
   { "solarplan-berlin.de", true },
-  { "solarpvoffer.co.uk", true },
   { "solarstrom.net", true },
   { "soldarizona.ga", true },
   { "solden.be", true },
@@ -48430,6 +50387,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "soldout-app.com", false },
   { "sole-erdwaermetauscher.de", true },
   { "soledadpenades.com", true },
+  { "soleil.space", true },
   { "solemare-hotel.it", true },
   { "solentbasketball.co.uk", true },
   { "solentbubblesandbounce.co.uk", true },
@@ -48440,6 +50398,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "soli.cafe", true },
   { "solicafe.at", true },
   { "solidarita-kosovo.net", true },
+  { "solidnetwork.org", true },
+  { "solidrop.net", true },
   { "solidshield.com", true },
   { "solidsteel.tk", true },
   { "solihullcarnival.co.uk", true },
@@ -48451,16 +50411,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "solitairenetwork.com", true },
   { "solitaryride.com", true },
   { "solmek.co.uk", true },
+  { "sologoc.com", true },
   { "sologstrand.com", true },
   { "sologstrand.dk", true },
   { "sologstrand.nl", true },
   { "sologstrand.no", true },
   { "sologstrand.se", true },
+  { "soloinfo.it", true },
   { "solomisael.com", true },
-  { "solomo.pt", true },
   { "solomonsklash.io", true },
   { "solonotizie24.it", true },
   { "soloparati.cf", true },
+  { "solos.im", true },
   { "solsocog.de", true },
   { "solucionespicadelly.com", true },
   { "solucionupsperu.com", true },
@@ -48475,6 +50437,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "solvops.com", true },
   { "solxsys.com", true },
   { "solyplaya.info", true },
+  { "soma.com.au", true },
   { "somaini.li", true },
   { "somali-derp.com", true },
   { "somaliagenda.com", true },
@@ -48486,9 +50449,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "somehsara.tk", true },
   { "someog.com", true },
   { "somersetscr.nhs.uk", true },
-  { "somersetwellbeing.nhs.uk", true },
   { "somethingsketchy.net", true },
   { "somethingsomething.work", true },
+  { "soml.best", true },
   { "sommefeldt.com", true },
   { "sommeilsante.com", true },
   { "sommerhusudlejning.com", true },
@@ -48505,6 +50468,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sonacupalova.cz", true },
   { "sonaraamat.com", true },
   { "sonarqube.com", false },
+  { "sonate.jetzt", true },
   { "sonavankova.cz", true },
   { "sondebase.com", true },
   { "sonderfloral.com", true },
@@ -48521,19 +50485,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "songtianyi.com", true },
   { "songun.ml", true },
   { "songyang.cn", true },
+  { "songzhuolun.com", true },
+  { "sonia.ai", true },
+  { "sonia.com", true },
   { "sonia.com.au", true },
+  { "soniaai.com", true },
   { "soniaferrer.tk", true },
   { "sonic.studio", true },
   { "sonicdoe.com", true },
   { "sonicrainboom.rocks", true },
+  { "sonicseo.co.uk", true },
   { "sonictonic.cloud", true },
   { "sonix.dk", true },
   { "sonixonline.com", true },
-  { "sonkonews.com", true },
   { "sonnenta.de", true },
   { "sonneundstrand.de", true },
   { "sonodrom.tk", true },
+  { "sonoecoracao.com.br", true },
   { "sonofsunart.com", true },
+  { "sonomacountywriterscamp.com", true },
+  { "sony-psvita.ru", true },
+  { "sonyunlock.nu", true },
   { "soohealthy.nl", true },
   { "soomee.be", true },
   { "soomee1.be", true },
@@ -48549,11 +50521,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sophiebbeauty.co.uk", true },
   { "sopo.me", true },
   { "soprabalao.com.br", true },
+  { "soptq.me", false },
   { "sor.so", true },
   { "soraharu.com", true },
   { "sorakumo.jp", true },
   { "sorcix.com", true },
   { "sorenstudios.com", true },
+  { "sorever.online", true },
   { "sorincocorada.ro", true },
   { "sormeyli.com", true },
   { "sorrowfulunfounded.com", true },
@@ -48569,6 +50543,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sos.vg", true },
   { "sos.yt", true },
   { "sosko.in.rs", true },
+  { "soslsd.org", true },
   { "sosoftplay.co.uk", true },
   { "sospeed.net", true },
   { "sostacancun.com", true },
@@ -48576,23 +50551,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sosteric.si", true },
   { "sot.blue", true },
   { "sot.red", true },
-  { "sotadb.info", true },
   { "sotar.us", true },
+  { "sotayhoctap.com", true },
+  { "sotaytienganh.com", true },
   { "soterdev.com", true },
   { "sotoasobi.net", true },
+  { "sottilealimentos.com.br", true },
   { "soufastnet.com.br", true },
   { "souked.com", true },
   { "souki.cz", true },
   { "soukodou.jp", true },
   { "soul-source.co.uk", true },
-  { "soulc.ml", true },
   { "soulcasa.com.br", true },
-  { "soulcrazy.org", true },
+  { "souletter.com", true },
   { "souleymanecamara.com", true },
   { "soulike.tech", true },
   { "soulmate.dating", true },
   { "soulmating.de", true },
   { "soulogic.com", true },
+  { "soulshinecreators.com", true },
   { "soumikghosh.com", true },
   { "soumya.xyz", true },
   { "soumya92.me", true },
@@ -48651,11 +50628,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "souzanabellydance.com", true },
   { "sovendus.com", true },
   { "sovendus.de", true },
-  { "soverin.net", true },
+  { "soverin.net", false },
   { "sowlutions.com", true },
   { "soybase.org", true },
   { "soydemac.com", true },
   { "soyfanonline.com", true },
+  { "soyladani.com", true },
   { "soyvigilante.com", true },
   { "sozai-good.com", true },
   { "sozialstation-ritterhude.de", true },
@@ -48666,16 +50644,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sp8ce.co", true },
   { "space-inc.co.jp", true },
   { "space-it.de", true },
+  { "spaceanimalnutrition.com", true },
   { "spaceapi.io", true },
   { "spacebaseapp.com", true },
   { "spacebear.ee", true },
   { "spacebestnews.tk", true },
-  { "spacedirectory.org", true },
+  { "spacecaps.xyz", true },
   { "spacedots.net", true },
   { "spacehighway.ms", true },
   { "spacehighways.net", true },
   { "spacehost.de", true },
   { "spacestation13.com", true },
+  { "spaceunique.de", true },
+  { "spaceunique.eu", true },
   { "spacinov.com", true },
   { "spacivox.com", true },
   { "spackova.cz", true },
@@ -48689,6 +50670,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spaldingwall.com", true },
   { "spalnobelyo.com", true },
   { "spamdrain.com", true },
+  { "spamloco.net", true },
   { "spamwc.de", true },
   { "spanier.es", true },
   { "spanishfox.com", true },
@@ -48697,7 +50679,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spanyolul.hu", true },
   { "sparanoid.com", true },
   { "sparanoidstatus.com", true },
-  { "sparendirekt.at", true },
   { "sparkar.com", true },
   { "sparkasse.de", true },
   { "sparkforautism.org", true },
@@ -48705,13 +50686,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sparklesdelivery.com", true },
   { "sparklesvt.com", true },
   { "sparklingessentials.ga", true },
-  { "sparkz.no", true },
+  { "sparklingloungecampiglio.it", true },
+  { "sparkstack.co", true },
   { "sparmedo.de", true },
-  { "sparprofi.at", true },
   { "sparta-en.org", true },
   { "spartacuslife.com", true },
   { "spartaermelo.nl", true },
   { "spartancoin.ooo", true },
+  { "spartatowing.com", true },
   { "sparumzuege.de", true },
   { "spasicilia.it", true },
   { "spaysy.com", true },
@@ -48720,18 +50702,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spazturtle.co.uk", true },
   { "spazzacamino.roma.it", true },
   { "spbet99.com", true },
+  { "spboot.net", true },
   { "spd-porta-westfalica.eu", true },
   { "spdepartamentos.com.br", true },
   { "spdf.net", true },
   { "spdillini.com", true },
+  { "spe.org.co", true },
   { "speak-polish.com", true },
   { "speakersbusiness.com", true },
   { "spearfishingmx.com", true },
   { "specdrones.us", true },
+  { "speciale.cf", true },
   { "specialproperties.com", true },
   { "specialtyalloys.ca", true },
   { "speciesism.com", true },
-  { "spectre.com.br", true },
   { "spectrum-markets.com", true },
   { "spectrum.gov", true },
   { "spectrumelectrical-brisbane.com.au", true },
@@ -48742,8 +50726,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "speechmore.ml", true },
   { "speechndraw.com", false },
   { "speeddate.it", false },
+  { "speeder.best", true },
   { "speeder.im", true },
-  { "speeders.ga", true },
+  { "speederss.best", true },
   { "speedof.me", true },
   { "speedracer.ca", true },
   { "speedsportofhull.co.uk", true },
@@ -48765,6 +50750,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spellcheckci.com", true },
   { "spellchecker.net", true },
   { "spellic.com", true },
+  { "speme-design.com", true },
   { "spenglerei-shop.de", true },
   { "spenny.tf", true },
   { "sperandii.it", true },
@@ -48780,12 +50766,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sphericalvision.cz", true },
   { "sphido.org", false },
   { "spicejungle.com", true },
+  { "spicemoney.com", true },
   { "spicydog.org", true },
   { "spicymatch.com", true },
   { "spidercrabs.tk", true },
   { "spideroak.com", true },
   { "spiders.org.ua", true },
-  { "spiegels-op-maat.nl", true },
   { "spielezar.ch", true },
   { "spielland.ch", true },
   { "spielmit.com", true },
@@ -48800,7 +50786,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spillforum.no", true },
   { "spillmaker.no", false },
   { "spilnu.dk", true },
-  { "spilogkoder.dk", true },
   { "spinalien.net", false },
   { "spingenie.com", true },
   { "spins.fedoraproject.org", true },
@@ -48820,7 +50805,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spittank.info", true },
   { "spittersberger.recipes", true },
   { "splarty.net", true },
-  { "splash.solar", true },
   { "splendidspoon.com", true },
   { "splendorservizi.it", true },
   { "splikity.com", true },
@@ -48831,7 +50815,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sploch.com", true },
   { "splopp.com", true },
   { "splunk.net", true },
-  { "spm.tv", true },
   { "spmax.design", true },
   { "spmax.top", true },
   { "spnitalianfestival.com", true },
@@ -48839,21 +50822,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spofia.nu", true },
   { "spokaneexteriors.com", true },
   { "spokanepolebuildings.com", true },
+  { "spokeo.com", true },
   { "spokesly.com", true },
   { "spoluck.ca", true },
   { "spolwind.de", true },
   { "spom.net", true },
   { "sponc.de", true },
   { "spongepowered.org", true },
-  { "sponsor.network", true },
-  { "sponsormatch.eu", true },
+  { "spontex.org", true },
   { "spoofhaus.com", true },
   { "spookbook.net", true },
   { "spookquest.com", true },
   { "spoopy.link", true },
   { "spoorcam.nl", true },
-  { "sporcard.com", true },
   { "sporemasters.com", true },
+  { "sporki.fun", true },
   { "spornkuller.de", true },
   { "sport-decouverte.com", true },
   { "sport-in-sundern.de", true },
@@ -48865,9 +50848,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sportboot.mobi", true },
   { "sportchirp.com", true },
   { "sporter.com", true },
+  { "sportingpontenova.es", true },
   { "sportmundschutz-info.de", true },
   { "sportnesia.com", true },
   { "sportovnidum.cz", true },
+  { "sportpal.net", true },
   { "sportparks.com", true },
   { "sportparks.org", true },
   { "sports-colleges.com", true },
@@ -48877,8 +50862,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sportsdrobe.com", true },
   { "sportsjaw.com", true },
   { "sportsmansblog.com", true },
-  { "sportstraineradvisor.com", true },
   { "sportstreetstyle.com", true },
+  { "sportswear.by", true },
   { "sportticino.ch", true },
   { "sporttomorrow.com", true },
   { "sporttown.it", true },
@@ -48889,6 +50874,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spot.su", true },
   { "spot9.com", true },
   { "spotfake.news", true },
+  { "spotlabs.uk", true },
   { "spotrebitelskecentrum.sk", true },
   { "spotsee.io", true },
   { "spotswoodvet.com", true },
@@ -48904,16 +50890,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spreadsheetgear.com", true },
   { "spreadsheets.google.com", true },
   { "spreed.me", true },
+  { "spreenauto.com", true },
   { "spricknet.de", true },
   { "springboardsandmore.com", true },
   { "springerundpartner.de", true },
+  { "springfield-ohio-post.com", true },
   { "springhillmaine.com", true },
   { "springhow.com", true },
   { "springtxcarpetcleaning.com", true },
+  { "sprintkitchen.com", true },
   { "spritmonitor.de", true },
   { "spritsail.io", true },
-  { "spro.in", false },
-  { "sproktz.com", true },
   { "spron.in", true },
   { "sprossenwand.de", true },
   { "sproutways.com", true },
@@ -48926,7 +50913,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spsnewengland.org", true },
   { "spstaticfiles.com", true },
   { "spt.re", true },
-  { "spt.tf", true },
+  { "spteam.net", true },
   { "sptk.org", true },
   { "spuffin.com", true },
   { "spufpowered.com", true },
@@ -48938,6 +50925,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "spydersec.com", true },
   { "spyfone.com", true },
   { "spyprofit.ru", true },
+  { "sqap.pt", true },
+  { "sqclick.com", true },
   { "sqdll.com", true },
   { "sqills.com", true },
   { "sql-und-xml.de", true },
@@ -48951,20 +50940,45 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sqreemtech.com", true },
   { "sqroot.eu", true },
   { "sqsd.xyz", true },
+  { "squadlinx.com", true },
   { "squadronprotectiveservices.net", true },
   { "square-gaming.org", true },
   { "square-src.de", false },
+  { "square.com", true },
+  { "square.com.mx", true },
+  { "square.engineering", true },
+  { "square.it", true },
+  { "square.ly", true },
+  { "square.mx", true },
+  { "square.site", true },
   { "squarefootllcconstruction.com", true },
   { "squareforums.com", true },
+  { "squaregift.com", true },
+  { "squaregift.net", true },
+  { "squaregift.org", true },
+  { "squareinstallments.com", true },
+  { "squareinvite.com", true },
+  { "squareinvoices.com", true },
+  { "squaremktg.com", true },
+  { "squaremktgstaging.com", true },
+  { "squareoffer.com", true },
+  { "squareregister.com", true },
+  { "squaresolutions.com", true },
+  { "squarestagingexternal.com", true },
+  { "squareup.com", true },
+  { "squareupsandbox.com", true },
   { "squattra.com", true },
   { "squeezemetrics.com", true },
   { "squido.ch", true },
   { "squidparty.com", true },
   { "squirex2.com", true },
-  { "squirtingpussygirl.com", true },
   { "sr-33.com", true },
   { "sr33.com", true },
+  { "sr88.co.uk", true },
+  { "sr88.me.uk", true },
+  { "srae.me.uk", true },
   { "srandom.com", true },
+  { "sranje.rocks", true },
   { "srb.help", true },
   { "srbija-nekretnine.org", false },
   { "src-el-main.com", true },
@@ -48978,7 +50992,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "srihash.org", false },
   { "srilankan-hope-for-children.nl", true },
   { "srimakc.com", true },
-  { "srinivasan.io", true },
   { "sriravana.tk", true },
   { "sritalaska.tk", true },
   { "sritcities.tk", true },
@@ -48986,11 +50999,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sritidaho.tk", true },
   { "sritspanish.tk", true },
   { "sritvermont.tk", true },
+  { "srkarra.com", true },
   { "srkb.net", true },
   { "sro.center", true },
   { "srochnozaim.gq", true },
   { "srpx.de", true },
   { "srqpedals.com", true },
+  { "srrdb.com", true },
   { "srroddy.com", true },
   { "srsforward.email", true },
   { "srsfwd.com", true },
@@ -48999,7 +51014,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "srsfwd.net", true },
   { "srsfwd.org", true },
   { "srv.so", true },
-  { "srx.sx", true },
   { "ss-news.tk", true },
   { "ss.com", true },
   { "ss.lazio.it", true },
@@ -49007,14 +51021,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ss.lv", true },
   { "ss.systems", true },
   { "ss.ua", true },
+  { "ss09.com", true },
   { "ss64.com", true },
   { "ss64.org", true },
   { "ss88.uk", true },
+  { "ss9188.com", true },
+  { "ss9288.com", true },
+  { "ss9721.com", false },
   { "ssa.gov", false },
   { "ssab.gov", true },
   { "ssbgportal.net", true },
   { "ssbkk.ru", true },
   { "ssbrm.ch", true },
+  { "ssc.vg", true },
+  { "ssc8689.com", true },
+  { "ssc8689.net", true },
+  { "ssccp.in", true },
+  { "sschd.cc", true },
   { "ssdax.com", true },
   { "ssdpalermo.it", true },
   { "ssenberg.nl", true },
@@ -49033,7 +51056,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sslbrain.com", true },
   { "sslcertificaten.nl", true },
   { "sslcheck.nl", true },
-  { "ssldecoder.org", true },
   { "sslmate.com", true },
   { "sslok.com", false },
   { "sslping.com", true },
@@ -49043,7 +51065,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sslsurvey.de", true },
   { "ssmca.com", true },
   { "ssmic.com", true },
-  { "ssmm88.cc", true },
   { "ssmpuc.com", true },
   { "ssmut.be", true },
   { "ssone.ee", true },
@@ -49068,13 +51089,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "staatschutz.at", true },
   { "staatsschutz.at", true },
   { "staatsschutzgesetz.at", true },
+  { "stabilimento.it", true },
   { "stable.network", true },
   { "stablelib.com", true },
   { "stackpath.com", true },
   { "stackptr.com", true },
-  { "stacktrace.sh", true },
   { "stackunderflow.com", true },
   { "staddlestonesbowness.co.uk", true },
+  { "stadiumexperience.com", true },
+  { "stadlwirt.at", true },
   { "stadm.com", false },
   { "stadsbos013.nl", true },
   { "stadsbygd.info", true },
@@ -49087,7 +51110,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "staer.ro", true },
   { "staff.direct", true },
   { "staffexcellence.com", true },
-  { "staffhunt.org.uk", true },
   { "staffordlabour.org.uk", true },
   { "stage-recuperation-points-bordeaux.com", true },
   { "stage-recuperation-points-lille.com", true },
@@ -49109,6 +51131,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stagelectrical.com.au", true },
   { "stagemaster.cz", true },
   { "stagespediatrics.com", true },
+  { "stahlfors.com", true },
   { "stainedglass.net.au", true },
   { "stainhaufen.de", true },
   { "stair.ch", true },
@@ -49125,21 +51148,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stalker-shop.com", true },
   { "stalkerteam.pl", true },
   { "stalkr.net", true },
+  { "stalkthe.net", true },
   { "stamboomforum.nl", true },
   { "stamboomgids.nl", true },
   { "stameystreet.com", true },
   { "stamkassa.nl", true },
   { "stammtisch.domains", true },
   { "stamparmakarije.me", true },
+  { "stampsbar.co.uk", true },
   { "standagainstspying.org", true },
   { "standard.co.uk", true },
   { "standardequipment.com", true },
   { "standards.gov", true },
   { "standartgost.ru", true },
+  { "standheizung-shop.de", true },
   { "stangeland.tk", true },
   { "stanmed24.pl", true },
   { "stannri.org", true },
   { "stanron.com", true },
+  { "stansweather.net", true },
   { "stantabler.com", true },
   { "stanthony-hightstown.net", true },
   { "stanthonymaryclaret.org", true },
@@ -49158,6 +51185,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stardam.net", true },
   { "stardanceacademy.net", true },
   { "stardawg.co.uk", true },
+  { "starease.net", true },
   { "stareplanymiast.pl", true },
   { "starfishconstruction.com", true },
   { "starflix.uk", true },
@@ -49167,8 +51195,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stargazer.de", true },
   { "stariders.com", true },
   { "starina.ru", true },
+  { "starinc.xyz", true },
   { "starka.st", true },
   { "starkbim.com", true },
+  { "starkvilleurgentcareclinic.com", true },
   { "starlightentertainmentdevon.co.uk", true },
   { "starlim.co.in", true },
   { "starlim.org", true },
@@ -49199,16 +51229,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "startpage.com", true },
   { "startpage.info", true },
   { "startrek.in", true },
+  { "startstunter.com", true },
   { "starttls-everywhere.org", true },
-  { "starttraffic.com", true },
   { "starttraffic.uk", true },
+  { "startupisland.tw", true },
   { "startupstack.tech", true },
+  { "startw.cf", true },
   { "starvizyon.com", true },
+  { "stasiniewicz.com", true },
   { "stassi.ch", true },
   { "stastka.ch", true },
   { "stat.ink", true },
   { "statecollegemortgages.com", true },
-  { "static-692b8c32.de", true },
   { "static-myfxee-808795.c.cdn77.org", true },
   { "static-myfxoau-808795.c.cdn77.org", true },
   { "static-myfxouk-808795.c.cdn77.org", true },
@@ -49217,8 +51249,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "staticfury.com", true },
   { "stationa.ch", false },
   { "stationary-traveller.eu", true },
-  { "stationatbuckscounty.com", true },
-  { "stationatlyndhurst.com", true },
   { "stationcharlie.co.za", true },
   { "statistik-seminare.de", true },
   { "statistikian.com", true },
@@ -49229,6 +51259,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stats.g.doubleclick.net", true },
   { "statusboard.eu", true },
   { "statuscode.ch", true },
+  { "statusmachine.com", true },
   { "statuswatch.io", true },
   { "stau-a.de", true },
   { "stavanger.kommune.no", true },
@@ -49248,9 +51279,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stbennett.org", true },
   { "stbl.org", true },
   { "stbridgeteastfalls.org", true },
+  { "stc-istok.com.ua", true },
   { "stcable.net", true },
   { "stcatharine-stmargaret.org", true },
   { "stceciliakearny.org", true },
+  { "stclairvet.co.uk", true },
   { "stclementmatawan.org", true },
   { "stclementreligioused.org", true },
   { "stcplasticsurgery.com", true },
@@ -49275,7 +51308,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "steamwhale.com", true },
   { "stebenkov.tk", true },
   { "stebet.net", true },
-  { "steborio.pw", true },
   { "stedb.eu", true },
   { "steef389.eu", true },
   { "steel-roses.de", true },
@@ -49283,10 +51315,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "steelephys.com.au", true },
   { "steelmounta.in", true },
   { "steelpoint.com.pl", true },
+  { "steelsoldiers.com", true },
   { "steemit.com", true },
   { "steemyy.com", true },
+  { "steeple-claydon.org", true },
   { "steering-wheel.tk", true },
   { "steerty.com", true },
+  { "steevels.nl", true },
   { "stefan-bayer.eu", true },
   { "stefan-rothe.ch", true },
   { "stefan-schlueter.de", true },
@@ -49300,12 +51335,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stefanorossi.it", true },
   { "stefanvanburen.xyz", false },
   { "stefanvd.net", true },
+  { "stefanviehbacher.de", true },
   { "stefany.eu", true },
   { "stefchapman.tk", true },
   { "steffenmeister.com", true },
   { "steffentreeservice.com", true },
+  { "steffi-knorn.de", true },
   { "stefpastoor.nl", true },
   { "stehlik.co.uk", true },
+  { "stehlik.sk", true },
   { "steidlewirt.de", true },
   { "steigerlegal.ch", true },
   { "steinbergmedia.de", true },
@@ -49314,9 +51352,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "steklein.de", true },
   { "stekosouthamerica.com", true },
   { "stelfox.net", true },
-  { "stelinauto.com", true },
   { "steliosmanousakis.gr", true },
   { "stella-artis-ensemble.at", true },
+  { "stella-shop.eu", true },
   { "stellarguard.me", true },
   { "stellarium-gornergrat.ch", true },
   { "stellarx.com", true },
@@ -49344,21 +51382,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stenaro.ch", true },
   { "stenhojmedia.dk", true },
   { "stening.co", true },
+  { "steno.nl", true },
   { "stenzhorn-cloud.de", true },
   { "step2web-cms.info", true },
   { "stepanvanek.cz", true },
   { "steph.ninja", true },
   { "stephan-matthiesen.de", true },
   { "stephanao.tk", true },
-  { "stephane-huc.net", false },
   { "stephaniecalahan.com", true },
   { "stephaniedeady.ie", true },
   { "stephanieleonidasfan.tk", true },
   { "stephanieschreiber.com", true },
   { "stephansurgicalarts.com", true },
   { "stephencreilly.com", true },
+  { "stephengeorge.co.uk", true },
   { "stephenhaunts.com", true },
+  { "stephenhorler.com.au", true },
   { "stephenj.co.uk", true },
+  { "stephenjvoiceovers.com", true },
   { "stephenlam.ca", true },
   { "stephenperreira.com", true },
   { "stephenreescarter.com", true },
@@ -49374,6 +51415,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stephspace.net", true },
   { "stephycom.com", true },
   { "steponedanceclub.co.uk", true },
+  { "steppingoutinstyleonline.com", true },
   { "stepstone.dk", true },
   { "stepsweb.com", true },
   { "ster-enzo.nl", true },
@@ -49388,6 +51430,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sternenbund.info", true },
   { "sternplastic.com", true },
   { "sternsinus.com", true },
+  { "sterohouse.com", true },
   { "stesti.cz", true },
   { "stetson.edu", true },
   { "steuer-voss.de", true },
@@ -49407,8 +51450,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stevejobsfollowers.tk", true },
   { "steven-bennett.com", true },
   { "steven-klix.de", true },
+  { "stevenapate.com", true },
   { "stevenbolgartersnakes.com", true },
   { "stevengrech.com", true },
+  { "stevenkendypierre.com", true },
   { "stevenpilger.com", true },
   { "stevens.se", false },
   { "stevenselectricllc.com", true },
@@ -49418,10 +51463,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stevenz.net", true },
   { "stevenz.science", true },
   { "stevenz.xyz", true },
+  { "stevepacheco.com", true },
+  { "stevereedmp.co.uk", true },
   { "stevesdrivingschooltyneside.com", true },
   { "stevezheng.cf", true },
   { "stewartswines.com", true },
-  { "stewonet.nl", true },
   { "stewpolley.com", false },
   { "steyaert.be", false },
   { "stfrancisnaugatuck.org", true },
@@ -49443,11 +51489,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stickergiant.com", true },
   { "stickertuningfetzt.de", true },
   { "stickies.io", true },
-  { "stickmanventures.com", true },
   { "stickstueb.de", true },
   { "sticky.ai", true },
   { "stickypassword.com", true },
   { "stickyricelove.com", true },
+  { "stiebel-eltron.co.nz", true },
+  { "stiebel-eltron.com.au", true },
   { "stiebelmedia.co.nz", true },
   { "stiebelmedia.com.au", true },
   { "stiff.wang", true },
@@ -49460,10 +51507,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stigharder.com", true },
   { "stigviewer.com", true },
   { "stijnbelmans.be", true },
+  { "stijndv.com", true },
   { "stijnodink.nl", true },
   { "stikic.me", true },
   { "stilartmoebel.de", true },
   { "stilecop.com", true },
+  { "stiliankasimov.com", true },
+  { "stilingavonia.lt", true },
   { "stilmobil.se", true },
   { "stilsvadba.tk", true },
   { "stiltmedia.com", true },
@@ -49471,6 +51521,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stin.hr", true },
   { "stina-vino.hr", true },
   { "stinaspiegelberg.com", true },
+  { "stingraybook.com", true },
   { "stinkefingereinhorn.de", true },
   { "stinsky.com", true },
   { "stintup.com", true },
@@ -49480,10 +51531,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stirlingpoon.com", true },
   { "stisaac.org", true },
   { "stisidores.org", true },
+  { "stitch.money", true },
   { "stitchfiddle.com", true },
   { "stitchinprogress.com", true },
   { "stivesbouncycastlehire.co.uk", true },
-  { "stjameslititz.org", true },
+  { "stjohncamden.com", true },
   { "stjohnin.com", true },
   { "stjohnnepomucene.com", true },
   { "stjohnsottsville.org", true },
@@ -49496,7 +51548,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stjustin.org", true },
   { "stkevin-stbenedict.org", true },
   { "stkildaosteopathy.com.au", true },
-  { "stl.news", true },
   { "stleonardmn.org", true },
   { "stlouisinsuranceco.com", true },
   { "stlouisnativeflute.com", true },
@@ -49517,13 +51568,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stmichaelunion.org", true },
   { "stmlearning.com", true },
   { "stmohrael.org", true },
-  { "stmosesbookstore.org", true },
   { "stmsolutions.pl", true },
+  { "stmsouthcoventry.com", true },
   { "stneotsbouncycastlehire.co.uk", true },
+  { "stock-solution.de", true },
   { "stockholmpride.org", true },
   { "stockpile.com", true },
   { "stockportpyramid.co.uk", true },
-  { "stockrow.com", true },
   { "stockstuck.com", true },
   { "stocktrader.com", true },
   { "stocp.org", true },
@@ -49532,6 +51583,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stoerevrouwensporten.nl", true },
   { "stoffelnet.de", true },
   { "stoicatedy.ovh", true },
+  { "stoildaaliyski.com", true },
   { "stoinov.com", true },
   { "stokl.com.au", true },
   { "stokvistrading.nl", true },
@@ -49550,16 +51602,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stonedworms.de", false },
   { "stoneedgeconcrete.com", true },
   { "stonegateapartmentsstl.com", true },
+  { "stonehammerhead.org", true },
   { "stonehurstcap.com", true },
   { "stoneproperty.ie", true },
   { "stonesfamilyrestaurant.com", true },
   { "stonetribute.tk", true },
   { "stony.com", true },
   { "stonystratford.org", true },
+  { "stoomstichting.nl", true },
   { "stop-activ.ga", true },
   { "stopbullying.gov", true },
+  { "stopforumspam.com", true },
   { "stopfraud.gov", true },
-  { "stopjunkmail.co.uk", true },
   { "stoplossoff.tk", true },
   { "stopoverconnections.com", true },
   { "stoppage.cf", true },
@@ -49572,15 +51626,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "storefront.gq", true },
   { "storeit.co.uk", true },
   { "storeplus.ml", true },
+  { "storey-lines.com", true },
   { "storgaarddieu.com", true },
   { "storiesbysign.com", true },
   { "storillo.com", true },
   { "storingdesk.com", true },
-  { "storm-family.com", true },
-  { "storm-family.nl", true },
   { "stormboost.cz", true },
   { "stormhub.ml", true },
   { "stormi.io", true },
+  { "stormingbrain.com", true },
   { "stormylegions.tk", true },
   { "stortiservices.com", true },
   { "storvann.net", true },
@@ -49593,7 +51647,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "storytell.com", true },
   { "storytellingforbusiness.com.au", true },
   { "storytime.hu", true },
-  { "storzrealty.com", true },
   { "stoutassociates.com", true },
   { "stouter.nl", true },
   { "stoxford.com", true },
@@ -49601,15 +51654,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stpatrickkennettsquare.org", true },
   { "stpatrickri.org", true },
   { "stpatricks-pelham.com", true },
+  { "stpatsschool.org", true },
   { "stpaulcatholicchurcheastnorriton.net", true },
   { "stphilipneripreschool.com", true },
-  { "str8hd.com", true },
-  { "str92.com", true },
-  { "straat.net", true },
   { "straatderzotten.nl", true },
   { "strafensau.de", true },
   { "strafvollzugsgesetze.de", true },
   { "strahlende-augen.info", true },
+  { "straightnude.com", true },
   { "strajnar.si", true },
   { "straka.name", true },
   { "strandbyfysio.dk", true },
@@ -49618,7 +51670,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "strandhaus-hinter-der-duene.de", true },
   { "strandom.ru", true },
   { "strandschnuppern.de", true },
-  { "strange.ga", true },
   { "strangelandrecording.com", true },
   { "strangelandrecordingstudios.com", true },
   { "strangelandsoundstage.com", true },
@@ -49638,6 +51689,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "strategiccapital.com", true },
   { "strategiclivingblog.com", true },
   { "strategie-zone.de", true },
+  { "stratforge.com", true },
   { "strathewerd.de", true },
   { "strathspeycrown.com", true },
   { "stratmann-b.de", true },
@@ -49651,13 +51703,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "strd.co", true },
   { "streamchan.org", true },
   { "streamelements.com", true },
+  { "streaming-download.net", true },
+  { "streaminginternacional.net", true },
   { "streamkit.gg", true },
   { "streampanel.net", true },
   { "streamspouredout.com", true },
   { "streathamfoodfestival.com", true },
   { "streemprn.xyz", true },
+  { "streepjesenstipjes.nl", true },
   { "street-medics.fr", true },
   { "street-tek.com", true },
+  { "streetboards.lt", true },
   { "streetdancecenter.com", true },
   { "streetlightdata.com", true },
   { "streetmarket.ru", true },
@@ -49673,6 +51729,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stretchmarkdestroyer.com", true },
   { "stretchmyan.us", true },
   { "striata.com", true },
+  { "striata.mobi", true },
+  { "striata.org", true },
   { "striatadev.com", true },
   { "strick-welt.de", true },
   { "stricted.net", true },
@@ -49707,6 +51765,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "strongpassword.club", true },
   { "strongrandom.com", false },
   { "strongsalpinesucculents.com", true },
+  { "strongtieinsurance.com", true },
   { "stronku-gaming.de", true },
   { "stroomacties.nl", true },
   { "strosemausoleum.com", true },
@@ -49724,44 +51783,56 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sttammanyurology.com", true },
   { "sttg.com.au", true },
   { "stthomasbrigantine.org", true },
+  { "sttl-topographie.com", true },
   { "stuartbeard.com", true },
   { "stuartbell.co.uk", true },
   { "stuartbell.uk", true },
+  { "stuartcrawford.co.nz", true },
   { "stuarteggerton.com", true },
   { "stuartmorris.id.au", true },
   { "stuartmorris.me", true },
   { "stuartmorris.name", true },
   { "stuartmorris.tel", true },
-  { "stuckateur-bruno.de", true },
+  { "stuckateur-bruno.de", false },
   { "stucki-bagger.ch", true },
   { "stucydee.nl", true },
   { "studay.fr", true },
   { "studenckiemetody.pl", true },
   { "student-eshop.cz", true },
   { "student-eshop.sk", true },
+  { "studentaid.gov", true },
   { "studenterguiden.dk", true },
   { "studentfinancecountdown.com", true },
   { "studentforums.biz", true },
   { "studenti.tk", true },
   { "studentklinikk.no", true },
-  { "studentloans.gov", true },
   { "studentpop.com", true },
   { "studentse.fr", true },
   { "studenttenant.com", true },
   { "studiebegeleiding-haegeman.be", true },
+  { "studiekort.se", true },
+  { "studiekortet.com", true },
+  { "studiekortet.eu", true },
+  { "studiekortet.net", true },
+  { "studiekortet.nu", true },
+  { "studiekortet.org", true },
+  { "studiekortet.se", true },
   { "studio-637.com", true },
   { "studio-abok.com", true },
   { "studio-architetto.com", true },
-  { "studio-fotografico.ru", true },
   { "studio-happyvalley.com", true },
   { "studio-n.pl", true },
   { "studio-satellite.com", true },
   { "studio413.net", true },
   { "studio678.com", true },
   { "studioadevents.com", true },
+  { "studioavvocato.roma.it", true },
   { "studioavvocato24.it", true },
   { "studiobergaminloja.com.br", true },
+  { "studiobrandano.com", true },
+  { "studiodentisticomasi.com", true },
   { "studiodewit.nl", true },
+  { "studiodpe.com", true },
   { "studiogavioli.com", true },
   { "studiogears.com", true },
   { "studiograou.com", true },
@@ -49772,7 +51843,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "studiomarcella.com", true },
   { "studionowystyl.pl", true },
   { "studiopirrate.com", true },
-  { "studiopop.com.br", true },
   { "studioproapp.com", true },
   { "studioriehl.com", true },
   { "studioscherp.nl", true },
@@ -49789,8 +51859,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "studipad.de", true },
   { "studipro-formation.fr", true },
   { "studipro-marketing.fr", true },
-  { "studisys.net", true },
   { "studium.cz", true },
+  { "study-support-beans.com", true },
   { "studyin.jp", true },
   { "studyportal.net", true },
   { "studyspy.ac.nz", true },
@@ -49809,11 +51879,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stupidthoughts.tk", true },
   { "stupino-stroy.cf", true },
   { "stutelage.com", true },
+  { "stuudium-mail.ee", true },
   { "stuudium.com", true },
   { "stuudium.net", true },
   { "stuudium.org", true },
   { "stuudium.pro", true },
-  { "stuur.nl", false },
   { "stuvel.eu", true },
   { "stuvus.de", true },
   { "stuvus.uni-stuttgart.de", true },
@@ -49823,8 +51893,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "stylebeat.tk", true },
   { "styleci.io", true },
   { "stylecollective.us", true },
+  { "styledandcomposed.com", true },
   { "styledbysally.com.au", true },
   { "styleelite.tk", true },
+  { "styleetvieperfumes.com", true },
   { "styletron.org", true },
   { "stylett.ru", true },
   { "stylewish.me", true },
@@ -49832,6 +51904,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "su1ph3r.io", true },
   { "suaudeau.fr", true },
   { "suaudeau.org", true },
+  { "suayslim.com", true },
   { "sub-net.at", true },
   { "sub.media", true },
   { "subastasdecarros.net", true },
@@ -49839,7 +51912,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "subdimension.org", true },
   { "subdivider.tk", true },
   { "subjektzentrisch.de", true },
-  { "sublimebits.com", true },
+  { "sublocale.com", true },
   { "submedia.tv", true },
   { "submelon.tech", true },
   { "subohm.com", true },
@@ -49847,12 +51920,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "subrad.io", true },
   { "subsistence.wiki", true },
   { "substitutealert.com", true },
-  { "subtitry.ru", true },
   { "suburban-landscape.net", true },
   { "suburbaninfinitioftroyparts.com", true },
+  { "suburbansites.com", true },
   { "subven.com", true },
   { "subversive-tech.com", true },
-  { "subzerotech.co.uk", true },
   { "succesprojekter.dk", true },
   { "successdeliv.com", true },
   { "successemails.ml", true },
@@ -49868,13 +51940,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sudanindependent.net", true },
   { "sudaraka.org", false },
   { "sudmotor-occasions.be", false },
-  { "sudo-i.net", true },
-  { "sudo.li", true },
   { "sudo.ws", true },
-  { "sudocat.me", true },
   { "sudokian.io", true },
+  { "sudosaveclimate.com", true },
   { "sudoschool.com", true },
-  { "sudosu.fr", true },
   { "suecaunitedfc.tk", true },
   { "suelyonjones.com", true },
   { "suessdeko.de", true },
@@ -49882,8 +51951,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "suffix.ru", true },
   { "sufix.cz", true },
   { "sugarbrother.com", false },
-  { "sugarlandkarate.net", true },
   { "sugarlandurology.com", true },
+  { "sugarpiano.com", true },
   { "sugarshin.net", true },
   { "sugatime.tk", true },
   { "suggea.com", true },
@@ -49916,6 +51985,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sumatriptan365.tk", true },
   { "sumcrevillent.tk", true },
   { "sumguy.com", true },
+  { "sumiko.moe", true },
   { "sumit.me", true },
   { "sumitchahal.com", true },
   { "summa.eu", false },
@@ -49929,7 +51999,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "summusglobal.com", true },
   { "sun-beach.com.ua", true },
   { "sun-wellness-online.com.vn", true },
-  { "sun.re", true },
   { "sun1218.com", true },
   { "sun1245.com", true },
   { "sun1338.com", true },
@@ -49958,18 +52027,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sundragon.se", true },
   { "sunfiregold.com", true },
   { "sunfox.cz", true },
-  { "sunfulong.blog", true },
-  { "sunfulong.me", true },
-  { "sungari.ru", true },
   { "sungreen.info", true },
   { "sunhaoxiang.net", true },
   { "sunjaydhama.com", true },
   { "sunjiutuo.com", true },
   { "sunlit.cloud", true },
   { "sunn.ie", true },
-  { "sunnibangla.com", true },
   { "sunny.co.uk", true },
   { "sunnysidechurchofchrist.org", true },
+  { "sunnysideups.co", true },
   { "sunoikisis.org", true },
   { "sunpig.com.my", true },
   { "sunpig.com.sg", true },
@@ -49978,6 +52044,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sunpig.sg", true },
   { "sunred.info", true },
   { "sunred.org", true },
+  { "sunrichtec.com", true },
   { "sunsdesign.net", true },
   { "sunsetdentalhenderson.com", true },
   { "sunsetwx.com", true },
@@ -49986,7 +52053,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sunshinecoastplumbingcompany.com.au", true },
   { "sunshinelife.tk", true },
   { "sunshinesf.org", true },
-  { "sunsmartresorts.com", true },
   { "sunsong.org", true },
   { "sunsquare.cz", true },
   { "sunstar.bg", true },
@@ -49994,8 +52060,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "suomenkielisetnettikasinot.com", true },
   { "suomika.pl", true },
   { "supa.sexy", true },
-  { "supedi.com", true },
-  { "supedi.de", true },
   { "supedio.com", true },
   { "super-erotica.ru", true },
   { "superaficionados.com", true },
@@ -50010,7 +52074,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "supercastlesadelaide.com.au", true },
   { "supercastlesbrisbane.com.au", true },
   { "supercastlessunshinecoast.com.au", true },
-  { "supercastlessydney.com.au", true },
   { "supercentenarian.com", true },
   { "supercharged.co.uk", true },
   { "supercinebattle.fr", true },
@@ -50021,6 +52084,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "supergmtransport.com.au", true },
   { "superguide.com.au", true },
   { "superhappiness.com", true },
+  { "superhappyfun.club", true },
   { "superhome.com.au", true },
   { "superidropulitrice.com", true },
   { "superiordetail.tk", true },
@@ -50036,7 +52100,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "supernaut.info", true },
   { "superpi.noip.me", true },
   { "supersahnetorten.de", true },
-  { "supersena.com.br", true },
+  { "supersandro.de", true },
   { "supersonnig-festival.de", true },
   { "supersonnigfestival.de", true },
   { "superstargossip.com", true },
@@ -50051,14 +52115,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "supervets.com.au", true },
   { "supervisionassist.com", true },
   { "supeuro.com", true },
-  { "suplments.co.uk", true },
-  { "suplments.com", true },
-  { "suplments.de", true },
-  { "suplments.fr", true },
-  { "suplments.it", true },
-  { "suplments.pt", true },
   { "supmil.net", true },
-  { "supplementler.com", true },
   { "supplies24.at", true },
   { "supplies24.es", true },
   { "supplynation.org.au", true },
@@ -50071,6 +52128,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "suprem.biz", false },
   { "suprem.ch", false },
   { "supremestandards.com", true },
+  { "supremumseo.pl", true },
   { "supriville.com.br", true },
   { "sur-v.com", true },
   { "suranganet.tk", true },
@@ -50081,16 +52139,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "surfnetkids.com", true },
   { "surfnetparents.com", true },
   { "surfocal.com", true },
-  { "surgenights.com", true },
+  { "surgeholdinggroup.com", true },
   { "surgeongeneral.gov", true },
   { "surgicalassociateswny.com", true },
+  { "suricate.ru", true },
   { "surnet.io", true },
   { "surnganet.tk", true },
   { "suroil.com", true },
-  { "suroot.moe", true },
   { "surpreem.com", true },
   { "surreyheathyc.org.uk", false },
-  { "surtisitio.com", true },
+  { "surthriveak.com", true },
   { "suruifu.com", true },
   { "survature.com", true },
   { "surveer.com", true },
@@ -50109,7 +52167,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sush.us", true },
   { "sushi.roma.it", true },
   { "sushibesteld.nl", true },
-  { "susoccm.org", true },
   { "susosudon.com", true },
   { "suspect.id", true },
   { "suspension-shop.com", true },
@@ -50118,10 +52175,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sustainabilityknowledgegroup.com", true },
   { "sustainabilitysociety.hk", true },
   { "sustainoss.org", true },
+  { "sustc.ac.cn", true },
   { "sustsol.com", true },
   { "sutas.market", true },
+  { "suts.co.uk", true },
   { "suttacentral.net", true },
-  { "suurhelsinki.cf", true },
   { "suuria.de", true },
   { "suzi3d.com", true },
   { "suziekovner.com", true },
@@ -50129,6 +52187,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "suzukikenichi.com", true },
   { "suzukimarinepress.com", true },
   { "sv-bachum-bergheim.de", true },
+  { "sv-schody.cz", true },
   { "sv-turm-hohenlimburg.de", true },
   { "sv.search.yahoo.com", false },
   { "sv1880-lichtenau.de", true },
@@ -50138,7 +52197,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "svanstrom.org", true },
   { "svantner.sk", true },
   { "svarnyjunak.cz", true },
-  { "svartx.com", true },
   { "svatbamisiaviti.tk", true },
   { "svc-sitec.com.mx", true },
   { "svc-sitec.mx", true },
@@ -50150,30 +52208,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sveinerik.org", true },
   { "svendubbeld.nl", true },
   { "sveneckelmann.de", true },
-  { "svenjaundchristian.de", true },
   { "svenluijten.com", false },
   { "svenmuller.nl", true },
   { "svennd.be", true },
   { "svenskapsalmer.se", true },
+  { "svenskmediabevakning.se", true },
   { "svetandroida.cz", true },
   { "svetila.com", true },
   { "svetlilo.com", true },
-  { "svht.nl", true },
   { "svia.nl", true },
   { "svijet-medija.hr", true },
   { "svinformatica.es", true },
   { "svm-basketball.de", true },
-  { "svm-it.eu", true },
   { "svo-intranet.de", true },
   { "svobodnyblog.cz", true },
   { "svodjapan.info", true },
   { "svorcikova.cz", true },
   { "svorkmofotball.tk", true },
   { "svpoa.org.uk", true },
+  { "svrx.one", true },
   { "svsb-live.azurewebsites.net", false },
   { "svtr.de", true },
   { "sw-servers.net", true },
   { "sw33tp34.com", true },
+  { "swaenenburg.be", true },
+  { "swagfuli.com", true },
   { "swagger.london", true },
   { "swallowgateway.com", true },
   { "swankism.com", true },
@@ -50190,6 +52249,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sway.com", true },
   { "swaz.co.uk", true },
   { "swc-cfc.gc.ca", true },
+  { "swcloud.io", true },
   { "swd.agency", true },
   { "swdiscount.ru", true },
   { "sweak.net", true },
@@ -50205,14 +52265,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sweetbabyjesus.com", true },
   { "sweetbridge.com", true },
   { "sweetcalculus.ru", true },
+  { "sweetdata.io", true },
   { "sweetenedcondensed.com", true },
   { "sweetgood.de", true },
   { "sweethomesnohomishrenovations.com", true },
   { "sweets-mimatsu.com", true },
+  { "sweetspot.co.kr", true },
   { "sweetydecor.ru", true },
   { "sweharris.org", true },
   { "swetrust.com", true },
-  { "swey.net", false },
   { "swfmax.com", true },
   { "swgenetx.com", true },
   { "swhw.io", true },
@@ -50220,6 +52281,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "swid.co.uk", true },
   { "swiftbonds.com", true },
   { "swiftcashforcars.com.au", true },
+  { "swiftcom.co.za", true },
   { "swifteh.net", true },
   { "swiftpak.co.uk", true },
   { "swiftpcbassembly.com", true },
@@ -50234,20 +52296,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "swingmonkey.com", true },
   { "swingtimeinthegardens.com", true },
   { "swingular.com", true },
+  { "swipedon.com", true },
   { "swipetv.ie", true },
   { "swiss-apartments.com", true },
-  { "swiss-connection.net", true },
+  { "swiss-connection.net", false },
   { "swiss-vanilla.ch", true },
   { "swiss-vanilla.com", true },
   { "swisscypher.com", true },
   { "swissdojo.ch", false },
   { "swisselement365.com", false },
   { "swisservers.com", true },
-  { "swissfreshaircan.ch", false },
   { "swissid.ch", true },
   { "swissinternationalva.com", true },
+  { "swissj.com", true },
   { "swisslinux.org", true },
-  { "swissmadesecurity.net", true },
   { "swisstacticaldevelopment.ch", true },
   { "swisstechassociation.ch", true },
   { "swissurf.tk", true },
@@ -50257,21 +52319,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "switch-trader.com", true },
   { "switcheo.exchange", true },
   { "switcheo.rocks", true },
-  { "switzerland-family-office.com", false },
   { "swivells.com", true },
-  { "swj.red", true },
   { "swkdevserver.tk", true },
   { "swlabs.org", true },
   { "swmlink.com", true },
   { "swn-nec.de", true },
-  { "swo.re", true },
-  { "swordfeng.xyz", true },
   { "swrpgitems.com", true },
   { "swtun.com", true },
   { "swvaux.com", true },
   { "swxtd.com", true },
   { "swy.cz", true },
   { "swyn.net", true },
+  { "swynwyr.com", true },
   { "sx8.ovh", true },
   { "sxistolithos.gr", true },
   { "sy-anduril.de", true },
@@ -50284,6 +52343,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sydney-sehen.com", true },
   { "sydney.dating", true },
   { "sydneychillies.com.au", true },
+  { "sydneyexperiences.com", true },
   { "sydneyhelicopters.com.au", true },
   { "sydneylawnandturf.com.au", true },
   { "syenar.net", true },
@@ -50299,7 +52359,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "sylvaindurand.org", true },
   { "sylvaloir.fr", true },
   { "sylvan.me", true },
-  { "sylvangarden.net", true },
   { "sylve.ch", false },
   { "sym01.com", true },
   { "symb.ch", false },
@@ -50310,21 +52369,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "symbo.tech", true },
   { "symdevinc.com", true },
   { "symeda.de", true },
+  { "symeonchen.com", true },
   { "symetrix.tk", true },
   { "symfora-meander.nl", true },
   { "symlnk.de", true },
-  { "symphonos.it", true },
+  { "sympletrade.com", true },
   { "symplexia.com.br", true },
   { "sympmarc.com", true },
-  { "symposium.beer", true },
   { "sympraxisconsulting.com", true },
   { "symptome-erklaert.de", true },
   { "synabi.com", true },
   { "synackrst.net", true },
   { "synapsepain.com", true },
-  { "synatra.co", true },
   { "sync-it.no", true },
   { "synccentre.com", true },
+  { "syncevolution.org", true },
+  { "synchrocube.com", true },
   { "synchrolarity.com", true },
   { "synchronicity.cz", true },
   { "synchronyse.com", true },
@@ -50336,6 +52396,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "syneart.com", true },
   { "synecek11.cz", true },
   { "synedat.com", true },
+  { "synergyfitness.com.au", true },
   { "synergyflare.com", true },
   { "synergyworkingdogclub.com", true },
   { "synerionagile.com", true },
@@ -50352,13 +52413,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "syonix.ru", true },
   { "syplasticsurgery.com", true },
   { "syquel-systems.de", true },
+  { "sys-tm.com", true },
+  { "sys21.info", true },
   { "sysadm.guru", true },
   { "sysadmins.ro", true },
   { "syscoon.com", true },
   { "sysctl.se", true },
   { "sysdb.io", true },
+  { "sysgap-gsci.com", true },
   { "syskit.com", true },
   { "sysmike.de", true },
+  { "sysrq.tech", false },
   { "systea.fr", true },
   { "systea.net", true },
   { "system-admin-girl.com", true },
@@ -50378,15 +52443,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "systemintegra.ru", true },
   { "systemisbusy.info", true },
   { "systemli.org", true },
-  { "systemspace.link", true },
   { "systemups.com", true },
   { "systemweb.no", true },
+  { "systime.dk", true },
   { "syswiki.org", true },
   { "syuez.com", true },
+  { "syuez.org", true },
   { "syy.im", true },
   { "syzdev.com", true },
   { "syzygy-tables.info", true },
-  { "sz-ideenlos.de", true },
   { "sz-lessgym-kamenz.de", true },
   { "szafkirtv.pl", true },
   { "szamitogepdepo.com", true },
@@ -50399,6 +52464,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "szkolajazdykaleta.pl", true },
   { "szs.space", true },
   { "sztoriboljeles.hu", true },
+  { "szuecs.net", true },
   { "szurgot.eu", true },
   { "szww99.cc", true },
   { "szybkiebieganie.pl", true },
@@ -50408,73 +52474,100 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "t-hawk.com", true },
   { "t-m.me", true },
   { "t-net.org.hu", true },
+  { "t-nice.com", true },
   { "t-pc.org", true },
   { "t-shirts4less.nl", true },
   { "t-stonegroup.com", true },
   { "t.facebook.com", false },
   { "t00228.com", false },
   { "t00ts.com", true },
+  { "t060.com", true },
+  { "t070.com", true },
   { "t0ny.name", true },
-  { "t1208.com", true },
-  { "t1209.com", true },
+  { "t1208.com", false },
+  { "t1209.com", false },
   { "t12u.com", true },
-  { "t1316.com", true },
-  { "t1317.com", true },
-  { "t1318.com", true },
-  { "t1319.com", true },
-  { "t2181.com", true },
-  { "t2182.com", true },
-  { "t2183.com", true },
-  { "t2881.com", true },
+  { "t1316.com", false },
+  { "t1317.com", false },
+  { "t1318.com", false },
+  { "t1319.com", false },
+  { "t2181.com", false },
+  { "t2182.com", false },
+  { "t2183.com", false },
+  { "t2881.com", false },
   { "t2i.nl", true },
   { "t3.ie", true },
   { "t36533.com", true },
   { "t36594.com", true },
+  { "t39.com", true },
   { "t3hty.fr", true },
+  { "t449.com", true },
   { "t47.io", true },
   { "t4c.link", true },
   { "t4cc0.re", true },
-  { "t5880.com", true },
-  { "t5881.com", true },
-  { "t6354.com", true },
-  { "t6360.com", true },
-  { "t6364.com", true },
-  { "t6370.com", true },
-  { "t6371.com", true },
-  { "t6381.com", true },
+  { "t4w.me", true },
+  { "t51365.com", true },
+  { "t5880.com", false },
+  { "t5881.com", false },
+  { "t59970.com", true },
+  { "t59971.com", true },
+  { "t59972.com", true },
+  { "t59973.com", true },
+  { "t59974.com", true },
+  { "t59981.com", true },
+  { "t59982.com", true },
+  { "t59983.com", true },
+  { "t59984.com", true },
+  { "t59985.com", true },
+  { "t59986.com", true },
+  { "t6354.com", false },
+  { "t6360.com", false },
+  { "t6364.com", false },
+  { "t6370.com", false },
+  { "t6371.com", false },
+  { "t6381.com", false },
+  { "t68000.com", true },
   { "t6801.com", true },
   { "t6810.com", true },
+  { "t68100.com", true },
   { "t6820.com", true },
+  { "t68200.com", true },
   { "t6830.com", true },
+  { "t68300.com", true },
+  { "t68400.com", true },
   { "t6850.com", true },
+  { "t68500.com", true },
   { "t6860.com", true },
+  { "t68600.com", true },
   { "t6870.com", true },
-  { "t6880.com", true },
-  { "t6881.com", true },
+  { "t68700.com", true },
+  { "t6880.com", false },
+  { "t68800.com", true },
+  { "t6881.com", false },
+  { "t68900.com", true },
   { "t68app.com", true },
-  { "t7009.com", true },
-  { "t7119.com", true },
-  { "t776633.com", true },
-  { "t7802.com", true },
-  { "t7805.com", true },
-  { "t7807.com", true },
-  { "t7808.com", true },
-  { "t7809.com", true },
-  { "t7880.com", true },
+  { "t7009.com", false },
+  { "t7035.com", true },
+  { "t7119.com", false },
+  { "t776633.com", false },
+  { "t7802.com", false },
+  { "t7805.com", false },
+  { "t7807.com", false },
+  { "t7808.com", false },
+  { "t7809.com", false },
+  { "t7880.com", false },
   { "t7e.de", false },
-  { "t8003.com", true },
-  { "t8006.com", true },
-  { "t8070.com", true },
-  { "t8110.com", true },
-  { "t8119.com", true },
-  { "t81818.com", true },
-  { "t8250.com", true },
+  { "t8003.com", false },
+  { "t8006.com", false },
+  { "t8070.com", false },
+  { "t8110.com", false },
+  { "t8119.com", false },
+  { "t8250.com", false },
   { "t8803.com", true },
   { "t8805.com", true },
   { "t8807.com", true },
   { "t8809.com", true },
   { "t8815.com", true },
-  { "t8816.com", true },
   { "t8817.com", true },
   { "t8819.com", true },
   { "t8830.com", true },
@@ -50492,7 +52585,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "t88vip5.com", true },
   { "t88vip6.com", true },
   { "t88vip7.com", true },
-  { "t88xx.com", true },
   { "t9i.in", true },
   { "ta-65.com", true },
   { "ta-nuth.nl", true },
@@ -50514,17 +52606,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tabledusud.be", true },
   { "tabledusud.nl", true },
   { "tablemagnet.com", true },
+  { "tableres.com", true },
   { "tablerocksbestrealtors.com", true },
   { "tablescraps.com", true },
   { "tablet.facebook.com", false },
   { "tabletd.com", true },
   { "tabletsbaratasya.com", true },
+  { "tableturnrms.com", true },
   { "tablotv.com", false },
   { "taborsky.cz", true },
   { "tac-volley.com", false },
   { "tachi.uk", true },
   { "tackleyourfeelings.com", true },
   { "tacomafia.net", true },
+  { "tactical.zone", true },
   { "tacticalavocado.com", true },
   { "tacticalvote.co.uk", true },
   { "tadalafilindia.gq", true },
@@ -50557,13 +52652,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tagungsstaette-zinnowitz.de", true },
   { "taherian.me", true },
   { "tahhan-tech.com", true },
+  { "tai-in.com", true },
+  { "tai-in.net", true },
   { "taichichuanyang.com", true },
   { "taihesy.tk", true },
   { "taiklus.lt", true },
-  { "tailpuff.net", false },
+  { "tail.id.lv", true },
+  { "tail.ml", true },
   { "tails.boum.org", true },
   { "tailwag.party", true },
   { "taimane.com", true },
+  { "taiphanmem.net", true },
   { "taishokudaiko.com", true },
   { "taishon.nagoya", true },
   { "taitmacleod.com", true },
@@ -50584,38 +52683,43 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "takemoto-ped.com", true },
   { "taken.cf", true },
   { "taken.pl", true },
-  { "takenbydrone.com.au", true },
   { "takeomi.jp", true },
   { "takeshifujimoto.com", false },
+  { "taki.sh", true },
+  { "taki.to", true },
   { "takipone.com", true },
   { "takk.pl", true },
   { "takkaaaaa.com", true },
   { "takkguitar.net", true },
+  { "taktak.co.uk", true },
   { "takuhai12.com", true },
   { "takumi-s.net", true },
-  { "takuto.de", true },
+  { "takuto.de", false },
   { "talendipank.ee", true },
   { "talentcast.nl", true },
   { "talentcast.org", true },
   { "talentos.pt", true },
   { "talentwall.io", true },
   { "taler.net", true },
+  { "talesbazaar.com", true },
   { "talichi.com", true },
   { "talideon.com", false },
   { "talis-bs.com", true },
   { "talk.google.com", true },
+  { "talkaboutdesign.com", true },
   { "talkgadget.google.com", true },
   { "talking12.com", true },
   { "talkingmoose.net", true },
+  { "talkmojang.club", true },
   { "talkreal.net", true },
   { "talktech.com", true },
   { "talkwithyourbaby.org", true },
   { "tallcraft.com", true },
   { "talldude.net", true },
+  { "tallgrasslegal.com", true },
   { "tallinnsec.ee", true },
   { "tallinnsex.ee", true },
   { "tallship.cz", true },
-  { "talltreeskv.com.au", true },
   { "tallyfy.com", true },
   { "talroo.com", true },
   { "talun.de", true },
@@ -50637,11 +52741,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tampacific.vn", true },
   { "tamposign.fr", true },
   { "tamriel-rebuilt.org", true },
-  { "tamsweb.de", true },
   { "tamtowild.com", true },
   { "tanacio.com", true },
-  { "tanchynski.com", true },
   { "tancredi.nl", true },
+  { "tandakutip.com", true },
+  { "tandarts-ict.nl", true },
+  { "tandartsen-ict.nl", true },
   { "tandartszilverschoon.nl", true },
   { "tandemexhibits.com", true },
   { "tandempartnerships.com", true },
@@ -50662,6 +52767,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tanks.je", true },
   { "tankski.co.uk", true },
   { "tannenhof-moelln.de", true },
+  { "tannerdewitt.com", true },
   { "tannerryan.ca", true },
   { "tannerwilliamson.com", true },
   { "tannerwj.com", true },
@@ -50674,12 +52780,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tantravoorlichting.nl", true },
   { "tanveersingh.tk", true },
   { "tanyanama.com", true },
-  { "tanz-kreativ.de", true },
+  { "tanyatate.xyz", true },
   { "tanz.info", true },
   { "tanzhijun.com", true },
   { "tanzo.io", true },
+  { "taoaworld.com", true },
   { "taoburee.com", true },
+  { "taotic.eu", true },
   { "taowa.ca", true },
+  { "tapchiphaidep.info", true },
   { "tapissier-schall.fr", true },
   { "taprix.org", true },
   { "tapsnapp.co", true },
@@ -50692,6 +52801,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tarasecurity.co.uk", true },
   { "tarasecurity.com", true },
   { "tarasevich.by", true },
+  { "tarba-schluesseldienst-duesseldorf.de", true },
   { "tardis.io", true },
   { "tarek.wtf", true },
   { "tarfin.com", true },
@@ -50706,11 +52816,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tarmexico.com", true },
   { "taron.top", true },
   { "tarotistasvidentes.es", true },
+  { "tarotsgratuits.com", true },
   { "tarsan.cz", true },
   { "tartaneagle.org.uk", true },
   { "tartanhamedshop.com.br", true },
   { "taruntarun.net", false },
   { "tarzanka.ml", true },
+  { "tas.best", true },
   { "tas2580.net", false },
   { "tasadar.net", true },
   { "tasadordecoches.com", true },
@@ -50727,33 +52839,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "taskworld.com", true },
   { "tasogarenoinori.net", true },
   { "tass.nu", true },
-  { "tastic.com", true },
-  { "tasticfilm.com", true },
   { "tastycake.net", false },
   { "tastystakes.com", true },
   { "tat2grl85.com", true },
   { "tatara.ne.jp", true },
   { "tatard.fr", true },
+  { "tateishi-ip.com", true },
+  { "tathanhson.com", false },
   { "tatiana-kpb.tk", true },
+  { "tatildekirala.com", true },
   { "tatler.com", true },
   { "tato.noip.me", true },
   { "tatsidou.gr", true },
   { "tattoo-art.tk", true },
   { "tattoo.dating", true },
+  { "tattooli.com", true },
   { "tattvaayoga.com", true },
   { "tatuantes.com", true },
   { "taubin.cc", true },
   { "tauedu.org", true },
   { "tauflight.com", true },
-  { "taunhanh.us", false },
   { "taunusstein.net", true },
+  { "tauran.net", true },
   { "tauriscia.tk", true },
   { "tavolaquadrada.com.br", true },
   { "tavsys.net", true },
+  { "tax-brain.net", true },
   { "tax-guard.com", true },
   { "taxaroo.com", true },
   { "taxationweb.co.uk", true },
   { "taxce.com", true },
+  { "taxedesejour-airbnb.fr", true },
   { "taxhawk.com", true },
   { "taxhunter.com.au", true },
   { "taxi-chamonix.fr", false },
@@ -50772,7 +52888,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "taximinvody.ml", true },
   { "taxis-collectifs.ch", false },
   { "taxisaeropuertomadrid.com", true },
-  { "taxisantapolagranalacant.com", true },
   { "taxiscollectifs.ch", false },
   { "taxlab.co.nz", true },
   { "taxo.fi", true },
@@ -50788,6 +52903,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tb-devel.de", true },
   { "tb-itf.de", true },
   { "tba.bm", true },
+  { "tbb2020.com", true },
+  { "tbbvip1.com", true },
   { "tbejos.com", true },
   { "tbfocus.com", true },
   { "tbitc.ch", true },
@@ -50799,11 +52916,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tbtech.cz", true },
   { "tbuchloh.de", true },
   { "tc-st-leonard.ch", false },
+  { "tc.nz", true },
   { "tcdw.net", true },
   { "tcf.org", true },
   { "tcgpraktijk.nl", true },
   { "tcgrepublic.com", true },
   { "tchannels.tv", true },
+  { "tche.digital", true },
+  { "tchealers.com", true },
   { "tchebb.me", true },
   { "tchebotarev.com", true },
   { "tchnics.de", true },
@@ -50831,14 +52951,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tdude.co", true },
   { "tdvg.nl", true },
   { "tdyx-china.com.cn", true },
+  { "tea-empire.co.uk", true },
   { "tea.in.th", true },
   { "teachbiz.net", true },
   { "teachercreatedmaterials.com", true },
   { "teacherph.com", true },
   { "teacherpowered.org", true },
-  { "teachingcopyright.com", true },
-  { "teachingcopyright.net", true },
-  { "teachingcopyright.org", true },
+  { "teachersasap.info", true },
   { "teachmeplease.ru", true },
   { "teachpeople.org", true },
   { "teachwithouttears.com", true },
@@ -50846,6 +52965,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tealdotsinanorangeworld.com", true },
   { "team-azerty.com", true },
   { "team-io.net", true },
+  { "team005helpdesk.ddns.net", true },
   { "team3482.com", true },
   { "teamacadia.org", true },
   { "teambeam.at", true },
@@ -50854,8 +52974,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "teambeam.de", true },
   { "teambim.eu", true },
   { "teambition.com", true },
-  { "teamdog.pet", true },
-  { "teamif.io", true },
+  { "teamfilm.tk", true },
   { "teamkoncert.pl", true },
   { "teamliquid.com", true },
   { "teamliquidpro.com", true },
@@ -50875,11 +52994,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "teamup.rocks", true },
   { "teamupturn.com", true },
   { "teamupturn.org", true },
+  { "teamwpsekure.com", true },
   { "teamx-gaming.de", true },
   { "tearoomlints.be", true },
   { "tease.email", true },
   { "teasenetwork.com", true },
   { "teaser-trailer.com", true },
+  { "teatr-dva-kryla.ru", true },
   { "teatrarium.com", true },
   { "teazer.tk", true },
   { "teb-akademia.pl", true },
@@ -50890,6 +53011,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tecart-cloud.de", true },
   { "tecart-system.de", true },
   { "tecartcrm.de", true },
+  { "tecfleet.com", true },
   { "tech-banker.com", false },
   { "tech-blogger.net", true },
   { "tech-clips.com", false },
@@ -50902,12 +53024,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tech-value.eu", true },
   { "tech-zealots.com", true },
   { "tech4arab.net", true },
+  { "tech4greece.gr", true },
+  { "techableme.com", true },
   { "techace.jp", true },
   { "techamigo.in", true },
   { "techaraby.com", true },
   { "techassist.io", false },
   { "techaulogy.com", true },
-  { "techbelife.com", true },
   { "techbrown.com", true },
   { "techcentral.my", false },
   { "techcenturion.com", true },
@@ -50918,12 +53041,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "techcultivation.net", false },
   { "techcultivation.org", false },
   { "techdatapark.com", true },
+  { "techday.asia", true },
+  { "techday.co.nz", true },
+  { "techday.com.au", true },
+  { "techday.eu", true },
+  { "techday.network", true },
   { "techdirt.com", true },
   { "techdroid.eu", true },
   { "techendeavors.com", true },
+  { "techfishnews.com", true },
   { "techformator.pl", true },
   { "techgadgetry.in", true },
-  { "techglover.com", true },
   { "techhappy.ca", true },
   { "techinet.pl", true },
   { "techinsurance.com", true },
@@ -50933,6 +53061,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "techlr.de", true },
   { "techmagus.icu", true },
   { "techmajesty.com", true },
+  { "techmanstan.com", true },
   { "techmasters.io", true },
   { "techmoviles.com", true },
   { "techmunchies.net", true },
@@ -50945,9 +53074,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "technicalramblings.com", true },
   { "technicalsystemsprocessing.com", true },
   { "technik-boeckmann.de", true },
-  { "technikman.de", true },
   { "technochat.in", true },
-  { "technofirstonline.com", true },
   { "technogps.com", true },
   { "technogroup.cz", true },
   { "technokicks.com", true },
@@ -50961,17 +53088,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "technosorcery.net", true },
   { "technospeakco.com", true },
   { "technowise.tk", true },
-  { "techold.ru", true },
+  { "techold.ru", false },
   { "techorbiter.com", true },
   { "techosmarcelo.com.ar", true },
   { "techpilipinas.com", true },
   { "techpit.us", true },
   { "techpivot.net", true },
   { "techpoint.org", true },
+  { "techraptor.net", true },
   { "techserve.ml", true },
   { "techshift.eu", true },
   { "techshift.nl", true },
   { "techshift.se", true },
+  { "techsmartstore.com", true },
   { "techsolvency.com", true },
   { "techsys.cz", true },
   { "techsystemsa.com", true },
@@ -50979,14 +53108,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "techtrader.ai", true },
   { "techtrader.io", true },
   { "techusers.de", true },
+  { "techvalue.gr", true },
   { "techview.link", true },
   { "techviewforum.com", true },
+  { "techvrse.com", true },
   { "techwalker.cf", true },
   { "techwayz.com", true },
   { "techwhisperer.ca", true },
   { "techwords.io", true },
   { "techy360.com", true },
   { "techzero.cn", true },
+  { "techzhou.com", true },
   { "teckgeekz.com", true },
   { "teckids.org", true },
   { "tecknobox.fr", true },
@@ -50995,8 +53127,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tecnasa.com", true },
   { "tecne.ws", true },
   { "tecnicoelettrodomestici.roma.it", true },
+  { "tecnikan.com.ar", true },
   { "tecnoarea.com.ar", true },
+  { "tecnoblog.net", true },
   { "tecnobrasilloja.com.br", true },
+  { "tecnocomp-systems.com", true },
   { "tecnodritte.it", true },
   { "tecnogazzetta.it", true },
   { "tecnologiasurbanas.com", true },
@@ -51006,21 +53141,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tedb.us", true },
   { "teddy.ch", true },
   { "teddybradford.com", true },
+  { "teddykatz.com", true },
   { "teddylu.info", true },
   { "teddyss.com", false },
   { "tedsdivingsystem.com", true },
   { "teeautomat-teemaschine.de", true },
-  { "teedb.de", true },
   { "teemperor.de", true },
   { "teemulintula.fi", true },
   { "teen-porno-video.ru", true },
   { "teenerotic.net", true },
   { "teengirl.pub", true },
+  { "teenportal.net", true },
   { "teenpussypornvid.com", true },
   { "teensexgo.com", true },
   { "teensybows.hu", true },
   { "teeqq.com", true },
-  { "teetje-doko.de", true },
   { "teetoptens.com", true },
   { "teeworlds-friends.de", true },
   { "teextee.com", true },
@@ -51032,6 +53167,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tehden.com", true },
   { "tehniss.rs", true },
   { "tehrabbitt.com", false },
+  { "tehranlittmann.com", true },
   { "teichroeb.net", true },
   { "teixobactin.com", true },
   { "teka.ro", true },
@@ -51047,8 +53183,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tektouch.net", true },
   { "telamon.eu", true },
   { "telco.at", true },
-  { "telcotronics.com", true },
-  { "teldak.pt", true },
+  { "telcodb.net", true },
   { "tele-online.com", true },
   { "tele-points.net", true },
   { "telecamera.pro", false },
@@ -51063,6 +53198,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "telefoonabonnement.nl", true },
   { "telegenisys.com", true },
   { "telegra.ph", true },
+  { "telegram-sms.com", true },
   { "telegram.hk", true },
   { "telegram.org", true },
   { "telehealthventures.com", false },
@@ -51070,10 +53206,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "teleogistic.net", true },
   { "telephonedirectories.us", true },
   { "telephoni-cdma.tk", true },
+  { "telepok.com", true },
   { "teleport.com.br", true },
+  { "teleportweb.com.br", true },
   { "teleradio.tk", true },
   { "telestepina.ru", true },
   { "teletexto.com", true },
+  { "teletxt.me", true },
   { "televizeseznam.cz", true },
   { "televotia.ch", true },
   { "telework.gov", true },
@@ -51086,7 +53225,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "telly.site", true },
   { "tellygames.com", true },
   { "tellyourtale.com", true },
+  { "telnet.dk", true },
   { "teloo.pl", true },
+  { "telos-analytics.com", true },
   { "telsu.fi", true },
   { "teltru.com", true },
   { "tem.li", true },
@@ -51101,6 +53242,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tempa.com.ua", true },
   { "tempdomain.ml", true },
   { "tempdomain.tk", true },
+  { "templars.army", true },
   { "template-parks.com", true },
   { "templateinvaders.com", true },
   { "templetattoo.co.za", true },
@@ -51117,28 +53259,32 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tendermaster.com.ua", true },
   { "tenderplan.ru", true },
   { "tenderstem.co.uk", true },
-  { "tendomag.com", true },
   { "tenelco.net", true },
   { "tenenz.com", true },
+  { "tenfeetsquare.net", true },
   { "tenisservis.eu", true },
   { "tenkofx.com", true },
   { "tenniscourtsjoburg.com", true },
   { "tennismindgame.com", true },
+  { "tennisportal.com.ua", true },
   { "tenno.tools", true },
   { "tenpo-iku.com", true },
   { "tenpolab.com", true },
   { "tenshoku-hanashi.com", true },
   { "tenta.com", true },
+  { "tentabrowser.com", true },
   { "tentacletank.com", true },
   { "tentations-voyages.com", false },
-  { "tentech.io", true },
   { "tenthousandcoffees.com", true },
   { "tenyx.de", true },
   { "tenzer.dk", true },
+  { "teodorpravicky.com", true },
   { "teoleonie.com", false },
   { "tepid.org", true },
   { "tepitus.de", true },
   { "teplofom.ru", true },
+  { "teplohod.kharkov.ua", true },
+  { "teq-automotive.com", true },
   { "tequilazor.com", true },
   { "terabyte.services", true },
   { "terabyteit.co.uk", true },
@@ -51149,10 +53295,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "terass.com", true },
   { "terengganudaily.tk", true },
   { "teriyakisecret.com", true },
-  { "terlindung.com", true },
   { "termbackti.me", true },
   { "terme.viterbo.it", true },
   { "termee.com", true },
+  { "termin-online.com", true },
   { "terminalhrd.com", true },
   { "terminalvelocity.co.nz", true },
   { "termino.eu", true },
@@ -51163,8 +53309,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "termoidraulico.roma.it", true },
   { "termux.com", true },
   { "terra-24.ru", true },
+  { "terra.by", true },
   { "terrab.de", false },
   { "terracloud.de", false },
+  { "terracom.gr", true },
   { "terraelectronica.ru", true },
   { "terraform.io", true },
   { "terragni-sarasin.ch", true },
@@ -51172,14 +53320,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "terraluna.space", true },
   { "terranova.fi", true },
   { "terrapay.com", true },
+  { "terrasoverkappingvillage.be", true },
   { "terrastaffinggroup.com", false },
   { "terraweb.net", true },
+  { "terres-et-territoires.com", true },
   { "terresmagiques.com", false },
   { "terrorbilly.com", true },
   { "terrorblast.tk", true },
   { "terrty.net", true },
   { "terrybutler.co.uk", true },
   { "terryjohnsononline.com", true },
+  { "tervemaja.ee", true },
   { "tes.com", true },
   { "tesche.biz", true },
   { "teschenhausen.com", true },
@@ -51198,7 +53349,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "test-textbooks.com", true },
   { "test.de", true },
   { "test.support", true },
-  { "testbirds.sk", true },
   { "tested.email", true },
   { "testeri.fi", true },
   { "testeveonline.com", true },
@@ -51225,16 +53375,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tetsai.net", true },
   { "tetsugakunomichi.jp", true },
   { "tetsumaki.net", true },
-  { "teufel.dk", true },
   { "teulon.eu", true },
   { "teusink.eu", true },
   { "tewarilab.co.uk", true },
   { "tewkesburybouncycastles.co.uk", true },
+  { "tewkesburyyoga.com", true },
   { "texasabrasiveblasting.com", true },
   { "texasbluesalley.com", true },
   { "texasholdemevents.net", true },
   { "texashomesandland.com", true },
   { "texasllcpros.com", false },
+  { "texasonesource.com", true },
   { "texaspaintingandgutters.com", true },
   { "texasparkinglotstriping.com", true },
   { "texastwostepdivorce.com", true },
@@ -51243,15 +53394,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "texaswinetrail.com", true },
   { "texby.com", true },
   { "texhnolyze.net", true },
+  { "texiafinishing.com", true },
   { "texier.mx", true },
   { "text-shirt.com", false },
   { "textburst.com", true },
+  { "texteditor.co", true },
   { "texter-linz.at", true },
   { "texter.at", true },
   { "texterseo.at", true },
   { "texterseo.de", true },
   { "textonly.email", true },
-  { "textpages.tk", true },
   { "textpattern.com", true },
   { "textualapp.com", true },
   { "textundblog.de", true },
@@ -51259,11 +53411,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "texus.me", true },
   { "texy.info", true },
   { "teysens.com", true },
+  { "tezwifi.com", true },
   { "tf2b.com", true },
   { "tf2calculator.com", true },
   { "tfb.az", true },
+  { "tferdinand.net", true },
   { "tfg-bouncycastles.com", true },
-  { "tfk.fr", true },
   { "tfle.xyz", true },
   { "tflite.com", true },
   { "tfnapps.de", true },
@@ -51281,6 +53434,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tgo4444.com", false },
   { "tgo5555.com", false },
   { "tgtv.tn", true },
+  { "tgtw.cc", true },
   { "tgui.eu", true },
   { "tgui.net", true },
   { "tgw.com", true },
@@ -51301,15 +53455,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thailandpropertylisting.com", true },
   { "thaimega.club", true },
   { "thaiportal.gq", true },
+  { "thaiwaterbirds.com", true },
   { "thajskyraj.com", true },
-  { "thalan.fr", true },
+  { "thalgo-cz.cz", true },
   { "thalhammer.it", true },
   { "thalia.nu", true },
-  { "thalliman.com", true },
+  { "thalita-reload.com", true },
+  { "thallgordleyrealtor.com", true },
   { "thalmann.fr", false },
   { "thambaru.com", true },
   { "thanatoid.net", true },
   { "thanhthinhbui.com", true },
+  { "thanhtrungmobile.vn", true },
   { "thaqfni.com", true },
   { "tharuka-app.de", true },
   { "tharuka.com", true },
@@ -51327,6 +53484,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "the-alan-parsons-project.com", true },
   { "the-archimedeans.org.uk", true },
   { "the-archive.ml", true },
+  { "the-azad.com", true },
   { "the-big-bang-theory.com", true },
   { "the-body-shop.hu", false },
   { "the-digitale.com", false },
@@ -51334,16 +53492,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "the-forgotten.net", true },
   { "the-hemingway-code.de", true },
   { "the-jeuxflash.com", true },
-  { "the-medium-dolphore.com", true },
+  { "the-kuusatu.com", true },
+  { "the-medium-dolphore.com", false },
   { "the-mystery.org", true },
   { "the-nash-education-program.com", true },
   { "the-pack.nl", true },
   { "the-pcca.org", true },
-  { "the-spoonfeed.club", true },
+  { "the-red.pp.ua", true },
   { "the-train.de", true },
   { "the-trophy-company.com", true },
   { "the-woods.org.uk", true },
   { "the-zenti.de", true },
+  { "the1way.net", true },
   { "the2f.de", true },
   { "the3musketeers.biz", true },
   { "the51news.ga", true },
@@ -51355,7 +53515,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theadelaideshow.com.au", true },
   { "theadultswiki.com", true },
   { "theafleo.ga", true },
-  { "theagencywithoutaname.com", true },
   { "thealchemistatelier.com", true },
   { "theallmanteam.com", true },
   { "thealonas.cf", true },
@@ -51366,17 +53525,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theandroidsoul.com", true },
   { "theangelfishfoundation.org", true },
   { "theantarticx.com", true },
-  { "theapplewiki.com", true },
-  { "theappliancedepot.co.uk", true },
+  { "theantisocialengineer.com", true },
+  { "theappliancedepot.co.uk", false },
   { "theaps.net", true },
   { "theartistjournal.ca", true },
   { "theasianshooter.com", true },
-  { "theasianshooters.com", true },
   { "theastrocoach.com", true },
   { "theaterreichenhall.tk", true },
   { "theatre-schools.com", true },
   { "theaustinsevenworkshop.com", true },
   { "theaviationagency.com", true },
+  { "theawesomemuse.com", true },
   { "thebabypassport.com", true },
   { "thebacteriafight.gq", true },
   { "thebakers.com.br", false },
@@ -51387,7 +53546,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thebasebk.org", true },
   { "thebasicstudio.com", true },
   { "thebcm.co.uk", true },
-  { "thebeachessportsphysio.com", true },
   { "thebeardedrapscallion.com", true },
   { "thebeginningviolinist.com", true },
   { "thebestfun.co.uk", true },
@@ -51395,14 +53553,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thebigbitch.nl", true },
   { "thebigdatacompany.com", true },
   { "thebiglaskowski.com", true },
-  { "thebigslow.com", true },
   { "thebigwave.de", true },
   { "thebikeinsurer.co.uk", true },
   { "thebimhub.com", true },
   { "thebinarys.com", true },
   { "thebirchwoods.com", true },
-  { "thebirthdaysite.co.uk", true },
   { "thebit.link", true },
+  { "theblackboard.gr", true },
   { "theblacklock.com", true },
   { "theblondeabroad.com", true },
   { "theblueroofcottage.ca", true },
@@ -51416,13 +53573,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theboats.site", true },
   { "thebodyprinciple.com", true },
   { "thebonerking.com", true },
+  { "thebotanicalstore.com.au", true },
   { "theboulders.com", true },
   { "thebouncedepartment.co.uk", true },
   { "theboxofcarlos.com", true },
+  { "thebrainfactory.eu", true },
   { "thebreakroom.org", true },
   { "thebridalcollection.com", true },
   { "thebrightons.co.uk", true },
   { "thebrightons.uk", true },
+  { "thebroadcastknowledge.com", true },
   { "thebulletin.io", true },
   { "thebusinessofgoodfilm.com", true },
   { "thebuttongame.io", true },
@@ -51432,39 +53592,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thecarolingconnection.com", true },
   { "thecarpenters.tk", true },
   { "thecavalries.com", true },
+  { "thechallenge.fit", true },
   { "thechargertimes.com", true },
-  { "thechavs.xyz", true },
   { "thecherryship.ch", false },
-  { "theciso.com", false },
   { "theclonker.de", true },
   { "thecloudshelter.com", true },
+  { "thecluster.xyz", true },
   { "thecoffeecamp.com", true },
   { "thecompany.pl", true },
+  { "thecomparativist.com", true },
   { "thecondobuyers.com", true },
   { "theconverter.net", true },
-  { "thecr3ative.com", true },
   { "thecr3ative.tk", true },
   { "thecraftingstrider.net", true },
   { "thecrazytravel.com", true },
+  { "thecreativeedgeinc.com", true },
   { "thecrescentchildcarecenter.com", true },
-  { "thecrew-exchange.com", true },
   { "thecskr.in", true },
   { "thecuriousdev.com", true },
   { "thecurvyfashionista.com", true },
   { "thecustomdroid.com", true },
   { "theda.co.za", true },
   { "thedailyshirts.com", true },
+  { "thedanceacademybuckscounty.com", true },
   { "thedark1337.com", true },
   { "thedarkfusion.tk", true },
   { "thederminstitute.com", true },
-  { "thedermreport.com", true },
   { "thedhs.com", true },
   { "thediamondcenter.com", true },
   { "thediaryofadam.com", true },
-  { "thedinnerdetective.com", true },
+  { "thedigitaleconomist.com", true },
   { "thediscovine.com", true },
   { "thedocumentrefinery.com", true },
-  { "thedom.site", true },
   { "thedronechart.com", true },
   { "thedroneely.com", true },
   { "thedword.xyz", true },
@@ -51476,6 +53635,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theel0ja.info", true },
   { "theel0ja.ovh", true },
   { "theemasphere.com", true },
+  { "theencounter.nu", true },
   { "theentertainmentcontractor.com", true },
   { "theepiclounge.com", true },
   { "theepicsponge.co.uk", true },
@@ -51489,6 +53649,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theferrarista.com", false },
   { "thefestivals.uk", true },
   { "thefizz.uk", true },
+  { "theflightsdesk.com", true },
   { "theflowerbasketonline.com", true },
   { "theflowershopdeddington.com", true },
   { "theflyingbear.net", false },
@@ -51509,36 +53670,33 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thefurnitureco.uk", true },
   { "thefurniturefamily.com", true },
   { "thefusion.net.in", true },
-  { "thegarage961.co.nz", true },
+  { "thefussyeater.ie", true },
   { "thegarrowcompany.com", true },
   { "thegatheringocala.com", true },
   { "thegaucompany.healthcare", true },
   { "thegeekdiary.com", true },
   { "thegerwingroup.com", true },
-  { "theghostlytavern.com", true },
   { "thegioidulich.com.vn", true },
   { "thegioinano.com", true },
-  { "thegrape.ro", true },
   { "thegreatcommissionpodcast.com", true },
-  { "thegreatpakistan.com", true },
   { "thegreatplains.com", true },
   { "thegreenpark.co.uk", true },
   { "thegroovecartel.com", true },
-  { "theguitarcompany.nl", true },
-  { "thegvoffice.net", true },
+  { "thegrowhouse.ca", true },
   { "thehackerblog.com", true },
   { "thehairrepublic.net", true },
   { "thehairstandard.com", true },
   { "thehamiltoncoblog.com", true },
   { "thehardylawfirm.com", true },
+  { "thehasty.com", true },
   { "thehaxbys.co.uk", true },
   { "theheatingoilclub.co.uk", true },
   { "thehobincompany.com", true },
+  { "thehoff.ddnss.de", true },
   { "thehomeicreate.com", true },
   { "thehonorguard.org", true },
   { "thehookup.be", true },
-  { "thehopefuture.com", true },
-  { "thehub.ai", true },
+  { "thehub.ai", false },
   { "thehullbeekeeper.co.uk", true },
   { "theidiotboard.com", true },
   { "theig.co", true },
@@ -51546,9 +53704,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theillustrationstudio.com.au", true },
   { "theimaginationagency.com", true },
   { "theinboxpros.com", true },
-  { "theindiantrip.com", true },
+  { "theindiantrip.com", false },
   { "theinflatables-ni.co.uk", true },
-  { "theinflatablesne.co.uk", true },
   { "theinitium.com", false },
   { "theinnerprism.com", true },
   { "theintercept.com", true },
@@ -51557,6 +53714,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theitsage.com", false },
   { "thejimmyw.uk", true },
   { "thejoneshub.com", true },
+  { "thejunkfiles.com", true },
   { "thekev.in", true },
   { "thekeytobusiness.co.uk", true },
   { "thekiddz.com", true },
@@ -51565,11 +53723,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thekodester.ca", true },
   { "thekonsulthub.tk", true },
   { "thekovnerfoundation.org", true },
+  { "thekuwayama.net", true },
   { "thelaimlife.com", true },
   { "thelakedistrict.tk", true },
   { "thelanscape.com", true },
-  { "thelbc.io", false },
-  { "theleap.co.uk", true },
+  { "thelbc.io", true },
   { "thelearningenterprise.co.uk", true },
   { "thelegionshirley.co.uk", true },
   { "thelencystore.com", true },
@@ -51582,24 +53740,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thelocals.ru", true },
   { "thelonelyones.co.uk", true },
   { "thelonious.nl", true },
+  { "thelostyankee.com", true },
   { "thelounge.chat", true },
   { "themallards.info", true },
   { "themarshallproject.org", true },
   { "themaster.site", true },
   { "themasterplan.com.au", true },
   { "themathscentre.com", true },
+  { "themattresswarehouse.co.za", true },
   { "themecraft.studio", true },
-  { "themefoxx.com", true },
-  { "themenmedia.com", true },
+  { "themegteam.com", true },
   { "themenzentrisch.de", true },
   { "themerchandiser.net", false },
   { "themeridianway.com", true },
   { "themiddle.co", true },
   { "themigraineinstitute.com", true },
-  { "themimitoof.fr", false },
   { "theminiacs.com", true },
   { "themist.cz", true },
-  { "themoep.at", true },
   { "themoneyconverter.com", true },
   { "themonkeytrail.co.uk", true },
   { "themonthly.com.au", true },
@@ -51607,28 +53764,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "themusecollaborative.org", true },
   { "themusic.cloud", true },
   { "themusicinnoise.net", true },
-  { "thenanfang.com", true },
   { "thenerdic.com", true },
   { "thenest.se", true },
   { "thenetw.org", true },
+  { "thenextasset.com", true },
   { "thenexwork.com", true },
-  { "thenib.com", true },
   { "thenine.info", true },
-  { "theninehertz.com", true },
   { "theninenine.com", true },
   { "thenocman.com", true },
-  { "thenovaclinic.com", true },
   { "thenowheremen.com", true },
   { "theo-andreou.org", true },
+  { "theobg.co", true },
   { "theobora.fr", true },
   { "theobromos.fr", true },
+  { "theoc.co", true },
+  { "theocg.co", true },
   { "theocratic.cf", true },
   { "theodeboer.nl", true },
   { "theodorahome.co", true },
   { "theodorahome.com.br", true },
   { "theofleck.com", false },
+  { "theojellis.com", true },
+  { "theokouzelis.com", true },
   { "theolivetreerestaurants.com", true },
   { "theologyz.com", true },
+  { "theonegroup.co.uk", true },
   { "theonethaimassage.de", true },
   { "theoosmetalart.nl", true },
   { "theoptechnation.com", true },
@@ -51644,7 +53804,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thepartydoctors.co.uk", true },
   { "thepasteb.in", true },
   { "thepathsofdiscovery.com", true },
-  { "thepaulagcompany.com", true },
+  { "thepaulagcompany.com", false },
   { "thepavilionbanbury.co.uk", true },
   { "thepaymentscompany.com", true },
   { "thepb.in", true },
@@ -51659,7 +53819,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theploughharborne.co.uk", true },
   { "thepoplarswines.com.au", true },
   { "thepriorybandbsyresham.co.uk", true },
-  { "theproject.cf", true },
   { "theprojectx.tk", true },
   { "thepromisemusic.com", true },
   { "theptclist.tk", true },
@@ -51668,7 +53827,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theramo.re", true },
   { "therandombits.com", false },
   { "therapiemi.ch", true },
+  { "therapyclient.com", true },
+  { "therapyconnects.co.uk", true },
   { "therapynotes.com", true },
+  { "therapypartner.com", true },
   { "therapyportal.com", true },
   { "therapysxm.com", false },
   { "therealchamps.com", true },
@@ -51694,7 +53856,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theroyalmarinescharity.org.uk", true },
   { "therudeworkout.com", true },
   { "therugswarehouse.co.uk", true },
-  { "theruizes.com", true },
   { "theruleslawyer.net", true },
   { "therumfordcitizen.com", true },
   { "therworth.com", true },
@@ -51702,6 +53863,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "therworth.net", true },
   { "therworth.org", true },
   { "thesalonthing.com", false },
+  { "thesandboxchicago.com", true },
   { "thesanta.biz", true },
   { "thesarogroup.com", true },
   { "thesassynut.com", true },
@@ -51721,14 +53883,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "theshaker.com.au", true },
   { "thesharedbrain.ch", false },
   { "thesharedbrain.com", false },
-  { "theshine.pl", true },
+  { "theshine.pl", false },
   { "theshopally.com", false },
   { "theshots.cz", true },
   { "thesignalco.com.au", true },
+  { "thesimplewebcompany.com", true },
   { "thesisgeek.com", true },
   { "thesishelp.net", true },
   { "theskingym.co.uk", true },
-  { "thesled.net", true },
   { "thesmallbusinesswebsiteguy.com", true },
   { "thesmokingcuban.com", true },
   { "thesnellvilledentist.com", false },
@@ -51743,25 +53905,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thestockoasis.com", true },
   { "thestoneage.de", true },
   { "thestory.ie", true },
+  { "thestoryshack.com", true },
   { "thestrategyagency.com.au", true },
   { "thestreamable.com", true },
+  { "thestudioslucan.com", true },
   { "thestylebouquet.com", true },
+  { "thesunshinecoasttourcompany.com.au", true },
   { "thesuppercircle.com", true },
   { "theswimdoctors.com", true },
   { "theswissbay.ch", true },
   { "theta.eu.org", true },
   { "thetassos.com", true },
   { "thetechbasket.com", true },
+  { "thetechieflutist.com", true },
   { "thethoughttrainer.com", true },
   { "thethreadofhope.org", true },
+  { "thethreadsmiths.com.tw", true },
   { "thethreepercent.marketing", true },
   { "thetiedyelab.com", true },
   { "thetinylife.com", true },
   { "thetipo01.tk", true },
+  { "thetomatosoup.com", true },
   { "thetomharling.com", true },
   { "thetopmovie.gq", true },
-  { "thetotalemaildelivery.com", true },
   { "thetradinghall.com", false },
+  { "thetravelhack.com", true },
   { "thetree.ro", true },
   { "thetrendspotter.net", true },
   { "thetuco.fr", true },
@@ -51773,37 +53941,37 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thevalentineconstitution.com", true },
   { "thevalueofarchitecture.com", true },
   { "thevanishedvoyager.ml", true },
+  { "theveils.net", true },
   { "thevenueofhollywood.com", true },
   { "thevenuevr.com", true },
   { "theverybusyoffice.co.uk", true },
   { "thevgg.com", false },
+  { "theviolenceofdevelopment.com", true },
   { "thevirtualbookkeepers.com", true },
+  { "thevisasofoz.com", true },
   { "thevoya.ga", false },
-  { "thevyra.com", true },
   { "thewagesroom.co.uk", true },
   { "thewayofthedojo.com", true },
   { "thewebflash.com", true },
   { "thewebsitedoctors.co.uk", true },
   { "thewebsitemarketingagency.com", true },
+  { "thewehmeiers.com", true },
   { "thewhitehat.club", true },
   { "thewhitneypaige.com", true },
-  { "thewinstonatlyndhurst.com", true },
   { "thewizardsmanse.com", true },
   { "thewoodkid.com.au", true },
-  { "thewoosh.me", true },
   { "theworkingeye.nl", true },
   { "theworldbattle.com", true },
   { "theworldexchange.com", true },
   { "theworldexchange.net", true },
   { "theworldexchange.org", true },
   { "theworldsend.eu", true },
-  { "thexfactorgames.com", true },
   { "thexme.de", true },
   { "theyakshack.co.uk", true },
   { "theycallmefox.net", true },
   { "theyear199x.org", true },
   { "theyearinpictures.co.uk", true },
-  { "theyosh.nl", true },
+  { "theyosh.nl", false },
   { "thezero.org", true },
   { "thezillersathenshotel.com", true },
   { "thiagohersan.com", true },
@@ -51812,16 +53980,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thiepxinh.net", true },
   { "thierry-daellenbach.com", false },
   { "thierrybasset.ch", false },
-  { "thierrymazue.fr", true },
   { "thietbithoathiem.net", true },
+  { "thietkegianhangtttm.com", true },
   { "thijmenmathijs.nl", true },
   { "thijs.amsterdam", true },
+  { "thijs.fr", true },
   { "thijsbekke.nl", true },
   { "thijsenarjan.nl", true },
+  { "thijsslop.com", true },
+  { "thijsslop.eu", true },
   { "thijsslop.nl", true },
   { "thijsvanderveen.net", true },
   { "thilobuchholz.de", true },
   { "thimbros.tk", true },
+  { "thinair.co", true },
+  { "thinairsolutions.com", true },
   { "thincats.com", true },
   { "thinegen.de", true },
   { "thing.vn", false },
@@ -51829,36 +54002,36 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thingies.site", true },
   { "thingsandcode.com", true },
   { "thingsimplied.com", false },
-  { "thingswithstuff.llc", true },
+  { "thingswithstuff.llc", false },
   { "think-asia.org", true },
   { "think-pink.info", true },
   { "think-positive-watches.de", true },
+  { "thinkbot.de", true },
   { "thinkheaddesign.com", true },
   { "thinkindifferent.net", true },
   { "thinkingandcomputing.com", true },
   { "thinkingliberty.com", true },
-  { "thinkingplanet.net", true },
   { "thinkmarketing.ca", true },
-  { "thinkquality.nl", true },
   { "thinkrealty.com", true },
   { "thinktac.com", true },
   { "thinktux.net", true },
   { "thirdbearsolutions.com", true },
   { "thirdgenphoto.co.uk", true },
-  { "thirtysixseventy.ml", true },
+  { "thirdwaverevenue.com", true },
   { "thiry-automobiles.net", false },
   { "thisbrownman.com", true },
   { "thiscloudiscrap.com", false },
   { "thiscode.works", true },
   { "thisdot.site", true },
   { "thisfreelife.gov", true },
+  { "thisgrowth.com", true },
   { "thisishugo.com", true },
-  { "thisislaikipia.co.ke", true },
   { "thisistechtoday.com", true },
-  { "thisistheserver.com", true },
+  { "thisistranquility.life", true },
   { "thismatter.com", true },
   { "thisoldearth.com", true },
   { "thisphone.us", true },
+  { "thisserver.dontexist.net", true },
   { "thistleandleaves.com", true },
   { "thitruongsi.com", true },
   { "thmail.ml", true },
@@ -51869,11 +54042,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thole.org", true },
   { "thom4s.info", true },
   { "thomalaudan.de", true },
-  { "thomas-fahle.de", true },
   { "thomas-sammut.com", true },
   { "thomas-schmittner.de", true },
   { "thomas-steel.com", true },
-  { "thomas-suchon.fr", false },
+  { "thomas-suchon.fr", true },
   { "thomas.computer", true },
   { "thomas.love", false },
   { "thomasbeckers.be", true },
@@ -51881,19 +54053,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thomascauquil.fr", true },
   { "thomasduerlund.com", true },
   { "thomasduerlund.dk", true },
-  { "thomasebenrett.de", true },
   { "thomasecookedds.com", true },
   { "thomasetsophie.fr", true },
   { "thomaseyck.com", true },
   { "thomasfoster.co", true },
   { "thomashunter.name", false },
+  { "thomaskoscheck.de", true },
   { "thomasmcfly.com", true },
   { "thomasmerritt.de", true },
   { "thomaspluschris.com", true },
   { "thomassen.sh", true },
   { "thomastestor.tk", true },
   { "thomastimepieces.com.au", true },
-  { "thomasverhelst.be", true },
   { "thomasvochten.com", true },
   { "thomien.de", true },
   { "thompsonfamily.cloud", true },
@@ -51904,7 +54075,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thooka.com", true },
   { "thor.edu", true },
   { "thor.re", true },
-  { "thornton-le-moors-ince-elton.org.uk", true },
   { "thoroughbreddiesel.com", true },
   { "thorsten-schaefer.com", false },
   { "thorstenschaefer.name", true },
@@ -51930,7 +54100,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "threema.ch", true },
   { "threexxx.ch", true },
   { "threit.de", true },
-  { "threv.net", true },
   { "thriftdiving.com", true },
   { "thrillernyc.com", true },
   { "thriveafterabuse.com", true },
@@ -51940,14 +54109,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "throttlerz.in", true },
   { "throughtheglass.photo", true },
   { "throwaway.link", true },
+  { "throwmails.com", true },
   { "throwpass.com", true },
   { "thrush.com", true },
+  { "thrw.ml", true },
+  { "thsc.us", true },
   { "thscpac.org", true },
   { "thsecurity.cz", true },
   { "thues.eu", true },
   { "thuisverpleging-meerdael.be", true },
   { "thullbery.com", true },
   { "thummer.net", true },
+  { "thunderfield-boat.co.uk", true },
   { "thunderkeys.net", true },
   { "thundr.eu", true },
   { "thunraz.com", true },
@@ -51958,6 +54131,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "thutucxuatnhapkhau.net", true },
   { "thuviensoft.com", true },
   { "thuybich.com", true },
+  { "thuyetphapmoi.com", true },
   { "thw-bernburg.de", true },
   { "thwiki.cc", true },
   { "thxandbye.de", true },
@@ -51973,12 +54147,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tiamarcia.com.br", true },
   { "tian123.com", true },
   { "tian888.com", true },
+  { "tianbaobo05.com", true },
+  { "tianbaobo06.com", true },
+  { "tianbaobo07.com", true },
+  { "tianbaobo08.com", true },
+  { "tianbaobo09.com", true },
   { "tianeptine.com", true },
   { "tianshili.me", true },
   { "tib1.com", true },
   { "tibicinagarricola.com", true },
   { "tibipg.com", true },
   { "ticfleet.com", true },
+  { "ticinoscout.ch", true },
+  { "ticketassist.nl", true },
   { "ticketcity.com", true },
   { "ticketdriver.com", true },
   { "ticketpro.ca", false },
@@ -51990,7 +54171,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ticketsource.eu", true },
   { "ticketsource.io", true },
   { "ticketsource.us", true },
-  { "ticketsourcebeta.co.uk", true },
   { "ticketsvergleichen.de", true },
   { "tickettailor.com", true },
   { "tickit.ca", false },
@@ -52000,8 +54180,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tiekoetter.com", true },
   { "tiendadecosplay.es", true },
   { "tiendadolca.com", true },
+  { "tiendaengeneral.com", true },
   { "tiendafetichista.com", true },
-  { "tiendasmart.com.co", true },
   { "tiener-herentals.be", true },
   { "tiens-ib.cz", true },
   { "tierarzt-karlsruhe-durlach.de", true },
@@ -52011,27 +54191,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tiergear.com.au", true },
   { "tieronegraphics.com", true },
   { "tierradeayala.com", true },
-  { "tierraprohibida.net", true },
   { "ties.com", true },
   { "tiew.pl", true },
   { "tifan.net", true },
   { "tifaware.com", true },
   { "tiffanywatson.xyz", true },
   { "tiffnix.com", true },
-  { "tiger21.com", true },
-  { "tigerchef.com", true },
   { "tigerdile.com", true },
+  { "tigerfishingzambia.com", true },
   { "tigernode.com", true },
   { "tigernode.net", true },
   { "tigerscu.org", true },
   { "tiggeriffic.com", true },
-  { "tightassporntube.com", true },
   { "tiglitub.com", true },
   { "tiihosen.fi", true },
   { "tiim.technology", true },
   { "tijden.nu", true },
   { "tik.edu.ee", true },
-  { "tiki-god.co.uk", true },
+  { "tik.help", true },
   { "tilde.institute", true },
   { "tilde.link", true },
   { "tildes.net", true },
@@ -52042,12 +54219,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tillberg.us", true },
   { "tilleysbouncycastles.co.uk", true },
   { "tillseasyscore.com", true },
+  { "tillwalldrug.com", true },
   { "tilman.ninja", true },
   { "tilosp.de", true },
-  { "tilta.com", true },
   { "tiltedwindmillcrafts.com", true },
   { "tim-demisch.de", true },
   { "timacdonald.me", true },
+  { "timatooth.com", true },
   { "timawesomeness.com", true },
   { "timbarlotta.com", true },
   { "timberkel.com", true },
@@ -52055,28 +54233,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "timbishopartist.com", true },
   { "timbrado.com", true },
   { "timbrust.de", true },
-  { "timchanhxe.com", true },
   { "timco.cloud", true },
-  { "timdeneau.com", true },
   { "timdoug.com", true },
+  { "time-craft.su", true },
   { "time.gov", true },
   { "time.sh", true },
+  { "time100.ru", true },
   { "time2060.ru", true },
   { "time22.com", true },
   { "time2choose.com", true },
   { "timeai.io", true },
-  { "timeatlas.com", true },
   { "timebutler.de", true },
   { "timeclub24.ru", true },
-  { "timeforcoffe.eu", true },
   { "timeglass.de", true },
   { "timeless-photostudio.com", true },
   { "timeless-spirit.com", true },
-  { "timelessskincare.co.uk", true },
   { "timelimit.io", true },
   { "timelockstash.com", true },
   { "timelyapp.com", true },
-  { "timeserver3.de", true },
+  { "timeserver0.de", true },
   { "timetastic.co.uk", true },
   { "timetech.io", true },
   { "timetotrade.com", true },
@@ -52089,6 +54264,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "timjk.de", false },
   { "timmersgems.com", true },
   { "timmi6790.de", true },
+  { "timmy.im", true },
   { "timmyrs.de", true },
   { "timnash.co.uk", true },
   { "timonengelke.de", true },
@@ -52098,25 +54274,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "timoxbrow.com", true },
   { "timroes.de", true },
   { "timsayedmd.com", true },
+  { "timseverien.com", true },
   { "timtaubert.de", true },
   { "timtelfer.com", true },
   { "timtj.ca", true },
   { "timvandekamp.nl", true },
   { "timvivian.ca", true },
   { "timweb.ca", true },
+  { "timwestdesigns.com", true },
   { "timx.uk", true },
-  { "timysewyn.be", true },
+  { "timysewyn.be", false },
   { "tina-zander.de", true },
   { "tina.media", true },
   { "tinapoethe.com", true },
   { "tinastahlschmidt.de", true },
   { "tindallriley.co.uk", true },
   { "tinekevanurk.nl", true },
+  { "tinf.de", true },
   { "tinfoilsecurity.com", false },
   { "tinfoleak.com", true },
   { "tinhbotnghegold.com", true },
   { "tinhchattrangda.vn", true },
-  { "tinkerboard.org", true },
   { "tinkerers-trunk.co.za", true },
   { "tinkertry.com", true },
   { "tinlc.org", true },
@@ -52130,6 +54308,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tintenprofi.de", true },
   { "tintoria.roma.it", true },
   { "tiny.ee", true },
+  { "tinycat99.click", true },
   { "tinycrm.pl", true },
   { "tinyhousefinance.com.au", true },
   { "tinylan.com", true },
@@ -52138,6 +54317,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tinyssh.com", true },
   { "tinyssh.org", true },
   { "tinytownsoftplay.co.uk", true },
+  { "tinyurl.com", true },
   { "tio.run", true },
   { "tipaki.gr", true },
   { "tipe.io", true },
@@ -52147,18 +54327,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tipranks.com", true },
   { "tips4india.tk", true },
   { "tipsacademicos.com", true },
-  { "tipsdebellezaysalud.com", true },
   { "tipsmake.com", true },
   { "tipsport.cz", true },
   { "tipstersweb.com", true },
+  { "tipsypresent.com", true },
   { "tipulnagish.co.il", true },
   { "tir-mauperthuis.fr", true },
-  { "tircentrale.net", true },
   { "tirionnetwork.de", true },
   { "tirlins.com", true },
   { "tiroler-kupferschmiede.com", true },
   { "tirs4ne.ch", false },
   { "tirteafuera.tk", true },
+  { "tirupatinightwear.co.in", true },
   { "tis.ph", true },
   { "tischlerei-klettke.de", true },
   { "tisgroup.com.my", true },
@@ -52173,13 +54353,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tit.systems", true },
   { "titanandco.com", true },
   { "titandirect.co.uk", true },
-  { "titanplumbingservices.com.au", true },
   { "titansized.com", true },
   { "titantax.com", true },
   { "titanwaterproofing.com.au", true },
   { "titelseite.ch", true },
   { "titouan.co", false },
-  { "titser.ph", true },
   { "tittelbach.at", true },
   { "titusetcompagnies.net", false },
   { "tiwag.at", true },
@@ -52188,11 +54366,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tixify.com", true },
   { "tixio.de", true },
   { "tjampoer.com", true },
-  { "tjcuk.co.uk", true },
+  { "tjian.info", true },
   { "tjl.rocks", true },
   { "tjp.ch", false },
   { "tjxxzy.com", true },
   { "tk-its.net", true },
+  { "tk-smart.ru", true },
   { "tk2net.com", true },
   { "tkacz.pro", true },
   { "tkanemoto.com", true },
@@ -52202,7 +54381,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tkgpm.com", true },
   { "tkirch.de", true },
   { "tkjg.fi", true },
+  { "tkmr-gyouseishosi.com", true },
   { "tkn.me", true },
+  { "tkrn.de", true },
+  { "tksainc.com", true },
   { "tkusano.jp", true },
   { "tkw01536.de", false },
   { "tl.gg", true },
@@ -52215,8 +54397,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tlo.xyz", true },
   { "tloxygen.com", true },
   { "tls-proxy.de", true },
-  { "tls.blue", true },
   { "tls.care", true },
+  { "tls1914.org", true },
   { "tlthings.net", true },
   { "tlumaczenie.com", true },
   { "tlyphed.net", true },
@@ -52225,17 +54407,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tm80plus.com", true },
   { "tmachinery.cz", true },
   { "tmadev.com.au", true },
-  { "tmakiguchi.org", true },
   { "tmas.dk", true },
-  { "tmberg.cf", true },
-  { "tmberg.ga", true },
-  { "tmberg.gq", true },
-  { "tmberg.ml", true },
-  { "tmberg.tk", true },
+  { "tmbergtmberg.cf", true },
+  { "tmbergtmberg.ga", true },
+  { "tmbergtmberg.gq", true },
+  { "tmbergtmberg.ml", true },
+  { "tmbergtmberg.tk", true },
   { "tmcjobs.com", true },
   { "tmcreationweb.com", true },
   { "tmdb.biz", true },
   { "tmf.ru", true },
+  { "tmf22.ru", true },
+  { "tmhanoi.com", true },
   { "tmheatingcooling.com", true },
   { "tmi-products.eu", true },
   { "tmi-produkter.se", true },
@@ -52244,20 +54427,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tmpsantos.com.br", true },
   { "tmsdiesel.com", true },
   { "tmtopup.com", true },
+  { "tn-bb.com", true },
   { "tn0.club", true },
   { "tncentro.com", true },
+  { "tnd.com.ar", true },
   { "tndentalwellness.com", true },
-  { "tnes.dk", true },
   { "tniad.mil.id", false },
-  { "tnl.cloud", true },
   { "tnonline.net", true },
+  { "tnrf.eu", true },
   { "tntmobi.com", true },
   { "tntware.com", true },
+  { "tnwgrc.com", true },
+  { "to-med.ru", true },
   { "to-riktari.gr", true },
   { "toad.ga", true },
   { "toast.al", false },
   { "tobaccolocker.com", true },
-  { "tobbro-trans.de", true },
   { "tobefree.eu", true },
   { "tober-cpag.de", true },
   { "tobevictorious.com", true },
@@ -52265,23 +54450,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tobi-server.goip.de", true },
   { "tobiaalberti.com", true },
   { "tobias-bauer.de", true },
-  { "tobias-haenel.de", true },
+  { "tobias-bauer.eu", true },
+  { "tobias-bauer.fr", true },
+  { "tobias-bauer.net", true },
   { "tobias-kleinmann.de", true },
-  { "tobias-kluge.de", true },
   { "tobias.gr", true },
+  { "tobias4.ddns.net", true },
   { "tobiasbrunner.net", true },
   { "tobiasconradi.com", true },
+  { "tobiase.de", true },
   { "tobiasfischer.info", true },
   { "tobiashorvath.com", true },
   { "tobiashorvath.de", true },
   { "tobiaskorf.de", true },
-  { "tobiaspahlings.de", true },
   { "tobiassachs.de", true },
   { "tobiassattler.com", true },
   { "tobiaswiese.com", true },
   { "tobiaswiese.eu", true },
   { "tobiaswiese.net", true },
   { "tobiaswiese.org", true },
+  { "tobiefornerod.ch", true },
   { "tobiemilford.com", true },
   { "tobimi.com", true },
   { "tobis-rundfluege.de", true },
@@ -52289,20 +54477,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tobischo.de", true },
   { "tobisworld.ch", true },
   { "tobyalden.com", true },
+  { "tobyx.cc", true },
+  { "tobyx.co", true },
   { "tobyx.com", true },
   { "tobyx.de", true },
   { "tobyx.eu", true },
   { "tobyx.is", true },
+  { "tobyx.me", true },
   { "tobyx.net", true },
   { "tobyx.org", true },
   { "tocaro.im", true },
+  { "tocasoft.co.uk", true },
   { "toccoig.com", true },
-  { "tochi-urikata.net", true },
   { "todacarreira.com", true },
   { "todamateria.com.br", true },
   { "todapolitica.com", true },
   { "todasaslojas.com.br", true },
-  { "todaslascafeteras.com", true },
   { "todaymeow.com", true },
   { "todaysbestinsurance.com", true },
   { "todayupdates.ga", true },
@@ -52330,20 +54520,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "togetter.com", true },
   { "togtider.dk", true },
   { "toheb.de", false },
+  { "tohfalaya.com", true },
   { "tohochofu-sportspark.com", true },
   { "tohofc.co.jp", true },
   { "tohokinemakan.tk", true },
-  { "tohokufd.com", true },
   { "toihoctiengtrung.com", true },
+  { "toila.best", true },
   { "toiletable.com", true },
-  { "tojannah.com", false },
+  { "toirereform.com", true },
   { "tokaido-kun.jp", true },
   { "tokaido.com", true },
   { "tokainafb.net", true },
   { "tokainakurasi.net", true },
   { "tokenmarket.net", true },
   { "tokens.net", true },
-  { "tokic.hr", true },
   { "tokinoha.net", true },
   { "tokio.fi", true },
   { "tokitover.com", true },
@@ -52361,6 +54551,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tokyoadultguide.com", true },
   { "tokyobarbershop.com", true },
   { "tokyomakino.com", true },
+  { "tokyotimeline.com", true },
   { "tokyovipper.com", true },
   { "tolboe.com", true },
   { "toldositajuba.com", true },
@@ -52381,9 +54572,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tomabrafix.de", true },
   { "tomahawk.ca", true },
   { "tomandmara.com", true },
-  { "tomandsonya.com", true },
   { "tomandsonya.net", true },
   { "tomandsonya.org", true },
+  { "tomarnarede.pt", true },
+  { "tomartv.pt", true },
+  { "tomashouzvicka.com", true },
   { "tomasjacik.cz", true },
   { "tomaskavalek.cz", false },
   { "tomasmoberg.org", true },
@@ -52403,13 +54596,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tombu.org", true },
   { "tombu.xyz", true },
   { "tomd.ai", true },
-  { "tomend.es", true },
   { "tomershemesh.me", true },
   { "tomgaechter.ch", true },
   { "tomharling.uk", true },
   { "tomi.cc", true },
   { "tomica.me", false },
   { "tomik.fun", true },
+  { "tomjans.nl", true },
   { "tomjepp.uk", true },
   { "tomjn.com", true },
   { "tomkempers.nl", true },
@@ -52432,21 +54625,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tomrichards.net", true },
   { "tomschlick.com", true },
   { "tomsherakmshope.org", true },
+  { "tomsoft.hr", true },
   { "tomspdblog.com", true },
   { "tomssl.com", true },
   { "tomstew.art", true },
   { "tomthorogood.co.uk", true },
-  { "tomthorogood.uk", true },
+  { "tomthorogood.uk", false },
   { "tomticket.com", true },
   { "tomudding.nl", true },
   { "tomvanlaer.be", true },
   { "tomvote.com", true },
+  { "tomvst.net", true },
   { "tomwassenberg.com", true },
   { "tomwassenberg.nl", true },
   { "tomwellington.design", true },
   { "tomwilson.io", true },
   { "tonabor.ru", true },
   { "tonage.de", true },
+  { "tonalaw.com", true },
   { "tonarinoliusan.com", true },
   { "toncusters.nl", true },
   { "tondles.com", true },
@@ -52470,7 +54666,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tonkayagran.com", true },
   { "tonkayagran.ru", true },
   { "tonkinwilsonvillenissanparts.com", true },
-  { "tonnie.nl", true },
   { "tonnycat.com", true },
   { "tonnygaric.com", true },
   { "tono.us", true },
@@ -52490,45 +54685,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "toolbox-bodensee.de", true },
   { "toolbox.ninja", false },
   { "toolineo.de", true },
-  { "toolnerds.com", true },
   { "toolroomrecords.com", true },
   { "tools.pro", true },
   { "toolsense.io", true },
+  { "toolset.com", true },
   { "toolshero.com", true },
   { "toolspain.tk", true },
   { "toom.io", true },
-  { "toomy.ddns.net", true },
   { "toomy.pri.ee", true },
   { "toon.style", true },
   { "toonpool.com", true },
+  { "toonsburgh.com", true },
   { "toontownrewritten.com", true },
   { "toool.nl", true },
   { "toool.nyc", true },
   { "toool.org", true },
   { "toopopular.ga", true },
-  { "toorl.com", true },
   { "toot.center", true },
   { "toothdoc.ca", true },
   { "toothpique.tk", true },
   { "tooti.biz", true },
+  { "top-esb.com", true },
+  { "top-frog.com", true },
   { "top-mining.tk", true },
   { "top-obaly.cz", true },
   { "top-opakowania.pl", true },
+  { "top-rensner.de", true },
   { "top-russian.tk", true },
   { "top-zdrave.bg", true },
   { "top10media.tk", true },
   { "top2servers.tv", true },
   { "top4shop.de", true },
-  { "top5hosting.co.uk", true },
   { "top6casinos.com", true },
   { "top9.fr", true },
+  { "topanimecharacters.com", true },
   { "topappandroid.com", true },
-  { "toparkinfo.hu", true },
   { "topaxi.ch", true },
   { "topaxi.codes", true },
   { "topbestsellerproduct.com", true },
-  { "topbigdeals.com", true },
-  { "topcanadianescorts.com", true },
   { "topcarehvac.ca", true },
   { "topciderska-crkva.rs", true },
   { "topclassfun.ie", true },
@@ -52537,10 +54731,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "topeducationhelp.co", true },
   { "topekafoundationpros.com", true },
   { "topeng-emas.com", true },
+  { "topesb.com", true },
   { "topfivepercent.co.uk", true },
   { "topgshop.ru", true },
   { "tophat.studio", true },
   { "tophr.kz", true },
+  { "topicalnet.de", true },
   { "topicdesk.com", true },
   { "topicit.net", true },
   { "topirishcasinos.com", true },
@@ -52554,30 +54750,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "topnotepad.com", true },
   { "topodin.com", true },
   { "toponlinecasinosites.co.uk", true },
-  { "toppercan.es", true },
+  { "topophile.net", true },
   { "topprice.ua", true },
   { "topproductidea.com", true },
   { "topproductsanalysis.com", true },
-  { "topreit.ru", true },
   { "toprelatos.com", true },
   { "topservercccam.tv", true },
-  { "topshelf.tech", true },
   { "topshelfcommercial.com", true },
   { "topspin.tk", true },
-  { "topsteaks-daun.de", true },
+  { "topsteroidsonline.com", true },
   { "toptec.net.br", true },
+  { "toptenthebest.com", true },
   { "toptexture.com", true },
-  { "toptheto.com", true },
   { "toptranslation.com", true },
   { "topvision.se", true },
   { "topwindowcleaners.co.uk", true },
   { "topwoodltd.co.uk", true },
+  { "topyachts-shop.com.ua", true },
   { "topyachts.com.ua", true },
+  { "tor.us", true },
   { "toracon.org", true },
   { "torchantifa.org", true },
   { "toreni.us", true },
   { "toretame.jp", true },
   { "torfbahn.de", true },
+  { "torlinnhe.com", true },
   { "torlock.com", true },
   { "torlock.host", true },
   { "torlock.icu", true },
@@ -52587,11 +54784,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tormentedradio.com", false },
   { "tormox.ml", true },
   { "torn1.se", true },
+  { "tornadotwistar.com", true },
   { "torneobottacin.it", true },
   { "torngalaxy.com", true },
   { "torogroups.com", true },
   { "torontoaccesscontrol.com", true },
-  { "torontocorporatelimo.services", true },
   { "torontostarts.com", true },
   { "toros.co", true },
   { "toros2.com", true },
@@ -52599,6 +54796,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "torprojects.com", true },
   { "torrance.gq", true },
   { "torreconta.pt", true },
+  { "torremarsalou.com", true },
   { "torrent.fedoraproject.org", true },
   { "torrent.is", true },
   { "torrent.tm", true },
@@ -52610,12 +54808,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "torrentgalaxy.to", true },
   { "torrenttop100.net", true },
   { "torrentz2.eu", true },
+  { "torresdocaribe.com.br", true },
+  { "torresdocariberesidence.com.br", true },
   { "torresshop.es", true },
   { "torresygutierrez.com", true },
   { "torretzalam.com", true },
   { "torservers.net", true },
   { "torsquad.com", true },
   { "torsten-schmitz.net", true },
+  { "torstens-buecherecke.de", true },
+  { "torstensenf.de", true },
   { "torte.roma.it", true },
   { "tortoises-turtles.com", true },
   { "tortugan.com.br", true },
@@ -52629,24 +54831,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tosteberg.se", true },
   { "tostu.de", true },
   { "totaku.ru", false },
-  { "totalaccessnicaragua.co", true },
   { "totalbike.com.br", true },
   { "totalcarcheck.co.uk", true },
   { "totalchecklist.com", true },
   { "totalclean.co.uk", true },
-  { "totalemaiildelivery.com", true },
-  { "totalemaiilldelivery.com", true },
-  { "totalemaildeliivery.com", true },
-  { "totalemaildelivery.com", true },
-  { "totalemaildellivery.com", true },
-  { "totalemailldeliivery.com", true },
-  { "totalemailldelivery.com", true },
   { "totalforcegym.com", false },
   { "totalhost.gq", true },
-  { "totallclean.com", true },
-  { "totallemaiildelivery.com", true },
-  { "totallemaildelivery.com", true },
   { "totallylegitimatehosting.ru", true },
+  { "totalofficeclean.co.uk", true },
+  { "totalpackers.com", true },
   { "totalpahire.com", true },
   { "totalparts.com.au", true },
   { "totalprint.hu", true },
@@ -52656,11 +54849,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "totem-international.com", true },
   { "totobetty.com", true },
   { "totodil.es", true },
+  { "tottoya.com", true },
   { "totvs.com", true },
   { "toucan-informatique.fr", true },
   { "touch.facebook.com", false },
   { "touch.mail.ru", true },
   { "touchdown.co", true },
+  { "touchezlebouddha.com", true },
   { "touchka.ga", true },
   { "touchoflife.in", true },
   { "touchscreentills.com", true },
@@ -52669,13 +54864,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "touchweb.fr", true },
   { "touchwoodtrees.com.au", true },
   { "toudum.com", true },
+  { "tough.email", true },
   { "toughlife.info", true },
   { "touhou.ac.cn", true },
   { "touhou.fm", true },
+  { "touhou.tw", true },
   { "touhouwiki.net", true },
   { "toujour.top", true },
   { "toujours-actif.com", true },
-  { "toulineprestige.com", true },
   { "tourdatenarchiv.de", true },
   { "tourdewestwoud.nl", true },
   { "tourgest.net", true },
@@ -52683,14 +54879,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tourismwithme.com", true },
   { "tournamentmgr.com", true },
   { "tournevis.ch", false },
-  { "tours.co.th", true },
   { "tourtransferitaly.it", true },
   { "tourtrektrip.com", true },
+  { "tourx.co.nz", true },
   { "tous-travaux.ch", true },
   { "toushi-exe.com", true },
-  { "toushi-return.xyz", true },
   { "toushi-shakkin.com", true },
   { "touslesdrivers.com", true },
+  { "tout-a-fait.fr", true },
   { "tout-art.ch", true },
   { "toutart.ch", true },
   { "toutelathailande.fr", true },
@@ -52715,6 +54911,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "townandcountryus.com", true },
   { "townhouseregister.com.au", true },
   { "townofbridgewater.ca", true },
+  { "townofmineral.net", true },
   { "towsonpediatrics.com", true },
   { "towsonroofers.com", true },
   { "towtruck.website", true },
@@ -52745,6 +54942,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tppleague.me", false },
   { "tpress.tk", true },
   { "tpro.rocks", true },
+  { "tproger.ru", true },
   { "tq.rs", true },
   { "tqdev.com", true },
   { "tqm1.sk", true },
@@ -52771,6 +54969,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tracking-app.tk", true },
   { "tracking.best", true },
   { "trackrecordpro.co.uk", true },
+  { "tracksa.com.ar", true },
   { "trackyourlogs.com", true },
   { "tractorfan.nl", true },
   { "tractorpumps.com", true },
@@ -52787,24 +54986,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tradeonfx.com", true },
   { "traderbot.com.br", true },
   { "traderinside.ga", true },
-  { "traderjoe-cloud.de", true },
+  { "tradersclub.com.br", true },
   { "tradesafe.co.za", true },
   { "tradesmance.com", true },
-  { "tradexport.cn", true },
   { "tradie.com", true },
   { "tradik.com", true },
   { "tradinews.com", true },
   { "tradinews.fr", true },
   { "tradinghelper.be", true },
-  { "tradingoptioncloud.com", true },
   { "tradingview.com", true },
   { "traditions.nl", true },
   { "traditionskapperscollege.nl", true },
-  { "traditionsvivantesenimages.ch", true },
   { "tradlost-natverk.se", true },
+  { "tradreams.com", true },
   { "traducir.win", true },
   { "trafarm.ro", true },
   { "trafas.nl", true },
+  { "traff1k.net", true },
   { "trafficmanager.com", true },
   { "trafficmanager.ltd", true },
   { "trafficmanager.xxx", true },
@@ -52817,7 +55015,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "traficmusik.net", true },
   { "tragmi.ch", true },
   { "traha.org", true },
-  { "trailcloud.ink", true },
   { "trailerparty.com", true },
   { "trailforks.com", true },
   { "trainex.org", true },
@@ -52829,6 +55026,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trainline.cn", true },
   { "trainline.com.br", true },
   { "trainline.com.pt", true },
+  { "trainline.cz", true },
   { "trainline.de", true },
   { "trainline.dk", true },
   { "trainline.es", true },
@@ -52843,21 +55041,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trainmagazine.de", true },
   { "trainmagazine.nl", true },
   { "trainme.nl", true },
+  { "trainoclock.com", true },
   { "trainplaza.be", true },
   { "trainplaza.net", true },
   { "trainplaza.nl", true },
   { "trainsgoodplanesbad.com", false },
-  { "traintimes.be", true },
-  { "traintimes.dk", true },
   { "traintimes.fi", true },
   { "traintimes.ie", true },
-  { "traintimes.it", true },
-  { "traintimes.lu", true },
   { "traintimes.nl", true },
   { "traintimes.se", true },
   { "trainyourtribe.com.au", true },
   { "traista.ru", true },
-  { "traiteur-laporte.fr", true },
   { "traiteurpapillonevents.be", true },
   { "trajano.net", true },
   { "trajectfoto.nl", true },
@@ -52868,7 +55062,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tranceattic.com", true },
   { "trancehost.com", true },
   { "trancetronic.com", true },
-  { "trandanhland.com", true },
   { "trangcongnghe.com", true },
   { "trangell.com", true },
   { "tranquillity.se", true },
@@ -52877,7 +55070,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "transcend.org", true },
   { "transcontrol.com.ua", true },
   { "transdevbus.co.uk", true },
-  { "transdyne.com", true },
+  { "transes.com.tr", true },
   { "transeshairtransplant.com", true },
   { "transette.com", true },
   { "transfer.pw", true },
@@ -52893,6 +55086,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "transformaniatime.com", true },
   { "transformations-magazin.com", true },
   { "transforumation.com", true },
+  { "transfurrmation.town", true },
   { "transgendergedenkdag.nl", true },
   { "transgenderinfo.nl", true },
   { "transgendernetwerk.nl", true },
@@ -52915,10 +55109,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "transnexus.com", true },
   { "transoil.co.uk", true },
   { "transpak-cn.com", true },
-  { "transparentcorp.com", true },
+  { "transparentpng.com", true },
   { "transporta.it", true },
   { "transporterlock.com", true },
+  { "transservice.net.ua", true },
   { "transumption.com", true },
+  { "transvolando.es", true },
   { "trappednerve.org", true },
   { "trashnothing.com", true },
   { "traslocare.roma.it", true },
@@ -52933,7 +55129,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trattamento-cotto.it", true },
   { "trattamentocotto.roma.it", true },
   { "trauer-beileid.de", true },
+  { "trauerbegleitung-kudla.de", true },
   { "traumaheilung.net", true },
+  { "traumprojekt.com", true },
   { "traumwerker.com", true },
   { "traut.cloud", true },
   { "travador.com", true },
@@ -52947,22 +55145,22 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "travelassist.us.com", true },
   { "travelbuddiesperu.com", true },
   { "travelemy.com", true },
+  { "travelepoch.com", true },
   { "travelerofcharleston.com", true },
   { "travelexbiz.com", true },
   { "travelexinternational.com", true },
   { "travelfield.org", true },
   { "travelinc.pk", true },
-  { "travelingbagsmke.com", true },
   { "travelinsurance.co.nz", true },
   { "travellers.dating", true },
   { "travellovers.fr", true },
-  { "travelmexico42.com", true },
   { "travelogue.jp", true },
   { "travelphilippines.tk", true },
   { "travelphoto.cc", true },
   { "travelrefund.com", true },
   { "travelround.io", true },
   { "travelshack.com", true },
+  { "travelsuperapp.com", true },
   { "traveltomachupichu.com", true },
   { "travelus.nl", true },
   { "travelvisit.cf", true },
@@ -52978,7 +55176,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "travler.net", true },
   { "trazodononline.gq", true },
   { "trbanka.com", true },
-  { "trea98.org", true },
   { "treaslockbox.gov", true },
   { "treasuredandloved.co.uk", true },
   { "treasuredandloved.com", true },
@@ -52995,10 +55192,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "treehouseresort.nl", true },
   { "treeline.tech", true },
   { "treeoilpot.com", true },
+  { "treeschat.com", true },
   { "treestarmarketing.com", true },
-  { "treetopsecurity.com", true },
   { "treeworkbyjtec.com", true },
+  { "treezone.net", true },
   { "trefcon.cz", true },
+  { "trefle.io", true },
   { "trefpuntdemeent.nl", true },
   { "treinaweb.com.br", false },
   { "treinmagazine.be", true },
@@ -53009,24 +55208,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trekinafrica.com", true },
   { "trekking-friends.ch", true },
   { "trelki.de", true },
+  { "trelloparea.com", true },
   { "treml-sturm.com", true },
-  { "trendfrisuren-bongard.de", true },
   { "trendingdeals.ga", true },
   { "trendingeducation.tk", true },
+  { "trendparty.net", true },
   { "trendreportdeals.com", true },
   { "trendsettersre.com", true },
   { "trendus.no", true },
   { "trendycrowds.com", true },
   { "trendykids.cz", true },
+  { "trenorario.it", true },
   { "trenta.io", true },
   { "trentonmakesnews.com", true },
   { "tresmaistres.com.br", true },
   { "tresor.it", true },
   { "tresorit.com", true },
   { "tresorsecurity.com", true },
-  { "tretail.net", true },
   { "tretkowski.de", true },
-  { "trevsanders.co.uk", true },
   { "trezor.io", true },
   { "trhastane.com", true },
   { "triage.ai", true },
@@ -53038,11 +55237,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trialcentralnet.com", true },
   { "trials.tk", true },
   { "triangle-energie.com", true },
-  { "trianglebruins.org", true },
   { "trianglecastles.co.uk", true },
   { "trianglelawngames.com", true },
   { "tribac.de", true },
-  { "tribaldos.com", true },
+  { "tribaldos.com", false },
   { "tribaljusticeandsafety.gov", true },
   { "tribe.rs", false },
   { "tribetrails.com", true },
@@ -53052,7 +55250,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tributh.tk", true },
   { "tricare.mil", true },
   { "tricefy4.com", true },
+  { "trichdanhay.com", true },
   { "triciaree.com", true },
+  { "trickgsm.com", true },
   { "trickle.works", true },
   { "trico-pigmentazione.it", true },
   { "tricountyathome.com", true },
@@ -53061,6 +55261,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "triefenbach.eu", true },
   { "trietment.com", true },
   { "trigardon-rg.de", true },
+  { "triggeredpaintz.com", true },
   { "trigraph.net", true },
   { "trigular.de", true },
   { "trillian.im", true },
@@ -53081,20 +55282,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trio.online", true },
   { "triop.se", true },
   { "triozon.hu", true },
-  { "tripasia.id", true },
-  { "triplekeys.net", true },
+  { "triphop.com", true },
   { "triplethreatband.tk", true },
   { "tripolistars.com", true },
+  { "tripout.tech", true },
   { "trippen.travel", true },
+  { "tripsided.com", true },
   { "tripsinc.com", true },
   { "tripsvia.com", true },
+  { "tripsweet.com", true },
   { "trisect.uk", true },
+  { "trisolaris.co.uk", true },
   { "tristanhager.i234.me", true },
   { "trit.pro", true },
   { "tritiumdisposal.com", true },
-  { "trix360.com", true },
   { "trixati.org.ua", true },
   { "trixexpressweb.nl", true },
+  { "trixiebooru.org", true },
   { "trkpuls.tk", true },
   { "trockendock.ch", true },
   { "troedelhannes.at", true },
@@ -53106,17 +55310,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trollope-apollo.com", true },
   { "trommelwirbel.com", true },
   { "tronlaserarena.cz", true },
-  { "tronmeo.com", true },
   { "troomcafe.com", true },
   { "troop89medfield.org", true },
   { "troopaid.info", true },
   { "trophee-discount.com", true },
+  { "trophies.de", true },
   { "trophy-discount.com", true },
   { "trophy-solution.com", true },
   { "tropicalserver.com", false },
-  { "tropicaltravelco.com", true },
-  { "troplo.com", true },
   { "trosell.net", true },
+  { "trosinenko.com", true },
   { "trotec.com", true },
   { "trotina.cz", true },
   { "troubles.ru", true },
@@ -53133,32 +55336,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trtruijens.com", true },
   { "tru.ltd", true },
   { "trucchibellezza.it", true },
+  { "truccoshop.com", true },
   { "truckersmp.com", true },
+  { "truckshina-plus.com.ua", true },
   { "trucosdescargas.com", true },
   { "trueachievements.com", true },
+  { "truebluedriver.com", true },
   { "truecosmeticbeauty.com", false },
   { "trueduality.net", true },
   { "truehempculture.com.au", true },
   { "truekey.com", true },
   { "truelovesakuya.info", true },
-  { "trueminecraft.com", true },
   { "truendo.com", true },
   { "truentumvet.it", true },
   { "trueopenlove.org", true },
-  { "trueproxy.net", true },
   { "truerizm.ru", true },
-  { "trueseeing.com", true },
+  { "truesplendid.net", true },
   { "truesteamachievements.com", true },
   { "truestor.com", true },
   { "trueteaching.com", true },
   { "truetraveller.com", true },
   { "truetrophies.com", true },
+  { "truewateraustralia.com", true },
   { "trueweb.es", true },
   { "trufflepig-forensics.com", true },
   { "truly-madly-happiness.de", true },
   { "trumanlibrary.gov", true },
   { "trumanlibrary.org", true },
   { "trumtrimun.com", true },
+  { "trungvien.vn", true },
   { "trunk-show.net", true },
   { "truong.fi", true },
   { "truqu.com", true },
@@ -53170,16 +55376,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "trusthook.tk", true },
   { "trustnet.co.il", true },
   { "trustserv.de", true },
+  { "truthdancer.com", true },
   { "truthmessages.pw", true },
+  { "truthserum.co", true },
   { "trutopoffer.com", true },
   { "truvisory.com", true },
-  { "truyencuoi.org", false },
+  { "truyenfull.net", true },
   { "truyenfull.vn", true },
   { "trw-reseller.com", true },
   { "try2admin.pw", true },
   { "try2services.cm", true },
   { "try2services.vc", true },
   { "trybooking.com", true },
+  { "trycaviar.com", true },
   { "tryhard.cz", true },
   { "tryhexadecimal.com", true },
   { "tryitonline.net", true },
@@ -53194,26 +55403,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tryplo.xyz", true },
   { "tryprime.co.uk", true },
   { "tryti.me", true },
-  { "tryupdates.com", true },
   { "trz.cz", true },
   { "trzepak.pl", true },
-  { "ts5server.eu", true },
   { "tsa-sucks.com", true },
   { "tsab.moe", true },
-  { "tsahf.com", true },
-  { "tsai.com.de", true },
   { "tsatestprep.com", true },
   { "tschuermans.be", true },
   { "tscinsurance.com", true },
   { "tsedryk.ca", true },
   { "tsgkc1.com", true },
+  { "tshirtscapetown.com", true },
   { "tsicons.com", true },
-  { "tsinnosti.com", true },
   { "tsironis-olivenoel.de", true },
   { "tslcontractors.co.uk", true },
   { "tsmgroup2.biz", true },
-  { "tsng-stg.tk", true },
-  { "tsng.co.jp", true },
+  { "tsmn.com.au", true },
   { "tspdrits.xyz", true },
   { "tsriggingequipment.com", true },
   { "tsrv.pw", false },
@@ -53229,12 +55433,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tsundere.moe", true },
   { "tsurai.work", true },
   { "tsutawal.com", true },
-  { "tsv-1894.de", true },
+  { "tszwww.com", true },
   { "tt0766.com", true },
-  { "tt0866.com", true },
   { "tt0966.com", true },
   { "tt2866.com", true },
-  { "tt2966.com", true },
   { "tt3699.com", true },
   { "tt3766.com", true },
   { "tt3999.com", true },
@@ -53249,47 +55451,48 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ttbonline.gov", true },
   { "ttc-birkenfeld.de", true },
   { "ttcaarberg.ch", true },
-  { "ttcak.ddns.net", true },
   { "ttcf.ca", true },
   { "ttclub.fr", true },
   { "ttdsevaonline.com", true },
-  { "ttfollower.com", true },
   { "ttlet.com", true },
-  { "ttp-shop.com.ua", true },
   { "tts-assessments.com", true },
   { "ttsoft.pl", true },
   { "ttsweb.org", true },
+  { "ttt.tt", true },
   { "ttuwiki.ee", true },
   { "ttuwiki.org", true },
   { "ttwoee.com", true },
   { "ttwt.com", true },
   { "tty1.net", true },
   { "tu-immoprojekt.at", true },
-  { "tu6.pm", true },
   { "tualiadaenlimpieza.com", true },
-  { "tuanhstore.com", true },
   { "tuasaude.com", true },
   { "tubanten.nl", true },
   { "tube.tools", true },
   { "tube8.es", true },
   { "tube8.fr", true },
   { "tubebegana.com", true },
-  { "tubedesire.com", true },
   { "tubejack.nl", true },
   { "tubepro.de", true },
   { "tubepro.net", true },
   { "tubs4fun.co.uk", true },
   { "tubul.net", true },
   { "tucepihotelalga.com", true },
+  { "tuchile.cl", true },
   { "tucny.com", true },
   { "tucocoon.com", true },
   { "tucsonfcu.com", true },
+  { "tucsonpcrepair.com", true },
   { "tucuxi.org", true },
+  { "tudienchinhta.com", true },
   { "tudiennhakhoa.com", true },
   { "tudineroasi.com", true },
   { "tudosobrehost.com.br", true },
+  { "tuestilo.nl", true },
   { "tuev-hessen.de", true },
   { "tuffclassified.com", true },
+  { "tuffmail.com", true },
+  { "tuffmail.net", true },
   { "tuffsruffs.se", true },
   { "tugafm.eu.org", true },
   { "tuimprenta.com.ar", true },
@@ -53304,10 +55507,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tulsaworkshop.org", true },
   { "tulumplayarealestate.com", true },
   { "tumagiri.net", true },
-  { "tumarcafe.com", true },
   { "tumblenfun.com", true },
   { "tumblr.com", true },
   { "tumedico.es", true },
+  { "tumelum.de", true },
+  { "tunaut.com", true },
   { "tune-web.de", true },
   { "tunefish-entertainment.de", true },
   { "tuneotune.com", true },
@@ -53323,6 +55527,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tunnelwatch.com", true },
   { "tunsbergwhiskyfestival.no", true },
   { "tuntitili.fi", true },
+  { "tuoicay.vn", true },
   { "tupa-germania.ru", true },
   { "tupass.pw", true },
   { "tupeuxpastest.ch", false },
@@ -53333,9 +55538,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "turbosuflantecluj.ro", true },
   { "turdnagel.com", true },
   { "turf-experts.com", true },
+  { "turi.space", true },
   { "turigum.com", true },
   { "turiscar.pt", true },
   { "turismodubrovnik.com", true },
+  { "turismonochile.com.br", true },
   { "turkish.dating", true },
   { "turkishhackers.tk", true },
   { "turkmistress.tk", true },
@@ -53370,19 +55577,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tutorcruncher.com", true },
   { "tutorialdb.tk", true },
   { "tutorialehtml.com", true },
-  { "tutorialinux.com", true },
   { "tutorialseo.com.br", true },
   { "tutorme.com", true },
   { "tuts4you.com", true },
   { "tuttimundi.org", false },
   { "tutu.green", true },
+  { "tutu.ro", true },
   { "tuwaner.com", true },
+  { "tuxcloud.net", true },
   { "tuxflow.de", false },
   { "tuxie.com", true },
   { "tuxlife.net", true },
   { "tuxone.ch", true },
   { "tuxpi.com", true },
   { "tuxplace.nl", true },
+  { "tuxsoul.com", true },
   { "tuxsrv.com", true },
   { "tuxtimo.me", true },
   { "tuxz.net", true },
@@ -53396,7 +55605,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tvaerialsmanchester.com", true },
   { "tvbaratas.net", true },
   { "tvcmarketing.com", true },
-  { "tvdates.info", true },
   { "tver-msk.ru", true },
   { "tves.gob.ve", true },
   { "tvhshop.be", true },
@@ -53407,12 +55615,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tvnow.de", true },
   { "tvoe-delo24.ru", true },
   { "tvoyaknighka.ga", true },
+  { "tvoysad.ru", true },
   { "tvplusiptv.com", true },
   { "tvquot.es", true },
   { "tvs-virtual.cz", true },
   { "tvseries.info", true },
   { "tvsheerenhoek.nl", true },
   { "tvteam.nl", true },
+  { "tvtion.com", true },
+  { "tvzahist.com.ua", true },
   { "tvzr.com", false },
   { "tw.search.yahoo.com", false },
   { "twainhartehotels.com", true },
@@ -53431,9 +55642,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "twelvecolonies.tk", true },
   { "twelvecornerspediatrics.com", true },
   { "twenty71.com", true },
+  { "twentyfournow.com", true },
   { "twilleys.com", true },
   { "twincitynissantxparts.com", true },
-  { "twinkseason.com", true },
   { "twinztech.com", true },
   { "twisata.com", true },
   { "twist.com", true },
@@ -53445,6 +55656,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "twisto.pl", true },
   { "twit-guide.com", true },
   { "twitchplaysleaderboard.info", true },
+  { "twitcker.com", true },
   { "twitter.com", false },
   { "twitterdriver.io", true },
   { "twitteroauth.com", true },
@@ -53457,14 +55669,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "twoef.co.uk", true },
   { "twofactorauth.org", true },
   { "twoguyswhoblog.com", true },
+  { "twohandson.com", true },
   { "twohuo.com", true },
   { "twojapogoda.pl", true },
-  { "twonodes.games", true },
-  { "twopif.net", true },
   { "tworaz.net", true },
   { "twtr.email", true },
   { "twwd.de", true },
   { "tx299.com", true },
+  { "tx577.com", true },
   { "txcap.org", true },
   { "txdivorce.org", true },
   { "txi.su", true },
@@ -53476,8 +55688,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "txurologist.com", true },
   { "ty7788.cc", true },
   { "tyc001.cc", true },
-  { "tyc009.cc", true },
-  { "tyc923.com", true },
+  { "tyc923.com", false },
   { "tyche.io", true },
   { "tycho.org", true },
   { "tycom.cz", true },
@@ -53486,11 +55697,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tykeplay.com", true },
   { "tyler.rs", true },
   { "tylerdavies.net", true },
-  { "tylerfreedman.com", true },
   { "tylerharcourt.org", true },
   { "tylermade.net", true },
   { "tyleromeara.com", true },
   { "tylerschmidtke.com", true },
+  { "tylervigario.com", true },
   { "typeblog.net", true },
   { "typeclasses.com", true },
   { "typecodes.com", true },
@@ -53501,6 +55712,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "typing.com", true },
   { "typist.tech", true },
   { "typo3.com", true },
+  { "tyrannize.us", true },
+  { "tyres-price.com", true },
   { "tyroremotes.co.uk", true },
   { "tyroremotes.es", true },
   { "tyroremotes.eu", true },
@@ -53509,15 +55722,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "tyroremotes.no", true },
   { "tyroremotes.pt", true },
   { "tyroremotes.se", true },
+  { "tysonspersonalinjurylawyer.com", true },
   { "tysox.de", true },
-  { "tysye.ca", true },
   { "tytocare.com", true },
   { "tytod.com", true },
   { "tyuo-keibi.co.jp", true },
   { "tyva.gq", true },
   { "tyva.ml", true },
   { "tzermias.gr", true },
-  { "tzyingshi.com", true },
+  { "tzonevrakis.gr", true },
   { "u-chan.com", true },
   { "u-grow.gr", true },
   { "u-he.com", true },
@@ -53534,9 +55747,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "u4mh-dev-accesscontroller.azurewebsites.net", true },
   { "u4mh-dev-portal.azurewebsites.net", true },
   { "u5.re", true },
+  { "u51365.com", true },
   { "u5b.de", false },
   { "u5r.nl", true },
-  { "u81818.com", true },
+  { "u9yy.net", true },
+  { "ua-blacklist.info", true },
   { "ua.search.yahoo.com", false },
   { "uae-company-service.com", true },
   { "ualove.tk", true },
@@ -53548,7 +55763,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uatgootax.ru", false },
   { "ub3rk1tten.com", false },
   { "ub889.com", true },
-  { "ubanquity.com", true },
+  { "ubanquity.com", false },
   { "ubcani.com", true },
   { "uberboxen.net", true },
   { "uberestimator.com", true },
@@ -53561,6 +55776,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ubezpieczenia-poznan.com", true },
   { "ubezpieczeniepsa.com", true },
   { "ubicaciones-vitamina.cl", true },
+  { "ubiminds.com", true },
   { "ubineering.de", true },
   { "ubis.company", true },
   { "ubiurbe.com", true },
@@ -53573,11 +55789,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ucac.nz", false },
   { "ucangiller.com", true },
   { "ucasa.org.au", true },
+  { "ucb.com", true },
   { "ucc.edu.gh", true },
   { "ucch.be", false },
   { "uccisme.net.ua", true },
+  { "ucdap.com", true },
   { "ucfirst.nl", true },
   { "uchargeapp.com", true },
+  { "ucibt.com", true },
   { "uclf.de", true },
   { "ucmjlawyers.com", true },
   { "ucnedu.org", true },
@@ -53585,17 +55804,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ucppe.org", true },
   { "ucrdatatool.gov", true },
   { "uctarna.online", true },
-  { "udancy.com", true },
-  { "udbhav.me", true },
   { "uddi.ng", true },
   { "uddin.io", true },
   { "udid.fyi", true },
   { "udien.tk", true },
+  { "udiregelverk.no", true },
   { "udo-luetkemeier.de", true },
   { "udomain.net", true },
   { "udp.sh", false },
   { "udruga-point.hr", true },
-  { "udtunnel.com", true },
   { "udvoukocek.eu", true },
   { "ueberdosis.io", true },
   { "ueberwachungspaket.at", true },
@@ -53603,11 +55820,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ueni.com", true },
   { "uestc.icu", true },
   { "uevan.com", true },
+  { "uf-ace.com", true },
+  { "ufacesign.in", true },
   { "ufanisi.mx", true },
   { "ufindme.at", true },
   { "ufo-blogger.com", true },
+  { "ufob.edu.br", true },
   { "ufocentre.com", true },
-  { "ufoch.com", true },
   { "ufplanets.com", true },
   { "ufroo.com", true },
   { "ugb-verlag.de", true },
@@ -53617,6 +55836,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uglycat.eu", true },
   { "uglycat.net", true },
   { "uglycat.org", true },
+  { "ugolsibiri.ru", true },
+  { "ugrod.ru", true },
+  { "ugtdigiteldocumentos.es", true },
   { "ugx-mods.com", true },
   { "ugy.es", true },
   { "uhc.gg", true },
@@ -53624,11 +55846,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uhrenlux.de", true },
   { "ui8.net", true },
   { "uiberlay.cz", true },
-  { "uicchy.com", true },
+  { "uid0.pl", true },
   { "uiop.link", true },
   { "uiterwijk.org", true },
   { "uitgeverij-deviant.nl", true },
-  { "uix.biz", true },
   { "uj2008.com", true },
   { "ujiyasu.com", true },
   { "ujob.com.cn", true },
@@ -53637,20 +55858,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uk.search.yahoo.com", false },
   { "ukbc.london", true },
   { "ukchemicalresearch.org", false },
+  { "ukclimbing.com", true },
   { "ukdefencejournal.org.uk", true },
   { "ukhas.net", true },
   { "ukhillwalking.com", true },
+  { "ukitbs.com", true },
   { "ukmeetandgreet.com", true },
   { "ukooku.com", true },
   { "ukozliku.cz", true },
-  { "ukpirate.org", true },
   { "ukpropertyrescue.com", true },
   { "ukr.media", true },
   { "ukrainians.ch", true },
+  { "ukrapak.com.ua", true },
   { "ukriate.com", true },
   { "ukrigging.net", true },
   { "ukrn.io", true },
   { "ukrnet.co.uk", true },
+  { "ukrobmen.net", true },
   { "uksb.net", true },
   { "uktw.co.uk", true },
   { "ukuchordnamer.com", true },
@@ -53661,13 +55885,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uldsh.de", true },
   { "uleenucks.de", true },
   { "ulen.me", true },
-  { "ulfberht.fi", true },
   { "uli-eckhardt.de", true },
   { "ulitroyo.com", true },
   { "ullah.se", true },
   { "ulli.ml", true },
   { "ulmer-schneesport.de", true },
   { "ulovelc88.com", true },
+  { "ulrichs.ch", true },
   { "ulrik.moe", true },
   { "ultima-ratio.at", true },
   { "ultimate-fireworks.tk", true },
@@ -53682,11 +55906,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ultramax.biz", true },
   { "ultramookie.com", true },
   { "ultraporn.biz", true },
+  { "ultrapure-water.com", true },
   { "ultrasdesign.co.uk", true },
   { "ultraseopro.com", true },
   { "ultratechlp.com", true },
   { "ultrautoparts.com.au", true },
   { "ultravip.com.br", true },
+  { "ultspo.net", true },
+  { "ulys.ch", true },
   { "um-sachsen-pictures.de", true },
   { "umail2.com", true },
   { "umanityracing.com", true },
@@ -53697,8 +55924,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "umcpc.org", true },
   { "umenlisam.com", true },
   { "umisonoda.com", true },
+  { "umity.com.ua", true },
   { "umlcode.com", true },
   { "ummati.com", true },
+  { "ummiabi.id", true },
   { "umniy-dom.tk", true },
   { "umount.net", true },
   { "umsapi.com", true },
@@ -53711,8 +55940,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "un-instantpoursoi.com", true },
   { "un-zero-un.fr", true },
   { "un.fo", true },
-  { "unadonna.it", true },
   { "unapp.me", true },
+  { "unatco.noip.me", true },
   { "unausa.com.br", true },
   { "unblock-zh.org", true },
   { "unblocked.at", true },
@@ -53720,9 +55949,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unblocked.bid", true },
   { "unblocked.cam", true },
   { "unblocked.dk", true },
+  { "unblocked.earth", true },
   { "unblocked.gdn", true },
   { "unblocked.ink", true },
   { "unblocked.krd", true },
+  { "unblocked.lat", true },
   { "unblocked.lc", true },
   { "unblocked.live", true },
   { "unblocked.llc", true },
@@ -53740,6 +55971,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unblocked.vet", true },
   { "unblocked.vip", true },
   { "unblocked.win", true },
+  { "unblockit.biz", true },
+  { "unblockit.ca", true },
   { "unbolt.cf", true },
   { "unboundmoney.com", true },
   { "unboxed.cf", true },
@@ -53757,14 +55990,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "undercovercondoms.com", true },
   { "underfloorheating-uk.co.uk", true },
   { "undergrounder.ga", true },
+  { "undergroundremains.de", true },
   { "underlined.fr", true },
   { "undernet.uy", false },
   { "undertow.ga", true },
   { "underwearoffer.com", true },
   { "underwoodpatents.com", true },
+  { "undev.co", true },
   { "undp.lt", true },
   { "unece-deta.eu", true },
-  { "unedouleur.com", true },
   { "unefleur.be", true },
   { "unefuite.ch", false },
   { "unerosesurlalune.fr", false },
@@ -53777,6 +56011,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ungaeuropeer.se", true },
   { "ungegamere.dk", true },
   { "unghie.com", true },
+  { "unibag.cl", true },
+  { "unibo.com", true },
   { "unibusreputation.com", true },
   { "unicef-karten.at", true },
   { "unicef.pl", true },
@@ -53788,6 +56024,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unicode.website", true },
   { "unicolabo.jp", true },
   { "unicorn-systems.net", true },
+  { "unicorn.io", true },
   { "unicorn.melbourne", true },
   { "unicorndesign.ninja", true },
   { "unicorntooling.eu", true },
@@ -53799,9 +56036,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unideck.com.ua", true },
   { "unidevgroup.ru", true },
   { "unidostransportes.com.br", true },
-  { "unidrogas.com", true },
+  { "unidrogas.com", false },
   { "unieducar.org.br", true },
   { "uniekglas.nl", true },
+  { "unifashion.ro", true },
   { "unifestal.com", true },
   { "uniform-agri.com", true },
   { "unijob.com.br", true },
@@ -53812,6 +56050,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unikrn.space", true },
   { "unila.edu.br", true },
   { "unimbalr.com", true },
+  { "unionlife-net.com", true },
   { "unionplat.ru", true },
   { "unionreports.gov", true },
   { "unionstreetskateboards.com", true },
@@ -53839,7 +56078,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unitedmatrix.org", true },
   { "unitedprovinces.nl", true },
   { "unitedpsychological.com", true },
-  { "unitedstreamers.de", true },
   { "unitel2000.de", true },
   { "unitir.gq", true },
   { "unityconsciousnessbooks.com", true },
@@ -53855,18 +56093,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "universalcarpetinc.com", true },
   { "universalcarremote.com", true },
   { "universe.horse", true },
-  { "universeinform.com", true },
   { "universidadperu.com", true },
   { "universogay.com", true },
   { "universoscuola.it", true },
   { "universovalve.net", true },
   { "universrumbacongolaise.com", true },
-  { "univet-veterinaire.com", true },
-  { "univetnature.org", true },
+  { "univet-veterinaire.com", false },
+  { "univetnature.org", false },
   { "univitale.fr", false },
   { "unix.se", true },
   { "unixadm.org", true },
-  { "unixattic.com", true },
   { "unixforum.org", true },
   { "unixfox.eu", true },
   { "unixhost.ga", true },
@@ -53877,12 +56113,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unkrn.com", true },
   { "unlax.com", true },
   { "unli.xyz", true },
+  { "unlock-my-sprint.mobi", true },
   { "unlockauthority.com", true },
   { "unlockblackberryfree.co.uk", true },
   { "unlocken.nl", true },
   { "unlocks.co.uk", true },
+  { "unlockscheveningen.nl", true },
   { "unlocktalent.gov", true },
-  { "unlocktechs.com", true },
   { "unluco.com", true },
   { "unmarkdocs.co", true },
   { "unmonito.red", true },
@@ -53892,7 +56129,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uno.fi", true },
   { "uno.uk", true },
   { "unoccupyabq.org", true },
-  { "unosconotros.com", true },
   { "unp.me", true },
   { "unpaismejor.es", true },
   { "unpkg.com", true },
@@ -53926,11 +56162,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "unxicdellum.cat", true },
   { "uotomizu.com", true },
   { "up-ai.com", true },
+  { "up-stage.info", true },
+  { "up-stage.jp", true },
   { "up2mark.com", true },
   { "up2mark.de", true },
   { "up2staff.com", true },
   { "upacores.com", true },
+  { "upakweship.ca", true },
   { "upakweship.com", true },
+  { "upakweship.eu.com", true },
+  { "upakweship.uk.com", true },
   { "upandrunningtutorials.com", true },
   { "upawg.ca", true },
   { "upay.ru", true },
@@ -53950,12 +56191,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "upcambio.com", true },
   { "upd.jp", true },
   { "upengo.com", true },
-  { "upforshare.com", false },
   { "upgamerengine.com", true },
   { "upgamerengine.com.br", true },
   { "upgamerengine.net", true },
   { "upgauged.com", true },
   { "upgradedpoints.com", true },
+  { "upguard.com", true },
   { "uphabit.io", true },
   { "upholsterycleanerslondon.co.uk", true },
   { "upholsterydesign.com.au", true },
@@ -53964,8 +56205,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uplaqui.com.br", true },
   { "uplead.com", true },
   { "uplinklabs.net", true },
-  { "upliving.be", true },
-  { "upload.cat", true },
   { "upload.facebook.com", false },
   { "uploadbeta.com", true },
   { "uplotnitel.online", true },
@@ -53975,22 +56214,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uppercap.com", true },
   { "upperroommission.ca", true },
   { "upplevelse.com", true },
+  { "upr.com.ua", true },
+  { "upr.si", true },
   { "uprint.it", true },
   { "upropay.com", true },
   { "uprospr.com", true },
-  { "uprouteyou.com", true },
-  { "upsiteseo.com", true },
+  { "upscope.io", true },
   { "upstart.com", true },
   { "uptechbrasil.com.br", true },
+  { "uptimed.com", true },
   { "uptodateinteriors.com", true },
   { "uptoon.jp", true },
+  { "uptoplay.ovh", true },
   { "uptownlocators.com", true },
   { "uptownvintagecafe.com", true },
   { "uptrends.com", true },
   { "uptrends.de", true },
   { "upturn.org", true },
   { "upundit.com", true },
-  { "upvoted.net", true },
   { "upwork.com", true },
   { "ur-lauber.de", true },
   { "ur.nl", true },
@@ -54007,10 +56248,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "urban-culture.fr", true },
   { "urban.melbourne", true },
   { "urbancreators.dk", true },
+  { "urbanemc.net", true },
   { "urbanesecurity.com", true },
   { "urbanfi.sh", true },
   { "urbanguerillas.de", true },
-  { "urbangymfirenze.com", true },
   { "urbanhotbed.eu", true },
   { "urbanietz-immobilien.de", true },
   { "urbanindustriecoiffure-auray.fr", true },
@@ -54018,6 +56259,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "urbanwaters.gov", false },
   { "urbanwildlifealliance.org", false },
   { "urbanxdevelopment.com", true },
+  { "urbest.io", true },
   { "urbexdk.nl", true },
   { "urbexing.eu", true },
   { "urbizoroofing.com", true },
@@ -54027,14 +56269,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "urcentral.nl", true },
   { "urcentral.org", true },
   { "ureka.org", true },
-  { "urep.us", true },
+  { "urfix.com", true },
+  { "urgentcaresouthaven.com", true },
+  { "uriports.com", true },
   { "uripura.de", true },
   { "urist1011.ru", true },
   { "urkult.se", true },
   { "url.fi", true },
   { "url.fm", true },
   { "url.rw", false },
-  { "url1.ga", true },
   { "urlakite.com", true },
   { "urlaub-busreisen.de", true },
   { "urlaub-leitner.at", true },
@@ -54042,13 +56285,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "urlgot.com", true },
   { "urlscan.io", true },
   { "urlsimple.tk", true },
+  { "urltell.com", true },
   { "urltodomain.com", true },
   { "urnes.org", true },
   { "urologyoklahoma.com", true },
   { "urown.net", true },
   { "urrestarazuserranoabogados.com", true },
   { "ursa-minor-beta.org", true },
-  { "ursae.co", true },
   { "urspringer.de", true },
   { "ursuslibris.hu", true },
   { "urth.org", true },
@@ -54063,7 +56306,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "usaa.com", false },
   { "usaautoaz.com", true },
   { "usabackground.com", true },
-  { "usabibi.net", true },
+  { "usability.com.gr", true },
   { "usability.gov", true },
   { "usaestaonline.com", true },
   { "usage.be", true },
@@ -54071,26 +56314,25 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "usagm.gov", true },
   { "usajobs.com", true },
   { "usajobs.gov", true },
-  { "usakitchensandflooring.com", true },
   { "usalearning.gov", true },
   { "usamdt.com", true },
   { "usamultimeters.com", true },
   { "usapublicrecords.com", true },
   { "usarp.org", true },
-  { "usaseanconnect.gov", true },
   { "usastaffing.gov", true },
+  { "usawireguard.com", true },
   { "usb-lock-rp.com", true },
   { "usbevents.co.uk", true },
   { "uscis.gov", true },
   { "uscloud.nl", true },
   { "uscpaservices.com", true },
+  { "usctt.org", true },
   { "uscurrency.gov", true },
   { "usd.de", false },
   { "usdoj.gov", true },
   { "usds.gov", true },
   { "use.be", true },
   { "usebean.com", true },
-  { "usedu.us", true },
   { "username.nz", true },
   { "userstation.net", true },
   { "usetypo3.com", true },
@@ -54098,16 +56340,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "usgande.com", true },
   { "ushandbookapp.com", true },
   { "ushare.ch", true },
-  { "usimmigration.us", true },
+  { "ushealthpharma.com", true },
   { "usitcolours.bg", true },
   { "usjunkyardsnearme.com", true },
   { "uskaria.com", true },
   { "uslugi-voronezh.tk", true },
+  { "usmammy.com.tw", true },
   { "usmiddleclass.net", true },
+  { "usmint.gov", true },
   { "usninosnikrcni.eu", true },
   { "usnti.com", true },
   { "uspaacc.com", true },
-  { "uspesnyprvnacek-testing.herokuapp.com", true },
   { "uspesnyprvnacek.cz", true },
   { "uspesnyprvnacek.herokuapp.com", true },
   { "usphs.gov", true },
@@ -54119,7 +56362,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ustr.gov", false },
   { "ustugov.kiev.ua", true },
   { "ustugova.kiev.ua", true },
-  { "usualbeings.com", true },
   { "usuan.net", true },
   { "usweme.info", true },
   { "uswitch.com", true },
@@ -54131,7 +56373,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "utahhydrographics.com", true },
   { "utahrealestatepodcast.com", true },
   { "utahtravelcenter.com", true },
-  { "utaiw.com", true },
   { "utavatu.mk", true },
   { "utazas-nyaralas.info", true },
   { "utazine.com", true },
@@ -54143,6 +56384,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "utevai.tk", true },
   { "utgifter.no", true },
   { "utiars.com", true },
+  { "uticagravel.com", true },
   { "utilia.tools", true },
   { "utilitarian.com", true },
   { "utilitarian.net", true },
@@ -54156,7 +56398,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "utopianhomespa.com", true },
   { "utopianrealms.org", true },
   { "utopicestudios.com", true },
-  { "utox.io", true },
+  { "utorg.com.ua", true },
   { "utrace.me", true },
   { "utrantor.org", true },
   { "utterberry.io", true },
@@ -54165,7 +56407,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "utwente.io", true },
   { "utzon.net", true },
   { "uuit.nl", true },
-  { "uuzsama.me", true },
+  { "uurl.ga", true },
   { "uv.uy", true },
   { "uvenuse.cz", true },
   { "uvocorp.com", true },
@@ -54181,16 +56423,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uwelilienthal.de", true },
   { "uwmarktspecialist.nl", true },
   { "uwsoftware.be", true },
-  { "uwusergdatasystems.com", true },
+  { "uwu.lgbt", true },
   { "uwvloereruit.nl", true },
   { "ux-designers.nl", true },
+  { "ux-solution.de", true },
   { "uxdesignerjobs.nl", true },
   { "uxp-it.nl", true },
+  { "uxsto.com", true },
   { "uxtag.com", true },
   { "uxteam.com", true },
   { "uy.search.yahoo.com", false },
   { "uyen.party", true },
   { "uz.search.yahoo.com", false },
+  { "uzay.org", true },
   { "uzayliyiz.biz", true },
   { "uzaymedya.com.tr", true },
   { "uzbekkizlari.tk", true },
@@ -54211,10 +56456,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "uzemobility.eu", true },
   { "uzemobility.org", true },
   { "uzhas-uzhasny.ml", true },
-  { "uzpirksana.lv", true },
   { "uzsvm.cz", true },
   { "uzzamari.com", true },
+  { "v-bank.com", true },
   { "v-d-p.net", true },
+  { "v-horus.com", true },
   { "v-novosibirske.tk", true },
   { "v-spin.cz", true },
   { "v-tek.fi", true },
@@ -54223,81 +56469,55 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "v0ctor.me", true },
   { "v0v.cc", true },
   { "v1.dk", true },
-  { "v10006.com", true },
-  { "v10008.com", true },
+  { "v1081.com", true },
   { "v12555.com", true },
   { "v139.com", true },
-  { "v1951.com", true },
+  { "v1951.com", false },
   { "v1sit0r.ru", true },
   { "v2bv.net", true },
-  { "v2c.tech", true },
   { "v2cn.win", true },
   { "v2ex.com", true },
   { "v2x.sk", true },
-  { "v3025.com", true },
   { "v33v33.com", true },
   { "v36533.com", true },
   { "v36594.com", true },
   { "v44v44.com", true },
-  { "v5017.com", true },
-  { "v5075.com", true },
-  { "v55510.com", true },
-  { "v55520.com", true },
-  { "v55530.com", true },
+  { "v51365.com", true },
+  { "v55510.com", false },
+  { "v55520.com", false },
   { "v55v55.com", true },
-  { "v6004.com", true },
   { "v6021.com", true },
-  { "v6170.com", true },
   { "v6350.com", true },
-  { "v637.com", true },
+  { "v637.com", false },
   { "v6506.com", true },
   { "v66.ag", true },
   { "v666.ag", true },
-  { "v66618.com", true },
-  { "v66619.com", true },
-  { "v66629.com", true },
-  { "v66635.com", true },
-  { "v66638.com", true },
+  { "v66618.com", false },
+  { "v66619.com", false },
   { "v6752.com", true },
   { "v67555.com", true },
   { "v6791.com", true },
   { "v68777.com", true },
-  { "v700a.com", true },
-  { "v700b.com", true },
-  { "v700bb.com", true },
-  { "v700cc.com", true },
-  { "v700dd.com", true },
-  { "v700ee.com", true },
-  { "v700w.com", true },
   { "v76555.com", true },
   { "v78555.com", true },
-  { "v800b.com", true },
-  { "v800d.com", true },
-  { "v800e.com", true },
-  { "v800f.com", true },
-  { "v800k.com", true },
-  { "v800n.com", true },
-  { "v800w.com", true },
-  { "v800y.com", true },
   { "v88.ag", true },
   { "v88158.com", true },
-  { "v88299.com", true },
-  { "v88559.com", true },
-  { "v88656.com", true },
-  { "v88799.com", true },
+  { "v88559.com", false },
+  { "v88656.com", false },
+  { "v88799.com", false },
   { "v888.ag", true },
-  { "v9037.com", true },
-  { "v9821.com", true },
-  { "v9823.com", true },
-  { "v9831.com", true },
+  { "v9823.com", false },
+  { "v9831.com", false },
   { "va-reitartikel.com", true },
   { "va.gov", false },
   { "va11hal.la", true },
   { "va1der.ca", true },
   { "vabusinesses.org", true },
-  { "vacacionesenlinea.com", true },
   { "vacancyfiller.com", true },
   { "vacati0n.tk", true },
+  { "vacation-croatia.com", true },
+  { "vaccineskill.biz", true },
+  { "vaccinestats.net", true },
   { "vacontractortraining.com", true },
   { "vacuumpump.co.id", true },
   { "vademekum.com", true },
@@ -54308,7 +56528,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vagabondgal.com", true },
   { "vagaerg.com", true },
   { "vagaerg.net", true },
-  { "vaganciatechnology.com", true },
   { "vagmour.eu", true },
   { "vagpartsdb.com", true },
   { "vagrantcloud.com", true },
@@ -54341,13 +56560,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "valentinberclaz.com", true },
   { "valentineforpresident.com", true },
   { "valentinesongs.com", true },
+  { "valentinoduval.fr", true },
   { "valentinritz.com", false },
   { "valeriansaliou.name", true },
+  { "valescaind.com.br", true },
   { "valiant.finance", true },
   { "validator.nu", true },
   { "validbrands.com", true },
   { "valika.ee", true },
   { "valimised.ee", true },
+  { "valkohalla.dk", true },
   { "valkohattu.fi", true },
   { "valkova.net", true },
   { "valledeleresma.tk", true },
@@ -54379,6 +56601,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "valuemywebsite.net", true },
   { "valueng.com", true },
   { "valueseed.net", true },
+  { "valutienda.com", true },
   { "valuuttamuunnin.com", true },
   { "valverdedelcamino.net", true },
   { "valx.jp", true },
@@ -54392,13 +56615,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vanbinnenuit.nl", true },
   { "vancityconcerts.com", true },
   { "vancoevents.com", true },
+  { "vancouverchess.com", true },
   { "vancouvercosmeticsurgery.ca", true },
   { "vancouverwatowncar.com", true },
   { "vancouverwebsitedesigns.com", true },
   { "vandalfsen.me", true },
   { "vandenbroeck-usedcars.be", false },
-  { "vandeput.be", true },
-  { "vanderbiltcisa.org", true },
   { "vanderkley.it", true },
   { "vanderkrieken.org", true },
   { "vandermeer.frl", true },
@@ -54414,11 +56636,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vanessarivas.com", true },
   { "vaneurology.com", true },
   { "vangoghcoaching.nl", true },
-  { "vangore.de", true },
-  { "vanhaos.com", true },
   { "vanhoudt-usedcars.be", false },
   { "vanhoutte.be", false },
   { "vanhove.biz", true },
+  { "vaniola.com", true },
   { "vanlaanen.com", false },
   { "vanmalland.com", true },
   { "vannaos.net", true },
@@ -54426,11 +56647,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vanouwerkerk.net", true },
   { "vanspa.vn", true },
   { "vanss.org", true },
+  { "vanstoftotleven.nl", true },
   { "vantagepointpreneed.com", true },
   { "vantien.com", true },
   { "vantru.is", true },
+  { "vanuithartenziel.nl", true },
   { "vanwa.ch", true },
   { "vanwunnik.com", true },
+  { "vap.llc", true },
   { "vape-hit.in", true },
   { "vapecrunch.com", true },
   { "vapeking.co.za", true },
@@ -54443,12 +56667,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vaphone.co", true },
   { "vapingdaily.com", true },
   { "vapor.cloud", false },
+  { "vapteke.ru", true },
   { "varcare.jp", true },
-  { "varden.info", true },
+  { "varda.nl", true },
   { "vardenafilhcl.gq", true },
   { "vareillefoundation.fr", false },
   { "vareillefoundation.org", false },
   { "varghese.de", true },
+  { "variable.dk", true },
   { "variag-group.ru", true },
   { "variag-montazh.ru", true },
   { "varimedoma.com", true },
@@ -54475,14 +56701,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vaskulitis-info.de", true },
   { "vasports.com.au", true },
   { "vastenotaris.nl", true },
+  { "vastgoed-lidl.nl", true },
   { "vasyharan.com", true },
   { "vat-eu.com", true },
   { "vat.direct", true },
   { "vatav.tk", true },
+  { "vato.nl", true },
   { "vats.im", true },
   { "vattulainen.fi", true },
   { "vauceri.hr", true },
   { "vaughanrisher.com", true },
+  { "vault.investments", true },
   { "vault21.net", true },
   { "vault81.de", true },
   { "vaultproject.io", false },
@@ -54495,45 +56724,44 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vaxxwatch.org", true },
   { "vaygren.com", true },
   { "vazovia.com", true },
-  { "vazue.com", true },
   { "vb.media", true },
   { "vbazile.com", true },
-  { "vbcdn.com", true },
   { "vbestproduct.com", true },
   { "vbestseller.com", true },
+  { "vbezhenar.com", true },
   { "vbh2o.com", true },
   { "vbsoft.cz", true },
   { "vbwinery.com", true },
   { "vc.gg", false },
+  { "vcacursus.nl", true },
   { "vcam.org", true },
+  { "vcanederland.nl", true },
   { "vccmurah.net", true },
-  { "vcelin-na-doliku.cz", true },
   { "vcf.gov", true },
   { "vch.moe", true },
   { "vchelyabinske.tk", true },
   { "vcientertainment.com", false },
   { "vcm.ru", true },
   { "vcmi.download", true },
+  { "vconstruct.com", true },
   { "vcps.com", true },
   { "vcsjones.codes", true },
   { "vcsjones.com", true },
   { "vcti.cloud", true },
   { "vctor.net", true },
-  { "vczk.me", true },
   { "vd42.net", true },
   { "vda.li", true },
-  { "vdanker.net", true },
   { "vdbongard.com", true },
   { "vdcomp.cz", false },
   { "vdesc.com", true },
-  { "vdio.com", true },
   { "vdisk24.de", true },
   { "vdlp.nl", true },
   { "vdmeij.com", true },
+  { "vdo-webshop.nl", true },
   { "vdownloader.com", true },
   { "ve.search.yahoo.com", false },
   { "ve3oat.ca", true },
-  { "veblr.com", false },
+  { "veblr.com", true },
   { "vecchiofornobarletta.it", true },
   { "vecerkaracing.cz", true },
   { "vechainstats.com", true },
@@ -54541,13 +56769,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vecozo.nl", true },
   { "vectomatic.org", true },
   { "vector.solutions", true },
+  { "vectordtg.com", true },
   { "vectormagnetics.com", true },
   { "vectortrack.com.au", true },
   { "vectorwish.com", true },
+  { "vedatkarabacak.av.tr", true },
+  { "vedev.io", true },
   { "vedma-praktik.com", true },
   { "veg-leiden.nl", true },
   { "veg.lv", true },
-  { "vega-rumia.com.pl", true },
   { "vega-rumia.pl", true },
   { "vegalitarian.org", true },
   { "vegan-pratique.fr", true },
@@ -54561,12 +56791,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vegetalvalley.org", true },
   { "vegetariantokyo.net", true },
   { "vegetarier-sind-moerder.tk", true },
+  { "vegetus.ua", true },
   { "veggie-einhorn.de", true },
-  { "vegguide.org", true },
   { "vegoresto.fr", true },
   { "vegtelenchat.tk", true },
   { "vehiclematsuk.com", true },
   { "vehicletransportservices.co", true },
+  { "veiergangvermut.dk", true },
   { "veii.de", true },
   { "veil-framework.com", true },
   { "veilofsecurity.com", true },
@@ -54578,14 +56809,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "velacartagena.tk", true },
   { "velassoltas.pt", true },
   { "velen.io", true },
-  { "velib.com", true },
+  { "velikijhutir.cherkassy.ua", true },
   { "veliovgroup.com", true },
   { "vellingetaxi.se", true },
+  { "velocityfiber.com", true },
   { "veloroute.hamburg", true },
   { "velosipedi.tk", true },
   { "velvetia.no", true },
-  { "vemtorcer.com", true },
-  { "venclave.com", true },
   { "vendermicasarapido.com.mx", true },
   { "vendi.it", true },
   { "vendigital.com", true },
@@ -54599,7 +56829,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "venev.name", true },
   { "venezianischemasken.com", true },
   { "vengriya.tk", true },
-  { "venje.pro", true },
   { "venlafaxine.gq", true },
   { "venmail.net", true },
   { "venstar.com", true },
@@ -54609,6 +56838,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "venti-athens.gr", true },
   { "ventilateurs-plafond.com", true },
   { "ventizo.com", true },
+  { "ventnose.com", true },
   { "ventriloservers.biz", true },
   { "venturum.com", true },
   { "venturum.de", true },
@@ -54636,6 +56866,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "verein-zur-pflege-der-geselligkeit.de", true },
   { "vereinlandwege.de", true },
   { "vereinscheck.de", true },
+  { "vereinswahl.online", true },
   { "verfassungsklage.at", true },
   { "verge.capital", true },
   { "vergelijksimonly.nl", true },
@@ -54672,12 +56903,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vernaeve-usedcars.be", false },
   { "vernis-marins.com", true },
   { "vernonatvclub.ca", true },
+  { "vernonchan.com", true },
   { "vernonfigureskatingclub.com", true },
   { "vernonfilmsociety.bc.ca", true },
   { "vernonsecureselfstorage.ca", true },
   { "vernonspeedskatingclub.com", true },
   { "vernonwintercarnival.com", true },
   { "veronic.hu", true },
+  { "veronicaphotography.com", true },
   { "veronique-schmitz.de", true },
   { "verrerie-mousseline.org", false },
   { "verry.org", true },
@@ -54692,6 +56925,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "verspai.de", true },
   { "verstka.cf", true },
   { "verstraetenusedcars.be", false },
+  { "versuschat.com", true },
   { "vertebrates.com", true },
   { "verteilergetriebe.info", true },
   { "verticesedge.com", true },
@@ -54704,26 +56938,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vervewellness.co.nz", true },
   { "verwandlung.org", true },
   { "verwayen.com", true },
-  { "verwimp.org", true },
-  { "very-kids.fr", true },
   { "veryapt.com", true },
   { "verybin.com", true },
+  { "veryhappy.ru", true },
   { "verymelon.de", true },
   { "verymetal.nl", true },
+  { "veryssl.com", true },
   { "veryswing.com", true },
   { "verzekeringencambier.be", true },
-  { "verzekeringsacties.nl", true },
   { "ves.vn.ua", true },
   { "vesaviljanen.fi", true },
   { "vescudero.net", true },
   { "veslosada.com", true },
   { "vespacascadia.com", true },
+  { "vestasib.ru", true },
+  { "vestberry.com", true },
   { "vestd.com", true },
   { "vestibtech.com", true },
   { "vestingbar.nl", true },
   { "vestlundbolargen.tk", true },
   { "vestum.ru", true },
   { "vet4life.co.uk", true },
+  { "vetar.ro", true },
   { "vetbits.com", false },
   { "vetcard.info", true },
   { "veteranreservecorps.com", true },
@@ -54741,18 +56977,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vettenburg.eu", true },
   { "vetustainversion.com", true },
   { "veverusak.cz", true },
+  { "vezirecenzii.ro", true },
   { "vfdworld.com", true },
   { "vfmc.vic.gov.au", true },
+  { "vg-store.ir", true },
+  { "vgchat.us", true },
   { "vgcheat.com", true },
   { "vgerak.com", true },
   { "vglist.co", true },
   { "vgolos.zt.ua", true },
   { "vgorcum.com", true },
   { "vgropp.de", true },
-  { "vh.net", true },
   { "vhrca.com", true },
   { "vhs-bad-wurzach.de", true },
   { "vhummel.nl", true },
+  { "vi.photo", true },
   { "via-shire-krug.ru", true },
   { "via.blog.br", true },
   { "viablog.com.br", true },
@@ -54760,6 +56999,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "viacdn.org", true },
   { "viafinance.cz", false },
   { "viaggio-in-cina.it", true },
+  { "viaggivistos.com.br", true },
   { "viajandoporelmundo.com.ar", true },
   { "viajaramsterdam.com", true },
   { "viaje-a-china.com", true },
@@ -54767,6 +57007,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "viantours.com", true },
   { "viaprinto.de", true },
   { "viasinc.com", false },
+  { "vibgyorhigh.com", true },
   { "vibgyyor.com", true },
   { "vibrant-america.com", true },
   { "vibrato1-kutikomi.com", true },
@@ -54776,13 +57017,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vician.cz", true },
   { "vicianovi.cz", true },
   { "vicicode.com", true },
+  { "vicioanimal.pt", true },
   { "vicious.space", true },
+  { "vicjuris.com", true },
   { "vicjuwelen-annelore.be", true },
+  { "vickyflipfloptravels.com", true },
   { "victora.com", true },
   { "victorblomberg.se", true },
   { "victorcanera.com", true },
   { "victorcarrasco.tk", true },
   { "victorcarwasher.com", true },
+  { "victoreriksson.co", true },
+  { "victoreriksson.com", true },
+  { "victoreriksson.es", true },
+  { "victoreriksson.eu", true },
+  { "victoreriksson.info", true },
+  { "victoreriksson.net", true },
+  { "victoreriksson.nu", true },
+  { "victoreriksson.org", true },
+  { "victoreriksson.se", true },
+  { "victoreriksson.us", true },
+  { "victoreriksson.xyz", true },
   { "victorfiller.com", true },
   { "victorgbustamante.com", true },
   { "victorhawk.com", true },
@@ -54801,7 +57056,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vid-immobilien.de", true },
   { "vidady.com", true },
   { "vidarity.com", true },
-  { "vidasanayfitness.com", true },
   { "vidassemfronteiras.com", true },
   { "vidbooster.com", false },
   { "vide-greniers.org", false },
@@ -54810,6 +57064,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "videogamecoupons.com", true },
   { "videogamer.com", true },
   { "videogamesartwork.com", true },
+  { "videograb.ml", true },
   { "videojuegos.com", true },
   { "videokaufmann.at", true },
   { "videolabsinc.com", true },
@@ -54829,6 +57084,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vidiobokep.xyz", true },
   { "vidiproject.com", true },
   { "vidister.de", true },
+  { "vidracariaespelhosbh.com.br", true },
   { "vieaw.com", true },
   { "vieclam24h.vn", false },
   { "viekelis.lt", false },
@@ -54846,13 +57102,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "view-page-source.com", true },
   { "viewbook.com", true },
   { "viewbykrian.com", true },
+  { "viewey.com", true },
   { "viewing.nyc", true },
   { "viewmythoughts.com", true },
+  { "viewsea.com", true },
+  { "viflores.com", true },
+  { "vifranco.cl", true },
   { "vifsoft.com", true },
   { "vigilanciaysalud.com", true },
   { "vigilantnow.com", true },
   { "vigira.com.ar", true },
-  { "vigliano.ovh", true },
+  { "vigliano.com", true },
   { "vignaud.fr", true },
   { "vignoblesdeletat.ch", true },
   { "vigo-krankenversicherung.de", true },
@@ -54880,13 +57140,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "viljatori.fi", true },
   { "villa-eden.cz", true },
   { "villa-gockel.de", true },
+  { "villa-luna.it", true },
   { "villa-romantica-zillertal.at", true },
   { "villablino.tk", true },
+  { "villach.at", true },
   { "villadelprado.tk", true },
   { "villafiore.com.br", true },
   { "villagecardshop.co.uk", true },
   { "villagecenterpediatrics.com", true },
+  { "villagemagazines.co.uk", true },
   { "villagenscamuria.it", true },
+  { "villagephysicians.com", true },
   { "villageunique.com.br", true },
   { "villagockel.de", true },
   { "villakarma.at", true },
@@ -54896,6 +57160,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "villasforsale-bali.com", true },
   { "villasoasissanur.com", true },
   { "villavaltava.fi", true },
+  { "villaville.com", true },
+  { "villawirz.it", true },
   { "ville-aime.fr", true },
   { "villehardouin.fr", true },
   { "villek.fi", true },
@@ -54905,7 +57171,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "villerez.fr", true },
   { "villesalonen.fi", true },
   { "villu.ga", true },
-  { "vilnagaon.com", true },
   { "viltsu.net", true },
   { "vim.cx", true },
   { "vima.ch", false },
@@ -54913,6 +57178,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vinagro.sk", true },
   { "vinahost.vn", true },
   { "vinarstvimodryhrozen.cz", true },
+  { "vinc.me", true },
   { "vincent-haupert.de", true },
   { "vincentcox.com", false },
   { "vincentpancol.com", true },
@@ -54920,8 +57186,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vincible.space", true },
   { "vinciladislessia.it", true },
   { "vincitraining.com", true },
-  { "vinco.ch", true },
-  { "vindafrid.com", true },
   { "vindafrid.nu", true },
   { "vindafrid.se", true },
   { "vindipoker.dk", true },
@@ -54929,7 +57193,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vinhodragao.com.br", true },
   { "vinicius.sl", true },
   { "vinifriuli.sk", true },
-  { "vinigas.com", true },
   { "vinistas.com", true },
   { "vinit.tk", true },
   { "vinktwebdesign.nl", false },
@@ -54949,25 +57212,40 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vintagemakeupguide.com", true },
   { "vintageportgifts.co.uk", true },
   { "vintagesouthernpicks.com", true },
-  { "vintagetrailerbuyers.com", true },
   { "vinticom.ch", false },
-  { "vinzite.com", true },
+  { "vinzite.com", false },
+  { "viocleannettoyage.com", true },
   { "violarenate.com", true },
   { "violetraven.co.uk", true },
   { "violin4fun.nl", true },
   { "vionicbeach.com", true },
   { "vionicshoes.co.uk", true },
   { "vionicshoes.com", true },
+  { "vip-2132.com", true },
+  { "vip-2138.com", true },
+  { "vip-6132.com", true },
   { "vip-moda.ga", true },
   { "vip.de", true },
   { "vip00228.com", false },
   { "vip11018.com", false },
+  { "vip2132.com", true },
   { "vip22884.com", false },
   { "vip22994.com", false },
+  { "vip33138.com", true },
+  { "vip5132.com", true },
+  { "vip5414.com", true },
+  { "vip5424.com", true },
+  { "vip6132.com", true },
+  { "vip7337.com", true },
   { "vip77018.com", false },
+  { "vip8522.com", true },
   { "vip918.net", true },
   { "vipam8.com", true },
+  { "vipcards.top", true },
   { "vipd88.net", true },
+  { "vipesball.cc", true },
+  { "vipesball.info", true },
+  { "vipesball.me", true },
   { "vipf88.com", true },
   { "vipfitter.com", true },
   { "viphackers.tk", true },
@@ -54983,13 +57261,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "viplc68.com", true },
   { "viplc7.com", true },
   { "viplc98.com", true },
-  { "vipllcnj.com", true },
+  { "vipmdh.com.ua", true },
+  { "vipom.com.ua", true },
   { "viporiflame.tk", true },
   { "vippclub.be", true },
   { "vips.pl", true },
-  { "viptamin.eu", true },
   { "viptamol.com", true },
-  { "vipw66.com", true },
   { "vipw6608.com", true },
   { "vir-tec.eu", false },
   { "vir.vn", true },
@@ -54998,16 +57275,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "viraloffer.ga", true },
   { "viralpop.it", false },
   { "viralted.ml", true },
+  { "viraltube.my", true },
   { "viralvids.gq", true },
   { "virgontech.tk", true },
   { "virgopolymer.com", true },
   { "viridis-milites.cz", true },
   { "viris.si", true },
   { "virite.net", true },
+  { "virostack.com", true },
   { "virtit.fr", true },
+  { "virtualbrands.com", true },
   { "virtualbrestby.tk", true },
-  { "virtualcitehuallaga.com", true },
-  { "virtualcloud.ddns.net", true },
   { "virtualcommodities.org", true },
   { "virtualcomputer.ml", true },
   { "virtuality4d.com", true },
@@ -55017,12 +57295,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "virtualsanity.com", true },
   { "virtualspeech.com", true },
   { "virtualvaults.com", true },
+  { "virtualvitrine.com", true },
   { "virtubox.net", true },
+  { "virtubox.xyz", true },
   { "virtuebags.com", true },
   { "virtueinfo.com", true },
   { "virtuewisdomfund.com", true },
   { "virtus-group.com", true },
   { "virtusaero.com", true },
+  { "virtwen.com", true },
   { "virvum.ch", true },
   { "visalist.io", true },
   { "visalogy.com", true },
@@ -55030,6 +57311,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "visapourailleurs.fr", false },
   { "visarewardprogramplatform.com", true },
   { "visartdecor.com.ua", true },
+  { "visasofoz.com", true },
   { "visatitans.ae", true },
   { "visatitans.ca", true },
   { "visatitans.com", true },
@@ -55037,16 +57319,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "viscoelastico.com.br", true },
   { "viscopic.com", true },
   { "viseum.co.uk", true },
-  { "vishwashantiyoga.com", true },
   { "visibox.nl", true },
   { "visikom.de", true },
   { "visiondetails.ru", true },
   { "visionduweb.fr", true },
-  { "visionexpress.com", true },
-  { "visionexpresscareers.com", true },
   { "visionnissancanandaiguaparts.com", true },
   { "visionofcolour.com", true },
-  { "visionviral.com", true },
   { "visionxcreative.gq", true },
   { "visit-montenegro.com", true },
   { "visit-thailand.tk", true },
@@ -55057,13 +57335,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "visitmaine.com", true },
   { "visitorguard.com", true },
   { "visitorslist.com", true },
+  { "visitrainscounty.com", true },
+  { "vismaconnect.nl", true },
   { "visor.ph", true },
-  { "vista-calculator.ru", false },
   { "vista-research-group.com", true },
   { "vistacampus.gov", true },
   { "vistastylebuilder.com", false },
   { "vistb.me", true },
   { "vistec-support.de", true },
+  { "vistodeturista.com.br", true },
   { "visual-cockpit.com", true },
   { "visual-concept.net", true },
   { "visual-design.cf", true },
@@ -55076,6 +57356,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "visudira.com", true },
   { "visuri.de", true },
   { "visvolunteers.com", true },
+  { "visware.com", true },
   { "vitahook.pw", true },
   { "vital-tel.co.uk", true },
   { "vitalastin-sport.de", true },
@@ -55088,19 +57369,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vitalyzhukphoto.com", true },
   { "vitamina.cl", true },
   { "vitamina.com", true },
-  { "vitaminler.com", true },
   { "vitaminmovie.ga", true },
+  { "vitanyi.de", true },
+  { "vitapingu.de", true },
   { "vitastic.nl", true },
   { "vitavista.health", true },
+  { "vitavista.io", true },
   { "vitkausk.as", true },
   { "vitkutny.cz", true },
   { "vitlproducts.com", true },
   { "vitra-showrooms.co.uk", true },
+  { "vitrade.de", true },
   { "vitrado.de", true },
   { "vitsoft.by", true },
-  { "vitzro.kr", true },
   { "viva2000.com", true },
   { "vivaio.roma.it", true },
+  { "vivaiocolombo.com", true },
+  { "vivalajack.de", true },
   { "vivaldi.club", true },
   { "vivaldi.com", true },
   { "vivaldi.net", true },
@@ -55125,10 +57410,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vivo.vn", true },
   { "vivoitaliankitchen.com", true },
   { "vivy.com", true },
+  { "vixonline.com.br", true },
   { "vixrapedia.org", true },
   { "viyf.org", true },
   { "vize.ai", false },
+  { "vizedia.ga", true },
   { "vizija-nepremicnine.si", true },
+  { "vizion.com", true },
   { "vizionnetwork.co.uk", true },
   { "vizzboard.com", true },
   { "vjeff.com", true },
@@ -55138,25 +57426,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vk-k.com", true },
   { "vkarpaty.tk", true },
   { "vkino.com", false },
+  { "vkirienko.com", true },
   { "vkox.com", true },
   { "vksportphoto.com", true },
   { "vkstream.tk", true },
+  { "vkwebsite.ru", true },
+  { "vl-grafikdesign.de", true },
   { "vladimir-chanaev.pro", true },
   { "vladimir.ml", true },
   { "vladimiroff.org", true },
   { "vladislavstoyanov.com", true },
+  { "vladsfads.com", true },
   { "vlaggen-landen.nl", true },
+  { "vlajo.org", true },
   { "vlakem.net", true },
-  { "vlamir.dynu.net", true },
   { "vlcentre.org", true },
   { "vleesbesteld.nl", true },
   { "vleij.com", false },
-  { "vleij.se", true },
+  { "vleo.me", true },
   { "vliegensvlug.online", true },
   { "vliegensvlug.services", true },
   { "vlndc.org", true },
   { "vloeck.de", true },
   { "vlovgr.se", true },
+  { "vlqnc.com", true },
+  { "vlvvl.com", true },
   { "vm-0.com", true },
   { "vm-co.ch", false },
   { "vm0.eu", true },
@@ -55173,22 +57467,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vnd.cloud", true },
   { "vndb.org", true },
   { "vneftekamske.tk", true },
+  { "vnetboard.com", true },
   { "vnfs-team.com", true },
   { "vnministries.org", true },
-  { "vnology.com", true },
   { "vnovosibirske.tk", true },
-  { "vns377a.com", true },
-  { "vns377b.com", true },
-  { "vns377c.com", true },
-  { "vns377d.com", true },
-  { "vns377e.com", true },
-  { "vns377f.com", true },
-  { "vns377g.com", true },
-  { "vns377h.com", true },
-  { "vns377i.com", true },
-  { "vns377j.com", true },
+  { "vns377a.com", false },
+  { "vns377b.com", false },
+  { "vns377c.com", false },
+  { "vns377d.com", false },
+  { "vns377e.com", false },
+  { "vns377f.com", false },
+  { "vns377g.com", false },
+  { "vns377h.com", false },
+  { "vns377i.com", false },
+  { "vns377j.com", false },
+  { "vns5020.com", true },
+  { "vns6610.com", true },
   { "vns89386.com", true },
-  { "vnsr112233.com", true },
+  { "vnsr112233.com", false },
   { "vnvisa.center", true },
   { "vnvisa.ru", true },
   { "vocaloid.my", true },
@@ -55202,8 +57498,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vodb.org", true },
   { "vodicak.info", true },
   { "vodicaknapocitac.sk", true },
+  { "voedselbankmoerwijk.nl", true },
   { "voetbalclubinfo.tk", true },
   { "voevm.at", true },
+  { "vofy.tech", true },
   { "vogelbus.ch", true },
   { "vogler.name", true },
   { "vogue.cz", true },
@@ -55211,7 +57509,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "voicebrew.com", true },
   { "voicr.nl", true },
   { "voicu.ch", false },
-  { "void.to", true },
   { "voidancerecords.com", true },
   { "voidbot.ai", true },
   { "voidcore.org", true },
@@ -55221,10 +57518,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "voidshift.com", true },
   { "voipdigit.nl", true },
   { "voipsun.com", true },
-  { "voix-bien-etre.com", true },
-  { "vojtechpavelka.cz", true },
+  { "voix-bien-etre.com", false },
   { "vokativy.cz", true },
   { "vokeapp.com", true },
+  { "vokieciupamokos.lt", true },
+  { "vokurka.net", true },
   { "volatile.pw", true },
   { "volatilesystems.org", true },
   { "volatilethunk.com", true },
@@ -55235,9 +57533,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "volker-gropp.de", true },
   { "volkergropp.de", true },
   { "volkerwesselstransfer.nl", false },
-  { "vollans.id.au", true },
+  { "vollans.id.au", false },
   { "voloevents.com", true },
   { "voloskova.ru", true },
+  { "volqanic.com", true },
   { "voltahurt.pl", true },
   { "volto.io", true },
   { "volubilisplus.fr", true },
@@ -55246,15 +57545,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "volvoconnect.com", true },
   { "vomitb.in", true },
   { "vonauw.com", false },
-  { "vonborstelboerner.de", false },
   { "vonimus.com", true },
   { "vonkuenheim.de", true },
   { "vonniehudson.com", true },
+  { "vonpawn.com", true },
   { "vontainment.com", true },
   { "voodoochile.at", true },
   { "voodoocomedy.com", true },
   { "voodooshaman.com", true },
-  { "voolik.pw", true },
   { "voordeuren-opmaat.nl", true },
   { "voorjou.com", true },
   { "vop.li", true },
@@ -55263,10 +57561,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vorlage-musterbriefe.de", true },
   { "vorlage-mustervertrag.de", true },
   { "vorlagen-geburtstagsgruesse.de", true },
-  { "vorlicek.de", true },
   { "vorm2.com", true },
   { "vorodevops.com", true },
   { "vorsco.com", true },
+  { "voruswebsites.com", true },
   { "vos-systems.com", true },
   { "vos-systems.es", true },
   { "vos-systems.eu", true },
@@ -55274,22 +57572,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vos-systems.org", true },
   { "vosgym.jp", true },
   { "voshod.org", true },
-  { "vosky.fr", true },
   { "vosn.de", true },
   { "voss-klinik.com", true },
-  { "voss-zaehne.com", true },
-  { "voss-zaehne.de", true },
   { "vosselaer.com", true },
+  { "vossenack.nrw", true },
   { "vosser.de", true },
   { "vostronet.com", true },
   { "vote2019.appspot.com", true },
+  { "vote4.hk", true },
+  { "votehamiltoncountyohio.gov", true },
   { "votemate.org", true },
+  { "votemoore.us", true },
   { "voter-info.uk", true },
   { "votesandymurman.com", true },
   { "votocek.cz", true },
   { "votockova.cz", true },
   { "votoot.com", true },
-  { "votre-avenir.com", true },
+  { "votre-avenir.com", false },
   { "votre-hotel.com", true },
   { "vouchinsurance.sg", true },
   { "vovkamagazine.tk", true },
@@ -55297,20 +57596,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vox.de", true },
   { "voxfilmeonline.net", true },
   { "voxml.com", true },
-  { "voxographe.com", false },
   { "voxpopuli.com", true },
   { "voyage-martinique.fr", true },
   { "voyageforum.com", true },
-  { "voyageofyume.com", true },
   { "voyagesaufildespages.be", false },
   { "voyageschine.com", true },
   { "voyagesdetective.fr", true },
   { "voyagewonders.com", true },
+  { "vozami.com", true },
   { "vozhatik.cf", true },
   { "vpc-display.com", true },
   { "vpinball.com", true },
   { "vpn.black", true },
   { "vpn.ht", true },
+  { "vpnmag.fr", true },
   { "vpnpro.com", true },
   { "vpnservice.nl", true },
   { "vponline.com.br", true },
@@ -55318,6 +57617,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vpsboard.com", true },
   { "vpsdream.dk", true },
   { "vpsport.ch", true },
+  { "vpsproj.dynu.net", true },
   { "vpsrussia.com", true },
   { "vpsvz.co.uk", true },
   { "vpsvz.com", true },
@@ -55327,7 +57627,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vqcymsa.com", true },
   { "vqebizconsulting.com", true },
   { "vqeg.org", true },
-  { "vractive.pl", true },
   { "vragenvanproust.nl", true },
   { "vrandopulo.ru", true },
   { "vrba.org", true },
@@ -55338,6 +57637,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vremyapervyih-hd.tk", true },
   { "vretmaskin.se", true },
   { "vreviewbestseller.com", true },
+  { "vrgamecritic.com", true },
+  { "vrgametrailers.net", true },
   { "vriesdonkow.be", false },
   { "vrifox.cc", true },
   { "vrij-links.nl", true },
@@ -55346,34 +57647,31 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vrikshamindia.com", true },
   { "vrjetpackgame.com", true },
   { "vrlaid.com", false },
+  { "vrnhn.nl", true },
   { "vroedvrouwella.be", true },
   { "vrostove.tk", true },
-  { "vroyaltours.com", true },
+  { "vrpornmovies.net", true },
   { "vrsystem.com.br", true },
-  { "vrtak-cz.net", true },
   { "vs106.com", true },
   { "vs107.com", true },
   { "vs301.com", true },
   { "vs302.com", true },
-  { "vs303.com", true },
   { "vs313.com", true },
   { "vs601.com", true },
-  { "vs603.com", true },
-  { "vs677.com", true },
   { "vs680.com", true },
   { "vsactivity.com", true },
   { "vsaratove.tk", true },
   { "vscale.io", true },
-  { "vscm888.com", true },
+  { "vschafer.com", true },
   { "vscodownloader.net", true },
   { "vsd.sk", true },
   { "vse-potolki.ml", true },
   { "vsean.net", true },
+  { "vsec.co.il", true },
   { "vseomedia.com", false },
   { "vserus.com", true },
   { "vserver-preis-vergleich.de", true },
   { "vsesrazu-raiffeisen.ru", true },
-  { "vsestiralnie.com", true },
   { "vsestoki.com", true },
   { "vsl.de", true },
   { "vsoy.co.th", true },
@@ -55388,12 +57686,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vthebest9.com", true },
   { "vtt-hautsdefrance.fr", true },
   { "vttnordisere.fr", true },
-  { "vtuber.land", true },
   { "vtul.io", true },
   { "vtupro.com", true },
   { "vuakhuyenmai.vn", true },
   { "vubey.yt", true },
-  { "vuelacaruru.com", true },
   { "vuilelakens.be", true },
   { "vulcancycling.ga", true },
   { "vuldb.com", true },
@@ -55416,17 +57712,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vvactivia.nl", true },
   { "vvave.net", true },
   { "vvdbronckhorst.nl", true },
+  { "vveactiefbeheer.nl", true },
   { "vvild.at", true },
   { "vvoip.org.uk", true },
-  { "vvs.spb.ru", true },
+  { "vvsochenergiteknik.se", true },
+  { "vvtv.cc", true },
   { "vvvvbrest.tk", true },
-  { "vwbusje.com", true },
+  { "vvzero.com", true },
+  { "vvzero.me", true },
+  { "vwbusje.com", false },
   { "vwfsrentacar.co.uk", true },
   { "vwh-kunden.de", true },
   { "vwittich.de", true },
   { "vwo.com", false },
   { "vwsoft.de", true },
-  { "vwt-event.nl", true },
   { "vx.hn", true },
   { "vxz.me", true },
   { "vybeministry.org", true },
@@ -55437,7 +57736,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "vysko.cz", true },
   { "vyskocil.eu", true },
   { "vysokoe.tk", true },
-  { "vytea.com", true },
   { "vyvod-iz-zapoya.online", true },
   { "vyvygen.org", true },
   { "vyzner.cz", true },
@@ -55450,36 +57748,34 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "w-surgeryhospital.com", true },
   { "w-w-auto.de", true },
   { "w.wiki", true },
-  { "w00228.com", false },
   { "w0102.com", true },
   { "w0185.com", true },
   { "w0191.com", true },
   { "w0195.com", true },
   { "w0198.com", true },
-  { "w0202w.com", true },
   { "w1717w.com", true },
   { "w1n73r.de", true },
   { "w2design.eu", true },
   { "w2n.me", true },
   { "w3330.com", true },
-  { "w365.vip", true },
+  { "w365.vip", false },
   { "w36533.com", true },
   { "w36594.com", true },
   { "w3app.nl", true },
   { "w3ctag.org", true },
-  { "w3n14izy.cf", true },
-  { "w3n14izy.ga", true },
-  { "w3n14izy.ml", true },
-  { "w3n14izy.tk", true },
+  { "w3d.io", true },
   { "w3punkt.de", true },
+  { "w3scan.nl", true },
   { "w4.no", true },
   { "w4040w.com", true },
   { "w4eg.de", true },
   { "w4nvu.org", true },
+  { "w4solutions.de", true },
   { "w4tec.de", true },
   { "w50.co.uk", false },
   { "w5050w.com", true },
-  { "w567567.com", true },
+  { "w51365.com", true },
+  { "w567567.com", false },
   { "w5gfe.org", true },
   { "w61516.com", true },
   { "w61616.com", true },
@@ -55499,28 +57795,30 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "w668989.com", true },
   { "w66918.com", true },
   { "w66hao.net", true },
-  { "w66w66.com", true },
-  { "w678678.com", true },
+  { "w66w66.com", false },
+  { "w678678.com", false },
   { "w682w.com", true },
   { "w6969.com", true },
   { "w7355.com", true },
-  { "w789789.com", true },
+  { "w789789.com", false },
   { "w7k.de", true },
   { "w8093.com", true },
   { "w8094.com", true },
-  { "w81818.com", true },
+  { "w81519.com", true },
   { "w8605.com", true },
   { "w8609.com", true },
   { "w8620.com", true },
   { "w8626.com", true },
   { "w8628.com", true },
   { "w888.ag", true },
-  { "w888022.com", true },
-  { "w888033.com", true },
-  { "w888044.com", true },
-  { "w888077.com", true },
-  { "w888088.com", true },
-  { "w888099.com", true },
+  { "w888011.com", true },
+  { "w888022.com", false },
+  { "w888033.com", false },
+  { "w888044.com", false },
+  { "w888055.com", true },
+  { "w888077.com", false },
+  { "w888088.com", false },
+  { "w888099.com", false },
   { "w889-line.com", true },
   { "w889-line.net", true },
   { "w889889.com", true },
@@ -55534,9 +57832,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wa-stromerzeuger.de", false },
   { "wa.io", true },
   { "wa.me", true },
+  { "wa7sh-seo.com", true },
+  { "waaifu.com", true },
   { "waalderhofje.nl", true },
   { "waaw.tv", true },
   { "wabatam.com", true },
+  { "wacky-science.com", true },
   { "wacky.one", true },
   { "wadidi.com", true },
   { "wadsworth.gallery", true },
@@ -55546,6 +57847,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "waermekabine.org", true },
   { "waf.ninja", true },
   { "waf.sexy", true },
+  { "wafelland.be", true },
   { "waffenversand-klausing.de", true },
   { "wafuton.com", true },
   { "wagenmanswonen.nl", true },
@@ -55555,18 +57857,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wahlen-bad-wurzach.de", true },
   { "wahrnehmungswelt.de", true },
   { "wahrnehmungswelten.de", true },
+  { "wai-in.net", true },
   { "waidfrau.de", true },
   { "waifu-technologies.moe", true },
-  { "waifu.space", true },
   { "waigel.org", true },
-  { "wail.net", true },
   { "waimanu.io", true },
   { "waits.io", true },
   { "waiwaisw.com", true },
   { "wajs1.com", true },
   { "wajs2.com", true },
-  { "wak.io", true },
   { "waka-mono.com", true },
+  { "waka168.com", true },
+  { "waka168.net", true },
+  { "waka88.com", true },
+  { "waka88.net", true },
   { "wakamiyasumiyosi.com", true },
   { "wakandasun.com", true },
   { "wakatime.com", true },
@@ -55578,9 +57882,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wakiminblog.com", true },
   { "wala-floor.de", true },
   { "waldgourmet.de", true },
+  { "waldur.nl", true },
   { "waldvogel.family", true },
   { "walent.in", true },
-  { "waligorska.pl", true },
   { "walk.onl", true },
   { "walkera-fans.de", true },
   { "walkhighlandsandislands.com", true },
@@ -55593,9 +57897,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "walksfourpaws.co.uk", true },
   { "wallabet.fr", true },
   { "wallabies.org", true },
-  { "wallace-group.net", true },
   { "wallacehigh.org.uk", true },
   { "wallet.google.com", true },
+  { "wallet.pp.ua", true },
   { "walletconnector.cz", true },
   { "walletnames.com", true },
   { "wallinger-online.at", false },
@@ -55621,6 +57925,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "walshbanks.com", true },
   { "waltellis.com", true },
   { "walter.lc", true },
+  { "waltercedric.ch", true },
+  { "waltercedric.com", true },
   { "waltzmanplasticsurgery.com", true },
   { "wammu.eu", true },
   { "wanda.ch", true },
@@ -55631,6 +57937,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wandystan.eu", true },
   { "wane.co", true },
   { "wanekat.fr", true },
+  { "wanghongfuli.com", true },
   { "wangjun.me", true },
   { "wangqiliang.cn", true },
   { "wangqiliang.com", true },
@@ -55640,12 +57947,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wangshengze.com", true },
   { "wangtanzhang.com", true },
   { "wangyue.blog", true },
+  { "wangzhe100.xyz", true },
   { "wangzuan168.cc", true },
   { "wanlieyan.cc", true },
   { "wanlieyan.com", true },
   { "wannapopularnews.cf", true },
   { "wannaridecostarica.com", true },
-  { "wantocode.com", true },
+  { "wanybug.cn", true },
   { "wanybug.com", true },
   { "wanyingge.com", true },
   { "waonui.io", true },
@@ -55657,6 +57965,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wapnews.tk", true },
   { "wapoolandspa.com", true },
   { "wapspaces.tk", true },
+  { "waqood.tech", true },
   { "wardow.com", true },
   { "wardslager.com", true },
   { "warebouncycastles.co.uk", true },
@@ -55665,7 +57974,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "warfield.org.uk", true },
   { "wargameexclusive.com", true },
   { "warhaggis.com", true },
-  { "warmtepomp.express", true },
   { "waroengkoe-shop.com", true },
   { "waroengkopigazebo.net", true },
   { "warofelements.de", true },
@@ -55679,6 +57987,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "warsh.moe", true },
   { "wartimecontracting.gov", true },
   { "wartorngalaxy.com", true },
+  { "warupu.com", true },
   { "wasabiwallet.co", true },
   { "wasabiwallet.io", true },
   { "waschmaschinen-dienst.de", true },
@@ -55688,17 +57997,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wasfestes.de", true },
   { "wasgigant.nl", true },
   { "wash-house.tk", true },
+  { "washabich.ch", true },
   { "washburnenglishschool.tk", true },
   { "washingtonregisteredagent.io", true },
   { "washingtonviews.com", true },
   { "washoedems.org", true },
   { "wasi-net.de", true },
   { "wasielewski.com.de", true },
+  { "waskesiuapparel.com", true },
   { "waslh.com", true },
   { "wasserburg.dk", true },
   { "wasserspucker.de", true },
   { "wassibauer.com", true },
   { "wasteman.com", true },
+  { "wasticker.ru", true },
   { "wastrel.ch", true },
   { "watch-wiki.org", true },
   { "watchcow.org", false },
@@ -55706,6 +58018,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "watchface.watch", true },
   { "watchfreeonline.co.uk", true },
   { "watchhentai.co", true },
+  { "watchinventory.com", true },
   { "watchlol.live", true },
   { "watchmetech.com", true },
   { "watchmoviesgallery.com", true },
@@ -55726,11 +58039,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "waterschaplimburg.nl", true },
   { "waterside-residents.org.uk", true },
   { "waterslide-austria.at", true },
+  { "watertorenstraat.tk", true },
   { "watertrails.io", true },
   { "watervillewomenscare.com", true },
   { "watfordjc.uk", true },
   { "watoo.tech", true },
-  { "wattcontrol.cz", true },
   { "watthasawang.com", true },
   { "wattmaedchen.de", true },
   { "wattnow.io", true },
@@ -55745,7 +58058,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wawak.pl", true },
   { "wawapuquy.com", true },
   { "waxdramatic.com", true },
-  { "wayfair.de", true },
   { "wayfairertravel.com", true },
   { "waynefranklin.com", true },
   { "wayohoo.com", true },
@@ -55756,6 +58068,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wb256.com", true },
   { "wb6668.net", true },
   { "wba.or.at", true },
+  { "wbca.ca", true },
   { "wbci.us", false },
   { "wbcme.co.uk", true },
   { "wbinnssmith.com", true },
@@ -55767,18 +58080,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wbuhs.ac.in", true },
   { "wbuntu.com", true },
   { "wbvb.nl", true },
-  { "wby.by", true },
   { "wca.link", true },
   { "wcbook.ru", false },
   { "wck.com", true },
   { "wcn.life", false },
   { "wcosmeticsurgery.com", true },
   { "wcrca.org", true },
+  { "wcscmp.com", true },
   { "wcwcg.net", true },
   { "wd36.cc", true },
-  { "wd63.cc", true },
   { "wdbflowersevents.co.uk", true },
-  { "wdbgroup.co.uk", true },
+  { "wdic.org", true },
+  { "wdmcheng.cn", true },
   { "wdmg.com.ua", true },
   { "wdodelta.nl", true },
   { "wdol.gov", false },
@@ -55788,8 +58101,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "we5688.net", true },
   { "we6668.net", true },
   { "we88fun.com", true },
+  { "we8hd.com", true },
   { "weacceptbitcoin.gr", true },
-  { "weadvize.fr", true },
   { "wealthadvisorsmf.com", true },
   { "wealthcreationsolutions.ga", true },
   { "wealthprojector.com", true },
@@ -55806,29 +58119,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wearegenki.com", true },
   { "wearepapermill.co", true },
   { "wearepapermill.com", true },
-  { "wearethreebears.co.uk", true },
   { "wearetuzag.com", true },
   { "wearvr.com", true },
   { "weather-schools.com", true },
   { "weather.gov", true },
   { "weather.gov.mo", true },
+  { "weatherbuzzmedia.com", true },
   { "weathermyway.rocks", true },
   { "weavers.space", true },
   { "web-art.cz", true },
   { "web-design.co.il", true },
-  { "web-desing.com.ua", true },
   { "web-format.tk", true },
   { "web-hotel.gr", true },
   { "web-jive.com", true },
-  { "web-kouza.com", true },
-  { "web-lab.ml", true },
-  { "web-mail.info", true },
   { "web-odyssey.com", true },
   { "web-redacteuren.nl", true },
   { "web-siena.it", true },
   { "web-smart.com", true },
   { "web-studio-kzo.ml", true },
   { "web-test.gq", true },
+  { "web-wakakusa.jp", true },
   { "web-wave.jp", true },
   { "web.bzh", true },
   { "web.cc", false },
@@ -55837,14 +58147,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "web2ldap.de", true },
   { "web2screen.tv", true },
   { "web404.net", true },
+  { "webaccio.com", true },
   { "webadiccion.net", true },
   { "webadicta.net", true },
   { "webadicto.net", true },
-  { "webaeon.org", true },
   { "webaholic.co.in", true },
+  { "webais.ru", true },
   { "webandmore.de", true },
   { "webandsun.com", true },
   { "webanyti.me", true },
+  { "webart-factory.de", true },
   { "webartex.ru", true },
   { "webarxsecurity.com", true },
   { "webbiz.co.uk", true },
@@ -55853,23 +58165,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webcamtoy.com", true },
   { "webcaptive.com", true },
   { "webcaptive.net", true },
-  { "webcasinos.com", false },
+  { "webcasinos.com", true },
   { "webcatchers.nl", false },
   { "webcatechism.com", false },
   { "webce.de", true },
-  { "webceo.se", true },
   { "webcheck.pt", true },
   { "webclimbers.ch", false },
   { "webcloud.io", true },
+  { "webclymber.com", true },
   { "webcollect.org.uk", true },
   { "webcontentspinning.com", true },
+  { "webconverge.nl", true },
   { "webcookies.org", true },
   { "webcreativa.tk", true },
+  { "webcreatortool.com", true },
   { "webcrm.com", true },
   { "webcurtaincall.com", true },
   { "webdemaestrias.com", true },
   { "webdesign-note.jp", true },
-  { "webdesign-st.de", true },
   { "webdesigneauclaire.com", true },
   { "webdesignersinchennai.tk", true },
   { "webdesigngc.com", true },
@@ -55878,10 +58191,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webdesignsandiego.com", false },
   { "webdev.solutions", true },
   { "webdevinsider.pl", true },
-  { "webdevops.io", true },
+  { "webdevxp.com", true },
+  { "webdig.pt", true },
   { "webdl.org", true },
   { "webduck.nl", false },
-  { "webeast.eu", true },
   { "webeau.com", true },
   { "webeditors.com", true },
   { "webergrillrestaurant.com", true },
@@ -55912,11 +58225,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webhotelsoversigt.dk", true },
   { "webia.in.th", true },
   { "webies.ro", true },
+  { "webinfotech.com.np", true },
   { "webini.co", true },
   { "webinnovation.ie", true },
   { "webinstit.net", true },
   { "webionite.com", true },
-  { "webjobposting.com", true },
   { "webkam-sex.com", true },
   { "webkef.com", true },
   { "webkindergarten.net", true },
@@ -55943,18 +58256,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webmediaprint.at", true },
   { "webmediums.com", true },
   { "webmedpharmacy.co.uk", true },
+  { "webmenedzser.hu", true },
   { "webmetering.at", true },
+  { "webminders.it", true },
   { "webmotelli.fi", true },
   { "webnames.ca", true },
   { "webnetforce.net", true },
   { "webnexty.com", true },
   { "webpagetest.org", true },
+  { "webpc.com.ua", true },
+  { "webpcstudio.com", true },
   { "webperformance.io", true },
   { "webpinoytambayan.net", true },
   { "webpinoytv.info", true },
-  { "webpostingmart.com", true },
-  { "webpostingpro.com", true },
-  { "webpostingreviews.com", true },
+  { "webpixelia.com", true },
+  { "webplace4u.nl", true },
   { "webpubsub.com", true },
   { "webqualitat.com.br", true },
   { "webrabbit.at", true },
@@ -55969,6 +58285,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webseitenserver.com", true },
   { "websenat.de", true },
   { "webservertalk.com", true },
+  { "webshan.ir", true },
   { "webshaped.de", true },
   { "websharks.org", true },
   { "website-engineering.co.za", true },
@@ -55977,8 +58294,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "websitecyber.com", true },
   { "websitedesignersmalappuram.ga", true },
   { "websitedesignprice.ga", true },
+  { "websiteenergizers.com", false },
   { "websiteforstudents.com", true },
   { "websiteguider.com", true },
+  { "websitelia.com", true },
   { "websitemarketers.tk", true },
   { "websiteout.ca", true },
   { "websiteout.net", true },
@@ -55993,7 +58312,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webspire.tech", true },
   { "webstaff.xyz", true },
   { "webstart.nl", true },
-  { "webstellung.com", true },
   { "webstijlen.nl", true },
   { "webstore.be", false },
   { "webstu.be", true },
@@ -56006,6 +58324,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "webtheapp.com", true },
   { "webtoro.com", true },
   { "webtorrent.io", true },
+  { "webtrees.net", true },
   { "webtrek.ch", true },
   { "webtrh.cz", true },
   { "webtropia.com", false },
@@ -56027,9 +58346,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wecobble.com", true },
   { "wed.pw", true },
   { "weddingdays.tv", true },
-  { "weddingenvelopes.co.uk", false },
+  { "weddingenvelopes.co.uk", true },
   { "weddingsbynoon.co.uk", true },
   { "weddingwire.ca", true },
+  { "weddingwire.com", true },
   { "weddywood.ru", false },
   { "wedenth.com", true },
   { "wedg.uk", true },
@@ -56037,16 +58357,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wedovapes.co.uk", true },
   { "weebl.me", true },
   { "weeblr.com", true },
-  { "weeblrpress.com", true },
   { "weecarepreschool.ca", true },
-  { "weedelec.pl", true },
   { "weedlife.com", true },
   { "weedupdate.com", true },
   { "weedworthy.com", true },
   { "weedypedia.de", true },
-  { "week.report", true },
-  { "weeka.cc", true },
   { "weekdone.com", true },
+  { "weekendcandy.com", true },
   { "weekendinitaly.com", true },
   { "weekly-residence.com", true },
   { "weeklydcoupgen.com", true },
@@ -56059,19 +58376,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "weerda.fr", true },
   { "weerstationgiethoorn.nl", true },
   { "weerstatistieken.nl", true },
-  { "wefinanceinc.com", true },
   { "wefitboilers.com", true },
   { "wefound.com.tw", true },
   { "wegerecht.org", true },
-  { "wegiel24.info", true },
   { "wegonnagetsued.org", true },
   { "wegotcookies.com", true },
   { "wegrzynek.org", true },
   { "wegrzynek.pl", true },
-  { "wegvielfalt.de", true },
+  { "wehmeier.family", true },
   { "wehostdnn.com", true },
   { "weibomiaopai.com", true },
-  { "weideheuvel.org", true },
   { "weidmannfibertechnology.com", false },
   { "weien.org", true },
   { "weigelia.nl", true },
@@ -56079,15 +58393,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "weihnachten-schenken.de", true },
   { "weiling.clinic", true },
   { "weils.net", true },
-  { "weiltoast.de", true },
   { "weimz.com", true },
   { "wein.cc", true },
   { "wein.co.kr", true },
   { "weinbergerlawgroup.com", true },
   { "weinboxbuilders.co.nz", true },
   { "weinundsein.com", true },
-  { "weiran.org.cn", true },
   { "weirdesigns.com", true },
+  { "weirdgloop.org", true },
   { "weissborn.me", true },
   { "weissdorntee.de", true },
   { "weisse-liste.de", true },
@@ -56096,12 +58409,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "weitergedacht.eu", true },
   { "weitsolutions.nl", true },
   { "weknowhowtodoit.com", true },
-  { "welcome-werkstatt.com", true },
-  { "welcome-werkstatt.de", true },
   { "welcomescuba.com", true },
   { "welcometoscottsdalehomes.com", true },
   { "weld.io", true },
-  { "weldotherm.fr", true },
+  { "weldwp.com", true },
+  { "welfareness.icu", true },
   { "weliway.com", true },
   { "well-around-the-world.com", true },
   { "wella-download-center.de", true },
@@ -56124,6 +58436,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "welovecatsandkittens.com", true },
   { "weloveliving.it", true },
   { "welovemaira.com", true },
+  { "welp-mail.de", true },
   { "welshccf.org.uk", true },
   { "welt-flaggen.de", true },
   { "welteneroberer.de", true },
@@ -56137,7 +58450,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wemakemenus.com", true },
   { "wemakeonlinereviews.com", true },
   { "wemovemountains.co.uk", true },
+  { "wen-in.com", true },
+  { "wen-in.net", true },
   { "wenceslas.org.uk", true },
+  { "wenchieh.com", true },
+  { "wendepunkt-betreuung.de", true },
   { "wendlberger.net", true },
   { "wenge-murphy.com", true },
   { "wenger-shop.ch", true },
@@ -56146,7 +58463,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wenjulebu.cc", true },
   { "wensing-und-koenig.de", true },
   { "wenta.de", true },
-  { "wepa.pe", true },
   { "wepay.com", false },
   { "wepay.in.th", true },
   { "wepay.vn", true },
@@ -56163,11 +58479,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "werbetopshop.de", true },
   { "werbezentrum-stiebler.de", true },
   { "werbik.at", true },
+  { "wercat.net", true },
   { "werd.pw", true },
   { "werehub.org", true },
   { "wereldkoffie.eu", true },
   { "wereoutthere.nl", true },
-  { "werepairit.com.au", true },
   { "werk-34.de", true },
   { "werkemotion.com", true },
   { "werkenbijdfzs.nl", true },
@@ -56205,6 +58521,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "westcoastcastles.com", true },
   { "westcoastheatingair.com", true },
   { "westcoastmarineadvisor.com", true },
+  { "westcoastmotors.co.uk", true },
   { "westcode.de", true },
   { "westcommunitycu.org", true },
   { "westcountrystalking.com", true },
@@ -56230,13 +58547,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "westmidlandsinflatables.co.uk", true },
   { "westmidlandslettings.com", true },
   { "westondenning.com", true },
+  { "westpointrealtors.com", true },
   { "westside-pediatrics.com", true },
   { "westsuburbanbank.com", true },
-  { "westthorntonlabour.co.uk", true },
   { "wesupportthebadge.org", true },
   { "weswitch4u.com", true },
   { "wetofu.top", true },
-  { "wetpussylipsex.com", true },
+  { "wetravel.company", true },
   { "wetrepublic.com", true },
   { "wetter.de", true },
   { "wevg.org", true },
@@ -56271,6 +58588,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wforum.nl", true },
   { "wfschicago.com", true },
   { "wft-portfolio.nl", true },
+  { "wg-smue.de", true },
   { "wg-steubenstrasse.de", true },
   { "wg3k.us", false },
   { "wgcaobgyn.com", true },
@@ -56283,6 +58601,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wgtrm.com", true },
   { "wh-guide.de", true },
   { "wh36.net", true },
+  { "wh966.com", true },
+  { "whafs.de", true },
   { "what-wood.servehttp.com", true },
   { "what.tf", true },
   { "whatagreatwebsite.net", true },
@@ -56293,14 +58613,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whatclinic.de", true },
   { "whatclinic.ie", true },
   { "whatclinic.ru", true },
-  { "whatdevotion.com", true },
   { "whatisapassword.com", true },
   { "whatismycountry.com", true },
   { "whatismyip.net", false },
-  { "whatismyipaddress.ca", true },
   { "whatismyipv6.info", true },
-  { "whatismypublicip.com", true },
   { "whatisthe.cloud", true },
+  { "whatisthebestflag.com", true },
   { "whatnot.ai", true },
   { "whatsahoy.com", true },
   { "whatsmychaincert.com", true },
@@ -56316,10 +58634,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whatwg.org", true },
   { "whd-guide.de", true },
   { "wheatbagslove.com.au", true },
+  { "wheatgra.in", true },
   { "wheatley.nl", true },
+  { "wheelsmaestro.com", true },
   { "wheelwork.org", false },
-  { "when.fm", false },
   { "where2trip.com", true },
+  { "whereapp.social", true },
   { "wheredoi.click", true },
   { "wheresbuzz.com.au", true },
   { "wheretogomyanmar.com", true },
@@ -56328,6 +58648,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whichgender.today", true },
   { "whing.org", true },
   { "whipnic.com", true },
+  { "whirlpool-luboss.de", true },
   { "whirlpool.net.au", true },
   { "whisky-circle.info", true },
   { "whisky.my", true },
@@ -56364,15 +58685,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whitelabelcashback.nl", true },
   { "whitelabeltickets.com", false },
   { "whitemountainnaturalcreations.com", true },
-  { "whitepack.ru", true },
+  { "whitepack.ru", false },
   { "whitepen.tk", true },
   { "whitepharmacy.co.uk", true },
   { "whiterabbit.group", true },
   { "whiterabbit.org", true },
   { "whiterose.goip.de", true },
   { "whitesoxbestteaminbaseball.com", true },
-  { "whitesuithacking.com", true },
+  { "whitespace.se", true },
   { "whitevpn.cz", true },
+  { "whitewinterwolf.com", true },
   { "whitkirk.com", true },
   { "whitkirkartsguild.com", true },
   { "whitkirkchurch.org.uk", true },
@@ -56382,7 +58704,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whizzzbang.co.uk", true },
   { "whm.gc.ca", true },
   { "whmcs.hosting", true },
-  { "whnpa.org", true },
   { "who-calledme.com", true },
   { "whoami.eu.org", true },
   { "whoami.io", true },
@@ -56392,7 +58713,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whocybered.me", true },
   { "whodatdish.com", true },
   { "whoimg.com", false },
-  { "whoisthenightking.com", true },
   { "whojoo.com", true },
   { "wholesomeharvestbread.com", false },
   { "whollyskincare.com", true },
@@ -56400,6 +58720,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whorepresentsme.us", true },
   { "whotracks.me", true },
   { "whoturgled.com", true },
+  { "whowherewhen.net", true },
   { "whqtravel.org", false },
   { "whs-music.org", true },
   { "whta.eu", true },
@@ -56407,7 +58728,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whub.io", true },
   { "why-brexit.uk", true },
   { "why918.com", true },
-  { "whychoosebob.net.au", true },
   { "whymps.com", true },
   { "whynohttps.com", true },
   { "whyopencomputing.ch", false },
@@ -56416,6 +58736,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "whytls.com", true },
   { "whyworldhot.com", true },
   { "whyz1722.tk", true },
+  { "wiagencies.com", true },
   { "wibbe.link", true },
   { "wiberg.nu", true },
   { "wibness.com", true },
@@ -56428,6 +58749,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wicksandwonders.com.au", true },
   { "wicontractortraining.com", true },
   { "wideboxmacau.com", false },
+  { "widecontrol.it", true },
   { "widegab.com", false },
   { "wideinfo.org", true },
   { "widejeans.tk", true },
@@ -56445,7 +58767,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wiehenkrug.de", true },
   { "wiek.net", true },
   { "wieloswiat.pl", true },
-  { "wielrenbond.ml", true },
   { "wien52.at", true },
   { "wieneck-bauelemente.de", true },
   { "wiener.hr", true },
@@ -56467,6 +58788,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wijaya.net", true },
   { "wijaya2u.com", true },
   { "wijnbesteld.nl", true },
+  { "wijnlandkroatie.nl", true },
   { "wijnservices.nl", false },
   { "wijwillendit.nl", true },
   { "wijzijnwolf.nl", true },
@@ -56474,7 +58796,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wiki-play.ru", true },
   { "wiki.python.org", true },
   { "wikibooks.org", true },
-  { "wikibulz.com", true },
   { "wikibuy.com", true },
   { "wikidata.org", true },
   { "wikidsystems.com", false },
@@ -56493,12 +58814,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wikileaks.ch", true },
   { "wikileaks.com", true },
   { "wikileaks.org", true },
+  { "wikilinux.xyz", true },
   { "wikimedia.org", true },
   { "wikimediafoundation.org", true },
-  { "wikimilk.org", true },
   { "wikinews.org", true },
+  { "wikipedia.com", true },
   { "wikipedia.org", true },
-  { "wikipiedi.it", true },
   { "wikiquote.org", true },
   { "wikisorg.tk", true },
   { "wikisource.org", true },
@@ -56509,6 +58830,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wikizip.ga", true },
   { "wikpa.com", true },
   { "wiktionary.org", true },
+  { "wiktor-imbierski.com", true },
   { "wilane.org", true },
   { "wilcodeboer.me", true },
   { "wild-turtles.com", true },
@@ -56518,23 +58840,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wildandwonderfulketo.com", true },
   { "wildberries.cf", true },
   { "wildbirds.dk", true },
-  { "wildcardcorp.com", true },
-  { "wildcardfederal.net", true },
   { "wildcatproductions.biz", true },
   { "wildcraft.com", true },
-  { "wilddirections.co.uk", true },
   { "wilddogdesign.co.uk", true },
   { "wildercerron.com", true },
   { "wildewood.ca", true },
   { "wildfirechain.xyz", true },
+  { "wildfoxlady.com", true },
+  { "wildfoxosteopathy.com", true },
   { "wildnisfamilie.net", true },
   { "wildtrip.blog", true },
   { "wildwildtravel.com", true },
   { "wildzoopark.co.uk", true },
+  { "wilf1rst.com", true },
   { "wilgo.ga", true },
   { "wilhelm-nathan.de", true },
   { "wili.li", true },
   { "wiliquet.net", false },
+  { "wilkinsondigital.com", true },
   { "wilkushka.com", true },
   { "wilkushka.net", true },
   { "willberg.bayern", true },
@@ -56563,35 +58886,38 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "willow.technology", true },
   { "willowbrook.co.uk", true },
   { "willowdalechurch.ca", true },
-  { "willowtree.school", true },
   { "wills.co.tt", true },
   { "willstamper.name", true },
   { "willstocks.co.uk", true },
+  { "willtc.uk", true },
   { "willvision.com", true },
   { "willywangstory.com", true },
   { "wiloca.it", true },
   { "wils.jp", true },
   { "wilseyrealty.com", true },
   { "wimachtendienk.com", true },
-  { "wimbo.nl", true },
   { "wimpernforyou.de", true },
   { "win365.com", true },
   { "win7stylebuilder.com", false },
   { "win88-line.com", true },
   { "win88-line.net", true },
   { "winall8.com", true },
+  { "winancreekbarn.com", true },
   { "winbuzzer.com", true },
   { "wincasinosmoney.com", true },
   { "winch-center.de", true },
   { "winckelmann2020.com", true },
+  { "wind.moe", false },
   { "windelnkaufen24.de", true },
   { "windforme.com", true },
   { "windictus.net", true },
+  { "windmillart.net", true },
   { "windmyroof.com", true },
   { "windowcleaningexperts.net", true },
   { "windowreplacement.net", true },
   { "windows-support.nu", true },
   { "windows-support.se", true },
+  { "windows311.org", true },
   { "windowsdoors.it", true },
   { "windowseatwanderer.com", true },
   { "windowslatest.com", true },
@@ -56601,7 +58927,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "windsock-app.com", true },
   { "windsorite.ca", true },
   { "windsorspi.com", true },
-  { "windycitydubfest.com", true },
   { "wine-route.net", true },
   { "wine-tapa.com", true },
   { "winebid.com", true },
@@ -56626,7 +58951,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wint.global", true },
   { "winter-auszeit.de", true },
   { "winter-elektro.de", true },
-  { "winter.engineering", true },
   { "winterbergwebcams.com", true },
   { "wintercam.nl", true },
   { "wintercorn.com", true },
@@ -56640,12 +58964,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wintodoor.com", true },
   { "winwares.com", true },
   { "wiocha.pl", true },
+  { "wippie.se", true },
   { "wipswiss.ch", true },
   { "wir-bewegen.sh", true },
   { "wir-machen-druck.de", true },
   { "wire.com", true },
   { "wiredmedia.co.uk", true },
-  { "wireframesoftware.com", true },
   { "wireheading.com", true },
   { "wirekeep.com", true },
   { "wireless-emergency-stop.com", true },
@@ -56662,19 +58986,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wirralbouncycastles.co.uk", true },
   { "wirsberg-studios.de", true },
   { "wirsol.com", true },
+  { "wiruji.com", true },
   { "wis.no", true },
   { "wisak.me", true },
   { "wisal.org", true },
   { "wischu.com", true },
   { "wisedog.eu", false },
+  { "wiseradiology.com.au", true },
   { "wishingyou.co.uk", true },
-  { "wishlist.net", true },
   { "wiskundeonderzoek.tk", true },
   { "wismile.lu", true },
   { "wispapp.com", false },
   { "wisper.net.au", true },
   { "wispmaeksmusic.tk", true },
   { "wispsuperfoods.com", true },
+  { "wispyon.com", true },
   { "wiss.co.uk", true },
   { "wisv.ch", true },
   { "wisweb.no", true },
@@ -56693,20 +59019,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "witneywaterpolo.org.uk", true },
   { "witt-international.co.uk", true },
   { "witte.cloud", true },
-  { "wittepapaver.nl", true },
+  { "wittgen-kfz-technik.de", true },
   { "wittu.fi", true },
-  { "wittywomaniyaa.com", true },
   { "witway.nl", false },
   { "wivoc.nl", true },
   { "wiz.at", true },
   { "wiz.biz", true },
+  { "wizadjournal.com", true },
   { "wizardbouncycastles.co.uk", true },
   { "wizardschool.tk", true },
+  { "wizathon.com", true },
   { "wizbot.tk", true },
   { "wizzair.com", true },
   { "wizzley.com", true },
   { "wizzr.nl", true },
-  { "wj0666.com", true },
+  { "wjb.marketing", true },
   { "wjbolles.com", true },
   { "wjci.com", true },
   { "wje-online.de", true },
@@ -56716,7 +59043,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wjglerum.nl", false },
   { "wjm2038.me", true },
   { "wjr.io", true },
-  { "wkennington.com", true },
+  { "wjsh.com", true },
+  { "wk99.net", true },
   { "wkhs.com", true },
   { "wkv.com", true },
   { "wkz.io", true },
@@ -56731,11 +59059,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wlx678a.com", true },
   { "wlx678b.com", true },
   { "wlx678c.com", true },
+  { "wlx678d.com", true },
   { "wm-access.com", true },
   { "wm-access.de", true },
-  { "wm-talk.net", true },
+  { "wm-talk.net", false },
   { "wmaccess.com", true },
   { "wmaccess.de", true },
+  { "wmccancercenter.com", true },
+  { "wmcroboticsurgery.com", true },
   { "wmfusercontent.org", true },
   { "wmkowa.de", true },
   { "wmsndorgen.cf", true },
@@ -56745,6 +59076,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wmsndorgen.tk", true },
   { "wnmed.com.au", true },
   { "wnu.com", true },
+  { "wnuq.best", true },
   { "wo2forum.nl", true },
   { "wobble.ninja", true },
   { "wobblywotnotz.co.uk", true },
@@ -56754,25 +59086,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wodinaz.com", true },
   { "wodka-division.de", true },
   { "wofflesoft.com", true },
-  { "wofford-ecs.org", true },
+  { "wofford-ecs.org", false },
   { "woffs.de", true },
+  { "wofox.com", true },
   { "wogo.org", true },
   { "woheni.de", true },
   { "wohlgemuth.rocks", true },
   { "wohlpa.de", true },
-  { "wohlraj.net", true },
   { "wohnbegleitung.ch", true },
   { "wohnsitz-ausland.com", true },
   { "wois.info", true },
-  { "wojak.xyz", true },
   { "wojciechowka.pl", true },
+  { "wojciechszyjka.pl", true },
   { "wokinghammotorhomes.com", true },
   { "wolfachtal-alpaka.de", true },
   { "wolfarth.info", true },
   { "wolfcrow.com", true },
   { "wolfermann.org", true },
   { "wolferstetterkeller.de", true },
-  { "wolfgang-braun.info", true },
   { "wolfgang-kerschbaumer.at", true },
   { "wolfgang-kloke.de", true },
   { "wolfgang-ziegler.com", true },
@@ -56809,21 +59140,27 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "womenshealthadvocate.org", true },
   { "womensmedassoc.com", true },
   { "womenswellnessobgyn.com", true },
+  { "woms.top", true },
   { "wonderbill.com", true },
   { "wonderbits.net", true },
   { "wondercris.com", true },
   { "wonderfuleducation.eu", true },
   { "wonderfuleducation.nl", true },
   { "wonderfulworldofwalliams.tk", true },
-  { "wondergorilla.com", true },
   { "wonderhowto.com", true },
   { "wonderlab.ml", true },
+  { "wonderland.com.ua", true },
   { "wonderlandmovies.de", true },
+  { "wondium.nl", true },
   { "wonghome.net", true },
+  { "woningverfspuiten.nl", true },
   { "wooc.org", true },
   { "wood-crafted.co.uk", true },
   { "wood-crafted.uk", true },
+  { "woodbornekitchens.co.uk", true },
+  { "woodbornekitchens.com", true },
   { "woodbury.io", true },
+  { "woodcat.net", true },
   { "woodcoin.org", true },
   { "woodenson.com", true },
   { "woodev.us", true },
@@ -56835,16 +59172,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "woodlandwindows.com", true },
   { "woodminsterrealty.com", true },
   { "woodomat.com", true },
+  { "woodreface.com", true },
   { "woodsidepottery.ca", true },
   { "woodstocksupply.com", true },
   { "woodwo.se", true },
   { "woodwormtreatment.com", true },
+  { "woodyworld.com", true },
   { "woof.gq", true },
+  { "woohay.com", true },
   { "woohooyeah.nl", true },
   { "woonboulevardvolendam.nl", true },
   { "woontegelwinkel.nl", true },
   { "woopie.com", true },
-  { "wooplagaming.com", true },
   { "woorocket.com", true },
   { "wootware.co.za", true },
   { "wopplan.de", true },
@@ -56855,18 +59194,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "worcesterbouncycastlehire.co.uk", true },
   { "worcesterbouncycastles.co.uk", true },
   { "worcesterfestival.co.uk", true },
+  { "worcesterpethydrotherapy.com", true },
   { "worcestervets.co.uk", true },
+  { "worcestervetsreferrals.com", true },
   { "word-grabber.com", true },
-  { "wordadmin.com", true },
   { "wordcounter.net", true },
+  { "wordfence.com", true },
   { "wordher.com", true },
-  { "wordnietvindbaar.nl", true },
   { "wordops.eu", true },
   { "wordops.io", true },
   { "wordops.net", true },
   { "wordplay.one", true },
   { "wordpress.com", false },
+  { "wordpressarequipa.com", true },
   { "wordpressfly.com", true },
+  { "wordpressp.com", true },
   { "wordpresssetup.org", true },
   { "wordregistrar.ga", true },
   { "words.codes", true },
@@ -56876,14 +59218,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "worf.in", true },
   { "worio.co", true },
   { "work-in-progress.website", true },
+  { "workahealthic.de", true },
   { "workathomenoscams.com", true },
   { "workcelerator.com", true },
   { "workcloud.jp", true },
+  { "workcost.me", true },
   { "worker.gov", true },
   { "workeria-personal.de", true },
   { "workingclassmedia.com", true },
+  { "workinghardinit.work", true },
   { "workinginsync.co.uk", true },
   { "workingon.tech", true },
+  { "workinnorway.no", true },
+  { "worklinepc.com", true },
   { "worklizard.com", true },
   { "worknrby.com", true },
   { "workoptions.com", true },
@@ -56898,6 +59245,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "worksitevr.com", true },
   { "worksmarter.tv", true },
   { "workthings.de", true },
+  { "workupapp.com", true },
   { "world-in-my-eyes.com", true },
   { "world-lolo.com", true },
   { "worldcarding.tk", true },
@@ -56908,25 +59256,26 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "worldessays.com", true },
   { "worldix.ml", true },
   { "worldmeetings.com", true },
-  { "worldmeteo.info", true },
   { "worldofarganoil.com", true },
   { "worldofbelia.de", true },
   { "worldoflegion.ml", true },
   { "worldofparties.co.uk", true },
-  { "worldofvnc.net", true },
   { "worldofwobble.co.uk", true },
   { "worldonwheels.com.au", true },
-  { "worldpeacetechnology.com", true },
   { "worldrecipes.eu", true },
   { "worldsfree4u.ga", true },
   { "worldsgreatestazuredemo.com", true },
   { "worldsinperil.it", true },
+  { "worldsladultplace.info", true },
   { "worldstone777.com", true },
   { "worldsy.com", true },
   { "worldtalk.de", true },
   { "worldvisa.tk", true },
+  { "worldvisionsummerfest.com", true },
+  { "worldwaterprojects.com", true },
   { "wormate.io", true },
   { "wormbytes.ca", true },
+  { "wormdisk.net", true },
   { "wormhol.org", true },
   { "worongarymedical.com.au", true },
   { "worst.horse", false },
@@ -56937,7 +59286,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wossl.net", true },
   { "wot-zadrot.com", true },
   { "woti.dedyn.io", true },
-  { "wotra-register.com", true },
   { "wotsunduk.ru", true },
   { "wotzadrot.com", true },
   { "woudenberg.nl", false },
@@ -56953,7 +59301,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wowbouncycastles.co.uk", true },
   { "wowgenial.com", true },
   { "wowi-ffo.de", true },
-  { "wowin58.com", true },
   { "wowin88.com", true },
   { "wowjs.co.uk", true },
   { "wowjs.org", true },
@@ -56964,8 +59311,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wp-france.com", true },
   { "wp-master.org", true },
   { "wp-mix.com", true },
-  { "wp-site1.com", true },
-  { "wp-site2.com", true },
   { "wp-tao.com", true },
   { "wp-webagentur.de", true },
   { "wpac.de", false },
@@ -56974,25 +59319,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wpboot.com", true },
   { "wpbox.cc", true },
   { "wpcanban.com", false },
+  { "wpcc.io", true },
   { "wpccu-cdn.org", true },
   { "wpcdn.bid", true },
   { "wpcs.pro", true },
   { "wpdivitheme.nl", true },
+  { "wpenhance.com", true },
   { "wpexplorer.com", true },
   { "wpformation.com", true },
   { "wpherc.com", true },
   { "wphlive.tv", true },
   { "wphosting.ovh", true },
   { "wphostingblog.nl", true },
-  { "wpldn.uk", true },
+  { "wplibrary.net", true },
   { "wplistings.pro", true },
   { "wpmeetup-berlin.de", true },
+  { "wpml.org", true },
   { "wpmu-tutorials.de", true },
   { "wpno.com", false },
   { "wpnuvem.com", true },
   { "wpostats.com", false },
   { "wppeeps.com", true },
-  { "wprodevs.com", true },
+  { "wpresscoder.com", true },
   { "wpsermons.com", true },
   { "wpserp.com", true },
   { "wpsharks.com", true },
@@ -57006,9 +59354,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wpwebshop.com", true },
   { "wq.ro", true },
   { "wr.su", true },
+  { "wrap.in.ua", true },
   { "wrara.org", true },
   { "wrathofgeek.com", true },
-  { "wrc-results.com", true },
   { "wrdcfiles.ca", true },
   { "wrdx.io", true },
   { "wrenwrites.com", true },
@@ -57018,7 +59366,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "write-right.net", true },
   { "writeandedit-for-you.com", true },
   { "writecustomessay.com", true },
-  { "writemyessay.info", true },
   { "writemyessay.today", true },
   { "writemyessays.com", true },
   { "writemyestimate.com", true },
@@ -57035,6 +59382,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "writtenworld.bg", true },
   { "writtit.com", true },
   { "wrmea.org", true },
+  { "wrong.wang", true },
+  { "wrozbyonline.pl", true },
   { "wrp-timber-mouldings.co.uk", true },
   { "wrp.gov", true },
   { "wsa.poznan.pl", true },
@@ -57052,13 +59401,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wsl.sh", true },
   { "wsldp.com", true },
   { "wso01.com", true },
+  { "wsp-center.com", true },
   { "wsspalluto.de", true },
   { "wstudio.ch", false },
   { "wstx.com", true },
   { "wsv-pfeffingen.de", true },
-  { "wtfbryan.com", true },
   { "wtfnope.org", true },
-  { "wth.in", true },
   { "wtp.co.jp", true },
   { "wtpdive.jp", true },
   { "wtpmj.com", true },
@@ -57074,7 +59422,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wuji.cz", true },
   { "wulala.us", true },
   { "wulfrun-invicta.tk", true },
+  { "wumbo.cf", true },
   { "wumbo.co.nz", true },
+  { "wumbo.ga", true },
+  { "wumbo.gq", true },
+  { "wumbo.ml", true },
+  { "wumbo.tk", true },
   { "wunder.io", true },
   { "wunderkarten.de", true },
   { "wunderlist.com", true },
@@ -57085,27 +59438,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wuppertaler-kurrende.de", true },
   { "wutianyi.com", true },
   { "wuxiaohen.com", true },
-  { "wuyiwa.net", true },
   { "wuz.it", true },
   { "wuzigackl.de", false },
   { "wvg.myds.me", true },
   { "wvpbs.ml", true },
+  { "wvpventures.com", true },
   { "ww-design.ch", true },
   { "ww00228.com", false },
   { "ww0512.com", true },
   { "ww8989.com", true },
   { "ww9297.co", true },
   { "wweforums.net", true },
-  { "wweichen.com.cn", true },
   { "wwgc2011.se", true },
   { "wwin818.com", true },
-  { "wwjd.dynu.net", true },
+  { "wwmm.ru", true },
+  { "wwtext.com", true },
   { "wwv-8722.com", true },
   { "wwvip88.com", true },
-  { "www-5287.com", true },
   { "www-8225.com", true },
   { "www-8522.com", true },
   { "www-9822.com", true },
+  { "www-pheromone.com", true },
+  { "www-pheromones.com", true },
   { "www-railto.com", true },
   { "www.aclu.org", false },
   { "www.airbnb.com", true },
@@ -57129,6 +59483,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "www.cnet.com", true },
   { "www.dropbox.com", true },
   { "www.dropcam.com", false },
+  { "www.edu.tw", true },
   { "www.entropia.de", false },
   { "www.eternalgoth.co.uk", true },
   { "www.etsy.com", true },
@@ -57141,6 +59496,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "www.getcloak.com", false },
   { "www.gmail.com", false },
   { "www.googlemail.com", false },
+  { "www.gov.pl", true },
   { "www.gov.uk", false },
   { "www.govt.nz", true },
   { "www.grc.com", false },
@@ -57148,7 +59504,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "www.heliosnet.com", true },
   { "www.honeybadger.io", false },
   { "www.hyatt.com", true },
-  { "www.intercom.io", true },
   { "www.irccloud.com", false },
   { "www.linode.com", false },
   { "www.lookout.com", false },
@@ -57181,10 +59536,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "www00228d.com", false },
   { "www00228e.com", false },
   { "www68277.com", true },
+  { "wwweb.be", true },
   { "wwwindows.co.uk", true },
+  { "wwwpheromone.com", true },
   { "wwwrailto.com", true },
   { "wwwwnews.tk", true },
-  { "wx6688.cc", true },
   { "wxcafe.net", true },
   { "wxdisco.com", true },
   { "wxforums.com", true },
@@ -57193,19 +59549,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wxkxsw.com", true },
   { "wxlog.cn", true },
   { "wxster.com", true },
-  { "wxw.moe", true },
+  { "wxw.moe", false },
   { "wy188.cc", true },
   { "wyam.io", true },
   { "wyatttauber.com", true },
-  { "wybar.uk", true },
   { "wyckoff.pro", true },
   { "wyckoff.vip", true },
-  { "wycrow.com", true },
   { "wyczaruj.pl", true },
   { "wyday.com", true },
   { "wygibanki.pl", true },
   { "wygodnie.pl", true },
   { "wyhpartnership.co.uk", true },
+  { "wyhuesli.ch", true },
   { "wyldfiresignage.com", true },
   { "wyo.cam", true },
   { "wyomingurology.com", true },
@@ -57220,7 +59575,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "wyydsb.xin", true },
   { "wyzphoto.nl", true },
   { "wzilverschoon.nl", true },
-  { "wzp.ovh", true },
   { "wzrd.in", true },
   { "wzxaini9.com", true },
   { "wzyboy.org", true },
@@ -57228,6 +59582,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "x-charge.uk", true },
   { "x-iweb.ru", true },
   { "x-lan.be", true },
+  { "x-minus.me", true },
   { "x-one.co.jp", true },
   { "x.io", true },
   { "x.st", true },
@@ -57241,15 +59596,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "x10006.com", false },
   { "x10007.com", false },
   { "x10008.com", false },
-  { "x13.com", true },
-  { "x2816.com", true },
+  { "x17.cafe", true },
+  { "x2816.com", false },
   { "x2d2.de", false },
-  { "x3515.com", true },
-  { "x3618.com", true },
+  { "x3515.com", false },
+  { "x3618.com", false },
   { "x36533.com", true },
   { "x36594.com", true },
   { "x378.ch", true },
-  { "x3789.com", true },
+  { "x3789.com", false },
   { "x3801.com", true },
   { "x3802.com", true },
   { "x3803.com", true },
@@ -57259,35 +59614,69 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "x3815.com", true },
   { "x3816.com", true },
   { "x3828.com", true },
-  { "x3927.com", true },
+  { "x3927.com", false },
+  { "x5901.com", true },
+  { "x5902.com", true },
+  { "x5903.com", true },
+  { "x5904.com", true },
+  { "x5905.com", true },
+  { "x5906.com", true },
+  { "x5907.com", true },
+  { "x5908.com", true },
+  { "x59088.com", true },
+  { "x5910.com", true },
+  { "x59288.com", true },
+  { "x59388.com", true },
+  { "x59488.com", true },
+  { "x59588.com", true },
+  { "x59688.com", true },
+  { "x59788.com", true },
+  { "x59888.com", true },
+  { "x59988.com", true },
   { "x69.biz", true },
   { "x69x.net", true },
   { "x6r3p2yjg1g6x7iu.myfritz.net", true },
   { "x7008.com", false },
-  { "x7713.com", true },
-  { "x7718.com", true },
-  { "x7719.com", true },
-  { "x7782.com", true },
-  { "x7785.com", true },
-  { "x7795.com", true },
-  { "x77dd.com", true },
-  { "x77ee.com", true },
-  { "x77hh.com", true },
-  { "x77jj.com", true },
-  { "x77kk.com", true },
-  { "x77mm.com", true },
-  { "x77nn.com", true },
-  { "x77pp.com", true },
-  { "x77qq.com", true },
-  { "x77tt.com", true },
-  { "x77ww.com", true },
-  { "x7plus.com", true },
-  { "x81818.com", true },
+  { "x7713.com", false },
+  { "x7719.com", false },
+  { "x7782.com", false },
+  { "x7785.com", false },
+  { "x7795.com", false },
+  { "x77dd.com", false },
+  { "x77ee.com", false },
+  { "x77hh.com", false },
+  { "x77jj.com", false },
+  { "x77kk.com", false },
+  { "x77mm.com", false },
+  { "x77nn.com", false },
+  { "x77pp.com", false },
+  { "x77qq.com", false },
+  { "x77tt.com", false },
+  { "x77ww.com", false },
   { "x9015.com", false },
   { "x9017.com", false },
   { "x9297.co", true },
   { "x9701.com", false },
   { "x9718.com", false },
+  { "x98d.com", true },
+  { "x98e.com", true },
+  { "x98f.com", true },
+  { "x98g.com", true },
+  { "x98h.com", true },
+  { "x98i.com", true },
+  { "x98k.com", true },
+  { "x98l.com", true },
+  { "x98m.com", true },
+  { "x98n.com", true },
+  { "x98o.com", true },
+  { "x98p.com", true },
+  { "x98q.com", true },
+  { "x98r.com", true },
+  { "x98s.com", true },
+  { "x98w.com", true },
+  { "x98y.com", true },
+  { "x98z.com", true },
+  { "x993.com", true },
   { "xa.search.yahoo.com", false },
   { "xa1.uk", true },
   { "xab123.com", true },
@@ -57306,19 +59695,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xaffit.com", true },
   { "xahbspl.com", true },
   { "xakepctbo.tk", true },
+  { "xamax.co.uk", true },
   { "xanadu-auto.cz", true },
   { "xanadu-catering.cz", true },
   { "xanadu-golf.cz", true },
   { "xanadu-taxi.cz", true },
   { "xanadu-trans.cz", true },
+  { "xanderbron.tech", true },
   { "xanhdecor.com", true },
   { "xanimalcaps.com", true },
   { "xants.de", true },
   { "xanyl.de", true },
   { "xarangallomangallo.tk", true },
   { "xatr0z.org", false },
+  { "xav.ie", true },
   { "xaver.su", true },
-  { "xavierdmello.com", true },
   { "xavita.uk", true },
   { "xaxax.ru", true },
   { "xb052.com", true },
@@ -57333,19 +59724,19 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xbertschy.com", true },
   { "xblau.com", true },
   { "xboxachievements.com", true },
+  { "xboxdownloadthat.com", true },
   { "xboxlivegoldshop.nl", true },
   { "xboxonex.shop", true },
   { "xbrl.online", true },
   { "xbrlsuccess.appspot.com", true },
+  { "xbt.co", true },
   { "xbtce.com", true },
   { "xbtmusic.org", false },
-  { "xc9988.cc", true },
   { "xceedgaming.com", true },
   { "xcentricmold.com", true },
   { "xcharge.uk", true },
   { "xcler8.com", true },
   { "xclirion-support.de", true },
-  { "xcmfu.com", true },
   { "xcorpsolutions.com", true },
   { "xcraftsumulator.ru", true },
   { "xcvb.xyz", true },
@@ -57359,20 +59750,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xecure.zone", true },
   { "xecureit.com", true },
   { "xeedbeam.me", true },
+  { "xeerpa.com", true },
   { "xega.org", true },
   { "xehost.com", true },
   { "xeiropraktiki.gr", true },
   { "xelesante.jp", true },
+  { "xemcloud.net", true },
   { "xendo.net", true },
   { "xenical.tk", true },
   { "xenomedia.nl", true },
+  { "xenon.cloud", true },
   { "xenoncloud.net", true },
   { "xenophile.name", true },
   { "xenoworld.de", true },
-  { "xenox-rp.ru", true },
   { "xentho.net", true },
   { "xentox.com", true },
-  { "xenum.ua", true },
   { "xerbo.net", false },
   { "xerdeso.tk", true },
   { "xerezdeportivo.tk", true },
@@ -57381,13 +59773,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xerownia.eu", true },
   { "xeryus.nl", true },
   { "xetown.com", true },
-  { "xf5888.com", true },
   { "xfce.space", true },
   { "xfcy.me", true },
   { "xfd3.de", true },
   { "xferion.com", false },
+  { "xfive.de", true },
   { "xfix.pw", true },
   { "xfrag-networks.com", true },
+  { "xfzhao.com", true },
   { "xgadget.de", true },
   { "xgame.com.tr", true },
   { "xgclan.com", true },
@@ -57413,14 +59806,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xiangweiqing.co.uk", true },
   { "xiangwenquan.me", true },
   { "xiaocg.xyz", true },
-  { "xiaojicdn.com", true },
   { "xiaojiyoupin.com", true },
   { "xiaololi.best", true },
   { "xiaolong.link", true },
   { "xiaomi.eu", true },
+  { "xiaoneijun.cn", true },
+  { "xiaoneimao.cn", true },
   { "xiaoxia.li", true },
+  { "xiaoyu.net", true },
   { "xiashali.me", true },
-  { "xichtsbuch.de", true },
   { "xicreative.net", true },
   { "xie38.com", true },
   { "xie91.com", true },
@@ -57428,30 +59822,35 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xif.at", true },
   { "xifrem.com", true },
   { "xight.org", true },
+  { "xignsys.com", true },
   { "xilef.org", true },
   { "xilo.net", true },
   { "ximble.com", true },
   { "ximbo.net", false },
-  { "xinetwork.net", true },
-  { "xingyu1993.cn", true },
+  { "ximes.com", true },
+  { "xin-in.com", true },
+  { "xin-in.net", true },
+  { "xinetwork.net", false },
+  { "xing-in.net", true },
+  { "xingganfuli.com", true },
   { "xinnermedia.nl", true },
   { "xinnixdeuren-shop.be", true },
-  { "xinpujing198.com", false },
-  { "xinpujing200.com", false },
-  { "xinpujing518.com", false },
   { "xinsane.com", true },
+  { "xinsto.com", true },
   { "xinu.xyz", true },
   { "xinuspeed.com", true },
   { "xinuspeedtest.com", true },
   { "xinuurl.com", true },
   { "xinxin.pl", true },
+  { "xinyitour.tw", true },
+  { "xiphwork.de", true },
   { "xiumu.org", true },
+  { "xiyu.it", false },
   { "xjd.vision", true },
   { "xjf6.com", true },
   { "xjjeeps.com", true },
   { "xjpvictor.info", true },
   { "xkcd.pw", true },
-  { "xkngroup.com", true },
   { "xkviz.net", true },
   { "xkwy2018.cn", true },
   { "xlan.be", true },
@@ -57459,26 +59858,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xlink.com.pl", true },
   { "xloud.cf", true },
   { "xluxes.jp", true },
-  { "xlyingyuan.com", true },
   { "xm.digital", true },
   { "xmag.pl", true },
   { "xmedius.ca", true },
   { "xmedius.com", true },
   { "xmedius.eu", true },
   { "xmenrevolution.com", true },
-  { "xmflyrk.com", true },
   { "xmgspace.me", true },
   { "xmlbeam.org", true },
   { "xmpp.dk", true },
-  { "xmppwocky.net", true },
   { "xmr.to", true },
-  { "xmr.wiki", true },
   { "xmv.cz", true },
   { "xmyy.com", true },
   { "xn-----6kcbjcgl1atjj7aadbkxfxfe7a9yia.xn--p1ai", true },
+  { "xn-----7kcbhdpr0asllefq0bjk.com", true },
+  { "xn----7sbabrwauchevq0ba.xn--p1ai", true },
+  { "xn----7sbarcdvrtr1be.org", true },
+  { "xn----7sbbgbr0arxb4a4exa.com.ua", true },
+  { "xn----7sbbq5b0a1c.com", true },
   { "xn----8hcdn2ankm1bfq.com", true },
   { "xn----9sbkdigdao0de1a8g.com", true },
   { "xn----ncfb.ws", true },
+  { "xn---35-6cdk1dnenygj.xn--p1ai", true },
   { "xn--0iv967ab7w.xn--rhqv96g", true },
   { "xn--0kq33cz5c8wmwrqqw1d.com", true },
   { "xn--12c3bpr6bsv7c.com", true },
@@ -57490,7 +59891,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--3stv82k.hk", true },
   { "xn--3stv82k.tw", true },
   { "xn--48jwg508p.net", true },
-  { "xn--4brt03c.xn--io0a7i", true },
   { "xn--4pv80kkz8auzf.jp", true },
   { "xn--57h.ml", false },
   { "xn--5dbkjqb0d.com", true },
@@ -57501,10 +59901,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--7ca.co", true },
   { "xn--7or43h.jp", true },
   { "xn--7xa.google.com", true },
+  { "xn--80a8aqs.biz.ua", true },
   { "xn--80aafaxhj3c.xn--p1ai", true },
-  { "xn--80aanbkcescrdedmxzcl4pmc.xn--p1acf", true },
+  { "xn--80abwhtbgbedcy6h.com", true },
+  { "xn--80acghh.xn--p1ai", true },
   { "xn--80adbevek3air0ee9b8d.com", true },
   { "xn--80adbvdjzhptl1be6j.com", true },
+  { "xn--80aebbkaqx6at.xn--p1ai", true },
   { "xn--80aejljbfwxn.xn--p1ai", true },
   { "xn--80ageukloel.xn--p1ai", true },
   { "xn--80ahclcaoccacrhfebi0dcn5c1jh.xn--p1ai", true },
@@ -57513,10 +59916,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--80ancacgircb8q.xn--p1ai", true },
   { "xn--80azelb.xn--p1ai", true },
   { "xn--8bi.gq", false },
-  { "xn--8n2am80a.tech", true },
   { "xn--90accgba6bldkcbb7a.xn--p1acf", true },
   { "xn--90acjfgylpnm.xn--90ais", true },
-  { "xn--90adahrqfmec.xn--p1ai", true },
+  { "xn--90aij9af3f.com.ua", true },
   { "xn--95q32l0t6b9cb17l.cn", true },
   { "xn--9xa.fun", true },
   { "xn--agncia-4ua.cat", true },
@@ -57529,7 +59931,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--baron-bonzenbru-elb.com", true },
   { "xn--bcher-bestseller-jzb.com", true },
   { "xn--bcherbestseller-zvb.com", true },
-  { "xn--bckerei-trster-5hb11a.de", true },
   { "xn--bckerei-wohlgemuth-ltb.de", true },
   { "xn--ben-bank-8za.dk", true },
   { "xn--benbank-dxa.dk", true },
@@ -57539,6 +59940,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--brneruhr-0za.ch", true },
   { "xn--brombeerblttertee-zqb.de", true },
   { "xn--bucheckernl-0fb.de", true },
+  { "xn--c1adqibibm8i.com", true },
   { "xn--cck4ax91r.com", true },
   { "xn--cck7f515h.com", true },
   { "xn--cckdrt0kwb4g3cnh.com", true },
@@ -57546,15 +59948,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--cfa.site", true },
   { "xn--chrysanthemenbltentee-nic.de", true },
   { "xn--cisowcy-pjb5t.pl", true },
-  { "xn--d1acj9c.xn--90ais", true },
-  { "xn--depias-zwa.es", true },
   { "xn--detrkl13b9sbv53j.com", true },
   { "xn--detrkl13b9sbv53j.org", true },
   { "xn--dmonenjger-q5ag.net", true },
-  { "xn--dmontaa-9za.com", true },
   { "xn--dragni-g1a.de", true },
   { "xn--dtursfest-72a.dk", true },
   { "xn--durhre-yxa.de", true },
+  { "xn--dviz-5qa.com", true },
   { "xn--e1aaavheew.xn--p1ai", true },
   { "xn--e1aaavheewr.xn--p1ai", true },
   { "xn--e1adlfhcdo7h.xn--p1ai", true },
@@ -57564,12 +59964,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--erban-e9b.ro", true },
   { "xn--erklderbarenben-slbh.dk", true },
   { "xn--et8h.cf", false },
+  { "xn--ex-1b4auld4fn3u3ck2069g.com", true },
   { "xn--f9jh4f4b4993b66s.tokyo", true },
   { "xn--familie-pppinghaus-l3b.de", true },
   { "xn--feuerlscher-arten-4zb.de", true },
   { "xn--fiqwix98h.jp", true },
   { "xn--fischereiverein-mnsterhausen-i7c.de", true },
-  { "xn--fp8h58f.ws", true },
   { "xn--frankierknig-djb.de", true },
   { "xn--fs5ak3f.com", true },
   { "xn--gfrr-7qa.li", true },
@@ -57585,9 +59985,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--i2ru8q2qg.com", true },
   { "xn--ikketenkpdet-1cb.no", true },
   { "xn--imker-in-nrnberg-szb.de", true },
+  { "xn--ionunica-29c.ro", true },
   { "xn--irr.xn--fiqs8s", true },
   { "xn--is8h6d.gq", false },
-  { "xn--j1aoca.xn--p1ai", true },
   { "xn--j8se.com", true },
   { "xn--jda.tk", true },
   { "xn--jp8hx8f.ws", true },
@@ -57595,7 +59995,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--kkcon-fwab.nz", true },
   { "xn--kl-oja.is", true },
   { "xn--klmek-0sa.com", true },
-  { "xn--knstler-n2a.tips", false },
+  { "xn--krpto-lva.de", true },
   { "xn--ktha-kamrater-pfba.se", true },
   { "xn--l8js6h476m.xn--q9jyb4c", true },
   { "xn--labanskllermark-ftb.se", true },
@@ -57606,11 +60006,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--lsaupp-iua.se", true },
   { "xn--lskieradio-3gb44h.pl", true },
   { "xn--lt9h.cf", true },
+  { "xn--lti-3qa.lv", true },
   { "xn--manuela-stsser-psb.de", true },
   { "xn--maracujal-77a.de", true },
   { "xn--martnvillalba-zib.com", true },
   { "xn--martnvillalba-zib.net", true },
-  { "xn--matua-n7a.pl", true },
   { "xn--mein-kchenhelfer-ozb.de", true },
   { "xn--mentaltraining-fr-musiker-uwc.ch", true },
   { "xn--mgbbh2a9fub.xn--ngbc5azd", false },
@@ -57618,7 +60018,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--mgbpkc7fz3awhe.com", true },
   { "xn--mgbuq0c.net", true },
   { "xn--mgi-qla.life", true },
-  { "xn--mhringen-65a.de", true },
   { "xn--mntsamling-0cb.dk", true },
   { "xn--myrepubic-wub.net", true },
   { "xn--myrepublc-x5a.net", true },
@@ -57627,9 +60026,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--n8jtcugp92n4wc738f.net", true },
   { "xn--nidar-tib.org", true },
   { "xn--nide-loa.ee", true },
-  { "xn--o38h.tk", true },
   { "xn--oiqt18e8e2a.eu.org", true },
   { "xn--p8j9a0d9c9a.xn--q9jyb4c", true },
+  { "xn--pascal-klsch-cjb.de", true },
   { "xn--pbt947am3ab71g.com", true },
   { "xn--pckm3a1bi21a.com", true },
   { "xn--pe-bka.ee", true },
@@ -57642,55 +60041,57 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xn--rb-fka.it", true },
   { "xn--rdiger-kuhlmann-zvb.de", true },
   { "xn--reisebro-herrsching-bbc.de", true },
+  { "xn--ritmller-95a.de", true },
   { "xn--rlcus7b3d.xn--xkc2dl3a5ee0h", true },
   { "xn--roselire-60a.ch", false },
   { "xn--roselire-60a.com", false },
   { "xn--rosenbltentee-2ob.de", true },
+  { "xn--rt-cja.eu", true },
   { "xn--rt-cja.ie", true },
   { "xn--rtter-kva.eu", true },
   { "xn--ruanmller-u9a.com", true },
   { "xn--s-0fa.fi", true },
   { "xn--s-1gaa.fi", true },
   { "xn--schcke-yxa.de", true },
-  { "xn--schlerzeitung-ideenlos-ulc.de", true },
   { "xn--schpski-c1a.de", true },
   { "xn--schsischer-christstollen-qbc.shop", true },
   { "xn--schwarzkmmeloel-6vb.de", true },
   { "xn--solidaritt-am-ort-yqb.de", true },
   { "xn--strandhaus-hinter-der-dne-1wc.de", true },
-  { "xn--svezavaukuu-ulb08i.rs", true },
   { "xn--sz8h.ml", true },
   { "xn--t-oha.lv", true },
   { "xn--t8j4aa4nzg3a5euoxcwee.xyz", true },
+  { "xn--t8jo9k1b.com", true },
   { "xn--tagungssttte-usedom-owb.de", true },
   { "xn--tagungssttte-zinnowitz-84b.de", true },
   { "xn--tigreray-i1a.org", true },
   { "xn--u8jvc1drbz972aywbk0by95ffo1aqm1c.com", true },
   { "xn--u8jwd.ga", true },
   { "xn--u9j0ia6hb7347cg8wavz0avb0e.com", true },
+  { "xn--u9j920h4sbt5ex10f.online", true },
   { "xn--u9jv84l7ea468b.com", true },
   { "xn--uasacrilicas-9gb.net", true },
+  { "xn--uist1idrju3i.jp", true },
   { "xn--uisz44m.online", true },
   { "xn--ukasik-2db.pl", true },
   { "xn--underux-0za.eu", true },
   { "xn--v-wfa35g.ro", true },
-  { "xn--v4q.ml", true },
-  { "xn--v6q426ishax2a.xyz", true },
-  { "xn--wby9t.xyz", true },
+  { "xn--wby9t.xyz", false },
   { "xn--weidenrschen-tee-swb.de", true },
   { "xn--wq9h.ml", false },
-  { "xn--y-5ga.com", true },
-  { "xn--y8jarb5hca.jp", true },
   { "xn--z1tq4ldt4b.com", true },
   { "xn--zettlmeil-n1a.de", true },
+  { "xn--zsr042b.fun", true },
   { "xn5.de", true },
   { "xnaas.info", true },
+  { "xnativi.pl", true },
   { "xnet-x.net", true },
   { "xninja.xyz", true },
   { "xnode.org", true },
   { "xntrik.wtf", true },
   { "xnu.kr", true },
   { "xo.tc", true },
+  { "xoan.cf", true },
   { "xoh.at", true },
   { "xolotto.com", true },
   { "xolphin.nl", true },
@@ -57700,7 +60101,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xonn.de", true },
   { "xoommit.com", true },
   { "xor.cat", true },
-  { "xotv.top", true },
+  { "xormatic.com", true },
+  { "xotictrends.com", true },
   { "xp-ochrona.pl", true },
   { "xp.nsupdate.info", true },
   { "xp2.de", true },
@@ -57709,15 +60111,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xpd.se", true },
   { "xperidia.com", true },
   { "xpertcube.com", true },
-  { "xpj567088.com", true },
-  { "xpj567288.com", true },
-  { "xpj567388.com", true },
-  { "xpj567888.com", true },
-  { "xpjai.com", true },
+  { "xpj000444.com", true },
+  { "xpj000555.com", true },
+  { "xpj000666.com", true },
+  { "xpj090.com", true },
+  { "xpj100.com", true },
+  { "xpj567088.com", false },
+  { "xpj567388.com", false },
+  { "xpj678678.com", true },
+  { "xpj90.com", true },
+  { "xpj909.me", true },
+  { "xpjbeting.com", true },
+  { "xpjcs.com", true },
   { "xpjiosapp.com", true },
   { "xpletus.nl", true },
   { "xpoc.pro", true },
   { "xpods.sg", true },
+  { "xpornoizle.net", true },
   { "xqk7.com", true },
   { "xr.cx", true },
   { "xr1s.me", true },
@@ -57728,23 +60138,72 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xrwracing-france.com", true },
   { "xs00228.com", false },
   { "xs2a.no", true },
+  { "xsapp.co", true },
   { "xsec.me", true },
   { "xserownia.com.pl", true },
   { "xserownia.eu", true },
   { "xserownia.net", true },
-  { "xss.name", true },
+  { "xserownia.pl", true },
+  { "xslim.com.br", true },
   { "xss.sk", true },
   { "xssi.uk", true },
   { "xsteam.eu", true },
-  { "xstreamable.com", true },
   { "xsuper.net", true },
   { "xtaboo3d.com", true },
   { "xtarget.ru", true },
   { "xtom.africa", true },
-  { "xtom.chat", true },
+  { "xtom.al", true },
+  { "xtom.amsterdam", true },
+  { "xtom.ax", true },
+  { "xtom.be", true },
+  { "xtom.bg", true },
+  { "xtom.by", true },
+  { "xtom.ch", true },
+  { "xtom.co.uk", true },
   { "xtom.com", true },
+  { "xtom.com.de", true },
+  { "xtom.com.ee", true },
   { "xtom.com.hk", true },
-  { "xtom.wiki", true },
+  { "xtom.cz", true },
+  { "xtom.de", true },
+  { "xtom.ee", true },
+  { "xtom.es", true },
+  { "xtom.eu", true },
+  { "xtom.fi", true },
+  { "xtom.fo", true },
+  { "xtom.fr", true },
+  { "xtom.ge", true },
+  { "xtom.gmbh", true },
+  { "xtom.gr", true },
+  { "xtom.hr", true },
+  { "xtom.hu", true },
+  { "xtom.im", true },
+  { "xtom.is", true },
+  { "xtom.it", true },
+  { "xtom.je", true },
+  { "xtom.li", true },
+  { "xtom.limited", true },
+  { "xtom.london", true },
+  { "xtom.lt", true },
+  { "xtom.ltd", true },
+  { "xtom.lu", true },
+  { "xtom.lv", true },
+  { "xtom.md", true },
+  { "xtom.me", true },
+  { "xtom.mk", true },
+  { "xtom.moscow", true },
+  { "xtom.nl", true },
+  { "xtom.no", true },
+  { "xtom.nu", true },
+  { "xtom.paris", true },
+  { "xtom.pl", true },
+  { "xtom.ro", true },
+  { "xtom.ru", true },
+  { "xtom.si", true },
+  { "xtom.sk", true },
+  { "xtom.su", true },
+  { "xtom.support", true },
+  { "xtom.uk", true },
   { "xtrainsights.com", true },
   { "xtravans.com", true },
   { "xtremebouncepartyhire.com.au", true },
@@ -57754,15 +60213,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xts3636.net", true },
   { "xtu2.com", true },
   { "xuab.net", true },
+  { "xuan-li88.com", true },
+  { "xuan-li88.net", true },
   { "xubo666.com", true },
   { "xuc.me", true },
   { "xucha.ml", true },
   { "xueanquan.com", true },
   { "xuedianshang.com", true },
+  { "xuehao.net.cn", true },
   { "xuehao.tech", true },
   { "xujan.com", true },
   { "xuming.studio", true },
-  { "xunleiyy.com", true },
   { "xunn.io", true },
   { "xuntier.ch", true },
   { "xuonggiaynu.vn", true },
@@ -57773,17 +60234,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xwaretech.info", true },
   { "xwf.fyi", true },
   { "xx0r.eu", true },
-  { "xx9297.co", true },
   { "xxffo.com", true },
-  { "xxgalgame.com", true },
   { "xxiz.com", true },
   { "xxxbunker.com", true },
   { "xxxladyboysporn.com", true },
   { "xxxoopz.com", true },
   { "xxxred.net", true },
   { "xxxsuper.net", true },
-  { "xy366.cc", true },
-  { "xy369.cc", true },
   { "xy6161.com", true },
   { "xy6262.com", true },
   { "xy6363.com", true },
@@ -57793,11 +60250,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "xybabyshop.com", true },
   { "xyenon.bid", true },
   { "xyfun.net", false },
+  { "xyj22.com", true },
   { "xylerfox.ca", true },
   { "xyloefarmoges.gr", true },
   { "xywing.com", true },
   { "xyz.blue", true },
   { "xyzulu.hosting", true },
+  { "xyzyz.xyz", true },
+  { "xyzzyyyz.com", true },
   { "xzclip.cn", true },
   { "xzibits.com", true },
   { "xzy.es", false },
@@ -57831,50 +60291,54 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "y68uu.com", true },
   { "y68yy.com", true },
   { "y68zz.com", true },
-  { "y70101.com", true },
-  { "y70102.com", true },
-  { "y70103.com", true },
-  { "y70104.com", true },
-  { "y70105.com", true },
-  { "y70301.com", true },
-  { "y70302.com", true },
-  { "y70303.com", true },
+  { "y70101.com", false },
+  { "y70102.com", false },
+  { "y70103.com", false },
+  { "y70104.com", false },
+  { "y70105.com", false },
+  { "y70301.com", false },
+  { "y70302.com", false },
+  { "y70303.com", false },
   { "y888.ag", true },
-  { "y890000.com", false },
-  { "y891111.com", false },
-  { "y893333.com", false },
-  { "y894444.com", false },
-  { "y896666.com", false },
-  { "y897777.com", false },
-  { "y89b.com", false },
-  { "y89c.com", false },
-  { "y89ccc.com", false },
-  { "y89dd.com", false },
-  { "y89e.com", false },
-  { "y89ee.com", false },
+  { "y890000.com", true },
+  { "y891111.com", true },
+  { "y893333.com", true },
+  { "y894444.com", true },
+  { "y896666.com", true },
+  { "y897777.com", true },
+  { "y89b.com", true },
+  { "y89c.com", true },
+  { "y89ccc.com", true },
+  { "y89dd.com", true },
+  { "y89e.com", true },
+  { "y89ee.com", true },
   { "y89fff.com", true },
-  { "y89g.com", false },
-  { "y89hhh.com", false },
-  { "y89i.net", false },
-  { "y89iii.com", false },
-  { "y89j.com", false },
-  { "y89j.net", false },
-  { "y89jj.com", false },
-  { "y89l.com", false },
-  { "y89m.com", false },
-  { "y89s.com", false },
-  { "y89v.com", false },
-  { "y89zz.com", false },
-  { "y9297.co", true },
+  { "y89g.com", true },
+  { "y89hhh.com", true },
+  { "y89i.net", true },
+  { "y89iii.com", true },
+  { "y89j.com", true },
+  { "y89j.net", true },
+  { "y89jj.com", true },
+  { "y89l.com", true },
+  { "y89m.com", true },
+  { "y89s.com", true },
+  { "y89v.com", true },
+  { "y89zz.com", true },
   { "ya.mk", true },
   { "yabuisha.jp", true },
   { "yachigoya.com", true },
+  { "yachta.kiev.ua", true },
+  { "yachtcita.com", true },
   { "yachtfolio.com", true },
   { "yachtfolio1.com", true },
   { "yachting-home.com", true },
   { "yachtlettering.com", true },
+  { "yachtmarket.com.ua", true },
+  { "yacineboumaza.fr", true },
   { "yacobo.com", true },
   { "yafuoku.ru", true },
+  { "yageys.com", true },
   { "yagmursoft.tk", true },
   { "yagoda-malina.tk", true },
   { "yahan.tv", true },
@@ -57885,6 +60349,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yakmade.com", true },
   { "yakmail.tech", true },
   { "yakmoo.se", true },
+  { "yalacoins.com", true },
   { "yalcinkaya.ninja", false },
   { "yallamotor.com", true },
   { "yalook.com", true },
@@ -57897,6 +60362,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yamei1188.com", true },
   { "yamei2233.com", true },
   { "yamei8866.com", true },
+  { "yamei98.com", true },
   { "yamei99.com", true },
   { "yamei9922.com", true },
   { "yamei9955.com", true },
@@ -57908,6 +60374,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yandere.moe", true },
   { "yangfamily.tw", true },
   { "yangjingwen.cn", true },
+  { "yangjingwen.com", true },
   { "yangmaodang.org", true },
   { "yangruixin.com", true },
   { "yanik.info", true },
@@ -57926,47 +60393,52 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yanservices.be", true },
   { "yantox.com", true },
   { "yantrasthal.com", true },
+  { "yao-in.com", true },
+  { "yao-in.net", true },
+  { "yao28.com", true },
   { "yap26.cc", true },
-  { "yapan008.com", true },
-  { "yapan1.com", true },
-  { "yapan10.com", true },
-  { "yapan11.com", true },
-  { "yapan2.com", true },
-  { "yapan22.com", true },
-  { "yapan222.com", true },
-  { "yapan3.com", true },
-  { "yapan33.com", true },
-  { "yapan333.com", true },
-  { "yapan365.net", true },
-  { "yapan4.com", true },
-  { "yapan44.com", true },
-  { "yapan444.com", true },
-  { "yapan5.com", true },
-  { "yapan55.com", true },
-  { "yapan555.com", true },
-  { "yapan6.com", true },
-  { "yapan66.com", true },
-  { "yapan666.com", true },
-  { "yapan7.com", true },
-  { "yapan77.com", true },
-  { "yapan777.com", true },
-  { "yapan888.com", true },
-  { "yapan9.com", true },
-  { "yapan99.com", true },
-  { "yapan999.com", true },
-  { "yapanwang.com", true },
+  { "yapan008.com", false },
+  { "yapan1.com", false },
+  { "yapan10.com", false },
+  { "yapan11.com", false },
+  { "yapan2.com", false },
+  { "yapan22.com", false },
+  { "yapan222.com", false },
+  { "yapan3.com", false },
+  { "yapan33.com", false },
+  { "yapan333.com", false },
+  { "yapan365.net", false },
+  { "yapan4.com", false },
+  { "yapan44.com", false },
+  { "yapan444.com", false },
+  { "yapan5.com", false },
+  { "yapan55.com", false },
+  { "yapan555.com", false },
+  { "yapan6.com", false },
+  { "yapan66.com", false },
+  { "yapan666.com", false },
+  { "yapan7.com", false },
+  { "yapan77.com", false },
+  { "yapan777.com", false },
+  { "yapan888.com", false },
+  { "yapan9.com", false },
+  { "yapan99.com", false },
+  { "yapan999.com", false },
+  { "yapanwang.com", false },
   { "yapbreak.fr", true },
   { "yapeal.ch", true },
   { "yappy.com", true },
-  { "yarapilates.com.br", true },
   { "yarcom.ru", false },
   { "yardesign.tk", true },
   { "yardley.digital", true },
+  { "yarnsub.com", true },
   { "yarravilletownhouses.com.au", true },
   { "yaru.one", true },
   { "yaseminuzumcu.com", true },
   { "yashik.tv", true },
+  { "yashinstore.com", true },
   { "yassine-ayari.com", true },
+  { "yatai18.com", true },
   { "yatesun.com", true },
   { "yatorie.net", true },
   { "yatstudios.com", true },
@@ -57979,9 +60451,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yaws.cf", true },
   { "yaxim.org", true },
   { "yayl888.com", true },
+  { "yayou.ag", true },
   { "ybdh88.com", true },
   { "ybin.me", true },
-  { "ybos.nl", true },
   { "ybresson.com", true },
   { "ybsul.com", true },
   { "ybti.net", true },
@@ -57990,25 +60462,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ycbmdevelopment.com", true },
   { "ycbmstaging.com", true },
   { "ych.art", true },
-  { "ycherbonnel.fr", true },
   { "ychon.com", true },
   { "yclan.net", true },
   { "ycnrg.org", true },
   { "ycwt.com", true },
-  { "yd163.cc", true },
-  { "yd169.cc", true },
   { "ydiversa.com", true },
   { "ydraulikos.top", true },
   { "ydyy99.com", true },
   { "yeah-shop.com.ua", true },
   { "yeahwu.com", true },
   { "yeapdata.com", true },
+  { "yearli.com", true },
   { "yecl.net", true },
   { "yeesker.com", true },
   { "yellowhawk.nl", true },
   { "yellowparachute.com", true },
-  { "yellowsquid.co.uk", true },
-  { "yellowsquid.uk", true },
+  { "yellowtree.co.za", true },
+  { "yellsy.com", true },
   { "yelon.hu", true },
   { "yelp.at", true },
   { "yelp.be", true },
@@ -58054,6 +60524,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yesiammaisey.me", true },
   { "yesildiyetisyen.com", true },
   { "yesod.in", true },
+  { "yesogovinpetcare.com", true },
   { "yesornut.com", true },
   { "yestees.com", true },
   { "yesteryear-chronicle.cf", true },
@@ -58067,52 +60538,55 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ygm.org.uk", true },
   { "ygobbs.com", true },
   { "ygrene.com", true },
+  { "ygreneworks.com", true },
   { "yh12366.com", true },
   { "yh56787.com", true },
   { "yh599.cc", true },
   { "yh811.com", true },
   { "yh98768.com", true },
+  { "yhanthydech.com", true },
   { "yhaupenthal.org", true },
   { "yhe.me", true },
   { "yhenke.de", true },
   { "yhfou.com", true },
-  { "yhhh.org", true },
   { "yhndnzj.com", true },
   { "yhrd.org", true },
+  { "yibei-original.com", true },
   { "yicipick.com", true },
-  { "yicivideo.com", true },
   { "yiff.forsale", true },
+  { "yify.online", true },
   { "yigujin.cn", true },
   { "yihouse.tw", true },
   { "yijia.support", true },
   { "yikeyong.com", true },
-  { "yiluup.com", true },
-  { "yimgo.fr", false },
   { "yinduyy.com", true },
   { "yinfor.com", true },
+  { "ying518.vip", true },
   { "yingatech.com", true },
   { "yinglinda.love", true },
-  { "yingyj.com", true },
   { "yinlei.org", true },
-  { "yinulo.com", true },
   { "yipingguo.com", true },
   { "yiyuanzhong.com", true },
-  { "yiyueread.com", true },
   { "yiz96.com", true },
   { "yjst.cn", true },
   { "ykn.fr", true },
-  { "ykqpw.com", true },
   { "yksityisyydensuoja.fi", true },
   { "yl366.cc", true },
   { "yl369.cc", true },
   { "ylde.de", true },
+  { "ylilauta.org", true },
   { "ylinternal.com", true },
   { "ym063.com", true },
+  { "ym087.com", true },
   { "ym181.com", true },
+  { "ym198.com", true },
+  { "ym516.com", true },
+  { "ym966.com", true },
   { "ymarion.de", true },
   { "ymatyt.com", true },
   { "ymoah.nl", true },
   { "ymtsonline.org", true },
+  { "yn.org.nz", true },
   { "yoa.st", true },
   { "yoast.com", true },
   { "yoba.co.uk", true },
@@ -58139,11 +60613,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yogaprague.com", true },
   { "yogaschoolrishikesh.com", true },
   { "yogaschule-herzraum.de", true },
-  { "yogeshbeniwal.com", false },
   { "yogshrihealing.com", true },
   { "yohanesmario.com", true },
   { "yoitoko.city", true },
   { "yoitsu.moe", true },
+  { "yokoda.okinawa", true },
   { "yokohama-legaloffice.jp", true },
   { "yolandgao.me", true },
   { "yolo.jetzt", true },
@@ -58155,10 +60629,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yombo.net", true },
   { "yomi.moe", true },
   { "yon.co.il", true },
-  { "yonema.com", true },
   { "yongbin.org", true },
+  { "yoogirls.com", true },
   { "yoonas.com", true },
-  { "yooomu.com", true },
   { "yooooex.com", true },
   { "yooptopian.com", true },
   { "yoppoy.com", true },
@@ -58170,7 +60643,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yorkshiredalesinflatables.co.uk", true },
   { "yorkshiregardensheds.co.uk", true },
   { "yorkshireinflatables.co.uk", true },
-  { "yorname.ml", false },
   { "yornik.nl", true },
   { "yosakoinight.com", true },
   { "yosbeda.com", true },
@@ -58186,20 +60658,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "youber.cz", true },
   { "youc.ir", true },
   { "youcanmakeit.at", true },
-  { "youcruit.com", true },
   { "youdamom.com", true },
   { "youdungoofd.com", true },
   { "yougee.ml", true },
   { "youhavewords.com", true },
-  { "youhs.top", true },
   { "youhua.ru", true },
   { "youkaryote.com", true },
   { "youkaryote.org", true },
   { "youked.com", true },
-  { "youmiracle.com", true },
   { "youmonit.me", true },
   { "youms.de", true },
-  { "younameit.ru", true },
   { "youneedfame.com", true },
   { "young-brahmousin.com", true },
   { "young-sheldon.com", true },
@@ -58212,7 +60680,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "youngvoicesmatter.org", true },
   { "youpark.no", true },
   { "youpickfarms.org", true },
-  { "your-dns.run", true },
   { "your-erotic-stories.com", true },
   { "your-forum.tk", true },
   { "your-out.com", true },
@@ -58227,6 +60694,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yourbittorrent2.com", true },
   { "yourbodyknows.dk", true },
   { "yourbodyknows.is", true },
+  { "yourbusinesscommunity.co.uk", true },
   { "yourcareerhost.com", true },
   { "yourciso.com", true },
   { "yourcleaningcompany.net", true },
@@ -58235,37 +60703,41 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "youreallyneedthis.co", true },
   { "youregeeks.com", true },
   { "yourforex.org", true },
+  { "yourfriendlytech.com", true },
   { "yourfuntrivia.com", true },
   { "yourfuturestrategy.com.au", true },
   { "yourgames.tv", true },
+  { "yourikeakitcheninstaller.com", true },
   { "yourkrabivilla.com", true },
   { "yourlanguages.de", true },
   { "yourloan.gq", true },
   { "yourmagicstory.tk", true },
   { "yourname.xyz", true },
   { "yourneighborhub.com", true },
+  { "youronly.one", true },
+  { "yourpalmbeachcountyrealtor.com", true },
   { "yourpersonalfrance.com", true },
   { "yourpocketbook.uk", true },
   { "yourscotlandtour.co.uk", true },
   { "yourskin.nl", true },
-  { "yourstage.nl", true },
   { "yourstake.org", true },
   { "yourticketbooking.com", true },
   { "yourtime.tv", true },
   { "yousei.ne.jp", true },
-  { "youshouldbealiberal.com", true },
   { "youth.gov", true },
-  { "youth2009.org", true },
   { "youthink.jp", true },
   { "youthrules.gov", true },
   { "youtous.me", true },
   { "youtube.com", true },
   { "youtubedownloader.com", true },
+  { "youtubekids.com", true },
   { "youtuberis.lt", true },
   { "youwatchporn.com", true },
   { "youyoulemon.com", true },
   { "yovko.net", true },
   { "yoxall.me.uk", true },
+  { "yoyoost.duckdns.org", true },
+  { "yoyoost.ga", true },
   { "ypart.eu", true },
   { "ypfr.fr", true },
   { "ypid.de", true },
@@ -58275,24 +60747,34 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yqjf68.com", true },
   { "yr166166.com", true },
   { "yr8.com", true },
-  { "yrjanheikki.com", true },
   { "yrx.me", true },
   { "ys633.cc", true },
   { "ys6888.cc", true },
-  { "ysicing.me", true },
   { "ysicorp.com", true },
   { "yslbeauty.com", true },
   { "ystream.tv", true },
+  { "yt220.com", true },
+  { "yt605.com", true },
+  { "yt606.com", true },
+  { "yt629.com", true },
+  { "yt653.com", true },
+  { "yt675.com", true },
+  { "yt818.com", true },
+  { "yt835.com", true },
+  { "yt839.com", true },
+  { "yt881.com", true },
+  { "yt892.com", true },
+  { "yt962.com", true },
+  { "yt972.com", true },
   { "ytcount.com", true },
   { "ytec.ca", true },
   { "ytreza.fr", true },
+  { "ytsdownload.com", true },
   { "ytx588.com", true },
-  { "yu.vc", true },
+  { "yu-mug.jp", true },
   { "yuan.ga", false },
-  { "yuan.nctu.me", true },
-  { "yuanbaohd.com", true },
   { "yuanben.io", true },
-  { "yubanmei.com", true },
+  { "yuanjiazhao.com", true },
   { "yubi.co", true },
   { "yubicloud.io", true },
   { "yubico.ae", true },
@@ -58348,16 +60830,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yubikeyservices.eu", true },
   { "yubiking.com", true },
   { "yue.la", true },
-  { "yue2.net", true },
+  { "yugami-lab.com", true },
+  { "yugasun.com", true },
   { "yugodi.com", true },
   { "yuhangq.me", true },
   { "yuhindo.com", true },
   { "yuimarukitchen.com", true },
+  { "yuisyo.ml", true },
   { "yukari.cafe", true },
-  { "yukari.cloud", true },
   { "yuki-nagato.com", true },
   { "yuki.xyz", true },
-  { "yukict.com", true },
   { "yukimochi.com", true },
   { "yukimochi.io", true },
   { "yukimochi.jp", true },
@@ -58366,22 +60848,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yukonlip.com", true },
   { "yukontec.com", true },
   { "yukoslibrary.ga", true },
+  { "yukozimo.com", true },
+  { "yule.hk", true },
   { "yuleyule88game.com", true },
+  { "yulliaschool.co.il", true },
+  { "yulsn.com", true },
   { "yumeconcert.com", true },
+  { "yumepolo.com", true },
   { "yumiandryan.com", true },
   { "yuncaioo.com", true },
   { "yunhu365.com", true },
   { "yunity.org", true },
   { "yunloc.com", true },
-  { "yunsoupian.vip", true },
   { "yunzhu.li", false },
-  { "yuqi.me", true },
   { "yura.cf", true },
   { "yuricarlenzoli.it", true },
   { "yurikirin.me", true },
   { "yurisviridov.com", true },
   { "yusa.me", true },
-  { "yushi.moe", true },
   { "yusu.org", true },
   { "yusukesakai.com", true },
   { "yutakato.net", true },
@@ -58396,27 +60880,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "yuyantang.club", true },
   { "yuyiyang.eu.org", true },
   { "yuyo.com", true },
-  { "yuzei.tk", true },
   { "yuzu-tee.de", true },
   { "yuzulia.com", true },
   { "yuzurisa.com", true },
-  { "yuzzamatuzz.co.uk", true },
   { "yvb.moe", true },
   { "yvesx.com", true },
   { "yvonnehaeusser.de", true },
   { "yvonnethomet.ch", true },
   { "yvonnewilhelmi.com", true },
   { "ywyz.tech", true },
+  { "yxbet43.com", true },
   { "yxt521.com", true },
-  { "yy-s.net", true },
-  { "yy366.cc", true },
-  { "yy369.cc", true },
+  { "yxzero.xyz", true },
   { "yy6.ag", true },
   { "yy8.ag", true },
-  { "yy9297.co", true },
-  { "yy9297.com", true },
   { "yyc.city", true },
   { "yycbike.info", true },
+  { "yyr.im", true },
   { "yyyy.xyz", true },
   { "yz86.cc", true },
   { "yzal.io", true },
@@ -58429,14 +60909,16 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "z-latko.info", true },
   { "z-vector.com", true },
   { "z.ai", true },
+  { "z.tl", true },
   { "z1.ag", true },
   { "z10.ag", true },
   { "z1h.de", true },
   { "z2.ag", true },
-  { "z33d.xyz", true },
+  { "z30365.com", true },
   { "z36533.com", true },
   { "z36594.com", true },
   { "z3u5.net", true },
+  { "z4-forum.com", true },
   { "z4.ag", true },
   { "z5.ag", true },
   { "z6.ag", true },
@@ -58511,18 +60993,17 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "z6897.com", true },
   { "z6912.com", true },
   { "z6925.com", true },
+  { "z6wang.com", true },
   { "z7.ag", true },
   { "z8.ag", true },
   { "z8017.com", true },
   { "z8023.com", true },
   { "z8078.com", true },
-  { "z8079.com", true },
   { "z8106.com", true },
   { "z8109.com", true },
   { "z8132.com", true },
   { "z8168.com", true },
   { "z8171.com", true },
-  { "z81818.com", true },
   { "z88.ag", true },
   { "z8857.com", true },
   { "z8861.com", true },
@@ -58536,7 +61017,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "z8909.com", true },
   { "z8917.com", true },
   { "z9.ag", true },
-  { "z9297.co", true },
   { "z99944x.xyz", true },
   { "za.search.yahoo.com", false },
   { "za12bxc3.com", true },
@@ -58545,7 +61025,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zabszk.net", true },
   { "zabukovnik.net", true },
   { "zacarias.com.ar", true },
-  { "zacavi.com.br", true },
   { "zacchaeus.co.uk", true },
   { "zach.codes", true },
   { "zacharopoulos.eu", true },
@@ -58571,7 +61050,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zahnarzt-drvogel.de", true },
   { "zahnarzt-duempten.de", true },
   { "zahnarzt-hofer.de", true },
-  { "zahnarzt-kramer.ch", true },
+  { "zahnarztpraxis-rusch.de", true },
   { "zahnmedizinzentrum.com", true },
   { "zahrowski.com", true },
   { "zaidan.de", true },
@@ -58591,25 +61070,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zakariya.blog", true },
   { "zakaz.cf", true },
   { "zakcutner.uk", true },
-  { "zakelijketaalcursus.nl", true },
   { "zakelijkgoedengelsleren.nl", true },
   { "zakladam.cz", true },
   { "zakmccrac.de", true },
   { "zakojifarm.jp", true },
   { "zakonu.net.ru", true },
   { "zakr.es", true },
+  { "zakrentus-ostrus.space", true },
   { "zakspartiesandevents.com", true },
   { "zala.ml", true },
   { "zalamea.ph", true },
   { "zaledia.com", true },
   { "zaloghaz.ro", false },
-  { "zalohovaniburian.cz", true },
   { "zaltv.com", true },
   { "zalure.com", true },
   { "zalvus.com", true },
   { "zamalektoday.com", true },
   { "zambianewsforum.tk", true },
-  { "zambranopublicidadvideo.com", true },
   { "zamenim.tk", true },
   { "zamow.co", true },
   { "zandcell.com", true },
@@ -58622,14 +61099,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zanzo.cz", true },
   { "zap-mag.ru", true },
   { "zapier.com", true },
-  { "zapmaster14.com", true },
   { "zappbuildapps.com", true },
   { "zappingarahal.tk", true },
   { "zapreaders.cf", true },
+  { "zaprefy.com", true },
   { "zarabiaj.com", true },
   { "zaracraft.tk", true },
   { "zaraweb.net", true },
   { "zarbis.tk", true },
+  { "zarfinakber.com", true },
   { "zargescases.co.uk", true },
   { "zaruhi.ml", true },
   { "zary.me", true },
@@ -58654,7 +61132,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zcrypto.ml", true },
   { "zcwtl.com", false },
   { "zczc.cz", true },
-  { "zd0808.com", true },
   { "zd1313.com", true },
   { "zd1515.com", true },
   { "zd1717.com", true },
@@ -58698,7 +61175,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zd306.com", true },
   { "zd307.com", true },
   { "zd3232.com", true },
-  { "zd3535.com", true },
   { "zd3939.com", true },
   { "zd4848.com", true },
   { "zd6.ag", true },
@@ -58728,7 +61204,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zd732.com", true },
   { "zd735.com", true },
   { "zd736.com", true },
-  { "zd739.com", true },
   { "zd752.com", true },
   { "zd753.com", true },
   { "zd756.com", true },
@@ -58753,10 +61228,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zd827.com", true },
   { "zd829.com", true },
   { "zd88.ag", true },
-  { "zd8828.com", true },
   { "zd8829.com", true },
   { "zd8832.com", true },
-  { "zd8835.com", true },
   { "zd8836.com", true },
   { "zd8853.com", true },
   { "zd8863.com", true },
@@ -58781,22 +61254,23 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zeanweb.tk", true },
   { "zebbra.ro", true },
   { "zebranolemagicien.net", true },
-  { "zeckenhilfe.de", true },
+  { "zeckenhilfe.de", false },
+  { "zecuur.nl", true },
   { "zedeko.pl", true },
   { "zeds-official.com", true },
   { "zeebrieshoekvanholland.nl", true },
   { "zeel.com", true },
   { "zeetoppers.nl", true },
-  { "zeguigui.com", true },
   { "zehkae.net", true },
   { "zehrailkeakyildiz.com", false },
   { "zeibekiko-souvlaki.gr", true },
   { "zeidlertechnik.de", true },
+  { "zeihsel.com", true },
   { "zeilenmethans.nl", true },
   { "zeilenwind.com", true },
-  { "zeilles.nu", true },
+  { "zeit.co", true },
+  { "zeit.sh", true },
   { "zeitpunkt-kulturmagazin.de", true },
-  { "zeiw.me", true },
   { "zekesnider.com", true },
   { "zekinteractive.com", true },
   { "zell-mbc.com", true },
@@ -58806,9 +61280,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zen-zone.tk", true },
   { "zena.cx", false },
   { "zenassociates.com", true },
+  { "zenavita.com", true },
   { "zenchain.com", true },
   { "zenevents.ro", true },
-  { "zenghx.tk", false },
+  { "zenghx.tk", true },
   { "zenideen.com", true },
   { "zenideen.net", true },
   { "zenidees.com", true },
@@ -58816,14 +61291,13 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zenk-security.com", true },
   { "zenlogic.com", true },
   { "zenluxuryliving.com", true },
-  { "zeno-dev.com", true },
   { "zenofa.co.id", true },
+  { "zenown.com", true },
   { "zenti.cloud", true },
   { "zentraler-kreditausschuss.de", true },
-  { "zenvideocloud.com", true },
   { "zenvite.com", true },
   { "zenways.io", true },
-  { "zeocax.com", true },
+  { "zeocax.com", false },
   { "zephyrbk.com", true },
   { "zephyrbookkeeping.com", true },
   { "zephyretcoraline.com", true },
@@ -58837,16 +61311,18 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zerobajt.pl", true },
   { "zerobounce.net", true },
   { "zerocash.msk.ru", true },
-  { "zerocz.eu", true },
+  { "zerocz.eu", false },
   { "zerofy.de", true },
+  { "zerolab.org", true },
+  { "zeromedia.co.id", true },
   { "zeronet.io", true },
   { "zeropoint.bg", true },
   { "zeropush.com", true },
   { "zerosector.io", true },
   { "zeroseteatacado.com.br", true },
   { "zerossl.com", true },
-  { "zerosync.com", true },
   { "zerotoone.de", true },
+  { "zerox-security.online", true },
   { "zertitude.com", true },
   { "zeryn.net", true },
   { "zespia.tw", true },
@@ -58859,28 +61335,28 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zettaplan.ru", true },
   { "zettlmeissl.de", true },
   { "zety.com", true },
+  { "zety.es", true },
+  { "zety.fr", true },
   { "zeus.gent", true },
   { "zeusec.co.jp", true },
   { "zevelev.net", true },
   { "zeyi.fan", true },
-  { "zezeatolye.com", true },
   { "zf1898.com", true },
   { "zfast.com.br", true },
   { "zfg.li", true },
   { "zfj.hk", true },
   { "zfj.la", true },
   { "zfree.co.nz", true },
-  { "zfyl8.com", true },
+  { "zfxhzc.blog", true },
   { "zg-dyw.net", true },
-  { "zgndh.com", true },
   { "zgrep.org", true },
   { "zh.search.yahoo.com", false },
   { "zhabababa.gq", true },
+  { "zhainanyouhuo.com", true },
   { "zhan.moe", true },
   { "zhang-hao.com", true },
   { "zhang.fm", true },
   { "zhang.ge", true },
-  { "zhang.nz", true },
   { "zhangcheng.org", true },
   { "zhangfangzhou.com", true },
   { "zhanghao.me", true },
@@ -58890,7 +61366,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zhangsidan.com", true },
   { "zhangwendao.com", true },
   { "zhangxuhu.com", true },
-  { "zhaoeq.com", true },
   { "zhaofeng.li", true },
   { "zhaopage.com", true },
   { "zhaostephen.com", true },
@@ -58902,14 +61377,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zhengjie.com", true },
   { "zhengzihan.com", true },
   { "zhenic.ir", true },
+  { "zhenn.fr", true },
   { "zhestokiemechtyi.tk", true },
   { "zhih.me", true },
   { "zhihe.in", true },
+  { "zhihua-lai.com", true },
   { "zhiin.net", true },
   { "zhima.io", true },
   { "zhimingwang.org", true },
   { "zhina.org", true },
-  { "zhina.wiki", true },
   { "zhis.eu", true },
   { "zhis.ltd", true },
   { "zhitanska.com", true },
@@ -58917,20 +61393,21 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zhiyuan.cloud", true },
   { "zhl123.cn", true },
   { "zhl123.com", true },
-  { "zhongxigo.com", true },
   { "zhost.io", true },
-  { "zhou28d88vip.com", true },
   { "zhouba.cz", true },
   { "zhoushuo.me", false },
   { "zhovner.com", true },
   { "zhuihoude.com", true },
   { "zhuji.com", true },
+  { "zhuji.com.cn", true },
+  { "zhuji5.com", true },
   { "zhujiceping.com", true },
   { "zhuktrans.msk.ru", true },
   { "zhurnalyu.ga", true },
   { "zhy.us", true },
   { "zi.is", true },
   { "zi5.net", true },
+  { "zidanpainting.com", true },
   { "ziegler-heizung-frankfurt.de", true },
   { "zielonakarta.com", true },
   { "ziemlich-zackig.de", true },
@@ -58943,15 +61420,15 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zigottos.fr", true },
   { "zigzagmart.com", true },
   { "zihao.me", false },
-  { "zihun.club", true },
   { "zii.bz", true },
   { "zijemvedu.sk", true },
-  { "zijung.me", true },
+  { "zijinbor.com", true },
   { "zikinf.com", true },
   { "ziledelaultimagafaavioricai.ro", true },
   { "zillertaleralpen.net", true },
   { "zilore.com", true },
   { "zilsen.com", true },
+  { "zilv.life", true },
   { "zima.io", true },
   { "zimaoxy.com", true },
   { "zimiao.moe", true },
@@ -58970,6 +61447,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "ziondrive.com.br", true },
   { "zionnationalpark.net", true },
   { "zionsvillelocksmiths.com", true },
+  { "zipextractor.com", true },
   { "zipfworks.com", true },
   { "zipkey.de", true },
   { "zircode.com", true },
@@ -58994,27 +61472,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zixin.com", true },
   { "zizibook.ml", true },
   { "zjateaucafe.be", true },
-  { "zjv.me", true },
+  { "zjy7722.ml", true },
   { "zk.gd", true },
   { "zk9.nl", true },
-  { "zkd.me", true },
+  { "zklokotskehory.cz", true },
   { "zkontrolujsiauto.cz", true },
+  { "zkwolf.top", true },
   { "zkzone.net", true },
+  { "zl0101.com", true },
   { "zl016.com", true },
   { "zl0303.com", true },
-  { "zl0505.com", true },
   { "zl056.com", true },
   { "zl0606.com", true },
-  { "zl071.com", true },
-  { "zl0909.com", true },
   { "zl0iu.com", true },
   { "zl0sz.com", true },
-  { "zl1212.com", true },
-  { "zl2020.com", true },
-  { "zl2020.vip", true },
-  { "zl3737.com", true },
-  { "zl4231.com", true },
-  { "zl4290.com", true },
   { "zl5151.com", true },
   { "zl6.ag", true },
   { "zl6565.com", true },
@@ -59032,7 +61503,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zl861.com", true },
   { "zl8686.com", true },
   { "zl88.ag", true },
-  { "zl883.com", true },
   { "zl8849.com", true },
   { "zl8862.com", true },
   { "zl888.ag", true },
@@ -59046,16 +61516,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zlatan-ibrahimovic.tk", true },
   { "zlatom.ru", true },
   { "zlatosnadno.cz", true },
-  { "zlaty-tyden.cz", true },
-  { "zlatytyden.cz", true },
   { "zlavomat.sk", true },
   { "zlhuodong.vip", true },
   { "zlima12.com", true },
-  { "zlogic.xyz", true },
-  { "zlol.lg.ua", true },
+  { "zlonov.ru", true },
   { "zlotykameleon.tk", true },
   { "zloybot.tk", true },
-  { "zlypi.com", true },
   { "zmarta.de", true },
   { "zmarta.dk", true },
   { "zmarta.fi", true },
@@ -59073,9 +61539,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "znanie-sila.tk", true },
   { "znanje.gq", true },
   { "znation.nl", true },
+  { "znbr.com", true },
+  { "zngay.com", true },
   { "znhglobalresources.com", true },
   { "znich.tk", true },
   { "znidar.org", true },
+  { "znn.co.jp", true },
   { "znti.de", true },
   { "zoarcampsite.uk", true },
   { "zobraz.cz", true },
@@ -59086,14 +61555,20 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zockenbiszumumfallen.de", true },
   { "zodiacohouses.com", true },
   { "zodian-research.ro", true },
+  { "zoedale.co.uk", true },
   { "zoeller.me", true },
   { "zoepolitics.cf", true },
+  { "zof.kh.ua", true },
   { "zofran-medication.cf", true },
   { "zofrancost.ga", true },
   { "zofranprice.ga", true },
+  { "zoftbaby.com", true },
+  { "zohair.xyz", true },
   { "zohar.wang", true },
+  { "zohra.ninja", true },
   { "zoigl.club", true },
   { "zoisfinefood.com", true },
+  { "zoisfinefood.fr", true },
   { "zojadravai.com", true },
   { "zok-ambicija.tk", true },
   { "zoki.art", true },
@@ -59103,21 +61578,24 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zoloftmedication.gq", true },
   { "zoloftpills.tk", true },
   { "zoloftprice.cf", true },
+  { "zolotoy-standart.com.ua", true },
   { "zolushka-1950.tk", true },
   { "zom.bi", true },
   { "zombie-40th.com", true },
+  { "zombie.cam", true },
   { "zombiesecured.com", true },
   { "zombmage.tk", true },
   { "zomerschoen.nl", true },
   { "zomiac.pp.ua", true },
   { "zonadigital.co", true },
   { "zonaperu.tk", true },
+  { "zondervanacademic.com", true },
+  { "zone39.com", true },
   { "zonecb.com", true },
   { "zonehomesolutions.com", true },
   { "zonemaster.fr", true },
   { "zonemaster.net", true },
   { "zonesec.org", true },
-  { "zonewatcher.com", true },
   { "zonglovani.info", true },
   { "zonky.cz", true },
   { "zonky.de", true },
@@ -59129,7 +61607,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zoola.io", true },
   { "zoolaboo.de", true },
   { "zoom.earth", true },
-  { "zoomek.com", true },
   { "zooom.azurewebsites.net", true },
   { "zoop.ml", false },
   { "zooplankton.no", true },
@@ -59159,7 +61636,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zozzle.co.uk", true },
   { "zp.do", true },
   { "zp25.ninja", true },
-  { "zqzx.xyz", true },
   { "zravyobrazky.cz", true },
   { "zravypapir.cz", true },
   { "zrhdwz.cn", true },
@@ -59167,11 +61643,10 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zrniecka-pre-sny.sk", true },
   { "zrnieckapresny.sk", true },
   { "zrs-meissen.de", true },
-  { "zry-blog.top", true },
   { "zs-reporyje.cz", true },
-  { "zs6688.cc", true },
   { "zscales.com", false },
   { "zselicivt.hu", true },
+  { "zserver.fr", true },
   { "zskomenskeho.cz", true },
   { "zskomenskeho.eu", true },
   { "zsolti.hu", true },
@@ -59179,10 +61654,12 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zsq.im", true },
   { "zstgmnachod.cz", true },
   { "zten.org", true },
+  { "ztickerz.nl", true },
   { "ztk.im", true },
+  { "ztsns.com", true },
+  { "zubar.bg", true },
   { "zubel.it", false },
   { "zubr.net", true },
-  { "zuenkov.com", true },
   { "zug-anwalt.de", false },
   { "zugfahrplan.com", true },
   { "zughilfen-test.de", true },
@@ -59192,8 +61669,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zula.africa", true },
   { "zulu.ro", true },
   { "zum-baur.de", true },
-  { "zumazar.ru", true },
+  { "zum-ziegenhainer.de", true },
   { "zumberak.tk", true },
+  { "zumtaedanceschool.co.za", true },
   { "zumub.com", true },
   { "zund-app.com", true },
   { "zundapp.one", true },
@@ -59202,12 +61680,14 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zunlong0.com", true },
   { "zuolan.me", false },
   { "zupago.pe", true },
-  { "zuppy.pm", true },
+  { "zupit.it", true },
   { "zupzup.org", true },
   { "zuralski.net", true },
   { "zurgl.com", false },
   { "zurlin.de", true },
   { "zusjesvandenbos.nl", true },
+  { "zusterjansen.nl", true },
+  { "zuzannastrycharska.pl", true },
   { "zuzumba.es", true },
   { "zverskij-site.tk", true },
   { "zvps.uk", true },
@@ -59217,6 +61697,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zwergenfreiheit.at", true },
   { "zwerimex.com", true },
   { "zwierslanguagetraining.nl", true },
+  { "zwilla.de", true },
   { "zwk.de", true },
   { "zwollemag.nl", true },
   { "zwollemagazine.nl", true },
@@ -59224,7 +61705,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zx6rninja.de", true },
   { "zx7r.de", true },
   { "zxfiles.tk", true },
-  { "zxtcode.com", true },
   { "zy.md", true },
   { "zy.si", true },
   { "zybbo.com", true },
@@ -59232,7 +61712,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zyciedogorynogami.pl", true },
   { "zydronium.com", true },
   { "zydronium.nl", true },
-  { "zygozoon.com", true },
+  { "zyellowbox.com", true },
   { "zylai.com", true },
   { "zymmm.com", true },
   { "zypern-firma.com", true },
@@ -59241,6 +61721,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
   { "zyzardx.com", true },
   { "zyzsdy.com", true },
   { "zz342.com", true },
+  { "zz772.com", true },
   { "zz9297.co", true },
   { "zz993.com", true },
   { "zzekj.net", true },
diff --git a/security/manager/tools/getHSTSPreloadList.js b/security/manager/tools/getHSTSPreloadList.js
index 42d4da067d..cf56146513 100644
--- a/security/manager/tools/getHSTSPreloadList.js
+++ b/security/manager/tools/getHSTSPreloadList.js
@@ -275,6 +275,7 @@ function output(sortedStatuses, currentList) {
     writeTo(getExpirationTimeString(), fos);
     writeTo(PREFIX, fos);
 
+    dump("INFO: Removing error-state sites from list\n");
     for (let status in sortedStatuses) {
       // If we've encountered an error for this entry (other than the site not
       // sending an HSTS header), be safe and remove it from the list
@@ -283,28 +284,30 @@ function output(sortedStatuses, currentList) {
           status.error != ERROR_NO_HSTS_HEADER &&
           status.error != ERROR_MAX_AGE_TOO_LOW &&
           status.name in currentList) {
-        dump("INFO: error connecting to or processing " + status.name + " - dropping from list\n");
+        // dump("INFO: error connecting to or processing " + status.name + " - dropping from list\n");
         writeTo(status.name + ": " + errorToString(status) + "\n", eos);
         status.maxAge = 0;
       }
     }
 
     // Filter out entries we aren't including.
+    dump("INFO: Filtering out entries we aren't including...\n");
     var includedStatuses = sortedStatuses.filter(function (status) {
       if (status.maxAge < MINIMUM_REQUIRED_MAX_AGE && !status.forceInclude) {
-        dump("INFO: " + status.name + " NOT ON the preload list\n");
+        // dump("INFO: " + status.name + " NOT ON the preload list\n");
         writeTo(status.name + ": " + errorToString(status) + "\n", eos);
         return false;
       }
 
-      dump("INFO: " + status.name + " ON the preload list\n");
+      // dump("INFO: " + status.name + " ON the preload list\n");
       if (status.forceInclude && status.error != ERROR_NONE) {
         writeTo(status.name + ": " + errorToString(status) + " (error "
                 + "ignored - included regardless)\n", eos);
       }
       return true;
     });
-
+    
+    dump("INFO: Writing statuses to file...\n");
     for (var status of includedStatuses) {
       writeEntry(status, fos);
     }
diff --git a/storage/SQLiteMutex.h b/storage/SQLiteMutex.h
index a38525fd6d..eaa69eab1f 100644
--- a/storage/SQLiteMutex.h
+++ b/storage/SQLiteMutex.h
@@ -50,7 +50,7 @@ public:
     mMutex = aMutex;
   }
 
-#if !defined(DEBUG) || defined(MOZ_SYSTEM_SQLITE)
+#if !defined(DEBUG)
   /**
    * Acquires the mutex.
    */
diff --git a/storage/moz.build b/storage/moz.build
index 5ccfabd715..2d30a85eca 100644
--- a/storage/moz.build
+++ b/storage/moz.build
@@ -100,10 +100,6 @@ if CONFIG['MOZ_MEMORY']:
 DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000
 
 # See Sqlite moz.build for reasoning about TEMP_STORE.
-# For system sqlite we cannot use the compile time option, so we use a pragma.
-if CONFIG['MOZ_SYSTEM_SQLITE'] and (CONFIG['OS_TARGET'] == 'Android'
-                                    or CONFIG['HAVE_64BIT_BUILD']):
-    DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True
 
 LOCAL_INCLUDES += [
     '/db/sqlite3/src',
diff --git a/toolkit/content/aboutProfiles.js b/toolkit/content/aboutProfiles.js
index cddf888191..29c5f67ad7 100644
--- a/toolkit/content/aboutProfiles.js
+++ b/toolkit/content/aboutProfiles.js
@@ -8,7 +8,6 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 Cu.import('resource://gre/modules/Services.jsm');
 Cu.import('resource://gre/modules/XPCOMUtils.jsm');
-Cu.import('resource://gre/modules/AppConstants.jsm');
 
 XPCOMUtils.defineLazyServiceGetter(
   this,
@@ -130,12 +129,13 @@ function display(profileData) {
     if (dir) {
       td.appendChild(document.createTextNode(' '));
       let button = document.createElement('button');
+#ifdef XP_WIN
+      let string = 'winOpenDir2';
+#elifdef XP_MACOSX
+      let string = 'macOpenDir';
+#else
       let string = 'openDir';
-      if (AppConstants.platform == "win") {
-        string = 'winOpenDir2';
-      } else if (AppConstants.platform == "macosx") {
-        string = 'macOpenDir';
-      }
+#endif  
       let buttonText = document.createTextNode(bundle.GetStringFromName(string));
       button.appendChild(buttonText);
       td.appendChild(button);
diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
index dd39bed17d..bb2c3377aa 100644
--- a/toolkit/content/aboutSupport.js
+++ b/toolkit/content/aboutSupport.js
@@ -10,7 +10,6 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/Troubleshoot.jsm");
 Cu.import("resource://gre/modules/ResetProfile.jsm");
-Cu.import("resource://gre/modules/AppConstants.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "PluralForm",
                                   "resource://gre/modules/PluralForm.jsm");
@@ -42,7 +41,7 @@ var snapshotFormatters = {
     $("os-box").textContent = data.osVersion;
     $("binary-box").textContent = Services.dirsvc.get("XREExeF", Ci.nsIFile).path;
     $("supportLink").href = data.supportURL;
-    let version = AppConstants.MOZ_APP_VERSION_DISPLAY;
+    let version = Services.appinfo.version;
     if (data.versionArch) {
       version += " (" + data.versionArch + ")";
     }
@@ -223,23 +222,23 @@ var snapshotFormatters = {
       delete data.info;
     }
 
-    if (AppConstants.NIGHTLY_BUILD) {
-      let windowUtils = window.QueryInterface(Ci.nsIInterfaceRequestor)
-                              .getInterface(Ci.nsIDOMWindowUtils);
-      let gpuProcessPid = windowUtils.gpuProcessPid;
+#ifdef NIGHTLY_BUILD
+    let windowUtils = window.QueryInterface(Ci.nsIInterfaceRequestor)
+                            .getInterface(Ci.nsIDOMWindowUtils);
+    let gpuProcessPid = windowUtils.gpuProcessPid;
 
-      if (gpuProcessPid != -1) {
-        let gpuProcessKillButton = $.new("button");
+    if (gpuProcessPid != -1) {
+      let gpuProcessKillButton = $.new("button");
 
-        gpuProcessKillButton.addEventListener("click", function() {
-          windowUtils.terminateGPUProcess();
-        });
+      gpuProcessKillButton.addEventListener("click", function() {
+        windowUtils.terminateGPUProcess();
+      });
 
-        gpuProcessKillButton.textContent = strings.GetStringFromName("gpuProcessKillButton");
-        addRow("diagnostics", "GPUProcessPid", gpuProcessPid);
-        addRow("diagnostics", "GPUProcess", [gpuProcessKillButton]);
-      }
+      gpuProcessKillButton.textContent = strings.GetStringFromName("gpuProcessKillButton");
+      addRow("diagnostics", "GPUProcessPid", gpuProcessPid);
+      addRow("diagnostics", "GPUProcess", [gpuProcessKillButton]);
     }
+#endif
 
     // graphics-failures-tbody tbody
     if ("failures" in data) {
@@ -609,15 +608,15 @@ function copyRawDataToClipboard(button) {
       Cc["@mozilla.org/widget/clipboard;1"].
         getService(Ci.nsIClipboard).
         setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
-      if (AppConstants.platform == "android") {
-        // Present a toast notification.
-        let message = {
-          type: "Toast:Show",
-          message: stringBundle().GetStringFromName("rawDataCopied"),
-          duration: "short"
-        };
-        Services.androidBridge.handleGeckoMessage(message);
-      }
+#ifdef MOZ_WIDGET_ANDROID
+      // Present a toast notification.
+      let message = {
+        type: "Toast:Show",
+        message: stringBundle().GetStringFromName("rawDataCopied"),
+        duration: "short"
+      };
+      Services.androidBridge.handleGeckoMessage(message);
+#endif
     });
   }
   catch (err) {
@@ -663,15 +662,15 @@ function copyContentsToClipboard() {
                     .getService(Ci.nsIClipboard);
   clipboard.setData(transferable, null, clipboard.kGlobalClipboard);
 
-  if (AppConstants.platform == "android") {
-    // Present a toast notification.
-    let message = {
-      type: "Toast:Show",
-      message: stringBundle().GetStringFromName("textCopied"),
-      duration: "short"
-    };
-    Services.androidBridge.handleGeckoMessage(message);
-  }
+#ifdef MOZ_WIDGET_ANDROID
+  // Present a toast notification.
+  let message = {
+    type: "Toast:Show",
+    message: stringBundle().GetStringFromName("textCopied"),
+    duration: "short"
+  };
+  Services.androidBridge.handleGeckoMessage(message);
+#endif
 }
 
 // Return the plain text representation of an element.  Do a little bit
@@ -680,10 +679,10 @@ function createTextForElement(elem) {
   let serializer = new Serializer();
   let text = serializer.serialize(elem);
 
+#ifdef XP_WIN
   // Actual CR/LF pairs are needed for some Windows text editors.
-  if (AppConstants.platform == "win") {
-    text = text.replace(/\n/g, "\r\n");
-  }
+  text = text.replace(/\n/g, "\r\n");
+#endif
 
   return text;
 }
diff --git a/toolkit/content/aboutTelemetry.js b/toolkit/content/aboutTelemetry.js
index c73a979c6f..0829fe7e26 100644
--- a/toolkit/content/aboutTelemetry.js
+++ b/toolkit/content/aboutTelemetry.js
@@ -19,9 +19,6 @@ Cu.import("resource://gre/modules/Preferences.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Task.jsm");
 
-XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
-                                  "resource://gre/modules/AppConstants.jsm");
-
 const Telemetry = Services.telemetry;
 const bundle = Services.strings.createBundle(
   "chrome://global/locale/aboutTelemetry.properties");
@@ -236,17 +233,17 @@ var Settings = {
     let elements = document.getElementsByClassName("change-data-choices-link");
     for (let el of elements) {
       el.addEventListener("click", function() {
-        if (AppConstants.platform == "android") {
-          Cu.import("resource://gre/modules/Messaging.jsm");
-          Messaging.sendRequest({
-            type: "Settings:Show",
-            resource: "preferences_privacy",
-          });
-        } else {
-          // Show the data choices preferences on desktop.
-          let mainWindow = getMainWindowWithPreferencesPane();
-          mainWindow.openAdvancedPreferences("dataChoicesTab");
-        }
+#ifdef MOZ_WIDGET_ANDROID
+        Cu.import("resource://gre/modules/Messaging.jsm");
+        Messaging.sendRequest({
+          type: "Settings:Show",
+          resource: "preferences_privacy",
+        });
+#else
+        // Show the data choices preferences on desktop.
+        let mainWindow = getMainWindowWithPreferencesPane();
+        mainWindow.openAdvancedPreferences("dataChoicesTab");
+#endif
       }, false);
     }
   },
diff --git a/toolkit/content/browser-child.js b/toolkit/content/browser-child.js
index 7d0fe18c5f..ffb07dde2a 100644
--- a/toolkit/content/browser-child.js
+++ b/toolkit/content/browser-child.js
@@ -7,7 +7,6 @@ var Ci = Components.interfaces;
 var Cu = Components.utils;
 var Cr = Components.results;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/BrowserUtils.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import('resource://gre/modules/XPCOMUtils.jsm');
diff --git a/toolkit/content/contentAreaUtils.js b/toolkit/content/contentAreaUtils.js
index 736fb7dfc5..2512804fab 100644
--- a/toolkit/content/contentAreaUtils.js
+++ b/toolkit/content/contentAreaUtils.js
@@ -24,8 +24,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "Task",
                                   "resource://gre/modules/Task.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Deprecated",
                                   "resource://gre/modules/Deprecated.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
-                                  "resource://gre/modules/AppConstants.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "NetUtil",
                                   "resource://gre/modules/NetUtil.jsm");
 
@@ -1161,10 +1159,10 @@ function getNormalizedLeafName(aFile, aDefaultExtension)
   if (!aDefaultExtension)
     return aFile;
 
-  if (AppConstants.platform == "win") {
-    // Remove trailing dots and spaces on windows
-    aFile = aFile.replace(/[\s.]+$/, "");
-  }
+#ifdef XP_WIN
+  // Remove trailing dots and spaces on windows
+  aFile = aFile.replace(/[\s.]+$/, "");
+#endif
 
   // Remove leading dots
   aFile = aFile.replace(/^\.+/, "");
diff --git a/toolkit/content/customizeToolbar.js b/toolkit/content/customizeToolbar.js
index 7400aaadc6..05151b905d 100644
--- a/toolkit/content/customizeToolbar.js
+++ b/toolkit/content/customizeToolbar.js
@@ -12,7 +12,6 @@ var gToolboxSheet = false;
 var gPaletteBox = null;
 
 Components.utils.import("resource://gre/modules/Services.jsm");
-Components.utils.import("resource://gre/modules/AppConstants.jsm");
 
 function onLoad()
 {
@@ -213,10 +212,10 @@ function wrapToolbarItems()
 {
   forEachCustomizableToolbar(function (toolbar) {
     Array.forEach(toolbar.childNodes, function (item) {
-      if (AppConstants.platform == "macosx") {
-        if (item.firstChild && item.firstChild.localName == "menubar")
-          return;
-      }
+#ifdef XP_MACOSX
+      if (item.firstChild && item.firstChild.localName == "menubar")
+        return;
+#endif
       if (isToolbarItem(item)) {
         let wrapper = wrapToolbarItem(item);
         cleanupItemForToolbar(item, wrapper);
diff --git a/toolkit/content/globalOverlay.js b/toolkit/content/globalOverlay.js
index 1df3d65fc1..d8467f0a12 100644
--- a/toolkit/content/globalOverlay.js
+++ b/toolkit/content/globalOverlay.js
@@ -4,32 +4,32 @@
 
 function closeWindow(aClose, aPromptFunction)
 {
-  let { AppConstants } = Components.utils.import("resource://gre/modules/AppConstants.jsm");
-
+#ifdef XP_MACOSX
   // Closing the last window doesn't quit the application on OS X.
-  if (AppConstants.platform != "macosx") {
-    var windowCount = 0;
-    var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
-                       .getService(Components.interfaces.nsIWindowMediator);
-    var e = wm.getEnumerator(null);
-
-    while (e.hasMoreElements()) {
-      var w = e.getNext();
-      if (w.closed) {
-        continue;
-      }
-      if (++windowCount == 2)
-        break;
-    }
-
-    // If we're down to the last window and someone tries to shut down, check to make sure we can!
-    if (windowCount == 1 && !canQuitApplication("lastwindow"))
-      return false;
-    if (windowCount != 1 && typeof(aPromptFunction) == "function" && !aPromptFunction())
-      return false;
-  } else if (typeof(aPromptFunction) == "function" && !aPromptFunction()) {
+  if (typeof(aPromptFunction) == "function" && !aPromptFunction()) {
     return false;
   }
+#else
+  var windowCount = 0;
+  var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
+                     .getService(Components.interfaces.nsIWindowMediator);
+  var e = wm.getEnumerator(null);
+
+  while (e.hasMoreElements()) {
+    var w = e.getNext();
+    if (w.closed) {
+      continue;
+    }
+    if (++windowCount == 2)
+      break;
+  }
+
+  // If we're down to the last window and someone tries to shut down, check to make sure we can!
+  if (windowCount == 1 && !canQuitApplication("lastwindow"))
+    return false;
+  if (windowCount != 1 && typeof(aPromptFunction) == "function" && !aPromptFunction())
+    return false;
+#endif
 
   if (aClose) {
     window.close();
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
index 5bf6440be8..e8d376e881 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -20,7 +20,7 @@ toolkit.jar:
    content/global/aboutNetworking.js
    content/global/aboutNetworking.xhtml
 #ifndef ANDROID
-   content/global/aboutProfiles.js
+*  content/global/aboutProfiles.js
    content/global/aboutProfiles.xhtml
 #endif
    content/global/aboutServiceWorkers.js
@@ -32,18 +32,18 @@ toolkit.jar:
 #endif
 *  content/global/aboutSupport.js
 *  content/global/aboutSupport.xhtml
-   content/global/aboutTelemetry.js
+*  content/global/aboutTelemetry.js
    content/global/aboutTelemetry.xhtml
    content/global/aboutTelemetry.css
    content/global/directionDetector.html
    content/global/plugins.html
    content/global/plugins.css
-   content/global/browser-child.js
+*  content/global/browser-child.js
    content/global/browser-content.js
 *  content/global/buildconfig.html
-   content/global/contentAreaUtils.js
+*  content/global/contentAreaUtils.js
    content/global/customizeToolbar.css
-   content/global/customizeToolbar.js
+*  content/global/customizeToolbar.js
    content/global/customizeToolbar.xul
    content/global/datepicker.xhtml
    content/global/editMenuOverlay.js
@@ -52,7 +52,7 @@ toolkit.jar:
 *  content/global/finddialog.xul
    content/global/findUtils.js
    content/global/filepicker.properties
-   content/global/globalOverlay.js
+*  content/global/globalOverlay.js
    content/global/mozilla.xhtml
 #ifdef MOZ_PHOENIX
    content/global/logopage.xhtml
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
index 85a7351ba3..3056799f0e 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -195,15 +195,9 @@ if CONFIG['SERVO_TARGET_DIR']:
 if CONFIG['MOZ_SYSTEM_JPEG']:
     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
 
-if CONFIG['MOZ_SYSTEM_PNG']:
-    OS_LIBS += CONFIG['MOZ_PNG_LIBS']
-
 if CONFIG['MOZ_SYSTEM_HUNSPELL']:
     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
 
-if CONFIG['MOZ_SYSTEM_LIBVPX']:
-    OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
-
 if not CONFIG['MOZ_TREE_PIXMAN']:
     OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
 
diff --git a/toolkit/modules/LightweightThemeConsumer.jsm b/toolkit/modules/LightweightThemeConsumer.jsm
index cd456eac2e..325f711b78 100644
--- a/toolkit/modules/LightweightThemeConsumer.jsm
+++ b/toolkit/modules/LightweightThemeConsumer.jsm
@@ -8,7 +8,6 @@ const {utils: Cu} = Components;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/AppConstants.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "LightweightThemeImageOptimizer",
   "resource://gre/modules/addons/LightweightThemeImageOptimizer.jsm");
@@ -148,12 +147,13 @@ LightweightThemeConsumer.prototype = {
         footer.removeAttribute("lwthemefooter");
     }
 
+#ifdef XP_MACOSX
     // On OS X, we extend the lightweight theme into the titlebar, which means setting
     // the chromemargin attribute. Some XUL applications already draw in the titlebar,
     // so we need to save the chromemargin value before we overwrite it with the value
     // that lets us draw in the titlebar. We stash this value on the root attribute so
     // that XUL applications have the ability to invalidate the saved value.
-    if (AppConstants.platform == "macosx" && stateChanging) {
+    if (stateChanging) {
       if (!root.hasAttribute("chromemargin-nonlwtheme")) {
         root.setAttribute("chromemargin-nonlwtheme", root.getAttribute("chromemargin"));
       }
@@ -169,6 +169,7 @@ LightweightThemeConsumer.prototype = {
         }
       }
     }
+#endif
     Services.obs.notifyObservers(this._win, "lightweight-theme-window-updated",
                                  JSON.stringify(aData));
   }
diff --git a/toolkit/modules/ResetProfile.jsm b/toolkit/modules/ResetProfile.jsm
index c1839af4ff..25ab8b9661 100644
--- a/toolkit/modules/ResetProfile.jsm
+++ b/toolkit/modules/ResetProfile.jsm
@@ -9,14 +9,21 @@ this.EXPORTED_SYMBOLS = ["ResetProfile"];
 const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/AppConstants.jsm");
 
-// For Basilisk and Pale Moon
-// Hard-code MOZ_APP_NAME to firefox because of hard-coded type in migrator.
-const MOZ_APP_NAME = (((AppConstants.MOZ_APP_NAME == "basilisk")
-                         || (AppConstants.MOZ_APP_NAME == "palemoon"))
-                     ? "firefox" : AppConstants.MOZ_APP_NAME);
-const MOZ_BUILD_APP = AppConstants.MOZ_BUILD_APP;
+// We need to tell the migrator that many different applications are Mozilla applications
+#ifdef MOZ_PHOENIX
+const MOZ_APP_NAME = "firefox";
+const MOZ_BUILD_APP = "browser";
+#elifdef MOZ_THUNDERBIRD
+const MOZ_APP_NAME = "thunderbird";
+const MOZ_BUILD_APP = "mail";
+#elif defined(MOZ_SUITE) && !defined(BINOC_BOREALIS)
+const MOZ_APP_NAME = "seamonkey";
+const MOZ_BUILD_APP = "suite";
+#else
+#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__".match(/([^\/]*)\/*$/)[1];
+#endif
 
 this.ResetProfile = {
   /**
diff --git a/toolkit/modules/Services.jsm b/toolkit/modules/Services.jsm
index 1796acd4c4..9b5082efd4 100644
--- a/toolkit/modules/Services.jsm
+++ b/toolkit/modules/Services.jsm
@@ -8,7 +8,6 @@ const Ci = Components.interfaces;
 const Cc = Components.classes;
 const Cr = Components.results;
 
-Components.utils.import("resource://gre/modules/AppConstants.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 this.Services = {};
diff --git a/toolkit/modules/UpdateUtils.jsm b/toolkit/modules/UpdateUtils.jsm
index 14e7c1f449..aaec77042e 100644
--- a/toolkit/modules/UpdateUtils.jsm
+++ b/toolkit/modules/UpdateUtils.jsm
@@ -8,7 +8,6 @@ this.EXPORTED_SYMBOLS = ["UpdateUtils"];
 
 const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/NetUtil.jsm");
@@ -33,9 +32,8 @@ this.UpdateUtils = {
    *        Whether or not to include the partner bits. Default: true.
    */
   getUpdateChannel(aIncludePartners = true) {
-    let channel = defaults.getCharPref("app.update.channel",
-                                       AppConstants.MOZ_UPDATE_CHANNEL);
     let defaults = Services.prefs.getDefaultBranch(null);
+#expand    let channel = defaults.getCharPref("app.update.channel", "__MOZ_UPDATE_CHANNEL__");
 
     if (aIncludePartners) {
       try {
@@ -132,49 +130,48 @@ XPCOMUtils.defineLazyGetter(UpdateUtils, "Locale", function() {
  * Provides adhoc system capability information for application update.
  */
 XPCOMUtils.defineLazyGetter(this, "gSystemCapabilities", function aus_gSC() {
-  if (AppConstants.platform == "win") {
-    const PF_MMX_INSTRUCTIONS_AVAILABLE = 3; // MMX
-    const PF_XMMI_INSTRUCTIONS_AVAILABLE = 6; // SSE
-    const PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10; // SSE2
-    const PF_SSE3_INSTRUCTIONS_AVAILABLE = 13; // SSE3
+#ifdef XP_WIN
+  const PF_MMX_INSTRUCTIONS_AVAILABLE = 3; // MMX
+  const PF_XMMI_INSTRUCTIONS_AVAILABLE = 6; // SSE
+  const PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10; // SSE2
+  const PF_SSE3_INSTRUCTIONS_AVAILABLE = 13; // SSE3
 
-    let lib = ctypes.open("kernel32.dll");
-    let IsProcessorFeaturePresent = lib.declare("IsProcessorFeaturePresent",
-                                                ctypes.winapi_abi,
-                                                ctypes.int32_t, /* success */
-                                                ctypes.uint32_t); /* DWORD */
-    let instructionSet = "unknown";
-    try {
-      if (IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE)) {
-        instructionSet = "SSE3";
-      } else if (IsProcessorFeaturePresent(PF_XMMI64_INSTRUCTIONS_AVAILABLE)) {
-        instructionSet = "SSE2";
-      } else if (IsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE)) {
-        instructionSet = "SSE";
-      } else if (IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)) {
-        instructionSet = "MMX";
-      }
-    } catch (e) {
-      instructionSet = "error";
-      Cu.reportError("Error getting processor instruction set. " +
-                     "Exception: " + e);
-    }
-
-    lib.close();
-    return instructionSet;
-  }
-
-  if (AppConstants == "linux") {
-    let instructionSet = "unknown";
-    if (navigator.cpuHasSSE2) {
+  let lib = ctypes.open("kernel32.dll");
+  let IsProcessorFeaturePresent = lib.declare("IsProcessorFeaturePresent",
+                                              ctypes.winapi_abi,
+                                              ctypes.int32_t, /* success */
+                                              ctypes.uint32_t); /* DWORD */
+  let instructionSet = "unknown";
+  try {
+    if (IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE)) {
+      instructionSet = "SSE3";
+    } else if (IsProcessorFeaturePresent(PF_XMMI64_INSTRUCTIONS_AVAILABLE)) {
       instructionSet = "SSE2";
+    } else if (IsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE)) {
+      instructionSet = "SSE";
+    } else if (IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)) {
+      instructionSet = "MMX";
     }
-    return instructionSet;
+  } catch (e) {
+    instructionSet = "error";
+    Cu.reportError("Error getting processor instruction set. " +
+                   "Exception: " + e);
   }
 
+  lib.close();
+  return instructionSet;
+#elifdef XP_LINUX
+  let instructionSet = "unknown";
+  if (navigator.cpuHasSSE2) {
+    instructionSet = "SSE2";
+  }
+  return instructionSet;
+#else
   return "NA"
+#endif
 });
 
+#ifdef XP_WIN
 /* Windows only getter that returns the processor architecture. */
 XPCOMUtils.defineLazyGetter(this, "gWinCPUArch", function aus_gWinCPUArch() {
   // Get processor architecture
@@ -239,6 +236,7 @@ XPCOMUtils.defineLazyGetter(this, "gWinCPUArch", function aus_gWinCPUArch() {
 
   return arch;
 });
+#endif
 
 XPCOMUtils.defineLazyGetter(UpdateUtils, "ABI", function() {
   let abi = null;
@@ -249,19 +247,20 @@ XPCOMUtils.defineLazyGetter(UpdateUtils, "ABI", function() {
     Cu.reportError("XPCOM ABI unknown");
   }
 
-  if (AppConstants.platform == "macosx") {
-    // Mac universal build should report a different ABI than either macppc
-    // or mactel.
-    let macutils = Cc["@mozilla.org/xpcom/mac-utils;1"].
-                   getService(Ci.nsIMacUtils);
+#ifdef XP_MACOSX
+  // Mac universal build should report a different ABI than either macppc
+  // or mactel.
+  let macutils = Cc["@mozilla.org/xpcom/mac-utils;1"].
+                 getService(Ci.nsIMacUtils);
 
-    if (macutils.isUniversalBinary) {
-      abi += "-u-" + macutils.architecturesInBinary;
-    }
-  } else if (AppConstants.platform == "win") {
-    // Windows build should report the CPU architecture that it's running on.
-    abi += "-" + gWinCPUArch;
+  if (macutils.isUniversalBinary) {
+    abi += "-u-" + macutils.architecturesInBinary;
   }
+#elifdef XP_WIN
+  // Windows build should report the CPU architecture that it's running on.
+  abi += "-" + gWinCPUArch;
+#endif
+
   return abi;
 });
 
@@ -275,95 +274,96 @@ XPCOMUtils.defineLazyGetter(UpdateUtils, "OSVersion", function() {
     Cu.reportError("OS Version unknown.");
   }
 
+#ifdef XP_WIN
   if (osVersion) {
-    if (AppConstants.platform == "win") {
-      const BYTE = ctypes.uint8_t;
-      const WORD = ctypes.uint16_t;
-      const DWORD = ctypes.uint32_t;
-      const WCHAR = ctypes.char16_t;
-      const BOOL = ctypes.int;
+    const BYTE = ctypes.uint8_t;
+    const WORD = ctypes.uint16_t;
+    const DWORD = ctypes.uint32_t;
+    const WCHAR = ctypes.char16_t;
+    const BOOL = ctypes.int;
 
-      // This structure is described at:
-      // http://msdn.microsoft.com/en-us/library/ms724833%28v=vs.85%29.aspx
-      const SZCSDVERSIONLENGTH = 128;
-      const OSVERSIONINFOEXW = new ctypes.StructType('OSVERSIONINFOEXW',
-          [
-          {dwOSVersionInfoSize: DWORD},
-          {dwMajorVersion: DWORD},
-          {dwMinorVersion: DWORD},
-          {dwBuildNumber: DWORD},
-          {dwPlatformId: DWORD},
-          {szCSDVersion: ctypes.ArrayType(WCHAR, SZCSDVERSIONLENGTH)},
-          {wServicePackMajor: WORD},
-          {wServicePackMinor: WORD},
-          {wSuiteMask: WORD},
-          {wProductType: BYTE},
-          {wReserved: BYTE}
-          ]);
+    // This structure is described at:
+    // http://msdn.microsoft.com/en-us/library/ms724833%28v=vs.85%29.aspx
+    const SZCSDVERSIONLENGTH = 128;
+    const OSVERSIONINFOEXW = new ctypes.StructType('OSVERSIONINFOEXW',
+        [
+        {dwOSVersionInfoSize: DWORD},
+        {dwMajorVersion: DWORD},
+        {dwMinorVersion: DWORD},
+        {dwBuildNumber: DWORD},
+        {dwPlatformId: DWORD},
+        {szCSDVersion: ctypes.ArrayType(WCHAR, SZCSDVERSIONLENGTH)},
+        {wServicePackMajor: WORD},
+        {wServicePackMinor: WORD},
+        {wSuiteMask: WORD},
+        {wProductType: BYTE},
+        {wReserved: BYTE}
+        ]);
 
-      // This structure is described at:
-      // http://msdn.microsoft.com/en-us/library/ms724958%28v=vs.85%29.aspx
-      const SYSTEM_INFO = new ctypes.StructType('SYSTEM_INFO',
-          [
-          {wProcessorArchitecture: WORD},
-          {wReserved: WORD},
-          {dwPageSize: DWORD},
-          {lpMinimumApplicationAddress: ctypes.voidptr_t},
-          {lpMaximumApplicationAddress: ctypes.voidptr_t},
-          {dwActiveProcessorMask: DWORD.ptr},
-          {dwNumberOfProcessors: DWORD},
-          {dwProcessorType: DWORD},
-          {dwAllocationGranularity: DWORD},
-          {wProcessorLevel: WORD},
-          {wProcessorRevision: WORD}
-          ]);
+    // This structure is described at:
+    // http://msdn.microsoft.com/en-us/library/ms724958%28v=vs.85%29.aspx
+    const SYSTEM_INFO = new ctypes.StructType('SYSTEM_INFO',
+        [
+        {wProcessorArchitecture: WORD},
+        {wReserved: WORD},
+        {dwPageSize: DWORD},
+        {lpMinimumApplicationAddress: ctypes.voidptr_t},
+        {lpMaximumApplicationAddress: ctypes.voidptr_t},
+        {dwActiveProcessorMask: DWORD.ptr},
+        {dwNumberOfProcessors: DWORD},
+        {dwProcessorType: DWORD},
+        {dwAllocationGranularity: DWORD},
+        {wProcessorLevel: WORD},
+        {wProcessorRevision: WORD}
+        ]);
 
-      let kernel32 = false;
+    let kernel32 = false;
+    try {
+      kernel32 = ctypes.open("Kernel32");
+    } catch (e) {
+      Cu.reportError("Unable to open kernel32! " + e);
+      osVersion += ".unknown (unknown)";
+    }
+
+    if (kernel32) {
       try {
-        kernel32 = ctypes.open("Kernel32");
-      } catch (e) {
-        Cu.reportError("Unable to open kernel32! " + e);
-        osVersion += ".unknown (unknown)";
-      }
-
-      if (kernel32) {
+        // Get Service pack info
         try {
-          // Get Service pack info
-          try {
-            let GetVersionEx = kernel32.declare("GetVersionExW",
-                                                ctypes.default_abi,
-                                                BOOL,
-                                                OSVERSIONINFOEXW.ptr);
-            let winVer = OSVERSIONINFOEXW();
-            winVer.dwOSVersionInfoSize = OSVERSIONINFOEXW.size;
+          let GetVersionEx = kernel32.declare("GetVersionExW",
+                                              ctypes.default_abi,
+                                              BOOL,
+                                              OSVERSIONINFOEXW.ptr);
+          let winVer = OSVERSIONINFOEXW();
+          winVer.dwOSVersionInfoSize = OSVERSIONINFOEXW.size;
 
-            if (0 !== GetVersionEx(winVer.address())) {
-              osVersion += "." + winVer.wServicePackMajor +
-                           "." + winVer.wServicePackMinor;
-            } else {
-              Cu.reportError("Unknown failure in GetVersionEX (returned 0)");
-              osVersion += ".unknown";
-            }
-          } catch (e) {
-            Cu.reportError("Error getting service pack information. Exception: " + e);
+          if (0 !== GetVersionEx(winVer.address())) {
+            osVersion += "." + winVer.wServicePackMajor +
+                         "." + winVer.wServicePackMinor;
+          } else {
+            Cu.reportError("Unknown failure in GetVersionEX (returned 0)");
             osVersion += ".unknown";
           }
-        } finally {
-          kernel32.close();
+        } catch (e) {
+          Cu.reportError("Error getting service pack information. Exception: " + e);
+          osVersion += ".unknown";
         }
-
-        // Add processor architecture
-        osVersion += " (" + gWinCPUArch + ")";
+      } finally {
+        kernel32.close();
       }
-    }
 
-    try {
-      osVersion += " (" + Services.sysinfo.getProperty("secondaryLibrary") + ")";
+      // Add processor architecture
+      osVersion += " (" + gWinCPUArch + ")";
     }
-    catch (e) {
-      // Not all platforms have a secondary widget library, so an error is nothing to worry about.
-    }
-    osVersion = encodeURIComponent(osVersion);
   }
+
+  try {
+    osVersion += " (" + Services.sysinfo.getProperty("secondaryLibrary") + ")";
+  }
+  catch (e) {
+    // Not all platforms have a secondary widget library, so an error is nothing to worry about.
+  }
+  osVersion = encodeURIComponent(osVersion);
+#endif
+
   return osVersion;
 });
diff --git a/toolkit/modules/WindowDraggingUtils.jsm b/toolkit/modules/WindowDraggingUtils.jsm
index 0cc2e88e90..a7986c8b4a 100644
--- a/toolkit/modules/WindowDraggingUtils.jsm
+++ b/toolkit/modules/WindowDraggingUtils.jsm
@@ -2,9 +2,11 @@
  * 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/. */
 
-Components.utils.import("resource://gre/modules/AppConstants.jsm");
-
-const HAVE_CSS_WINDOW_DRAG_SUPPORT = ["win", "macosx"].includes(AppConstants.platform);
+#if defined(XP_WIN) || defined(XP_MACOSX)
+const HAVE_CSS_WINDOW_DRAG_SUPPORT = true;
+#else
+const HAVE_CSS_WINDOW_DRAG_SUPPORT = false;
+#endif
 
 this.EXPORTED_SYMBOLS = [ "WindowDraggingElement" ];
 
@@ -62,12 +64,13 @@ WindowDraggingElement.prototype = {
         if (!this.shouldDrag(aEvent))
           return;
 
-        if (/^gtk/i.test(AppConstants.MOZ_WIDGET_TOOLKIT)) {
-          // On GTK, there is a toolkit-level function which handles
-          // window dragging, which must be used.
-          this._window.beginWindowMove(aEvent, isPanel ? this._elem : null);
-          break;
-        }
+#ifdef MOZ_WIDGET_GTK
+        // On GTK, there is a toolkit-level function which handles
+        // window dragging, which must be used.
+        this._window.beginWindowMove(aEvent, isPanel ? this._elem : null);
+        break;
+#endif
+
         if (isPanel) {
           let screenRect = this._elem.getOuterScreenRect();
           this._deltaX = aEvent.screenX - screenRect.left;
diff --git a/toolkit/modules/addons/WebRequest.jsm b/toolkit/modules/addons/WebRequest.jsm
index c720dae5da..9b2a09c6c5 100644
--- a/toolkit/modules/addons/WebRequest.jsm
+++ b/toolkit/modules/addons/WebRequest.jsm
@@ -19,8 +19,6 @@ Cu.import("resource://gre/modules/Services.jsm");
 Cu.import("resource://gre/modules/Task.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
-XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
-                                  "resource://gre/modules/AppConstants.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "BrowserUtils",
                                   "resource://gre/modules/BrowserUtils.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "ExtensionUtils",
@@ -846,9 +844,9 @@ var onBeforeRequest = {
   get allowedOptions() {
     delete this.allowedOptions;
     this.allowedOptions = ["blocking"];
-    if (!AppConstants.RELEASE_OR_BETA) {
-      this.allowedOptions.push("requestBody");
-    }
+#ifndef RELEASE_OR_BETA
+    this.allowedOptions.push("requestBody");
+#endif
     return this.allowedOptions;
   },
   addListener(callback, filter = null, opt_extraInfoSpec = null) {
diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build
index 6b181b6aa3..a6423913d3 100644
--- a/toolkit/modules/moz.build
+++ b/toolkit/modules/moz.build
@@ -74,11 +74,7 @@ EXTRA_JS_MODULES += [
     'RemotePageManager.jsm',
     'RemoteSecurityUI.jsm',
     'RemoteWebProgress.jsm',
-    'ResetProfile.jsm',
     'ResponsivenessMonitor.jsm',
-    'secondscreen/PresentationApp.jsm',
-    'secondscreen/RokuApp.jsm',
-    'secondscreen/SimpleServiceDiscovery.jsm',
     'SelectContentHelper.jsm',
     'SelectParentHelper.jsm',
     'ServiceRequest.jsm',
@@ -93,7 +89,6 @@ EXTRA_JS_MODULES += [
     'Task.jsm',
     'Timer.jsm',
     'WebChannel.jsm',
-    'WindowDraggingUtils.jsm',
     'ZipUtils.jsm',
 ]
 EXTRA_JS_MODULES.third_party.jsesc += ['third_party/jsesc/jsesc.js']
@@ -101,8 +96,10 @@ EXTRA_JS_MODULES.sessionstore += ['sessionstore/Utils.jsm']
 
 EXTRA_PP_JS_MODULES += [
     'NewTabUtils.jsm',
+    'ResetProfile.jsm',
     'Troubleshoot.jsm',
     'UpdateUtils.jsm',
+    'WindowDraggingUtils.jsm',
 ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'cocoa'):
@@ -120,7 +117,7 @@ EXTRA_PP_JS_MODULES += [
 ]
 
 if 'Android' != CONFIG['OS_TARGET']:
-    EXTRA_JS_MODULES += [
+    EXTRA_PP_JS_MODULES += [
         'LightweightThemeConsumer.jsm',
     ]
 
diff --git a/toolkit/modules/secondscreen/PresentationApp.jsm b/toolkit/modules/secondscreen/PresentationApp.jsm
deleted file mode 100644
index b7d8e05a87..0000000000
--- a/toolkit/modules/secondscreen/PresentationApp.jsm
+++ /dev/null
@@ -1,190 +0,0 @@
-// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
-/* 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";
-
-this.EXPORTED_SYMBOLS = ["PresentationApp"];
-
-const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-XPCOMUtils.defineLazyGetter(this, "sysInfo", () => {
-  return Cc["@mozilla.org/system-info;1"].getService(Ci.nsIPropertyBag2);
-});
-
-const DEBUG = false;
-
-const STATE_UNINIT = "uninitialized" // RemoteMedia status
-const STATE_STARTED = "started"; // RemoteMedia status
-const STATE_PAUSED = "paused"; // RemoteMedia status
-const STATE_SHUTDOWN = "shutdown"; // RemoteMedia status
-
-function debug(msg) {
-  Services.console.logStringMessage("PresentationApp: " + msg);
-}
-
-// PresentationApp is a wrapper for interacting with a Presentation Receiver Device.
-function PresentationApp(service, request) {
-  this.service = service;
-  this.request = request;
-}
-
-PresentationApp.prototype = {
-  start: function start(callback) {
-    this.request.startWithDevice(this.service.uuid)
-    .then((session) => {
-      this._session = session;
-      if (callback) {
-        session.addEventListener('connect', () => {
-          callback(true);
-        });
-      }
-    }, () => {
-      if (callback) {
-        callback(false);
-      }
-    });
-  },
-
-  stop: function stop(callback) {
-    if (this._session && this._session.state === "connected") {
-      this._session.terminate();
-    }
-
-    delete this._session;
-
-    if (callback) {
-      callback(true);
-    }
-  },
-
-  remoteMedia: function remoteMedia(callback, listener) {
-    if (callback) {
-      if (!this._session) {
-        callback();
-        return;
-      }
-
-      callback(new RemoteMedia(this._session, listener));
-    }
-  }
-}
-
-/* RemoteMedia provides a wrapper for using Presentation API to control Firefox TV app.
- * The server implementation must be built into the Firefox TV receiver app.
- * see https://github.com/mozilla-b2g/gaia/tree/master/tv_apps/fling-player
- */
-function RemoteMedia(session, listener) {
-  this._session = session ;
-  this._listener = listener;
-  this._status = STATE_UNINIT;
-
-  this._session.addEventListener("message", this);
-  this._session.addEventListener("terminate", this);
-
-  if (this._listener && "onRemoteMediaStart" in this._listener) {
-    Services.tm.mainThread.dispatch((function() {
-      this._listener.onRemoteMediaStart(this);
-    }).bind(this), Ci.nsIThread.DISPATCH_NORMAL);
-  }
-}
-
-RemoteMedia.prototype = {
-  _seq: 0,
-
-  handleEvent: function(e) {
-    switch (e.type) {
-      case "message":
-        this._onmessage(e);
-        break;
-      case "terminate":
-        this._onterminate(e);
-        break;
-    }
-  },
-
-  _onmessage: function(e) {
-    DEBUG && debug("onmessage: " + e.data);
-    if (this.status === STATE_SHUTDOWN) {
-      return;
-    }
-
-    if (e.data.indexOf("stopped") > -1) {
-      if (this.status !== STATE_PAUSED) {
-        this._status = STATE_PAUSED;
-        if (this._listener && "onRemoteMediaStatus" in this._listener) {
-          this._listener.onRemoteMediaStatus(this);
-        }
-      }
-    } else if (e.data.indexOf("playing") > -1) {
-      if (this.status !== STATE_STARTED) {
-        this._status = STATE_STARTED;
-        if (this._listener && "onRemoteMediaStatus" in this._listener) {
-          this._listener.onRemoteMediaStatus(this);
-        }
-      }
-    }
-  },
-
-  _onterminate: function(e) {
-    DEBUG && debug("onterminate: " + this._session.state);
-    this._status = STATE_SHUTDOWN;
-    if (this._listener && "onRemoteMediaStop" in this._listener) {
-      this._listener.onRemoteMediaStop(this);
-    }
-  },
-
-  _sendCommand: function(command, data) {
-    let msg = {
-      'type': command,
-      'seq': ++this._seq
-    };
-
-    if (data) {
-      for (var k in data) {
-        msg[k] = data[k];
-      }
-    }
-
-    let raw = JSON.stringify(msg);
-    DEBUG && debug("send command: " + raw);
-
-    this._session.send(raw);
-  },
-
-  shutdown: function shutdown() {
-    DEBUG && debug("RemoteMedia - shutdown");
-    this._sendCommand("close");
-  },
-
-  play: function play() {
-    DEBUG && debug("RemoteMedia - play");
-    this._sendCommand("play");
-  },
-
-  pause: function pause() {
-    DEBUG && debug("RemoteMedia - pause");
-    this._sendCommand("pause");
-  },
-
-  load: function load(data) {
-    DEBUG && debug("RemoteMedia - load: " + data);
-    this._sendCommand("load", { "url": data.source });
-
-    let deviceName;
-    if (Services.appinfo.widgetToolkit == "android") {
-      deviceName = sysInfo.get("device");
-    } else {
-      deviceName = sysInfo.get("host");
-    }
-    this._sendCommand("device-info", { "displayName": deviceName });
-  },
-
-  get status() {
-    return this._status;
-  }
-}
diff --git a/toolkit/modules/secondscreen/RokuApp.jsm b/toolkit/modules/secondscreen/RokuApp.jsm
deleted file mode 100644
index b37a688cd6..0000000000
--- a/toolkit/modules/secondscreen/RokuApp.jsm
+++ /dev/null
@@ -1,230 +0,0 @@
-// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
-/* 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";
-
-this.EXPORTED_SYMBOLS = ["RokuApp"];
-
-const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/AppConstants.jsm");
-
-function log(msg) {
-  // Services.console.logStringMessage(msg);
-}
-
-const PROTOCOL_VERSION = 1;
-
-/* RokuApp is a wrapper for interacting with a Roku channel.
- * The basic interactions all use a REST API.
- * spec: http://sdkdocs.roku.com/display/sdkdoc/External+Control+Guide
- */
-function RokuApp(service) {
-  this.service = service;
-  this.resourceURL = this.service.location;
-  this.app = AppConstants.RELEASE_OR_BETA ? "Firefox" : "Firefox Nightly";
-  this.mediaAppID = -1;
-}
-
-RokuApp.prototype = {
-  status: function status(callback) {
-    // We have no way to know if the app is running, so just return "unknown"
-    // but we use this call to fetch the mediaAppID for the given app name
-    let url = this.resourceURL + "query/apps";
-    let xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
-    xhr.open("GET", url, true);
-    xhr.channel.loadFlags |= Ci.nsIRequest.INHIBIT_CACHING;
-    xhr.overrideMimeType("text/xml");
-
-    xhr.addEventListener("load", (function() {
-      if (xhr.status == 200) {
-        let doc = xhr.responseXML;
-        let apps = doc.querySelectorAll("app");
-        for (let app of apps) {
-          if (app.textContent == this.app) {
-            this.mediaAppID = app.id;
-          }
-        }
-      }
-
-      // Since ECP has no way of telling us if an app is running, we always return "unknown"
-      if (callback) {
-        callback({ state: "unknown" });
-      }
-    }).bind(this), false);
-
-    xhr.addEventListener("error", (function() {
-      if (callback) {
-        callback({ state: "unknown" });
-      }
-    }).bind(this), false);
-
-    xhr.send(null);
-  },
-
-  start: function start(callback) {
-    // We need to make sure we have cached the mediaAppID
-    if (this.mediaAppID == -1) {
-      this.status(function() {
-        // If we found the mediaAppID, use it to make a new start call
-        if (this.mediaAppID != -1) {
-          this.start(callback);
-        } else {
-          // We failed to start the app, so let the caller know
-          callback(false);
-        }
-      }.bind(this));
-      return;
-    }
-
-    // Start a given app with any extra query data. Each app uses it's own data scheme.
-    // NOTE: Roku will also pass "source=external-control" as a param
-    let url = this.resourceURL + "launch/" + this.mediaAppID + "?version=" + parseInt(PROTOCOL_VERSION);
-    let xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
-    xhr.open("POST", url, true);
-    xhr.overrideMimeType("text/plain");
-
-    xhr.addEventListener("load", (function() {
-      if (callback) {
-        callback(xhr.status === 200);
-      }
-    }).bind(this), false);
-
-    xhr.addEventListener("error", (function() {
-      if (callback) {
-        callback(false);
-      }
-    }).bind(this), false);
-
-    xhr.send(null);
-  },
-
-  stop: function stop(callback) {
-    // Roku doesn't seem to support stopping an app, so let's just go back to
-    // the Home screen
-    let url = this.resourceURL + "keypress/Home";
-    let xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
-    xhr.open("POST", url, true);
-    xhr.overrideMimeType("text/plain");
-
-    xhr.addEventListener("load", (function() {
-      if (callback) {
-        callback(xhr.status === 200);
-      }
-    }).bind(this), false);
-
-    xhr.addEventListener("error", (function() {
-      if (callback) {
-        callback(false);
-      }
-    }).bind(this), false);
-
-    xhr.send(null);
-  },
-
-  remoteMedia: function remoteMedia(callback, listener) {
-    if (this.mediaAppID != -1) {
-      if (callback) {
-        callback(new RemoteMedia(this.resourceURL, listener));
-      }
-    } else if (callback) {
-      callback();
-    }
-  }
-}
-
-/* RemoteMedia provides a wrapper for using TCP socket to control Roku apps.
- * The server implementation must be built into the Roku receiver app.
- */
-function RemoteMedia(url, listener) {
-  this._url = url;
-  this._listener = listener;
-  this._status = "uninitialized";
-
-  let serverURI = Services.io.newURI(this._url, null, null);
-  this._socket = Cc["@mozilla.org/network/socket-transport-service;1"].getService(Ci.nsISocketTransportService).createTransport(null, 0, serverURI.host, 9191, null);
-  this._outputStream = this._socket.openOutputStream(0, 0, 0);
-
-  this._scriptableStream = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream);
-
-  this._inputStream = this._socket.openInputStream(0, 0, 0);
-  this._pump = Cc["@mozilla.org/network/input-stream-pump;1"].createInstance(Ci.nsIInputStreamPump);
-  this._pump.init(this._inputStream, -1, -1, 0, 0, true);
-  this._pump.asyncRead(this, null);
-}
-
-RemoteMedia.prototype = {
-  onStartRequest: function(request, context) {
-  },
-
-  onDataAvailable: function(request, context, stream, offset, count) {
-    this._scriptableStream.init(stream);
-    let data = this._scriptableStream.read(count);
-    if (!data) {
-      return;
-    }
-
-    let msg = JSON.parse(data);
-    if (this._status === msg._s) {
-      return;
-    }
-
-    this._status = msg._s;
-
-    if (this._listener) {
-      // Check to see if we are getting the initial "connected" message
-      if (this._status == "connected" && "onRemoteMediaStart" in this._listener) {
-        this._listener.onRemoteMediaStart(this);
-      }
-
-      if ("onRemoteMediaStatus" in this._listener) {
-        this._listener.onRemoteMediaStatus(this);
-      }
-    }
-  },
-
-  onStopRequest: function(request, context, result) {
-    if (this._listener && "onRemoteMediaStop" in this._listener)
-      this._listener.onRemoteMediaStop(this);
-  },
-
-  _sendMsg: function _sendMsg(data) {
-    if (!data)
-      return;
-
-    // Add the protocol version
-    data["_v"] = PROTOCOL_VERSION;
-
-    let raw = JSON.stringify(data);
-    this._outputStream.write(raw, raw.length);
-  },
-
-  shutdown: function shutdown() {
-    this._outputStream.close();
-    this._inputStream.close();
-  },
-
-  get active() {
-    return (this._socket && this._socket.isAlive());
-  },
-
-  play: function play() {
-    // TODO: add position support
-    this._sendMsg({ type: "PLAY" });
-  },
-
-  pause: function pause() {
-    this._sendMsg({ type: "STOP" });
-  },
-
-  load: function load(data) {
-    this._sendMsg({ type: "LOAD", title: data.title, source: data.source, poster: data.poster });
-  },
-
-  get status() {
-    return this._status;
-  }
-}
diff --git a/toolkit/modules/secondscreen/SimpleServiceDiscovery.jsm b/toolkit/modules/secondscreen/SimpleServiceDiscovery.jsm
deleted file mode 100644
index 4abc93ad1f..0000000000
--- a/toolkit/modules/secondscreen/SimpleServiceDiscovery.jsm
+++ /dev/null
@@ -1,432 +0,0 @@
-// -*- Mode: js; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
-/* 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";
-
-this.EXPORTED_SYMBOLS = ["SimpleServiceDiscovery"];
-
-const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Timer.jsm");
-
-var log = Cu.reportError;
-
-XPCOMUtils.defineLazyGetter(this, "converter", function () {
-  let conv = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
-  conv.charset = "utf8";
-  return conv;
-});
-
-// Spec information:
-// https://tools.ietf.org/html/draft-cai-ssdp-v1-03
-// http://www.dial-multiscreen.org/dial-protocol-specification
-const SSDP_PORT = 1900;
-const SSDP_ADDRESS = "239.255.255.250";
-
-const SSDP_DISCOVER_PACKET =
-  "M-SEARCH * HTTP/1.1\r\n" +
-  "HOST: " + SSDP_ADDRESS + ":" + SSDP_PORT + "\r\n" +
-  "MAN: \"ssdp:discover\"\r\n" +
-  "MX: 2\r\n" +
-  "ST: %SEARCH_TARGET%\r\n\r\n";
-
-const SSDP_DISCOVER_ATTEMPTS = 3;
-const SSDP_DISCOVER_DELAY = 500;
-const SSDP_DISCOVER_TIMEOUT_MULTIPLIER = 2;
-const SSDP_TRANSMISSION_INTERVAL = 1000;
-
-const EVENT_SERVICE_FOUND = "ssdp-service-found";
-const EVENT_SERVICE_LOST = "ssdp-service-lost";
-
-/*
- * SimpleServiceDiscovery manages any discovered SSDP services. It uses a UDP
- * broadcast to locate available services on the local network.
- */
-var SimpleServiceDiscovery = {
-  get EVENT_SERVICE_FOUND() { return EVENT_SERVICE_FOUND; },
-  get EVENT_SERVICE_LOST() { return EVENT_SERVICE_LOST; },
-
-  _devices: new Map(),
-  _services: new Map(),
-  _searchSocket: null,
-  _searchInterval: 0,
-  _searchTimestamp: 0,
-  _searchTimeout: Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer),
-  _searchRepeat: Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer),
-  _discoveryMethods: [],
-
-  _forceTrailingSlash: function(aURL) {
-    // Cleanup the URL to make it consistent across devices
-    try {
-      aURL = Services.io.newURI(aURL, null, null).spec;
-    } catch (e) {}
-    return aURL;
-  },
-
-  // nsIUDPSocketListener implementation
-  onPacketReceived: function(aSocket, aMessage) {
-    // Listen for responses from specific devices. There could be more than one
-    // available.
-    let response = aMessage.data.split("\n");
-    let service = {};
-    response.forEach(function(row) {
-      let name = row.toUpperCase();
-      if (name.startsWith("LOCATION")) {
-        service.location = row.substr(10).trim();
-      } else if (name.startsWith("ST")) {
-        service.target = row.substr(4).trim();
-      }
-    }.bind(this));
-
-    if (service.location && service.target) {
-      service.location = this._forceTrailingSlash(service.location);
-
-      // When we find a valid response, package up the service information
-      // and pass it on.
-      try {
-        this._processService(service);
-      } catch (e) {}
-    }
-  },
-
-  onStopListening: function(aSocket, aStatus) {
-    // This is fired when the socket is closed expectedly or unexpectedly.
-    // nsITimer.cancel() is a no-op if the timer is not active.
-    this._searchTimeout.cancel();
-    this._searchSocket = null;
-  },
-
-  // Start a search. Make it continuous by passing an interval (in milliseconds).
-  // This will stop a current search loop because the timer resets itself.
-  // Returns the existing search interval.
-  search: function search(aInterval) {
-    let existingSearchInterval = this._searchInterval;
-    if (aInterval > 0) {
-      this._searchInterval = aInterval || 0;
-      this._searchRepeat.initWithCallback(this._search.bind(this), this._searchInterval, Ci.nsITimer.TYPE_REPEATING_SLACK);
-    }
-    this._search();
-    return existingSearchInterval;
-  },
-
-  // Stop the current continuous search
-  stopSearch: function stopSearch() {
-    this._searchRepeat.cancel();
-  },
-
-  _usingLAN: function() {
-    let network = Cc["@mozilla.org/network/network-link-service;1"].getService(Ci.nsINetworkLinkService);
-    return (network.linkType == Ci.nsINetworkLinkService.LINK_TYPE_WIFI ||
-            network.linkType == Ci.nsINetworkLinkService.LINK_TYPE_ETHERNET ||
-            network.linkType == Ci.nsINetworkLinkService.LINK_TYPE_UNKNOWN);
-  },
-
-  _search: function _search() {
-    // If a search is already active, shut it down.
-    this._searchShutdown();
-
-    // We only search if on local network
-    if (!this._usingLAN()) {
-      return;
-    }
-
-    // Update the timestamp so we can use it to clean out stale services the
-    // next time we search.
-    this._searchTimestamp = Date.now();
-
-    // Look for any fixed IP devices. Some routers might be configured to block
-    // UDP broadcasts, so this is a way to skip discovery.
-    this._searchFixedDevices();
-
-    // Look for any devices via registered external discovery mechanism.
-    this._startExternalDiscovery();
-
-    // Perform a UDP broadcast to search for SSDP devices
-    let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(Ci.nsIUDPSocket);
-    try {
-      socket.init(SSDP_PORT, false, Services.scriptSecurityManager.getSystemPrincipal());
-      socket.joinMulticast(SSDP_ADDRESS);
-      socket.asyncListen(this);
-    } catch (e) {
-      // We were unable to create the broadcast socket. Just return, but don't
-      // kill the interval timer. This might work next time.
-      log("failed to start socket: " + e);
-      return;
-    }
-
-    // Make the timeout SSDP_DISCOVER_TIMEOUT_MULTIPLIER times as long as the time needed to send out the discovery packets.
-    const SSDP_DISCOVER_TIMEOUT = this._devices.size * SSDP_DISCOVER_ATTEMPTS * SSDP_TRANSMISSION_INTERVAL * SSDP_DISCOVER_TIMEOUT_MULTIPLIER;
-    this._searchSocket = socket;
-    this._searchTimeout.initWithCallback(this._searchShutdown.bind(this), SSDP_DISCOVER_TIMEOUT, Ci.nsITimer.TYPE_ONE_SHOT);
-
-    let data = SSDP_DISCOVER_PACKET;
-
-    // Send discovery packets out at 1 per SSDP_TRANSMISSION_INTERVAL and send each SSDP_DISCOVER_ATTEMPTS times
-    // to allow for packet loss on noisy networks.
-    let timeout = SSDP_DISCOVER_DELAY;
-    for (let attempts = 0; attempts < SSDP_DISCOVER_ATTEMPTS; attempts++) {
-      for (let [key, device] of this._devices) {
-        let target = device.target;
-        setTimeout(function() {
-          let msgData = data.replace("%SEARCH_TARGET%", target);
-          try {
-            let msgRaw = converter.convertToByteArray(msgData);
-            socket.send(SSDP_ADDRESS, SSDP_PORT, msgRaw, msgRaw.length);
-          } catch (e) {
-            log("failed to convert to byte array: " + e);
-          }
-        }, timeout);
-        timeout += SSDP_TRANSMISSION_INTERVAL;
-      }
-    }
-  },
-
-  _searchFixedDevices: function _searchFixedDevices() {
-    let fixedDevices = Services.prefs.getCharPref("browser.casting.fixedDevices", "");
-
-    if (!fixedDevices) {
-      return;
-    }
-
-    fixedDevices = JSON.parse(fixedDevices);
-    for (let fixedDevice of fixedDevices) {
-      // Verify we have the right data
-      if (!("location" in fixedDevice) || !("target" in fixedDevice)) {
-        continue;
-      }
-
-      fixedDevice.location = this._forceTrailingSlash(fixedDevice.location);
-
-      let service = {
-        location: fixedDevice.location,
-        target: fixedDevice.target
-      };
-
-      // We don't assume the fixed target is ready. We still need to ping it.
-      try {
-        this._processService(service);
-      } catch (e) {}
-    }
-  },
-
-  // Called when the search timeout is hit. We use it to cleanup the socket and
-  // perform some post-processing on the services list.
-  _searchShutdown: function _searchShutdown() {
-    if (this._searchSocket) {
-      // This will call onStopListening.
-      this._searchSocket.close();
-
-      // Clean out any stale services
-      for (let [key, service] of this._services) {
-        if (service.lastPing != this._searchTimestamp) {
-          this.removeService(service.uuid);
-        }
-      }
-    }
-
-    this._stopExternalDiscovery();
-  },
-
-  getSupportedExtensions: function() {
-    let extensions = [];
-    this.services.forEach(function(service) {
-        extensions = extensions.concat(service.extensions);
-      }, this);
-    return extensions.filter(function(extension, pos) {
-      return extensions.indexOf(extension) == pos;
-    });
-  },
-
-  getSupportedMimeTypes: function() {
-    let types = [];
-    this.services.forEach(function(service) {
-        types = types.concat(service.types);
-      }, this);
-    return types.filter(function(type, pos) {
-      return types.indexOf(type) == pos;
-    });
-  },
-
-  registerDevice: function registerDevice(aDevice) {
-    // We must have "id", "target" and "factory" defined
-    if (!("id" in aDevice) || !("target" in aDevice) || !("factory" in aDevice)) {
-      // Fatal for registration
-      throw "Registration requires an id, a target and a location";
-    }
-
-    // Only add if we don't already know about this device
-    if (!this._devices.has(aDevice.id)) {
-      this._devices.set(aDevice.id, aDevice);
-    } else {
-      log("device was already registered: " + aDevice.id);
-    }
-  },
-
-  unregisterDevice: function unregisterDevice(aDevice) {
-    // We must have "id", "target" and "factory" defined
-    if (!("id" in aDevice) || !("target" in aDevice) || !("factory" in aDevice)) {
-      return;
-    }
-
-    // Only remove if we know about this device
-    if (this._devices.has(aDevice.id)) {
-      this._devices.delete(aDevice.id);
-    } else {
-      log("device was not registered: " + aDevice.id);
-    }
-  },
-
-  findAppForService: function findAppForService(aService) {
-    if (!aService || !aService.deviceID) {
-      return null;
-    }
-
-    // Find the registration for the device
-    if (this._devices.has(aService.deviceID)) {
-      return this._devices.get(aService.deviceID).factory(aService);
-    }
-    return null;
-  },
-
-  findServiceForID: function findServiceForID(aUUID) {
-    if (this._services.has(aUUID)) {
-      return this._services.get(aUUID);
-    }
-    return null;
-  },
-
-  // Returns an array copy of the active services
-  get services() {
-    let array = [];
-    for (let [key, service] of this._services) {
-      let target = this._devices.get(service.deviceID);
-      service.extensions = target.extensions;
-      service.types = target.types;
-      array.push(service);
-    }
-    return array;
-  },
-
-  // Returns false if the service does not match the device's filters
-  _filterService: function _filterService(aService) {
-    // Loop over all the devices, looking for one that matches the service
-    for (let [key, device] of this._devices) {
-      // First level of match is on the target itself
-      if (device.target != aService.target) {
-        continue;
-      }
-
-      // If we have no filter, everything passes
-      if (!("filters" in device)) {
-        aService.deviceID = device.id;
-        return true;
-      }
-
-      // If all the filters pass, we have a match
-      let failed = false;
-      let filters = device.filters;
-      for (let filter in filters) {
-        if (filter in aService && aService[filter] != filters[filter]) {
-          failed = true;
-        }
-      }
-
-      // We found a match, so link the service to the device
-      if (!failed) {
-        aService.deviceID = device.id;
-        return true;
-      }
-    }
-
-    // We didn't find any matches
-    return false;
-  },
-
-  _processService: function _processService(aService) {
-    // Use the REST api to request more information about this service
-    let xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpRequest);
-    xhr.open("GET", aService.location, true);
-    xhr.channel.loadFlags |= Ci.nsIRequest.INHIBIT_CACHING;
-    xhr.overrideMimeType("text/xml");
-
-    xhr.addEventListener("load", (function() {
-      if (xhr.status == 200) {
-        let doc = xhr.responseXML;
-        aService.appsURL = xhr.getResponseHeader("Application-URL");
-        if (aService.appsURL && !aService.appsURL.endsWith("/"))
-          aService.appsURL += "/";
-        aService.friendlyName = doc.querySelector("friendlyName").textContent;
-        aService.uuid = doc.querySelector("UDN").textContent;
-        aService.manufacturer = doc.querySelector("manufacturer").textContent;
-        aService.modelName = doc.querySelector("modelName").textContent;
-
-        this.addService(aService);
-      }
-    }).bind(this), false);
-
-    xhr.send(null);
-  },
-
-  // Add a service to the WeakMap, even if one already exists with this id.
-  // Returns true if this succeeded or false if it failed
-  _addService: function(service) {
-    // Filter out services that do not match the device filter
-    if (!this._filterService(service)) {
-      return false;
-    }
-
-    let device = this._devices.get(service.target);
-    if (device && device.mirror) {
-      service.mirror = true;
-    }
-    this._services.set(service.uuid, service);
-    return true;
-  },
-
-  addService: function(service) {
-    // Only add and notify if we don't already know about this service
-    if (!this._services.has(service.uuid)) {
-      if (!this._addService(service)) {
-        return;
-      }
-      Services.obs.notifyObservers(null, EVENT_SERVICE_FOUND, service.uuid);
-    }
-
-    // Make sure we remember this service is not stale
-    this._services.get(service.uuid).lastPing = this._searchTimestamp;
-  },
-
-  removeService: function(uuid) {
-    Services.obs.notifyObservers(null, EVENT_SERVICE_LOST, uuid);
-    this._services.delete(uuid);
-  },
-
-  updateService: function(service) {
-    if (!this._addService(service)) {
-      return;
-    }
-
-    // Make sure we remember this service is not stale
-    this._services.get(service.uuid).lastPing = this._searchTimestamp;
-  },
-
-  addExternalDiscovery: function(discovery) {
-    this._discoveryMethods.push(discovery);
-  },
-
-  _startExternalDiscovery: function() {
-    for (let discovery of this._discoveryMethods) {
-      discovery.startDiscovery();
-    }
-  },
-
-  _stopExternalDiscovery: function() {
-    for (let discovery of this._discoveryMethods) {
-      discovery.stopDiscovery();
-    }
-  },
-}
diff --git a/toolkit/modules/subprocess/Subprocess.jsm b/toolkit/modules/subprocess/Subprocess.jsm
index 6d0d27d777..e4e4156df5 100644
--- a/toolkit/modules/subprocess/Subprocess.jsm
+++ b/toolkit/modules/subprocess/Subprocess.jsm
@@ -18,17 +18,16 @@ let EXPORTED_SYMBOLS = ["Subprocess"];
 
 var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/subprocess/subprocess_common.jsm");
 
-if (AppConstants.platform == "win") {
-  XPCOMUtils.defineLazyModuleGetter(this, "SubprocessImpl",
-                                    "resource://gre/modules/subprocess/subprocess_win.jsm");
-} else {
-  XPCOMUtils.defineLazyModuleGetter(this, "SubprocessImpl",
-                                    "resource://gre/modules/subprocess/subprocess_unix.jsm");
-}
+#ifdef XP_WIN
+XPCOMUtils.defineLazyModuleGetter(this, "SubprocessImpl",
+                                  "resource://gre/modules/subprocess/subprocess_win.jsm");
+#else
+XPCOMUtils.defineLazyModuleGetter(this, "SubprocessImpl",
+                                  "resource://gre/modules/subprocess/subprocess_unix.jsm");
+#endif
 
 /**
  * Allows for creation of and communication with OS-level sub-processes.
diff --git a/toolkit/modules/subprocess/moz.build b/toolkit/modules/subprocess/moz.build
index e7a1f526a4..c4548c8f6c 100644
--- a/toolkit/modules/subprocess/moz.build
+++ b/toolkit/modules/subprocess/moz.build
@@ -4,7 +4,7 @@
 # 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/.
 
-EXTRA_JS_MODULES += [
+EXTRA_PP_JS_MODULES += [
     'Subprocess.jsm',
 ]
 
diff --git a/toolkit/modules/subprocess/subprocess_win.jsm b/toolkit/modules/subprocess/subprocess_win.jsm
index aac625f725..aceedd3e82 100644
--- a/toolkit/modules/subprocess/subprocess_win.jsm
+++ b/toolkit/modules/subprocess/subprocess_win.jsm
@@ -15,7 +15,6 @@ var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 var EXPORTED_SYMBOLS = ["SubprocessImpl"];
 
-Cu.import("resource://gre/modules/AppConstants.jsm");
 Cu.import("resource://gre/modules/ctypes.jsm");
 Cu.import("resource://gre/modules/osfile.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
@@ -35,7 +34,7 @@ class WinPromiseWorker extends PromiseWorker {
     this.signalEvent = libc.CreateSemaphoreW(null, 0, 32, null);
 
     this.call("init", [{
-      breakAwayFromJob: !AppConstants.isPlatformAndVersionAtLeast("win", "6.2"),
+      breakAwayFromJob: Services.vc.compare(Services.sysinfo.getProperty("version"), "6.2") <= 0,
       comspec: env.get("COMSPEC"),
       signalEvent: String(ctypes.cast(this.signalEvent, ctypes.uintptr_t).value),
     }]);