merge mozilla-central to autoland. r=merge a=merge
authorSebastian Hengst <archaeopteryx@coole-files.de>
Sun, 19 Mar 2017 16:37:31 +0100
changeset 348372 53392221fe7828781c8c8d5e2b15e99cbc59bdbc
parent 348355 8eda5841752361724cd326899ab12e05509a227b (current diff)
parent 348371 1b9293be51637f841275541d8991314ca56561a5 (diff)
child 348373 34cac2e12b45d4559fde1d73185e3f4f4ad1af0b
push id39126
push userarchaeopteryx@coole-files.de
push dateSun, 19 Mar 2017 15:37:50 +0000
treeherderautoland@53392221fe78 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge, merge
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
merge mozilla-central to autoland. r=merge a=merge
--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -3885,8 +3885,16 @@ Element::UpdateIntersectionObservation(D
 void
 Element::ClearServoData() {
 #ifdef MOZ_STYLO
   Servo_Element_ClearData(this);
 #else
   MOZ_CRASH("Accessing servo node data in non-stylo build");
 #endif
 }
+
+void
+Element::SetCustomElementData(CustomElementData* aData)
+{
+  nsDOMSlots *slots = DOMSlots();
+  MOZ_ASSERT(!slots->mCustomElementData, "Custom element data may not be changed once set.");
+  slots->mCustomElementData = aData;
+}
--- a/dom/base/Element.h
+++ b/dom/base/Element.h
@@ -458,16 +458,39 @@ public:
     return !!mServoData.Get();
 #else
     MOZ_CRASH("Accessing servo node data in non-stylo build");
 #endif
   }
 
   void ClearServoData();
 
+  /**
+   * Gets the custom element data used by web components custom element.
+   * Custom element data is created at the first attempt to enqueue a callback.
+   *
+   * @return The custom element data or null if none.
+   */
+  inline CustomElementData* GetCustomElementData() const
+  {
+    nsDOMSlots *slots = GetExistingDOMSlots();
+    if (slots) {
+      return slots->mCustomElementData;
+    }
+    return nullptr;
+  }
+
+  /**
+   * Sets the custom element data, ownership of the
+   * callback data is taken by this element.
+   *
+   * @param aData The custom element data.
+   */
+  void SetCustomElementData(CustomElementData* aData);
+
 protected:
   /**
    * Method to get the _intrinsic_ content state of this element.  This is the
    * state that is independent of the element's presentation.  To get the full
    * content state, use State().  See mozilla/EventStates.h for
    * the possible bits that could be set here.
    */
   virtual EventStates IntrinsicState() const;
--- a/dom/base/FragmentOrElement.cpp
+++ b/dom/base/FragmentOrElement.cpp
@@ -1147,34 +1147,16 @@ FragmentOrElement::SetXBLInsertionParent
 
   // We just changed the flattened tree, so any Servo style data is now invalid.
   // We rely on nsXBLService::LoadBindings to re-traverse the subtree afterwards.
   if (IsStyledByServo() && IsElement() && AsElement()->HasServoData()) {
     ServoRestyleManager::ClearServoDataFromSubtree(AsElement());
   }
 }
 
-CustomElementData*
-FragmentOrElement::GetCustomElementData() const
-{
-  nsDOMSlots *slots = GetExistingDOMSlots();
-  if (slots) {
-    return slots->mCustomElementData;
-  }
-  return nullptr;
-}
-
-void
-FragmentOrElement::SetCustomElementData(CustomElementData* aData)
-{
-  nsDOMSlots *slots = DOMSlots();
-  MOZ_ASSERT(!slots->mCustomElementData, "Custom element data may not be changed once set.");
-  slots->mCustomElementData = aData;
-}
-
 nsresult
 FragmentOrElement::InsertChildAt(nsIContent* aKid,
                                 uint32_t aIndex,
                                 bool aNotify)
 {
   NS_PRECONDITION(aKid, "null ptr");
 
   return doInsertChildAt(aKid, aIndex, aNotify, mAttrsAndChildren);
--- a/dom/base/FragmentOrElement.h
+++ b/dom/base/FragmentOrElement.h
@@ -31,16 +31,17 @@ class nsIControllers;
 class nsICSSDeclaration;
 class nsIDocument;
 class nsDOMStringMap;
 class nsIURI;
 
 namespace mozilla {
 class DeclarationBlock;
 namespace dom {
+struct CustomElementData;
 class DOMIntersectionObserver;
 class Element;
 } // namespace dom
 } // namespace mozilla
 
 /**
  * A class that implements nsIWeakReference
  */
@@ -153,19 +154,16 @@ public:
   virtual ShadowRoot *GetContainingShadow() const override;
   virtual nsTArray<nsIContent*> &DestInsertionPoints() override;
   virtual nsTArray<nsIContent*> *GetExistingDestInsertionPoints() const override;
   virtual void SetShadowRoot(ShadowRoot* aBinding) override;
   virtual nsIContent *GetXBLInsertionParent() const override;
   virtual void SetXBLInsertionParent(nsIContent* aContent) override;
   virtual bool IsLink(nsIURI** aURI) const override;
 
-  virtual CustomElementData *GetCustomElementData() const override;
-  virtual void SetCustomElementData(CustomElementData* aData) override;
-
   virtual void DestroyContent() override;
   virtual void SaveSubtreeState() override;
 
   NS_IMETHOD WalkContentStyleRules(nsRuleWalker* aRuleWalker) override;
 
   nsIHTMLCollection* Children();
   uint32_t ChildElementCount()
   {
--- a/dom/base/nsGenericDOMDataNode.cpp
+++ b/dom/base/nsGenericDOMDataNode.cpp
@@ -759,27 +759,16 @@ nsGenericDOMDataNode::SetXBLInsertionPar
   } else {
     nsDataSlots *slots = GetExistingDataSlots();
     if (slots) {
       slots->mXBLInsertionParent = nullptr;
     }
   }
 }
 
-CustomElementData *
-nsGenericDOMDataNode::GetCustomElementData() const
-{
-  return nullptr;
-}
-
-void
-nsGenericDOMDataNode::SetCustomElementData(CustomElementData* aData)
-{
-}
-
 bool
 nsGenericDOMDataNode::IsNodeOfType(uint32_t aFlags) const
 {
   return !(aFlags & ~(eCONTENT | eDATA_NODE));
 }
 
 void
 nsGenericDOMDataNode::SaveSubtreeState()
--- a/dom/base/nsGenericDOMDataNode.h
+++ b/dom/base/nsGenericDOMDataNode.h
@@ -156,19 +156,16 @@ public:
   virtual nsTArray<nsIContent*> &DestInsertionPoints() override;
   virtual nsTArray<nsIContent*> *GetExistingDestInsertionPoints() const override;
   virtual void SetShadowRoot(mozilla::dom::ShadowRoot* aShadowRoot) override;
   virtual nsIContent *GetXBLInsertionParent() const override;
   virtual void SetXBLInsertionParent(nsIContent* aContent) override;
   virtual bool IsNodeOfType(uint32_t aFlags) const override;
   virtual bool IsLink(nsIURI** aURI) const override;
 
-  virtual mozilla::dom::CustomElementData* GetCustomElementData() const override;
-  virtual void SetCustomElementData(mozilla::dom::CustomElementData* aData) override;
-
   NS_IMETHOD WalkContentStyleRules(nsRuleWalker* aRuleWalker) override;
   NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const;
   virtual nsChangeHint GetAttributeChangeHint(const nsIAtom* aAttribute,
                                               int32_t aModType) const;
 
   virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult) const override
   {
     nsCOMPtr<nsINode> result = CloneDataNode(aNodeInfo, true);
--- a/dom/base/nsGlobalWindow.cpp
+++ b/dom/base/nsGlobalWindow.cpp
@@ -14707,48 +14707,51 @@ nsGlobalWindow::FireOnNewGlobalObject()
   JS_FireOnNewGlobalObject(aes.cx(), global);
 }
 
 #ifdef _WINDOWS_
 #error "Never include windows.h in this file!"
 #endif
 
 already_AddRefed<Promise>
-nsGlobalWindow::CreateImageBitmap(const ImageBitmapSource& aImage,
+nsGlobalWindow::CreateImageBitmap(JSContext* aCx,
+                                  const ImageBitmapSource& aImage,
                                   ErrorResult& aRv)
 {
   if (aImage.IsArrayBuffer() || aImage.IsArrayBufferView()) {
     aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
     return nullptr;
   }
 
   return ImageBitmap::Create(this, aImage, Nothing(), aRv);
 }
 
 already_AddRefed<Promise>
-nsGlobalWindow::CreateImageBitmap(const ImageBitmapSource& aImage,
+nsGlobalWindow::CreateImageBitmap(JSContext* aCx,
+                                  const ImageBitmapSource& aImage,
                                   int32_t aSx, int32_t aSy, int32_t aSw, int32_t aSh,
                                   ErrorResult& aRv)
 {
   if (aImage.IsArrayBuffer() || aImage.IsArrayBufferView()) {
     aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
     return nullptr;
   }
 
   return ImageBitmap::Create(this, aImage, Some(gfx::IntRect(aSx, aSy, aSw, aSh)), aRv);
 }
 
 already_AddRefed<mozilla::dom::Promise>
-nsGlobalWindow::CreateImageBitmap(const ImageBitmapSource& aImage,
+nsGlobalWindow::CreateImageBitmap(JSContext* aCx,
+                                  const ImageBitmapSource& aImage,
                                   int32_t aOffset, int32_t aLength,
                                   ImageBitmapFormat aFormat,
                                   const Sequence<ChannelPixelLayout>& aLayout,
                                   ErrorResult& aRv)
 {
-  if (!ImageBitmap::ExtensionsEnabled(nullptr, nullptr)) {
+  if (!ImageBitmap::ExtensionsEnabled(aCx, nullptr)) {
     aRv.Throw(NS_ERROR_TYPE_ERR);
     return nullptr;
   }
   if (aImage.IsArrayBuffer() || aImage.IsArrayBufferView()) {
     return ImageBitmap::Create(this, aImage, aOffset, aLength, aFormat, aLayout,
                                aRv);
   }
   aRv.Throw(NS_ERROR_TYPE_ERR);
--- a/dom/base/nsGlobalWindow.h
+++ b/dom/base/nsGlobalWindow.h
@@ -1246,26 +1246,29 @@ public:
   {
     if (mDoc) {
       mDoc->WarnOnceAbout(nsIDocument::eWindow_Content);
     }
     GetContent(aCx, aRetval, aCallerType, aError);
   }
 
   already_AddRefed<mozilla::dom::Promise>
-  CreateImageBitmap(const mozilla::dom::ImageBitmapSource& aImage,
+  CreateImageBitmap(JSContext* aCx,
+                    const mozilla::dom::ImageBitmapSource& aImage,
                     mozilla::ErrorResult& aRv);
 
   already_AddRefed<mozilla::dom::Promise>
-  CreateImageBitmap(const mozilla::dom::ImageBitmapSource& aImage,
+  CreateImageBitmap(JSContext* aCx,
+                    const mozilla::dom::ImageBitmapSource& aImage,
                     int32_t aSx, int32_t aSy, int32_t aSw, int32_t aSh,
                     mozilla::ErrorResult& aRv);
 
   already_AddRefed<mozilla::dom::Promise>
-  CreateImageBitmap(const mozilla::dom::ImageBitmapSource& aImage,
+  CreateImageBitmap(JSContext* aCx,
+                    const mozilla::dom::ImageBitmapSource& aImage,
                     int32_t aOffset, int32_t aLength,
                     mozilla::dom::ImageBitmapFormat aFormat,
                     const mozilla::dom::Sequence<mozilla::dom::ChannelPixelLayout>& aLayout,
                     mozilla::ErrorResult& aRv);
 
 
   // ChromeWindow bits.  Do NOT call these unless your window is in
   // fact an nsGlobalChromeWindow.
--- a/dom/base/nsIContent.h
+++ b/dom/base/nsIContent.h
@@ -21,17 +21,16 @@ class nsAttrName;
 class nsTextFragment;
 class nsIFrame;
 class nsXBLBinding;
 
 namespace mozilla {
 class EventChainPreVisitor;
 namespace dom {
 class ShadowRoot;
-struct CustomElementData;
 } // namespace dom
 namespace widget {
 struct IMEState;
 } // namespace widget
 } // namespace mozilla
 
 enum nsLinkState {
   eLinkState_Unvisited  = 1,
@@ -731,32 +730,16 @@ public:
    */
   inline nsIContent *GetFlattenedTreeParent() const;
 
   // Helper method, which we leave public so that it's accessible from nsINode.
   enum FlattenedParentType { eNotForStyle, eForStyle };
   nsINode* GetFlattenedTreeParentNodeInternal(FlattenedParentType aType) const;
 
   /**
-   * Gets the custom element data used by web components custom element.
-   * Custom element data is created at the first attempt to enqueue a callback.
-   *
-   * @return The custom element data or null if none.
-   */
-  virtual mozilla::dom::CustomElementData *GetCustomElementData() const = 0;
-
-  /**
-   * Sets the custom element data, ownership of the
-   * callback data is taken by this content.
-   *
-   * @param aCallbackData The custom element data.
-   */
-  virtual void SetCustomElementData(mozilla::dom::CustomElementData* aData) = 0;
-
-  /**
    * API to check if this is a link that's traversed in response to user input
    * (e.g. a click event). Specializations for HTML/SVG/generic XML allow for
    * different types of link in different types of content.
    *
    * @param aURI Required out param. If this content is a link, a new nsIURI
    *             set to this link's URI will be passed out.
    *
    * @note The out param, aURI, is guaranteed to be set to a non-null pointer
--- a/dom/base/nsRange.cpp
+++ b/dom/base/nsRange.cpp
@@ -3456,23 +3456,24 @@ IsVisibleAndNotInReplacedElement(nsIFram
         !f->GetContent()->IsHTMLElement(nsGkAtoms::select)) {
       return false;
     }
   }
   return true;
 }
 
 static bool
-ElementIsVisible(Element* aElement)
+ElementIsVisibleNoFlush(Element* aElement)
 {
   if (!aElement) {
     return false;
   }
-  RefPtr<nsStyleContext> sc = nsComputedDOMStyle::GetStyleContextForElement(
-    aElement, nullptr, nullptr);
+  RefPtr<nsStyleContext> sc =
+    nsComputedDOMStyle::GetStyleContextForElementNoFlush(aElement, nullptr,
+                                                         nullptr);
   return sc && sc->StyleVisibility()->IsVisible();
 }
 
 static void
 AppendTransformedText(InnerTextAccumulator& aResult,
                       nsGenericDOMDataNode* aTextNode,
                       int32_t aStart, int32_t aEnd)
 {
@@ -3590,17 +3591,17 @@ nsRange::GetInnerTextNoFlush(DOMString& 
   }
 
   while (currentNode != endNode || currentState != endState) {
     nsIFrame* f = currentNode->GetPrimaryFrame();
     bool isVisibleAndNotReplaced = IsVisibleAndNotInReplacedElement(f);
     if (currentState == AT_NODE) {
       bool isText = currentNode->IsNodeOfType(nsINode::eTEXT);
       if (isText && currentNode->GetParent()->IsHTMLElement(nsGkAtoms::rp) &&
-          ElementIsVisible(currentNode->GetParent()->AsElement())) {
+          ElementIsVisibleNoFlush(currentNode->GetParent()->AsElement())) {
         nsAutoString str;
         currentNode->GetTextContent(str, aError);
         result.Append(str);
       } else if (isVisibleAndNotReplaced) {
         result.AddRequiredLineBreakCount(GetRequiredInnerTextLineBreakCount(f));
         if (isText) {
           nsIFrame::RenderedText text = f->GetRenderedText();
           result.Append(text.mString);
--- a/dom/bindings/Bindings.conf
+++ b/dom/bindings/Bindings.conf
@@ -1361,16 +1361,17 @@ DOMInterfaces = {
 },
 
 'Window': {
     'nativeType': 'nsGlobalWindow',
     'binaryNames': {
         'postMessage': 'postMessageMoz',
     },
     'implicitJSContext': [
+        'createImageBitmap',
         'requestIdleCallback'
     ],
 },
 
 'WindowProxy': {
     'nativeType': 'nsPIDOMWindowOuter',
     'headerFile': 'nsPIDOMWindow.h',
     'concrete': False
@@ -1389,16 +1390,17 @@ DOMInterfaces = {
     'headerFile': 'mozilla/dom/WorkerScope.h',
     'implicitJSContext': [
         'dump', 'global', 'reportError', 'setConsoleEventHandler',
     ],
 },
 
 'WorkerGlobalScope': {
     'headerFile': 'mozilla/dom/WorkerScope.h',
+    'implicitJSContext': [ 'createImageBitmap' ],
     'concrete': False,
     # Rename a few things so we don't have both classes and methods
     # with the same name
     'binaryNames': {
         'performance': 'getPerformance',
     },
 },
 
--- a/dom/file/MutableBlobStorage.cpp
+++ b/dom/file/MutableBlobStorage.cpp
@@ -70,17 +70,16 @@ private:
 // the temporary file.
 class FileCreatedRunnable final : public Runnable
 {
 public:
   FileCreatedRunnable(MutableBlobStorage* aBlobStorage, PRFileDesc* aFD)
     : mBlobStorage(aBlobStorage)
     , mFD(aFD)
   {
-    MOZ_ASSERT(!NS_IsMainThread());
     MOZ_ASSERT(aBlobStorage);
     MOZ_ASSERT(aFD);
   }
 
   NS_IMETHOD
   Run() override
   {
     MOZ_ASSERT(NS_IsMainThread());
@@ -106,31 +105,29 @@ private:
 // dispatched back to the main-thread.
 class CreateTemporaryFileRunnable final : public Runnable
 {
 public:
   explicit CreateTemporaryFileRunnable(MutableBlobStorage* aBlobStorage)
     : mBlobStorage(aBlobStorage)
   {
     MOZ_ASSERT(NS_IsMainThread());
+    MOZ_ASSERT(XRE_IsParentProcess());
     MOZ_ASSERT(aBlobStorage);
   }
 
   NS_IMETHOD
   Run() override
   {
     MOZ_ASSERT(!NS_IsMainThread());
+    MOZ_ASSERT(XRE_IsParentProcess());
 
     PRFileDesc* tempFD = nullptr;
     nsresult rv = NS_OpenAnonymousTemporaryFile(&tempFD);
     if (NS_WARN_IF(NS_FAILED(rv))) {
-      // In sandboxed context we are not allowed to create temporary files, but
-      // this doesn't mean that BlobStorage should fail. We can continue to
-      // store data in memory.  We don't change the storageType so that we don't
-      // try to create a temporary file again.
       return NS_OK;
     }
 
     // The ownership of the tempFD is moved to the FileCreatedRunnable.
     return NS_DispatchToMainThread(new FileCreatedRunnable(mBlobStorage, tempFD));
   }
 
 private:
@@ -529,19 +526,30 @@ MutableBlobStorage::ShouldBeTemporarySto
 
   return bufferSize.value() >= Preferences::GetUint("dom.blob.memoryToTemporaryFile",
                                                     BLOB_MEMORY_TEMPORARY_FILE);
 }
 
 nsresult
 MutableBlobStorage::MaybeCreateTemporaryFile()
 {
-  nsresult rv = DispatchToIOThread(new CreateTemporaryFileRunnable(this));
-  if (NS_WARN_IF(NS_FAILED(rv))) {
-    return rv;
+  if (XRE_IsParentProcess()) {
+    nsresult rv = DispatchToIOThread(new CreateTemporaryFileRunnable(this));
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return rv;
+    }
+  } else {
+    RefPtr<MutableBlobStorage> self(this);
+    ContentChild::GetSingleton()->
+      AsyncOpenAnonymousTemporaryFile([self](PRFileDesc* prfile) {
+        if (prfile) {
+          // The ownership of the prfile is moved to the FileCreatedRunnable.
+          NS_DispatchToMainThread(new FileCreatedRunnable(self, prfile));
+        }
+      });
   }
 
   mStorageState = eWaitingForTemporaryFile;
   return NS_OK;
 }
 
 void
 MutableBlobStorage::TemporaryFileCreated(PRFileDesc* aFD)
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -193,16 +193,17 @@
 #include "mozilla/net/NeckoMessageUtils.h"
 #include "mozilla/widget/PuppetBidiKeyboard.h"
 #include "mozilla/RemoteSpellCheckEngineChild.h"
 #include "GMPServiceChild.h"
 #include "GfxInfoBase.h"
 #include "gfxPlatform.h"
 #include "nscore.h" // for NS_FREE_PERMANENT_DATA
 #include "VRManagerChild.h"
+#include "private/pprio.h"
 
 #ifdef MOZ_WIDGET_GTK
 #include "nsAppRunner.h"
 #endif
 #ifdef MOZ_CRASHREPORTER
 #include "mozilla/ipc/CrashReporterClient.h"
 #endif
 
@@ -3217,10 +3218,48 @@ ContentChild::RecvDeactivate(PBrowserChi
 
 mozilla::ipc::IPCResult
 ContentChild::RecvParentActivated(PBrowserChild* aTab, const bool& aActivated)
 {
   TabChild* tab = static_cast<TabChild*>(aTab);
   return tab->RecvParentActivated(aActivated);
 }
 
+mozilla::ipc::IPCResult
+ContentChild::RecvProvideAnonymousTemporaryFile(const uint64_t& aID,
+                                                const FileDescOrError& aFDOrError)
+{
+  nsAutoPtr<AnonymousTemporaryFileCallback> callback;
+  mPendingAnonymousTemporaryFiles.RemoveAndForget(aID, callback);
+  MOZ_ASSERT(callback);
+
+  PRFileDesc* prfile = nullptr;
+  if (aFDOrError.type() == FileDescOrError::Tnsresult) {
+    DebugOnly<nsresult> rv = aFDOrError.get_nsresult();
+    MOZ_ASSERT(NS_FAILED(rv));
+  } else {
+    auto rawFD = aFDOrError.get_FileDescriptor().ClonePlatformHandle();
+    prfile = PR_ImportFile(PROsfd(rawFD.release()));
+  }
+  (*callback)(prfile);
+  return IPC_OK();
+}
+
+nsresult
+ContentChild::AsyncOpenAnonymousTemporaryFile(AnonymousTemporaryFileCallback aCallback)
+{
+  MOZ_ASSERT(NS_IsMainThread());
+
+  static uint64_t id = 0;
+  auto newID = id++;
+  if (!SendRequestAnonymousTemporaryFile(newID)) {
+    return NS_ERROR_FAILURE;
+  }
+
+  // Remember the association with the callback.
+  MOZ_ASSERT(!mPendingAnonymousTemporaryFiles.Get(newID));
+  mPendingAnonymousTemporaryFiles.LookupOrAdd(newID, aCallback);
+  return NS_OK;
+}
+
+
 } // namespace dom
 } // namespace mozilla
--- a/dom/ipc/ContentChild.h
+++ b/dom/ipc/ContentChild.h
@@ -581,16 +581,19 @@ public:
           const bool& minimizeMemoryUsage,
           const MaybeFileDesc& DMDFile) override;
 
   virtual mozilla::ipc::IPCResult
   RecvSetXPCOMProcessAttributes(const XPCOMInitData& aXPCOMInit,
                                 const StructuredCloneData& aInitialData,
                                 nsTArray<LookAndFeelInt>&& aLookAndFeelIntCache) override;
 
+  virtual mozilla::ipc::IPCResult
+  RecvProvideAnonymousTemporaryFile(const uint64_t& aID, const FileDescOrError& aFD) override;
+
 #if defined(XP_WIN) && defined(ACCESSIBILITY)
   bool
   SendGetA11yContentId();
 #endif // defined(XP_WIN) && defined(ACCESSIBILITY)
 
   // Get a reference to the font family list passed from the chrome process,
   // for use during gfx initialization.
   InfallibleTArray<mozilla::dom::FontFamilyListEntry>&
@@ -623,16 +626,19 @@ public:
   // This method is used by FileCreatorHelper for the creation of a BlobImpl.
   void
   FileCreationRequest(nsID& aUUID, FileCreatorHelper* aHelper,
                       const nsAString& aFullPath, const nsAString& aType,
                       const nsAString& aName,
                       const Optional<int64_t>& aLastModified,
                       bool aExistenceCheck, bool aIsFromNsIFile);
 
+  typedef std::function<void(PRFileDesc*)> AnonymousTemporaryFileCallback;
+  nsresult AsyncOpenAnonymousTemporaryFile(AnonymousTemporaryFileCallback aCallback);
+
 private:
   static void ForceKillTimerCallback(nsITimer* aTimer, void* aClosure);
   void StartForceKillTimer();
 
   virtual void ActorDestroy(ActorDestroyReason why) override;
 
   virtual void ProcessingError(Result aCode, const char* aReason) override;
 
@@ -691,16 +697,19 @@ private:
   // This GetFilesHelperChild objects are removed when RecvGetFilesResponse is
   // received.
   nsRefPtrHashtable<nsIDHashKey, GetFilesHelperChild> mGetFilesPendingRequests;
 
   // Hashtable to keep track of the pending file creation.
   // These items are removed when RecvFileCreationResponse is received.
   nsRefPtrHashtable<nsIDHashKey, FileCreatorHelper> mFileCreationPending;
 
+
+  nsClassHashtable<nsUint64HashKey, AnonymousTemporaryFileCallback> mPendingAnonymousTemporaryFiles;
+
   bool mShuttingDown;
 
   DISALLOW_EVIL_CONSTRUCTORS(ContentChild);
 };
 
 uint64_t
 NextWindowID();
 
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -4082,16 +4082,90 @@ ContentParent::RecvBackUpXResources(cons
   if (aXSocketFd.IsValid()) {
     auto rawFD = aXSocketFd.ClonePlatformHandle();
     mChildXSocketFdDup.reset(rawFD.release());
   }
 #endif
   return IPC_OK();
 }
 
+class AnonymousTemporaryFileRequestor final : public Runnable
+{
+public:
+  AnonymousTemporaryFileRequestor(ContentParent* aCP, const uint64_t& aID)
+    : mCP(aCP)
+    , mID(aID)
+    , mRv(NS_OK)
+    , mPRFD(nullptr)
+  {
+  }
+
+  NS_IMETHOD Run() override
+  {
+    if (NS_IsMainThread()) {
+      FileDescOrError result;
+      if (NS_WARN_IF(NS_FAILED(mRv))) {
+        // Returning false will kill the child process; instead
+        // propagate the error and let the child handle it.
+        result = mRv;
+      } else {
+        result = FileDescriptor(FileDescriptor::PlatformHandleType(PR_FileDesc2NativeHandle(mPRFD)));
+        // The FileDescriptor object owns a duplicate of the file handle; we
+        // must close the original (and clean up the NSPR descriptor).
+        PR_Close(mPRFD);
+      }
+      Unused << mCP->SendProvideAnonymousTemporaryFile(mID, result);
+      // It's important to release this reference while wr're on the main thread!
+      mCP = nullptr;
+    } else {
+      mRv = NS_OpenAnonymousTemporaryFile(&mPRFD);
+      NS_DispatchToMainThread(this);
+    }
+    return NS_OK;
+  }
+
+private:
+  RefPtr<ContentParent> mCP;
+  uint64_t mID;
+  nsresult mRv;
+  PRFileDesc* mPRFD;
+};
+
+mozilla::ipc::IPCResult
+ContentParent::RecvRequestAnonymousTemporaryFile(const uint64_t& aID)
+{
+  // Make sure to send a callback to the child if we bail out early.
+  nsresult rv = NS_OK;
+  RefPtr<ContentParent> self(this);
+  auto autoNotifyChildOnError = MakeScopeExit([&]() {
+    if (NS_FAILED(rv)) {
+      FileDescOrError result(rv);
+      Unused << self->SendProvideAnonymousTemporaryFile(aID, result);
+    }
+  });
+
+  // We use a helper runnable to open the anonymous temporary file on the IO
+  // thread.  The same runnable will call us back on the main thread when the
+  // file has been opened.
+  nsCOMPtr<nsIEventTarget> target
+    = do_GetService(NS_STREAMTRANSPORTSERVICE_CONTRACTID, &rv);
+  if (!target) {
+    return IPC_OK();
+  }
+
+  rv = target->Dispatch(new AnonymousTemporaryFileRequestor(this, aID),
+                        NS_DISPATCH_NORMAL);
+  if (NS_WARN_IF(NS_FAILED(rv))) {
+    return IPC_OK();
+  }
+
+  rv = NS_OK;
+  return IPC_OK();
+}
+
 mozilla::ipc::IPCResult
 ContentParent::RecvOpenAnonymousTemporaryFile(FileDescOrError *aFD)
 {
   PRFileDesc *prfd;
   nsresult rv = NS_OpenAnonymousTemporaryFile(&prfd);
   if (NS_WARN_IF(NS_FAILED(rv))) {
     // Returning false will kill the child process; instead
     // propagate the error and let the child handle it.
--- a/dom/ipc/ContentParent.h
+++ b/dom/ipc/ContentParent.h
@@ -1054,16 +1054,19 @@ private:
 
   virtual mozilla::ipc::IPCResult RecvRemoveIdleObserver(const uint64_t& observerId,
                                                          const uint32_t& aIdleTimeInS) override;
 
   virtual mozilla::ipc::IPCResult
   RecvBackUpXResources(const FileDescriptor& aXSocketFd) override;
 
   virtual mozilla::ipc::IPCResult
+  RecvRequestAnonymousTemporaryFile(const uint64_t& aID) override;
+
+  virtual mozilla::ipc::IPCResult
   RecvOpenAnonymousTemporaryFile(FileDescOrError* aFD) override;
 
   virtual mozilla::ipc::IPCResult
   RecvKeygenProcessValue(const nsString& oldValue, const nsString& challenge,
                          const nsString& keytype, const nsString& keyparams,
                          nsString* newValue) override;
 
   virtual mozilla::ipc::IPCResult
--- a/dom/ipc/PContent.ipdl
+++ b/dom/ipc/PContent.ipdl
@@ -586,16 +586,18 @@ child:
     async Activate(PBrowser aTab);
 
     async Deactivate(PBrowser aTab);
 
     async ParentActivated(PBrowser aTab, bool aActivated);
 
     async PParentToChildStream();
 
+    async ProvideAnonymousTemporaryFile(uint64_t aID, FileDescOrError aFD);
+
 parent:
     async InitBackground(Endpoint<PBackgroundParent> aEndpoint);
 
     sync CreateChildProcess(IPCTabContext context,
                             ProcessPriority priority,
                             TabId openerTabId)
         returns (ContentParentId cpId, bool isForBrowser, TabId tabId);
     sync BridgeToChildProcess(ContentParentId cpId)
@@ -867,16 +869,18 @@ parent:
      * around until after both the plugin process shuts down *and* the
      * parent process closes the dup fd.  This is used to prevent the
      * parent process from crashing on X errors if, e.g., the plugin
      * crashes *just before* a repaint and the parent process tries to
      * use the newly-invalid surface.
      */
     async BackUpXResources(FileDescriptor aXSocketFd);
 
+    async RequestAnonymousTemporaryFile(uint64_t aID);
+
     sync OpenAnonymousTemporaryFile() returns (FileDescOrError aFD);
 
     /**
      * Keygen requires us to call it after a <keygen> element is parsed and
      * before one is submitted. This is urgent because an extension might use
      * a CPOW to synchronously submit a keygen element.
      */
     nested(inside_cpow) sync KeygenProcessValue(nsString oldValue,
--- a/dom/media/EncodedBufferCache.cpp
+++ b/dom/media/EncodedBufferCache.cpp
@@ -1,37 +1,77 @@
 /* -*- 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 "EncodedBufferCache.h"
-#include "mozilla/dom/File.h"
+#include "prio.h"
 #include "nsAnonymousTemporaryFile.h"
-#include "prio.h"
+#include "mozilla/Monitor.h"
+#include "mozilla/dom/ContentChild.h"
+#include "mozilla/dom/File.h"
+#include "nsThreadUtils.h"
+#include "nsXULAppAPI.h"
 
 namespace mozilla {
 
 void
 EncodedBufferCache::AppendBuffer(nsTArray<uint8_t> & aBuf)
 {
+  MOZ_ASSERT(!NS_IsMainThread());
+
   MutexAutoLock lock(mMutex);
   mDataSize += aBuf.Length();
 
   mEncodedBuffers.AppendElement()->SwapElements(aBuf);
 
   if (!mTempFileEnabled && mDataSize > mMaxMemoryStorage) {
     nsresult rv;
     PRFileDesc* tempFD = nullptr;
     {
-      // Release the mMutex because there is a sync dispatch to mainthread in
-      // NS_OpenAnonymousTemporaryFile.
+      // Release the mMutex because of the sync dispatch to the main thread.
       MutexAutoUnlock unlock(mMutex);
-      rv = NS_OpenAnonymousTemporaryFile(&tempFD);
+      if (XRE_IsParentProcess()) {
+        // In case we are in the parent process, do a synchronous I/O here to open a
+        // temporary file.
+        rv = NS_OpenAnonymousTemporaryFile(&tempFD);
+      } else {
+        // In case we are in the child process, we don't have access to open a file
+        // directly due to sandbox restrictions, so we need to ask the parent process
+        // to do that for us.  In order to initiate the IPC, we need to first go to
+        // the main thread.  This is done by dispatching a runnable to the main thread.
+        // From there, we start an asynchronous IPC, and we block the current thread
+        // using a monitor while this async work is in progress.  When we receive the
+        // resulting file descriptor from the parent process, we notify the monitor
+        // and unblock the current thread and continue.
+        typedef dom::ContentChild::AnonymousTemporaryFileCallback
+          AnonymousTemporaryFileCallback;
+        bool done = false;
+        Monitor monitor("EncodeBufferCache::AppendBuffer");
+        RefPtr<dom::ContentChild> cc = dom::ContentChild::GetSingleton();
+        nsCOMPtr<nsIRunnable> runnable =
+          NewRunnableMethod<AnonymousTemporaryFileCallback>(cc,
+            &dom::ContentChild::AsyncOpenAnonymousTemporaryFile,
+            [&](PRFileDesc* aFile) {
+              rv = aFile ? NS_OK : NS_ERROR_FAILURE;
+              tempFD = aFile;
+              MonitorAutoLock lock(monitor);
+              done = true;
+              lock.Notify();
+            });
+        MonitorAutoLock lock(monitor);
+        rv = NS_DispatchToMainThread(runnable);
+        if (NS_SUCCEEDED(rv)) {
+          while (!done) {
+            lock.Wait();
+          }
+        }
+      }
     }
     if (!NS_FAILED(rv)) {
       // Check the mDataSize again since we release the mMutex before.
       if (mDataSize > mMaxMemoryStorage) {
         mFD = tempFD;
         mTempFileEnabled = true;
       } else {
         // Close the tempFD because the data had been taken during the
--- a/dom/workers/WorkerScope.cpp
+++ b/dom/workers/WorkerScope.cpp
@@ -436,51 +436,51 @@ WorkerGlobalScope::GetIndexedDB(ErrorRes
 
     mIndexedDB = indexedDB;
   }
 
   return indexedDB.forget();
 }
 
 already_AddRefed<Promise>
-WorkerGlobalScope::CreateImageBitmap(const ImageBitmapSource& aImage,
+WorkerGlobalScope::CreateImageBitmap(JSContext* aCx,
+                                     const ImageBitmapSource& aImage,
                                      ErrorResult& aRv)
 {
   if (aImage.IsArrayBuffer() || aImage.IsArrayBufferView()) {
     aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
     return nullptr;
   }
 
   return ImageBitmap::Create(this, aImage, Nothing(), aRv);
 }
 
 already_AddRefed<Promise>
-WorkerGlobalScope::CreateImageBitmap(const ImageBitmapSource& aImage,
+WorkerGlobalScope::CreateImageBitmap(JSContext* aCx,
+                                     const ImageBitmapSource& aImage,
                                      int32_t aSx, int32_t aSy, int32_t aSw, int32_t aSh,
                                      ErrorResult& aRv)
 {
   if (aImage.IsArrayBuffer() || aImage.IsArrayBufferView()) {
     aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
     return nullptr;
   }
 
   return ImageBitmap::Create(this, aImage, Some(gfx::IntRect(aSx, aSy, aSw, aSh)), aRv);
 }
 
 already_AddRefed<mozilla::dom::Promise>
-WorkerGlobalScope::CreateImageBitmap(const ImageBitmapSource& aImage,
+WorkerGlobalScope::CreateImageBitmap(JSContext* aCx,
+                                     const ImageBitmapSource& aImage,
                                      int32_t aOffset, int32_t aLength,
                                      ImageBitmapFormat aFormat,
                                      const Sequence<ChannelPixelLayout>& aLayout,
                                      ErrorResult& aRv)
 {
-  JSContext* cx = GetCurrentThreadJSContext();
-  MOZ_ASSERT(cx);
-
-  if (!ImageBitmap::ExtensionsEnabled(cx, nullptr)) {
+  if (!ImageBitmap::ExtensionsEnabled(aCx, nullptr)) {
     aRv.Throw(NS_ERROR_TYPE_ERR);
     return nullptr;
   }
 
   if (aImage.IsArrayBuffer() || aImage.IsArrayBufferView()) {
     return ImageBitmap::Create(this, aImage, aOffset, aLength, aFormat, aLayout,
                                aRv);
   } else {
--- a/dom/workers/WorkerScope.h
+++ b/dom/workers/WorkerScope.h
@@ -163,25 +163,28 @@ public:
   GetIndexedDB(ErrorResult& aErrorResult);
 
   already_AddRefed<cache::CacheStorage>
   GetCaches(ErrorResult& aRv);
 
   bool IsSecureContext() const;
 
   already_AddRefed<Promise>
-  CreateImageBitmap(const ImageBitmapSource& aImage, ErrorResult& aRv);
+  CreateImageBitmap(JSContext* aCx,
+                    const ImageBitmapSource& aImage, ErrorResult& aRv);
 
   already_AddRefed<Promise>
-  CreateImageBitmap(const ImageBitmapSource& aImage,
+  CreateImageBitmap(JSContext* aCx,
+                    const ImageBitmapSource& aImage,
                     int32_t aSx, int32_t aSy, int32_t aSw, int32_t aSh,
                     ErrorResult& aRv);
 
   already_AddRefed<mozilla::dom::Promise>
-  CreateImageBitmap(const ImageBitmapSource& aImage,
+  CreateImageBitmap(JSContext* aCx,
+                    const ImageBitmapSource& aImage,
                     int32_t aOffset, int32_t aLength,
                     mozilla::dom::ImageBitmapFormat aFormat,
                     const mozilla::dom::Sequence<mozilla::dom::ChannelPixelLayout>& aLayout,
                     mozilla::ErrorResult& aRv);
 
   bool
   WindowInteractionAllowed() const
   {
--- a/js/public/CallArgs.h
+++ b/js/public/CallArgs.h
@@ -123,17 +123,20 @@ class MOZ_STACK_CLASS CallArgsBase : pub
 {
     static_assert(mozilla::IsSame<WantUsedRval, IncludeUsedRval>::value ||
                   mozilla::IsSame<WantUsedRval, NoUsedRval>::value,
                   "WantUsedRval can only be IncludeUsedRval or NoUsedRval");
 
   protected:
     Value* argv_;
     unsigned argc_;
-    bool constructing_;
+    bool constructing_:1;
+
+    // True if the caller does not use the return value.
+    bool ignoresReturnValue_:1;
 
   public:
     // CALLEE ACCESS
 
     /*
      * Returns the function being called, as a value.  Must not be called after
      * rval() has been used!
      */
@@ -159,16 +162,20 @@ class MOZ_STACK_CLASS CallArgsBase : pub
 #ifdef JS_DEBUG
         if (!this->usedRval_)
             CheckIsValidConstructible(calleev());
 #endif
 
         return true;
     }
 
+    bool ignoresReturnValue() const {
+        return ignoresReturnValue_;
+    }
+
     MutableHandleValue newTarget() const {
         MOZ_ASSERT(constructing_);
         return MutableHandleValue::fromMarkedLocation(&this->argv_[argc_]);
     }
 
     /*
      * Returns the |this| value passed to the function.  This method must not
      * be called when the function is being called as a constructor via |new|.
@@ -275,24 +282,27 @@ class MOZ_STACK_CLASS CallArgsBase : pub
 };
 
 } // namespace detail
 
 class MOZ_STACK_CLASS CallArgs : public detail::CallArgsBase<detail::IncludeUsedRval>
 {
   private:
     friend CallArgs CallArgsFromVp(unsigned argc, Value* vp);
-    friend CallArgs CallArgsFromSp(unsigned stackSlots, Value* sp, bool constructing);
+    friend CallArgs CallArgsFromSp(unsigned stackSlots, Value* sp, bool constructing,
+                                   bool ignoresReturnValue);
 
-    static CallArgs create(unsigned argc, Value* argv, bool constructing) {
+    static CallArgs create(unsigned argc, Value* argv, bool constructing,
+                           bool ignoresReturnValue = false) {
         CallArgs args;
         args.clearUsedRval();
         args.argv_ = argv;
         args.argc_ = argc;
         args.constructing_ = constructing;
+        args.ignoresReturnValue_ = ignoresReturnValue;
 #ifdef DEBUG
         MOZ_ASSERT(ValueIsNotGray(args.thisv()));
         MOZ_ASSERT(ValueIsNotGray(args.calleev()));
         for (unsigned i = 0; i < argc; ++i)
             MOZ_ASSERT(ValueIsNotGray(argv[i]));
 #endif
         return args;
     }
@@ -311,19 +321,21 @@ CallArgsFromVp(unsigned argc, Value* vp)
 {
     return CallArgs::create(argc, vp + 2, vp[1].isMagic(JS_IS_CONSTRUCTING));
 }
 
 // This method is only intended for internal use in SpiderMonkey.  We may
 // eventually move it to an internal header.  Embedders should use
 // JS::CallArgsFromVp!
 MOZ_ALWAYS_INLINE CallArgs
-CallArgsFromSp(unsigned stackSlots, Value* sp, bool constructing = false)
+CallArgsFromSp(unsigned stackSlots, Value* sp, bool constructing = false,
+               bool ignoresReturnValue = false)
 {
-    return CallArgs::create(stackSlots - constructing, sp - stackSlots, constructing);
+    return CallArgs::create(stackSlots - constructing, sp - stackSlots, constructing,
+                            ignoresReturnValue);
 }
 
 } // namespace JS
 
 /*
  * Macros to hide interpreter stack layout details from a JSNative using its
  * JS::Value* vp parameter.  DO NOT USE THESE!  Instead use JS::CallArgs and
  * friends, above.  These macros will be removed when we change JSNative to
--- a/js/src/frontend/BytecodeEmitter.cpp
+++ b/js/src/frontend/BytecodeEmitter.cpp
@@ -4585,17 +4585,17 @@ BytecodeEmitter::emitSwitch(ParseNode* p
 
         // Emit code for evaluating cases and jumping to case statements.
         for (CaseClause* caseNode = firstCase; caseNode; caseNode = caseNode->next()) {
             ParseNode* caseValue = caseNode->caseExpression();
 
             // If the expression is a literal, suppress line number emission so
             // that debugging works more naturally.
             if (caseValue) {
-                if (!emitTree(caseValue,
+                if (!emitTree(caseValue, ValueUsage::WantValue,
                               caseValue->isLiteral() ? SUPPRESS_LINENOTE : EMIT_LINENOTE))
                 {
                     return false;
                 }
             }
 
             if (!beforeCases) {
                 // prevCase is the previous JSOP_CASE's bytecode offset.
@@ -6613,17 +6613,17 @@ BytecodeEmitter::emitLexicalScopeBody(Pa
         // This block contains function statements whose definitions are
         // hoisted to the top of the block. Emit these as a separate pass
         // before the rest of the block.
         if (!emitHoistedFunctionsInList(body))
             return false;
     }
 
     // Line notes were updated by emitLexicalScope.
-    return emitTree(body, emitLineNote);
+    return emitTree(body, ValueUsage::WantValue, emitLineNote);
 }
 
 // Using MOZ_NEVER_INLINE in here is a workaround for llvm.org/pr14047. See
 // the comment on emitSwitch.
 MOZ_NEVER_INLINE bool
 BytecodeEmitter::emitLexicalScope(ParseNode* pn)
 {
     MOZ_ASSERT(pn->isKind(PNK_LEXICALSCOPE));
@@ -6715,19 +6715,19 @@ BytecodeEmitter::emitRequireObjectCoerci
                     JSOP_GETINTRINSIC))    // VAL VAL REQUIREOBJECTCOERCIBLE
     {
         return false;
     }
     if (!emit1(JSOP_UNDEFINED))            // VAL VAL REQUIREOBJECTCOERCIBLE UNDEFINED
         return false;
     if (!emit2(JSOP_PICK, 2))              // VAL REQUIREOBJECTCOERCIBLE UNDEFINED VAL
         return false;
-    if (!emitCall(JSOP_CALL, 1))           // VAL IGNORED
-        return false;
-    checkTypeSet(JSOP_CALL);
+    if (!emitCall(JSOP_CALL_IGNORES_RV, 1))// VAL IGNORED
+        return false;
+    checkTypeSet(JSOP_CALL_IGNORES_RV);
 
     if (!emit1(JSOP_POP))                  // VAL
         return false;
 
     MOZ_ASSERT(depth == this->stackDepth);
     return true;
 }
 
@@ -7237,22 +7237,24 @@ BytecodeEmitter::emitCStyleFor(ParseNode
     // ES6 spec also skips cloning the environment in this case.)
     bool forLoopRequiresFreshening = false;
     if (ParseNode* init = forHead->pn_kid1) {
         // Emit the `init` clause, whether it's an expression or a variable
         // declaration. (The loop variables were hoisted into an enclosing
         // scope, but we still need to emit code for the initializers.)
         if (!updateSourceCoordNotes(init->pn_pos.begin))
             return false;
-        if (!emitTree(init))
-            return false;
-
-        if (!init->isForLoopDeclaration()) {
+        if (init->isForLoopDeclaration()) {
+            if (!emitTree(init))
+                return false;
+        } else {
             // 'init' is an expression, not a declaration. emitTree left its
             // value on the stack.
+            if (!emitTree(init, ValueUsage::IgnoreValue))
+                return false;
             if (!emit1(JSOP_POP))
                 return false;
         }
 
         // ES 13.7.4.8 step 2. The initial freshening.
         //
         // If an initializer let-declaration may be captured during loop iteration,
         // the current scope has an environment.  If so, freshen the current
@@ -7324,17 +7326,17 @@ BytecodeEmitter::emitCStyleFor(ParseNode
 
     // Check for update code to do before the condition (if any).
     // The update code may not be executed at all; it needs its own TDZ cache.
     if (ParseNode* update = forHead->pn_kid3) {
         TDZCheckCache tdzCache(this);
 
         if (!updateSourceCoordNotes(update->pn_pos.begin))
             return false;
-        if (!emitTree(update))
+        if (!emitTree(update, ValueUsage::IgnoreValue))
             return false;
         if (!emit1(JSOP_POP))
             return false;
 
         /* Restore the absolute line number for source note readers. */
         uint32_t lineNum = parser->tokenStream.srcCoords.lineNum(pn->pn_pos.end);
         if (currentLine() != lineNum) {
             if (!newSrcNote2(SRC_SETLINE, ptrdiff_t(lineNum)))
@@ -8681,18 +8683,19 @@ BytecodeEmitter::emitStatement(ParseNode
             innermostNestableControl->as<LabelControl>().startOffset() >= offset())
         {
             useful = true;
         }
     }
 
     if (useful) {
         JSOp op = wantval ? JSOP_SETRVAL : JSOP_POP;
+        ValueUsage valueUsage = wantval ? ValueUsage::WantValue : ValueUsage::IgnoreValue;
         MOZ_ASSERT_IF(pn2->isKind(PNK_ASSIGN), pn2->isOp(JSOP_NOP));
-        if (!emitTree(pn2))
+        if (!emitTree(pn2, valueUsage))
             return false;
         if (!emit1(op))
             return false;
     } else if (pn->isDirectivePrologueMember()) {
         // Don't complain about directive prologue members; just don't emit
         // their code.
     } else {
         if (JSAtom* atom = pn->isStringExprStatement()) {
@@ -9060,17 +9063,17 @@ BytecodeEmitter::emitOptimizeSpread(Pars
     if (!emit1(JSOP_POP))
         return false;
 
     *emitted = true;
     return true;
 }
 
 bool
-BytecodeEmitter::emitCallOrNew(ParseNode* pn)
+BytecodeEmitter::emitCallOrNew(ParseNode* pn, ValueUsage valueUsage /* = ValueUsage::WantValue */)
 {
     bool callop = pn->isKind(PNK_CALL) || pn->isKind(PNK_TAGGED_TEMPLATE);
     /*
      * Emit callable invocation or operator new (constructor call) code.
      * First, emit code for the left operand to evaluate the callable or
      * constructable object expression.
      *
      * For operator new, we emit JSOP_GETPROP instead of JSOP_CALLPROP, etc.
@@ -9241,23 +9244,30 @@ BytecodeEmitter::emitCallOrNew(ParseNode
             } else {
                 if (!emitDupAt(2))
                     return false;
             }
         }
     }
 
     if (!spread) {
-        if (!emitCall(pn->getOp(), argc, pn))
-            return false;
+        if (pn->getOp() == JSOP_CALL && valueUsage == ValueUsage::IgnoreValue) {
+            if (!emitCall(JSOP_CALL_IGNORES_RV, argc, pn))
+                return false;
+            checkTypeSet(JSOP_CALL_IGNORES_RV);
+        } else {
+            if (!emitCall(pn->getOp(), argc, pn))
+                return false;
+            checkTypeSet(pn->getOp());
+        }
     } else {
         if (!emit1(pn->getOp()))
             return false;
-    }
-    checkTypeSet(pn->getOp());
+        checkTypeSet(pn->getOp());
+    }
     if (pn->isOp(JSOP_EVAL) ||
         pn->isOp(JSOP_STRICTEVAL) ||
         pn->isOp(JSOP_SPREADEVAL) ||
         pn->isOp(JSOP_STRICTSPREADEVAL))
     {
         uint32_t lineNum = parser->tokenStream.srcCoords.lineNum(pn->pn_pos.begin);
         if (!emitUint32Operand(JSOP_LINENO, lineNum))
             return false;
@@ -9345,22 +9355,23 @@ BytecodeEmitter::emitLogical(ParseNode* 
         return false;
 
     if (!emitJumpTargetAndPatch(jump))
         return false;
     return true;
 }
 
 bool
-BytecodeEmitter::emitSequenceExpr(ParseNode* pn)
+BytecodeEmitter::emitSequenceExpr(ParseNode* pn,
+                                  ValueUsage valueUsage /* = ValueUsage::WantValue */)
 {
     for (ParseNode* child = pn->pn_head; ; child = child->pn_next) {
         if (!updateSourceCoordNotes(child->pn_pos.begin))
             return false;
-        if (!emitTree(child))
+        if (!emitTree(child, child->pn_next ? ValueUsage::IgnoreValue : valueUsage))
             return false;
         if (!child->pn_next)
             break;
         if (!emit1(JSOP_POP))
             return false;
     }
     return true;
 }
@@ -9413,33 +9424,34 @@ BytecodeEmitter::emitLabeledStatement(co
 
     if (!controlInfo.patchBreaks(this))
         return false;
 
     return true;
 }
 
 bool
-BytecodeEmitter::emitConditionalExpression(ConditionalExpression& conditional)
+BytecodeEmitter::emitConditionalExpression(ConditionalExpression& conditional,
+                                           ValueUsage valueUsage /* = ValueUsage::WantValue */)
 {
     /* Emit the condition, then branch if false to the else part. */
     if (!emitTree(&conditional.condition()))
         return false;
 
     IfThenElseEmitter ifThenElse(this);
     if (!ifThenElse.emitCond())
         return false;
 
-    if (!emitTreeInBranch(&conditional.thenExpression()))
+    if (!emitTreeInBranch(&conditional.thenExpression(), valueUsage))
         return false;
 
     if (!ifThenElse.emitElse())
         return false;
 
-    if (!emitTreeInBranch(&conditional.elseExpression()))
+    if (!emitTreeInBranch(&conditional.elseExpression(), valueUsage))
         return false;
 
     if (!ifThenElse.emitEnd())
         return false;
     MOZ_ASSERT(ifThenElse.pushed() == 1);
 
     return true;
 }
@@ -10307,17 +10319,18 @@ BytecodeEmitter::emitClass(ParseNode* pn
     }
 
     MOZ_ALWAYS_TRUE(sc->setLocalStrictMode(savedStrictness));
 
     return true;
 }
 
 bool
-BytecodeEmitter::emitTree(ParseNode* pn, EmitLineNumberNote emitLineNote)
+BytecodeEmitter::emitTree(ParseNode* pn, ValueUsage valueUsage /* = ValueUsage::WantValue */,
+                          EmitLineNumberNote emitLineNote /* = EMIT_LINENOTE */)
 {
     if (!CheckRecursionLimit(cx))
         return false;
 
     EmitLevelManager elm(this);
 
     /* Emit notes to tell the current bytecode's source line number.
        However, a couple trees require special treatment; see the
@@ -10439,17 +10452,17 @@ BytecodeEmitter::emitTree(ParseNode* pn,
         break;
 
       case PNK_LABEL:
         if (!emitLabeledStatement(&pn->as<LabeledStatement>()))
             return false;
         break;
 
       case PNK_COMMA:
-        if (!emitSequenceExpr(pn))
+        if (!emitSequenceExpr(pn, valueUsage))
             return false;
         break;
 
       case PNK_ASSIGN:
       case PNK_ADDASSIGN:
       case PNK_SUBASSIGN:
       case PNK_BITORASSIGN:
       case PNK_BITXORASSIGN:
@@ -10461,17 +10474,17 @@ BytecodeEmitter::emitTree(ParseNode* pn,
       case PNK_DIVASSIGN:
       case PNK_MODASSIGN:
       case PNK_POWASSIGN:
         if (!emitAssignment(pn->pn_left, pn->getOp(), pn->pn_right))
             return false;
         break;
 
       case PNK_CONDITIONAL:
-        if (!emitConditionalExpression(pn->as<ConditionalExpression>()))
+        if (!emitConditionalExpression(pn->as<ConditionalExpression>(), valueUsage))
             return false;
         break;
 
       case PNK_OR:
       case PNK_AND:
         if (!emitLogical(pn))
             return false;
         break;
@@ -10574,17 +10587,17 @@ BytecodeEmitter::emitTree(ParseNode* pn,
         }
         break;
 
       case PNK_NEW:
       case PNK_TAGGED_TEMPLATE:
       case PNK_CALL:
       case PNK_GENEXP:
       case PNK_SUPERCALL:
-        if (!emitCallOrNew(pn))
+        if (!emitCallOrNew(pn, valueUsage))
             return false;
         break;
 
       case PNK_LEXICALSCOPE:
         if (!emitLexicalScope(pn))
             return false;
         break;
 
@@ -10732,22 +10745,23 @@ BytecodeEmitter::emitTree(ParseNode* pn,
     if (emitLevel == 1) {
         if (!updateSourceCoordNotes(pn->pn_pos.end))
             return false;
     }
     return true;
 }
 
 bool
-BytecodeEmitter::emitTreeInBranch(ParseNode* pn)
+BytecodeEmitter::emitTreeInBranch(ParseNode* pn,
+                                  ValueUsage valueUsage /* = ValueUsage::WantValue */)
 {
     // Code that may be conditionally executed always need their own TDZ
     // cache.
     TDZCheckCache tdzCache(this);
-    return emitTree(pn);
+    return emitTree(pn, valueUsage);
 }
 
 static bool
 AllocSrcNote(JSContext* cx, SrcNotesVector& notes, unsigned* index)
 {
     // Start it off moderately large to avoid repeated resizings early on.
     // ~99% of cases fit within 256 bytes.
     if (notes.capacity() == 0 && !notes.reserve(256))
--- a/js/src/frontend/BytecodeEmitter.h
+++ b/js/src/frontend/BytecodeEmitter.h
@@ -162,16 +162,21 @@ struct JumpList {
     // Add a jump instruction to the list.
     void push(jsbytecode* code, ptrdiff_t jumpOffset);
 
     // Patch all jump instructions in this list to jump to `target`.  This
     // clobbers the list.
     void patchAll(jsbytecode* code, JumpTarget target);
 };
 
+enum class ValueUsage {
+    WantValue,
+    IgnoreValue
+};
+
 struct MOZ_STACK_CLASS BytecodeEmitter
 {
     class TDZCheckCache;
     class NestableControl;
     class EmitterScope;
 
     SharedContext* const sc;      /* context shared between parsing and bytecode generation */
 
@@ -425,20 +430,22 @@ struct MOZ_STACK_CLASS BytecodeEmitter
 
     // Control whether emitTree emits a line number note.
     enum EmitLineNumberNote {
         EMIT_LINENOTE,
         SUPPRESS_LINENOTE
     };
 
     // Emit code for the tree rooted at pn.
-    MOZ_MUST_USE bool emitTree(ParseNode* pn, EmitLineNumberNote emitLineNote = EMIT_LINENOTE);
+    MOZ_MUST_USE bool emitTree(ParseNode* pn, ValueUsage valueUsage = ValueUsage::WantValue,
+                               EmitLineNumberNote emitLineNote = EMIT_LINENOTE);
 
     // Emit code for the tree rooted at pn with its own TDZ cache.
-    MOZ_MUST_USE bool emitTreeInBranch(ParseNode* pn);
+    MOZ_MUST_USE bool emitTreeInBranch(ParseNode* pn,
+                                       ValueUsage valueUsage = ValueUsage::WantValue);
 
     // Emit global, eval, or module code for tree rooted at body. Always
     // encompasses the entire source.
     MOZ_MUST_USE bool emitScript(ParseNode* body);
 
     // Emit function code for the tree rooted at body.
     MOZ_MUST_USE bool emitFunctionScript(ParseNode* body);
 
@@ -726,26 +733,28 @@ struct MOZ_STACK_CLASS BytecodeEmitter
 
     // |op| must be JSOP_TYPEOF or JSOP_TYPEOFEXPR.
     MOZ_MUST_USE bool emitTypeof(ParseNode* node, JSOp op);
 
     MOZ_MUST_USE bool emitUnary(ParseNode* pn);
     MOZ_MUST_USE bool emitRightAssociative(ParseNode* pn);
     MOZ_MUST_USE bool emitLeftAssociative(ParseNode* pn);
     MOZ_MUST_USE bool emitLogical(ParseNode* pn);
-    MOZ_MUST_USE bool emitSequenceExpr(ParseNode* pn);
+    MOZ_MUST_USE bool emitSequenceExpr(ParseNode* pn,
+                                       ValueUsage valueUsage = ValueUsage::WantValue);
 
     MOZ_NEVER_INLINE MOZ_MUST_USE bool emitIncOrDec(ParseNode* pn);
 
-    MOZ_MUST_USE bool emitConditionalExpression(ConditionalExpression& conditional);
+    MOZ_MUST_USE bool emitConditionalExpression(ConditionalExpression& conditional,
+                                                ValueUsage valueUsage = ValueUsage::WantValue);
 
     MOZ_MUST_USE bool isRestParameter(ParseNode* pn, bool* result);
     MOZ_MUST_USE bool emitOptimizeSpread(ParseNode* arg0, JumpList* jmp, bool* emitted);
 
-    MOZ_MUST_USE bool emitCallOrNew(ParseNode* pn);
+    MOZ_MUST_USE bool emitCallOrNew(ParseNode* pn, ValueUsage valueUsage = ValueUsage::WantValue);
     MOZ_MUST_USE bool emitSelfHostedCallFunction(ParseNode* pn);
     MOZ_MUST_USE bool emitSelfHostedResumeGenerator(ParseNode* pn);
     MOZ_MUST_USE bool emitSelfHostedForceInterpreter(ParseNode* pn);
     MOZ_MUST_USE bool emitSelfHostedAllowContentIter(ParseNode* pn);
     MOZ_MUST_USE bool emitSelfHostedDefineDataProperty(ParseNode* pn);
 
     MOZ_MUST_USE bool emitComprehensionFor(ParseNode* compFor);
     MOZ_MUST_USE bool emitComprehensionForIn(ParseNode* pn);
--- a/js/src/jit/BaselineCompiler.cpp
+++ b/js/src/jit/BaselineCompiler.cpp
@@ -3295,16 +3295,22 @@ BaselineCompiler::emitSpreadCall()
 
 bool
 BaselineCompiler::emit_JSOP_CALL()
 {
     return emitCall();
 }
 
 bool
+BaselineCompiler::emit_JSOP_CALL_IGNORES_RV()
+{
+    return emitCall();
+}
+
+bool
 BaselineCompiler::emit_JSOP_CALLITER()
 {
     return emitCall();
 }
 
 bool
 BaselineCompiler::emit_JSOP_NEW()
 {
--- a/js/src/jit/BaselineCompiler.h
+++ b/js/src/jit/BaselineCompiler.h
@@ -155,16 +155,17 @@ namespace jit {
     _(JSOP_SETARG)             \
     _(JSOP_CHECKLEXICAL)       \
     _(JSOP_INITLEXICAL)        \
     _(JSOP_INITGLEXICAL)       \
     _(JSOP_CHECKALIASEDLEXICAL) \
     _(JSOP_INITALIASEDLEXICAL) \
     _(JSOP_UNINITIALIZED)      \
     _(JSOP_CALL)               \
+    _(JSOP_CALL_IGNORES_RV)    \
     _(JSOP_CALLITER)           \
     _(JSOP_FUNCALL)            \
     _(JSOP_FUNAPPLY)           \
     _(JSOP_NEW)                \
     _(JSOP_EVAL)               \
     _(JSOP_STRICTEVAL)         \
     _(JSOP_SPREADCALL)         \
     _(JSOP_SPREADNEW)          \
--- a/js/src/jit/BaselineIC.cpp
+++ b/js/src/jit/BaselineIC.cpp
@@ -5,16 +5,18 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jit/BaselineIC.h"
 
 #include "mozilla/DebugOnly.h"
 #include "mozilla/SizePrintfMacros.h"
 #include "mozilla/TemplateLib.h"
 
+#include "jsfriendapi.h"
+#include "jsfun.h"
 #include "jslibmath.h"
 #include "jstypes.h"
 
 #include "builtin/Eval.h"
 #include "builtin/SIMD.h"
 #include "gc/Policy.h"
 #include "jit/BaselineCacheIRCompiler.h"
 #include "jit/BaselineDebugModeOSR.h"
@@ -2191,21 +2193,27 @@ TryAttachCallStub(JSContext* cx, ICCall_
                 return false;
             if (skipAttach) {
                 *handled = true;
                 return true;
             }
             MOZ_ASSERT_IF(templateObject, !templateObject->group()->maybePreliminaryObjects());
         }
 
+        bool ignoresReturnValue = false;
+        if (op == JSOP_CALL_IGNORES_RV && fun->isNative()) {
+            const JSJitInfo* jitInfo = fun->jitInfo();
+            ignoresReturnValue = jitInfo && jitInfo->type() == JSJitInfo::IgnoresReturnValueNative;
+        }
+
         JitSpew(JitSpew_BaselineIC, "  Generating Call_Native stub (fun=%p, cons=%s, spread=%s)",
                 fun.get(), constructing ? "yes" : "no", isSpread ? "yes" : "no");
         ICCall_Native::Compiler compiler(cx, stub->fallbackMonitorStub()->firstMonitorStub(),
-                                         fun, templateObject, constructing, isSpread,
-                                         script->pcToOffset(pc));
+                                         fun, templateObject, constructing, ignoresReturnValue,
+                                         isSpread, script->pcToOffset(pc));
         ICStub* newStub = compiler.getStub(compiler.getStubSpace(script));
         if (!newStub)
             return false;
 
         stub->addNewStub(newStub);
         *handled = true;
         return true;
     }
@@ -2293,22 +2301,24 @@ DoCallFallback(JSContext* cx, BaselineFr
 
     RootedScript script(cx, frame->script());
     jsbytecode* pc = stub->icEntry()->pc(script);
     JSOp op = JSOp(*pc);
     FallbackICSpew(cx, stub, "Call(%s)", CodeName[op]);
 
     MOZ_ASSERT(argc == GET_ARGC(pc));
     bool constructing = (op == JSOP_NEW);
+    bool ignoresReturnValue = (op == JSOP_CALL_IGNORES_RV);
 
     // Ensure vp array is rooted - we may GC in here.
     size_t numValues = argc + 2 + constructing;
     AutoArrayRooter vpRoot(cx, numValues, vp);
 
-    CallArgs callArgs = CallArgsFromSp(argc + constructing, vp + numValues, constructing);
+    CallArgs callArgs = CallArgsFromSp(argc + constructing, vp + numValues, constructing,
+                                       ignoresReturnValue);
     RootedValue callee(cx, vp[0]);
 
     // Handle funapply with JSOP_ARGUMENTS
     if (op == JSOP_FUNAPPLY && argc == 2 && callArgs[1].isMagic(JS_OPTIMIZED_ARGUMENTS)) {
         if (!GuardFunApplyArgumentsOptimization(cx, frame, callArgs))
             return false;
     }
 
@@ -2328,16 +2338,17 @@ DoCallFallback(JSContext* cx, BaselineFr
         res.set(callArgs.rval());
     } else if ((op == JSOP_EVAL || op == JSOP_STRICTEVAL) &&
                frame->environmentChain()->global().valueIsEval(callee))
     {
         if (!DirectEval(cx, callArgs.get(0), res))
             return false;
     } else {
         MOZ_ASSERT(op == JSOP_CALL ||
+                   op == JSOP_CALL_IGNORES_RV ||
                    op == JSOP_CALLITER ||
                    op == JSOP_FUNCALL ||
                    op == JSOP_FUNAPPLY ||
                    op == JSOP_EVAL ||
                    op == JSOP_STRICTEVAL);
         if (op == JSOP_CALLITER && callee.isPrimitive()) {
             MOZ_ASSERT(argc == 0, "thisv must be on top of the stack");
             ReportValueError(cx, JSMSG_NOT_ITERABLE, -1, callArgs.thisv(), nullptr);
@@ -3379,17 +3390,22 @@ ICCall_Native::Compiler::generateStubCod
     masm.passABIArg(vpReg);
 
 #ifdef JS_SIMULATOR
     // The simulator requires VM calls to be redirected to a special swi
     // instruction to handle them, so we store the redirected pointer in the
     // stub and use that instead of the original one.
     masm.callWithABI(Address(ICStubReg, ICCall_Native::offsetOfNative()));
 #else
-    masm.callWithABI(Address(callee, JSFunction::offsetOfNativeOrScript()));
+    if (ignoresReturnValue_) {
+        masm.loadPtr(Address(callee, JSFunction::offsetOfJitInfo()), callee);
+        masm.callWithABI(Address(callee, JSJitInfo::offsetOfIgnoresReturnValueNative()));
+    } else {
+        masm.callWithABI(Address(callee, JSFunction::offsetOfNativeOrScript()));
+    }
 #endif
 
     // Test for failure.
     masm.branchIfFalseBool(ReturnReg, masm.exceptionLabel());
 
     // Load the return value into R0.
     masm.loadValue(Address(masm.getStackPointer(), NativeExitFrameLayout::offsetOfResult()), R0);
 
--- a/js/src/jit/BaselineIC.h
+++ b/js/src/jit/BaselineIC.h
@@ -663,16 +663,17 @@ class ICSetProp_Fallback : public ICFall
         ICStub* getStub(ICStubSpace* space) {
             return newStub<ICSetProp_Fallback>(space, getStubCode());
         }
     };
 };
 
 // Call
 //      JSOP_CALL
+//      JSOP_CALL_IGNORES_RV
 //      JSOP_FUNAPPLY
 //      JSOP_FUNCALL
 //      JSOP_NEW
 //      JSOP_SPREADCALL
 //      JSOP_SPREADNEW
 //      JSOP_SPREADEVAL
 
 class ICCallStubCompiler : public ICStubCompiler
@@ -933,36 +934,39 @@ class ICCall_Native : public ICMonitored
     }
 #endif
 
     // Compiler for this stub kind.
     class Compiler : public ICCallStubCompiler {
       protected:
         ICStub* firstMonitorStub_;
         bool isConstructing_;
+        bool ignoresReturnValue_;
         bool isSpread_;
         RootedFunction callee_;
         RootedObject templateObject_;
         uint32_t pcOffset_;
         MOZ_MUST_USE bool generateStubCode(MacroAssembler& masm);
 
         virtual int32_t getKey() const {
             return static_cast<int32_t>(engine_) |
                   (static_cast<int32_t>(kind) << 1) |
-                  (static_cast<int32_t>(isConstructing_) << 17) |
-                  (static_cast<int32_t>(isSpread_) << 18);
+                  (static_cast<int32_t>(isSpread_) << 17) |
+                  (static_cast<int32_t>(isConstructing_) << 18) |
+                  (static_cast<int32_t>(ignoresReturnValue_) << 19);
         }
 
       public:
         Compiler(JSContext* cx, ICStub* firstMonitorStub,
                  HandleFunction callee, HandleObject templateObject,
-                 bool isConstructing, bool isSpread, uint32_t pcOffset)
+                 bool isConstructing, bool ignoresReturnValue, bool isSpread, uint32_t pcOffset)
           : ICCallStubCompiler(cx, ICStub::Call_Native),
             firstMonitorStub_(firstMonitorStub),
             isConstructing_(isConstructing),
+            ignoresReturnValue_(ignoresReturnValue),
             isSpread_(isSpread),
             callee_(cx, callee),
             templateObject_(cx, templateObject),
             pcOffset_(pcOffset)
         { }
 
         ICStub* getStub(ICStubSpace* space) {
             return newStub<ICCall_Native>(space, getStubCode(), firstMonitorStub_, callee_,
--- a/js/src/jit/CodeGenerator.cpp
+++ b/js/src/jit/CodeGenerator.cpp
@@ -3926,17 +3926,23 @@ CodeGenerator::visitCallNative(LCallNati
 
     emitTracelogStartEvent(TraceLogger_Call);
 
     // Construct and execute call.
     masm.setupUnalignedABICall(tempReg);
     masm.passABIArg(argContextReg);
     masm.passABIArg(argUintNReg);
     masm.passABIArg(argVpReg);
-    masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, target->native()));
+    JSNative native = target->native();
+    if (call->ignoresReturnValue()) {
+        const JSJitInfo* jitInfo = target->jitInfo();
+        if (jitInfo && jitInfo->type() == JSJitInfo::IgnoresReturnValueNative)
+            native = jitInfo->ignoresReturnValueMethod;
+    }
+    masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, native));
 
     emitTracelogStopEvent(TraceLogger_Call);
 
     // Test for failure.
     masm.branchIfFalseBool(ReturnReg, masm.failureLabel());
 
     // Load the outparam vp[0] into output register(s).
     masm.loadValue(Address(masm.getStackPointer(), NativeExitFrameLayout::offsetOfResult()), JSReturnOperand);
@@ -4083,30 +4089,33 @@ static const VMFunction GetIntrinsicValu
 
 void
 CodeGenerator::visitCallGetIntrinsicValue(LCallGetIntrinsicValue* lir)
 {
     pushArg(ImmGCPtr(lir->mir()->name()));
     callVM(GetIntrinsicValueInfo, lir);
 }
 
-typedef bool (*InvokeFunctionFn)(JSContext*, HandleObject, bool, uint32_t, Value*, MutableHandleValue);
+typedef bool (*InvokeFunctionFn)(JSContext*, HandleObject, bool, bool, uint32_t, Value*,
+                                 MutableHandleValue);
 static const VMFunction InvokeFunctionInfo =
     FunctionInfo<InvokeFunctionFn>(InvokeFunction, "InvokeFunction");
 
 void
 CodeGenerator::emitCallInvokeFunction(LInstruction* call, Register calleereg,
-                                      bool constructing, uint32_t argc, uint32_t unusedStack)
+                                      bool constructing, bool ignoresReturnValue,
+                                      uint32_t argc, uint32_t unusedStack)
 {
     // Nestle %esp up to the argument vector.
     // Each path must account for framePushed_ separately, for callVM to be valid.
     masm.freeStack(unusedStack);
 
     pushArg(masm.getStackPointer()); // argv.
     pushArg(Imm32(argc));            // argc.
+    pushArg(Imm32(ignoresReturnValue));
     pushArg(Imm32(constructing));    // constructing.
     pushArg(calleereg);              // JSFunction*.
 
     callVM(InvokeFunctionInfo, call);
 
     // Un-nestle %esp from the argument vector. No prefix was pushed.
     masm.reserveStack(unusedStack);
 }
@@ -4183,18 +4192,18 @@ CodeGenerator::visitCallGeneric(LCallGen
     // Increment to remove IonFramePrefix; decrement to fill FrameSizeClass.
     // The return address has already been removed from the Ion frame.
     int prefixGarbage = sizeof(JitFrameLayout) - sizeof(void*);
     masm.adjustStack(prefixGarbage - unusedStack);
     masm.jump(&end);
 
     // Handle uncompiled or native functions.
     masm.bind(&invoke);
-    emitCallInvokeFunction(call, calleereg, call->isConstructing(), call->numActualArgs(),
-                           unusedStack);
+    emitCallInvokeFunction(call, calleereg, call->isConstructing(), call->ignoresReturnValue(),
+                           call->numActualArgs(), unusedStack);
 
     masm.bind(&end);
 
     // If the return value of the constructing function is Primitive,
     // replace the return value with the Object from CreateThis.
     if (call->mir()->isConstructing()) {
         Label notPrimitive;
         masm.branchTestPrimitive(Assembler::NotEqual, JSReturnOperand, &notPrimitive);
@@ -4239,17 +4248,18 @@ CodeGenerator::visitCallKnown(LCallKnown
     DebugOnly<unsigned> numNonArgsOnStack = 1 + call->isConstructing();
     MOZ_ASSERT(target->nargs() <= call->mir()->numStackArgs() - numNonArgsOnStack);
 
     MOZ_ASSERT_IF(call->isConstructing(), target->isConstructor());
 
     masm.checkStackAlignment();
 
     if (target->isClassConstructor() && !call->isConstructing()) {
-        emitCallInvokeFunction(call, calleereg, call->isConstructing(), call->numActualArgs(), unusedStack);
+        emitCallInvokeFunction(call, calleereg, call->isConstructing(), call->ignoresReturnValue(),
+                               call->numActualArgs(), unusedStack);
         return;
     }
 
     MOZ_ASSERT_IF(target->isClassConstructor(), call->isConstructing());
 
     // The calleereg is known to be a non-native function, but might point to
     // a LazyScript instead of a JSScript.
     masm.branchIfFunctionHasNoScript(calleereg, &uncompiled);
@@ -4283,17 +4293,18 @@ CodeGenerator::visitCallKnown(LCallKnown
     masm.adjustStack(prefixGarbage - unusedStack);
     masm.jump(&end);
 
     // Handle uncompiled functions.
     masm.bind(&uncompiled);
     if (call->isConstructing() && target->nargs() > call->numActualArgs())
         emitCallInvokeFunctionShuffleNewTarget(call, calleereg, target->nargs(), unusedStack);
     else
-        emitCallInvokeFunction(call, calleereg, call->isConstructing(), call->numActualArgs(), unusedStack);
+        emitCallInvokeFunction(call, calleereg, call->isConstructing(), call->ignoresReturnValue(),
+                               call->numActualArgs(), unusedStack);
 
     masm.bind(&end);
 
     // If the return value of the constructing function is Primitive,
     // replace the return value with the Object from CreateThis.
     if (call->mir()->isConstructing()) {
         Label notPrimitive;
         masm.branchTestPrimitive(Assembler::NotEqual, JSReturnOperand, &notPrimitive);
@@ -4310,16 +4321,17 @@ CodeGenerator::emitCallInvokeFunction(T*
     MOZ_ASSERT(objreg != extraStackSize);
 
     // Push the space used by the arguments.
     masm.moveStackPtrTo(objreg);
     masm.Push(extraStackSize);
 
     pushArg(objreg);                           // argv.
     pushArg(ToRegister(apply->getArgc()));     // argc.
+    pushArg(Imm32(false));                     // ignoresReturnValue.
     pushArg(Imm32(false));                     // isConstrucing.
     pushArg(ToRegister(apply->getFunction())); // JSFunction*.
 
     // This specialization og callVM restore the extraStackSize after the call.
     callVM(InvokeFunctionInfo, apply, &extraStackSize);
 
     masm.Pop(extraStackSize);
 }
@@ -4649,29 +4661,16 @@ CodeGenerator::visitApplyArrayGeneric(LA
     Address initializedLength(ToRegister(apply->getElements()),
                               ObjectElements::offsetOfInitializedLength());
     masm.sub32(initializedLength, tmp);
     bailoutCmp32(Assembler::NotEqual, tmp, Imm32(0), snapshot);
 
     emitApplyGeneric(apply);
 }
 
-typedef bool (*ArraySpliceDenseFn)(JSContext*, HandleObject, uint32_t, uint32_t);
-static const VMFunction ArraySpliceDenseInfo =
-    FunctionInfo<ArraySpliceDenseFn>(ArraySpliceDense, "ArraySpliceDense");
-
-void
-CodeGenerator::visitArraySplice(LArraySplice* lir)
-{
-    pushArg(ToRegister(lir->getDeleteCount()));
-    pushArg(ToRegister(lir->getStart()));
-    pushArg(ToRegister(lir->getObject()));
-    callVM(ArraySpliceDenseInfo, lir);
-}
-
 void
 CodeGenerator::visitBail(LBail* lir)
 {
     bailout(lir->snapshot());
 }
 
 void
 CodeGenerator::visitUnreachable(LUnreachable* lir)
--- a/js/src/jit/CodeGenerator.h
+++ b/js/src/jit/CodeGenerator.h
@@ -163,18 +163,18 @@ class CodeGenerator final : public CodeG
     void visitPostWriteBarrierO(LPostWriteBarrierO* lir);
     void visitPostWriteElementBarrierO(LPostWriteElementBarrierO* lir);
     void visitPostWriteBarrierV(LPostWriteBarrierV* lir);
     void visitPostWriteElementBarrierV(LPostWriteElementBarrierV* lir);
     void visitOutOfLineCallPostWriteBarrier(OutOfLineCallPostWriteBarrier* ool);
     void visitOutOfLineCallPostWriteElementBarrier(OutOfLineCallPostWriteElementBarrier* ool);
     void visitCallNative(LCallNative* call);
     void emitCallInvokeFunction(LInstruction* call, Register callereg,
-                                bool isConstructing, uint32_t argc,
-                                uint32_t unusedStack);
+                                bool isConstructing, bool ignoresReturnValue,
+                                uint32_t argc, uint32_t unusedStack);
     void visitCallGeneric(LCallGeneric* call);
     void emitCallInvokeFunctionShuffleNewTarget(LCallKnown *call,
                                                 Register calleeReg,
                                                 uint32_t numFormals,
                                                 uint32_t unusedStack);
     void visitCallKnown(LCallKnown* call);
     template<typename T> void emitApplyGeneric(T* apply);
     template<typename T> void emitCallInvokeFunction(T* apply, Register extraStackSize);
@@ -253,17 +253,16 @@ class CodeGenerator final : public CodeG
     void visitStoreFixedSlotT(LStoreFixedSlotT* ins);
     void emitGetPropertyPolymorphic(LInstruction* lir, Register obj,
                                     Register scratch, const TypedOrValueRegister& output);
     void visitGetPropertyPolymorphicV(LGetPropertyPolymorphicV* ins);
     void visitGetPropertyPolymorphicT(LGetPropertyPolymorphicT* ins);
     void emitSetPropertyPolymorphic(LInstruction* lir, Register obj,
                                     Register scratch, const ConstantOrRegister& value);
     void visitSetPropertyPolymorphicV(LSetPropertyPolymorphicV* ins);
-    void visitArraySplice(LArraySplice* splice);
     void visitSetPropertyPolymorphicT(LSetPropertyPolymorphicT* ins);
     void visitAbsI(LAbsI* lir);
     void visitAtan2D(LAtan2D* lir);
     void visitHypot(LHypot* lir);
     void visitPowI(LPowI* lir);
     void visitPowD(LPowD* lir);
     void visitPowV(LPowV* lir);
     void visitMathFunctionD(LMathFunctionD* ins);
--- a/js/src/jit/InlinableNatives.h
+++ b/js/src/jit/InlinableNatives.h
@@ -10,17 +10,16 @@
 #define INLINABLE_NATIVE_LIST(_)    \
     _(Array)                        \
     _(ArrayIsArray)                 \
     _(ArrayJoin)                    \
     _(ArrayPop)                     \
     _(ArrayShift)                   \
     _(ArrayPush)                    \
     _(ArraySlice)                   \
-    _(ArraySplice)                  \
                                     \
     _(AtomicsCompareExchange)       \
     _(AtomicsExchange)              \
     _(AtomicsLoad)                  \
     _(AtomicsStore)                 \
     _(AtomicsAdd)                   \
     _(AtomicsSub)                   \
     _(AtomicsAnd)                   \
--- a/js/src/jit/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -2005,20 +2005,22 @@ IonBuilder::inspectOpcode(JSOp op)
 
       case JSOP_FUNCALL:
         return jsop_funcall(GET_ARGC(pc));
 
       case JSOP_FUNAPPLY:
         return jsop_funapply(GET_ARGC(pc));
 
       case JSOP_CALL:
+      case JSOP_CALL_IGNORES_RV:
       case JSOP_CALLITER:
       case JSOP_NEW:
       case JSOP_SUPERCALL:
-        MOZ_TRY(jsop_call(GET_ARGC(pc), (JSOp)*pc == JSOP_NEW || (JSOp)*pc == JSOP_SUPERCALL));
+        MOZ_TRY(jsop_call(GET_ARGC(pc), (JSOp)*pc == JSOP_NEW || (JSOp)*pc == JSOP_SUPERCALL,
+                          (JSOp)*pc == JSOP_CALL_IGNORES_RV));
         if (op == JSOP_CALLITER) {
             if (!outermostBuilder()->iterators_.append(current->peek(-1)))
                 return abort(AbortReason::Alloc);
         }
         return Ok();
 
       case JSOP_EVAL:
       case JSOP_STRICTEVAL:
@@ -4267,17 +4269,17 @@ AbortReasonOr<Ok>
 IonBuilder::inlineGenericFallback(JSFunction* target, CallInfo& callInfo, MBasicBlock* dispatchBlock)
 {
     // Generate a new block with all arguments on-stack.
     MBasicBlock* fallbackBlock;
     MOZ_TRY_VAR(fallbackBlock, newBlock(dispatchBlock, pc));
     graph().addBlock(fallbackBlock);
 
     // Create a new CallInfo to track modified state within this block.
-    CallInfo fallbackInfo(alloc(), callInfo.constructing());
+    CallInfo fallbackInfo(alloc(), callInfo.constructing(), callInfo.ignoresReturnValue());
     if (!fallbackInfo.init(callInfo))
         return abort(AbortReason::Alloc);
     fallbackInfo.popFormals(fallbackBlock);
 
     // Generate an MCall, which uses stateful |current|.
     MOZ_TRY(setCurrentAndSpecializePhis(fallbackBlock));
     MOZ_TRY(makeCall(target, fallbackInfo));
 
@@ -4304,17 +4306,17 @@ IonBuilder::inlineObjectGroupFallback(Ca
     MOZ_ASSERT_IF(callInfo.fun()->isTypeBarrier(), cache->hasOneUse());
 
     // This means that no resume points yet capture the MGetPropertyCache,
     // so everything from the MGetPropertyCache up until the call is movable.
     // We now move the MGetPropertyCache and friends into a fallback path.
     MOZ_ASSERT(cache->idempotent());
 
     // Create a new CallInfo to track modified state within the fallback path.
-    CallInfo fallbackInfo(alloc(), callInfo.constructing());
+    CallInfo fallbackInfo(alloc(), callInfo.constructing(), callInfo.ignoresReturnValue());
     if (!fallbackInfo.init(callInfo))
         return abort(AbortReason::Alloc);
 
     // Capture stack prior to the call operation. This captures the function.
     MResumePoint* preCallResumePoint =
         MResumePoint::New(alloc(), dispatchBlock, pc, MResumePoint::ResumeAt);
     if (!preCallResumePoint)
         return abort(AbortReason::Alloc);
@@ -4480,17 +4482,17 @@ IonBuilder::inlineCalls(CallInfo& callIn
         dispatchBlock->add(funcDef);
 
         // Use the inlined callee in the inline resume point and on stack.
         int funIndex = inlineBlock->entryResumePoint()->stackDepth() - callInfo.numFormals();
         inlineBlock->entryResumePoint()->replaceOperand(funIndex, funcDef);
         inlineBlock->rewriteSlot(funIndex, funcDef);
 
         // Create a new CallInfo to track modified state within the inline block.
-        CallInfo inlineInfo(alloc(), callInfo.constructing());
+        CallInfo inlineInfo(alloc(), callInfo.constructing(), callInfo.ignoresReturnValue());
         if (!inlineInfo.init(callInfo))
             return abort(AbortReason::Alloc);
         inlineInfo.popFormals(inlineBlock);
         inlineInfo.setFun(funcDef);
 
         if (maybeCache) {
             // Assign the 'this' value a TypeSet specialized to the groups that
             // can generate this inlining target.
@@ -4923,17 +4925,18 @@ IonBuilder::jsop_funcall(uint32_t argc)
 
     int calleeDepth = -((int)argc + 2);
     int funcDepth = -((int)argc + 1);
 
     // If |Function.prototype.call| may be overridden, don't optimize callsite.
     TemporaryTypeSet* calleeTypes = current->peek(calleeDepth)->resultTypeSet();
     JSFunction* native = getSingleCallTarget(calleeTypes);
     if (!native || !native->isNative() || native->native() != &fun_call) {
-        CallInfo callInfo(alloc(), false);
+        CallInfo callInfo(alloc(), /* constructing = */ false,
+                          /* ignoresReturnValue = */ BytecodeIsPopped(pc));
         if (!callInfo.init(current, argc))
             return abort(AbortReason::Alloc);
         return makeCall(native, callInfo);
     }
     current->peek(calleeDepth)->setImplicitlyUsedUnchecked();
 
     // Extract call target.
     TemporaryTypeSet* funTypes = current->peek(funcDepth)->resultTypeSet();
@@ -4948,17 +4951,18 @@ IonBuilder::jsop_funcall(uint32_t argc)
     // Pushing is safe here, since one stack slot has been removed.
     if (zeroArguments) {
         pushConstant(UndefinedValue());
     } else {
         // |this| becomes implicit in the call.
         argc -= 1;
     }
 
-    CallInfo callInfo(alloc(), false);
+    CallInfo callInfo(alloc(), /* constructing = */ false,
+                      /* ignoresReturnValue = */ BytecodeIsPopped(pc));
     if (!callInfo.init(current, argc))
         return abort(AbortReason::Alloc);
 
     // Try to inline the call.
     if (!zeroArguments) {
         InliningDecision decision = makeInliningDecision(target, callInfo);
         switch (decision) {
           case InliningDecision_Error:
@@ -4984,17 +4988,18 @@ IonBuilder::jsop_funcall(uint32_t argc)
 AbortReasonOr<Ok>
 IonBuilder::jsop_funapply(uint32_t argc)
 {
     int calleeDepth = -((int)argc + 2);
 
     TemporaryTypeSet* calleeTypes = current->peek(calleeDepth)->resultTypeSet();
     JSFunction* native = getSingleCallTarget(calleeTypes);
     if (argc != 2 || info().analysisMode() == Analysis_ArgumentsUsage) {
-        CallInfo callInfo(alloc(), false);
+        CallInfo callInfo(alloc(), /* constructing = */ false,
+                          /* ignoresReturnValue = */ BytecodeIsPopped(pc));
         if (!callInfo.init(current, argc))
             return abort(AbortReason::Alloc);
         return makeCall(native, callInfo);
     }
 
     // Disable compilation if the second argument to |apply| cannot be guaranteed
     // to be either definitely |arguments| or definitely not |arguments|.
     MDefinition* argument = current->peek(-1);
@@ -5013,17 +5018,18 @@ IonBuilder::jsop_funapply(uint32_t argc)
             objTypes &&
             objTypes->getKnownClass(constraints()) == &ArrayObject::class_ &&
             !objTypes->hasObjectFlags(constraints(), OBJECT_FLAG_LENGTH_OVERFLOW) &&
             ElementAccessIsPacked(constraints(), argument))
         {
             return jsop_funapplyarray(argc);
         }
 
-        CallInfo callInfo(alloc(), false);
+        CallInfo callInfo(alloc(), /* constructing = */ false,
+                          /* ignoresReturnValue = */ BytecodeIsPopped(pc));
         if (!callInfo.init(current, argc))
             return abort(AbortReason::Alloc);
         return makeCall(native, callInfo);
     }
 
     if ((!native || !native->isNative() ||
         native->native() != fun_apply) &&
         info().analysisMode() != Analysis_DefiniteProperties)
@@ -5120,17 +5126,18 @@ IonBuilder::jsop_funapplyarguments(uint3
     }
 
     // When inlining we have the arguments the function gets called with
     // and can optimize even more, by just calling the functions with the args.
     // We also try this path when doing the definite properties analysis, as we
     // can inline the apply() target and don't care about the actual arguments
     // that were passed in.
 
-    CallInfo callInfo(alloc(), false);
+    CallInfo callInfo(alloc(), /* constructing = */ false,
+                      /* ignoresReturnValue = */ BytecodeIsPopped(pc));
 
     // Vp
     MDefinition* vp = current->pop();
     vp->setImplicitlyUsedUnchecked();
 
     // Arguments
     if (inliningDepth_) {
         if (!callInfo.setArgs(inlineCallInfo_->argv()))
@@ -5165,17 +5172,17 @@ IonBuilder::jsop_funapplyarguments(uint3
                 return Ok();
         }
     }
 
     return makeCall(target, callInfo);
 }
 
 AbortReasonOr<Ok>
-IonBuilder::jsop_call(uint32_t argc, bool constructing)
+IonBuilder::jsop_call(uint32_t argc, bool constructing, bool ignoresReturnValue)
 {
     startTrackingOptimizations();
 
     // If this call has never executed, try to seed the observed type set
     // based on how the call result is used.
     TemporaryTypeSet* observed = bytecodeTypes(pc);
     if (observed->empty()) {
         if (BytecodeFlowsToBitop(pc)) {
@@ -5191,17 +5198,17 @@ IonBuilder::jsop_call(uint32_t argc, boo
     int calleeDepth = -((int)argc + 2 + constructing);
 
     // Acquire known call target if existent.
     ObjectVector targets(alloc());
     TemporaryTypeSet* calleeTypes = current->peek(calleeDepth)->resultTypeSet();
     if (calleeTypes)
         MOZ_TRY(getPolyCallTargets(calleeTypes, constructing, targets, 4));
 
-    CallInfo callInfo(alloc(), constructing);
+    CallInfo callInfo(alloc(), constructing, ignoresReturnValue);
     if (!callInfo.init(current, argc))
         return abort(AbortReason::Alloc);
 
     // Try inlining
     InliningStatus status;
     MOZ_TRY_VAR(status, inlineCallsite(targets, callInfo));
     if (status == InliningStatus_Inlined)
         return Ok();
@@ -5328,17 +5335,18 @@ IonBuilder::makeCallHelper(JSFunction* t
             thisTypes->getKnownMIRType() == MIRType::Object &&
             thisTypes->isDOMClass(constraints()))
         {
             MOZ_TRY_VAR(isDOMCall, testShouldDOMCall(thisTypes, target, JSJitInfo::Method));
         }
     }
 
     MCall* call = MCall::New(alloc(), target, targetArgs + 1 + callInfo.constructing(),
-                             callInfo.argc(), callInfo.constructing(), isDOMCall);
+                             callInfo.argc(), callInfo.constructing(),
+                             callInfo.ignoresReturnValue(), isDOMCall);
     if (!call)
         return abort(AbortReason::Alloc);
 
     if (callInfo.constructing())
         call->addArg(targetArgs + 1, callInfo.getNewTarget());
 
     // Explicitly pad any missing arguments with |undefined|.
     // This permits skipping the argumentsRectifier.
@@ -5426,33 +5434,34 @@ AbortReasonOr<Ok>
 IonBuilder::jsop_eval(uint32_t argc)
 {
     int calleeDepth = -((int)argc + 2);
     TemporaryTypeSet* calleeTypes = current->peek(calleeDepth)->resultTypeSet();
 
     // Emit a normal call if the eval has never executed. This keeps us from
     // disabling compilation for the script when testing with --ion-eager.
     if (calleeTypes && calleeTypes->empty())
-        return jsop_call(argc, /* constructing = */ false);
+        return jsop_call(argc, /* constructing = */ false, false);
 
     JSFunction* singleton = getSingleCallTarget(calleeTypes);
     if (!singleton)
         return abort(AbortReason::Disable, "No singleton callee for eval()");
 
     if (script()->global().valueIsEval(ObjectValue(*singleton))) {
         if (argc != 1)
             return abort(AbortReason::Disable, "Direct eval with more than one argument");
 
         if (!info().funMaybeLazy())
             return abort(AbortReason::Disable, "Direct eval in global code");
 
         if (info().funMaybeLazy()->isArrow())
             return abort(AbortReason::Disable, "Direct eval from arrow function");
 
-        CallInfo callInfo(alloc(), /* constructing = */ false);
+        CallInfo callInfo(alloc(), /* constructing = */ false,
+                          /* ignoresReturnValue = */ BytecodeIsPopped(pc));
         if (!callInfo.init(current, argc))
             return abort(AbortReason::Alloc);
         callInfo.setImplicitlyUsedUnchecked();
 
         callInfo.fun()->setImplicitlyUsedUnchecked();
 
         MDefinition* envChain = current->environmentChain();
         MDefinition* string = callInfo.getArg(0);
@@ -5480,17 +5489,18 @@ IonBuilder::jsop_eval(uint32_t argc)
             if (StringEqualsAscii(atom, "()")) {
                 MDefinition* name = string->getOperand(0);
                 MInstruction* dynamicName = MGetDynamicName::New(alloc(), envChain, name);
                 current->add(dynamicName);
 
                 current->push(dynamicName);
                 current->push(constant(UndefinedValue())); // thisv
 
-                CallInfo evalCallInfo(alloc(), /* constructing = */ false);
+                CallInfo evalCallInfo(alloc(), /* constructing = */ false,
+                                      /* ignoresReturnValue = */ BytecodeIsPopped(pc));
                 if (!evalCallInfo.init(current, /* argc = */ 0))
                     return abort(AbortReason::Alloc);
 
                 return makeCall(nullptr, evalCallInfo);
             }
         }
 
         MInstruction* ins = MCallDirectEval::New(alloc(), envChain, string,
@@ -5498,17 +5508,17 @@ IonBuilder::jsop_eval(uint32_t argc)
         current->add(ins);
         current->push(ins);
 
         TemporaryTypeSet* types = bytecodeTypes(pc);
         MOZ_TRY(resumeAfter(ins));
         return pushTypeBarrier(ins, types, BarrierKind::TypeSet);
     }
 
-    return jsop_call(argc, /* constructing = */ false);
+    return jsop_call(argc, /* constructing = */ false, false);
 }
 
 AbortReasonOr<Ok>
 IonBuilder::jsop_compare(JSOp op)
 {
     MDefinition* right = current->pop();
     MDefinition* left = current->pop();
 
@@ -5752,18 +5762,18 @@ IonBuilder::compareTrySharedStub(bool* e
     return Ok();
 }
 
 static bool
 IsCallOpcode(JSOp op)
 {
     // TODO: Support tracking optimizations for inlining a call and regular
     // optimization tracking at the same time.
-    return op == JSOP_CALL || op == JSOP_CALLITER || op == JSOP_NEW || op == JSOP_SUPERCALL ||
-           op == JSOP_EVAL || op == JSOP_STRICTEVAL;
+    return op == JSOP_CALL || op == JSOP_CALL_IGNORES_RV || op == JSOP_CALLITER || op == JSOP_NEW ||
+           op == JSOP_SUPERCALL || op == JSOP_EVAL || op == JSOP_STRICTEVAL;
 }
 
 AbortReasonOr<Ok>
 IonBuilder::newArrayTryTemplateObject(bool* emitted, JSObject* templateObject, uint32_t length)
 {
     MOZ_ASSERT(*emitted == false);
 
     if (!IsCallOpcode(JSOp(*pc)))
@@ -10844,17 +10854,18 @@ IonBuilder::getPropTryCommonGetter(bool*
 
     // Make sure there's enough room
     if (!current->ensureHasSlots(2))
         return abort(AbortReason::Alloc);
     current->push(constant(ObjectValue(*commonGetter)));
 
     current->push(obj);
 
-    CallInfo callInfo(alloc(), false);
+    CallInfo callInfo(alloc(), /* constructing = */ false,
+                      /* ignoresReturnValue = */ BytecodeIsPopped(pc));
     if (!callInfo.init(current, 0))
         return abort(AbortReason::Alloc);
 
     if (commonGetter->isNative()) {
         InliningStatus status;
         MOZ_TRY_VAR(status, inlineNativeGetter(callInfo, commonGetter));
         switch (status) {
           case InliningStatus_WarmUpCountTooLow:
@@ -11370,17 +11381,18 @@ IonBuilder::setPropTryCommonSetter(bool*
         return abort(AbortReason::Alloc);
 
     current->push(constant(ObjectValue(*commonSetter)));
     current->push(obj);
     current->push(value);
 
     // Call the setter. Note that we have to push the original value, not
     // the setter's return value.
-    CallInfo callInfo(alloc(), false);
+    CallInfo callInfo(alloc(), /* constructing = */ false,
+                      /* ignoresReturnValue = */ BytecodeIsPopped(pc));
     if (!callInfo.init(current, 1))
         return abort(AbortReason::Alloc);
 
     // Ensure that we know we are calling a setter in case we inline it.
     callInfo.markAsSetter();
 
     // Inline the setter if we can.
     if (commonSetter->isInterpreted()) {
--- a/js/src/jit/IonBuilder.h
+++ b/js/src/jit/IonBuilder.h
@@ -499,17 +499,17 @@ class IonBuilder
     AbortReasonOr<Ok> jsop_notearg();
     AbortReasonOr<Ok> jsop_throwsetconst();
     AbortReasonOr<Ok> jsop_checklexical();
     AbortReasonOr<Ok> jsop_checkaliasedlexical(EnvironmentCoordinate ec);
     AbortReasonOr<Ok> jsop_funcall(uint32_t argc);
     AbortReasonOr<Ok> jsop_funapply(uint32_t argc);
     AbortReasonOr<Ok> jsop_funapplyarguments(uint32_t argc);
     AbortReasonOr<Ok> jsop_funapplyarray(uint32_t argc);
-    AbortReasonOr<Ok> jsop_call(uint32_t argc, bool constructing);
+    AbortReasonOr<Ok> jsop_call(uint32_t argc, bool constructing, bool ignoresReturnValue);
     AbortReasonOr<Ok> jsop_eval(uint32_t argc);
     AbortReasonOr<Ok> jsop_label();
     AbortReasonOr<Ok> jsop_andor(JSOp op);
     AbortReasonOr<Ok> jsop_dup2();
     AbortReasonOr<Ok> jsop_loophead(jsbytecode* pc);
     AbortReasonOr<Ok> jsop_compare(JSOp op);
     AbortReasonOr<Ok> jsop_compare(JSOp op, MDefinition* left, MDefinition* right);
     AbortReasonOr<Ok> getStaticName(bool* emitted, JSObject* staticObject, PropertyName* name,
@@ -622,17 +622,16 @@ class IonBuilder
 
     // Array natives.
     InliningResult inlineArray(CallInfo& callInfo);
     InliningResult inlineArrayIsArray(CallInfo& callInfo);
     InliningResult inlineArrayPopShift(CallInfo& callInfo, MArrayPopShift::Mode mode);
     InliningResult inlineArrayPush(CallInfo& callInfo);
     InliningResult inlineArraySlice(CallInfo& callInfo);
     InliningResult inlineArrayJoin(CallInfo& callInfo);
-    InliningResult inlineArraySplice(CallInfo& callInfo);
 
     // Math natives.
     InliningResult inlineMathAbs(CallInfo& callInfo);
     InliningResult inlineMathFloor(CallInfo& callInfo);
     InliningResult inlineMathCeil(CallInfo& callInfo);
     InliningResult inlineMathClz32(CallInfo& callInfo);
     InliningResult inlineMathRound(CallInfo& callInfo);
     InliningResult inlineMathSqrt(CallInfo& callInfo);
@@ -1172,34 +1171,40 @@ class IonBuilder
 
 class CallInfo
 {
     MDefinition* fun_;
     MDefinition* thisArg_;
     MDefinition* newTargetArg_;
     MDefinitionVector args_;
 
-    bool constructing_;
-    bool setter_;
+    bool constructing_:1;
+
+    // True if the caller does not use the return value.
+    bool ignoresReturnValue_:1;
+
+    bool setter_:1;
 
   public:
-    CallInfo(TempAllocator& alloc, bool constructing)
+    CallInfo(TempAllocator& alloc, bool constructing, bool ignoresReturnValue)
       : fun_(nullptr),
         thisArg_(nullptr),
         newTargetArg_(nullptr),
         args_(alloc),
         constructing_(constructing),
+        ignoresReturnValue_(ignoresReturnValue),
         setter_(false)
     { }
 
     MOZ_MUST_USE bool init(CallInfo& callInfo) {
         MOZ_ASSERT(constructing_ == callInfo.constructing());
 
         fun_ = callInfo.fun();
         thisArg_ = callInfo.thisArg();
+        ignoresReturnValue_ = callInfo.ignoresReturnValue();
 
         if (constructing())
             newTargetArg_ = callInfo.getNewTarget();
 
         if (!args_.appendAll(callInfo.argv()))
             return false;
 
         return true;
@@ -1286,16 +1291,20 @@ class CallInfo
     void setThis(MDefinition* thisArg) {
         thisArg_ = thisArg;
     }
 
     bool constructing() const {
         return constructing_;
     }
 
+    bool ignoresReturnValue() const {
+        return ignoresReturnValue_;
+    }
+
     void setNewTarget(MDefinition* newTarget) {
         MOZ_ASSERT(constructing());
         newTargetArg_ = newTarget;
     }
     MDefinition* getNewTarget() const {
         MOZ_ASSERT(newTargetArg_);
         return newTargetArg_;
     }
--- a/js/src/jit/Lowering.cpp
+++ b/js/src/jit/Lowering.cpp
@@ -651,26 +651,16 @@ LIRGenerator::visitAssertFloat32(MAssert
 
 void
 LIRGenerator::visitAssertRecoveredOnBailout(MAssertRecoveredOnBailout* assertion)
 {
     MOZ_CRASH("AssertRecoveredOnBailout nodes are always recovered on bailouts.");
 }
 
 void
-LIRGenerator::visitArraySplice(MArraySplice* ins)
-{
-    LArraySplice* lir = new(alloc()) LArraySplice(useRegisterAtStart(ins->object()),
-                                                  useRegisterAtStart(ins->start()),
-                                                  useRegisterAtStart(ins->deleteCount()));
-    add(lir, ins);
-    assignSafepoint(lir, ins);
-}
-
-void
 LIRGenerator::visitGetDynamicName(MGetDynamicName* ins)
 {
     MDefinition* envChain = ins->getEnvironmentChain();
     MOZ_ASSERT(envChain->type() == MIRType::Object);
 
     MDefinition* name = ins->getName();
     MOZ_ASSERT(name->type() == MIRType::String);
 
--- a/js/src/jit/Lowering.h
+++ b/js/src/jit/Lowering.h
@@ -102,17 +102,16 @@ class LIRGenerator : public LIRGenerator
     void visitCreateArgumentsObject(MCreateArgumentsObject* ins);
     void visitGetArgumentsObjectArg(MGetArgumentsObjectArg* ins);
     void visitSetArgumentsObjectArg(MSetArgumentsObjectArg* ins);
     void visitReturnFromCtor(MReturnFromCtor* ins);
     void visitComputeThis(MComputeThis* ins);
     void visitCall(MCall* call);
     void visitApplyArgs(MApplyArgs* apply);
     void visitApplyArray(MApplyArray* apply);
-    void visitArraySplice(MArraySplice* splice);
     void visitBail(MBail* bail);
     void visitUnreachable(MUnreachable* unreachable);
     void visitEncodeSnapshot(MEncodeSnapshot* ins);
     void visitAssertFloat32(MAssertFloat32* ins);
     void visitAssertRecoveredOnBailout(MAssertRecoveredOnBailout* ins);
     void visitGetDynamicName(MGetDynamicName* ins);
     void visitCallDirectEval(MCallDirectEval* ins);
     void visitTest(MTest* test);
--- a/js/src/jit/MCallOptimize.cpp
+++ b/js/src/jit/MCallOptimize.cpp
@@ -82,18 +82,16 @@ IonBuilder::inlineNativeCall(CallInfo& c
       case InlinableNative::ArrayPop:
         return inlineArrayPopShift(callInfo, MArrayPopShift::Pop);
       case InlinableNative::ArrayShift:
         return inlineArrayPopShift(callInfo, MArrayPopShift::Shift);
       case InlinableNative::ArrayPush:
         return inlineArrayPush(callInfo);
       case InlinableNative::ArraySlice:
         return inlineArraySlice(callInfo);
-      case InlinableNative::ArraySplice:
-        return inlineArraySplice(callInfo);
 
       // Atomic natives.
       case InlinableNative::AtomicsCompareExchange:
         return inlineAtomicsCompareExchange(callInfo);
       case InlinableNative::AtomicsExchange:
         return inlineAtomicsExchange(callInfo);
       case InlinableNative::AtomicsLoad:
         return inlineAtomicsLoad(callInfo);
@@ -663,55 +661,16 @@ IonBuilder::inlineArrayPopShift(CallInfo
     ins->setResultType(returnType);
 
     MOZ_TRY(resumeAfter(ins));
     MOZ_TRY(pushTypeBarrier(ins, returnTypes, barrier));
     return InliningStatus_Inlined;
 }
 
 IonBuilder::InliningResult
-IonBuilder::inlineArraySplice(CallInfo& callInfo)
-{
-    if (callInfo.argc() != 2 || callInfo.constructing()) {
-        trackOptimizationOutcome(TrackedOutcome::CantInlineNativeBadForm);
-        return InliningStatus_NotInlined;
-    }
-
-    // Ensure |this|, argument and result are objects.
-    if (getInlineReturnType() != MIRType::Object)
-        return InliningStatus_NotInlined;
-    if (callInfo.thisArg()->type() != MIRType::Object)
-        return InliningStatus_NotInlined;
-    if (callInfo.getArg(0)->type() != MIRType::Int32)
-        return InliningStatus_NotInlined;
-    if (callInfo.getArg(1)->type() != MIRType::Int32)
-        return InliningStatus_NotInlined;
-
-    callInfo.setImplicitlyUsedUnchecked();
-
-    // Specialize arr.splice(start, deleteCount) with unused return value and
-    // avoid creating the result array in this case.
-    if (!BytecodeIsPopped(pc)) {
-        trackOptimizationOutcome(TrackedOutcome::CantInlineGeneric);
-        return InliningStatus_NotInlined;
-    }
-
-    MArraySplice* ins = MArraySplice::New(alloc(),
-                                          callInfo.thisArg(),
-                                          callInfo.getArg(0),
-                                          callInfo.getArg(1));
-
-    current->add(ins);
-    pushConstant(UndefinedValue());
-
-    MOZ_TRY(resumeAfter(ins));
-    return InliningStatus_Inlined;
-}
-
-IonBuilder::InliningResult
 IonBuilder::inlineArrayJoin(CallInfo& callInfo)
 {
     if (callInfo.argc() != 1 || callInfo.constructing()) {
         trackOptimizationOutcome(TrackedOutcome::CantInlineNativeBadForm);
         return InliningStatus_NotInlined;
     }
 
     if (getInlineReturnType() != MIRType::String)
--- a/js/src/jit/MIR.cpp
+++ b/js/src/jit/MIR.cpp
@@ -1971,26 +1971,26 @@ WrappedFunction::WrappedFunction(JSFunct
     isNative_(fun->isNative()),
     isConstructor_(fun->isConstructor()),
     isClassConstructor_(fun->isClassConstructor()),
     isSelfHostedBuiltin_(fun->isSelfHostedBuiltin())
 {}
 
 MCall*
 MCall::New(TempAllocator& alloc, JSFunction* target, size_t maxArgc, size_t numActualArgs,
-           bool construct, bool isDOMCall)
+           bool construct, bool ignoresReturnValue, bool isDOMCall)
 {
     WrappedFunction* wrappedTarget = target ? new(alloc) WrappedFunction(target) : nullptr;
     MOZ_ASSERT(maxArgc >= numActualArgs);
     MCall* ins;
     if (isDOMCall) {
         MOZ_ASSERT(!construct);
         ins = new(alloc) MCallDOMNative(wrappedTarget, numActualArgs);
     } else {
-        ins = new(alloc) MCall(wrappedTarget, numActualArgs, construct);
+        ins = new(alloc) MCall(wrappedTarget, numActualArgs, construct, ignoresReturnValue);
     }
     if (!ins->init(alloc, maxArgc + NumNonArgumentOperands))
         return nullptr;
     return ins;
 }
 
 AliasSet
 MCallDOMNative::getAliasSet() const
--- a/js/src/jit/MIR.h
+++ b/js/src/jit/MIR.h
@@ -4076,33 +4076,37 @@ class MCall
   protected:
     // Monomorphic cache of single target from TI, or nullptr.
     WrappedFunction* target_;
 
     // Original value of argc from the bytecode.
     uint32_t numActualArgs_;
 
     // True if the call is for JSOP_NEW.
-    bool construct_;
-
-    bool needsArgCheck_;
-
-    MCall(WrappedFunction* target, uint32_t numActualArgs, bool construct)
+    bool construct_:1;
+
+    // True if the caller does not use the return value.
+    bool ignoresReturnValue_:1;
+
+    bool needsArgCheck_:1;
+
+    MCall(WrappedFunction* target, uint32_t numActualArgs, bool construct, bool ignoresReturnValue)
       : target_(target),
         numActualArgs_(numActualArgs),
         construct_(construct),
+        ignoresReturnValue_(ignoresReturnValue),
         needsArgCheck_(true)
     {
         setResultType(MIRType::Value);
     }
 
   public:
     INSTRUCTION_HEADER(Call)
     static MCall* New(TempAllocator& alloc, JSFunction* target, size_t maxArgc, size_t numActualArgs,
-                      bool construct, bool isDOMCall);
+                      bool construct, bool ignoresReturnValue, bool isDOMCall);
 
     void initFunction(MDefinition* func) {
         initOperand(FunctionOperandIndex, func);
     }
 
     bool needsArgCheck() const {
         return needsArgCheck_;
     }
@@ -4137,16 +4141,20 @@ class MCall
     WrappedFunction* getSingleTarget() const {
         return target_;
     }
 
     bool isConstructing() const {
         return construct_;
     }
 
+    bool ignoresReturnValue() const {
+        return ignoresReturnValue_;
+    }
+
     // The number of stack arguments is the max between the number of formal
     // arguments and the number of actual arguments. The number of stack
     // argument includes the |undefined| padding added in case of underflow.
     // Includes |this|.
     uint32_t numStackArgs() const {
         return numOperands() - NumNonArgumentOperands;
     }
 
@@ -4180,67 +4188,47 @@ class MCall
 class MCallDOMNative : public MCall
 {
     // A helper class for MCalls for DOM natives.  Note that this is NOT
     // actually a separate MIR op from MCall, because all sorts of places use
     // isCall() to check for calls and all we really want is to overload a few
     // virtual things from MCall.
   protected:
     MCallDOMNative(WrappedFunction* target, uint32_t numActualArgs)
-        : MCall(target, numActualArgs, false)
+        : MCall(target, numActualArgs, false, false)
     {
         MOZ_ASSERT(getJitInfo()->type() != JSJitInfo::InlinableNative);
 
         // If our jitinfo is not marked eliminatable, that means that our C++
         // implementation is fallible or that it never wants to be eliminated or
         // that we have no hope of ever doing the sort of argument analysis that
         // would allow us to detemine that we're side-effect-free.  In the
         // latter case we wouldn't get DCEd no matter what, but for the former
         // two cases we have to explicitly say that we can't be DCEd.
         if (!getJitInfo()->isEliminatable)
             setGuard();
     }
 
     friend MCall* MCall::New(TempAllocator& alloc, JSFunction* target, size_t maxArgc,
-                             size_t numActualArgs, bool construct, bool isDOMCall);
+                             size_t numActualArgs, bool construct, bool ignoresReturnValue,
+                             bool isDOMCall);
 
     const JSJitInfo* getJitInfo() const;
   public:
     virtual AliasSet getAliasSet() const override;
 
     virtual bool congruentTo(const MDefinition* ins) const override;
 
     virtual bool isCallDOMNative() const override {
         return true;
     }
 
     virtual void computeMovable() override;
 };
 
-// arr.splice(start, deleteCount) with unused return value.
-class MArraySplice
-  : public MTernaryInstruction,
-    public Mix3Policy<ObjectPolicy<0>, IntPolicy<1>, IntPolicy<2> >::Data
-{
-  private:
-
-    MArraySplice(MDefinition* object, MDefinition* start, MDefinition* deleteCount)
-      : MTernaryInstruction(object, start, deleteCount)
-    { }
-
-  public:
-    INSTRUCTION_HEADER(ArraySplice)
-    TRIVIAL_NEW_WRAPPERS
-    NAMED_OPERANDS((0, object), (1, start), (2, deleteCount))
-
-    bool possiblyCalls() const override {
-        return true;
-    }
-};
-
 // fun.apply(self, arguments)
 class MApplyArgs
   : public MAryInstruction<3>,
     public Mix3Policy<ObjectPolicy<0>, IntPolicy<1>, BoxPolicy<2> >::Data
 {
   protected:
     // Monomorphic cache of single target from TI, or nullptr.
     WrappedFunction* target_;
--- a/js/src/jit/MOpcodes.h
+++ b/js/src/jit/MOpcodes.h
@@ -64,17 +64,16 @@ namespace jit {
     _(CreateThisWithTemplate)                                               \
     _(CreateArgumentsObject)                                                \
     _(GetArgumentsObjectArg)                                                \
     _(SetArgumentsObjectArg)                                                \
     _(ComputeThis)                                                          \
     _(Call)                                                                 \
     _(ApplyArgs)                                                            \
     _(ApplyArray)                                                           \
-    _(ArraySplice)                                                          \
     _(Bail)                                                                 \
     _(Unreachable)                                                          \
     _(EncodeSnapshot)                                                       \
     _(AssertFloat32)                                                        \
     _(AssertRecoveredOnBailout)                                             \
     _(GetDynamicName)                                                       \
     _(CallDirectEval)                                                       \
     _(BitNot)                                                               \
--- a/js/src/jit/VMFunctions.cpp
+++ b/js/src/jit/VMFunctions.cpp
@@ -49,18 +49,18 @@ AutoDetectInvalidation::AutoDetectInvali
 void
 VMFunction::addToFunctions()
 {
     this->next = functions;
     functions = this;
 }
 
 bool
-InvokeFunction(JSContext* cx, HandleObject obj, bool constructing, uint32_t argc, Value* argv,
-               MutableHandleValue rval)
+InvokeFunction(JSContext* cx, HandleObject obj, bool constructing, bool ignoresReturnValue,
+               uint32_t argc, Value* argv, MutableHandleValue rval)
 {
     TraceLoggerThread* logger = TraceLoggerForCurrentThread(cx);
     TraceLogStartEvent(logger, TraceLogger_Call);
 
     AutoArrayRooter argvRoot(cx, argc + 1 + constructing, argv);
 
     // Data in the argument vector is arranged for a JIT -> JIT call.
     RootedValue thisv(cx, argv[0]);
@@ -99,33 +99,33 @@ InvokeFunction(JSContext* cx, HandleObje
 
         // Otherwise the default |this| has already been created.  We could
         // almost perform a *call* at this point, but we'd break |new.target|
         // in the function.  So in this one weird case we call a one-off
         // construction path that *won't* set |this| to JS_IS_CONSTRUCTING.
         return InternalConstructWithProvidedThis(cx, fval, thisv, cargs, newTarget, rval);
     }
 
-    InvokeArgs args(cx);
+    InvokeArgsMaybeIgnoresReturnValue args(cx, ignoresReturnValue);
     if (!args.init(cx, argc))
         return false;
 
     for (size_t i = 0; i < argc; i++)
         args[i].set(argvWithoutThis[i]);
 
     return Call(cx, fval, thisv, args, rval);
 }
 
 bool
 InvokeFunctionShuffleNewTarget(JSContext* cx, HandleObject obj, uint32_t numActualArgs,
                                uint32_t numFormalArgs, Value* argv, MutableHandleValue rval)
 {
     MOZ_ASSERT(numFormalArgs > numActualArgs);
     argv[1 + numActualArgs] = argv[1 + numFormalArgs];
-    return InvokeFunction(cx, obj, true, numActualArgs, argv, rval);
+    return InvokeFunction(cx, obj, true, false, numActualArgs, argv, rval);
 }
 
 #ifdef JS_SIMULATOR
 static bool
 CheckSimulatorRecursionLimitWithExtra(JSContext* cx, uint32_t extra)
 {
     if (cx->simulator()->overRecursedWithExtra(extra)) {
         ReportOverRecursed(cx);
@@ -319,28 +319,16 @@ StringsEqual(JSContext* cx, HandleString
         *res = !*res;
     return true;
 }
 
 template bool StringsEqual<true>(JSContext* cx, HandleString lhs, HandleString rhs, bool* res);
 template bool StringsEqual<false>(JSContext* cx, HandleString lhs, HandleString rhs, bool* res);
 
 bool
-ArraySpliceDense(JSContext* cx, HandleObject obj, uint32_t start, uint32_t deleteCount)
-{
-    JS::AutoValueArray<4> argv(cx);
-    argv[0].setUndefined();
-    argv[1].setObject(*obj);
-    argv[2].set(Int32Value(start));
-    argv[3].set(Int32Value(deleteCount));
-
-    return js::array_splice_impl(cx, 2, argv.begin(), false);
-}
-
-bool
 ArrayPopDense(JSContext* cx, HandleObject obj, MutableHandleValue rval)
 {
     MOZ_ASSERT(obj->is<ArrayObject>() || obj->is<UnboxedArrayObject>());
 
     AutoDetectInvalidation adi(cx, rval);
 
     JS::AutoValueArray<2> argv(cx);
     argv[0].setUndefined();
--- a/js/src/jit/VMFunctions.h
+++ b/js/src/jit/VMFunctions.h
@@ -597,18 +597,18 @@ class AutoDetectInvalidation
 
     ~AutoDetectInvalidation() {
         if (!disabled_ && ionScript_->invalidated())
             setReturnOverride();
     }
 };
 
 MOZ_MUST_USE bool
-InvokeFunction(JSContext* cx, HandleObject obj0, bool constructing, uint32_t argc, Value* argv,
-               MutableHandleValue rval);
+InvokeFunction(JSContext* cx, HandleObject obj0, bool constructing, bool ignoresReturnValue,
+               uint32_t argc, Value* argv, MutableHandleValue rval);
 MOZ_MUST_USE bool
 InvokeFunctionShuffleNewTarget(JSContext* cx, HandleObject obj, uint32_t numActualArgs,
                                uint32_t numFormalArgs, Value* argv, MutableHandleValue rval);
 
 bool CheckOverRecursed(JSContext* cx);
 bool CheckOverRecursedWithExtra(JSContext* cx, BaselineFrame* frame,
                                 uint32_t extra, uint32_t earlyCheck);
 
@@ -763,19 +763,16 @@ PopVarEnv(JSContext* cx, BaselineFrame* 
 MOZ_MUST_USE bool
 InitBaselineFrameForOsr(BaselineFrame* frame, InterpreterFrame* interpFrame,
                              uint32_t numStackValues);
 
 JSObject* CreateDerivedTypedObj(JSContext* cx, HandleObject descr,
                                 HandleObject owner, int32_t offset);
 
 MOZ_MUST_USE bool
-ArraySpliceDense(JSContext* cx, HandleObject obj, uint32_t start, uint32_t deleteCount);
-
-MOZ_MUST_USE bool
 Recompile(JSContext* cx);
 MOZ_MUST_USE bool
 ForcedRecompile(JSContext* cx);
 JSString* StringReplace(JSContext* cx, HandleString string, HandleString pattern,
                         HandleString repl);
 
 MOZ_MUST_USE bool SetDenseOrUnboxedArrayElement(JSContext* cx, HandleObject obj, int32_t index,
                                                 HandleValue value, bool strict);
--- a/js/src/jit/shared/LIR-shared.h
+++ b/js/src/jit/shared/LIR-shared.h
@@ -1905,16 +1905,19 @@ class LJSCallInstructionHelper : public 
     // Does not include |this|.
     uint32_t numActualArgs() const {
         return mir()->numActualArgs();
     }
 
     bool isConstructing() const {
         return mir()->isConstructing();
     }
+    bool ignoresReturnValue() const {
+        return mir()->ignoresReturnValue();
+    }
 };
 
 // Generates a polymorphic callsite, wherein the function being called is
 // unknown and anticipated to vary.
 class LCallGeneric : public LJSCallInstructionHelper<BOX_PIECES, 1, 2>
 {
   public:
     LIR_HEADER(CallGeneric)
@@ -2225,44 +2228,16 @@ class LApplyArrayGeneric : public LCallI
     const LDefinition* getTempObject() {
         return getTemp(0);
     }
     const LDefinition* getTempStackCounter() {
         return getTemp(1);
     }
 };
 
-class LArraySplice : public LCallInstructionHelper<0, 3, 0>
-{
-  public:
-    LIR_HEADER(ArraySplice)
-
-    LArraySplice(const LAllocation& object, const LAllocation& start,
-                 const LAllocation& deleteCount)
-    {
-        setOperand(0, object);
-        setOperand(1, start);
-        setOperand(2, deleteCount);
-    }
-
-    MArraySplice* mir() const {
-        return mir_->toArraySplice();
-    }
-
-    const LAllocation* getObject() {
-        return getOperand(0);
-    }
-    const LAllocation* getStart() {
-        return getOperand(1);
-    }
-    const LAllocation* getDeleteCount() {
-        return getOperand(2);
-    }
-};
-
 class LGetDynamicName : public LCallInstructionHelper<BOX_PIECES, 2, 3>
 {
   public:
     LIR_HEADER(GetDynamicName)
 
     LGetDynamicName(const LAllocation& envChain, const LAllocation& name,
                     const LDefinition& temp1, const LDefinition& temp2, const LDefinition& temp3)
     {
--- a/js/src/jit/shared/LOpcodes-shared.h
+++ b/js/src/jit/shared/LOpcodes-shared.h
@@ -64,17 +64,16 @@
     _(TableSwitch)                  \
     _(TableSwitchV)                 \
     _(Goto)                         \
     _(NewArray)                     \
     _(NewArrayCopyOnWrite)          \
     _(NewArrayDynamicLength)        \
     _(NewTypedArray)                \
     _(NewTypedArrayDynamicLength)   \
-    _(ArraySplice)                  \
     _(NewObject)                    \
     _(NewTypedObject)               \
     _(NewNamedLambdaObject)         \
     _(NewCallObject)                \
     _(NewSingletonCallObject)       \
     _(NewStringObject)              \
     _(NewDerivedTypedObject)        \
     _(InitElem)                     \
--- a/js/src/jsarray.cpp
+++ b/js/src/jsarray.cpp
@@ -2477,23 +2477,16 @@ CanOptimizeForDenseStorage(HandleObject 
      * Now watch out for getters and setters along the prototype chain or in
      * other indexed properties on the object.  (Note that non-writable length
      * is subsumed by the initializedLength comparison.)
      */
     return !ObjectMayHaveExtraIndexedProperties(arr) &&
            startingIndex + count <= GetAnyBoxedOrUnboxedInitializedLength(arr);
 }
 
-/* ES 2016 draft Mar 25, 2016 22.1.3.26. */
-bool
-js::array_splice(JSContext* cx, unsigned argc, Value* vp)
-{
-    return array_splice_impl(cx, argc, vp, true);
-}
-
 static inline bool
 ArraySpliceCopy(JSContext* cx, HandleObject arr, HandleObject obj,
                 uint32_t actualStart, uint32_t actualDeleteCount)
 {
     // Steps 10, 11, 11.d.
     RootedValue fromValue(cx);
     for (uint32_t k = 0; k < actualDeleteCount; k++) {
         // Step 11.a (implicit).
@@ -2513,18 +2506,18 @@ ArraySpliceCopy(JSContext* cx, HandleObj
                 return false;
         }
     }
 
     // Step 12.
     return SetLengthProperty(cx, arr, actualDeleteCount);
 }
 
-bool
-js::array_splice_impl(JSContext* cx, unsigned argc, Value* vp, bool returnValueIsUsed)
+static bool
+array_splice_impl(JSContext* cx, unsigned argc, Value* vp, bool returnValueIsUsed)
 {
     AutoGeckoProfilerEntry pseudoFrame(cx->runtime(), "Array.prototype.splice");
     CallArgs args = CallArgsFromVp(argc, vp);
 
     /* Step 1. */
     RootedObject obj(cx, ToObject(cx, args.thisv()));
     if (!obj)
         return false;
@@ -2758,16 +2751,29 @@ js::array_splice_impl(JSContext* cx, uns
 
     /* Step 20. */
     if (returnValueIsUsed)
         args.rval().setObject(*arr);
 
     return true;
 }
 
+/* ES 2016 draft Mar 25, 2016 22.1.3.26. */
+bool
+js::array_splice(JSContext* cx, unsigned argc, Value* vp)
+{
+    return array_splice_impl(cx, argc, vp, true);
+}
+
+static bool
+array_splice_noRetVal(JSContext* cx, unsigned argc, Value* vp)
+{
+    return array_splice_impl(cx, argc, vp, false);
+}
+
 struct SortComparatorIndexes
 {
     bool operator()(uint32_t a, uint32_t b, bool* lessOrEqualp) {
         *lessOrEqualp = (a <= b);
         return true;
     }
 };
 
@@ -3172,32 +3178,41 @@ array_of(JSContext* cx, unsigned argc, V
     if (!SetLengthProperty(cx, obj, args.length()))
         return false;
 
     // Step 11.
     args.rval().setObject(*obj);
     return true;
 }
 
+const JSJitInfo js::array_splice_info = {
+  { (JSJitGetterOp)array_splice_noRetVal },
+  { 0 }, /* unused */
+  { 0 }, /* unused */
+  JSJitInfo::IgnoresReturnValueNative,
+  JSJitInfo::AliasEverything,
+  JSVAL_TYPE_UNDEFINED,
+};
+
 static const JSFunctionSpec array_methods[] = {
 #if JS_HAS_TOSOURCE
     JS_FN(js_toSource_str,      array_toSource,     0,0),
 #endif
     JS_SELF_HOSTED_FN(js_toString_str, "ArrayToString",      0,0),
     JS_FN(js_toLocaleString_str,       array_toLocaleString, 0,0),
 
     /* Perl-ish methods. */
     JS_INLINABLE_FN("join",     array_join,         1,0, ArrayJoin),
     JS_FN("reverse",            array_reverse,      0,0),
     JS_FN("sort",               array_sort,         1,0),
     JS_INLINABLE_FN("push",     array_push,         1,0, ArrayPush),
     JS_INLINABLE_FN("pop",      array_pop,          0,0, ArrayPop),
     JS_INLINABLE_FN("shift",    array_shift,        0,0, ArrayShift),
     JS_FN("unshift",            array_unshift,      1,0),
-    JS_INLINABLE_FN("splice",   array_splice,       2,0, ArraySplice),
+    JS_FNINFO("splice",         array_splice,       &array_splice_info, 2,0),
 
     /* Pythonic sequence methods. */
     JS_SELF_HOSTED_FN("concat",      "ArrayConcat",      1,0),
     JS_INLINABLE_FN("slice",    array_slice,        2,0, ArraySlice),
 
     JS_SELF_HOSTED_FN("lastIndexOf", "ArrayLastIndexOf", 1,0),
     JS_SELF_HOSTED_FN("indexOf",     "ArrayIndexOf",     1,0),
     JS_SELF_HOSTED_FN("forEach",     "ArrayForEach",     1,0),
--- a/js/src/jsarray.h
+++ b/js/src/jsarray.h
@@ -161,19 +161,16 @@ array_sort(JSContext* cx, unsigned argc,
 
 extern bool
 array_push(JSContext* cx, unsigned argc, js::Value* vp);
 
 extern bool
 array_pop(JSContext* cx, unsigned argc, js::Value* vp);
 
 extern bool
-array_splice_impl(JSContext* cx, unsigned argc, js::Value* vp, bool pop);
-
-extern bool
 array_join(JSContext* cx, unsigned argc, js::Value* vp);
 
 extern void
 ArrayShiftMoveElements(JSObject* obj);
 
 extern bool
 array_shift(JSContext* cx, unsigned argc, js::Value* vp);
 
@@ -187,16 +184,18 @@ extern JSObject*
 array_slice_dense(JSContext* cx, HandleObject obj, int32_t begin, int32_t end, HandleObject result);
 
 extern bool
 array_reverse(JSContext* cx, unsigned argc, js::Value* vp);
 
 extern bool
 array_splice(JSContext* cx, unsigned argc, js::Value* vp);
 
+extern const JSJitInfo array_splice_info;
+
 /*
  * Append the given (non-hole) value to the end of an array.  The array must be
  * a newborn array -- that is, one which has not been exposed to script for
  * arbitrary manipulation.  (This method optimizes on the assumption that
  * extending the array to accommodate the element will never make the array
  * sparse, which requires that the array be completely filled.)
  */
 extern bool
--- a/js/src/jsfriendapi.h
+++ b/js/src/jsfriendapi.h
@@ -2307,16 +2307,17 @@ typedef bool
  */
 struct JSJitInfo {
     enum OpType {
         Getter,
         Setter,
         Method,
         StaticMethod,
         InlinableNative,
+        IgnoresReturnValueNative,
         // Must be last
         OpTypeCount
     };
 
     enum ArgType {
         // Basic types
         String = (1 << 0),
         Integer = (1 << 1), // Only 32-bit or less
@@ -2398,18 +2399,23 @@ struct JSJitInfo {
     }
 
     union {
         JSJitGetterOp getter;
         JSJitSetterOp setter;
         JSJitMethodOp method;
         /** A DOM static method, used for Promise wrappers */
         JSNative staticMethod;
+        JSNative ignoresReturnValueMethod;
     };
 
+    static unsigned offsetOfIgnoresReturnValueNative() {
+        return offsetof(JSJitInfo, ignoresReturnValueMethod);
+    }
+
     union {
         uint16_t protoID;
         js::jit::InlinableNative inlinableNative;
     };
 
     union {
         uint16_t depth;
 
--- a/js/src/jsfun.h
+++ b/js/src/jsfun.h
@@ -567,16 +567,20 @@ class JSFunction : public js::NativeObje
                       "for offsetOfNativeOrScript() have any sense");
         static_assert(offsetof(U, n.native) == offsetof(U, nativeOrScript),
                       "U::nativeOrScript must be at the same offset as "
                       "native");
 
         return offsetof(JSFunction, u.nativeOrScript);
     }
 
+    static unsigned offsetOfJitInfo() {
+        return offsetof(JSFunction, u.n.jitinfo);
+    }
+
     inline void trace(JSTracer* trc);
 
     /* Bound function accessors. */
 
     JSObject* getBoundFunctionTarget() const;
     const js::Value& getBoundFunctionThis() const;
     const js::Value& getBoundFunctionArgument(unsigned which) const;
     size_t getBoundFunctionArgumentCount() const;
--- a/js/src/jsopcode.cpp
+++ b/js/src/jsopcode.cpp
@@ -128,17 +128,18 @@ js::StackUses(JSScript* script, jsbyteco
     switch (op) {
       case JSOP_POPN:
         return GET_UINT16(pc);
       case JSOP_NEW:
       case JSOP_SUPERCALL:
         return 2 + GET_ARGC(pc) + 1;
       default:
         /* stack: fun, this, [argc arguments] */
-        MOZ_ASSERT(op == JSOP_CALL || op == JSOP_EVAL || op == JSOP_CALLITER ||
+        MOZ_ASSERT(op == JSOP_CALL || op == JSOP_CALL_IGNORES_RV || op == JSOP_EVAL ||
+                   op == JSOP_CALLITER ||
                    op == JSOP_STRICTEVAL || op == JSOP_FUNCALL || op == JSOP_FUNAPPLY);
         return 2 + GET_ARGC(pc);
     }
 }
 
 unsigned
 js::StackDefs(JSScript* script, jsbytecode* pc)
 {
@@ -1868,16 +1869,17 @@ ExpressionDecompiler::decompilePC(jsbyte
         return write(js_undefined_str);
       case JSOP_GLOBALTHIS:
         // |this| could convert to a very long object initialiser, so cite it by
         // its keyword name.
         return write(js_this_str);
       case JSOP_NEWTARGET:
         return write("new.target");
       case JSOP_CALL:
+      case JSOP_CALL_IGNORES_RV:
       case JSOP_CALLITER:
       case JSOP_FUNCALL:
       case JSOP_FUNAPPLY:
         return decompilePCForStackOperand(pc, -int32_t(GET_ARGC(pc) + 2)) &&
                write("(...)");
       case JSOP_SPREADCALL:
         return decompilePCForStackOperand(pc, -3) &&
                write("(...)");
@@ -2389,17 +2391,17 @@ DecompileArgumentFromStack(JSContext* cx
 
     MOZ_ASSERT(script->containsPC(current));
 
     if (current < script->main())
         return true;
 
     /* Don't handle getters, setters or calls from fun.call/fun.apply. */
     JSOp op = JSOp(*current);
-    if (op != JSOP_CALL && op != JSOP_NEW)
+    if (op != JSOP_CALL && op != JSOP_CALL_IGNORES_RV && op != JSOP_NEW)
         return true;
 
     if (static_cast<unsigned>(formalIndex) >= GET_ARGC(current))
         return true;
 
     BytecodeParser parser(cx, script);
     if (!parser.parse())
         return false;
@@ -2452,16 +2454,18 @@ js::CallResultEscapes(jsbytecode* pc)
      *
      * If we see any of these sequences, the result is only tested for nullness:
      * - call / ifeq
      * - call / not / ifeq
      */
 
     if (*pc == JSOP_CALL)
         pc += JSOP_CALL_LENGTH;
+    else if (*pc == JSOP_CALL_IGNORES_RV)
+        pc += JSOP_CALL_IGNORES_RV_LENGTH;
     else if (*pc == JSOP_SPREADCALL)
         pc += JSOP_SPREADCALL_LENGTH;
     else
         return true;
 
     if (*pc == JSOP_POP)
         return false;
 
--- a/js/src/vm/Interpreter.cpp
+++ b/js/src/vm/Interpreter.cpp
@@ -440,17 +440,23 @@ js::InternalCallOrConstruct(JSContext* c
     RootedFunction fun(cx, &args.callee().as<JSFunction>());
     if (construct != CONSTRUCT && fun->isClassConstructor()) {
         JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_CANT_CALL_CLASS_CONSTRUCTOR);
         return false;
     }
 
     if (fun->isNative()) {
         MOZ_ASSERT_IF(construct, !fun->isConstructor());
-        return CallJSNative(cx, fun->native(), args);
+        JSNative native = fun->native();
+        if (!construct && args.ignoresReturnValue()) {
+            const JSJitInfo* jitInfo = fun->jitInfo();
+            if (jitInfo && jitInfo->type() == JSJitInfo::IgnoresReturnValueNative)
+                native = jitInfo->ignoresReturnValueMethod;
+        }
+        return CallJSNative(cx, native, args);
     }
 
     if (!JSFunction::getOrCreateScript(cx, fun))
         return false;
 
     /* Run function until JSOP_RETRVAL, JSOP_RETURN or error. */
     InvokeState state(cx, args, construct);
 
@@ -2917,28 +2923,30 @@ CASE(JSOP_FUNAPPLY)
     CallArgs args = CallArgsFromSp(GET_ARGC(REGS.pc), REGS.sp);
     if (!GuardFunApplyArgumentsOptimization(cx, REGS.fp(), args))
         goto error;
     /* FALL THROUGH */
 }
 
 CASE(JSOP_NEW)
 CASE(JSOP_CALL)
+CASE(JSOP_CALL_IGNORES_RV)
 CASE(JSOP_CALLITER)
 CASE(JSOP_SUPERCALL)
 CASE(JSOP_FUNCALL)
 {
     if (REGS.fp()->hasPushedGeckoProfilerFrame())
         cx->runtime()->geckoProfiler().updatePC(script, REGS.pc);
 
     MaybeConstruct construct = MaybeConstruct(*REGS.pc == JSOP_NEW || *REGS.pc == JSOP_SUPERCALL);
+    bool ignoresReturnValue = *REGS.pc == JSOP_CALL_IGNORES_RV;
     unsigned argStackSlots = GET_ARGC(REGS.pc) + construct;
 
     MOZ_ASSERT(REGS.stackDepth() >= 2u + GET_ARGC(REGS.pc));
-    CallArgs args = CallArgsFromSp(argStackSlots, REGS.sp, construct);
+    CallArgs args = CallArgsFromSp(argStackSlots, REGS.sp, construct, ignoresReturnValue);
 
     JSFunction* maybeFun;
     bool isFunction = IsFunctionObject(args.calleev(), &maybeFun);
 
     /* Don't bother trying to fast-path calls to scripted non-constructors. */
     if (!isFunction || !maybeFun->isInterpreted() || !maybeFun->isConstructor() ||
         (!construct && maybeFun->isClassConstructor()))
     {
--- a/js/src/vm/Opcodes.h
+++ b/js/src/vm/Opcodes.h
@@ -2292,24 +2292,33 @@ 1234567890123456789012345678901234567890
      * This opcode is a no-op and it indicates the location of a jump
      * instruction target. Some other opcodes act as jump targets, such as
      * LOOPENTRY, as well as all which are matched by BytecodeIsJumpTarget
      * function.
      *   Category: Other
      *   Operands:
      *   Stack: =>
      */ \
-    macro(JSOP_JUMPTARGET,  230, "jumptarget",     NULL,  1,  0,  0,  JOF_BYTE)
+    macro(JSOP_JUMPTARGET,  230, "jumptarget",     NULL,  1,  0,  0,  JOF_BYTE)\
+    /*
+     * Like JSOP_CALL, but tells the function that the return value is ignored.
+     * stack.
+     *   Category: Statements
+     *   Type: Function
+     *   Operands: uint16_t argc
+     *   Stack: callee, this, args[0], ..., args[argc-1] => rval
+     *   nuses: (argc+2)
+     */ \
+    macro(JSOP_CALL_IGNORES_RV, 231, "call-ignores-rv", NULL, 3, -1, 1, JOF_UINT16|JOF_INVOKE|JOF_TYPESET)
 
 /*
  * In certain circumstances it may be useful to "pad out" the opcode space to
  * a power of two.  Use this macro to do so.
  */
 #define FOR_EACH_TRAILING_UNUSED_OPCODE(macro) \
-    macro(231) \
     macro(232) \
     macro(233) \
     macro(234) \
     macro(235) \
     macro(236) \
     macro(237) \
     macro(238) \
     macro(239) \
--- a/js/src/vm/SelfHosting.cpp
+++ b/js/src/vm/SelfHosting.cpp
@@ -2301,17 +2301,17 @@ static const JSFunctionSpec intrinsic_fu
     JS_FN("std_Array_join",                      array_join,                   1,0),
     JS_INLINABLE_FN("std_Array_push",            array_push,                   1,0, ArrayPush),
     JS_INLINABLE_FN("std_Array_pop",             array_pop,                    0,0, ArrayPop),
     JS_INLINABLE_FN("std_Array_shift",           array_shift,                  0,0, ArrayShift),
     JS_FN("std_Array_unshift",                   array_unshift,                1,0),
     JS_INLINABLE_FN("std_Array_slice",           array_slice,                  2,0, ArraySlice),
     JS_FN("std_Array_sort",                      array_sort,                   1,0),
     JS_FN("std_Array_reverse",                   array_reverse,                0,0),
-    JS_INLINABLE_FN("std_Array_splice",          array_splice,                 2,0, ArraySplice),
+    JS_FNINFO("std_Array_splice",                array_splice, &array_splice_info, 2,0),
 
     JS_FN("std_Date_now",                        date_now,                     0,0),
     JS_FN("std_Date_valueOf",                    date_valueOf,                 0,0),
 
     JS_FN("std_Function_apply",                  fun_apply,                    2,0),
 
     JS_INLINABLE_FN("std_Math_floor",            math_floor,                   1,0, MathFloor),
     JS_INLINABLE_FN("std_Math_max",              math_max,                     2,0, MathMax),
--- a/js/src/vm/Stack.h
+++ b/js/src/vm/Stack.h
@@ -1040,16 +1040,27 @@ class FixedArgsBase
 class InvokeArgs : public detail::GenericArgsBase<NO_CONSTRUCT>
 {
     using Base = detail::GenericArgsBase<NO_CONSTRUCT>;
 
   public:
     explicit InvokeArgs(JSContext* cx) : Base(cx) {}
 };
 
+/** Function call args of statically-unknown count. */
+class InvokeArgsMaybeIgnoresReturnValue : public detail::GenericArgsBase<NO_CONSTRUCT>
+{
+    using Base = detail::GenericArgsBase<NO_CONSTRUCT>;
+
+  public:
+    explicit InvokeArgsMaybeIgnoresReturnValue(JSContext* cx, bool ignoresReturnValue) : Base(cx) {
+        this->ignoresReturnValue_ = ignoresReturnValue;
+    }
+};
+
 /** Function call args of statically-known count. */
 template <size_t N>
 class FixedInvokeArgs : public detail::FixedArgsBase<NO_CONSTRUCT, N>
 {
     using Base = detail::FixedArgsBase<NO_CONSTRUCT, N>;
 
   public:
     explicit FixedInvokeArgs(JSContext* cx) : Base(cx) {}
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -3604,17 +3604,19 @@ ScrollFrameHelper::DecideScrollableLayer
       } else {
         // Make the displayport base equal to the dirty rect restricted to
         // the scrollport and the root composition bounds, relative to the
         // scrollport.
         displayportBase = aDirtyRect->Intersect(mScrollPort);
 
         // Only restrict to the root composition bounds if necessary,
         // as the required coordinate transformation is expensive.
-        if (wasUsingDisplayPort) {
+        // Note that we call HasDisplayPort again instead of using
+        // wasUsingDisplayPort because we might have just created a display port.
+        if (nsLayoutUtils::HasDisplayPort(content)) {
           const nsPresContext* rootPresContext =
             pc->GetToplevelContentDocumentPresContext();
           if (!rootPresContext) {
             rootPresContext = pc->GetRootPresContext();
           }
           if (rootPresContext) {
             const nsIPresShell* const rootPresShell = rootPresContext->PresShell();
             nsIFrame* rootFrame = rootPresShell->GetRootScrollFrame();
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -1152,9 +1152,9 @@ static const TransportSecurityPreload kP
   { "za.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
   { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
 };
 
 // Pinning Preload List Length = 477;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1498316559434000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1498403452815000);
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -1,18 +1,16 @@
 007sascha.de: could not connect to host
 00f.net: did not receive HSTS header
 020wifi.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 0g.org.uk: could not connect to host
 0p.no: did not receive HSTS header
-0x.cx: could not connect to host
 0x0a.net: could not connect to host
 0x1337.eu: could not connect to host
 0x44.net: did not receive HSTS header
-0x52.org: could not connect to host
 0xa.in: could not connect to host
 0xacab.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 0xb612.org: could not connect to host
 0xf00.ch: did not receive HSTS header
 100dayloans.com: max-age too low: 0
 1018hosting.nl: did not receive HSTS header
 1022996493.rsc.cdn77.org: could not connect to host
 10seos.com: did not receive HSTS header
@@ -23,27 +21,25 @@ 126ium.moe: could not connect to host
 127011-networks.ch: did not receive HSTS header
 12vpnchina.com: could not connect to host
 16packets.com: could not connect to host
 1a-jva.de: did not receive HSTS header
 1cover.com: could not connect to host
 1k8b.com: could not connect to host
 1password.com: did not receive HSTS header
 1xcess.com: did not receive HSTS header
-1years.cc: did not receive HSTS header
 206rc.net: max-age too low: 2592000
 247loan.com: max-age too low: 0
 24hourpaint.com: could not connect to host
 25daysof.io: could not connect to host
 263.info: could not connect to host
 2859cc.com: could not connect to host
 2brokegirls.org: could not connect to host
 2intermediate.co.uk: did not receive HSTS header
 2or3.tk: could not connect to host
-2programmers.net: could not connect to host
 2smart4food.com: did not receive HSTS header
 2ss.jp: did not receive HSTS header
 300651.ru: did not receive HSTS header
 300m.com: did not receive HSTS header
 301.website: could not connect to host
 302.nyc: could not connect to host
 33drugstore.com: did not receive HSTS header
 360ds.co.in: could not connect to host
@@ -69,17 +65,17 @@ 4w-performers.link: could not connect to
 50millionablaze.org: could not connect to host
 525.info: could not connect to host
 540.co: did not receive HSTS header
 56ct.com: could not connect to host
 60ych.net: did not receive HSTS header
 6120.eu: did not receive HSTS header
 69square.com: could not connect to host
 7kovrikov.ru: did not receive HSTS header
-808.lv: could not connect to host
+808.lv: did not receive HSTS header
 83i.net: could not connect to host
 8ox.ru: did not receive HSTS header
 911911.pw: could not connect to host
 922.be: could not connect to host
 960news.ca: could not connect to host
 9point6.com: could not connect to host
 a-plus.space: could not connect to host
 a-theme.com: could not connect to host
@@ -110,16 +106,17 @@ acg18.us: did not receive HSTS header
 acgmoon.org: did not receive HSTS header
 acisonline.net: did not receive HSTS header
 acorns.com: did not receive HSTS header
 acr.im: could not connect to host
 acslimited.co.uk: did not receive HSTS header
 activateplay.com: did not receive HSTS header
 activeweb.top: could not connect to host
 activiti.alfresco.com: did not receive HSTS header
+actserv.co.ke: could not connect to host
 actu-medias.com: did not receive HSTS header
 actualite-videos.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 acuve.jp: could not connect to host
 ada.is: max-age too low: 2592000
 adajwells.me: could not connect to host
 adams.net: max-age too low: 0
 adamwk.com: did not receive HSTS header
 addaxpetroleum.com: could not connect to host
@@ -145,24 +142,22 @@ aduedu.de: did not receive HSTS header
 advancedstudio.ro: did not receive HSTS header
 adver.top: could not connect to host
 adviespuntklokkenluiders.nl: could not connect to host
 aemoria.com: could not connect to host
 aerialmediapro.net: could not connect to host
 aes256.ru: could not connect to host
 aether.pw: could not connect to host
 aevpn.net: could not connect to host
-aeyoun.com: could not connect to host
 aficotroceni.ro: did not receive HSTS header
 afp548.tk: could not connect to host
 afyou.co.kr: could not connect to host
 agalaxyfarfaraway.co.uk: could not connect to host
 agbremen.de: did not receive HSTS header
 agentseeker.ca: did not receive HSTS header
-agowa338.de: could not connect to host
 agrimap.com: did not receive HSTS header
 agrios.de: did not receive HSTS header
 agro-id.gov.ua: could not connect to host
 ahabingo.com: did not receive HSTS header
 ahoynetwork.com: did not receive HSTS header
 ahri.ovh: could not connect to host
 aidanwoods.com: did not receive HSTS header
 airbnb.com: did not receive HSTS header
@@ -174,39 +169,39 @@ aiw-thkoeln.online: could not connect to
 ajmahal.com: could not connect to host
 akboy.pw: could not connect to host
 akclinics.org: did not receive HSTS header
 akerek.hu: did not receive HSTS header
 akombakom.net: did not receive HSTS header
 akselimedia.fi: did not receive HSTS header
 al-shami.net: could not connect to host
 aladdin.ie: did not receive HSTS header
-alainwolf.ch: could not connect to host
 alainwolf.net: could not connect to host
 alanlee.net: could not connect to host
 alanrickmanflipstable.com: could not connect to host
 alariel.de: did not receive HSTS header
 alarmsystemreviews.com: did not receive HSTS header
 albertopimienta.com: did not receive HSTS header
 albion2.org: did not receive HSTS header
 alcazaar.com: could not connect to host
 alecvannoten.be: did not receive HSTS header
 alenan.org: could not connect to host
 alessandro.pw: did not receive HSTS header
 alethearose.com: did not receive HSTS header
 alexandre.sh: did not receive HSTS header
+alexhaydock.co.uk: could not connect to host
 alexisabarca.com: did not receive HSTS header
 alexsergeyev.com: could not connect to host
 alexwardweb.com: did not receive HSTS header
 alfa24.pro: could not connect to host
 alittlebitcheeky.com: did not receive HSTS header
 aljaspod.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 alkami.com: did not receive HSTS header
 all-subtitles.com: did not receive HSTS header
-all.tf: did not receive HSTS header
+all.tf: could not connect to host
 alldaymonitoring.com: could not connect to host
 allforyou.at: could not connect to host
 allinnote.com: could not connect to host
 allmbw.com: could not connect to host
 allstarswithus.com: could not connect to host
 alpha.irccloud.com: could not connect to host
 alphabit-secure.com: could not connect to host
 alphabuild.io: did not receive HSTS header
@@ -227,27 +222,27 @@ amihub.com: could not connect to host
 amilx.com: could not connect to host
 amilx.org: could not connect to host
 amimoto-ami.com: max-age too low: 3153600
 amitube.com: could not connect to host
 amlvfs.net: did not receive HSTS header
 amoory.com: did not receive HSTS header
 amri.nl: did not receive HSTS header
 amunoz.org: did not receive HSTS header
+anadoluefessporkulubu.org: could not connect to host
 anagra.ms: could not connect to host
 analytic-s.ml: could not connect to host
 anarchistischegroepnijmegen.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 anassiriphotography.com: could not connect to host
 ancientkarma.com: could not connect to host
 andere-gedanken.net: max-age too low: 10
 andiplusben.com: could not connect to host
 andreasbreitenlohner.de: did not receive HSTS header
 andreastoneman.com: could not connect to host
 andreigec.net: did not receive HSTS header
-andrew.london: did not receive HSTS header
 andrewbroekman.com: could not connect to host
 andrewhowden.com: did not receive HSTS header
 andrewmichaud.beer: could not connect to host
 andrewregan.me: could not connect to host
 andreypopp.com: could not connect to host
 androoz.se: did not receive HSTS header
 andymartin.cc: did not receive HSTS header
 anfsanchezo.co: did not receive HSTS header
@@ -300,16 +295,17 @@ appengine.google.com: did not receive HS
 applez.xyz: could not connect to host
 applic8.com: did not receive HSTS header
 appraisal-comps.com: could not connect to host
 appreciationkards.com: could not connect to host
 approlys.fr: did not receive HSTS header
 apps-for-fishing.com: could not connect to host
 appsdash.io: could not connect to host
 appseccalifornia.org: did not receive HSTS header
+aptive.co.uk: did not receive HSTS header
 aquilalab.com: could not connect to host
 arabdigitalexpression.org: did not receive HSTS header
 aradulconteaza.ro: could not connect to host
 aran.me.uk: could not connect to host
 arbeitskreis-asyl-eningen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 arboineuropa.nl: did not receive HSTS header
 arbu.eu: could not connect to host
 areafiftylan.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -403,16 +399,17 @@ avqueen.cn: did not receive HSTS header
 avus-automobile.com: did not receive HSTS header
 awg-mode.de: did not receive HSTS header
 awxg.com: could not connect to host
 axado.com.br: did not receive HSTS header
 axeny.com: did not receive HSTS header
 az.search.yahoo.com: did not receive HSTS header
 azprep.us: could not connect to host
 azuxul.fr: could not connect to host
+b303.me: did not receive HSTS header
 b3orion.com: max-age too low: 0
 b64.club: could not connect to host
 babettelandmesser.de: max-age too low: 0
 baby-click.de: did not receive HSTS header
 babybic.hu: did not receive HSTS header
 babyhouse.xyz: could not connect to host
 babymasaze.cz: did not receive HSTS header
 babysaying.me: max-age too low: 6000
@@ -424,17 +421,16 @@ badkamergigant.com: could not connect to
 badlink.org: could not connect to host
 baff.lu: did not receive HSTS header
 baiduaccount.com: could not connect to host
 bakingstone.com: could not connect to host
 bakkerdesignandbuild.com: did not receive HSTS header
 balcan-underground.net: could not connect to host
 baldwinkoo.com: could not connect to host
 balloonphp.com: could not connect to host
-balonmano.co: could not connect to host
 banbanchs.com: could not connect to host
 bandb.xyz: could not connect to host
 bandrcrafts.com: could not connect to host
 bannisbierblog.de: could not connect to host
 banqingdiao.com: could not connect to host
 barely.sexy: did not receive HSTS header
 barrelhead.org: could not connect to host
 bashcode.ninja: could not connect to host
@@ -455,27 +451,26 @@ bcm.com.au: max-age too low: 0
 bcnx.de: max-age too low: 0
 bcsytv.com: could not connect to host
 bcweightlifting.ca: could not connect to host
 bde-epitech.fr: could not connect to host
 be.search.yahoo.com: did not receive HSTS header
 beach-inspector.com: did not receive HSTS header
 beachi.es: could not connect to host
 beaglewatch.com: could not connect to host
-beamitapp.com: could not connect to host
 beardydave.com: did not receive HSTS header
 beastowner.com: did not receive HSTS header
 beavers.io: could not connect to host
 bebesurdoue.com: could not connect to host
 bedabox.com: max-age too low: 0
 bedeta.de: could not connect to host
 bedreid.dk: did not receive HSTS header
 bedrijvenadministratie.nl: did not receive HSTS header
 beholdthehurricane.com: could not connect to host
-beier.io: did not receive HSTS header
+beier.io: could not connect to host
 belairsewvac.com: could not connect to host
 belics.com: did not receive HSTS header
 belliash.eu.org: did not receive HSTS header
 belltower.io: could not connect to host
 bemyvictim.com: max-age too low: 2678400
 beneffy.com: did not receive HSTS header
 benk.press: could not connect to host
 benny003.de: did not receive HSTS header
@@ -499,31 +494,32 @@ bettween.com: could not connect to host
 betz.ro: did not receive HSTS header
 bevapehappy.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
 bezorg.ninja: could not connect to host
 bf.am: max-age too low: 0
 bgcparkstad.nl: did not receive HSTS header
+bgkoleda.bg: could not connect to host
 bgmn.net: 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 :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 bi.search.yahoo.com: did not receive HSTS header
 bidon.ca: did not receive HSTS header
 bieberium.de: could not connect to host
 bienenblog.cc: could not connect to host
 big-black.de: did not receive HSTS header
 bigbrownpromotions.com.au: did not receive HSTS header
 bigdinosaur.org: could not connect to host
 bigshinylock.minazo.net: could not connect to host
 bildiri.ci: did not receive HSTS header
 bildschirmflackern.de: did not receive HSTS header
 billin.net: did not receive HSTS header
 billkiss.com: max-age too low: 300
-billninja.com: could not connect to host
+billninja.com: did not receive HSTS header
 binderapp.net: could not connect to host
 biofam.ru: did not receive HSTS header
 bioknowme.com: did not receive HSTS header
 bionicspirit.com: could not connect to host
 biophysik-ssl.de: did not receive HSTS header
 birkman.com: did not receive HSTS header
 bisterfeldt.com: could not connect to host
 bitchan.it: could not connect to host
@@ -534,17 +530,17 @@ bitf.ly: could not connect to host
 bitfactory.ws: could not connect to host
 bitfarm-archiv.com: did not receive HSTS header
 bitfarm-archiv.de: did not receive HSTS header
 bitgo.com: max-age too low: 0
 bitheus.com: could not connect to host
 bithosting.io: did not receive HSTS header
 bitnet.io: did not receive HSTS header
 bitraum.io: could not connect to host
-bitsafe.systems: did not receive HSTS header
+bitsafe.systems: could not connect to host
 bitvigor.com: could not connect to host
 bityes.org: could not connect to host
 bivsi.com: could not connect to host
 bizcms.com: did not receive HSTS header
 bizon.sk: did not receive HSTS header
 black-armada.com.pl: could not connect to host
 black-armada.pl: could not connect to host
 blackburn.link: could not connect to host
@@ -694,35 +690,36 @@ cabsites.com: could not connect to host
 cabusar.fr: could not connect to host
 caconnect.org: could not connect to host
 cadao.me: did not receive HSTS header
 caesreon.com: could not connect to host
 cafe-murr.de: could not connect to host
 cafe-scientifique.org.ec: could not connect to host
 caim.cz: did not receive HSTS header
 cainhosting.com: did not receive HSTS header
-caitcs.com: could not connect to host
 cajapopcorn.com: did not receive HSTS header
 cake.care: did not receive HSTS header
 calendarr.com: did not receive HSTS header
 calgaryconstructionjobs.com: did not receive HSTS header
 calix.com: max-age too low: 0
 calltrackingreports.com: could not connect to host
 calvin.me: max-age too low: 2592000
 calvinallen.net: did not receive HSTS header
 calyxinstitute.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 camolist.com: could not connect to host
 canadiangamblingchoice.com: did not receive HSTS header
 cancelmyprofile.com: did not receive HSTS header
 candicontrols.com: did not receive HSTS header
 candratech.com: could not connect to host
 candylion.rocks: could not connect to host
+canfly.org: did not receive HSTS header
 cannyfoxx.me: could not connect to host
 canyonshoa.com: did not receive HSTS header
 capecycles.co.za: did not receive HSTS header
+capellidipremoli.com: could not connect to host
 capeyorkfire.com.au: did not receive HSTS header
 captchatheprize.com: could not connect to host
 captivatedbytabrett.com: did not receive HSTS header
 capturethepen.co.uk: could not connect to host
 car-navi.ph: did not receive HSTS header
 carano-service.de: did not receive HSTS header
 caraudio69.cz: could not connect to host
 carck.co.uk: did not receive HSTS header
@@ -773,16 +770,17 @@ certmgr.org: could not connect to host
 cesal.net: could not connect to host
 cesidianroot.eu: could not connect to host
 cevrimici.com: could not connect to host
 cfcproperties.com: did not receive HSTS header
 cfetengineering.com: could not connect to host
 cfoitplaybook.com: could not connect to host
 cg.search.yahoo.com: did not receive HSTS header
 cganx.org: could not connect to host
+chahub.com: could not connect to host
 chainmonitor.com: could not connect to host
 chalkfestival.org: could not connect to host
 championsofregnum.com: did not receive HSTS header
 champserver.net: did not receive HSTS header
 chandlerredding.com: did not receive HSTS header
 changelab.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 changetip.com: did not receive HSTS header
 chaos.fail: did not receive HSTS header
@@ -801,26 +799,27 @@ cheapdns.org: could not connect to host
 chebedara.com: could not connect to host
 checkout.google.com: did not receive HSTS header (error ignored - included regardless)
 cheerflow.com: could not connect to host
 cheesetart.my: could not connect to host
 cheetah85.de: could not connect to host
 chejianer.cn: did not receive HSTS header
 chensir.net: could not connect to host
 cherysunzhang.com: max-age too low: 7776000
-chiaraiuola.com: did not receive HSTS header
 chicolawfirm.com: did not receive HSTS header
 chihiro.xyz: could not connect to host
 chijiokeindustries.co.uk: could not connect to host
 childcaresolutionscny.org: did not receive HSTS header
 chinacdn.org: could not connect to host
 chinawhale.com: did not receive HSTS header
 chirgui.eu: could not connect to host
 chm.vn: did not receive HSTS header
 chontalpa.pw: could not connect to host
+chorkley.co.uk: could not connect to host
+chorkley.uk: could not connect to host
 chotu.net: could not connect to host
 chris-web.info: could not connect to host
 chrisandsarahinasia.com: did not receive HSTS header
 chrisfaber.com: could not connect to host
 chriskyrouac.com: could not connect to host
 christiaandruif.nl: could not connect to host
 christianbargon.de: did not receive HSTS header
 christianbro.gq: could not connect to host
@@ -864,38 +863,41 @@ clintonbloodworth.io: could not connect 
 clintwilson.technology: max-age too low: 2592000
 cloud.wtf: could not connect to host
 cloudapi.vc: could not connect to host
 cloudcert.org: did not receive HSTS header
 cloudcy.net: could not connect to host
 clouddesktop.co.nz: could not connect to host
 cloudey.net: did not receive HSTS header
 cloudflare.com: did not receive HSTS header
+cloudily.com: could not connect to host
 cloudimag.es: could not connect to host
 cloudlink.club: could not connect to host
 cloudns.com.au: could not connect to host
 cloudspotterapp.com: did not receive HSTS header
 cloudstoragemaus.com: could not connect to host
 cloudstorm.me: could not connect to host
 cloudwalk.io: did not receive HSTS header
 cloverleaf.net: max-age too low: 0
+clsimplex.com: could not connect to host
 clubmate.rocks: could not connect to host
 cluster.id: could not connect to host
 clvrwebdesign.com: did not receive HSTS header
 clycat.ru: could not connect to host
 clywedogmaths.co.uk: could not connect to host
 cmacacias.ch: did not receive HSTS header
 cmc-versand.de: did not receive HSTS header
 cmci.dk: did not receive HSTS header
 cmlachapelle.ch: did not receive HSTS header
 cmlancy.ch: did not receive HSTS header
 cmlignon.ch: did not receive HSTS header
 cmplainpalais.ch: did not receive HSTS header
 cmsbattle.com: could not connect to host
 cmscafe.ru: did not receive HSTS header
+cmso-cal.com: could not connect to host
 cn.search.yahoo.com: did not receive HSTS header
 cni-certing.it: max-age too low: 0
 co50.com: did not receive HSTS header
 cobrasystems.nl: max-age too low: 0
 cocaine-import.agency: could not connect to host
 cocktailfuture.fr: could not connect to host
 codabix.com: did not receive HSTS header
 codabix.de: could not connect to host
@@ -904,28 +906,28 @@ code.google.com: did not receive HSTS he
 codealkemy.co: did not receive HSTS header
 codeco.pw: could not connect to host
 codecontrollers.de: could not connect to host
 codeforce.io: could not connect to host
 codelayer.ca: could not connect to host
 codelitmus.com: did not receive HSTS header
 codemonkeyrawks.net: could not connect to host
 codepoet.de: could not connect to host
+codepult.com: could not connect to host
 codepx.com: did not receive HSTS header
 codewild.de: could not connect to host
 codewiththepros.org: could not connect to host
 codiva.io: max-age too low: 2592000
 coffeeetc.co.uk: did not receive HSTS header
 coffeestrategies.com: max-age too low: 2592000
 coi-verify.com: could not connect to host
 coiffeurschnittstelle.ch: did not receive HSTS header
 coindam.com: could not connect to host
 coldlostsick.net: could not connect to host
 colinwolff.com: could not connect to host
-collectfood.com: could not connect to host
 collies.eu: did not receive HSTS header
 collins.kg: did not receive HSTS header
 collins.press: did not receive HSTS header
 colmexpro.com: did not receive HSTS header
 colognegaming.net: could not connect to host
 coloradocomputernetworking.net: could not connect to host
 combron.nl: did not receive HSTS header
 comfortdom.ua: did not receive HSTS header
@@ -985,19 +987,21 @@ craftedge.xyz: could not connect to host
 craftmine.cz: did not receive HSTS header
 cranems.com.ua: did not receive HSTS header
 crate.io: did not receive HSTS header
 cravelyrics.com: could not connect to host
 crazifyngers.com: could not connect to host
 crazy-crawler.de: did not receive HSTS header
 crazycen.com: did not receive HSTS header
 crazyhotseeds.com: did not receive HSTS header
+creativecommonscatpictures.com: could not connect to host
 creativephysics.ml: could not connect to host
 creativeplayuk.com: did not receive HSTS header
 crendontech.com: could not connect to host
+crestasantos.com: could not connect to host
 crestoncottage.com: could not connect to host
 criticalaim.com: could not connect to host
 crizk.com: could not connect to host
 crosssec.com: did not receive HSTS header
 crowd.supply: could not connect to host
 crowdcurity.com: did not receive HSTS header
 crowdjuris.com: could not connect to host
 crtvmgmt.com: could not connect to host
@@ -1025,58 +1029,57 @@ csohack.tk: could not connect to host
 cspbuilder.info: could not connect to host
 csvape.com: did not receive HSTS header
 ct-status.org: could not connect to host
 ct.search.yahoo.com: did not receive HSTS header
 cthulhuden.com: could not connect to host
 ctoforhire.com.au: could not connect to host
 cubeserver.eu: could not connect to host
 cubewano.com: could not connect to host
+cuibonobo.com: could not connect to host
 cujanovic.com: did not receive HSTS header
 cumshots-video.ru: could not connect to host
 cunha.be: could not connect to host
 cuntflaps.me: did not receive HSTS header
 cuongquach.com: did not receive HSTS header
 cupidmentor.com: did not receive HSTS header
-curlyroots.com: did not receive HSTS header
+curlyroots.com: could not connect to host
 curroapp.com: could not connect to host
 curveweb.co.uk: did not receive HSTS header
 custe.rs: could not connect to host
 cutorrent.com: could not connect to host
 cuvva.insure: did not receive HSTS header
 cyanogenmod.xxx: could not connect to host
 cyberpunk.ca: could not connect to host
-cybersecurity.nz: did not receive HSTS header
 cybershambles.com: could not connect to host
 cybersins.com: did not receive HSTS header
 cybersmart.co.uk: did not receive HSTS header
 cycleluxembourg.lu: did not receive HSTS header
 cydia-search.io: could not connect to host
 cymtech.net: could not connect to host
 cyphertite.com: could not connect to host
 dad256.tk: could not connect to host
 dadtheimpaler.com: could not connect to host
 dah5.com: did not receive HSTS header
 dailystormerpodcasts.com: did not receive HSTS header
 daimadi.com: could not connect to host
-dairyshrine.org: could not connect to host
 dakrib.net: could not connect to host
 daku.gdn: did not receive HSTS header
 dalfiume.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 dalingk.co: could not connect to host
 damedrogy.cz: could not connect to host
 damianuv-blog.cz: did not receive HSTS header
-danbarrett.com.au: could not connect to host
 daniel-steuer.de: could not connect to host
 danielcowie.me: could not connect to host
 danieldk.eu: did not receive HSTS header
 danieliancu.com: could not connect to host
 danielvoogsgerd.nl: could not connect to host
 danielworthy.com: did not receive HSTS header
 danijobs.com: could not connect to host
+dannyrohde.de: could not connect to host
 danrl.de: could not connect to host
 daolerp.xyz: could not connect to host
 dargasia.is: could not connect to host
 dario.im: could not connect to host
 dark-x.cf: could not connect to host
 darkengine.io: could not connect to host
 darkhole.cn: could not connect to host
 darkkeepers.dk: did not receive HSTS header
@@ -1107,31 +1110,32 @@ davidnoren.com: did not receive HSTS hea
 davidreinhardt.de: could not connect to host
 daylightcompany.com: did not receive HSTS header
 daytonaseaside.com: did not receive HSTS header
 db.gy: could not connect to host
 dbx.ovh: could not connect to host
 dccode.gov: could not connect to host
 dcuofriends.net: could not connect to host
 dcurt.is: did not receive HSTS header
-ddatsh.com: did not receive HSTS header
+ddatsh.com: could not connect to host
 dden.ca: could not connect to host
 dden.website: could not connect to host
 dden.xyz: could not connect to host
 debank.tv: did not receive HSTS header
 debatch.se: could not connect to host
 debian-vhost.de: did not receive HSTS header
 debiton.dk: could not connect to host
 debtkit.co.uk: did not receive HSTS header
 decafu.co: could not connect to host
 decesus.com: could not connect to host
 decibelios.li: could not connect to host
 deco.me: could not connect to host
 decomplify.com: could not connect to host
 dedicatutiempo.es: could not connect to host
+dee.pe: could not connect to host
 deepcovelabs.net: could not connect to host
 deepearth.uk: did not receive HSTS header
 deetzen.de: did not receive HSTS header
 defiler.tk: could not connect to host
 degroetenvanrosaline.nl: did not receive HSTS header
 deight.co: could not connect to host
 dekasan.ru: could not connect to host
 delayrefunds.co.uk: could not connect to host
@@ -1174,17 +1178,17 @@ devopps.me: did not receive HSTS header
 devtub.com: did not receive HSTS header
 devuan.org: did not receive HSTS header
 dewin.io: did not receive HSTS header
 dhome.at: did not receive HSTS header
 dhpcs.com: did not receive HSTS header
 dhpiggott.net: did not receive HSTS header
 diablotine.rocks: could not connect to host
 diagnostix.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
-diarbag.us: could not connect to host
+diarbag.us: did not receive HSTS header
 diasp.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 die-partei-reutlingen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 diedrich.co: did not receive HSTS header
 dierenkruiden.nl: could not connect to host
 diezel.com: could not connect to host
 digidroom.be: did not receive HSTS header
 digioccumss.ddns.net: could not connect to host
 digitalbank.kz: could not connect to host
@@ -1246,25 +1250,25 @@ doomleika.com: could not connect to host
 dopost.it: could not connect to host
 doridian.com: could not connect to host
 doridian.de: could not connect to host
 doridian.net: did not receive HSTS header
 doridian.org: could not connect to host
 dossplumbing.co.za: did not receive HSTS header
 dotacni-parazit.cz: did not receive HSTS header
 dotadata.me: could not connect to host
-doubleavineyards.com: could not connect to host
 dovecotadmin.org: could not connect to host
 dovetailnow.com: could not connect to host
 download.jitsi.org: did not receive HSTS header
 downsouthweddings.com.au: did not receive HSTS header
 doyoucheck.com: did not receive HSTS header
 dpratt.de: did not receive HSTS header
 dragonisles.net: could not connect to host
 dragons-of-highlands.cz: could not connect to host
+dragonschool.org: did not receive HSTS header
 dragontrainingmobilezoo.com.au: max-age too low: 0
 drakefortreasurer.sexy: could not connect to host
 draw.uy: could not connect to host
 drdevil.ru: could not connect to host
 dreadbyte.com: could not connect to host
 dreid.org: did not receive HSTS header
 dreizwosechs.de: could not connect to host
 drhopeson.com: could not connect to host
@@ -1276,21 +1280,19 @@ dropcam.com: did not receive HSTS header
 drtroyhendrickson.com: could not connect to host
 drumbandesperanto.nl: could not connect to host
 ds-christiansen.de: did not receive HSTS header
 dshiv.io: could not connect to host
 dubrovskiy.net: could not connect to host
 dubrovskiy.pro: could not connect to host
 duesee.org: could not connect to host
 dullsir.com: did not receive HSTS header
-dutchessuganda.com: did not receive HSTS header
 dutchrank.com: could not connect to host
 duuu.ch: could not connect to host
 dwhd.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
-dworzak.ch: could not connect to host
 dycontrol.de: could not connect to host
 dylanscott.com.au: did not receive HSTS header
 dymersion.com: did not receive HSTS header
 dynamic-innovations.net: could not connect to host
 dzimejl.sk: did not receive HSTS header
 dzlibs.io: could not connect to host
 dzndk.org: could not connect to host
 e-aut.net: did not receive HSTS header
@@ -1318,21 +1320,20 @@ echosystem.fr: did not receive HSTS head
 ecogen.net.au: could not connect to host
 ecole-en-danger.fr: could not connect to host
 ecole-maternelle-saint-joseph.be: could not connect to host
 ecomparemo.com: did not receive HSTS header
 ecorus.eu: did not receive HSTS header
 edakoe.ru: could not connect to host
 edcphenix.tk: could not connect to host
 edelsteincosmetic.com: did not receive HSTS header
-edfa3ly.com: could not connect to host
 ediscomp.sk: did not receive HSTS header
 edissecurity.sk: did not receive HSTS header
 edix.ru: could not connect to host
-edk.com.tr: did not receive HSTS header
+edk.com.tr: could not connect to host
 edmodo.com: did not receive HSTS header
 edp-collaborative.com: max-age too low: 2500
 eduvance.in: did not receive HSTS header
 effectiveosgi.com: could not connect to host
 efficienthealth.com: did not receive HSTS header
 effortlesshr.com: did not receive HSTS header
 egg-ortho.ch: did not receive HSTS header
 egit.co: could not connect to host
@@ -1441,17 +1442,16 @@ etdonline.co.uk: could not connect to ho
 eternitylove.us: could not connect to host
 eth9.net: max-age too low: 0
 ethicalexploiting.com: could not connect to host
 etsysecure.com: could not connect to host
 etula.ga: could not connect to host
 etula.me: 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
 eulerpi.io: could not connect to host
 eupho.me: could not connect to host
 euroshop24.net: could not connect to host
 evafojtova.cz: did not receive HSTS header
 evantage.org: could not connect to host
 evdenevenakliyatankara.pw: did not receive HSTS header
 everybooks.com: max-age too low: 60
 everylab.org: could not connect to host
@@ -1468,17 +1468,17 @@ exgravitus.com: could not connect to hos
 exitus.jp: max-age too low: 0
 exno.co: could not connect to host
 exon.io: did not receive HSTS header
 exousiakaidunamis.xyz: did not receive HSTS header
 expertmile.com: did not receive HSTS header
 expoundite.net: did not receive HSTS header
 expressfinance.co.za: did not receive HSTS header
 extreemhost.nl: did not receive HSTS header
-extremenetworking.net: did not receive HSTS header
+extremenetworking.net: could not connect to host
 exy.pw: could not connect to host
 eyedarts.com: did not receive HSTS header
 eyeglassuniverse.com: did not receive HSTS header
 ez.fi: could not connect to host
 ezimoeko.net: could not connect to host
 ezmod.org: could not connect to host
 eztv.ch: did not receive HSTS header
 f-s-u.co.uk: could not connect to host
@@ -1515,16 +1515,17 @@ fatgeekflix.net: could not connect to ho
 fatherhood.gov: did not receive HSTS header
 fatlossguide.xyz: could not connect to host
 fatwin.pw: could not connect to host
 fayolle.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 fbox.li: could not connect to host
 fdj.im: could not connect to host
 feard.space: could not connect to host
 feastr.de: did not receive HSTS header
+fedrtc.org: could not connect to host
 fedux.com.ar: could not connect to host
 feezmodo.com: max-age too low: 0
 felisslovakia.sk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 feliwyn.fr: did not receive HSTS header
 feminists.co: could not connect to host
 fenno.net: could not connect to host
 fenteo.com: could not connect to host
 feragon.net: did not receive HSTS header
@@ -1560,16 +1561,17 @@ fish2.me: did not receive HSTS header
 fit4medien.de: did not receive HSTS header
 fitbylo.com: did not receive HSTS header
 fitiapp.com: could not connect to host
 fitnesswerk.de: could not connect to host
 five.vn: did not receive HSTS header
 fivestarsitters.com: did not receive HSTS header
 fivezerocreative.com: did not receive HSTS header
 fixatom.com: did not receive HSTS header
+fixel.express: could not connect to host
 fixingdns.com: did not receive HSTS header
 fj.search.yahoo.com: did not receive HSTS header
 fjruiz.es: did not receive HSTS header
 flags.ninja: could not connect to host
 flamewall.net: could not connect to host
 flareon.net: could not connect to host
 flawcheck.com: did not receive HSTS header
 fleurette.me: max-age too low: 0
@@ -1582,16 +1584,17 @@ floridaescapes.co.uk: did not receive HS
 flouartistique.ch: could not connect to host
 flow.pe: could not connect to host
 flow.su: could not connect to host
 flowersandclouds.com: could not connect to host
 flowlo.me: could not connect to host
 flukethoughts.com: could not connect to host
 flushstudios.com: did not receive HSTS header
 flyaces.com: did not receive HSTS header
+flyss.net: could not connect to host
 fm83.nl: could not connect to host
 fndout.com: did not receive HSTS header
 fnvsecurity.com: could not connect to host
 fojtova.cz: did not receive HSTS header
 fojtovi.cz: did not receive HSTS header
 fonetiq.io: could not connect to host
 food4health.guide: could not connect to host
 foodievenues.com: could not connect to host
@@ -1617,24 +1620,25 @@ foxdev.io: did not receive HSTS header
 foxelbox.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 foxley-farm.co.uk: did not receive HSTS header
 foxley-seeds.co.uk: did not receive HSTS header
 foxleyseeds.co.uk: could not connect to host
 foxtrot.pw: could not connect to host
 fr33d0m.link: could not connect to host
 francevpn.xyz: could not connect to host
 frangor.info: did not receive HSTS header
-frank.fyi: could not connect to host
 frankwei.xyz: did not receive HSTS header
+fransallen.com: did not receive HSTS header
 franta.biz: did not receive HSTS header
 franta.email: did not receive HSTS header
 franzt.de: could not connect to host
 frasys.io: did not receive HSTS header
 fredvoyage.fr: did not receive HSTS header
 freeflow.tv: could not connect to host
+freeform4u.de: could not connect to host
 freematthale.net: did not receive HSTS header
 freemedforms.com: did not receive HSTS header
 freesoftwaredriver.com: did not receive HSTS header
 freesounding.com: could not connect to host
 freesounding.ru: could not connect to host
 freethought.org.au: could not connect to host
 freeutopia.org: did not receive HSTS header
 frenzel.dk: could not connect to host
@@ -1675,16 +1679,17 @@ fysiohaenraets.nl: did not receive HSTS 
 fzn.io: could not connect to host
 fzslm.me: did not receive HSTS header
 g01.in.ua: could not connect to host
 g2a.co: did not receive HSTS header
 g2g.com: did not receive HSTS header
 g4w.co: did not receive HSTS header (error ignored - included regardless)
 g5led.nl: could not connect to host
 gabber.scot: could not connect to host
+gabi.com.es: could not connect to host
 gaelleetarnaud.com: did not receive HSTS header
 gafachi.com: could not connect to host
 gaiserik.com: could not connect to host
 gakkainavi.jp: did not receive HSTS header
 gakkainavi4.com: could not connect to host
 gakkainavi4.net: did not receive HSTS header
 galardi.org: could not connect to host
 galenskap.eu: could not connect to host
@@ -1702,16 +1707,17 @@ gamenected.de: could not connect to host
 gameofpwnz.com: did not receive HSTS header
 gamepader.com: could not connect to host
 gameparade.de: could not connect to host
 gamepiece.com: could not connect to host
 gamerslair.org: did not receive HSTS header
 gamesdepartment.co.uk: did not receive HSTS header
 gameserver-sponsor.de: could not connect to host
 gamingmedia.eu: did not receive HSTS header
+gamishou.fr: could not connect to host
 gampenhof.de: did not receive HSTS header
 gaptek.id: did not receive HSTS header
 garciamartin.me: could not connect to host
 gatapro.net: could not connect to host
 gatilagata.com.br: did not receive HSTS header
 gatorsa.es: could not connect to host
 gdpventure.com: max-age too low: 0
 gedankenbude.info: could not connect to host
@@ -1753,17 +1759,16 @@ getmassage.com.ng: could not connect to 
 getremembrall.com: could not connect to host
 getsello.com: could not connect to host
 gfm.tech: could not connect to host
 gfwsb.ml: could not connect to host
 ggss.ml: could not connect to host
 gh16.com.ar: could not connect to host
 gheorghesarcov.ga: could not connect to host
 gheorghesarcov.tk: could not connect to host
-ghostblog.info: could not connect to host
 gietvloergarant.nl: did not receive HSTS header
 gigacloud.org: max-age too low: 0
 gilgaz.com: did not receive HSTS header
 gilly.berlin: did not receive HSTS header
 gingali.de: did not receive HSTS header
 gintenreiter-photography.com: did not receive HSTS header
 giogadesign.com: did not receive HSTS header
 gipsamsfashion.com: could not connect to host
@@ -1863,25 +1868,28 @@ gsm-map.com: could not connect to host
 gsnort.com: did not receive HSTS header
 gtamodshop.org: could not connect to host
 gtanda.tk: could not connect to host
 gtldna.com: could not connect to host
 gtlfsonlinepay.com: did not receive HSTS header
 gtraxapp.com: could not connect to host
 gts-schulsoftware.de: did not receive HSTS header
 guava.studio: did not receive HSTS header
+guge.gq: could not connect to host
 gugga.dk: did not receive HSTS header
 guilde-vindicta.fr: did not receive HSTS header
 gulenet.com: could not connect to host
 gunnarhafdal.com: did not receive HSTS header
 guoqiang.info: could not connect to host
 gurom.lv: could not connect to host
 gurusupe.com: could not connect to host
 guso.gq: could not connect to host
 guso.ml: could not connect to host
+guso.site: could not connect to host
+guso.tech: could not connect to host
 gussi.is: did not receive HSTS header
 gvt2.com: could not connect to host (error ignored - included regardless)
 gvt3.com: could not connect to host (error ignored - included regardless)
 gw2reload.eu: could not connect to host
 gwijaya.com: could not connect to host
 gwtest.us: could not connect to host
 gxlrx.net: could not connect to host
 gyboche.com: could not connect to host
@@ -1991,16 +1999,17 @@ hilnu.tk: could not connect to host
 hipercultura.com: did not receive HSTS header
 hiphopconvention.nl: could not connect to host
 hirake55.com: could not connect to host
 hitoy.org: did not receive HSTS header
 hittipps.com: did not receive HSTS header
 hlyue.com: did not receive HSTS header
 hmm.nyc: could not connect to host
 hn.search.yahoo.com: did not receive HSTS header
+hobbyspeed.com: could not connect to host
 hodne.io: could not connect to host
 hoerbuecher-und-hoerspiele.de: could not connect to host
 hofiprojekt.cz: did not receive HSTS header
 hogar123.es: could not connect to host
 holifestival-freyung.de: could not connect to host
 holymoly.lu: could not connect to host
 homa.website: could not connect to host
 honeytracks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -2022,16 +2031,17 @@ hostinaus.com.au: could not connect to h
 hostisan.com: did not receive HSTS header
 hotartup.com: could not connect to host
 hotchillibox.com: max-age too low: 0
 hotchoc.io: did not receive HSTS header
 houkago-step.com: did not receive HSTS header
 housemaadiah.org: did not receive HSTS header
 housingstudents.org.uk: could not connect to host
 howrandom.org: could not connect to host
+howsecureismypassword.net: could not connect to host
 howtocuremysciatica.com: could not connect to host
 hr-intranet.com: did not receive HSTS header
 hsandbox.tech: max-age too low: 2592000
 hsir.me: could not connect to host
 hsts.com.br: could not connect to host
 hsts.date: could not connect to host
 http418.xyz: could not connect to host
 httpstatuscode418.xyz: could not connect to host
@@ -2092,16 +2102,17 @@ idontexist.me: did not receive HSTS head
 ie.search.yahoo.com: did not receive HSTS header
 ies-italia.it: did not receive HSTS header
 ies.id.lv: could not connect to host
 ifad.org: did not receive HSTS header
 ifleurs.com: could not connect to host
 ifx.ee: could not connect to host
 ignatisd.gr: did not receive HSTS header
 igule.net: could not connect to host
+ihopeit.works: could not connect to host
 ihrlotto.de: could not connect to host
 ihrnationalrat.ch: could not connect to host
 ihsbsd.me: could not connect to host
 ihsbsd.tk: could not connect to host
 ihuanmeng.com: did not receive HSTS header
 iispeed.com: did not receive HSTS header
 ikujii.com: max-age too low: 0
 ikwilguidobellen.nl: did not receive HSTS header
@@ -2220,16 +2231,17 @@ itechgeek.com: max-age too low: 0
 ithakama.com: did not receive HSTS header
 ithakama.cz: did not receive HSTS header
 itos.asia: did not receive HSTS header
 itos.pl: did not receive HSTS header
 itriskltd.com: could not connect to host
 itsadog.co.uk: did not receive HSTS header
 itsagadget.com: did not receive HSTS header
 itsamurai.ru: max-age too low: 2592000
+itsatrap.nl: could not connect to host
 itsecurityassurance.pw: could not connect to host
 itsg-faq.de: could not connect to host
 itshost.ru: could not connect to host
 ivancacic.com: did not receive HSTS header
 ivi-fertility.com: max-age too low: 0
 ivi.es: max-age too low: 0
 ivk.website: could not connect to host
 ivo.co.za: could not connect to host
@@ -2254,38 +2266,36 @@ jamesbywater.me: could not connect to ho
 jamesbywater.me.uk: could not connect to host
 jamesconroyfinn.com: did not receive HSTS header
 jamesdoell.com: could not connect to host
 jamesdoylephoto.com: did not receive HSTS header
 jamesf.xyz: could not connect to host
 jamesheald.com: did not receive HSTS header
 jamesmaurer.com: did not receive HSTS header
 jamesmorrison.me: did not receive HSTS header
-jamessan.com: did not receive HSTS header
 jamourtney.com: could not connect to host
 jan-roenspies.de: could not connect to host
 jan27.org: did not receive HSTS header
 janario.me: could not connect to host
 janbrodda.de: max-age too low: 2592000
 jannyrijneveld.nl: did not receive HSTS header
 janus-engineering.de: did not receive HSTS header
 japlex.com: could not connect to host
 jaqen.ch: could not connect to host
 jardins-utopie.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
-jaredfernandez.com: could not connect to host
 jaroslavtrsek.cz: did not receive HSTS header
 jarsater.com: could not connect to host
 jartza.org: could not connect to host
 jasmineconseil.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 :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 jasonroe.me: did not receive HSTS header
 jasonsansone.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 jastoria.pl: could not connect to host
 jayblock.com: did not receive HSTS header
-jayharris.ca: max-age too low: 0
+jayharris.ca: max-age too low: 86400
 jaylen.com.ar: did not receive HSTS header
 jayschulman.com: could not connect to host
 jayscoaching.com: did not receive HSTS header
 jayshao.com: did not receive HSTS header
 jazzinutrecht.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 jazzncheese.com: could not connect to host
 jbn.mx: could not connect to host
 jcch.de: could not connect to host
@@ -2301,39 +2311,38 @@ jesorsenville.com: did not receive HSTS 
 jessicabenedictus.nl: could not connect to host
 jesuisformidable.nl: could not connect to host
 jetaprices.com: max-age too low: 0
 jetsetcharge.com: could not connect to host
 jetsetpay.com: could not connect to host
 jettshome.org: could not connect to host
 jeugdkans.nl: did not receive HSTS header
 jfmel.com: did not receive HSTS header
+jfreitag.de: could not connect to host
 jfx.space: did not receive HSTS header
 jh-media.eu: could not connect to host
 jhburton.uk: could not connect to host
 jhejderup.me: could not connect to host
 jia1hao.com: could not connect to host
 jiaidu.com: could not connect to host
 jichi.io: could not connect to host
 jikken.de: could not connect to host
 jimas.eu: did not receive HSTS header
 jimgao.tk: did not receive HSTS header
 jimmycai.org: could not connect to host
 jingyuesi.com: could not connect to host
 jirav.io: could not connect to host
 jkb.pics: could not connect to host
 jkbuster.com: could not connect to host
-jmdekker.it: could not connect to host
 joakimalgroy.com: could not connect to host
 jobmedic.com: did not receive HSTS header
 jobss.co.uk: did not receive HSTS header
 joedavison.me: could not connect to host
 johannes-sprink.de: could not connect to host
 johners.me: could not connect to host
-johnmh.me: could not connect to host
 johnrom.com: did not receive HSTS header
 jollausers.de: could not connect to host
 jonas-keidel.de: did not receive HSTS header
 jonasgroth.se: did not receive HSTS header
 jonathan.ir: could not connect to host
 jondarby.com: did not receive HSTS header
 jonn.me: could not connect to host
 joostbovee.nl: did not receive HSTS header
@@ -2405,16 +2414,17 @@ keeley.ml: could not connect to host
 keeleysam.me: could not connect to host
 keepclean.me: could not connect to host
 kellyandantony.com: could not connect to host
 kerangalam.com: could not connect to host
 kerksanders.nl: did not receive HSTS header
 kermadec.net: could not connect to host
 kernl.us: did not receive HSTS header
 kevinbowers.me: did not receive HSTS header
+kevinmeijer.nl: could not connect to host
 keymaster.lookout.com: did not receive HSTS header
 kg-rating.com: could not connect to host
 kgxtech.com: max-age too low: 2592000
 ki-on.net: did not receive HSTS header
 kickass.al: could not connect to host
 kid-dachau.de: did not receive HSTS header
 kiel-media.de: did not receive HSTS header
 kienlen.org: could not connect to host
@@ -2438,16 +2448,17 @@ kisun.co.jp: could not connect to host
 kitakemon.com: could not connect to host
 kitchenpunx.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 kitk.at: could not connect to host
 kitsostech.com: could not connect to host
 kitsta.com: could not connect to host
 kiwiirc.com: max-age too low: 5256000
 kizil.net: could not connect to host
 kjaermaxi.me: did not receive HSTS header
+kkyy.me: could not connect to host
 klauwd.com: did not receive HSTS header
 klaxn.org: could not connect to host
 kleertjesvoordelig.nl: did not receive HSTS header
 kleinblogje.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 kletterkater.com: did not receive HSTS header
 klicktojob.de: could not connect to host
 kmartin.io: did not receive HSTS header
 knccloud.com: could not connect to host
@@ -2502,16 +2513,17 @@ kurtmclester.com: did not receive HSTS h
 kusaka-abacus.jp: max-age too low: 0
 kweddingplanning.com: did not receive HSTS header
 kwok.tv: could not connect to host
 kwondratsch.com: could not connect to host
 kyanite.co: could not connect to host
 kylapps.com: did not receive HSTS header
 kylinj.com: could not connect to host
 kyochon.fr: could not connect to host
+kyy.me: could not connect to host
 kz.search.yahoo.com: did not receive HSTS header
 kzjnet.com: could not connect to host
 l2guru.ru: could not connect to host
 labaia.info: could not connect to host
 labina.com.tr: did not receive HSTS header
 laboiteapc.fr: did not receive HSTS header
 labordata.io: did not receive HSTS header
 laborie.io: could not connect to host
@@ -2538,17 +2550,16 @@ laserfuchs.de: did not receive HSTS head
 lashstuff.com: did not receive HSTS header
 latinred.com: could not connect to host
 latour-managedcare.ch: did not receive HSTS header
 latus.xyz: could not connect to host
 lausitzer-widerstand.de: did not receive HSTS header
 lavine.ch: did not receive HSTS header
 lavito.cz: did not receive HSTS header
 lavval.com: could not connect to host
-lawformt.com: did not receive HSTS header
 laxatus.com: could not connect to host
 laxiongames.es: could not connect to host
 lbrt.xyz: could not connect to host
 ldarby.me.uk: could not connect to host
 leadership9.com: could not connect to host
 leardev.de: did not receive HSTS header
 learnfrenchfluently.com: did not receive HSTS header
 learningorder.com: could not connect to host
@@ -2565,24 +2576,26 @@ leiyun.me: did not receive HSTS header
 lellyboi.ml: could not connect to host
 lelongbank.com: did not receive HSTS header
 lemondrops.xyz: could not connect to host
 lemp.io: did not receive HSTS header
 lenovogaming.com: did not receive HSTS header
 lentri.com: did not receive HSTS header
 leob.in: did not receive HSTS header
 leon-jaekel.com: could not connect to host
+leonhooijer.nl: could not connect to host
 leopold.email: could not connect to host
 leopotamgroup.com: could not connect to host
 leovanna.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 lepont.pl: could not connect to host
 lerner.moscow: did not receive HSTS header
 les-corsaires.net: could not connect to host
 lesdouceursdeliyana.com: could not connect to host
 lesperlesdunet.fr: could not connect to host
+letitfly.me: could not connect to host
 letras.mus.br: did not receive HSTS header
 letsmultiplayerplay.com: did not receive HSTS header
 letustravel.tk: could not connect to host
 levelum.com: did not receive HSTS header
 lfullerdesign.com: did not receive HSTS header
 lg21.co: could not connect to host
 lgiswa.com.au: did not receive HSTS header
 lgrs.com.au: did not receive HSTS header
@@ -2627,64 +2640,65 @@ limpido.it: could not connect to host
 lincolncollege.edu: did not receive HSTS header
 lincolnwayflorist.com: could not connect to host
 lindberg.io: did not receive HSTS header
 lingros-test.tk: could not connect to host
 linguaquote.com: did not receive HSTS header
 link2serve.com: did not receive HSTS header
 linmi.cc: did not receive HSTS header
 linorman1997.me: could not connect to host
-lintmx.com: could not connect to host
 linuxeyecandy.com: could not connect to host
 linuxfixed.it: could not connect to host
 linuxforyou.com: could not connect to host
 linuxgeek.ro: could not connect to host
 linuxmonitoring.net: did not receive HSTS header
 liquorsanthe.in: could not connect to host
 listafirmelor.com: could not connect to host
 litespeed.io: could not connect to host
 livedemo.io: could not connect to host
 livej.am: could not connect to host
 livi.co: did not receive HSTS header
 loadingdeck.com: did not receive HSTS header
 loadso.me: could not connect to host
 loafbox.com: could not connect to host
+loansonline.today: could not connect to host
 localchum.com: could not connect to host
 locktheirphone.com: could not connect to host
 locomotive.ca: did not receive HSTS header
 login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
 loginseite.com: could not connect to host
 lolicore.ch: could not connect to host
 lolidunno.com: could not connect to host
 londonlanguageexchange.com: could not connect to host
 lonerwolf.com: did not receive HSTS header
 look-at-my.site: could not connect to host
 lookout.com: did not receive HSTS header
 lookzook.com: did not receive HSTS header
+lostg.com: could not connect to host
 lostinsecurity.com: could not connect to host
 lostinweb.eu: could not connect to host
 lothai.re: did not receive HSTS header
 lotsencafe.de: did not receive HSTS header
-louiewatch.com: could not connect to host
 loveable.de: could not connect to host
 lovelifelovelive.com: could not connect to host
 lovelive.us: did not receive HSTS header
 lovelyblogacademy.com: did not receive HSTS header
 lovelycorral.com: did not receive HSTS header
 loveto.at: could not connect to host
 lowhangingfruitgrabber.com: could not connect to host
 lpak.nl: could not connect to host
 lrhsclubs.com: could not connect to host
 lrhstsa.com: could not connect to host
 ls-a.org: did not receive HSTS header
 lsky.cn: did not receive HSTS header
 lsp-sports.de: did not receive HSTS header
 lt.search.yahoo.com: did not receive HSTS header
 ltbytes.com: could not connect to host
 lu.search.yahoo.com: did not receive HSTS header
+lubot.net: could not connect to host
 lucaterzini.com: could not connect to host
 ludwiggrill.de: did not receive HSTS header
 lufthansaexperts.com: max-age too low: 2592000
 luine.xyz: did not receive HSTS header
 luis-checa.com: could not connect to host
 luisv.me: could not connect to host
 lukonet.com: did not receive HSTS header
 lumd.me: could not connect to host
@@ -2763,16 +2777,17 @@ margaretrosefashions.co.uk: could not co
 mariannematthew.com: could not connect to host
 marie-curie.fr: could not connect to host
 marie-elisabeth.dk: did not receive HSTS header
 marie-en-provence.com: did not receive HSTS header
 markaconnor.com: could not connect to host
 markayapilandirma.com: could not connect to host
 market.android.com: did not receive HSTS header (error ignored - included regardless)
 markhaehnel.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
+markprof.ru: could not connect to host
 markrego.com: could not connect to host
 marktboten.de: did not receive HSTS header
 markus-dev.com: did not receive HSTS header
 markusweimar.de: did not receive HSTS header
 marleyresort.com: did not receive HSTS header
 marshut.net: could not connect to host
 martiert.com: could not connect to host
 martijnvhoof.nl: could not connect to host
@@ -2780,16 +2795,17 @@ martineve.com: did not receive HSTS head
 martinsfamilyappliance.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 marumagic.com: did not receive HSTS header
 masjidtawheed.net: did not receive HSTS header
 masterapi.ninja: did not receive HSTS header
 masteringtheterminal.com: did not receive HSTS header
 matatall.com: did not receive HSTS header
 matchneedle.com: could not connect to host
 maternalsafety.org: did not receive HSTS header
+matrict.com: could not connect to host
 matrip.de: could not connect to host
 matrix.ac: did not receive HSTS header
 matrixcheats.net: could not connect to host
 matsuz.com: could not connect to host
 mattberryman.com: did not receive HSTS header
 mattcoles.io: did not receive HSTS header
 mattfin.ch: could not connect to host
 matthewprenger.com: could not connect to host
@@ -2858,17 +2874,16 @@ meteorapp.space: could not connect to ho
 meteosky.net: could not connect to host
 metin2blog.de: did not receive HSTS header
 metis.pw: could not connect to host
 meuemail.pro: could not connect to host
 mexbt.com: could not connect to host
 mexicanbusinessweb.mx: did not receive HSTS header
 mexicansbook.ru: could not connect to host
 mfcatalin.com: could not connect to host
-mfedderke.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 :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 mh-bloemen.co.jp: could not connect to host
 mhdsyarif.com: did not receive HSTS header
 mhealthdemocamp.com: could not connect to host
 mhertel.com: did not receive HSTS header
 mhict.nl: max-age too low: 0
 mht-travel.com: could not connect to host
 mhx.pw: could not connect to host
@@ -2905,17 +2920,17 @@ miluriel.de: did not receive HSTS header
 mindcraft.ga: could not connect to host
 mindoktor.se: did not receive HSTS header
 minecraftserverz.com: could not connect to host
 minecraftvoter.com: could not connect to host
 mineover.es: could not connect to host
 minikneet.nl: did not receive HSTS header
 minnesotadata.com: could not connect to host
 minora.io: could not connect to host
-minoris.se: could not connect to host
+minoris.se: did not receive HSTS header
 miragrow.com: could not connect to host
 mirindadomo.ru: did not receive HSTS header
 mironized.com: did not receive HSTS header
 mirrorx.com: did not receive HSTS header
 missrain.tw: could not connect to host
 mister.hosting: could not connect to host
 misterl.net: did not receive HSTS header
 mitchellrenouf.ca: could not connect to host
@@ -2935,27 +2950,27 @@ mnwt.nl: could not connect to host
 moar.so: could not connect to host
 mobaircon.com: did not receive HSTS header
 mobifinans.ru: did not receive HSTS header
 mobilekey.co: could not connect to host
 mobilemedics.com: did not receive HSTS header
 mobilethreat.net: could not connect to host
 mobilethreatnetwork.net: could not connect to host
 mobilpass.no: could not connect to host
-mobix5.com: could not connect to host
 mocloud.eu: could not connect to host
 moddedark.com: could not connect to host
 model9.io: did not receive HSTS header
 modemagazines.co.uk: could not connect to host
 modernibytovytextil.cz: could not connect to host
 modydev.club: could not connect to host
 moebel-nagel.de: did not receive HSTS header
 moefi.xyz: did not receive HSTS header
 moelord.org: could not connect to host
 moen.io: did not receive HSTS header
+moeyi.xyz: did not receive HSTS header
 mogry.net: did not receive HSTS header
 moho.kr: could not connect to host
 mona.lu: did not receive HSTS header
 monarca.systems: could not connect to host
 monasterialis.eu: could not connect to host
 mondar.io: could not connect to host
 mondopoint.com: did not receive HSTS header
 moneromerchant.com: could not connect to host
@@ -3050,17 +3065,16 @@ mypagella.it: could not connect to host
 mypension.ca: could not connect to host
 myphonebox.de: could not connect to host
 mypillcard.com: could not connect to host
 mysecretrewards.com: did not receive HSTS header
 mystery-science-theater-3000.de: did not receive HSTS header
 mythslegendscollection.com: did not receive HSTS header
 myweb360.de: did not receive HSTS header
 myzone.com: did not receive HSTS header
-n-soft.info: could not connect to host
 n0psled.nl: could not connect to host
 n2x.in: could not connect to host
 n4l.pw: could not connect to host
 nabru.co.uk: did not receive HSTS header
 nabytko.cz: could not connect to host
 nadia.pt: could not connect to host
 nagios.by: could not connect to host
 nagoya-kyuyo.com: could not connect to host
@@ -3077,17 +3091,16 @@ nan.zone: could not connect to host
 naniki.co.uk: did not receive HSTS header
 nanogeneinc.com: could not connect to host
 nanto.eu: could not connect to host
 narada.com.ua: could not connect to host
 nashira.cz: did not receive HSTS header
 natalia-fadeeva.ru: could not connect to host
 natalia.io: could not connect to host
 natalt.org: did not receive HSTS header
-nathan.io: could not connect to host
 nathanmfarrugia.com: did not receive HSTS header
 natural-progesterone.net: did not receive HSTS header
 naturesystems.cz: max-age too low: 0
 natuurbehangnederland.nl: could not connect to host
 nav.jobs: could not connect to host
 naval.tf: could not connect to host
 navenlle.com: did not receive HSTS header
 navjobs.com: did not receive HSTS header
@@ -3097,22 +3110,21 @@ ncc60205.info: could not connect to host
 ncpc.gov: could not connect to host
 nct.org.uk: did not receive HSTS header
 nctx.co.uk: did not receive HSTS header
 near.st: did not receive HSTS header
 nedzad.me: could not connect to host
 neels.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 neftaly.com: did not receive HSTS header
 negai.moe: could not connect to host
-neilgreen.net: did not receive HSTS header
 neko-life.com: did not receive HSTS header
 neko-system.com: did not receive HSTS header
 nemno.de: could not connect to host
 nemovement.org: could not connect to host
-neofelhz.space: did not receive HSTS header
+neofelhz.space: could not connect to host
 neonisi.com: could not connect to host
 nepustil.net: did not receive HSTS header
 nestedquotes.ca: could not connect to host
 netba.net: could not connect to host
 netbox.cc: could not connect to host
 netherwind.eu: could not connect to host
 netloanusa.com: max-age too low: 0
 netmagik.com: did not receive HSTS header
@@ -3355,17 +3367,16 @@ ossan-kobe-gourmet.com: did not receive 
 ossbinaries.com: could not connect to host
 osteammate.com: did not receive HSTS header
 osticketawesome.com: did not receive HSTS header
 otakuworld.de: could not connect to host
 othercode.nl: 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 :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 otherstuff.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 otichi.com: did not receive HSTS header
-otpsmart.com.ua: did not receive HSTS header
 ottospora.nl: could not connect to host
 ourbank.com: did not receive HSTS header
 outdoorproducts.com: did not receive HSTS header
 outetc.com: could not connect to host
 outreachbuddy.com: could not connect to host
 outsider.im: could not connect to host
 outurnate.com: could not connect to host
 ouvirmusica.com.br: did not receive HSTS header
@@ -3419,26 +3430,26 @@ partou.de: did not receive HSTS header
 partyvan.it: could not connect to host
 partyvan.moe: could not connect to host
 partyvan.nl: could not connect to host
 partyvan.se: could not connect to host
 passwordbox.com: did not receive HSTS header
 passwordrevelator.net: did not receive HSTS header
 passwords.google.com: did not receive HSTS header (error ignored - included regardless)
 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
 pastenib.com: could not connect to host
 paster.li: did not receive HSTS header
 pataua.kiwi: did not receive HSTS header
 paternitydnatest.com: could not connect to host
 paterno-gaming.com: did not receive HSTS header
 patientinsight.net: could not connect to host
 patt.us: did not receive HSTS header
-patterson.mp: could not connect to host
 paulchen.at: could not connect to host
 paulyang.cn: did not receive HSTS header
 pavelfojt.cz: did not receive HSTS header
 paxwinkel.nl: did not receive HSTS header
 pay.gigahost.dk: did not receive HSTS header
 payfreez.com: could not connect to host
 payments.google.com: did not receive HSTS header (error ignored - included regardless)
 payroll.ch: did not receive HSTS header
@@ -3500,25 +3511,26 @@ physicalist.com: could not connect to ho
 pickr.co: could not connect to host
 picotronic.biz: could not connect to host
 picscare.co.uk: did not receive HSTS header
 pieperhome.de: could not connect to host
 piggott.me.uk: did not receive HSTS header
 pilgermaske.org: did not receive HSTS header
 piligrimname.com: could not connect to host
 pillowandpepper.com: did not receive HSTS header
+pincodeit.com: could not connect to host
 pippen.io: could not connect to host
 piratedb.com: could not connect to host
 piratedot.com: could not connect to host
 piratelist.online: did not receive HSTS header
 piratenlogin.de: could not connect to host
 pirateproxy.pe: could not connect to host
 pirateproxy.sx: could not connect to host
 pirateproxy.vip: could not connect to host
-pirati.cz: max-age too low: 604800
+pirati.cz: did not receive HSTS header
 pirlitu.com: did not receive HSTS header
 pisexy.me: did not receive HSTS header
 pisidia.de: could not connect to host
 pittonpreschool.com: did not receive HSTS header
 pixel.google.com: did not receive HSTS header (error ignored - included regardless)
 pixelcode.com.au: could not connect to host
 pixelhero.co.uk: did not receive HSTS header
 pixi.me: could not connect to host
@@ -3547,16 +3559,17 @@ ploup.net: could not connect to host
 pluff.nl: could not connect to host
 plur.com.au: did not receive HSTS header
 pmnts.io: could not connect to host
 po.gl: did not receive HSTS header
 pocketsix.com: could not connect to host
 pocloud.homelinux.net: could not connect to host
 poiema.com.sg: did not receive HSTS header
 pointpro.de: did not receive HSTS header
+pokeduel.me: could not connect to host
 pol.in.th: could not connect to host
 pole.net.nz: could not connect to host
 poleartschool.com: could not connect to host
 poles4pilots.com: did not receive HSTS header
 policeiwitness.sg: could not connect to host
 polimat.org: could not connect to host
 politically-incorrect.xyz: could not connect to host
 politologos.org: did not receive HSTS header
@@ -3565,16 +3578,17 @@ polypho.nyc: could not connect to host
 pompompoes.com: could not connect to host
 pontualcomp.com: max-age too low: 2592000
 poolsandstuff.com: did not receive HSTS header
 poon.tech: could not connect to host
 porno-gif.ru: did not receive HSTS header
 portalplatform.net: did not receive HSTS header
 poshpak.com: max-age too low: 86400
 postcodewise.co.uk: did not receive HSTS header
+posterspy.com: did not receive HSTS header
 postscheduler.org: could not connect to host
 posylka.de: did not receive HSTS header
 potatoheads.net: could not connect to host
 potbar.com: could not connect to host
 potlytics.com: could not connect to host
 poussinooz.fr: could not connect to host
 povitria.net: could not connect to host
 power99press.com: did not receive HSTS header
@@ -3586,32 +3600,34 @@ pr.search.yahoo.com: did not receive HST
 prattpokemon.com: could not connect to host
 prediksisydney.com: did not receive HSTS header
 preezzie.com: could not connect to host
 prefontaine.name: could not connect to host
 prego-shop.de: did not receive HSTS header
 preissler.co.uk: could not connect to host
 prelist.org: did not receive HSTS header
 prescriptiondrugs.com: could not connect to host
+president.bg: could not connect to host
 press-anime-nenkan.com: did not receive HSTS header
 pressfreedomfoundation.org: did not receive HSTS header
 pretzlaff.info: did not receive HSTS header
 preworkout.me: could not connect to host
 prezola.com: did not receive HSTS header
 prgslab.net: could not connect to host
 printexpress.cloud: did not receive HSTS header
 printfn.com: could not connect to host
 priolkar.com: did not receive HSTS header
 privacylabs.io: did not receive HSTS header
 privacyrup.net: could not connect to host
 prnt.li: did not receive HSTS header
 pro-zone.com: could not connect to host
 prodpad.com: did not receive HSTS header
 professionalboundaries.com: did not receive HSTS header
 profi-durchgangsmelder.de: did not receive HSTS header
+profpay.com: could not connect to host
 profundr.com: could not connect to host
 progblog.net: could not connect to host
 progg.no: could not connect to host
 progress-technologies.com: could not connect to host
 prohostonline.fi: could not connect to host
 projectdp.net: could not connect to host
 projectmercury.space: could not connect to host
 prok.pw: could not connect to host
@@ -3698,16 +3714,17 @@ rankthespot.com: could not connect to ho
 rannseier.org: did not receive HSTS header
 rapidresearch.me: could not connect to host
 rapidthunder.io: could not connect to host
 rasing.me: did not receive HSTS header
 rastreador.com.es: did not receive HSTS header
 ratajczak.fr: could not connect to host
 rate-esport.de: could not connect to host
 rationalism.com: could not connect to host
+ratuseks.com: could not connect to host
 raulfraile.net: could not connect to host
 raven.lipetsk.ru: could not connect to host
 rawet.se: could not connect to host
 rawoil.com: could not connect to host
 rawstorieslondon.com: could not connect to host
 raydan.space: could not connect to host
 raydobe.me: could not connect to host
 rbhighinc.org: could not connect to host
@@ -3715,16 +3732,17 @@ rc-rp.com: did not receive HSTS header
 rc4.io: did not receive HSTS header
 rcafox.com: could not connect to host
 rcorporation.be: did not receive HSTS header
 rcpcbd.com: did not receive HSTS header
 rdns.im: did not receive HSTS header
 re-customer.net: did not receive HSTS header
 reachr.com: could not connect to host
 readr.pw: could not connect to host
+realloc.me: could not connect to host
 realmic.net: could not connect to host
 realmofespionage.com: could not connect to host
 reaper.rip: could not connect to host
 reardenporn.com: could not connect to host
 recommended.reviews: could not connect to host
 redable.hosting: could not connect to host
 redar.xyz: 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 :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -3779,31 +3797,31 @@ reverie.pw: could not connect to host
 reviews.anime.my: max-age too low: 5184000
 revtut.net: did not receive HSTS header
 rewardstock.com: max-age too low: 0
 rewrite3.com: could not connect to host
 rex.st: could not connect to host
 rhapsodhy.hu: could not connect to host
 rhdigital.pro: could not connect to host
 rhering.de: could not connect to host
-ricardobalk.nl: could not connect to host
 richiemail.net: did not receive HSTS header
 richmondsunlight.com: did not receive HSTS header
 richsiciliano.com: could not connect to host
 rid-wan.com: could not connect to host
 rideworks.com: did not receive HSTS header
 riesenweber.id.au: did not receive HSTS header
 right2.org: could not connect to host
 righttoknow.ie: did not receive HSTS header
 rijndael.xyz: could not connect to host
 rika.me: could not connect to host
 ring0.xyz: did not receive HSTS header
 ringh.am: could not connect to host
 rippleunion.com: could not connect to host
 riskmgt.com.au: could not connect to host
+riverbanktearooms.co.uk: could not connect to host
 rivlo.com: could not connect to host
 rj.gg: could not connect to host
 rk6.cz: could not connect to host
 rkkhok.hu: did not receive HSTS header
 rkmantpur.org: did not receive HSTS header
 rme.li: did not receive HSTS header
 rngmeme.com: could not connect to host
 roadfeast.com: could not connect to host
@@ -3971,17 +3989,16 @@ secureradio.net: could not connect to ho
 security-carpet.com: could not connect to host
 security.google.com: did not receive HSTS header (error ignored - included regardless)
 securitybsides.pl: did not receive HSTS header
 securityglance.com: could not connect to host
 securityheaders.com: could not connect to host
 securityinet.biz: did not receive HSTS header
 securityinet.net: did not receive HSTS header
 securityinet.org.il: did not receive HSTS header
-securitymap.wiki: did not receive HSTS header
 securiviera.ch: did not receive HSTS header
 sedrubal.de: could not connect to host
 seedboxers.net: did not receive HSTS header
 seele.ca: could not connect to host
 segulink.com: could not connect to host
 sehenderson.com: did not receive HSTS header
 seiko-dojo.com: could not connect to host
 selecadm.name: could not connect to host
@@ -4019,32 +4036,33 @@ setphaserstostun.org: could not connect 
 setuid.de: could not connect to host
 setuid.io: did not receive HSTS header
 sexpay.net: could not connect to host
 seyahatsagliksigortalari.com: could not connect to host
 sfsltd.com: did not receive HSTS header
 shadoom.com: did not receive HSTS header
 shadowmorph.info: did not receive HSTS header
 shadowsocks.net: could not connect to host
+shagi29.ru: could not connect to host
 shakepeers.org: did not receive HSTS header
 shanesage.com: could not connect to host
 shaobin.wang: could not connect to host
 shareimg.xyz: could not connect to host
 sharepass.pw: could not connect to host
-sharevari.com: could not connect to host
 shauncrowley.co.uk: could not connect to host
 shaunwheelhou.se: could not connect to host
 shawnh.net: could not connect to host
 shellj.me: max-age too low: 86400
 shellsec.pw: did not receive HSTS header
 shereallyheals.com: could not connect to host
 shibe.club: could not connect to host
 shiftins.com: did not receive HSTS header
 shiftplanning.com: did not receive HSTS header
 shiinko.com: could not connect to host
+shindorei.fr: could not connect to host
 shinebijoux.com.br: could not connect to host
 shinju.moe: could not connect to host
 shinonome-lab.eu.org: could not connect to host
 shiona.xyz: did not receive HSTS header
 shirosaki.org: could not connect to host
 shocksrv.com: did not receive HSTS header
 shooshosha.com: did not receive HSTS header
 shopontarget.com: did not receive HSTS header
@@ -4117,16 +4135,17 @@ slauber.de: did not receive HSTS header
 sleep10.com: could not connect to host
 slicketl.com: did not receive HSTS header
 slightfuture.click: could not connect to host
 slix.io: could not connect to host
 slope.haus: could not connect to host
 slovakiana.sk: did not receive HSTS header
 sluitkampzeist.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 slycurity.de: could not connect to host
+smallhadroncollider.com: could not connect to host
 smart-mirror.de: did not receive HSTS header
 smart-ov.nl: could not connect to host
 smartcoin.com.br: 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 :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 smartofficesandsmarthomes.com: did not receive HSTS header
 smartrak.co.nz: did not receive HSTS header
 smatch.com: did not receive HSTS header
 smdev.fr: could not connect to host
@@ -4175,16 +4194,17 @@ solit.systems: did not receive HSTS head
 soll-i.ch: did not receive HSTS header
 solsystems.ru: could not connect to host
 someshit.xyz: could not connect to host
 somethingnew.xyz: could not connect to host
 sonic.network: did not receive HSTS header
 sonicrainboom.rocks: did not receive HSTS header
 soobi.org: did not receive HSTS header
 soondy.com: did not receive HSTS header
+sortaweird.net: could not connect to host
 sotor.de: did not receive HSTS header
 soulema.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 soulfulglamour.uk: could not connect to host
 sourcelair.com: did not receive HSTS header
 southgale.condos: could not connect to host
 southside-crew.club: could not connect to host
 southworcestershiregpservices.co.uk: could not connect to host
 souyar.de: could not connect to host
@@ -4273,17 +4293,16 @@ stcomex.com: did not receive HSTS header
 stefanweiser.de: did not receive HSTS header
 steffi-in-australien.com: could not connect to host
 stephanierxo.com: did not receive HSTS header
 stephenandburns.com: did not receive HSTS header
 stephenschrauger.com: did not receive HSTS header
 stephenschrauger.info: did not receive HSTS header
 stephenschrauger.net: did not receive HSTS header
 stephenschrauger.org: did not receive HSTS header
-stereochro.me: could not connect to host
 stevensononthe.net: did not receive HSTS header
 stewartremodelingadvantage.com: did not receive HSTS header
 stig.io: did not receive HSTS header
 stigroom.com: could not connect to host
 stillblackhat.id: could not connect to host
 stirlingpoon.com: did not receive HSTS header
 stirlingpoon.net: did not receive HSTS header
 stirlingpoon.xyz: could not connect to host
@@ -4320,32 +4339,34 @@ studentresearcher.org: did not receive H
 studentskydenik.cz: could not connect to host
 studenttravel.cz: did not receive HSTS header
 studinf.xyz: did not receive HSTS header
 studiozelden.com: did not receive HSTS header
 studybay.com: did not receive HSTS header
 studydrive.net: did not receive HSTS header
 studyhub.cf: did not receive HSTS header
 stugb.de: did not receive HSTS header
+sturbock.me: did not receive HSTS header
 stw-group.at: could not connect to host
 stylenda.com: could not connect to host
 styles.pm: could not connect to host
 subbing.work: could not connect to host
 subdimension.org: could not connect to host
 subeesu.com: could not connect to host
 subrosa.io: could not connect to host
 subsys.no: did not receive HSTS header
 subtitle.rip: could not connect to host
 sudo.li: did not receive HSTS header
 suian.or.jp: max-age too low: 86400
 suite73.org: could not connect to host
 suksit.com: could not connect to host
 sumoatm.com: did not receive HSTS header
 sumoscout.de: did not receive HSTS header
 suncountrymarine.com: did not receive HSTS header
+sunflyer.cn: did not receive HSTS header
 sunnyfruit.ru: did not receive HSTS header
 sunshinepress.org: could not connect to host
 supcro.com: could not connect to host
 super-garciniaslim.com: could not connect to host
 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
 superbabysitting.ch: could not connect to host
@@ -4396,17 +4417,16 @@ ta-65.com: could not connect to host
 ta65.com: could not connect to host
 taabe.xyz: did not receive HSTS header
 tacomafia.net: did not receive HSTS header
 tadigitalstore.com: could not connect to host
 tafoma.com: did not receive HSTS header
 tageau.com: could not connect to host
 taglondon.org: did not receive HSTS header
 tails.com.ar: did not receive HSTS header
-talideon.com: could not connect to host
 talk.google.com: did not receive HSTS header (error ignored - included regardless)
 talktwincities.com: could not connect to host
 tallr.se: could not connect to host
 tallshoe.com: could not connect to host
 tandarts-haarlem.nl: did not receive HSTS header
 tangel.me: could not connect to host
 tangibilizing.com: could not connect to host
 tapfinder.ca: could not connect to host
@@ -4444,16 +4464,17 @@ techhub.ml: could not connect to host
 techllage.com: could not connect to host
 techloaner.com: could not connect to host
 techmatehq.com: could not connect to host
 technogroup.cz: did not receive HSTS header
 technosavvyport.com: did not receive HSTS header
 techpointed.com: could not connect to host
 techreview.link: could not connect to host
 tegelsensanitaironline.nl: did not receive HSTS header
+teknologi.or.id: could not connect to host
 tekshrek.com: did not receive HSTS header
 telefonnummer.online: could not connect to host
 telefoonnummerinfo.nl: could not connect to host
 telescam.com: could not connect to host
 temehu.com: did not receive HSTS header
 tempcraft.net: could not connect to host
 tempus-aquilae.de: could not connect to host
 tendertool.nl: could not connect to host
@@ -4495,38 +4516,39 @@ thecharlestonwaldorf.com: did not receiv
 theclementinebutchers.com: could not connect to host
 theclubjersey.com: did not receive HSTS header
 thecoffeehouse.xyz: could not connect to host
 thecrochetcottage.net: could not connect to host
 thediaryofadam.com: did not receive HSTS header
 theendofzion.com: did not receive HSTS header
 theescapistswiki.com: could not connect to host
 theeyeopener.com: did not receive HSTS header
+thefarbeyond.com: could not connect to host
 theflowerbasketonline.com: could not connect to host
 thefootballanalyst.com: could not connect to host
 thefrozenfire.com: did not receive HSTS header
 thefutureharrills.com: could not connect to host
 thegcccoin.com: did not receive HSTS header
 thego2swatking.com: could not connect to host
 thehiddenbay.eu: could not connect to host
 thehiddenbay.me: could not connect to host
 thehiddenbay.net: could not connect to host
 thehighersideclothing.com: did not receive HSTS header
 thehistory.me: could not connect to host
 thehonorguard.org: did not receive HSTS header
 theinvisibletrailer.com: could not connect to host
 themarble.co: could not connect to host
 themerchandiser.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 themicrocapital.com: could not connect to host
-themillerslive.com: could not connect to host
 themoderate.xyz: could not connect to host
 thenextstep.events: could not connect to host
 theodorejones.info: could not connect to host
 thepartywarehouse.co.uk: 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
 therewill.be: could not connect to host
 theseed.io: could not connect to host
 theseedbox.xyz: could not connect to host
 thestack.xyz: could not connect to host
 thestagchorleywood.co.uk: did not receive HSTS header
 theurbanyoga.com: did not receive HSTS header
 thevintagenews.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -4536,23 +4558,21 @@ thezonders.com: did not receive HSTS hea
 thierfreund.de: could not connect to host
 thinkcoding.de: could not connect to host
 thinkcoding.org: could not connect to host
 thirdpartytrade.com: did not receive HSTS header
 thirty5.net: did not receive HSTS header
 thisisacompletetest.ga: could not connect to host
 thisisforager.com: could not connect to host
 thiswebhost.com: did not receive HSTS header
-thomascloud.ddns.net: could not connect to host
 thomaskliszowski.fr: did not receive HSTS header
 thomasschweizer.net: could not connect to host
 thomaswoo.com: could not connect to host
 thorncreek.net: did not receive HSTS header
 thriveapproach.co.uk: did not receive HSTS header
-thrx.net: could not connect to host
 thumbtack.com: did not receive HSTS header
 thusoy.com: did not receive HSTS header
 tickettoaster.de: max-age too low: 0
 tickopa.co.uk: could not connect to host
 tickreport.com: did not receive HSTS header
 ticktock.today: did not receive HSTS header
 tictactux.de: could not connect to host
 tidmore.us: could not connect to host
@@ -4586,17 +4606,16 @@ tkappertjedemetamorfose.nl: could not co
 tlo.hosting: could not connect to host
 tlo.link: did not receive HSTS header
 tlo.network: could not connect to host
 tloxygen.com: did not receive HSTS header
 tls.li: could not connect to host
 tm-solutions.eu: did not receive HSTS header
 tmaward.net: could not connect to host
 tmitchell.io: could not connect to host
-tmm.cx: could not connect to host
 tmprod.com: did not receive HSTS header
 tnb-plattform.de: could not connect to host
 tncnanet.com.br: could not connect to host
 tnrsca.jp: did not receive HSTS header
 tobias-bielefeld.de: did not receive HSTS header
 tobiasmathes.com: could not connect to host
 tobiasmathes.name: could not connect to host
 tobiasofficial.at: could not connect to host
@@ -4642,16 +4661,17 @@ tradinghope.com: could not connect to ho
 traindb.nl: did not receive HSTS header
 trainut.com: could not connect to host
 transitownplaza.com: could not connect to host
 translate.googleapis.com: did not receive HSTS header (error ignored - included regardless)
 transportal.sk: did not receive HSTS header
 travelinsurance.co.nz: did not receive HSTS header
 treeby.net: could not connect to host
 trendberry.ru: could not connect to host
+trik.es: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 trinityaffirmations.com: max-age too low: 0
 trinitycore.org: max-age too low: 2592000
 tripdelta.com: did not receive HSTS header
 trixies-wish.nz: could not connect to host
 trollme.me: could not connect to host
 trondelan.no: did not receive HSTS header
 trunkjunk.co: could not connect to host
 trusitio.com: did not receive HSTS header
@@ -4701,22 +4721,22 @@ tyler.rs: could not connect to host
 tyleromeara.com: could not connect to host
 tylian.net: max-age too low: 0
 tyrelius.com: did not receive HSTS header
 tyroproducts.eu: did not receive HSTS header
 tzappa.net: could not connect to host
 u-blox.com: max-age too low: 0
 ua.search.yahoo.com: did not receive HSTS header
 uadp.pw: did not receive HSTS header
-ubanquity.com: could not connect to host
 uberfunction.com: did not receive HSTS header
 ubicloud.de: could not connect to host
 ubicv.com: could not connect to host
 ublox.com: did not receive HSTS header
 ubuntuhot.com: did not receive HSTS header
+udruga-point.hr: did not receive HSTS header
 uega.net: did not receive HSTS header
 ufgaming.com: did not receive HSTS header
 ufotable.uk: did not receive HSTS header
 ui8.net: max-age too low: 86400
 ukas.com: did not receive HSTS header
 ukdropshipment.co.uk: did not receive HSTS header
 ukdropshipment.com: did not receive HSTS header
 ukrgadget.com: could not connect to host
@@ -4764,24 +4784,23 @@ uonstaffhub.com: could not connect to ho
 uow.ninja: could not connect to host
 up1.ca: could not connect to host
 upaknship.com: did not receive HSTS header
 upldr.pw: could not connect to host
 uprotect.it: could not connect to host
 upstats.eu: could not connect to host
 ur-lauber.de: did not receive HSTS header
 urandom.eu.org: did not receive HSTS header
-urbanstylestaging.com: did not receive HSTS header
 urphp.com: could not connect to host
 us-immigration.com: did not receive HSTS header
 usaa.com: did not receive HSTS header
 usbtypeccompliant.com: could not connect to host
 uscitizenship.info: did not receive HSTS header
 uscntalk.com: could not connect to host
-uscurrency.gov: did not receive HSTS header
+uscurrency.gov: could not connect to host
 used-in.jp: did not receive HSTS header
 usercare.com: did not receive HSTS header
 userify.com: did not receive HSTS header
 ustr.gov: max-age too low: 86400
 utilitarianism.net: did not receive HSTS header
 utleieplassen.no: could not connect to host
 utopiagalaxy.space: could not connect to host
 utopianhomespa.com: did not receive HSTS header
@@ -4789,17 +4808,16 @@ utumno.ch: could not connect to host
 utvbloggen.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 uvarov.pw: did not receive HSTS header
 uy.search.yahoo.com: did not receive HSTS header
 uz.search.yahoo.com: did not receive HSTS header
 uzmandroid.net: could not connect to host
 uzmandroid.top: could not connect to host
 v2.pw: did not receive HSTS header
 v4veedu.com: could not connect to host
-v7.cl: could not connect to host
 vaddder.com: could not connect to host
 valentin-sundermann.de: could not connect to host
 valethound.com: could not connect to host
 valis.sx: could not connect to host
 valkyrja.xyz: did not receive HSTS header
 valleyridgepta.org: could not connect to host
 vallis.net: did not receive HSTS header
 valmagus.com: could not connect to host
@@ -4832,17 +4850,17 @@ versia.ru: did not receive HSTS header
 veryhax.de: could not connect to host
 vetmgmt.com: could not connect to host
 vfdworld.com: could not connect to host
 vfree.org: could not connect to host
 vglimg.com: could not connect to host
 vhost.co.id: could not connect to host
 viadeux.com: could not connect to host
 videnskabsklubben.dk: did not receive HSTS header
-videomuz.com: did not receive HSTS header
+videomuz.com: could not connect to host
 videotogel.net: did not receive HSTS header
 vidid.net: did not receive HSTS header
 vidz.ga: could not connect to host
 vieaw.com: could not connect to host
 viemeister.com: could not connect to host
 vietnamphotographytours.com: did not receive HSTS header
 viewsea.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 vigilo.cf: could not connect to host
@@ -4888,16 +4906,17 @@ volkden.com: could not connect to host
 vortexhobbies.com: did not receive HSTS header
 voshod.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 vosjesweb.nl: did not receive HSTS header
 vox.vg: did not receive HSTS header
 vpl.me: did not receive HSTS header
 vpn-byen.dk: did not receive HSTS header
 vratny.space: could not connect to host
 vrobert.fr: could not connect to host
+vrtak-cz.net: could not connect to host
 vsestiralnie.com: did not receive HSTS header
 vvl.me: did not receive HSTS header
 vxstream-sandbox.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 vyncke.org: max-age too low: 2678400
 vyskocil.eu: could not connect to host
 vzk.io: could not connect to host
 w.wiki: could not connect to host
 w4a.fr: did not receive HSTS header
@@ -4925,70 +4944,73 @@ warsentech.com: did not receive HSTS hea
 washingtonviews.com: did not receive HSTS header
 watchium.com: did not receive HSTS header
 watersportmarkt.net: did not receive HSTS header
 watsonhall.uk: could not connect to host
 wave.is: could not connect to host
 wavefrontsystemstech.com: could not connect to host
 wealthfactory.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 wear2work.nl: did not receive HSTS header
+wearandcare.net: could not connect to host
 weaverhairextensions.nl: could not connect to host
 web-industry.fr: could not connect to host
 web-torrent.com: max-age too low: 0
 web.cc: did not receive HSTS header
 web4all.fr: did not receive HSTS header
 web4pro.fr: did not receive HSTS header
 webandwords.com.au: could not connect to host
 webapps.directory: could not connect to host
 webassadors.com: could not connect to host
 webchat.domains: did not receive HSTS header
 webdesign-kronberg.de: did not receive HSTS header
+webdesigneauclaire.com: could not connect to host
 webdev.mobi: could not connect to host
 weberjulia.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 webhosting4.net: did not receive HSTS header
 webm.to: could not connect to host
 webmail.mayfirst.org: did not receive HSTS header
 webmaniabr.com: did not receive HSTS header
 webmarketingfestival.it: did not receive HSTS header
 webnosql.com: could not connect to host
 webperformance.ru: max-age too low: 3600
+webpublica.pt: could not connect to host
 websenat.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 webstationservice.fr: could not connect to host
 webstory.xyz: could not connect to host
 webswitch.io: could not connect to host
 webtechgadgetry.com: did not receive HSTS header
 webtiles.co.uk: could not connect to host
 webwork.pw: could not connect to host
 weddingenvelopes.co.uk: did not receive HSTS header
 weekly.fyi: could not connect to host
-weicn.org: could not connect to host
+weicn.org: did not receive HSTS header
 weiyuz.com: could not connect to host
 weizenke.im: could not connect to host
 wellastore.ru: did not receive HSTS header
 wellsolveit.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 welpy.com: could not connect to host
 weltmeisterschaft.net: could not connect to host
 weltverschwoerung.de: did not receive HSTS header
 weme.eu: could not connect to host
 wendalyncheng.com: did not receive HSTS header
 werdeeintimo.de: did not receive HSTS header
 werkenbijkfc.nl: did not receive HSTS header
 werkplaatsoost.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
-werkruimtebottendaal.nl: did not receive HSTS header
+werkruimtebottendaal.nl: could not connect to host
 wesleyharris.ca: did not receive HSTS header
 westendzone.com: max-age too low: 0
 westerhoud.nl: did not receive HSTS header
 wettbuero.de: did not receive HSTS header
 wetten.eu: did not receive HSTS header
 wettertoertchen.com: did not receive HSTS header
 wetttipps.com: did not receive HSTS header
 wetttipps.de: did not receive HSTS header
 wevahoo.com: could not connect to host
-wf-training-master.appspot.com: could not connect to host (error ignored - included regardless)
 wftda.com: did not receive HSTS header
+wg-tools.de: could not connect to host
 whatnext.limited: did not receive HSTS header
 whats.io: did not receive HSTS header
 whatsstalk.me: could not connect to host
 when-release.com: did not receive HSTS header
 whitehat.id: could not connect to host
 whiterabbitcakery.com: could not connect to host
 whitestagforge.com: did not receive HSTS header
 whoclicks.net: could not connect to host
@@ -5002,19 +5024,19 @@ wienholding.at: max-age too low: 0
 wieninternational.at: did not receive HSTS header
 wiire.me: could not connect to host
 wikiclash.info: could not connect to host
 wikisports.eu: could not connect to host
 wilf1rst.com: could not connect to host
 willcipriano.com: could not connect to host
 william.si: did not receive HSTS header
 willosagiede.com: did not receive HSTS header
-wimake.solutions: did not receive HSTS header
 winaes.com: did not receive HSTS header
 winclient.cn: could not connect to host
+wine-importer.ru: did not receive HSTS header
 winecodeavocado.com: could not connect to host
 winged.io: could not connect to host
 wingumd.net: could not connect to host
 winpack.cf: could not connect to host
 winpack.eu.org: could not connect to host
 winsec.nl: could not connect to host
 winshiplending.com: did not receive HSTS header
 winterschoen.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -5030,16 +5052,17 @@ wittcher.com: could not connect to host
 wittydonut.com: could not connect to host
 witzemaschine.com: max-age too low: 0
 wiz.biz: could not connect to host
 wlzhiyin.cn: could not connect to host
 wmcuk.net: could not connect to host
 wmfinanz.com: could not connect to host
 wnmm.nl: could not connect to host
 wodice.com: could not connect to host
+wofford-ecs.org: could not connect to host
 wohnungsbau-ludwigsburg.de: did not receive HSTS header
 woima.fi: max-age too low: 604800
 wolfesden.com: could not connect to host
 womosale.de: could not connect to host
 wonderfall.xyz: could not connect to host
 wonderhost.info: could not connect to host
 wondershift.biz: did not receive HSTS header
 woodmafia.com.au: max-age too low: 0
@@ -5047,16 +5070,17 @@ woording.com: could not connect to host
 wootton95.com: could not connect to host
 word-grabber.com: did not receive HSTS header
 woresite.jp: did not receive HSTS header
 workfone.io: did not receive HSTS header
 workpermit.com.vn: did not receive HSTS header
 workwithgo.com: could not connect to host
 worldsbeststory.com: did not receive HSTS header
 wowapi.org: could not connect to host
+wpfast.net: did not receive HSTS header
 wpfortify.com: did not receive HSTS header
 wphostingspot.com: did not receive HSTS header
 wpmetadatastandardsproject.org: could not connect to host
 writeapp.me: could not connect to host
 wsscompany.com.ve: could not connect to host
 wufu.org: could not connect to host
 wuhengmin.com: did not receive HSTS header
 wurzelzwerg.net: could not connect to host
@@ -5144,48 +5168,49 @@ xtream-hosting.com: could not connect to
 xtream-hosting.de: could not connect to host
 xtream-hosting.eu: could not connect to host
 xtreamhosting.eu: could not connect to host
 xuri.me: max-age too low: 2592000
 xuwei.de: could not connect to host
 xuyh0120.win: did not receive HSTS header
 xxbase.com: could not connect to host
 y-o-w.com: did not receive HSTS header
-y-s.pw: could not connect to host
+y-s.pw: did not receive HSTS header
 yabrt.cn: could not connect to host
 yagi2.com: could not connect to host
 yalook.com: did not receive HSTS header
 yamamo10.com: could not connect to host
 yanwh.xyz: did not receive HSTS header
 yaporn.tv: did not receive HSTS header
 yard-fu.com: could not connect to host
 yardbird.us: could not connect to host
 yasinaydin.net: max-age too low: 2592000
 yaucy.win: could not connect to host
-yd.io: did not receive HSTS header
+yd.io: could not connect to host
 ydy.jp: could not connect to host
 yello.website: could not connect to host
 yellowcar.website: could not connect to host
 yenniferallulli.de: could not connect to host
 yenniferallulli.es: did not receive HSTS header
 yenniferallulli.moda: could not connect to host
 yenniferallulli.nl: could not connect to host
 yestees.com: did not receive HSTS header
 yetcore.io: could not connect to host
 yin.roma.it: could not connect to host
 yingyj.com: could not connect to host
 yippie.nl: did not receive HSTS header
 yjsoft.me: did not receive HSTS header
 yjsw.sh.cn: could not connect to host
 ynode.co: did not receive HSTS header
 ynsn.nl: did not receive HSTS header
-yokeepo.com: max-age too low: 0
+yokeepo.com: did not receive HSTS header
 yoloboatrentals.com: did not receive HSTS header
 yoloprod.fr: could not connect to host
 yoloseo.com: could not connect to host
+yoramvandevelde.net: could not connect to host
 youcontrol.ru: could not connect to host
 youngandunited.nl: did not receive HSTS header
 youon.tokyo: could not connect to host
 yourbapp.ch: could not connect to host
 yourciso.com: could not connect to host
 yourcomputer.expert: did not receive HSTS header
 yoursecondphone.co: could not connect to host
 yourstrongbox.com: could not connect to host
@@ -5206,17 +5231,16 @@ z3liff.com: could not connect to host
 z3liff.net: could not connect to host
 za.search.yahoo.com: did not receive HSTS header
 zadieheimlich.com: did not receive HSTS header
 zamorano.edu: could not connect to host
 zao.fi: could not connect to host
 zap.yt: could not connect to host
 zarooba.com: could not connect to host
 zbigniewgalucki.eu: did not receive HSTS header
-zcr.ca: could not connect to host
 zebrababy.cn: did not receive HSTS header
 zefiris.org: did not receive HSTS header
 zefu.ca: could not connect to host
 zehntner.ch: could not connect to host
 zelezny.uk: did not receive HSTS header
 zelfstandigemakelaars.net: could not connect to host
 zenpayroll.com: did not receive HSTS header
 zentraler-kreditausschuss.de: did not receive HSTS header
@@ -5225,16 +5249,17 @@ zera.com.au: could not connect to host
 zeroday.sk: did not receive HSTS header
 zerolab.org: could not connect to host
 zerudi.com: did not receive HSTS header
 zett4.me: could not connect to host
 zeytin.pro: could not connect to host
 zh.search.yahoo.com: did not receive HSTS header
 zhaojin97.cn: did not receive HSTS header
 zhendingresources.com: max-age too low: 0
+zihao.me: did not receive HSTS header
 zinc-x.com: did not receive HSTS header
 zinenapse.info: could not connect to host
 zirtue.io: could not connect to host
 ziyuanabc.xyz: could not connect to host
 zizoo.com: did not receive HSTS header
 zkillboard.com: did not receive HSTS header
 zking.ga: could not connect to host
 zmy.im: did not receive HSTS header
@@ -5250,9 +5275,10 @@ zorasvobodova.cz: did not receive HSTS h
 zortium.report: could not connect to host
 zoznamrealit.sk: did not receive HSTS header
 zqhong.com: could not connect to host
 ztan.tk: could not connect to host
 ztcaoll222.cn: did not receive HSTS header
 zulu7.com: could not connect to host
 zvncloud.com: did not receive HSTS header
 zwollemagazine.nl: did not receive HSTS header
+zwy.me: could not connect to host
 zyf.pw: could not connect to host
--- a/security/manager/ssl/nsSTSPreloadList.inc
+++ b/security/manager/ssl/nsSTSPreloadList.inc
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /*****************************************************************************/
 /* This is an automatically generated file. If you're not                    */
 /* nsSiteSecurityService.cpp, you shouldn't be #including it.     */
 /*****************************************************************************/
 
 #include <stdint.h>
-const PRTime gPreloadListExpirationTime = INT64_C(1500735747764000);
+const PRTime gPreloadListExpirationTime = INT64_C(1500822640778000);
 
 static const char kSTSHostTable[] = {
   /* "0.me.uk", true */ '0', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "007-preisvergleich.de", true */ '0', '0', '7', '-', 'p', 'r', 'e', 'i', 's', 'v', 'e', 'r', 'g', 'l', 'e', 'i', 'c', 'h', '.', 'd', 'e', '\0',
   /* "0100dev.com", true */ '0', '1', '0', '0', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "0100dev.nl", true */ '0', '1', '0', '0', 'd', 'e', 'v', '.', 'n', 'l', '\0',
   /* "01electronica.com.ar", true */ '0', '1', 'e', 'l', 'e', 'c', 't', 'r', 'o', 'n', 'i', 'c', 'a', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "01seguridad.com.ar", true */ '0', '1', 's', 'e', 'g', 'u', 'r', 'i', 'd', 'a', 'd', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
@@ -23,19 +23,21 @@ static const char kSTSHostTable[] = {
   /* "0au.de", true */ '0', 'a', 'u', '.', 'd', 'e', '\0',
   /* "0c.eu", true */ '0', 'c', '.', 'e', 'u', '\0',
   /* "0day.su", true */ '0', 'd', 'a', 'y', '.', 's', 'u', '\0',
   /* "0i0.nl", true */ '0', 'i', '0', '.', 'n', 'l', '\0',
   /* "0ik.de", true */ '0', 'i', 'k', '.', 'd', 'e', '\0',
   /* "0knowledge.de", true */ '0', 'k', 'n', 'o', 'w', 'l', 'e', 'd', 'g', 'e', '.', 'd', 'e', '\0',
   /* "0o0.ooo", true */ '0', 'o', '0', '.', 'o', 'o', 'o', '\0',
   /* "0paste.com", true */ '0', 'p', 'a', 's', 't', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "0x.cx", true */ '0', 'x', '.', 'c', 'x', '\0',
   /* "0x.sk", true */ '0', 'x', '.', 's', 'k', '\0',
   /* "0x17.de", true */ '0', 'x', '1', '7', '.', 'd', 'e', '\0',
   /* "0x52.net", true */ '0', 'x', '5', '2', '.', 'n', 'e', 't', '\0',
+  /* "0x52.org", true */ '0', 'x', '5', '2', '.', 'o', 'r', 'g', '\0',
   /* "0x539.pw", true */ '0', 'x', '5', '3', '9', '.', 'p', 'w', '\0',
   /* "0x65.net", true */ '0', 'x', '6', '5', '.', 'n', 'e', 't', '\0',
   /* "0x7fffffff.net", true */ '0', 'x', '7', 'f', 'f', 'f', 'f', 'f', 'f', 'f', '.', 'n', 'e', 't', '\0',
   /* "0x90.fi", true */ '0', 'x', '9', '0', '.', 'f', 'i', '\0',
   /* "0x90.in", true */ '0', 'x', '9', '0', '.', 'i', 'n', '\0',
   /* "0x90.io", true */ '0', 'x', '9', '0', '.', 'i', 'o', '\0',
   /* "0xAA55.me", true */ '0', 'x', 'A', 'A', '5', '5', '.', 'm', 'e', '\0',
   /* "0xaa55.me", true */ '0', 'x', 'a', 'a', '5', '5', '.', 'm', 'e', '\0',
@@ -110,16 +112,17 @@ static const char kSTSHostTable[] = {
   /* "1q365a.com", true */ '1', 'q', '3', '6', '5', 'a', '.', 'c', 'o', 'm', '\0',
   /* "1rs.nl", true */ '1', 'r', 's', '.', 'n', 'l', '\0',
   /* "1se2or3.com", true */ '1', 's', 'e', '2', 'o', 'r', '3', '.', 'c', 'o', 'm', '\0',
   /* "1st-community.de", true */ '1', 's', 't', '-', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '.', 'd', 'e', '\0',
   /* "1stcapital.com.sg", true */ '1', 's', 't', 'c', 'a', 'p', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '.', 's', 'g', '\0',
   /* "1ststop.co.uk", true */ '1', 's', 't', 's', 't', 'o', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "1three1.net", true */ '1', 't', 'h', 'r', 'e', 'e', '1', '.', 'n', 'e', 't', '\0',
   /* "1whw.co.uk", true */ '1', 'w', 'h', 'w', '.', 'c', 'o', '.', 'u', 'k', '\0',
+  /* "1years.cc", true */ '1', 'y', 'e', 'a', 'r', 's', '.', 'c', 'c', '\0',
   /* "2-cpu.de", true */ '2', '-', 'c', 'p', 'u', '.', 'd', 'e', '\0',
   /* "2.wtf", true */ '2', '.', 'w', 't', 'f', '\0',
   /* "2048-spiel.de", true */ '2', '0', '4', '8', '-', 's', 'p', 'i', 'e', 'l', '.', 'd', 'e', '\0',
   /* "2048game.co.uk", true */ '2', '0', '4', '8', 'g', 'a', 'm', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "20hs.cn", true */ '2', '0', 'h', 's', '.', 'c', 'n', '\0',
   /* "21.co.uk", true */ '2', '1', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "21lg.co", true */ '2', '1', 'l', 'g', '.', 'c', 'o', '\0',
   /* "21stnc.com", true */ '2', '1', 's', 't', 'n', 'c', '.', 'c', 'o', 'm', '\0',
@@ -142,16 +145,17 @@ static const char kSTSHostTable[] = {
   /* "2cv-fahrer.de", true */ '2', 'c', 'v', '-', 'f', 'a', 'h', 'r', 'e', 'r', '.', 'd', 'e', '\0',
   /* "2gen.com", true */ '2', 'g', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "2hypeenterprises.com", true */ '2', 'h', 'y', 'p', 'e', 'e', 'n', 't', 'e', 'r', 'p', 'r', 'i', 's', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "2kgwf.fi", true */ '2', 'k', 'g', 'w', 'f', '.', 'f', 'i', '\0',
   /* "2krueger.de", true */ '2', 'k', 'r', 'u', 'e', 'g', 'e', 'r', '.', 'd', 'e', '\0',
   /* "2nains.ch", true */ '2', 'n', 'a', 'i', 'n', 's', '.', 'c', 'h', '\0',
   /* "2nerds1bit.com", true */ '2', 'n', 'e', 'r', 'd', 's', '1', 'b', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "2pay.fr", true */ '2', 'p', 'a', 'y', '.', 'f', 'r', '\0',
+  /* "2programmers.net", true */ '2', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "2ulcceria.nl", true */ '2', 'u', 'l', 'c', 'c', 'e', 'r', 'i', 'a', '.', 'n', 'l', '\0',
   /* "300mbmovies4u.cc", true */ '3', '0', '0', 'm', 'b', 'm', 'o', 'v', 'i', 'e', 's', '4', 'u', '.', 'c', 'c', '\0',
   /* "314chan.org", false */ '3', '1', '4', 'c', 'h', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "31tv.ru", true */ '3', '1', 't', 'v', '.', 'r', 'u', '\0',
   /* "321live.nl", true */ '3', '2', '1', 'l', 'i', 'v', 'e', '.', 'n', 'l', '\0',
   /* "32h.de", true */ '3', '2', 'h', '.', 'd', 'e', '\0',
   /* "32ph.com", true */ '3', '2', 'p', 'h', '.', 'c', 'o', 'm', '\0',
   /* "33-km.ru", true */ '3', '3', '-', 'k', 'm', '.', 'r', 'u', '\0',
@@ -357,17 +361,16 @@ static const char kSTSHostTable[] = {
   /* "acrossgw.com", true */ 'a', 'c', 'r', 'o', 's', 's', 'g', 'w', '.', 'c', 'o', 'm', '\0',
   /* "acrylicwifi.com", true */ 'a', 'c', 'r', 'y', 'l', 'i', 'c', 'w', 'i', 'f', 'i', '.', 'c', 'o', 'm', '\0',
   /* "acsemb.org", true */ 'a', 'c', 's', 'e', 'm', 'b', '.', 'o', 'r', 'g', '\0',
   /* "acsports.ca", true */ 'a', 'c', 's', 'p', 'o', 'r', 't', 's', '.', 'c', 'a', '\0',
   /* "actilove.ch", true */ 'a', 'c', 't', 'i', 'l', 'o', 'v', 'e', '.', 'c', 'h', '\0',
   /* "activatemyiphone.com", true */ 'a', 'c', 't', 'i', 'v', 'a', 't', 'e', 'm', 'y', 'i', 'p', 'h', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "active.hu", false */ 'a', 'c', 't', 'i', 'v', 'e', '.', 'h', 'u', '\0',
   /* "actorsroom.com", true */ 'a', 'c', 't', 'o', 'r', 's', 'r', 'o', 'o', 'm', '.', 'c', 'o', 'm', '\0',
-  /* "actserv.co.ke", true */ 'a', 'c', 't', 's', 'e', 'r', 'v', '.', 'c', 'o', '.', 'k', 'e', '\0',
   /* "acuica.co.uk", false */ 'a', 'c', 'u', 'i', 'c', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "acus.gov", true */ 'a', 'c', 'u', 's', '.', 'g', 'o', 'v', '\0',
   /* "acwcerts.co.uk", true */ 'a', 'c', 'w', 'c', 'e', 'r', 't', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ad-disruptio.fr", true */ 'a', 'd', '-', 'd', 'i', 's', 'r', 'u', 'p', 't', 'i', 'o', '.', 'f', 'r', '\0',
   /* "ad-notam.asia", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'a', 's', 'i', 'a', '\0',
   /* "ad-notam.ch", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'c', 'h', '\0',
   /* "ad-notam.co.uk", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ad-notam.com", true */ 'a', 'd', '-', 'n', 'o', 't', 'a', 'm', '.', 'c', 'o', 'm', '\0',
@@ -475,16 +478,17 @@ static const char kSTSHostTable[] = {
   /* "aegee-utrecht.nl", true */ 'a', 'e', 'g', 'e', 'e', '-', 'u', 't', 'r', 'e', 'c', 'h', 't', '.', 'n', 'l', '\0',
   /* "aegrel.ee", true */ 'a', 'e', 'g', 'r', 'e', 'l', '.', 'e', 'e', '\0',
   /* "aeon.co", false */ 'a', 'e', 'o', 'n', '.', 'c', 'o', '\0',
   /* "aerelon.de", true */ 'a', 'e', 'r', 'e', 'l', 'o', 'n', '.', 'd', 'e', '\0',
   /* "aerolog.co", true */ 'a', 'e', 'r', 'o', 'l', 'o', 'g', '.', 'c', 'o', '\0',
   /* "aextron.com", true */ 'a', 'e', 'x', 't', 'r', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "aextron.de", true */ 'a', 'e', 'x', 't', 'r', 'o', 'n', '.', 'd', 'e', '\0',
   /* "aextron.org", true */ 'a', 'e', 'x', 't', 'r', 'o', 'n', '.', 'o', 'r', 'g', '\0',
+  /* "aeyoun.com", true */ 'a', 'e', 'y', 'o', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "af-fotografie.net", true */ 'a', 'f', '-', 'f', 'o', 't', 'o', 'g', 'r', 'a', 'f', 'i', 'e', '.', 'n', 'e', 't', '\0',
   /* "afb24.de", true */ 'a', 'f', 'b', '2', '4', '.', 'd', 'e', '\0',
   /* "affiliateroyale.com", true */ 'a', 'f', 'f', 'i', 'l', 'i', 'a', 't', 'e', 'r', 'o', 'y', 'a', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "affilie.de", true */ 'a', 'f', 'f', 'i', 'l', 'i', 'e', '.', 'd', 'e', '\0',
   /* "affinitysync.com", true */ 'a', 'f', 'f', 'i', 'n', 'i', 't', 'y', 's', 'y', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "affordableazdivorce.com", true */ 'a', 'f', 'f', 'o', 'r', 'd', 'a', 'b', 'l', 'e', 'a', 'z', 'd', 'i', 'v', 'o', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "afghan.dating", true */ 'a', 'f', 'g', 'h', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "aficionados.com.br", true */ 'a', 'f', 'i', 'c', 'i', 'o', 'n', 'a', 'd', 'o', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
@@ -512,16 +516,17 @@ static const char kSTSHostTable[] = {
   /* "agfmedia.com", true */ 'a', 'g', 'f', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "aggr.pw", true */ 'a', 'g', 'g', 'r', '.', 'p', 'w', '\0',
   /* "agilebits.com", true */ 'a', 'g', 'i', 'l', 'e', 'b', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "agilebits.net", false */ 'a', 'g', 'i', 'l', 'e', 'b', 'i', 't', 's', '.', 'n', 'e', 't', '\0',
   /* "agileui.com", true */ 'a', 'g', 'i', 'l', 'e', 'u', 'i', '.', 'c', 'o', 'm', '\0',
   /* "aging.gov", true */ 'a', 'g', 'i', 'n', 'g', '.', 'g', 'o', 'v', '\0',
   /* "agonswim.com", false */ 'a', 'g', 'o', 'n', 's', 'w', 'i', 'm', '.', 'c', 'o', 'm', '\0',
   /* "agotnes.com", true */ 'a', 'g', 'o', 't', 'n', 'e', 's', '.', 'c', 'o', 'm', '\0',
+  /* "agowa338.de", true */ 'a', 'g', 'o', 'w', 'a', '3', '3', '8', '.', 'd', 'e', '\0',
   /* "agrias.com.br", true */ 'a', 'g', 'r', 'i', 'a', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "agridir.site", true */ 'a', 'g', 'r', 'i', 'd', 'i', 'r', '.', 's', 'i', 't', 'e', '\0',
   /* "agroline.by", true */ 'a', 'g', 'r', 'o', 'l', 'i', 'n', 'e', '.', 'b', 'y', '\0',
   /* "agroyard.com.ua", true */ 'a', 'g', 'r', 'o', 'y', 'a', 'r', 'd', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
   /* "agwa.name", true */ 'a', 'g', 'w', 'a', '.', 'n', 'a', 'm', 'e', '\0',
   /* "ahcpr.gov", false */ 'a', 'h', 'c', 'p', 'r', '.', 'g', 'o', 'v', '\0',
   /* "ahd.com", true */ 'a', 'h', 'd', '.', 'c', 'o', 'm', '\0',
   /* "ahelos.tk", true */ 'a', 'h', 'e', 'l', 'o', 's', '.', 't', 'k', '\0',
@@ -600,16 +605,17 @@ static const char kSTSHostTable[] = {
   /* "aktiv-naturheilmittel.de", true */ 'a', 'k', 't', 'i', 'v', '-', 'n', 'a', 't', 'u', 'r', 'h', 'e', 'i', 'l', 'm', 'i', 't', 't', 'e', 'l', '.', 'd', 'e', '\0',
   /* "aktivist.in", true */ 'a', 'k', 't', 'i', 'v', 'i', 's', 't', '.', 'i', 'n', '\0',
   /* "akutun.cl", true */ 'a', 'k', 'u', 't', 'u', 'n', '.', 'c', 'l', '\0',
   /* "akvorrat.at", true */ 'a', 'k', 'v', 'o', 'r', 'r', 'a', 't', '.', 'a', 't', '\0',
   /* "al-f.net", true */ 'a', 'l', '-', 'f', '.', 'n', 'e', 't', '\0',
   /* "al3xpro.com", true */ 'a', 'l', '3', 'x', 'p', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "aladdinschools.appspot.com", true */ 'a', 'l', 'a', 'd', 'd', 'i', 'n', 's', 'c', 'h', 'o', 'o', 'l', 's', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "alainbaechlerphotography.ch", true */ 'a', 'l', 'a', 'i', 'n', 'b', 'a', 'e', 'c', 'h', 'l', 'e', 'r', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'h', '\0',
+  /* "alainwolf.ch", true */ 'a', 'l', 'a', 'i', 'n', 'w', 'o', 'l', 'f', '.', 'c', 'h', '\0',
   /* "alair.cn", false */ 'a', 'l', 'a', 'i', 'r', '.', 'c', 'n', '\0',
   /* "alaninkenya.org", true */ 'a', 'l', 'a', 'n', 'i', 'n', 'k', 'e', 'n', 'y', 'a', '.', 'o', 'r', 'g', '\0',
   /* "alaricfavier.eu", true */ 'a', 'l', 'a', 'r', 'i', 'c', 'f', 'a', 'v', 'i', 'e', 'r', '.', 'e', 'u', '\0',
   /* "alasta.info", true */ 'a', 'l', 'a', 's', 't', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "alaundeil.xyz", true */ 'a', 'l', 'a', 'u', 'n', 'd', 'e', 'i', 'l', '.', 'x', 'y', 'z', '\0',
   /* "alberguecimballa.es", true */ 'a', 'l', 'b', 'e', 'r', 'g', 'u', 'e', 'c', 'i', 'm', 'b', 'a', 'l', 'l', 'a', '.', 'e', 's', '\0',
   /* "albersdruck.de", true */ 'a', 'l', 'b', 'e', 'r', 's', 'd', 'r', 'u', 'c', 'k', '.', 'd', 'e', '\0',
   /* "albertbogdanowicz.pl", true */ 'a', 'l', 'b', 'e', 'r', 't', 'b', 'o', 'g', 'd', 'a', 'n', 'o', 'w', 'i', 'c', 'z', '.', 'p', 'l', '\0',
@@ -632,17 +638,16 @@ static const char kSTSHostTable[] = {
   /* "alexanderschimpf.de", true */ 'a', 'l', 'e', 'x', 'a', 'n', 'd', 'e', 'r', 's', 'c', 'h', 'i', 'm', 'p', 'f', '.', 'd', 'e', '\0',
   /* "alexandra-schulze.de", true */ 'a', 'l', 'e', 'x', 'a', 'n', 'd', 'r', 'a', '-', 's', 'c', 'h', 'u', 'l', 'z', 'e', '.', 'd', 'e', '\0',
   /* "alexbaker.org", true */ 'a', 'l', 'e', 'x', 'b', 'a', 'k', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "alexberts.ch", true */ 'a', 'l', 'e', 'x', 'b', 'e', 'r', 't', 's', '.', 'c', 'h', '\0',
   /* "alexdaniel.org", true */ 'a', 'l', 'e', 'x', 'd', 'a', 'n', 'i', 'e', 'l', '.', 'o', 'r', 'g', '\0',
   /* "alexei.su", true */ 'a', 'l', 'e', 'x', 'e', 'i', '.', 's', 'u', '\0',
   /* "alexey-shamara.ru", true */ 'a', 'l', 'e', 'x', 'e', 'y', '-', 's', 'h', 'a', 'm', 'a', 'r', 'a', '.', 'r', 'u', '\0',
   /* "alexgaynor.net", true */ 'a', 'l', 'e', 'x', 'g', 'a', 'y', 'n', 'o', 'r', '.', 'n', 'e', 't', '\0',
-  /* "alexhaydock.co.uk", true */ 'a', 'l', 'e', 'x', 'h', 'a', 'y', 'd', 'o', 'c', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "alexhd.de", true */ 'a', 'l', 'e', 'x', 'h', 'd', '.', 'd', 'e', '\0',
   /* "alexismeza.com", true */ 'a', 'l', 'e', 'x', 'i', 's', 'm', 'e', 'z', 'a', '.', 'c', 'o', 'm', '\0',
   /* "alexismeza.com.mx", true */ 'a', 'l', 'e', 'x', 'i', 's', 'm', 'e', 'z', 'a', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0',
   /* "alexismeza.dk", true */ 'a', 'l', 'e', 'x', 'i', 's', 'm', 'e', 'z', 'a', '.', 'd', 'k', '\0',
   /* "alexismeza.es", true */ 'a', 'l', 'e', 'x', 'i', 's', 'm', 'e', 'z', 'a', '.', 'e', 's', '\0',
   /* "alexismeza.nl", true */ 'a', 'l', 'e', 'x', 'i', 's', 'm', 'e', 'z', 'a', '.', 'n', 'l', '\0',
   /* "alexmak.net", true */ 'a', 'l', 'e', 'x', 'm', 'a', 'k', '.', 'n', 'e', 't', '\0',
   /* "alexmerkel.com", true */ 'a', 'l', 'e', 'x', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'c', 'o', 'm', '\0',
@@ -795,17 +800,16 @@ static const char kSTSHostTable[] = {
   /* "amsterdamian.com", true */ 'a', 'm', 's', 't', 'e', 'r', 'd', 'a', 'm', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "amuq.net", true */ 'a', 'm', 'u', 'q', '.', 'n', 'e', 't', '\0',
   /* "amv-crm.ru", true */ 'a', 'm', 'v', '-', 'c', 'r', 'm', '.', 'r', 'u', '\0',
   /* "amyharrisonline.com", true */ 'a', 'm', 'y', 'h', 'a', 'r', 'r', 'i', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "amyrussellhair.com", true */ 'a', 'm', 'y', 'r', 'u', 's', 's', 'e', 'l', 'l', 'h', 'a', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "amzn.rocks", true */ 'a', 'm', 'z', 'n', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "anacruz.es", true */ 'a', 'n', 'a', 'c', 'r', 'u', 'z', '.', 'e', 's', '\0',
   /* "anadoluefessk.org", true */ 'a', 'n', 'a', 'd', 'o', 'l', 'u', 'e', 'f', 'e', 's', 's', 'k', '.', 'o', 'r', 'g', '\0',
-  /* "anadoluefessporkulubu.org", true */ 'a', 'n', 'a', 'd', 'o', 'l', 'u', 'e', 'f', 'e', 's', 's', 'p', 'o', 'r', 'k', 'u', 'l', 'u', 'b', 'u', '.', 'o', 'r', 'g', '\0',
   /* "anakros.me", false */ 'a', 'n', 'a', 'k', 'r', 'o', 's', '.', 'm', 'e', '\0',
   /* "analangelsteen.com", true */ 'a', 'n', 'a', 'l', 'a', 'n', 'g', 'e', 'l', 's', 't', 'e', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "analpantyhose.org", true */ 'a', 'n', 'a', 'l', 'p', 'a', 'n', 't', 'y', 'h', 'o', 's', 'e', '.', 'o', 'r', 'g', '\0',
   /* "analteengirls.net", true */ 'a', 'n', 'a', 'l', 't', 'e', 'e', 'n', 'g', 'i', 'r', 'l', 's', '.', 'n', 'e', 't', '\0',
   /* "analyticsinmotion.com", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', 'i', 'n', 'm', 'o', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "analyticsinmotion.net", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', 'i', 'n', 'm', 'o', 't', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "analyticum.at", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 'u', 'm', '.', 'a', 't', '\0',
   /* "analyticum.com", true */ 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 'u', 'm', '.', 'c', 'o', 'm', '\0',
@@ -838,16 +842,17 @@ static const char kSTSHostTable[] = {
   /* "andreaseracleous.com", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'e', 'r', 'a', 'c', 'l', 'e', 'o', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "andreasfeusi.ch", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'f', 'e', 'u', 's', 'i', '.', 'c', 'h', '\0',
   /* "andreasfritz-fotografie.de", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'f', 'r', 'i', 't', 'z', '-', 'f', 'o', 't', 'o', 'g', 'r', 'a', 'f', 'i', 'e', '.', 'd', 'e', '\0',
   /* "andreaskluge.eu", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'k', 'l', 'u', 'g', 'e', '.', 'e', 'u', '\0',
   /* "andreaskrasa.com", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'k', 'r', 'a', 's', 'a', '.', 'c', 'o', 'm', '\0',
   /* "andreasolsson.se", true */ 'a', 'n', 'd', 'r', 'e', 'a', 's', 'o', 'l', 's', 's', 'o', 'n', '.', 's', 'e', '\0',
   /* "andrehansen.de", true */ 'a', 'n', 'd', 'r', 'e', 'h', 'a', 'n', 's', 'e', 'n', '.', 'd', 'e', '\0',
   /* "andrepicard.de", true */ 'a', 'n', 'd', 'r', 'e', 'p', 'i', 'c', 'a', 'r', 'd', '.', 'd', 'e', '\0',
+  /* "andrew.london", true */ 'a', 'n', 'd', 'r', 'e', 'w', '.', 'l', 'o', 'n', 'd', 'o', 'n', '\0',
   /* "andrewdaws.tv", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'd', 'a', 'w', 's', '.', 't', 'v', '\0',
   /* "andrewimeson.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'i', 'm', 'e', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "andrewin.ru", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'i', 'n', '.', 'r', 'u', '\0',
   /* "andrewmichaud.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'm', 'i', 'c', 'h', 'a', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "andrewmichaud.me", true */ 'a', 'n', 'd', 'r', 'e', 'w', 'm', 'i', 'c', 'h', 'a', 'u', 'd', '.', 'm', 'e', '\0',
   /* "andrewsun.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 's', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "andrewtebert.com", true */ 'a', 'n', 'd', 'r', 'e', 'w', 't', 'e', 'b', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "andrewthelott.net", true */ 'a', 'n', 'd', 'r', 'e', 'w', 't', 'h', 'e', 'l', 'o', 't', 't', '.', 'n', 'e', 't', '\0',
@@ -1015,17 +1020,16 @@ static const char kSTSHostTable[] = {
   /* "appuals.com", true */ 'a', 'p', 'p', 'u', 'a', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "appui-de-fenetre.fr", true */ 'a', 'p', 'p', 'u', 'i', '-', 'd', 'e', '-', 'f', 'e', 'n', 'e', 't', 'r', 'e', '.', 'f', 'r', '\0',
   /* "appuro.com", true */ 'a', 'p', 'p', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "apretatuercas.es", true */ 'a', 'p', 'r', 'e', 't', 'a', 't', 'u', 'e', 'r', 'c', 'a', 's', '.', 'e', 's', '\0',
   /* "aprovpn.com", true */ 'a', 'p', 'r', 'o', 'v', 'p', 'n', '.', 'c', 'o', 'm', '\0',
   /* "aprsdroid.org", true */ 'a', 'p', 'r', 's', 'd', 'r', 'o', 'i', 'd', '.', 'o', 'r', 'g', '\0',
   /* "aprz.de", true */ 'a', 'p', 'r', 'z', '.', 'd', 'e', '\0',
   /* "apstudynotes.org", true */ 'a', 'p', 's', 't', 'u', 'd', 'y', 'n', 'o', 't', 'e', 's', '.', 'o', 'r', 'g', '\0',
-  /* "aptive.co.uk", true */ 'a', 'p', 't', 'i', 'v', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "aqqrate.com", true */ 'a', 'q', 'q', 'r', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "aquahomo.com", true */ 'a', 'q', 'u', 'a', 'h', 'o', 'm', 'o', '.', 'c', 'o', 'm', '\0',
   /* "aqualife.com.gr", true */ 'a', 'q', 'u', 'a', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '.', 'g', 'r', '\0',
   /* "aqualogy.de", true */ 'a', 'q', 'u', 'a', 'l', 'o', 'g', 'y', '.', 'd', 'e', '\0',
   /* "aquapoint.kiev.ua", true */ 'a', 'q', 'u', 'a', 'p', 'o', 'i', 'n', 't', '.', 'k', 'i', 'e', 'v', '.', 'u', 'a', '\0',
   /* "aquaron.com", true */ 'a', 'q', 'u', 'a', 'r', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "aquavitaedayspa.com.au", true */ 'a', 'q', 'u', 'a', 'v', 'i', 't', 'a', 'e', 'd', 'a', 'y', 's', 'p', 'a', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "aquila.co.uk", true */ 'a', 'q', 'u', 'i', 'l', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -1379,17 +1383,16 @@ static const char kSTSHostTable[] = {
   /* "azzag.co.uk", true */ 'a', 'z', 'z', 'a', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "azzorti.com", true */ 'a', 'z', 'z', 'o', 'r', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "b-landia.net", true */ 'b', '-', 'l', 'a', 'n', 'd', 'i', 'a', '.', 'n', 'e', 't', '\0',
   /* "b-rickroll-e.pw", true */ 'b', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'e', '.', 'p', 'w', '\0',
   /* "b-root-force.de", true */ 'b', '-', 'r', 'o', 'o', 't', '-', 'f', 'o', 'r', 'c', 'e', '.', 'd', 'e', '\0',
   /* "b1c1l1.com", true */ 'b', '1', 'c', '1', 'l', '1', '.', 'c', 'o', 'm', '\0',
   /* "b2and.com", false */ 'b', '2', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "b2bmuzikbank.com", true */ 'b', '2', 'b', 'm', 'u', 'z', 'i', 'k', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '\0',
-  /* "b303.me", true */ 'b', '3', '0', '3', '.', 'm', 'e', '\0',
   /* "b422edu.com", true */ 'b', '4', '2', '2', 'e', 'd', 'u', '.', 'c', 'o', 'm', '\0',
   /* "baalsworld.de", true */ 'b', 'a', 'a', 'l', 's', 'w', 'o', 'r', 'l', 'd', '.', 'd', 'e', '\0',
   /* "baas-becking.biology.utah.edu", true */ 'b', 'a', 'a', 's', '-', 'b', 'e', 'c', 'k', 'i', 'n', 'g', '.', 'b', 'i', 'o', 'l', 'o', 'g', 'y', '.', 'u', 't', 'a', 'h', '.', 'e', 'd', 'u', '\0',
   /* "babacasino.net", true */ 'b', 'a', 'b', 'a', 'c', 'a', 's', 'i', 'n', 'o', '.', 'n', 'e', 't', '\0',
   /* "babak.de", false */ 'b', 'a', 'b', 'a', 'k', '.', 'd', 'e', '\0',
   /* "babarkata.com", true */ 'b', 'a', 'b', 'a', 'r', 'k', 'a', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "babelfisch.eu", true */ 'b', 'a', 'b', 'e', 'l', 'f', 'i', 's', 'c', 'h', '.', 'e', 'u', '\0',
   /* "babybee.ie", true */ 'b', 'a', 'b', 'y', 'b', 'e', 'e', '.', 'i', 'e', '\0',
@@ -1445,16 +1448,17 @@ static const char kSTSHostTable[] = {
   /* "balkonien.org", true */ 'b', 'a', 'l', 'k', 'o', 'n', 'i', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "ball.holdings", true */ 'b', 'a', 'l', 'l', '.', 'h', 'o', 'l', 'd', 'i', 'n', 'g', 's', '\0',
   /* "ballarin.cc", true */ 'b', 'a', 'l', 'l', 'a', 'r', 'i', 'n', '.', 'c', 'c', '\0',
   /* "ballbusting-cbt.com", true */ 'b', 'a', 'l', 'l', 'b', 'u', 's', 't', 'i', 'n', 'g', '-', 'c', 'b', 't', '.', 'c', 'o', 'm', '\0',
   /* "ballejaune.com", true */ 'b', 'a', 'l', 'l', 'e', 'j', 'a', 'u', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ballmerpeak.org", true */ 'b', 'a', 'l', 'l', 'm', 'e', 'r', 'p', 'e', 'a', 'k', '.', 'o', 'r', 'g', '\0',
   /* "ballotapi.com", true */ 'b', 'a', 'l', 'l', 'o', 't', 'a', 'p', 'i', '.', 'c', 'o', 'm', '\0',
   /* "ballothero.com", true */ 'b', 'a', 'l', 'l', 'o', 't', 'h', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0',
+  /* "balonmano.co", true */ 'b', 'a', 'l', 'o', 'n', 'm', 'a', 'n', 'o', '.', 'c', 'o', '\0',
   /* "bananabandy.com", true */ 'b', 'a', 'n', 'a', 'n', 'a', 'b', 'a', 'n', 'd', 'y', '.', 'c', 'o', 'm', '\0',
   /* "bananium.fr", true */ 'b', 'a', 'n', 'a', 'n', 'i', 'u', 'm', '.', 'f', 'r', '\0',
   /* "bancacrs.it", true */ 'b', 'a', 'n', 'c', 'a', 'c', 'r', 's', '.', 'i', 't', '\0',
   /* "bancoctt.pt", true */ 'b', 'a', 'n', 'c', 'o', 'c', 't', 't', '.', 'p', 't', '\0',
   /* "bandgap.io", true */ 'b', 'a', 'n', 'd', 'g', 'a', 'p', '.', 'i', 'o', '\0',
   /* "bandiga.it", true */ 'b', 'a', 'n', 'd', 'i', 'g', 'a', '.', 'i', 't', '\0',
   /* "bandito.re", true */ 'b', 'a', 'n', 'd', 'i', 't', 'o', '.', 'r', 'e', '\0',
   /* "bangkok-dark-night.com", true */ 'b', 'a', 'n', 'g', 'k', 'o', 'k', '-', 'd', 'a', 'r', 'k', '-', 'n', 'i', 'g', 'h', 't', '.', 'c', 'o', 'm', '\0',
@@ -1562,16 +1566,17 @@ static const char kSTSHostTable[] = {
   /* "bdd.fi", true */ 'b', 'd', 'd', '.', 'f', 'i', '\0',
   /* "bddemir.com", true */ 'b', 'd', 'd', 'e', 'm', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "bdikaros-network.net", true */ 'b', 'd', 'i', 'k', 'a', 'r', 'o', 's', '-', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'n', 'e', 't', '\0',
   /* "bdsmxxxpics.com", true */ 'b', 'd', 's', 'm', 'x', 'x', 'x', 'p', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "be-ka-tec.de", true */ 'b', 'e', '-', 'k', 'a', '-', 't', 'e', 'c', '.', 'd', 'e', '\0',
   /* "be-real.life", true */ 'b', 'e', '-', 'r', 'e', 'a', 'l', '.', 'l', 'i', 'f', 'e', '\0',
   /* "be-webdesign.com", true */ 'b', 'e', '-', 'w', 'e', 'b', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "be2cloud.de", true */ 'b', 'e', '2', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
+  /* "beamitapp.com", true */ 'b', 'e', 'a', 'm', 'i', 't', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "beanjuice.me", true */ 'b', 'e', 'a', 'n', 'j', 'u', 'i', 'c', 'e', '.', 'm', 'e', '\0',
   /* "beans-one.com", false */ 'b', 'e', 'a', 'n', 's', '-', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "beanworks.ca", true */ 'b', 'e', 'a', 'n', 'w', 'o', 'r', 'k', 's', '.', 'c', 'a', '\0',
   /* "bearden.io", true */ 'b', 'e', 'a', 'r', 'd', 'e', 'n', '.', 'i', 'o', '\0',
   /* "beasel.biz", true */ 'b', 'e', 'a', 's', 'e', 'l', '.', 'b', 'i', 'z', '\0',
   /* "beastlog.tk", true */ 'b', 'e', 'a', 's', 't', 'l', 'o', 'g', '.', 't', 'k', '\0',
   /* "beastowner.li", true */ 'b', 'e', 'a', 's', 't', 'o', 'w', 'n', 'e', 'r', '.', 'l', 'i', '\0',
   /* "beatnikbreaks.com", true */ 'b', 'e', 'a', 't', 'n', 'i', 'k', 'b', 'r', 'e', 'a', 'k', 's', '.', 'c', 'o', 'm', '\0',
@@ -1748,17 +1753,16 @@ static const char kSTSHostTable[] = {
   /* "bfelob.gov", true */ 'b', 'f', 'e', 'l', 'o', 'b', '.', 'g', 'o', 'v', '\0',
   /* "bffm.biz", true */ 'b', 'f', 'f', 'm', '.', 'b', 'i', 'z', '\0',
   /* "bfi.wien", false */ 'b', 'f', 'i', '.', 'w', 'i', 'e', 'n', '\0',
   /* "bftbradio.com", true */ 'b', 'f', 't', 'b', 'r', 'a', 'd', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "bfw-online.de", true */ 'b', 'f', 'w', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "bgdaddy.com", true */ 'b', 'g', 'd', 'a', 'd', 'd', 'y', '.', 'c', 'o', 'm', '\0',
   /* "bgenlisted.com", true */ 'b', 'g', 'e', 'n', 'l', 'i', 's', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "bgeo.io", true */ 'b', 'g', 'e', 'o', '.', 'i', 'o', '\0',
-  /* "bgkoleda.bg", true */ 'b', 'g', 'k', 'o', 'l', 'e', 'd', 'a', '.', 'b', 'g', '\0',
   /* "bgneuesheim.de", true */ 'b', 'g', 'n', 'e', 'u', 'e', 's', 'h', 'e', 'i', 'm', '.', 'd', 'e', '\0',
   /* "bhodisoft.com", true */ 'b', 'h', 'o', 'd', 'i', 's', 'o', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "bhtelecom.ba", true */ 'b', 'h', 't', 'e', 'l', 'e', 'c', 'o', 'm', '.', 'b', 'a', '\0',
   /* "bhuntr.com", true */ 'b', 'h', 'u', 'n', 't', 'r', '.', 'c', 'o', 'm', '\0',
   /* "bia.gov", true */ 'b', 'i', 'a', '.', 'g', 'o', 'v', '\0',
   /* "bianinapiccanovias.com", true */ 'b', 'i', 'a', 'n', 'i', 'n', 'a', 'p', 'i', 'c', 'c', 'a', 'n', 'o', 'v', 'i', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "biasmath.es", true */ 'b', 'i', 'a', 's', 'm', 'a', 't', 'h', '.', 'e', 's', '\0',
   /* "biathloncup.ru", true */ 'b', 'i', 'a', 't', 'h', 'l', 'o', 'n', 'c', 'u', 'p', '.', 'r', 'u', '\0',
@@ -2457,16 +2461,17 @@ static const char kSTSHostTable[] = {
   /* "cadoth.net", true */ 'c', 'a', 'd', 'o', 't', 'h', '.', 'n', 'e', 't', '\0',
   /* "cadusilva.com", true */ 'c', 'a', 'd', 'u', 's', 'i', 'l', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "caesarkabalan.com", true */ 'c', 'a', 'e', 's', 'a', 'r', 'k', 'a', 'b', 'a', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "cafe-service.ru", true */ 'c', 'a', 'f', 'e', '-', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 'r', 'u', '\0',
   /* "caffeinatedcode.com", true */ 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "caipai.fm", true */ 'c', 'a', 'i', 'p', 'a', 'i', '.', 'f', 'm', '\0',
   /* "cairnterrier.com.br", true */ 'c', 'a', 'i', 'r', 'n', 't', 'e', 'r', 'r', 'i', 'e', 'r', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "cais.de", true */ 'c', 'a', 'i', 's', '.', 'd', 'e', '\0',
+  /* "caitcs.com", true */ 'c', 'a', 'i', 't', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "caizx.com", false */ 'c', 'a', 'i', 'z', 'x', '.', 'c', 'o', 'm', '\0',
   /* "caja-pdf.es", true */ 'c', 'a', 'j', 'a', '-', 'p', 'd', 'f', '.', 'e', 's', '\0',
   /* "cajio.ru", true */ 'c', 'a', 'j', 'i', 'o', '.', 'r', 'u', '\0',
   /* "cajunuk.co.uk", true */ 'c', 'a', 'j', 'u', 'n', 'u', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "cakestart.net", true */ 'c', 'a', 'k', 'e', 's', 't', 'a', 'r', 't', '.', 'n', 'e', 't', '\0',
   /* "calaborlawnews.com", true */ 'c', 'a', 'l', 'a', 'b', 'o', 'r', 'l', 'a', 'w', 'n', 'e', 'w', 's', '.', 'c', 'o', 'm', '\0',
   /* "calc.pw", true */ 'c', 'a', 'l', 'c', '.', 'p', 'w', '\0',
   /* "calcularpagerank.com.br", true */ 'c', 'a', 'l', 'c', 'u', 'l', 'a', 'r', 'p', 'a', 'g', 'e', 'r', 'a', 'n', 'k', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
@@ -2524,17 +2529,16 @@ static const char kSTSHostTable[] = {
   /* "canadianchristianity.com", true */ 'c', 'a', 'n', 'a', 'd', 'i', 'a', 'n', 'c', 'h', 'r', 'i', 's', 't', 'i', 'a', 'n', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "canalsidehouse.be", true */ 'c', 'a', 'n', 'a', 'l', 's', 'i', 'd', 'e', 'h', 'o', 'u', 's', 'e', '.', 'b', 'e', '\0',
   /* "canarianlegalalliance.com", true */ 'c', 'a', 'n', 'a', 'r', 'i', 'a', 'n', 'l', 'e', 'g', 'a', 'l', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "canarymod.net", true */ 'c', 'a', 'n', 'a', 'r', 'y', 'm', 'o', 'd', '.', 'n', 'e', 't', '\0',
   /* "cancerdata.nhs.uk", true */ 'c', 'a', 'n', 'c', 'e', 'r', 'd', 'a', 't', 'a', '.', 'n', 'h', 's', '.', 'u', 'k', '\0',
   /* "cando.eu", true */ 'c', 'a', 'n', 'd', 'o', '.', 'e', 'u', '\0',
   /* "candy-it.de", true */ 'c', 'a', 'n', 'd', 'y', '-', 'i', 't', '.', 'd', 'e', '\0',
   /* "candyout.com", true */ 'c', 'a', 'n', 'd', 'y', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
-  /* "canfly.org", false */ 'c', 'a', 'n', 'f', 'l', 'y', '.', 'o', 'r', 'g', '\0',
   /* "canhazip.com", true */ 'c', 'a', 'n', 'h', 'a', 'z', 'i', 'p', '.', 'c', 'o', 'm', '\0',
   /* "canifis.net", true */ 'c', 'a', 'n', 'i', 'f', 'i', 's', '.', 'n', 'e', 't', '\0',
   /* "canihavesome.coffee", true */ 'c', 'a', 'n', 'i', 'h', 'a', 'v', 'e', 's', 'o', 'm', 'e', '.', 'c', 'o', 'f', 'f', 'e', 'e', '\0',
   /* "canlidoviz.com", true */ 'c', 'a', 'n', 'l', 'i', 'd', 'o', 'v', 'i', 'z', '.', 'c', 'o', 'm', '\0',
   /* "cannabis-marijuana.com", true */ 'c', 'a', 'n', 'n', 'a', 'b', 'i', 's', '-', 'm', 'a', 'r', 'i', 'j', 'u', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "canoonic.se", true */ 'c', 'a', 'n', 'o', 'o', 'n', 'i', 'c', '.', 's', 'e', '\0',
   /* "cantatio.ch", true */ 'c', 'a', 'n', 't', 'a', 't', 'i', 'o', '.', 'c', 'h', '\0',
   /* "canterberry.cc", true */ 'c', 'a', 'n', 't', 'e', 'r', 'b', 'e', 'r', 'r', 'y', '.', 'c', 'c', '\0',
@@ -2542,17 +2546,16 @@ static const char kSTSHostTable[] = {
   /* "canva-dev.com", true */ 'c', 'a', 'n', 'v', 'a', '-', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "canva.com", true */ 'c', 'a', 'n', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "canyoupwn.me", true */ 'c', 'a', 'n', 'y', 'o', 'u', 'p', 'w', 'n', '.', 'm', 'e', '\0',
   /* "cao.gov", true */ 'c', 'a', 'o', '.', 'g', 'o', 'v', '\0',
   /* "cao.la", true */ 'c', 'a', 'o', '.', 'l', 'a', '\0',
   /* "caodecristachines.com.br", true */ 'c', 'a', 'o', 'd', 'e', 'c', 'r', 'i', 's', 't', 'a', 'c', 'h', 'i', 'n', 'e', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "caodesantohumberto.com.br", true */ 'c', 'a', 'o', 'd', 'e', 's', 'a', 'n', 't', 'o', 'h', 'u', 'm', 'b', 'e', 'r', 't', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "capacent.is", true */ 'c', 'a', 'p', 'a', 'c', 'e', 'n', 't', '.', 'i', 's', '\0',
-  /* "capellidipremoli.com", true */ 'c', 'a', 'p', 'e', 'l', 'l', 'i', 'd', 'i', 'p', 'r', 'e', 'm', 'o', 'l', 'i', '.', 'c', 'o', 'm', '\0',
   /* "caphane.com", true */ 'c', 'a', 'p', 'h', 'a', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "capitalcap.com", true */ 'c', 'a', 'p', 'i', 't', 'a', 'l', 'c', 'a', 'p', '.', 'c', 'o', 'm', '\0',
   /* "capitalibre.com", true */ 'c', 'a', 'p', 'i', 't', 'a', 'l', 'i', 'b', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "capitalonecardservice.com", true */ 'c', 'a', 'p', 'i', 't', 'a', 'l', 'o', 'n', 'e', 'c', 'a', 'r', 'd', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "capitalp.jp", true */ 'c', 'a', 'p', 'i', 't', 'a', 'l', 'p', '.', 'j', 'p', '\0',
   /* "capitalquadatv.org.nz", true */ 'c', 'a', 'p', 'i', 't', 'a', 'l', 'q', 'u', 'a', 'd', 'a', 't', 'v', '.', 'o', 'r', 'g', '.', 'n', 'z', '\0',
   /* "capitaltg.com", true */ 'c', 'a', 'p', 'i', 't', 'a', 'l', 't', 'g', '.', 'c', 'o', 'm', '\0',
   /* "capitolpathways.org", true */ 'c', 'a', 'p', 'i', 't', 'o', 'l', 'p', 'a', 't', 'h', 'w', 'a', 'y', 's', '.', 'o', 'r', 'g', '\0',
@@ -2748,17 +2751,16 @@ static const char kSTSHostTable[] = {
   /* "cgan.pw", true */ 'c', 'g', 'a', 'n', '.', 'p', 'w', '\0',
   /* "cgbilling.com", true */ 'c', 'g', 'b', 'i', 'l', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "cgcookiemarkets.com", true */ 'c', 'g', 'c', 'o', 'o', 'k', 'i', 'e', 'm', 'a', 'r', 'k', 'e', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "cgtx.us", true */ 'c', 'g', 't', 'x', '.', 'u', 's', '\0',
   /* "ch-sc.de", true */ 'c', 'h', '-', 's', 'c', '.', 'd', 'e', '\0',
   /* "ch.search.yahoo.com", false */ 'c', 'h', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "chabaudparfum.com", true */ 'c', 'h', 'a', 'b', 'a', 'u', 'd', 'p', 'a', 'r', 'f', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "chadstoneapartments.com.au", true */ 'c', 'h', 'a', 'd', 's', 't', 'o', 'n', 'e', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
-  /* "chahub.com", true */ 'c', 'h', 'a', 'h', 'u', 'b', '.', 'c', 'o', 'm', '\0',
   /* "chaletmanager.com", true */ 'c', 'h', 'a', 'l', 'e', 't', 'm', 'a', 'n', 'a', 'g', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "chamathellawala.com", true */ 'c', 'h', 'a', 'm', 'a', 't', 'h', 'e', 'l', 'l', 'a', 'w', 'a', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "chameth.com", true */ 'c', 'h', 'a', 'm', 'e', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "chamilo.org", true */ 'c', 'h', 'a', 'm', 'i', 'l', 'o', '.', 'o', 'r', 'g', '\0',
   /* "champicreuse.fr", true */ 'c', 'h', 'a', 'm', 'p', 'i', 'c', 'r', 'e', 'u', 's', 'e', '.', 'f', 'r', '\0',
   /* "chanissue.com", true */ 'c', 'h', 'a', 'n', 'i', 's', 's', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "channelcards.com", true */ 'c', 'h', 'a', 'n', 'n', 'e', 'l', 'c', 'a', 'r', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "channellife.asia", true */ 'c', 'h', 'a', 'n', 'n', 'e', 'l', 'l', 'i', 'f', 'e', '.', 'a', 's', 'i', 'a', '\0',
@@ -2836,16 +2838,17 @@ static const char kSTSHostTable[] = {
   /* "cherryonit.com", true */ 'c', 'h', 'e', 'r', 'r', 'y', 'o', 'n', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "cherrywoodtech.com", true */ 'c', 'h', 'e', 'r', 'r', 'y', 'w', 'o', 'o', 'd', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "chesterbrass.uk", true */ 'c', 'h', 'e', 's', 't', 'e', 'r', 'b', 'r', 'a', 's', 's', '.', 'u', 'k', '\0',
   /* "chestnut.cf", true */ 'c', 'h', 'e', 's', 't', 'n', 'u', 't', '.', 'c', 'f', '\0',
   /* "chewey.de", true */ 'c', 'h', 'e', 'w', 'e', 'y', '.', 'd', 'e', '\0',
   /* "chewey.org", true */ 'c', 'h', 'e', 'w', 'e', 'y', '.', 'o', 'r', 'g', '\0',
   /* "chfr.search.yahoo.com", false */ 'c', 'h', 'f', 'r', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "chhy.at", true */ 'c', 'h', 'h', 'y', '.', 'a', 't', '\0',
+  /* "chiaraiuola.com", true */ 'c', 'h', 'i', 'a', 'r', 'a', 'i', 'u', 'o', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "chiaramail.com", true */ 'c', 'h', 'i', 'a', 'r', 'a', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "chib.chat", true */ 'c', 'h', 'i', 'b', '.', 'c', 'h', 'a', 't', '\0',
   /* "chic-leather.com", true */ 'c', 'h', 'i', 'c', '-', 'l', 'e', 'a', 't', 'h', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "chicisimo.com", true */ 'c', 'h', 'i', 'c', 'i', 's', 'i', 'm', 'o', '.', 'c', 'o', 'm', '\0',
   /* "chicorycom.net", true */ 'c', 'h', 'i', 'c', 'o', 'r', 'y', 'c', 'o', 'm', '.', 'n', 'e', 't', '\0',
   /* "chikan-beacon.net", true */ 'c', 'h', 'i', 'k', 'a', 'n', '-', 'b', 'e', 'a', 'c', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "chikory.com", true */ 'c', 'h', 'i', 'k', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "childno.de", true */ 'c', 'h', 'i', 'l', 'd', 'n', 'o', '.', 'd', 'e', '\0',
@@ -2874,18 +2877,16 @@ static const char kSTSHostTable[] = {
   /* "chocolah.com.au", false */ 'c', 'h', 'o', 'c', 'o', 'l', 'a', 'h', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "chocolatesandhealth.com", true */ 'c', 'h', 'o', 'c', 'o', 'l', 'a', 't', 'e', 's', 'a', 'n', 'd', 'h', 'e', 'a', 'l', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "chocotough.nl", false */ 'c', 'h', 'o', 'c', 'o', 't', 'o', 'u', 'g', 'h', '.', 'n', 'l', '\0',
   /* "choiralberta.ca", true */ 'c', 'h', 'o', 'i', 'r', 'a', 'l', 'b', 'e', 'r', 't', 'a', '.', 'c', 'a', '\0',
   /* "chokladfantasi.net", true */ 'c', 'h', 'o', 'k', 'l', 'a', 'd', 'f', 'a', 'n', 't', 'a', 's', 'i', '.', 'n', 'e', 't', '\0',
   /* "chonghe.org", true */ 'c', 'h', 'o', 'n', 'g', 'h', 'e', '.', 'o', 'r', 'g', '\0',
   /* "choosemypc.net", true */ 'c', 'h', 'o', 'o', 's', 'e', 'm', 'y', 'p', 'c', '.', 'n', 'e', 't', '\0',
   /* "chopperforums.com", true */ 'c', 'h', 'o', 'p', 'p', 'e', 'r', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0',
-  /* "chorkley.co.uk", true */ 'c', 'h', 'o', 'r', 'k', 'l', 'e', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
-  /* "chorkley.uk", true */ 'c', 'h', 'o', 'r', 'k', 'l', 'e', 'y', '.', 'u', 'k', '\0',
   /* "chorpinkpoemps.de", true */ 'c', 'h', 'o', 'r', 'p', 'i', 'n', 'k', 'p', 'o', 'e', 'm', 'p', 's', '.', 'd', 'e', '\0',
   /* "chosenplaintext.org", true */ 'c', 'h', 'o', 's', 'e', 'n', 'p', 'l', 'a', 'i', 'n', 't', 'e', 'x', 't', '.', 'o', 'r', 'g', '\0',
   /* "chourishi-shigoto.com", true */ 'c', 'h', 'o', 'u', 'r', 'i', 's', 'h', 'i', '-', 's', 'h', 'i', 'g', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "chris-edwards.net", true */ 'c', 'h', 'r', 'i', 's', '-', 'e', 'd', 'w', 'a', 'r', 'd', 's', '.', 'n', 'e', 't', '\0',
   /* "chrisb.me", true */ 'c', 'h', 'r', 'i', 's', 'b', '.', 'm', 'e', '\0',
   /* "chrisb.xyz", true */ 'c', 'h', 'r', 'i', 's', 'b', '.', 'x', 'y', 'z', '\0',
   /* "chrisbrown.id.au", true */ 'c', 'h', 'r', 'i', 's', 'b', 'r', 'o', 'w', 'n', '.', 'i', 'd', '.', 'a', 'u', '\0',
   /* "chriscarey.com", true */ 'c', 'h', 'r', 'i', 's', 'c', 'a', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0',
@@ -3064,17 +3065,16 @@ static const char kSTSHostTable[] = {
   /* "cloudapps.digital", true */ 'c', 'l', 'o', 'u', 'd', 'a', 'p', 'p', 's', '.', 'd', 'i', 'g', 'i', 't', 'a', 'l', '\0',
   /* "cloudbased.info", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'a', 's', 'e', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cloudbasedsite.com", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'a', 's', 'e', 'd', 's', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cloudbleed.info", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'l', 'e', 'e', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cloudbolin.es", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'o', 'l', 'i', 'n', '.', 'e', 's', '\0',
   /* "cloudcaprice.net", true */ 'c', 'l', 'o', 'u', 'd', 'c', 'a', 'p', 'r', 'i', 'c', 'e', '.', 'n', 'e', 't', '\0',
   /* "cloudflareonazure.com", true */ 'c', 'l', 'o', 'u', 'd', 'f', 'l', 'a', 'r', 'e', 'o', 'n', 'a', 'z', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cloudia.org", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'a', '.', 'o', 'r', 'g', '\0',
-  /* "cloudily.com", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "cloudmigrator365.com", true */ 'c', 'l', 'o', 'u', 'd', 'm', 'i', 'g', 'r', 'a', 't', 'o', 'r', '3', '6', '5', '.', 'c', 'o', 'm', '\0',
   /* "cloudoptimizedsmb.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'i', 'z', 'e', 'd', 's', 'm', 'b', '.', 'c', 'o', 'm', '\0',
   /* "cloudoptimus.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "cloudpagesforwork.com", true */ 'c', 'l', 'o', 'u', 'd', 'p', 'a', 'g', 'e', 's', 'f', 'o', 'r', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "cloudpebble.net", true */ 'c', 'l', 'o', 'u', 'd', 'p', 'e', 'b', 'b', 'l', 'e', '.', 'n', 'e', 't', '\0',
   /* "cloudpipes.com", true */ 'c', 'l', 'o', 'u', 'd', 'p', 'i', 'p', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "clouds.webcam", true */ 'c', 'l', 'o', 'u', 'd', 's', '.', 'w', 'e', 'b', 'c', 'a', 'm', '\0',
   /* "cloudsecurityalliance.org", true */ 'c', 'l', 'o', 'u', 'd', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'o', 'r', 'g', '\0',
@@ -3083,30 +3083,28 @@ static const char kSTSHostTable[] = {
   /* "cloudstrike.co", true */ 'c', 'l', 'o', 'u', 'd', 's', 't', 'r', 'i', 'k', 'e', '.', 'c', 'o', '\0',
   /* "cloudteam.de", true */ 'c', 'l', 'o', 'u', 'd', 't', 'e', 'a', 'm', '.', 'd', 'e', '\0',
   /* "cloudup.com", true */ 'c', 'l', 'o', 'u', 'd', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "clovissantos.com", true */ 'c', 'l', 'o', 'v', 'i', 's', 's', 'a', 'n', 't', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "clowde.in", true */ 'c', 'l', 'o', 'w', 'd', 'e', '.', 'i', 'n', '\0',
   /* "clownish.co.il", true */ 'c', 'l', 'o', 'w', 'n', 'i', 's', 'h', '.', 'c', 'o', '.', 'i', 'l', '\0',
   /* "cloxy.com", true */ 'c', 'l', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0',
   /* "clr3.com", true */ 'c', 'l', 'r', '3', '.', 'c', 'o', 'm', '\0',
-  /* "clsimplex.com", true */ 'c', 'l', 's', 'i', 'm', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "clu-in.org", true */ 'c', 'l', 'u', '-', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "club-is.ru", true */ 'c', 'l', 'u', 'b', '-', 'i', 's', '.', 'r', 'u', '\0',
   /* "clubempleos.com", true */ 'c', 'l', 'u', 'b', 'e', 'm', 'p', 'l', 'e', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "clubeohara.com", true */ 'c', 'l', 'u', 'b', 'e', 'o', 'h', 'a', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "clubmini.jp", true */ 'c', 'l', 'u', 'b', 'm', 'i', 'n', 'i', '.', 'j', 'p', '\0',
   /* "clubmix.co.kr", true */ 'c', 'l', 'u', 'b', 'm', 'i', 'x', '.', 'c', 'o', '.', 'k', 'r', '\0',
   /* "clubon.space", true */ 'c', 'l', 'u', 'b', 'o', 'n', '.', 's', 'p', 'a', 'c', 'e', '\0',
   /* "clustermaze.net", true */ 'c', 'l', 'u', 's', 't', 'e', 'r', 'm', 'a', 'z', 'e', '.', 'n', 'e', 't', '\0',
   /* "clvs7.com", true */ 'c', 'l', 'v', 's', '7', '.', 'c', 'o', 'm', '\0',
   /* "cmahy.be", true */ 'c', 'm', 'a', 'h', 'y', '.', 'b', 'e', '\0',
   /* "cmdline.org", true */ 'c', 'm', 'd', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "cms-weble.jp", true */ 'c', 'm', 's', '-', 'w', 'e', 'b', 'l', 'e', '.', 'j', 'p', '\0',
-  /* "cmso-cal.com", true */ 'c', 'm', 's', 'o', '-', 'c', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "cmylife.nl", true */ 'c', 'm', 'y', 'l', 'i', 'f', 'e', '.', 'n', 'l', '\0',
   /* "cnam.net", true */ 'c', 'n', 'a', 'm', '.', 'n', 'e', 't', '\0',
   /* "cnbs.ch", true */ 'c', 'n', 'b', 's', '.', 'c', 'h', '\0',
   /* "cnc-lehrgang.de", true */ 'c', 'n', 'c', '-', 'l', 'e', 'h', 'r', 'g', 'a', 'n', 'g', '.', 'd', 'e', '\0',
   /* "cncn.us", true */ 'c', 'n', 'c', 'n', '.', 'u', 's', '\0',
   /* "cnlic.com", true */ 'c', 'n', 'l', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "cnwage.com", true */ 'c', 'n', 'w', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cnwarn.com", true */ 'c', 'n', 'w', 'a', 'r', 'n', '.', 'c', 'o', 'm', '\0',
@@ -3143,17 +3141,16 @@ static const char kSTSHostTable[] = {
   /* "codeforhakodate.org", true */ 'c', 'o', 'd', 'e', 'f', 'o', 'r', 'h', 'a', 'k', 'o', 'd', 'a', 't', 'e', '.', 'o', 'r', 'g', '\0',
   /* "codefoundry.it", false */ 'c', 'o', 'd', 'e', 'f', 'o', 'u', 'n', 'd', 'r', 'y', '.', 'i', 't', '\0',
   /* "codeit.guru", true */ 'c', 'o', 'd', 'e', 'i', 't', '.', 'g', 'u', 'r', 'u', '\0',
   /* "codelove.de", true */ 'c', 'o', 'd', 'e', 'l', 'o', 'v', 'e', '.', 'd', 'e', '\0',
   /* "codenode.io", true */ 'c', 'o', 'd', 'e', 'n', 'o', 'd', 'e', '.', 'i', 'o', '\0',
   /* "codeplay.org", true */ 'c', 'o', 'd', 'e', 'p', 'l', 'a', 'y', '.', 'o', 'r', 'g', '\0',
   /* "codepoints.net", true */ 'c', 'o', 'd', 'e', 'p', 'o', 'i', 'n', 't', 's', '.', 'n', 'e', 't', '\0',
   /* "codepref.com", true */ 'c', 'o', 'd', 'e', 'p', 'r', 'e', 'f', '.', 'c', 'o', 'm', '\0',
-  /* "codepult.com", true */ 'c', 'o', 'd', 'e', 'p', 'u', 'l', 't', '.', 'c', 'o', 'm', '\0',
   /* "codera.co.uk", true */ 'c', 'o', 'd', 'e', 'r', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "codercross.com", true */ 'c', 'o', 'd', 'e', 'r', 'c', 'r', 'o', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "codereview.appspot.com", false */ 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "codereview.chromium.org", false */ 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w', '.', 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
   /* "coderhangout.com", true */ 'c', 'o', 'd', 'e', 'r', 'h', 'a', 'n', 'g', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "codesport.io", true */ 'c', 'o', 'd', 'e', 's', 'p', 'o', 'r', 't', '.', 'i', 'o', '\0',
   /* "codeux.com", true */ 'c', 'o', 'd', 'e', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "codewiz.xyz", true */ 'c', 'o', 'd', 'e', 'w', 'i', 'z', '.', 'x', 'y', 'z', '\0',
@@ -3196,16 +3193,17 @@ static const char kSTSHostTable[] = {
   /* "colinstark.ca", true */ 'c', 'o', 'l', 'i', 'n', 's', 't', 'a', 'r', 'k', '.', 'c', 'a', '\0',
   /* "colisfrais.com", false */ 'c', 'o', 'l', 'i', 's', 'f', 'r', 'a', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "collabornation.net", true */ 'c', 'o', 'l', 'l', 'a', 'b', 'o', 'r', 'n', 'a', 't', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "collabra.email", true */ 'c', 'o', 'l', 'l', 'a', 'b', 'r', 'a', '.', 'e', 'm', 'a', 'i', 'l', '\0',
   /* "collaction.hk", true */ 'c', 'o', 'l', 'l', 'a', 'c', 't', 'i', 'o', 'n', '.', 'h', 'k', '\0',
   /* "collada.org", true */ 'c', 'o', 'l', 'l', 'a', 'd', 'a', '.', 'o', 'r', 'g', '\0',
   /* "collbox.co", true */ 'c', 'o', 'l', 'l', 'b', 'o', 'x', '.', 'c', 'o', '\0',
   /* "collectdocs.com", true */ 'c', 'o', 'l', 'l', 'e', 'c', 't', 'd', 'o', 'c', 's', '.', 'c', 'o', 'm', '\0',
+  /* "collectfood.com", true */ 'c', 'o', 'l', 'l', 'e', 'c', 't', 'f', 'o', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "collectiblebeans.com", true */ 'c', 'o', 'l', 'l', 'e', 'c', 't', 'i', 'b', 'l', 'e', 'b', 'e', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "collectosaurus.com", true */ 'c', 'o', 'l', 'l', 'e', 'c', 't', 'o', 's', 'a', 'u', 'r', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "collegepulse.org", false */ 'c', 'o', 'l', 'l', 'e', 'g', 'e', 'p', 'u', 'l', 's', 'e', '.', 'o', 'r', 'g', '\0',
   /* "collinghammethodist.org.uk", true */ 'c', 'o', 'l', 'l', 'i', 'n', 'g', 'h', 'a', 'm', 'm', 'e', 't', 'h', 'o', 'd', 'i', 's', 't', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "collinmbarrett.com", true */ 'c', 'o', 'l', 'l', 'i', 'n', 'm', 'b', 'a', 'r', 'r', 'e', 't', 't', '.', 'c', 'o', 'm', '\0',
   /* "collinsartworks.com", true */ 'c', 'o', 'l', 'l', 'i', 'n', 's', 'a', 'r', 't', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "colo-tech.com", true */ 'c', 'o', 'l', 'o', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "colombian.dating", true */ 'c', 'o', 'l', 'o', 'm', 'b', 'i', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
@@ -3439,34 +3437,32 @@ static const char kSTSHostTable[] = {
   /* "crazymeeshu.com", true */ 'c', 'r', 'a', 'z', 'y', 'm', 'e', 'e', 's', 'h', 'u', '.', 'c', 'o', 'm', '\0',
   /* "crazypaul.com", true */ 'c', 'r', 'a', 'z', 'y', 'p', 'a', 'u', 'l', '.', 'c', 'o', 'm', '\0',
   /* "crbug.com", true */ 'c', 'r', 'b', 'u', 'g', '.', 'c', 'o', 'm', '\0',
   /* "crea.me", true */ 'c', 'r', 'e', 'a', '.', 'm', 'e', '\0',
   /* "create-test-publish.co.uk", true */ 'c', 'r', 'e', 'a', 't', 'e', '-', 't', 'e', 's', 't', '-', 'p', 'u', 'b', 'l', 'i', 's', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "creative-wave.fr", true */ 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', '-', 'w', 'a', 'v', 'e', '.', 'f', 'r', '\0',
   /* "creativeartifice.com", true */ 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', 'a', 'r', 't', 'i', 'f', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "creativecaptiv.es", true */ 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', 'c', 'a', 'p', 't', 'i', 'v', '.', 'e', 's', '\0',
-  /* "creativecommonscatpictures.com", true */ 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', 'c', 'o', 'm', 'm', 'o', 'n', 's', 'c', 'a', 't', 'p', 'i', 'c', 't', 'u', 'r', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "creativeliquid.com", true */ 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', 'l', 'i', 'q', 'u', 'i', 'd', '.', 'c', 'o', 'm', '\0',
   /* "creativeweb.biz", true */ 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', 'w', 'e', 'b', '.', 'b', 'i', 'z', '\0',
   /* "crecket.me", true */ 'c', 'r', 'e', 'c', 'k', 'e', 't', '.', 'm', 'e', '\0',
   /* "credential.eu", true */ 'c', 'r', 'e', 'd', 'e', 'n', 't', 'i', 'a', 'l', '.', 'e', 'u', '\0',
   /* "creditclear.com.au", true */ 'c', 'r', 'e', 'd', 'i', 't', 'c', 'l', 'e', 'a', 'r', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "crediteo.pl", true */ 'c', 'r', 'e', 'd', 'i', 't', 'e', 'o', '.', 'p', 'l', '\0',
   /* "creditkarma.com", true */ 'c', 'r', 'e', 'd', 'i', 't', 'k', 'a', 'r', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "creditos-rapidos.com", true */ 'c', 'r', 'e', 'd', 'i', 't', 'o', 's', '-', 'r', 'a', 'p', 'i', 'd', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "creditproautos.com", false */ 'c', 'r', 'e', 'd', 'i', 't', 'p', 'r', 'o', 'a', 'u', 't', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "creditstar.lt", true */ 'c', 'r', 'e', 'd', 'i', 't', 's', 't', 'a', 'r', '.', 'l', 't', '\0',
   /* "creep.im", true */ 'c', 'r', 'e', 'e', 'p', '.', 'i', 'm', '\0',
   /* "creepypastas.com", true */ 'c', 'r', 'e', 'e', 'p', 'y', 'p', 'a', 's', 't', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "crefelder.com", true */ 'c', 'r', 'e', 'f', 'e', 'l', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "crena.ch", true */ 'c', 'r', 'e', 'n', 'a', '.', 'c', 'h', '\0',
   /* "crepererum.net", true */ 'c', 'r', 'e', 'p', 'e', 'r', 'e', 'r', 'u', 'm', '.', 'n', 'e', 't', '\0',
   /* "crescent.gr.jp", true */ 'c', 'r', 'e', 's', 'c', 'e', 'n', 't', '.', 'g', 'r', '.', 'j', 'p', '\0',
-  /* "crestasantos.com", true */ 'c', 'r', 'e', 's', 't', 'a', 's', 'a', 'n', 't', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "crge.eu", true */ 'c', 'r', 'g', 'e', '.', 'e', 'u', '\0',
   /* "criena.net", true */ 'c', 'r', 'i', 'e', 'n', 'a', '.', 'n', 'e', 't', '\0',
   /* "crimewatch.net.za", true */ 'c', 'r', 'i', 'm', 'e', 'w', 'a', 't', 'c', 'h', '.', 'n', 'e', 't', '.', 'z', 'a', '\0',
   /* "criminal-attorney.ru", true */ 'c', 'r', 'i', 'm', 'i', 'n', 'a', 'l', '-', 'a', 't', 't', 'o', 'r', 'n', 'e', 'y', '.', 'r', 'u', '\0',
   /* "criminal.enterprises", true */ 'c', 'r', 'i', 'm', 'i', 'n', 'a', 'l', '.', 'e', 'n', 't', 'e', 'r', 'p', 'r', 'i', 's', 'e', 's', '\0',
   /* "crimson.no", true */ 'c', 'r', 'i', 'm', 's', 'o', 'n', '.', 'n', 'o', '\0',
   /* "crisp.im", true */ 'c', 'r', 'i', 's', 'p', '.', 'i', 'm', '\0',
   /* "cristiandeluxe.com", true */ 'c', 'r', 'i', 's', 't', 'i', 'a', 'n', 'd', 'e', 'l', 'u', 'x', 'e', '.', 'c', 'o', 'm', '\0',
@@ -3563,17 +3559,16 @@ static const char kSTSHostTable[] = {
   /* "cubos.io", true */ 'c', 'u', 'b', 'o', 's', '.', 'i', 'o', '\0',
   /* "cubostecnologia.com", true */ 'c', 'u', 'b', 'o', 's', 't', 'e', 'c', 'n', 'o', 'l', 'o', 'g', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "cubostecnologia.com.br", true */ 'c', 'u', 'b', 'o', 's', 't', 'e', 'c', 'n', 'o', 'l', 'o', 'g', 'i', 'a', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "cubua.com", true */ 'c', 'u', 'b', 'u', 'a', '.', 'c', 'o', 'm', '\0',
   /* "cucc.date", true */ 'c', 'u', 'c', 'c', '.', 'd', 'a', 't', 'e', '\0',
   /* "cuddlecomfort.com", true */ 'c', 'u', 'd', 'd', 'l', 'e', 'c', 'o', 'm', 'f', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "cuecasonline.com.br", true */ 'c', 'u', 'e', 'c', 'a', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "cuetoems.com", true */ 'c', 'u', 'e', 't', 'o', 'e', 'm', 's', '.', 'c', 'o', 'm', '\0',
-  /* "cuibonobo.com", true */ 'c', 'u', 'i', 'b', 'o', 'n', 'o', 'b', 'o', '.', 'c', 'o', 'm', '\0',
   /* "cuisinezest.com", true */ 'c', 'u', 'i', 's', 'i', 'n', 'e', 'z', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "cujba.com", true */ 'c', 'u', 'j', 'b', 'a', '.', 'c', 'o', 'm', '\0',
   /* "culinae.nl", true */ 'c', 'u', 'l', 'i', 'n', 'a', 'e', '.', 'n', 'l', '\0',
   /* "cultiv.nl", true */ 'c', 'u', 'l', 't', 'i', 'v', '.', 'n', 'l', '\0',
   /* "culturedcode.com", true */ 'c', 'u', 'l', 't', 'u', 'r', 'e', 'd', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cultureroll.com", true */ 'c', 'u', 'l', 't', 'u', 'r', 'e', 'r', 'o', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "cun.lu", true */ 'c', 'u', 'n', '.', 'l', 'u', '\0',
   /* "cuni-cuni-club.com", true */ 'c', 'u', 'n', 'i', '-', 'c', 'u', 'n', 'i', '-', 'c', 'l', 'u', 'b', '.', 'c', 'o', 'm', '\0',
@@ -3633,16 +3628,17 @@ static const char kSTSHostTable[] = {
   /* "cyberguerrilla.info", true */ 'c', 'y', 'b', 'e', 'r', 'g', 'u', 'e', 'r', 'r', 'i', 'l', 'l', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cyberguerrilla.org", true */ 'c', 'y', 'b', 'e', 'r', 'g', 'u', 'e', 'r', 'r', 'i', 'l', 'l', 'a', '.', 'o', 'r', 'g', '\0',
   /* "cyberhouse.at", false */ 'c', 'y', 'b', 'e', 'r', 'h', 'o', 'u', 's', 'e', '.', 'a', 't', '\0',
   /* "cyberianhusky.com", true */ 'c', 'y', 'b', 'e', 'r', 'i', 'a', 'n', 'h', 'u', 's', 'k', 'y', '.', 'c', 'o', 'm', '\0',
   /* "cyberkov.com", true */ 'c', 'y', 'b', 'e', 'r', 'k', 'o', 'v', '.', 'c', 'o', 'm', '\0',
   /* "cyberlab.kiev.ua", true */ 'c', 'y', 'b', 'e', 'r', 'l', 'a', 'b', '.', 'k', 'i', 'e', 'v', '.', 'u', 'a', '\0',
   /* "cyberoptic.de", true */ 'c', 'y', 'b', 'e', 'r', 'o', 'p', 't', 'i', 'c', '.', 'd', 'e', '\0',
   /* "cyberpeace.nl", true */ 'c', 'y', 'b', 'e', 'r', 'p', 'e', 'a', 'c', 'e', '.', 'n', 'l', '\0',
+  /* "cybersecurity.nz", true */ 'c', 'y', 'b', 'e', 'r', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'n', 'z', '\0',
   /* "cybersecuritychallenge.be", true */ 'c', 'y', 'b', 'e', 'r', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'c', 'h', 'a', 'l', 'l', 'e', 'n', 'g', 'e', '.', 'b', 'e', '\0',
   /* "cyberspect.com", true */ 'c', 'y', 'b', 'e', 'r', 's', 'p', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "cyberspect.io", true */ 'c', 'y', 'b', 'e', 'r', 's', 'p', 'e', 'c', 't', '.', 'i', 'o', '\0',
   /* "cyberstatus.de", true */ 'c', 'y', 'b', 'e', 'r', 's', 't', 'a', 't', 'u', 's', '.', 'd', 'e', '\0',
   /* "cybertorsk.org", true */ 'c', 'y', 'b', 'e', 'r', 't', 'o', 'r', 's', 'k', '.', 'o', 'r', 'g', '\0',
   /* "cybertu.be", true */ 'c', 'y', 'b', 'e', 'r', 't', 'u', '.', 'b', 'e', '\0',
   /* "cyberwire.nl", true */ 'c', 'y', 'b', 'e', 'r', 'w', 'i', 'r', 'e', '.', 'n', 'l', '\0',
   /* "cyberxpert.nl", true */ 'c', 'y', 'b', 'e', 'r', 'x', 'p', 'e', 'r', 't', '.', 'n', 'l', '\0',
@@ -3694,16 +3690,17 @@ static const char kSTSHostTable[] = {
   /* "daduke.org", true */ 'd', 'a', 'd', 'u', 'k', 'e', '.', 'o', 'r', 'g', '\0',
   /* "daemen.org", true */ 'd', 'a', 'e', 'm', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "daemon.xin", true */ 'd', 'a', 'e', 'm', 'o', 'n', '.', 'x', 'i', 'n', '\0',
   /* "dag-konsult.com", true */ 'd', 'a', 'g', '-', 'k', 'o', 'n', 's', 'u', 'l', 't', '.', 'c', 'o', 'm', '\0',
   /* "dahlberg.cologne", true */ 'd', 'a', 'h', 'l', 'b', 'e', 'r', 'g', '.', 'c', 'o', 'l', 'o', 'g', 'n', 'e', '\0',
   /* "dailybits.be", true */ 'd', 'a', 'i', 'l', 'y', 'b', 'i', 't', 's', '.', 'b', 'e', '\0',
   /* "dailyenglishchallenge.com", true */ 'd', 'a', 'i', 'l', 'y', 'e', 'n', 'g', 'l', 'i', 's', 'h', 'c', 'h', 'a', 'l', 'l', 'e', 'n', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dailylifefinancial.com", false */ 'd', 'a', 'i', 'l', 'y', 'l', 'i', 'f', 'e', 'f', 'i', 'n', 'a', 'n', 'c', 'i', 'a', 'l', '.', 'c', 'o', 'm', '\0',
+  /* "dairyshrine.org", true */ 'd', 'a', 'i', 'r', 'y', 's', 'h', 'r', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "daiwai.de", true */ 'd', 'a', 'i', 'w', 'a', 'i', '.', 'd', 'e', '\0',
   /* "daiweihu.com", true */ 'd', 'a', 'i', 'w', 'e', 'i', 'h', 'u', '.', 'c', 'o', 'm', '\0',
   /* "dakerealestate.com", true */ 'd', 'a', 'k', 'e', 'r', 'e', 'a', 'l', 'e', 's', 't', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dakl-shop.de", true */ 'd', 'a', 'k', 'l', '-', 's', 'h', 'o', 'p', '.', 'd', 'e', '\0',
   /* "daknob.net", true */ 'd', 'a', 'k', 'n', 'o', 'b', '.', 'n', 'e', 't', '\0',
   /* "daladubbeln.se", true */ 'd', 'a', 'l', 'a', 'd', 'u', 'b', 'b', 'e', 'l', 'n', '.', 's', 'e', '\0',
   /* "dale-electric.com", true */ 'd', 'a', 'l', 'e', '-', 'e', 'l', 'e', 'c', 't', 'r', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "dalek.co.nz", true */ 'd', 'a', 'l', 'e', 'k', '.', 'c', 'o', '.', 'n', 'z', '\0',
@@ -3712,16 +3709,17 @@ static const char kSTSHostTable[] = {
   /* "dallmeier.net", true */ 'd', 'a', 'l', 'l', 'm', 'e', 'i', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "damienoreilly.org", true */ 'd', 'a', 'm', 'i', 'e', 'n', 'o', 'r', 'e', 'i', 'l', 'l', 'y', '.', 'o', 'r', 'g', '\0',
   /* "dammekens.be", true */ 'd', 'a', 'm', 'm', 'e', 'k', 'e', 'n', 's', '.', 'b', 'e', '\0',
   /* "damngoodpepper.com", true */ 'd', 'a', 'm', 'n', 'g', 'o', 'o', 'd', 'p', 'e', 'p', 'p', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "dan.me.uk", true */ 'd', 'a', 'n', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "dan.org.nz", true */ 'd', 'a', 'n', '.', 'o', 'r', 'g', '.', 'n', 'z', '\0',
   /* "danaketh.com", true */ 'd', 'a', 'n', 'a', 'k', 'e', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "danarozmarin.com", true */ 'd', 'a', 'n', 'a', 'r', 'o', 'z', 'm', 'a', 'r', 'i', 'n', '.', 'c', 'o', 'm', '\0',
+  /* "danbarrett.com.au", true */ 'd', 'a', 'n', 'b', 'a', 'r', 'r', 'e', 't', 't', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "dancerdates.net", true */ 'd', 'a', 'n', 'c', 'e', 'r', 'd', 'a', 't', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "dandenongroadapartments.com.au", true */ 'd', 'a', 'n', 'd', 'e', 'n', 'o', 'n', 'g', 'r', 'o', 'a', 'd', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "dane-bre.net", true */ 'd', 'a', 'n', 'e', '-', 'b', 'r', 'e', '.', 'n', 'e', 't', '\0',
   /* "dango.in", true */ 'd', 'a', 'n', 'g', 'o', '.', 'i', 'n', '\0',
   /* "daniel-baumann.ch", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 'b', 'a', 'u', 'm', 'a', 'n', 'n', '.', 'c', 'h', '\0',
   /* "daniel-ruf.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 'r', 'u', 'f', '.', 'd', 'e', '\0',
   /* "daniel-seifert.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', '-', 's', 'e', 'i', 'f', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "danielalvarez.net", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'a', 'l', 'v', 'a', 'r', 'e', 'z', '.', 'n', 'e', 't', '\0',
@@ -3742,17 +3740,16 @@ static const char kSTSHostTable[] = {
   /* "danishenanigans.com", true */ 'd', 'a', 'n', 'i', 's', 'h', 'e', 'n', 'a', 'n', 'i', 'g', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "danjesensky.com", true */ 'd', 'a', 'n', 'j', 'e', 's', 'e', 'n', 's', 'k', 'y', '.', 'c', 'o', 'm', '\0',
   /* "dank.ninja", true */ 'd', 'a', 'n', 'k', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "dankim.de", false */ 'd', 'a', 'n', 'k', 'i', 'm', '.', 'd', 'e', '\0',
   /* "danla.nl", true */ 'd', 'a', 'n', 'l', 'a', '.', 'n', 'l', '\0',
   /* "danmaby.com", true */ 'd', 'a', 'n', 'm', 'a', 'b', 'y', '.', 'c', 'o', 'm', '\0',
   /* "danny.fm", true */ 'd', 'a', 'n', 'n', 'y', '.', 'f', 'm', '\0',
   /* "dannycrichton.com", true */ 'd', 'a', 'n', 'n', 'y', 'c', 'r', 'i', 'c', 'h', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "dannyrohde.de", true */ 'd', 'a', 'n', 'n', 'y', 'r', 'o', 'h', 'd', 'e', '.', 'd', 'e', '\0',
   /* "danonsecurity.com", true */ 'd', 'a', 'n', 'o', 'n', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "danpiel.net", false */ 'd', 'a', 'n', 'p', 'i', 'e', 'l', '.', 'n', 'e', 't', '\0',
   /* "danscomp.com", true */ 'd', 'a', 'n', 's', 'c', 'o', 'm', 'p', '.', 'c', 'o', 'm', '\0',
   /* "danseressen.nl", true */ 'd', 'a', 'n', 's', 'e', 'r', 'e', 's', 's', 'e', 'n', '.', 'n', 'l', '\0',
   /* "dansk-skole.de", true */ 'd', 'a', 'n', 's', 'k', '-', 's', 'k', 'o', 'l', 'e', '.', 'd', 'e', '\0',
   /* "danskoferie.dk", true */ 'd', 'a', 'n', 's', 'k', 'o', 'f', 'e', 'r', 'i', 'e', '.', 'd', 'k', '\0',
   /* "danw.io", true */ 'd', 'a', 'n', 'w', '.', 'i', 'o', '\0',
   /* "danwillenberg.com", true */ 'd', 'a', 'n', 'w', 'i', 'l', 'l', 'e', 'n', 'b', 'e', 'r', 'g', '.', 'c', 'o', 'm', '\0',
@@ -3931,17 +3928,16 @@ static const char kSTSHostTable[] = {
   /* "decoyrouting.com", true */ 'd', 'e', 'c', 'o', 'y', 'r', 'o', 'u', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dede.ml", true */ 'd', 'e', 'd', 'e', '.', 'm', 'l', '\0',
   /* "dedelta.net", true */ 'd', 'e', 'd', 'e', 'l', 't', 'a', '.', 'n', 'e', 't', '\0',
   /* "dedeo.tk", true */ 'd', 'e', 'd', 'e', 'o', '.', 't', 'k', '\0',
   /* "dedietrich-asia.com", true */ 'd', 'e', 'd', 'i', 'e', 't', 'r', 'i', 'c', 'h', '-', 'a', 's', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "dedimax.de", true */ 'd', 'e', 'd', 'i', 'm', 'a', 'x', '.', 'd', 'e', '\0',
   /* "dedmorozrzn.ru", true */ 'd', 'e', 'd', 'm', 'o', 'r', 'o', 'z', 'r', 'z', 'n', '.', 'r', 'u', '\0',
   /* "deduijventil.nl", true */ 'd', 'e', 'd', 'u', 'i', 'j', 'v', 'e', 'n', 't', 'i', 'l', '.', 'n', 'l', '\0',
-  /* "dee.pe", true */ 'd', 'e', 'e', '.', 'p', 'e', '\0',
   /* "dee.su", true */ 'd', 'e', 'e', '.', 's', 'u', '\0',
   /* "deepbluecrafting.co.uk", true */ 'd', 'e', 'e', 'p', 'b', 'l', 'u', 'e', 'c', 'r', 'a', 'f', 't', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "deeprecce.com", true */ 'd', 'e', 'e', 'p', 'r', 'e', 'c', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "deeprecce.link", true */ 'd', 'e', 'e', 'p', 'r', 'e', 'c', 'c', 'e', '.', 'l', 'i', 'n', 'k', '\0',
   /* "deeprecce.tech", true */ 'd', 'e', 'e', 'p', 'r', 'e', 'c', 'c', 'e', '.', 't', 'e', 'c', 'h', '\0',
   /* "deepserve.info", true */ 'd', 'e', 'e', 'p', 's', 'e', 'r', 'v', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "deepzz.com", true */ 'd', 'e', 'e', 'p', 'z', 'z', '.', 'c', 'o', 'm', '\0',
   /* "deer.team", true */ 'd', 'e', 'e', 'r', '.', 't', 'e', 'a', 'm', '\0',
@@ -4174,17 +4170,17 @@ static const char kSTSHostTable[] = {
   /* "diffnow.com", true */ 'd', 'i', 'f', 'f', 'n', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "difoosion.com", true */ 'd', 'i', 'f', 'o', 'o', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "digcit.org", true */ 'd', 'i', 'g', 'c', 'i', 't', '.', 'o', 'r', 'g', '\0',
   /* "dighans.com", true */ 'd', 'i', 'g', 'h', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "digiarc.net", true */ 'd', 'i', 'g', 'i', 'a', 'r', 'c', '.', 'n', 'e', 't', '\0',
   /* "digihyp.ch", true */ 'd', 'i', 'g', 'i', 'h', 'y', 'p', '.', 'c', 'h', '\0',
   /* "digikol.net", true */ 'd', 'i', 'g', 'i', 'k', 'o', 'l', '.', 'n', 'e', 't', '\0',
   /* "digimagical.com", true */ 'd', 'i', 'g', 'i', 'm', 'a', 'g', 'i', 'c', 'a', 'l', '.', 'c', 'o', 'm', '\0',
-  /* "digimedia.cd", true */ 'd', 'i', 'g', 'i', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'd', '\0',
+  /* "digimedia.cd", false */ 'd', 'i', 'g', 'i', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'd', '\0',
   /* "digired.xyz", true */ 'd', 'i', 'g', 'i', 'r', 'e', 'd', '.', 'x', 'y', 'z', '\0',
   /* "digital-coach.it", false */ 'd', 'i', 'g', 'i', 't', 'a', 'l', '-', 'c', 'o', 'a', 'c', 'h', '.', 'i', 't', '\0',
   /* "digital-eastside.de", true */ 'd', 'i', 'g', 'i', 't', 'a', 'l', '-', 'e', 'a', 's', 't', 's', 'i', 'd', 'e', '.', 'd', 'e', '\0',
   /* "digital1st.co.uk", true */ 'd', 'i', 'g', 'i', 't', 'a', 'l', '1', 's', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "digitalarchitecture.com", true */ 'd', 'i', 'g', 'i', 't', 'a', 'l', 'a', 'r', 'c', 'h', 'i', 't', 'e', 'c', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "digitalbitbox.com", true */ 'd', 'i', 'g', 'i', 't', 'a', 'l', 'b', 'i', 't', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "digitalcuko.com", true */ 'd', 'i', 'g', 'i', 't', 'a', 'l', 'c', 'u', 'k', 'o', '.', 'c', 'o', 'm', '\0',
   /* "digitaldeli.org", true */ 'd', 'i', 'g', 'i', 't', 'a', 'l', 'd', 'e', 'l', 'i', '.', 'o', 'r', 'g', '\0',
@@ -4425,16 +4421,17 @@ static const char kSTSHostTable[] = {
   /* "dotkod.com", true */ 'd', 'o', 't', 'k', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "dotkod.pl", true */ 'd', 'o', 't', 'k', 'o', 'd', '.', 'p', 'l', '\0',
   /* "dotphoto.com", true */ 'd', 'o', 't', 'p', 'h', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "dotplex.com", true */ 'd', 'o', 't', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "dotplex.de", true */ 'd', 'o', 't', 'p', 'l', 'e', 'x', '.', 'd', 'e', '\0',
   /* "dotrox.net", true */ 'd', 'o', 't', 'r', 'o', 'x', '.', 'n', 'e', 't', '\0',
   /* "dotsiam.com", true */ 'd', 'o', 't', 's', 'i', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "dotspaperie.com", true */ 'd', 'o', 't', 's', 'p', 'a', 'p', 'e', 'r', 'i', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "doubleavineyards.com", true */ 'd', 'o', 'u', 'b', 'l', 'e', 'a', 'v', 'i', 'n', 'e', 'y', 'a', 'r', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "doublefun.net", true */ 'd', 'o', 'u', 'b', 'l', 'e', 'f', 'u', 'n', '.', 'n', 'e', 't', '\0',
   /* "doubleyummy.uk", true */ 'd', 'o', 'u', 'b', 'l', 'e', 'y', 'u', 'm', 'm', 'y', '.', 'u', 'k', '\0',
   /* "doucheba.gs", true */ 'd', 'o', 'u', 'c', 'h', 'e', 'b', 'a', '.', 'g', 's', '\0',
   /* "dougferris.id.au", true */ 'd', 'o', 'u', 'g', 'f', 'e', 'r', 'r', 'i', 's', '.', 'i', 'd', '.', 'a', 'u', '\0',
   /* "doujinshi.info", true */ 'd', 'o', 'u', 'j', 'i', 'n', 's', 'h', 'i', '.', 'i', 'n', 'f', 'o', '\0',
   /* "dounats.com", true */ 'd', 'o', 'u', 'n', 'a', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "douzer.de", true */ 'd', 'o', 'u', 'z', 'e', 'r', '.', 'd', 'e', '\0',
   /* "downloadaja.com", true */ 'd', 'o', 'w', 'n', 'l', 'o', 'a', 'd', 'a', 'j', 'a', '.', 'c', 'o', 'm', '\0',
@@ -4450,17 +4447,16 @@ static const char kSTSHostTable[] = {
   /* "drabbin.com", true */ 'd', 'r', 'a', 'b', 'b', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dracisvet.cz", true */ 'd', 'r', 'a', 'c', 'i', 's', 'v', 'e', 't', '.', 'c', 'z', '\0',
   /* "drafton.com", true */ 'd', 'r', 'a', 'f', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dragfiles.com", true */ 'd', 'r', 'a', 'g', 'f', 'i', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "dragon-aspect.com", true */ 'd', 'r', 'a', 'g', 'o', 'n', '-', 'a', 's', 'p', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "dragon-chem.eu", true */ 'd', 'r', 'a', 'g', 'o', 'n', '-', 'c', 'h', 'e', 'm', '.', 'e', 'u', '\0',
   /* "dragonfly.co.uk", true */ 'd', 'r', 'a', 'g', 'o', 'n', 'f', 'l', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dragons.moe", false */ 'd', 'r', 'a', 'g', 'o', 'n', 's', '.', 'm', 'o', 'e', '\0',
-  /* "dragonschool.org", true */ 'd', 'r', 'a', 'g', 'o', 'n', 's', 'c', 'h', 'o', 'o', 'l', '.', 'o', 'r', 'g', '\0',
   /* "dragonstower.net", true */ 'd', 'r', 'a', 'g', 'o', 'n', 's', 't', 'o', 'w', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "dragonteam.ninja", true */ 'd', 'r', 'a', 'g', 'o', 'n', 't', 'e', 'a', 'm', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "drahcro.uk", true */ 'd', 'r', 'a', 'h', 'c', 'r', 'o', '.', 'u', 'k', '\0',
   /* "drainagebuizen.nl", true */ 'd', 'r', 'a', 'i', 'n', 'a', 'g', 'e', 'b', 'u', 'i', 'z', 'e', 'n', '.', 'n', 'l', '\0',
   /* "drakeanddragon.com", true */ 'd', 'r', 'a', 'k', 'e', 'a', 'n', 'd', 'd', 'r', 'a', 'g', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "drakeluce.com", true */ 'd', 'r', 'a', 'k', 'e', 'l', 'u', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "drakenprospero.com", true */ 'd', 'r', 'a', 'k', 'e', 'n', 'p', 'r', 'o', 's', 'p', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "dramaticpeople.com", true */ 'd', 'r', 'a', 'm', 'a', 't', 'i', 'c', 'p', 'e', 'o', 'p', 'l', 'e', '.', 'c', 'o', 'm', '\0',
@@ -4554,17 +4550,17 @@ static const char kSTSHostTable[] = {
   /* "ducalendars.com", true */ 'd', 'u', 'c', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "duch.cloud", true */ 'd', 'u', 'c', 'h', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "duckasylum.com", true */ 'd', 'u', 'c', 'k', 'a', 's', 'y', 'l', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "duckbase.com", true */ 'd', 'u', 'c', 'k', 'b', 'a', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "duckduckstart.com", true */ 'd', 'u', 'c', 'k', 'd', 'u', 'c', 'k', 's', 't', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "duckinc.net", true */ 'd', 'u', 'c', 'k', 'i', 'n', 'c', '.', 'n', 'e', 't', '\0',
   /* "ducohosting.com", true */ 'd', 'u', 'c', 'o', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "duelysthub.com", true */ 'd', 'u', 'e', 'l', 'y', 's', 't', 'h', 'u', 'b', '.', 'c', 'o', 'm', '\0',
-  /* "duernberg.at", false */ 'd', 'u', 'e', 'r', 'n', 'b', 'e', 'r', 'g', '.', 'a', 't', '\0',
+  /* "duernberg.at", true */ 'd', 'u', 'e', 'r', 'n', 'b', 'e', 'r', 'g', '.', 'a', 't', '\0',
   /* "duijf.info", true */ 'd', 'u', 'i', 'j', 'f', '.', 'i', 'n', 'f', 'o', '\0',
   /* "duijfathome.nl", true */ 'd', 'u', 'i', 'j', 'f', 'a', 't', 'h', 'o', 'm', 'e', '.', 'n', 'l', '\0',
   /* "dukan-recepty.ru", true */ 'd', 'u', 'k', 'a', 'n', '-', 'r', 'e', 'c', 'e', 'p', 't', 'y', '.', 'r', 'u', '\0',
   /* "dukegat.de", true */ 'd', 'u', 'k', 'e', 'g', 'a', 't', '.', 'd', 'e', '\0',
   /* "dukun.de", true */ 'd', 'u', 'k', 'u', 'n', '.', 'd', 'e', '\0',
   /* "dulei.si", true */ 'd', 'u', 'l', 'e', 'i', '.', 's', 'i', '\0',
   /* "dumbeartech.com", true */ 'd', 'u', 'm', 'b', 'e', 'a', 'r', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "dumino.bg", true */ 'd', 'u', 'm', 'i', 'n', 'o', '.', 'b', 'g', '\0',
@@ -4579,26 +4575,28 @@ static const char kSTSHostTable[] = {
   /* "duoluodeyu.com", true */ 'd', 'u', 'o', 'l', 'u', 'o', 'd', 'e', 'y', 'u', '.', 'c', 'o', 'm', '\0',
   /* "dupree.co", true */ 'd', 'u', 'p', 'r', 'e', 'e', '.', 'c', 'o', '\0',
   /* "durangoenergyllc.com", true */ 'd', 'u', 'r', 'a', 'n', 'g', 'o', 'e', 'n', 'e', 'r', 'g', 'y', 'l', 'l', 'c', '.', 'c', 'o', 'm', '\0',
   /* "duria.de", true */ 'd', 'u', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "durys.be", true */ 'd', 'u', 'r', 'y', 's', '.', 'b', 'e', '\0',
   /* "dustri.org", true */ 'd', 'u', 's', 't', 'r', 'i', '.', 'o', 'r', 'g', '\0',
   /* "dustygroove.com", true */ 'd', 'u', 's', 't', 'y', 'g', 'r', 'o', 'o', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dutch1.nl", true */ 'd', 'u', 't', 'c', 'h', '1', '.', 'n', 'l', '\0',
+  /* "dutchessuganda.com", true */ 'd', 'u', 't', 'c', 'h', 'e', 's', 's', 'u', 'g', 'a', 'n', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "dutchrank.nl", true */ 'd', 'u', 't', 'c', 'h', 'r', 'a', 'n', 'k', '.', 'n', 'l', '\0',
   /* "dutchwanderers.nl", true */ 'd', 'u', 't', 'c', 'h', 'w', 'a', 'n', 'd', 'e', 'r', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "dutchweballiance.nl", true */ 'd', 'u', 't', 'c', 'h', 'w', 'e', 'b', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'n', 'l', '\0',
   /* "dutyfreeonboard.com", true */ 'd', 'u', 't', 'y', 'f', 'r', 'e', 'e', 'o', 'n', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "dvbris.co.uk", true */ 'd', 'v', 'b', 'r', 'i', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dvbris.com", true */ 'd', 'v', 'b', 'r', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "dvorupotocnych.sk", true */ 'd', 'v', 'o', 'r', 'u', 'p', 'o', 't', 'o', 'c', 'n', 'y', 'c', 'h', '.', 's', 'k', '\0',
   /* "dvotx.org", true */ 'd', 'v', 'o', 't', 'x', '.', 'o', 'r', 'g', '\0',
   /* "dvwc.org", true */ 'd', 'v', 'w', 'c', '.', 'o', 'r', 'g', '\0',
   /* "dwnld.me", true */ 'd', 'w', 'n', 'l', 'd', '.', 'm', 'e', '\0',
+  /* "dworzak.ch", true */ 'd', 'w', 'o', 'r', 'z', 'a', 'k', '.', 'c', 'h', '\0',
   /* "dwtm.ch", true */ 'd', 'w', 't', 'm', '.', 'c', 'h', '\0',
   /* "dxa.io", false */ 'd', 'x', 'a', '.', 'i', 'o', '\0',
   /* "dxgl.info", true */ 'd', 'x', 'g', 'l', '.', 'i', 'n', 'f', 'o', '\0',
   /* "dyeager.org", true */ 'd', 'y', 'e', 'a', 'g', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "dyktig.as", true */ 'd', 'y', 'k', 't', 'i', 'g', '.', 'a', 's', '\0',
   /* "dyn-nserve.net", true */ 'd', 'y', 'n', '-', 'n', 's', 'e', 'r', 'v', 'e', '.', 'n', 'e', 't', '\0',
   /* "dyn.im", true */ 'd', 'y', 'n', '.', 'i', 'm', '\0',
   /* "dynaloop.net", true */ 'd', 'y', 'n', 'a', 'l', 'o', 'o', 'p', '.', 'n', 'e', 't', '\0',
@@ -4717,16 +4715,17 @@ static const char kSTSHostTable[] = {
   /* "eddmixpanel.com", true */ 'e', 'd', 'd', 'm', 'i', 'x', 'p', 'a', 'n', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "eddyn.net", true */ 'e', 'd', 'd', 'y', 'n', '.', 'n', 'e', 't', '\0',
   /* "edelblack.ch", true */ 'e', 'd', 'e', 'l', 'b', 'l', 'a', 'c', 'k', '.', 'c', 'h', '\0',
   /* "eden-noel.at", true */ 'e', 'd', 'e', 'n', '-', 'n', 'o', 'e', 'l', '.', 'a', 't', '\0',
   /* "edenaya.com", true */ 'e', 'd', 'e', 'n', 'a', 'y', 'a', '.', 'c', 'o', 'm', '\0',
   /* "edenmal.net", true */ 'e', 'd', 'e', 'n', 'm', 'a', 'l', '.', 'n', 'e', 't', '\0',
   /* "edesseglabor.hu", true */ 'e', 'd', 'e', 's', 's', 'e', 'g', 'l', 'a', 'b', 'o', 'r', '.', 'h', 'u', '\0',
   /* "edfa3ly.co", true */ 'e', 'd', 'f', 'a', '3', 'l', 'y', '.', 'c', 'o', '\0',
+  /* "edfa3ly.com", true */ 'e', 'd', 'f', 'a', '3', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "edge-cloud.net", true */ 'e', 'd', 'g', 'e', '-', 'c', 'l', 'o', 'u', 'd', '.', 'n', 'e', 't', '\0',
   /* "edgereinvent.com", true */ 'e', 'd', 'g', 'e', 'r', 'e', 'i', 'n', 'v', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "edicct.com", true */ 'e', 'd', 'i', 'c', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "edisonlee55.com", true */ 'e', 'd', 'i', 's', 'o', 'n', 'l', 'e', 'e', '5', '5', '.', 'c', 'o', 'm', '\0',
   /* "edit.yahoo.com", false */ 'e', 'd', 'i', 't', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "edited.de", true */ 'e', 'd', 'i', 't', 'e', 'd', '.', 'd', 'e', '\0',
   /* "edition-sonblom.de", true */ 'e', 'd', 'i', 't', 'i', 'o', 'n', '-', 's', 'o', 'n', 'b', 'l', 'o', 'm', '.', 'd', 'e', '\0',
   /* "edmundcelis.com", true */ 'e', 'd', 'm', 'u', 'n', 'd', 'c', 'e', 'l', 'i', 's', '.', 'c', 'o', 'm', '\0',
@@ -5187,16 +5186,17 @@ static const char kSTSHostTable[] = {
   /* "etmirror.top", true */ 'e', 't', 'm', 'i', 'r', 'r', 'o', 'r', '.', 't', 'o', 'p', '\0',
   /* "etmirror.xyz", true */ 'e', 't', 'm', 'i', 'r', 'r', 'o', 'r', '.', 'x', 'y', 'z', '\0',
   /* "etproxy.tech", true */ 'e', 't', 'p', 'r', 'o', 'x', 'y', '.', 't', 'e', 'c', 'h', '\0',
   /* "etrker.com", true */ 'e', 't', 'r', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ets2mp.de", true */ 'e', 't', 's', '2', 'm', 'p', '.', 'd', 'e', '\0',
   /* "ettebiz.com", true */ 'e', 't', 't', 'e', 'b', 'i', 'z', '.', 'c', 'o', 'm', '\0',
   /* "etv.cx", true */ 'e', 't', 'v', '.', 'c', 'x', '\0',
   /* "etyd.org", true */ 'e', 't', 'y', 'd', '.', 'o', 'r', 'g', '\0',
+  /* "euclideanpostulates.xyz", true */ 'e', 'u', 'c', 'l', 'i', 'd', 'e', 'a', 'n', 'p', 'o', 's', 't', 'u', 'l', 'a', 't', 'e', 's', '.', 'x', 'y', 'z', '\0',
   /* "eucollegetours.com", true */ 'e', 'u', 'c', 'o', 'l', 'l', 'e', 'g', 'e', 't', 'o', 'u', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "eugenekay.com", true */ 'e', 'u', 'g', 'e', 'n', 'e', 'k', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "eulenleben.de", true */ 'e', 'u', 'l', 'e', 'n', 'l', 'e', 'b', 'e', 'n', '.', 'd', 'e', '\0',
   /* "eupay.de", true */ 'e', 'u', 'p', 'a', 'y', '.', 'd', 'e', '\0',
   /* "euph.eu", true */ 'e', 'u', 'p', 'h', '.', 'e', 'u', '\0',
   /* "eureka.archi", true */ 'e', 'u', 'r', 'e', 'k', 'a', '.', 'a', 'r', 'c', 'h', 'i', '\0',
   /* "eurekaarchi.com", true */ 'e', 'u', 'r', 'e', 'k', 'a', 'a', 'r', 'c', 'h', 'i', '.', 'c', 'o', 'm', '\0',
   /* "eurekaarchitecture.com", true */ 'e', 'u', 'r', 'e', 'k', 'a', 'a', 'r', 'c', 'h', 'i', 't', 'e', 'c', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
@@ -5490,17 +5490,16 @@ static const char kSTSHostTable[] = {
   /* "federicomigliavacca.it", true */ 'f', 'e', 'd', 'e', 'r', 'i', 'c', 'o', 'm', 'i', 'g', 'l', 'i', 'a', 'v', 'a', 'c', 'c', 'a', '.', 'i', 't', '\0',
   /* "fedinvest.gov", true */ 'f', 'e', 'd', 'i', 'n', 'v', 'e', 's', 't', '.', 'g', 'o', 'v', '\0',
   /* "fedjobs.gov", true */ 'f', 'e', 'd', 'j', 'o', 'b', 's', '.', 'g', 'o', 'v', '\0',
   /* "fedo.moe", true */ 'f', 'e', 'd', 'o', '.', 'm', 'o', 'e', '\0',
   /* "fedorahosted.org", true */ 'f', 'e', 'd', 'o', 'r', 'a', 'h', 'o', 's', 't', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "fedoramagazine.org", true */ 'f', 'e', 'd', 'o', 'r', 'a', 'm', 'a', 'g', 'a', 'z', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "fedorapeople.org", true */ 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'e', 'o', 'p', 'l', 'e', '.', 'o', 'r', 'g', '\0',
   /* "fedramp.gov", false */ 'f', 'e', 'd', 'r', 'a', 'm', 'p', '.', 'g', 'o', 'v', '\0',
-  /* "fedrtc.org", true */ 'f', 'e', 'd', 'r', 't', 'c', '.', 'o', 'r', 'g', '\0',
   /* "feedbin.com", false */ 'f', 'e', 'e', 'd', 'b', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "feedhq.org", true */ 'f', 'e', 'e', 'd', 'h', 'q', '.', 'o', 'r', 'g', '\0',
   /* "feedkovacs.hu", true */ 'f', 'e', 'e', 'd', 'k', 'o', 'v', 'a', 'c', 's', '.', 'h', 'u', '\0',
   /* "feedthebot.com", true */ 'f', 'e', 'e', 'd', 't', 'h', 'e', 'b', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "feedthefuture.gov", true */ 'f', 'e', 'e', 'd', 't', 'h', 'e', 'f', 'u', 't', 'u', 'r', 'e', '.', 'g', 'o', 'v', '\0',
   /* "feel.aero", true */ 'f', 'e', 'e', 'l', '.', 'a', 'e', 'r', 'o', '\0',
   /* "feen.us", true */ 'f', 'e', 'e', 'n', '.', 'u', 's', '\0',
   /* "fefore.com", true */ 'f', 'e', 'f', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
@@ -5649,17 +5648,16 @@ static const char kSTSHostTable[] = {
   /* "fitsw.com", true */ 'f', 'i', 't', 's', 'w', '.', 'c', 'o', 'm', '\0',
   /* "fittelo.cz", true */ 'f', 'i', 't', 't', 'e', 'l', 'o', '.', 'c', 'z', '\0',
   /* "fitzsim.org", true */ 'f', 'i', 't', 'z', 's', 'i', 'm', '.', 'o', 'r', 'g', '\0',
   /* "fiuxy.co", true */ 'f', 'i', 'u', 'x', 'y', '.', 'c', 'o', '\0',
   /* "fiws.net", true */ 'f', 'i', 'w', 's', '.', 'n', 'e', 't', '\0',
   /* "fix-the-timeline.com", true */ 'f', 'i', 'x', '-', 't', 'h', 'e', '-', 't', 'i', 'm', 'e', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fix-the-timeline.org", true */ 'f', 'i', 'x', '-', 't', 'h', 'e', '-', 't', 'i', 'm', 'e', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "fixate.ru", true */ 'f', 'i', 'x', 'a', 't', 'e', '.', 'r', 'u', '\0',
-  /* "fixel.express", true */ 'f', 'i', 'x', 'e', 'l', '.', 'e', 'x', 'p', 'r', 'e', 's', 's', '\0',
   /* "fixforce.nl", true */ 'f', 'i', 'x', 'f', 'o', 'r', 'c', 'e', '.', 'n', 'l', '\0',
   /* "fixhotsauce.com", true */ 'f', 'i', 'x', 'h', 'o', 't', 's', 'a', 'u', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fixmycomputerdude.com", true */ 'f', 'i', 'x', 'm', 'y', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'd', 'u', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fixtectools.co.za", true */ 'f', 'i', 'x', 't', 'e', 'c', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "fixthetimeline.com", true */ 'f', 'i', 'x', 't', 'h', 'e', 't', 'i', 'm', 'e', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fixthetimeline.org", true */ 'f', 'i', 'x', 't', 'h', 'e', 't', 'i', 'm', 'e', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
   /* "fizz.buzz", true */ 'f', 'i', 'z', 'z', '.', 'b', 'u', 'z', 'z', '\0',
   /* "fj.simple.com", false */ 'f', 'j', '.', 's', 'i', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '\0',
@@ -5737,17 +5735,16 @@ static const char kSTSHostTable[] = {
   /* "fluxoid.com", true */ 'f', 'l', 'u', 'x', 'o', 'i', 'd', '.', 'c', 'o', 'm', '\0',
   /* "flw365365.com", true */ 'f', 'l', 'w', '3', '6', '5', '3', '6', '5', '.', 'c', 'o', 'm', '\0',
   /* "fly.moe", true */ 'f', 'l', 'y', '.', 'm', 'o', 'e', '\0',
   /* "flyawayantennas.com", true */ 'f', 'l', 'y', 'a', 'w', 'a', 'y', 'a', 'n', 't', 'e', 'n', 'n', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "flyinglocksmiths.com", true */ 'f', 'l', 'y', 'i', 'n', 'g', 'l', 'o', 'c', 'k', 's', 'm', 'i', 't', 'h', 's', '.', 'c', 'o', 'm', '\0',
   /* "flymns.fr", true */ 'f', 'l', 'y', 'm', 'n', 's', '.', 'f', 'r', '\0',
   /* "flynn.io", true */ 'f', 'l', 'y', 'n', 'n', '.', 'i', 'o', '\0',
   /* "flyserver.co.il", true */ 'f', 'l', 'y', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', '.', 'i', 'l', '\0',
-  /* "flyss.net", true */ 'f', 'l', 'y', 's', 's', '.', 'n', 'e', 't', '\0',
   /* "fm.ie", true */ 'f', 'm', '.', 'i', 'e', '\0',
   /* "fmarchal.fr", true */ 'f', 'm', 'a', 'r', 'c', 'h', 'a', 'l', '.', 'f', 'r', '\0',
   /* "fmi.gov", true */ 'f', 'm', 'i', '.', 'g', 'o', 'v', '\0',
   /* "fnb-griffinonline.com", true */ 'f', 'n', 'b', '-', 'g', 'r', 'i', 'f', 'f', 'i', 'n', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fniephaus.com", true */ 'f', 'n', 'i', 'e', 'p', 'h', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "fnof.ch", true */ 'f', 'n', 'o', 'f', '.', 'c', 'h', '\0',
   /* "fnordserver.eu", true */ 'f', 'n', 'o', 'r', 'd', 's', 'e', 'r', 'v', 'e', 'r', '.', 'e', 'u', '\0',
   /* "fnzc.co.nz", true */ 'f', 'n', 'z', 'c', '.', 'c', 'o', '.', 'n', 'z', '\0',
@@ -5850,23 +5847,23 @@ static const char kSTSHostTable[] = {
   /* "fragnic.com", true */ 'f', 'r', 'a', 'g', 'n', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "fraho.eu", true */ 'f', 'r', 'a', 'h', 'o', '.', 'e', 'u', '\0',
   /* "fralef.me", false */ 'f', 'r', 'a', 'l', 'e', 'f', '.', 'm', 'e', '\0',
   /* "fran.cr", true */ 'f', 'r', 'a', 'n', '.', 'c', 'r', '\0',
   /* "francescopalazzo.com", true */ 'f', 'r', 'a', 'n', 'c', 'e', 's', 'c', 'o', 'p', 'a', 'l', 'a', 'z', 'z', 'o', '.', 'c', 'o', 'm', '\0',
   /* "francisli.net", true */ 'f', 'r', 'a', 'n', 'c', 'i', 's', 'l', 'i', '.', 'n', 'e', 't', '\0',
   /* "franckgirard.net", true */ 'f', 'r', 'a', 'n', 'c', 'k', 'g', 'i', 'r', 'a', 'r', 'd', '.', 'n', 'e', 't', '\0',
   /* "francoz.me", true */ 'f', 'r', 'a', 'n', 'c', 'o', 'z', '.', 'm', 'e', '\0',
+  /* "frank.fyi", true */ 'f', 'r', 'a', 'n', 'k', '.', 'f', 'y', 'i', '\0',
   /* "franke-chemie.de", true */ 'f', 'r', 'a', 'n', 'k', 'e', '-', 'c', 'h', 'e', 'm', 'i', 'e', '.', 'd', 'e', '\0',
   /* "franken-lehrmittel.de", true */ 'f', 'r', 'a', 'n', 'k', 'e', 'n', '-', 'l', 'e', 'h', 'r', 'm', 'i', 't', 't', 'e', 'l', '.', 'd', 'e', '\0',
   /* "frankenlehrmittel.de", true */ 'f', 'r', 'a', 'n', 'k', 'e', 'n', 'l', 'e', 'h', 'r', 'm', 'i', 't', 't', 'e', 'l', '.', 'd', 'e', '\0',
   /* "frankhaala.com", true */ 'f', 'r', 'a', 'n', 'k', 'h', 'a', 'a', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "frankierprofi.de", true */ 'f', 'r', 'a', 'n', 'k', 'i', 'e', 'r', 'p', 'r', 'o', 'f', 'i', '.', 'd', 'e', '\0',
   /* "frankl.in", true */ 'f', 'r', 'a', 'n', 'k', 'l', '.', 'i', 'n', '\0',
-  /* "fransallen.com", true */ 'f', 'r', 'a', 'n', 's', 'a', 'l', 'l', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "frantic1048.com", true */ 'f', 'r', 'a', 'n', 't', 'i', 'c', '1', '0', '4', '8', '.', 'c', 'o', 'm', '\0',
   /* "franzt.ovh", true */ 'f', 'r', 'a', 'n', 'z', 't', '.', 'o', 'v', 'h', '\0',
   /* "frappant.cc", true */ 'f', 'r', 'a', 'p', 'p', 'a', 'n', 't', '.', 'c', 'c', '\0',
   /* "frasesdeamizade.pt", true */ 'f', 'r', 'a', 's', 'e', 's', 'd', 'e', 'a', 'm', 'i', 'z', 'a', 'd', 'e', '.', 'p', 't', '\0',
   /* "frasesparaface.com.br", true */ 'f', 'r', 'a', 's', 'e', 's', 'p', 'a', 'r', 'a', 'f', 'a', 'c', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "frasys.cloud", true */ 'f', 'r', 'a', 's', 'y', 's', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "frasys.net", true */ 'f', 'r', 'a', 's', 'y', 's', '.', 'n', 'e', 't', '\0',
   /* "frattaroli.org", true */ 'f', 'r', 'a', 't', 't', 'a', 'r', 'o', 'l', 'i', '.', 'o', 'r', 'g', '\0',
@@ -5884,17 +5881,16 @@ static const char kSTSHostTable[] = {
   /* "freeben666.fr", true */ 'f', 'r', 'e', 'e', 'b', 'e', 'n', '6', '6', '6', '.', 'f', 'r', '\0',
   /* "freebetoffers.co.uk", true */ 'f', 'r', 'e', 'e', 'b', 'e', 't', 'o', 'f', 'f', 'e', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "freeboson.org", true */ 'f', 'r', 'e', 'e', 'b', 'o', 's', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "freebus.org", true */ 'f', 'r', 'e', 'e', 'b', 'u', 's', '.', 'o', 'r', 'g', '\0',
   /* "freecloud.at", true */ 'f', 'r', 'e', 'e', 'c', 'l', 'o', 'u', 'd', '.', 'a', 't', '\0',
   /* "freedom.press", true */ 'f', 'r', 'e', 'e', 'd', 'o', 'm', '.', 'p', 'r', 'e', 's', 's', '\0',
   /* "freedomrealtyoftexas.com", true */ 'f', 'r', 'e', 'e', 'd', 'o', 'm', 'r', 'e', 'a', 'l', 't', 'y', 'o', 'f', 't', 'e', 'x', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "freedomvote.nl", true */ 'f', 'r', 'e', 'e', 'd', 'o', 'm', 'v', 'o', 't', 'e', '.', 'n', 'l', '\0',
-  /* "freeform4u.de", true */ 'f', 'r', 'e', 'e', 'f', 'o', 'r', 'm', '4', 'u', '.', 'd', 'e', '\0',
   /* "freejasongoudlock.org", true */ 'f', 'r', 'e', 'e', 'j', 'a', 's', 'o', 'n', 'g', 'o', 'u', 'd', 'l', 'o', 'c', 'k', '.', 'o', 'r', 'g', '\0',
   /* "freekdevries.nl", true */ 'f', 'r', 'e', 'e', 'k', 'd', 'e', 'v', 'r', 'i', 'e', 's', '.', 'n', 'l', '\0',
   /* "freelance.boutique", true */ 'f', 'r', 'e', 'e', 'l', 'a', 'n', 'c', 'e', '.', 'b', 'o', 'u', 't', 'i', 'q', 'u', 'e', '\0',
   /* "freelance.nl", true */ 'f', 'r', 'e', 'e', 'l', 'a', 'n', 'c', 'e', '.', 'n', 'l', '\0',
   /* "freelanced.co.za", true */ 'f', 'r', 'e', 'e', 'l', 'a', 'n', 'c', 'e', 'd', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "freelancehunt.com", true */ 'f', 'r', 'e', 'e', 'l', 'a', 'n', 'c', 'e', 'h', 'u', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "freelifer.jp", true */ 'f', 'r', 'e', 'e', 'l', 'i', 'f', 'e', 'r', '.', 'j', 'p', '\0',
   /* "freelo.cz", true */ 'f', 'r', 'e', 'e', 'l', 'o', '.', 'c', 'z', '\0',
@@ -6054,17 +6050,16 @@ static const char kSTSHostTable[] = {
   /* "g-o.pl", true */ 'g', '-', 'o', '.', 'p', 'l', '\0',
   /* "g-rickroll-o.pw", true */ 'g', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'o', '.', 'p', 'w', '\0',
   /* "g1.ie", true */ 'g', '1', '.', 'i', 'e', '\0',
   /* "g2links.com", true */ 'g', '2', 'l', 'i', 'n', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "g2pla.net", true */ 'g', '2', 'p', 'l', 'a', '.', 'n', 'e', 't', '\0',
   /* "g2soft.net", true */ 'g', '2', 's', 'o', 'f', 't', '.', 'n', 'e', 't', '\0',
   /* "g3rv4.com", true */ 'g', '3', 'r', 'v', '4', '.', 'c', 'o', 'm', '\0',
   /* "g4w.co", true */ 'g', '4', 'w', '.', 'c', 'o', '\0',
-  /* "gabi.com.es", true */ 'g', 'a', 'b', 'i', '.', 'c', 'o', 'm', '.', 'e', 's', '\0',
   /* "gabi.soy", true */ 'g', 'a', 'b', 'i', '.', 's', 'o', 'y', '\0',
   /* "gabi.uno", true */ 'g', 'a', 'b', 'i', '.', 'u', 'n', 'o', '\0',
   /* "gablaxian.com", true */ 'g', 'a', 'b', 'l', 'a', 'x', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "gabriele-kluge.de", true */ 'g', 'a', 'b', 'r', 'i', 'e', 'l', 'e', '-', 'k', 'l', 'u', 'g', 'e', '.', 'd', 'e', '\0',
   /* "gadgethacks.com", true */ 'g', 'a', 'd', 'g', 'e', 't', 'h', 'a', 'c', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "gaestehaus-monika.com", true */ 'g', 'a', 'e', 's', 't', 'e', 'h', 'a', 'u', 's', '-', 'm', 'o', 'n', 'i', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "gagniard.org", true */ 'g', 'a', 'g', 'n', 'i', 'a', 'r', 'd', '.', 'o', 'r', 'g', '\0',
   /* "gagor.pl", true */ 'g', 'a', 'g', 'o', 'r', '.', 'p', 'l', '\0',
@@ -6110,17 +6105,16 @@ static const char kSTSHostTable[] = {
   /* "gamers-life.fr", true */ 'g', 'a', 'm', 'e', 'r', 's', '-', 'l', 'i', 'f', 'e', '.', 'f', 'r', '\0',
   /* "gamesurferapp.com", true */ 'g', 'a', 'm', 'e', 's', 'u', 'r', 'f', 'e', 'r', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "gametium.com", true */ 'g', 'a', 'm', 'e', 't', 'i', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "gametium.es", true */ 'g', 'a', 'm', 'e', 't', 'i', 'u', 'm', '.', 'e', 's', '\0',
   /* "gamingexodus.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'e', 'x', 'o', 'd', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "gamingreinvented.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'r', 'e', 'i', 'n', 'v', 'e', 'n', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "gamingwithcromulent.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'w', 'i', 't', 'h', 'c', 'r', 'o', 'm', 'u', 'l', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "gamingzoneservers.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'z', 'o', 'n', 'e', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
-  /* "gamishou.fr", true */ 'g', 'a', 'm', 'i', 's', 'h', 'o', 'u', '.', 'f', 'r', '\0',
   /* "gamoloco.com", true */ 'g', 'a', 'm', 'o', 'l', 'o', 'c', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gancedo.com.es", true */ 'g', 'a', 'n', 'c', 'e', 'd', 'o', '.', 'c', 'o', 'm', '.', 'e', 's', '\0',
   /* "gandgliquors.com", true */ 'g', 'a', 'n', 'd', 'g', 'l', 'i', 'q', 'u', 'o', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "ganhonet.com.br", true */ 'g', 'a', 'n', 'h', 'o', 'n', 'e', 't', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "gapdirect.com", true */ 'g', 'a', 'p', 'd', 'i', 'r', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "gar-nich.net", true */ 'g', 'a', 'r', '-', 'n', 'i', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "garageenginuity.com", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'e', 'n', 'g', 'i', 'n', 'u', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "garagegoossens.be", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'g', 'o', 'o', 's', 's', 'e', 'n', 's', '.', 'b', 'e', '\0',
@@ -6307,16 +6301,17 @@ static const char kSTSHostTable[] = {
   /* "ggmmontascale.it", true */ 'g', 'g', 'm', 'm', 'o', 'n', 't', 'a', 's', 'c', 'a', 'l', 'e', '.', 'i', 't', '\0',
   /* "ggp2.com", true */ 'g', 'g', 'p', '2', '.', 'c', 'o', 'm', '\0',
   /* "ggservers.com", true */ 'g', 'g', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "ggss.cf", true */ 'g', 'g', 's', 's', '.', 'c', 'f', '\0',
   /* "ggx.us", true */ 'g', 'g', 'x', '.', 'u', 's', '\0',
   /* "gha.st", true */ 'g', 'h', 'a', '.', 's', 't', '\0',
   /* "ghcif.de", true */ 'g', 'h', 'c', 'i', 'f', '.', 'd', 'e', '\0',
   /* "gheorghe-sarcov.ga", true */ 'g', 'h', 'e', 'o', 'r', 'g', 'h', 'e', '-', 's', 'a', 'r', 'c', 'o', 'v', '.', 'g', 'a', '\0',
+  /* "ghostblog.info", true */ 'g', 'h', 'o', 's', 't', 'b', 'l', 'o', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ghostcir.com", true */ 'g', 'h', 'o', 's', 't', 'c', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ghostwritershigh.com", true */ 'g', 'h', 'o', 's', 't', 'w', 'r', 'i', 't', 'e', 'r', 's', 'h', 'i', 'g', 'h', '.', 'c', 'o', 'm', '\0',
   /* "ghrelinblocker.info", true */ 'g', 'h', 'r', 'e', 'l', 'i', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'r', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ghrelinblocker.org", true */ 'g', 'h', 'r', 'e', 'l', 'i', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "giacomodrago.com", true */ 'g', 'i', 'a', 'c', 'o', 'm', 'o', 'd', 'r', 'a', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "giacomodrago.it", true */ 'g', 'i', 'a', 'c', 'o', 'm', 'o', 'd', 'r', 'a', 'g', 'o', '.', 'i', 't', '\0',
   /* "giacomopelagatti.it", true */ 'g', 'i', 'a', 'c', 'o', 'm', 'o', 'p', 'e', 'l', 'a', 'g', 'a', 't', 't', 'i', '.', 'i', 't', '\0',
   /* "giakki.eu", true */ 'g', 'i', 'a', 'k', 'k', 'i', '.', 'e', 'u', '\0',
@@ -6663,17 +6658,16 @@ static const char kSTSHostTable[] = {
   /* "guenthereder.at", true */ 'g', 'u', 'e', 'n', 't', 'h', 'e', 'r', 'e', 'd', 'e', 'r', '.', 'a', 't', '\0',
   /* "guentherhouse.com", true */ 'g', 'u', 'e', 'n', 't', 'h', 'e', 'r', 'h', 'o', 'u', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "guenthernoack.de", true */ 'g', 'u', 'e', 'n', 't', 'h', 'e', 'r', 'n', 'o', 'a', 'c', 'k', '.', 'd', 'e', '\0',
   /* "guerrilla.technology", true */ 'g', 'u', 'e', 'r', 'r', 'i', 'l', 'l', 'a', '.', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y', '\0',
   /* "guevener.de", true */ 'g', 'u', 'e', 'v', 'e', 'n', 'e', 'r', '.', 'd', 'e', '\0',
   /* "guffr.it", true */ 'g', 'u', 'f', 'f', 'r', '.', 'i', 't', '\0',
   /* "guffrits.com", true */ 'g', 'u', 'f', 'f', 'r', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "gugaltika-ipb.org", false */ 'g', 'u', 'g', 'a', 'l', 't', 'i', 'k', 'a', '-', 'i', 'p', 'b', '.', 'o', 'r', 'g', '\0',
-  /* "guge.gq", true */ 'g', 'u', 'g', 'e', '.', 'g', 'q', '\0',
   /* "guguke.net", true */ 'g', 'u', 'g', 'u', 'k', 'e', '.', 'n', 'e', 't', '\0',
   /* "guhenry3.tk", true */ 'g', 'u', 'h', 'e', 'n', 'r', 'y', '3', '.', 't', 'k', '\0',
   /* "guideo.ch", true */ 'g', 'u', 'i', 'd', 'e', 'o', '.', 'c', 'h', '\0',
   /* "guidetoiceland.is", false */ 'g', 'u', 'i', 'd', 'e', 't', 'o', 'i', 'c', 'e', 'l', 'a', 'n', 'd', '.', 'i', 's', '\0',
   /* "guildgearscore.cf", true */ 'g', 'u', 'i', 'l', 'd', 'g', 'e', 'a', 'r', 's', 'c', 'o', 'r', 'e', '.', 'c', 'f', '\0',
   /* "guillaume-leduc.fr", true */ 'g', 'u', 'i', 'l', 'l', 'a', 'u', 'm', 'e', '-', 'l', 'e', 'd', 'u', 'c', '.', 'f', 'r', '\0',
   /* "guillaumeperrin.io", true */ 'g', 'u', 'i', 'l', 'l', 'a', 'u', 'm', 'e', 'p', 'e', 'r', 'r', 'i', 'n', '.', 'i', 'o', '\0',
   /* "guiltypleasuresroleplaying.com", true */ 'g', 'u', 'i', 'l', 't', 'y', 'p', 'l', 'e', 'a', 's', 'u', 'r', 'e', 's', 'r', 'o', 'l', 'e', 'p', 'l', 'a', 'y', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
@@ -6691,18 +6685,16 @@ static const char kSTSHostTable[] = {
   /* "gurkan.in", true */ 'g', 'u', 'r', 'k', 'a', 'n', '.', 'i', 'n', '\0',
   /* "gurmel.ru", true */ 'g', 'u', 'r', 'm', 'e', 'l', '.', 'r', 'u', '\0',
   /* "gurochan.ch", true */ 'g', 'u', 'r', 'o', 'c', 'h', 'a', 'n', '.', 'c', 'h', '\0',
   /* "guru-naradi.cz", true */ 'g', 'u', 'r', 'u', '-', 'n', 'a', 'r', 'a', 'd', 'i', '.', 'c', 'z', '\0',
   /* "gurueffect.com", true */ 'g', 'u', 'r', 'u', 'e', 'f', 'f', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "gus.host", true */ 'g', 'u', 's', '.', 'h', 'o', 's', 't', '\0',
   /* "gus.moe", true */ 'g', 'u', 's', '.', 'm', 'o', 'e', '\0',
   /* "guscaplan.me", true */ 'g', 'u', 's', 'c', 'a', 'p', 'l', 'a', 'n', '.', 'm', 'e', '\0',
-  /* "guso.site", true */ 'g', 'u', 's', 'o', '.', 's', 'i', 't', 'e', '\0',
-  /* "guso.tech", true */ 'g', 'u', 's', 'o', '.', 't', 'e', 'c', 'h', '\0',
   /* "guthabenkarten-billiger.de", true */ 'g', 'u', 't', 'h', 'a', 'b', 'e', 'n', 'k', 'a', 'r', 't', 'e', 'n', '-', 'b', 'i', 'l', 'l', 'i', 'g', 'e', 'r', '.', 'd', 'e', '\0',
   /* "guts.me", true */ 'g', 'u', 't', 's', '.', 'm', 'e', '\0',
   /* "gutscheingeiz.de", true */ 'g', 'u', 't', 's', 'c', 'h', 'e', 'i', 'n', 'g', 'e', 'i', 'z', '.', 'd', 'e', '\0',
   /* "gutuia.blue", true */ 'g', 'u', 't', 'u', 'i', 'a', '.', 'b', 'l', 'u', 'e', '\0',
   /* "guus-thijssen.nl", true */ 'g', 'u', 'u', 's', '-', 't', 'h', 'i', 'j', 's', 's', 'e', 'n', '.', 'n', 'l', '\0',
   /* "guvernalternativa.ro", true */ 'g', 'u', 'v', 'e', 'r', 'n', 'a', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'a', '.', 'r', 'o', '\0',
   /* "guyot-tech.com", true */ 'g', 'u', 'y', 'o', 't', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "gv-neumann.de", true */ 'g', 'v', '-', 'n', 'e', 'u', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
@@ -7110,17 +7102,16 @@ static const char kSTSHostTable[] = {
   /* "hm1ch.ovh", true */ 'h', 'm', '1', 'c', 'h', '.', 'o', 'v', 'h', '\0',
   /* "hmhotelec.com", true */ 'h', 'm', 'h', 'o', 't', 'e', 'l', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "hmksq.ae", true */ 'h', 'm', 'k', 's', 'q', '.', 'a', 'e', '\0',
   /* "hmoegirl.com", true */ 'h', 'm', 'o', 'e', 'g', 'i', 'r', 'l', '.', 'c', 'o', 'm', '\0',
   /* "hms-waldmann.de", true */ 'h', 'm', 's', '-', 'w', 'a', 'l', 'd', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "hmsseahawk.com", true */ 'h', 'm', 's', 's', 'e', 'a', 'h', 'a', 'w', 'k', '.', 'c', 'o', 'm', '\0',
   /* "hobbiesandotherstuff.com", true */ 'h', 'o', 'b', 'b', 'i', 'e', 's', 'a', 'n', 'd', 'o', 't', 'h', 'e', 'r', 's', 't', 'u', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "hobby-gamerz-community.de", true */ 'h', 'o', 'b', 'b', 'y', '-', 'g', 'a', 'm', 'e', 'r', 'z', '-', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '.', 'd', 'e', '\0',
-  /* "hobbyspeed.com", true */ 'h', 'o', 'b', 'b', 'y', 's', 'p', 'e', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "hochhaus.us", true */ 'h', 'o', 'c', 'h', 'h', 'a', 'u', 's', '.', 'u', 's', '\0',
   /* "hochzeit-dana-laurens.de", true */ 'h', 'o', 'c', 'h', 'z', 'e', 'i', 't', '-', 'd', 'a', 'n', 'a', '-', 'l', 'a', 'u', 'r', 'e', 'n', 's', '.', 'd', 'e', '\0',
   /* "hoe.re", true */ 'h', 'o', 'e', '.', 'r', 'e', '\0',
   /* "hoekwoningverkopen.nl", true */ 'h', 'o', 'e', 'k', 'w', 'o', 'n', 'i', 'n', 'g', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "hoelty.network", true */ 'h', 'o', 'e', 'l', 't', 'y', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '\0',
   /* "hogl.dk", true */ 'h', 'o', 'g', 'l', '.', 'd', 'k', '\0',
   /* "hohm.in", true */ 'h', 'o', 'h', 'm', '.', 'i', 'n', '\0',
   /* "hohnet.com", true */ 'h', 'o', 'h', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
@@ -7237,17 +7228,16 @@ static const char kSTSHostTable[] = {
   /* "houser.lu", true */ 'h', 'o', 'u', 's', 'e', 'r', '.', 'l', 'u', '\0',
   /* "houstonapartmentinsiders.com", true */ 'h', 'o', 'u', 's', 't', 'o', 'n', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 'i', 'n', 's', 'i', 'd', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "how2fsbo.com", true */ 'h', 'o', 'w', '2', 'f', 's', 'b', 'o', '.', 'c', 'o', 'm', '\0',
   /* "howardtyson.com", true */ 'h', 'o', 'w', 'a', 'r', 'd', 't', 'y', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "howbehealthy.com", true */ 'h', 'o', 'w', 'b', 'e', 'h', 'e', 'a', 'l', 't', 'h', 'y', '.', 'c', 'o', 'm', '\0',
   /* "howbigismybuilding.com", true */ 'h', 'o', 'w', 'b', 'i', 'g', 'i', 's', 'm', 'y', 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "howfargames.com", true */ 'h', 'o', 'w', 'f', 'a', 'r', 'g', 'a', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "howlongtobeatsteam.com", true */ 'h', 'o', 'w', 'l', 'o', 'n', 'g', 't', 'o', 'b', 'e', 'a', 't', 's', 't', 'e', 'a', 'm', '.', 'c', 'o', 'm', '\0',
-  /* "howsecureismypassword.net", true */ 'h', 'o', 'w', 's', 'e', 'c', 'u', 'r', 'e', 'i', 's', 'm', 'y', 'p', 'a', 's', 's', 'w', 'o', 'r', 'd', '.', 'n', 'e', 't', '\0',
   /* "howsmyssl.com", true */ 'h', 'o', 'w', 's', 'm', 'y', 's', 's', 'l', '.', 'c', 'o', 'm', '\0',
   /* "howsmytls.com", true */ 'h', 'o', 'w', 's', 'm', 'y', 't', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "howsyourhealth.org", true */ 'h', 'o', 'w', 's', 'y', 'o', 'u', 'r', 'h', 'e', 'a', 'l', 't', 'h', '.', 'o', 'r', 'g', '\0',
   /* "howtogeek.com", true */ 'h', 'o', 'w', 't', 'o', 'g', 'e', 'e', 'k', '.', 'c', 'o', 'm', '\0',
   /* "hozana.si", false */ 'h', 'o', 'z', 'a', 'n', 'a', '.', 's', 'i', '\0',
   /* "hp-work.net", true */ 'h', 'p', '-', 'w', 'o', 'r', 'k', '.', 'n', 'e', 't', '\0',
   /* "hpac-portal.com", true */ 'h', 'p', 'a', 'c', '-', 'p', 'o', 'r', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "hpbn.co", true */ 'h', 'p', 'b', 'n', '.', 'c', 'o', '\0',
@@ -7485,17 +7475,16 @@ static const char kSTSHostTable[] = {
   /* "ignace72.eu", true */ 'i', 'g', 'n', 'a', 'c', 'e', '7', '2', '.', 'e', 'u', '\0',
   /* "ignat.by", true */ 'i', 'g', 'n', 'a', 't', '.', 'b', 'y', '\0',
   /* "ignitedmindz.in", true */ 'i', 'g', 'n', 'i', 't', 'e', 'd', 'm', 'i', 'n', 'd', 'z', '.', 'i', 'n', '\0',
   /* "igotoffer.com", true */ 'i', 'g', 'o', 't', 'o', 'f', 'f', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "igrivi.com", true */ 'i', 'g', 'r', 'i', 'v', 'i', '.', 'c', 'o', 'm', '\0',
   /* "igsmgmt.com", true */ 'i', 'g', 's', 'm', 'g', 'm', 't', '.', 'c', 'o', 'm', '\0',
   /* "ih8sn0w.com", true */ 'i', 'h', '8', 's', 'n', '0', 'w', '.', 'c', 'o', 'm', '\0',
   /* "ihkk.net", true */ 'i', 'h', 'k', 'k', '.', 'n', 'e', 't', '\0',
-  /* "ihopeit.works", true */ 'i', 'h', 'o', 'p', 'e', 'i', 't', '.', 'w', 'o', 'r', 'k', 's', '\0',
   /* "ihostup.net", true */ 'i', 'h', 'o', 's', 't', 'u', 'p', '.', 'n', 'e', 't', '\0',
   /* "ihrhost.com", true */ 'i', 'h', 'r', 'h', 'o', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "iiong.com", true */ 'i', 'i', 'o', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "iirii.com", true */ 'i', 'i', 'r', 'i', 'i', '.', 'c', 'o', 'm', '\0',
   /* "ijoda.com", true */ 'i', 'j', 'o', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "ijohan.nl", true */ 'i', 'j', 'o', 'h', 'a', 'n', '.', 'n', 'l', '\0',
   /* "ijsclubtilburg.nl", true */ 'i', 'j', 's', 'c', 'l', 'u', 'b', 't', 'i', 'l', 'b', 'u', 'r', 'g', '.', 'n', 'l', '\0',
   /* "ikachalife.com", true */ 'i', 'k', 'a', 'c', 'h', 'a', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
@@ -7967,17 +7956,16 @@ static const char kSTSHostTable[] = {
   /* "itpol.dk", true */ 'i', 't', 'p', 'o', 'l', '.', 'd', 'k', '\0',
   /* "itpro.ua", true */ 'i', 't', 'p', 'r', 'o', '.', 'u', 'a', '\0',
   /* "itpros.ru", true */ 'i', 't', 'p', 'r', 'o', 's', '.', 'r', 'u', '\0',
   /* "its-gutachten.de", true */ 'i', 't', 's', '-', 'g', 'u', 't', 'a', 'c', 'h', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "its-schindler.de", true */ 'i', 't', 's', '-', 's', 'c', 'h', 'i', 'n', 'd', 'l', 'e', 'r', '.', 'd', 'e', '\0',
   /* "its-v.de", true */ 'i', 't', 's', '-', 'v', '.', 'd', 'e', '\0',
   /* "its4living.com", true */ 'i', 't', 's', '4', 'l', 'i', 'v', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "itsanicedoor.co.uk", true */ 'i', 't', 's', 'a', 'n', 'i', 'c', 'e', 'd', 'o', 'o', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
-  /* "itsatrap.nl", false */ 'i', 't', 's', 'a', 't', 'r', 'a', 'p', '.', 'n', 'l', '\0',
   /* "itsecguy.com", true */ 'i', 't', 's', 'e', 'c', 'g', 'u', 'y', '.', 'c', 'o', 'm', '\0',
   /* "itsgoingdown.org", true */ 'i', 't', 's', 'g', 'o', 'i', 'n', 'g', 'd', 'o', 'w', 'n', '.', 'o', 'r', 'g', '\0',
   /* "itskayla.com", false */ 'i', 't', 's', 'k', 'a', 'y', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "itsok.de", true */ 'i', 't', 's', 'o', 'k', '.', 'd', 'e', '\0',
   /* "itspawned.com", true */ 'i', 't', 's', 'p', 'a', 'w', 'n', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "itspersonaltraining.nl", true */ 'i', 't', 's', 'p', 'e', 'r', 's', 'o', 'n', 'a', 'l', 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', '.', 'n', 'l', '\0',
   /* "itsryan.com", false */ 'i', 't', 's', 'r', 'y', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "itsstefan.eu", true */ 'i', 't', 's', 's', 't', 'e', 'f', 'a', 'n', '.', 'e', 'u', '\0',
@@ -8077,16 +8065,17 @@ static const char kSTSHostTable[] = {
   /* "jameshale.me", true */ 'j', 'a', 'm', 'e', 's', 'h', 'a', 'l', 'e', '.', 'm', 'e', '\0',
   /* "jameshost.net", true */ 'j', 'a', 'm', 'e', 's', 'h', 'o', 's', 't', '.', 'n', 'e', 't', '\0',
   /* "jameshunt.us", false */ 'j', 'a', 'm', 'e', 's', 'h', 'u', 'n', 't', '.', 'u', 's', '\0',
   /* "jamesj.me", true */ 'j', 'a', 'm', 'e', 's', 'j', '.', 'm', 'e', '\0',
   /* "jamesknd.uk", true */ 'j', 'a', 'm', 'e', 's', 'k', 'n', 'd', '.', 'u', 'k', '\0',
   /* "jamesmilazzo.com", true */ 'j', 'a', 'm', 'e', 's', 'm', 'i', 'l', 'a', 'z', 'z', 'o', '.', 'c', 'o', 'm', '\0',
   /* "jamesrains.com", true */ 'j', 'a', 'm', 'e', 's', 'r', 'a', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "jamesrussellward.co.uk", true */ 'j', 'a', 'm', 'e', 's', 'r', 'u', 's', 's', 'e', 'l', 'l', 'w', 'a', 'r', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0',
+  /* "jamessan.com", true */ 'j', 'a', 'm', 'e', 's', 's', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "jamessmith.me.uk", true */ 'j', 'a', 'm', 'e', 's', 's', 'm', 'i', 't', 'h', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "jameswarp.com", true */ 'j', 'a', 'm', 'e', 's', 'w', 'a', 'r', 'p', '.', 'c', 'o', 'm', '\0',
   /* "jamhost.org", true */ 'j', 'a', 'm', 'h', 'o', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "jamielinux.com", true */ 'j', 'a', 'm', 'i', 'e', 'l', 'i', 'n', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "jamiemagee.co.uk", true */ 'j', 'a', 'm', 'i', 'e', 'm', 'a', 'g', 'e', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "jamiemagee.dk", true */ 'j', 'a', 'm', 'i', 'e', 'm', 'a', 'g', 'e', 'e', '.', 'd', 'k', '\0',
   /* "jamiepeters.nl", true */ 'j', 'a', 'm', 'i', 'e', 'p', 'e', 't', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "jamon.ca", true */ 'j', 'a', 'm', 'o', 'n', '.', 'c', 'a', '\0',
@@ -8105,16 +8094,17 @@ static const char kSTSHostTable[] = {
   /* "jaot.info", true */ 'j', 'a', 'o', 't', '.', 'i', 'n', 'f', 'o', '\0',
   /* "jap-nope.de", true */ 'j', 'a', 'p', '-', 'n', 'o', 'p', 'e', '.', 'd', 'e', '\0',
   /* "japan-foods.co.uk", true */ 'j', 'a', 'p', 'a', 'n', '-', 'f', 'o', 'o', 'd', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "japan4you.org", true */ 'j', 'a', 'p', 'a', 'n', '4', 'y', 'o', 'u', '.', 'o', 'r', 'g', '\0',
   /* "japaniac.de", true */ 'j', 'a', 'p', 'a', 'n', 'i', 'a', 'c', '.', 'd', 'e', '\0',
   /* "japaripark.com", true */ 'j', 'a', 'p', 'a', 'r', 'i', 'p', 'a', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "jaredbates.net", false */ 'j', 'a', 'r', 'e', 'd', 'b', 'a', 't', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "jaredeberle.org", true */ 'j', 'a', 'r', 'e', 'd', 'e', 'b', 'e', 'r', 'l', 'e', '.', 'o', 'r', 'g', '\0',
+  /* "jaredfernandez.com", true */ 'j', 'a', 'r', 'e', 'd', 'f', 'e', 'r', 'n', 'a', 'n', 'd', 'e', 'z', '.', 'c', 'o', 'm', '\0',
   /* "jarl.ninja", true */ 'j', 'a', 'r', 'l', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "jarondl.net", true */ 'j', 'a', 'r', 'o', 'n', 'd', 'l', '.', 'n', 'e', 't', '\0',
   /* "jarrettgraham.com", true */ 'j', 'a', 'r', 'r', 'e', 't', 't', 'g', 'r', 'a', 'h', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "jarroba.com", true */ 'j', 'a', 'r', 'r', 'o', 'b', 'a', '.', 'c', 'o', 'm', '\0',
   /* "jasl.works", true */ 'j', 'a', 's', 'l', '.', 'w', 'o', 'r', 'k', 's', '\0',
   /* "jasonamorrow.com", true */ 'j', 'a', 's', 'o', 'n', 'a', 'm', 'o', 'r', 'r', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "jasoncosper.com", true */ 'j', 'a', 's', 'o', 'n', 'c', 'o', 's', 'p', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "jasonian-photo.com", true */ 'j', 'a', 's', 'o', 'n', 'i', 'a', 'n', '-', 'p', 'h', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
@@ -8206,17 +8196,16 @@ static const char kSTSHostTable[] = {
   /* "jetlagphotography.com", true */ 'j', 'e', 't', 'l', 'a', 'g', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'o', 'm', '\0',
   /* "jetmirshatri.com", false */ 'j', 'e', 't', 'm', 'i', 'r', 's', 'h', 'a', 't', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "jetsieswerda.nl", true */ 'j', 'e', 't', 's', 'i', 'e', 's', 'w', 'e', 'r', 'd', 'a', '.', 'n', 'l', '\0',
   /* "jettlarue.com", true */ 'j', 'e', 't', 't', 'l', 'a', 'r', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "jetwhiz.com", true */ 'j', 'e', 't', 'w', 'h', 'i', 'z', '.', 'c', 'o', 'm', '\0',
   /* "jetzt-elektromobil.de", true */ 'j', 'e', 't', 'z', 't', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', 'm', 'o', 'b', 'i', 'l', '.', 'd', 'e', '\0',
   /* "jf-projects.de", false */ 'j', 'f', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', 's', '.', 'd', 'e', '\0',
   /* "jfr.im", true */ 'j', 'f', 'r', '.', 'i', 'm', '\0',
-  /* "jfreitag.de", true */ 'j', 'f', 'r', 'e', 'i', 't', 'a', 'g', '.', 'd', 'e', '\0',
   /* "jgid.de", true */ 'j', 'g', 'i', 'd', '.', 'd', 'e', '\0',
   /* "jhalderm.com", true */ 'j', 'h', 'a', 'l', 'd', 'e', 'r', 'm', '.', 'c', 'o', 'm', '\0',
   /* "jhburton.co.uk", true */ 'j', 'h', 'b', 'u', 'r', 't', 'o', 'n', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "jhermsmeier.de", true */ 'j', 'h', 'e', 'r', 'm', 's', 'm', 'e', 'i', 'e', 'r', '.', 'd', 'e', '\0',
   /* "jhuang.me", true */ 'j', 'h', 'u', 'a', 'n', 'g', '.', 'm', 'e', '\0',
   /* "jialinwu.com", true */ 'j', 'i', 'a', 'l', 'i', 'n', 'w', 'u', '.', 'c', 'o', 'm', '\0',
   /* "jiangzm.com", true */ 'j', 'i', 'a', 'n', 'g', 'z', 'm', '.', 'c', 'o', 'm', '\0',
   /* "jichi.me", true */ 'j', 'i', 'c', 'h', 'i', '.', 'm', 'e', '\0',
@@ -8246,16 +8235,17 @@ static const char kSTSHostTable[] = {
   /* "jkirsche.com", true */ 'j', 'k', 'i', 'r', 's', 'c', 'h', 'e', '.', 'c', 'o', 'm', '\0',
   /* "jkrippen.com", true */ 'j', 'k', 'r', 'i', 'p', 'p', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "jlhmedia.com", true */ 'j', 'l', 'h', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "jlkhosting.com", true */ 'j', 'l', 'k', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "jlr-luxembourg.com", true */ 'j', 'l', 'r', '-', 'l', 'u', 'x', 'e', 'm', 'b', 'o', 'u', 'r', 'g', '.', 'c', 'o', 'm', '\0',
   /* "jm-bea.net", true */ 'j', 'm', '-', 'b', 'e', 'a', '.', 'n', 'e', 't', '\0',
   /* "jmb.lc", true */ 'j', 'm', 'b', '.', 'l', 'c', '\0',
   /* "jmcleaning.services", true */ 'j', 'm', 'c', 'l', 'e', 'a', 'n', 'i', 'n', 'g', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '\0',
+  /* "jmdekker.it", true */ 'j', 'm', 'd', 'e', 'k', 'k', 'e', 'r', '.', 'i', 't', '\0',
   /* "jmedved.com", true */ 'j', 'm', 'e', 'd', 'v', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "jmk.hu", true */ 'j', 'm', 'k', '.', 'h', 'u', '\0',
   /* "jn1.me", true */ 'j', 'n', '1', '.', 'm', 'e', '\0',
   /* "jncde.de", true */ 'j', 'n', 'c', 'd', 'e', '.', 'd', 'e', '\0',
   /* "jncie.de", true */ 'j', 'n', 'c', 'i', 'e', '.', 'd', 'e', '\0',
   /* "jncie.eu", true */ 'j', 'n', 'c', 'i', 'e', '.', 'e', 'u', '\0',
   /* "jncip.de", true */ 'j', 'n', 'c', 'i', 'p', '.', 'd', 'e', '\0',
   /* "jobbkk.com", true */ 'j', 'o', 'b', 'b', 'k', 'k', '.', 'c', 'o', 'm', '\0',
@@ -8285,16 +8275,17 @@ static const char kSTSHostTable[] = {
   /* "johncardell.com", true */ 'j', 'o', 'h', 'n', 'c', 'a', 'r', 'd', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "johndong.net", false */ 'j', 'o', 'h', 'n', 'd', 'o', 'n', 'g', '.', 'n', 'e', 't', '\0',
   /* "johngallias.com", true */ 'j', 'o', 'h', 'n', 'g', 'a', 'l', 'l', 'i', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "johnguant.com", true */ 'j', 'o', 'h', 'n', 'g', 'u', 'a', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "johnhgaunt.com", true */ 'j', 'o', 'h', 'n', 'h', 'g', 'a', 'u', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "johnmalloneemd.com", true */ 'j', 'o', 'h', 'n', 'm', 'a', 'l', 'l', 'o', 'n', 'e', 'e', 'm', 'd', '.', 'c', 'o', 'm', '\0',
   /* "johnmcgovern.com", true */ 'j', 'o', 'h', 'n', 'm', 'c', 'g', 'o', 'v', 'e', 'r', 'n', '.', 'c', 'o', 'm', '\0',
   /* "johnmcintosh.pro", true */ 'j', 'o', 'h', 'n', 'm', 'c', 'i', 'n', 't', 'o', 's', 'h', '.', 'p', 'r', 'o', '\0',
+  /* "johnmh.me", true */ 'j', 'o', 'h', 'n', 'm', 'h', '.', 'm', 'e', '\0',
   /* "johnmichel.org", true */ 'j', 'o', 'h', 'n', 'm', 'i', 'c', 'h', 'e', 'l', '.', 'o', 'r', 'g', '\0',
   /* "johnnybet.com", true */ 'j', 'o', 'h', 'n', 'n', 'y', 'b', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "johnroach.io", true */ 'j', 'o', 'h', 'n', 'r', 'o', 'a', 'c', 'h', '.', 'i', 'o', '\0',
   /* "johnsegovia.com", true */ 'j', 'o', 'h', 'n', 's', 'e', 'g', 'o', 'v', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "johnvanhese.nl", true */ 'j', 'o', 'h', 'n', 'v', 'a', 'n', 'h', 'e', 's', 'e', '.', 'n', 'l', '\0',
   /* "johnverkerk.com", true */ 'j', 'o', 'h', 'n', 'v', 'e', 'r', 'k', 'e', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "jointoweb.com", true */ 'j', 'o', 'i', 'n', 't', 'o', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "jokescoff.com", true */ 'j', 'o', 'k', 'e', 's', 'c', 'o', 'f', 'f', '.', 'c', 'o', 'm', '\0',
@@ -8643,17 +8634,16 @@ static const char kSTSHostTable[] = {
   /* "kesteren.org", true */ 'k', 'e', 's', 't', 'e', 'r', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "ketosecology.co.uk", true */ 'k', 'e', 't', 'o', 's', 'e', 'c', 'o', 'l', 'o', 'g', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "kettner.com", true */ 'k', 'e', 't', 't', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "kevinapease.com", true */ 'k', 'e', 'v', 'i', 'n', 'a', 'p', 'e', 'a', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "kevinbusse.de", true */ 'k', 'e', 'v', 'i', 'n', 'b', 'u', 's', 's', 'e', '.', 'd', 'e', '\0',
   /* "kevincox.ca", true */ 'k', 'e', 'v', 'i', 'n', 'c', 'o', 'x', '.', 'c', 'a', '\0',
   /* "kevindekoninck.com", false */ 'k', 'e', 'v', 'i', 'n', 'd', 'e', 'k', 'o', 'n', 'i', 'n', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "kevinkla.es", true */ 'k', 'e', 'v', 'i', 'n', 'k', 'l', 'a', '.', 'e', 's', '\0',
-  /* "kevinmeijer.nl", true */ 'k', 'e', 'v', 'i', 'n', 'm', 'e', 'i', 'j', 'e', 'r', '.', 'n', 'l', '\0',
   /* "kevinratcliff.com", true */ 'k', 'e', 'v', 'i', 'n', 'r', 'a', 't', 'c', 'l', 'i', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "keybase.io", true */ 'k', 'e', 'y', 'b', 'a', 's', 'e', '.', 'i', 'o', '\0',
   /* "keybored.me", true */ 'k', 'e', 'y', 'b', 'o', 'r', 'e', 'd', '.', 'm', 'e', '\0',
   /* "keycdn.com", true */ 'k', 'e', 'y', 'c', 'd', 'n', '.', 'c', 'o', 'm', '\0',
   /* "keyerror.com", true */ 'k', 'e', 'y', 'e', 'r', 'r', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "keyihao.cn", true */ 'k', 'e', 'y', 'i', 'h', 'a', 'o', '.', 'c', 'n', '\0',
   /* "keypersonins.com", true */ 'k', 'e', 'y', 'p', 'e', 'r', 's', 'o', 'n', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "keys.fedoraproject.org", true */ 'k', 'e', 'y', 's', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
@@ -8766,17 +8756,16 @@ static const char kSTSHostTable[] = {
   /* "kjchernov.info", true */ 'k', 'j', 'c', 'h', 'e', 'r', 'n', 'o', 'v', '.', 'i', 'n', 'f', 'o', '\0',
   /* "kjellvn.net", true */ 'k', 'j', 'e', 'l', 'l', 'v', 'n', '.', 'n', 'e', 't', '\0',
   /* "kk-neudorf-duissern.de", true */ 'k', 'k', '-', 'n', 'e', 'u', 'd', 'o', 'r', 'f', '-', 'd', 'u', 'i', 's', 's', 'e', 'r', 'n', '.', 'd', 'e', '\0',
   /* "kkaefer.com", true */ 'k', 'k', 'a', 'e', 'f', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "kkaufmann.de", true */ 'k', 'k', 'a', 'u', 'f', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "kki.org", true */ 'k', 'k', 'i', '.', 'o', 'r', 'g', '\0',
   /* "kkovacs.eu", true */ 'k', 'k', 'o', 'v', 'a', 'c', 's', '.', 'e', 'u', '\0',
   /* "kksg.com", true */ 'k', 'k', 's', 'g', '.', 'c', 'o', 'm', '\0',
-  /* "kkyy.me", true */ 'k', 'k', 'y', 'y', '.', 'm', 'e', '\0',
   /* "kkzxak47.com", true */ 'k', 'k', 'z', 'x', 'a', 'k', '4', '7', '.', 'c', 'o', 'm', '\0',
   /* "klamathrestoration.gov", true */ 'k', 'l', 'a', 'm', 'a', 't', 'h', 'r', 'e', 's', 't', 'o', 'r', 'a', 't', 'i', 'o', 'n', '.', 'g', 'o', 'v', '\0',
   /* "klangnok.de", true */ 'k', 'l', 'a', 'n', 'g', 'n', 'o', 'k', '.', 'd', 'e', '\0',
   /* "klares-licht.de", true */ 'k', 'l', 'a', 'r', 'e', 's', '-', 'l', 'i', 'c', 'h', 't', '.', 'd', 'e', '\0',
   /* "klarika.com", true */ 'k', 'l', 'a', 'r', 'i', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "klarmobil-empfehlen.de", true */ 'k', 'l', 'a', 'r', 'm', 'o', 'b', 'i', 'l', '-', 'e', 'm', 'p', 'f', 'e', 'h', 'l', 'e', 'n', '.', 'd', 'e', '\0',
   /* "klas.or.id", true */ 'k', 'l', 'a', 's', '.', 'o', 'r', '.', 'i', 'd', '\0',
   /* "klasfauseweh.de", true */ 'k', 'l', 'a', 's', 'f', 'a', 'u', 's', 'e', 'w', 'e', 'h', '.', 'd', 'e', '\0',
@@ -9050,17 +9039,16 @@ static const char kSTSHostTable[] = {
   /* "kyliehunt.com", true */ 'k', 'y', 'l', 'i', 'e', 'h', 'u', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "kylling.io", true */ 'k', 'y', 'l', 'l', 'i', 'n', 'g', '.', 'i', 'o', '\0',
   /* "kymo.org", true */ 'k', 'y', 'm', 'o', '.', 'o', 'r', 'g', '\0',
   /* "kynaston.org.uk", true */ 'k', 'y', 'n', 'a', 's', 't', 'o', 'n', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "kynastonwedding.co.uk", true */ 'k', 'y', 'n', 'a', 's', 't', 'o', 'n', 'w', 'e', 'd', 'd', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "kyosaku.org", true */ 'k', 'y', 'o', 's', 'a', 'k', 'u', '.', 'o', 'r', 'g', '\0',
   /* "kyoto-tomikawa.jp", true */ 'k', 'y', 'o', 't', 'o', '-', 't', 'o', 'm', 'i', 'k', 'a', 'w', 'a', '.', 'j', 'p', '\0',
   /* "kyujin-office.net", true */ 'k', 'y', 'u', 'j', 'i', 'n', '-', 'o', 'f', 'f', 'i', 'c', 'e', '.', 'n', 'e', 't', '\0',
-  /* "kyy.me", true */ 'k', 'y', 'y', '.', 'm', 'e', '\0',
   /* "kzsdabas.hu", true */ 'k', 'z', 's', 'd', 'a', 'b', 'a', 's', '.', 'h', 'u', '\0',
   /* "l-lab.org", true */ 'l', '-', 'l', 'a', 'b', '.', 'o', 'r', 'g', '\0',
   /* "l-rickroll-i.pw", true */ 'l', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'i', '.', 'p', 'w', '\0',
   /* "l18.io", true */ 'l', '1', '8', '.', 'i', 'o', '\0',
   /* "l4n-clan.de", true */ 'l', '4', 'n', '-', 'c', 'l', 'a', 'n', '.', 'd', 'e', '\0',
   /* "la-cave-a-nodo.fr", true */ 'l', 'a', '-', 'c', 'a', 'v', 'e', '-', 'a', '-', 'n', 'o', 'd', 'o', '.', 'f', 'r', '\0',
   /* "la-flora-negra.de", true */ 'l', 'a', '-', 'f', 'l', 'o', 'r', 'a', '-', 'n', 'e', 'g', 'r', 'a', '.', 'd', 'e', '\0',
   /* "la-grande-jaugue.fr", true */ 'l', 'a', '-', 'g', 'r', 'a', 'n', 'd', 'e', '-', 'j', 'a', 'u', 'g', 'u', 'e', '.', 'f', 'r', '\0',
@@ -9201,16 +9189,17 @@ static const char kSTSHostTable[] = {
   /* "laussat.de", true */ 'l', 'a', 'u', 's', 's', 'a', 't', '.', 'd', 'e', '\0',
   /* "lauzon-hitter.com", true */ 'l', 'a', 'u', 'z', 'o', 'n', '-', 'h', 'i', 't', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "lavabit.no", true */ 'l', 'a', 'v', 'a', 'b', 'i', 't', '.', 'n', 'o', '\0',
   /* "lavalite.de", true */ 'l', 'a', 'v', 'a', 'l', 'i', 't', 'e', '.', 'd', 'e', '\0',
   /* "laventainnhotel-mailing.com", true */ 'l', 'a', 'v', 'e', 'n', 't', 'a', 'i', 'n', 'n', 'h', 'o', 't', 'e', 'l', '-', 'm', 'a', 'i', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "lavita.de", true */ 'l', 'a', 'v', 'i', 't', 'a', '.', 'd', 'e', '\0',
   /* "lavoieducoeur.be", true */ 'l', 'a', 'v', 'o', 'i', 'e', 'd', 'u', 'c', 'o', 'e', 'u', 'r', '.', 'b', 'e', '\0',
   /* "lavoiepharmd.com", true */ 'l', 'a', 'v', 'o', 'i', 'e', 'p', 'h', 'a', 'r', 'm', 'd', '.', 'c', 'o', 'm', '\0',
+  /* "lawformt.com", true */ 'l', 'a', 'w', 'f', 'o', 'r', 'm', 't', '.', 'c', 'o', 'm', '\0',
   /* "lawly.org", true */ 'l', 'a', 'w', 'l', 'y', '.', 'o', 'r', 'g', '\0',
   /* "lawrencemurgatroyd.com", true */ 'l', 'a', 'w', 'r', 'e', 'n', 'c', 'e', 'm', 'u', 'r', 'g', 'a', 't', 'r', 'o', 'y', 'd', '.', 'c', 'o', 'm', '\0',
   /* "layer8.tk", true */ 'l', 'a', 'y', 'e', 'r', '8', '.', 't', 'k', '\0',
   /* "laylo.nl", true */ 'l', 'a', 'y', 'l', 'o', '.', 'n', 'l', '\0',
   /* "layoutsatzunddruck.de", true */ 'l', 'a', 'y', 'o', 'u', 't', 's', 'a', 't', 'z', 'u', 'n', 'd', 'd', 'r', 'u', 'c', 'k', '.', 'd', 'e', '\0',
   /* "lazerus.net", true */ 'l', 'a', 'z', 'e', 'r', 'u', 's', '.', 'n', 'e', 't', '\0',
   /* "lazowik.pl", true */ 'l', 'a', 'z', 'o', 'w', 'i', 'k', '.', 'p', 'l', '\0',
   /* "lazurit.com", true */ 'l', 'a', 'z', 'u', 'r', 'i', 't', '.', 'c', 'o', 'm', '\0',
@@ -9305,17 +9294,16 @@ static const char kSTSHostTable[] = {
   /* "leola.cz", true */ 'l', 'e', 'o', 'l', 'a', '.', 'c', 'z', '\0',
   /* "leola.sk", true */ 'l', 'e', 'o', 'l', 'a', '.', 's', 'k', '\0',
   /* "leolana.com", true */ 'l', 'e', 'o', 'l', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "leominstercu.com", false */ 'l', 'e', 'o', 'm', 'i', 'n', 's', 't', 'e', 'r', 'c', 'u', '.', 'c', 'o', 'm', '\0',
   /* "leonard.io", false */ 'l', 'e', 'o', 'n', 'a', 'r', 'd', '.', 'i', 'o', '\0',
   /* "leonardcamacho.me", true */ 'l', 'e', 'o', 'n', 'a', 'r', 'd', 'c', 'a', 'm', 'a', 'c', 'h', 'o', '.', 'm', 'e', '\0',
   /* "leonax.net", true */ 'l', 'e', 'o', 'n', 'a', 'x', '.', 'n', 'e', 't', '\0',
   /* "leondenard.com", true */ 'l', 'e', 'o', 'n', 'd', 'e', 'n', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
-  /* "leonhooijer.nl", true */ 'l', 'e', 'o', 'n', 'h', 'o', 'o', 'i', 'j', 'e', 'r', '.', 'n', 'l', '\0',
   /* "leonklingele.de", true */ 'l', 'e', 'o', 'n', 'k', 'l', 'i', 'n', 'g', 'e', 'l', 'e', '.', 'd', 'e', '\0',
   /* "leonmahler.consulting", true */ 'l', 'e', 'o', 'n', 'm', 'a', 'h', 'l', 'e', 'r', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
   /* "leopoldina.net", true */ 'l', 'e', 'o', 'p', 'o', 'l', 'd', 'i', 'n', 'a', '.', 'n', 'e', 't', '\0',
   /* "lep.gov", true */ 'l', 'e', 'p', '.', 'g', 'o', 'v', '\0',
   /* "leppis-it.de", true */ 'l', 'e', 'p', 'p', 'i', 's', '-', 'i', 't', '.', 'd', 'e', '\0',
   /* "leprado.com", true */ 'l', 'e', 'p', 'r', 'a', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "lerasenglish.com", true */ 'l', 'e', 'r', 'a', 's', 'e', 'n', 'g', 'l', 'i', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "lereporter.ma", true */ 'l', 'e', 'r', 'e', 'p', 'o', 'r', 't', 'e', 'r', '.', 'm', 'a', '\0',
@@ -9335,17 +9323,16 @@ static const char kSTSHostTable[] = {
   /* "lesnet.co.uk", true */ 'l', 'e', 's', 'n', 'e', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lesquerda.cat", true */ 'l', 'e', 's', 'q', 'u', 'e', 'r', 'd', 'a', '.', 'c', 'a', 't', '\0',
   /* "lesscloud.com", true */ 'l', 'e', 's', 's', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "lessing.consulting", true */ 'l', 'e', 's', 's', 'i', 'n', 'g', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
   /* "lessis.moe", true */ 'l', 'e', 's', 's', 'i', 's', '.', 'm', 'o', 'e', '\0',
   /* "let-go.cc", true */ 'l', 'e', 't', '-', 'g', 'o', '.', 'c', 'c', '\0',
   /* "letemps.ch", true */ 'l', 'e', 't', 'e', 'm', 'p', 's', '.', 'c', 'h', '\0',
   /* "leticiagomeztagle.com", true */ 'l', 'e', 't', 'i', 'c', 'i', 'a', 'g', 'o', 'm', 'e', 'z', 't', 'a', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "letitfly.me", true */ 'l', 'e', 't', 'i', 't', 'f', 'l', 'y', '.', 'm', 'e', '\0',
   /* "lets.ninja", true */ 'l', 'e', 't', 's', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "letsencrypt-for-cpanel.com", true */ 'l', 'e', 't', 's', 'e', 'n', 'c', 'r', 'y', 'p', 't', '-', 'f', 'o', 'r', '-', 'c', 'p', 'a', 'n', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "letsgame.nl", true */ 'l', 'e', 't', 's', 'g', 'a', 'm', 'e', '.', 'n', 'l', '\0',
   /* "letstalkcounseling.com", true */ 'l', 'e', 't', 's', 't', 'a', 'l', 'k', 'c', 'o', 'u', 'n', 's', 'e', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "letstox.com", true */ 'l', 'e', 't', 's', 't', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "letterdance.de", true */ 'l', 'e', 't', 't', 'e', 'r', 'd', 'a', 'n', 'c', 'e', '.', 'd', 'e', '\0',
   /* "lettersblogatory.com", true */ 'l', 'e', 't', 't', 'e', 'r', 's', 'b', 'l', 'o', 'g', 'a', 't', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "lettori.club", true */ 'l', 'e', 't', 't', 'o', 'r', 'i', '.', 'c', 'l', 'u', 'b', '\0',
@@ -9461,16 +9448,17 @@ static const char kSTSHostTable[] = {
   /* "linkycat.com", true */ 'l', 'i', 'n', 'k', 'y', 'c', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "linley.de", true */ 'l', 'i', 'n', 'l', 'e', 'y', '.', 'd', 'e', '\0',
   /* "linno.me", true */ 'l', 'i', 'n', 'n', 'o', '.', 'm', 'e', '\0',
   /* "linode.com", false */ 'l', 'i', 'n', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "linost.com", true */ 'l', 'i', 'n', 'o', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "linpx.com", true */ 'l', 'i', 'n', 'p', 'x', '.', 'c', 'o', 'm', '\0',
   /* "linqhost.nl", true */ 'l', 'i', 'n', 'q', 'h', 'o', 's', 't', '.', 'n', 'l', '\0',
   /* "linss.com", true */ 'l', 'i', 'n', 's', 's', '.', 'c', 'o', 'm', '\0',
+  /* "lintmx.com", true */ 'l', 'i', 'n', 't', 'm', 'x', '.', 'c', 'o', 'm', '\0',
   /* "linux-admin-california.com", true */ 'l', 'i', 'n', 'u', 'x', '-', 'a', 'd', 'm', 'i', 'n', '-', 'c', 'a', 'l', 'i', 'f', 'o', 'r', 'n', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "linux-florida.com", true */ 'l', 'i', 'n', 'u', 'x', '-', 'f', 'l', 'o', 'r', 'i', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "linux-mint-czech.cz", true */ 'l', 'i', 'n', 'u', 'x', '-', 'm', 'i', 'n', 't', '-', 'c', 'z', 'e', 'c', 'h', '.', 'c', 'z', '\0',
   /* "linux-mint.cz", true */ 'l', 'i', 'n', 'u', 'x', '-', 'm', 'i', 'n', 't', '.', 'c', 'z', '\0',
   /* "linux.army", true */ 'l', 'i', 'n', 'u', 'x', '.', 'a', 'r', 'm', 'y', '\0',
   /* "linux.cn", true */ 'l', 'i', 'n', 'u', 'x', '.', 'c', 'n', '\0',
   /* "linux.fi", true */ 'l', 'i', 'n', 'u', 'x', '.', 'f', 'i', '\0',
   /* "linuxandstuff.de", true */ 'l', 'i', 'n', 'u', 'x', 'a', 'n', 'd', 's', 't', 'u', 'f', 'f', '.', 'd', 'e', '\0',
@@ -9557,17 +9545,16 @@ static const char kSTSHostTable[] = {
   /* "lmtm.eu", true */ 'l', 'm', 't', 'm', '.', 'e', 'u', '\0',
   /* "lnoldan.com", true */ 'l', 'n', 'o', 'l', 'd', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "lntu.org", true */ 'l', 'n', 't', 'u', '.', 'o', 'r', 'g', '\0',
   /* "lnx.li", true */ 'l', 'n', 'x', '.', 'l', 'i', '\0',
   /* "loacg.com", true */ 'l', 'o', 'a', 'c', 'g', '.', 'c', 'o', 'm', '\0',
   /* "load-ev.de", true */ 'l', 'o', 'a', 'd', '-', 'e', 'v', '.', 'd', 'e', '\0',
   /* "loadlow.me", true */ 'l', 'o', 'a', 'd', 'l', 'o', 'w', '.', 'm', 'e', '\0',
   /* "loancompare.co.za", true */ 'l', 'o', 'a', 'n', 'c', 'o', 'm', 'p', 'a', 'r', 'e', '.', 'c', 'o', '.', 'z', 'a', '\0',
-  /* "loansonline.today", true */ 'l', 'o', 'a', 'n', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 't', 'o', 'd', 'a', 'y', '\0',
   /* "loanstreet.be", true */ 'l', 'o', 'a', 'n', 's', 't', 'r', 'e', 'e', 't', '.', 'b', 'e', '\0',
   /* "loanstreet.nl", true */ 'l', 'o', 'a', 'n', 's', 't', 'r', 'e', 'e', 't', '.', 'n', 'l', '\0',
   /* "lobosdomain.no-ip.info", true */ 'l', 'o', 'b', 'o', 's', 'd', 'o', 'm', 'a', 'i', 'n', '.', 'n', 'o', '-', 'i', 'p', '.', 'i', 'n', 'f', 'o', '\0',
   /* "lobste.rs", true */ 'l', 'o', 'b', 's', 't', 'e', '.', 'r', 's', '\0',
   /* "locais.org", true */ 'l', 'o', 'c', 'a', 'i', 's', '.', 'o', 'r', 'g', '\0',
   /* "localbandz.com", true */ 'l', 'o', 'c', 'a', 'l', 'b', 'a', 'n', 'd', 'z', '.', 'c', 'o', 'm', '\0',
   /* "localbitcoins.com", true */ 'l', 'o', 'c', 'a', 'l', 'b', 'i', 't', 'c', 'o', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "localblock.co.za", true */ 'l', 'o', 'c', 'a', 'l', 'b', 'l', 'o', 'c', 'k', '.', 'c', 'o', '.', 'z', 'a', '\0',
@@ -9659,25 +9646,25 @@ static const char kSTSHostTable[] = {
   /* "loopstart.org", true */ 'l', 'o', 'o', 'p', 's', 't', 'a', 'r', 't', '.', 'o', 'r', 'g', '\0',
   /* "loothole.com", true */ 'l', 'o', 'o', 't', 'h', 'o', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "loqu8.com", true */ 'l', 'o', 'q', 'u', '8', '.', 'c', 'o', 'm', '\0',
   /* "lordjevington.co.uk", true */ 'l', 'o', 'r', 'd', 'j', 'e', 'v', 'i', 'n', 'g', 't', 'o', 'n', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lore.azurewebsites.net", true */ 'l', 'o', 'r', 'e', '.', 'a', 'z', 'u', 'r', 'e', 'w', 'e', 'b', 's', 'i', 't', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "lorenadumitrascu.ro", true */ 'l', 'o', 'r', 'e', 'n', 'a', 'd', 'u', 'm', 'i', 't', 'r', 'a', 's', 'c', 'u', '.', 'r', 'o', '\0',
   /* "losless.fr", true */ 'l', 'o', 's', 'l', 'e', 's', 's', '.', 'f', 'r', '\0',
   /* "lost.host", true */ 'l', 'o', 's', 't', '.', 'h', 'o', 's', 't', '\0',
-  /* "lostg.com", true */ 'l', 'o', 's', 't', 'g', '.', 'c', 'o', 'm', '\0',
   /* "lostserver.com", true */ 'l', 'o', 's', 't', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "lostwithdan.com", true */ 'l', 'o', 's', 't', 'w', 'i', 't', 'h', 'd', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "loteks.de", true */ 'l', 'o', 't', 'e', 'k', 's', '.', 'd', 'e', '\0',
   /* "lothuytinhsi.com", true */ 'l', 'o', 't', 'h', 'u', 'y', 't', 'i', 'n', 'h', 's', 'i', '.', 'c', 'o', 'm', '\0',
   /* "lotos-ag.ch", true */ 'l', 'o', 't', 'o', 's', '-', 'a', 'g', '.', 'c', 'h', '\0',
   /* "lottosonline.com", true */ 'l', 'o', 't', 't', 'o', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lotw.de", true */ 'l', 'o', 't', 'w', '.', 'd', 'e', '\0',
   /* "loucanfixit.com", true */ 'l', 'o', 'u', 'c', 'a', 'n', 'f', 'i', 'x', 'i', 't', '.', 'c', 'o', 'm', '\0',
+  /* "louiewatch.com", true */ 'l', 'o', 'u', 'i', 'e', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "louisvillevmug.info", true */ 'l', 'o', 'u', 'i', 's', 'v', 'i', 'l', 'l', 'e', 'v', 'm', 'u', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "loune.net", true */ 'l', 'o', 'u', 'n', 'e', '.', 'n', 'e', 't', '\0',
   /* "love-schna.jp", true */ 'l', 'o', 'v', 'e', '-', 's', 'c', 'h', 'n', 'a', '.', 'j', 'p', '\0',
   /* "loveandadoreboutique.com", true */ 'l', 'o', 'v', 'e', 'a', 'n', 'd', 'a', 'd', 'o', 'r', 'e', 'b', 'o', 'u', 't', 'i', 'q', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "loveismore.de", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'd', 'e', '\0',
   /* "loveismore.es", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'e', 's', '\0',
   /* "loveismore.eu", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'e', 'u', '\0',
   /* "loveismore.fr", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'f', 'r', '\0',
@@ -9705,17 +9692,16 @@ static const char kSTSHostTable[] = {
   /* "lpbk-bethel.de", false */ 'l', 'p', 'b', 'k', '-', 'b', 'e', 't', 'h', 'e', 'l', '.', 'd', 'e', '\0',
   /* "lpm-uk.com", true */ 'l', 'p', 'm', '-', 'u', 'k', '.', 'c', 'o', 'm', '\0',
   /* "lrssystems.com", true */ 'l', 'r', 's', 's', 'y', 's', 't', 'e', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "ls-alarm.de", true */ 'l', 's', '-', 'a', 'l', 'a', 'r', 'm', '.', 'd', 'e', '\0',
   /* "lsc-dillingen.de", true */ 'l', 's', 'c', '-', 'd', 'i', 'l', 'l', 'i', 'n', 'g', 'e', 'n', '.', 'd', 'e', '\0',
   /* "ltba.org", true */ 'l', 't', 'b', 'a', '.', 'o', 'r', 'g', '\0',
   /* "ltecode.com", true */ 'l', 't', 'e', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ltn-tom-morel.fr", true */ 'l', 't', 'n', '-', 't', 'o', 'm', '-', 'm', 'o', 'r', 'e', 'l', '.', 'f', 'r', '\0',
-  /* "lubot.net", false */ 'l', 'u', 'b', 'o', 't', '.', 'n', 'e', 't', '\0',
   /* "luc-oberson.ch", true */ 'l', 'u', 'c', '-', 'o', 'b', 'e', 'r', 's', 'o', 'n', '.', 'c', 'h', '\0',
   /* "lucas-garte.com", true */ 'l', 'u', 'c', 'a', 's', '-', 'g', 'a', 'r', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lucasantarella.com", true */ 'l', 'u', 'c', 'a', 's', 'a', 'n', 't', 'a', 'r', 'e', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "lucascodes.com", true */ 'l', 'u', 'c', 'a', 's', 'c', 'o', 'd', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "lucasem.com", true */ 'l', 'u', 'c', 'a', 's', 'e', 'm', '.', 'c', 'o', 'm', '\0',
   /* "lucasgaland.com", true */ 'l', 'u', 'c', 'a', 's', 'g', 'a', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "luce.life", true */ 'l', 'u', 'c', 'e', '.', 'l', 'i', 'f', 'e', '\0',
   /* "luchscheider.de", true */ 'l', 'u', 'c', 'h', 's', 'c', 'h', 'e', 'i', 'd', 'e', 'r', '.', 'd', 'e', '\0',
@@ -10024,17 +10010,16 @@ static const char kSTSHostTable[] = {
   /* "marketespace.fr", true */ 'm', 'a', 'r', 'k', 'e', 't', 'e', 's', 'p', 'a', 'c', 'e', '.', 'f', 'r', '\0',
   /* "marketingdesignu.cz", true */ 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', 'd', 'e', 's', 'i', 'g', 'n', 'u', '.', 'c', 'z', '\0',
   /* "marketio.co", true */ 'm', 'a', 'r', 'k', 'e', 't', 'i', 'o', '.', 'c', 'o', '\0',
   /* "marketnsight.com", true */ 'm', 'a', 'r', 'k', 'e', 't', 'n', 's', 'i', 'g', 'h', 't', '.', 'c', 'o', 'm', '\0',
   /* "markido.com", true */ 'm', 'a', 'r', 'k', 'i', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "markoh.co.uk", true */ 'm', 'a', 'r', 'k', 'o', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "markom.rs", true */ 'm', 'a', 'r', 'k', 'o', 'm', '.', 'r', 's', '\0',
   /* "markorszulak.com", true */ 'm', 'a', 'r', 'k', 'o', 'r', 's', 'z', 'u', 'l', 'a', 'k', '.', 'c', 'o', 'm', '\0',
-  /* "markprof.ru", true */ 'm', 'a', 'r', 'k', 'p', 'r', 'o', 'f', '.', 'r', 'u', '\0',
   /* "markri.nl", false */ 'm', 'a', 'r', 'k', 'r', 'i', '.', 'n', 'l', '\0',
   /* "marksill.com", true */ 'm', 'a', 'r', 'k', 's', 'i', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "marksouthall.com", true */ 'm', 'a', 'r', 'k', 's', 'o', 'u', 't', 'h', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "markt-heiligenstadt.de", true */ 'm', 'a', 'r', 'k', 't', '-', 'h', 'e', 'i', 'l', 'i', 'g', 'e', 'n', 's', 't', 'a', 'd', 't', '.', 'd', 'e', '\0',
   /* "marktcontact.com", true */ 'm', 'a', 'r', 'k', 't', 'c', 'o', 'n', 't', 'a', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "marktissink.nl", false */ 'm', 'a', 'r', 'k', 't', 'i', 's', 's', 'i', 'n', 'k', '.', 'n', 'l', '\0',
   /* "markusehrlicher.de", true */ 'm', 'a', 'r', 'k', 'u', 's', 'e', 'h', 'r', 'l', 'i', 'c', 'h', 'e', 'r', '.', 'd', 'e', '\0',
   /* "markuskeppeler.no-ip.biz", true */ 'm', 'a', 'r', 'k', 'u', 's', 'k', 'e', 'p', 'p', 'e', 'l', 'e', 'r', '.', 'n', 'o', '-', 'i', 'p', '.', 'b', 'i', 'z', '\0',
@@ -10096,17 +10081,16 @@ static const char kSTSHostTable[] = {
   /* "mathhire.org", true */ 'm', 'a', 't', 'h', 'h', 'i', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "mathiasbynens.be", true */ 'm', 'a', 't', 'h', 'i', 'a', 's', 'b', 'y', 'n', 'e', 'n', 's', '.', 'b', 'e', '\0',
   /* "mathiasgarbe.de", true */ 'm', 'a', 't', 'h', 'i', 'a', 's', 'g', 'a', 'r', 'b', 'e', '.', 'd', 'e', '\0',
   /* "mathieuguimond.com", true */ 'm', 'a', 't', 'h', 'i', 'e', 'u', 'g', 'u', 'i', 'm', 'o', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "mathieui.net", true */ 'm', 'a', 't', 'h', 'i', 'e', 'u', 'i', '.', 'n', 'e', 't', '\0',
   /* "maths.network", true */ 'm', 'a', 't', 'h', 's', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '\0',
   /* "matillat.ovh", true */ 'm', 'a', 't', 'i', 'l', 'l', 'a', 't', '.', 'o', 'v', 'h', '\0',
   /* "matlss.com", true */ 'm', 'a', 't', 'l', 's', 's', '.', 'c', 'o', 'm', '\0',
-  /* "matrict.com", true */ 'm', 'a', 't', 'r', 'i', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "matt.tf", true */ 'm', 'a', 't', 't', '.', 't', 'f', '\0',
   /* "mattandreko.com", true */ 'm', 'a', 't', 't', 'a', 'n', 'd', 'r', 'e', 'k', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mattandyana.com", true */ 'm', 'a', 't', 't', 'a', 'n', 'd', 'y', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "matteomarescotti.it", true */ 'm', 'a', 't', 't', 'e', 'o', 'm', 'a', 'r', 'e', 's', 'c', 'o', 't', 't', 'i', '.', 'i', 't', '\0',
   /* "matterconcern.com", true */ 'm', 'a', 't', 't', 'e', 'r', 'c', 'o', 'n', 'c', 'e', 'r', 'n', '.', 'c', 'o', 'm', '\0',
   /* "matthecat.com", true */ 'm', 'a', 't', 't', 'h', 'e', 'c', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "matthew-carson.info", true */ 'm', 'a', 't', 't', 'h', 'e', 'w', '-', 'c', 'a', 'r', 's', 'o', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "matthewemes.com", true */ 'm', 'a', 't', 't', 'h', 'e', 'w', 'e', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
@@ -10373,16 +10357,17 @@ static const char kSTSHostTable[] = {
   /* "metsasta.com", true */ 'm', 'e', 't', 's', 'a', 's', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "metzgerei-birkenhof.de", true */ 'm', 'e', 't', 'z', 'g', 'e', 'r', 'e', 'i', '-', 'b', 'i', 'r', 'k', 'e', 'n', 'h', 'o', 'f', '.', 'd', 'e', '\0',
   /* "meusigno.com", true */ 'm', 'e', 'u', 's', 'i', 'g', 'n', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mevs.cz", true */ 'm', 'e', 'v', 's', '.', 'c', 'z', '\0',
   /* "mexican.dating", true */ 'm', 'e', 'x', 'i', 'c', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "mexior.nl", true */ 'm', 'e', 'x', 'i', 'o', 'r', '.', 'n', 'l', '\0',
   /* "meyeraviation.com", true */ 'm', 'e', 'y', 'e', 'r', 'a', 'v', 'i', 'a', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "meyercloud.de", true */ 'm', 'e', 'y', 'e', 'r', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
+  /* "mfedderke.com", true */ 'm', 'f', 'e', 'd', 'd', 'e', 'r', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mfxbe.de", true */ 'm', 'f', 'x', 'b', 'e', '.', 'd', 'e', '\0',
   /* "mgdigital.fr", true */ 'm', 'g', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'f', 'r', '\0',
   /* "mghiorzi.com.ar", true */ 'm', 'g', 'h', 'i', 'o', 'r', 'z', 'i', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "mgrossklaus.de", true */ 'm', 'g', 'r', 'o', 's', 's', 'k', 'l', 'a', 'u', 's', '.', 'd', 'e', '\0',
   /* "mheistermann.de", true */ 'm', 'h', 'e', 'i', 's', 't', 'e', 'r', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "mhermans.nl", true */ 'm', 'h', 'e', 'r', 'm', 'a', 'n', 's', '.', 'n', 'l', '\0',
   /* "mhjuma.com", true */ 'm', 'h', 'j', 'u', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mi80.com", true */ 'm', 'i', '8', '0', '.', 'c', 'o', 'm', '\0',
@@ -10631,16 +10616,17 @@ static const char kSTSHostTable[] = {
   /* "mobilesector.de", true */ 'm', 'o', 'b', 'i', 'l', 'e', 's', 'e', 'c', 't', 'o', 'r', '.', 'd', 'e', '\0',
   /* "mobiletraff.co", true */ 'm', 'o', 'b', 'i', 'l', 'e', 't', 'r', 'a', 'f', 'f', '.', 'c', 'o', '\0',
   /* "mobilewikiserver.com", true */ 'm', 'o', 'b', 'i', 'l', 'e', 'w', 'i', 'k', 'i', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mobilinnov.it", true */ 'm', 'o', 'b', 'i', 'l', 'i', 'n', 'n', 'o', 'v', '.', 'i', 't', '\0',
   /* "mobility-events.ch", true */ 'm', 'o', 'b', 'i', 'l', 'i', 't', 'y', '-', 'e', 'v', 'e', 'n', 't', 's', '.', 'c', 'h', '\0',
   /* "mobilux.lv", true */ 'm', 'o', 'b', 'i', 'l', 'u', 'x', '.', 'l', 'v', '\0',
   /* "mobio.net", true */ 'm', 'o', 'b', 'i', 'o', '.', 'n', 'e', 't', '\0',
   /* "mobisaar-cloud.de", true */ 'm', 'o', 'b', 'i', 's', 'a', 'a', 'r', '-', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
+  /* "mobix5.com", true */ 'm', 'o', 'b', 'i', 'x', '5', '.', 'c', 'o', 'm', '\0',
   /* "mobobe.com", true */ 'm', 'o', 'b', 'o', 'b', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mobsender.com", true */ 'm', 'o', 'b', 's', 'e', 'n', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mockmyapp.com", true */ 'm', 'o', 'c', 'k', 'm', 'y', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "modafinil.com", true */ 'm', 'o', 'd', 'a', 'f', 'i', 'n', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "modafinil.wiki", true */ 'm', 'o', 'd', 'a', 'f', 'i', 'n', 'i', 'l', '.', 'w', 'i', 'k', 'i', '\0',
   /* "modded-minecraft-server-list.com", true */ 'm', 'o', 'd', 'd', 'e', 'd', '-', 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '-', 's', 'e', 'r', 'v', 'e', 'r', '-', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "mode-individuell.de", true */ 'm', 'o', 'd', 'e', '-', 'i', 'n', 'd', 'i', 'v', 'i', 'd', 'u', 'e', 'l', 'l', '.', 'd', 'e', '\0',
   /* "mode-marine.com", true */ 'm', 'o', 'd', 'e', '-', 'm', 'a', 'r', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
@@ -10659,17 +10645,16 @@ static const char kSTSHostTable[] = {
   /* "moe.pe", true */ 'm', 'o', 'e', '.', 'p', 'e', '\0',
   /* "moe4sale.in", true */ 'm', 'o', 'e', '4', 's', 'a', 'l', 'e', '.', 'i', 'n', '\0',
   /* "moechel.com", true */ 'm', 'o', 'e', 'c', 'h', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "moefactory.com", true */ 'm', 'o', 'e', 'f', 'a', 'c', 't', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "moegirl.org", true */ 'm', 'o', 'e', 'g', 'i', 'r', 'l', '.', 'o', 'r', 'g', '\0',
   /* "moehrke.cc", true */ 'm', 'o', 'e', 'h', 'r', 'k', 'e', '.', 'c', 'c', '\0',
   /* "moeloli.pw", true */ 'm', 'o', 'e', 'l', 'o', 'l', 'i', '.', 'p', 'w', '\0',
   /* "moevenpick-cafe.com", true */ 'm', 'o', 'e', 'v', 'e', 'n', 'p', 'i', 'c', 'k', '-', 'c', 'a', 'f', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "moeyi.xyz", true */ 'm', 'o', 'e', 'y', 'i', '.', 'x', 'y', 'z', '\0',
   /* "mofohome.dyndns.org", true */ 'm', 'o', 'f', 'o', 'h', 'o', 'm', 'e', '.', 'd', 'y', 'n', 'd', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "moitur.com", true */ 'm', 'o', 'i', 't', 'u', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mojaknjiznica.com", false */ 'm', 'o', 'j', 'a', 'k', 'n', 'j', 'i', 'z', 'n', 'i', 'c', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mojapraca.sk", true */ 'm', 'o', 'j', 'a', 'p', 'r', 'a', 'c', 'a', '.', 's', 'k', '\0',
   /* "mojzis.com", true */ 'm', 'o', 'j', 'z', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "mojzis.cz", true */ 'm', 'o', 'j', 'z', 'i', 's', '.', 'c', 'z', '\0',
   /* "mojzisova.com", true */ 'm', 'o', 'j', 'z', 'i', 's', 'o', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mokadev.com", true */ 'm', 'o', 'k', 'a', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
@@ -11031,18 +11016,19 @@ static const char kSTSHostTable[] = {
   /* "myvpl.com", true */ 'm', 'y', 'v', 'p', 'l', '.', 'c', 'o', 'm', '\0',
   /* "mywari.com", true */ 'm', 'y', 'w', 'a', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "myworkinfo.com", false */ 'm', 'y', 'w', 'o', 'r', 'k', 'i', 'n', 'f', 'o', '.', 'c', 'o', 'm', '\0',
   /* "myworth.com.au", true */ 'm', 'y', 'w', 'o', 'r', 't', 'h', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "myzina.cz", false */ 'm', 'y', 'z', 'i', 'n', 'a', '.', 'c', 'z', '\0',
   /* "mziulu.me", false */ 'm', 'z', 'i', 'u', 'l', 'u', '.', 'm', 'e', '\0',
   /* "n-pix.com", false */ 'n', '-', 'p', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "n-rickroll-e.pw", true */ 'n', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'e', '.', 'p', 'w', '\0',
+  /* "n-soft.info", true */ 'n', '-', 's', 'o', 'f', 't', '.', 'i', 'n', 'f', 'o', '\0',
   /* "n-un.de", true */ 'n', '-', 'u', 'n', '.', 'd', 'e', '\0',
-  /* "n0099.cf", true */ 'n', '0', '0', '9', '9', '.', 'c', 'f', '\0',
+  /* "n0099.cf", false */ 'n', '0', '0', '9', '9', '.', 'c', 'f', '\0',
   /* "n0paste.tk", false */ 'n', '0', 'p', 'a', 's', 't', 'e', '.', 't', 'k', '\0',
   /* "n6a.net", true */ 'n', '6', 'a', '.', 'n', 'e', 't', '\0',
   /* "n8ch.net", true */ 'n', '8', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "nabankco.com", true */ 'n', 'a', 'b', 'a', 'n', 'k', 'c', 'o', '.', 'c', 'o', 'm', '\0',
   /* "nabu-bad-nauheim.de", true */ 'n', 'a', 'b', 'u', '-', 'b', 'a', 'd', '-', 'n', 'a', 'u', 'h', 'e', 'i', 'm', '.', 'd', 'e', '\0',
   /* "nachsendeauftrag.net", true */ 'n', 'a', 'c', 'h', 's', 'e', 'n', 'd', 'e', 'a', 'u', 'f', 't', 'r', 'a', 'g', '.', 'n', 'e', 't', '\0',
   /* "nachsenden.info", true */ 'n', 'a', 'c', 'h', 's', 'e', 'n', 'd', 'e', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "nachtmuziek.info", true */ 'n', 'a', 'c', 'h', 't', 'm', 'u', 'z', 'i', 'e', 'k', '.', 'i', 'n', 'f', 'o', '\0',
@@ -11103,16 +11089,17 @@ static const char kSTSHostTable[] = {
   /* "nasrsolar.com", true */ 'n', 'a', 's', 'r', 's', 'o', 'l', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "nassi.me", true */ 'n', 'a', 's', 's', 'i', '.', 'm', 'e', '\0',
   /* "nastysclaw.com", true */ 'n', 'a', 's', 't', 'y', 's', 'c', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "natalieandjoshua.com", true */ 'n', 'a', 't', 'a', 'l', 'i', 'e', 'a', 'n', 'd', 'j', 'o', 's', 'h', 'u', 'a', '.', 'c', 'o', 'm', '\0',
   /* "natanaelys.com", true */ 'n', 'a', 't', 'a', 'n', 'a', 'e', 'l', 'y', 's', '.', 'c', 'o', 'm', '\0',
   /* "natenom.com", true */ 'n', 'a', 't', 'e', 'n', 'o', 'm', '.', 'c', 'o', 'm', '\0',
   /* "natenom.de", true */ 'n', 'a', 't', 'e', 'n', 'o', 'm', '.', 'd', 'e', '\0',
   /* "natenom.name", true */ 'n', 'a', 't', 'e', 'n', 'o', 'm', '.', 'n', 'a', 'm', 'e', '\0',
+  /* "nathan.io", true */ 'n', 'a', 't', 'h', 'a', 'n', '.', 'i', 'o', '\0',
   /* "nathankonopinski.com", true */ 'n', 'a', 't', 'h', 'a', 'n', 'k', 'o', 'n', 'o', 'p', 'i', 'n', 's', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "nathansmetana.com", true */ 'n', 'a', 't', 'h', 'a', 'n', 's', 'm', 'e', 't', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "nationalcentereg.org", true */ 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'c', 'e', 'n', 't', 'e', 'r', 'e', 'g', '.', 'o', 'r', 'g', '\0',
   /* "nationalcrimecheck.com.au", true */ 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'c', 'r', 'i', 'm', 'e', 'c', 'h', 'e', 'c', 'k', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "nationalpriorities.org", true */ 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'p', 'r', 'i', 'o', 'r', 'i', 't', 'i', 'e', 's', '.', 'o', 'r', 'g', '\0',
   /* "nationwidevehiclecontracts.co.uk", true */ 'n', 'a', 't', 'i', 'o', 'n', 'w', 'i', 'd', 'e', 'v', 'e', 'h', 'i', 'c', 'l', 'e', 'c', 'o', 'n', 't', 'r', 'a', 'c', 't', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "natsumihoshino.com", true */ 'n', 'a', 't', 's', 'u', 'm', 'i', 'h', 'o', 's', 'h', 'i', 'n', 'o', '.', 'c', 'o', 'm', '\0',
   /* "naturesharvestbread.com", true */ 'n', 'a', 't', 'u', 'r', 'e', 's', 'h', 'a', 'r', 'v', 'e', 's', 't', 'b', 'r', 'e', 'a', 'd', '.', 'c', 'o', 'm', '\0',
@@ -11175,16 +11162,17 @@ static const char kSTSHostTable[] = {
   /* "nedraconsult.ru", true */ 'n', 'e', 'd', 'r', 'a', 'c', 'o', 'n', 's', 'u', 'l', 't', '.', 'r', 'u', '\0',
   /* "neel.ch", true */ 'n', 'e', 'e', 'l', '.', 'c', 'h', '\0',
   /* "neer.io", true */ 'n', 'e', 'e', 'r', '.', 'i', 'o', '\0',
   /* "nefertitis.cz", true */ 'n', 'e', 'f', 'e', 'r', 't', 'i', 't', 'i', 's', '.', 'c', 'z', '\0',
   /* "neftebitum-kngk.ru", true */ 'n', 'e', 'f', 't', 'e', 'b', 'i', 't', 'u', 'm', '-', 'k', 'n', 'g', 'k', '.', 'r', 'u', '\0',
   /* "neg9.org", false */ 'n', 'e', 'g', '9', '.', 'o', 'r', 'g', '\0',
   /* "negativecurvature.net", true */ 'n', 'e', 'g', 'a', 't', 'i', 'v', 'e', 'c', 'u', 'r', 'v', 'a', 't', 'u', 'r', 'e', '.', 'n', 'e', 't', '\0',
   /* "neglecteddiseases.gov", true */ 'n', 'e', 'g', 'l', 'e', 'c', 't', 'e', 'd', 'd', 'i', 's', 'e', 'a', 's', 'e', 's', '.', 'g', 'o', 'v', '\0',
+  /* "neilgreen.net", true */ 'n', 'e', 'i', 'l', 'g', 'r', 'e', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "neillans.co.uk", true */ 'n', 'e', 'i', 'l', 'l', 'a', 'n', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "neillans.com", true */ 'n', 'e', 'i', 'l', 'l', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "neilwynne.com", true */ 'n', 'e', 'i', 'l', 'w', 'y', 'n', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "neko-nyan.org", true */ 'n', 'e', 'k', 'o', '-', 'n', 'y', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "neko.li", true */ 'n', 'e', 'k', 'o', '.', 'l', 'i', '\0',
   /* "nekomimi.pl", true */ 'n', 'e', 'k', 'o', 'm', 'i', 'm', 'i', '.', 'p', 'l', '\0',
   /* "nekosc.com", true */ 'n', 'e', 'k', 'o', 's', 'c', '.', 'c', 'o', 'm', '\0',
   /* "nelhage.com", true */ 'n', 'e', 'l', 'h', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
@@ -11937,16 +11925,17 @@ static const char kSTSHostTable[] = {
   /* "otakubox.de", true */ 'o', 't', 'a', 'k', 'u', 'b', 'o', 'x', '.', 'd', 'e', '\0',
   /* "otakurepublic.com", true */ 'o', 't', 'a', 'k', 'u', 'r', 'e', 'p', 'u', 'b', 'l', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "otchecker.com", true */ 'o', 't', 'c', 'h', 'e', 'c', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "otellio.com", true */ 'o', 't', 'e', 'l', 'l', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "oticasvisao.net.br", true */ 'o', 't', 'i', 'c', 'a', 's', 'v', 'i', 's', 'a', 'o', '.', 'n', 'e', 't', '.', 'b', 'r', '\0',
   /* "otmns.net", true */ 'o', 't', 'm', 'n', 's', '.', 'n', 'e', 't', '\0',
   /* "otorrino.pt", true */ 'o', 't', 'o', 'r', 'r', 'i', 'n', 'o', '.', 'p', 't', '\0',
   /* "otoy.com", true */ 'o', 't', 'o', 'y', '.', 'c', 'o', 'm', '\0',
+  /* "otpsmart.com.ua", true */ 'o', 't', 'p', 's', 'm', 'a', 'r', 't', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
   /* "otrm.de", true */ 'o', 't', 'r', 'm', '.', 'd', 'e', '\0',
   /* "otrsdemo.hu", true */ 'o', 't', 'r', 's', 'd', 'e', 'm', 'o', '.', 'h', 'u', '\0',
   /* "ottoproject.io", true */ 'o', 't', 't', 'o', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'i', 'o', '\0',
   /* "otvaracie-hodiny.sk", true */ 'o', 't', 'v', 'a', 'r', 'a', 'c', 'i', 'e', '-', 'h', 'o', 'd', 'i', 'n', 'y', '.', 's', 'k', '\0',
   /* "otya.me", true */ 'o', 't', 'y', 'a', '.', 'm', 'e', '\0',
   /* "ouaibe.qc.ca", true */ 'o', 'u', 'a', 'i', 'b', 'e', '.', 'q', 'c', '.', 'c', 'a', '\0',
   /* "oulunjujutsu.com", true */ 'o', 'u', 'l', 'u', 'n', 'j', 'u', 'j', 'u', 't', 's', 'u', '.', 'c', 'o', 'm', '\0',
   /* "ourai.ws", true */ 'o', 'u', 'r', 'a', 'i', '.', 'w', 's', '\0',
@@ -12097,17 +12086,16 @@ static const char kSTSHostTable[] = {
   /* "passumpsicbank.com", true */ 'p', 'a', 's', 's', 'u', 'm', 'p', 's', 'i', 'c', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '\0',
   /* "passvau.lt", true */ 'p', 'a', 's', 's', 'v', 'a', 'u', '.', 'l', 't', '\0',
   /* "passwd.io", true */ 'p', 'a', 's', 's', 'w', 'd', '.', 'i', 'o', '\0',
   /* "password.codes", true */ 'p', 'a', 's', 's', 'w', 'o', 'r', 'd', '.', 'c', 'o', 'd', 'e', 's', '\0',
   /* "password.consulting", true */ 'p', 'a', 's', 's', 'w', 'o', 'r', 'd', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
   /* "passwords.google.com", true */ 'p', 'a', 's', 's', 'w', 'o', 'r', 'd', 's', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pasta-factory.co.il", true */ 'p', 'a', 's', 't', 'a', '-', 'f', 'a', 'c', 't', 'o', 'r', 'y', '.', 'c', 'o', '.', 'i', 'l', '\0',
   /* "pastaenprosecco.nl", true */ 'p', 'a', 's', 't', 'a', 'e', 'n', 'p', 'r', 'o', 's', 'e', 'c', 'c', 'o', '.', 'n', 'l', '\0',
-  /* "pastdream.xyz", true */ 'p', 'a', 's', 't', 'd', 'r', 'e', 'a', 'm', '.', 'x', 'y', 'z', '\0',
   /* "paste.fedoraproject.org", true */ 'p', 'a', 's', 't', 'e', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "pastebin.co.za", true */ 'p', 'a', 's', 't', 'e', 'b', 'i', 'n', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "pasternok.org", true */ 'p', 'a', 's', 't', 'e', 'r', 'n', 'o', 'k', '.', 'o', 'r', 'g', '\0',
   /* "pasteros.io", true */ 'p', 'a', 's', 't', 'e', 'r', 'o', 's', '.', 'i', 'o', '\0',
   /* "pastie.se", true */ 'p', 'a', 's', 't', 'i', 'e', '.', 's', 'e', '\0',
   /* "pastoral-verbund.de", true */ 'p', 'a', 's', 't', 'o', 'r', 'a', 'l', '-', 'v', 'e', 'r', 'b', 'u', 'n', 'd', '.', 'd', 'e', '\0',
   /* "pastorbelgagroenendael.com.br", true */ 'p', 'a', 's', 't', 'o', 'r', 'b', 'e', 'l', 'g', 'a', 'g', 'r', 'o', 'e', 'n', 'e', 'n', 'd', 'a', 'e', 'l', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "pastorcanadense.com.br", true */ 'p', 'a', 's', 't', 'o', 'r', 'c', 'a', 'n', 'a', 'd', 'e', 'n', 's', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
@@ -12121,16 +12109,17 @@ static const char kSTSHostTable[] = {
   /* "patralos.at", false */ 'p', 'a', 't', 'r', 'a', 'l', 'o', 's', '.', 'a', 't', '\0',
   /* "patriaco.net", true */ 'p', 'a', 't', 'r', 'i', 'a', 'c', 'o', '.', 'n', 'e', 't', '\0',
   /* "patrick.dark.name", true */ 'p', 'a', 't', 'r', 'i', 'c', 'k', '.', 'd', 'a', 'r', 'k', '.', 'n', 'a', 'm', 'e', '\0',
   /* "patrickaudley.ca", true */ 'p', 'a', 't', 'r', 'i', 'c', 'k', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'c', 'a', '\0',
   /* "patrickaudley.com", true */ 'p', 'a', 't', 'r', 'i', 'c', 'k', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "patrickschneider.me", true */ 'p', 'a', 't', 'r', 'i', 'c', 'k', 's', 'c', 'h', 'n', 'e', 'i', 'd', 'e', 'r', '.', 'm', 'e', '\0',
   /* "patriksimek.cz", true */ 'p', 'a', 't', 'r', 'i', 'k', 's', 'i', 'm', 'e', 'k', '.', 'c', 'z', '\0',
   /* "patrz.eu", true */ 'p', 'a', 't', 'r', 'z', '.', 'e', 'u', '\0',
+  /* "patterson.mp", true */ 'p', 'a', 't', 't', 'e', 'r', 's', 'o', 'n', '.', 'm', 'p', '\0',
   /* "pattuka.com", true */ 'p', 'a', 't', 't', 'u', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "paudley.ca", true */ 'p', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'c', 'a', '\0',
   /* "paudley.com", true */ 'p', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "paudley.org", true */ 'p', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'o', 'r', 'g', '\0',
   /* "paul-kerebel.pro", false */ 'p', 'a', 'u', 'l', '-', 'k', 'e', 'r', 'e', 'b', 'e', 'l', '.', 'p', 'r', 'o', '\0',
   /* "paul.reviews", true */ 'p', 'a', 'u', 'l', '.', 'r', 'e', 'v', 'i', 'e', 'w', 's', '\0',
   /* "pauladamsmith.com", true */ 'p', 'a', 'u', 'l', 'a', 'd', 'a', 'm', 's', 'm', 'i', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "paulbakaus.com", true */ 'p', 'a', 'u', 'l', 'b', 'a', 'k', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
@@ -12455,17 +12444,16 @@ static const char kSTSHostTable[] = {
   /* "piliszek.net", true */ 'p', 'i', 'l', 'i', 's', 'z', 'e', 'k', '.', 'n', 'e', 't', '\0',
   /* "pimhaarsma.nl", true */ 'p', 'i', 'm', 'h', 'a', 'a', 'r', 's', 'm', 'a', '.', 'n', 'l', '\0',
   /* "pimhaarsmamedia.nl", true */ 'p', 'i', 'm', 'h', 'a', 'a', 'r', 's', 'm', 'a', 'm', 'e', 'd', 'i', 'a', '.', 'n', 'l', '\0',
   /* "pimpmymac.ru", true */ 'p', 'i', 'm', 'p', 'm', 'y', 'm', 'a', 'c', '.', 'r', 'u', '\0',
   /* "pims.global", true */ 'p', 'i', 'm', 's', '.', 'g', 'l', 'o', 'b', 'a', 'l', '\0',
   /* "pimspage.nl", true */ 'p', 'i', 'm', 's', 'p', 'a', 'g', 'e', '.', 'n', 'l', '\0',
   /* "pin.net.au", true */ 'p', 'i', 'n', '.', 'n', 'e', 't', '.', 'a', 'u', '\0',
   /* "pincha.com.tw", true */ 'p', 'i', 'n', 'c', 'h', 'a', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
-  /* "pincodeit.com", true */ 'p', 'i', 'n', 'c', 'o', 'd', 'e', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "pindanutjes.be", false */ 'p', 'i', 'n', 'd', 'a', 'n', 'u', 't', 'j', 'e', 's', '.', 'b', 'e', '\0',
   /* "pinesandneedles.com", true */ 'p', 'i', 'n', 'e', 's', 'a', 'n', 'd', 'n', 'e', 'e', 'd', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "pinkbike.com", true */ 'p', 'i', 'n', 'k', 'b', 'i', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pinkcasino.co.uk", true */ 'p', 'i', 'n', 'k', 'c', 'a', 's', 'i', 'n', 'o', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "pinkfis.ch", true */ 'p', 'i', 'n', 'k', 'f', 'i', 's', '.', 'c', 'h', '\0',
   /* "pinkhq.com", true */ 'p', 'i', 'n', 'k', 'h', 'q', '.', 'c', 'o', 'm', '\0',
   /* "pinkinked.com", true */ 'p', 'i', 'n', 'k', 'i', 'n', 'k', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "pinkladyapples.co.uk", true */ 'p', 'i', 'n', 'k', 'l', 'a', 'd', 'y', 'a', 'p', 'p', 'l', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -12599,17 +12587,16 @@ static const char kSTSHostTable[] = {
   /* "pointaction.com", true */ 'p', 'o', 'i', 'n', 't', 'a', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "pointagri.com", true */ 'p', 'o', 'i', 'n', 't', 'a', 'g', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "pointeringles.com", true */ 'p', 'o', 'i', 'n', 't', 'e', 'r', 'i', 'n', 'g', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "pointiswunderland.de", true */ 'p', 'o', 'i', 'n', 't', 'i', 's', 'w', 'u', 'n', 'd', 'e', 'r', 'l', 'a', 'n', 'd', '.', 'd', 'e', '\0',
   /* "points4unitedway.com", true */ 'p', 'o', 'i', 'n', 't', 's', '4', 'u', 'n', 'i', 't', 'e', 'd', 'w', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "pointsixtyfive.com", true */ 'p', 'o', 'i', 'n', 't', 's', 'i', 'x', 't', 'y', 'f', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "poitiers-ttacc-86.eu.org", true */ 'p', 'o', 'i', 't', 'i', 'e', 'r', 's', '-', 't', 't', 'a', 'c', 'c', '-', '8', '6', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
   /* "pojer.me", true */ 'p', 'o', 'j', 'e', 'r', '.', 'm', 'e', '\0',
-  /* "pokeduel.me", true */ 'p', 'o', 'k', 'e', 'd', 'u', 'e', 'l', '.', 'm', 'e', '\0',
   /* "pokefarm.com", true */ 'p', 'o', 'k', 'e', 'f', 'a', 'r', 'm', '.', 'c', 'o', 'm', '\0',
   /* "pokeinthe.io", true */ 'p', 'o', 'k', 'e', 'i', 'n', 't', 'h', 'e', '.', 'i', 'o', '\0',
   /* "pokemori.jp", true */ 'p', 'o', 'k', 'e', 'm', 'o', 'r', 'i', '.', 'j', 'p', '\0',
   /* "polaire.org", true */ 'p', 'o', 'l', 'a', 'i', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "polarityschule.com", true */ 'p', 'o', 'l', 'a', 'r', 'i', 't', 'y', 's', 'c', 'h', 'u', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "polen.guide", true */ 'p', 'o', 'l', 'e', 'n', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "policedriver.com", true */ 'p', 'o', 'l', 'i', 'c', 'e', 'd', 'r', 'i', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "polis.or.at", true */ 'p', 'o', 'l', 'i', 's', '.', 'o', 'r', '.', 'a', 't', '\0',
@@ -12665,17 +12652,16 @@ static const char kSTSHostTable[] = {
   /* "positivesobrietyinstitute.com", true */ 'p', 'o', 's', 'i', 't', 'i', 'v', 'e', 's', 'o', 'b', 'r', 'i', 'e', 't', 'y', 'i', 'n', 's', 't', 'i', 't', 'u', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "posobota.cz", true */ 'p', 'o', 's', 'o', 'b', 'o', 't', 'a', '.', 'c', 'z', '\0',
   /* "post4me.at", true */ 'p', 'o', 's', 't', '4', 'm', 'e', '.', 'a', 't', '\0',
   /* "postal.dk", true */ 'p', 'o', 's', 't', 'a', 'l', '.', 'd', 'k', '\0',
   /* "postblue.info", true */ 'p', 'o', 's', 't', 'b', 'l', 'u', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "postbox.life", true */ 'p', 'o', 's', 't', 'b', 'o', 'x', '.', 'l', 'i', 'f', 'e', '\0',
   /* "postcodegarant.nl", true */ 'p', 'o', 's', 't', 'c', 'o', 'd', 'e', 'g', 'a', 'r', 'a', 'n', 't', '.', 'n', 'l', '\0',
   /* "posteo.de", false */ 'p', 'o', 's', 't', 'e', 'o', '.', 'd', 'e', '\0',
-  /* "posterspy.com", true */ 'p', 'o', 's', 't', 'e', 'r', 's', 'p', 'y', '.', 'c', 'o', 'm', '\0',
   /* "postfinance.ch", true */ 'p', 'o', 's', 't', 'f', 'i', 'n', 'a', 'n', 'c', 'e', '.', 'c', 'h', '\0',
   /* "postmatescode.com", true */ 'p', 'o', 's', 't', 'm', 'a', 't', 'e', 's', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "postn.eu", true */ 'p', 'o', 's', 't', 'n', '.', 'e', 'u', '\0',
   /* "posttigo.com", true */ 'p', 'o', 's', 't', 't', 'i', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "potatofrom.space", false */ 'p', 'o', 't', 'a', 't', 'o', 'f', 'r', 'o', 'm', '.', 's', 'p', 'a', 'c', 'e', '\0',
   /* "potbox.com", true */ 'p', 'o', 't', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "pothe.com", true */ 'p', 'o', 't', 'h', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pothe.de", true */ 'p', 'o', 't', 'h', 'e', '.', 'd', 'e', '\0',
@@ -12734,17 +12720,16 @@ static const char kSTSHostTable[] = {
   /* "premiership-predictors.co.uk", true */ 'p', 'r', 'e', 'm', 'i', 'e', 'r', 's', 'h', 'i', 'p', '-', 'p', 'r', 'e', 'd', 'i', 'c', 't', 'o', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "premiumzweirad.de", false */ 'p', 'r', 'e', 'm', 'i', 'u', 'm', 'z', 'w', 'e', 'i', 'r', 'a', 'd', '.', 'd', 'e', '\0',
   /* "prepaid-voip.nl", true */ 'p', 'r', 'e', 'p', 'a', 'i', 'd', '-', 'v', 'o', 'i', 'p', '.', 'n', 'l', '\0',
   /* "prepaidgirl.com", true */ 'p', 'r', 'e', 'p', 'a', 'i', 'd', 'g', 'i', 'r', 'l', '.', 'c', 'o', 'm', '\0',
   /* "prepandgo-euro.com", true */ 'p', 'r', 'e', 'p', 'a', 'n', 'd', 'g', 'o', '-', 'e', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "preparetheword.com", false */ 'p', 'r', 'e', 'p', 'a', 'r', 'e', 't', 'h', 'e', 'w', 'o', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "presbee.com", true */ 'p', 'r', 'e', 's', 'b', 'e', 'e', '.', 'c', 'o', 'm', '\0',
   /* "prescotonline.co.uk", true */ 'p', 'r', 'e', 's', 'c', 'o', 't', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
-  /* "president.bg", true */ 'p', 'r', 'e', 's', 'i', 'd', 'e', 'n', 't', '.', 'b', 'g', '\0',
   /* "presidentials2016.com", true */ 'p', 'r', 'e', 's', 'i', 'd', 'e', 'n', 't', 'i', 'a', 'l', 's', '2', '0', '1', '6', '.', 'c', 'o', 'm', '\0',
   /* "prespanok.sk", true */ 'p', 'r', 'e', 's', 'p', 'a', 'n', 'o', 'k', '.', 's', 'k', '\0',
   /* "presscenter.jp", true */ 'p', 'r', 'e', 's', 's', 'c', 'e', 'n', 't', 'e', 'r', '.', 'j', 'p', '\0',
   /* "pressrush.com", true */ 'p', 'r', 'e', 's', 's', 'r', 'u', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "prestburyscouts.org.uk", true */ 'p', 'r', 'e', 's', 't', 'b', 'u', 'r', 'y', 's', 'c', 'o', 'u', 't', 's', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "pretix.eu", true */ 'p', 'r', 'e', 't', 'i', 'x', '.', 'e', 'u', '\0',
   /* "pretty.hu", true */ 'p', 'r', 'e', 't', 't', 'y', '.', 'h', 'u', '\0',
   /* "prettytunesapp.com", true */ 'p', 'r', 'e', 't', 't', 'y', 't', 'u', 'n', 'e', 's', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
@@ -12801,17 +12786,16 @@ static const char kSTSHostTable[] = {
   /* "proefteksten.nl", true */ 'p', 'r', 'o', 'e', 'f', 't', 'e', 'k', 's', 't', 'e', 'n', '.', 'n', 'l', '\0',
   /* "profection.biz", true */ 'p', 'r', 'o', 'f', 'e', 'c', 't', 'i', 'o', 'n', '.', 'b', 'i', 'z', '\0',
   /* "professors.ee", true */ 'p', 'r', 'o', 'f', 'e', 's', 's', 'o', 'r', 's', '.', 'e', 'e', '\0',
   /* "profidea.cz", true */ 'p', 'r', 'o', 'f', 'i', 'd', 'e', 'a', '.', 'c', 'z', '\0',
   /* "profiles.google.com", true */ 'p', 'r', 'o', 'f', 'i', 'l', 'e', 's', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "profinetz.de", true */ 'p', 'r', 'o', 'f', 'i', 'n', 'e', 't', 'z', '.', 'd', 'e', '\0',
   /* "profitopia.de", true */ 'p', 'r', 'o', 'f', 'i', 't', 'o', 'p', 'i', 'a', '.', 'd', 'e', '\0',
   /* "profivps.com", true */ 'p', 'r', 'o', 'f', 'i', 'v', 'p', 's', '.', 'c', 'o', 'm', '\0',
-  /* "profpay.com", true */ 'p', 'r', 'o', 'f', 'p', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "profusion.io", true */ 'p', 'r', 'o', 'f', 'u', 's', 'i', 'o', 'n', '.', 'i', 'o', '\0',
   /* "progarm.org", true */ 'p', 'r', 'o', 'g', 'a', 'r', 'm', '.', 'o', 'r', 'g', '\0',
   /* "proggersession.de", true */ 'p', 'r', 'o', 'g', 'g', 'e', 'r', 's', 'e', 's', 's', 'i', 'o', 'n', '.', 'd', 'e', '\0',
   /* "progreso.pl", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 'o', '.', 'p', 'l', '\0',
   /* "progress-linux.org", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', '-', 'l', 'i', 'n', 'u', 'x', '.', 'o', 'r', 'g', '\0',
   /* "progressive.work", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', 'i', 'v', 'e', '.', 'w', 'o', 'r', 'k', '\0',
   /* "progressivecfo.co.nz", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', 'i', 'v', 'e', 'c', 'f', 'o', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "progressiveplanning.com", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', 'i', 'v', 'e', 'p', 'l', 'a', 'n', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
@@ -13159,17 +13143,16 @@ static const char kSTSHostTable[] = {
   /* "rasagiline.com", true */ 'r', 'a', 's', 'a', 'g', 'i', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "rasebo.ro", true */ 'r', 'a', 's', 'e', 'b', 'o', '.', 'r', 'o', '\0',
   /* "raspass.me", true */ 'r', 'a', 's', 'p', 'a', 's', 's', '.', 'm', 'e', '\0',
   /* "raspberry.us", true */ 'r', 'a', 's', 'p', 'b', 'e', 'r', 'r', 'y', '.', 'u', 's', '\0',
   /* "rasty.cz", true */ 'r', 'a', 's', 't', 'y', '.', 'c', 'z', '\0',
   /* "ratd.net", true */ 'r', 'a', 't', 'd', '.', 'n', 'e', 't', '\0',
   /* "rathorian.fr", true */ 'r', 'a', 't', 'h', 'o', 'r', 'i', 'a', 'n', '.', 'f', 'r', '\0',
   /* "rationalops.com", true */ 'r', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'o', 'p', 's', '.', 'c', 'o', 'm', '\0',
-  /* "ratuseks.com", false */ 'r', 'a', 't', 'u', 's', 'e', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "ratuseks.net", false */ 'r', 'a', 't', 'u', 's', 'e', 'k', 's', '.', 'n', 'e', 't', '\0',
   /* "ratuseks.us", false */ 'r', 'a', 't', 'u', 's', 'e', 'k', 's', '.', 'u', 's', '\0',
   /* "rauchenwald.net", true */ 'r', 'a', 'u', 'c', 'h', 'e', 'n', 'w', 'a', 'l', 'd', '.', 'n', 'e', 't', '\0',
   /* "raulrivero.es", true */ 'r', 'a', 'u', 'l', 'r', 'i', 'v', 'e', 'r', 'o', '.', 'e', 's', '\0',
   /* "raumzeitlabor.de", true */ 'r', 'a', 'u', 'm', 'z', 'e', 'i', 't', 'l', 'a', 'b', 'o', 'r', '.', 'd', 'e', '\0',
   /* "rauros.net", true */ 'r', 'a', 'u', 'r', 'o', 's', '.', 'n', 'e', 't', '\0',
   /* "rautermods.net", true */ 'r', 'a', 'u', 't', 'e', 'r', 'm', 'o', 'd', 's', '.', 'n', 'e', 't', '\0',
   /* "ravage.fm", true */ 'r', 'a', 'v', 'a', 'g', 'e', '.', 'f', 'm', '\0',
@@ -13219,17 +13202,16 @@ static const char kSTSHostTable[] = {
   /* "reagir43.fr", true */ 'r', 'e', 'a', 'g', 'i', 'r', '4', '3', '.', 'f', 'r', '\0',
   /* "real-compare.com", true */ 'r', 'e', 'a', 'l', '-', 'c', 'o', 'm', 'p', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "real-it.nl", true */ 'r', 'e', 'a', 'l', '-', 'i', 't', '.', 'n', 'l', '\0',
   /* "realcapoeira.ru", true */ 'r', 'e', 'a', 'l', 'c', 'a', 'p', 'o', 'e', 'i', 'r', 'a', '.', 'r', 'u', '\0',
   /* "realgarant-shop.de", false */ 'r', 'e', 'a', 'l', 'g', 'a', 'r', 'a', 'n', 't', '-', 's', 'h', 'o', 'p', '.', 'd', 'e', '\0',
   /* "reality.news", true */ 'r', 'e', 'a', 'l', 'i', 't', 'y', '.', 'n', 'e', 'w', 's', '\0',
   /* "reality0ne.com", true */ 'r', 'e', 'a', 'l', 'i', 't', 'y', '0', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "reallifeforums.com", true */ 'r', 'e', 'a', 'l', 'l', 'i', 'f', 'e', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0',
-  /* "realloc.me", true */ 'r', 'e', 'a', 'l', 'l', 'o', 'c', '.', 'm', 'e', '\0',
   /* "reallyreally.io", true */ 'r', 'e', 'a', 'l', 'l', 'y', 'r', 'e', 'a', 'l', 'l', 'y', '.', 'i', 'o', '\0',
   /* "realmofespionage.xyz", true */ 'r', 'e', 'a', 'l', 'm', 'o', 'f', 'e', 's', 'p', 'i', 'o', 'n', 'a', 'g', 'e', '.', 'x', 'y', 'z', '\0',
   /* "realwaycome.com", true */ 'r', 'e', 'a', 'l', 'w', 'a', 'y', 'c', 'o', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "realwoo.com", true */ 'r', 'e', 'a', 'l', 'w', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "reanimated.eu", true */ 'r', 'e', 'a', 'n', 'i', 'm', 'a', 't', 'e', 'd', '.', 'e', 'u', '\0',
   /* "reapdrive.net", true */ 'r', 'e', 'a', 'p', 'd', 'r', 'i', 'v', 'e', '.', 'n', 'e', 't', '\0',
   /* "rebekaesgabor.online", true */ 'r', 'e', 'b', 'e', 'k', 'a', 'e', 's', 'g', 'a', 'b', 'o', 'r', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "rebootmc.com", true */ 'r', 'e', 'b', 'o', 'o', 't', 'm', 'c', '.', 'c', 'o', 'm', '\0',
@@ -13444,16 +13426,17 @@ static const char kSTSHostTable[] = {
   /* "rhodenmanorcattery.co.uk", true */ 'r', 'h', 'o', 'd', 'e', 'n', 'm', 'a', 'n', 'o', 'r', 'c', 'a', 't', 't', 'e', 'r', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "rhodesianridgeback.com.br", true */ 'r', 'h', 'o', 'd', 'e', 's', 'i', 'a', 'n', 'r', 'i', 'd', 'g', 'e', 'b', 'a', 'c', 'k', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "rhodosdreef.nl", true */ 'r', 'h', 'o', 'd', 'o', 's', 'd', 'r', 'e', 'e', 'f', '.', 'n', 'l', '\0',
   /* "rhodri.io", true */ 'r', 'h', 'o', 'd', 'r', 'i', '.', 'i', 'o', '\0',
   /* "rhymix.org", true */ 'r', 'h', 'y', 'm', 'i', 'x', '.', 'o', 'r', 'g', '\0',
   /* "rhynl.io", true */ 'r', 'h', 'y', 'n', 'l', '.', 'i', 'o', '\0',
   /* "riaucybersolution.net", true */ 'r', 'i', 'a', 'u', 'c', 'y', 'b', 'e', 'r', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "ribs.com", true */ 'r', 'i', 'b', 's', '.', 'c', 'o', 'm', '\0',
+  /* "ricardobalk.nl", true */ 'r', 'i', 'c', 'a', 'r', 'd', 'o', 'b', 'a', 'l', 'k', '.', 'n', 'l', '\0',
   /* "riccy.org", true */ 'r', 'i', 'c', 'c', 'y', '.', 'o', 'r', 'g', '\0',
   /* "riceadvice.info", true */ 'r', 'i', 'c', 'e', 'a', 'd', 'v', 'i', 'c', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "riceglue.com", true */ 'r', 'i', 'c', 'e', 'g', 'l', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "richardb.me", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'b', '.', 'm', 'e', '\0',
   /* "richardhering.de", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'h', 'e', 'r', 'i', 'n', 'g', '.', 'd', 'e', '\0',
   /* "richardlangworth.com", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'l', 'a', 'n', 'g', 'w', 'o', 'r', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "richardwarrender.com", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'w', 'a', 'r', 'r', 'e', 'n', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "richmtdriver.com", true */ 'r', 'i', 'c', 'h', 'm', 't', 'd', 'r', 'i', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -13504,17 +13487,16 @@ static const char kSTSHostTable[] = {
   /* "rischard.org", true */ 'r', 'i', 's', 'c', 'h', 'a', 'r', 'd', '.', 'o', 'r', 'g', '\0',
   /* "riseup.net", true */ 'r', 'i', 's', 'e', 'u', 'p', '.', 'n', 'e', 't', '\0',
   /* "riskmitigation.ch", true */ 'r', 'i', 's', 'k', 'm', 'i', 't', 'i', 'g', 'a', 't', 'i', 'o', 'n', '.', 'c', 'h', '\0',
   /* "ristioja.ee", true */ 'r', 'i', 's', 't', 'i', 'o', 'j', 'a', '.', 'e', 'e', '\0',
   /* "ristoarea.it", true */ 'r', 'i', 's', 't', 'o', 'a', 'r', 'e', 'a', '.', 'i', 't', '\0',
   /* "ristorantefattoamano.eu", true */ 'r', 'i', 's', 't', 'o', 'r', 'a', 'n', 't', 'e', 'f', 'a', 't', 't', 'o', 'a', 'm', 'a', 'n', 'o', '.', 'e', 'u', '\0',
   /* "rithm.ch", true */ 'r', 'i', 't', 'h', 'm', '.', 'c', 'h', '\0',
   /* "rivastation.de", true */ 'r', 'i', 'v', 'a', 's', 't', 'a', 't', 'i', 'o', 'n', '.', 'd', 'e', '\0',
-  /* "riverbanktearooms.co.uk", true */ 'r', 'i', 'v', 'e', 'r', 'b', 'a', 'n', 'k', 't', 'e', 'a', 'r', 'o', 'o', 'm', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "rivermendhealthcenters.com", true */ 'r', 'i', 'v', 'e', 'r', 'm', 'e', 'n', 'd', 'h', 'e', 'a', 'l', 't', 'h', 'c', 'e', 'n', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "riversideauto.net", true */ 'r', 'i', 'v', 'e', 'r', 's', 'i', 'd', 'e', 'a', 'u', 't', 'o', '.', 'n', 'e', 't', '\0',
   /* "riverweb.gr", true */ 'r', 'i', 'v', 'e', 'r', 'w', 'e', 'b', '.', 'g', 'r', '\0',
   /* "rivy.org", true */ 'r', 'i', 'v', 'y', '.', 'o', 'r', 'g', '\0',
   /* "rix.ninja", true */ 'r', 'i', 'x', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "riyono.com", true */ 'r', 'i', 'y', 'o', 'n', 'o', '.', 'c', 'o', 'm', '\0',
   /* "rizon.me", true */ 'r', 'i', 'z', 'o', 'n', '.', 'm', 'e', '\0',
   /* "rjnutrition.consulting", true */ 'r', 'j', 'n', 'u', 't', 'r', 'i', 't', 'i', 'o', 'n', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
@@ -14141,16 +14123,17 @@ static const char kSTSHostTable[] = {
   /* "security-thoughts.org", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '-', 't', 'h', 'o', 'u', 'g', 'h', 't', 's', '.', 'o', 'r', 'g', '\0',
   /* "security.google.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "security.love", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'l', 'o', 'v', 'e', '\0',
   /* "security.xn--q9jyb4c", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'x', 'n', '-', '-', 'q', '9', 'j', 'y', 'b', '4', 'c', '\0',
   /* "securitybrief.asia", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'b', 'r', 'i', 'e', 'f', '.', 'a', 's', 'i', 'a', '\0',
   /* "securitybrief.co.nz", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'b', 'r', 'i', 'e', 'f', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "securitybrief.com.au", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'b', 'r', 'i', 'e', 'f', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "securityheaders.io", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'h', 'e', 'a', 'd', 'e', 'r', 's', '.', 'i', 'o', '\0',
+  /* "securitymap.wiki", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'm', 'a', 'p', '.', 'w', 'i', 'k', 'i', '\0',
   /* "securityprimes.in", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'p', 'r', 'i', 'm', 'e', 's', '.', 'i', 'n', '\0',
   /* "securitysnobs.com", false */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 'n', 'o', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "securitysoapbox.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 'o', 'a', 'p', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "securitystrata.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 't', 'r', 'a', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "securitystreak.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 't', 'r', 'e', 'a', 'k', '.', 'c', 'o', 'm', '\0',
   /* "securitytalk.pl", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 't', 'a', 'l', 'k', '.', 'p', 'l', '\0',
   /* "securitywatch.co.nz", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "securitywithnick.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'w', 'i', 't', 'h', 'n', 'i', 'c', 'k', '.', 'c', 'o', 'm', '\0',
@@ -14313,17 +14296,16 @@ static const char kSTSHostTable[] = {
   /* "shadowkitsune.net", true */ 's', 'h', 'a', 'd', 'o', 'w', 'k', 'i', 't', 's', 'u', 'n', 'e', '.', 'n', 'e', 't', '\0',
   /* "shadowplus.net", true */ 's', 'h', 'a', 'd', 'o', 'w', 'p', 'l', 'u', 's', '.', 'n', 'e', 't', '\0',
   /* "shadowrocket.net", true */ 's', 'h', 'a', 'd', 'o', 'w', 'r', 'o', 'c', 'k', 'e', 't', '.', 'n', 'e', 't', '\0',
   /* "shadowsing.com", true */ 's', 'h', 'a', 'd', 'o', 'w', 's', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "shadowsocks.com", true */ 's', 'h', 'a', 'd', 'o', 'w', 's', 'o', 'c', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "shadowsocks.com.hk", true */ 's', 'h', 'a', 'd', 'o', 'w', 's', 'o', 'c', 'k', 's', '.', 'c', 'o', 'm', '.', 'h', 'k', '\0',
   /* "shadowsworldonline.co.uk", true */ 's', 'h', 'a', 'd', 'o', 'w', 's', 'w', 'o', 'r', 'l', 'd', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "shag-shag.ru", true */ 's', 'h', 'a', 'g', '-', 's', 'h', 'a', 'g', '.', 'r', 'u', '\0',
-  /* "shagi29.ru", true */ 's', 'h', 'a', 'g', 'i', '2', '9', '.', 'r', 'u', '\0',
   /* "shaitan.eu", true */ 's', 'h', 'a', 'i', 't', 'a', 'n', '.', 'e', 'u', '\0',
   /* "shaken110.com", true */ 's', 'h', 'a', 'k', 'e', 'n', '1', '1', '0', '.', 'c', 'o', 'm', '\0',
   /* "shakes4u.com", true */ 's', 'h', 'a', 'k', 'e', 's', '4', 'u', '.', 'c', 'o', 'm', '\0',
   /* "shakespearesolutions.com.au", false */ 's', 'h', 'a', 'k', 'e', 's', 'p', 'e', 'a', 'r', 'e', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "shalott.org", true */ 's', 'h', 'a', 'l', 'o', 't', 't', '.', 'o', 'r', 'g', '\0',
   /* "shamara.info", true */ 's', 'h', 'a', 'm', 'a', 'r', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "shamariki.ru", true */ 's', 'h', 'a', 'm', 'a', 'r', 'i', 'k', 'i', '.', 'r', 'u', '\0',
   /* "shan.io", false */ 's', 'h', 'a', 'n', '.', 'i', 'o', '\0',
@@ -14341,16 +14323,17 @@ static const char kSTSHostTable[] = {
   /* "shardsoft.com", true */ 's', 'h', 'a', 'r', 'd', 's', 'o', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "shareeri.com", true */ 's', 'h', 'a', 'r', 'e', 'e', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "shareoffice.ch", true */ 's', 'h', 'a', 'r', 'e', 'o', 'f', 'f', 'i', 'c', 'e', '.', 'c', 'h', '\0',
   /* "shareoine.com", true */ 's', 'h', 'a', 'r', 'e', 'o', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sharepic.xyz", true */ 's', 'h', 'a', 'r', 'e', 'p', 'i', 'c', '.', 'x', 'y', 'z', '\0',
   /* "sharepointdrive.com", true */ 's', 'h', 'a', 'r', 'e', 'p', 'o', 'i', 'n', 't', 'd', 'r', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sharescope.co.uk", false */ 's', 'h', 'a', 'r', 'e', 's', 'c', 'o', 'p', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "sharesplitter.com", true */ 's', 'h', 'a', 'r', 'e', 's', 'p', 'l', 'i', 't', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
+  /* "sharevari.com", true */ 's', 'h', 'a', 'r', 'e', 'v', 'a', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "sharewbb.com", true */ 's', 'h', 'a', 'r', 'e', 'w', 'b', 'b', '.', 'c', 'o', 'm', '\0',
   /* "shareworx.net", true */ 's', 'h', 'a', 'r', 'e', 'w', 'o', 'r', 'x', '.', 'n', 'e', 't', '\0',
   /* "sharvey.ca", true */ 's', 'h', 'a', 'r', 'v', 'e', 'y', '.', 'c', 'a', '\0',
   /* "shasso.com", true */ 's', 'h', 'a', 's', 's', 'o', '.', 'c', 'o', 'm', '\0',
   /* "shatorin.com", true */ 's', 'h', 'a', 't', 'o', 'r', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "shaun.net", true */ 's', 'h', 'a', 'u', 'n', '.', 'n', 'e', 't', '\0',
   /* "shaundanielz.com", true */ 's', 'h', 'a', 'u', 'n', 'd', 'a', 'n', 'i', 'e', 'l', 'z', '.', 'c', 'o', 'm', '\0',
   /* "shav.it", true */ 's', 'h', 'a', 'v', '.', 'i', 't', '\0',
@@ -14377,17 +14360,16 @@ static const char kSTSHostTable[] = {
   /* "shh.sh", true */ 's', 'h', 'h', '.', 's', 'h', '\0',
   /* "shiawasedo.co.jp", true */ 's', 'h', 'i', 'a', 'w', 'a', 's', 'e', 'd', 'o', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "shibainu.com.br", true */ 's', 'h', 'i', 'b', 'a', 'i', 'n', 'u', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "shiftdevices.com", true */ 's', 'h', 'i', 'f', 't', 'd', 'e', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "shiftj.is", true */ 's', 'h', 'i', 'f', 't', 'j', '.', 'i', 's', '\0',
   /* "shiftnrg.org", true */ 's', 'h', 'i', 'f', 't', 'n', 'r', 'g', '.', 'o', 'r', 'g', '\0',
   /* "shikinobi.com", true */ 's', 'h', 'i', 'k', 'i', 'n', 'o', 'b', 'i', '.', 'c', 'o', 'm', '\0',
   /* "shimi.net", true */ 's', 'h', 'i', 'm', 'i', '.', 'n', 'e', 't', '\0',
-  /* "shindorei.fr", true */ 's', 'h', 'i', 'n', 'd', 'o', 'r', 'e', 'i', '.', 'f', 'r', '\0',
   /* "shinnyosangha.org", false */ 's', 'h', 'i', 'n', 'n', 'y', 'o', 's', 'a', 'n', 'g', 'h', 'a', '.', 'o', 'r', 'g', '\0',
   /* "shinobi-fansub.ro", true */ 's', 'h', 'i', 'n', 'o', 'b', 'i', '-', 'f', 'a', 'n', 's', 'u', 'b', '.', 'r', 'o', '\0',
   /* "shinyuu.net", true */ 's', 'h', 'i', 'n', 'y', 'u', 'u', '.', 'n', 'e', 't', '\0',
   /* "shipard.com", true */ 's', 'h', 'i', 'p', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "shipard.cz", true */ 's', 'h', 'i', 'p', 'a', 'r', 'd', '.', 'c', 'z', '\0',
   /* "shipcloud.io", true */ 's', 'h', 'i', 'p', 'c', 'l', 'o', 'u', 'd', '.', 'i', 'o', '\0',
   /* "shipmile.com", true */ 's', 'h', 'i', 'p', 'm', 'i', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "shipping24h.com", true */ 's', 'h', 'i', 'p', 'p', 'i', 'n', 'g', '2', '4', 'h', '.', 'c', 'o', 'm', '\0',
@@ -14677,17 +14659,16 @@ static const char kSTSHostTable[] = {
   /* "slxh.eu", true */ 's', 'l', 'x', 'h', '.', 'e', 'u', '\0',
   /* "slxh.nl", true */ 's', 'l', 'x', 'h', '.', 'n', 'l', '\0',
   /* "sm.ms", true */ 's', 'm', '.', 'm', 's', '\0',
   /* "smablo.com", true */ 's', 'm', 'a', 'b', 'l', 'o', '.', 'c', 'o', 'm', '\0',
   /* "smallcdn.rocks", true */ 's', 'm', 'a', 'l', 'l', 'c', 'd', 'n', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "smallchat.nl", true */ 's', 'm', 'a', 'l', 'l', 'c', 'h', 'a', 't', '.', 'n', 'l', '\0',
   /* "smalldata.tech", true */ 's', 'm', 'a', 'l', 'l', 'd', 'a', 't', 'a', '.', 't', 'e', 'c', 'h', '\0',
   /* "smalldogbreeds.net", true */ 's', 'm', 'a', 'l', 'l', 'd', 'o', 'g', 'b', 'r', 'e', 'e', 'd', 's', '.', 'n', 'e', 't', '\0',
-  /* "smallhadroncollider.com", true */ 's', 'm', 'a', 'l', 'l', 'h', 'a', 'd', 'r', 'o', 'n', 'c', 'o', 'l', 'l', 'i', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "smallpath.me", true */ 's', 'm', 'a', 'l', 'l', 'p', 'a', 't', 'h', '.', 'm', 'e', '\0',
   /* "smallplanet.ch", true */ 's', 'm', 'a', 'l', 'l', 'p', 'l', 'a', 'n', 'e', 't', '.', 'c', 'h', '\0',
   /* "smalltalkconsulting.com", true */ 's', 'm', 'a', 'l', 'l', 't', 'a', 'l', 'k', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "smares.de", true */ 's', 'm', 'a', 'r', 'e', 's', '.', 'd', 'e', '\0',
   /* "smart-cp.jp", true */ 's', 'm', 'a', 'r', 't', '-', 'c', 'p', '.', 'j', 'p', '\0',
   /* "smart-wohnen.net", true */ 's', 'm', 'a', 'r', 't', '-', 'w', 'o', 'h', 'n', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "smart.gov", true */ 's', 'm', 'a', 'r', 't', '.', 'g', 'o', 'v', '\0',
   /* "smartairkey.com", true */ 's', 'm', 'a', 'r', 't', 'a', 'i', 'r', 'k', 'e', 'y', '.', 'c', 'o', 'm', '\0',
@@ -14867,17 +14848,16 @@ static const char kSTSHostTable[] = {
   /* "soporte.cc", true */ 's', 'o', 'p', 'o', 'r', 't', 'e', '.', 'c', 'c', '\0',
   /* "sor.so", true */ 's', 'o', 'r', '.', 's', 'o', '\0',
   /* "sorcix.com", true */ 's', 'o', 'r', 'c', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "sorensen-online.com", true */ 's', 'o', 'r', 'e', 'n', 's', 'e', 'n', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sorenstudios.com", true */ 's', 'o', 'r', 'e', 'n', 's', 't', 'u', 'd', 'i', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "sorex.photo", true */ 's', 'o', 'r', 'e', 'x', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "sorincocorada.ro", true */ 's', 'o', 'r', 'i', 'n', 'c', 'o', 'c', 'o', 'r', 'a', 'd', 'a', '.', 'r', 'o', '\0',
   /* "sorn.service.gov.uk", true */ 's', 'o', 'r', 'n', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 'g', 'o', 'v', '.', 'u', 'k', '\0',
-  /* "sortaweird.net", false */ 's', 'o', 'r', 't', 'a', 'w', 'e', 'i', 'r', 'd', '.', 'n', 'e', 't', '\0',
   /* "soruly.com", true */ 's', 'o', 'r', 'u', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "sorz.org", true */ 's', 'o', 'r', 'z', '.', 'o', 'r', 'g', '\0',
   /* "sos.sk", false */ 's', 'o', 's', '.', 's', 'k', '\0',
   /* "sosaka.ml", true */ 's', 'o', 's', 'a', 'k', 'a', '.', 'm', 'l', '\0',
   /* "sosecu.red", true */ 's', 'o', 's', 'e', 'c', 'u', '.', 'r', 'e', 'd', '\0',
   /* "sostacancun.com", true */ 's', 'o', 's', 't', 'a', 'c', 'a', 'n', 'c', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sotar.us", true */ 's', 'o', 't', 'a', 'r', '.', 'u', 's', '\0',
   /* "sotavasara.net", true */ 's', 'o', 't', 'a', 'v', 'a', 's', 'a', 'r', 'a', '.', 'n', 'e', 't', '\0',
@@ -15177,16 +15157,17 @@ static const char kSTSHostTable[] = {
   /* "stepbystep3d.com", true */ 's', 't', 'e', 'p', 'b', 'y', 's', 't', 'e', 'p', '3', 'd', '.', 'c', 'o', 'm', '\0',
   /* "stephan-matthiesen.de", true */ 's', 't', 'e', 'p', 'h', 'a', 'n', '-', 'm', 'a', 't', 't', 'h', 'i', 'e', 's', 'e', 'n', '.', 'd', 'e', '\0',
   /* "stephanieschreiber.com", true */ 's', 't', 'e', 'p', 'h', 'a', 'n', 'i', 'e', 's', 'c', 'h', 'r', 'e', 'i', 'b', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "stephanos.me", true */ 's', 't', 'e', 'p', 'h', 'a', 'n', 'o', 's', '.', 'm', 'e', '\0',
   /* "stephenhaunts.com", true */ 's', 't', 'e', 'p', 'h', 'e', 'n', 'h', 'a', 'u', 'n', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "stephenjvoiceovers.com", true */ 's', 't', 'e', 'p', 'h', 'e', 'n', 'j', 'v', 'o', 'i', 'c', 'e', 'o', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "stephenskory.com", true */ 's', 't', 'e', 'p', 'h', 'e', 'n', 's', 'k', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "stereo.lu", true */ 's', 't', 'e', 'r', 'e', 'o', '.', 'l', 'u', '\0',
+  /* "stereochro.me", false */ 's', 't', 'e', 'r', 'e', 'o', 'c', 'h', 'r', 'o', '.', 'm', 'e', '\0',
   /* "stern-freunde.de", true */ 's', 't', 'e', 'r', 'n', '-', 'f', 'r', 'e', 'u', 'n', 'd', 'e', '.', 'd', 'e', '\0',
   /* "stern.koeln", true */ 's', 't', 'e', 'r', 'n', '.', 'k', 'o', 'e', 'l', 'n', '\0',
   /* "sternen-sitzberg.ch", true */ 's', 't', 'e', 'r', 'n', 'e', 'n', '-', 's', 'i', 't', 'z', 'b', 'e', 'r', 'g', '.', 'c', 'h', '\0',
   /* "sternplastic.com", true */ 's', 't', 'e', 'r', 'n', 'p', 'l', 'a', 's', 't', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "stesti.cz", true */ 's', 't', 'e', 's', 't', 'i', '.', 'c', 'z', '\0',
   /* "steveborba.com", true */ 's', 't', 'e', 'v', 'e', 'b', 'o', 'r', 'b', 'a', '.', 'c', 'o', 'm', '\0',
   /* "stevegrav.es", true */ 's', 't', 'e', 'v', 'e', 'g', 'r', 'a', 'v', '.', 'e', 's', '\0',
   /* "stevenberg.net", true */ 's', 't', 'e', 'v', 'e', 'n', 'b', 'e', 'r', 'g', '.', 'n', 'e', 't', '\0',
@@ -15299,17 +15280,16 @@ static const char kSTSHostTable[] = {
   /* "stuermer.me", true */ 's', 't', 'u', 'e', 'r', 'm', 'e', 'r', '.', 'm', 'e', '\0',
   /* "stuetzredli.ch", true */ 's', 't', 'u', 'e', 't', 'z', 'r', 'e', 'd', 'l', 'i', '.', 'c', 'h', '\0',
   /* "stuff-fibre.co.nz", true */ 's', 't', 'u', 'f', 'f', '-', 'f', 'i', 'b', 'r', 'e', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "stulda.cz", true */ 's', 't', 'u', 'l', 'd', 'a', '.', 'c', 'z', '\0',
   /* "stumf.si", true */ 's', 't', 'u', 'm', 'f', '.', 's', 'i', '\0',
   /* "stuntmen.xyz", true */ 's', 't', 'u', 'n', 't', 'm', 'e', 'n', '.', 'x', 'y', 'z', '\0',
   /* "stupendous.net", true */ 's', 't', 'u', 'p', 'e', 'n', 'd', 'o', 'u', 's', '.', 'n', 'e', 't', '\0',
   /* "sturbi.de", true */ 's', 't', 'u', 'r', 'b', 'i', '.', 'd', 'e', '\0',
-  /* "sturbock.me", true */ 's', 't', 'u', 'r', 'b', 'o', 'c', 'k', '.', 'm', 'e', '\0',
   /* "stutelage.com", true */ 's', 't', 'u', 't', 'e', 'l', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "stuur.nl", false */ 's', 't', 'u', 'u', 'r', '.', 'n', 'l', '\0',
   /* "stygium.net", false */ 's', 't', 'y', 'g', 'i', 'u', 'm', '.', 'n', 'e', 't', '\0',
   /* "styleci.io", true */ 's', 't', 'y', 'l', 'e', 'c', 'i', '.', 'i', 'o', '\0',
   /* "stylefast.com.au", true */ 's', 't', 'y', 'l', 'e', 'f', 'a', 's', 't', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "stylle.me", true */ 's', 't', 'y', 'l', 'l', 'e', '.', 'm', 'e', '\0',
   /* "su1ph3r.io", true */ 's', 'u', '1', 'p', 'h', '3', 'r', '.', 'i', 'o', '\0',
   /* "suave.io", true */ 's', 'u', 'a', 'v', 'e', '.', 'i', 'o', '\0',
@@ -15341,17 +15321,16 @@ static const char kSTSHostTable[] = {
   /* "suki.moe", true */ 's', 'u', 'k', 'i', '.', 'm', 'o', 'e', '\0',
   /* "sulek.eu", true */ 's', 'u', 'l', 'e', 'k', '.', 'e', 'u', '\0',
   /* "summa.eu", false */ 's', 'u', 'm', 'm', 'a', '.', 'e', 'u', '\0',
   /* "summitbankofkc.com", true */ 's', 'u', 'm', 'm', 'i', 't', 'b', 'a', 'n', 'k', 'o', 'f', 'k', 'c', '.', 'c', 'o', 'm', '\0',
   /* "sumthing.com", true */ 's', 'u', 'm', 't', 'h', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "sunbritetv.com", true */ 's', 'u', 'n', 'b', 'r', 'i', 't', 'e', 't', 'v', '.', 'c', 'o', 'm', '\0',
   /* "sundayfundayjapan.com", true */ 's', 'u', 'n', 'd', 'a', 'y', 'f', 'u', 'n', 'd', 'a', 'y', 'j', 'a', 'p', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "suneilpatel.com", true */ 's', 'u', 'n', 'e', 'i', 'l', 'p', 'a', 't', 'e', 'l', '.', 'c', 'o', 'm', '\0',
-  /* "sunflyer.cn", false */ 's', 'u', 'n', 'f', 'l', 'y', 'e', 'r', '.', 'c', 'n', '\0',
   /* "sunfox.cz", true */ 's', 'u', 'n', 'f', 'o', 'x', '.', 'c', 'z', '\0',
   /* "sunfulong.me", true */ 's', 'u', 'n', 'f', 'u', 'l', 'o', 'n', 'g', '.', 'm', 'e', '\0',
   /* "sunjaydhama.com", true */ 's', 'u', 'n', 'j', 'a', 'y', 'd', 'h', 'a', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "sunsetwx.com", true */ 's', 'u', 'n', 's', 'e', 't', 'w', 'x', '.', 'c', 'o', 'm', '\0',
   /* "sunstar.bg", true */ 's', 'u', 'n', 's', 't', 'a', 'r', '.', 'b', 'g', '\0',
   /* "sunyanzi.tk", true */ 's', 'u', 'n', 'y', 'a', 'n', 'z', 'i', '.', 't', 'k', '\0',
   /* "suos.io", true */ 's', 'u', 'o', 's', '.', 'i', 'o', '\0',
   /* "supastuds.com", true */ 's', 'u', 'p', 'a', 's', 't', 'u', 'd', 's', '.', 'c', 'o', 'm', '\0',
@@ -15545,16 +15524,17 @@ static const char kSTSHostTable[] = {
   /* "takusan.ru", true */ 't', 'a', 'k', 'u', 's', 'a', 'n', '.', 'r', 'u', '\0',
   /* "takuto.de", true */ 't', 'a', 'k', 'u', 't', 'o', '.', 'd', 'e', '\0',
   /* "talado.gr", false */ 't', 'a', 'l', 'a', 'd', 'o', '.', 'g', 'r', '\0',
   /* "talentcast.nl", true */ 't', 'a', 'l', 'e', 'n', 't', 'c', 'a', 's', 't', '.', 'n', 'l', '\0',
   /* "talentos.pt", true */ 't', 'a', 'l', 'e', 'n', 't', 'o', 's', '.', 'p', 't', '\0',
   /* "taler.net", true */ 't', 'a', 'l', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "tales-of-interia.de", true */ 't', 'a', 'l', 'e', 's', '-', 'o', 'f', '-', 'i', 'n', 't', 'e', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "talheim-records.ca", true */ 't', 'a', 'l', 'h', 'e', 'i', 'm', '-', 'r', 'e', 'c', 'o', 'r', 'd', 's', '.', 'c', 'a', '\0',
+  /* "talideon.com", false */ 't', 'a', 'l', 'i', 'd', 'e', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "talk.google.com", true */ 't', 'a', 'l', 'k', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "talkgadget.google.com", true */ 't', 'a', 'l', 'k', 'g', 'a', 'd', 'g', 'e', 't', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "talklifestyle.nl", true */ 't', 'a', 'l', 'k', 'l', 'i', 'f', 'e', 's', 't', 'y', 'l', 'e', '.', 'n', 'l', '\0',
   /* "tallcraft.com", true */ 't', 'a', 'l', 'l', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "talldude.net", true */ 't', 'a', 'l', 'l', 'd', 'u', 'd', 'e', '.', 'n', 'e', 't', '\0',
   /* "talsi.eu", true */ 't', 'a', 'l', 's', 'i', '.', 'e', 'u', '\0',
   /* "talun.de", true */ 't', 'a', 'l', 'u', 'n', '.', 'd', 'e', '\0',
   /* "tamasszabo.net", true */ 't', 'a', 'm', 'a', 's', 's', 'z', 'a', 'b', 'o', '.', 'n', 'e', 't', '\0',
@@ -15715,17 +15695,16 @@ static const char kSTSHostTable[] = {
   /* "teemperor.de", true */ 't', 'e', 'e', 'm', 'p', 'e', 'r', 'o', 'r', '.', 'd', 'e', '\0',
   /* "teencounseling.com", true */ 't', 'e', 'e', 'n', 'c', 'o', 'u', 'n', 's', 'e', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "teeworlds-friends.de", true */ 't', 'e', 'e', 'w', 'o', 'r', 'l', 'd', 's', '-', 'f', 'r', 'i', 'e', 'n', 'd', 's', '.', 'd', 'e', '\0',
   /* "tefl.io", true */ 't', 'e', 'f', 'l', '.', 'i', 'o', '\0',
   /* "tege-elektronik.hu", true */ 't', 'e', 'g', 'e', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', 'n', 'i', 'k', '.', 'h', 'u', '\0',
   /* "tehotuotanto.net", true */ 't', 'e', 'h', 'o', 't', 'u', 'o', 't', 'a', 'n', 't', 'o', '.', 'n', 'e', 't', '\0',
   /* "tehrabbitt.com", false */ 't', 'e', 'h', 'r', 'a', 'b', 'b', 'i', 't', 't', '.', 'c', 'o', 'm', '\0',
   /* "teknogeek.id", true */ 't', 'e', 'k', 'n', 'o', 'g', 'e', 'e', 'k', '.', 'i', 'd', '\0',
-  /* "teknologi.or.id", false */ 't', 'e', 'k', 'n', 'o', 'l', 'o', 'g', 'i', '.', 'o', 'r', '.', 'i', 'd', '\0',
   /* "teknotes.co.uk", true */ 't', 'e', 'k', 'n', 'o', 't', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "tektoria.de", false */ 't', 'e', 'k', 't', 'o', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "tel-dithmarschen.de", true */ 't', 'e', 'l', '-', 'd', 'i', 't', 'h', 'm', 'a', 'r', 's', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0',
   /* "telecamera.pro", true */ 't', 'e', 'l', 'e', 'c', 'a', 'm', 'e', 'r', 'a', '.', 'p', 'r', 'o', '\0',
   /* "telefisk.org", true */ 't', 'e', 'l', 'e', 'f', 'i', 's', 'k', '.', 'o', 'r', 'g', '\0',
   /* "telefonkonferenz.ch", true */ 't', 'e', 'l', 'e', 'f', 'o', 'n', 'k', 'o', 'n', 'f', 'e', 'r', 'e', 'n', 'z', '.', 'c', 'h', '\0',
   /* "telefoonabonnement.nl", true */ 't', 'e', 'l', 'e', 'f', 'o', 'o', 'n', 'a', 'b', 'o', 'n', 'n', 'e', 'm', 'e', 'n', 't', '.', 'n', 'l', '\0',
   /* "telehealthventures.com", true */ 't', 'e', 'l', 'e', 'h', 'e', 'a', 'l', 't', 'h', 'v', 'e', 'n', 't', 'u', 'r', 'e', 's', '.', 'c', 'o', 'm', '\0',
@@ -15852,17 +15831,16 @@ static const char kSTSHostTable[] = {
   /* "thedevrycommonsbrasil.com", true */ 't', 'h', 'e', 'd', 'e', 'v', 'r', 'y', 'c', 'o', 'm', 'm', 'o', 'n', 's', 'b', 'r', 'a', 's', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "thedisc.nl", true */ 't', 'h', 'e', 'd', 'i', 's', 'c', '.', 'n', 'l', '\0',
   /* "thedocumentrefinery.com", true */ 't', 'h', 'e', 'd', 'o', 'c', 'u', 'm', 'e', 'n', 't', 'r', 'e', 'f', 'i', 'n', 'e', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "thedreamtravelgroup.co.uk", true */ 't', 'h', 'e', 'd', 'r', 'e', 'a', 'm', 't', 'r', 'a', 'v', 'e', 'l', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "thedronechart.com", true */ 't', 'h', 'e', 'd', 'r', 'o', 'n', 'e', 'c', 'h', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "thedrop.pw", true */ 't', 'h', 'e', 'd', 'r', 'o', 'p', '.', 'p', 'w', '\0',
   /* "thedutchmarketers.com", true */ 't', 'h', 'e', 'd', 'u', 't', 'c', 'h', 'm', 'a', 'r', 'k', 'e', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "thedystance.com", true */ 't', 'h', 'e', 'd', 'y', 's', 't', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "thefarbeyond.com", true */ 't', 'h', 'e', 'f', 'a', 'r', 'b', 'e', 'y', 'o', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "theflyingbear.net", true */ 't', 'h', 'e', 'f', 'l', 'y', 'i', 'n', 'g', 'b', 'e', 'a', 'r', '.', 'n', 'e', 't', '\0',
   /* "thefox.co", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', '\0',
   /* "thefox.com.fr", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', 'm', '.', 'f', 'r', '\0',
   /* "thefreebirds.in", true */ 't', 'h', 'e', 'f', 'r', 'e', 'e', 'b', 'i', 'r', 'd', 's', '.', 'i', 'n', '\0',
   /* "thegamerscamp.com", true */ 't', 'h', 'e', 'g', 'a', 'm', 'e', 'r', 's', 'c', 'a', 'm', 'p', '.', 'c', 'o', 'm', '\0',
   /* "thegasshop.co.uk", true */ 't', 'h', 'e', 'g', 'a', 's', 's', 'h', 'o', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "thegoldregister.co.uk", true */ 't', 'h', 'e', 'g', 'o', 'l', 'd', 'r', 'e', 'g', 'i', 's', 't', 'e', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "thegraciousgourmet.com", true */ 't', 'h', 'e', 'g', 'r', 'a', 'c', 'i', 'o', 'u', 's', 'g', 'o', 'u', 'r', 'm', 'e', 't', '.', 'c', 'o', 'm', '\0',
@@ -15891,16 +15869,17 @@ static const char kSTSHostTable[] = {
   /* "thelittlecraft.com", true */ 't', 'h', 'e', 'l', 'i', 't', 't', 'l', 'e', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "thelocals.ru", true */ 't', 'h', 'e', 'l', 'o', 'c', 'a', 'l', 's', '.', 'r', 'u', '\0',
   /* "themanufacturingmarketingagency.com", true */ 't', 'h', 'e', 'm', 'a', 'n', 'u', 'f', 'a', 'c', 't', 'u', 'r', 'i', 'n', 'g', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', 'a', 'g', 'e', 'n', 'c', 'y', '.', 'c', 'o', 'm', '\0',
   /* "themarshallproject.org", true */ 't', 'h', 'e', 'm', 'a', 'r', 's', 'h', 'a', 'l', 'l', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "themathematician.uk", true */ 't', 'h', 'e', 'm', 'a', 't', 'h', 'e', 'm', 'a', 't', 'i', 'c', 'i', 'a', 'n', '.', 'u', 'k', '\0',
   /* "themeaudit.com", true */ 't', 'h', 'e', 'm', 'e', 'a', 'u', 'd', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "themecraft.studio", true */ 't', 'h', 'e', 'm', 'e', 'c', 'r', 'a', 'f', 't', '.', 's', 't', 'u', 'd', 'i', 'o', '\0',
   /* "themilanlife.com", true */ 't', 'h', 'e', 'm', 'i', 'l', 'a', 'n', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "themillerslive.com", true */ 't', 'h', 'e', 'm', 'i', 'l', 'l', 'e', 'r', 's', 'l', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "themoep.at", true */ 't', 'h', 'e', 'm', 'o', 'e', 'p', '.', 'a', 't', '\0',
   /* "themonthly.com.au", true */ 't', 'h', 'e', 'm', 'o', 'n', 't', 'h', 'l', 'y', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "themostexpensiveworkofart.com", true */ 't', 'h', 'e', 'm', 'o', 's', 't', 'e', 'x', 'p', 'e', 'n', 's', 'i', 'v', 'e', 'w', 'o', 'r', 'k', 'o', 'f', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "themusthaves.nl", true */ 't', 'h', 'e', 'm', 'u', 's', 't', 'h', 'a', 'v', 'e', 's', '.', 'n', 'l', '\0',
   /* "thenanfang.com", true */ 't', 'h', 'e', 'n', 'a', 'n', 'f', 'a', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "thenexwork.com", true */ 't', 'h', 'e', 'n', 'e', 'x', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "thenib.com", true */ 't', 'h', 'e', 'n', 'i', 'b', '.', 'c', 'o', 'm', '\0',
   /* "thenocman.com", true */ 't', 'h', 'e', 'n', 'o', 'c', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
@@ -15911,17 +15890,16 @@ static const char kSTSHostTable[] = {
   /* "theoldbrewhouse.info", true */ 't', 'h', 'e', 'o', 'l', 'd', 'b', 'r', 'e', 'w', 'h', 'o', 'u', 's', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "theoscure.eu", true */ 't', 'h', 'e', 'o', 's', 'c', 'u', 'r', 'e', '.', 'e', 'u', '\0',
   /* "theoutline.com", true */ 't', 'h', 'e', 'o', 'u', 't', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "thepasteb.in", true */ 't', 'h', 'e', 'p', 'a', 's', 't', 'e', 'b', '.', 'i', 'n', '\0',
   /* "thepaymentscompany.com", true */ 't', 'h', 'e', 'p', 'a', 'y', 'm', 'e', 'n', 't', 's', 'c', 'o', 'm', 'p', 'a', 'n', 'y', '.', 'c', 'o', 'm', '\0',
   /* "thepb.in", true */ 't', 'h', 'e', 'p', 'b', '.', 'i', 'n', '\0',
   /* "thephonecaseplace.com", true */ 't', 'h', 'e', 'p', 'h', 'o', 'n', 'e', 'c', 'a', 's', 'e', 'p', 'l', 'a', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "thephp.cc", true */ 't', 'h', 'e', 'p', 'h', 'p', '.', 'c', 'c', '\0',
-  /* "thepiratebay.poker", true */ 't', 'h', 'e', 'p', 'i', 'r', 'a', 't', 'e', 'b', 'a', 'y', '.', 'p', 'o', 'k', 'e', 'r', '\0',
   /* "thepiratesociety.org", true */ 't', 'h', 'e', 'p', 'i', 'r', 'a', 't', 'e', 's', 'o', 'c', 'i', 'e', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "theploughharborne.co.uk", true */ 't', 'h', 'e', 'p', 'l', 'o', 'u', 'g', 'h', 'h', 'a', 'r', 'b', 'o', 'r', 'n', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "theposhfudgecompany.co.uk", true */ 't', 'h', 'e', 'p', 'o', 's', 'h', 'f', 'u', 'd', 'g', 'e', 'c', 'o', 'm', 'p', 'a', 'n', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "theprincegame.com", true */ 't', 'h', 'e', 'p', 'r', 'i', 'n', 'c', 'e', 'g', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "theramo.re", true */ 't', 'h', 'e', 'r', 'a', 'm', 'o', '.', 'r', 'e', '\0',
   /* "therapynotes.com", true */ 't', 'h', 'e', 'r', 'a', 'p', 'y', 'n', 'o', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "therapyportal.com", true */ 't', 'h', 'e', 'r', 'a', 'p', 'y', 'p', 'o', 'r', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "therapysxm.com", true */ 't', 'h', 'e', 'r', 'a', 'p', 'y', 's', 'x', 'm', '.', 'c', 'o', 'm', '\0',
@@ -15986,16 +15964,17 @@ static const char kSTSHostTable[] = {
   /* "thistleandleaves.com", true */ 't', 'h', 'i', 's', 't', 'l', 'e', 'a', 'n', 'd', 'l', 'e', 'a', 'v', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "thkb.net", true */ 't', 'h', 'k', 'b', '.', 'n', 'e', 't', '\0',
   /* "thole.org", true */ 't', 'h', 'o', 'l', 'e', '.', 'o', 'r', 'g', '\0',
   /* "thom4s.info", true */ 't', 'h', 'o', 'm', '4', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "thomalaudan.de", true */ 't', 'h', 'o', 'm', 'a', 'l', 'a', 'u', 'd', 'a', 'n', '.', 'd', 'e', '\0',
   /* "thomas-gibertie.fr", true */ 't', 'h', 'o', 'm', 'a', 's', '-', 'g', 'i', 'b', 'e', 'r', 't', 'i', 'e', '.', 'f', 'r', '\0',
   /* "thomas-grobelny.de", true */ 't', 'h', 'o', 'm', 'a', 's', '-', 'g', 'r', 'o', 'b', 'e', 'l', 'n', 'y', '.', 'd', 'e', '\0',
   /* "thomasbreads.com", true */ 't', 'h', 'o', 'm', 'a', 's', 'b', 'r', 'e', 'a', 'd', 's', '.', 'c', 'o', 'm', '\0',
+  /* "thomascloud.ddns.net", true */ 't', 'h', 'o', 'm', 'a', 's', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'd', 'n', 's', '.', 'n', 'e', 't', '\0',
   /* "thomasgriffin.io", true */ 't', 'h', 'o', 'm', 'a', 's', 'g', 'r', 'i', 'f', 'f', 'i', 'n', '.', 'i', 'o', '\0',
   /* "thomasharvey.me", true */ 't', 'h', 'o', 'm', 'a', 's', 'h', 'a', 'r', 'v', 'e', 'y', '.', 'm', 'e', '\0',
   /* "thomashunter.name", false */ 't', 'h', 'o', 'm', 'a', 's', 'h', 'u', 'n', 't', 'e', 'r', '.', 'n', 'a', 'm', 'e', '\0',
   /* "thomasmeester.nl", true */ 't', 'h', 'o', 'm', 'a', 's', 'm', 'e', 'e', 's', 't', 'e', 'r', '.', 'n', 'l', '\0',
   /* "thomasnet.fr", true */ 't', 'h', 'o', 'm', 'a', 's', 'n', 'e', 't', '.', 'f', 'r', '\0',
   /* "thomastimepieces.com.au", true */ 't', 'h', 'o', 'm', 'a', 's', 't', 'i', 'm', 'e', 'p', 'i', 'e', 'c', 'e', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "thomasvochten.com", true */ 't', 'h', 'o', 'm', 'a', 's', 'v', 'o', 'c', 'h', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "thompsonfamily.cloud", true */ 't', 'h', 'o', 'm', 'p', 's', 'o', 'n', 'f', 'a', 'm', 'i', 'l', 'y', '.', 'c', 'l', 'o', 'u', 'd', '\0',
@@ -16012,16 +15991,17 @@ static const char kSTSHostTable[] = {
   /* "threelions.ch", true */ 't', 'h', 'r', 'e', 'e', 'l', 'i', 'o', 'n', 's', '.', 'c', 'h', '\0',
   /* "thriveta.com", true */ 't', 'h', 'r', 'i', 'v', 'e', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "thrivewellnesshub.co.za", true */ 't', 'h', 'r', 'i', 'v', 'e', 'w', 'e', 'l', 'l', 'n', 'e', 's', 's', 'h', 'u', 'b', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "throttlerz.in", true */ 't', 'h', 'r', 'o', 't', 't', 'l', 'e', 'r', 'z', '.', 'i', 'n', '\0',
   /* "throughtheglass.photo", true */ 't', 'h', 'r', 'o', 'u', 'g', 'h', 't', 'h', 'e', 'g', 'l', 'a', 's', 's', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "throughthelookingglasslens.co.uk", true */ 't', 'h', 'r', 'o', 'u', 'g', 'h', 't', 'h', 'e', 'l', 'o', 'o', 'k', 'i', 'n', 'g', 'g', 'l', 'a', 's', 's', 'l', 'e', 'n', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "throwaway.link", true */ 't', 'h', 'r', 'o', 'w', 'a', 'w', 'a', 'y', '.', 'l', 'i', 'n', 'k', '\0',
   /* "throwpass.com", true */ 't', 'h', 'r', 'o', 'w', 'p', 'a', 's', 's', '.', 'c', 'o', 'm', '\0',
+  /* "thrx.net", true */ 't', 'h', 'r', 'x', '.', 'n', 'e', 't', '\0',
   /* "thues.eu", true */ 't', 'h', 'u', 'e', 's', '.', 'e', 'u', '\0',
   /* "thunderfox.nl", true */ 't', 'h', 'u', 'n', 'd', 'e', 'r', 'f', 'o', 'x', '.', 'n', 'l', '\0',
   /* "thundr.eu", true */ 't', 'h', 'u', 'n', 'd', 'r', '.', 'e', 'u', '\0',
   /* "thyngster.com", false */ 't', 'h', 'y', 'n', 'g', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "thynx.io", true */ 't', 'h', 'y', 'n', 'x', '.', 'i', 'o', '\0',
   /* "ti-pla.net", true */ 't', 'i', '-', 'p', 'l', 'a', '.', 'n', 'e', 't', '\0',
   /* "ti-planet.org", true */ 't', 'i', '-', 'p', 'l', 'a', 'n', 'e', 't', '.', 'o', 'r', 'g', '\0',
   /* "ti.blog.br", true */ 't', 'i', '.', 'b', 'l', 'o', 'g', '.', 'b', 'r', '\0',
@@ -16123,16 +16103,17 @@ static const char kSTSHostTable[] = {
   /* "tmberg.ga", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'g', 'a', '\0',
   /* "tmberg.gq", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'g', 'q', '\0',
   /* "tmberg.ml", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 'm', 'l', '\0',
   /* "tmberg.tk", true */ 't', 'm', 'b', 'e', 'r', 'g', '.', 't', 'k', '\0',
   /* "tmdb.biz", true */ 't', 'm', 'd', 'b', '.', 'b', 'i', 'z', '\0',
   /* "tmf.ru", true */ 't', 'm', 'f', '.', 'r', 'u', '\0',
   /* "tmi-products.eu", true */ 't', 'm', 'i', '-', 'p', 'r', 'o', 'd', 'u', 'c', 't', 's', '.', 'e', 'u', '\0',
   /* "tmi-produkter.se", true */ 't', 'm', 'i', '-', 'p', 'r', 'o', 'd', 'u', 'k', 't', 'e', 'r', '.', 's', 'e', '\0',
+  /* "tmm.cx", true */ 't', 'm', 'm', '.', 'c', 'x', '\0',
   /* "tmpraider.net", true */ 't', 'm', 'p', 'r', 'a', 'i', 'd', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "tmpsantos.com.br", true */ 't', 'm', 'p', 's', 'a', 'n', 't', 'o', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "tmtopup.com", true */ 't', 'm', 't', 'o', 'p', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "tmtradingmorocco.ma", true */ 't', 'm', 't', 'r', 'a', 'd', 'i', 'n', 'g', 'm', 'o', 'r', 'o', 'c', 'c', 'o', '.', 'm', 'a', '\0',
   /* "tn0.club", true */ 't', 'n', '0', '.', 'c', 'l', 'u', 'b', '\0',
   /* "tnes.dk", true */ 't', 'n', 'e', 's', '.', 'd', 'k', '\0',
   /* "tno.io", true */ 't', 'n', 'o', '.', 'i', 'o', '\0',
   /* "tny.link", true */ 't', 'n', 'y', '.', 'l', 'i', 'n', 'k', '\0',
@@ -16433,17 +16414,16 @@ static const char kSTSHostTable[] = {
   /* "tretkowski.de", true */ 't', 'r', 'e', 't', 'k', 'o', 'w', 's', 'k', 'i', '.', 'd', 'e', '\0',
   /* "trewe.eu", true */ 't', 'r', 'e', 'w', 'e', '.', 'e', 'u', '\0',
   /* "triadwars.com", true */ 't', 'r', 'i', 'a', 'd', 'w', 'a', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "tribaldos.com", true */ 't', 'r', 'i', 'b', 'a', 'l', 'd', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "tribut.de", true */ 't', 'r', 'i', 'b', 'u', 't', '.', 'd', 'e', '\0',
   /* "tributh.net", true */ 't', 'r', 'i', 'b', 'u', 't', 'h', '.', 'n', 'e', 't', '\0',
   /* "triddi.com", true */ 't', 'r', 'i', 'd', 'd', 'i', '.', 'c', 'o', 'm', '\0',
   /* "trident-online.de", true */ 't', 'r', 'i', 'd', 'e', 'n', 't', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
-  /* "trik.es", false */ 't', 'r', 'i', 'k', '.', 'e', 's', '\0',
   /* "trim-a-slab.com", true */ 't', 'r', 'i', 'm', '-', 'a', '-', 's', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "trimage.org", true */ 't', 'r', 'i', 'm', 'a', 'g', 'e', '.', 'o', 'r', 'g', '\0',
   /* "trinary.ca", true */ 't', 'r', 'i', 'n', 'a', 'r', 'y', '.', 'c', 'a', '\0',
   /* "trineco.com", true */ 't', 'r', 'i', 'n', 'e', 'c', 'o', '.', 'c', 'o', 'm', '\0',
   /* "trineco.fi", true */ 't', 'r', 'i', 'n', 'e', 'c', 'o', '.', 'f', 'i', '\0',
   /* "trinnes.net", true */ 't', 'r', 'i', 'n', 'n', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "trio.online", true */ 't', 'r', 'i', 'o', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "triop.se", true */ 't', 'r', 'i', 'o', 'p', '.', 's', 'e', '\0',
@@ -16493,17 +16473,17 @@ static const char kSTSHostTable[] = {
   /* "tsgbit.net", true */ 't', 's', 'g', 'b', 'i', 't', '.', 'n', 'e', 't', '\0',
   /* "tsukhani.com", true */ 't', 's', 'u', 'k', 'h', 'a', 'n', 'i', '.', 'c', 'o', 'm', '\0',
   /* "tsumegumi.net", true */ 't', 's', 'u', 'm', 'e', 'g', 'u', 'm', 'i', '.', 'n', 'e', 't', '\0',
   /* "tsumi.it", true */ 't', 's', 'u', 'm', 'i', '.', 'i', 't', '\0',
   /* "tsurimap.com", true */ 't', 's', 'u', 'r', 'i', 'm', 'a', 'p', '.', 'c', 'o', 'm', '\0',
   /* "tsuyuzakihiroyuki.com", true */ 't', 's', 'u', 'y', 'u', 'z', 'a', 'k', 'i', 'h', 'i', 'r', 'o', 'y', 'u', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "tsv-1894.de", true */ 't', 's', 'v', '-', '1', '8', '9', '4', '.', 'd', 'e', '\0',
   /* "ttb.gov", true */ 't', 't', 'b', '.', 'g', 'o', 'v', '\0',
-  /* "ttbonline.gov", true */ 't', 't', 'b', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'g', 'o', 'v', '\0',
+  /* "ttbonline.gov", false */ 't', 't', 'b', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'g', 'o', 'v', '\0',
   /* "ttcf.ca", true */ 't', 't', 'c', 'f', '.', 'c', 'a', '\0',
   /* "ttchan.org", true */ 't', 't', 'c', 'h', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "tts.co.nz", true */ 't', 't', 's', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "ttsoft.pl", true */ 't', 't', 's', 'o', 'f', 't', '.', 'p', 'l', '\0',
   /* "ttt.tt", true */ 't', 't', 't', '.', 't', 't', '\0',
   /* "ttuwiki.ee", true */ 't', 't', 'u', 'w', 'i', 'k', 'i', '.', 'e', 'e', '\0',
   /* "ttuwiki.org", true */ 't', 't', 'u', 'w', 'i', 'k', 'i', '.', 'o', 'r', 'g', '\0',
   /* "tty.space", true */ 't', 't', 'y', '.', 's', 'p', 'a', 'c', 'e', '\0',
@@ -16609,33 +16589,33 @@ static const char kSTSHostTable[] = {
   /* "u03.fr", true */ 'u', '0', '3', '.', 'f', 'r', '\0',
   /* "u5b.de", true */ 'u', '5', 'b', '.', 'd', 'e', '\0',
   /* "uae-company-service.com", true */ 'u', 'a', 'e', '-', 'c', 'o', 'm', 'p', 'a', 'n', 'y', '-', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "uangteman.com", true */ 'u', 'a', 'n', 'g', 't', 'e', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "uasmi.com", true */ 'u', 'a', 's', 'm', 'i', '.', 'c', 'o', 'm', '\0',
   /* "uat-activesg.com", true */ 'u', 'a', 't', '-', 'a', 'c', 't', 'i', 'v', 'e', 's', 'g', '.', 'c', 'o', 'm', '\0',
   /* "ub3rk1tten.com", false */ 'u', 'b', '3', 'r', 'k', '1', 't', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ubalert.com", true */ 'u', 'b', 'a', 'l', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
+  /* "ubanquity.com", true */ 'u', 'b', 'a', 'n', 'q', 'u', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "uber.com.au", true */ 'u', 'b', 'e', 'r', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "uberboxen.net", true */ 'u', 'b', 'e', 'r', 'b', 'o', 'x', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "ubertt.org", true */ 'u', 'b', 'e', 'r', 't', 't', '.', 'o', 'r', 'g', '\0',
   /* "uberwald.de", true */ 'u', 'b', 'e', 'r', 'w', 'a', 'l', 'd', '.', 'd', 'e', '\0',
   /* "uberwald.ws", true */ 'u', 'b', 'e', 'r', 'w', 'a', 'l', 'd', '.', 'w', 's', '\0',
   /* "ubi.gg", true */ 'u', 'b', 'i', '.', 'g', 'g', '\0',
   /* "ublaboo.org", true */ 'u', 'b', 'l', 'a', 'b', 'o', 'o', '.', 'o', 'r', 'g', '\0',
   /* "uborcare.com", true */ 'u', 'b', 'o', 'r', 'c', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ubtce.com", true */ 'u', 'b', 't', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ucfirst.nl", true */ 'u', 'c', 'f', 'i', 'r', 's', 't', '.', 'n', 'l', '\0',
   /* "ucrdatatool.gov", true */ 'u', 'c', 'r', 'd', 'a', 't', 'a', 't', 'o', 'o', 'l', '.', 'g', 'o', 'v', '\0',
   /* "uctarna.online", true */ 'u', 'c', 't', 'a', 'r', 'n', 'a', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "udbhav.me", true */ 'u', 'd', 'b', 'h', 'a', 'v', '.', 'm', 'e', '\0',
   /* "udo-luetkemeier.de", true */ 'u', 'd', 'o', '-', 'l', 'u', 'e', 't', 'k', 'e', 'm', 'e', 'i', 'e', 'r', '.', 'd', 'e', '\0',
   /* "udomain.net", true */ 'u', 'd', 'o', 'm', 'a', 'i', 'n', '.', 'n', 'e', 't', '\0',
   /* "udp.sh", true */ 'u', 'd', 'p', '.', 's', 'h', '\0',
-  /* "udruga-point.hr", true */ 'u', 'd', 'r', 'u', 'g', 'a', '-', 'p', 'o', 'i', 'n', 't', '.', 'h', 'r', '\0',
   /* "ueberwachungspaket.at", true */ 'u', 'e', 'b', 'e', 'r', 'w', 'a', 'c', 'h', 'u', 'n', 'g', 's', 'p', 'a', 'k', 'e', 't', '.', 'a', 't', '\0',
   /* "uefeng.com", true */ 'u', 'e', 'f', 'e', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "uerdingen.info", true */ 'u', 'e', 'r', 'd', 'i', 'n', 'g', 'e', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "uesociedadlimitada.com", true */ 'u', 'e', 's', 'o', 'c', 'i', 'e', 'd', 'a', 'd', 'l', 'i', 'm', 'i', 't', 'a', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "ueu.me", true */ 'u', 'e', 'u', '.', 'm', 'e', '\0',
   /* "uevan.com", true */ 'u', 'e', 'v', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ufindme.at", true */ 'u', 'f', 'i', 'n', 'd', 'm', 'e', '.', 'a', 't', '\0',
   /* "ugcdn.com", true */ 'u', 'g', 'c', 'd', 'n', '.', 'c', 'o', 'm', '\0',
@@ -16779,16 +16759,17 @@ static const char kSTSHostTable[] = {
   /* "urbackups.com", true */ 'u', 'r', 'b', 'a', 'c', 'k', 'u', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "urbalex.ch", true */ 'u', 'r', 'b', 'a', 'l', 'e', 'x', '.', 'c', 'h', '\0',
   /* "urban-culture.fr", true */ 'u', 'r', 'b', 'a', 'n', '-', 'c', 'u', 'l', 't', 'u', 'r', 'e', '.', 'f', 'r', '\0',
   /* "urban-garden.lt", true */ 'u', 'r', 'b', 'a', 'n', '-', 'g', 'a', 'r', 'd', 'e', 'n', '.', 'l', 't', '\0',
   /* "urban-garden.lv", true */ 'u', 'r', 'b', 'a', 'n', '-', 'g', 'a', 'r', 'd', 'e', 'n', '.', 'l', 'v', '\0',
   /* "urban.melbourne", true */ 'u', 'r', 'b', 'a', 'n', '.', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '\0',
   /* "urbanesecurity.com", true */ 'u', 'r', 'b', 'a', 'n', 'e', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "urbanmelbourne.info", true */ 'u', 'r', 'b', 'a', 'n', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '.', 'i', 'n', 'f', 'o', '\0',
+  /* "urbanstylestaging.com", true */ 'u', 'r', 'b', 'a', 'n', 's', 't', 'y', 'l', 'e', 's', 't', 'a', 'g', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "urbpic.com", true */ 'u', 'r', 'b', 'p', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "ureka.org", true */ 'u', 'r', 'e', 'k', 'a', '.', 'o', 'r', 'g', '\0',
   /* "uripura.de", true */ 'u', 'r', 'i', 'p', 'u', 'r', 'a', '.', 'd', 'e', '\0',
   /* "url.cab", true */ 'u', 'r', 'l', '.', 'c', 'a', 'b', '\0',
   /* "url.rw", false */ 'u', 'r', 'l', '.', 'r', 'w', '\0',
   /* "urlchomp.com", true */ 'u', 'r', 'l', 'c', 'h', 'o', 'm', 'p', '.', 'c', 'o', 'm', '\0',
   /* "urlscan.io", true */ 'u', 'r', 'l', 's', 'c', 'a', 'n', '.', 'i', 'o', '\0',
   /* "urown.net", true */ 'u', 'r', 'o', 'w', 'n', '.', 'n', 'e', 't', '\0',
@@ -16842,16 +16823,17 @@ static const char kSTSHostTable[] = {
   /* "uyym.com", true */ 'u', 'y', 'y', 'm', '.', 'c', 'o', 'm', '\0',
   /* "uzmandroid.com", true */ 'u', 'z', 'm', 'a', 'n', 'd', 'r', 'o', 'i', 'd', '.', 'c', 'o', 'm', '\0',
   /* "v-u-z.ru", true */ 'v', '-', 'u', '-', 'z', '.', 'r', 'u', '\0',
   /* "v0rtex.xyz", true */ 'v', '0', 'r', 't', 'e', 'x', '.', 'x', 'y', 'z', '\0',
   /* "v0tti.com", false */ 'v', '0', 't', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "v2bv.win", true */ 'v', '2', 'b', 'v', '.', 'w', 'i', 'n', '\0',
   /* "v2ex.com", true */ 'v', '2', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "v2ex.us", true */ 'v', '2', 'e', 'x', '.', 'u', 's', '\0',
+  /* "v7.cl", true */ 'v', '7', '.', 'c', 'l', '\0',
   /* "va-reitartikel.com", true */ 'v', 'a', '-', 'r', 'e', 'i', 't', 'a', 'r', 't', 'i', 'k', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "vaaddress.co", true */ 'v', 'a', 'a', 'd', 'd', 'r', 'e', 's', 's', '.', 'c', 'o', '\0',
   /* "vaalmarketplace.co.za", true */ 'v', 'a', 'a', 'l', 'm', 'a', 'r', 'k', 'e', 't', 'p', 'l', 'a', 'c', 'e', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "vacationality.com", true */ 'v', 'a', 'c', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "vaccines.gov", true */ 'v', 'a', 'c', 'c', 'i', 'n', 'e', 's', '.', 'g', 'o', 'v', '\0',
   /* "vaclavambroz.cz", true */ 'v', 'a', 'c', 'l', 'a', 'v', 'a', 'm', 'b', 'r', 'o', 'z', '.', 'c', 'z', '\0',
   /* "vadik.me", true */ 'v', 'a', 'd', 'i', 'k', '.', 'm', 'e', '\0',
   /* "vaelma.fi", true */ 'v', 'a', 'e', 'l', 'm', 'a', '.', 'f', 'i', '\0',
@@ -17172,17 +17154,16 @@ static const char kSTSHostTable[] = {
   /* "vrijstaandhuis-in-laren-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'l', 'a', 'r', 'e', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuis-in-leeuwarden-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'l', 'e', 'e', 'u', 'w', 'a', 'r', 'd', 'e', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuis-in-veendam-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'v', 'e', 'e', 'n', 'd', 'a', 'm', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuis-in-zeeland-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'z', 'e', 'e', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuis-in-zuid-holland-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'z', 'u', 'i', 'd', '-', 'h', 'o', 'l', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuis-in-zuidplas-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'z', 'u', 'i', 'd', 'p', 'l', 'a', 's', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuis-in-zwartewaterland-kopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', '-', 'i', 'n', '-', 'z', 'w', 'a', 'r', 't', 'e', 'w', 'a', 't', 'e', 'r', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "vrijstaandhuisverkopen.nl", true */ 'v', 'r', 'i', 'j', 's', 't', 'a', 'a', 'n', 'd', 'h', 'u', 'i', 's', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
-  /* "vrtak-cz.net", true */ 'v', 'r', 't', 'a', 'k', '-', 'c', 'z', '.', 'n', 'e', 't', '\0',
   /* "vrzl.pro", true */ 'v', 'r', 'z', 'l', '.', 'p', 'r', 'o', '\0',
   /* "vscale.io", true */ 'v', 's', 'c', 'a', 'l', 'e', '.', 'i', 'o', '\0',
   /* "vsean.net", true */ 'v', 's', 'e', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "vserver-preis-vergleich.de", true */ 'v', 's', 'e', 'r', 'v', 'e', 'r', '-', 'p', 'r', 'e', 'i', 's', '-', 'v', 'e', 'r', 'g', 'l', 'e', 'i', 'c', 'h', '.', 'd', 'e', '\0',
   /* "vsund.de", true */ 'v', 's', 'u', 'n', 'd', '.', 'd', 'e', '\0',
   /* "vubey.yt", true */ 'v', 'u', 'b', 'e', 'y', '.', 'y', 't', '\0',
   /* "vuljespaarpot.nl", true */ 'v', 'u', 'l', 'j', 'e', 's', 'p', 'a', 'a', 'r', 'p', 'o', 't', '.', 'n', 'l', '\0',
   /* "vulnerability.ch", true */ 'v', 'u', 'l', 'n', 'e', 'r', 'a', 'b', 'i', 'l', 'i', 't', 'y', '.', 'c', 'h', '\0',
@@ -17296,17 +17277,16 @@ static const char kSTSHostTable[] = {
   /* "wdt.cz", false */ 'w', 'd', 't', '.', 'c', 'z', '\0',
   /* "we-bb.com", true */ 'w', 'e', '-', 'b', 'b', '.', 'c', 'o', 'm', '\0',
   /* "we-run-linux.de", true */ 'w', 'e', '-', 'r', 'u', 'n', '-', 'l', 'i', 'n', 'u', 'x', '.', 'd', 'e', '\0',
   /* "we-use-linux.de", true */ 'w', 'e', '-', 'u', 's', 'e', '-', 'l', 'i', 'n', 'u', 'x', '.', 'd', 'e', '\0',
   /* "wealthcentral.com.au", true */ 'w', 'e', 'a', 'l', 't', 'h', 'c', 'e', 'n', 't', 'r', 'a', 'l', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "wealthprojector.com", true */ 'w', 'e', 'a', 'l', 't', 'h', 'p', 'r', 'o', 'j', 'e', 'c', 't', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "wealthprojector.com.au", true */ 'w', 'e', 'a', 'l', 't', 'h', 'p', 'r', 'o', 'j', 'e', 'c', 't', 'o', 'r', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "wealthreport.com.au", true */ 'w', 'e', 'a', 'l', 't', 'h', 'r', 'e', 'p', 'o', 'r', 't', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
-  /* "wearandcare.net", true */ 'w', 'e', 'a', 'r', 'a', 'n', 'd', 'c', 'a', 'r', 'e', '.', 'n', 'e', 't', '\0',
   /* "wearegenki.com", true */ 'w', 'e', 'a', 'r', 'e', 'g', 'e', 'n', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "wearepapermill.co", true */ 'w', 'e', 'a', 'r', 'e', 'p', 'a', 'p', 'e', 'r', 'm', 'i', 'l', 'l', '.', 'c', 'o', '\0',
   /* "wearvr.com", true */ 'w', 'e', 'a', 'r', 'v', 'r', '.', 'c', 'o', 'm', '\0',
   /* "weather-and-climate.com", false */ 'w', 'e', 'a', 't', 'h', 'e', 'r', '-', 'a', 'n', 'd', '-', 'c', 'l', 'i', 'm', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "weathermyway.rocks", true */ 'w', 'e', 'a', 't', 'h', 'e', 'r', 'm', 'y', 'w', 'a', 'y', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "web-hotel.gr", true */ 'w', 'e', 'b', '-', 'h', 'o', 't', 'e', 'l', '.', 'g', 'r', '\0',
   /* "web-insider.net", true */ 'w', 'e', 'b', '-', 'i', 'n', 's', 'i', 'd', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "web-vision.de", true */ 'w', 'e', 'b', '-', 'v', 'i', 's', 'i', 'o', 'n', '.', 'd', 'e', '\0',
@@ -17314,17 +17294,16 @@ static const char kSTSHostTable[] = {
   /* "web2033.com", true */ 'w', 'e', 'b', '2', '0', '3', '3', '.', 'c', 'o', 'm', '\0',
   /* "web404.net", true */ 'w', 'e', 'b', '4', '0', '4', '.', 'n', 'e', 't', '\0',
   /* "webais.ru", true */ 'w', 'e', 'b', 'a', 'i', 's', '.', 'r', 'u', '\0',
   /* "webandmore.de", false */ 'w', 'e', 'b', 'a', 'n', 'd', 'm', 'o', 'r', 'e', '.', 'd', 'e', '\0',
   /* "webbhuset.se", false */ 'w', 'e', 'b', 'b', 'h', 'u', 's', 'e', 't', '.', 's', 'e', '\0',
   /* "webcamtoy.com", true */ 'w', 'e', 'b', 'c', 'a', 'm', 't', 'o', 'y', '.', 'c', 'o', 'm', '\0',
   /* "webcollect.org.uk", true */ 'w', 'e', 'b', 'c', 'o', 'l', 'l', 'e', 'c', 't', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "webcontentspinning.com", true */ 'w', 'e', 'b', 'c', 'o', 'n', 't', 'e', 'n', 't', 's', 'p', 'i', 'n', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
-  /* "webdesigneauclaire.com", true */ 'w', 'e', 'b', 'd', 'e', 's', 'i', 'g', 'n', 'e', 'a', 'u', 'c', 'l', 'a', 'i', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "webdesignplay.com", true */ 'w', 'e', 'b', 'd', 'e', 's', 'i', 'g', 'n', 'p', 'l', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "webdevops.io", true */ 'w', 'e', 'b', 'd', 'e', 'v', 'o', 'p', 's', '.', 'i', 'o', '\0',
   /* "webdosh.com", true */ 'w', 'e', 'b', 'd', 'o', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "webduck.nl", true */ 'w', 'e', 'b', 'd', 'u', 'c', 'k', '.', 'n', 'l', '\0',
   /* "webeau.com", true */ 'w', 'e', 'b', 'e', 'a', 'u', '.', 'c', 'o', 'm', '\0',
   /* "webeconomia.it", true */ 'w', 'e', 'b', 'e', 'c', 'o', 'n', 'o', 'm', 'i', 'a', '.', 'i', 't', '\0',
   /* "webelement.sk", true */ 'w', 'e', 'b', 'e', 'l', 'e', 'm', 'e', 'n', 't', '.', 's', 'k', '\0',
   /* "webergrillrestaurant.com", true */ 'w', 'e', 'b', 'e', 'r', 'g', 'r', 'i', 'l', 'l', 'r', 'e', 's', 't', 'a', 'u', 'r', 'a', 'n', 't', '.', 'c', 'o', 'm', '\0',
@@ -17347,17 +17326,16 @@ static const char kSTSHostTable[] = {
   /* "webmail.xalqbank.az", true */ 'w', 'e', 'b', 'm', 'a', 'i', 'l', '.', 'x', 'a', 'l', 'q', 'b', 'a', 'n', 'k', '.', 'a', 'z', '\0',
   /* "webmandesign.eu", true */ 'w', 'e', 'b', 'm', 'a', 'n', 'd', 'e', 's', 'i', 'g', 'n', '.', 'e', 'u', '\0',
   /* "webmax.com.tr", true */ 'w', 'e', 'b', 'm', 'a', 'x', '.', 'c', 'o', 'm', '.', 't', 'r', '\0',
   /* "webmedpharmacy.co.uk", true */ 'w', 'e', 'b', 'm', 'e', 'd', 'p', 'h', 'a', 'r', 'm', 'a', 'c', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "webmetering.at", true */ 'w', 'e', 'b', 'm', 'e', 't', 'e', 'r', 'i', 'n', 'g', '.', 'a', 't', '\0',
   /* "webogram.org", false */ 'w', 'e', 'b', 'o', 'g', 'r', 'a', 'm', '.', 'o', 'r', 'g', '\0',
   /* "webproguru.com", true */ 'w', 'e', 'b', 'p', 'r', 'o', 'g', 'u', 'r', 'u', '.', 'c', 'o', 'm', '\0',
   /* "webproject.rocks", true */ 'w', 'e', 'b', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'r', 'o', 'c', 'k', 's', '\0',
-  /* "webpublica.pt", true */ 'w', 'e', 'b', 'p', 'u', 'b', 'l', 'i', 'c', 'a', '.', 'p', 't', '\0',
   /* "webrebels.org", true */ 'w', 'e', 'b', 'r', 'e', 'b', 'e', 'l', 's', '.', 'o', 'r', 'g', '\0',
   /* "webreport.fr", true */ 'w', 'e', 'b', 'r', 'e', 'p', 'o', 'r', 't', '.', 'f', 'r', '\0',
   /* "webs4all.ro", true */ 'w', 'e', 'b', 's', '4', 'a', 'l', 'l', '.', 'r', 'o', '\0',
   /* "webscale.nl", true */ 'w', 'e', 'b', 's', 'c', 'a', 'l', 'e', '.', 'n', 'l', '\0',
   /* "websectools.com", true */ 'w', 'e', 'b', 's', 'e', 'c', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "websecurity.is", true */ 'w', 'e', 'b', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'i', 's', '\0',
   /* "webseitendesigner.com", false */ 'w', 'e', 'b', 's', 'e', 'i', 't', 'e', 'n', 'd', 'e', 's', 'i', 'g', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "webseitenserver.com", true */ 'w', 'e', 'b', 's', 'e', 'i', 't', 'e', 'n', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -17461,17 +17439,16 @@ static const char kSTSHostTable[] = {
   /* "wf-hosting.de", true */ 'w', 'f', '-', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'd', 'e', '\0',
   /* "wf-pentest.appspot.com", true */ 'w', 'f', '-', 'p', 'e', 'n', 't', 'e', 's', 't', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "wf-staging-hr.appspot.com", true */ 'w', 'f', '-', 's', 't', 'a', 'g', 'i', 'n', 'g', '-', 'h', 'r', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "wf-training-hrd.appspot.com", true */ 'w', 'f', '-', 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', '-', 'h', 'r', 'd', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "wf-training-master.appspot.com", true */ 'w', 'f', '-', 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', '-', 'm', 'a', 's', 't', 'e', 'r', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "wf-trial-hrd.appspot.com", true */ 'w', 'f', '-', 't', 'r', 'i', 'a', 'l', '-', 'h', 'r', 'd', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "wfh.ovh", true */ 'w', 'f', 'h', '.', 'o', 'v', 'h', '\0',
   /* "wfh.se", true */ 'w', 'f', 'h', '.', 's', 'e', '\0',
-  /* "wg-tools.de", true */ 'w', 'g', '-', 't', 'o', 'o', 'l', 's', '.', 'd', 'e', '\0',
   /* "wg3k.us", true */ 'w', 'g', '3', 'k', '.', 'u', 's', '\0',
   /* "wgom.org", true */ 'w', 'g', 'o', 'm', '.', 'o', 'r', 'g', '\0',
   /* "wh-guide.de", true */ 'w', 'h', '-', 'g', 'u', 'i', 'd', 'e', '.', 'd', 'e', '\0',
   /* "whatagreatwebsite.net", true */ 'w', 'h', 'a', 't', 'a', 'g', 'r', 'e', 'a', 't', 'w', 'e', 'b', 's', 'i', 't', 'e', '.', 'n', 'e', 't', '\0',
   /* "whatanime.ga", true */ 'w', 'h', 'a', 't', 'a', 'n', 'i', 'm', 'e', '.', 'g', 'a', '\0',
   /* "whatismyipaddress.ca", true */ 'w', 'h', 'a', 't', 'i', 's', 'm', 'y', 'i', 'p', 'a', 'd', 'd', 'r', 'e', 's', 's', '.', 'c', 'a', '\0',
   /* "whatsapp.com", true */ 'w', 'h', 'a', 't', 's', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "whatsmychaincert.com", true */ 'w', 'h', 'a', 't', 's', 'm', 'y', 'c', 'h', 'a', 'i', 'n', 'c', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
@@ -17572,27 +17549,27 @@ static const char kSTSHostTable[] = {
   /* "williamfeely.info", true */ 'w', 'i', 'l', 'l', 'i', 'a', 'm', 'f', 'e', 'e', 'l', 'y', '.', 'i', 'n', 'f', 'o', '\0',
   /* "williamsapiens.com", true */ 'w', 'i', 'l', 'l', 'i', 'a', 'm', 's', 'a', 'p', 'i', 'e', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "williamsonshore.com", true */ 'w', 'i', 'l', 'l', 'i', 'a', 'm', 's', 'o', 'n', 's', 'h', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "willnorris.com", true */ 'w', 'i', 'l', 'l', 'n', 'o', 'r', 'r', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "willow.technology", true */ 'w', 'i', 'l', 'l', 'o', 'w', '.', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y', '\0',
   /* "wills.co.tt", true */ 'w', 'i', 'l', 'l', 's', '.', 'c', 'o', '.', 't', 't', '\0',
   /* "willstamper.name", true */ 'w', 'i', 'l', 'l', 's', 't', 'a', 'm', 'p', 'e', 'r', '.', 'n', 'a', 'm', 'e', '\0',
   /* "wilsonovi.com", true */ 'w', 'i', 'l', 's', 'o', 'n', 'o', 'v', 'i', '.', 'c', 'o', 'm', '\0',
+  /* "wimake.solutions", true */ 'w', 'i', 'm', 'a', 'k', 'e', '.', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '\0',
   /* "wimbo.nl", true */ 'w', 'i', 'm', 'b', 'o', '.', 'n', 'l', '\0',
   /* "winbuzzer.com", true */ 'w', 'i', 'n', 'b', 'u', 'z', 'z', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "wind.moe", true */ 'w', 'i', 'n', 'd', '.', 'm', 'o', 'e', '\0',
   /* "windhaven.nl", true */ 'w', 'i', 'n', 'd', 'h', 'a', 'v', 'e', 'n', '.', 'n', 'l', '\0',
   /* "windholz.us", true */ 'w', 'i', 'n', 'd', 'h', 'o', 'l', 'z', '.', 'u', 's', '\0',
   /* "windowsphoneblog.it", true */ 'w', 'i', 'n', 'd', 'o', 'w', 's', 'p', 'h', 'o', 'n', 'e', 'b', 'l', 'o', 'g', '.', 'i', 't', '\0',
   /* "windrunner.se", true */ 'w', 'i', 'n', 'd', 'r', 'u', 'n', 'n', 'e', 'r', '.', 's', 'e', '\0',
   /* "windscribe.com", true */ 'w', 'i', 'n', 'd', 's', 'c', 'r', 'i', 'b', 'e', '.', 'c', 'o', 'm', '\0',
   /* "windwoodmedia.com", true */ 'w', 'i', 'n', 'd', 'w', 'o', 'o', 'd', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "windwoodweb.com", true */ 'w', 'i', 'n', 'd', 'w', 'o', 'o', 'd', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
-  /* "wine-importer.ru", true */ 'w', 'i', 'n', 'e', '-', 'i', 'm', 'p', 'o', 'r', 't', 'e', 'r', '.', 'r', 'u', '\0',
   /* "winebid.com", true */ 'w', 'i', 'n', 'e', 'b', 'i', 'd', '.', 'c', 'o', 'm', '\0',
   /* "winghill.com", false */ 'w', 'i', 'n', 'g', 'h', 'i', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "wingos.net", true */ 'w', 'i', 'n', 'g', 'o', 's', '.', 'n', 'e', 't', '\0',
   /* "winhistory-forum.net", true */ 'w', 'i', 'n', 'h', 'i', 's', 't', 'o', 'r', 'y', '-', 'f', 'o', 'r', 'u', 'm', '.', 'n', 'e', 't', '\0',
   /* "winmodels.org", true */ 'w', 'i', 'n', 'm', 'o', 'd', 'e', 'l', 's', '.', 'o', 'r', 'g', '\0',
   /* "winmodels.ru", true */ 'w', 'i', 'n', 'm', 'o', 'd', 'e', 'l', 's', '.', 'r', 'u', '\0',
   /* "winphonemetro.com", true */ 'w', 'i', 'n', 'p', 'h', 'o', 'n', 'e', 'm', 'e', 't', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "winsufi.biz", true */ 'w', 'i', 'n', 's', 'u', 'f', 'i', '.', 'b', 'i', 'z', '\0',
@@ -17641,17 +17618,16 @@ static const char kSTSHostTable[] = {
   /* "wo2forum.nl", false */ 'w', 'o', '2', 'f', 'o', 'r', 'u', 'm', '.', 'n', 'l', '\0',
   /* "wobble.ninja", true */ 'w', 'o', 'b', 'b', 'l', 'e', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "wobblylang.org", true */ 'w', 'o', 'b', 'b', 'l', 'y', 'l', 'a', 'n', 'g', '.', 'o', 'r', 'g', '\0',
   /* "wochenentwicklung.com", true */ 'w', 'o', 'c', 'h', 'e', 'n', 'e', 'n', 't', 'w', 'i', 'c', 'k', 'l', 'u', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "wod-stavby.cz", true */ 'w', 'o', 'd', '-', 's', 't', 'a', 'v', 'b', 'y', '.', 'c', 'z', '\0',
   /* "wodinaz.com", true */ 'w', 'o', 'd', 'i', 'n', 'a', 'z', '.', 'c', 'o', 'm', '\0',
   /* "wodka-division.de", true */ 'w', 'o', 'd', 'k', 'a', '-', 'd', 'i', 'v', 'i', 's', 'i', 'o', 'n', '.', 'd', 'e', '\0',
   /* "woelkchen.me", true */ 'w', 'o', 'e', 'l', 'k', 'c', 'h', 'e', 'n', '.', 'm', 'e', '\0',
-  /* "wofford-ecs.org", true */ 'w', 'o', 'f', 'f', 'o', 'r', 'd', '-', 'e', 'c', 's', '.', 'o', 'r', 'g', '\0',
   /* "woffs.de", true */ 'w', 'o', 'f', 'f', 's', '.', 'd', 'e', '\0',
   /* "wohlgemuth.rocks", false */ 'w', 'o', 'h', 'l', 'g', 'e', 'm', 'u', 't', 'h', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "wohnsitz-ausland.com", true */ 'w', 'o', 'h', 'n', 's', 'i', 't', 'z', '-', 'a', 'u', 's', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "woi.vision", true */ 'w', 'o', 'i', '.', 'v', 'i', 's', 'i', 'o', 'n', '\0',
   /* "wokeai.net", true */ 'w', 'o', 'k', 'e', 'a', 'i', '.', 'n', 'e', 't', '\0',
   /* "wolf-squad.de", true */ 'w', 'o', 'l', 'f', '-', 's', 'q', 'u', 'a', 'd', '.', 'd', 'e', '\0',
   /* "wolfachtal-alpaka.de", true */ 'w', 'o', 'l', 'f', 'a', 'c', 'h', 't', 'a', 'l', '-', 'a', 'l', 'p', 'a', 'k', 'a', '.', 'd', 'e', '\0',
   /* "wolfemg.com", true */ 'w', 'o', 'l', 'f', 'e', 'm', 'g', '.', 'c', 'o', 'm', '\0',
@@ -17711,17 +17687,16 @@ static const char kSTSHostTable[] = {
   /* "wp-fastsearch.de", true */ 'w', 'p', '-', 'f', 'a', 's', 't', 's', 'e', 'a', 'r', 'c', 'h', '.', 'd', 'e', '\0',
   /* "wp-mix.com", true */ 'w', 'p', '-', 'm', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "wp-tao.com", true */ 'w', 'p', '-', 't', 'a', 'o', '.', 'c', 'o', 'm', '\0',
   /* "wpac.de", true */ 'w', 'p', 'a', 'c', '.', 'd', 'e', '\0',
   /* "wpandup.org", true */ 'w', 'p', 'a', 'n', 'd', 'u', 'p', '.', 'o', 'r', 'g', '\0',
   /* "wpblog.com.tw", true */ 'w', 'p', 'b', 'l', 'o', 'g', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "wpcarer.pro", true */ 'w', 'p', 'c', 'a', 'r', 'e', 'r', '.', 'p', 'r', 'o', '\0',
   /* "wpdublin.com", true */ 'w', 'p', 'd', 'u', 'b', 'l', 'i', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "wpfast.net", false */ 'w', 'p', 'f', 'a', 's', 't', '.', 'n', 'e', 't', '\0',
   /* "wphostingblog.nl", true */ 'w', 'p', 'h', 'o', 's', 't', 'i', 'n', 'g', 'b', 'l', 'o', 'g', '.', 'n', 'l', '\0',
   /* "wpinfos.de", true */ 'w', 'p', 'i', 'n', 'f', 'o', 's', '.', 'd', 'e', '\0',
   /* "wpldn.uk", true */ 'w', 'p', 'l', 'd', 'n', '.', 'u', 'k', '\0',
   /* "wpletter.de", false */ 'w', 'p', 'l', 'e', 't', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "wpmeetup-berlin.de", true */ 'w', 'p', 'm', 'e', 'e', 't', 'u', 'p', '-', 'b', 'e', 'r', 'l', 'i', 'n', '.', 'd', 'e', '\0',
   /* "wpostats.com", true */ 'w', 'p', 'o', 's', 't', 'a', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "wpruby.com", true */ 'w', 'p', 'r', 'u', 'b', 'y', '.', 'c', 'o', 'm', '\0',
   /* "wpserp.com", true */ 'w', 'p', 's', 'e', 'r', 'p', '.', 'c', 'o', 'm', '\0',
@@ -18092,17 +18067,16 @@ static const char kSTSHostTable[] = {
   /* "yoimise.net", true */ 'y', 'o', 'i', 'm', 'i', 's', 'e', '.', 'n', 'e', 't', '\0',
   /* "yoitsu.moe", true */ 'y', 'o', 'i', 't', 's', 'u', '.', 'm', 'o', 'e', '\0',
   /* "yoiyado.info", true */ 'y', 'o', 'i', 'y', 'a', 'd', 'o', '.', 'i', 'n', 'f', 'o', '\0',
   /* "yolobert.de", true */ 'y', 'o', 'l', 'o', 'b', 'e', 'r', 't', '.', 'd', 'e', '\0',
   /* "yolocelebs.com", false */ 'y', 'o', 'l', 'o', 'c', 'e', 'l', 'e', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "yombo.net", true */ 'y', 'o', 'm', 'b', 'o', '.', 'n', 'e', 't', '\0',
   /* "yomepre.com", true */ 'y', 'o', 'm', 'e', 'p', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "yooooex.com", true */ 'y', 'o', 'o', 'o', 'o', 'e', 'x', '.', 'c', 'o', 'm', '\0',
-  /* "yoramvandevelde.net", true */ 'y', 'o', 'r', 'a', 'm', 'v', 'a', 'n', 'd', 'e', 'v', 'e', 'l', 'd', 'e', '.', 'n', 'e', 't', '\0',
   /* "yorcom.nl", false */ 'y', 'o', 'r', 'c', 'o', 'm', '.', 'n', 'l', '\0',
   /* "yorkshireterrier.com.br", true */ 'y', 'o', 'r', 'k', 's', 'h', 'i', 'r', 'e', 't', 'e', 'r', 'r', 'i', 'e', 'r', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "yorname.ml", true */ 'y', 'o', 'r', 'n', 'a', 'm', 'e', '.', 'm', 'l', '\0',
   /* "yosemo.de", true */ 'y', 'o', 's', 'e', 'm', 'o', '.', 'd', 'e', '\0',
   /* "yotilab.com", true */ 'y', 'o', 't', 'i', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "yotilabs.com", true */ 'y', 'o', 't', 'i', 'l', 'a', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "yotubaiotona.net", true */ 'y', 'o', 't', 'u', 'b', 'a', 'i', 'o', 't', 'o', 'n', 'a', '.', 'n', 'e', 't', '\0',
   /* "youcancraft.de", true */ 'y', 'o', 'u', 'c', 'a', 'n', 'c', 'r', 'a', 'f', 't', '.', 'd', 'e', '\0',
@@ -18207,16 +18181,17 @@ static const char kSTSHostTable[] = {
   /* "zberger.com", true */ 'z', 'b', 'e', 'r', 'g', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zbetcheck.in", true */ 'z', 'b', 'e', 't', 'c', 'h', 'e', 'c', 'k', '.', 'i', 'n', '\0',
   /* "zbp.at", false */ 'z', 'b', 'p', '.', 'a', 't', '\0',
   /* "zbrane-doplnky.cz", true */ 'z', 'b', 'r', 'a', 'n', 'e', '-', 'd', 'o', 'p', 'l', 'n', 'k', 'y', '.', 'c', 'z', '\0',
   /* "zbyga.cz", true */ 'z', 'b', 'y', 'g', 'a', '.', 'c', 'z', '\0',
   /* "zcarot.com", true */ 'z', 'c', 'a', 'r', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "zcarrot.com", true */ 'z', 'c', 'a', 'r', 'r', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "zcon.nl", true */ 'z', 'c', 'o', 'n', '.', 'n', 'l', '\0',
+  /* "zcr.ca", true */ 'z', 'c', 'r', '.', 'c', 'a', '\0',
   /* "zdbl.de", true */ 'z', 'd', 'b', 'l', '.', 'd', 'e', '\0',
   /* "zdrojak.cz", true */ 'z', 'd', 'r', 'o', 'j', 'a', 'k', '.', 'c', 'z', '\0',
   /* "ze3kr.com", true */ 'z', 'e', '3', 'k', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zebry.nl", true */ 'z', 'e', 'b', 'r', 'y', '.', 'n', 'l', '\0',
   /* "zeds-official.com", true */ 'z', 'e', 'd', 's', '-', 'o', 'f', 'f', 'i', 'c', 'i', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "zeebrieshoekvanholland.nl", true */ 'z', 'e', 'e', 'b', 'r', 'i', 'e', 's', 'h', 'o', 'e', 'k', 'v', 'a', 'n', 'h', 'o', 'l', 'l', 'a', 'n', 'd', '.', 'n', 'l', '\0',
   /* "zeedroom.be", true */ 'z', 'e', 'e', 'd', 'r', 'o', 'o', 'm', '.', 'b', 'e', '\0',
   /* "zeel.com", true */ 'z', 'e', 'e', 'l', '.', 'c', 'o', 'm', '\0',
@@ -18274,17 +18249,16 @@ static const char kSTSHostTable[] = {
   /* "zhovner.com", true */ 'z', 'h', 'o', 'v', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zi0r.com", true */ 'z', 'i', '0', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zicklam.com", true */ 'z', 'i', 'c', 'k', 'l', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "ziegler-heizung-frankfurt.de", true */ 'z', 'i', 'e', 'g', 'l', 'e', 'r', '-', 'h', 'e', 'i', 'z', 'u', 'n', 'g', '-', 'f', 'r', 'a', 'n', 'k', 'f', 'u', 'r', 't', '.', 'd', 'e', '\0',
   /* "zifb.in", true */ 'z', 'i', 'f', 'b', '.', 'i', 'n', '\0',
   /* "zigcore.com.br", true */ 'z', 'i', 'g', 'c', 'o', 'r', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "zigi.io", true */ 'z', 'i', 'g', 'i', '.', 'i', 'o', '\0',
   /* "zigzagmart.com", true */ 'z', 'i', 'g', 'z', 'a', 'g', 'm', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0',
-  /* "zihao.me", true */ 'z', 'i', 'h', 'a', 'o', '.', 'm', 'e', '\0',
   /* "ziin.de", false */ 'z', 'i', 'i', 'n', '.', 'd', 'e', '\0',
   /* "zilore.com", true */ 'z', 'i', 'l', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "zima.io", true */ 'z', 'i', 'm', 'a', '.', 'i', 'o', '\0',
   /* "zimiao.moe", true */ 'z', 'i', 'm', 'i', 'a', 'o', '.', 'm', 'o', 'e', '\0',
   /* "zingarastore.com", true */ 'z', 'i', 'n', 'g', 'a', 'r', 'a', 's', 't', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "zingjerijk.nl", true */ 'z', 'i', 'n', 'g', 'j', 'e', 'r', 'i', 'j', 'k', '.', 'n', 'l', '\0',
   /* "zionvps.com", false */ 'z', 'i', 'o', 'n', 'v', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "zippy-download.com", true */ 'z', 'i', 'p', 'p', 'y', '-', 'd', 'o', 'w', 'n', 'l', 'o', 'a', 'd', '.', 'c', 'o', 'm', '\0',
@@ -18355,17 +18329,16 @@ static const char kSTSHostTable[] = {
   /* "zuviel.space", true */ 'z', 'u', 'v', 'i', 'e', 'l', '.', 's', 'p', 'a', 'c', 'e', '\0',
   /* "zuzumba.es", true */ 'z', 'u', 'z', 'u', 'm', 'b', 'a', '.', 'e', 's', '\0',
   /* "zvps.uk", true */ 'z', 'v', 'p', 's', '.', 'u', 'k', '\0',
   /* "zvxr.net", true */ 'z', 'v', 'x', 'r', '.', 'n', 'e', 't', '\0',
   /* "zwalcz-cellulit.com", true */ 'z', 'w', 'a', 'l', 'c', 'z', '-', 'c', 'e', 'l', 'l', 'u', 'l', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "zwartendijkstalling.nl", true */ 'z', 'w', 'a', 'r', 't', 'e', 'n', 'd', 'i', 'j', 'k', 's', 't', 'a', 'l', 'l', 'i', 'n', 'g', '.', 'n', 'l', '\0',
   /* "zwerimex.com", true */ 'z', 'w', 'e', 'r', 'i', 'm', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "zwollemag.nl", true */ 'z', 'w', 'o', 'l', 'l', 'e', 'm', 'a', 'g', '.', 'n', 'l', '\0',
-  /* "zwy.me", false */ 'z', 'w', 'y', '.', 'm', 'e', '\0',
   /* "zx6rninja.de", true */ 'z', 'x', '6', 'r', 'n', 'i', 'n', 'j', 'a', '.', 'd', 'e', '\0',
   /* "zybbo.com", true */ 'z', 'y', 'b', 'b', 'o', '.', 'c', 'o', 'm', '\0',
   /* "zymbit.com", true */ 'z', 'y', 'm', 'b', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "zymmm.com", true */ 'z', 'y', 'm', 'm', 'm', '.', 'c', 'o', 'm', '\0',
   /* "zypgr.com", true */ 'z', 'y', 'p', 'g', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zyria.de", true */ 'z', 'y', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "zyx.im", true */ 'z', 'y', 'x', '.', 'i', 'm', '\0',
   /* "zzsec.org", true */ 'z', 'z', 's', 'e', 'c', '.', 'o', 'r', 'g', '\0',
@@ -18394,18349 +18367,18322 @@ static const nsSTSPreload kSTSPreloadLis
   { 138, true },
   { 146, true },
   { 153, true },
   { 160, true },
   { 174, true },
   { 182, true },
   { 193, true },
   { 199, true },
-  { 207, true },
-  { 216, true },
-  { 225, true },
-  { 234, true },
+  { 205, true },
+  { 213, true },
+  { 222, true },
+  { 231, true },
+  { 240, true },
   { 249, true },
-  { 257, true },
-  { 265, true },
-  { 273, true },
-  { 283, true },
-  { 293, true },
-  { 302, true },
-  { 310, true },
-  { 323, true },
-  { 331, true },
-  { 339, true },
+  { 264, true },
+  { 272, true },
+  { 280, true },
+  { 288, true },
+  { 298, true },
+  { 308, true },
+  { 317, true },
+  { 325, true },
+  { 338, true },
   { 346, true },
-  { 356, true },
-  { 370, true },
+  { 354, true },
+  { 361, true },
+  { 371, true },
   { 385, true },
-  { 395, false },
-  { 418, true },
-  { 438, true },
-  { 450, true },
-  { 466, true },
-  { 478, true },
-  { 490, true },
-  { 515, true },
-  { 523, true },
-  { 531, true },
-  { 541, true },
-  { 552, true },
-  { 573, true },
-  { 580, true },
+  { 400, true },
+  { 410, false },
+  { 433, true },
+  { 453, true },
+  { 465, true },
+  { 481, true },
+  { 493, true },
+  { 505, true },
+  { 530, true },
+  { 538, true },
+  { 546, true },
+  { 556, true },
+  { 567, true },
+  { 588, true },
   { 595, true },
-  { 609, true },
-  { 621, true },
-  { 632, true },
-  { 643, true },
-  { 654, true },
-  { 664, true },
-  { 674, true },
-  { 699, true },
-  { 724, true },
-  { 732, true },
-  { 742, true },
-  { 750, true },
-  { 768, true },
-  { 779, true },
-  { 804, true },
-  { 815, true },
-  { 826, false },
-  { 842, true },
-  { 853, true },
-  { 874, true },
-  { 890, true },
-  { 898, false },
-  { 910, true },
-  { 935, true },
-  { 957, true },
-  { 974, true },
-  { 997, true },
-  { 1007, true },
-  { 1018, true },
-  { 1031, true },
-  { 1045, true },
-  { 1052, true },
-  { 1074, true },
-  { 1086, true },
-  { 1093, true },
-  { 1104, true },
-  { 1111, true },
-  { 1122, true },
-  { 1133, false },
-  { 1139, true },
-  { 1152, true },
-  { 1162, true },
-  { 1169, true },
-  { 1176, true },
-  { 1187, true },
-  { 1194, true },
-  { 1206, true },
-  { 1223, true },
-  { 1241, true },
-  { 1255, true },
-  { 1267, true },
-  { 1278, true },
-  { 1287, true },
+  { 610, true },
+  { 624, true },
+  { 636, true },
+  { 647, true },
+  { 658, true },
+  { 669, true },
+  { 679, true },
+  { 689, true },
+  { 714, true },
+  { 739, true },
+  { 747, true },
+  { 757, true },
+  { 765, true },
+  { 783, true },
+  { 794, true },
+  { 819, true },
+  { 830, true },
+  { 841, false },
+  { 857, true },
+  { 868, true },
+  { 889, true },
+  { 905, true },
+  { 913, false },
+  { 925, true },
+  { 950, true },
+  { 972, true },
+  { 989, true },
+  { 1012, true },
+  { 1022, true },
+  { 1033, true },
+  { 1046, true },
+  { 1060, true },
+  { 1067, true },
+  { 1089, true },
+  { 1101, true },
+  { 1108, true },
+  { 1119, true },
+  { 1126, true },
+  { 1137, true },
+  { 1148, false },
+  { 1154, true },
+  { 1167, true },
+  { 1177, true },
+  { 1184, true },
+  { 1191, true },
+  { 1202, true },
+  { 1209, true },
+  { 1221, true },
+  { 1238, true },
+  { 1256, true },
+  { 1270, true },
+  { 1282, true },
   { 1293, true },
-  { 1307, true },
-  { 1322, true },
-  { 1330, true },
-  { 1339, true },
+  { 1303, true },
+  { 1312, true },
+  { 1318, true },
+  { 1332, true },
   { 1347, true },
-  { 1358, true },
-  { 1368, true },
-  { 1386, true },
-  { 1404, true },
-  { 1413, true },
-  { 1421, true },
-  { 1429, false },
-  { 1440, true },
-  { 1458, true },
-  { 1469, true },
-  { 1481, true },
-  { 1495, true },
-  { 1503, true },
-  { 1516, true },
-  { 1526, false },
-  { 1539, true },
-  { 1548, true },
-  { 1562, true },
-  { 1571, true },
-  { 1592, true },
-  { 1601, true },
-  { 1613, true },
-  { 1623, true },
+  { 1355, true },
+  { 1364, true },
+  { 1372, true },
+  { 1383, true },
+  { 1393, true },
+  { 1411, true },
+  { 1429, true },
+  { 1438, true },
+  { 1446, true },
+  { 1454, false },
+  { 1465, true },
+  { 1483, true },
+  { 1494, true },
+  { 1506, true },
+  { 1520, true },
+  { 1528, true },
+  { 1541, true },
+  { 1551, false },
+  { 1564, true },
+  { 1573, true },
+  { 1587, true },
+  { 1596, true },
+  { 1617, true },
+  { 1626, true },
   { 1638, true },
-  { 1646, true },
-  { 1659, true },
-  { 1676, false },
+  { 1648, true },
+  { 1663, true },
+  { 1671, true },
   { 1688, true },
-  { 1696, true },
-  { 1707, true },
-  { 1714, true },
-  { 1723, true },
-  { 1732, true },
-  { 1745, true },
-  { 1754, true },
-  { 1773, true },
-  { 1784, true },
-  { 1803, true },
-  { 1822, true },
-  { 1834, true },
-  { 1848, true },
-  { 1860, false },
-  { 1871, true },
-  { 1880, false },
-  { 1891, true },
-  { 1906, true },
-  { 1919, true },
-  { 1927, true },
-  { 1941, true },
-  { 1956, true },
-  { 1968, true },
-  { 1981, true },
-  { 1996, true },
-  { 2005, true },
-  { 2015, true },
-  { 2029, true },
-  { 2043, true },
-  { 2052, true },
-  { 2066, true },
-  { 2074, true },
-  { 2081, true },
-  { 2092, true },
-  { 2105, true },
-  { 2114, true },
-  { 2126, true },
-  { 2143, true },
-  { 2154, true },
-  { 2165, true },
-  { 2175, true },
-  { 2186, true },
-  { 2197, true },
-  { 2210, true },
-  { 2218, true },
-  { 2229, false },
-  { 2242, true },
-  { 2250, true },
-  { 2262, true },
-  { 2277, true },
-  { 2296, true },
-  { 2307, true },
-  { 2314, true },
-  { 2324, true },
-  { 2330, true },
-  { 2339, true },
-  { 2352, true },
+  { 1701, true },
+  { 1718, false },
+  { 1730, true },
+  { 1738, true },
+  { 1749, true },
+  { 1756, true },
+  { 1765, true },
+  { 1774, true },
+  { 1787, true },
+  { 1796, true },
+  { 1815, true },
+  { 1826, true },
+  { 1845, true },
+  { 1864, true },
+  { 1876, true },
+  { 1890, true },
+  { 1902, false },
+  { 1913, true },
+  { 1922, false },
+  { 1933, true },
+  { 1948, true },
+  { 1961, true },
+  { 1969, true },
+  { 1983, true },
+  { 1998, true },
+  { 2010, true },
+  { 2023, true },
+  { 2038, true },
+  { 2047, true },
+  { 2057, true },
+  { 2071, true },
+  { 2085, true },
+  { 2094, true },
+  { 2108, true },
+  { 2116, true },
+  { 2123, true },
+  { 2134, true },
+  { 2147, true },
+  { 2156, true },
+  { 2168, true },
+  { 2185, true },
+  { 2196, true },
+  { 2207, true },
+  { 2217, true },
+  { 2228, true },
+  { 2239, true },
+  { 2252, true },
+  { 2260, true },
+  { 2271, false },
+  { 2284, true },
+  { 2292, true },
+  { 2304, true },
+  { 2319, true },
+  { 2338, true },
+  { 2349, true },
+  { 2356, true },
   { 2366, true },
-  { 2378, true },
-  { 2387, true },
-  { 2400, true },
-  { 2410, true },
-  { 2420, false },
-  { 2427, true },
-  { 2438, true },
-  { 2450, true },
-  { 2458, true },
-  { 2465, true },
-  { 2474, true },
-  { 2484, true },
-  { 2503, true },
-  { 2515, true },
-  { 2524, true },
+  { 2372, true },
+  { 2381, true },
+  { 2394, true },
+  { 2408, true },
+  { 2420, true },
+  { 2429, true },
+  { 2442, true },
+  { 2452, true },
+  { 2462, false },
+  { 2469, true },
+  { 2480, true },
+  { 2492, true },
+  { 2500, true },
+  { 2507, true },
+  { 2516, true },
+  { 2526, true },
   { 2545, true },
-  { 2569, true },
-  { 2584, true },
-  { 2592, true },
-  { 2603, true },
-  { 2609, true },
-  { 2622, true },
+  { 2557, true },
+  { 2566, true },
+  { 2587, true },
+  { 2611, true },
+  { 2626, true },
   { 2634, true },
-  { 2646, true },
-  { 2654, true },
-  { 2670, true },
-  { 2680, true },
-  { 2697, true },
-  { 2704, true },
-  { 2713, true },
-  { 2734, true },
-  { 2747, false },
-  { 2760, true },
-  { 2770, true },
-  { 2823, true },
-  { 2835, true },
-  { 2844, true },
-  { 2853, true },
-  { 2863, true },
-  { 2873, true },
-  { 2884, true },
-  { 2892, true },
-  { 2899, true },
-  { 2911, true },
-  { 2920, true },
-  { 2942, true },
-  { 2958, true },
-  { 2982, true },
-  { 2992, true },
-  { 3003, true },
-  { 3022, true },
-  { 3033, true },
-  { 3047, true },
-  { 3061, true },
-  { 3071, true },
-  { 3082, true },
-  { 3091, true },
-  { 3104, true },
-  { 3119, true },
-  { 3134, true },
-  { 3142, true },
-  { 3159, true },
-  { 3174, true },
-  { 3189, true },
-  { 3204, true },
+  { 2645, true },
+  { 2651, true },
+  { 2664, true },
+  { 2676, true },
+  { 2688, true },
+  { 2696, true },
+  { 2712, true },
+  { 2722, true },
+  { 2739, true },
+  { 2746, true },
+  { 2755, true },
+  { 2776, true },
+  { 2789, false },
+  { 2802, true },
+  { 2812, true },
+  { 2865, true },
+  { 2877, true },
+  { 2886, true },
+  { 2895, true },
+  { 2905, true },
+  { 2915, true },
+  { 2926, true },
+  { 2934, true },
+  { 2941, true },
+  { 2953, true },
+  { 2962, true },
+  { 2984, true },
+  { 3000, true },
+  { 3024, true },
+  { 3034, true },
+  { 3045, true },
+  { 3064, true },
+  { 3075, true },
+  { 3089, true },
+  { 3103, true },
+  { 3113, true },
+  { 3124, true },
+  { 3133, true },
+  { 3146, true },
+  { 3161, true },
+  { 3176, true },
+  { 3184, true },
+  { 3201, true },
   { 3216, true },
-  { 3232, true },
-  { 3242, true },
-  { 3249, true },
-  { 3260, true },
-  { 3275, true },
-  { 3285, true },
-  { 3313, true },
+  { 3231, true },
+  { 3246, true },
+  { 3258, true },
+  { 3274, true },
+  { 3284, true },
+  { 3291, true },
+  { 3302, true },
+  { 3317, true },
   { 3327, true },
-  { 3347, true },
-  { 3366, true },
-  { 3376, true },
-  { 3387, true },
-  { 3405, true },
-  { 3416, true },
-  { 3430, true },
-  { 3443, true },
-  { 3455, true },
-  { 3477, true },
-  { 3493, true },
-  { 3504, false },
-  { 3520, false },
-  { 3532, true },
-  { 3545, true },
-  { 3562, true },
+  { 3355, true },
+  { 3369, true },
+  { 3389, true },
+  { 3408, true },
+  { 3418, true },
+  { 3429, true },
+  { 3447, true },
+  { 3458, true },
+  { 3472, true },
+  { 3485, true },
+  { 3497, true },
+  { 3519, true },
+  { 3535, true },
+  { 3546, false },
+  { 3562, false },
+  { 3574, true },
   { 3587, true },
-  { 3604, false },
-  { 3612, true },
-  { 3621, true },
-  { 3645, true },
-  { 3658, true },
-  { 3670, true },
-  { 3681, true },
-  { 3699, true },
+  { 3604, true },
+  { 3629, true },
+  { 3646, false },
+  { 3654, true },
+  { 3663, true },
+  { 3687, true },
+  { 3700, true },
+  { 3712, true },
   { 3723, true },
-  { 3730, true },
-  { 3743, true },
-  { 3756, true },
+  { 3741, true },
   { 3765, true },
-  { 3782, true },
-  { 3801, true },
-  { 3813, true },
-  { 3832, true },
+  { 3772, true },
+  { 3785, true },
+  { 3798, true },
+  { 3807, true },
+  { 3824, true },
+  { 3843, true },
   { 3855, true },
-  { 3878, true },
-  { 3892, true },
-  { 3900, true },
-  { 3924, true },
-  { 3940, true },
-  { 3953, true },
-  { 3970, true },
-  { 3990, true },
-  { 4003, true },
-  { 4021, true },
-  { 4036, true },
-  { 4057, true },
-  { 4077, true },
-  { 4102, true },
-  { 4114, true },
-  { 4125, true },
+  { 3874, true },
+  { 3897, true },
+  { 3920, true },
+  { 3934, true },
+  { 3942, true },
+  { 3966, true },
+  { 3982, true },
+  { 3995, true },
+  { 4012, true },
+  { 4032, true },
+  { 4045, true },
+  { 4063, true },
+  { 4078, true },
+  { 4099, true },
+  { 4119, true },
   { 4144, true },
-  { 4163, true },
-  { 4173, false },
-  { 4180, true },
-  { 4193, true },
-  { 4214, true },
-  { 4226, true },
-  { 4243, true },
+  { 4156, true },
+  { 4167, true },
+  { 4186, true },
+  { 4205, true },
+  { 4215, false },
+  { 4222, true },
+  { 4235, true },
   { 4256, true },
-  { 4272, true },
-  { 4293, true },
-  { 4305, true },
-  { 4316, true },
-  { 4329, false },
-  { 4338, true },
-  { 4354, false },
-  { 4364, true },
-  { 4379, true },
-  { 4396, true },
-  { 4407, true },
+  { 4268, true },
+  { 4285, true },
+  { 4298, true },
+  { 4314, true },
+  { 4335, true },
+  { 4347, true },
+  { 4358, true },
+  { 4371, false },
+  { 4380, true },
+  { 4396, false },
+  { 4406, true },
   { 4421, true },
-  { 4434, true },
-  { 4450, true },
-  { 4461, true },
-  { 4473, true },
-  { 4485, true },
-  { 4506, false },
-  { 4516, true },
-  { 4531, true },
-  { 4545, false },
+  { 4438, true },
+  { 4449, true },
+  { 4463, true },
+  { 4476, true },
+  { 4492, true },
+  { 4503, true },
+  { 4515, true },
+  { 4527, true },
+  { 4548, false },
   { 4558, true },
-  { 4567, true },
-  { 4582, true },
-  { 4598, true },
-  { 4612, true },
-  { 4624, true },
-  { 4639, true },
+  { 4573, false },
+  { 4586, true },
+  { 4595, true },
+  { 4610, true },
+  { 4626, true },
+  { 4640, true },
   { 4652, true },
-  { 4664, true },
-  { 4676, true },
-  { 4688, true },
-  { 4700, true },
-  { 4712, true },
-  { 4720, true },
-  { 4731, true },
+  { 4667, true },
+  { 4680, true },
+  { 4692, true },
+  { 4704, true },
+  { 4716, true },
+  { 4728, true },
+  { 4740, true },
   { 4748, true },
-  { 4762, true },
-  { 4778, true },
-  { 4792, true },
-  { 4805, true },
-  { 4822, true },
-  { 4838, true },
-  { 4853, true },
-  { 4868, true },
-  { 4886, true },
-  { 4895, true },
-  { 4908, true },
+  { 4759, true },
+  { 4776, true },
+  { 4790, true },
+  { 4806, true },
+  { 4820, true },
+  { 4833, true },
+  { 4850, true },
+  { 4866, true },
+  { 4881, true },
+  { 4896, true },
+  { 4914, true },
   { 4923, true },
-  { 4944, true },
-  { 4953, true },
-  { 4963, true },
-  { 4988, true },
-  { 4999, true },
-  { 5011, true },
-  { 5030, true },
-  { 5042, true },
-  { 5061, true },
-  { 5080, true },
-  { 5099, true },
-  { 5110, true },
-  { 5122, true },
-  { 5137, true },
-  { 5148, true },
-  { 5161, true },
-  { 5173, true },
-  { 5186, true },
-  { 5200, true },
-  { 5215, true },
-  { 5237, true },
-  { 5247, true },
-  { 5269, true },
-  { 5278, true },
-  { 5291, true },
-  { 5305, true },
-  { 5317, true },
-  { 5330, true },
-  { 5357, true },
-  { 5383, true },
-  { 5394, true },
-  { 5407, true },
-  { 5418, true },
-  { 5442, true },
-  { 5459, true },
+  { 4936, true },
+  { 4951, true },
+  { 4972, true },
+  { 4981, true },
+  { 4991, true },
+  { 5016, true },
+  { 5027, true },
+  { 5039, true },
+  { 5058, true },
+  { 5070, true },
+  { 5089, true },
+  { 5108, true },
+  { 5127, true },
+  { 5138, true },
+  { 5150, true },
+  { 5165, true },
+  { 5176, true },
+  { 5189, true },
+  { 5201, true },
+  { 5214, true },
+  { 5228, true },
+  { 5243, true },
+  { 5265, true },
+  { 5275, true },
+  { 5297, true },
+  { 5306, true },
+  { 5319, true },
+  { 5333, true },
+  { 5345, true },
+  { 5358, true },
+  { 5385, true },
+  { 5411, true },
+  { 5422, true },
+  { 5435, true },
+  { 5446, true },
+  { 5470, true },
   { 5487, true },
-  { 5499, true },
-  { 5510, true },
-  { 5519, true },
-  { 5529, true },
-  { 5543, true },
-  { 5562, true },
-  { 5572, true },
-  { 5589, true },
-  { 5601, true },
-  { 5615, true },
-  { 5623, false },
-  { 5644, true },
-  { 5662, true },
-  { 5683, true },
-  { 5694, true },
-  { 5707, true },
-  { 5718, true },
-  { 5727, true },
-  { 5743, true },
-  { 5759, true },
-  { 5778, true },
-  { 5799, true },
-  { 5813, true },
-  { 5832, true },
-  { 5845, true },
-  { 5856, true },
-  { 5876, true },
-  { 5894, true },
-  { 5912, false },
-  { 5931, true },
-  { 5945, true },
-  { 5966, true },
-  { 5986, true },
-  { 6002, true },
-  { 6012, true },
-  { 6025, true },
-  { 6038, true },
-  { 6052, true },
+  { 5515, true },
+  { 5527, true },
+  { 5538, true },
+  { 5547, true },
+  { 5557, true },
+  { 5571, true },
+  { 5590, true },
+  { 5600, true },
+  { 5617, true },
+  { 5629, true },
+  { 5643, true },
+  { 5651, false },
+  { 5672, true },
+  { 5690, true },
+  { 5711, true },
+  { 5722, true },
+  { 5735, true },
+  { 5746, true },
+  { 5755, true },
+  { 5771, true },
+  { 5787, true },
+  { 5806, true },
+  { 5827, true },
+  { 5841, true },
+  { 5860, true },
+  { 5873, true },
+  { 5884, true },
+  { 5904, true },
+  { 5922, true },
+  { 5940, false },
+  { 5959, true },
+  { 5973, true },
+  { 5994, true },
+  { 6014, true },
+  { 6030, true },
+  { 6040, true },
+  { 6053, true },
   { 6066, true },
-  { 6076, true },
-  { 6086, true },
-  { 6096, true },
-  { 6106, true },
-  { 6116, true },
-  { 6126, true },
-  { 6143, true },
-  { 6153, false },
-  { 6161, true },
-  { 6172, true },
-  { 6183, true },
-  { 6195, true },
-  { 6206, true },
-  { 6218, true },
-  { 6236, true },
-  { 6245, true },
-  { 6265, true },
-  { 6276, true },
-  { 6293, true },
-  { 6317, true },
-  { 6331, true },
-  { 6350, true },
-  { 6372, true },
-  { 6382, true },
-  { 6394, true },
-  { 6410, true },
+  { 6080, true },
+  { 6094, true },
+  { 6104, true },
+  { 6114, true },
+  { 6124, true },
+  { 6134, true },
+  { 6144, true },
+  { 6154, true },
+  { 6171, true },
+  { 6181, false },
+  { 6189, true },
+  { 6200, true },
+  { 6211, true },
+  { 6223, true },
+  { 6234, true },
+  { 6246, true },
+  { 6257, true },
+  { 6275, true },
+  { 6284, true },
+  { 6304, true },
+  { 6315, true },
+  { 6332, true },
+  { 6356, true },
+  { 6370, true },
+  { 6389, true },
+  { 6411, true },
   { 6421, true },
-  { 6429, true },
-  { 6443, true },
-  { 6459, true },
-  { 6474, true },
-  { 6483, true },
+  { 6433, true },
+  { 6449, true },
+  { 6460, true },
+  { 6468, true },
+  { 6482, true },
   { 6498, true },
-  { 6506, true },
-  { 6515, true },
-  { 6532, true },
-  { 6541, true },
-  { 6560, true },
-  { 6577, true },
-  { 6585, false },
-  { 6601, true },
-  { 6619, true },
-  { 6630, true },
-  { 6643, true },
-  { 6651, true },
-  { 6665, false },
-  { 6679, true },
-  { 6691, true },
-  { 6701, false },
-  { 6714, true },
-  { 6726, true },
-  { 6740, true },
+  { 6513, true },
+  { 6522, true },
+  { 6537, true },
+  { 6545, true },
+  { 6554, true },
+  { 6571, true },
+  { 6580, true },
+  { 6599, true },
+  { 6616, true },
+  { 6624, false },
+  { 6640, true },
+  { 6658, true },
+  { 6669, true },
+  { 6682, true },
+  { 6690, true },
+  { 6704, false },
+  { 6718, true },
+  { 6730, true },
+  { 6740, false },
   { 6753, true },
   { 6765, true },
-  { 6781, true },
-  { 6791, false },
-  { 6801, true },
-  { 6809, true },
-  { 6819, true },
-  { 6833, true },
-  { 6846, true },
-  { 6854, true },
-  { 6866, true },
-  { 6878, true },
-  { 6902, true },
-  { 6921, true },
-  { 6940, false },
-  { 6949, true },
-  { 6963, true },
-  { 6973, true },
-  { 7006, true },
-  { 7016, true },
-  { 7030, true },
-  { 7037, true },
-  { 7049, true },
-  { 7062, true },
-  { 7073, true },
-  { 7090, true },
-  { 7101, true },
-  { 7117, true },
-  { 7126, true },
-  { 7133, true },
-  { 7147, true },
-  { 7155, true },
-  { 7166, true },
+  { 6777, true },
+  { 6791, true },
+  { 6804, true },
+  { 6816, true },
+  { 6832, true },
+  { 6842, false },
+  { 6852, true },
+  { 6860, true },
+  { 6870, true },
+  { 6884, true },
+  { 6897, true },
+  { 6905, true },
+  { 6917, true },
+  { 6929, true },
+  { 6953, true },
+  { 6972, true },
+  { 6991, false },
+  { 7000, true },
+  { 7014, true },
+  { 7024, true },
+  { 7057, true },
+  { 7067, true },
+  { 7081, true },
+  { 7088, true },
+  { 7100, true },
+  { 7113, true },
+  { 7124, true },
+  { 7141, true },
+  { 7152, true },
+  { 7168, true },
+  { 7177, true },
   { 7184, true },
-  { 7199, true },
-  { 7214, true },
-  { 7231, true },
-  { 7244, true },
-  { 7254, true },
+  { 7198, true },
+  { 7206, true },
+  { 7217, true },
+  { 7235, true },
+  { 7250, true },
   { 7265, true },
-  { 7280, true },
-  { 7303, true },
-  { 7314, true },
-  { 7326, true },
-  { 7337, true },
-  { 7357, true },
-  { 7368, true },
-  { 7379, true },
-  { 7390, true },
-  { 7401, true },
-  { 7412, true },
-  { 7425, true },
-  { 7443, true },
-  { 7455, true },
-  { 7472, true },
-  { 7481, true },
-  { 7495, true },
+  { 7282, true },
+  { 7295, true },
+  { 7305, true },
+  { 7316, true },
+  { 7331, true },
+  { 7354, true },
+  { 7365, true },
+  { 7377, true },
+  { 7388, true },
+  { 7408, true },
+  { 7419, true },
+  { 7430, true },
+  { 7441, true },
+  { 7452, true },
+  { 7463, true },
+  { 7476, true },
+  { 7494, true },
   { 7506, true },
-  { 7517, true },
-  { 7534, true },
-  { 7550, true },
-  { 7561, true },
-  { 7569, false },
-  { 7595, false },
-  { 7606, true },
-  { 7624, false },
-  { 7641, true },
-  { 7651, true },
-  { 7662, true },
-  { 7675, true },
-  { 7687, true },
-  { 7696, true },
+  { 7523, true },
+  { 7532, true },
+  { 7546, true },
+  { 7557, true },
+  { 7568, true },
+  { 7585, true },
+  { 7601, true },
+  { 7612, true },
+  { 7620, false },
+  { 7646, false },
+  { 7657, true },
+  { 7675, false },
+  { 7692, true },
+  { 7702, true },
   { 7713, true },
-  { 7720, true },
-  { 7744, true },
-  { 7760, true },
-  { 7780, true },
-  { 7805, true },
-  { 7830, true },
-  { 7855, true },
-  { 7867, true },
-  { 7877, true },
-  { 7889, true },
-  { 7898, true },
-  { 7910, true },
-  { 7937, true },
-  { 7965, false },
-  { 7974, true },
-  { 7990, true },
-  { 8006, true },
-  { 8018, true },
-  { 8032, true },
-  { 8052, true },
-  { 8067, true },
-  { 8088, true },
-  { 8099, true },
-  { 8109, true },
-  { 8120, true },
-  { 8132, true },
-  { 8144, true },
-  { 8153, true },
-  { 8165, true },
+  { 7726, true },
+  { 7738, true },
+  { 7747, true },
+  { 7764, true },
+  { 7771, true },
+  { 7795, true },
+  { 7811, true },
+  { 7831, true },
+  { 7856, true },
+  { 7881, true },
+  { 7906, true },
+  { 7918, true },
+  { 7928, true },
+  { 7940, true },
+  { 7949, true },
+  { 7961, true },
+  { 7988, true },
+  { 8016, true },
+  { 8029, false },
+  { 8038, true },
+  { 8054, true },
+  { 8070, true },
+  { 8082, true },
+  { 8096, true },
+  { 8116, true },
+  { 8131, true },
+  { 8152, true },
+  { 8163, true },
+  { 8173, true },
   { 8184, true },
-  { 8197, true },
+  { 8196, true },
   { 8208, true },
   { 8217, true },
-  { 8235, true },
-  { 8249, true },
-  { 8263, true },
-  { 8279, true },
-  { 8295, true },
-  { 8315, true },
-  { 8336, true },
-  { 8350, true },
-  { 8363, true },
-  { 8378, true },
-  { 8388, true },
-  { 8406, true },
-  { 8421, true },
-  { 8439, true },
-  { 8449, true },
-  { 8464, true },
-  { 8482, true },
-  { 8496, true },
+  { 8229, true },
+  { 8248, true },
+  { 8261, true },
+  { 8272, true },
+  { 8281, true },
+  { 8299, true },
+  { 8313, true },
+  { 8327, true },
+  { 8343, true },
+  { 8359, true },
+  { 8379, true },
+  { 8400, true },
+  { 8414, true },
+  { 8427, true },
+  { 8442, true },
+  { 8452, true },
+  { 8470, true },
+  { 8485, true },
+  { 8495, true },
   { 8510, true },
-  { 8524, true },
-  { 8536, true },
-  { 8551, true },
-  { 8565, true },
-  { 8580, true },
-  { 8590, true },
-  { 8604, true },
-  { 8613, true },
-  { 8628, true },
-  { 8642, true },
-  { 8656, true },