merge mozilla-central to mozilla-inbound. r=merge a=merge
authorSebastian Hengst <archaeopteryx@coole-files.de>
Sun, 18 Jun 2017 20:50:40 +0200
changeset 364625 e79c16c97d47e3d87b7d317708c716d63a59dcba
parent 364624 54f3c792db024fbe906a97dcafa91f4de065db38 (current diff)
parent 364563 95543bdc59bd038a3d5d084b85a4fec493c349ee (diff)
child 364626 5150df804e436f1b026fcd1867de3f0e515f5acd
push id32050
push usercbook@mozilla.com
push dateMon, 19 Jun 2017 11:37:33 +0000
treeherdermozilla-central@d39cd452b52b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge, merge
milestone56.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 mozilla-inbound. r=merge a=merge
dom/encoding/EncodingUtils.cpp
dom/encoding/EncodingUtils.h
dom/encoding/encodingsgroups.properties
dom/script/ScriptLoader.cpp
testing/web-platform/meta/web-animations/interfaces/KeyframeEffect/setTarget.html.ini
--- a/browser/components/migration/360seProfileMigrator.js
+++ b/browser/components/migration/360seProfileMigrator.js
@@ -39,17 +39,17 @@ function copyToTempUTF8File(file, charse
   let out = FileUtils.openAtomicFileOutputStream(tempUTF8File);
   try {
     let bufferedOut = Cc["@mozilla.org/network/buffered-output-stream;1"]
                         .createInstance(Ci.nsIBufferedOutputStream);
     bufferedOut.init(out, 4096);
     try {
       let converterOut = Cc["@mozilla.org/intl/converter-output-stream;1"]
                            .createInstance(Ci.nsIConverterOutputStream);
-      converterOut.init(bufferedOut, "utf-8", 0, 0x0000);
+      converterOut.init(bufferedOut, "utf-8");
       try {
         converterOut.writeString(inputStr || "");
         bufferedOut.QueryInterface(Ci.nsISafeOutputStream).finish();
       } finally {
         converterOut.close();
       }
     } finally {
       bufferedOut.close();
--- a/devtools/client/netmonitor/src/har/har-utils.js
+++ b/devtools/client/netmonitor/src/har/har-utils.js
@@ -85,17 +85,17 @@ var HarUtils = {
       let foStream = Cc["@mozilla.org/network/file-output-stream;1"]
         .createInstance(Ci.nsIFileOutputStream);
 
       let permFlags = parseInt("0666", 8);
       foStream.init(file, openFlags, permFlags, 0);
 
       let convertor = Cc["@mozilla.org/intl/converter-output-stream;1"]
         .createInstance(Ci.nsIConverterOutputStream);
-      convertor.init(foStream, "UTF-8", 0, 0);
+      convertor.init(foStream, "UTF-8");
 
       // The entire jsonString can be huge so, write the data in chunks.
       let chunkLength = 1024 * 1024;
       for (let i = 0; i <= jsonString.length; i++) {
         let data = jsonString.substr(i, chunkLength + 1);
         if (data) {
           convertor.writeString(data);
         }
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -210,19 +210,19 @@
 #include "nsISecureBrowserUI.h"
 #include "nsISocketProvider.h"
 #include "nsIStringBundle.h"
 #include "nsIURIFixup.h"
 #include "nsIURILoader.h"
 #include "nsIURL.h"
 #include "nsIWebBrowserFind.h"
 #include "nsIWidget.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/PerformanceNavigation.h"
 #include "mozilla/dom/ScriptSettings.h"
+#include "mozilla/Encoding.h"
 
 #ifdef MOZ_TOOLKIT_SEARCH
 #include "nsIBrowserSearchService.h"
 #endif
 
 #include "mozIThirdPartyUtil.h"
 
 static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
@@ -2111,26 +2111,26 @@ nsDocShell::SetCharset(const nsACString&
 
 NS_IMETHODIMP
 nsDocShell::SetForcedCharset(const nsACString& aCharset)
 {
   if (aCharset.IsEmpty()) {
     mForcedCharset.Truncate();
     return NS_OK;
   }
-  nsAutoCString encoding;
-  if (!EncodingUtils::FindEncodingForLabel(aCharset, encoding)) {
+  const Encoding* encoding = Encoding::ForLabel(aCharset);
+  if (!encoding) {
     // Reject unknown labels
     return NS_ERROR_INVALID_ARG;
   }
-  if (!EncodingUtils::IsAsciiCompatible(encoding)) {
+  if (!encoding->IsAsciiCompatible() && encoding != ISO_2022_JP_ENCODING) {
     // Reject XSS hazards
     return NS_ERROR_INVALID_ARG;
   }
-  mForcedCharset = encoding;
+  encoding->Name(mForcedCharset);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsDocShell::GetForcedCharset(nsACString& aResult)
 {
   aResult = mForcedCharset;
   return NS_OK;
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -4493,55 +4493,16 @@ nsContentUtils::GetSubdocumentWithOuterW
     // Note that ContentIsCrossDocDescendantOf will return true if
     // foundDoc == aDocument.
     return foundDoc;
   }
 
   return nullptr;
 }
 
-// Convert the string from the given encoding to Unicode.
-/* static */
-nsresult
-nsContentUtils::ConvertStringFromEncoding(const nsACString& aEncoding,
-                                          const char* aInput,
-                                          uint32_t aInputLen,
-                                          nsAString& aOutput)
-{
-  const Encoding* encoding;
-  if (aEncoding.IsEmpty()) {
-    encoding = UTF_8_ENCODING;
-  } else {
-    encoding = Encoding::ForName(aEncoding);
-  }
-  nsresult rv = encoding->DecodeWithBOMRemoval(MakeSpan(reinterpret_cast<const uint8_t*>(aInput), aInputLen), aOutput);
-  if (NS_FAILED(rv)) {
-    return rv;
-  }
-  return NS_OK;
-}
-
-/* static */
-bool
-nsContentUtils::CheckForBOM(const unsigned char* aBuffer, uint32_t aLength,
-                            nsACString& aCharset)
-{
-  auto span = MakeSpan(reinterpret_cast<const uint8_t*>(aBuffer), aLength);
-  const Encoding* encoding;
-  size_t bomLength;
-  Tie(encoding, bomLength) = Encoding::ForBOM(span);
-  Unused << bomLength;
-  if (!encoding) {
-    aCharset.Truncate();
-    return false;
-  }
-  encoding->Name(aCharset);
-  return true;
-}
-
 /* static */
 void
 nsContentUtils::RegisterShutdownObserver(nsIObserver* aObserver)
 {
   nsCOMPtr<nsIObserverService> observerService =
     mozilla::services::GetObserverService();
   if (observerService) {
     observerService->AddObserver(aObserver,
--- a/dom/base/nsContentUtils.h
+++ b/dom/base/nsContentUtils.h
@@ -614,52 +614,16 @@ public:
    * aDocument.
    */
   static nsresult NewURIWithDocumentCharset(nsIURI** aResult,
                                             const nsAString& aSpec,
                                             nsIDocument* aDocument,
                                             nsIURI* aBaseURI);
 
   /**
-   * Convert aInput (in encoding aEncoding) to UTF16 in aOutput.
-   *
-   * @deprecated Use mozilla::Encoding::DecodeWithBOMRemoval() in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369020
-   *
-   * @param aEncoding the Gecko-canonical name of the encoding or the empty
-   *                  string (meaning UTF-8)
-   */
-  static nsresult ConvertStringFromEncoding(const nsACString& aEncoding,
-                                            const char* aInput,
-                                            uint32_t aInputLen,
-                                            nsAString& aOutput);
-
-  static nsresult ConvertStringFromEncoding(const nsACString& aEncoding,
-                                            const nsACString& aInput,
-                                            nsAString& aOutput) {
-    return ConvertStringFromEncoding(
-        aEncoding, aInput.BeginReading(), aInput.Length(), aOutput);
-  }
-
-  /**
-   * Determine whether a buffer begins with a BOM for UTF-8, UTF-16LE,
-   * UTF-16BE
-   *
-   * @deprecated Use mozilla::Encoding::ForBOM() in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369022
-   *
-   * @param aBuffer the buffer to check
-   * @param aLength the length of the buffer
-   * @param aCharset empty if not found
-   * @return boolean indicating whether a BOM was detected.
-   */
-  static bool CheckForBOM(const unsigned char* aBuffer, uint32_t aLength,
-                          nsACString& aCharset);
-
-  /**
    * Returns true if |aName| is a valid name to be registered via
    * document.registerElement.
    */
   static bool IsCustomElementName(nsIAtom* aName);
 
   static nsresult CheckQName(const nsAString& aQualifiedName,
                              bool aNamespaceAware = true,
                              const char16_t** aColon = nullptr);
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -169,17 +169,17 @@
 #include "mozilla/dom/HTMLMediaElement.h"
 #include "mozilla/dom/HTMLIFrameElement.h"
 #include "mozilla/dom/HTMLImageElement.h"
 #include "mozilla/dom/MediaSource.h"
 #include "mozilla/dom/FlyWebService.h"
 
 #include "mozAutoDocUpdate.h"
 #include "nsGlobalWindow.h"
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 #include "nsDOMNavigationTiming.h"
 
 #include "nsSMILAnimationController.h"
 #include "imgIContainer.h"
 #include "nsSVGUtils.h"
 
 #include "nsRefreshDriver.h"
 
@@ -3839,19 +3839,19 @@ nsDocument::TryChannelCharset(nsIChannel
                               int32_t& aCharsetSource,
                               nsACString& aCharset,
                               nsHtml5TreeOpExecutor* aExecutor)
 {
   if (aChannel) {
     nsAutoCString charsetVal;
     nsresult rv = aChannel->GetContentCharset(charsetVal);
     if (NS_SUCCEEDED(rv)) {
-      nsAutoCString preferred;
-      if(EncodingUtils::FindEncodingForLabel(charsetVal, preferred)) {
-        aCharset = preferred;
+      const Encoding* preferred = Encoding::ForLabel(charsetVal);
+      if (preferred) {
+        preferred->Name(aCharset);
         aCharsetSource = kCharsetFromChannel;
         return;
       } else if (aExecutor && !charsetVal.IsEmpty()) {
         aExecutor->ComplainAboutBogusProtocolCharset(this);
       }
     }
   }
 }
@@ -9925,20 +9925,19 @@ nsDocument::ScrollToRef()
       rv = NS_ERROR_FAILURE;
     }
 
     // If UTF-8 URI failed then try to assume the string as a
     // document's charset.
 
     if (NS_FAILED(rv)) {
       const nsACString &docCharset = GetDocumentCharacterSet();
-
-      rv = nsContentUtils::ConvertStringFromEncoding(docCharset,
-                                                     unescapedRef,
-                                                     ref);
+      const Encoding* encoding = Encoding::ForName(docCharset);
+
+      rv = encoding->DecodeWithoutBOMHandling(unescapedRef, ref);
 
       if (NS_SUCCEEDED(rv) && !ref.IsEmpty()) {
         rv = shell->GoToAnchor(ref, mChangeScrollPosWhenScrollingToRef);
       }
     }
     if (NS_SUCCEEDED(rv)) {
       mScrolledToRefAlready = true;
     }
--- a/dom/base/nsDocumentEncoder.cpp
+++ b/dom/base/nsDocumentEncoder.cpp
@@ -43,17 +43,16 @@
 #include "nsNodeUtils.h"
 #include "nsUnicharUtils.h"
 #include "nsReadableUtils.h"
 #include "nsTArray.h"
 #include "nsIFrame.h"
 #include "nsStringBuffer.h"
 #include "mozilla/dom/Element.h"
 #include "mozilla/dom/ShadowRoot.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "nsLayoutUtils.h"
 
 using namespace mozilla;
 using namespace mozilla::dom;
 
 nsresult NS_NewDomSelection(nsISelection **aDomSelection);
 
 enum nsRangeIterationDirection {
--- a/dom/base/nsReferencedElement.cpp
+++ b/dom/base/nsReferencedElement.cpp
@@ -28,23 +28,24 @@ nsReferencedElement::Reset(nsIContent* a
   nsAutoCString refPart;
   aURI->GetRef(refPart);
   // Unescape %-escapes in the reference. The result will be in the
   // origin charset of the URL, hopefully...
   NS_UnescapeURL(refPart);
 
   nsAutoCString charset;
   aURI->GetOriginCharset(charset);
+  const Encoding* encoding = charset.IsEmpty() ?
+    UTF_8_ENCODING : Encoding::ForName(charset);
   nsAutoString ref;
-  nsresult rv = nsContentUtils::ConvertStringFromEncoding(charset,
-                                                          refPart,
-                                                          ref);
+  nsresult rv = encoding->DecodeWithoutBOMHandling(refPart, ref);
   if (NS_FAILED(rv) || ref.IsEmpty()) {
     return;
   }
+  rv = NS_OK;
 
   // Get the current document
   nsIDocument *doc = aFromContent->OwnerDoc();
   if (!doc)
     return;
 
   nsIContent* bindingParent = aFromContent->GetBindingParent();
   if (bindingParent) {
deleted file mode 100644
--- a/dom/encoding/EncodingUtils.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "mozilla/dom/EncodingUtils.h"
-
-#include "mozilla/ArrayUtils.h" // ArrayLength
-#include "nsUConvPropertySearch.h"
-
-namespace mozilla {
-namespace dom {
-
-static constexpr nsUConvProp labelsEncodings[] = {
-#include "labelsencodings.properties.h"
-};
-
-static constexpr nsUConvProp encodingsGroups[] = {
-#include "encodingsgroups.properties.h"
-};
-
-bool
-EncodingUtils::FindEncodingForLabel(const nsACString& aLabel,
-                                    nsACString& aOutEncoding)
-{
-  auto encoding = Encoding::ForLabel(aLabel);
-  if (!encoding) {
-    aOutEncoding.Truncate();
-    return false;
-  }
-  encoding->Name(aOutEncoding);
-  return true;
-}
-
-bool
-EncodingUtils::FindEncodingForLabelNoReplacement(const nsACString& aLabel,
-                                                 nsACString& aOutEncoding)
-{
-  auto encoding = Encoding::ForLabelNoReplacement(aLabel);
-  if (!encoding) {
-    aOutEncoding.Truncate();
-    return false;
-  }
-  encoding->Name(aOutEncoding);
-  return true;
-}
-
-bool
-EncodingUtils::IsAsciiCompatible(const nsACString& aPreferredName)
-{
-  // HZ and UTF-7 are no longer in mozilla-central, but keeping them here
-  // just in case for the benefit of comm-central.
-  return !(aPreferredName.LowerCaseEqualsLiteral("utf-16") ||
-           aPreferredName.LowerCaseEqualsLiteral("utf-16be") ||
-           aPreferredName.LowerCaseEqualsLiteral("utf-16le") ||
-           aPreferredName.LowerCaseEqualsLiteral("replacement") ||
-           aPreferredName.LowerCaseEqualsLiteral("hz-gb-2312") ||
-           aPreferredName.LowerCaseEqualsLiteral("utf-7") ||
-           aPreferredName.LowerCaseEqualsLiteral("x-imap4-modified-utf7"));
-}
-
-UniquePtr<Decoder>
-EncodingUtils::DecoderForEncoding(const nsACString& aEncoding)
-{
-  return Encoding::ForName(aEncoding)->NewDecoderWithBOMRemoval();
-}
-
-UniquePtr<Encoder>
-EncodingUtils::EncoderForEncoding(const nsACString& aEncoding)
-{
-  return Encoding::ForName(aEncoding)->NewEncoder();
-}
-
-void
-EncodingUtils::LangGroupForEncoding(const nsACString& aEncoding,
-                                    nsACString& aOutGroup)
-{
-  if (NS_FAILED(nsUConvPropertySearch::SearchPropertyValue(
-      encodingsGroups, ArrayLength(encodingsGroups), aEncoding, aOutGroup))) {
-    aOutGroup.AssignLiteral("x-unicode");
-  }
-}
-
-} // namespace dom
-} // namespace mozilla
deleted file mode 100644
--- a/dom/encoding/EncodingUtils.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef mozilla_dom_encodingutils_h_
-#define mozilla_dom_encodingutils_h_
-
-#include "nsDataHashtable.h"
-#include "nsString.h"
-#include "mozilla/Encoding.h"
-
-namespace mozilla {
-namespace dom {
-
-class EncodingUtils
-{
-public:
-  /**
-   * Implements get an encoding algorithm from Encoding spec.
-   * http://encoding.spec.whatwg.org/#concept-encoding-get
-   * Given a label, this function returns the corresponding encoding or a
-   * false.
-   * The returned name may not be lowercased due to compatibility with
-   * our internal implementations.
-   *
-   * @deprecated Use mozilla::Encoding::ForLabel() in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369025
-   *
-   * @param      aLabel, incoming label describing charset to be decoded.
-   * @param      aOutEncoding, returning corresponding encoding for label.
-   * @return     false if no encoding was found for label.
-   *             true if valid encoding found.
-   */
-  static bool FindEncodingForLabel(const nsACString& aLabel,
-                                   nsACString& aOutEncoding);
-
-  static bool FindEncodingForLabel(const nsAString& aLabel,
-                                   nsACString& aOutEncoding)
-  {
-    return FindEncodingForLabel(NS_ConvertUTF16toUTF8(aLabel), aOutEncoding);
-  }
-
-  /**
-   * Like FindEncodingForLabel() except labels that map to "replacement"
-   * are treated as unknown.
-   *
-   * @deprecated Use mozilla::Encoding::ForLabelNoReplacement() in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369025
-   *
-   * @param      aLabel, incoming label describing charset to be decoded.
-   * @param      aOutEncoding, returning corresponding encoding for label.
-   * @return     false if no encoding was found for label.
-   *             true if valid encoding found.
-   */
-  static bool FindEncodingForLabelNoReplacement(const nsACString& aLabel,
-                                                nsACString& aOutEncoding);
-
-  static bool FindEncodingForLabelNoReplacement(const nsAString& aLabel,
-                                                nsACString& aOutEncoding)
-  {
-    return FindEncodingForLabelNoReplacement(NS_ConvertUTF16toUTF8(aLabel),
-                                             aOutEncoding);
-  }
-
-  /**
-   * Remove any leading and trailing space characters, following the
-   * definition of space characters from Encoding spec.
-   * http://encoding.spec.whatwg.org/#terminology
-   * Note that nsAString::StripWhitespace() doesn't exactly match the
-   * definition. It also removes all matching chars in the string,
-   * not just leading and trailing.
-   *
-   * @param      aString, string to be trimmed.
-   */
-  template<class T>
-  static void TrimSpaceCharacters(T& aString)
-  {
-    aString.Trim(" \t\n\f\r");
-  }
-
-  /**
-   * Check is the encoding is ASCII-compatible in the sense that Basic Latin
-   * encodes to ASCII bytes. (The reverse may not be true!)
-   *
-   * @param aPreferredName a preferred encoding label
-   * @return whether the encoding is ASCII-compatible
-   */
-  static bool IsAsciiCompatible(const nsACString& aPreferredName);
-
-  /**
-   * Instantiates a decoder for an encoding. The input must be a
-   * Gecko-canonical encoding name.
-   *
-   * @deprecated Use mozilla::Encoding::NewDecoderWithBOMRemoval()
-   *             (or more appropriate variant) in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369032
-   *
-   * @param aEncoding a Gecko-canonical encoding name
-   * @return a decoder
-   */
-  static UniquePtr<Decoder> DecoderForEncoding(const char* aEncoding)
-  {
-    nsDependentCString encoding(aEncoding);
-    return DecoderForEncoding(encoding);
-  }
-
-  /**
-   * Instantiates a decoder for an encoding. The input must be a
-   *
-   * @deprecated Use mozilla::Encoding::NewDecoderWithBOMRemoval()
-   *             (or more appropriate variant) in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369032
-   *
-   * Gecko-canonical encoding name
-   * @param aEncoding a Gecko-canonical encoding name
-   * @return a decoder
-   */
-  static UniquePtr<Decoder> DecoderForEncoding(const nsACString& aEncoding);
-
-  /**
-   * Instantiates an encoder for an encoding. The input must be a
-   *
-   * @deprecated Use mozilla::Encoding::NewEncoder() in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369032
-   *
-   * Gecko-canonical encoding name.
-   * @param aEncoding a Gecko-canonical encoding name
-   * @return an encoder
-   */
-  static UniquePtr<Encoder> EncoderForEncoding(const char* aEncoding)
-  {
-    nsDependentCString encoding(aEncoding);
-    return EncoderForEncoding(encoding);
-  }
-
-  /**
-   * Instantiates an encoder for an encoding. The input must be a
-   * Gecko-canonical encoding name.
-   *
-   * @deprecated Use mozilla::Encoding::NewEncoder() in new code.
-   * https://bugzilla.mozilla.org/show_bug.cgi?id=1369032
-   *
-   * @param aEncoding a Gecko-canonical encoding name
-   * @return an encoder
-   */
-  static UniquePtr<Encoder> EncoderForEncoding(const nsACString& aEncoding);
-
-  /**
-   * Finds a Gecko language group string (e.g. x-western) for a Gecko-canonical
-   * encoding name.
-   *
-   * @param      aEncoding, incoming label describing charset to be decoded.
-   * @param      aOutGroup, returning corresponding language group.
-   */
-  static void LangGroupForEncoding(const nsACString& aEncoding,
-                                   nsACString& aOutGroup);
-
-private:
-  EncodingUtils() = delete;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_encodingutils_h_
--- a/dom/encoding/FallbackEncoding.cpp
+++ b/dom/encoding/FallbackEncoding.cpp
@@ -1,22 +1,22 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "mozilla/dom/FallbackEncoding.h"
 
-#include "mozilla/dom/EncodingUtils.h"
-#include "nsUConvPropertySearch.h"
+#include "mozilla/Encoding.h"
+#include "mozilla/intl/LocaleService.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/Services.h"
 #include "nsIObserverService.h"
-#include "mozilla/intl/LocaleService.h"
+#include "nsUConvPropertySearch.h"
 
 using mozilla::intl::LocaleService;
 
 namespace mozilla {
 namespace dom {
 
 static constexpr nsUConvProp localesFallbacks[] = {
 #include "localesfallbacks.properties.h"
@@ -48,20 +48,22 @@ FallbackEncoding::Get(nsACString& aFallb
     aFallback = mFallback;
     return;
   }
 
   const nsAdoptingCString& override =
     Preferences::GetCString("intl.charset.fallback.override");
   // Don't let the user break things by setting the override to unreasonable
   // values via about:config
-  if (!EncodingUtils::FindEncodingForLabel(override, mFallback) ||
-      !EncodingUtils::IsAsciiCompatible(mFallback) ||
-      mFallback.EqualsLiteral("UTF-8")) {
+  const Encoding* encoding = Encoding::ForLabel(override);
+  if (!encoding || !encoding->IsAsciiCompatible() ||
+      encoding == UTF_8_ENCODING) {
     mFallback.Truncate();
+  } else {
+    encoding->Name(mFallback);
   }
 
   if (!mFallback.IsEmpty()) {
     aFallback = mFallback;
     return;
   }
 
   nsAutoCString locale;
--- a/dom/encoding/TextDecoder.cpp
+++ b/dom/encoding/TextDecoder.cpp
@@ -1,54 +1,55 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "mozilla/dom/TextDecoder.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/UnionTypes.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/UniquePtrExtensions.h"
 #include "nsContentUtils.h"
 #include <stdint.h>
 
 namespace mozilla {
 namespace dom {
 
 static const char16_t kReplacementChar = static_cast<char16_t>(0xFFFD);
 
 void
 TextDecoder::Init(const nsAString& aLabel, const bool aFatal,
                   ErrorResult& aRv)
 {
-  nsAutoCString encoding;
   // Let encoding be the result of getting an encoding from label.
   // If encoding is failure or replacement, throw a RangeError
   // (https://encoding.spec.whatwg.org/#dom-textdecoder).
-  if (!EncodingUtils::FindEncodingForLabelNoReplacement(aLabel, encoding)) {
+  const Encoding* encoding = Encoding::ForLabelNoReplacement(aLabel);
+  if (!encoding) {
     nsAutoString label(aLabel);
-    EncodingUtils::TrimSpaceCharacters(label);
+    label.Trim(" \t\n\f\r");
     aRv.ThrowRangeError<MSG_ENCODING_NOT_SUPPORTED>(label);
     return;
   }
-  InitWithEncoding(encoding, aFatal);
+  InitWithEncoding(WrapNotNull(encoding), aFatal);
 }
 
 void
-TextDecoder::InitWithEncoding(const nsACString& aEncoding, const bool aFatal)
+TextDecoder::InitWithEncoding(NotNull<const Encoding*> aEncoding,
+                              const bool aFatal)
 {
-  mEncoding = aEncoding;
+  aEncoding->Name(mEncoding);
   // If the constructor is called with an options argument,
   // and the fatal property of the dictionary is set,
   // set the internal fatal flag of the decoder object.
   mFatal = aFatal;
 
   // Create a decoder object for mEncoding.
-  mDecoder = EncodingUtils::DecoderForEncoding(mEncoding);
+  mDecoder = aEncoding->NewDecoderWithBOMRemoval();
 }
 
 void
 TextDecoder::Decode(Span<const uint8_t> aInput,
                     const bool aStream,
                     nsAString& aOutDecodedString,
                     ErrorResult& aRv)
 {
--- a/dom/encoding/TextDecoder.h
+++ b/dom/encoding/TextDecoder.h
@@ -65,21 +65,22 @@ public:
    * @return aRv         EncodingError exception else null.
    */
   void Init(const nsAString& aLabel, const bool aFatal, ErrorResult& aRv);
 
   /**
    * Performs initialization with a Gecko-canonical encoding name (as opposed
    * to a label.)
    *
-   * @param aEncoding    A Gecko-canonical encoding name
+   * @param aEncoding    An Encoding object
    * @param aFatal       indicates whether to throw an 'EncodingError'
    *                     exception or not when decoding.
    */
-  void InitWithEncoding(const nsACString& aEncoding, const bool aFatal);
+  void InitWithEncoding(NotNull<const Encoding*> aEncoding,
+                        const bool aFatal);
 
   /**
    * Return the encoding name.
    *
    * @param aEncoding, current encoding.
    */
   void GetEncoding(nsAString& aEncoding);
 
--- a/dom/encoding/moz.build
+++ b/dom/encoding/moz.build
@@ -3,38 +3,35 @@
 # 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/.
 
 with Files("**"):
     BUG_COMPONENT = ("Core", "Internationalization")
 
 EXPORTS.mozilla.dom += [
-    'EncodingUtils.h',
     'FallbackEncoding.h',
     'TextDecoder.h',
     'TextEncoder.h',
 ]
 
 UNIFIED_SOURCES += [
-    'EncodingUtils.cpp',
     'FallbackEncoding.cpp',
     'TextDecoder.cpp',
     'TextEncoder.cpp',
 ]
 
 FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
     '/intl/locale',
 ]
 
 props2arrays = '/intl/locale/props2arrays.py'
 prefixes = (
     'domainsfallbacks',
-    'encodingsgroups',
     'labelsencodings',
     'localesfallbacks',
     'nonparticipatingdomains',
 )
 
 for prefix in prefixes:
     input_file = prefix + '.properties'
     header = prefix + '.properties.h'
--- a/dom/fetch/BodyExtractor.cpp
+++ b/dom/fetch/BodyExtractor.cpp
@@ -1,16 +1,15 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "BodyExtractor.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/File.h"
 #include "mozilla/dom/FormData.h"
 #include "mozilla/dom/TypedArray.h"
 #include "mozilla/dom/URLSearchParams.h"
 #include "mozilla/dom/XMLHttpRequest.h"
 #include "nsContentUtils.h"
 #include "nsIDOMDocument.h"
 #include "nsIDOMSerializer.h"
--- a/dom/file/FileReader.cpp
+++ b/dom/file/FileReader.cpp
@@ -10,21 +10,20 @@
 #include "nsIGlobalObject.h"
 #include "nsITimer.h"
 #include "nsITransport.h"
 #include "nsIStreamTransportService.h"
 
 #include "mozilla/Base64.h"
 #include "mozilla/CheckedInt.h"
 #include "mozilla/dom/DOMError.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/File.h"
 #include "mozilla/dom/FileReaderBinding.h"
 #include "mozilla/dom/ProgressEvent.h"
-#include "nsContentUtils.h"
+#include "mozilla/Encoding.h"
 #include "nsCycleCollectionParticipant.h"
 #include "nsDOMJSUtils.h"
 #include "nsError.h"
 #include "nsNetCID.h"
 #include "nsNetUtil.h"
 #include "xpcpublic.h"
 
 #include "WorkerPrivate.h"
@@ -446,47 +445,43 @@ FileReader::ReadFileContent(Blob& aBlob,
 
 nsresult
 FileReader::GetAsText(Blob *aBlob,
                       const nsACString &aCharset,
                       const char *aFileData,
                       uint32_t aDataLen,
                       nsAString& aResult)
 {
-  // The BOM sniffing is baked into the "decode" part of the Encoding
-  // Standard, which the File API references.
-  nsAutoCString encoding;
-  if (!nsContentUtils::CheckForBOM(
-        reinterpret_cast<const unsigned char *>(aFileData),
-        aDataLen,
-        encoding)) {
-    // BOM sniffing failed. Try the API argument.
-    if (!EncodingUtils::FindEncodingForLabel(aCharset,
-                                             encoding)) {
-      // API argument failed. Try the type property of the blob.
-      nsAutoString type16;
-      aBlob->GetType(type16);
-      NS_ConvertUTF16toUTF8 type(type16);
-      nsAutoCString specifiedCharset;
-      bool haveCharset;
-      int32_t charsetStart, charsetEnd;
-      NS_ExtractCharsetFromContentType(type,
-                                       specifiedCharset,
-                                       &haveCharset,
-                                       &charsetStart,
-                                       &charsetEnd);
-      if (!EncodingUtils::FindEncodingForLabel(specifiedCharset, encoding)) {
-        // Type property failed. Use UTF-8.
-        encoding.AssignLiteral("UTF-8");
-      }
+  // Try the API argument.
+  const Encoding* encoding = Encoding::ForLabel(aCharset);
+  if (!encoding) {
+    // API argument failed. Try the type property of the blob.
+    nsAutoString type16;
+    aBlob->GetType(type16);
+    NS_ConvertUTF16toUTF8 type(type16);
+    nsAutoCString specifiedCharset;
+    bool haveCharset;
+    int32_t charsetStart, charsetEnd;
+    NS_ExtractCharsetFromContentType(type,
+                                     specifiedCharset,
+                                     &haveCharset,
+                                     &charsetStart,
+                                     &charsetEnd);
+    encoding = Encoding::ForLabel(specifiedCharset);
+    if (!encoding) {
+      // Type property failed. Use UTF-8.
+      encoding = UTF_8_ENCODING;
     }
   }
 
-  return nsContentUtils::ConvertStringFromEncoding(
-      encoding, aFileData, aDataLen, aResult);
+  auto data = MakeSpan(reinterpret_cast<const uint8_t*>(aFileData),
+                       aDataLen);
+  nsresult rv;
+  Tie(rv, encoding) = encoding->Decode(data, aResult);
+  return NS_FAILED(rv) ? rv : NS_OK;
 }
 
 nsresult
 FileReader::GetAsDataURL(Blob *aBlob,
                          const char *aFileData,
                          uint32_t aDataLen,
                          nsAString& aResult)
 {
--- a/dom/html/HTMLFormSubmission.cpp
+++ b/dom/html/HTMLFormSubmission.cpp
@@ -33,17 +33,16 @@
 #include "nsIScriptError.h"
 #include "nsIStringBundle.h"
 #include "nsCExternalHandlerService.h"
 #include "nsIFileStreams.h"
 #include "nsContentUtils.h"
 #include "mozilla/Telemetry.h"
 
 #include "mozilla/dom/Directory.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/File.h"
 
 namespace mozilla {
 namespace dom {
 
 namespace {
 
 void
--- a/dom/html/HTMLInputElement.cpp
+++ b/dom/html/HTMLInputElement.cpp
@@ -1868,18 +1868,22 @@ HTMLInputElement::SetValue(const nsAStri
       // event, we should keep it that way. Otherwise, we should make sure the
       // element will not fire any event because of the script interaction.
       //
       // NOTE: this is currently quite expensive work (too much string
       // manipulation). We should probably optimize that.
       nsAutoString currentValue;
       GetValue(currentValue, aCallerType);
 
+      // Some types sanitize value, so GetValue doesn't return pure
+      // previous value correctly.
       nsresult rv =
         SetValueInternal(aValue,
+          (IsExperimentalMobileType(mType) || IsDateTimeInputType(mType)) ?
+            nullptr : &currentValue,
           nsTextEditorState::eSetValue_ByContent |
           nsTextEditorState::eSetValue_Notify |
           nsTextEditorState::eSetValue_MoveCursorToEndIfValueChanged);
       if (NS_FAILED(rv)) {
         aRv.Throw(rv);
         return;
       }
 
@@ -3027,17 +3031,19 @@ HTMLInputElement::UpdateFileList()
       if (array[i].IsFile()) {
         mFileData->mFileList->Append(array[i].GetAsFile());
       }
     }
   }
 }
 
 nsresult
-HTMLInputElement::SetValueInternal(const nsAString& aValue, uint32_t aFlags)
+HTMLInputElement::SetValueInternal(const nsAString& aValue,
+                                   const nsAString* aOldValue,
+                                   uint32_t aFlags)
 {
   NS_PRECONDITION(GetValueMode() != VALUE_MODE_FILENAME,
                   "Don't call SetValueInternal for file inputs");
 
   switch (GetValueMode()) {
     case VALUE_MODE_VALUE:
     {
       // At the moment, only single line text control have to sanitize their value
@@ -3051,17 +3057,17 @@ HTMLInputElement::SetValueInternal(const
       // else DoneCreatingElement calls us again once mDoneCreating is true
 
       bool setValueChanged = !!(aFlags & nsTextEditorState::eSetValue_Notify);
       if (setValueChanged) {
         SetValueChanged(true);
       }
 
       if (IsSingleLineTextControl(false)) {
-        if (!mInputData.mState->SetValue(value, aFlags)) {
+        if (!mInputData.mState->SetValue(value, aOldValue, aFlags)) {
           return NS_ERROR_OUT_OF_MEMORY;
         }
         if (mType == NS_FORM_INPUT_EMAIL) {
           UpdateAllValidityStates(!mDoneCreating);
         }
       } else {
         free(mInputData.mValue);
         mInputData.mValue = ToNewUnicode(value);
--- a/dom/html/HTMLInputElement.h
+++ b/dom/html/HTMLInputElement.h
@@ -937,19 +937,29 @@ protected:
                                      uint32_t aLen, uint32_t* aResult);
 
   // Helper method
 
   /**
    * Setting the value.
    *
    * @param aValue      String to set.
+   * @param aOldValue   Previous value before setting aValue.
+                        If previous value is unknown, aOldValue can be nullptr.
    * @param aFlags      See nsTextEditorState::SetValueFlags.
    */
-  nsresult SetValueInternal(const nsAString& aValue, uint32_t aFlags);
+  nsresult SetValueInternal(const nsAString& aValue,
+                            const nsAString* aOldValue,
+                            uint32_t aFlags);
+
+  nsresult SetValueInternal(const nsAString& aValue,
+                            uint32_t aFlags)
+  {
+    return SetValueInternal(aValue, nullptr, aFlags);
+  }
 
   // Generic getter for the value that doesn't do experimental control type
   // sanitization.
   void GetValueInternal(nsAString& aValue, CallerType aCallerType) const;
 
   // A getter for callers that know we're not dealing with a file input, so they
   // don't have to think about the caller type.
   void GetNonFileValueInternal(nsAString& aValue) const;
--- a/dom/html/nsHTMLDocument.cpp
+++ b/dom/html/nsHTMLDocument.cpp
@@ -77,18 +77,18 @@
 #include "nsIScriptError.h"
 #include "nsIMutableArray.h"
 #include "nsArrayUtils.h"
 #include "nsIEffectiveTLDService.h"
 
 //AHMED 12-2
 #include "nsBidiUtils.h"
 
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/FallbackEncoding.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/LoadInfo.h"
 #include "nsIEditingSession.h"
 #include "nsIEditor.h"
 #include "nsNodeInfoManager.h"
 #include "nsIPlaintextEditor.h"
 #include "nsIHTMLEditor.h"
 #include "nsIEditorStyleSheets.h"
 #include "nsIInlineSpellChecker.h"
@@ -145,16 +145,30 @@ static bool ConvertToMidasInternalComman
 
 static bool ConvertToMidasInternalCommand(const nsAString & inCommandID,
                                             nsACString& outCommandID);
 
 // ==================================================================
 // =
 // ==================================================================
 
+static bool
+IsAsciiCompatible(const nsACString& aPreferredName)
+{
+  // HZ and UTF-7 are no longer in mozilla-central, but keeping them here
+  // just in case for the benefit of comm-central.
+  return !(aPreferredName.LowerCaseEqualsLiteral("utf-16") ||
+           aPreferredName.LowerCaseEqualsLiteral("utf-16be") ||
+           aPreferredName.LowerCaseEqualsLiteral("utf-16le") ||
+           aPreferredName.LowerCaseEqualsLiteral("replacement") ||
+           aPreferredName.LowerCaseEqualsLiteral("hz-gb-2312") ||
+           aPreferredName.LowerCaseEqualsLiteral("utf-7") ||
+           aPreferredName.LowerCaseEqualsLiteral("x-imap4-modified-utf7"));
+}
+
 nsresult
 NS_NewHTMLDocument(nsIDocument** aInstancePtrResult, bool aLoadedAsData)
 {
   RefPtr<nsHTMLDocument> doc = new nsHTMLDocument();
 
   nsresult rv = doc->Init();
 
   if (NS_FAILED(rv)) {
@@ -281,17 +295,17 @@ nsHTMLDocument::TryHintCharset(nsIConten
     if(NS_SUCCEEDED(rv) && kCharsetUninitialized != requestCharsetSource) {
       nsAutoCString requestCharset;
       rv = aCv->GetHintCharacterSet(requestCharset);
       aCv->SetHintCharacterSetSource((int32_t)(kCharsetUninitialized));
 
       if(requestCharsetSource <= aCharsetSource)
         return;
 
-      if(NS_SUCCEEDED(rv) && EncodingUtils::IsAsciiCompatible(requestCharset)) {
+      if(NS_SUCCEEDED(rv) && IsAsciiCompatible(requestCharset)) {
         aCharsetSource = requestCharsetSource;
         aCharset = requestCharset;
 
         return;
       }
     }
   }
   return;
@@ -305,41 +319,41 @@ nsHTMLDocument::TryUserForcedCharset(nsI
                                      nsACString& aCharset)
 {
   nsresult rv = NS_OK;
 
   if(kCharsetFromUserForced <= aCharsetSource)
     return;
 
   // mCharacterSet not updated yet for channel, so check aCharset, too.
-  if (WillIgnoreCharsetOverride() || !EncodingUtils::IsAsciiCompatible(aCharset)) {
+  if (WillIgnoreCharsetOverride() || !IsAsciiCompatible(aCharset)) {
     return;
   }
 
   nsAutoCString forceCharsetFromDocShell;
   if (aCv) {
     // XXX mailnews-only
     rv = aCv->GetForceCharacterSet(forceCharsetFromDocShell);
   }
 
   if(NS_SUCCEEDED(rv) &&
      !forceCharsetFromDocShell.IsEmpty() &&
-     EncodingUtils::IsAsciiCompatible(forceCharsetFromDocShell)) {
+     IsAsciiCompatible(forceCharsetFromDocShell)) {
     aCharset = forceCharsetFromDocShell;
     aCharsetSource = kCharsetFromUserForced;
     return;
   }
 
   if (aDocShell) {
     // This is the Character Encoding menu code path in Firefox
     nsAutoCString charset;
     rv = aDocShell->GetForcedCharset(charset);
 
     if (NS_SUCCEEDED(rv) && !charset.IsEmpty()) {
-      if (!EncodingUtils::IsAsciiCompatible(charset)) {
+      if (!IsAsciiCompatible(charset)) {
         return;
       }
       aCharset = charset;
       aCharsetSource = kCharsetFromUserForced;
       aDocShell->SetForcedCharset(NS_LITERAL_CSTRING(""));
     }
   }
 }
@@ -355,30 +369,34 @@ nsHTMLDocument::TryCacheCharset(nsICachi
     return;
   }
 
   nsCString cachedCharset;
   rv = aCachingChannel->GetCacheTokenCachedCharset(cachedCharset);
   if (NS_FAILED(rv) || cachedCharset.IsEmpty()) {
     return;
   }
+  // The replacement encoding is not ASCII-compatible.
+  if (cachedCharset.EqualsLiteral("replacement")) {
+    return;
+  }
   // The canonical names changed, so the cache may have an old name.
-  if (!cachedCharset.EqualsLiteral("replacement")) {
-    if (!EncodingUtils::FindEncodingForLabel(cachedCharset, cachedCharset)) {
-      return;
-    }
+  const Encoding* encoding = Encoding::ForLabel(cachedCharset);
+  if (!encoding) {
+    return;
   }
-  // Check EncodingUtils::IsAsciiCompatible() even in the cache case, because the value
+  // Check IsAsciiCompatible() even in the cache case, because the value
   // might be stale and in the case of a stale charset that is not a rough
   // ASCII superset, the parser has no way to recover.
-  if (EncodingUtils::IsAsciiCompatible(cachedCharset))
-  {
-    aCharset = cachedCharset;
-    aCharsetSource = kCharsetFromCache;
+  if (!encoding->IsAsciiCompatible() && encoding != ISO_2022_JP_ENCODING) {
+    return;
   }
+  encoding->Name(cachedCharset);
+  aCharset = cachedCharset;
+  aCharsetSource = kCharsetFromCache;
 }
 
 void
 nsHTMLDocument::TryParentCharset(nsIDocShell*  aDocShell,
                                  int32_t& aCharsetSource,
                                  nsACString& aCharset)
 {
   if (!aDocShell) {
@@ -395,33 +413,33 @@ nsHTMLDocument::TryParentCharset(nsIDocS
                               &parentSource,
                               getter_AddRefs(parentPrincipal));
   if (parentCharset.IsEmpty()) {
     return;
   }
   if (kCharsetFromParentForced == parentSource ||
       kCharsetFromUserForced == parentSource) {
     if (WillIgnoreCharsetOverride() ||
-        !EncodingUtils::IsAsciiCompatible(aCharset) || // if channel said UTF-16
-        !EncodingUtils::IsAsciiCompatible(parentCharset)) {
+        !IsAsciiCompatible(aCharset) || // if channel said UTF-16
+        !IsAsciiCompatible(parentCharset)) {
       return;
     }
     aCharset.Assign(parentCharset);
     aCharsetSource = kCharsetFromParentForced;
     return;
   }
 
   if (aCharsetSource >= kCharsetFromParentFrame) {
     return;
   }
 
   if (kCharsetFromCache <= parentSource) {
     // Make sure that's OK
     if (!NodePrincipal()->Equals(parentPrincipal) ||
-        !EncodingUtils::IsAsciiCompatible(parentCharset)) {
+        !IsAsciiCompatible(parentCharset)) {
       return;
     }
 
     aCharset.Assign(parentCharset);
     aCharsetSource = kCharsetFromParentFrame;
   }
 }
 
@@ -1353,18 +1371,17 @@ nsHTMLDocument::GetCookie(nsAString& aCo
         return;
       }
     }
 
     nsXPIDLCString cookie;
     service->GetCookieString(codebaseURI, channel, getter_Copies(cookie));
     // CopyUTF8toUTF16 doesn't handle error
     // because it assumes that the input is valid.
-    nsContentUtils::ConvertStringFromEncoding(NS_LITERAL_CSTRING("UTF-8"),
-                                              cookie, aCookie);
+    UTF_8_ENCODING->DecodeWithoutBOMHandling(cookie, aCookie);
   }
 }
 
 NS_IMETHODIMP
 nsHTMLDocument::SetCookie(const nsAString& aCookie)
 {
   ErrorResult rv;
   SetCookie(aCookie, rv);
@@ -3720,17 +3737,17 @@ nsHTMLDocument::WillIgnoreCharsetOverrid
 {
   if (mType != eHTML) {
     MOZ_ASSERT(mType == eXHTML);
     return true;
   }
   if (mCharacterSetSource >= kCharsetFromByteOrderMark) {
     return true;
   }
-  if (!EncodingUtils::IsAsciiCompatible(mCharacterSet)) {
+  if (!IsAsciiCompatible(mCharacterSet)) {
     return true;
   }
   nsCOMPtr<nsIWyciwygChannel> wyciwyg = do_QueryInterface(mChannel);
   if (wyciwyg) {
     return true;
   }
   nsIURI* uri = GetOriginalURI();
   if (uri) {
--- a/dom/html/nsTextEditorState.cpp
+++ b/dom/html/nsTextEditorState.cpp
@@ -2487,29 +2487,33 @@ nsTextEditorState::GetValue(nsAString& a
       mTextCtrlElement->GetDefaultValueFromContent(aValue);
     } else {
       aValue = *mValue;
     }
   }
 }
 
 bool
-nsTextEditorState::SetValue(const nsAString& aValue, uint32_t aFlags)
+nsTextEditorState::SetValue(const nsAString& aValue, const nsAString* aOldValue,
+                            uint32_t aFlags)
 {
   nsAutoString newValue(aValue);
 
   // While mIsCommittingComposition is true (that means that some event
   // handlers which are fired during committing composition are the caller of
   // this method), GetValue() uses mValueBeingSet for its result because the
   // first calls of this methods hasn't set the value yet.  So, when it's true,
   // we need to modify mValueBeingSet.  In this case, we will back to the first
   // call of this method, then, mValueBeingSet will be truncated when
   // mIsCommittingComposition is set false.  See below.
   if (mIsCommittingComposition) {
     mValueBeingSet = aValue;
+    // GetValue doesn't return current text frame's content during committing.
+    // So we cannot trust this old value
+    aOldValue = nullptr;
   }
 
   // Note that if this may be called during reframe of the editor.  In such
   // case, we shouldn't commit composition.  Therefore, when this is called
   // for internal processing, we shouldn't commit the composition.
   if (aFlags & (eSetValue_BySetUserInput | eSetValue_ByContent)) {
     if (EditorHasComposition()) {
       // When this is called recursively, there shouldn't be composition.
@@ -2520,24 +2524,35 @@ nsTextEditorState::SetValue(const nsAStr
         return true;
       }
       if (NS_WARN_IF(!mBoundFrame)) {
         // We're not sure if this case is possible.
       } else {
         // If setting value won't change current value, we shouldn't commit
         // composition for compatibility with the other browsers.
         nsAutoString currentValue;
-        mBoundFrame->GetText(currentValue);
+        if (aOldValue) {
+#ifdef DEBUG
+          mBoundFrame->GetText(currentValue);
+          MOZ_ASSERT(currentValue.Equals(*aOldValue));
+#endif
+          currentValue.Assign(*aOldValue);
+        } else {
+          mBoundFrame->GetText(currentValue);
+        }
         if (newValue == currentValue) {
           // Note that in this case, we shouldn't fire any events with setting
           // value because event handlers may try to set value recursively but
           // we cannot commit composition at that time due to unsafe to run
           // script (see below).
           return true;
         }
+        // IME might commit composition, then change value, so we cannot
+        // trust old value from parameter.
+        aOldValue = nullptr;
       }
       // If there is composition, need to commit composition first because
       // other browsers do that.
       // NOTE: We don't need to block nested calls of this because input nor
       //       other events won't be fired by setting values and script blocker
       //       is used during setting the value to the editor.  IE also allows
       //       to set the editor value on the input event which is caused by
       //       forcibly committing composition.
@@ -2588,17 +2603,25 @@ nsTextEditorState::SetValue(const nsAStr
 #ifdef DEBUG
     if (IsSingleLineTextControl()) {
       NS_ASSERTION(mEditorInitialized || mInitializing,
                    "We should never try to use the editor if we're not initialized unless we're being initialized");
     }
 #endif
 
     nsAutoString currentValue;
-    mBoundFrame->GetText(currentValue);
+    if (aOldValue) {
+#ifdef DEBUG
+      mBoundFrame->GetText(currentValue);
+      MOZ_ASSERT(currentValue.Equals(*aOldValue));
+#endif
+      currentValue.Assign(*aOldValue);
+    } else {
+      mBoundFrame->GetText(currentValue);
+    }
 
     AutoWeakFrame weakFrame(mBoundFrame);
 
     // this is necessary to avoid infinite recursion
     if (!currentValue.Equals(newValue))
     {
       ValueSetter valueSetter(mEditor);
 
--- a/dom/html/nsTextEditorState.h
+++ b/dom/html/nsTextEditorState.h
@@ -174,17 +174,24 @@ public:
     eSetValue_Notify                = 1 << 2,
     // Whether to move the cursor to end of the value (in the case when we have
     // cached selection offsets), in the case when the value has changed.  If
     // this is not set, the cached selection offsets will simply be clamped to
     // be within the length of the new value.  In either case, if the value has
     // not changed the cursor won't move.
     eSetValue_MoveCursorToEndIfValueChanged = 1 << 3,
   };
-  MOZ_MUST_USE bool SetValue(const nsAString& aValue, uint32_t aFlags);
+  MOZ_MUST_USE bool SetValue(const nsAString& aValue,
+                             const nsAString* aOldValue,
+                             uint32_t aFlags);
+  MOZ_MUST_USE bool SetValue(const nsAString& aValue,
+                             uint32_t aFlags)
+  {
+    return SetValue(aValue, nullptr, aFlags);
+  }
   void GetValue(nsAString& aValue, bool aIgnoreWrap) const;
   bool HasNonEmptyValue();
   // The following methods are for textarea element to use whether default
   // value or not.
   // XXX We might have to add assertion when it is into editable,
   // or reconsider fixing bug 597525 to remove these.
   void EmptyValue() { if (mValue) mValue->Truncate(); }
   bool IsEmpty() const { return mValue ? mValue->IsEmpty() : true; }
--- a/dom/indexedDB/ActorsChild.cpp
+++ b/dom/indexedDB/ActorsChild.cpp
@@ -19,23 +19,23 @@
 #include "IDBTransaction.h"
 #include "IndexedDatabase.h"
 #include "IndexedDatabaseInlines.h"
 #include "mozilla/BasicEvents.h"
 #include "mozilla/CycleCollectedJSRuntime.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/TypeTraits.h"
 #include "mozilla/dom/Element.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/PermissionMessageUtils.h"
 #include "mozilla/dom/TabChild.h"
 #include "mozilla/dom/indexedDB/PBackgroundIDBDatabaseFileChild.h"
 #include "mozilla/dom/indexedDB/PIndexedDBPermissionRequestChild.h"
 #include "mozilla/dom/ipc/PendingIPCBlobChild.h"
 #include "mozilla/dom/IPCBlobUtils.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/ipc/BackgroundUtils.h"
 #include "mozilla/TaskQueue.h"
 #include "nsCOMPtr.h"
 #include "nsContentUtils.h"
 #include "nsIAsyncInputStream.h"
 #include "nsIBFCacheEntry.h"
 #include "nsIDocument.h"
 #include "nsIDOMEvent.h"
@@ -1325,38 +1325,32 @@ private:
       if (NS_WARN_IF(NS_FAILED(rv))) {
         return NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR;
       }
 
       aResult.setObject(*arrayBuffer);
       return NS_OK;
     }
 
-    nsAutoCString encoding;
-    // The BOM sniffing is baked into the "decode" part of the Encoding
-    // Standard, which the File API references.
-    if (!nsContentUtils::CheckForBOM(
-          reinterpret_cast<const unsigned char *>(data.get()),
-          data.Length(),
-          encoding)) {
-      // BOM sniffing failed. Try the API argument.
-      if (!EncodingUtils::FindEncodingForLabel(mFileRequest->GetEncoding(),
-                                               encoding)) {
-        // API argument failed. Since we are dealing with a file system file,
-        // we don't have a meaningful type attribute for the blob available,
-        // so proceeding to the next step, which is defaulting to UTF-8.
-        encoding.AssignLiteral("UTF-8");
-      }
+    // Try the API argument.
+    const Encoding* encoding =
+      Encoding::ForLabel(mFileRequest->GetEncoding());
+    if (!encoding) {
+      // API argument failed. Since we are dealing with a file system file,
+      // we don't have a meaningful type attribute for the blob available,
+      // so proceeding to the next step, which is defaulting to UTF-8.
+      encoding = UTF_8_ENCODING;
     }
 
     nsString tmpString;
-    rv = nsContentUtils::ConvertStringFromEncoding(encoding, data, tmpString);
+    Tie(rv, encoding) = encoding->Decode(data, tmpString);
     if (NS_WARN_IF(NS_FAILED(rv))) {
       return NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR;
     }
+    rv = NS_OK;
 
     if (NS_WARN_IF(!xpc::StringToJsval(aCx, tmpString, aResult))) {
       return NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR;
     }
 
     return NS_OK;
   }
 
--- a/dom/media/eme/MediaKeySession.cpp
+++ b/dom/media/eme/MediaKeySession.cpp
@@ -11,18 +11,18 @@
 #include "mozilla/dom/MediaEncryptedEvent.h"
 #include "mozilla/dom/MediaKeyStatusMap.h"
 #include "mozilla/dom/MediaKeySystemAccess.h"
 #include "mozilla/dom/KeyIdsInitDataBinding.h"
 #include "nsCycleCollectionParticipant.h"
 #include "mozilla/CDMProxy.h"
 #include "mozilla/AsyncEventDispatcher.h"
 #include "mozilla/Move.h"
-#include "nsContentUtils.h"
 #include "mozilla/EMEUtils.h"
+#include "mozilla/Encoding.h"
 #include "GMPUtils.h"
 #include "nsPrintfCString.h"
 #include "psshparser/PsshParser.h"
 #include <ctime>
 
 namespace mozilla {
 namespace dom {
 
@@ -192,17 +192,17 @@ ValidateInitData(const nsTArray<uint8_t>
   } else if (aInitDataType.LowerCaseEqualsLiteral("keyids")) {
     if (aInitData.Length() > MAX_KEY_ID_LENGTH) {
       return false;
     }
     // Ensure that init data matches the expected JSON format.
     mozilla::dom::KeyIdsInitData keyIds;
     nsString json;
     nsDependentCSubstring raw(reinterpret_cast<const char*>(aInitData.Elements()), aInitData.Length());
-    if (NS_FAILED(nsContentUtils::ConvertStringFromEncoding(NS_LITERAL_CSTRING("UTF-8"), raw, json))) {
+    if (NS_FAILED(UTF_8_ENCODING->DecodeWithBOMRemoval(raw, json))) {
       return false;
     }
     if (!keyIds.Init(json)) {
       return false;
     }
     if (keyIds.mKids.Length() == 0) {
       return false;
     }
--- a/dom/plugins/test/unit/test_bug813245.js
+++ b/dom/plugins/test/unit/test_bug813245.js
@@ -26,17 +26,17 @@ function write_registry(version, info) {
   var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"]
                            .createInstance(Components.interfaces.nsIFileOutputStream);
   // write, create, truncate
   foStream.init(registry, 0x02 | 0x08 | 0x20, 0o666, 0);
 
   var charset = "UTF-8"; // Can be any character encoding name that Mozilla supports
   var os = Cc["@mozilla.org/intl/converter-output-stream;1"].
            createInstance(Ci.nsIConverterOutputStream);
-  os.init(foStream, charset, 0, 0x0000);
+  os.init(foStream, charset);
 
   os.writeString(header);
   os.writeString(info);
   os.close();
 }
 
 function run_test() {
   allow_all_plugins();
--- a/dom/script/ScriptLoader.cpp
+++ b/dom/script/ScriptLoader.cpp
@@ -49,17 +49,16 @@
 #include "nsIContentSecurityPolicy.h"
 #include "mozilla/Logging.h"
 #include "nsCRT.h"
 #include "nsContentCreatorFunctions.h"
 #include "nsProxyRelease.h"
 #include "nsSandboxFlags.h"
 #include "nsContentTypeParser.h"
 #include "nsINetworkPredictor.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/ConsoleReportCollector.h"
 
 #include "mozilla/AsyncEventDispatcher.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/Telemetry.h"
 #include "mozilla/TimeStamp.h"
 #include "mozilla/Unused.h"
 #include "nsIScriptError.h"
--- a/dom/workers/FileReaderSync.cpp
+++ b/dom/workers/FileReaderSync.cpp
@@ -4,19 +4,18 @@
  * 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 "FileReaderSync.h"
 
 #include "jsfriendapi.h"
 #include "mozilla/Unused.h"
 #include "mozilla/Base64.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/File.h"
-#include "nsContentUtils.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/dom/FileReaderSyncBinding.h"
 #include "nsCExternalHandlerService.h"
 #include "nsComponentManagerUtils.h"
 #include "nsCOMPtr.h"
 #include "nsDOMClassInfoID.h"
 #include "nsError.h"
 #include "nsIConverterInputStream.h"
 #include "nsIInputStream.h"
@@ -137,18 +136,16 @@ FileReaderSync::ReadAsText(Blob& aBlob,
                            ErrorResult& aRv)
 {
   nsCOMPtr<nsIInputStream> stream;
   aBlob.GetInternalStream(getter_AddRefs(stream), aRv);
   if (NS_WARN_IF(aRv.Failed())) {
     return;
   }
 
-  nsAutoCString encoding;
-
   nsCString sniffBuf;
   if (!sniffBuf.SetLength(3, fallible)) {
     aRv.Throw(NS_ERROR_OUT_OF_MEMORY);
     return;
   }
 
   uint32_t numRead = 0;
   aRv = SyncRead(stream, sniffBuf.BeginWriting(), sniffBuf.Length(), &numRead);
@@ -157,40 +154,36 @@ FileReaderSync::ReadAsText(Blob& aBlob,
   }
 
   // No data, we don't need to continue.
   if (numRead == 0) {
     aResult.Truncate();
     return;
   }
 
-  // The BOM sniffing is baked into the "decode" part of the Encoding
-  // Standard, which the File API references.
-  if (!nsContentUtils::CheckForBOM((const unsigned char*)sniffBuf.BeginReading(),
-                                   numRead, encoding)) {
-    // BOM sniffing failed. Try the API argument.
-    if (!aEncoding.WasPassed() ||
-        !EncodingUtils::FindEncodingForLabel(aEncoding.Value(),
-                                             encoding)) {
-      // API argument failed. Try the type property of the blob.
-      nsAutoString type16;
-      aBlob.GetType(type16);
-      NS_ConvertUTF16toUTF8 type(type16);
-      nsAutoCString specifiedCharset;
-      bool haveCharset;
-      int32_t charsetStart, charsetEnd;
-      NS_ExtractCharsetFromContentType(type,
-                                       specifiedCharset,
-                                       &haveCharset,
-                                       &charsetStart,
-                                       &charsetEnd);
-      if (!EncodingUtils::FindEncodingForLabel(specifiedCharset, encoding)) {
-        // Type property failed. Use UTF-8.
-        encoding.AssignLiteral("UTF-8");
-      }
+  // Try the API argument.
+  const Encoding* encoding = aEncoding.WasPassed() ?
+    Encoding::ForLabel(aEncoding.Value()) : nullptr;
+  if (!encoding) {
+    // API argument failed. Try the type property of the blob.
+    nsAutoString type16;
+    aBlob.GetType(type16);
+    NS_ConvertUTF16toUTF8 type(type16);
+    nsAutoCString specifiedCharset;
+    bool haveCharset;
+    int32_t charsetStart, charsetEnd;
+    NS_ExtractCharsetFromContentType(type,
+                                     specifiedCharset,
+                                     &haveCharset,
+                                     &charsetStart,
+                                     &charsetEnd);
+    encoding = Encoding::ForLabel(specifiedCharset);
+    if (!encoding) {
+      // Type property failed. Use UTF-8.
+      encoding = UTF_8_ENCODING;
     }
   }
 
   if (numRead < sniffBuf.Length()) {
     sniffBuf.Truncate(numRead);
   }
 
   // Let's recreate the full stream using a:
@@ -226,17 +219,19 @@ FileReaderSync::ReadAsText(Blob& aBlob,
   // already closed or there is nothing to read.
   if (syncStream) {
     aRv = multiplexStream->AppendStream(syncStream);
     if (NS_WARN_IF(aRv.Failed())) {
       return;
     }
   }
 
-  aRv = ConvertStream(multiplexStream, encoding.get(), aResult);
+  nsAutoCString charset;
+  encoding->Name(charset);
+  aRv = ConvertStream(multiplexStream, charset.get(), aResult);
   if (NS_WARN_IF(aRv.Failed())) {
     return;
   }
 }
 
 void
 FileReaderSync::ReadAsDataURL(Blob& aBlob, nsAString& aResult,
                               ErrorResult& aRv)
--- a/dom/workers/ServiceWorkerEvents.cpp
+++ b/dom/workers/ServiceWorkerEvents.cpp
@@ -27,17 +27,16 @@
 #include "ServiceWorkerManager.h"
 
 #include "mozilla/ErrorResult.h"
 #include "mozilla/LoadInfo.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/dom/BodyUtil.h"
 #include "mozilla/dom/DOMException.h"
 #include "mozilla/dom/DOMExceptionBinding.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/FetchEventBinding.h"
 #include "mozilla/dom/MessagePort.h"
 #include "mozilla/dom/PromiseNativeHandler.h"
 #include "mozilla/dom/PushEventBinding.h"
 #include "mozilla/dom/PushMessageDataBinding.h"
 #include "mozilla/dom/PushUtil.h"
 #include "mozilla/dom/Request.h"
 #include "mozilla/dom/TypedArray.h"
--- a/dom/xhr/XMLHttpRequestMainThread.cpp
+++ b/dom/xhr/XMLHttpRequestMainThread.cpp
@@ -20,16 +20,17 @@
 #include "mozilla/dom/FileBinding.h"
 #include "mozilla/dom/FileCreatorHelper.h"
 #include "mozilla/dom/FetchUtil.h"
 #include "mozilla/dom/FormData.h"
 #include "mozilla/dom/MutableBlobStorage.h"
 #include "mozilla/dom/XMLDocument.h"
 #include "mozilla/dom/URLSearchParams.h"
 #include "mozilla/dom/PromiseNativeHandler.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/EventDispatcher.h"
 #include "mozilla/EventListenerManager.h"
 #include "mozilla/EventStateManager.h"
 #include "mozilla/LoadInfo.h"
 #include "mozilla/LoadContext.h"
 #include "mozilla/MemoryReporting.h"
 #include "nsIDOMDocument.h"
 #include "mozilla/dom/ProgressEvent.h"
@@ -71,17 +72,16 @@
 #include "nsIConsoleService.h"
 #include "nsIContentSecurityPolicy.h"
 #include "nsAsyncRedirectVerifyHelper.h"
 #include "nsStringBuffer.h"
 #include "nsIFileChannel.h"
 #include "mozilla/Telemetry.h"
 #include "jsfriendapi.h"
 #include "GeckoProfiler.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/XMLHttpRequestBinding.h"
 #include "mozilla/Attributes.h"
 #include "MultipartBlobImpl.h"
 #include "nsIPermissionManager.h"
 #include "nsMimeTypes.h"
 #include "nsIHttpChannelInternal.h"
 #include "nsIClassOfService.h"
 #include "nsCharSeparatedTokenizer.h"
@@ -498,32 +498,34 @@ XMLHttpRequestMainThread::DetectCharset(
   if (mResponseType != XMLHttpRequestResponseType::_empty &&
       mResponseType != XMLHttpRequestResponseType::Text &&
       mResponseType != XMLHttpRequestResponseType::Json &&
       mResponseType != XMLHttpRequestResponseType::Moz_chunked_text) {
     return NS_OK;
   }
 
   nsAutoCString charsetVal;
+  const Encoding* encoding;
   bool ok = mChannel &&
             NS_SUCCEEDED(mChannel->GetContentCharset(charsetVal)) &&
-            EncodingUtils::FindEncodingForLabel(charsetVal, mResponseCharset);
-  if (!ok || mResponseCharset.IsEmpty()) {
+            (encoding = Encoding::ForLabel(charsetVal));
+  if (!ok) {
     // MS documentation states UTF-8 is default for responseText
-    mResponseCharset.AssignLiteral("UTF-8");
+    encoding = UTF_8_ENCODING;
   }
 
   if (mResponseType == XMLHttpRequestResponseType::Json &&
-      !mResponseCharset.EqualsLiteral("UTF-8")) {
+      encoding != UTF_8_ENCODING) {
     // The XHR spec says only UTF-8 is supported for responseType == "json"
     LogMessage("JSONCharsetWarning", GetOwner());
-    mResponseCharset.AssignLiteral("UTF-8");
-  }
-
-  mDecoder = EncodingUtils::DecoderForEncoding(mResponseCharset);
+    encoding = UTF_8_ENCODING;
+  }
+
+  encoding->Name(mResponseCharset);
+  mDecoder = encoding->NewDecoderWithBOMRemoval();
 
   return NS_OK;
 }
 
 nsresult
 XMLHttpRequestMainThread::AppendToResponseText(const char * aSrcBuffer,
                                                uint32_t aSrcBufferLen)
 {
@@ -2426,17 +2428,17 @@ XMLHttpRequestMainThread::OnBodyParseEnd
 
 void
 XMLHttpRequestMainThread::MatchCharsetAndDecoderToResponseDocument()
 {
   if (mResponseXML && mResponseCharset != mResponseXML->GetDocumentCharacterSet()) {
     mResponseCharset = mResponseXML->GetDocumentCharacterSet();
     TruncateResponseText();
     mResponseBodyDecodedPos = 0;
-    mDecoder = EncodingUtils::DecoderForEncoding(mResponseCharset);
+    mDecoder = Encoding::ForName(mResponseCharset)->NewDecoderWithBOMRemoval();
   }
 }
 
 void
 XMLHttpRequestMainThread::ChangeStateToDone()
 {
   StopProgressEventTimer();
 
--- a/dom/xslt/xslt/txMozillaStylesheetCompiler.cpp
+++ b/dom/xslt/xslt/txMozillaStylesheetCompiler.cpp
@@ -32,21 +32,20 @@
 #include "txStylesheetCompiler.h"
 #include "txXMLUtils.h"
 #include "nsAttrName.h"
 #include "nsIScriptError.h"
 #include "nsIURL.h"
 #include "nsError.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/dom/Element.h"
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/UniquePtr.h"
 
 using namespace mozilla;
-using mozilla::dom::EncodingUtils;
 using mozilla::net::ReferrerPolicy;
 
 static NS_DEFINE_CID(kCParserCID, NS_PARSER_CID);
 
 static void
 getSpec(nsIChannel* aChannel, nsAString& aSpec)
 {
     if (!aChannel) {
@@ -252,28 +251,31 @@ txStylesheetSink::OnDataAvailable(nsIReq
 NS_IMETHODIMP
 txStylesheetSink::OnStartRequest(nsIRequest *aRequest, nsISupports *aContext)
 {
     int32_t charsetSource = kCharsetFromDocTypeDefault;
 
     nsCOMPtr<nsIChannel> channel = do_QueryInterface(aRequest);
 
     // check channel's charset...
+    const Encoding* encoding = nullptr;
     nsAutoCString charsetVal;
-    nsAutoCString charset;
     if (NS_SUCCEEDED(channel->GetContentCharset(charsetVal))) {
-        if (EncodingUtils::FindEncodingForLabel(charsetVal, charset)) {
+        encoding = Encoding::ForLabel(charsetVal);
+        if (encoding) {
             charsetSource = kCharsetFromChannel;
         }
     }
 
-    if (charset.IsEmpty()) {
-      charset.AssignLiteral("UTF-8");
+    if (!encoding) {
+        encoding = UTF_8_ENCODING;
     }
 
+    nsAutoCString charset;
+    encoding->Name(charset);
     mParser->SetDocumentCharset(charset, charsetSource);
 
     nsAutoCString contentType;
     channel->GetContentType(contentType);
 
     // Time to sniff! Note: this should go away once file channels do
     // sniffing themselves.
     nsCOMPtr<nsIURI> uri;
--- a/dom/xslt/xslt/txMozillaTextOutput.cpp
+++ b/dom/xslt/xslt/txMozillaTextOutput.cpp
@@ -11,17 +11,17 @@
 #include "nsIDOMDocumentFragment.h"
 #include "nsIDocumentTransformer.h"
 #include "nsCharsetSource.h"
 #include "nsIPrincipal.h"
 #include "txURIUtils.h"
 #include "nsContentCreatorFunctions.h"
 #include "nsContentUtils.h"
 #include "nsGkAtoms.h"
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 #include "nsTextNode.h"
 #include "nsNameSpaceManager.h"
 
 using namespace mozilla::dom;
 
 txMozillaTextOutput::txMozillaTextOutput(nsITransformObserver* aObserver)
 {
     MOZ_COUNT_CTOR(txMozillaTextOutput);
@@ -155,21 +155,21 @@ txMozillaTextOutput::createResultDocumen
     // Reset and set up document
     URIUtils::ResetWithSource(mDocument, aSourceDocument);
     // Only do this after resetting the document to ensure we have the
     // correct principal.
     mDocument->SetScriptHandlingObject(sgo);
 
     // Set the charset
     if (!mOutputFormat.mEncoding.IsEmpty()) {
-        nsAutoCString canonicalCharset;
-
-        if (EncodingUtils::FindEncodingForLabel(mOutputFormat.mEncoding,
-                                                canonicalCharset)) {
+        const Encoding* encoding = Encoding::ForLabel(mOutputFormat.mEncoding);
+        if (encoding) {
             mDocument->SetDocumentCharacterSetSource(kCharsetFromOtherComponent);
+            nsAutoCString canonicalCharset;
+            encoding->Name(canonicalCharset);
             mDocument->SetDocumentCharacterSet(canonicalCharset);
         }
     }
 
     // Notify the contentsink that the document is created
     nsCOMPtr<nsITransformObserver> observer = do_QueryReferent(mObserver);
     if (observer) {
         rv = observer->OnDocumentCreated(mDocument);
--- a/dom/xslt/xslt/txMozillaXMLOutput.cpp
+++ b/dom/xslt/xslt/txMozillaXMLOutput.cpp
@@ -24,18 +24,18 @@
 #include "txStringUtils.h"
 #include "txURIUtils.h"
 #include "nsIHTMLDocument.h"
 #include "nsIStyleSheetLinkingElement.h"
 #include "nsIDocumentTransformer.h"
 #include "mozilla/StyleSheetInlines.h"
 #include "mozilla/css/Loader.h"
 #include "mozilla/dom/Element.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/dom/ScriptLoader.h"
+#include "mozilla/Encoding.h"
 #include "nsContentUtils.h"
 #include "txXMLUtils.h"
 #include "nsContentSink.h"
 #include "nsINode.h"
 #include "nsContentCreatorFunctions.h"
 #include "nsError.h"
 #include "nsIFrame.h"
 #include <algorithm>
@@ -815,20 +815,21 @@ txMozillaXMLOutput::createResultDocument
     URIUtils::ResetWithSource(mDocument, aSourceDocument);
 
     // Make sure we set the script handling object after resetting with the
     // source, so that we have the right principal.
     mDocument->SetScriptHandlingObject(sgo);
 
     // Set the charset
     if (!mOutputFormat.mEncoding.IsEmpty()) {
-        nsAutoCString canonicalCharset;
-        if (EncodingUtils::FindEncodingForLabel(mOutputFormat.mEncoding,
-                                                canonicalCharset)) {
+        const Encoding* encoding = Encoding::ForLabel(mOutputFormat.mEncoding);
+        if (encoding) {
             mDocument->SetDocumentCharacterSetSource(kCharsetFromOtherComponent);
+            nsAutoCString canonicalCharset;
+            encoding->Name(canonicalCharset);
             mDocument->SetDocumentCharacterSet(canonicalCharset);
         }
     }
 
     // Set the mime-type
     if (!mOutputFormat.mMediaType.IsEmpty()) {
         mDocument->SetContentType(mOutputFormat.mMediaType);
     }
--- a/extensions/cookie/test/unit/test_permmanager_defaults.js
+++ b/extensions/cookie/test/unit/test_permmanager_defaults.js
@@ -28,17 +28,17 @@ add_task(function* do_test() {
   file.append("test_default_permissions");
 
   // write our test data to it.
   let ostream = Cc["@mozilla.org/network/file-output-stream;1"].
                 createInstance(Ci.nsIFileOutputStream);
   ostream.init(file, -1, 0o666, 0);
   let conv = Cc["@mozilla.org/intl/converter-output-stream;1"].
              createInstance(Ci.nsIConverterOutputStream);
-  conv.init(ostream, "UTF-8", 0, 0);
+  conv.init(ostream, "UTF-8");
 
   conv.writeString("# this is a comment\n");
   conv.writeString("\n"); // a blank line!
   conv.writeString("host\t" + TEST_PERMISSION + "\t1\t" + TEST_ORIGIN.host + "\n");
   conv.writeString("host\t" + TEST_PERMISSION + "\t1\t" + TEST_ORIGIN_2.host + "\n");
   conv.writeString("origin\t" + TEST_PERMISSION + "\t1\t" + TEST_ORIGIN_3.spec + "\n");
   conv.writeString("origin\t" + TEST_PERMISSION + "\t1\t" + TEST_ORIGIN.spec + "^appId=1000&inBrowser=1\n");
   ostream.close();
--- a/extensions/cookie/test/unit/test_permmanager_removeall.js
+++ b/extensions/cookie/test/unit/test_permmanager_removeall.js
@@ -15,17 +15,17 @@ function run_test() {
   do_check_true(file.exists());
 
   // corrupt the file
   var ostream = Cc["@mozilla.org/network/file-output-stream;1"].
                 createInstance(Ci.nsIFileOutputStream);
   ostream.init(file, 0x02, 0o666, 0);
   var conv = Cc["@mozilla.org/intl/converter-output-stream;1"].
              createInstance(Ci.nsIConverterOutputStream);
-  conv.init(ostream, "UTF-8", 0, 0);
+  conv.init(ostream, "UTF-8");
   for (var i = 0; i < file.fileSize; ++i)
     conv.writeString("a");
   conv.close();
 
   // prepare an empty hostperm.1 file so that it can be used for importing
   var hostperm = dir.clone();
   hostperm.append("hostperm.1");
   ostream.init(hostperm, 0x02 | 0x08, 0o666, 0);
--- a/gfx/thebes/gfxFontUtils.cpp
+++ b/gfx/thebes/gfxFontUtils.cpp
@@ -5,17 +5,16 @@
 
 #include "mozilla/ArrayUtils.h"
 #include "mozilla/BinarySearch.h"
 
 #include "gfxFontUtils.h"
 
 #include "nsServiceManagerUtils.h"
 
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/Services.h"
 #include "mozilla/BinarySearch.h"
 #include "mozilla/Sprintf.h"
 
 #include "nsCOMPtr.h"
 #include "nsIUUIDGenerator.h"
 #include "mozilla/Encoding.h"
rename from dom/encoding/encodingsgroups.properties
rename to intl/locale/encodingsgroups.properties
--- a/intl/locale/moz.build
+++ b/intl/locale/moz.build
@@ -84,17 +84,23 @@ FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
     '/intl/uconv',
 ]
 
 RESOURCE_FILES += [
     'language.properties',
 ]
 
-GENERATED_FILES += [
-    'langGroups.properties.h',
-]
-langgroups = GENERATED_FILES['langGroups.properties.h']
-langgroups.script = 'props2arrays.py'
-langgroups.inputs = ['langGroups.properties']
+prefixes = (
+    'encodingsgroups',
+    'langGroups',
+)
+
+for prefix in prefixes:
+    input_file = prefix + '.properties'
+    header = prefix + '.properties.h'
+    GENERATED_FILES += [header]
+    props = GENERATED_FILES[header]
+    props.script = 'props2arrays.py'
+    props.inputs = [input_file]
 
 if CONFIG['ENABLE_TESTS']:
     DIRS += ['tests/gtest']
--- a/intl/locale/nsLanguageAtomService.cpp
+++ b/intl/locale/nsLanguageAtomService.cpp
@@ -3,24 +3,27 @@
  * 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 "nsLanguageAtomService.h"
 #include "nsUConvPropertySearch.h"
 #include "nsUnicharUtils.h"
 #include "nsIAtom.h"
 #include "mozilla/ArrayUtils.h"
+#include "mozilla/ClearOnShutdown.h"
 #include "mozilla/intl/OSPreferences.h"
-#include "mozilla/dom/EncodingUtils.h"
-#include "mozilla/ClearOnShutdown.h"
 #include "mozilla/ServoBindings.h"
 
 using namespace mozilla;
 using mozilla::intl::OSPreferences;
 
+static constexpr nsUConvProp encodingsGroups[] = {
+#include "encodingsgroups.properties.h"
+};
+
 static constexpr nsUConvProp kLangGroups[] = {
 #include "langGroups.properties.h"
 };
 
 // static
 nsLanguageAtomService*
 nsLanguageAtomService::GetService()
 {
@@ -41,17 +44,20 @@ nsLanguageAtomService::LookupLanguage(co
   nsCOMPtr<nsIAtom> lang = NS_Atomize(lowered);
   return GetLanguageGroup(lang);
 }
 
 already_AddRefed<nsIAtom>
 nsLanguageAtomService::LookupCharSet(const nsACString& aCharSet)
 {
   nsAutoCString group;
-  dom::EncodingUtils::LangGroupForEncoding(aCharSet, group);
+  if (NS_FAILED(nsUConvPropertySearch::SearchPropertyValue(
+      encodingsGroups, ArrayLength(encodingsGroups), aCharSet, group))) {
+    return RefPtr<nsIAtom>(nsGkAtoms::Unicode).forget();
+  }
   return NS_Atomize(group);
 }
 
 nsIAtom*
 nsLanguageAtomService::GetLocaleLanguage()
 {
   do {
     if (!mLocaleLanguage) {
--- a/intl/locale/unix/nsUNIXCharset.cpp
+++ b/intl/locale/unix/nsUNIXCharset.cpp
@@ -18,19 +18,18 @@
 #include <nl_types.h>
 #endif
 #if HAVE_LANGINFO_CODESET
 #include <langinfo.h>
 #endif
 #include "nsPlatformCharset.h"
 #include "prinit.h"
 #include "nsUnicharUtils.h"
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 
-using mozilla::dom::EncodingUtils;
 using namespace mozilla;
 
 static constexpr nsUConvProp kUnixCharsets[] = {
 #include "unixcharset.properties.h"
 };
 
 NS_IMPL_ISUPPORTS(nsPlatformCharset, nsIPlatformCharset)
 
@@ -121,16 +120,16 @@ nsPlatformCharset::Init()
 nsresult
 nsPlatformCharset::VerifyCharset(nsCString &aCharset)
 {
   // fast path for UTF-8.  Most platform uses UTF-8 as charset now.
   if (aCharset.EqualsLiteral("UTF-8")) {
     return NS_OK;
   }
 
-  nsAutoCString encoding;
-  if (!EncodingUtils::FindEncodingForLabelNoReplacement(aCharset, encoding)) {
+  const Encoding* encoding = Encoding::ForLabelNoReplacement(aCharset);
+  if (!encoding) {
     return NS_ERROR_UCONV_NOCONV;
   }
 
-  aCharset.Assign(encoding);
+  encoding->Name(aCharset);
   return NS_OK;
 }
--- a/intl/uconv/nsConverterOutputStream.cpp
+++ b/intl/uconv/nsConverterOutputStream.cpp
@@ -20,19 +20,17 @@ NS_IMPL_ISUPPORTS(nsConverterOutputStrea
 
 nsConverterOutputStream::~nsConverterOutputStream()
 {
     Close();
 }
 
 NS_IMETHODIMP
 nsConverterOutputStream::Init(nsIOutputStream* aOutStream,
-                              const char* aCharset,
-                              uint32_t aBufferSize /* ignored */,
-                              char16_t aReplacementChar) /* ignored */
+                              const char* aCharset)
 {
     NS_PRECONDITION(aOutStream, "Null output stream!");
 
     const Encoding* encoding;
     if (!aCharset) {
       encoding = UTF_8_ENCODING;
     } else {
       encoding = Encoding::ForLabelNoReplacement(MakeStringSpan(aCharset));
--- a/intl/uconv/tests/unit/test_bug321379.js
+++ b/intl/uconv/tests/unit/test_bug321379.js
@@ -13,17 +13,17 @@ function run_test() {
                                                      "init");
 
 
 
   var storage = new StorageStream(1024, -1, null);
 
   // Output
   var outStr = storage.getOutputStream(0);
-  var out = new ConverterOutputStream(outStr, "UTF-8", 1024, 0xFFFD);
+  var out = new ConverterOutputStream(outStr, "UTF-8");
   out.writeString("Foo.");
   out.close();
   out.close(); // This line should not crash. It should just do nothing.
 
   // Input
   var inStr = storage.newInputStream(0);
   var inp = new ConverterInputStream(inStr, "UTF-8", 1024, 0xFFFD);
   inp.close();
--- a/intl/uconv/tests/unit/test_charset_conversion.js
+++ b/intl/uconv/tests/unit/test_charset_conversion.js
@@ -64,17 +64,17 @@ const UNICODE_FILES =
     "unicode-conversion.utf16be.txt":         "UTF-16BE"
   };
 
 function test_utf8_1()
 {
   for (var i = 0; i < UNICODE_STRINGS.length; i++)
   {
     var pipe = Pipe();
-    var conv = new COS(pipe.outputStream, "UTF-8", 1024, 0x0);
+    var conv = new COS(pipe.outputStream, "UTF-8");
     do_check_true(conv.writeString(UNICODE_STRINGS[i]));
     conv.close();
 
     if (!equalStreams(new UTF8(pipe.inputStream),
                stringToCodePoints(UNICODE_STRINGS[i])))
       do_throw("UNICODE_STRINGS[" + i + "] not handled correctly");
   }
 }
--- a/layout/base/nsDocumentViewer.cpp
+++ b/layout/base/nsDocumentViewer.cpp
@@ -36,18 +36,18 @@
 #include "nsIDOMHTMLDocument.h"
 #include "nsIDOMHTMLElement.h"
 #include "nsContentUtils.h"
 #include "nsLayoutStylesheetCache.h"
 #ifdef ACCESSIBILITY
 #include "mozilla/a11y/DocAccessible.h"
 #endif
 #include "mozilla/BasicEvents.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/Preferences.h"
-#include "mozilla/dom/EncodingUtils.h"
 #include "mozilla/WeakPtr.h"
 #include "mozilla/StyleSheet.h"
 #include "mozilla/StyleSheetInlines.h"
 
 #include "nsViewManager.h"
 #include "nsView.h"
 
 #include "nsIPageSequenceFrame.h"
@@ -3377,27 +3377,30 @@ SetChildForceCharacterSet(nsIContentView
 
 NS_IMETHODIMP
 nsDocumentViewer::SetForceCharacterSet(const nsACString& aForceCharacterSet)
 {
   // This method is scriptable, so add-ons could pass in something other
   // than a canonical name. However, in case where the input is a canonical
   // name, "replacement" doesn't survive label resolution. Additionally, the
   // empty string means no hint.
-  nsAutoCString encoding;
+  const Encoding* encoding = nullptr;
   if (!aForceCharacterSet.IsEmpty()) {
     if (aForceCharacterSet.EqualsLiteral("replacement")) {
-      encoding.AssignLiteral("replacement");
-    } else if (!EncodingUtils::FindEncodingForLabel(aForceCharacterSet,
-                                                    encoding)) {
+      encoding = REPLACEMENT_ENCODING;
+    } else if (!(encoding = Encoding::ForLabel(aForceCharacterSet))) {
       // Reject unknown labels
       return NS_ERROR_INVALID_ARG;
     }
   }
-  mForceCharacterSet = encoding;
+  if (encoding) {
+    encoding->Name(mForceCharacterSet);
+  } else {
+    mForceCharacterSet.Truncate();
+  }
   // now set the force char set on all children of mContainer
   CallChildren(SetChildForceCharacterSet, (void*) &aForceCharacterSet);
   return NS_OK;
 }
 
 NS_IMETHODIMP nsDocumentViewer::GetHintCharacterSet(nsACString& aHintCharacterSet)
 {
 
@@ -3444,27 +3447,30 @@ SetChildHintCharacterSet(nsIContentViewe
 
 NS_IMETHODIMP
 nsDocumentViewer::SetHintCharacterSet(const nsACString& aHintCharacterSet)
 {
   // This method is scriptable, so add-ons could pass in something other
   // than a canonical name. However, in case where the input is a canonical
   // name, "replacement" doesn't survive label resolution. Additionally, the
   // empty string means no hint.
-  nsAutoCString encoding;
+  const Encoding* encoding = nullptr;
   if (!aHintCharacterSet.IsEmpty()) {
     if (aHintCharacterSet.EqualsLiteral("replacement")) {
-      encoding.AssignLiteral("replacement");
-    } else if (!EncodingUtils::FindEncodingForLabel(aHintCharacterSet,
-                                                    encoding)) {
+      encoding = REPLACEMENT_ENCODING;
+    } else if (!(encoding = Encoding::ForLabel(aHintCharacterSet))) {
       // Reject unknown labels
       return NS_ERROR_INVALID_ARG;
     }
   }
-  mHintCharset = encoding;
+  if (encoding) {
+    encoding->Name(mHintCharset);
+  } else {
+    mHintCharset.Truncate();
+  }
   // now set the hint char set on all children of mContainer
   CallChildren(SetChildHintCharacterSet, (void*) &aHintCharacterSet);
   return NS_OK;
 }
 
 static void
 AppendChildSubtree(nsIContentViewer* aChild, void* aClosure)
 {
--- a/layout/style/Loader.cpp
+++ b/layout/style/Loader.cpp
@@ -68,18 +68,17 @@
 #endif
 
 #include "nsIDOMStyleSheet.h"
 #include "nsError.h"
 
 #include "nsIContentSecurityPolicy.h"
 #include "mozilla/dom/SRICheck.h"
 
-#include "mozilla/dom/EncodingUtils.h"
-using mozilla::dom::EncodingUtils;
+#include "mozilla/Encoding.h"
 
 using namespace mozilla::dom;
 
 /**
  * OVERALL ARCHITECTURE
  *
  * The CSS Loader gets requests to load various sorts of style sheets:
  * inline style from <style> elements, linked style, @import-ed child
@@ -671,44 +670,51 @@ SheetLoadData::OnDetermineCharset(nsIUni
   // Channel
   // @charset rule
   // charset attribute on the referrer
   // encoding of the referrer
   // UTF-8
 
   aCharset.Truncate();
 
-  if (nsContentUtils::CheckForBOM((const unsigned char*)aSegment.BeginReading(),
-                                  aSegment.Length(),
-                                  aCharset)) {
+  const Encoding* encoding;
+  size_t bomLength;
+  Tie(encoding, bomLength) = Encoding::ForBOM(aSegment);
+  Unused << bomLength;
+  if (encoding) {
+    encoding->Name(aCharset);
     // aCharset is now either "UTF-16BE", "UTF-16BE" or "UTF-8"
     // which will swallow the BOM.
     mCharset.Assign(aCharset);
     LOG(("  Setting from BOM to: %s", PromiseFlatCString(aCharset).get()));
     return NS_OK;
   }
 
   nsCOMPtr<nsIChannel> channel;
   nsAutoCString specified;
   aLoader->GetChannel(getter_AddRefs(channel));
   if (channel) {
     channel->GetContentCharset(specified);
-    if (EncodingUtils::FindEncodingForLabel(specified, aCharset)) {
+    encoding = Encoding::ForLabel(specified);
+    if (encoding) {
+      encoding->Name(aCharset);
       mCharset.Assign(aCharset);
       LOG(("  Setting from HTTP to: %s", PromiseFlatCString(aCharset).get()));
       return NS_OK;
     }
   }
 
   if (GetCharsetFromData(aSegment.BeginReading(),
                          aSegment.Length(),
                          specified)) {
-    if (EncodingUtils::FindEncodingForLabel(specified, aCharset)) {
-      if (aCharset.EqualsLiteral("UTF-16BE") ||
-          aCharset.EqualsLiteral("UTF-16LE")) {
+    encoding = Encoding::ForLabel(specified);
+    if (encoding) {
+      encoding->Name(aCharset);
+      if (encoding == UTF_16BE_ENCODING ||
+          encoding == UTF_16LE_ENCODING) {
         // Be consistent with HTML <meta> handling in face of impossibility.
         // When the @charset rule itself evidently was not UTF-16-encoded,
         // it saying UTF-16 has to be a lie.
         aCharset.AssignLiteral("UTF-8");
       }
       mCharset.Assign(aCharset);
       LOG(("  Setting from @charset rule to: %s",
           PromiseFlatCString(aCharset).get()));
@@ -716,27 +722,31 @@ SheetLoadData::OnDetermineCharset(nsIUni
     }
   }
 
   // Now try the charset on the <link> or processing instruction
   // that loaded us
   if (mOwningElement) {
     nsAutoString specified16;
     mOwningElement->GetCharset(specified16);
-    if (EncodingUtils::FindEncodingForLabel(specified16, aCharset)) {
+    encoding = Encoding::ForLabel(specified16);
+    if (encoding) {
+      encoding->Name(aCharset);
       mCharset.Assign(aCharset);
       LOG(("  Setting from charset attribute to: %s",
           PromiseFlatCString(aCharset).get()));
       return NS_OK;
     }
   }
 
   // In the preload case, the value of the charset attribute on <link> comes
   // in via mCharsetHint instead.
-  if (EncodingUtils::FindEncodingForLabel(mCharsetHint, aCharset)) {
+  encoding = Encoding::ForLabel(mCharsetHint);
+  if (encoding) {
+    encoding->Name(aCharset);
     mCharset.Assign(aCharset);
       LOG(("  Setting from charset attribute (preload case) to: %s",
           PromiseFlatCString(aCharset).get()));
     return NS_OK;
   }
 
   // Try charset from the parent stylesheet.
   if (mParentData) {
--- a/media/libcubeb/cubeb-pulse-rs/src/backend/context.rs
+++ b/media/libcubeb/cubeb-pulse-rs/src/backend/context.rs
@@ -561,19 +561,18 @@ impl Default for PulseDevListData {
 }
 
 fn pulse_format_to_cubeb_format(format: pa_sample_format_t) -> cubeb::DeviceFmt {
     match format {
         PA_SAMPLE_S16LE => cubeb::DEVICE_FMT_S16LE,
         PA_SAMPLE_S16BE => cubeb::DEVICE_FMT_S16BE,
         PA_SAMPLE_FLOAT32LE => cubeb::DEVICE_FMT_F32LE,
         PA_SAMPLE_FLOAT32BE => cubeb::DEVICE_FMT_F32BE,
-        _ => {
-            panic!("Invalid format");
-        },
+        // Unsupported format, return F32NE
+        _ => cubeb::CUBEB_FMT_F32NE,
     }
 }
 
 unsafe extern "C" fn pulse_sink_info_cb(_context: *mut pa_context,
                                         i: *const pa_sink_info,
                                         eol: i32,
                                         user_data: *mut c_void) {
     if eol != 0 || i.is_null() {
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
@@ -249,30 +249,16 @@ public class GeckoHlsPlayer implements B
         return new DefaultDataSourceFactory(ctx, bandwidthMeter,
                 buildHttpDataSourceFactory(bandwidthMeter));
     }
 
     private HttpDataSource.Factory buildHttpDataSourceFactory(DefaultBandwidthMeter bandwidthMeter) {
         return new DefaultHttpDataSourceFactory(AppConstants.USER_AGENT_FENNEC_MOBILE, bandwidthMeter);
     }
 
-    private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
-        if (DEBUG) { Log.d(LOGTAG, "buildMediaSource uri[" + uri + "]" + ", overridedExt[" + overrideExtension + "]"); }
-        int type = Util.inferContentType(TextUtils.isEmpty(overrideExtension)
-                                         ? uri.getLastPathSegment()
-                                         : "." + overrideExtension);
-        switch (type) {
-            case C.TYPE_HLS:
-                return new HlsMediaSource(uri, mMediaDataSourceFactory, mMainHandler, null);
-            default:
-                mResourceCallbacks.onError(ResourceError.UNSUPPORTED.code());
-                throw new IllegalArgumentException("Unsupported type: " + type);
-        }
-    }
-
     // To make sure that each player has a unique id, GeckoHlsPlayer should be
     // created only from synchronized APIs in GeckoPlayerFactory.
     public GeckoHlsPlayer() {
         mPlayerId = sPlayerId.incrementAndGet();
         if (DEBUG) { Log.d(LOGTAG, " construct player with id(" + mPlayerId + ")"); }
     }
 
     // Should be only called by GeckoPlayerFactory and GeckoHLSResourceWrapper.
@@ -536,17 +522,21 @@ public class GeckoHlsPlayer implements B
         mRenderers[1] = mARenderer;
 
         // Create ExoPlayer instance with specific components.
         mPlayer = ExoPlayerFactory.newInstance(mRenderers, mTrackSelector);
         mPlayer.addListener(this);
 
         Uri uri = Uri.parse(url);
         mMediaDataSourceFactory = buildDataSourceFactory(ctx, BANDWIDTH_METER);
-        mMediaSource = buildMediaSource(uri, null);
+        mMediaSource = new HlsMediaSource(uri, mMediaDataSourceFactory, mMainHandler, null);
+        if (DEBUG) {
+            Log.d(LOGTAG, "Uri is " + uri +
+                          ", ContentType is " + Util.inferContentType(uri.getLastPathSegment()));
+        }
 
         mPlayer.prepare(mMediaSource);
         mIsPlayerInitDone = true;
     }
 
     @Override
     public boolean isLiveStream() {
         return !mIsTimelineStatic;
--- a/netwerk/base/nsUnicharStreamLoader.cpp
+++ b/netwerk/base/nsUnicharStreamLoader.cpp
@@ -3,26 +3,25 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "mozilla/DebugOnly.h"
 
 #include "nsUnicharStreamLoader.h"
 #include "nsIInputStream.h"
 #include <algorithm>
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 
 // 1024 bytes is specified in
 // http://www.whatwg.org/specs/web-apps/current-work/#charset for HTML; for
 // other resource types (e.g. CSS) typically fewer bytes are fine too, since
 // they only look at things right at the beginning of the data.
 #define SNIFFING_BUFFER_SIZE 1024
 
 using namespace mozilla;
-using mozilla::dom::EncodingUtils;
 
 NS_IMETHODIMP
 nsUnicharStreamLoader::Init(nsIUnicharStreamLoaderObserver *aObserver)
 {
   NS_ENSURE_ARG_POINTER(aObserver);
 
   mObserver = aObserver;
 
@@ -179,25 +178,25 @@ nsUnicharStreamLoader::DetermineCharset(
     mCharset.AssignLiteral("UTF-8");
   }
 
   // Sadly, nsIUnicharStreamLoader is exposed to extensions, so we can't
   // assume mozilla::css::Loader to be the only caller. Special-casing
   // replacement, since it's not invariant under a second label resolution
   // operation.
   if (mCharset.EqualsLiteral("replacement")) {
-    mDecoder = EncodingUtils::DecoderForEncoding(mCharset);
+    mDecoder = REPLACEMENT_ENCODING->NewDecoderWithBOMRemoval();
   } else {
-    nsAutoCString charset;
-    if (!EncodingUtils::FindEncodingForLabelNoReplacement(mCharset, charset)) {
+    const Encoding* encoding = Encoding::ForLabelNoReplacement(mCharset);
+    if (!encoding) {
       // If we got replacement here, the caller was not mozilla::css::Loader
       // but an extension.
       return NS_ERROR_UCONV_NOCONV;
     }
-    mDecoder = EncodingUtils::DecoderForEncoding(charset);
+    mDecoder = encoding->NewDecoderWithBOMRemoval();
   }
 
   // Process the data into mBuffer
   uint32_t dummy;
   rv = WriteSegmentFun(nullptr, this,
                        mRawData.BeginReading(),
                        0, mRawData.Length(),
                        &dummy);
--- a/netwerk/mime/nsMIMEHeaderParamImpl.cpp
+++ b/netwerk/mime/nsMIMEHeaderParamImpl.cpp
@@ -16,19 +16,19 @@
 #include "nsEscape.h"
 #include "nsIUTF8ConverterService.h"
 #include "nsUConvCID.h"
 #include "nsIServiceManager.h"
 #include "nsMIMEHeaderParamImpl.h"
 #include "nsReadableUtils.h"
 #include "nsNativeCharsetUtils.h"
 #include "nsError.h"
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 
-using mozilla::dom::EncodingUtils;
+using mozilla::Encoding;
 
 // static functions declared below are moved from mailnews/mime/src/comi18n.cpp
   
 static char *DecodeQ(const char *, uint32_t);
 static bool Is7bitNonAsciiString(const char *, uint32_t);
 static void CopyRawHeader(const char *, uint32_t, const char *, nsACString &);
 static nsresult DecodeRFC2047Str(const char *, const char *, bool, nsACString&);
 static nsresult internalDecodeParameter(const nsACString&, const char*,
@@ -95,25 +95,24 @@ nsMIMEHeaderParamImpl::DoGetParameter(co
                                  // was aDecoding == MIME_FIELD_ENCODING
                                  // see bug 875615
                                  true,
                                  str1);
     NS_ENSURE_SUCCESS(rv, rv);
 
     if (!aFallbackCharset.IsEmpty())
     {
-        nsAutoCString charset;
-        EncodingUtils::FindEncodingForLabel(aFallbackCharset, charset);
+        const Encoding* encoding = Encoding::ForLabel(aFallbackCharset);
         nsAutoCString str2;
         nsCOMPtr<nsIUTF8ConverterService> 
           cvtUTF8(do_GetService(NS_UTF8CONVERTERSERVICE_CONTRACTID));
         if (cvtUTF8 &&
             NS_SUCCEEDED(cvtUTF8->ConvertStringToUTF8(str1, 
                 PromiseFlatCString(aFallbackCharset).get(), false,
-                                   !charset.EqualsLiteral("UTF-8"),
+                                   encoding != UTF_8_ENCODING,
                                    1, str2))) {
           CopyUTF8toUTF16(str2, aResult);
           return NS_OK;
         }
     }
 
     if (IsUTF8(str1)) {
       CopyUTF8toUTF16(str1, aResult);
--- a/netwerk/streamconv/converters/nsIndexedToHTML.cpp
+++ b/netwerk/streamconv/converters/nsIndexedToHTML.cpp
@@ -1,16 +1,17 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* 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 "nsIndexedToHTML.h"
+
 #include "DateTimeFormat.h"
-#include "nsIndexedToHTML.h"
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/Encoding.h"
 #include "mozilla/intl/LocaleService.h"
 #include "nsNetUtil.h"
 #include "netCore.h"
 #include "nsStringStream.h"
 #include "nsIFile.h"
 #include "nsIFileURL.h"
 #include "nsEscape.h"
 #include "nsIDirIndex.h"
--- a/parser/html/nsHtml5MetaScannerCppSupplement.h
+++ b/parser/html/nsHtml5MetaScannerCppSupplement.h
@@ -1,17 +1,15 @@
 /* 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 "nsISupportsImpl.h"
 
-#include "mozilla/dom/EncodingUtils.h"
-
-using mozilla::dom::EncodingUtils;
+#include "mozilla/Encoding.h"
 
 void
 nsHtml5MetaScanner::sniff(nsHtml5ByteReadable* bytes, nsACString& charset)
 {
   readable = bytes;
   stateLoop(stateSave);
   readable = nullptr;
   charset.Assign(mCharset);
@@ -22,25 +20,25 @@ nsHtml5MetaScanner::tryCharset(nsHtml5St
 {
   // This code needs to stay in sync with
   // nsHtml5StreamParser::internalEncodingDeclaration. Unfortunately, the
   // trickery with member fields here leads to some copy-paste reuse. :-(
   nsAutoCString label;
   nsString charset16; // Not Auto, because using it to hold nsStringBuffer*
   charset.ToString(charset16);
   CopyUTF16toUTF8(charset16, label);
-  nsAutoCString encoding;
-  if (!EncodingUtils::FindEncodingForLabel(label, encoding)) {
+  const mozilla::Encoding* encoding = mozilla::Encoding::ForLabel(label);
+  if (!encoding) {
     return false;
   }
-  if (encoding.EqualsLiteral("UTF-16BE") ||
-      encoding.EqualsLiteral("UTF-16LE")) {
+  if (encoding == UTF_16BE_ENCODING ||
+      encoding == UTF_16LE_ENCODING) {
     mCharset.AssignLiteral("UTF-8");
     return true;
   }
-  if (encoding.EqualsLiteral("x-user-defined")) {
+  if (encoding == X_USER_DEFINED_ENCODING) {
     // WebKit/Blink hack for Indian and Armenian legacy sites
     mCharset.AssignLiteral("windows-1252");
     return true;
   }
-  mCharset.Assign(encoding);
+  encoding->Name(mCharset);
   return true;
 }
--- a/parser/html/nsHtml5StreamParser.cpp
+++ b/parser/html/nsHtml5StreamParser.cpp
@@ -1,17 +1,18 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set sw=2 ts=2 et tw=79: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-#include "mozilla/DebugOnly.h"
+#include "nsHtml5StreamParser.h"
 
-#include "nsHtml5StreamParser.h"
+#include "mozilla/DebugOnly.h"
+#include "mozilla/Encoding.h"
 #include "nsContentUtils.h"
 #include "nsHtml5Tokenizer.h"
 #include "nsIHttpChannel.h"
 #include "nsHtml5Parser.h"
 #include "nsHtml5TreeBuilder.h"
 #include "nsHtml5AtomTable.h"
 #include "nsHtml5Module.h"
 #include "nsHtml5RefPtr.h"
@@ -24,20 +25,17 @@
 #include "nsINestedURI.h"
 #include "nsCharsetSource.h"
 #include "nsIWyciwygChannel.h"
 #include "nsIThreadRetargetableRequest.h"
 #include "nsPrintfCString.h"
 #include "nsNetUtil.h"
 #include "nsXULAppAPI.h"
 
-#include "mozilla/dom/EncodingUtils.h"
-
 using namespace mozilla;
-using mozilla::dom::EncodingUtils;
 
 int32_t nsHtml5StreamParser::sTimerInitialDelay = 120;
 int32_t nsHtml5StreamParser::sTimerSubsequentDelay = 120;
 
 // static
 void
 nsHtml5StreamParser::InitializeStatics()
 {
@@ -250,40 +248,42 @@ nsHtml5StreamParser::GetChannel(nsIChann
 }
 
 NS_IMETHODIMP
 nsHtml5StreamParser::Notify(const char* aCharset, nsDetectionConfident aConf)
 {
   NS_ASSERTION(IsParserThread(), "Wrong thread!");
   if (aConf == eBestAnswer || aConf == eSureAnswer) {
     mFeedChardet = false; // just in case
-    nsAutoCString encoding;
-    if (!EncodingUtils::FindEncodingForLabelNoReplacement(
-        nsDependentCString(aCharset), encoding)) {
+    const Encoding* encoding = Encoding::ForLabelNoReplacement(
+        nsDependentCString(aCharset));
+    if (!encoding) {
       return NS_OK;
     }
+    nsAutoCString charset;
+    encoding->Name(charset);
     if (HasDecoder()) {
-      if (mCharset.Equals(encoding)) {
+      if (mCharset.Equals(charset)) {
         NS_ASSERTION(mCharsetSource < kCharsetFromAutoDetection,
             "Why are we running chardet at all?");
         mCharsetSource = kCharsetFromAutoDetection;
         mTreeBuilder->SetDocumentCharset(mCharset, mCharsetSource);
       } else {
         // We've already committed to a decoder. Request a reload from the
         // docshell.
-        mTreeBuilder->NeedsCharsetSwitchTo(encoding,
+        mTreeBuilder->NeedsCharsetSwitchTo(charset,
                                            kCharsetFromAutoDetection,
                                            0);
         FlushTreeOpsAndDisarmTimer();
         Interrupt();
       }
     } else {
       // Got a confident answer from the sniffing buffer. That code will
       // take care of setting up the decoder.
-      mCharset.Assign(encoding);
+      mCharset.Assign(charset);
       mCharsetSource = kCharsetFromAutoDetection;
       mTreeBuilder->SetDocumentCharset(mCharset, mCharsetSource);
     }
   }
   return NS_OK;
 }
 
 void
@@ -316,17 +316,17 @@ nsHtml5StreamParser::SetViewSourceTitle(
 
 nsresult
 nsHtml5StreamParser::SetupDecodingAndWriteSniffingBufferAndCurrentSegment(const uint8_t* aFromSegment, // can be null
                                                                           uint32_t aCount,
                                                                           uint32_t* aWriteCount)
 {
   NS_ASSERTION(IsParserThread(), "Wrong thread!");
   nsresult rv = NS_OK;
-  mUnicodeDecoder = EncodingUtils::DecoderForEncoding(mCharset);
+  mUnicodeDecoder = Encoding::ForName(mCharset)->NewDecoderWithBOMRemoval();
   if (mSniffingBuffer) {
     uint32_t writeCount;
     rv = WriteStreamBytes(mSniffingBuffer.get(), mSniffingLength, &writeCount);
     NS_ENSURE_SUCCESS(rv, rv);
     mSniffingBuffer = nullptr;
   }
   mMetaScanner = nullptr;
   if (aFromSegment) {
@@ -335,17 +335,17 @@ nsHtml5StreamParser::SetupDecodingAndWri
   return rv;
 }
 
 nsresult
 nsHtml5StreamParser::SetupDecodingFromBom(const char* aDecoderCharsetName)
 {
   NS_ASSERTION(IsParserThread(), "Wrong thread!");
   mCharset.Assign(aDecoderCharsetName);
-  mUnicodeDecoder = EncodingUtils::DecoderForEncoding(mCharset);
+  mUnicodeDecoder = Encoding::ForName(mCharset)->NewDecoderWithBOMRemoval();
   mCharsetSource = kCharsetFromByteOrderMark;
   mFeedChardet = false;
   mTreeBuilder->SetDocumentCharset(mCharset, mCharsetSource);
   mSniffingBuffer = nullptr;
   mMetaScanner = nullptr;
   mBomState = BOM_SNIFFING_OVER;
   return NS_OK;
 }
@@ -737,34 +737,36 @@ nsHtml5StreamParser::SniffStreamBytes(co
 
   if (mSniffingLength + aCount >= NS_HTML5_STREAM_PARSER_SNIFFING_BUFFER_SIZE) {
     // this is the last buffer
     uint32_t countToSniffingLimit =
         NS_HTML5_STREAM_PARSER_SNIFFING_BUFFER_SIZE - mSniffingLength;
     if (mMode == NORMAL || mMode == VIEW_SOURCE_HTML || mMode == LOAD_AS_DATA) {
       nsHtml5ByteReadable readable(aFromSegment, aFromSegment +
           countToSniffingLimit);
-      nsAutoCString encoding;
-      mMetaScanner->sniff(&readable, encoding);
+      nsAutoCString charset;
+      mMetaScanner->sniff(&readable, charset);
       // Due to the way nsHtml5Portability reports OOM, ask the tree buider
       nsresult rv;
       if (NS_FAILED((rv = mTreeBuilder->IsBroken()))) {
         MarkAsBroken(rv);
         return rv;
       }
-      if (!encoding.IsEmpty()) {
+      if (!charset.IsEmpty()) {
+        const Encoding* encoding = Encoding::ForName(charset);
         // meta scan successful; honor overrides unless meta is XSS-dangerous
         if ((mCharsetSource == kCharsetFromParentForced ||
              mCharsetSource == kCharsetFromUserForced) &&
-            EncodingUtils::IsAsciiCompatible(encoding)) {
+            (encoding->IsAsciiCompatible() ||
+             encoding == ISO_2022_JP_ENCODING)) {
           // Honor override
           return SetupDecodingAndWriteSniffingBufferAndCurrentSegment(
             aFromSegment, aCount, aWriteCount);
         }
-        mCharset.Assign(encoding);
+        mCharset.Assign(charset);
         mCharsetSource = kCharsetFromMetaPrescan;
         mFeedChardet = false;
         mTreeBuilder->SetDocumentCharset(mCharset, mCharsetSource);
         return SetupDecodingAndWriteSniffingBufferAndCurrentSegment(
           aFromSegment, aCount, aWriteCount);
       }
     }
     if (mCharsetSource == kCharsetFromParentForced ||
@@ -775,34 +777,36 @@ nsHtml5StreamParser::SniffStreamBytes(co
     }
     return FinalizeSniffing(aFromSegment, aCount, aWriteCount,
         countToSniffingLimit);
   }
 
   // not the last buffer
   if (mMode == NORMAL || mMode == VIEW_SOURCE_HTML || mMode == LOAD_AS_DATA) {
     nsHtml5ByteReadable readable(aFromSegment, aFromSegment + aCount);
-    nsAutoCString encoding;
-    mMetaScanner->sniff(&readable, encoding);
+    nsAutoCString charset;
+    mMetaScanner->sniff(&readable, charset);
     // Due to the way nsHtml5Portability reports OOM, ask the tree buider
     nsresult rv;
     if (NS_FAILED((rv = mTreeBuilder->IsBroken()))) {
       MarkAsBroken(rv);
       return rv;
     }
-    if (!encoding.IsEmpty()) {
+    if (!charset.IsEmpty()) {
+      const Encoding* encoding = Encoding::ForName(charset);
       // meta scan successful; honor overrides unless meta is XSS-dangerous
       if ((mCharsetSource == kCharsetFromParentForced ||
            mCharsetSource == kCharsetFromUserForced) &&
-          EncodingUtils::IsAsciiCompatible(encoding)) {
+          (encoding->IsAsciiCompatible() ||
+           encoding == ISO_2022_JP_ENCODING)) {
         // Honor override
         return SetupDecodingAndWriteSniffingBufferAndCurrentSegment(aFromSegment,
             aCount, aWriteCount);
       }
-      mCharset.Assign(encoding);
+      mCharset.Assign(charset);
       mCharsetSource = kCharsetFromMetaPrescan;
       mFeedChardet = false;
       mTreeBuilder->SetDocumentCharset(mCharset, mCharsetSource);
       return SetupDecodingAndWriteSniffingBufferAndCurrentSegment(aFromSegment,
         aCount, aWriteCount);
     }
   }
 
@@ -998,17 +1002,17 @@ nsHtml5StreamParser::OnStartRequest(nsIR
 
   // We are reloading a document.open()ed doc or loading JSON/WebVTT/etc. into
   // a browsing context. In the latter case, there's no need to remove the
   // BOM manually here, because the UTF-8 decoder removes it.
   mReparseForbidden = true;
   mFeedChardet = false;
 
   // Instantiate the converter here to avoid BOM sniffing.
-  mUnicodeDecoder = EncodingUtils::DecoderForEncoding(mCharset);
+  mUnicodeDecoder = Encoding::ForName(mCharset)->NewDecoderWithBOMRemoval();
   return NS_OK;
 }
 
 nsresult
 nsHtml5StreamParser::CheckListenerChain()
 {
   NS_ASSERTION(NS_IsMainThread(), "Should be on the main thread!");
   if (!mObserver) {
@@ -1225,59 +1229,59 @@ nsHtml5StreamParser::CopySegmentsToParse
   // Assume DoDataAvailable consumed all available bytes.
   *aWriteCount = aCount;
   return NS_OK;
 }
 
 bool
 nsHtml5StreamParser::PreferredForInternalEncodingDecl(nsACString& aEncoding)
 {
-  nsAutoCString newEncoding;
-  if (!EncodingUtils::FindEncodingForLabel(aEncoding, newEncoding)) {
+  const Encoding* newEncoding = Encoding::ForLabel(aEncoding);
+  if (!newEncoding) {
     // the encoding name is bogus
     mTreeBuilder->MaybeComplainAboutCharset("EncMetaUnsupported",
                                             true,
                                             mTokenizer->getLineNumber());
     return false;
   }
 
-  if (newEncoding.EqualsLiteral("UTF-16BE") ||
-      newEncoding.EqualsLiteral("UTF-16LE")) {
+  if (newEncoding == UTF_16BE_ENCODING ||
+      newEncoding == UTF_16LE_ENCODING) {
     mTreeBuilder->MaybeComplainAboutCharset("EncMetaUtf16",
                                             true,
                                             mTokenizer->getLineNumber());
-    newEncoding.AssignLiteral("UTF-8");
+    newEncoding = UTF_8_ENCODING;
   }
 
-  if (newEncoding.EqualsLiteral("x-user-defined")) {
+  if (newEncoding == X_USER_DEFINED_ENCODING) {
     // WebKit/Blink hack for Indian and Armenian legacy sites
     mTreeBuilder->MaybeComplainAboutCharset("EncMetaUserDefined",
                                             true,
                                             mTokenizer->getLineNumber());
-    newEncoding.AssignLiteral("windows-1252");
+    newEncoding = WINDOWS_1252_ENCODING;
   }
 
-  if (newEncoding.Equals(mCharset)) {
+  if (newEncoding == Encoding::ForName(mCharset)) {
     if (mCharsetSource < kCharsetFromMetaPrescan) {
       if (mInitialEncodingWasFromParentFrame) {
         mTreeBuilder->MaybeComplainAboutCharset("EncLateMetaFrame",
                                                 false,
                                                 mTokenizer->getLineNumber());
       } else {
         mTreeBuilder->MaybeComplainAboutCharset("EncLateMeta",
                                                 false,
                                                 mTokenizer->getLineNumber());
       }
     }
     mCharsetSource = kCharsetFromMetaTag; // become confident
     mFeedChardet = false; // don't feed chardet when confident
     return false;
   }
 
-  aEncoding.Assign(newEncoding);
+  newEncoding->Name(aEncoding);
   return true;
 }
 
 bool
 nsHtml5StreamParser::internalEncodingDeclaration(nsHtml5String aEncoding)
 {
   // This code needs to stay in sync with
   // nsHtml5MetaScanner::tryCharset. Unfortunately, the
--- a/parser/htmlparser/nsParser.cpp
+++ b/parser/htmlparser/nsParser.cpp
@@ -29,26 +29,24 @@
 #include "nsStreamUtils.h"
 #include "nsHTMLTokenizer.h"
 #include "nsDataHashtable.h"
 #include "nsXPCOMCIDInternal.h"
 #include "nsMimeTypes.h"
 #include "mozilla/CondVar.h"
 #include "mozilla/Mutex.h"
 #include "nsCharsetSource.h"
-#include "nsContentUtils.h"
 #include "nsThreadUtils.h"
 #include "nsIHTMLContentSink.h"
 
-#include "mozilla/dom/EncodingUtils.h"
+#include "mozilla/BinarySearch.h"
 #include "mozilla/dom/ScriptLoader.h"
-#include "mozilla/BinarySearch.h"
+#include "mozilla/Encoding.h"
 
 using namespace mozilla;
-using mozilla::dom::EncodingUtils;
 
 #define NS_PARSER_FLAG_OBSERVERS_ENABLED      0x00000004
 #define NS_PARSER_FLAG_PENDING_CONTINUE_EVENT 0x00000008
 #define NS_PARSER_FLAG_FLUSH_TOKENS           0x00000020
 #define NS_PARSER_FLAG_CAN_TOKENIZE           0x00000040
 
 //-------------- Begin ParseContinue Event Definition ------------------------
 /*
@@ -1329,33 +1327,37 @@ ParserWriteFunc(nsIInputStream* in,
   if (!pws) {
     return NS_ERROR_FAILURE;
   }
 
   if (pws->mNeedCharsetCheck) {
     pws->mNeedCharsetCheck = false;
     int32_t source;
     nsAutoCString preferred;
-    nsAutoCString maybePrefer;
     pws->mParser->GetDocumentCharset(preferred, source);
 
     // This code was bogus when I found it. It expects the BOM or the XML
     // declaration to be entirely in the first network buffer. -- hsivonen
-    if (nsContentUtils::CheckForBOM(buf, count, maybePrefer)) {
+    const Encoding* encoding;
+    size_t bomLength;
+    Tie(encoding, bomLength) = Encoding::ForBOM(MakeSpan(buf, count));
+    Unused << bomLength;
+    if (encoding) {
       // The decoder will swallow the BOM. The UTF-16 will re-sniff for
       // endianness. The value of preferred is now "UTF-8", "UTF-16LE"
       // or "UTF-16BE".
-      preferred.Assign(maybePrefer);
+      encoding->Name(preferred);
       source = kCharsetFromByteOrderMark;
     } else if (source < kCharsetFromChannel) {
       nsAutoCString declCharset;
 
       if (ExtractCharsetFromXmlDeclaration(buf, count, declCharset)) {
-        if (EncodingUtils::FindEncodingForLabel(declCharset, maybePrefer)) {
-          preferred.Assign(maybePrefer);
+        encoding = Encoding::ForLabel(declCharset);
+        if (encoding) {
+          encoding->Name(preferred);
           source = kCharsetFromMetaTag;
         }
       }
     }
 
     pws->mParser->SetDocumentCharset(preferred, source);
     pws->mParser->SetSinkCharset(preferred);
 
--- a/parser/htmlparser/nsScanner.cpp
+++ b/parser/htmlparser/nsScanner.cpp
@@ -1,33 +1,30 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=2 sw=2 et tw=78: */
 /* 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/. */
 
 //#define __INCREMENTAL 1
 
+#include "nsScanner.h"
+
 #include "mozilla/Attributes.h"
 #include "mozilla/DebugOnly.h"
-
-#include "nsScanner.h"
+#include "mozilla/Encoding.h"
 #include "nsDebug.h"
 #include "nsReadableUtils.h"
 #include "nsIInputStream.h"
 #include "nsIFile.h"
 #include "nsUTF8Utils.h" // for LossyConvertEncoding
 #include "nsCRT.h"
 #include "nsParser.h"
 #include "nsCharsetSource.h"
 
-#include "mozilla/dom/EncodingUtils.h"
-
-using mozilla::dom::EncodingUtils;
-
 nsReadEndCondition::nsReadEndCondition(const char16_t* aTerminateChars) :
   mChars(aTerminateChars), mFilter(char16_t(~0)) // All bits set
 {
   // Build filter that will be used to filter out characters with
   // bits that none of the terminal chars have. This works very well
   // because terminal chars often have only the last 4-6 bits set and
   // normal ascii letters have bit 7 set. Other letters have even higher
   // bits set.
@@ -101,34 +98,35 @@ nsScanner::nsScanner(nsString& aFilename
 
 nsresult nsScanner::SetDocumentCharset(const nsACString& aCharset , int32_t aSource)
 {
   if (aSource < mCharsetSource) // priority is lower than the current one
     return NS_OK;
 
   mCharsetSource = aSource;
 
-  nsCString charsetName;
+  const Encoding* encoding;
   if (aCharset.EqualsLiteral("replacement")) {
-    charsetName.Assign(aCharset);
+    encoding = REPLACEMENT_ENCODING;
   } else {
-    mozilla::DebugOnly<bool> valid =
-        EncodingUtils::FindEncodingForLabel(aCharset, charsetName);
-    MOZ_ASSERT(valid, "Should never call with a bogus aCharset.");
+    encoding = Encoding::ForLabel(aCharset);
+    MOZ_ASSERT(encoding, "Should never call with a bogus aCharset.");
   }
 
+  nsCString charsetName;
+  encoding->Name(charsetName);
   if (!mCharset.IsEmpty() && charsetName.Equals(mCharset)) {
     return NS_OK; // no difference, don't change it
   }
 
   // different, need to change it
 
   mCharset.Assign(charsetName);
 
-  mUnicodeDecoder = EncodingUtils::DecoderForEncoding(mCharset);
+  mUnicodeDecoder = encoding->NewDecoderWithBOMRemoval();
 
   return NS_OK;
 }
 
 
 /**
  *  default destructor
  *  
--- a/parser/xml/nsSAXXMLReader.cpp
+++ b/parser/xml/nsSAXXMLReader.cpp
@@ -1,30 +1,30 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
+#include "nsSAXXMLReader.h"
+
+#include "mozilla/Encoding.h"
 #include "nsIInputStream.h"
 #include "nsNetCID.h"
 #include "nsNetUtil.h"
 #include "NullPrincipal.h"
 #include "nsIParser.h"
 #include "nsParserCIID.h"
 #include "nsStreamUtils.h"
 #include "nsStringStream.h"
 #include "nsIScriptError.h"
 #include "nsSAXAttributes.h"
 #include "nsSAXLocator.h"
-#include "nsSAXXMLReader.h"
 #include "nsCharsetSource.h"
 
-#include "mozilla/dom/EncodingUtils.h"
-
-using mozilla::dom::EncodingUtils;
+using mozilla::Encoding;
 
 #define XMLNS_URI "http://www.w3.org/2000/xmlns/"
 
 static NS_DEFINE_CID(kParserCID, NS_PARSER_CID);
 
 NS_IMPL_CYCLE_COLLECTION(nsSAXXMLReader,
                          mContentHandler,
                          mDTDHandler,
@@ -648,21 +648,21 @@ nsSAXXMLReader::TryChannelCharset(nsICha
 {
   if (aCharsetSource >= kCharsetFromChannel)
     return true;
   
   if (aChannel) {
     nsAutoCString charsetVal;
     nsresult rv = aChannel->GetContentCharset(charsetVal);
     if (NS_SUCCEEDED(rv)) {
-      nsAutoCString preferred;
-      if (!EncodingUtils::FindEncodingForLabel(charsetVal, preferred))
+      const Encoding* preferred = Encoding::ForLabel(charsetVal);
+      if (!preferred)
         return false;
 
-      aCharset = preferred;
+      preferred->Name(aCharset);
       aCharsetSource = kCharsetFromChannel;
       return true;
     }
   }
 
   return false;
 }
 
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -1156,9 +1156,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 = 480;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1506180969403000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1506266483788000);
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -1,11 +1,10 @@
 007sascha.de: 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]
-0day.su: could not connect to host
 0f.io: did not receive HSTS header
 0g.org.uk: could not connect to host
 0o0.ooo: could not connect to host
 0p.no: did not receive HSTS header
 0x0a.net: could not connect to host
 0x1337.eu: could not connect to host
 0x44.net: did not receive HSTS header
 0x539.pw: could not connect to host
@@ -43,17 +42,19 @@ 206rc.net: max-age too low: 2592000
 21lg.co: could not connect to host
 247loan.com: max-age too low: 0
 24hourpaint.com: could not connect to host
 24sihu.com: could not connect to host
 25daysof.io: 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
+2kgwf.fi: could not connect to host
 2or3.tk: could not connect to host
+2programmers.net: could not connect to host
 2ss.jp: did not receive HSTS header
 300651.ru: did not receive HSTS header
 300m.com: did not receive HSTS header
 300mbmovies4u.cc: could not connect to host
 301.website: could not connect to host
 302.nyc: could not connect to host
 33drugstore.com: did not receive HSTS header
 360gradus.com: did not receive HSTS header
@@ -66,22 +67,21 @@ 3click-loan.com: could not connect to ho
 3delivered.com: could not connect to host
 3dproteinimaging.com: did not receive HSTS header
 3sreporting.com: did not receive HSTS header
 3yearloans.com: could not connect to host
 404.sh: max-age too low: 0
 404404.info: could not connect to host
 420dongstorm.com: could not connect to host
 42ms.org: could not connect to host
-441jj.com: did not receive HSTS header
 4455software.com: did not receive HSTS header
 4679.space: could not connect to host
 4azino777.ru: could not connect to host
 4cclothing.com: could not connect to host
-4elements.com: could not connect to host
+4elements.com: did not receive HSTS header
 4eyes.ch: did not receive HSTS header
 4miners.net: could not connect to host
 4sqsu.eu: could not connect to host
 4w-performers.link: could not connect to host
 50millionablaze.org: 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
@@ -207,16 +207,17 @@ aids.gov: did not receive HSTS header
 aircomms.com: did not receive HSTS header
 airlea.com: could not connect to host
 airlinecheckins.com: did not receive HSTS header
 airproto.com: could not connect to host
 aishnair.com: could not connect to host
 aiticon.de: did not receive HSTS header
 aiw-thkoeln.online: could not connect to host
 ajmahal.com: could not connect to host
+aka.my: did not receive HSTS header
 akboy.pw: could not connect to host
 akclinics.org: did not receive HSTS header
 akerek.hu: could not connect to host
 akgundemirbas.com: could not connect to host
 akkadia.cc: could not connect to host
 akombakom.net: did not receive HSTS header
 akselimedia.fi: did not receive HSTS header
 aktivist.in: did not receive HSTS header
@@ -257,17 +258,16 @@ alphabit-secure.com: could not connect t
 alphabuild.io: could not connect to host
 alphalabs.xyz: could not connect to host
 alt33c3.org: could not connect to host
 altamarea.se: could not connect to host
 alterbaum.net: did not receive HSTS header
 altfire.ca: could not connect to host
 altmv.com: max-age too low: 7776000
 aluminium-scaffolding.co.uk: could not connect to host
-alvicom.hu: could not connect to host
 alza.at: did not receive HSTS header
 alza.co.uk: did not receive HSTS header
 alza.cz: did not receive HSTS header
 alza.de: did not receive HSTS header
 alza.hu: did not receive HSTS header
 alza.sk: did not receive HSTS header
 alzashop.com: did not receive HSTS header
 am3.se: could not connect to host
@@ -374,17 +374,16 @@ aqilacademy.com.au: could not connect to
 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
 arboineuropa.nl: did not receive HSTS header
 arboleda-hurtado.com: could not connect to host
 arbu.eu: max-age too low: 2419200
 arcbit.io: could not connect to host
-area536.com: could not connect to host
 argennon.xyz: could not connect to host
 arguggi.co.uk: could not connect to host
 ariacreations.net: did not receive HSTS header
 aristilabs.com: did not receive HSTS header
 arlen.se: could not connect to host
 armor.com: did not receive HSTS header
 armory.consulting: could not connect to host
 armory.supplies: could not connect to host
@@ -482,18 +481,18 @@ avqueen.cn: did not receive HSTS header
 avus-automobile.com: did not receive HSTS header
 awanderlustadventure.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
 ayuru.info: did not receive HSTS header
 az.search.yahoo.com: did not receive HSTS header
+azabani.com: could not connect to host
 azino777.ru: did not receive HSTS header
-azort.com: did not receive HSTS header
 azprep.us: could not connect to host
 b-landia.net: could not connect to host
 b303.me: did not receive HSTS header
 b3orion.com: max-age too low: 0
 baby-click.de: could not connect to host
 babybee.ie: could not connect to host
 babybic.hu: did not receive HSTS header
 babycs.house: could not connect to host
@@ -515,16 +514,17 @@ balcan-underground.net: could not connec
 baldwinkoo.com: could not connect to host
 baleares.party: could not connect to host
 balloonphp.com: could not connect to host
 balonmano.co: could not connect to host
 bananabandy.com: 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
+bankofdenton.com: could not connect to host
 bannisbierblog.de: could not connect to host
 banqingdiao.com: could not connect to host
 barbaros.info: could not connect to host
 barely.sexy: did not receive HSTS header
 bariller.fr: could not connect to host
 barrelhead.org: could not connect to host
 barss.io: could not connect to host
 barunisystems.com: could not connect to host
@@ -565,17 +565,19 @@ beastowner.com: did not receive HSTS hea
 beautyconcept.co: did not receive HSTS header
 beavers.io: could not connect to host
 bebeefy.uk: 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
+beehosting.pro: did not receive HSTS header
 beetleroadstories.com: could not connect to host
+beetman.net: did not receive HSTS header
 behere.be: could not connect to host
 beholdthehurricane.com: could not connect to host
 beier.io: did not receive HSTS header
 beikeil.de: did not receive HSTS header
 belairsewvac.com: did not receive HSTS header
 belics.com: did not receive HSTS header
 belltower.io: could not connect to host
 bemyvictim.com: max-age too low: 2678400
@@ -661,16 +663,22 @@ bitnet.io: did not receive HSTS header
 bitrage.de: could not connect to host
 bitref.com: did not receive HSTS header
 bitsafe.systems: did not receive HSTS header
 bitvigor.com: 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
 bkb-skandal.ch: could not connect to host
+blablacar.co.uk: did not receive HSTS header
+blablacar.com.ua: did not receive HSTS header
+blablacar.de: did not receive HSTS header
+blablacar.it: did not receive HSTS header
+blablacar.mx: did not receive HSTS header
+blablacar.pt: did not receive HSTS header
 black-armada.com.pl: could not connect to host
 black-armada.pl: could not connect to host
 black-octopus.ru: did not receive HSTS header
 blackburn.link: could not connect to host
 blackdragoninc.org: could not connect to host
 blacklane.com: did not receive HSTS header
 blackly.uk: max-age too low: 0
 blackpayment.ru: could not connect to host
@@ -678,17 +686,17 @@ blackunicorn.wtf: could not connect to h
 blakerandall.xyz: could not connect to host
 blantik.net: could not connect to host
 blendle.nl: did not receive HSTS header
 blendlecdn.com: could not connect to host
 blenheimchalcot.com: did not receive HSTS header
 blessnet.jp: did not receive HSTS header
 blha303.com.au: could not connect to host
 blindsexdate.nl: could not connect to host
-blitzprog.org: could not connect to host
+blitzprog.org: did not receive HSTS header
 blocksatz-medien.de: did not receive HSTS header
 blog-ritaline.com: could not connect to host
 blog.cyveillance.com: did not receive HSTS header
 blog.torproject.org: did not receive HSTS header
 blogabout.ru: did not receive HSTS header
 bloglikepro.com: could not connect to host
 blowjs.com: could not connect to host
 blubbablasen.de: could not connect to host
@@ -772,26 +780,29 @@ buben.tech: could not connect to host
 buchheld.at: did not receive HSTS header
 bucket.tk: could not connect to host
 budgetthostels.nl: did not receive HSTS header
 budskap.eu: could not connect to host
 buero-stempel.de: max-age too low: 86400
 buffhack.com: did not receive HSTS header
 bugtrack.io: did not receive HSTS header
 buhler.pro: did not receive HSTS header
+build.chromium.org: did not receive HSTS header (error ignored - included regardless)
 buildci.asia: could not connect to host
 buildify.co.za: could not connect to host
 buildsaver.co.za: did not receive HSTS header
 built.by: did not receive HSTS header
+bul3seas.eu: could not connect to host
 bulkbuy.tech: could not connect to host
 bullbits.com: could not connect to host
 bulletpoint.cz: could not connect to host
 bullterrier.me: could not connect to host
 bulmafox.com: could not connect to host
 bumarkamoda.com: could not connect to host
+bunadarbankinn.is: could not connect to host
 bunaken.asia: did not receive HSTS header
 bunbomenu.de: could not connect to host
 bunsenlabs.org: max-age too low: 259200
 burian-server.cz: could not connect to host
 burningcrash.de: max-age too low: 600000
 burpsuite.site: could not connect to host
 burrow.ovh: could not connect to host
 burtrum.me: could not connect to host
@@ -860,24 +871,22 @@ calgaryconstructionjobs.com: did not rec
 calix.com: max-age too low: 0
 callaction.co: max-age too low: 2628000
 calltrackingreports.com: could not connect to host
 caltonnutrition.com: did not receive HSTS header
 calvin.me: max-age too low: 2592000
 calvinallen.net: could not connect to host
 camashop.de: did not receive HSTS header
 cambridgeanalytica.org: did not receive HSTS header
-camerweb.es: could not connect to host
 camjackson.net: did not receive HSTS header
 camolist.com: could not connect to host
 campaignelves.com: did not receive HSTS header
 campfire.co.il: did not receive HSTS header
 camsanalytics.com: could not connect to host
 canadiangamblingchoice.com: did not receive HSTS header
-canarianlegalalliance.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: could not connect to host
 cannarobotics.com: could not connect to host
 canyonshoa.com: did not receive HSTS header
 capecycles.co.za: did not receive HSTS header
@@ -887,37 +896,37 @@ captchatheprize.com: could not connect t
 captivatedbytabrett.com: 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
 cardoni.net: did not receive HSTS header
 cardstream.com: did not receive HSTS header
 cardurl.com: did not receive HSTS header
 caringladies.org: could not connect to host
-carlo.mx: could not connect to host
+carlo.mx: did not receive HSTS header
 carlolly.co.uk: could not connect to host
 carlosalves.info: could not connect to host
 carpliyz.com: could not connect to host
 carroarmato0.be: could not connect to host
 carsforbackpackers.com: could not connect to host
 carwashvapeur.be: could not connect to host
 casc.cz: did not receive HSTS header
 casedi.org: max-age too low: 0
 casefall.com: could not connect to host
+cashew3d.com: could not connect to host
 cashlink.io: did not receive HSTS header
 cashmojo.com: could not connect to host
 cashmyphone.ch: could not connect to host
 casino-cashflow.ru: did not receive HSTS header
 casinostest.com: did not receive HSTS header
 casioshop.eu: did not receive HSTS header
 casovi.cf: could not connect to host
 catarsisvr.com: could not connect to host
 catinmay.com: did not receive HSTS header
 catnapstudios.com: could not connect to host
-cavac.at: could not connect to host
 cavaleria.ro: did not receive HSTS header
 caveclan.org: did not receive HSTS header
 cavedevs.de: could not connect to host
 cavedroid.xyz: could not connect to host
 cbhq.net: could not connect to host
 ccblog.de: did not receive HSTS header
 cctech.ph: did not receive HSTS header
 cd.search.yahoo.com: did not receive HSTS header
@@ -925,16 +934,17 @@ cd0.us: could not connect to host
 cdnb.co: could not connect to host
 cdndepo.com: could not connect to host
 cdreporting.co.uk: did not receive HSTS header
 celeirorural.com.br: did not receive HSTS header
 celina-reads.de: did not receive HSTS header
 cellsites.nz: could not connect to host
 centillien.com: did not receive HSTS header
 centos.pub: did not receive HSTS header
+centrallead.net: could not connect to host
 centralpoint.be: did not receive HSTS header
 centralpoint.nl: did not receive HSTS header
 centralvacsunlimited.net: did not receive HSTS header
 centrepoint-community.com: could not connect to host
 ceritamalam.net: could not connect to host
 cerize.love: could not connect to host
 cert.se: max-age too low: 2628001
 certmgr.org: could not connect to host
@@ -964,16 +974,17 @@ chartstoffarm.de: did not receive HSTS h
 chatbot.me: did not receive HSTS header
 chateauconstellation.ch: did not receive HSTS header
 chatme.im: did not receive HSTS header
 chatup.cf: could not connect to host
 chcemvediet.sk: max-age too low: 1555200
 cheazey.net: could not connect to host
 chebedara.com: could not connect to host
 checkout.google.com: did not receive HSTS header (error ignored - included regardless)
+checktype.com: could not connect to host
 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
 chepaofen.com: did not receive HSTS header
 cherekerry.com: could not connect to host
 cherysunzhang.com: did not receive HSTS header
@@ -986,17 +997,16 @@ chijiokeindustries.co.uk: could not conn
 childcaresolutionscny.org: did not receive HSTS header
 chinawhale.com: did not receive HSTS header
 chirgui.eu: could not connect to host
 chloe.re: did not receive HSTS header
 chlouis.net: could not connect to host
 chm.vn: did not receive HSTS header
 chontalpa.pw: could not connect to host
 choruscrowd.com: could not connect to host
-chosenplaintext.org: 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
 chrisopperwall.com: did not receive HSTS header
 christiaandruif.nl: could not connect to host
 christianbro.gq: could not connect to host
@@ -1059,16 +1069,17 @@ cloudns.com.au: could not connect to hos
 cloudspeedy.net: 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
 cloudstrike.co: could not connect to host
 cloudwalk.io: did not receive HSTS header
 cloverleaf.net: max-age too low: 0
 clowde.in: could not connect to host
+cloxy.com: did not receive HSTS header
 clubmix.co.kr: could not connect to host
 cluster.id: could not connect to host
 clustermaze.net: could not connect to host
 clvrwebdesign.com: did not receive HSTS header
 clywedogmaths.co.uk: could not connect to host
 cmc-versand.de: did not receive HSTS header
 cmci.dk: did not receive HSTS header
 cmsbattle.com: could not connect to host
@@ -1095,20 +1106,22 @@ codeforce.io: could not connect to host
 codeforhakodate.org: did not receive HSTS header
 codelayer.ca: could not connect to host
 codelitmus.com: did not receive HSTS header
 codemonkeyrawks.net: did not receive HSTS header
 codepoet.de: could not connect to host
 codepx.com: did not receive HSTS header
 codewild.de: could not connect to host
 codiva.io: max-age too low: 2592000
+codymoniz.com: did not receive HSTS header
 coffeeetc.co.uk: did not receive HSTS header
 coffeestrategies.com: max-age too low: 0
 coiffeurschnittstelle.ch: did not receive HSTS header
 coindam.com: could not connect to host
+coldawn.com: could not connect to host
 coldlostsick.net: could not connect to host
 collegepulse.org: did not receive HSTS header
 collies.eu: max-age too low: 3
 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
@@ -1123,16 +1136,17 @@ compareinsurance.com.au: did not receive
 comparejewelleryprices.co.uk: could not connect to host
 comparetravelinsurance.com.au: did not receive HSTS header
 compiledworks.com: could not connect to host
 completeid.com: max-age too low: 86400
 completionist.audio: could not connect to host
 complymd.com: did not receive HSTS header
 compraneta.com: did not receive HSTS header
 compucorner.com.mx: could not connect to host
+computerassistance.co.uk: could not connect to host
 computeremergency.com.au: did not receive HSTS header
 computersystems.guru: did not receive HSTS header
 concord-group.co.jp: did not receive HSTS header
 confirm365.com: could not connect to host
 conformal.com: could not connect to host
 conjugacao.com.br: did not receive HSTS header
 connect.ua: did not receive HSTS header
 connected-verhuurservice.nl: did not receive HSTS header
@@ -1187,30 +1201,33 @@ craftmine.cz: did not receive HSTS heade
 crandall.io: could not connect to host
 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
+crbug.com: did not receive HSTS header (error ignored - included regardless)
 create-test-publish.co.uk: 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
 crestoncottage.com: could not connect to host
 crimewatch.net.za: could not connect to host
 crizk.com: could not connect to host
 crockett.io: could not connect to host
 croome.no-ip.org: could not connect to host
+crosbug.com: did not receive HSTS header (error ignored - included regardless)
 crosscom.ch: could not connect to host
 crosssec.com: did not receive HSTS header
 crowd.supply: did not receive HSTS header
 crowdcurity.com: did not receive HSTS header
 crowdjuris.com: could not connect to host
+crrev.com: did not receive HSTS header (error ignored - included regardless)
 crtvmgmt.com: could not connect to host
 crudysql.com: could not connect to host
 crufad.org: did not receive HSTS header
 cruzr.xyz: could not connect to host
 crypt.guru: could not connect to host
 crypticshell.co.uk: could not connect to host
 cryptify.eu: could not connect to host
 cryptobin.org: could not connect to host
@@ -1225,16 +1242,17 @@ crysadm.com: max-age too low: 1
 crystalclassics.co.uk: did not receive HSTS header
 csapak.com: could not connect to host
 csawctf.poly.edu: could not connect to host
 cselzer.com: could not connect to host
 csfs.org.uk: could not connect to host
 csgf.ru: did not receive HSTS header
 csgo77.com: could not connect to host
 csgodicegame.com: did not receive HSTS header
+csgoelemental.com: could not connect to host
 csgokings.eu: could not connect to host
 csgoshifter.com: could not connect to host
 csohack.tk: could not connect to host
 cspbuilder.info: could not connect to host
 csru.net: did not receive HSTS header
 csvape.com: did not receive HSTS header
 ct-status.org: could not connect to host
 ct.search.yahoo.com: did not receive HSTS header
@@ -1265,16 +1283,17 @@ cuvva.org: did not receive HSTS header
 cyanogenmod.xxx: could not connect to host
 cyberpunk.ca: could not connect to host
 cybershambles.com: could not connect to host
 cybersins.com: did not receive HSTS header
 cybersmart.co.uk: did not receive HSTS header
 cyberxpert.nl: could not connect to host
 cycleluxembourg.lu: did not receive HSTS header
 cydia-search.io: could not connect to host
+cyhour.com: did not receive HSTS header
 cymtech.net: did not receive HSTS header
 cynoshair.com: could not connect to host
 cyphertite.com: could not connect to host
 cytadel.fr: did not receive HSTS header
 dad256.tk: could not connect to host
 dadtheimpaler.com: could not connect to host
 dah5.com: did not receive HSTS header
 dailybits.be: did not receive HSTS header
@@ -1292,17 +1311,16 @@ daniel-steuer.de: could not connect to h
 danielcowie.me: could not connect to host
 danieldk.eu: did not receive HSTS header
 danielheal.net: could not connect to host
 danieliancu.com: could not connect to host
 danielverlaan.nl: did not receive HSTS header
 danielworthy.com: did not receive HSTS header
 danijobs.com: could not connect to host
 danishenanigans.com: could not connect to host
-dankim.de: could not connect to host
 dannycrichton.com: did not receive HSTS header
 danrl.de: could not connect to host
 danwillenberg.com: did not receive HSTS header
 daolerp.xyz: could not connect to host
 daplie.com: did not receive HSTS header
 dargasia.is: could not connect to host
 dario.im: could not connect to host
 dark-x.cf: could not connect to host
@@ -1327,17 +1345,17 @@ datatekniikka.com: could not connect to 
 datenkeks.de: did not receive HSTS header
 dateno1.com: max-age too low: 0
 datenreiter.cf: could not connect to host
 datenreiter.gq: could not connect to host
 datenreiter.ml: could not connect to host
 datenreiter.tk: could not connect to host
 davidandkailey.com: could not connect to host
 davidglidden.eu: did not receive HSTS header
-davidhunter.scot: could not connect to host
+davidhunter.scot: did not receive HSTS header
 davidnoren.com: did not receive HSTS header
 davidreinhardt.de: could not connect to host
 davidscherzer.at: 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
@@ -1373,17 +1391,16 @@ deltanet-production.de: max-age too low:
 deltasmart.ch: did not receive HSTS header
 delvj.org: could not connect to host
 demdis.org: could not connect to host
 demilitarized.ninja: could not connect to host
 demo.swedbank.se: did not receive HSTS header
 demotops.com: did not receive HSTS header
 dengyong.org: could not connect to host
 denh.am: did not receive HSTS header
-denimtoday.com: did not receive HSTS header
 denisjean.fr: could not connect to host
 dentaldomain.org: did not receive HSTS header
 dentaldomain.ph: could not connect to host
 depeche-mode.moscow: max-age too low: 7200
 depijl-mz.nl: did not receive HSTS header
 depixion.agency: could not connect to host
 depo.space: could not connect to host
 dequehablamos.es: could not connect to host
@@ -1412,24 +1429,24 @@ devnsec.com: could not connect to host
 devnull.team: could not connect to host
 devopps.me: did not receive HSTS header
 devtub.com: did not receive HSTS header
 devuan.org: did not receive HSTS header
 dewin.io: could not connect to host
 dfviana.com.br: did not receive HSTS header
 dhpcs.com: did not receive HSTS header
 dhpiggott.net: did not receive HSTS header
-dhuy.net: could not connect to host
 diablotine.rocks: could not connect to host
 dianlujitao.com: did not receive HSTS header
 diannaobos.com: did not receive HSTS header
 diarbag.us: max-age too low: 0
 dicando.com: max-age too low: 2592000
 dicionariofinanceiro.com: did not receive HSTS header
 diedrich.co: could not connect to host
+diegorbaquero.com: could not connect to host
 dienstplan.one: could not connect to host
 dierenkruiden.nl: could not connect to host
 dietrich-spielwaren.de: max-age too low: 86400
 diewebstube.de: could not connect to host
 diezel.com: could not connect to host
 diferenca.com: did not receive HSTS header
 digioccumss.ddns.net: could not connect to host
 digitalbank.kz: could not connect to host
@@ -1439,17 +1456,16 @@ digitalriver.tk: could not connect to ho
 digitalskillswap.com: could not connect to host
 dim.lighting: could not connect to host
 dinamoelektrik.com: could not connect to host
 dingcc.me: could not connect to host
 dinkum.online: could not connect to host
 directhskincream.com: could not connect to host
 directorinegocis.cat: could not connect to host
 discovery.lookout.com: did not receive HSTS header
-discoveryrom.org: could not connect to host
 dise-online.de: did not receive HSTS header
 dislocated.de: did not receive HSTS header
 disowned.net: max-age too low: 0
 disruptivelabs.net: could not connect to host
 disruptivelabs.org: could not connect to host
 dissimulo.me: could not connect to host
 distractionco.de: did not receive HSTS header
 ditrutoancau.vn: could not connect to host
@@ -1460,29 +1476,29 @@ dizihocasi.com: could not connect to hos
 dizorg.net: could not connect to host
 dj4et.de: could not connect to host
 djxmmx.net: max-age too low: 0
 djz4music.com: did not receive HSTS header
 dkniss.de: could not connect to host
 dl.google.com: did not receive HSTS header (error ignored - included regardless)
 dlc.viasinc.com: could not connect to host
 dlemper.de: did not receive HSTS header
-dlitz.net: could not connect to host
 dlscomputers.com.au: did not receive HSTS header
 dmcibulldog.com: did not receive HSTS header
 dmix.ca: could not connect to host
 dmtry.me: did not receive HSTS header
 dmz.ninja: could not connect to host
 dn42.eu: could not connect to host
 dns.google.com: did not receive HSTS header (error ignored - included regardless)
 dnsknowledge.com: did not receive HSTS header
 do-do.tk: could not connect to host
 do.search.yahoo.com: did not receive HSTS header
 doak.io: could not connect to host
 dobet.in: could not connect to host
+dobrev.family: could not connect to host
 docid.io: could not connect to host
 docket.news: could not connect to host
 docset.io: could not connect to host
 docufiel.com: could not connect to host
 doesmycodehavebugs.today: could not connect to host
 doeswindowssuckforeveryoneorjustme.com: could not connect to host
 dogbox.se: did not receive HSTS header
 dogespeed.ga: could not connect to host
@@ -1494,27 +1510,29 @@ doked.io: could not connect to host
 dokuboard.com: could not connect to host
 dolevik.com: could not connect to host
 dollarstore24.com: could not connect to host
 dollywiki.co.uk: could not connect to host
 dolphin-cloud.com: could not connect to host
 dolphincorp.co.uk: could not connect to host
 domaine-aigoual-cevennes.com: did not receive HSTS header
 domaris.de: could not connect to host
+domenicocatelli.com: could not connect to host
 dominicpratt.de: did not receive HSTS header
 dominioanimal.com: could not connect to host
 dominique-mueller.de: did not receive HSTS header
 donmez.uk: could not connect to host
 donmez.ws: could not connect to host
 donttrustrobots.nl: could not connect to host
 donzelot.co.uk: max-age too low: 3600
 doodledraw.ninja: did not receive HSTS header
 dooku.cz: could not connect to host
 doomleika.com: could not connect to host
 doooonoooob.com: could not connect to host
+dorianmuthig.com: 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
 dot42.no: could not connect to host
 dotacni-parazit.cz: did not receive HSTS header
 dotadata.me: could not connect to host
 dotspaperie.com: did not receive HSTS header
@@ -1554,23 +1572,24 @@ ds-christiansen.de: could not connect to
 dshiv.io: could not connect to host
 dtub.co: did not receive HSTS header
 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
 dungi.org: could not connect to host
 duskopy.top: could not connect to host
+dutchessuganda.com: did not receive HSTS header
 dutchrank.com: did not receive HSTS header
 duuu.ch: could not connect to host
-dworzak.ch: could not connect to host
 dycontrol.de: could not connect to host
 dyktig.as: did not receive HSTS header
 dylanscott.com.au: did not receive HSTS header
 dynamic-innovations.net: could not connect to host
+dynamicsnetwork.net: could not connect to host
 dynamize.solutions: could not connect to host
 dyrkar.com: did not receive HSTS header
 dzimejl.sk: did not receive HSTS header
 dzlibs.io: could not connect to host
 e-aut.net: could not connect to host
 e-biografias.net: did not receive HSTS header
 e-deca2.org: did not receive HSTS header
 e-isfa.eu: did not receive HSTS header
@@ -1616,30 +1635,30 @@ eden-noel.at: could not connect to host
 edenaya.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
 edmodo.com: did not receive HSTS header
 eduvance.in: did not receive HSTS header
 edv-lehrgang.de: could not connect to host
-eelzak.nl: could not connect to host
-eenhoorn.ga: could not connect to host
 eeqj.com: could not connect to host
 efficienthealth.com: did not receive HSTS header
 effortlesshr.com: did not receive HSTS header
 egbert.net: could not connect to host
 egit.co: could not connect to host
 eglek.com: did not receive HSTS header
 ego-world.org: could not connect to host
 ehipaadev.com: could not connect to host
 ehito.ovh: could not connect to host
 ehrenamt-skpfcw.de: could not connect to host
 eicfood.com: could not connect to host
 ekbanden.nl: could not connect to host
+ekedc.com: could not connect to host
+ekedp.com: could not connect to host
 eksik.com: could not connect to host
 elaintehtaat.fi: did not receive HSTS header
 elan-organics.com: did not receive HSTS header
 elanguest.pl: could not connect to host
 elanguest.ro: did not receive HSTS header
 elanguest.ru: could not connect to host
 elbetech.net: could not connect to host
 electricant.com: did not receive HSTS header
@@ -1677,22 +1696,22 @@ empty-r.com: could not connect to host
 enargia.jp: max-age too low: 0
 encode.space: could not connect to host
 encoder.pw: could not connect to host
 encontrebarato.com.br: did not receive HSTS header
 encrypted.google.com: did not receive HSTS header (error ignored - included regardless)
 encryptio.com: could not connect to host
 end.pp.ua: could not connect to host
 endlessdark.net: max-age too low: 600
+endlessdiy.ca: could not connect to host
 endlesshorizon.net: could not connect to host
-endlesstone.com: did not receive HSTS header
+endlesstone.com: could not connect to host
 enefan.jp: could not connect to host
 enfield-kitchens.co.uk: did not receive HSTS header
 engelwerbung.com: did not receive HSTS header
-engg.ca: could not connect to host
 enginsight.com: did not receive HSTS header
 englishyamal.ru: did not receive HSTS header
 enigmacpt.com: did not receive HSTS header
 enigmail.net: did not receive HSTS header
 enjoy-nepal.de: max-age too low: 0
 enjoymayfield.com: max-age too low: 0
 enskat.de: could not connect to host
 enskatson-sippe.de: could not connect to host
@@ -1733,16 +1752,17 @@ erotische-aanbiedingen.nl: could not con
 errolz.com: could not connect to host
 errors.zenpayroll.com: could not connect to host
 ersindemirtas.com: did not receive HSTS header
 eru.me: did not receive HSTS header
 esc.chat: could not connect to host
 escalate.eu: could not connect to host
 escotour.com: could not connect to host
 esec.rs: did not receive HSTS header
+esigmbh.de: could not connect to host
 esko.bar: could not connect to host
 esln.org: did not receive HSTS header
 esn-ypci.com: could not connect to host
 esocweb.com: could not connect to host
 esoterikerforum.de: did not receive HSTS header
 especificosba.com.mx: could not connect to host
 espo.com.ua: did not receive HSTS header
 espra.com: could not connect to host
@@ -1771,33 +1791,33 @@ 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
 eupho.me: could not connect to host
 euren.se: could not connect to host
 eurocamping.se: could not connect to host
 euroshop24.net: could not connect to host
-eurostrategy.vn.ua: could not connect to host
 evafojtova.cz: did not receive HSTS header
 evalesc.com: could not connect to host
 evdenevenakliyatankara.pw: did not receive HSTS header
 events12.com: did not receive HSTS header
 everybooks.com: max-age too low: 60
 everylab.org: could not connect to host
 everything.place: could not connect to host
 evilnerd.de: did not receive HSTS header
 evilsay.com: could not connect to host
 evin.ml: could not connect to host
 evites.me: could not connect to host
 evomon.com: could not connect to host
 evossd.tk: could not connect to host
 evowl.com: could not connect to host
 ewycena.pl: could not connect to host
 excelgum.ca: did not receive HSTS header
+exceltobarcode.com: could not connect to host
 exceptionalservers.com: could not connect to host
 exfiles.cz: did not receive HSTS header
 exgravitus.com: could not connect to host
 exitus.jp: max-age too low: 0
 exno.co: could not connect to host
 exousiakaidunamis.xyz: could not connect to host
 expertmile.com: did not receive HSTS header
 expoundite.net: did not receive HSTS header
@@ -1836,21 +1856,21 @@ fakeletters.org: did not receive HSTS he
 faktura.pl: did not receive HSTS header
 falconfrag.com: could not connect to host
 falkhusemann.de: did not receive HSTS header
 falkp.no: did not receive HSTS header
 fallenangelspirits.uk: could not connect to host
 familie-sprink.de: could not connect to host
 familie-zimmermann.at: could not connect to host
 famio.cn: could not connect to host
+fancy-bridge.com: could not connect to host
 fantasyfootballpundit.com: did not receive HSTS header
 fanyl.cn: could not connect to host
 farhadexchange.com: did not receive HSTS header
 fashioncare.cz: did not receive HSTS header
-fashionunited.nl: did not receive HSTS header
 fasset.jp: could not connect to host
 fastdigitizing.com: max-age too low: 300
 fastograph.com: could not connect to host
 fastopen.ml: could not connect to host
 fatgeekflix.net: could not connect to host
 fatherhood.gov: did not receive HSTS header
 fatlossguide.xyz: could not connect to host
 fatwin.pw: could not connect to host
@@ -1940,16 +1960,17 @@ flow.su: could not connect to host
 flowersandclouds.com: could not connect to host
 floweslawncare.com: could not connect to host
 flowlo.me: could not connect to host
 fluidojobs.com: did not receive HSTS header
 flukethoughts.com: could not connect to host
 flurrybridge.com: did not receive HSTS header
 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
 foodbuddy.ch: could not connect to host
@@ -1962,17 +1983,16 @@ foraje-profesionale.ro: did not receive 
 forbook.net: could not connect to host
 fordbydesign.com: could not connect to host
 foreignexchangeresource.com: did not receive HSTS header
 foreveralone.io: could not connect to host
 forex-dan.com: did not receive HSTS header
 forgix.com: could not connect to host
 formazioneopen.it: could not connect to host
 formula.cf: could not connect to host
-forty8creates.com: did not receive HSTS header
 fotiu.com: could not connect to host
 fotm.net: max-age too low: 30000
 fotocerita.net: could not connect to host
 fotografosexpertos.com: did not receive HSTS header
 fotopasja.info: could not connect to host
 foudufafa.de: could not connect to host
 foxdev.io: did not receive HSTS header
 foxley-farm.co.uk: did not receive HSTS header
@@ -1989,17 +2009,16 @@ franta.biz: did not receive HSTS header
 franta.email: did not receive HSTS header
 franzt.de: could not connect to host
 franzt.ovh: could not connect to host
 frasesdeamizade.pt: could not connect to host
 frasys.io: could not connect to host
 frasys.net: could not connect to host
 frau-inge.de: could not connect to host
 fraurichter.net: could not connect to host
-frederik-braun.com: did not receive HSTS header
 fredvoyage.fr: did not receive HSTS header
 free.com.tw: did not receive HSTS header
 freeboson.org: could not connect to host
 freeflow.tv: could not connect to host
 freelanced.co.za: could not connect to host
 freelo.cz: did not receive HSTS header
 freematthale.net: did not receive HSTS header
 freenetproject.org: did not receive HSTS header
@@ -2047,16 +2066,17 @@ furry.be: did not receive HSTS header
 fusedrops.com: could not connect to host
 fusionmate.com: could not connect to host
 futbol11.com: did not receive HSTS header
 futuretechnologi.es: could not connect to host
 futureyouhealth.com: did not receive HSTS header
 fwei.tk: could not connect to host
 fws.gov: did not receive HSTS header
 fx-rk.com: did not receive HSTS header
+fxtalk.cn: could not connect to host
 fysiohaenraets.nl: did not receive HSTS header
 fzn.io: could not connect to host
 fzslm.me: could not connect to host
 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
@@ -2075,17 +2095,17 @@ galena.io: did not receive HSTS header
 galenskap.eu: could not connect to host
 gallery44.org: did not receive HSTS header
 galoisvpn.xyz: could not connect to host
 game-files.net: did not receive HSTS header
 game.yt: could not connect to host
 gamecave.de: could not connect to host
 gamechasm.com: could not connect to host
 gamefund.me: did not receive HSTS header
-gameguardian.net: could not connect to host
+gameguardian.net: did not receive HSTS header
 gamehacks.me: could not connect to host
 gameink.net: max-age too low: 0
 gamek.es: did not receive HSTS header
 gamenected.com: could not connect to host
 gamenected.de: could not connect to host
 gameofpwnz.com: did not receive HSTS header
 gamepad.vg: could not connect to host
 gameparade.de: could not connect to host
@@ -2096,21 +2116,21 @@ gamerz-point.de: could not connect to ho
 gamesdepartment.co.uk: did not receive HSTS header
 gameserver-sponsor.de: could not connect to host
 gamingmedia.eu: did not receive HSTS header
 gampenhof.de: did not receive HSTS header
 gaptek.id: did not receive HSTS header
 garageon.net: did not receive HSTS header
 garciamartin.me: could not connect to host
 garden.trade: could not connect to host
+garedtech.com: did not receive HSTS header
 gatapro.net: could not connect to host
 gatorsa.es: did not receive HSTS header
 gdegem.org: did not receive HSTS header
 gdpventure.com: max-age too low: 0
-gdz.tv: did not receive HSTS header
 gebn.co.uk: did not receive HSTS header
 gedankenbude.info: could not connect to host
 geekcast.co.uk: did not receive HSTS header
 geeky.software: could not connect to host
 geemo.top: could not connect to host
 geeq.ch: could not connect to host
 geli-graphics.com: did not receive HSTS header
 genuu.com: could not connect to host
@@ -2153,17 +2173,16 @@ getremembrall.com: could not connect to 
 getsello.com: could not connect to host
 getwashdaddy.com: could not connect to host
 gfelot.xyz: did not receive HSTS header
 gfm.tech: could not connect to host
 gfwsb.ml: could not connect to host
 ggss.ml: 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
 giantmicrobes.de: max-age too low: 86400
 gibraltar.at: could not connect to host
 gietvloergarant.nl: did not receive HSTS header
 giftservices.nl: could not connect to host
 gigacloud.org: max-age too low: 0
 gigacog.com: could not connect to host
 gilly.berlin: did not receive HSTS header
 gilroywestwood.org: could not connect to host
@@ -2214,18 +2233,20 @@ goggs.eu: did not receive HSTS header
 gogold-g.com: could not connect to host
 gokhankesici.com: could not connect to host
 gold24.in: did not receive HSTS header
 goldegg-training.com: did not receive HSTS header
 goldendata.io: could not connect to host
 goldminer.ga: could not connect to host
 goldpros.com: did not receive HSTS header
 golocal-media.de: could not connect to host
+gong8.win: could not connect to host
 gonzalosanchez.mx: did not receive HSTS header
 goodenough.nz: did not receive HSTS header
+goodmengroup.de: could not connect to host
 goodtech.com.br: could not connect to host
 goodwin43.ru: could not connect to host
 google: could not connect to host (error ignored - included regardless)
 googlemail.com: did not receive HSTS header (error ignored - included regardless)
 googleplex.com: did not receive HSTS header (error ignored - included regardless)
 goolok.com: could not connect to host
 gootlijsten.nl: did not receive HSTS header
 goozz.nl: could not connect to host
@@ -2299,21 +2320,23 @@ gts-schulsoftware.de: did not receive HS
 guava.studio: did not receive HSTS header
 guentherhouse.com: did not receive HSTS header
 guenthernoack.de: could not connect to host
 guge.gq: could not connect to host
 gugga.dk: did not receive HSTS header
 guguke.net: did not receive HSTS header
 guilde-vindicta.fr: did not receive HSTS header
 guineafruitcorp.com: could not connect to host
+gulch.in.ua: could not connect to host
 gulenet.com: could not connect to host
 gunnarhafdal.com: did not receive HSTS header
 gunnaro.com: could not connect to host
 guntbert.net: could not connect to host
 guoqiang.info: could not connect to host
+gurochan.ch: 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)
@@ -2427,16 +2450,17 @@ hekeki.com: could not connect to host
 helencrump.co.uk: did not receive HSTS header
 helloworldhost.com: did not receive HSTS header
 helpadmin.net: could not connect to host
 helpium.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]
 helpmebuild.com: did not receive HSTS header
 hemdal.se: could not connect to host
 hencagon.com: could not connect to host
 henriknoerr.com: could not connect to host
+henriksen.is: could not connect to host
 hepteract.us: could not connect to host
 herbert.io: could not connect to host
 heritagedentistry.ca: did not receive HSTS header
 herrenfahrt.com: did not receive HSTS header
 herzbotschaft.de: did not receive HSTS header
 heutger.net: did not receive HSTS header
 heyguevara.com: could not connect to host
 heywoodtown.co.uk: could not connect to host
@@ -2542,31 +2566,32 @@ hysg.me: could not connect to host
 i-jp.net: could not connect to host
 i-partners.sk: did not receive HSTS header
 i10z.com: could not connect to host
 iamjoshellis.com: could not connect to host
 iamokay.nl: did not receive HSTS header
 iamreubin.co.uk: did not receive HSTS header
 iamveto.com: could not connect to host
 iapws.com: could not connect to host
+iavian.com: did not receive HSTS header
 iban.is: could not connect to host
 ibarf.nl: did not receive HSTS header
 ibnuwebhost.com: could not connect to host
 ice.yt: could not connect to host
 icebat.dyndns.org: could not connect to host
 icfl.com.br: could not connect to host
 ich-mach-druck.eu: did not receive HSTS header
 ichglaubesbackt.de: max-age too low: 86400
 ichnichtskaufmann.de: could not connect to host
 ichoosebtec.com: did not receive HSTS header
 icity.ly: did not receive HSTS header
 icloud.net: could not connect to host
 icntorrent.download: could not connect to host
-icodeconnect.com: could not connect to host
 icodesign.me: did not receive HSTS header
+icq-project.net: could not connect to host
 icreative.nl: did not receive HSTS header
 ictual.com: max-age too low: 0
 id-co.in: could not connect to host
 id-conf.com: did not receive HSTS header
 idacmedia.com: max-age too low: 5184000
 ideadozz.hu: could not connect to host
 ideal-envelopes.co.uk: did not receive HSTS header
 idealmykonos.com: did not receive HSTS header
@@ -2582,16 +2607,17 @@ ie.search.yahoo.com: did not receive HST
 iec.pe: could not connect to host
 ierna.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
 ifastuniversity.com: did not receive HSTS header
 ifleurs.com: could not connect to host
 ifx.ee: could not connect to host
+igforums.com: could not connect to host
 ignatisd.gr: did not receive HSTS header
 igule.net: 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
@@ -2728,16 +2754,17 @@ ipv6only.network: could not connect to h
 iqcn.co: could not connect to host
 iqualtech.com: did not receive HSTS header
 ir-saitama.com: could not connect to host
 iranianlawschool.com: could not connect to host
 iraqidinar.org: did not receive HSTS header
 irazimina.ru: did not receive HSTS header
 irccloud.com: did not receive HSTS header
 irelandesign.com: did not receive HSTS header
+irf2.pl: could not connect to host
 irmtrudjurke.de: did not receive HSTS header
 irukandjilabs.com: could not connect to host
 is-a-furry.org: did not receive HSTS header
 isabellehogarth.co.uk: could not connect to host
 ischool.co.jp: did not receive HSTS header
 isdf.me: could not connect to host
 iseek.biz: max-age too low: 0
 iseulde.com: did not receive HSTS header
@@ -2749,37 +2776,38 @@ isogen5.com: could not connect to host
 isogram.nl: could not connect to host
 israkurort.com: did not receive HSTS header
 istanbultravelguide.info: could not connect to host
 istaspirtslietas.lv: did not receive HSTS header
 it-go.net: did not receive HSTS header
 itechgeek.com: max-age too low: 0
 ithakama.com: did not receive HSTS header
 ithakama.cz: did not receive HSTS header
-ithenrik.com: could not connect to host
 itos.asia: did not receive HSTS header
 itos.pl: did not receive HSTS header
 itpros.ru: 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
 ivi-fertility.com: max-age too low: 0
 ivi.es: max-age too low: 0
 ivk.website: could not connect to host
 ixec2.tk: could not connect to host
 izdiwho.com: could not connect to host
 izolight.ch: could not connect to host
 izoox.com: did not receive HSTS header
 izzzorgconcerten.nl: could not connect to host
 j-lsolutions.com: could not connect to host
 j15t98j.co.uk: could not connect to host
+j2ee.cz: could not connect to host
 ja-publications.com: did not receive HSTS header
 jabbari.io: did not receive HSTS header
 jackalworks.com: could not connect to host
 jacobparry.ca: did not receive HSTS header
 jadefalcons.de: could not connect to host
 jagido.de: did not receive HSTS header
 jahliveradio.com: could not connect to host
 jaksel.id: could not connect to host
@@ -2809,17 +2837,17 @@ jannyrijneveld.nl: did not receive HSTS 
 janus-engineering.de: did not receive HSTS header
 janverlaan.nl: did not receive HSTS header
 japan-foods.co.uk: did not receive HSTS header
 japaripark.com: could not connect to host
 japlex.com: could not connect to host
 jaqen.ch: could not connect to host
 jaroslavtrsek.cz: did not receive HSTS header
 jarsater.com: did not receive HSTS header
-jasmineconseil.com: did not receive HSTS header
+jasmineconseil.com: could not connect to host
 jasoncosper.com: did not receive HSTS header
 jasonroe.me: did not receive HSTS header
 jasonsansone.com: max-age too low: 0
 jastoria.pl: could not connect to host
 jav-collective.com: could not connect to host
 java-board.com: could not connect to host
 javelinsms.com: could not connect to host
 jayblock.com: did not receive HSTS header
@@ -2837,17 +2865,16 @@ jcoscia.com: could not connect to host
 jctf.io: could not connect to host
 jdav-leipzig.de: could not connect to host
 jdcdirectsales.com.ph: did not receive HSTS header
 jebengotai.com: did not receive HSTS header
 jedentageinegutetarte.de: max-age too low: 86400
 jeff393.com: could not connect to host
 jellow.nl: did not receive HSTS header
 jensenbanden.no: could not connect to host
-jeproteste.info: could not connect to host
 jeremye77.com: did not receive HSTS header
 jesorsenville.com: did not receive HSTS header
 jessicabenedictus.nl: could not connect to host
 jessicah.org: could not connect to host
 jesuisformidable.nl: could not connect to host
 jet-code.com: could not connect to host
 jetaprices.com: could not connect to host
 jetmirshatri.com: did not receive HSTS header
@@ -2921,17 +2948,17 @@ jumbox.xyz: could not connect to host
 jumbster.com: max-age too low: 2592000
 jumping-duck.com: could not connect to host
 junaos.xyz: did not receive HSTS header
 junge-selbsthilfe.info: could not connect to host
 junjung.me: max-age too low: 0
 junqtion.com: could not connect to host
 jupp0r.de: did not receive HSTS header
 justanothercompany.name: could not connect to host
-justinlemay.com: did not receive HSTS header
+justinlemay.com: could not connect to host
 justlikethat.hosting: did not receive HSTS header
 justnaw.co.uk: could not connect to host
 justudin.com: did not receive HSTS header
 jutella.de: did not receive HSTS header
 juwairen.cn: did not receive HSTS header
 juxstempel.de: max-age too low: 86400
 jvoice.net: could not connect to host
 jwilsson.me: could not connect to host
@@ -2982,19 +3009,19 @@ keeley.gq: could not connect to host
 keeley.ml: could not connect to host
 keeleysam.me: could not connect to host
 keepassa.co: could not connect to host
 keepclean.me: could not connect to host
 kerangalam.com: could not connect to host
 kerksanders.nl: did not receive HSTS header
 kermadec.blog: could not connect to host
 kermadec.net: could not connect to host
-kernelpanics.nl: could not connect to host
 kernl.us: did not receive HSTS header
 kevinbowers.me: did not receive HSTS header
+keybored.me: could not connect to host
 keymaster.lookout.com: did not receive HSTS header
 kfbrussels.be: could not connect to host
 kg-rating.com: could not connect to host
 kgxtech.com: max-age too low: 2592000
 kheshtar.pl: could not connect to host
 ki-on.net: did not receive HSTS header
 kialo.com: did not receive HSTS header
 kickass.al: could not connect to host
@@ -3055,32 +3082,32 @@ koenvdheuvel.me: did not receive HSTS he
 koha.be: could not connect to host
 koik.io: could not connect to host
 kojima-life.co.jp: did not receive HSTS header
 kokenmetaanbiedingen.nl: did not receive HSTS header
 kola-entertainments.de: did not receive HSTS header
 kolaykaydet.com: did not receive HSTS header
 kolozsvaricsuhe.hu: could not connect to host
 komikito.com: could not connect to host
+komiksbaza.pl: could not connect to host
 kompetenzwerft.de: did not receive HSTS header
 konata.us: could not connect to host
 kontaxis.network: could not connect to host
 kontorhaus-schlachte.de: could not connect to host
 koopjesnel.nl: could not connect to host
 koordinate.net: could not connect to host
 kopfsalat.eu: could not connect to host
 kori.ml: did not receive HSTS header
 korni22.org: did not receive HSTS header
 korobkovsky.ru: could not connect to host
 korsanparti.org: could not connect to host
 kostuumstore.nl: could not connect to host
 kotois.com: could not connect to host
 kotonehoko.net: could not connect to host
 kotovstyle.ru: could not connect to host
-kottur.is: did not receive HSTS header
 koukni.cz: could not connect to host
 kourpe.online: could not connect to host
 kprog.net: could not connect to host
 kr.search.yahoo.com: did not receive HSTS header
 kralik.xyz: could not connect to host
 krayx.com: did not receive HSTS header
 kreavis.com: did not receive HSTS header
 kreb.io: could not connect to host
@@ -3097,16 +3124,17 @@ kryptomech.com: could not connect to hos
 ksfh-mail.de: could not connect to host
 kstan.me: could not connect to host
 kswriter.com: could not connect to host
 kucom.it: did not receive HSTS header
 kueulangtahunanak.net: could not connect to host
 kum.com: did not receive HSTS header
 kummerlaender.eu: did not receive HSTS header
 kupelne-ptacek.sk: did not receive HSTS header
+kuponydoher.cz: could not connect to host
 kuppingercole.com: did not receive HSTS header
 kura.io: could not connect to host
 kurehun.org: could not connect to host
 kurrietv.nl: did not receive HSTS header
 kurtmclester.com: did not receive HSTS header
 kurz.pw: could not connect to host
 kusaka-abacus.jp: max-age too low: 0
 kuschelmikroben.de: max-age too low: 86400
@@ -3131,17 +3159,16 @@ labordata.io: did not receive HSTS heade
 laborie.io: could not connect to host
 labrador-retrievers.com.au: did not receive HSTS header
 labs.directory: could not connect to host
 labs.moscow: did not receive HSTS header
 lacaverne.nl: could not connect to host
 lachlankidson.net: did not receive HSTS header
 lacledeslan.ninja: could not connect to host
 lacocinadelila.com: did not receive HSTS header
-laextra.mx: could not connect to host
 laf.in.net: could not connect to host
 lagalerievirtuelle.fr: did not receive HSTS header
 lagoza.name: could not connect to host
 lamaland.ru: did not receive HSTS header
 lambda-complex.org: could not connect to host
 lambdafive.co.uk: could not connect to host
 lampl.info: could not connect to host
 lana.swedbank.se: did not receive HSTS header
@@ -3182,17 +3209,16 @@ leermotorrijden.nl: max-age too low: 300
 lefebvristes.com: could not connect to host
 lefebvristes.fr: could not connect to host
 legarage.org: did not receive HSTS header
 leinir.dk: did not receive HSTS header
 leitner.com.au: did not receive HSTS header
 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
 lenagroben.de: could not connect to host
 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
@@ -3225,17 +3251,16 @@ liam-w.com: did not receive HSTS header
 liamjack.fr: could not connect to host
 lianye.in: could not connect to host
 lianye1.cc: could not connect to host
 lianye2.cc: could not connect to host
 lianye3.cc: could not connect to host
 lianye4.cc: could not connect to host
 lianye5.cc: could not connect to host
 lianye6.cc: could not connect to host
-lianyexiuchang.in: could not connect to host
 liaoshuma.com: could not connect to host
 libanco.com: could not connect to host
 libertyrp.org: could not connect to host
 library.linode.com: did not receive HSTS header
 libreboot.org: did not receive HSTS header
 librechan.net: could not connect to host
 libreduca.com: could not connect to host
 lidl-selection.at: could not connect to host
@@ -3280,18 +3305,16 @@ linuxgeek.ro: could not connect to host
 linuxmint.cz: did not receive HSTS header
 linuxmonitoring.net: did not receive HSTS header
 liquorsanthe.in: could not connect to host
 lisaco.de: could not connect to host
 listafirmelor.com: could not connect to host
 listage.ovh: did not receive HSTS header
 litespeed.io: could not connect to host
 little.pw: did not receive HSTS header
-litz.ca: could not connect to host
-litzenberger.ca: 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
 lixiang.one: could not connect to host
 lkp111138.me: did not receive HSTS header
 loacg.com: did not receive HSTS header
 loadingdeck.com: did not receive HSTS header
 loadso.me: could not connect to host
@@ -3307,17 +3330,16 @@ logcat.info: could not connect to host
 logicaladvertising.com: could not connect to host
 login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
 login.persona.org: could not connect to host
 loginseite.com: could not connect to host
 lognot.net: could not connect to host
 lojadoprazer.com.br: could not connect to host
 lolicore.ch: could not connect to host
 lolidunno.com: could not connect to host
-lolmegafroi.de: could not connect to host
 london-transfers.com: did not receive HSTS header
 londoncalling.co: did not receive HSTS header
 londonlanguageexchange.com: could not connect to host
 lonerwolf.com: did not receive HSTS header
 longboarding-ulm.de: could not connect to host
 look-at-my.site: could not connect to host
 lookasik.eu: did not receive HSTS header
 lookout.com: did not receive HSTS header
@@ -3368,17 +3390,17 @@ luneta.nearbuysystems.com: could not con
 luno.io: could not connect to host
 luody.info: could not connect to host
 luoe.ml: could not connect to host
 luoxiao.im: could not connect to host
 luripump.se: could not connect to host
 lusis.fr: did not receive HSTS header
 lusis.net: did not receive HSTS header
 lustrumxi.nl: could not connect to host
-luther.fi: did not receive HSTS header
+luther.fi: could not connect to host
 luxus-russen.de: did not receive HSTS header
 luxwatch.com: could not connect to host
 lv.search.yahoo.com: did not receive HSTS header
 lyuba.fr: could not connect to host
 lzkill.com: did not receive HSTS header
 m-ali.xyz: could not connect to host
 m.gparent.org: could not connect to host
 m.nu: did not receive HSTS header
@@ -3443,18 +3465,16 @@ marcofinke.de: could not connect to host
 marcontrol.com: did not receive HSTS header
 marcosteixeira.tk: could not connect to host
 marcus-scheffler.com: did not receive HSTS header
 margaretrosefashions.co.uk: could not connect to host
 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
-marie.club: could not connect to host
-marinazarza.es: could not connect to host
 mario.party: did not receive HSTS header
 markaconnor.com: could not connect to host
 markayapilandirma.com: could not connect to host
 markcp.me: could not connect to host
 market.android.com: did not receive HSTS header (error ignored - included regardless)
 marketespace.fr: did not receive HSTS header
 markorszulak.com: did not receive HSTS header
 markrego.com: could not connect to host
@@ -3476,17 +3496,16 @@ marumagic.com: did not receive HSTS head
 masjidtawheed.net: did not receive HSTS header
 masterapi.ninja: did not receive HSTS header
 masteringtheterminal.com: did not receive HSTS header
 mastimtibetano.com: could not connect to host
 masty.nl: 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
-mathieui.net: could not connect to host
 matomeplus.co: did not receive HSTS header
 matrict.com: could not connect to host
 matrip.de: could not connect to host
 matrix.ac: could not connect to host
 matrixcheats.net: could not connect to host
 matsuz.com: could not connect to host
 mattandreko.com: did not receive HSTS header
 mattberryman.com: max-age too low: 0
@@ -3510,16 +3529,17 @@ mca2017.org: did not receive HSTS header
 mcard.vn: did not receive HSTS header
 mcc.re: could not connect to host
 mccarty.io: could not connect to host
 mcdonalds.ru: did not receive HSTS header
 mcga.media: could not connect to host
 mclab.su: could not connect to host
 mclist.it: could not connect to host
 mdfnet.se: did not receive HSTS header
+mdkr.nl: did not receive HSTS header
 mdscomp.net: did not receive HSTS header
 meamod.com: max-age too low: 0
 mechmk1.me: did not receive HSTS header
 medallia.io: could not connect to host
 mediacru.sh: did not receive HSTS header
 mediafinancelab.org: could not connect to host
 mediamag.am: max-age too low: 0
 mediastorm.us: could not connect to host
@@ -3567,17 +3587,16 @@ metebalci.com: did not receive HSTS head
 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
 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: could not connect to host
 mht-travel.com: could not connect to host
 mhx.pw: could not connect to host
 michaeldemuth.com: could not connect to host
@@ -3643,17 +3662,16 @@ mist.ink: could not connect to host
 mister.hosting: could not connect to host
 misterl.net: did not receive HSTS header
 mittenhacks.com: could not connect to host
 mivcon.net: could not connect to host
 mizd.at: could not connect to host
 mizi.name: could not connect to host
 mk-dizajn.com: did not receive HSTS header
 mkakh.xyz: did not receive HSTS header
-mkcert.org: could not connect to host
 mlcdn.co: could not connect to host
 mlp.ee: could not connect to host
 mlpepilepsy.org: could not connect to host
 mmgazhomeloans.com: did not receive HSTS header
 mnec.io: could not connect to host
 mnemotiv.com: could not connect to host
 mnetworkingsolutions.co.uk: could not connect to host
 mnmt.no: did not receive HSTS header
@@ -3682,17 +3700,17 @@ moellers.it: could not connect to host
 moelord.org: could not connect to host
 moen.io: did not receive HSTS header
 moeyi.xyz: could not connect to host
 mogry.net: could not connect to host
 moho.kr: could not connect to host
 moitur.com: did not receive HSTS header
 mokhtarmial.com: max-age too low: 2592000
 mols.me: could not connect to host
-momoka.moe: could not connect to host
+momoka.moe: did not receive HSTS header
 mona.lu: did not receive HSTS header
 monarca.systems: could not connect to host
 monasterialis.eu: could not connect to host
 mondar.io: did not receive HSTS header
 mondopoint.com: did not receive HSTS header
 mondwandler.de: could not connect to host
 moneromerchant.com: could not connect to host
 moneychangersoftware.com: did not receive HSTS header
@@ -3728,21 +3746,19 @@ motionpicturesolutions.com: did not rece
 motocyklovedily.cz: did not receive HSTS header
 motorbiketourhanoi.com: could not connect to host
 motoryz.com: max-age too low: 300
 mottvd.com: could not connect to host
 moula.com.au: did not receive HSTS header
 mountainmusicpromotions.com: did not receive HSTS header
 moviesabout.net: could not connect to host
 moy-gorod.od.ua: did not receive HSTS header
-moy.cat: did not receive HSTS header
 mozart-game.cz: could not connect to host
 mozartgame.cz: could not connect to host
 mp3juices.is: could not connect to host
-mpe.org: could not connect to host
 mpintaamalabanna.it: could not connect to host
 mqas.net: could not connect to host
 mrawe.com: could not connect to host
 mrdani.net: could not connect to host
 mrettich.org: did not receive HSTS header
 mrhack.cz: could not connect to host
 mrning.com: did not receive HSTS header
 mrnonz.com: max-age too low: 0
@@ -3763,16 +3779,17 @@ munich-rage.de: could not connect to hos
 munkiepus.com: did not receive HSTS header
 munuc.org: did not receive HSTS header
 munzee.com: did not receive HSTS header
 muriburi.land: could not connect to host
 muriburiland.com: could not connect to host
 murodese.org: could not connect to host
 murrayrun.com: could not connect to host
 museminder2.com: could not connect to host
+musewearflipflops.com: could not connect to host
 mushroomandfern.com: could not connect to host
 musikkfondene.no: did not receive HSTS header
 mustika.cf: could not connect to host
 mutamatic.com: could not connect to host
 muzykaprzeszladoplay.pl: did not receive HSTS header
 mvanmarketing.nl: did not receive HSTS header
 mvsecurity.nl: could not connect to host
 mw.search.yahoo.com: did not receive HSTS header
@@ -3791,16 +3808,17 @@ mydeos.com: could not connect to host
 mydigipass.com: did not receive HSTS header
 mydnaresults.com: could not connect to host
 mydnatest.com: did not receive HSTS header
 myepass.bg: could not connect to host
 myepass.de: could not connect to host
 mygate.at: could not connect to host
 mygdut.com: did not receive HSTS header
 mygov.scot: did not receive HSTS header
+myimds.com: did not receive HSTS header
 myiocc.org: could not connect to host
 mykeepsake.xyz: could not connect to host
 mykolab.com: did not receive HSTS header
 mykreuzfahrt.de: could not connect to host
 mynetblog.com: did not receive HSTS header
 myni.io: could not connect to host
 mypagella.com: could not connect to host
 mypagella.eu: could not connect to host
@@ -3811,17 +3829,16 @@ mysecretrewards.com: did not receive HST
 mystery-science-theater-3000.de: did not receive HSTS header
 mythlogic.com: 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
 n0psled.nl: could not connect to host
 n2x.in: could not connect to host
 n4l.pw: could not connect to host
-n8ch.net: 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
 nagoya-kyuyo.com: could not connect to host
 naiharngym.com: did not receive HSTS header
 najedlo.sk: did not receive HSTS header
 nakamastreamingcommunity.com: could not connect to host
 nakliyatsirketi.biz: did not receive HSTS header
@@ -3838,16 +3855,17 @@ nandex.org: could not connect to host
 naniki.co.uk: did not receive HSTS header
 nanogeneinc.com: could not connect to host
 nanogi.ga: could not connect to host
 nansay.cn: could not connect to host
 nanto.eu: could not connect to host
 narada.com.ua: could not connect to host
 narrativasdigitais.pt: could not connect to host
 nashira.cz: did not receive HSTS header
+nastysclaw.com: did not receive HSTS header
 natalia-fadeeva.ru: could not connect to host
 natalia.io: could not connect to host
 natalieandjoshua.com: could not connect to host
 natalt.org: did not receive HSTS header
 nathanmfarrugia.com: did not receive HSTS header
 nationwidevehiclecontracts.co.uk: did not receive HSTS header
 natural-progesterone.net: could not connect to host
 naturecoaster.com: did not receive HSTS header
@@ -3863,28 +3881,27 @@ nbg-ha.de: could not connect to host
 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
 nebulousenhanced.com: could not connect to host
 nedlinin.com: could not connect to host
 nedzad.me: could not connect to host
-neer.io: could not connect to host
 neftaly.com: did not receive HSTS header
 negativecurvature.net: could not connect to host
-neilgreen.net: did not receive HSTS header
+neilgreen.net: could not connect to host
 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
 neoani.me: could not connect to host
 neofelhz.space: did not receive HSTS header
 neonisi.com: could not connect to host
-neonnuke.tech: did not receive HSTS header
+neonnuke.tech: could not connect to host
 neosolution.ca: did not receive HSTS header
 nephos.xyz: did not receive HSTS header
 nepustil.net: could not connect to host
 nestedquotes.ca: could not connect to host
 net-navi.cc: max-age too low: 0
 netbox.cc: could not connect to host
 netherwind.eu: could not connect to host
 netica.fr: could not connect to host
@@ -3912,17 +3929,16 @@ newcitygas.ca: max-age too low: 0
 newedivideo.it: could not connect to host
 newgenerationplus.org: could not connect to host
 newhdmovies.io: did not receive HSTS header
 newkaliningrad.ru: did not receive HSTS header
 newlooknow.com: did not receive HSTS header
 newmelalife.com: did not receive HSTS header
 newportpropertygroup.com: could not connect to host
 newtonwarp.com: could not connect to host
-next-log.ru: could not connect to host
 nextcloud.org: could not connect to host
 nexth.de: could not connect to host
 nexth.net: could not connect to host
 nexth.us: could not connect to host
 nextpages.de: could not connect to host
 nextproject.us: could not connect to host
 nfo.so: could not connect to host
 ng-security.com: could not connect to host
@@ -3936,16 +3952,17 @@ nicestresser.fr: could not connect to ho
 nichteinschalten.de: did not receive HSTS header
 nicky.io: did not receive HSTS header
 nicoborghuis.nl: could not connect to host
 nicolasbettag.me: did not receive HSTS header
 niconiconi.xyz: could not connect to host
 niconode.com: could not connect to host
 niduxcomercial.com: could not connect to host
 nien.chat: could not connect to host
+nien.org: did not receive HSTS header
 nightwinds.tk: could not connect to host
 niho.jp: did not receive HSTS header
 nikcub.com: could not connect to host
 niklaslindblad.se: did not receive HSTS header
 nikomo.fi: did not receive HSTS header
 ninchisho-online.com: did not receive HSTS header
 ninhs.org: could not connect to host
 nippler.org: did not receive HSTS header
@@ -3978,16 +3995,17 @@ nopex.no: could not connect to host
 nopol.de: could not connect to host
 norandom.com: could not connect to host
 norb.at: could not connect to host
 nosecretshop.com: did not receive HSTS header
 nosfermiers.com: did not receive HSTS header
 notadd.com: did not receive HSTS header
 notenoughtime.de: could not connect to host
 nothing.net.nz: max-age too low: 7776000
+notify.moe: did not receive HSTS header
 notinprod.com: did not receive HSTS header
 nottheonion.net: did not receive HSTS header
 nouvelle-vague-saint-cast.fr: did not receive HSTS header
 novaco.in: max-age too low: 3600
 novacoast.com: did not receive HSTS header
 novatrucking.de: could not connect to host
 nowak.ninja: did not receive HSTS header
 noworrywp.com: could not connect to host
@@ -4039,35 +4057,35 @@ nzbs.io: could not connect to host
 nzquakes.maori.nz: could not connect to host
 o0o.one: could not connect to host
 oasis.mobi: did not receive HSTS header
 obermeiers.eu: could not connect to host
 oblast45.ru: did not receive HSTS header
 obsydian.org: could not connect to host
 occentus.net: did not receive HSTS header
 ochaken.cf: could not connect to host
+octocat.ninja: could not connect to host
 odin.xxx: could not connect to host
 odinoffice.no: did not receive HSTS header
 odysseyandco.com: could not connect to host
 oe8.bet: could not connect to host
 ofcourselanguages.com: could not connect to host
 offenedialoge.de: max-age too low: 2592000
-officeclub.com.mx: could not connect to host
+officeclub.com.mx: did not receive HSTS header
 offshore-firma.org: could not connect to host
 ogogoshop.com: could not connect to host
 oiepoie.nl: could not connect to host
 oishioffice.com: did not receive HSTS header
 okane.love: could not connect to host
-okhrana.agency: did not receive HSTS header
 okok-rent.com: could not connect to host
 okok.rent: could not connect to host
 okutama.in.th: could not connect to host
 olanderflorist.com: could not connect to host
 olcso-vps-szerver.hu: could not connect to host
-oldchaphome.nl: could not connect to host
+oldchaphome.nl: did not receive HSTS header
 oldoakflorist.com: could not connect to host
 oliverdunk.com: did not receive HSTS header
 ollehbizev.co.kr: could not connect to host
 olswangtrainees.com: could not connect to host
 omacostudio.com: could not connect to host
 omgaanmetidealen.com: could not connect to host
 ominto.com: max-age too low: 0
 omniti.com: max-age too low: 1
@@ -4164,17 +4182,16 @@ osticketawesome.com: did not receive HST
 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
 otorrino.pt: could not connect to host
 ottospora.nl: could not connect to host
 ourbank.com: did not receive HSTS header
-ourevents.net: could not connect to host
 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
 ovenapp.io: did not receive HSTS header
 overclockers.ge: could not connect to host
@@ -4287,21 +4304,22 @@ pepchid.com: could not connect to host
 pepperhead.com: did not receive HSTS header
 pepperworldhotshop.de: did not receive HSTS header
 pepsicoemployeepreferencesurvey.com: could not connect to host
 perfect-radiant-wrinkles.com: could not connect to host
 perfectionis.me: could not connect to host
 performaterm.ro: could not connect to host
 performous.org: could not connect to host
 perfumista.vn: did not receive HSTS header
+periscopeliveweb.com: could not connect to host
 perlwork.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]
 perplex.nl: did not receive HSTS header
 perroud.pro: did not receive HSTS header
 personaldatabasen.no: could not connect to host
-personalinjurylist.com: did not receive HSTS header
+personalinjurylist.com: could not connect to host
 personalizedtouch.co: could not connect to host
 perthdevicelab.com: did not receive HSTS header
 pesmyclub.com: did not receive HSTS header
 pet-nsk.ru: could not connect to host
 petchart.net: could not connect to host
 pethub.com: did not receive HSTS header
 petit.site: could not connect to host
 petplum.com: did not receive HSTS header
@@ -4330,29 +4348,27 @@ pickr.co: did not receive HSTS header
 picotronic.biz: could not connect to host
 picscare.co.uk: did not receive HSTS header
 pieterjangeeroms.me: 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
 pimpmymac.ru: did not receive HSTS header
-pinoyonlinetv.com: did not receive HSTS header
 pippen.io: could not connect to host
 piratebit.tech: could not connect to host
 piratedb.com: could not connect to host
 piratedot.com: could not connect to host
 piratelist.online: could not connect to host
 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: did not receive HSTS header
 pirlitu.com: did not receive HSTS header
-pirman.es: could not connect to host
 pisexy.me: did not receive HSTS header
 pisidia.de: could not connect to host
 pitonarms.com: could not connect to host
 pittonpreschool.com: did not receive HSTS header
 pixdigital.net: 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
@@ -4370,17 +4386,16 @@ platform.lookout.com: could not connect 
 platomania.eu: did not receive HSTS header
 play.google.com: did not receive HSTS header (error ignored - included regardless)
 playerhunter.com: did not receive HSTS header
 playflick.com: did not receive HSTS header
 playmaker.io: could not connect to host
 playmyplay.com: did not receive HSTS header
 playnation.io: could not connect to host
 playsharp.com: could not connect to host
-pleasure.forsale: could not connect to host
 pleier-it.de: did not receive HSTS header
 pleier.it: did not receive HSTS header
 plfgr.eu.org: could not connect to host
 plhdb.org: did not receive HSTS header
 plirt.ru: did not receive HSTS header
 plixer.com: did not receive HSTS header
 plogable.co: could not connect to host
 plombirator.kz: did not receive HSTS header
@@ -4401,33 +4416,31 @@ poiema.com.sg: did not receive HSTS head
 pointeringles.com: could not connect to host
 pointiswunderland.de: 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
 policeiwitness.sg: could not connect to host
 polimat.org: could not connect to host
-politic.org.ua: could not connect to host
 politically-incorrect.xyz: could not connect to host
 politologos.org: did not receive HSTS header
 polycoise.com: could not connect to host
 polypho.nyc: could not connect to host
 pompefunebrilariviera.it: could not connect to host
 pompompoes.com: could not connect to host
 pontualcomp.com: could not connect to host
 pony.today: could not connect to host
 poolsandstuff.com: did not receive HSTS header
 poon.tech: could not connect to host
 porno-gif.ru: did not receive HSTS header
 pornstars.me: did not receive HSTS header
 portalplatform.net: could not connect to host
 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
 potsky.com: did not receive HSTS header
 poussinooz.fr: could not connect to host
 povitria.net: could not connect to host
@@ -4446,16 +4459,17 @@ pratinav.xyz: could not connect to host
 prattpokemon.com: could not connect to host
 prediksisydney.com: could not connect to host
 preezzie.com: could not connect to host
 prefis.com: did not receive HSTS header
 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
+prenger.co: could not connect to host
 presidentials2016.com: could not connect to host
 press-anime-nenkan.com: did not receive HSTS header
 pressfreedomfoundation.org: did not receive HSTS header
 pretty.hu: could not connect to host
 prettygrouse.com: 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
@@ -4523,35 +4537,32 @@ purewebmasters.com: could not connect to
 purplemoon.mobi: did not receive HSTS header
 purplestar.mobi: did not receive HSTS header
 push.world: did not receive HSTS header
 pushapp.org: did not receive HSTS header
 pwd.ovh: could not connect to host
 pwnsdx.pw: could not connect to host
 pwntr.com: could not connect to host
 py.search.yahoo.com: did not receive HSTS header
-pycrypto.org: could not connect to host
 pyol.org: could not connect to host
 pypi-status.org: could not connect to host
 pyplo.org: did not receive HSTS header
 pypt.lt: did not receive HSTS header
-python-hyper.org: could not connect to host
 q2.si: did not receive HSTS header
 qbik.de: did not receive HSTS header
 qccqld.org.au: could not connect to host
 qingpat.com: could not connect to host
 qingxuan.info: max-age too low: 864000
 qinxi1992.com: could not connect to host
 qionglu.pw: could not connect to host
 qirinus.com: could not connect to host
 qldconservation.org: could not connect to host
 qonqa.de: did not receive HSTS header
 qop.io: could not connect to host
 qorm.co.uk: did not receive HSTS header
-qqj.net: did not receive HSTS header
 qqq.gg: could not connect to host
 qrara.net: did not receive HSTS header
 qrlending.com: did not receive HSTS header
 quail.solutions: could not connect to host
 quality1.com.br: did not receive HSTS header
 quanglepro.com: could not connect to host
 quantacloud.ch: could not connect to host
 quantenteranik.eu: could not connect to host
@@ -4562,17 +4573,17 @@ queercoders.com: did not receive HSTS he
 queryplayground.com: could not connect to host
 questsandrewards.com: could not connect to host
 quizmemes.org: could not connect to host
 quli.nl: did not receive HSTS header
 quotehex.com: could not connect to host
 quranserver.net: could not connect to host
 qvi.st: did not receive HSTS header
 qwaser.fr: could not connect to host
-qwilink.me: did not receive HSTS header
+qwilink.me: could not connect to host
 r10n.com: did not receive HSTS header
 r15.me: could not connect to host
 r3bl.me: did not receive HSTS header
 ra-schaal.de: could not connect to host
 raajheshkannaa.com: could not connect to host
 radicaleducation.net: could not connect to host
 radio-utopie.de: did not receive HSTS header
 radtke.bayern: could not connect to host
@@ -4614,17 +4625,17 @@ raydan.space: could not connect to host
 raydobe.me: could not connect to host
 razlaw.name: did not receive HSTS header
 rbhighinc.org: could not connect to host
 rbose.org: could not connect to host
 rbti.me: could not connect to host
 rc-rp.com: did not receive HSTS header
 rc4.io: could not connect to host
 rcafox.com: could not connect to host
-rcorporation.be: could not connect to host
+rcorporation.be: did not receive HSTS header
 rcpcbd.com: could not connect to host
 rdns.im: did not receive HSTS header
 re-customer.net: did not receive HSTS header
 reachr.com: could not connect to host
 reader.ga: could not connect to host
 readr.pw: could not connect to host
 realmic.net: could not connect to host
 realmofespionage.com: could not connect to host
@@ -4651,24 +4662,24 @@ regaloaks.com: did not receive HSTS head
 regalpalms.com: did not receive HSTS header
 regenbogenwald.de: did not receive HSTS header
 regenerescence.com: did not receive HSTS header
 reggae-cdmx.com: did not receive HSTS header
 rehabthailand.nl: could not connect to host
 reic.me: could not connect to host
 reikiqueen.uk: could not connect to host
 reinaldudras.ee: did not receive HSTS header
-reisyukaku.org: did not receive HSTS header
+reisyukaku.org: could not connect to host
 reithguard-it.de: did not receive HSTS header
 rejo.in: could not connect to host
 rejuvemedspa.com: did not receive HSTS header
 relaxhavefun.com: did not receive HSTS header
 relayawards.com: could not connect to host
 reliable-mail.de: did not receive HSTS header
-relisten.nl: did not receive HSTS header
+relisten.nl: could not connect to host
 rem.pe: could not connect to host
 remedioskaseros.com: did not receive HSTS header
 remitatm.com: did not receive HSTS header
 remodela.com.ve: could not connect to host
 remonttitekniikka.fi: could not connect to host
 rencaijia.com: did not receive HSTS header
 rene-schwarz.com: could not connect to host
 renem.net: did not receive HSTS header
@@ -4699,16 +4710,18 @@ revello.org: did not receive HSTS header
 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
 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
+riaucybersolution.net: 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
 ridwan.co: did not receive HSTS header
 riesenmikrobe.de: max-age too low: 86400
 riesenmikroben.at: max-age too low: 86400
@@ -4862,17 +4875,16 @@ saunasandstuff.com: did not receive HSTS
 savannahtasteexperience.com: did not receive HSTS header
 saveyour.biz: did not receive HSTS header
 sawamura-rental.com: did not receive HSTS header
 sazima.ru: did not receive HSTS header
 sbox-archives.com: could not connect to host
 sby.de: did not receive HSTS header
 sc4le.com: could not connect to host
 scannabi.com: could not connect to host
-scenester.tv: did not receive HSTS header
 schadegarant.net: could not connect to host
 schauer.so: could not connect to host
 scherzstempel.de: max-age too low: 86400
 schnell-gold.com: could not connect to host
 schooltrends.co.uk: did not receive HSTS header
 schopenhauer-institut.de: did not receive HSTS header
 schreiber-netzwerk.eu: did not receive HSTS header
 schrodinger.io: could not connect to host
@@ -4900,24 +4912,24 @@ screencaster.io: did not receive HSTS he
 screenresolution.space: could not connect to host
 screensaversplanet.com: could not connect to host
 scribbleserver.com: did not receive HSTS header
 scribe.systems: could not connect to host
 scrion.com: could not connect to host
 script.google.com: did not receive HSTS header (error ignored - included regardless)
 scriptenforcer.net: could not connect to host
 scriptict.nl: could not connect to host
+scrollstory.com: could not connect to host
 sdmoscow.ru: could not connect to host
 sdrobs.com: did not receive HSTS header
 sdsl-speedtest.de: could not connect to host
 search-one.de: did not receive HSTS header
 sebastian-lutsch.de: could not connect to host
 sebster.com: did not receive HSTS header
 secandtech.com: could not connect to host
-secanje.nl: could not connect to host
 seccom.ch: did not receive HSTS header
 secnet.ga: could not connect to host
 secondary-survivor.com: could not connect to host
 secondary-survivor.help: could not connect to host
 secondary-survivor.net: could not connect to host
 secondarysurvivor.help: could not connect to host
 secondarysurvivorportal.com: could not connect to host
 secondarysurvivorportal.help: could not connect to host
@@ -4952,26 +4964,28 @@ selfie-france.fr: could not connect to h
 selldorado.com: did not receive HSTS header
 sello.com: did not receive HSTS header
 sellocdn.com: could not connect to host
 sellservs.co.za: could not connect to host
 semaf.at: max-age too low: 86400
 semen3325.xyz: could not connect to host
 semenkovich.com: did not receive HSTS header
 semps-servers.de: could not connect to host
+semps.de: did not receive HSTS header
 sendash.com: could not connect to host
 sendmeback.de: did not receive HSTS header
 sendya.me: did not receive HSTS header
 senedirect.com: did not receive HSTS header
 senseofnumber.co.uk: could not connect to host
 sensiblemn.org: could not connect to host
 sensibus.com: did not receive HSTS header
 seo.consulting: did not receive HSTS header
 seobot.com.au: did not receive HSTS header
 seomobo.com: could not connect to host
+seon.me: did not receive HSTS header
 seosanantonioinc.com: did not receive HSTS header
 seowarp.net: did not receive HSTS header
 sep23.ru: did not receive HSTS header
 sepalandseed.com: did not receive HSTS header
 seq.tf: did not receive HSTS header
 serathius.ovh: could not connect to host
 serenitycreams.com: did not receive HSTS header
 serfdom.io: did not receive HSTS header
@@ -5009,38 +5023,38 @@ shibe.club: could not connect to host
 shiftins.com: could not connect to host
 shiftplanning.com: did not receive HSTS header
 shiinko.com: could not connect to host
 shindorei.fr: did not receive HSTS header
 shinebijoux.com.br: could not connect to host
 shinju.moe: could not connect to host
 shiona.xyz: could not connect to host
 shirosaki.org: could not connect to host
-shirt2go.shop: did not receive HSTS header
 shm-forum.org.uk: could not connect to host
 shocksrv.com: did not receive HSTS header
 shooshosha.com: could not connect to host
 shopontarget.com: did not receive HSTS header
 shoprose.ru: could not connect to host
 shops.neonisi.com: could not connect to host
-shota.party: could not connect to host
 showkeeper.tv: did not receive HSTS header
 shrike.me: could not connect to host
 shukatsu-note.com: could not connect to host
 shv25.se: could not connect to host
 shwongacc.com: could not connect to host
 shypp.it: could not connect to host
 shyrydan.es: could not connect to host
 si.to: could not connect to host
 siammedia.co: could not connect to host
 sichere-kartenakzeptanz.de: did not receive HSTS header
 siciliadigitale.pro: could not connect to host
 siddhant.me: max-age too low: 0
 siebens.net: could not connect to host
 sifls.com: could not connect to host
+signix.net: did not receive HSTS header
+sigsegv.run: could not connect to host
 sijimi.cn: did not receive HSTS header
 sikayetvar.com: did not receive HSTS header
 silaslova-ekb.ru: could not connect to host
 silentcircle.com: did not receive HSTS header
 silentcircle.org: could not connect to host
 silentlink.io: could not connect to host
 silicagelpackets.ca: did not receive HSTS header
 silkebaekken.no: did not receive HSTS header
@@ -5101,17 +5115,16 @@ sleep10.com: could not connect to host
 slicketl.com: did not receive HSTS header
 slightfuture.click: could not connect to host
 slightfuture.com: did not receive HSTS header
 slix.io: could not connect to host
 sloancom.com: did not receive HSTS header
 slope.haus: could not connect to host
 slovakiana.sk: did not receive HSTS header
 slovoice.org: could not connect to host
-slowfood.es: could not connect to host
 slycurity.de: did not receive HSTS header
 smallcdn.rocks: could not connect to host
 smart-mirror.de: did not receive HSTS header
 smart-ov.nl: could not connect to host
 smartbuyelectric.com: could not connect to host
 smartcoin.com.br: could not connect to host
 smarthomedna.com: did not receive HSTS header
 smartofficesandsmarthomes.com: did not receive HSTS header
@@ -5132,17 +5145,16 @@ snailing.org: could not connect to host
 snakehosting.dk: did not receive HSTS header
 snapappts.com: could not connect to host
 snapworks.net: did not receive HSTS header
 snel4u.nl: could not connect to host
 snelwerk.be: could not connect to host
 sng.my: could not connect to host
 sniderman.eu.org: could not connect to host
 snip.host: could not connect to host
-snippet.host: could not connect to host
 snoozedds.com: max-age too low: 600
 snoqualmiefiber.org: did not receive HSTS header
 sobabox.ru: could not connect to host
 sobinski.pl: did not receive HSTS header
 sobotkama.eu: did not receive HSTS header
 soccergif.com: could not connect to host
 soci.ml: did not receive HSTS header
 social-journey.com: could not connect to host
@@ -5165,17 +5177,19 @@ soll-i.ch: did not receive HSTS header
 solsystems.ru: could not connect to host
 somali-derp.com: 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
 sosaka.ml: could not connect to host
+sotiran.com: did not receive HSTS header
 sotor.de: did not receive HSTS header
 soucorneteiro.com.br: could not connect to host
 soulema.com: could not connect to host
 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
@@ -5186,16 +5200,17 @@ sovereignshare.com: could not connect to
 sown.dyndns.org: could not connect to host
 spacefish.biz: could not connect to host
 spacehq.org: could not connect to host
 spaggel.nl: could not connect to host
 sparelib.com: max-age too low: 3650
 spark.team: could not connect to host
 sparklingsparklers.com: did not receive HSTS header
 sparsa.army: could not connect to host
+sparta-trade.com: could not connect to host
 spassstempel.de: max-age too low: 86400
 spauted.com: could not connect to host
 spdysync.com: could not connect to host
 speculor.net: could not connect to host
 speed-mailer.com: could not connect to host
 speedcounter.net: did not receive HSTS header
 speedmann.de: could not connect to host
 speeds.vip: did not receive HSTS header
@@ -5209,16 +5224,17 @@ spielcasinos.com: did not receive HSTS h
 spiet.nl: could not connect to host
 spikeykc.me: did not receive HSTS header
 spillmaker.no: did not receive HSTS header
 spilsbury.io: could not connect to host
 spirit-dev.net: max-age too low: 0
 spititout.it: could not connect to host
 spittersberger.recipes: did not receive HSTS header
 splunk.net: could not connect to host
+spodelime.com: did not receive HSTS header
 sponsortobias.com: could not connect to host
 sportchirp-internal.azurewebsites.net: did not receive HSTS header
 sporthit.ru: did not receive HSTS header
 sportwette.eu: did not receive HSTS header
 spot-events.com: could not connect to host
 spotifyripper.tk: could not connect to host
 spotlightsrule.ddns.net: could not connect to host
 spr.id.au: did not receive HSTS header
@@ -5228,17 +5244,16 @@ sprutech.de: did not receive HSTS header
 sprybear.com: max-age too low: 0
 square.gs: could not connect to host
 squatldf.org: did not receive HSTS header
 sqzryang.com: did not receive HSTS header
 srevilak.net: did not receive HSTS header
 srmaximo.com: could not connect to host
 srna.sk: could not connect to host
 srrr.ca: could not connect to host
-ss.lv: could not connect to host
 ss.wtf: could not connect to host
 ssl.panoramio.com: did not receive HSTS header
 ssl.rip: could not connect to host
 ssmato.me: could not connect to host
 ssn1.ru: did not receive HSTS header
 ssnc.org: max-age too low: 300
 sspanda.com: did not receive HSTS header
 ssrvpn.tech: could not connect to host
@@ -5343,17 +5358,16 @@ 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
 summitbankofkc.com: did not receive HSTS header
 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
 sunfulong.me: could not connect to host
 sunnyfruit.ru: could not connect to host
 sunshinepress.org: could not connect to host
 sunyanzi.tk: could not connect to host
 suos.io: could not connect to host
 supcro.com: could not connect to host
 super-erotica.ru: did not receive HSTS header
 super-garciniaslim.com: could not connect to host
@@ -5412,16 +5426,17 @@ sysgeek.cn: could not connect to host
 syso.name: could not connect to host
 syspen.space: did not receive HSTS header
 sysrq.tech: could not connect to host
 systemd.me: could not connect to host
 szaszm.tk: max-age too low: 0
 t-complex.space: could not connect to host
 t-ken.xyz: could not connect to host
 t-shirts4less.nl: did not receive HSTS header
+t-stonegroup.com: could not connect to host
 t-tz.com: could not connect to host
 t0dd.eu: could not connect to host
 t4c-rebirth.com: could not connect to host
 t4x.org: did not receive HSTS header
 taabe.xyz: could not connect to host
 tacomafia.net: did not receive HSTS header
 tadigitalstore.com: could not connect to host
 tafoma.com: did not receive HSTS header
@@ -5521,17 +5536,16 @@ tenthousandcoffees.com: did not receive 
 tentins.com: could not connect to host
 teos.online: could not connect to host
 terra.by: did not receive HSTS header
 terrax.berlin: could not connect to host
 terrax.info: could not connect to host
 terry.pub: did not receive HSTS header
 tescoirelandpayslips.com: could not connect to host
 testandroid.xyz: could not connect to host
-testnode.xyz: could not connect to host
 teulon.eu: could not connect to host
 texte-zur-taufe.de: did not receive HSTS header
 textoplano.xyz: could not connect to host
 textracer.dk: could not connect to host
 tezcam.tk: could not connect to host
 tf2stadium.com: did not receive HSTS header
 tfcoms-sp-tracker-client.azurewebsites.net: could not connect to host
 tffans.com: could not connect to host
@@ -5553,16 +5567,17 @@ thebrotherswarde.com: could not connect 
 thecapitalbank.com: did not receive HSTS header
 thecharlestonwaldorf.com: did not receive HSTS header
 theclementinebutchers.com: could not connect to host
 theclubjersey.com: did not receive HSTS header
 thecoffeehouse.xyz: could not connect to host
 theelitebuzz.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: did not receive HSTS header
 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
@@ -5674,24 +5689,24 @@ 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
 todamateria.com.br: did not receive HSTS header
 todesschaf.org: could not connect to host
 todo.is: did not receive HSTS header
 todobazar.es: could not connect to host
+toeglhofer.at: did not receive HSTS header
 tofu.im: could not connect to host
 togelonlinecommunity.com: did not receive HSTS header
 tokenloan.com: could not connect to host
 tokoone.com: did not receive HSTS header
 tollmanz.com: did not receive HSTS header
 tolud.com: could not connect to host
 tomeara.net: could not connect to host
-tomend.es: could not connect to host
 tomharris.tech: could not connect to host
 tomlankhorst.nl: did not receive HSTS header
 tomli.me: could not connect to host
 tommsy.com: did not receive HSTS header
 tommyads.com: could not connect to host
 tomphill.co.uk: could not connect to host
 tonyfantjr.com: could not connect to host
 toomanypillows.com: could not connect to host
@@ -5706,19 +5721,21 @@ torproject.org.uk: could not connect to 
 torrentdownloads.bid: could not connect to host
 torrentz.website: could not connect to host
 torsten-schmitz.net: could not connect to host
 tortugalife.de: could not connect to host
 torv.rocks: did not receive HSTS header
 tosecure.link: could not connect to host
 toshnix.com: could not connect to host
 toshub.com: could not connect to host
+tosteberg.se: could not connect to host
 totem-eshop.cz: could not connect to host
 toucedo.de: could not connect to host
 touchbasemail.com: did not receive HSTS header
+touchpointidg.us: could not connect to host
 touchscreen-handy.de: did not receive HSTS header
 touchtable.nl: did not receive HSTS header
 tourpeer.com: did not receive HSTS header
 toxme.se: did not receive HSTS header
 toyotamotala.se: could not connect to host
 tpbcdn.com: could not connect to host
 tpe-edu.com: could not connect to host
 tpms4u.at: did not receive HSTS header
@@ -5727,23 +5744,24 @@ tradinews.com: could not connect to host
 tradinews.fr: could not connect to host
 tradingcentre.com.au: did not receive HSTS header
 tradinghope.com: could not connect to host
 tradiz.org: could not connect to host
 trafficmanager.xxx: did not receive HSTS header
 traindb.nl: did not receive HSTS header
 training4girls.ru: did not receive HSTS header
 trainut.com: did not receive HSTS header
-trajano.net: could not connect to host
 transformify.org: did not receive HSTS header
+transl8.eu: could not connect to host
 translate.googleapis.com: did not receive HSTS header (error ignored - included regardless)
 transportal.sk: did not receive HSTS header
 travality.ru: did not receive HSTS header
 travel-kuban.ru: did not receive HSTS header
 travelinsurance.co.nz: did not receive HSTS header
+travelpricecheck.com: did not receive HSTS header
 treasuredinheritanceministry.com: did not receive HSTS header
 treatprostatewithhifu.com: could not connect to host
 treeby.net: could not connect to host
 trell.co.in: did not receive HSTS header
 trendberry.ru: could not connect to host
 trileg.net: could not connect to host
 trinityaffirmations.com: max-age too low: 0
 trinitycore.org: max-age too low: 2592000
@@ -5774,22 +5792,20 @@ tucker.wales: could not connect to host
 tunai.id: could not connect to host
 tunebitfm.de: could not connect to host
 turnik-67.ru: could not connect to host
 turniker.ru: could not connect to host
 turtlementors.com: could not connect to host
 tuturulianda.com: did not receive HSTS header
 tuvalie.com: could not connect to host
 tuxcall.de: could not connect to host
-tuxflow.de: could not connect to host
-tuxz.net: did not receive HSTS header
+tuxz.net: could not connect to host
 tv.search.yahoo.com: could not connect to host
 tvtubeflix.com: did not receive HSTS header
 tvz-materijali.com: could not connect to host
-tw2-tools.ga: could not connect to host
 twarog.cc: could not connect to host
 twillionmas.com: could not connect to host
 twinkseason.ca: could not connect to host
 twinkseason.co: could not connect to host
 twinkseason.co.uk: could not connect to host
 twinkseason.com: could not connect to host
 twinkseason.net: could not connect to host
 twinkseason.org: could not connect to host
@@ -5857,16 +5873,17 @@ unblockmy.party: could not connect to ho
 unblockmy.tech: could not connect to host
 unblockmy.xyz: could not connect to host
 unblockmyproxy.site: could not connect to host
 unblockthe.site: could not connect to host
 unblockthe.top: could not connect to host
 unccdesign.club: could not connect to host
 unclegen.xyz: could not connect to host
 under30stravelinsurance.com.au: did not receive HSTS header
+undernet.uy: could not connect to host
 unfiltered.nyc: did not receive HSTS header
 uni-games.com: could not connect to host
 unicooo.com: did not receive HSTS header
 unikitty-on-tour.com: could not connect to host
 unison.com: did not receive HSTS header
 unisyssecurity.com: did not receive HSTS header
 unitlabs.net: could not connect to host
 university4industry.com: did not receive HSTS header
@@ -5880,17 +5897,16 @@ unwiredbrain.com: could not connect to h
 unyq.me: could not connect to host
 uonstaffhub.com: could not connect to host
 uow.ninja: could not connect to host
 up1.ca: could not connect to host
 upaknship.com: did not receive HSTS header
 upboard.jp: could not connect to host
 upldr.pw: could not connect to host
 uporoops.com: could not connect to host
-upr.com.ua: 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: could not connect to host
 urbpic.com: could not connect to host
 urlchomp.com: did not receive HSTS header
 urown.net: could not connect to host
@@ -5954,17 +5970,16 @@ veggiefasting.com: could not connect to 
 vehent.org: did not receive HSTS header
 vemokin.net: could not connect to host
 venixplays-stream.ml: could not connect to host
 ventizo.com: did not receive HSTS header
 verifikatorindonesia.com: could not connect to host
 vermontcareergateway.org: could not connect to host
 versia.ru: did not receive HSTS header
 veryhax.de: could not connect to host
-ves.vn.ua: could not connect to host
 vestacp.top: could not connect to host
 vetdnacenter.com: did not receive HSTS header
 veterinaire-cazeres-foucault.fr: could not connect to host
 vetmgmt.com: could not connect to host
 veto.fish: 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
@@ -5973,16 +5988,17 @@ vicianovi.cz: could not connect to host
 videnskabsklubben.dk: did not receive HSTS header
 videomuz.com: did not receive HSTS header
 videotogel.net: did not receive HSTS header
 videoueberwachung-set.de: did not receive HSTS header
 vidid.net: did not receive HSTS header
 vidz.ga: could not connect to host
 vieaw.com: did not receive HSTS header
 vietnamphotographytours.com: did not receive HSTS header
+viewmyrecords.com: could not connect to host
 vigilo.cf: could not connect to host
 vigilo.ga: could not connect to host
 vijos.org: did not receive HSTS header
 viktor-machnik.de: could not connect to host
 viktorsvantesson.net: did not receive HSTS header
 villenvinkit.com: did not receive HSTS header
 vinasec.se: could not connect to host
 vincentkooijman.at: did not receive HSTS header
@@ -6007,17 +6023,16 @@ viva-french.com: did not receive HSTS he
 vivocloud.com: could not connect to host
 vizeat.com: did not receive HSTS header
 vizional.com: could not connect to host
 vjeff.com: could not connect to host
 vlastimilburian.cz: did not receive HSTS header
 vlora.city: could not connect to host
 vm0.eu: did not receive HSTS header
 vmrdev.com: could not connect to host
-vmug.pl: could not connect to host
 voceinveste.com: did not receive HSTS header
 voicesuk.co.uk: did not receive HSTS header
 volcrado.com: did not receive HSTS header
 voliere-info.nl: did not receive HSTS header
 volkden.com: could not connect to host
 vonavy-cukor.sk: could not connect to host
 vonavycukor.sk: could not connect to host
 voodoo-laden.de: max-age too low: 86400
@@ -6083,17 +6098,17 @@ web-redacteuren.nl: did not receive HSTS
 web-torrent.com: max-age too low: 0
 web-vision.de: did not receive HSTS header
 web4all.fr: did not receive HSTS header
 web4pro.fr: could not connect to host
 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
+webdesign-kronberg.de: could not connect to host
 webdev.mobi: could not connect to host
 webeconomia.it: did not receive HSTS header
 webelement.sk: did not receive HSTS header
 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
@@ -6160,16 +6175,17 @@ wieninternational.at: did not receive HS
 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
 williamsapiens.com: could not connect to host
 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
 windowsphoneblog.it: max-age too low: 0
 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
@@ -6183,26 +6199,26 @@ wishcert.com: could not connect to host
 withgoogle.com: did not receive HSTS header (error ignored - included regardless)
 withmy.beer: could not connect to host
 withustrading.com: could not connect to host
 withyoutube.com: did not receive HSTS header (error ignored - included regardless)
 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
+wizzley.com: could not connect to host
 wjglerum.nl: 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
 wobblylang.org: could not connect to host
 wochenentwicklung.com: did not receive HSTS header
 wod-stavby.cz: could not connect to host
 wodice.com: could not connect to host
-wodka-division.de: 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
 wondy.com: could not connect to host
 woodmafia.com.au: max-age too low: 0
@@ -6314,27 +6330,27 @@ xn--jobbrse-d1a.de: did not receive HSTS
 xn--lgb3a8bcpn.cf: could not connect to host
 xn--lgb3a8bcpn.ga: could not connect to host
 xn--lgb3a8bcpn.gq: could not connect to host
 xn--lgb3a8bcpn.ml: could not connect to host
 xn--ls8hi7a.tk: could not connect to host
 xn--lsaupp-iua.se: did not receive HSTS header
 xn--mgbbh2a9fub.xn--ngbc5azd: could not connect to host
 xn--neb-tma3u8u.xyz: could not connect to host
+xn--o3cea3afbwl1da3wf0i.com: did not receive HSTS header
 xn--seelenwchter-mcb.eu: could not connect to host
 xn--werner-schffer-fib.de: could not connect to host
 xn--xdtx3pfzbiw3ar8e7yedqrhui.com: could not connect to host
 xn--yoamomisuasbcn-ynb.com: could not connect to host
 xobox.me: could not connect to host
 xoffy.com: did not receive HSTS header
 xom.party: could not connect to host
 xor-a.net: could not connect to host
 xperiacodes.com: did not receive HSTS header
 xpi.fr: could not connect to host
-xqin.net: could not connect to host
 xsmobile.de: could not connect to host
 xtom.email: could not connect to host
 xtream-hosting.com: could not connect to host
 xtream-hosting.de: could not connect to host
 xtream-hosting.eu: could not connect to host
 xtreamhosting.eu: could not connect to host
 xtrim.ru: did not receive HSTS header
 xuexb.com: did not receive HSTS header
@@ -6371,16 +6387,17 @@ yhrd.org: did not receive HSTS header
 yikzu.cn: could not connect to host
 yin.roma.it: did not receive HSTS header
 yingyj.com: did not receive HSTS header
 yippie.nl: could not connect to host
 yjsoft.me: did not receive HSTS header
 ynode.co: did not receive HSTS header
 ynsn.nl: did not receive HSTS header
 yoga.is-an-engineer.com: could not connect to host
+yogoeasy.com: did not receive HSTS header
 yokeepo.com: max-age too low: 0
 yoloboatrentals.com: did not receive HSTS header
 yoloprod.fr: could not connect to host
 yoloseo.com: could not connect to host
 yomepre.com: could not connect to host
 yoru.me: did not receive HSTS header
 youcontrol.ru: could not connect to host
 youlog.net: could not connect to host
@@ -6417,38 +6434,39 @@ zanthra.com: 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
 zary.me: did not receive HSTS header
 zbigniewgalucki.eu: did not receive HSTS header
 zcon.nl: could not connect to host
 zdravotnickainformatika.cz: did not receive HSTS header
 zdravotnickasluzba.eu: could not connect to host
-zebrababy.cn: did not receive HSTS header
+zebrababy.cn: could not connect to host
 zeedroom.be: 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
 zelfstandigemakelaars.net: could not connect to host
 zenghx.tk: could not connect to host
 zenpayroll.com: did not receive HSTS header
 zentraler-kreditausschuss.de: did not receive HSTS header
 zentralwolke.de: did not receive HSTS header
 zera.com.au: could not connect to host
 zeroday.sk: did not receive HSTS header
 zerolab.org: could not connect to host
+zeroml.ml: 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
 zh1.li: could not connect to host
 zhangzifan.com: did not receive HSTS header
 zhaojin97.cn: did not receive HSTS header
 zhendingresources.com: max-age too low: 0
-zhengzexin.com: did not receive HSTS header
+zhengzexin.com: could not connect to host
 zhihua-lai.com: did not receive HSTS header
 zicklam.com: did not receive HSTS header
 zigcore.com.br: could not connect to host
 zihao.me: did not receive HSTS header
 zinc-x.com: did not receive HSTS header
 zinenapse.info: could not connect to host
 zirtue.io: did not receive HSTS header
 zittingskalender.be: 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(1508600158126000);
+const PRTime gPreloadListExpirationTime = INT64_C(1508685673271000);
 
 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',
   /* "00f.net", true */ '0', '0', 'f', '.', 'n', 'e', 't', '\0',
   /* "00wbf.com", true */ '0', '0', 'w', 'b', 'f', '.', 'c', 'o', 'm', '\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',
@@ -29,16 +29,17 @@ static const char kSTSHostTable[] = {
   /* "048.ag", true */ '0', '4', '8', '.', 'a', 'g', '\0',
   /* "048.com", true */ '0', '4', '8', '.', 'c', 'o', 'm', '\0',
   /* "050media.nl", true */ '0', '5', '0', 'm', 'e', 'd', 'i', 'a', '.', 'n', 'l', '\0',
   /* "0513c.com", true */ '0', '5', '1', '3', 'c', '.', 'c', 'o', 'm', '\0',
   /* "0au.de", true */ '0', 'a', 'u', '.', 'd', 'e', '\0',
   /* "0c.eu", true */ '0', 'c', '.', 'e', 'u', '\0',
   /* "0c3.de", true */ '0', 'c', '3', '.', 'd', 'e', '\0',
   /* "0day.agency", true */ '0', 'd', 'a', 'y', '.', 'a', 'g', 'e', 'n', 'c', 'y', '\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',
   /* "0paste.com", true */ '0', 'p', 'a', 's', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "0w0.vc", true */ '0', 'w', '0', '.', 'v', 'c', '\0',
   /* "0x.cx", true */ '0', 'x', '.', 'c', 'x', '\0',
   /* "0x.sk", true */ '0', 'x', '.', 's', 'k', '\0',
   /* "0x00ff00ff.com", true */ '0', 'x', '0', '0', 'f', 'f', '0', '0', 'f', 'f', '.', 'c', 'o', 'm', '\0',
@@ -182,23 +183,21 @@ static const char kSTSHostTable[] = {
   /* "2c-t-8.com", true */ '2', 'c', '-', 't', '-', '8', '.', 'c', 'o', 'm', '\0',
   /* "2carpros.com", false */ '2', 'c', 'a', 'r', 'p', 'r', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "2cash.ru", true */ '2', 'c', 'a', 's', 'h', '.', 'r', 'u', '\0',
   /* "2cv-fahrer.de", true */ '2', 'c', 'v', '-', 'f', 'a', 'h', 'r', 'e', 'r', '.', 'd', 'e', '\0',
   /* "2fm.ie", true */ '2', 'f', 'm', '.', 'i', 'e', '\0',
   /* "2fraud.pro", true */ '2', 'f', 'r', 'a', 'u', 'd', '.', 'p', 'r', 'o', '\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',
   /* "2mb.solutions", true */ '2', 'm', 'b', '.', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '\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',
   /* "2smart4food.com", true */ '2', 's', 'm', 'a', 'r', 't', '4', 'f', 'o', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "2ulcceria.nl", true */ '2', 'u', 'l', 'c', 'c', 'e', 'r', 'i', 'a', '.', 'n', 'l', '\0',
   /* "314chan.org", true */ '3', '1', '4', 'c', 'h', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "31klabs.com", true */ '3', '1', 'k', 'l', 'a', 'b', 's', '.', 'c', 'o', 'm', '\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',
@@ -252,16 +251,17 @@ static const char kSTSHostTable[] = {
   /* "404notfound.com.br", true */ '4', '0', '4', 'n', 'o', 't', 'f', 'o', 'u', 'n', 'd', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "4096bit.de", true */ '4', '0', '9', '6', 'b', 'i', 't', '.', 'd', 'e', '\0',
   /* "41-where.com", true */ '4', '1', '-', 'w', 'h', 'e', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "41844.de", true */ '4', '1', '8', '4', '4', '.', 'd', 'e', '\0',
   /* "41where.com", true */ '4', '1', 'w', 'h', 'e', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "42day.info", true */ '4', '2', 'd', 'a', 'y', '.', 'i', 'n', 'f', 'o', '\0',
   /* "42entrepreneurs.fr", true */ '4', '2', 'e', 'n', 't', 'r', 'e', 'p', 'r', 'e', 'n', 'e', 'u', 'r', 's', '.', 'f', 'r', '\0',
   /* "439191.com", true */ '4', '3', '9', '1', '9', '1', '.', 'c', 'o', 'm', '\0',
+  /* "441jj.com", true */ '4', '4', '1', 'j', 'j', '.', 'c', 'o', 'm', '\0',
   /* "4500.co.il", true */ '4', '5', '0', '0', '.', 'c', 'o', '.', 'i', 'l', '\0',
   /* "491mhz.net", true */ '4', '9', '1', 'm', 'h', 'z', '.', 'n', 'e', 't', '\0',
   /* "49889.com", true */ '4', '9', '8', '8', '9', '.', 'c', 'o', 'm', '\0',
   /* "4d2.xyz", true */ '4', 'd', '2', '.', 'x', 'y', 'z', '\0',
   /* "4dbygg.se", true */ '4', 'd', 'b', 'y', 'g', 'g', '.', 's', 'e', '\0',
   /* "4decor.org", true */ '4', 'd', 'e', 'c', 'o', 'r', '.', 'o', 'r', 'g', '\0',
   /* "4freepress.com", true */ '4', 'f', 'r', 'e', 'e', 'p', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "4g-server.eu", false */ '4', 'g', '-', 's', 'e', 'r', 'v', 'e', 'r', '.', 'e', 'u', '\0',
@@ -752,17 +752,16 @@ static const char kSTSHostTable[] = {
   /* "aiutodomestico.ch", true */ 'a', 'i', 'u', 't', 'o', 'd', 'o', 'm', 'e', 's', 't', 'i', 'c', 'o', '.', 'c', 'h', '\0',
   /* "aivd.lol", true */ 'a', 'i', 'v', 'd', '.', 'l', 'o', 'l', '\0',
   /* "aiwdirect.com", true */ 'a', 'i', 'w', 'd', 'i', 'r', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "aixxe.net", true */ 'a', 'i', 'x', 'x', 'e', '.', 'n', 'e', 't', '\0',
   /* "ajarope.com", true */ 'a', 'j', 'a', 'r', 'o', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ajces.com", true */ 'a', 'j', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "ajetaci.cz", true */ 'a', 'j', 'e', 't', 'a', 'c', 'i', '.', 'c', 'z', '\0',
   /* "ajouin.com", true */ 'a', 'j', 'o', 'u', 'i', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "aka.my", true */ 'a', 'k', 'a', '.', 'm', 'y', '\0',
   /* "akachanikuji.com", true */ 'a', 'k', 'a', 'c', 'h', 'a', 'n', 'i', 'k', 'u', 'j', 'i', '.', 'c', 'o', 'm', '\0',
   /* "akalashnikov.ru", true */ 'a', 'k', 'a', 'l', 'a', 's', 'h', 'n', 'i', 'k', 'o', 'v', '.', 'r', 'u', '\0',
   /* "akamon.ac.jp", true */ 'a', 'k', 'a', 'm', 'o', 'n', '.', 'a', 'c', '.', 'j', 'p', '\0',
   /* "akaoma.com", true */ 'a', 'k', 'a', 'o', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "akay.me", true */ 'a', 'k', 'a', 'y', '.', 'm', 'e', '\0',
   /* "akdigitalegesellschaft.de", false */ 'a', 'k', 'd', 'i', 'g', 'i', 't', 'a', 'l', 'e', 'g', 'e', 's', 'e', 'l', 'l', 's', 'c', 'h', 'a', 'f', 't', '.', 'd', 'e', '\0',
   /* "akelius.de", false */ 'a', 'k', 'e', 'l', 'i', 'u', 's', '.', 'd', 'e', '\0',
   /* "akhilindurti.com", false */ 'a', 'k', 'h', 'i', 'l', 'i', 'n', 'd', 'u', 'r', 't', 'i', '.', 'c', 'o', 'm', '\0',
@@ -960,27 +959,28 @@ static const char kSTSHostTable[] = {
   /* "altopia.com", true */ 'a', 'l', 't', 'o', 'p', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "altporn.xyz", true */ 'a', 'l', 't', 'p', 'o', 'r', 'n', '.', 'x', 'y', 'z', '\0',
   /* "altunbas.info", true */ 'a', 'l', 't', 'u', 'n', 'b', 'a', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "alumni-kusa.jp", true */ 'a', 'l', 'u', 'm', 'n', 'i', '-', 'k', 'u', 's', 'a', '.', 'j', 'p', '\0',
   /* "alunjam.es", true */ 'a', 'l', 'u', 'n', 'j', 'a', 'm', '.', 'e', 's', '\0',
   /* "alunonaescola.com.br", true */ 'a', 'l', 'u', 'n', 'o', 'n', 'a', 'e', 's', 'c', 'o', 'l', 'a', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "alupferd.de", true */ 'a', 'l', 'u', 'p', 'f', 'e', 'r', 'd', '.', 'd', 'e', '\0',
   /* "aluroof.eu", true */ 'a', 'l', 'u', 'r', 'o', 'o', 'f', '.', 'e', 'u', '\0',
+  /* "alvicom.hu", true */ 'a', 'l', 'v', 'i', 'c', 'o', 'm', '.', 'h', 'u', '\0',
   /* "alvosec.com", true */ 'a', 'l', 'v', 'o', 's', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "alwayslookingyourbest.com", true */ 'a', 'l', 'w', 'a', 'y', 's', 'l', 'o', 'o', 'k', 'i', 'n', 'g', 'y', 'o', 'u', 'r', 'b', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "alwaysmine.fi", true */ 'a', 'l', 'w', 'a', 'y', 's', 'm', 'i', 'n', 'e', '.', 'f', 'i', '\0',
   /* "alyoung.com", true */ 'a', 'l', 'y', 'o', 'u', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "am8888.top", true */ 'a', 'm', '8', '8', '8', '8', '.', 't', 'o', 'p', '\0',
   /* "ama.ne.jp", true */ 'a', 'm', 'a', '.', 'n', 'e', '.', 'j', 'p', '\0',
   /* "amadoraslindas.com", true */ 'a', 'm', 'a', 'd', 'o', 'r', 'a', 's', 'l', 'i', 'n', 'd', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "amadvice.com", true */ 'a', 'm', 'a', 'd', 'v', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "amagdic.com", true */ 'a', 'm', 'a', 'g', 'd', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "amagical.net", true */ 'a', 'm', 'a', 'g', 'i', 'c', 'a', 'l', '.', 'n', 'e', 't', '\0',
-  /* "amani-kinderdorf.de", true */ 'a', 'm', 'a', 'n', 'i', '-', 'k', 'i', 'n', 'd', 'e', 'r', 'd', 'o', 'r', 'f', '.', 'd', 'e', '\0',
+  /* "amani-kinderdorf.de", false */ 'a', 'm', 'a', 'n', 'i', '-', 'k', 'i', 'n', 'd', 'e', 'r', 'd', 'o', 'r', 'f', '.', 'd', 'e', '\0',
   /* "amartinz.at", true */ 'a', 'm', 'a', 'r', 't', 'i', 'n', 'z', '.', 'a', 't', '\0',
   /* "amateri.com", true */ 'a', 'm', 'a', 't', 'e', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "amazili-communication.com", true */ 'a', 'm', 'a', 'z', 'i', 'l', 'i', '-', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 'c', 'a', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "amazing-gaming.fr", true */ 'a', 'm', 'a', 'z', 'i', 'n', 'g', '-', 'g', 'a', 'm', 'i', 'n', 'g', '.', 'f', 'r', '\0',
   /* "amazingfloridagulfhomes.com", true */ 'a', 'm', 'a', 'z', 'i', 'n', 'g', 'f', 'l', 'o', 'r', 'i', 'd', 'a', 'g', 'u', 'l', 'f', 'h', 'o', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "amberalert.gov", true */ 'a', 'm', 'b', 'e', 'r', 'a', 'l', 'e', 'r', 't', '.', 'g', 'o', 'v', '\0',
   /* "ambiancestudio.ro", true */ 'a', 'm', 'b', 'i', 'a', 'n', 'c', 'e', 's', 't', 'u', 'd', 'i', 'o', '.', 'r', 'o', '\0',
   /* "ambiente.one", true */ 'a', 'm', 'b', 'i', 'e', 'n', 't', 'e', '.', 'o', 'n', 'e', '\0',
@@ -1365,16 +1365,17 @@ static const char kSTSHostTable[] = {
   /* "archoit.org", true */ 'a', 'r', 'c', 'h', 'o', 'i', 't', '.', 'o', 'r', 'g', '\0',
   /* "arckr.com", true */ 'a', 'r', 'c', 'k', 'r', '.', 'c', 'o', 'm', '\0',
   /* "arctic.gov", true */ 'a', 'r', 'c', 't', 'i', 'c', '.', 'g', 'o', 'v', '\0',
   /* "arcueil-cachan.fr", true */ 'a', 'r', 'c', 'u', 'e', 'i', 'l', '-', 'c', 'a', 'c', 'h', 'a', 'n', '.', 'f', 'r', '\0',
   /* "arcusnova.de", true */ 'a', 'r', 'c', 'u', 's', 'n', 'o', 'v', 'a', '.', 'd', 'e', '\0',
   /* "ardao.me", true */ 'a', 'r', 'd', 'a', 'o', '.', 'm', 'e', '\0',
   /* "ardorlabs.se", true */ 'a', 'r', 'd', 'o', 'r', 'l', 'a', 'b', 's', '.', 's', 'e', '\0',
   /* "ardtrade.ru", true */ 'a', 'r', 'd', 't', 'r', 'a', 'd', 'e', '.', 'r', 'u', '\0',
+  /* "area536.com", true */ 'a', 'r', 'e', 'a', '5', '3', '6', '.', 'c', 'o', 'm', '\0',
   /* "areafiftylan.nl", true */ 'a', 'r', 'e', 'a', 'f', 'i', 'f', 't', 'y', 'l', 'a', 'n', '.', 'n', 'l', '\0',
   /* "areatrend.com", true */ 'a', 'r', 'e', 'a', 't', 'r', 'e', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "arendburgers.nl", true */ 'a', 'r', 'e', 'n', 'd', 'b', 'u', 'r', 'g', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "ares-trading.de", true */ 'a', 'r', 'e', 's', '-', 't', 'r', 'a', 'd', 'i', 'n', 'g', '.', 'd', 'e', '\0',
   /* "arewedubstepyet.com", true */ 'a', 'r', 'e', 'w', 'e', 'd', 'u', 'b', 's', 't', 'e', 'p', 'y', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "argb.de", true */ 'a', 'r', 'g', 'b', '.', 'd', 'e', '\0',
   /* "argekultur.at", true */ 'a', 'r', 'g', 'e', 'k', 'u', 'l', 't', 'u', 'r', '.', 'a', 't', '\0',
   /* "argh.io", true */ 'a', 'r', 'g', 'h', '.', 'i', 'o', '\0',
@@ -1739,24 +1740,24 @@ static const char kSTSHostTable[] = {
   /* "ayesh.me", true */ 'a', 'y', 'e', 's', 'h', '.', 'm', 'e', '\0',
   /* "aykutcevik.com", true */ 'a', 'y', 'k', 'u', 't', 'c', 'e', 'v', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "aylak.com", true */ 'a', 'y', 'l', 'a', 'k', '.', 'c', 'o', 'm', '\0',
   /* "aymerick.fr", true */ 'a', 'y', 'm', 'e', 'r', 'i', 'c', 'k', '.', 'f', 'r', '\0',
   /* "aymericlagier.com", true */ 'a', 'y', 'm', 'e', 'r', 'i', 'c', 'l', 'a', 'g', 'i', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ayothemes.com", true */ 'a', 'y', 'o', 't', 'h', 'e', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "ayurveda-mantry.com", true */ 'a', 'y', 'u', 'r', 'v', 'e', 'd', 'a', '-', 'm', 'a', 'n', 't', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "ayurveda101.com", false */ 'a', 'y', 'u', 'r', 'v', 'e', 'd', 'a', '1', '0', '1', '.', 'c', 'o', 'm', '\0',
-  /* "azabani.com", true */ 'a', 'z', 'a', 'b', 'a', 'n', 'i', '.', 'c', 'o', 'm', '\0',
   /* "azamra.com", true */ 'a', 'z', 'a', 'm', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "azazy.net", true */ 'a', 'z', 'a', 'z', 'y', '.', 'n', 'e', 't', '\0',
   /* "azbuki.by", true */ 'a', 'z', 'b', 'u', 'k', 'i', '.', 'b', 'y', '\0',
   /* "azia.info", true */ 'a', 'z', 'i', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "azimut.fr", true */ 'a', 'z', 'i', 'm', 'u', 't', '.', 'f', 'r', '\0',
   /* "azirevpn.com", true */ 'a', 'z', 'i', 'r', 'e', 'v', 'p', 'n', '.', 'c', 'o', 'm', '\0',
   /* "azlk-team.ru", true */ 'a', 'z', 'l', 'k', '-', 't', 'e', 'a', 'm', '.', 'r', 'u', '\0',
+  /* "azort.com", true */ 'a', 'z', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "azrazalea.net", true */ 'a', 'z', 'r', 'a', 'z', 'a', 'l', 'e', 'a', '.', 'n', 'e', 't', '\0',
   /* "aztrix.me", true */ 'a', 'z', 't', 'r', 'i', 'x', '.', 'm', 'e', '\0',
   /* "azun.pl", true */ 'a', 'z', 'u', 'n', '.', 'p', 'l', '\0',
   /* "azuxul.fr", true */ 'a', 'z', 'u', 'x', 'u', 'l', '.', 'f', 'r', '\0',
   /* "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-b-law.com", true */ 'b', '-', 'b', '-', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "b-pi.duckdns.org", true */ 'b', '-', 'p', 'i', '.', 'd', 'u', 'c', 'k', 'd', 'n', 's', '.', 'o', 'r', 'g', '\0',
@@ -1861,17 +1862,16 @@ static const char kSTSHostTable[] = {
   /* "bangzafran.com", false */ 'b', 'a', 'n', 'g', 'z', 'a', 'f', 'r', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "bank.simple.com", false */ 'b', 'a', 'n', 'k', '.', 's', 'i', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bankbranchlocator.com", true */ 'b', 'a', 'n', 'k', 'b', 'r', 'a', 'n', 'c', 'h', 'l', 'o', 'c', 'a', 't', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "bankcardoffer.com", true */ 'b', 'a', 'n', 'k', 'c', 'a', 'r', 'd', 'o', 'f', 'f', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "bankcircle.co.in", true */ 'b', 'a', 'n', 'k', 'c', 'i', 'r', 'c', 'l', 'e', '.', 'c', 'o', '.', 'i', 'n', '\0',
   /* "bankersonline.com", true */ 'b', 'a', 'n', 'k', 'e', 'r', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bankin.com", true */ 'b', 'a', 'n', 'k', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "bankinter.pt", true */ 'b', 'a', 'n', 'k', 'i', 'n', 't', 'e', 'r', '.', 'p', 't', '\0',
-  /* "bankofdenton.com", true */ 'b', 'a', 'n', 'k', 'o', 'f', 'd', 'e', 'n', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "bankstownapartments.com.au", true */ 'b', 'a', 'n', 'k', 's', 't', 'o', 'w', 'n', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "banri.me", true */ 'b', 'a', 'n', 'r', 'i', '.', 'm', 'e', '\0',
   /* "baofengtech.com", true */ 'b', 'a', 'o', 'f', 'e', 'n', 'g', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "baptistboard.com", true */ 'b', 'a', 'p', 't', 'i', 's', 't', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "baptiste-peugnez.fr", true */ 'b', 'a', 'p', 't', 'i', 's', 't', 'e', '-', 'p', 'e', 'u', 'g', 'n', 'e', 'z', '.', 'f', 'r', '\0',
   /* "barans2239.com", true */ 'b', 'a', 'r', 'a', 'n', 's', '2', '2', '3', '9', '.', 'c', 'o', 'm', '\0',
   /* "barbarians.com", true */ 'b', 'a', 'r', 'b', 'a', 'r', 'i', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "barbate.fr", true */ 'b', 'a', 'r', 'b', 'a', 't', 'e', '.', 'f', 'r', '\0',
@@ -2009,34 +2009,32 @@ static const char kSTSHostTable[] = {
   /* "bee.clothing", true */ 'b', 'e', 'e', '.', 'c', 'l', 'o', 't', 'h', 'i', 'n', 'g', '\0',
   /* "bee.supply", true */ 'b', 'e', 'e', '.', 's', 'u', 'p', 'p', 'l', 'y', '\0',
   /* "bee.tools", true */ 'b', 'e', 'e', '.', 't', 'o', 'o', 'l', 's', '\0',
   /* "beehive42.com", true */ 'b', 'e', 'e', 'h', 'i', 'v', 'e', '4', '2', '.', 'c', 'o', 'm', '\0',
   /* "beehive42.eu", true */ 'b', 'e', 'e', 'h', 'i', 'v', 'e', '4', '2', '.', 'e', 'u', '\0',
   /* "beehive42.net", true */ 'b', 'e', 'e', 'h', 'i', 'v', 'e', '4', '2', '.', 'n', 'e', 't', '\0',
   /* "beehive42.nl", true */ 'b', 'e', 'e', 'h', 'i', 'v', 'e', '4', '2', '.', 'n', 'l', '\0',
   /* "beehive42.org", true */ 'b', 'e', 'e', 'h', 'i', 'v', 'e', '4', '2', '.', 'o', 'r', 'g', '\0',
-  /* "beehosting.pro", true */ 'b', 'e', 'e', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'p', 'r', 'o', '\0',
   /* "beekbier.nl", true */ 'b', 'e', 'e', 'k', 'b', 'i', 'e', 'r', '.', 'n', 'l', '\0',
   /* "beekeeper.supply", true */ 'b', 'e', 'e', 'k', 'e', 'e', 'p', 'e', 'r', '.', 's', 'u', 'p', 'p', 'l', 'y', '\0',
   /* "beekeeper.tools", true */ 'b', 'e', 'e', 'k', 'e', 'e', 'p', 'e', 'r', '.', 't', 'o', 'o', 'l', 's', '\0',
   /* "beekeeping.clothing", true */ 'b', 'e', 'e', 'k', 'e', 'e', 'p', 'i', 'n', 'g', '.', 'c', 'l', 'o', 't', 'h', 'i', 'n', 'g', '\0',
   /* "beekeeping.tools", true */ 'b', 'e', 'e', 'k', 'e', 'e', 'p', 'i', 'n', 'g', '.', 't', 'o', 'o', 'l', 's', '\0',
   /* "beeksnetwork.nl", true */ 'b', 'e', 'e', 'k', 's', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'n', 'l', '\0',
   /* "beelen.fr", true */ 'b', 'e', 'e', 'l', 'e', 'n', '.', 'f', 'r', '\0',
   /* "beepan.com", false */ 'b', 'e', 'e', 'p', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "beercandle.com", true */ 'b', 'e', 'e', 'r', 'c', 'a', 'n', 'd', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "beergazetteer.com", true */ 'b', 'e', 'e', 'r', 'g', 'a', 'z', 'e', 't', 't', 'e', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "beerians.com", true */ 'b', 'e', 'e', 'r', 'i', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "beerradar.no", true */ 'b', 'e', 'e', 'r', 'r', 'a', 'd', 'a', 'r', '.', 'n', 'o', '\0',
   /* "beerradar.party", true */ 'b', 'e', 'e', 'r', 'r', 'a', 'd', 'a', 'r', '.', 'p', 'a', 'r', 't', 'y', '\0',
   /* "beersandco.ch", true */ 'b', 'e', 'e', 'r', 's', 'a', 'n', 'd', 'c', 'o', '.', 'c', 'h', '\0',
   /* "beersconf.com", true */ 'b', 'e', 'e', 'r', 's', 'c', 'o', 'n', 'f', '.', 'c', 'o', 'm', '\0',
   /* "beeswax-orgone.com", true */ 'b', 'e', 'e', 's', 'w', 'a', 'x', '-', 'o', 'r', 'g', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "beetman.net", true */ 'b', 'e', 'e', 't', 'm', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "beeznest.com", true */ 'b', 'e', 'e', 'z', 'n', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "befoodsafe.gov", true */ 'b', 'e', 'f', 'o', 'o', 'd', 's', 'a', 'f', 'e', '.', 'g', 'o', 'v', '\0',
   /* "beframed.ch", true */ 'b', 'e', 'f', 'r', 'a', 'm', 'e', 'd', '.', 'c', 'h', '\0',
   /* "befundonline.de", true */ 'b', 'e', 'f', 'u', 'n', 'd', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "befundup.com", true */ 'b', 'e', 'f', 'u', 'n', 'd', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "begabungsfoerderung.info", true */ 'b', 'e', 'g', 'a', 'b', 'u', 'n', 'g', 's', 'f', 'o', 'e', 'r', 'd', 'e', 'r', 'u', 'n', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "begbie.com", true */ 'b', 'e', 'g', 'b', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "beginner.nl", true */ 'b', 'e', 'g', 'i', 'n', 'n', 'e', 'r', '.', 'n', 'l', '\0',
@@ -2427,31 +2425,25 @@ static const char kSTSHostTable[] = {
   /* "bk-bund-berlin.de", true */ 'b', 'k', '-', 'b', 'u', 'n', 'd', '-', 'b', 'e', 'r', 'l', 'i', 'n', '.', 'd', 'e', '\0',
   /* "bk99.de", false */ 'b', 'k', '9', '9', '.', 'd', 'e', '\0',
   /* "bl4ckb0x.com", true */ 'b', 'l', '4', 'c', 'k', 'b', '0', 'x', '.', 'c', 'o', 'm', '\0',
   /* "bl4ckb0x.de", true */ 'b', 'l', '4', 'c', 'k', 'b', '0', 'x', '.', 'd', 'e', '\0',
   /* "bl4ckb0x.eu", true */ 'b', 'l', '4', 'c', 'k', 'b', '0', 'x', '.', 'e', 'u', '\0',
   /* "bl4ckb0x.info", true */ 'b', 'l', '4', 'c', 'k', 'b', '0', 'x', '.', 'i', 'n', 'f', 'o', '\0',
   /* "bl4ckb0x.net", true */ 'b', 'l', '4', 'c', 'k', 'b', '0', 'x', '.', 'n', 'e', 't', '\0',
   /* "bl4ckb0x.org", true */ 'b', 'l', '4', 'c', 'k', 'b', '0', 'x', '.', 'o', 'r', 'g', '\0',
-  /* "blablacar.co.uk", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "blablacar.com", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "blablacar.com.tr", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'c', 'o', 'm', '.', 't', 'r', '\0',
-  /* "blablacar.com.ua", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
-  /* "blablacar.de", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'd', 'e', '\0',
   /* "blablacar.es", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'e', 's', '\0',
   /* "blablacar.fr", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'f', 'r', '\0',
   /* "blablacar.hr", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'h', 'r', '\0',
   /* "blablacar.hu", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'h', 'u', '\0',
   /* "blablacar.in", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'i', 'n', '\0',
-  /* "blablacar.it", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'i', 't', '\0',
-  /* "blablacar.mx", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'm', 'x', '\0',
   /* "blablacar.nl", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'n', 'l', '\0',
   /* "blablacar.pl", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'p', 'l', '\0',
-  /* "blablacar.pt", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'p', 't', '\0',
   /* "blablacar.ro", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'r', 'o', '\0',
   /* "blablacar.rs", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'r', 's', '\0',
   /* "blablacar.ru", true */ 'b', 'l', 'a', 'b', 'l', 'a', 'c', 'a', 'r', '.', 'r', 'u', '\0',
   /* "black-armada.com", true */ 'b', 'l', 'a', 'c', 'k', '-', 'a', 'r', 'm', 'a', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "black-gay-porn.biz", true */ 'b', 'l', 'a', 'c', 'k', '-', 'g', 'a', 'y', '-', 'p', 'o', 'r', 'n', '.', 'b', 'i', 'z', '\0',
   /* "black-khat.com", true */ 'b', 'l', 'a', 'c', 'k', '-', 'k', 'h', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "black.dating", true */ 'b', 'l', 'a', 'c', 'k', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "black.host", true */ 'b', 'l', 'a', 'c', 'k', '.', 'h', 'o', 's', 't', '\0',
@@ -2903,48 +2895,46 @@ static const char kSTSHostTable[] = {
   /* "bugginslab.co.uk", true */ 'b', 'u', 'g', 'g', 'i', 'n', 's', 'l', 'a', 'b', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "bugs.chromium.org", true */ 'b', 'u', 'g', 's', '.', 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
   /* "bugsmashed.com", true */ 'b', 'u', 'g', 's', 'm', 'a', 's', 'h', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "bugtrack.co.uk", true */ 'b', 'u', 'g', 't', 'r', 'a', 'c', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "bugwie.com", true */ 'b', 'u', 'g', 'w', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bugzil.la", true */ 'b', 'u', 'g', 'z', 'i', 'l', '.', 'l', 'a', '\0',
   /* "bugzilla.mozilla.org", true */ 'b', 'u', 'g', 'z', 'i', 'l', 'l', 'a', '.', 'm', 'o', 'z', 'i', 'l', 'l', 'a', '.', 'o', 'r', 'g', '\0',
   /* "buiko.com", true */ 'b', 'u', 'i', 'k', 'o', '.', 'c', 'o', 'm', '\0',
-  /* "build.chromium.org", false */ 'b', 'u', 'i', 'l', 'd', '.', 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
+  /* "build.chromium.org", true */ 'b', 'u', 'i', 'l', 'd', '.', 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
   /* "buildbox.io", true */ 'b', 'u', 'i', 'l', 'd', 'b', 'o', 'x', '.', 'i', 'o', '\0',
   /* "buildbytes.com", true */ 'b', 'u', 'i', 'l', 'd', 'b', 'y', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "building-cost-estimators.com", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', '-', 'c', 'o', 's', 't', '-', 'e', 's', 't', 'i', 'm', 'a', 't', 'o', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "buildingclouds.at", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'l', 'o', 'u', 'd', 's', '.', 'a', 't', '\0',
   /* "buildingclouds.ch", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'l', 'o', 'u', 'd', 's', '.', 'c', 'h', '\0',
   /* "buildingclouds.de", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'l', 'o', 'u', 'd', 's', '.', 'd', 'e', '\0',
   /* "buildingclouds.es", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'l', 'o', 'u', 'd', 's', '.', 'e', 's', '\0',
   /* "buildingclouds.eu", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'l', 'o', 'u', 'd', 's', '.', 'e', 'u', '\0',
   /* "buildingclouds.fr", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'l', 'o', 'u', 'd', 's', '.', 'f', 'r', '\0',
   /* "buildingcostestimators.co.uk", true */ 'b', 'u', 'i', 'l', 'd', 'i', 'n', 'g', 'c', 'o', 's', 't', 'e', 's', 't', 'i', 'm', 'a', 't', 'o', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "builditsolutions.net", true */ 'b', 'u', 'i', 'l', 'd', 'i', 't', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'n', 'e', 't', '\0',
   /* "buildkite.com", true */ 'b', 'u', 'i', 'l', 'd', 'k', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "builtwith.com", true */ 'b', 'u', 'i', 'l', 't', 'w', 'i', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "buka.jp", true */ 'b', 'u', 'k', 'a', '.', 'j', 'p', '\0',
   /* "bukatv.cz", true */ 'b', 'u', 'k', 'a', 't', 'v', '.', 'c', 'z', '\0',
   /* "bukkenfan.jp", true */ 'b', 'u', 'k', 'k', 'e', 'n', 'f', 'a', 'n', '.', 'j', 'p', '\0',
-  /* "bul3seas.eu", true */ 'b', 'u', 'l', '3', 's', 'e', 'a', 's', '.', 'e', 'u', '\0',
   /* "bulario.com", true */ 'b', 'u', 'l', 'a', 'r', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "bulbcompare.com", true */ 'b', 'u', 'l', 'b', 'c', 'o', 'm', 'p', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bulbgenie.com", true */ 'b', 'u', 'l', 'b', 'g', 'e', 'n', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "buldogueingles.com.br", true */ 'b', 'u', 'l', 'd', 'o', 'g', 'u', 'e', 'i', 'n', 'g', 'l', 'e', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "bulkcandystore.com", true */ 'b', 'u', 'l', 'k', 'c', 'a', 'n', 'd', 'y', 's', 't', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bulkingtime.com", true */ 'b', 'u', 'l', 'k', 'i', 'n', 'g', 't', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bulktrade.de", true */ 'b', 'u', 'l', 'k', 't', 'r', 'a', 'd', 'e', '.', 'd', 'e', '\0',
   /* "bulldog-hosting.de", true */ 'b', 'u', 'l', 'l', 'd', 'o', 'g', '-', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'd', 'e', '\0',
   /* "bulledair-savons.ch", true */ 'b', 'u', 'l', 'l', 'e', 'd', 'a', 'i', 'r', '-', 's', 'a', 'v', 'o', 'n', 's', '.', 'c', 'h', '\0',
   /* "bullettags.com", true */ 'b', 'u', 'l', 'l', 'e', 't', 't', 'a', 'g', 's', '.', 'c', 'o', 'm', '\0',
   /* "bullterrier.nu", true */ 'b', 'u', 'l', 'l', 't', 'e', 'r', 'r', 'i', 'e', 'r', '.', 'n', 'u', '\0',
   /* "bulmastife.com.br", true */ 'b', 'u', 'l', 'm', 'a', 's', 't', 'i', 'f', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "bumshow.ru", true */ 'b', 'u', 'm', 's', 'h', 'o', 'w', '.', 'r', 'u', '\0',
-  /* "bunadarbankinn.is", true */ 'b', 'u', 'n', 'a', 'd', 'a', 'r', 'b', 'a', 'n', 'k', 'i', 'n', 'n', '.', 'i', 's', '\0',
   /* "bunbun.be", false */ 'b', 'u', 'n', 'b', 'u', 'n', '.', 'b', 'e', '\0',
   /* "bund-von-theramore.de", true */ 'b', 'u', 'n', 'd', '-', 'v', 'o', 'n', '-', 't', 'h', 'e', 'r', 'a', 'm', 'o', 'r', 'e', '.', 'd', 'e', '\0',
   /* "bundaberg.com", true */ 'b', 'u', 'n', 'd', 'a', 'b', 'e', 'r', 'g', '.', 'c', 'o', 'm', '\0',
   /* "bundespolizei-forum.de", true */ 'b', 'u', 'n', 'd', 'e', 's', 'p', 'o', 'l', 'i', 'z', 'e', 'i', '-', 'f', 'o', 'r', 'u', 'm', '.', 'd', 'e', '\0',
   /* "bunkyo-life.com", true */ 'b', 'u', 'n', 'k', 'y', 'o', '-', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bunny-rabbits.com", true */ 'b', 'u', 'n', 'n', 'y', '-', 'r', 'a', 'b', 'b', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "buonventosbt.eu", true */ 'b', 'u', 'o', 'n', 'v', 'e', 'n', 't', 'o', 's', 'b', 't', '.', 'e', 'u', '\0',
   /* "bupropion.com", true */ 'b', 'u', 'p', 'r', 'o', 'p', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
@@ -3109,16 +3099,17 @@ static const char kSTSHostTable[] = {
   /* "calyxengineers.com", true */ 'c', 'a', 'l', 'y', 'x', 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "calyxinstitute.org", false */ 'c', 'a', 'l', 'y', 'x', 'i', 'n', 's', 't', 'i', 't', 'u', 't', 'e', '.', 'o', 'r', 'g', '\0',
   /* "camaradivisas.com", true */ 'c', 'a', 'm', 'a', 'r', 'a', 'd', 'i', 'v', 'i', 's', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "camaya.net", true */ 'c', 'a', 'm', 'a', 'y', 'a', '.', 'n', 'e', 't', '\0',
   /* "cambier.org", true */ 'c', 'a', 'm', 'b', 'i', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "cambodian.dating", true */ 'c', 'a', 'm', 'b', 'o', 'd', 'i', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "cambridgeanalytica.net", true */ 'c', 'a', 'm', 'b', 'r', 'i', 'd', 'g', 'e', 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 'a', '.', 'n', 'e', 't', '\0',
   /* "camconn.cc", true */ 'c', 'a', 'm', 'c', 'o', 'n', 'n', '.', 'c', 'c', '\0',
+  /* "camerweb.es", true */ 'c', 'a', 'm', 'e', 'r', 'w', 'e', 'b', '.', 'e', 's', '\0',
   /* "camp-pleinsoleil.ch", true */ 'c', 'a', 'm', 'p', '-', 'p', 'l', 'e', 'i', 'n', 's', 'o', 'l', 'e', 'i', 'l', '.', 'c', 'h', '\0',
   /* "camp.co.uk", true */ 'c', 'a', 'm', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "campaign-ad.com", true */ 'c', 'a', 'm', 'p', 'a', 'i', 'g', 'n', '-', 'a', 'd', '.', 'c', 'o', 'm', '\0',
   /* "campaign.gov.uk", true */ 'c', 'a', 'm', 'p', 'a', 'i', 'g', 'n', '.', 'g', 'o', 'v', '.', 'u', 'k', '\0',
   /* "campbellsoftware.co.uk", false */ 'c', 'a', 'm', 'p', 'b', 'e', 'l', 'l', 's', 'o', 'f', 't', 'w', 'a', 'r', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "campbrainybunch.com", true */ 'c', 'a', 'm', 'p', 'b', 'r', 'a', 'i', 'n', 'y', 'b', 'u', 'n', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "campcanada.org", true */ 'c', 'a', 'm', 'p', 'c', 'a', 'n', 'a', 'd', 'a', '.', 'o', 'r', 'g', '\0',
   /* "campeonatoalemao.com.br", true */ 'c', 'a', 'm', 'p', 'e', 'o', 'n', 'a', 't', 'o', 'a', 'l', 'e', 'm', 'a', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
@@ -3139,16 +3130,17 @@ static const char kSTSHostTable[] = {
   /* "canadabread.com", true */ 'c', 'a', 'n', 'a', 'd', 'a', 'b', 'r', 'e', 'a', 'd', '.', 'c', 'o', 'm', '\0',
   /* "canadalife.de", true */ 'c', 'a', 'n', 'a', 'd', 'a', 'l', 'i', 'f', 'e', '.', 'd', 'e', '\0',
   /* "canadasmotorcycle.ca", true */ 'c', 'a', 'n', 'a', 'd', 'a', 's', 'm', 'o', 't', 'o', 'r', 'c', 'y', 'c', 'l', 'e', '.', 'c', 'a', '\0',
   /* "canadian.dating", true */ 'c', 'a', 'n', 'a', 'd', 'i', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "canadianchristianity.com", false */ 'c', 'a', 'n', 'a', 'd', 'i', 'a', 'n', 'c', 'h', 'r', 'i', 's', 't', 'i', 'a', 'n', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "canadiantouristboard.com", true */ 'c', 'a', 'n', 'a', 'd', 'i', 'a', 'n', 't', 'o', 'u', 'r', 'i', 's', 't', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "canalsidehouse.be", true */ 'c', 'a', 'n', 'a', 'l', 's', 'i', 'd', 'e', 'h', 'o', 'u', 's', 'e', '.', 'b', 'e', '\0',
   /* "canalsidehouse.com", true */ 'c', 'a', 'n', 'a', 'l', 's', 'i', 'd', 'e', 'h', 'o', 'u', 's', 'e', '.', 'c', 'o', 'm', '\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", false */ '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',
   /* "candidasa.com", true */ 'c', 'a', 'n', 'd', 'i', 'd', 'a', 's', 'a', '.', 'c', 'o', 'm', '\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',
   /* "candygirl.shop", true */ 'c', 'a', 'n', 'd', 'y', 'g', 'i', 'r', 'l', '.', 's', 'h', 'o', 'p', '\0',
   /* "candyout.com", true */ 'c', 'a', 'n', 'd', 'y', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "canhazip.com", true */ 'c', 'a', 'n', 'h', 'a', 'z', 'i', 'p', '.', 'c', 'o', 'm', '\0',
@@ -3266,17 +3258,16 @@ static const char kSTSHostTable[] = {
   /* "carusorealestate.com", true */ 'c', 'a', 'r', 'u', 's', 'o', 'r', 'e', 'a', 'l', 'e', 's', 't', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "casa-due-pur.com", true */ 'c', 'a', 's', 'a', '-', 'd', 'u', 'e', '-', 'p', 'u', 'r', '.', 'c', 'o', 'm', '\0',
   /* "casa-due-pur.de", true */ 'c', 'a', 's', 'a', '-', 'd', 'u', 'e', '-', 'p', 'u', 'r', '.', 'd', 'e', '\0',
   /* "casa-due.com", true */ 'c', 'a', 's', 'a', '-', 'd', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "casa-su.casa", true */ 'c', 'a', 's', 'a', '-', 's', 'u', '.', 'c', 'a', 's', 'a', '\0',
   /* "casbuijs.nl", true */ 'c', 'a', 's', 'b', 'u', 'i', 'j', 's', '.', 'n', 'l', '\0',
   /* "casburggraaf.com", true */ 'c', 'a', 's', 'b', 'u', 'r', 'g', 'g', 'r', 'a', 'a', 'f', '.', 'c', 'o', 'm', '\0',
   /* "cash-pos.com", true */ 'c', 'a', 's', 'h', '-', 'p', 'o', 's', '.', 'c', 'o', 'm', '\0',
-  /* "cashew3d.com", true */ 'c', 'a', 's', 'h', 'e', 'w', '3', 'd', '.', 'c', 'o', 'm', '\0',
   /* "cashfortulsahouses.com", true */ 'c', 'a', 's', 'h', 'f', 'o', 'r', 't', 'u', 'l', 's', 'a', 'h', 'o', 'u', 's', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "cashless.fr", true */ 'c', 'a', 's', 'h', 'l', 'e', 's', 's', '.', 'f', 'r', '\0',
   /* "cashlink.de", true */ 'c', 'a', 's', 'h', 'l', 'i', 'n', 'k', '.', 'd', 'e', '\0',
   /* "cashplk.com", true */ 'c', 'a', 's', 'h', 'p', 'l', 'k', '.', 'c', 'o', 'm', '\0',
   /* "casinolegal.pt", true */ 'c', 'a', 's', 'i', 'n', 'o', 'l', 'e', 'g', 'a', 'l', '.', 'p', 't', '\0',
   /* "casinolistings.com", true */ 'c', 'a', 's', 'i', 'n', 'o', 'l', 'i', 's', 't', 'i', 'n', 'g', 's', '.', 'c', 'o', 'm', '\0',
   /* "casinoreal.com", true */ 'c', 'a', 's', 'i', 'n', 'o', 'r', 'e', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "casperpanel.com", true */ 'c', 'a', 's', 'p', 'e', 'r', 'p', 'a', 'n', 'e', 'l', '.', 'c', 'o', 'm', '\0',
@@ -3300,16 +3291,17 @@ static const char kSTSHostTable[] = {
   /* "catnet.dk", false */ 'c', 'a', 't', 'n', 'e', 't', '.', 'd', 'k', '\0',
   /* "catnmeow.com", true */ 'c', 'a', 't', 'n', 'm', 'e', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "catsmagic.pp.ua", true */ 'c', 'a', 't', 's', 'm', 'a', 'g', 'i', 'c', '.', 'p', 'p', '.', 'u', 'a', '\0',
   /* "cattivo.nl", false */ 'c', 'a', 't', 't', 'i', 'v', 'o', '.', 'n', 'l', '\0',
   /* "caulfieldeastapartments.com.au", true */ 'c', 'a', 'u', 'l', 'f', 'i', 'e', 'l', 'd', 'e', 'a', 's', 't', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "caulfieldracecourseapartments.com.au", true */ 'c', 'a', 'u', 'l', 'f', 'i', 'e', 'l', 'd', 'r', 'a', 'c', 'e', 'c', 'o', 'u', 'r', 's', 'e', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "caulong-ao.net", true */ 'c', 'a', 'u', 'l', 'o', 'n', 'g', '-', 'a', 'o', '.', 'n', 'e', 't', '\0',
   /* "cav.ac", true */ 'c', 'a', 'v', '.', 'a', 'c', '\0',
+  /* "cavac.at", true */ 'c', 'a', 'v', 'a', 'c', '.', 'a', 't', '\0',
   /* "cavalierkingcharlesspaniel.com.br", true */ 'c', 'a', 'v', 'a', 'l', 'i', 'e', 'r', 'k', 'i', 'n', 'g', 'c', 'h', 'a', 'r', 'l', 'e', 's', 's', 'p', 'a', 'n', 'i', 'e', 'l', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "cave-reynard.ch", true */ 'c', 'a', 'v', 'e', '-', 'r', 'e', 'y', 'n', 'a', 'r', 'd', '.', 'c', 'h', '\0',
   /* "cavern.tv", true */ 'c', 'a', 'v', 'e', 'r', 'n', '.', 't', 'v', '\0',
   /* "cavzodiaco.com.br", true */ 'c', 'a', 'v', 'z', 'o', 'd', 'i', 'a', 'c', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "caylercapital.com", true */ 'c', 'a', 'y', 'l', 'e', 'r', 'c', 'a', 'p', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "cazes.info", true */ 'c', 'a', 'z', 'e', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cbamo.org", true */ 'c', 'b', 'a', 'm', 'o', '.', 'o', 'r', 'g', '\0',
   /* "cbbank.com", true */ 'c', 'b', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '\0',
@@ -3367,17 +3359,16 @@ static const char kSTSHostTable[] = {
   /* "censys.io", true */ 'c', 'e', 'n', 's', 'y', 's', '.', 'i', 'o', '\0',
   /* "centennialrewards.com", true */ 'c', 'e', 'n', 't', 'e', 'n', 'n', 'i', 'a', 'l', 'r', 'e', 'w', 'a', 'r', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "centerforpolicy.org", true */ 'c', 'e', 'n', 't', 'e', 'r', 'f', 'o', 'r', 'p', 'o', 'l', 'i', 'c', 'y', '.', 'o', 'r', 'g', '\0',
   /* "centerpereezd.ru", false */ 'c', 'e', 'n', 't', 'e', 'r', 'p', 'e', 'r', 'e', 'e', 'z', 'd', '.', 'r', 'u', '\0',
   /* "centerpoint.ovh", true */ 'c', 'e', 'n', 't', 'e', 'r', 'p', 'o', 'i', 'n', 't', '.', 'o', 'v', 'h', '\0',
   /* "centos.tips", true */ 'c', 'e', 'n', 't', 'o', 's', '.', 't', 'i', 'p', 's', '\0',
   /* "central4.me", true */ 'c', 'e', 'n', 't', 'r', 'a', 'l', '4', '.', 'm', 'e', '\0',
   /* "centralfor.me", true */ 'c', 'e', 'n', 't', 'r', 'a', 'l', 'f', 'o', 'r', '.', 'm', 'e', '\0',
-  /* "centrallead.net", true */ 'c', 'e', 'n', 't', 'r', 'a', 'l', 'l', 'e', 'a', 'd', '.', 'n', 'e', 't', '\0',
   /* "centralstatecu.org", true */ 'c', 'e', 'n', 't', 'r', 'a', 'l', 's', 't', 'a', 't', 'e', 'c', 'u', '.', 'o', 'r', 'g', '\0',
   /* "centralvoice.org", true */ 'c', 'e', 'n', 't', 'r', 'a', 'l', 'v', 'o', 'i', 'c', 'e', '.', 'o', 'r', 'g', '\0',
   /* "centralync.com", true */ 'c', 'e', 'n', 't', 'r', 'a', 'l', 'y', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "centrationgame.com", true */ 'c', 'e', 'n', 't', 'r', 'a', 't', 'i', 'o', 'n', 'g', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "centricweb.com", true */ 'c', 'e', 'n', 't', 'r', 'i', 'c', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "centrobill.com", true */ 'c', 'e', 'n', 't', 'r', 'o', 'b', 'i', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "centrojovencuenca.es", true */ 'c', 'e', 'n', 't', 'r', 'o', 'j', 'o', 'v', 'e', 'n', 'c', 'u', 'e', 'n', 'c', 'a', '.', 'e', 's', '\0',
   /* "centrumhodinek.cz", true */ 'c', 'e', 'n', 't', 'r', 'u', 'm', 'h', 'o', 'd', 'i', 'n', 'e', 'k', '.', 'c', 'z', '\0',
@@ -3524,17 +3515,16 @@ static const char kSTSHostTable[] = {
   /* "cheapestgamecards.nl", true */ 'c', 'h', 'e', 'a', 'p', 'e', 's', 't', 'g', 'a', 'm', 'e', 'c', 'a', 'r', 'd', 's', '.', 'n', 'l', '\0',
   /* "cheapestgamecards.se", true */ 'c', 'h', 'e', 'a', 'p', 'e', 's', 't', 'g', 'a', 'm', 'e', 'c', 'a', 'r', 'd', 's', '.', 's', 'e', '\0',
   /* "cheapgeekts.com", false */ 'c', 'h', 'e', 'a', 'p', 'g', 'e', 'e', 'k', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "cheapgoa.com", true */ 'c', 'h', 'e', 'a', 'p', 'g', 'o', 'a', '.', 'c', 'o', 'm', '\0',
   /* "cheapticket.in", true */ 'c', 'h', 'e', 'a', 'p', 't', 'i', 'c', 'k', 'e', 't', '.', 'i', 'n', '\0',
   /* "check.torproject.org", false */ 'c', 'h', 'e', 'c', 'k', '.', 't', 'o', 'r', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "checkout.google.com", true */ 'c', 'h', 'e', 'c', 'k', 'o', 'u', 't', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "checkpoint-tshirt.com", true */ 'c', 'h', 'e', 'c', 'k', 'p', 'o', 'i', 'n', 't', '-', 't', 's', 'h', 'i', 'r', 't', '.', 'c', 'o', 'm', '\0',
-  /* "checktype.com", true */ 'c', 'h', 'e', 'c', 'k', 't', 'y', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "checkui.com", true */ 'c', 'h', 'e', 'c', 'k', 'u', 'i', '.', 'c', 'o', 'm', '\0',
   /* "checkyourmath.com", true */ 'c', 'h', 'e', 'c', 'k', 'y', 'o', 'u', 'r', 'm', 'a', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "checkyourprivilege.org", true */ 'c', 'h', 'e', 'c', 'k', 'y', 'o', 'u', 'r', 'p', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 'e', '.', 'o', 'r', 'g', '\0',
   /* "cheddarpayments.com", true */ 'c', 'h', 'e', 'd', 'd', 'a', 'r', 'p', 'a', 'y', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "cheetahwerx.com", true */ 'c', 'h', 'e', 'e', 't', 'a', 'h', 'w', 'e', 'r', 'x', '.', 'c', 'o', 'm', '\0',
   /* "cheez.systems", true */ 'c', 'h', 'e', 'e', 'z', '.', 's', 'y', 's', 't', 'e', 'm', 's', '\0',
   /* "chelseafs.co.uk", true */ 'c', 'h', 'e', 'l', 's', 'e', 'a', 'f', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "chenapartment.com", true */ 'c', 'h', 'e', 'n', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
@@ -3599,16 +3589,17 @@ static const char kSTSHostTable[] = {
   /* "chook.as", true */ 'c', 'h', 'o', 'o', 'k', '.', 'a', 's', '\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.com", true */ 'c', 'h', 'o', 'r', 'k', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "chorkley.me", true */ 'c', 'h', 'o', 'r', 'k', 'l', 'e', 'y', '.', 'm', 'e', '\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',
   /* "chrisburnell.com", true */ 'c', 'h', 'r', 'i', 's', 'b', 'u', 'r', 'n', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "chriscarey.com", true */ 'c', 'h', 'r', 'i', 's', 'c', 'a', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "chrisdecairos.ca", true */ 'c', 'h', 'r', 'i', 's', 'd', 'e', 'c', 'a', 'i', 'r', 'o', 's', '.', 'c', 'a', '\0',
@@ -3843,17 +3834,16 @@ static const char kSTSHostTable[] = {
   /* "cloudspace-analytics.com", true */ 'c', 'l', 'o', 'u', 'd', 's', 'p', 'a', 'c', 'e', '-', 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\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',
   /* "cloudwarez.xyz", true */ 'c', 'l', 'o', 'u', 'd', 'w', 'a', 'r', 'e', 'z', '.', 'x', 'y', 'z', '\0',
   /* "clounix.online", true */ 'c', 'l', 'o', 'u', 'n', 'i', 'x', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "clouz.de", true */ 'c', 'l', 'o', 'u', 'z', '.', 'd', 'e', '\0',
   /* "clovissantos.com", true */ 'c', 'l', 'o', 'v', 'i', 's', 's', 'a', 'n', 't', 'o', 's', '.', 'c', 'o', 'm', '\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',
   /* "clsimage.com", true */ 'c', 'l', 's', 'i', 'm', 'a', 'g', 'e', '.', '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',
   /* "clubdeslecteurs.net", true */ 'c', 'l', 'u', 'b', 'd', 'e', 's', 'l', 'e', 'c', 't', 'e', 'u', 'r', 's', '.', 'n', 'e', 't', '\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',
@@ -3947,17 +3937,16 @@ static const char kSTSHostTable[] = {
   /* "codewiz.xyz", true */ 'c', 'o', 'd', 'e', 'w', 'i', 'z', '.', 'x', 'y', 'z', '\0',
   /* "codeyellow.nl", true */ 'c', 'o', 'd', 'e', 'y', 'e', 'l', 'l', 'o', 'w', '.', 'n', 'l', '\0',
   /* "codigosddd.com.br", true */ 'c', 'o', 'd', 'i', 'g', 'o', 's', 'd', 'd', 'd', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "coding.lv", true */ 'c', 'o', 'd', 'i', 'n', 'g', '.', 'l', 'v', '\0',
   /* "coding.net", true */ 'c', 'o', 'd', 'i', 'n', 'g', '.', 'n', 'e', 't', '\0',
   /* "codingforspeed.com", true */ 'c', 'o', 'd', 'i', 'n', 'g', 'f', 'o', 'r', 's', 'p', 'e', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "codingrobots.com", true */ 'c', 'o', 'd', 'i', 'n', 'g', 'r', 'o', 'b', 'o', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "codyevanscomputer.com", true */ 'c', 'o', 'd', 'y', 'e', 'v', 'a', 'n', 's', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "codymoniz.com", true */ 'c', 'o', 'd', 'y', 'm', 'o', 'n', 'i', 'z', '.', 'c', 'o', 'm', '\0',
   /* "coerthas.com", true */ 'c', 'o', 'e', 'r', 't', 'h', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "coffee-mamenoki.jp", true */ 'c', 'o', 'f', 'f', 'e', 'e', '-', 'm', 'a', 'm', 'e', 'n', 'o', 'k', 'i', '.', 'j', 'p', '\0',
   /* "cogent.cc", true */ 'c', 'o', 'g', 'e', 'n', 't', '.', 'c', 'c', '\0',
   /* "cogilog.com", true */ 'c', 'o', 'g', 'i', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "cogitoltd.com", true */ 'c', 'o', 'g', 'i', 't', 'o', 'l', 't', 'd', '.', 'c', 'o', 'm', '\0',
   /* "cogniflex.com", true */ 'c', 'o', 'g', 'n', 'i', 'f', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "cognitivecomputingconsortium.com", true */ 'c', 'o', 'g', 'n', 'i', 't', 'i', 'v', 'e', 'c', 'o', 'm', 'p', 'u', 't', 'i', 'n', 'g', 'c', 'o', 'n', 's', 'o', 'r', 't', 'i', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "cogumelosmagicos.org", true */ 'c', 'o', 'g', 'u', 'm', 'e', 'l', 'o', 's', 'm', 'a', 'g', 'i', 'c', 'o', 's', '.', 'o', 'r', 'g', '\0',
@@ -3975,17 +3964,16 @@ static const char kSTSHostTable[] = {
   /* "coinjar-sandbox.com", true */ 'c', 'o', 'i', 'n', 'j', 'a', 'r', '-', 's', 'a', 'n', 'd', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "coinmewallet.com", true */ 'c', 'o', 'i', 'n', 'm', 'e', 'w', 'a', 'l', 'l', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "coinpit.io", true */ 'c', 'o', 'i', 'n', 'p', 'i', 't', '.', 'i', 'o', '\0',
   /* "coisasdemulher.org", true */ 'c', 'o', 'i', 's', 'a', 's', 'd', 'e', 'm', 'u', 'l', 'h', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "cojo.eu", true */ 'c', 'o', 'j', 'o', '.', 'e', 'u', '\0',
   /* "col.la", true */ 'c', 'o', 'l', '.', 'l', 'a', '\0',
   /* "colaborativa.tv", true */ 'c', 'o', 'l', 'a', 'b', 'o', 'r', 'a', 't', 'i', 'v', 'a', '.', 't', 'v', '\0',
   /* "colapsys.net", true */ 'c', 'o', 'l', 'a', 'p', 's', 'y', 's', '.', 'n', 'e', 't', '\0',
-  /* "coldawn.com", true */ 'c', 'o', 'l', 'd', 'a', 'w', 'n', '.', 'c', 'o', 'm', '\0',
   /* "coldfff.com", false */ 'c', 'o', 'l', 'd', 'f', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "coldhak.ca", true */ 'c', 'o', 'l', 'd', 'h', 'a', 'k', '.', 'c', 'a', '\0',
   /* "coldwatericecream.com", true */ 'c', 'o', 'l', 'd', 'w', 'a', 't', 'e', 'r', 'i', 'c', 'e', 'c', 'r', 'e', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "colearnr.com", true */ 'c', 'o', 'l', 'e', 'a', 'r', 'n', 'r', '.', 'c', 'o', 'm', '\0',
   /* "colegiocierp.com.br", true */ 'c', 'o', 'l', 'e', 'g', 'i', 'o', 'c', 'i', 'e', 'r', 'p', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "colemak.com", true */ 'c', 'o', 'l', 'e', 'm', 'a', 'k', '.', 'c', 'o', 'm', '\0',
   /* "colengo.com", true */ 'c', 'o', 'l', 'e', 'n', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "colibris.xyz", true */ 'c', 'o', 'l', 'i', 'b', 'r', 'i', 's', '.', 'x', 'y', 'z', '\0',
@@ -4085,17 +4073,16 @@ static const char kSTSHostTable[] = {
   /* "completionist.me", true */ 'c', 'o', 'm', 'p', 'l', 'e', 't', 'i', 'o', 'n', 'i', 's', 't', '.', 'm', 'e', '\0',
   /* "complexart.ro", true */ 'c', 'o', 'm', 'p', 'l', 'e', 'x', 'a', 'r', 't', '.', 'r', 'o', '\0',
   /* "compliance-systeme.de", true */ 'c', 'o', 'm', 'p', 'l', 'i', 'a', 'n', 'c', 'e', '-', 's', 'y', 's', 't', 'e', 'm', 'e', '.', 'd', 'e', '\0',
   /* "compliancedictionary.com", true */ 'c', 'o', 'm', 'p', 'l', 'i', 'a', 'n', 'c', 'e', 'd', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "complt.xyz", true */ 'c', 'o', 'm', 'p', 'l', 't', '.', 'x', 'y', 'z', '\0',
   /* "compsmag.com", true */ 'c', 'o', 'm', 'p', 's', 'm', 'a', 'g', '.', 'c', 'o', 'm', '\0',
   /* "compucorner.mx", true */ 'c', 'o', 'm', 'p', 'u', 'c', 'o', 'r', 'n', 'e', 'r', '.', 'm', 'x', '\0',
   /* "computer-acquisti.com", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', '-', 'a', 'c', 'q', 'u', 'i', 's', 't', 'i', '.', 'c', 'o', 'm', '\0',
-  /* "computerassistance.co.uk", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'a', 's', 's', 'i', 's', 't', 'a', 'n', 'c', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "computerbase.de", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'b', 'a', 's', 'e', '.', 'd', 'e', '\0',
   /* "computerhilfe-feucht.de", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'h', 'i', 'l', 'f', 'e', '-', 'f', 'e', 'u', 'c', 'h', 't', '.', 'd', 'e', '\0',
   /* "computerslotopschool.nl", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', 'l', 'o', 't', 'o', 'p', 's', 'c', 'h', 'o', 'o', 'l', '.', 'n', 'l', '\0',
   /* "computertal.de", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 't', 'a', 'l', '.', 'd', 'e', '\0',
   /* "comssa.org.au", true */ 'c', 'o', 'm', 's', 's', 'a', '.', 'o', 'r', 'g', '.', 'a', 'u', '\0',
   /* "concentrade.de", true */ 'c', 'o', 'n', 'c', 'e', 'n', 't', 'r', 'a', 'd', 'e', '.', 'd', 'e', '\0',
   /* "concept-web.ch", true */ 'c', 'o', 'n', 'c', 'e', 'p', 't', '-', 'w', 'e', 'b', '.', 'c', 'h', '\0',
   /* "conception.sk", true */ 'c', 'o', 'n', 'c', 'e', 'p', 't', 'i', 'o', 'n', '.', 's', 'k', '\0',
@@ -4419,17 +4406,16 @@ static const char kSTSHostTable[] = {
   /* "cs-ubladego.pl", true */ 'c', 's', '-', 'u', 'b', 'l', 'a', 'd', 'e', 'g', 'o', '.', 'p', 'l', '\0',
   /* "csabg.org", true */ 'c', 's', 'a', 'b', 'g', '.', 'o', 'r', 'g', '\0',
   /* "csacongress.org", true */ 'c', 's', 'a', 'c', 'o', 'n', 'g', 'r', 'e', 's', 's', '.', 'o', 'r', 'g', '\0',
   /* "csbs.fr", true */ 'c', 's', 'b', 's', '.', 'f', 'r', '\0',
   /* "cscau.com", true */ 'c', 's', 'c', 'a', 'u', '.', 'c', 'o', 'm', '\0',
   /* "csengle.de", true */ 'c', 's', 'e', 'n', 'g', 'l', 'e', '.', 'd', 'e', '\0',
   /* "csfm.com", true */ 'c', 's', 'f', 'm', '.', 'c', 'o', 'm', '\0',
   /* "csgo.help", true */ 'c', 's', 'g', 'o', '.', 'h', 'e', 'l', 'p', '\0',
-  /* "csgoelemental.com", true */ 'c', 's', 'g', 'o', 'e', 'l', 'e', 'm', 'e', 'n', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "csgogamers.com", true */ 'c', 's', 'g', 'o', 'g', 'a', 'm', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "csgohandouts.com", true */ 'c', 's', 'g', 'o', 'h', 'a', 'n', 'd', 'o', 'u', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "csgotwister.com", true */ 'c', 's', 'g', 'o', 't', 'w', 'i', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "cshopify.com", true */ 'c', 's', 'h', 'o', 'p', 'i', 'f', 'y', '.', 'c', 'o', 'm', '\0',
   /* "csmainframe.com", true */ 'c', 's', 'm', 'a', 'i', 'n', 'f', 'r', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "csokolade.hu", true */ 'c', 's', 'o', 'k', 'o', 'l', 'a', 'd', 'e', '.', 'h', 'u', '\0',
   /* "csp.ch", true */ 'c', 's', 'p', '.', 'c', 'h', '\0',
   /* "cspvalidator.org", true */ 'c', 's', 'p', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', '.', 'o', 'r', 'g', '\0',
@@ -4558,17 +4544,16 @@ static const char kSTSHostTable[] = {
   /* "cybozu.cn", true */ 'c', 'y', 'b', 'o', 'z', 'u', '.', 'c', 'n', '\0',
   /* "cybozu.com", true */ 'c', 'y', 'b', 'o', 'z', 'u', '.', 'c', 'o', 'm', '\0',
   /* "cybozulive-dev.com", true */ 'c', 'y', 'b', 'o', 'z', 'u', 'l', 'i', 'v', 'e', '-', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "cybozulive.com", true */ 'c', 'y', 'b', 'o', 'z', 'u', 'l', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cyclebeads.com", true */ 'c', 'y', 'c', 'l', 'e', 'b', 'e', 'a', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "cyclehackluxembourgcity.lu", true */ 'c', 'y', 'c', 'l', 'e', 'h', 'a', 'c', 'k', 'l', 'u', 'x', 'e', 'm', 'b', 'o', 'u', 'r', 'g', 'c', 'i', 't', 'y', '.', 'l', 'u', '\0',
   /* "cyfly.org", true */ 'c', 'y', 'f', 'l', 'y', '.', 'o', 'r', 'g', '\0',
   /* "cygnius.net", true */ 'c', 'y', 'g', 'n', 'i', 'u', 's', '.', 'n', 'e', 't', '\0',
-  /* "cyhour.com", true */ 'c', 'y', 'h', 'o', 'u', 'r', '.', 'c', 'o', 'm', '\0',
   /* "cyoda.com", true */ 'c', 'y', 'o', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "cyon.ch", true */ 'c', 'y', 'o', 'n', '.', 'c', 'h', '\0',
   /* "cyph.audio", true */ 'c', 'y', 'p', 'h', '.', 'a', 'u', 'd', 'i', 'o', '\0',
   /* "cyph.com", true */ 'c', 'y', 'p', 'h', '.', 'c', 'o', 'm', '\0',
   /* "cyph.healthcare", true */ 'c', 'y', 'p', 'h', '.', 'h', 'e', 'a', 'l', 't', 'h', 'c', 'a', 'r', 'e', '\0',
   /* "cyph.im", true */ 'c', 'y', 'p', 'h', '.', 'i', 'm', '\0',
   /* "cyph.me", true */ 'c', 'y', 'p', 'h', '.', 'm', 'e', '\0',
   /* "cyph.video", true */ 'c', 'y', 'p', 'h', '.', 'v', 'i', 'd', 'e', 'o', '\0',
@@ -4675,16 +4660,17 @@ static const char kSTSHostTable[] = {
   /* "danielstach.cz", true */ 'd', 'a', 'n', 'i', 'e', 'l', 's', 't', 'a', 'c', 'h', '.', 'c', 'z', '\0',
   /* "danielthompson.info", true */ 'd', 'a', 'n', 'i', 'e', 'l', 't', 'h', 'o', 'm', 'p', 's', 'o', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "danieltollot.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', 't', 'o', 'l', 'l', 'o', 't', '.', 'd', 'e', '\0',
   /* "danielvoogsgerd.nl", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'v', 'o', 'o', 'g', 's', 'g', 'e', 'r', 'd', '.', 'n', 'l', '\0',
   /* "danilapisarev.com", true */ 'd', 'a', 'n', 'i', 'l', 'a', 'p', 'i', 's', 'a', 'r', 'e', 'v', '.', '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',
   /* "dankeblog.com", true */ 'd', 'a', 'n', 'k', 'e', 'b', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
+  /* "dankim.de", false */ 'd', 'a', 'n', 'k', 'i', 'm', '.', 'd', 'e', '\0',
   /* "dankredues.com", true */ 'd', 'a', 'n', 'k', 'r', 'e', 'd', 'u', 'e', 's', '.', 'c', 'o', 'm', '\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',
   /* "danmark.guide", true */ 'd', 'a', 'n', 'm', 'a', 'r', 'k', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "danminkevitch.com", true */ 'd', 'a', 'n', 'm', 'i', 'n', 'k', 'e', 'v', 'i', 't', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "danny.fm", true */ 'd', 'a', 'n', 'n', 'y', '.', 'f', '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',
@@ -4981,16 +4967,17 @@ static const char kSTSHostTable[] = {
   /* "demuzere.com", true */ 'd', 'e', 'm', 'u', 'z', 'e', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "demuzere.eu", true */ 'd', 'e', 'm', 'u', 'z', 'e', 'r', 'e', '.', 'e', 'u', '\0',
   /* "demuzere.net", true */ 'd', 'e', 'm', 'u', 'z', 'e', 'r', 'e', '.', 'n', 'e', 't', '\0',
   /* "demuzere.org", true */ 'd', 'e', 'm', 'u', 'z', 'e', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "denabot.pw", true */ 'd', 'e', 'n', 'a', 'b', 'o', 't', '.', 'p', 'w', '\0',
   /* "denardbrewing.com", true */ 'd', 'e', 'n', 'a', 'r', 'd', 'b', 'r', 'e', 'w', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dengchangdong.com", true */ 'd', 'e', 'n', 'g', 'c', 'h', 'a', 'n', 'g', 'd', 'o', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "denimio.com", true */ 'd', 'e', 'n', 'i', 'm', 'i', 'o', '.', 'c', 'o', 'm', '\0',
+  /* "denimtoday.com", true */ 'd', 'e', 'n', 'i', 'm', 't', 'o', 'd', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "denistruffaut.fr", true */ 'd', 'e', 'n', 'i', 's', 't', 'r', 'u', 'f', 'f', 'a', 'u', 't', '.', 'f', 'r', '\0',
   /* "dennisdoes.net", false */ 'd', 'e', 'n', 'n', 'i', 's', 'd', 'o', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "denniskoot.nl", true */ 'd', 'e', 'n', 'n', 'i', 's', 'k', 'o', 'o', 't', '.', 'n', 'l', '\0',
   /* "dennispotter.eu", true */ 'd', 'e', 'n', 'n', 'i', 's', 'p', 'o', 't', 't', 'e', 'r', '.', 'e', 'u', '\0',
   /* "dennogumi.org", true */ 'd', 'e', 'n', 'n', 'o', 'g', 'u', 'm', 'i', '.', 'o', 'r', 'g', '\0',
   /* "dent.uy", true */ 'd', 'e', 'n', 't', '.', 'u', 'y', '\0',
   /* "dentallaborgeraeteservice.de", true */ 'd', 'e', 'n', 't', 'a', 'l', 'l', 'a', 'b', 'o', 'r', 'g', 'e', 'r', 'a', 'e', 't', 'e', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 'd', 'e', '\0',
   /* "dentistglasgow.com", true */ 'd', 'e', 'n', 't', 'i', 's', 't', 'g', 'l', 'a', 's', 'g', 'o', 'w', '.', 'c', 'o', 'm', '\0',
@@ -5128,16 +5115,17 @@ static const char kSTSHostTable[] = {
   /* "dgx.io", true */ 'd', 'g', 'x', '.', 'i', 'o', '\0',
   /* "dhautefeuille.eu", true */ 'd', 'h', 'a', 'u', 't', 'e', 'f', 'e', 'u', 'i', 'l', 'l', 'e', '.', 'e', 'u', '\0',
   /* "dhauwer.nl", true */ 'd', 'h', 'a', 'u', 'w', 'e', 'r', '.', 'n', 'l', '\0',
   /* "dhconcept.ch", true */ 'd', 'h', 'c', 'o', 'n', 'c', 'e', 'p', 't', '.', 'c', 'h', '\0',
   /* "dhedegaard.dk", true */ 'd', 'h', 'e', 'd', 'e', 'g', 'a', 'a', 'r', 'd', '.', 'd', 'k', '\0',
   /* "dhhs.gov", true */ 'd', 'h', 'h', 's', '.', 'g', 'o', 'v', '\0',
   /* "dhlinux.org", true */ 'd', 'h', 'l', 'i', 'n', 'u', 'x', '.', 'o', 'r', 'g', '\0',
   /* "dhome.at", true */ 'd', 'h', 'o', 'm', 'e', '.', 'a', 't', '\0',
+  /* "dhuy.net", true */ 'd', 'h', 'u', 'y', '.', 'n', 'e', 't', '\0',
   /* "diablofan.hopto.org", true */ 'd', 'i', 'a', 'b', 'l', 'o', 'f', 'a', 'n', '.', 'h', 'o', 'p', 't', 'o', '.', 'o', 'r', 'g', '\0',
   /* "diagnosia.com", true */ 'd', 'i', 'a', 'g', 'n', 'o', 's', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "diagnostix.org", true */ 'd', 'i', 'a', 'g', 'n', 'o', 's', 't', 'i', 'x', '.', 'o', 'r', 'g', '\0',
   /* "diamante.ro", true */ 'd', 'i', 'a', 'm', 'a', 'n', 't', 'e', '.', 'r', 'o', '\0',
   /* "diamorphine.com", true */ 'd', 'i', 'a', 'm', 'o', 'r', 'p', 'h', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dianefriedli.ch", true */ 'd', 'i', 'a', 'n', 'e', 'f', 'r', 'i', 'e', 'd', 'l', 'i', '.', 'c', 'h', '\0',
   /* "diare-na-miru.cz", true */ 'd', 'i', 'a', 'r', 'e', '-', 'n', 'a', '-', 'm', 'i', 'r', 'u', '.', 'c', 'z', '\0',
   /* "diasdasemana.com", true */ 'd', 'i', 'a', 's', 'd', 'a', 's', 'e', 'm', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
@@ -5168,17 +5156,16 @@ static const char kSTSHostTable[] = {
   /* "die-partei-reutlingen.de", true */ 'd', 'i', 'e', '-', 'p', 'a', 'r', 't', 'e', 'i', '-', 'r', 'e', 'u', 't', 'l', 'i', 'n', 'g', 'e', 'n', '.', 'd', 'e', '\0',
   /* "die-sinlosen.de", true */ 'd', 'i', 'e', '-', 's', 'i', 'n', 'l', 'o', 's', 'e', 'n', '.', 'd', 'e', '\0',
   /* "die-speisekammer-reutlingen.de", true */ 'd', 'i', 'e', '-', 's', 'p', 'e', 'i', 's', 'e', 'k', 'a', 'm', 'm', 'e', 'r', '-', 'r', 'e', 'u', 't', 'l', 'i', 'n', 'g', 'e', 'n', '.', 'd', 'e', '\0',
   /* "dieb.photo", true */ 'd', 'i', 'e', 'b', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "diedrich.me", true */ 'd', 'i', 'e', 'd', 'r', 'i', 'c', 'h', '.', 'm', 'e', '\0',
   /* "diegelernten.de", true */ 'd', 'i', 'e', 'g', 'e', 'l', 'e', 'r', 'n', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "diegerbers.de", true */ 'd', 'i', 'e', 'g', 'e', 'r', 'b', 'e', 'r', 's', '.', 'd', 'e', '\0',
   /* "diegogelin.com", true */ 'd', 'i', 'e', 'g', 'o', 'g', 'e', 'l', 'i', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "diegorbaquero.com", true */ 'd', 'i', 'e', 'g', 'o', 'r', 'b', 'a', 'q', 'u', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "diehl.io", true */ 'd', 'i', 'e', 'h', 'l', '.', 'i', 'o', '\0',
   /* "diemattels.at", true */ 'd', 'i', 'e', 'm', 'a', 't', 't', 'e', 'l', 's', '.', 'a', 't', '\0',
   /* "diemogebhardt.com", true */ 'd', 'i', 'e', 'm', 'o', 'g', 'e', 'b', 'h', 'a', 'r', 'd', 't', '.', 'c', 'o', 'm', '\0',
   /* "dienstplan.cc", true */ 'd', 'i', 'e', 'n', 's', 't', 'p', 'l', 'a', 'n', '.', 'c', 'c', '\0',
   /* "dierenartsdeconinck.be", true */ 'd', 'i', 'e', 'r', 'e', 'n', 'a', 'r', 't', 's', 'd', 'e', 'c', 'o', 'n', 'i', 'n', 'c', 'k', '.', 'b', 'e', '\0',
   /* "dieselgalleri.com", true */ 'd', 'i', 'e', 's', 'e', 'l', 'g', 'a', 'l', 'l', 'e', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "dieser.me", true */ 'd', 'i', 'e', 's', 'e', 'r', '.', 'm', 'e', '\0',
   /* "dietbrand.eu", true */ 'd', 'i', 'e', 't', 'b', 'r', 'a', 'n', 'd', '.', 'e', 'u', '\0',
@@ -5276,16 +5263,17 @@ static const char kSTSHostTable[] = {
   /* "disconformity.net", true */ 'd', 'i', 's', 'c', 'o', 'n', 'f', 'o', 'r', 'm', 'i', 't', 'y', '.', 'n', 'e', 't', '\0',
   /* "discordapp.com", true */ 'd', 'i', 's', 'c', 'o', 'r', 'd', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "discotek.club", true */ 'd', 'i', 's', 'c', 'o', 't', 'e', 'k', '.', 'c', 'l', 'u', 'b', '\0',
   /* "discover-mercure.com", true */ 'd', 'i', 's', 'c', 'o', 'v', 'e', 'r', '-', 'm', 'e', 'r', 'c', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "discoverhealthage.com", false */ 'd', 'i', 's', 'c', 'o', 'v', 'e', 'r', 'h', 'e', 'a', 'l', 't', 'h', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "discoveringdocker.com", true */ 'd', 'i', 's', 'c', 'o', 'v', 'e', 'r', 'i', 'n', 'g', 'd', 'o', 'c', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "discoverrsv.com", true */ 'd', 'i', 's', 'c', 'o', 'v', 'e', 'r', 'r', 's', 'v', '.', 'c', 'o', 'm', '\0',
   /* "discoveryballoon.org", true */ 'd', 'i', 's', 'c', 'o', 'v', 'e', 'r', 'y', 'b', 'a', 'l', 'l', 'o', 'o', 'n', '.', 'o', 'r', 'g', '\0',
+  /* "discoveryrom.org", true */ 'd', 'i', 's', 'c', 'o', 'v', 'e', 'r', 'y', 'r', 'o', 'm', '.', 'o', 'r', 'g', '\0',
   /* "disinclined.org", true */ 'd', 'i', 's', 'i', 'n', 'c', 'l', 'i', 'n', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "disking.co.uk", true */ 'd', 'i', 's', 'k', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "disorderboutique.com", true */ 'd', 'i', 's', 'o', 'r', 'd', 'e', 'r', 'b', 'o', 'u', 't', 'i', 'q', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "disposable.link", true */ 'd', 'i', 's', 'p', 'o', 's', 'a', 'b', 'l', 'e', '.', 'l', 'i', 'n', 'k', '\0',
   /* "dissectcyber.com", true */ 'd', 'i', 's', 's', 'e', 'c', 't', 'c', 'y', 'b', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "dissidence.ovh", true */ 'd', 'i', 's', 's', 'i', 'd', 'e', 'n', 'c', 'e', '.', 'o', 'v', 'h', '\0',
   /* "dist.torproject.org", false */ 'd', 'i', 's', 't', '.', 't', 'o', 'r', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "distinctivephotography.com.au", true */ 'd', 'i', 's', 't', 'i', 'n', 'c', 't', 'i', 'v', 'e', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
@@ -5324,16 +5312,17 @@ static const char kSTSHostTable[] = {
   /* "dk.search.yahoo.com", false */ 'd', 'k', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "dkds.us", true */ 'd', 'k', 'd', 's', '.', 'u', 's', '\0',
   /* "dkn.go.id", true */ 'd', 'k', 'n', '.', 'g', 'o', '.', 'i', 'd', '\0',
   /* "dkravchenko.su", false */ 'd', 'k', 'r', 'a', 'v', 'c', 'h', 'e', 'n', 'k', 'o', '.', 's', 'u', '\0',
   /* "dl.google.com", true */ 'd', 'l', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dlaspania.pl", true */ 'd', 'l', 'a', 's', 'p', 'a', 'n', 'i', 'a', '.', 'p', 'l', '\0',
   /* "dldl.fr", true */ 'd', 'l', 'd', 'l', '.', 'f', 'r', '\0',
   /* "dlg.im", true */ 'd', 'l', 'g', '.', 'i', 'm', '\0',
+  /* "dlitz.net", true */ 'd', 'l', 'i', 't', 'z', '.', 'n', 'e', 't', '\0',
   /* "dlld.com", true */ 'd', 'l', 'l', 'd', '.', 'c', 'o', 'm', '\0',
   /* "dlouwrink.nl", true */ 'd', 'l', 'o', 'u', 'w', 'r', 'i', 'n', 'k', '.', 'n', 'l', '\0',
   /* "dlrsp.org", true */ 'd', 'l', 'r', 's', 'p', '.', 'o', 'r', 'g', '\0',
   /* "dlzz.net", true */ 'd', 'l', 'z', 'z', '.', 'n', 'e', 't', '\0',
   /* "dm.lookout.com", false */ 'd', 'm', '.', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "dm7ds.de", true */ 'd', 'm', '7', 'd', 's', '.', 'd', 'e', '\0',
   /* "dmarc.dk", false */ 'd', 'm', 'a', 'r', 'c', '.', 'd', 'k', '\0',
   /* "dmarketer.com", true */ 'd', 'm', 'a', 'r', 'k', 'e', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -5358,17 +5347,16 @@ static const char kSTSHostTable[] = {
   /* "dnscurve.io", true */ 'd', 'n', 's', 'c', 'u', 'r', 'v', 'e', '.', 'i', 'o', '\0',
   /* "dnshallinta.fi", true */ 'd', 'n', 's', 'h', 'a', 'l', 'l', 'i', 'n', 't', 'a', '.', 'f', 'i', '\0',
   /* "dnslog.com", true */ 'd', 'n', 's', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dnsman.se", true */ 'd', 'n', 's', 'm', 'a', 'n', '.', 's', 'e', '\0',
   /* "dnstwister.report", true */ 'd', 'n', 's', 't', 'w', 'i', 's', 't', 'e', 'r', '.', 'r', 'e', 'p', 'o', 'r', 't', '\0',
   /* "do.gd", true */ 'd', 'o', '.', 'g', 'd', '\0',
   /* "do67.de", true */ 'd', 'o', '6', '7', '.', 'd', 'e', '\0',
   /* "do67.net", true */ 'd', 'o', '6', '7', '.', 'n', 'e', 't', '\0',
-  /* "dobrev.family", true */ 'd', 'o', 'b', 'r', 'e', 'v', '.', 'f', 'a', 'm', 'i', 'l', 'y', '\0',
   /* "dobrisan.ro", true */ 'd', 'o', 'b', 'r', 'i', 's', 'a', 'n', '.', 'r', 'o', '\0',
   /* "dobsnet.net", true */ 'd', 'o', 'b', 's', 'n', 'e', 't', '.', 'n', 'e', 't', '\0',
   /* "doc.python.org", true */ 'd', 'o', 'c', '.', 'p', 'y', 't', 'h', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "doc.to", true */ 'd', 'o', 'c', '.', 't', 'o', '\0',
   /* "docabo.ch", true */ 'd', 'o', 'c', 'a', 'b', 'o', '.', 'c', 'h', '\0',
   /* "docbox.ch", true */ 'd', 'o', 'c', 'b', 'o', 'x', '.', 'c', 'h', '\0',
   /* "docemeldoces.com", true */ 'd', 'o', 'c', 'e', 'm', 'e', 'l', 'd', 'o', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "dochitaceahlau.ro", true */ 'd', 'o', 'c', 'h', 'i', 't', 'a', 'c', 'e', 'a', 'h', 'l', 'a', 'u', '.', 'r', 'o', '\0',
@@ -5416,17 +5404,16 @@ static const char kSTSHostTable[] = {
   /* "domain001.info", true */ 'd', 'o', 'm', 'a', 'i', 'n', '0', '0', '1', '.', 'i', 'n', 'f', 'o', '\0',
   /* "domainedemiolan.ch", true */ 'd', 'o', 'm', 'a', 'i', 'n', 'e', 'd', 'e', 'm', 'i', 'o', 'l', 'a', 'n', '.', 'c', 'h', '\0',
   /* "domainexpress.de", false */ 'd', 'o', 'm', 'a', 'i', 'n', 'e', 'x', 'p', 'r', 'e', 's', 's', '.', 'd', 'e', '\0',
   /* "domainkauf.de", true */ 'd', 'o', 'm', 'a', 'i', 'n', 'k', 'a', 'u', 'f', '.', 'd', 'e', '\0',
   /* "domains.google.com", true */ 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "domainstaff.com", true */ 'd', 'o', 'm', 'a', 'i', 'n', 's', 't', 'a', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "domaxpoker.com", true */ 'd', 'o', 'm', 'a', 'x', 'p', 'o', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "domenic.me", true */ 'd', 'o', 'm', 'e', 'n', 'i', 'c', '.', 'm', 'e', '\0',
-  /* "domenicocatelli.com", true */ 'd', 'o', 'm', 'e', 'n', 'i', 'c', 'o', 'c', 'a', 't', 'e', 'l', 'l', 'i', '.', 'c', 'o', 'm', '\0',
   /* "domesticcleaners.co.uk", true */ 'd', 'o', 'm', 'e', 's', 't', 'i', 'c', 'c', 'l', 'e', 'a', 'n', 'e', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "domesticwatermeters.com.au", true */ 'd', 'o', 'm', 'e', 's', 't', 'i', 'c', 'w', 'a', 't', 'e', 'r', 'm', 'e', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "domfee.com", true */ 'd', 'o', 'm', 'f', 'e', 'e', '.', 'c', 'o', 'm', '\0',
   /* "domhaase.me", true */ 'd', 'o', 'm', 'h', 'a', 'a', 's', 'e', '.', 'm', 'e', '\0',
   /* "dominationgame.co.uk", true */ 'd', 'o', 'm', 'i', 'n', 'a', 't', 'i', 'o', 'n', 'g', 'a', 'm', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dominikkulaga.pl", true */ 'd', 'o', 'm', 'i', 'n', 'i', 'k', 'k', 'u', 'l', 'a', 'g', 'a', '.', 'p', 'l', '\0',
   /* "dominioanimal.com.br", true */ 'd', 'o', 'm', 'i', 'n', 'i', 'o', 'a', 'n', 'i', 'm', 'a', 'l', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "dominoknihy.cz", true */ 'd', 'o', 'm', 'i', 'n', 'o', 'k', 'n', 'i', 'h', 'y', '.', 'c', 'z', '\0',
@@ -5457,17 +5444,16 @@ static const char kSTSHostTable[] = {
   /* "dopesoft.de", true */ 'd', 'o', 'p', 'e', 's', 'o', 'f', 't', '.', 'd', 'e', '\0',
   /* "dopfer-fenstertechnik.de", true */ 'd', 'o', 'p', 'f', 'e', 'r', '-', 'f', 'e', 'n', 's', 't', 'e', 'r', 't', 'e', 'c', 'h', 'n', 'i', 'k', '.', 'd', 'e', '\0',
   /* "dopost.it", false */ 'd', 'o', 'p', 'o', 's', 't', '.', 'i', 't', '\0',
   /* "doppenpost.nl", true */ 'd', 'o', 'p', 'p', 'e', 'n', 'p', 'o', 's', 't', '.', 'n', 'l', '\0',
   /* "dopply.com", true */ 'd', 'o', 'p', 'p', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "dopravni-modely.cz", true */ 'd', 'o', 'p', 'r', 'a', 'v', 'n', 'i', '-', 'm', 'o', 'd', 'e', 'l', 'y', '.', 'c', 'z', '\0',
   /* "dorfbaeck.at", true */ 'd', 'o', 'r', 'f', 'b', 'a', 'e', 'c', 'k', '.', 'a', 't', '\0',
   /* "dorianharmans.nl", true */ 'd', 'o', 'r', 'i', 'a', 'n', 'h', 'a', 'r', 'm', 'a', 'n', 's', '.', 'n', 'l', '\0',
-  /* "dorianmuthig.com", true */ 'd', 'o', 'r', 'i', 'a', 'n', 'm', 'u', 't', 'h', 'i', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dormiu.com", true */ 'd', 'o', 'r', 'm', 'i', 'u', '.', 'c', 'o', 'm', '\0',
   /* "dormiu.com.br", true */ 'd', 'o', 'r', 'm', 'i', 'u', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "dorquelle.com", true */ 'd', 'o', 'r', 'q', 'u', 'e', 'l', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dosenbierrepublik.com", true */ 'd', 'o', 's', 'e', 'n', 'b', 'i', 'e', 'r', 'r', 'e', 'p', 'u', 'b', 'l', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "dosenkiwi.at", true */ 'd', 'o', 's', 'e', 'n', 'k', 'i', 'w', 'i', '.', 'a', 't', '\0',
   /* "doska.by", true */ 'd', 'o', 's', 'k', 'a', '.', 'b', 'y', '\0',
   /* "doska.kz", true */ 'd', 'o', 's', 'k', 'a', '.', 'k', 'z', '\0',
   /* "doska.ru", true */ 'd', 'o', 's', 'k', 'a', '.', 'r', 'u', '\0',
@@ -5665,44 +5651,43 @@ static const char kSTSHostTable[] = {
   /* "duongpho.com", true */ 'd', 'u', 'o', 'n', 'g', 'p', 'h', 'o', '.', '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',
   /* "dvx.cloud", true */ 'd', 'v', 'x', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "dwhd.org", true */ 'd', 'w', 'h', 'd', '.', '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',
   /* "dwworld.co.uk", true */ 'd', 'w', 'w', 'o', 'r', 'l', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dxa.io", false */ 'd', 'x', 'a', '.', 'i', 'o', '\0',
   /* "dxgl.info", true */ 'd', 'x', 'g', 'l', '.', 'i', 'n', 'f', 'o', '\0',
   /* "dxm.no-ip.biz", true */ 'd', 'x', 'm', '.', 'n', 'o', '-', 'i', 'p', '.', 'b', 'i', 'z', '\0',
   /* "dycem-ns.com", true */ 'd', 'y', 'c', 'e', 'm', '-', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "dyeager.org", true */ 'd', 'y', 'e', 'a', 'g', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "dylankatz.com", true */ 'd', 'y', 'l', 'a', 'n', 'k', 'a', 't', 'z', '.', 'c', 'o', 'm', '\0',
   /* "dylanknoll.ca", true */ 'd', 'y', 'l', 'a', 'n', 'k', 'n', 'o', 'l', 'l', '.', 'c', 'a', '\0',
   /* "dymersion.com", true */ 'd', 'y', 'm', 'e', 'r', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\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',
   /* "dynamicnet.net", false */ 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'n', 'e', 't', '.', 'n', 'e', 't', '\0',
-  /* "dynamicsnetwork.net", true */ 'd', 'y', 'n', 'a', 'm', 'i', 'c', 's', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'n', 'e', 't', '\0',
   /* "dynamictostatic.com", true */ 'd', 'y', 'n', 'a', 'm', 'i', 'c', 't', 'o', 's', 't', 'a', 't', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "dynamicyou.co.uk", true */ 'd', 'y', 'n', 'a', 'm', 'i', 'c', 'y', 'o', 'u', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dynastic.co", true */ 'd', 'y', 'n', 'a', 's', 't', 'i', 'c', '.', 'c', 'o', '\0',
   /* "dynn.be", true */ 'd', 'y', 'n', 'n', '.', 'b', 'e', '\0',
   /* "dynorphin.com", true */ 'd', 'y', 'n', 'o', 'r', 'p', 'h', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dynorphins.com", true */ 'd', 'y', 'n', 'o', 'r', 'p', 'h', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "dyrenesverden.no", true */ 'd', 'y', 'r', 'e', 'n', 'e', 's', 'v', 'e', 'r', 'd', 'e', 'n', '.', 'n', 'o', '\0',
   /* "dysthymia.com", true */ 'd', 'y', 's', 't', 'h', 'y', 'm', 'i', 'a', '.', 'c', 'o', 'm', '\0',
@@ -5871,28 +5856,30 @@ static const char kSTSHostTable[] = {
   /* "edwardsnowden.com", true */ 'e', 'd', 'w', 'a', 'r', 'd', 's', 'n', 'o', 'w', 'd', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "edwardspeyer.com", true */ 'e', 'd', 'w', 'a', 'r', 'd', 's', 'p', 'e', 'y', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "edxg.de", false */ 'e', 'd', 'x', 'g', '.', 'd', 'e', '\0',
   /* "edyou.eu", true */ 'e', 'd', 'y', 'o', 'u', '.', 'e', 'u', '\0',
   /* "edzilla.info", true */ 'e', 'd', 'z', 'i', 'l', 'l', 'a', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ee-terminals.com", true */ 'e', 'e', '-', 't', 'e', 'r', 'm', 'i', 'n', 'a', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "eeb98.com", true */ 'e', 'e', 'b', '9', '8', '.', 'c', 'o', 'm', '\0',
   /* "eelsden.net", true */ 'e', 'e', 'l', 's', 'd', 'e', 'n', '.', 'n', 'e', 't', '\0',
+  /* "eelzak.nl", true */ 'e', 'e', 'l', 'z', 'a', 'k', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-alphen-aan-den-rijn-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'a', 'l', 'p', 'h', 'e', 'n', '-', 'a', 'a', 'n', '-', 'd', 'e', 'n', '-', 'r', 'i', 'j', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-de-friese-meren-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'd', 'e', '-', 'f', 'r', 'i', 'e', 's', 'e', '-', 'm', 'e', 'r', 'e', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-friesland-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'f', 'r', 'i', 'e', 's', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-leeuwarden-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'l', 'e', 'e', 'u', 'w', 'a', 'r', 'd', 'e', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-pekela-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'p', 'e', 'k', 'e', 'l', 'a', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-rijnwaarden-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'r', 'i', 'j', 'n', 'w', 'a', 'a', 'r', 'd', 'e', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-sudwest-fryslan-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 's', 'u', 'd', 'w', 'e', 's', 't', '-', 'f', 'r', 'y', 's', 'l', 'a', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-zeeland-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'z', 'e', 'e', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-zuid-holland-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'z', 'u', 'i', 'd', '-', 'h', 'o', 'l', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-zuidplas-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'z', 'u', 'i', 'd', 'p', 'l', 'a', 's', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "eengezinswoning-in-zwartewaterland-kopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', '-', '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',
   /* "eengezinswoningverkopen.nl", true */ 'e', 'e', 'n', 'g', 'e', 'z', 'i', 'n', 's', 'w', 'o', 'n', 'i', 'n', 'g', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
+  /* "eenhoorn.ga", true */ 'e', 'e', 'n', 'h', 'o', 'o', 'r', 'n', '.', 'g', 'a', '\0',
   /* "eer.io", true */ 'e', 'e', 'r', '.', 'i', 'o', '\0',
   /* "eerstejaarsweekend.nl", true */ 'e', 'e', 'r', 's', 't', 'e', 'j', 'a', 'a', 'r', 's', 'w', 'e', 'e', 'k', 'e', 'n', 'd', '.', 'n', 'l', '\0',
   /* "eery.de", true */ 'e', 'e', 'r', 'y', '.', 'd', 'e', '\0',
   /* "eewna.org", true */ 'e', 'e', 'w', 'n', 'a', '.', 'o', 'r', 'g', '\0',
   /* "eez.ee", true */ 'e', 'e', 'z', '.', 'e', 'e', '\0',
   /* "ef-georgia.org", true */ 'e', 'f', '-', 'g', 'e', 'o', 'r', 'g', 'i', 'a', '.', 'o', 'r', 'g', '\0',
   /* "ef.gy", true */ 'e', 'f', '.', 'g', 'y', '\0',
   /* "eff.org", true */ 'e', 'f', 'f', '.', 'o', 'r', 'g', '\0',
@@ -5952,18 +5939,16 @@ static const char kSTSHostTable[] = {
   /* "eisp.it", false */ 'e', 'i', 's', 'p', '.', 'i', 't', '\0',
   /* "eit-web.de", false */ 'e', 'i', 't', '-', 'w', 'e', 'b', '.', 'd', 'e', '\0',
   /* "eitler.cx", true */ 'e', 'i', 't', 'l', 'e', 'r', '.', 'c', 'x', '\0',
   /* "eiyoushi-shigoto.com", true */ 'e', 'i', 'y', 'o', 'u', 's', 'h', 'i', '-', 's', 'h', 'i', 'g', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "ejdv-anmeldung.de", true */ 'e', 'j', 'd', 'v', '-', 'a', 'n', 'm', 'e', 'l', 'd', 'u', 'n', 'g', '.', 'd', 'e', '\0',
   /* "ejeff.org", true */ 'e', 'j', 'e', 'f', 'f', '.', 'o', 'r', 'g', '\0',
   /* "ejgconsultancy.co.uk", true */ 'e', 'j', 'g', 'c', 'o', 'n', 's', 'u', 'l', 't', 'a', 'n', 'c', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ejone.co", true */ 'e', 'j', 'o', 'n', 'e', '.', 'c', 'o', '\0',
-  /* "ekedc.com", true */ 'e', 'k', 'e', 'd', 'c', '.', 'c', 'o', 'm', '\0',
-  /* "ekedp.com", true */ 'e', 'k', 'e', 'd', 'p', '.', 'c', 'o', 'm', '\0',
   /* "ekodevices.com", true */ 'e', 'k', 'o', 'd', 'e', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "ekokontakt.cz", true */ 'e', 'k', 'o', 'k', 'o', 'n', 't', 'a', 'k', 't', '.', 'c', 'z', '\0',
   /* "ekonbenefits.com", true */ 'e', 'k', 'o', 'n', 'b', 'e', 'n', 'e', 'f', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "ekostecki.de", true */ 'e', 'k', 'o', 's', 't', 'e', 'c', 'k', 'i', '.', 'd', 'e', '\0',
   /* "eksisozluk.com", true */ 'e', 'k', 's', 'i', 's', 'o', 'z', 'l', 'u', 'k', '.', 'c', 'o', 'm', '\0',
   /* "ekuatorial.com", true */ 'e', 'k', 'u', 'a', 't', 'o', 'r', 'i', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "ekzarta.ru", true */ 'e', 'k', 'z', 'a', 'r', 't', 'a', '.', 'r', 'u', '\0',
   /* "el-cell.com", true */ 'e', 'l', '-', 'c', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
@@ -6118,17 +6103,16 @@ static const char kSTSHostTable[] = {
   /* "encredible.de", false */ 'e', 'n', 'c', 'r', 'e', 'd', 'i', 'b', 'l', 'e', '.', 'd', 'e', '\0',
   /* "encredible.org", false */ 'e', 'n', 'c', 'r', 'e', 'd', 'i', 'b', 'l', 'e', '.', 'o', 'r', 'g', '\0',
   /* "encryptallthethings.net", true */ 'e', 'n', 'c', 'r', 'y', 'p', 't', 'a', 'l', 'l', 't', 'h', 'e', 't', 'h', 'i', 'n', 'g', 's', '.', 'n', 'e', 't', '\0',
   /* "encrypted.google.com", true */ 'e', 'n', 'c', 'r', 'y', 'p', 't', 'e', 'd', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "encryptedaudience.com", true */ 'e', 'n', 'c', 'r', 'y', 'p', 't', 'e', 'd', 'a', 'u', 'd', 'i', 'e', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "endeal.nl", true */ 'e', 'n', 'd', 'e', 'a', 'l', '.', 'n', 'l', '\0',
   /* "ender.co.at", true */ 'e', 'n', 'd', 'e', 'r', '.', 'c', 'o', '.', 'a', 't', '\0',
   /* "endingthedocumentgame.gov", true */ 'e', 'n', 'd', 'i', 'n', 'g', 't', 'h', 'e', 'd', 'o', 'c', 'u', 'm', 'e', 'n', 't', 'g', 'a', 'm', 'e', '.', 'g', 'o', 'v', '\0',
-  /* "endlessdiy.ca", true */ 'e', 'n', 'd', 'l', 'e', 's', 's', 'd', 'i', 'y', '.', 'c', 'a', '\0',
   /* "endlessvideo.com", true */ 'e', 'n', 'd', 'l', 'e', 's', 's', 'v', 'i', 'd', 'e', 'o', '.', 'c', 'o', 'm', '\0',
   /* "endofnet.org", true */ 'e', 'n', 'd', 'o', 'f', 'n', 'e', 't', '.', 'o', 'r', 'g', '\0',
   /* "endoftennancycleaning.co.uk", true */ 'e', 'n', 'd', 'o', 'f', 't', 'e', 'n', 'n', 'a', 'n', 'c', 'y', 'c', 'l', 'e', 'a', 'n', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "endohaus.ca", true */ 'e', 'n', 'd', 'o', 'h', 'a', 'u', 's', '.', 'c', 'a', '\0',
   /* "endohaus.com", true */ 'e', 'n', 'd', 'o', 'h', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "endohaus.eu", true */ 'e', 'n', 'd', 'o', 'h', 'a', 'u', 's', '.', 'e', 'u', '\0',
   /* "endohaus.us", true */ 'e', 'n', 'd', 'o', 'h', 'a', 'u', 's', '.', 'u', 's', '\0',
   /* "endzeit-architekten.com", false */ 'e', 'n', 'd', 'z', 'e', 'i', 't', '-', 'a', 'r', 'c', 'h', 'i', 't', 'e', 'k', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0',
@@ -6143,16 +6127,17 @@ static const char kSTSHostTable[] = {
   /* "energyelephant.com", true */ 'e', 'n', 'e', 'r', 'g', 'y', 'e', 'l', 'e', 'p', 'h', 'a', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "energyled.com.br", true */ 'e', 'n', 'e', 'r', 'g', 'y', 'l', 'e', 'd', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "enersec.co.uk", true */ 'e', 'n', 'e', 'r', 's', 'e', 'c', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "enfantsdelarue.ch", true */ 'e', 'n', 'f', 'a', 'n', 't', 's', 'd', 'e', 'l', 'a', 'r', 'u', 'e', '.', 'c', 'h', '\0',
   /* "enfoqueseguro.com", true */ 'e', 'n', 'f', 'o', 'q', 'u', 'e', 's', 'e', 'g', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "enfu.se", true */ 'e', 'n', 'f', 'u', '.', 's', 'e', '\0',
   /* "engaugetools.com", true */ 'e', 'n', 'g', 'a', 'u', 'g', 'e', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "engelundlicht.ch", true */ 'e', 'n', 'g', 'e', 'l', 'u', 'n', 'd', 'l', 'i', 'c', 'h', 't', '.', 'c', 'h', '\0',
+  /* "engg.ca", true */ 'e', 'n', 'g', 'g', '.', 'c', 'a', '\0',
   /* "engineeryourmarketing.com", false */ 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', 'y', 'o', 'u', 'r', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "engineowning.com", true */ 'e', 'n', 'g', 'i', 'n', 'e', 'o', 'w', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "enginepit.com", true */ 'e', 'n', 'g', 'i', 'n', 'e', 'p', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "enginx.net", true */ 'e', 'n', 'g', 'i', 'n', 'x', '.', 'n', 'e', 't', '\0',
   /* "englerts.de", true */ 'e', 'n', 'g', 'l', 'e', 'r', 't', 's', '.', 'd', 'e', '\0',
   /* "englishbulgaria.net", true */ 'e', 'n', 'g', 'l', 'i', 's', 'h', 'b', 'u', 'l', 'g', 'a', 'r', 'i', 'a', '.', 'n', 'e', 't', '\0',
   /* "englishcast.com.br", true */ 'e', 'n', 'g', 'l', 'i', 's', 'h', 'c', 'a', 's', 't', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "englishclub.com", true */ 'e', 'n', 'g', 'l', 'i', 's', 'h', 'c', 'l', 'u', 'b', '.', 'c', 'o', 'm', '\0',
@@ -6299,17 +6284,16 @@ static const char kSTSHostTable[] = {
   /* "escyr.top", true */ 'e', 's', 'c', 'y', 'r', '.', 't', 'o', 'p', '\0',
   /* "esdenera.com", true */ 'e', 's', 'd', 'e', 'n', 'e', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "esdiscuss.org", true */ 'e', 's', 'd', 'i', 's', 'c', 'u', 's', 's', '.', 'o', 'r', 'g', '\0',
   /* "eseth.de", true */ 'e', 's', 'e', 't', 'h', '.', 'd', 'e', '\0',
   /* "esg-abi2001.de", true */ 'e', 's', 'g', '-', 'a', 'b', 'i', '2', '0', '0', '1', '.', 'd', 'e', '\0',
   /* "esh.ink", true */ 'e', 's', 'h', '.', 'i', 'n', 'k', '\0',
   /* "eshtapay.com", true */ 'e', 's', 'h', 't', 'a', 'p', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "esibun.net", true */ 'e', 's', 'i', 'b', 'u', 'n', '.', 'n', 'e', 't', '\0',
-  /* "esigmbh.de", true */ 'e', 's', 'i', 'g', 'm', 'b', 'h', '.', 'd', 'e', '\0',
   /* "eskdale.net", true */ 'e', 's', 'k', 'd', 'a', 'l', 'e', '.', 'n', 'e', 't', '\0',
   /* "eskriett.com", true */ 'e', 's', 'k', 'r', 'i', 'e', 't', 't', '.', 'c', 'o', 'm', '\0',
   /* "esoa.net", true */ 'e', 's', 'o', 'a', '.', 'n', 'e', 't', '\0',
   /* "esoko.eu", true */ 'e', 's', 'o', 'k', 'o', '.', 'e', 'u', '\0',
   /* "esono.de", true */ 'e', 's', 'o', 'n', 'o', '.', 'd', 'e', '\0',
   /* "esoterik.link", true */ 'e', 's', 'o', 't', 'e', 'r', 'i', 'k', '.', 'l', 'i', 'n', 'k', '\0',
   /* "esp8285.store", true */ 'e', 's', 'p', '8', '2', '8', '5', '.', 's', 't', 'o', 'r', 'e', '\0',
   /* "espace-gestion.fr", true */ 'e', 's', 'p', 'a', 'c', 'e', '-', 'g', 'e', 's', 't', 'i', 'o', 'n', '.', 'f', 'r', '\0',
@@ -6415,16 +6399,17 @@ static const char kSTSHostTable[] = {
   /* "europeancupinline.eu", true */ 'e', 'u', 'r', 'o', 'p', 'e', 'a', 'n', 'c', 'u', 'p', 'i', 'n', 'l', 'i', 'n', 'e', '.', 'e', 'u', '\0',
   /* "europeantransportmanagement.com", true */ 'e', 'u', 'r', 'o', 'p', 'e', 'a', 'n', 't', 'r', 'a', 'n', 's', 'p', 'o', 'r', 't', 'm', 'a', 'n', 'a', 'g', 'e', 'm', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "europeanwineresource.com", true */ 'e', 'u', 'r', 'o', 'p', 'e', 'a', 'n', 'w', 'i', 'n', 'e', 'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "europop.com", true */ 'e', 'u', 'r', 'o', 'p', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "eurora.de", true */ 'e', 'u', 'r', 'o', 'r', 'a', '.', 'd', 'e', '\0',
   /* "euroscot.de", true */ 'e', 'u', 'r', 'o', 's', 'c', 'o', 't', '.', 'd', 'e', '\0',
   /* "euroshop.or.at", true */ 'e', 'u', 'r', 'o', 's', 'h', 'o', 'p', '.', 'o', 'r', '.', 'a', 't', '\0',
   /* "eurospecautowerks.com", true */ 'e', 'u', 'r', 'o', 's', 'p', 'e', 'c', 'a', 'u', 't', 'o', 'w', 'e', 'r', 'k', 's', '.', 'c', 'o', 'm', '\0',
+  /* "eurostrategy.vn.ua", true */ 'e', 'u', 'r', 'o', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '.', 'v', 'n', '.', 'u', 'a', '\0',
   /* "eurotime.ua", true */ 'e', 'u', 'r', 'o', 't', 'i', 'm', 'e', '.', 'u', 'a', '\0',
   /* "eurotramp.com", true */ 'e', 'u', 'r', 'o', 't', 'r', 'a', 'm', 'p', '.', 'c', 'o', 'm', '\0',
   /* "eurotravelstar.eu", true */ 'e', 'u', 'r', 'o', 't', 'r', 'a', 'v', 'e', 'l', 's', 't', 'a', 'r', '.', 'e', 'u', '\0',
   /* "eurovision.ie", true */ 'e', 'u', 'r', 'o', 'v', 'i', 's', 'i', 'o', 'n', '.', 'i', 'e', '\0',
   /* "eutram.com", true */ 'e', 'u', 't', 'r', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "ev-zertifikate.de", true */ 'e', 'v', '-', 'z', 'e', 'r', 't', 'i', 'f', 'i', 'k', 'a', 't', 'e', '.', 'd', 'e', '\0',
   /* "eva.cz", true */ 'e', 'v', 'a', '.', 'c', 'z', '\0',
   /* "evades.io", true */ 'e', 'v', 'a', 'd', 'e', 's', '.', 'i', 'o', '\0',
@@ -6484,17 +6469,16 @@ static const char kSTSHostTable[] = {
   /* "ewie.name", true */ 'e', 'w', 'i', 'e', '.', 'n', 'a', 'm', 'e', '\0',
   /* "ewout.io", true */ 'e', 'w', 'o', 'u', 't', '.', 'i', 'o', '\0',
   /* "ewuchuan.com", true */ 'e', 'w', 'u', 'c', 'h', 'u', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ewus.de", true */ 'e', 'w', 'u', 's', '.', 'd', 'e', '\0',
   /* "exactlyinfinite.com", true */ 'e', 'x', 'a', 'c', 't', 'l', 'y', 'i', 'n', 'f', 'i', 'n', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "exactphilosophy.net", true */ 'e', 'x', 'a', 'c', 't', 'p', 'h', 'i', 'l', 'o', 's', 'o', 'p', 'h', 'y', '.', 'n', 'e', 't', '\0',
   /* "examenpilotos.com", false */ 'e', 'x', 'a', 'm', 'e', 'n', 'p', 'i', 'l', 'o', 't', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "exampleessays.com", true */ 'e', 'x', 'a', 'm', 'p', 'l', 'e', 'e', 's', 's', 'a', 'y', 's', '.', 'c', 'o', 'm', '\0',
-  /* "exceltobarcode.com", true */ 'e', 'x', 'c', 'e', 'l', 't', 'o', 'b', 'a', 'r', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "excessamerica.com", true */ 'e', 'x', 'c', 'e', 's', 's', 'a', 'm', 'e', 'r', 'i', 'c', 'a', '.', 'c', 'o', 'm', '\0',
   /* "exchangeworks.co", true */ 'e', 'x', 'c', 'h', 'a', 'n', 'g', 'e', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', '\0',
   /* "exehack.net", true */ 'e', 'x', 'e', 'h', 'a', 'c', 'k', '.', 'n', 'e', 't', '\0',
   /* "exekutori.com", true */ 'e', 'x', 'e', 'k', 'u', 't', 'o', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "exemples-de-stands.com", true */ 'e', 'x', 'e', 'm', 'p', 'l', 'e', 's', '-', 'd', 'e', '-', 's', 't', 'a', 'n', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "exeria.de", true */ 'e', 'x', 'e', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "exgaywatch.com", true */ 'e', 'x', 'g', 'a', 'y', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "exhalespa.com", true */ 'e', 'x', 'h', 'a', 'l', 'e', 's', 'p', 'a', '.', 'c', 'o', 'm', '\0',
@@ -6639,17 +6623,16 @@ static const char kSTSHostTable[] = {
   /* "familiegrottendieck.de", true */ 'f', 'a', 'm', 'i', 'l', 'i', 'e', 'g', 'r', 'o', 't', 't', 'e', 'n', 'd', 'i', 'e', 'c', 'k', '.', 'd', 'e', '\0',
   /* "familieholme.de", true */ 'f', 'a', 'm', 'i', 'l', 'i', 'e', 'h', 'o', 'l', 'm', 'e', '.', 'd', 'e', '\0',
   /* "familjenfrodlund.se", true */ 'f', 'a', 'm', 'i', 'l', 'j', 'e', 'n', 'f', 'r', 'o', 'd', 'l', 'u', 'n', 'd', '.', 's', 'e', '\0',
   /* "familjenm.se", true */ 'f', 'a', 'm', 'i', 'l', 'j', 'e', 'n', 'm', '.', 's', 'e', '\0',
   /* "familyreal.ru", true */ 'f', 'a', 'm', 'i', 'l', 'y', 'r', 'e', 'a', 'l', '.', 'r', 'u', '\0',
   /* "famvangelder.nl", true */ 'f', 'a', 'm', 'v', 'a', 'n', 'g', 'e', 'l', 'd', 'e', 'r', '.', 'n', 'l', '\0',
   /* "famvsomeren.nl", true */ 'f', 'a', 'm', 'v', 's', 'o', 'm', 'e', 'r', 'e', 'n', '.', 'n', 'l', '\0',
   /* "fanboi.ch", true */ 'f', 'a', 'n', 'b', 'o', 'i', '.', 'c', 'h', '\0',
-  /* "fancy-bridge.com", true */ 'f', 'a', 'n', 'c', 'y', '-', 'b', 'r', 'i', 'd', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fandler.cz", true */ 'f', 'a', 'n', 'd', 'l', 'e', 'r', '.', 'c', 'z', '\0',
   /* "fandomservices.com", true */ 'f', 'a', 'n', 'd', 'o', 'm', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "fanfareunion.ch", true */ 'f', 'a', 'n', 'f', 'a', 'r', 'e', 'u', 'n', 'i', 'o', 'n', '.', 'c', 'h', '\0',
   /* "fanflow.com", true */ 'f', 'a', 'n', 'f', 'l', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "fangs.ink", true */ 'f', 'a', 'n', 'g', 's', '.', 'i', 'n', 'k', '\0',
   /* "fanjoe.be", true */ 'f', 'a', 'n', 'j', 'o', 'e', '.', 'b', 'e', '\0',
   /* "fant.dk", true */ 'f', 'a', 'n', 't', '.', 'd', 'k', '\0',
   /* "fantasticgardenersmelbourne.com.au", true */ 'f', 'a', 'n', 't', 'a', 's', 't', 'i', 'c', 'g', 'a', 'r', 'd', 'e', 'n', 'e', 'r', 's', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
@@ -6684,16 +6667,17 @@ static const char kSTSHostTable[] = {
   /* "fashionunited.cl", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'c', 'l', '\0',
   /* "fashionunited.com", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "fashionunited.com.ar", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "fashionunited.fi", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'f', 'i', '\0',
   /* "fashionunited.hk", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'h', 'k', '\0',
   /* "fashionunited.hu", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'h', 'u', '\0',
   /* "fashionunited.ie", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'i', 'e', '\0',
   /* "fashionunited.mx", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'm', 'x', '\0',
+  /* "fashionunited.nl", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'n', 'l', '\0',
   /* "fashionunited.nz", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 'n', 'z', '\0',
   /* "fashionunited.se", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'u', 'n', 'i', 't', 'e', 'd', '.', 's', 'e', '\0',
   /* "fashionweekweb.com", true */ 'f', 'a', 's', 'h', 'i', 'o', 'n', 'w', 'e', 'e', 'k', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "faspirits.co.uk", true */ 'f', 'a', 's', 'p', 'i', 'r', 'i', 't', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "faspirits.com", true */ 'f', 'a', 's', 'p', 'i', 'r', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "fassadenverkleidung24.de", true */ 'f', 'a', 's', 's', 'a', 'd', 'e', 'n', 'v', 'e', 'r', 'k', 'l', 'e', 'i', 'd', 'u', 'n', 'g', '2', '4', '.', 'd', 'e', '\0',
   /* "fastaim.de", true */ 'f', 'a', 's', 't', 'a', 'i', 'm', '.', 'd', 'e', '\0',
   /* "fastbackmbg.be", true */ 'f', 'a', 's', 't', 'b', 'a', 'c', 'k', 'm', 'b', 'g', '.', 'b', 'e', '\0',
@@ -7038,17 +7022,16 @@ static const char kSTSHostTable[] = {
   /* "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',
   /* "flybunnyfly.dk", true */ 'f', 'l', 'y', 'b', 'u', 'n', 'n', 'y', 'f', 'l', 'y', '.', 'd', 'k', '\0',
   /* "flyinglocksmiths.com", true */ 'f', 'l', 'y', 'i', 'n', 'g', 'l', 'o', 'c', 'k', 's', 'm', 'i', 't', 'h', 's', '.', 'c', 'o', 'm', '\0',
   /* "flyingrub.me", true */ 'f', 'l', 'y', 'i', 'n', 'g', 'r', 'u', 'b', '.', 'm', 'e', '\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',
   /* "fmapplication.com", true */ 'f', 'm', 'a', 'p', 'p', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\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',
   /* "fminsight.net", true */ 'f', 'm', 'i', 'n', 's', 'i', 'g', 'h', 't', '.', 'n', 'e', 't', '\0',
   /* "fmodoux.biz", true */ 'f', 'm', 'o', 'd', 'o', 'u', 'x', '.', 'b', 'i', 'z', '\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',
@@ -7133,16 +7116,17 @@ static const char kSTSHostTable[] = {
   /* "fortesanshop.it", true */ 'f', 'o', 'r', 't', 'e', 's', 'a', 'n', 's', 'h', 'o', 'p', '.', 'i', 't', '\0',
   /* "fortnine.ca", true */ 'f', 'o', 'r', 't', 'n', 'i', 'n', 'e', '.', 'c', 'a', '\0',
   /* "fortress.no", true */ 'f', 'o', 'r', 't', 'r', 'e', 's', 's', '.', 'n', 'o', '\0',
   /* "fortress.sk", true */ 'f', 'o', 'r', 't', 'r', 'e', 's', 's', '.', 's', 'k', '\0',
   /* "fortuna-loessnitz.de", true */ 'f', 'o', 'r', 't', 'u', 'n', 'a', '-', 'l', 'o', 'e', 's', 's', 'n', 'i', 't', 'z', '.', 'd', 'e', '\0',
   /* "fortuna-s.com", true */ 'f', 'o', 'r', 't', 'u', 'n', 'a', '-', 's', '.', 'c', 'o', 'm', '\0',
   /* "fortworth.ch", true */ 'f', 'o', 'r', 't', 'w', 'o', 'r', 't', 'h', '.', 'c', 'h', '\0',
   /* "forty-two.nl", true */ 'f', 'o', 'r', 't', 'y', '-', 't', 'w', 'o', '.', 'n', 'l', '\0',
+  /* "forty8creates.com", true */ 'f', 'o', 'r', 't', 'y', '8', 'c', 'r', 'e', 'a', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "forum.linode.com", false */ 'f', 'o', 'r', 'u', 'm', '.', 'l', 'i', 'n', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "forumvoordemocratie.nl", true */ 'f', 'o', 'r', 'u', 'm', 'v', 'o', 'o', 'r', 'd', 'e', 'm', 'o', 'c', 'r', 'a', 't', 'i', 'e', '.', 'n', 'l', '\0',
   /* "forus.be", true */ 'f', 'o', 'r', 'u', 's', '.', 'b', 'e', '\0',
   /* "forvisualdesign.com", true */ 'f', 'o', 'r', 'v', 'i', 's', 'u', 'a', 'l', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "foryourhealthybody.com", true */ 'f', 'o', 'r', 'y', 'o', 'u', 'r', 'h', 'e', 'a', 'l', 't', 'h', 'y', 'b', 'o', 'd', 'y', '.', 'c', 'o', 'm', '\0',
   /* "fosdem.org", true */ 'f', 'o', 's', 'd', 'e', 'm', '.', 'o', 'r', 'g', '\0',
   /* "fossewayflowers.co.uk", true */ 'f', 'o', 's', 's', 'e', 'w', 'a', 'y', 'f', 'l', 'o', 'w', 'e', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "fossewayflowers.com", true */ 'f', 'o', 's', 's', 'e', 'w', 'a', 'y', 'f', 'l', 'o', 'w', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
@@ -7220,16 +7204,17 @@ static const char kSTSHostTable[] = {
   /* "frattaroli.org", true */ 'f', 'r', 'a', 't', 't', 'a', 'r', 'o', 'l', 'i', '.', 'o', 'r', 'g', '\0',
   /* "frau-sucht-bauer.de", true */ 'f', 'r', 'a', 'u', '-', 's', 'u', 'c', 'h', 't', '-', 'b', 'a', 'u', 'e', 'r', '.', 'd', 'e', '\0',
   /* "fraudempire.com", true */ 'f', 'r', 'a', 'u', 'd', 'e', 'm', 'p', 'i', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fraudmarc.com", true */ 'f', 'r', 'a', 'u', 'd', 'm', 'a', 'r', 'c', '.', 'c', 'o', 'm', '\0',
   /* "fraye.net", true */ 'f', 'r', 'a', 'y', 'e', '.', 'n', 'e', 't', '\0',
   /* "frbracch.it", true */ 'f', 'r', 'b', 'r', 'a', 'c', 'c', 'h', '.', 'i', 't', '\0',
   /* "frdl.ch", true */ 'f', 'r', 'd', 'l', '.', 'c', 'h', '\0',
   /* "freddythechick.uk", true */ 'f', 'r', 'e', 'd', 'd', 'y', 't', 'h', 'e', 'c', 'h', 'i', 'c', 'k', '.', 'u', 'k', '\0',
+  /* "frederik-braun.com", true */ 'f', 'r', 'e', 'd', 'e', 'r', 'i', 'k', '-', 'b', 'r', 'a', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "frederikschoell.de", false */ 'f', 'r', 'e', 'd', 'e', 'r', 'i', 'k', 's', 'c', 'h', 'o', 'e', 'l', 'l', '.', 'd', 'e', '\0',
   /* "fredloya.com", true */ 'f', 'r', 'e', 'd', 'l', 'o', 'y', 'a', '.', 'c', 'o', 'm', '\0',
   /* "fredtec.ru", true */ 'f', 'r', 'e', 'd', 't', 'e', 'c', '.', 'r', 'u', '\0',
   /* "free-your-pc.com", true */ 'f', 'r', 'e', 'e', '-', 'y', 'o', 'u', 'r', '-', 'p', 'c', '.', 'c', 'o', 'm', '\0',
   /* "freeasyshop.com", true */ 'f', 'r', 'e', 'e', 'a', 's', 'y', 's', 'h', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "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',
   /* "freebus.org", true */ 'f', 'r', 'e', 'e', 'b', 'u', 's', '.', 'o', 'r', 'g', '\0',
@@ -7428,17 +7413,16 @@ static const char kSTSHostTable[] = {
   /* "fxopen.co.uk", true */ 'f', 'x', 'o', 'p', 'e', 'n', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "fxopen.com", true */ 'f', 'x', 'o', 'p', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "fxopen.com.au", true */ 'f', 'x', 'o', 'p', 'e', 'n', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "fxopen.com.br", true */ 'f', 'x', 'o', 'p', 'e', 'n', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "fxopen.com.mx", true */ 'f', 'x', 'o', 'p', 'e', 'n', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0',
   /* "fxopen.ru", true */ 'f', 'x', 'o', 'p', 'e', 'n', '.', 'r', 'u', '\0',
   /* "fxp.co.il", true */ 'f', 'x', 'p', '.', 'c', 'o', '.', 'i', 'l', '\0',
   /* "fxpig-ib.com", true */ 'f', 'x', 'p', 'i', 'g', '-', 'i', 'b', '.', 'c', 'o', 'm', '\0',
-  /* "fxtalk.cn", true */ 'f', 'x', 't', 'a', 'l', 'k', '.', 'c', 'n', '\0',
   /* "fyfywka.com", true */ 'f', 'y', 'f', 'y', 'w', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "fyn.nl", true */ 'f', 'y', 'n', '.', 'n', 'l', '\0',
   /* "fysiotherapierossum.nl", true */ 'f', 'y', 's', 'i', 'o', 't', 'h', 'e', 'r', 'a', 'p', 'i', 'e', 'r', 'o', 's', 's', 'u', 'm', '.', 'n', 'l', '\0',
   /* "g-m-w.eu", true */ 'g', '-', 'm', '-', 'w', '.', 'e', 'u', '\0',
   /* "g-marketing.ro", true */ 'g', '-', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'r', 'o', '\0',
   /* "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',
@@ -7528,17 +7512,16 @@ static const char kSTSHostTable[] = {
   /* "garantieabschluss.de", false */ 'g', 'a', 'r', 'a', 'n', 't', 'i', 'e', 'a', 'b', 's', 'c', 'h', 'l', 'u', 's', 's', '.', 'd', 'e', '\0',
   /* "garbage-juice.com", true */ 'g', 'a', 'r', 'b', 'a', 'g', 'e', '-', 'j', 'u', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "garcinia--cambogia.com", true */ 'g', 'a', 'r', 'c', 'i', 'n', 'i', 'a', '-', '-', 'c', 'a', 'm', 'b', 'o', 'g', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "garda-see.mobi", true */ 'g', 'a', 'r', 'd', 'a', '-', 's', 'e', 'e', '.', 'm', 'o', 'b', 'i', '\0',
   /* "garden-life.org", true */ 'g', 'a', 'r', 'd', 'e', 'n', '-', 'l', 'i', 'f', 'e', '.', 'o', 'r', 'g', '\0',
   /* "gardencarezone.com", true */ 'g', 'a', 'r', 'd', 'e', 'n', 'c', 'a', 'r', 'e', 'z', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "garderobche.eu", true */ 'g', 'a', 'r', 'd', 'e', 'r', 'o', 'b', 'c', 'h', 'e', '.', 'e', 'u', '\0',
   /* "gardikagigih.com", true */ 'g', 'a', 'r', 'd', 'i', 'k', 'a', 'g', 'i', 'g', 'i', 'h', '.', 'c', 'o', 'm', '\0',
-  /* "garedtech.com", true */ 'g', 'a', 'r', 'e', 'd', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "garfieldairlines.net", true */ 'g', 'a', 'r', 'f', 'i', 'e', 'l', 'd', 'a', 'i', 'r', 'l', 'i', 'n', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "gargazon.net", true */ 'g', 'a', 'r', 'g', 'a', 'z', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "garron.net", true */ 'g', 'a', 'r', 'r', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "gartenplanung-brendes.de", true */ 'g', 'a', 'r', 't', 'e', 'n', 'p', 'l', 'a', 'n', 'u', 'n', 'g', '-', 'b', 'r', 'e', 'n', 'd', 'e', 's', '.', 'd', 'e', '\0',
   /* "garycarmell.com", true */ 'g', 'a', 'r', 'y', 'c', 'a', 'r', 'm', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "garyjones.co.uk", true */ 'g', 'a', 'r', 'y', 'j', 'o', 'n', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "garystallman.com", true */ 'g', 'a', 'r', 'y', 's', 't', 'a', 'l', 'l', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "garywhittington.com", true */ 'g', 'a', 'r', 'y', 'w', 'h', 'i', 't', 't', 'i', 'n', 'g', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
@@ -7574,16 +7557,17 @@ static const char kSTSHostTable[] = {
   /* "gcsepod.com", true */ 'g', 'c', 's', 'e', 'p', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "gdax.com", true */ 'g', 'd', 'a', 'x', '.', 'c', 'o', 'm', '\0',
   /* "gdevpenze.ru", true */ 'g', 'd', 'e', 'v', 'p', 'e', 'n', 'z', 'e', '.', 'r', 'u', '\0',
   /* "gdoce.es", true */ 'g', 'd', 'o', 'c', 'e', '.', 'e', 's', '\0',
   /* "gdutnic.com", true */ 'g', 'd', 'u', 't', 'n', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "gdv.me", true */ 'g', 'd', 'v', '.', 'm', 'e', '\0',
   /* "gdz-otvety.com", true */ 'g', 'd', 'z', '-', 'o', 't', 'v', 'e', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "gdz-spishy.com", true */ 'g', 'd', 'z', '-', 's', 'p', 'i', 's', 'h', 'y', '.', 'c', 'o', 'm', '\0',
+  /* "gdz.tv", true */ 'g', 'd', 'z', '.', 't', 'v', '\0',
   /* "ge1.me", false */ 'g', 'e', '1', '.', 'm', 'e', '\0',
   /* "ge3k.net", false */ 'g', 'e', '3', 'k', '.', 'n', 'e', 't', '\0',
   /* "gear-acquisition-syndrome.community", true */ 'g', 'e', 'a', 'r', '-', 'a', 'c', 'q', 'u', 'i', 's', 'i', 't', 'i', 'o', 'n', '-', 's', 'y', 'n', 'd', 'r', 'o', 'm', 'e', '.', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '\0',
   /* "gearev.net", true */ 'g', 'e', 'a', 'r', 'e', 'v', '.', 'n', 'e', 't', '\0',
   /* "gearset.com", true */ 'g', 'e', 'a', 'r', 's', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "geblitzt.de", true */ 'g', 'e', 'b', 'l', 'i', 't', 'z', 't', '.', 'd', 'e', '\0',
   /* "geboortestoeltje.com", true */ 'g', 'e', 'b', 'o', 'o', 'r', 't', 'e', 's', 't', 'o', 'e', 'l', 't', 'j', 'e', '.', 'c', 'o', 'm', '\0',
   /* "geborgen-wachsen.de", true */ 'g', 'e', 'b', 'o', 'r', 'g', 'e', 'n', '-', 'w', 'a', 'c', 'h', 's', 'e', 'n', '.', 'd', 'e', '\0',
@@ -7747,16 +7731,17 @@ static const char kSTSHostTable[] = {
   /* "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',
   /* "gh16.com.ar", true */ 'g', 'h', '1', '6', '.', 'c', 'o', 'm', '.', 'a', 'r', '\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',
   /* "ghislainphu.fr", true */ 'g', 'h', 'i', 's', 'l', 'a', 'i', 'n', 'p', 'h', 'u', '.', 'f', 'r', '\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',
@@ -7919,24 +7904,22 @@ static const char kSTSHostTable[] = {
   /* "goldsecurity.com", true */ 'g', 'o', 'l', 'd', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "golf18network.com", true */ 'g', 'o', 'l', 'f', '1', '8', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "golfburn.com", false */ 'g', 'o', 'l', 'f', 'b', 'u', 'r', 'n', '.', 'c', 'o', 'm', '\0',
   /* "golfhausmallorca.com", true */ 'g', 'o', 'l', 'f', 'h', 'a', 'u', 's', 'm', 'a', 'l', 'l', 'o', 'r', 'c', 'a', '.', 'c', 'o', 'm', '\0',
   /* "golfscape.com", true */ 'g', 'o', 'l', 'f', 's', 'c', 'a', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "golik.net.pl", true */ 'g', 'o', 'l', 'i', 'k', '.', 'n', 'e', 't', '.', 'p', 'l', '\0',
   /* "gomiblog.com", true */ 'g', 'o', 'm', 'i', 'b', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "gondawa.com", true */ 'g', 'o', 'n', 'd', 'a', 'w', 'a', '.', 'c', 'o', 'm', '\0',
-  /* "gong8.win", true */ 'g', 'o', 'n', 'g', '8', '.', 'w', 'i', 'n', '\0',
   /* "gongjianwei.com", true */ 'g', 'o', 'n', 'g', 'j', 'i', 'a', 'n', 'w', 'e', 'i', '.', 'c', 'o', 'm', '\0',
   /* "gongjuhao.com", true */ 'g', 'o', 'n', 'g', 'j', 'u', 'h', 'a', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gonkar.com", true */ 'g', 'o', 'n', 'k', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "goo.gl", true */ 'g', 'o', 'o', '.', 'g', 'l', '\0',
   /* "good-tips.pro", true */ 'g', 'o', 'o', 'd', '-', 't', 'i', 'p', 's', '.', 'p', 'r', 'o', '\0',
   /* "goodfurday.ca", true */ 'g', 'o', 'o', 'd', 'f', 'u', 'r', 'd', 'a', 'y', '.', 'c', 'a', '\0',
-  /* "goodmengroup.de", true */ 'g', 'o', 'o', 'd', 'm', 'e', 'n', 'g', 'r', 'o', 'u', 'p', '.', 'd', 'e', '\0',
   /* "google", true */ 'g', 'o', 'o', 'g', 'l', 'e', '\0',
   /* "google-analytics.com", true */ 'g', 'o', 'o', 'g', 'l', 'e', '-', 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "google.ax", true */ 'g', 'o', 'o', 'g', 'l', 'e', '.', 'a', 'x', '\0',
   /* "googleandroid.cz", true */ 'g', 'o', 'o', 'g', 'l', 'e', 'a', 'n', 'd', 'r', 'o', 'i', 'd', '.', 'c', 'z', '\0',
   /* "googlemail.com", false */ 'g', 'o', 'o', 'g', 'l', 'e', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "googleplex.com", true */ 'g', 'o', 'o', 'g', 'l', 'e', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "googlesource.com", true */ 'g', 'o', 'o', 'g', 'l', 'e', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "googley.fr", true */ 'g', 'o', 'o', 'g', 'l', 'e', 'y', '.', 'f', 'r', '\0',
@@ -8189,28 +8172,26 @@ static const char kSTSHostTable[] = {
   /* "guillaumematheron.fr", true */ 'g', 'u', 'i', 'l', 'l', 'a', 'u', 'm', 'e', 'm', 'a', 't', 'h', 'e', 'r', 'o', 'n', '.', 'f', 'r', '\0',
   /* "guillaumeperrin.io", true */ 'g', 'u', 'i', 'l', 'l', 'a', 'u', 'm', 'e', 'p', 'e', 'r', 'r', 'i', 'n', '.', 'i', 'o', '\0',
   /* "guillemaud.me", true */ 'g', 'u', 'i', 'l', 'l', 'e', 'm', 'a', 'u', 'd', '.', 'm', 'e', '\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',
   /* "guim.co.uk", true */ 'g', 'u', 'i', 'm', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "guinea-pig.co", true */ 'g', 'u', 'i', 'n', 'e', 'a', '-', 'p', 'i', 'g', '.', 'c', 'o', '\0',
   /* "guineapigmustach.es", true */ 'g', 'u', 'i', 'n', 'e', 'a', 'p', 'i', 'g', 'm', 'u', 's', 't', 'a', 'c', 'h', '.', 'e', 's', '\0',
   /* "guitarmarketing.com", false */ 'g', 'u', 'i', 't', 'a', 'r', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
-  /* "gulch.in.ua", false */ 'g', 'u', 'l', 'c', 'h', '.', 'i', 'n', '.', 'u', 'a', '\0',
   /* "gulenbase.no", true */ 'g', 'u', 'l', 'e', 'n', 'b', 'a', 's', 'e', '.', 'n', 'o', '\0',
   /* "gulfcoast-sandbox.com", true */ 'g', 'u', 'l', 'f', 'c', 'o', 'a', 's', 't', '-', 's', 'a', 'n', 'd', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "gulleyperformancecenter.com", true */ 'g', 'u', 'l', 'l', 'e', 'y', 'p', 'e', 'r', 'f', 'o', 'r', 'm', 'a', 'n', 'c', 'e', 'c', 'e', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "gulshankumar.net", true */ 'g', 'u', 'l', 's', 'h', 'a', 'n', 'k', 'u', 'm', 'a', 'r', '.', 'n', 'e', 't', '\0',
   /* "gummibande.noip.me", true */ 'g', 'u', 'm', 'm', 'i', 'b', 'a', 'n', 'd', 'e', '.', 'n', 'o', 'i', 'p', '.', 'm', 'e', '\0',
   /* "gunhunter.com", true */ 'g', 'u', 'n', 'h', 'u', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "gunwatch.co.uk", true */ 'g', 'u', 'n', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "guphi.net", false */ 'g', 'u', 'p', 'h', 'i', '.', 'n', 'e', 't', '\0',
   /* "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',
   /* "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',
@@ -8570,17 +8551,16 @@ static const char kSTSHostTable[] = {
   /* "hemlockhillscabinrentals.com", true */ 'h', 'e', 'm', 'l', 'o', 'c', 'k', 'h', 'i', 'l', 'l', 's', 'c', 'a', 'b', 'i', 'n', 'r', 'e', 'n', 't', 'a', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "hendyisaac.com", true */ 'h', 'e', 'n', 'd', 'y', 'i', 's', 'a', 'a', 'c', '.', 'c', 'o', 'm', '\0',
   /* "hengelsportdeal.com", true */ 'h', 'e', 'n', 'g', 'e', 'l', 's', 'p', 'o', 'r', 't', 'd', 'e', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "henkverlinde.com", false */ 'h', 'e', 'n', 'k', 'v', 'e', 'r', 'l', 'i', 'n', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "hennadesigns.org", true */ 'h', 'e', 'n', 'n', 'a', 'd', 'e', 's', 'i', 'g', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "hennecke-forstbetrieb.de", true */ 'h', 'e', 'n', 'n', 'e', 'c', 'k', 'e', '-', 'f', 'o', 'r', 's', 't', 'b', 'e', 't', 'r', 'i', 'e', 'b', '.', 'd', 'e', '\0',
   /* "hennymerkel.com", true */ 'h', 'e', 'n', 'n', 'y', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "henok.eu", true */ 'h', 'e', 'n', 'o', 'k', '.', 'e', 'u', '\0',
-  /* "henriksen.is", true */ 'h', 'e', 'n', 'r', 'i', 'k', 's', 'e', 'n', '.', 'i', 's', '\0',
   /* "henrock.net", true */ 'h', 'e', 'n', 'r', 'o', 'c', 'k', '.', 'n', 'e', 't', '\0',
   /* "henry.gg", true */ 'h', 'e', 'n', 'r', 'y', '.', 'g', 'g', '\0',
   /* "henryphan.com", false */ 'h', 'e', 'n', 'r', 'y', 'p', 'h', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "hentai.design", true */ 'h', 'e', 'n', 't', 'a', 'i', '.', 'd', 'e', 's', 'i', 'g', 'n', '\0',
   /* "hentaimaster.net", true */ 'h', 'e', 'n', 't', 'a', 'i', 'm', 'a', 's', 't', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "hentschke-bau.de", true */ 'h', 'e', 'n', 't', 's', 'c', 'h', 'k', 'e', '-', 'b', 'a', 'u', '.', 'd', 'e', '\0',
   /* "hentschke-betonfertigteilwerk.de", true */ 'h', 'e', 'n', 't', 's', 'c', 'h', 'k', 'e', '-', 'b', 'e', 't', 'o', 'n', 'f', 'e', 'r', 't', 'i', 'g', 't', 'e', 'i', 'l', 'w', 'e', 'r', 'k', '.', 'd', 'e', '\0',
   /* "hentschke-invest.de", true */ 'h', 'e', 'n', 't', 's', 'c', 'h', 'k', 'e', '-', 'i', 'n', 'v', 'e', 's', 't', '.', 'd', 'e', '\0',
@@ -9052,17 +9032,16 @@ static const char kSTSHostTable[] = {
   /* "iamcarrico.com", true */ 'i', 'a', 'm', 'c', 'a', 'r', 'r', 'i', 'c', 'o', '.', 'c', 'o', 'm', '\0',
   /* "iamsoareyou.se", true */ 'i', 'a', 'm', 's', 'o', 'a', 'r', 'e', 'y', 'o', 'u', '.', 's', 'e', '\0',
   /* "iamtheib.me", true */ 'i', 'a', 'm', 't', 'h', 'e', 'i', 'b', '.', 'm', 'e', '\0',
   /* "iamusingtheinter.net", true */ 'i', 'a', 'm', 'u', 's', 'i', 'n', 'g', 't', 'h', 'e', 'i', 'n', 't', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "iamwoodbeard.com", true */ 'i', 'a', 'm', 'w', 'o', 'o', 'd', 'b', 'e', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "ian.sh", true */ 'i', 'a', 'n', '.', 's', 'h', '\0',
   /* "iandouglasscott.com", true */ 'i', 'a', 'n', 'd', 'o', 'u', 'g', 'l', 'a', 's', 's', 'c', 'o', 't', 't', '.', 'c', 'o', 'm', '\0',
   /* "ianix.com", true */ 'i', 'a', 'n', 'i', 'x', '.', 'c', 'o', 'm', '\0',
-  /* "iavian.com", true */ 'i', 'a', 'v', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ib-wedler.de", false */ 'i', 'b', '-', 'w', 'e', 'd', 'l', 'e', 'r', '.', 'd', 'e', '\0',
   /* "iba.community", true */ 'i', 'b', 'a', '.', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '\0',
   /* "ibacktraced.it", true */ 'i', 'b', 'a', 'c', 'k', 't', 'r', 'a', 'c', 'e', 'd', '.', 'i', 't', '\0',
   /* "ibase.com", true */ 'i', 'b', 'a', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ibcmed.org", true */ 'i', 'b', 'c', 'm', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "ibenchu.com", true */ 'i', 'b', 'e', 'n', 'c', 'h', 'u', '.', 'c', 'o', 'm', '\0',
   /* "ibexcore.com", true */ 'i', 'b', 'e', 'x', 'c', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "ibizatopcharter.com", true */ 'i', 'b', 'i', 'z', 'a', 't', 'o', 'p', 'c', 'h', 'a', 'r', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -9080,20 +9059,20 @@ static const char kSTSHostTable[] = {
   /* "icewoman.net", true */ 'i', 'c', 'e', 'w', 'o', 'm', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "ich-find-den-g.net", true */ 'i', 'c', 'h', '-', 'f', 'i', 'n', 'd', '-', 'd', 'e', 'n', '-', 'g', '.', 'n', 'e', 't', '\0',
   /* "ich-tanke.de", true */ 'i', 'c', 'h', '-', 't', 'a', 'n', 'k', 'e', '.', 'd', 'e', '\0',
   /* "ichbinkeinreh.de", true */ 'i', 'c', 'h', 'b', 'i', 'n', 'k', 'e', 'i', 'n', 'r', 'e', 'h', '.', 'd', 'e', '\0',
   /* "ichronos.net", true */ 'i', 'c', 'h', 'r', 'o', 'n', 'o', 's', '.', 'n', 'e', 't', '\0',
   /* "icij.org", false */ 'i', 'c', 'i', 'j', '.', 'o', 'r', 'g', '\0',
   /* "iclinic.ua", true */ 'i', 'c', 'l', 'i', 'n', 'i', 'c', '.', 'u', 'a', '\0',
   /* "icmp2018.org", true */ 'i', 'c', 'm', 'p', '2', '0', '1', '8', '.', 'o', 'r', 'g', '\0',
+  /* "icodeconnect.com", true */ 'i', 'c', 'o', 'd', 'e', 'c', 'o', 'n', 'n', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "iconomi.net", true */ 'i', 'c', 'o', 'n', 'o', 'm', 'i', '.', 'n', 'e', 't', '\0',
   /* "icpc.pp.ua", true */ 'i', 'c', 'p', 'c', '.', 'p', 'p', '.', 'u', 'a', '\0',
   /* "icpc2016.in.th", true */ 'i', 'c', 'p', 'c', '2', '0', '1', '6', '.', 'i', 'n', '.', 't', 'h', '\0',
-  /* "icq-project.net", true */ 'i', 'c', 'q', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'n', 'e', 't', '\0',
   /* "ict-concept.nl", false */ 'i', 'c', 't', '-', 'c', 'o', 'n', 'c', 'e', 'p', 't', '.', 'n', 'l', '\0',
   /* "ict-radar.com", true */ 'i', 'c', 't', '-', 'r', 'a', 'd', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ict-radar.nl", true */ 'i', 'c', 't', '-', 'r', 'a', 'd', 'a', 'r', '.', 'n', 'l', '\0',
   /* "ictinforensics.org", true */ 'i', 'c', 't', 'i', 'n', 'f', 'o', 'r', 'e', 'n', 's', 'i', 'c', 's', '.', 'o', 'r', 'g', '\0',
   /* "ictpro.info", true */ 'i', 'c', 't', 'p', 'r', 'o', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ictradar.com", true */ 'i', 'c', 't', 'r', 'a', 'd', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "icusignature.com", true */ 'i', 'c', 'u', 's', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "icymint.me", true */ 'i', 'c', 'y', 'm', 'i', 'n', 't', '.', 'm', 'e', '\0',
@@ -9156,17 +9135,16 @@ static const char kSTSHostTable[] = {
   /* "iformbuilder.com", false */ 'i', 'f', 'o', 'r', 'm', 'b', 'u', 'i', 'l', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "ifoss.me", true */ 'i', 'f', 'o', 's', 's', '.', 'm', 'e', '\0',
   /* "ifsac.org", true */ 'i', 'f', 's', 'a', 'c', '.', 'o', 'r', 'g', '\0',
   /* "ifsclist.com", true */ 'i', 'f', 's', 'c', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "ifsr.de", true */ 'i', 'f', 's', 'r', '.', 'd', 'e', '\0',
   /* "iftrue.de", true */ 'i', 'f', 't', 'r', 'u', 'e', '.', 'd', 'e', '\0',
   /* "ifxnet.com", true */ 'i', 'f', 'x', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "ifxor.com", true */ 'i', 'f', 'x', 'o', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "igforums.com", true */ 'i', 'g', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "igglabs.com", true */ 'i', 'g', 'g', 'l', 'a', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "iggprivate.com", true */ 'i', 'g', 'g', 'p', 'r', 'i', 'v', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "iggsoft.com", true */ 'i', 'g', 'g', 's', 'o', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "iggsoftware.com", true */ 'i', 'g', 'g', 's', 'o', 'f', 't', 'w', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "igiftcards.de", true */ 'i', 'g', 'i', 'f', 't', 'c', 'a', 'r', 'd', 's', '.', 'd', 'e', '\0',
   /* "igiftcards.nl", true */ 'i', 'g', 'i', 'f', 't', 'c', 'a', 'r', 'd', 's', '.', 'n', 'l', '\0',
   /* "igk.de", true */ 'i', 'g', 'k', '.', 'd', 'e', '\0',
   /* "igm-be.ch", true */ 'i', 'g', 'm', '-', 'b', 'e', '.', 'c', 'h', '\0',
@@ -9563,17 +9541,17 @@ static const char kSTSHostTable[] = {
   /* "ipconsulting.se", true */ 'i', 'p', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '.', 's', 'e', '\0',
   /* "ipfirebox.de", true */ 'i', 'p', 'f', 'i', 'r', 'e', 'b', 'o', 'x', '.', 'd', 'e', '\0',
   /* "ipfp.pl", true */ 'i', 'p', 'f', 'p', '.', 'p', 'l', '\0',
   /* "ipfs.ink", true */ 'i', 'p', 'f', 's', '.', 'i', 'n', 'k', '\0',
   /* "iphoneunlock.nu", true */ 'i', 'p', 'h', 'o', 'n', 'e', 'u', 'n', 'l', 'o', 'c', 'k', '.', 'n', 'u', '\0',
   /* "ipintel.io", true */ 'i', 'p', 'i', 'n', 't', 'e', 'l', '.', 'i', 'o', '\0',
   /* "iplabs.de", true */ 'i', 'p', 'l', 'a', 'b', 's', '.', 'd', 'e', '\0',
   /* "ipledgeonline.org", false */ 'i', 'p', 'l', 'e', 'd', 'g', 'e', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0',
-  /* "iplife.cn", true */ 'i', 'p', 'l', 'i', 'f', 'e', '.', 'c', 'n', '\0',
+  /* "iplife.cn", false */ 'i', 'p', 'l', 'i', 'f', 'e', '.', 'c', 'n', '\0',
   /* "iplog.info", true */ 'i', 'p', 'l', 'o', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "ipmotion.ca", true */ 'i', 'p', 'm', 'o', 't', 'i', 'o', 'n', '.', 'c', 'a', '\0',
   /* "ipokabu.net", true */ 'i', 'p', 'o', 'k', 'a', 'b', 'u', '.', 'n', 'e', 't', '\0',
   /* "ipomue.com", false */ 'i', 'p', 'o', 'm', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "iprim.ru", true */ 'i', 'p', 'r', 'i', 'm', '.', 'r', 'u', '\0',
   /* "ipsec.pl", true */ 'i', 'p', 's', 'e', 'c', '.', 'p', 'l', '\0',
   /* "ipsilon-project.org", true */ 'i', 'p', 's', 'i', 'l', 'o', 'n', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "ipstream.it", true */ 'i', 'p', 's', 't', 'r', 'e', 'a', 'm', '.', 'i', 't', '\0',
@@ -9590,17 +9568,16 @@ static const char kSTSHostTable[] = {
   /* "iqboxy.com", true */ 'i', 'q', 'b', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0',
   /* "iqsmn.org", true */ 'i', 'q', 's', 'm', 'n', '.', 'o', 'r', 'g', '\0',
   /* "iranianholiday.com", true */ 'i', 'r', 'a', 'n', 'i', 'a', 'n', 'h', 'o', 'l', 'i', 'd', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "irc-results.com", true */ 'i', 'r', 'c', '-', 'r', 'e', 's', 'u', 'l', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "ircmett.de", true */ 'i', 'r', 'c', 'm', 'e', 't', 't', '.', 'd', 'e', '\0',
   /* "iready.ro", true */ 'i', 'r', 'e', 'a', 'd', 'y', '.', 'r', 'o', '\0',
   /* "ireef.tv", true */ 'i', 'r', 'e', 'e', 'f', '.', 't', 'v', '\0',
   /* "irenekauer.com", true */ 'i', 'r', 'e', 'n', 'e', 'k', 'a', 'u', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "irf2.pl", true */ 'i', 'r', 'f', '2', '.', 'p', 'l', '\0',
   /* "irgit.pl", true */ 'i', 'r', 'g', 'i', 't', '.', 'p', 'l', '\0',
   /* "iridiumbrowser.de", true */ 'i', 'r', 'i', 'd', 'i', 'u', 'm', 'b', 'r', 'o', 'w', 's', 'e', 'r', '.', 'd', 'e', '\0',
   /* "iridiumflare.de", true */ 'i', 'r', 'i', 'd', 'i', 'u', 'm', 'f', 'l', 'a', 'r', 'e', '.', 'd', 'e', '\0',
   /* "irinkeby.nu", true */ 'i', 'r', 'i', 'n', 'k', 'e', 'b', 'y', '.', 'n', 'u', '\0',
   /* "iriomote.com", true */ 'i', 'r', 'i', 'o', 'm', 'o', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "iris-insa.com", true */ 'i', 'r', 'i', 's', '-', 'i', 'n', 's', 'a', '.', 'c', 'o', 'm', '\0',
   /* "irische-segenswuensche.info", true */ 'i', 'r', 'i', 's', 'c', 'h', 'e', '-', 's', 'e', 'g', 'e', 'n', 's', 'w', 'u', 'e', 'n', 's', 'c', 'h', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "irisdina.de", true */ 'i', 'r', 'i', 's', 'd', 'i', 'n', 'a', '.', 'd', 'e', '\0',
@@ -9724,16 +9701,17 @@ static const char kSTSHostTable[] = {
   /* "iteli.eu", true */ 'i', 't', 'e', 'l', 'i', '.', 'e', 'u', '\0',
   /* "items.lv", true */ 'i', 't', 'e', 'm', 's', '.', 'l', 'v', '\0',
   /* "itemton.com", true */ 'i', 't', 'e', 'm', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "iterror.co", true */ 'i', 't', 'e', 'r', 'r', 'o', 'r', '.', 'c', 'o', '\0',
   /* "itfaq.nl", true */ 'i', 't', 'f', 'a', 'q', '.', 'n', 'l', '\0',
   /* "itfh.eu", true */ 'i', 't', 'f', 'h', '.', 'e', 'u', '\0',
   /* "itfix.cz", true */ 'i', 't', 'f', 'i', 'x', '.', 'c', 'z', '\0',
   /* "itforge.nl", true */ 'i', 't', 'f', 'o', 'r', 'g', 'e', '.', 'n', 'l', '\0',
+  /* "ithenrik.com", true */ 'i', 't', 'h', 'e', 'n', 'r', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "itilo.de", true */ 'i', 't', 'i', 'l', 'o', '.', 'd', 'e', '\0',
   /* "itinsight.hu", true */ 'i', 't', 'i', 'n', 's', 'i', 'g', 'h', 't', '.', 'h', 'u', '\0',
   /* "itis4u.ch", true */ 'i', 't', 'i', 's', '4', 'u', '.', 'c', 'h', '\0',
   /* "itludens.com", true */ 'i', 't', 'l', 'u', 'd', 'e', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "itmanie.cz", true */ 'i', 't', 'm', 'a', 'n', 'i', 'e', '.', 'c', 'z', '\0',
   /* "itneeds.tech", true */ 'i', 't', 'n', 'e', 'e', 'd', 's', '.', 't', 'e', 'c', 'h', '\0',
   /* "itnews-bg.com", true */ 'i', 't', 'n', 'e', 'w', 's', '-', 'b', 'g', '.', 'c', 'o', 'm', '\0',
   /* "itnota.com", true */ 'i', 't', 'n', 'o', 't', 'a', '.', 'c', 'o', 'm', '\0',
@@ -9742,17 +9720,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',
   /* "itproject.guru", true */ 'i', 't', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'g', 'u', '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',
   /* "itshka.rv.ua", true */ 'i', 't', 's', 'h', 'k', 'a', '.', 'r', 'v', '.', 'u', 'a', '\0',
   /* "itskayla.com", true */ 'i', 't', 's', 'k', 'a', 'y', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "itsnotquitethehilton.com", true */ 'i', 't', 's', 'n', 'o', 't', 'q', 'u', 'i', 't', 'e', 't', 'h', 'e', 'h', 'i', 'l', 't', 'o', 'n', '.', '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',
@@ -9798,17 +9775,16 @@ static const char kSTSHostTable[] = {
   /* "ixquick.nl", true */ 'i', 'x', 'q', 'u', 'i', 'c', 'k', '.', 'n', 'l', '\0',
   /* "iz8mbw.net", true */ 'i', 'z', '8', 'm', 'b', 'w', '.', 'n', 'e', 't', '\0',
   /* "izevg.ru", true */ 'i', 'z', 'e', 'v', 'g', '.', 'r', 'u', '\0',
   /* "izodiacsigns.com", true */ 'i', 'z', 'o', 'd', 'i', 'a', 'c', 's', 'i', 'g', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "j-navi.com", true */ 'j', '-', 'n', 'a', 'v', 'i', '.', 'c', 'o', 'm', '\0',
   /* "j-rickroll-a.pw", true */ 'j', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'a', '.', 'p', 'w', '\0',
   /* "j0s.at", true */ 'j', '0', 's', '.', 'a', 't', '\0',
   /* "j0s.eu", true */ 'j', '0', 's', '.', 'e', 'u', '\0',
-  /* "j2ee.cz", true */ 'j', '2', 'e', 'e', '.', 'c', 'z', '\0',
   /* "j3e.de", true */ 'j', '3', 'e', '.', 'd', 'e', '\0',
   /* "j8y.de", true */ 'j', '8', 'y', '.', 'd', 'e', '\0',
   /* "ja-dyck.de", true */ 'j', 'a', '-', 'd', 'y', 'c', 'k', '.', 'd', 'e', '\0',
   /* "ja.md", true */ 'j', 'a', '.', 'm', 'd', '\0',
   /* "jaakkohannikainen.fi", true */ 'j', 'a', 'a', 'k', 'k', 'o', 'h', 'a', 'n', 'n', 'i', 'k', 'a', 'i', 'n', 'e', 'n', '.', 'f', 'i', '\0',
   /* "jaalits.com", true */ 'j', 'a', 'a', 'l', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "jaan.su", true */ 'j', 'a', 'a', 'n', '.', 's', 'u', '\0',
   /* "jaaxypro.com", true */ 'j', 'a', 'a', 'x', 'y', 'p', 'r', 'o', '.', 'c', 'o', 'm', '\0',
@@ -10000,16 +9976,17 @@ static const char kSTSHostTable[] = {
   /* "jennedebleser.com", false */ 'j', 'e', 'n', 'n', 'e', 'd', 'e', 'b', 'l', 'e', 's', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "jennifercherniack.com", true */ 'j', 'e', 'n', 'n', 'i', 'f', 'e', 'r', 'c', 'h', 'e', 'r', 'n', 'i', 'a', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "jennifersauer.nl", true */ 'j', 'e', 'n', 'n', 'i', 'f', 'e', 'r', 's', 'a', 'u', 'e', 'r', '.', 'n', 'l', '\0',
   /* "jennybeaned.com", true */ 'j', 'e', 'n', 'n', 'y', 'b', 'e', 'a', 'n', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "jennythebaker.com", true */ 'j', 'e', 'n', 'n', 'y', 't', 'h', 'e', 'b', 'a', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "jenolson.net", true */ 'j', 'e', 'n', 'o', 'l', 's', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "jens.hk", true */ 'j', 'e', 'n', 's', '.', 'h', 'k', '\0',
   /* "jensrex.dk", true */ 'j', 'e', 'n', 's', 'r', 'e', 'x', '.', 'd', 'k', '\0',
+  /* "jeproteste.info", true */ 'j', 'e', 'p', 'r', 'o', 't', 'e', 's', 't', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "jeremiahbenes.com", true */ 'j', 'e', 'r', 'e', 'm', 'i', 'a', 'h', 'b', 'e', 'n', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "jeremybentham.com", true */ 'j', 'e', 'r', 'e', 'm', 'y', 'b', 'e', 'n', 't', 'h', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "jeremycantu.com", true */ 'j', 'e', 'r', 'e', 'm', 'y', 'c', 'a', 'n', 't', 'u', '.', 'c', 'o', 'm', '\0',
   /* "jeremycrews.com", true */ 'j', 'e', 'r', 'e', 'm', 'y', 'c', 'r', 'e', 'w', 's', '.', 'c', 'o', 'm', '\0',
   /* "jeremyness.com", true */ 'j', 'e', 'r', 'e', 'm', 'y', 'n', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "jerodslay.com", false */ 'j', 'e', 'r', 'o', 'd', 's', 'l', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "jeroendeneef.com", true */ 'j', 'e', 'r', 'o', 'e', 'n', 'd', 'e', 'n', 'e', 'e', 'f', '.', 'c', 'o', 'm', '\0',
   /* "jeroenseegers.com", true */ 'j', 'e', 'r', 'o', 'e', 'n', 's', 'e', 'e', 'g', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
@@ -10545,16 +10522,17 @@ static const char kSTSHostTable[] = {
   /* "keops-spine.us", true */ 'k', 'e', 'o', 'p', 's', '-', 's', 'p', 'i', 'n', 'e', '.', 'u', 's', '\0',
   /* "kepkonyvtar.hu", true */ 'k', 'e', 'p', 'k', 'o', 'n', 'y', 'v', 't', 'a', 'r', '.', 'h', 'u', '\0',
   /* "kepler-seminar.de", true */ 'k', 'e', 'p', 'l', 'e', 'r', '-', 's', 'e', 'm', 'i', 'n', 'a', 'r', '.', 'd', 'e', '\0',
   /* "kerem.xyz", true */ 'k', 'e', 'r', 'e', 'm', '.', 'x', 'y', 'z', '\0',
   /* "kerforhome.com", true */ 'k', 'e', 'r', 'f', 'o', 'r', 'h', 'o', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "kerijacoby.com", true */ 'k', 'e', 'r', 'i', 'j', 'a', 'c', 'o', 'b', 'y', '.', 'c', 'o', 'm', '\0',
   /* "kermadec.com", true */ 'k', 'e', 'r', 'm', 'a', 'd', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "kernel-error.de", true */ 'k', 'e', 'r', 'n', 'e', 'l', '-', 'e', 'r', 'r', 'o', 'r', '.', 'd', 'e', '\0',
+  /* "kernelpanics.nl", true */ 'k', 'e', 'r', 'n', 'e', 'l', 'p', 'a', 'n', 'i', 'c', 's', '.', 'n', 'l', '\0',
   /* "kerp.se", false */ 'k', 'e', 'r', 'p', '.', 's', 'e', '\0',
   /* "kerrfrequencycombs.org", true */ 'k', 'e', 'r', 'r', 'f', 'r', 'e', 'q', 'u', 'e', 'n', 'c', 'y', 'c', 'o', 'm', 'b', 's', '.', 'o', 'r', 'g', '\0',
   /* "kerstkaart.nl", true */ 'k', 'e', 'r', 's', 't', 'k', 'a', 'a', 'r', 't', '.', 'n', 'l', '\0',
   /* "kerus.net", true */ 'k', 'e', 'r', 'u', 's', '.', 'n', 'e', 't', '\0',
   /* "keskeces.com", true */ 'k', 'e', 's', 'k', 'e', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "kesteren.com", true */ 'k', 'e', 's', 't', 'e', 'r', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "kesteren.org", true */ 'k', 'e', 's', 't', 'e', 'r', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "ketamine.co.uk", true */ 'k', 'e', 't', 'a', 'm', 'i', 'n', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -10567,17 +10545,16 @@ static const char kSTSHostTable[] = {
   /* "kevindekoninck.com", false */ 'k', 'e', 'v', 'i', 'n', 'd', 'e', 'k', 'o', 'n', 'i', 'n', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "kevinhill.nl", true */ 'k', 'e', 'v', 'i', 'n', 'h', 'i', 'l', 'l', '.', 'n', 'l', '\0',
   /* "kevinkla.es", true */ 'k', 'e', 'v', 'i', 'n', 'k', 'l', 'a', '.', 'e', 's', '\0',
   /* "kevinlocke.name", true */ 'k', 'e', 'v', 'i', 'n', 'l', 'o', 'c', 'k', 'e', '.', 'n', 'a', 'm', 'e', '\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',
   /* "kewego.co.uk", true */ 'k', 'e', 'w', 'e', 'g', 'o', '.', 'c', 'o', '.', 'u', 'k', '\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',
   /* "keyholdingservices.co.uk", true */ 'k', 'e', 'y', 'h', 'o', 'l', 'd', 'i', 'n', 'g', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "keyihao.cn", true */ 'k', 'e', 'y', 'i', 'h', 'a', 'o', '.', 'c', 'n', '\0',
   /* "keyinfo.io", true */ 'k', 'e', 'y', 'i', 'n', 'f', 'o', '.', 'i', 'o', '\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',
   /* "keyserver.sexy", true */ 'k', 'e', 'y', 's', 'e', 'r', 'v', 'e', 'r', '.', 's', 'e', 'x', 'y', '\0',
@@ -10825,17 +10802,16 @@ static const char kSTSHostTable[] = {
   /* "kolmann.at", true */ 'k', 'o', 'l', 'm', 'a', 'n', 'n', '.', 'a', 't', '\0',
   /* "kolmann.eu", true */ 'k', 'o', 'l', 'm', 'a', 'n', 'n', '.', 'e', 'u', '\0',
   /* "koluke.co", true */ 'k', 'o', 'l', 'u', 'k', 'e', '.', 'c', 'o', '\0',
   /* "koluke.com", true */ 'k', 'o', 'l', 'u', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "komandakovalchuk.com", false */ 'k', 'o', 'm', 'a', 'n', 'd', 'a', 'k', 'o', 'v', 'a', 'l', 'c', 'h', 'u', 'k', '.', 'c', 'o', 'm', '\0',
   /* "komget.net", false */ 'k', 'o', 'm', 'g', 'e', 't', '.', 'n', 'e', 't', '\0',
   /* "komicloud.com", true */ 'k', 'o', 'm', 'i', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "komidoc.com", true */ 'k', 'o', 'm', 'i', 'd', 'o', 'c', '.', 'c', 'o', 'm', '\0',
-  /* "komiksbaza.pl", true */ 'k', 'o', 'm', 'i', 'k', 's', 'b', 'a', 'z', 'a', '.', 'p', 'l', '\0',
   /* "komischkeszeug.de", true */ 'k', 'o', 'm', 'i', 's', 'c', 'h', 'k', 'e', 's', 'z', 'e', 'u', 'g', '.', 'd', 'e', '\0',
   /* "kommune42.org", true */ 'k', 'o', 'm', 'm', 'u', 'n', 'e', '4', '2', '.', 'o', 'r', 'g', '\0',
   /* "komoju.com", true */ 'k', 'o', 'm', 'o', 'j', 'u', '.', 'c', 'o', 'm', '\0',
   /* "kompetenzkurs.de", true */ 'k', 'o', 'm', 'p', 'e', 't', 'e', 'n', 'z', 'k', 'u', 'r', 's', '.', 'd', 'e', '\0',
   /* "kon-sil.de", true */ 'k', 'o', 'n', '-', 's', 'i', 'l', '.', 'd', 'e', '\0',
   /* "kondou-butsudan.com", true */ 'k', 'o', 'n', 'd', 'o', 'u', '-', 'b', 'u', 't', 's', 'u', 'd', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "kongar.org", true */ 'k', 'o', 'n', 'g', 'a', 'r', '.', 'o', 'r', 'g', '\0',
   /* "koniecfica.sk", true */ 'k', 'o', 'n', 'i', 'e', 'c', 'f', 'i', 'c', 'a', '.', 's', 'k', '\0',
@@ -10865,16 +10841,17 @@ static const char kSTSHostTable[] = {
   /* "kortgebyr.dk", true */ 'k', 'o', 'r', 't', 'g', 'e', 'b', 'y', 'r', '.', 'd', 'k', '\0',
   /* "kosho.org", true */ 'k', 'o', 's', 'h', 'o', '.', 'o', 'r', 'g', '\0',
   /* "kosmetik-grothe.de", true */ 'k', 'o', 's', 'm', 'e', 't', 'i', 'k', '-', 'g', 'r', 'o', 't', 'h', 'e', '.', 'd', 'e', '\0',
   /* "kostya.net", false */ 'k', 'o', 's', 't', 'y', 'a', '.', 'n', 'e', 't', '\0',
   /* "kotelezobiztositas.eu", true */ 'k', 'o', 't', 'e', 'l', 'e', 'z', 'o', 'b', 'i', 'z', 't', 'o', 's', 'i', 't', 'a', 's', '.', 'e', 'u', '\0',
   /* "kotilinkki.fi", true */ 'k', 'o', 't', 'i', 'l', 'i', 'n', 'k', 'k', 'i', '.', 'f', 'i', '\0',
   /* "kotitesti.fi", true */ 'k', 'o', 't', 'i', 't', 'e', 's', 't', 'i', '.', 'f', 'i', '\0',
   /* "kotomei.moe", true */ 'k', 'o', 't', 'o', 'm', 'e', 'i', '.', 'm', 'o', 'e', '\0',
+  /* "kottur.is", true */ 'k', 'o', 't', 't', 'u', 'r', '.', 'i', 's', '\0',
   /* "kovaldo.ru", true */ 'k', 'o', 'v', 'a', 'l', 'd', 'o', '.', 'r', 'u', '\0',
   /* "kovals.sk", true */ 'k', 'o', 'v', 'a', 'l', 's', '.', 's', 'k', '\0',
   /* "kovnsk.net", true */ 'k', 'o', 'v', 'n', 's', 'k', '.', 'n', 'e', 't', '\0',
   /* "kowalmik.tk", true */ 'k', 'o', 'w', 'a', 'l', 'm', 'i', 'k', '.', 't', 'k', '\0',
   /* "kowarschick.de", true */ 'k', 'o', 'w', 'a', 'r', 's', 'c', 'h', 'i', 'c', 'k', '.', 'd', 'e', '\0',
   /* "kozmik.co", true */ 'k', 'o', 'z', 'm', 'i', 'k', '.', 'c', 'o', '\0',
   /* "kozuch.biz", true */ 'k', 'o', 'z', 'u', 'c', 'h', '.', 'b', 'i', 'z', '\0',
   /* "kpdyer.com", true */ 'k', 'p', 'd', 'y', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -10984,17 +10961,16 @@ static const char kSTSHostTable[] = {
   /* "kundenerreichen.com", true */ 'k', 'u', 'n', 'd', 'e', 'n', 'e', 'r', 'r', 'e', 'i', 'c', 'h', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "kundenerreichen.de", true */ 'k', 'u', 'n', 'd', 'e', 'n', 'e', 'r', 'r', 'e', 'i', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0',
   /* "kungerkueken.de", true */ 'k', 'u', 'n', 'g', 'e', 'r', 'k', 'u', 'e', 'k', 'e', 'n', '.', 'd', 'e', '\0',
   /* "kunstundunrat.de", true */ 'k', 'u', 'n', 's', 't', 'u', 'n', 'd', 'u', 'n', 'r', 'a', 't', '.', 'd', 'e', '\0',
   /* "kuoruan.com", true */ 'k', 'u', 'o', 'r', 'u', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "kupferstichshop.com", true */ 'k', 'u', 'p', 'f', 'e', 'r', 's', 't', 'i', 'c', 'h', 's', 'h', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "kupiec.eu.org", true */ 'k', 'u', 'p', 'i', 'e', 'c', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
   /* "kuponrazzi.com", true */ 'k', 'u', 'p', 'o', 'n', 'r', 'a', 'z', 'z', 'i', '.', 'c', 'o', 'm', '\0',
-  /* "kuponydoher.cz", true */ 'k', 'u', 'p', 'o', 'n', 'y', 'd', 'o', 'h', 'e', 'r', '.', 'c', 'z', '\0',
   /* "kupschke.net", true */ 'k', 'u', 'p', 's', 'c', 'h', 'k', 'e', '.', 'n', 'e', 't', '\0',
   /* "kurashino-mall.com", true */ 'k', 'u', 'r', 'a', 's', 'h', 'i', 'n', 'o', '-', 'm', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "kuro346.moe", true */ 'k', 'u', 'r', 'o', '3', '4', '6', '.', 'm', 'o', 'e', '\0',
   /* "kurofuku.me", true */ 'k', 'u', 'r', 'o', 'f', 'u', 'k', 'u', '.', 'm', 'e', '\0',
   /* "kuroisalva.xyz", true */ 'k', 'u', 'r', 'o', 'i', 's', 'a', 'l', 'v', 'a', '.', 'x', 'y', 'z', '\0',
   /* "kurona.ga", true */ 'k', 'u', 'r', 'o', 'n', 'a', '.', 'g', 'a', '\0',
   /* "kurschies.de", true */ 'k', 'u', 'r', 's', 'c', 'h', 'i', 'e', 's', '.', 'd', 'e', '\0',
   /* "kurswahl-online.de", true */ 'k', 'u', 'r', 's', 'w', 'a', 'h', 'l', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
@@ -11062,16 +11038,17 @@ static const char kSTSHostTable[] = {
   /* "lachlan.com", true */ 'l', 'a', 'c', 'h', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "lacicloud.net", true */ 'l', 'a', 'c', 'i', 'c', 'l', 'o', 'u', 'd', '.', 'n', 'e', 't', '\0',
   /* "laclaque.ch", true */ 'l', 'a', 'c', 'l', 'a', 'q', 'u', 'e', '.', 'c', 'h', '\0',
   /* "lacledelareussite.com", true */ 'l', 'a', 'c', 'l', 'e', 'd', 'e', 'l', 'a', 'r', 'e', 'u', 's', 's', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lacledeslan.com", false */ 'l', 'a', 'c', 'l', 'e', 'd', 'e', 's', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "lacliniquefinanciere.com", true */ 'l', 'a', 'c', 'l', 'i', 'n', 'i', 'q', 'u', 'e', 'f', 'i', 'n', 'a', 'n', 'c', 'i', 'e', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lacyc3.eu", true */ 'l', 'a', 'c', 'y', 'c', '3', '.', 'e', 'u', '\0',
   /* "ladbroke.net", true */ 'l', 'a', 'd', 'b', 'r', 'o', 'k', 'e', '.', 'n', 'e', 't', '\0',
+  /* "laextra.mx", true */ 'l', 'a', 'e', 'x', 't', 'r', 'a', '.', 'm', 'x', '\0',
   /* "lafeemam.fr", true */ 'l', 'a', 'f', 'e', 'e', 'm', 'a', 'm', '.', 'f', 'r', '\0',
   /* "lafillepolyvalente.ca", true */ 'l', 'a', 'f', 'i', 'l', 'l', 'e', 'p', 'o', 'l', 'y', 'v', 'a', 'l', 'e', 'n', 't', 'e', '.', 'c', 'a', '\0',
   /* "lafillepolyvalente.com", true */ 'l', 'a', 'f', 'i', 'l', 'l', 'e', 'p', 'o', 'l', 'y', 'v', 'a', 'l', 'e', 'n', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lafka.org", true */ 'l', 'a', 'f', 'k', 'a', '.', 'o', 'r', 'g', '\0',
   /* "lafkor.de", true */ 'l', 'a', 'f', 'k', 'o', 'r', '.', 'd', 'e', '\0',
   /* "lafosseobservatoire.be", true */ 'l', 'a', 'f', 'o', 's', 's', 'e', 'o', 'b', 's', 'e', 'r', 'v', 'a', 't', 'o', 'i', 'r', 'e', '.', 'b', 'e', '\0',
   /* "lafr4nc3.xyz", true */ 'l', 'a', 'f', 'r', '4', 'n', 'c', '3', '.', 'x', 'y', 'z', '\0',
   /* "lagarderob.ru", false */ 'l', 'a', 'g', 'a', 'r', 'd', 'e', 'r', 'o', 'b', '.', 'r', 'u', '\0',
@@ -11320,16 +11297,17 @@ static const char kSTSHostTable[] = {
   /* "leiming.co", true */ 'l', 'e', 'i', 'm', 'i', 'n', 'g', '.', 'c', 'o', '\0',
   /* "leipzig.photo", true */ 'l', 'e', 'i', 'p', 'z', 'i', 'g', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "leisure-blog.com", true */ 'l', 'e', 'i', 's', 'u', 'r', 'e', '-', 'b', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "lel.ovh", true */ 'l', 'e', 'l', '.', 'o', 'v', 'h', '\0',
   /* "lelubre.info", true */ 'l', 'e', 'l', 'u', 'b', 'r', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "lemarcheelagrandeguerra.it", true */ 'l', 'e', 'm', 'a', 'r', 'c', 'h', 'e', 'e', 'l', 'a', 'g', 'r', 'a', 'n', 'd', 'e', 'g', 'u', 'e', 'r', 'r', 'a', '.', 'i', 't', '\0',
   /* "lemoine.at", true */ 'l', 'e', 'm', 'o', 'i', 'n', 'e', '.', 'a', 't', '\0',
   /* "lemon.co", true */ 'l', 'e', 'm', 'o', 'n', '.', 'c', 'o', '\0',
+  /* "lemondrops.xyz", true */ 'l', 'e', 'm', 'o', 'n', 'd', 'r', 'o', 'p', 's', '.', 'x', 'y', 'z', '\0',
   /* "lemuslimpost.com", true */ 'l', 'e', 'm', 'u', 's', 'l', 'i', 'm', 'p', 'o', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "lence.net", true */ 'l', 'e', 'n', 'c', 'e', '.', 'n', 'e', 't', '\0',
   /* "lenders.direct", true */ 'l', 'e', 'n', 'd', 'e', 'r', 's', '.', 'd', 'i', 'r', 'e', 'c', 't', '\0',
   /* "lengzzz.com", true */ 'l', 'e', 'n', 'g', 'z', 'z', 'z', '.', 'c', 'o', 'm', '\0',
   /* "leninalbertop.com.ve", true */ 'l', 'e', 'n', 'i', 'n', 'a', 'l', 'b', 'e', 'r', 't', 'o', 'p', '.', 'c', 'o', 'm', '.', 'v', 'e', '\0',
   /* "lenn1.de", true */ 'l', 'e', 'n', 'n', '1', '.', 'd', 'e', '\0',
   /* "lennarth.com", true */ 'l', 'e', 'n', 'n', 'a', 'r', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "lennier.info", true */ 'l', 'e', 'n', 'n', 'i', 'e', 'r', '.', 'i', 'n', 'f', 'o', '\0',
@@ -11416,16 +11394,17 @@ static const char kSTSHostTable[] = {
   /* "lfaz.org", true */ 'l', 'f', 'a', 'z', '.', 'o', 'r', 'g', '\0',
   /* "lfgss.com", true */ 'l', 'f', 'g', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "lgbt.io", true */ 'l', 'g', 'b', 't', '.', 'i', 'o', '\0',
   /* "lghfinancialstrategy.ch", true */ 'l', 'g', 'h', 'f', 'i', 'n', 'a', 'n', 'c', 'i', 'a', 'l', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '.', 'c', 'h', '\0',
   /* "lgsg.us", true */ 'l', 'g', 's', 'g', '.', 'u', 's', '\0',
   /* "lhasaapso.com.br", true */ 'l', 'h', 'a', 's', 'a', 'a', 'p', 's', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "li-ke.co.jp", true */ 'l', 'i', '-', 'k', 'e', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "liangji.com.tw", false */ 'l', 'i', 'a', 'n', 'g', 'j', 'i', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
+  /* "lianyexiuchang.in", true */ 'l', 'i', 'a', 'n', 'y', 'e', 'x', 'i', 'u', 'c', 'h', 'a', 'n', 'g', '.', 'i', 'n', '\0',
   /* "liaronce.win", true */ 'l', 'i', 'a', 'r', 'o', 'n', 'c', 'e', '.', 'w', 'i', 'n', '\0',
   /* "libbitcoin.org", true */ 'l', 'i', 'b', 'b', 'i', 't', 'c', 'o', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "libble.eu", true */ 'l', 'i', 'b', 'b', 'l', 'e', '.', 'e', 'u', '\0',
   /* "libertas-tech.com", true */ 'l', 'i', 'b', 'e', 'r', 't', 'a', 's', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "libfte.org", true */ 'l', 'i', 'b', 'f', 't', 'e', '.', 'o', 'r', 'g', '\0',
   /* "libnull.com", true */ 'l', 'i', 'b', 'n', 'u', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "library-quest.com", true */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', '-', 'q', 'u', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "libraryextension.com", true */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
@@ -11576,16 +11555,18 @@ static const char kSTSHostTable[] = {
   /* "litevault.net", true */ 'l', 'i', 't', 'e', 'v', 'a', 'u', 'l', 't', '.', 'n', 'e', 't', '\0',
   /* "litfin.name", true */ 'l', 'i', 't', 'f', 'i', 'n', '.', 'n', 'a', 'm', 'e', '\0',
   /* "lithan.com", true */ 'l', 'i', 't', 'h', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "lithesalar.se", true */ 'l', 'i', 't', 'h', 'e', 's', 'a', 'l', 'a', 'r', '.', 's', 'e', '\0',
   /* "littlefreelibrary.org", true */ 'l', 'i', 't', 't', 'l', 'e', 'f', 'r', 'e', 'e', 'l', 'i', 'b', 'r', 'a', 'r', 'y', '.', 'o', 'r', 'g', '\0',
   /* "littleswitch.co.jp", true */ 'l', 'i', 't', 't', 'l', 'e', 's', 'w', 'i', 't', 'c', 'h', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "littlewatcher.com", true */ 'l', 'i', 't', 't', 'l', 'e', 'w', 'a', 't', 'c', 'h', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "litvideoserver.de", true */ 'l', 'i', 't', 'v', 'i', 'd', 'e', 'o', 's', 'e', 'r', 'v', 'e', 'r', '.', 'd', 'e', '\0',
+  /* "litz.ca", true */ 'l', 'i', 't', 'z', '.', 'c', 'a', '\0',
+  /* "litzenberger.ca", true */ 'l', 'i', 't', 'z', 'e', 'n', 'b', 'e', 'r', 'g', 'e', 'r', '.', 'c', 'a', '\0',
   /* "liuboznaiko.eu", true */ 'l', 'i', 'u', 'b', 'o', 'z', 'n', 'a', 'i', 'k', 'o', '.', 'e', 'u', '\0',
   /* "liud.im", true */ 'l', 'i', 'u', 'd', '.', 'i', 'm', '\0',
   /* "liudon.org", true */ 'l', 'i', 'u', 'd', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "liujunyang.com", true */ 'l', 'i', 'u', 'j', 'u', 'n', 'y', 'a', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "liukang.tech", true */ 'l', 'i', 'u', 'k', 'a', 'n', 'g', '.', 't', 'e', 'c', 'h', '\0',
   /* "liushuyu.tk", true */ 'l', 'i', 'u', 's', 'h', 'u', 'y', 'u', '.', 't', 'k', '\0',
   /* "liv3ly.com", true */ 'l', 'i', 'v', '3', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "livecards.co.uk", true */ 'l', 'i', 'v', 'e', 'c', 'a', 'r', 'd', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -11693,16 +11674,17 @@ static const char kSTSHostTable[] = {
   /* "lojj.pt", true */ 'l', 'o', 'j', 'j', '.', 'p', 't', '\0',
   /* "lokaal.org", true */ 'l', 'o', 'k', 'a', 'a', 'l', '.', 'o', 'r', 'g', '\0',
   /* "loli.bz", true */ 'l', 'o', 'l', 'i', '.', 'b', 'z', '\0',
   /* "loli.pet", true */ 'l', 'o', 'l', 'i', '.', 'p', 'e', 't', '\0',
   /* "loli.world", true */ 'l', 'o', 'l', 'i', '.', 'w', 'o', 'r', 'l', 'd', '\0',
   /* "lolicon.eu", true */ 'l', 'o', 'l', 'i', 'c', 'o', 'n', '.', 'e', 'u', '\0',
   /* "lolicon.info", true */ 'l', 'o', 'l', 'i', 'c', 'o', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "lolkot.ru", true */ 'l', 'o', 'l', 'k', 'o', 't', '.', 'r', 'u', '\0',
+  /* "lolmegafroi.de", true */ 'l', 'o', 'l', 'm', 'e', 'g', 'a', 'f', 'r', 'o', 'i', '.', 'd', 'e', '\0',
   /* "lolpatrol.de", true */ 'l', 'o', 'l', 'p', 'a', 't', 'r', 'o', 'l', '.', 'd', 'e', '\0',
   /* "lolpatrol.wtf", true */ 'l', 'o', 'l', 'p', 'a', 't', 'r', 'o', 'l', '.', 'w', 't', 'f', '\0',
   /* "lona.io", true */ 'l', 'o', 'n', 'a', '.', 'i', 'o', '\0',
   /* "lonal.com", true */ 'l', 'o', 'n', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "lonasdigital.com", true */ 'l', 'o', 'n', 'a', 's', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "london.dating", true */ 'l', 'o', 'n', 'd', 'o', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "londongynaecologist.co", true */ 'l', 'o', 'n', 'd', 'o', 'n', 'g', 'y', 'n', 'a', 'e', 'c', 'o', 'l', 'o', 'g', 'i', 's', 't', '.', 'c', 'o', '\0',
   /* "londonkeyholdingcompany.co.uk", true */ 'l', 'o', 'n', 'd', 'o', 'n', 'k', 'e', 'y', 'h', 'o', 'l', 'd', 'i', 'n', 'g', 'c', 'o', 'm', 'p', 'a', 'n', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -12155,22 +12137,24 @@ static const char kSTSHostTable[] = {
   /* "mareklecian.cz", true */ 'm', 'a', 'r', 'e', 'k', 'l', 'e', 'c', 'i', 'a', 'n', '.', 'c', 'z', '\0',
   /* "margagriesser.de", true */ 'm', 'a', 'r', 'g', 'a', 'g', 'r', 'i', 'e', 's', 's', 'e', 'r', '.', 'd', 'e', '\0',
   /* "margan.ch", true */ 'm', 'a', 'r', 'g', 'a', 'n', '.', 'c', 'h', '\0',
   /* "margecommunication.com", true */ 'm', 'a', 'r', 'g', 'e', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 'c', 'a', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "marialempke.com", true */ 'm', 'a', 'r', 'i', 'a', 'l', 'e', 'm', 'p', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "marianatherapy.com", true */ 'm', 'a', 'r', 'i', 'a', 'n', 'a', 't', 'h', 'e', 'r', 'a', 'p', 'y', '.', 'c', 'o', 'm', '\0',
   /* "mariannenan.nl", true */ 'm', 'a', 'r', 'i', 'a', 'n', 'n', 'e', 'n', 'a', 'n', '.', 'n', 'l', '\0',
   /* "mariaolesen.dk", true */ 'm', 'a', 'r', 'i', 'a', 'o', 'l', 'e', 's', 'e', 'n', '.', 'd', 'k', '\0',
+  /* "marie.club", true */ 'm', 'a', 'r', 'i', 'e', '.', 'c', 'l', 'u', 'b', '\0',
   /* "mariehane.com", true */ 'm', 'a', 'r', 'i', 'e', 'h', 'a', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mariemiramont.fr", true */ 'm', 'a', 'r', 'i', 'e', 'm', 'i', 'r', 'a', 'm', 'o', 'n', 't', '.', 'f', 'r', '\0',
   /* "marienschule-sundern.de", true */ 'm', 'a', 'r', 'i', 'e', 'n', 's', 'c', 'h', 'u', 'l', 'e', '-', 's', 'u', 'n', 'd', 'e', 'r', 'n', '.', 'd', 'e', '\0',
   /* "marikafranke.de", true */ 'm', 'a', 'r', 'i', 'k', 'a', 'f', 'r', 'a', 'n', 'k', 'e', '.', 'd', 'e', '\0',
   /* "marilsnijders.nl", true */ 'm', 'a', 'r', 'i', 'l', 's', 'n', 'i', 'j', 'd', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "marilynstreats.com", true */ 'm', 'a', 'r', 'i', 'l', 'y', 'n', 's', 't', 'r', 'e', 'a', 't', 's', '.', 'c', 'o', 'm', '\0',
+  /* "marinazarza.es", true */ 'm', 'a', 'r', 'i', 'n', 'a', 'z', 'a', 'r', 'z', 'a', '.', 'e', 's', '\0',
   /* "marine.gov", true */ 'm', 'a', 'r', 'i', 'n', 'e', '.', 'g', 'o', 'v', '\0',
   /* "marinela.com.mx", true */ 'm', 'a', 'r', 'i', 'n', 'e', 'l', 'a', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0',
   /* "marinelausa.com", true */ 'm', 'a', 'r', 'i', 'n', 'e', 'l', 'a', 'u', 's', 'a', '.', 'c', 'o', 'm', '\0',
   /* "marines-shop.com", true */ 'm', 'a', 'r', 'i', 'n', 'e', 's', '-', 's', 'h', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "mariposah.ch", true */ 'm', 'a', 'r', 'i', 'p', 'o', 's', 'a', 'h', '.', 'c', 'h', '\0',
   /* "mariushubatschek.de", true */ 'm', 'a', 'r', 'i', 'u', 's', 'h', 'u', 'b', 'a', 't', 's', 'c', 'h', 'e', 'k', '.', 'd', 'e', '\0',
   /* "mariviolin.com", true */ 'm', 'a', 'r', 'i', 'v', 'i', 'o', 'l', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "marix.ro", true */ 'm', 'a', 'r', 'i', 'x', '.', 'r', 'o', '\0',
@@ -12285,16 +12269,17 @@ static const char kSTSHostTable[] = {
   /* "materialism.com", true */ 'm', 'a', 't', 'e', 'r', 'i', 'a', 'l', 'i', 's', 'm', '.', 'c', 'o', 'm', '\0',
   /* "maternum.com", true */ 'm', 'a', 't', 'e', 'r', 'n', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "mateusmeyer.com.br", true */ 'm', 'a', 't', 'e', 'u', 's', 'm', 'e', 'y', 'e', 'r', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "mathembedded.com", true */ 'm', 'a', 't', 'h', 'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "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',
   /* "mathspace.co", true */ 'm', 'a', 't', 'h', 's', 'p', 'a', 'c', 'e', '.', 'c', 'o', '\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',
   /* "matrixmedia.ro", true */ 'm', 'a', 't', 'r', 'i', 'x', 'm', 'e', 'd', 'i', 'a', '.', 'r', 'o', '\0',
   /* "matt.tf", true */ 'm', 'a', 't', 't', '.', 't', 'f', '\0',
   /* "mattandyana.com", true */ 'm', 'a', 't', 't', 'a', 'n', 'd', 'y', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mattcarr.net", false */ 'm', 'a', 't', 't', 'c', 'a', 'r', 'r', '.', 'n', 'e', 't', '\0',
@@ -12422,17 +12407,16 @@ static const char kSTSHostTable[] = {
   /* "mcynews.com", true */ 'm', 'c', 'y', 'n', 'e', 'w', 's', '.', 'c', 'o', 'm', '\0',
   /* "mcyukon.com", true */ 'm', 'c', 'y', 'u', 'k', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "md5file.com", true */ 'm', 'd', '5', 'f', 'i', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "md5hashing.net", true */ 'm', 'd', '5', 'h', 'a', 's', 'h', 'i', 'n', 'g', '.', 'n', 'e', 't', '\0',
   /* "mdcloudpracticesolutions.com", true */ 'm', 'd', 'c', 'l', 'o', 'u', 'd', 'p', 'r', 'a', 'c', 't', 'i', 'c', 'e', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "mdcloudps.com", true */ 'm', 'd', 'c', 'l', 'o', 'u', 'd', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "mdek.at", true */ 'm', 'd', 'e', 'k', '.', 'a', 't', '\0',
   /* "mdewendt.de", true */ 'm', 'd', 'e', 'w', 'e', 'n', 'd', 't', '.', 'd', 'e', '\0',
-  /* "mdkr.nl", true */ 'm', 'd', 'k', 'r', '.', 'n', 'l', '\0',
   /* "mdma.net", true */ 'm', 'd', 'm', 'a', '.', 'n', 'e', 't', '\0',
   /* "mdmed.clinic", true */ 'm', 'd', 'm', 'e', 'd', '.', 'c', 'l', 'i', 'n', 'i', 'c', '\0',
   /* "mdns.eu", true */ 'm', 'd', 'n', 's', '.', 'e', 'u', '\0',
   /* "mdosch.de", true */ 'm', 'd', 'o', 's', 'c', 'h', '.', 'd', 'e', '\0',
   /* "mdpraha.cz", true */ 'm', 'd', 'p', 'r', 'a', 'h', 'a', '.', 'c', 'z', '\0',
   /* "mdwftw.com", true */ 'm', 'd', 'w', 'f', 't', 'w', '.', 'c', 'o', 'm', '\0',
   /* "mdx.no", true */ 'm', 'd', 'x', '.', 'n', 'o', '\0',
   /* "mdxn.org", true */ 'm', 'd', 'x', 'n', '.', 'o', 'r', 'g', '\0',
@@ -12634,16 +12618,17 @@ static const char kSTSHostTable[] = {
   /* "meulike.us", true */ 'm', 'e', 'u', 'l', 'i', 'k', 'e', '.', 'u', 's', '\0',
   /* "meusigno.com", true */ 'm', 'e', 'u', 's', 'i', 'g', 'n', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mevo.xyz", true */ 'm', 'e', 'v', 'o', '.', 'x', 'y', 'z', '\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',
   /* "mfiles.pl", true */ 'm', 'f', 'i', 'l', 'e', 's', '.', 'p', 'l', '\0',
   /* "mflodin.se", true */ 'm', 'f', 'l', 'o', 'd', 'i', 'n', '.', 's', 'e', '\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", false */ 'm', 'g', 'h', 'i', 'o', 'r', 'z', 'i', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "mgknet.com", true */ 'm', 'g', 'k', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "mgrossklaus.de", true */ 'm', 'g', 'r', 'o', 's', 's', 'k', 'l', 'a', 'u', 's', '.', 'd', 'e', '\0',
   /* "mgrt.net", true */ 'm', 'g', 'r', 't', '.', 'n', 'e', 't', '\0',
@@ -12898,16 +12883,17 @@ static const char kSTSHostTable[] = {
   /* "mjcaffarattilaw.com", true */ 'm', 'j', 'c', 'a', 'f', 'f', 'a', 'r', 'a', 't', 't', 'i', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "mjec.net", true */ 'm', 'j', 'e', 'c', '.', 'n', 'e', 't', '\0',
   /* "mjhsc.nl", true */ 'm', 'j', 'h', 's', 'c', '.', 'n', 'l', '\0',
   /* "mjlaurindo.pt", true */ 'm', 'j', 'l', 'a', 'u', 'r', 'i', 'n', 'd', 'o', '.', 'p', 't', '\0',
   /* "mk89.de", true */ 'm', 'k', '8', '9', '.', 'd', 'e', '\0',
   /* "mkaciuba.com", true */ 'm', 'k', 'a', 'c', 'i', 'u', 'b', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mkakh.com", true */ 'm', 'k', 'a', 'k', 'h', '.', 'c', 'o', 'm', '\0',
   /* "mkasu.org", true */ 'm', 'k', 'a', 's', 'u', '.', 'o', 'r', 'g', '\0',
+  /* "mkcert.org", true */ 'm', 'k', 'c', 'e', 'r', 't', '.', 'o', 'r', 'g', '\0',
   /* "mkes.com", true */ 'm', 'k', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "mkfs.fr", true */ 'm', 'k', 'f', 's', '.', 'f', 'r', '\0',
   /* "mkimage.com", true */ 'm', 'k', 'i', 'm', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mkoppmann.at", true */ 'm', 'k', 'o', 'p', 'p', 'm', 'a', 'n', 'n', '.', 'a', 't', '\0',
   /* "mkp-deutschland.de", true */ 'm', 'k', 'p', '-', 'd', 'e', 'u', 't', 's', 'c', 'h', 'l', 'a', 'n', 'd', '.', 'd', 'e', '\0',
   /* "mkpef.org", true */ 'm', 'k', 'p', 'e', 'f', '.', 'o', 'r', 'g', '\0',
   /* "mkse.com", true */ 'm', 'k', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mktdigital.info", true */ 'm', 'k', 't', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'i', 'n', 'f', 'o', '\0',
@@ -13128,27 +13114,29 @@ static const char kSTSHostTable[] = {
   /* "movie-cross.net", true */ 'm', 'o', 'v', 'i', 'e', '-', 'c', 'r', 'o', 's', 's', '.', 'n', 'e', 't', '\0',
   /* "movie4kto.site", true */ 'm', 'o', 'v', 'i', 'e', '4', 'k', 't', 'o', '.', 's', 'i', 't', 'e', '\0',
   /* "moviedollars.com", true */ 'm', 'o', 'v', 'i', 'e', 'd', 'o', 'l', 'l', 'a', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "moviepilot.com", true */ 'm', 'o', 'v', 'i', 'e', 'p', 'i', 'l', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "movinglogistics.nl", false */ 'm', 'o', 'v', 'i', 'n', 'g', 'l', 'o', 'g', 'i', 's', 't', 'i', 'c', 's', '.', 'n', 'l', '\0',
   /* "movingoklahoma.org", true */ 'm', 'o', 'v', 'i', 'n', 'g', 'o', 'k', 'l', 'a', 'h', 'o', 'm', 'a', '.', 'o', 'r', 'g', '\0',
   /* "movingtohttps.com", true */ 'm', 'o', 'v', 'i', 'n', 'g', 't', 'o', 'h', 't', 't', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "movlib.org", true */ 'm', 'o', 'v', 'l', 'i', 'b', '.', 'o', 'r', 'g', '\0',
+  /* "moy.cat", true */ 'm', 'o', 'y', '.', 'c', 'a', 't', '\0',
   /* "moyer.pub", true */ 'm', 'o', 'y', 'e', 'r', '.', 'p', 'u', 'b', '\0',
   /* "moylen.eu", true */ 'm', 'o', 'y', 'l', 'e', 'n', '.', 'e', 'u', '\0',
   /* "moyoo.net", true */ 'm', 'o', 'y', 'o', 'o', '.', 'n', 'e', 't', '\0',
   /* "mozilla.cz", true */ 'm', 'o', 'z', 'i', 'l', 'l', 'a', '.', 'c', 'z', '\0',
   /* "mozillians.org", true */ 'm', 'o', 'z', 'i', 'l', 'l', 'i', 'a', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "mozoa.net", true */ 'm', 'o', 'z', 'o', 'a', '.', 'n', 'e', 't', '\0',
   /* "mozzez.de", true */ 'm', 'o', 'z', 'z', 'e', 'z', '.', 'd', 'e', '\0',
   /* "mozzilla.cz", true */ 'm', 'o', 'z', 'z', 'i', 'l', 'l', 'a', '.', 'c', 'z', '\0',
   /* "mp3gratuiti.com", true */ 'm', 'p', '3', 'g', 'r', 'a', 't', 'u', 'i', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "mpc-hc.org", true */ 'm', 'p', 'c', '-', 'h', 'c', '.', 'o', 'r', 'g', '\0',
   /* "mpcompliance.com", true */ 'm', 'p', 'c', 'o', 'm', 'p', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "mpe.org", true */ 'm', 'p', 'e', '.', 'o', 'r', 'g', '\0',
   /* "mpetroff.net", true */ 'm', 'p', 'e', 't', 'r', 'o', 'f', 'f', '.', 'n', 'e', 't', '\0',
   /* "mpg.ovh", true */ 'm', 'p', 'g', '.', 'o', 'v', 'h', '\0',
   /* "mpkossen.com", true */ 'm', 'p', 'k', 'o', 's', 's', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "mplanetphl.fr", true */ 'm', 'p', 'l', 'a', 'n', 'e', 't', 'p', 'h', 'l', '.', 'f', 'r', '\0',
   /* "mplant.io", true */ 'm', 'p', 'l', 'a', 'n', 't', '.', 'i', 'o', '\0',
   /* "mplicka.cz", true */ 'm', 'p', 'l', 'i', 'c', 'k', 'a', '.', 'c', 'z', '\0',
   /* "mplusm.eu", true */ 'm', 'p', 'l', 'u', 's', 'm', '.', 'e', 'u', '\0',
   /* "mpreserver.com", false */ 'm', 'p', 'r', 'e', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -13250,17 +13238,16 @@ static const char kSTSHostTable[] = {
   /* "murgi.de", true */ 'm', 'u', 'r', 'g', 'i', '.', 'd', 'e', '\0',
   /* "murraycoin.org", true */ 'm', 'u', 'r', 'r', 'a', 'y', 'c', 'o', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "mursu.directory", true */ 'm', 'u', 'r', 's', 'u', '.', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0',
   /* "murz.tv", true */ 'm', 'u', 'r', 'z', '.', 't', 'v', '\0',
   /* "muscleangels.com", true */ 'm', 'u', 's', 'c', 'l', 'e', 'a', 'n', 'g', 'e', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "muscolinomusic.com", true */ 'm', 'u', 's', 'c', 'o', 'l', 'i', 'n', 'o', 'm', 'u', 's', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "musehelix.com", true */ 'm', 'u', 's', 'e', 'h', 'e', 'l', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "muses-success.info", true */ 'm', 'u', 's', 'e', 's', '-', 's', 'u', 'c', 'c', 'e', 's', 's', '.', 'i', 'n', 'f', 'o', '\0',
-  /* "musewearflipflops.com", true */ 'm', 'u', 's', 'e', 'w', 'e', 'a', 'r', 'f', 'l', 'i', 'p', 'f', 'l', 'o', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "mush-room.co.jp", true */ 'm', 'u', 's', 'h', '-', 'r', 'o', 'o', 'm', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "mushikabu.net", true */ 'm', 'u', 's', 'h', 'i', 'k', 'a', 'b', 'u', '.', 'n', 'e', 't', '\0',
   /* "musi.cx", true */ 'm', 'u', 's', 'i', '.', 'c', 'x', '\0',
   /* "music-project.eu", true */ 'm', 'u', 's', 'i', 'c', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'e', 'u', '\0',
   /* "music.amazon.com", true */ 'm', 'u', 's', 'i', 'c', '.', 'a', 'm', 'a', 'z', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "musicalive.nl", true */ 'm', 'u', 's', 'i', 'c', 'a', 'l', 'i', 'v', 'e', '.', 'n', 'l', '\0',
   /* "musicchris.de", true */ 'm', 'u', 's', 'i', 'c', 'c', 'h', 'r', 'i', 's', '.', 'd', 'e', '\0',
   /* "musicgamegalaxy.de", true */ 'm', 'u', 's', 'i', 'c', 'g', 'a', 'm', 'e', 'g', 'a', 'l', 'a', 'x', 'y', '.', 'd', 'e', '\0',
@@ -13357,17 +13344,16 @@ static const char kSTSHostTable[] = {
   /* "mygpsite.com", true */ 'm', 'y', 'g', 'p', 's', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mygreatjob.eu", true */ 'm', 'y', 'g', 'r', 'e', 'a', 't', 'j', 'o', 'b', '.', 'e', 'u', '\0',
   /* "mygreatjobs.de", true */ 'm', 'y', 'g', 'r', 'e', 'a', 't', 'j', 'o', 'b', 's', '.', 'd', 'e', '\0',
   /* "mygretchen.de", true */ 'm', 'y', 'g', 'r', 'e', 't', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0',
   /* "mygrotto.org", true */ 'm', 'y', 'g', 'r', 'o', 't', 't', 'o', '.', 'o', 'r', 'g', '\0',
   /* "mygymer.ch", true */ 'm', 'y', 'g', 'y', 'm', 'e', 'r', '.', 'c', 'h', '\0',
   /* "myhealthreviews.com", true */ 'm', 'y', 'h', 'e', 'a', 'l', 't', 'h', 'r', 'e', 'v', 'i', 'e', 'w', 's', '.', 'c', 'o', 'm', '\0',
   /* "myhostname.net", true */ 'm', 'y', 'h', 'o', 's', 't', 'n', 'a', 'm', 'e', '.', 'n', 'e', 't', '\0',
-  /* "myimds.com", true */ 'm', 'y', 'i', 'm', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "myimmitracker.com", true */ 'm', 'y', 'i', 'm', 'm', 'i', 't', 'r', 'a', 'c', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "myip.tech", true */ 'm', 'y', 'i', 'p', '.', 't', 'e', 'c', 'h', '\0',
   /* "myki.co", true */ 'm', 'y', 'k', 'i', '.', 'c', 'o', '\0',
   /* "mykontool.de", true */ 'm', 'y', 'k', 'o', 'n', 't', 'o', 'o', 'l', '.', 'd', 'e', '\0',
   /* "mylittlemoppet.com", true */ 'm', 'y', 'l', 'i', 't', 't', 'l', 'e', 'm', 'o', 'p', 'p', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "mylocalsearch.co.uk", true */ 'm', 'y', 'l', 'o', 'c', 'a', 'l', 's', 'e', 'a', 'r', 'c', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "mylookout.com", false */ 'm', 'y', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "mymed.de", true */ 'm', 'y', 'm', 'e', 'd', '.', 'd', 'e', '\0',
@@ -13455,16 +13441,17 @@ static const char kSTSHostTable[] = {
   /* "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", false */ 'n', '0', '0', '9', '9', '.', 'c', 'f', '\0',
   /* "n0paste.tk", false */ 'n', '0', 'p', 'a', 's', 't', 'e', '.', 't', 'k', '\0',
   /* "n2servers.com", true */ 'n', '2', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "n3twork.net", true */ 'n', '3', 't', 'w', 'o', 'r', 'k', '.', 'n', 'e', 't', '\0',
   /* "n6a.net", true */ 'n', '6', 'a', '.', 'n', 'e', 't', '\0',
+  /* "n8ch.net", true */ 'n', '8', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "naam.me", true */ 'n', 'a', 'a', 'm', '.', 'm', 'e', '\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',
   /* "nacktetatsachen.at", true */ 'n', 'a', 'c', 'k', 't', 'e', 't', 'a', 't', 's', 'a', 'c', 'h', 'e', 'n', '.', 'a', 't', '\0',
   /* "nacyklo.cz", true */ 'n', 'a', 'c', 'y', 'k', 'l', 'o', '.', 'c', 'z', '\0',
@@ -13531,17 +13518,16 @@ static const char kSTSHostTable[] = {
   /* "nasarawanewsonline.com", true */ 'n', 'a', 's', 'a', 'r', 'a', 'w', 'a', 'n', 'e', 'w', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "nascher.org", false */ 'n', 'a', 's', 'c', 'h', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "nasmocopati.com", true */ 'n', 'a', 's', 'm', 'o', 'c', 'o', 'p', 'a', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "nasralmabrooka.com", true */ 'n', 'a', 's', 'r', 'a', 'l', 'm', 'a', 'b', 'r', 'o', 'o', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "nasreddine.xyz", false */ 'n', 'a', 's', 'r', 'e', 'd', 'd', 'i', 'n', 'e', '.', 'x', 'y', 'z', '\0',
   /* "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',
   /* "nastoletni.pl", true */ 'n', 'a', 's', 't', 'o', 'l', 'e', 't', 'n', 'i', '.', 'p', 'l', '\0',
-  /* "nastysclaw.com", true */ 'n', 'a', 's', 't', 'y', 's', 'c', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "nataliedawnhanson.com", true */ 'n', 'a', 't', 'a', 'l', 'i', 'e', 'd', 'a', 'w', 'n', 'h', 'a', 'n', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "natalydanilova.com", true */ 'n', 'a', 't', 'a', 'l', 'y', 'd', 'a', 'n', 'i', 'l', 'o', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "natanaelys.com", true */ 'n', 'a', 't', 'a', 'n', 'a', 'e', 'l', 'y', 's', '.', 'c', 'o', 'm', '\0',
   /* "natatorium.org", true */ 'n', 'a', 't', 'a', 't', 'o', 'r', 'i', 'u', 'm', '.', 'o', 'r', 'g', '\0',
   /* "natecraun.net", true */ 'n', 'a', 't', 'e', 'c', 'r', 'a', 'u', 'n', '.', 'n', 'e', 't', '\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',
@@ -13621,16 +13607,17 @@ static const char kSTSHostTable[] = {
   /* "nedim-accueil.fr", true */ 'n', 'e', 'd', 'i', 'm', '-', 'a', 'c', 'c', 'u', 'e', 'i', 'l', '.', 'f', 'r', '\0',
   /* "nediyor.com", true */ 'n', 'e', 'd', 'i', 'y', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "nedraconsult.ru", true */ 'n', 'e', 'd', 'r', 'a', 'c', 'o', 'n', 's', 'u', 'l', 't', '.', 'r', 'u', '\0',
   /* "neecist.org", true */ 'n', 'e', 'e', 'c', 'i', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "neeerd.org", true */ 'n', 'e', 'e', 'e', 'r', 'd', '.', 'o', 'r', 'g', '\0',
   /* "neel.ch", true */ 'n', 'e', 'e', 'l', '.', 'c', 'h', '\0',
   /* "neels.ch", true */ 'n', 'e', 'e', 'l', 's', '.', 'c', 'h', '\0',
   /* "neemzy.org", true */ 'n', 'e', 'e', 'm', 'z', 'y', '.', 'o', 'r', 'g', '\0',
+  /* "neer.io", true */ 'n', 'e', 'e', 'r', '.', 'i', 'o', '\0',
   /* "neet-investor.biz", true */ 'n', 'e', 'e', 't', '-', 'i', 'n', 'v', 'e', 's', 't', 'o', 'r', '.', 'b', 'i', 'z', '\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',
   /* "negai.moe", true */ 'n', 'e', 'g', 'a', 'i', '.', 'm', 'o', 'e', '\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',
   /* "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',
@@ -13787,16 +13774,17 @@ static const char kSTSHostTable[] = {
   /* "newstone-tech.com", true */ 'n', 'e', 'w', 's', 't', 'o', 'n', 'e', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "newsyslog.org", true */ 'n', 'e', 'w', 's', 'y', 's', 'l', 'o', 'g', '.', 'o', 'r', 'g', '\0',
   /* "newtnote.com", true */ 'n', 'e', 'w', 't', 'n', 'o', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "newtonhaus.com", true */ 'n', 'e', 'w', 't', 'o', 'n', 'h', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "newtrackon.com", true */ 'n', 'e', 'w', 't', 'r', 'a', 'c', 'k', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "nex.sx", true */ 'n', 'e', 'x', '.', 's', 'x', '\0',
   /* "nexicafiles.com", true */ 'n', 'e', 'x', 'i', 'c', 'a', 'f', 'i', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "nexlab.org", true */ 'n', 'e', 'x', 'l', 'a', 'b', '.', 'o', 'r', 'g', '\0',
+  /* "next-log.ru", false */ 'n', 'e', 'x', 't', '-', 'l', 'o', 'g', '.', 'r', 'u', '\0',
   /* "next-taxi.ru", true */ 'n', 'e', 'x', 't', '-', 't', 'a', 'x', 'i', '.', 'r', 'u', '\0',
   /* "next176.sk", true */ 'n', 'e', 'x', 't', '1', '7', '6', '.', 's', 'k', '\0',
   /* "next24.io", true */ 'n', 'e', 'x', 't', '2', '4', '.', 'i', 'o', '\0',
   /* "next47.com", true */ 'n', 'e', 'x', 't', '4', '7', '.', 'c', 'o', 'm', '\0',
   /* "nextads.ch", true */ 'n', 'e', 'x', 't', 'a', 'd', 's', '.', 'c', 'h', '\0',
   /* "nextcairn.com", true */ 'n', 'e', 'x', 't', 'c', 'a', 'i', 'r', 'n', '.', 'c', 'o', 'm', '\0',
   /* "nextcloud.com", true */ 'n', 'e', 'x', 't', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "nextend.net", true */ 'n', 'e', 'x', 't', 'e', 'n', 'd', '.', 'n', 'e', 't', '\0',
@@ -13860,17 +13848,16 @@ static const char kSTSHostTable[] = {
   /* "niederohmig.de", true */ 'n', 'i', 'e', 'd', 'e', 'r', 'o', 'h', 'm', 'i', 'g', '.', 'd', 'e', '\0',
   /* "niedersetz.de", true */ 'n', 'i', 'e', 'd', 'e', 'r', 's', 'e', 't', 'z', '.', 'd', 'e', '\0',
   /* "niehage.name", true */ 'n', 'i', 'e', 'h', 'a', 'g', 'e', '.', 'n', 'a', 'm', 'e', '\0',
   /* "nien.cf", true */ 'n', 'i', 'e', 'n', '.', 'c', 'f', '\0',
   /* "nien.co", true */ 'n', 'i', 'e', 'n', '.', 'c', 'o', '\0',
   /* "nien.com", true */ 'n', 'i', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "nien.com.tw", true */ 'n', 'i', 'e', 'n', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "nien.eu.org", true */ 'n', 'i', 'e', 'n', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
-  /* "nien.org", true */ 'n', 'i', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "nien.taipei", true */ 'n', 'i', 'e', 'n', '.', 't', 'a', 'i', 'p', 'e', 'i', '\0',
   /* "nien.tk", true */ 'n', 'i', 'e', 'n', '.', 't', 'k', '\0',
   /* "nienfun.com", true */ 'n', 'i', 'e', 'n', 'f', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "nierenpraxis-dr-merkel.de", true */ 'n', 'i', 'e', 'r', 'e', 'n', 'p', 'r', 'a', 'x', 'i', 's', '-', 'd', 'r', '-', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'd', 'e', '\0',
   /* "nierenpraxis-merkel.de", true */ 'n', 'i', 'e', 'r', 'e', 'n', 'p', 'r', 'a', 'x', 'i', 's', '-', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'd', 'e', '\0',
   /* "nieselregen.com", false */ 'n', 'i', 'e', 's', 'e', 'l', 'r', 'e', 'g', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "nietzsche.com", true */ 'n', 'i', 'e', 't', 'z', 's', 'c', 'h', 'e', '.', 'c', 'o', 'm', '\0',
   /* "nieuwsoverijssel.nl", true */ 'n', 'i', 'e', 'u', 'w', 's', 'o', 'v', 'e', 'r', 'i', 'j', 's', 's', 'e', 'l', '.', 'n', 'l', '\0',
@@ -14036,17 +14023,16 @@ static const char kSTSHostTable[] = {
   /* "notarvysocina.cz", true */ 'n', 'o', 't', 'a', 'r', 'v', 'y', 's', 'o', 'c', 'i', 'n', 'a', '.', 'c', 'z', '\0',
   /* "notbolaget.se", true */ 'n', 'o', 't', 'b', 'o', 'l', 'a', 'g', 'e', 't', '.', 's', 'e', '\0',
   /* "notcompletelycorrect.com", true */ 'n', 'o', 't', 'c', 'o', 'm', 'p', 'l', 'e', 't', 'e', 'l', 'y', 'c', 'o', 'r', 'r', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "note7forever.com", true */ 'n', 'o', 't', 'e', '7', 'f', 'o', 'r', 'e', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "notesforpebble.com", true */ 'n', 'o', 't', 'e', 's', 'f', 'o', 'r', 'p', 'e', 'b', 'b', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "noticia.do", true */ 'n', 'o', 't', 'i', 'c', 'i', 'a', '.', 'd', 'o', '\0',
   /* "noticiasdehumor.com", true */ 'n', 'o', 't', 'i', 'c', 'i', 'a', 's', 'd', 'e', 'h', 'u', 'm', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "notificami.com", true */ 'n', 'o', 't', 'i', 'f', 'i', 'c', 'a', 'm', 'i', '.', 'c', 'o', 'm', '\0',
-  /* "notify.moe", true */ 'n', 'o', 't', 'i', 'f', 'y', '.', 'm', 'o', 'e', '\0',
   /* "notinglife.com", true */ 'n', 'o', 't', 'i', 'n', 'g', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "notjustbitchy.com", true */ 'n', 'o', 't', 'j', 'u', 's', 't', 'b', 'i', 't', 'c', 'h', 'y', '.', 'c', 'o', 'm', '\0',
   /* "notjustvacs.com", true */ 'n', 'o', 't', 'j', 'u', 's', 't', 'v', 'a', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "notnize.net", true */ 'n', 'o', 't', 'n', 'i', 'z', 'e', '.', 'n', 'e', 't', '\0',
   /* "notnl.com", true */ 'n', 'o', 't', 'n', 'l', '.', 'c', 'o', 'm', '\0',
   /* "notoriousdev.com", true */ 'n', 'o', 't', 'o', 'r', 'i', 'o', 'u', 's', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "notrecourrier.net", true */ 'n', 'o', 't', 'r', 'e', 'c', 'o', 'u', 'r', 'r', 'i', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "nottres.com", true */ 'n', 'o', 't', 't', 'r', 'e', 's', '.', 'c', 'o', 'm', '\0',
@@ -14220,17 +14206,16 @@ static const char kSTSHostTable[] = {
   /* "ockendenhemming.co.uk", true */ 'o', 'c', 'k', 'e', 'n', 'd', 'e', 'n', 'h', 'e', 'm', 'm', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ocloud.fr", true */ 'o', 'c', 'l', 'o', 'u', 'd', '.', 'f', 'r', '\0',
   /* "ocolere.ch", true */ 'o', 'c', 'o', 'l', 'e', 'r', 'e', '.', 'c', 'h', '\0',
   /* "ocotg.com", true */ 'o', 'c', 'o', 't', 'g', '.', 'c', 'o', 'm', '\0',
   /* "ocrami.us", true */ 'o', 'c', 'r', 'a', 'm', 'i', '.', 'u', 's', '\0',
   /* "ocsigroup.fr", true */ 'o', 'c', 's', 'i', 'g', 'r', 'o', 'u', 'p', '.', 'f', 'r', '\0',
   /* "octanio.com", true */ 'o', 'c', 't', 'a', 'n', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "octav.name", false */ 'o', 'c', 't', 'a', 'v', '.', 'n', 'a', 'm', 'e', '\0',
-  /* "octocat.ninja", true */ 'o', 'c', 't', 'o', 'c', 'a', 't', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "octod.tk", true */ 'o', 'c', 't', 'o', 'd', '.', 't', 'k', '\0',
   /* "octofox.de", true */ 'o', 'c', 't', 'o', 'f', 'o', 'x', '.', 'd', 'e', '\0',
   /* "octolopagon.games", true */ 'o', 'c', 't', 'o', 'l', 'o', 'p', 'a', 'g', 'o', 'n', '.', 'g', 'a', 'm', 'e', 's', '\0',
   /* "octopus-agents.com", true */ 'o', 'c', 't', 'o', 'p', 'u', 's', '-', 'a', 'g', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "octothorpe.club", true */ 'o', 'c', 't', 'o', 't', 'h', 'o', 'r', 'p', 'e', '.', 'c', 'l', 'u', 'b', '\0',
   /* "oddmouse.com", true */ 'o', 'd', 'd', 'm', 'o', 'u', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "oddnumber.ca", true */ 'o', 'd', 'd', 'n', 'u', 'm', 'b', 'e', 'r', '.', 'c', 'a', '\0',
   /* "oddsandevens.ca", true */ 'o', 'd', 'd', 's', 'a', 'n', 'd', 'e', 'v', 'e', 'n', 's', '.', 'c', 'a', '\0',
@@ -14287,16 +14272,17 @@ static const char kSTSHostTable[] = {
   /* "okad-center.de", true */ 'o', 'k', 'a', 'd', '-', 'c', 'e', 'n', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "okad.de", true */ 'o', 'k', 'a', 'd', '.', 'd', 'e', '\0',
   /* "okad.eu", true */ 'o', 'k', 'a', 'd', '.', 'e', 'u', '\0',
   /* "okay.coffee", true */ 'o', 'k', 'a', 'y', '.', 'c', 'o', 'f', 'f', 'e', 'e', '\0',
   /* "okaz.de", true */ 'o', 'k', 'a', 'z', '.', 'd', 'e', '\0',
   /* "okburrito.com", true */ 'o', 'k', 'b', 'u', 'r', 'r', 'i', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "okchicas.com", true */ 'o', 'k', 'c', 'h', 'i', 'c', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "oke.com.tw", false */ 'o', 'k', 'e', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
+  /* "okhrana.agency", true */ 'o', 'k', 'h', 'r', 'a', 'n', 'a', '.', 'a', 'g', 'e', 'n', 'c', 'y', '\0',
   /* "oklahomamoversassociation.org", true */ 'o', 'k', 'l', 'a', 'h', 'o', 'm', 'a', 'm', 'o', 'v', 'e', 'r', 's', 'a', 's', 's', 'o', 'c', 'i', 'a', 't', 'i', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "oklahomatickets.com", true */ 'o', 'k', 'l', 'a', 'h', 'o', 'm', 'a', 't', 'i', 'c', 'k', 'e', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "okmx.de", false */ 'o', 'k', 'm', 'x', '.', 'd', 'e', '\0',
   /* "okonetwork.org.uk", true */ 'o', 'k', 'o', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "oktime.cz", true */ 'o', 'k', 't', 'i', 'm', 'e', '.', 'c', 'z', '\0',
   /* "oktoberfeststore.nl", true */ 'o', 'k', 't', 'o', 'b', 'e', 'r', 'f', 'e', 's', 't', 's', 't', 'o', 'r', 'e', '.', 'n', 'l', '\0',
   /* "okusiassociates.com", true */ 'o', 'k', 'u', 's', 'i', 'a', 's', 's', 'o', 'c', 'i', 'a', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "olafnorge.de", false */ 'o', 'l', 'a', 'f', 'n', 'o', 'r', 'g', 'e', '.', 'd', 'e', '\0',
@@ -14589,16 +14575,17 @@ static const char kSTSHostTable[] = {
   /* "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',
   /* "ouimoove.com", true */ 'o', 'u', 'i', 'm', 'o', 'o', 'v', 'e', '.', 'c', 'o', 'm', '\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',
   /* "ourchoice2016.com", true */ 'o', 'u', 'r', 'c', 'h', 'o', 'i', 'c', 'e', '2', '0', '1', '6', '.', 'c', 'o', 'm', '\0',
   /* "ourcloud.at", true */ 'o', 'u', 'r', 'c', 'l', 'o', 'u', 'd', '.', 'a', 't', '\0',
   /* "ourcodinglives.com", true */ 'o', 'u', 'r', 'c', 'o', 'd', 'i', 'n', 'g', 'l', 'i', 'v', 'e', 's', '.', 'c', 'o', 'm', '\0',
+  /* "ourevents.net", true */ 'o', 'u', 'r', 'e', 'v', 'e', 'n', 't', 's', '.', 'n', 'e', 't', '\0',
   /* "ourwedding.xyz", true */ 'o', 'u', 'r', 'w', 'e', 'd', 'd', 'i', 'n', 'g', '.', 'x', 'y', 'z', '\0',
   /* "outdoorfurniture.ie", true */ 'o', 'u', 't', 'd', 'o', 'o', 'r', 'f', 'u', 'r', 'n', 'i', 't', 'u', 'r', 'e', '.', 'i', 'e', '\0',
   /* "outerlimitsdigital.com", true */ 'o', 'u', 't', 'e', 'r', 'l', 'i', 'm', 'i', 't', 's', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "outgress.com", true */ 'o', 'u', 't', 'g', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "outka.xyz", true */ 'o', 'u', 't', 'k', 'a', '.', 'x', 'y', 'z', '\0',
   /* "outline.ski", true */ 'o', 'u', 't', 'l', 'i', 'n', 'e', '.', 's', 'k', 'i', '\0',
   /* "outlookonthedesktop.com", true */ 'o', 'u', 't', 'l', 'o', 'o', 'k', 'o', 'n', 't', 'h', 'e', 'd', 'e', 's', 'k', 't', 'o', 'p', '.', 'c', 'o', 'm', '\0',
   /* "outofcontrol.ca", true */ 'o', 'u', 't', 'o', 'f', 'c', 'o', 'n', 't', 'r', 'o', 'l', '.', 'c', 'a', '\0',
@@ -14983,17 +14970,16 @@ static const char kSTSHostTable[] = {
   /* "perfectseourl.com", true */ 'p', 'e', 'r', 'f', 'e', 'c', 't', 's', 'e', 'o', 'u', 'r', 'l', '.', 'c', 'o', 'm', '\0',
   /* "perfektesgewicht.com", true */ 'p', 'e', 'r', 'f', 'e', 'k', 't', 'e', 's', 'g', 'e', 'w', 'i', 'c', 'h', 't', '.', 'c', 'o', 'm', '\0',
   /* "perfektesgewicht.de", true */ 'p', 'e', 'r', 'f', 'e', 'k', 't', 'e', 's', 'g', 'e', 'w', 'i', 'c', 'h', 't', '.', 'd', 'e', '\0',
   /* "performancesantafe.org", true */ 'p', 'e', 'r', 'f', 'o', 'r', 'm', 'a', 'n', 'c', 'e', 's', 'a', 'n', 't', 'a', 'f', 'e', '.', 'o', 'r', 'g', '\0',
   /* "performetric.net", true */ 'p', 'e', 'r', 'f', 'o', 'r', 'm', 'e', 't', 'r', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "perfumeaz.com", true */ 'p', 'e', 'r', 'f', 'u', 'm', 'e', 'a', 'z', '.', 'c', 'o', 'm', '\0',
   /* "perfumes.com.br", true */ 'p', 'e', 'r', 'f', 'u', 'm', 'e', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "periscope.tv", true */ 'p', 'e', 'r', 'i', 's', 'c', 'o', 'p', 'e', '.', 't', 'v', '\0',
-  /* "periscopeliveweb.com", true */ 'p', 'e', 'r', 'i', 's', 'c', 'o', 'p', 'e', 'l', 'i', 'v', 'e', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "perishablepress.com", true */ 'p', 'e', 'r', 'i', 's', 'h', 'a', 'b', 'l', 'e', 'p', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "perkbrian.com", true */ 'p', 'e', 'r', 'k', 'b', 'r', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "perm4.com", true */ 'p', 'e', 'r', 'm', '4', '.', 'c', 'o', 'm', '\0',
   /* "pernatie.ru", true */ 'p', 'e', 'r', 'n', 'a', 't', 'i', 'e', '.', 'r', 'u', '\0',
   /* "perniciousgames.com", true */ 'p', 'e', 'r', 'n', 'i', 'c', 'i', 'o', 'u', 's', 'g', 'a', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "peromsik.com", true */ 'p', 'e', 'r', 'o', 'm', 's', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "perot.me", true */ 'p', 'e', 'r', 'o', 't', '.', 'm', 'e', '\0',
   /* "personal-genome.com", true */ 'p', 'e', 'r', 's', 'o', 'n', 'a', 'l', '-', 'g', 'e', 'n', 'o', 'm', 'e', '.', 'c', 'o', 'm', '\0',
@@ -15205,16 +15191,17 @@ static const char kSTSHostTable[] = {
   /* "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',
   /* "pinklecfest.org", true */ 'p', 'i', 'n', 'k', 'l', 'e', 'c', 'f', 'e', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "pinkyf.com", true */ 'p', 'i', 'n', 'k', 'y', 'f', '.', 'c', 'o', 'm', '\0',
   /* "pinnaclelife.co.nz", true */ 'p', 'i', 'n', 'n', 'a', 'c', 'l', 'e', 'l', 'i', 'f', 'e', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "pinnaclelife.nz", true */ 'p', 'i', 'n', 'n', 'a', 'c', 'l', 'e', 'l', 'i', 'f', 'e', '.', 'n', 'z', '\0',
+  /* "pinoyonlinetv.com", true */ 'p', 'i', 'n', 'o', 'y', 'o', 'n', 'l', 'i', 'n', 'e', 't', 'v', '.', 'c', 'o', 'm', '\0',
   /* "pinpayments.com", true */ 'p', 'i', 'n', 'p', 'a', 'y', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "pinpointengineer.co.uk", true */ 'p', 'i', 'n', 'p', 'o', 'i', 'n', 't', 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "pinscher.com.br", true */ 'p', 'i', 'n', 's', 'c', 'h', 'e', 'r', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "pinterest.com", true */ 'p', 'i', 'n', 't', 'e', 'r', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "pipenny.net", true */ 'p', 'i', 'p', 'e', 'n', 'n', 'y', '.', 'n', 'e', 't', '\0',
   /* "pir9.com", true */ 'p', 'i', 'r', '9', '.', 'c', 'o', 'm', '\0',
   /* "piranil.com", true */ 'p', 'i', 'r', 'a', 'n', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "pirate.trade", true */ 'p', 'i', 'r', 'a', 't', 'e', '.', 't', 'r', 'a', 'd', 'e', '\0',
@@ -15224,16 +15211,17 @@ static const char kSTSHostTable[] = {
   /* "pirateproxy.one", true */ 'p', 'i', 'r', 'a', 't', 'e', 'p', 'r', 'o', 'x', 'y', '.', 'o', 'n', 'e', '\0',
   /* "pirateproxy.pl", true */ 'p', 'i', 'r', 'a', 't', 'e', 'p', 'r', 'o', 'x', 'y', '.', 'p', 'l', '\0',
   /* "pirateproxy.pw", true */ 'p', 'i', 'r', 'a', 't', 'e', 'p', 'r', 'o', 'x', 'y', '.', 'p', 'w', '\0',
   /* "pirateproxy.red", true */ 'p', 'i', 'r', 'a', 't', 'e', 'p', 'r', 'o', 'x', 'y', '.', 'r', 'e', 'd', '\0',
   /* "pirateproxy.tf", true */ 'p', 'i', 'r', 'a', 't', 'e', 'p', 'r', 'o', 'x', 'y', '.', 't', 'f', '\0',
   /* "pirateproxy.tv", true */ 'p', 'i', 'r', 'a', 't', 'e', 'p', 'r', 'o', 'x', 'y', '.', 't', 'v', '\0',
   /* "piratesforums.co", true */ 'p', 'i', 'r', 'a', 't', 'e', 's', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', '\0',
   /* "pires.ovh", true */ 'p', 'i', 'r', 'e', 's', '.', 'o', 'v', 'h', '\0',
+  /* "pirman.es", true */ 'p', 'i', 'r', 'm', 'a', 'n', '.', 'e', 's', '\0',
   /* "pirxpilot.me", true */ 'p', 'i', 'r', 'x', 'p', 'i', 'l', 'o', 't', '.', 'm', 'e', '\0',
   /* "pissblau.com", true */ 'p', 'i', 's', 's', 'b', 'l', 'a', 'u', '.', 'c', 'o', 'm', '\0',
   /* "pisupp.ly", true */ 'p', 'i', 's', 'u', 'p', 'p', '.', 'l', 'y', '\0',
   /* "pitchpinecapital.com", true */ 'p', 'i', 't', 'c', 'h', 'p', 'i', 'n', 'e', 'c', 'a', 'p', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "pitchup.com", true */ 'p', 'i', 't', 'c', 'h', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "pitfire.io", false */ 'p', 'i', 't', 'f', 'i', 'r', 'e', '.', 'i', 'o', '\0',
   /* "pitsstop.nu", true */ 'p', 'i', 't', 's', 's', 't', 'o', 'p', '.', 'n', 'u', '\0',
   /* "pittaya.com", true */ 'p', 'i', 't', 't', 'a', 'y', 'a', '.', 'c', 'o', 'm', '\0',
@@ -15299,16 +15287,17 @@ static const char kSTSHostTable[] = {
   /* "playsnake.org", true */ 'p', 'l', 'a', 'y', 's', 'n', 'a', 'k', 'e', '.', 'o', 'r', 'g', '\0',
   /* "playsoundevents.be", true */ 'p', 'l', 'a', 'y', 's', 'o', 'u', 'n', 'd', 'e', 'v', 'e', 'n', 't', 's', '.', 'b', 'e', '\0',
   /* "playsource.co", true */ 'p', 'l', 'a', 'y', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', '\0',
   /* "playsprout.industries", false */ 'p', 'l', 'a', 'y', 's', 'p', 'r', 'o', 'u', 't', '.', 'i', 'n', 'd', 'u', 's', 't', 'r', 'i', 'e', 's', '\0',
   /* "playtictactoe.org", true */ 'p', 'l', 'a', 'y', 't', 'i', 'c', 't', 'a', 'c', 't', 'o', 'e', '.', 'o', 'r', 'g', '\0',
   /* "pldx.org", true */ 'p', 'l', 'd', 'x', '.', 'o', 'r', 'g', '\0',
   /* "please-deny.me", true */ 'p', 'l', 'e', 'a', 's', 'e', '-', 'd', 'e', 'n', 'y', '.', 'm', 'e', '\0',
   /* "pleasure-science.com", true */ 'p', 'l', 'e', 'a', 's', 'u', 'r', 'e', '-', 's', 'c', 'i', 'e', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "pleasure.forsale", true */ 'p', 'l', 'e', 'a', 's', 'u', 'r', 'e', '.', 'f', 'o', 'r', 's', 'a', 'l', 'e', '\0',
   /* "plen.io", true */ 'p', 'l', 'e', 'n', '.', 'i', 'o', '\0',
   /* "plenigo.com", true */ 'p', 'l', 'e', 'n', 'i', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "plexi.dyndns.tv", true */ 'p', 'l', 'e', 'x', 'i', '.', 'd', 'y', 'n', 'd', 'n', 's', '.', 't', 'v', '\0',
   /* "plexusmd.com", true */ 'p', 'l', 'e', 'x', 'u', 's', 'm', 'd', '.', 'c', 'o', 'm', '\0',
   /* "plinc.co", true */ 'p', 'l', 'i', 'n', 'c', '.', 'c', 'o', '\0',
   /* "pliosoft.com", true */ 'p', 'l', 'i', 'o', 's', 'o', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "ploader.ru", false */ 'p', 'l', 'o', 'a', 'd', 'e', 'r', '.', 'r', 'u', '\0',
   /* "ploxel.com", true */ 'p', 'l', 'o', 'x', 'e', 'l', '.', 'c', 'o', 'm', '\0',
@@ -15383,16 +15372,17 @@ static const char kSTSHostTable[] = {
   /* "pole-emotion.ch", true */ 'p', 'o', 'l', 'e', '-', 'e', 'm', 'o', 't', 'i', 'o', 'n', '.', 'c', 'h', '\0',
   /* "poleartschool.com", false */ 'p', 'o', 'l', 'e', 'a', 'r', 't', 's', 'c', 'h', 'o', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "polen.guide", true */ 'p', 'o', 'l', 'e', 'n', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "poles4pilots.com", true */ 'p', 'o', 'l', 'e', 's', '4', 'p', 'i', 'l', 'o', 't', 's', '.', 'c', 'o', 'm', '\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',
   /* "polis.to", false */ 'p', 'o', 'l', 'i', 's', '.', 't', 'o', '\0',
   /* "polit.im", true */ 'p', 'o', 'l', 'i', 't', '.', 'i', 'm', '\0',
+  /* "politic.org.ua", true */ 'p', 'o', 'l', 'i', 't', 'i', 'c', '.', 'o', 'r', 'g', '.', 'u', 'a', '\0',
   /* "politiewervingshop.nl", true */ 'p', 'o', 'l', 'i', 't', 'i', 'e', 'w', 'e', 'r', 'v', 'i', 'n', 'g', 's', 'h', 'o', 'p', '.', 'n', 'l', '\0',
   /* "politik-bei-uns.de", true */ 'p', 'o', 'l', 'i', 't', 'i', 'k', '-', 'b', 'e', 'i', '-', 'u', 'n', 's', '.', 'd', 'e', '\0',
   /* "pollet-ghys.be", true */ 'p', 'o', 'l', 'l', 'e', 't', '-', 'g', 'h', 'y', 's', '.', 'b', 'e', '\0',
   /* "polletmera.com", true */ 'p', 'o', 'l', 'l', 'e', 't', 'm', 'e', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "pollpodium.nl", true */ 'p', 'o', 'l', 'l', 'p', 'o', 'd', 'i', 'u', 'm', '.', 'n', 'l', '\0',
   /* "polycrypt.us", true */ 'p', 'o', 'l', 'y', 'c', 'r', 'y', 'p', 't', '.', 'u', 's', '\0',
   /* "polyfill.io", true */ 'p', 'o', 'l', 'y', 'f', 'i', 'l', 'l', '.', 'i', 'o', '\0',
   /* "polymathematician.com", true */ 'p', 'o', 'l', 'y', 'm', 'a', 't', 'h', 'e', 'm', 'a', 't', 'i', 'c', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
@@ -15467,16 +15457,17 @@ static const char kSTSHostTable[] = {
   /* "postback.io", true */ 'p', 'o', 's', 't', 'b', 'a', 'c', 'k', '.', 'i', 'o', '\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',
   /* "postcardpayment.com", true */ 'p', 'o', 's', 't', 'c', 'a', 'r', 'd', 'p', 'a', 'y', 'm', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "postcodegarant.nl", true */ 'p', 'o', 's', 't', 'c', 'o', 'd', 'e', 'g', 'a', 'r', 'a', 'n', 't', '.', 'n', 'l', '\0',
   /* "postdarwinian.com", true */ 'p', 'o', 's', 't', 'd', 'a', 'r', 'w', 'i', 'n', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "postdarwinism.com", true */ 'p', 'o', 's', 't', 'd', 'a', 'r', 'w', 'i', 'n', 'i', 's', 'm', '.', 'c', 'o', 'm', '\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',
   /* "potatiz.com", true */ 'p', 'o', 't', 'a', 't', 'i', 'z', '.', 'c', 'o', 'm', '\0',
   /* "potatofrom.space", true */ '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',
@@ -15539,17 +15530,16 @@ static const char kSTSHostTable[] = {
   /* "prekladysanca.cz", true */ 'p', 'r', 'e', 'k', 'l', 'a', 'd', 'y', 's', 'a', 'n', 'c', 'a', '.', 'c', 'z', '\0',
   /* "preloaded-hsts.badssl.com", true */ 'p', 'r', 'e', 'l', 'o', 'a', 'd', 'e', 'd', '-', 'h', 's', 't', 's', '.', 'b', 'a', 'd', 's', 's', 'l', '.', 'c', 'o', 'm', '\0',
   /* "preludes.org", true */ 'p', 'r', 'e', 'l', 'u', 'd', 'e', 's', '.', 'o', 'r', 'g', '\0',
   /* "premaritalsex.info", true */ 'p', 'r', 'e', 'm', 'a', 'r', 'i', 't', 'a', 'l', 's', 'e', 'x', '.', 'i', 'n', 'f', 'o', '\0',
   /* "premierheart.com", true */ 'p', 'r', 'e', 'm', 'i', 'e', 'r', 'h', 'e', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "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',
   /* "prenatalgeboortekaartjes.nl", true */ 'p', 'r', 'e', 'n', 'a', 't', 'a', 'l', 'g', 'e', 'b', 'o', 'o', 'r', 't', 'e', 'k', 'a', 'a', 'r', 't', 'j', 'e', 's', '.', 'n', 'l', '\0',
-  /* "prenger.co", true */ 'p', 'r', 'e', 'n', 'g', 'e', 'r', '.', 'c', 'o', '\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',
   /* "prepaidkredietkaart.be", true */ 'p', 'r', 'e', 'p', 'a', 'i', 'd', 'k', 'r', 'e', 'd', 'i', 'e', 't', 'k', 'a', 'a', 'r', 't', '.', 'b', 'e', '\0',
   /* "prepandgo-euro.com", true */ 'p', 'r', 'e', 'p', 'a', 'n', 'd', 'g', 'o', '-', 'e', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "prepare-job-hunting.com", true */ 'p', 'r', 'e', 'p', 'a', 'r', 'e', '-', 'j', 'o', 'b', '-', 'h', 'u', 'n', 't', 'i', 'n', 'g', '.', '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',
@@ -15819,27 +15809,29 @@ static const char kSTSHostTable[] = {
   /* "pvtschlag.com", true */ 'p', 'v', 't', 's', 'c', 'h', 'l', 'a', 'g', '.', 'c', 'o', 'm', '\0',
   /* "pwdgen.net", false */ 'p', 'w', 'd', 'g', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "pwdsafe.com", true */ 'p', 'w', 'd', 's', 'a', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pwe.vision", true */ 'p', 'w', 'e', '.', 'v', 'i', 's', 'i', 'o', 'n', '\0',
   /* "pwfrance.com", true */ 'p', 'w', 'f', 'r', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pwnies.dk", true */ 'p', 'w', 'n', 'i', 'e', 's', '.', 'd', 'k', '\0',
   /* "pwolk.com", true */ 'p', 'w', 'o', 'l', 'k', '.', 'c', 'o', 'm', '\0',
   /* "pxx.io", true */ 'p', 'x', 'x', '.', 'i', 'o', '\0',
+  /* "pycrypto.org", true */ 'p', 'y', 'c', 'r', 'y', 'p', 't', 'o', '.', 'o', 'r', 'g', '\0',
   /* "pygarage.com", true */ 'p', 'y', 'g', 'a', 'r', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pyopenssl.org", true */ 'p', 'y', 'o', 'p', 'e', 'n', 's', 's', 'l', '.', 'o', 'r', 'g', '\0',
   /* "pypa.io", true */ 'p', 'y', 'p', 'a', '.', 'i', 'o', '\0',
   /* "pypi-mirrors.org", true */ 'p', 'y', 'p', 'i', '-', 'm', 'i', 'r', 'r', 'o', 'r', 's', '.', 'o', 'r', 'g', '\0',
   /* "pypi.io", true */ 'p', 'y', 'p', 'i', '.', 'i', 'o', '\0',
   /* "pypi.org", true */ 'p', 'y', 'p', 'i', '.', 'o', 'r', 'g', '\0',
   /* "pypi.python.org", true */ 'p', 'y', 'p', 'i', '.', 'p', 'y', 't', 'h', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "pyrotechnologie.de", true */ 'p', 'y', 'r', 'o', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'i', 'e', '.', 'd', 'e', '\0',
   /* "pysays.net", true */ 'p', 'y', 's', 'a', 'y', 's', '.', 'n', 'e', 't', '\0',
   /* "pyspace.org", true */ 'p', 'y', 's', 'p', 'a', 'c', 'e', '.', 'o', 'r', 'g', '\0',
   /* "pythia.nz", true */ 'p', 'y', 't', 'h', 'i', 'a', '.', 'n', 'z', '\0',
+  /* "python-hyper.org", true */ 'p', 'y', 't', 'h', 'o', 'n', '-', 'h', 'y', 'p', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "python.org", false */ 'p', 'y', 't', 'h', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "pythonic.guru", true */ 'p', 'y', 't', 'h', 'o', 'n', 'i', 'c', '.', 'g', 'u', 'r', 'u', '\0',
   /* "pzme.me", true */ 'p', 'z', 'm', 'e', '.', 'm', 'e', '\0',
   /* "q-inn.com", true */ 'q', '-', 'i', 'n', 'n', '.', 'c', 'o', 'm', '\0',
   /* "q-inn.nl", true */ 'q', '-', 'i', 'n', 'n', '.', 'n', 'l', '\0',
   /* "q-rickroll-u.pw", true */ 'q', '-', 'r', 'i', 'c', 'k', 'r', 'o', 'l', 'l', '-', 'u', '.', 'p', 'w', '\0',
   /* "qa.fedoraproject.org", true */ 'q', 'a', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "qa.stg.fedoraproject.org", true */ 'q', 'a', '.', 's', 't', 'g', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
@@ -15878,16 +15870,17 @@ static const char kSTSHostTable[] = {
   /* "qkka.org", true */ 'q', 'k', 'k', 'a', '.', 'o', 'r', 'g', '\0',
   /* "qkmortgage.com", true */ 'q', 'k', 'm', 'o', 'r', 't', 'g', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "qldconservation.org.au", true */ 'q', 'l', 'd', 'c', 'o', 'n', 's', 'e', 'r', 'v', 'a', 't', 'i', 'o', 'n', '.', 'o', 'r', 'g', '.', 'a', 'u', '\0',
   /* "qldformulaford.org", true */ 'q', 'l', 'd', 'f', 'o', 'r', 'm', 'u', 'l', 'a', 'f', 'o', 'r', 'd', '.', 'o', 'r', 'g', '\0',
   /* "qlrace.com", false */ 'q', 'l', 'r', 'a', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "qm-marzahnnordwest.de", true */ 'q', 'm', '-', 'm', 'a', 'r', 'z', 'a', 'h', 'n', 'n', 'o', 'r', 'd', 'w', 'e', 's', 't', '.', 'd', 'e', '\0',
   /* "qochealth.com", true */ 'q', 'o', 'c', 'h', 'e', 'a', 'l', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "qotw.net", true */ 'q', 'o', 't', 'w', '.', 'n', 'e', 't', '\0',
+  /* "qqj.net", true */ 'q', 'q', 'j', '.', 'n', 'e', 't', '\0',
   /* "qr-city.org", true */ 'q', 'r', '-', 'c', 'i', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "qredo.com", true */ 'q', 'r', 'e', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "qrlfinancial.com", true */ 'q', 'r', 'l', 'f', 'i', 'n', 'a', 'n', 'c', 'i', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "qrpth.eu", true */ 'q', 'r', 'p', 't', 'h', '.', 'e', 'u', '\0',
   /* "qtl.me", true */ 'q', 't', 'l', '.', 'm', 'e', '\0',
   /* "qto.com", true */ 'q', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "qtpass.org", true */ 'q', 't', 'p', 'a', 's', 's', '.', 'o', 'r', 'g', '\0',
   /* "qtpower.co.uk", true */ 'q', 't', 'p', 'o', 'w', 'e', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -16392,21 +16385,19 @@ static const char kSTSHostTable[] = {
   /* "rhinelander.ca", true */ 'r', 'h', 'i', 'n', 'e', 'l', 'a', 'n', 'd', 'e', 'r', '.', 'c', 'a', '\0',
   /* "rhinoceroses.org", true */ 'r', 'h', 'i', 'n', 'o', 'c', 'e', 'r', 'o', 's', 'e', 's', '.', 'o', 'r', 'g', '\0',
   /* "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", false */ 'r', 'i', 'a', 'u', 'c', 'y', 'b', 'e', 'r', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "ribopierre.fr", true */ 'r', 'i', 'b', 'o', 'p', 'i', 'e', 'r', 'r', 'e', '.', 'f', 'r', '\0',
   /* "ribs.com", true */ 'r', 'i', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "ricardo.nu", true */ 'r', 'i', 'c', 'a', 'r', 'd', 'o', '.', 'n', 'u', '\0',
-  /* "ricardobalk.nl", true */ 'r', 'i', 'c', 'a', 'r', 'd', 'o', 'b', 'a', 'l', 'k', '.', 'n', 'l', '\0',
   /* "ricaud.me", true */ 'r', 'i', 'c', 'a', 'u', 'd', '.', 'm', 'e', '\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',
   /* "richardjgreen.net", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'j', 'g', 'r', 'e', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "richardlangworth.com", true */ 'r', 'i', 'c', 'h', 'a', 'r', 'd', 'l', 'a', 'n', 'g', 'w', 'o', 'r', 't', 'h', '.', 'c', 'o', 'm', '\0',
@@ -17026,16 +17017,17 @@ static const char kSTSHostTable[] = {
   /* "sbssoft.ru", true */ 's', 'b', 's', 's', 'o', 'f', 't', '.', 'r', 'u', '\0',
   /* "sbytes.info", true */ 's', 'b', 'y', 't', 'e', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "scalesbiolab.com", true */ 's', 'c', 'a', 'l', 'e', 's', 'b', 'i', 'o', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "scaling.solutions", true */ 's', 'c', 'a', 'l', 'i', 'n', 'g', '.', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '\0',
   /* "scandicom.fi", true */ 's', 'c', 'a', 'n', 'd', 'i', 'c', 'o', 'm', '.', 'f', 'i', '\0',
   /* "scandinavia.dating", true */ 's', 'c', 'a', 'n', 'd', 'i', 'n', 'a', 'v', 'i', 'a', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "scanleasing.net", true */ 's', 'c', 'a', 'n', 'l', 'e', 'a', 's', 'i', 'n', 'g', '.', 'n', 'e', 't', '\0',
   /* "scanpay.dk", true */ 's', 'c', 'a', 'n', 'p', 'a', 'y', '.', 'd', 'k', '\0',
+  /* "scenester.tv", false */ 's', 'c', 'e', 'n', 'e', 's', 't', 'e', 'r', '.', 't', 'v', '\0',
   /* "scenicbyways.info", true */ 's', 'c', 'e', 'n', 'i', 'c', 'b', 'y', 'w', 'a', 'y', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "scepticism.com", true */ 's', 'c', 'e', 'p', 't', 'i', 'c', 'i', 's', 'm', '.', 'c', 'o', 'm', '\0',
   /* "schaafenstrasse.koeln", true */ 's', 'c', 'h', 'a', 'a', 'f', 'e', 'n', 's', 't', 'r', 'a', 's', 's', 'e', '.', 'k', 'o', 'e', 'l', 'n', '\0',
   /* "schachburg.de", true */ 's', 'c', 'h', 'a', 'c', 'h', 'b', 'u', 'r', 'g', '.', 'd', 'e', '\0',
   /* "schadevergoedingen.eu", true */ 's', 'c', 'h', 'a', 'd', 'e', 'v', 'e', 'r', 'g', 'o', 'e', 'd', 'i', 'n', 'g', 'e', 'n', '.', 'e', 'u', '\0',
   /* "schallert.com", true */ 's', 'c', 'h', 'a', 'l', 'l', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "schamlosharmlos.de", true */ 's', 'c', 'h', 'a', 'm', 'l', 'o', 's', 'h', 'a', 'r', 'm', 'l', 'o', 's', '.', 'd', 'e', '\0',
   /* "schatzibaers.de", true */ 's', 'c', 'h', 'a', 't', 'z', 'i', 'b', 'a', 'e', 'r', 's', '.', 'd', 'e', '\0',
@@ -17154,17 +17146,16 @@ static const char kSTSHostTable[] = {
   /* "scrayos.net", true */ 's', 'c', 'r', 'a', 'y', 'o', 's', '.', 'n', 'e', 't', '\0',
   /* "scredible.com", true */ 's', 'c', 'r', 'e', 'd', 'i', 'b', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "screen64.tk", true */ 's', 'c', 'r', 'e', 'e', 'n', '6', '4', '.', 't', 'k', '\0',
   /* "screenlight.tv", true */ 's', 'c', 'r', 'e', 'e', 'n', 'l', 'i', 'g', 'h', 't', '.', 't', 'v', '\0',
   /* "script.google.com", true */ 's', 'c', 'r', 'i', 'p', 't', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "scriptgates.ru", true */ 's', 'c', 'r', 'i', 'p', 't', 'g', 'a', 't', 'e', 's', '.', 'r', 'u', '\0',
   /* "scriptjunkie.us", true */ 's', 'c', 'r', 'i', 'p', 't', 'j', 'u', 'n', 'k', 'i', 'e', '.', 'u', 's', '\0',
   /* "scrisulfacebine.ro", true */ 's', 'c', 'r', 'i', 's', 'u', 'l', 'f', 'a', 'c', 'e', 'b', 'i', 'n', 'e', '.', 'r', 'o', '\0',
-  /* "scrollstory.com", true */ 's', 'c', 'r', 'o', 'l', 'l', 's', 't', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "scrumstack.co.uk", true */ 's', 'c', 'r', 'u', 'm', 's', 't', 'a', 'c', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "scryfall.com", true */ 's', 'c', 'r', 'y', 'f', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "scs-simulatoren.de", true */ 's', 'c', 's', '-', 's', 'i', 'm', 'u', 'l', 'a', 't', 'o', 'r', 'e', 'n', '.', 'd', 'e', '\0',
   /* "sctrainingllc.com", true */ 's', 'c', 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', 'l', 'l', 'c', '.', 'c', 'o', 'm', '\0',
   /* "scubadiving-phuket.com", true */ 's', 'c', 'u', 'b', 'a', 'd', 'i', 'v', 'i', 'n', 'g', '-', 'p', 'h', 'u', 'k', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "sculpture.support", true */ 's', 'c', 'u', 'l', 'p', 't', 'u', 'r', 'e', '.', 's', 'u', 'p', 'p', 'o', 'r', 't', '\0',
   /* "scw.nz", true */ 's', 'c', 'w', '.', 'n', 'z', '\0',
   /* "scwilliams.co.uk", true */ 's', 'c', 'w', 'i', 'l', 'l', 'i', 'a', 'm', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -17199,16 +17190,17 @@ static const char kSTSHostTable[] = {
   /* "sebastianblade.com", true */ 's', 'e', 'b', 'a', 's', 't', 'i', 'a', 'n', 'b', 'l', 'a', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sebastianboegl.de", true */ 's', 'e', 'b', 'a', 's', 't', 'i', 'a', 'n', 'b', 'o', 'e', 'g', 'l', '.', 'd', 'e', '\0',
   /* "sebastianhampl.de", true */ 's', 'e', 'b', 'a', 's', 't', 'i', 'a', 'n', 'h', 'a', 'm', 'p', 'l', '.', 'd', 'e', '\0',
   /* "sebastiensenechal.com", true */ 's', 'e', 'b', 'a', 's', 't', 'i', 'e', 'n', 's', 'e', 'n', 'e', 'c', 'h', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "sebi.org", true */ 's', 'e', 'b', 'i', '.', 'o', 'r', 'g', '\0',
   /* "sec-mails.de", true */ 's', 'e', 'c', '-', 'm', 'a', 'i', 'l', 's', '.', 'd', 'e', '\0',
   /* "sec.ec", true */ 's', 'e', 'c', '.', 'e', 'c', '\0',
   /* "sec.gd", true */ 's', 'e', 'c', '.', 'g', 'd', '\0',
+  /* "secanje.nl", true */ 's', 'e', 'c', 'a', 'n', 'j', 'e', '.', 'n', 'l', '\0',
   /* "secboom.com", true */ 's', 'e', 'c', 'b', 'o', 'o', 'm', '.', 'c', 'o', 'm', '\0',
   /* "seccomp.ru", true */ 's', 'e', 'c', 'c', 'o', 'm', 'p', '.', 'r', 'u', '\0',
   /* "secctexasgiving.org", false */ 's', 'e', 'c', 'c', 't', 'e', 'x', 'a', 's', 'g', 'i', 'v', 'i', 'n', 'g', '.', 'o', 'r', 'g', '\0',
   /* "sech.me", true */ 's', 'e', 'c', 'h', '.', 'm', 'e', '\0',
   /* "secitem.at", true */ 's', 'e', 'c', 'i', 't', 'e', 'm', '.', 'a', 't', '\0',
   /* "secitem.de", true */ 's', 'e', 'c', 'i', 't', 'e', 'm', '.', 'd', 'e', '\0',
   /* "secnews.gr", true */ 's', 'e', 'c', 'n', 'e', 'w', 's', '.', 'g', 'r', '\0',
   /* "secomo.org", true */ 's', 'e', 'c', 'o', 'm', 'o', '.', 'o', 'r', 'g', '\0',
@@ -17329,17 +17321,16 @@ static const char kSTSHostTable[] = {
   /* "sementes.gratis", true */ 's', 'e', 'm', 'e', 'n', 't', 'e', 's', '.', 'g', 'r', 'a', 't', 'i', 's', '\0',
   /* "semianalog.com", true */ 's', 'e', 'm', 'i', 'a', 'n', 'a', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "seminariruum.ee", true */ 's', 'e', 'm', 'i', 'n', 'a', 'r', 'i', 'r', 'u', 'u', 'm', '.', 'e', 'e', '\0',
   /* "semjonov.de", true */ 's', 'e', 'm', 'j', 'o', 'n', 'o', 'v', '.', 'd', 'e', '\0',
   /* "semmlers.com", true */ 's', 'e', 'm', 'm', 'l', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "semox.de", true */ 's', 'e', 'm', 'o', 'x', '.', 'd', 'e', '\0',
   /* "semps-2fa.de", true */ 's', 'e', 'm', 'p', 's', '-', '2', 'f', 'a', '.', 'd', 'e', '\0',
   /* "semps-threema.de", true */ 's', 'e', 'm', 'p', 's', '-', 't', 'h', 'r', 'e', 'e', 'm', 'a', '.', 'd', 'e', '\0',
-  /* "semps.de", true */ 's', 'e', 'm', 'p', 's', '.', 'd', 'e', '\0',
   /* "semyonov.su", true */ 's', 'e', 'm', 'y', 'o', 'n', 'o', 'v', '.', 's', 'u', '\0',
   /* "semyonov.us", true */ 's', 'e', 'm', 'y', 'o', 'n', 'o', 'v', '.', 'u', 's', '\0',
   /* "senarius.de", true */ 's', 'e', 'n', 'a', 'r', 'i', 'u', 's', '.', 'd', 'e', '\0',
   /* "sendai-sisters.com", true */ 's', 'e', 'n', 'd', 'a', 'i', '-', 's', 'i', 's', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "sendc.at", true */ 's', 'e', 'n', 'd', 'c', '.', 'a', 't', '\0',
   /* "sendcat.com", true */ 's', 'e', 'n', 'd', 'c', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "sendinvoice.nl", true */ 's', 'e', 'n', 'd', 'i', 'n', 'v', 'o', 'i', 'c', 'e', '.', 'n', 'l', '\0',
   /* "sendonce.io", true */ 's', 'e', 'n', 'd', 'o', 'n', 'c', 'e', '.', 'i', 'o', '\0',
@@ -17361,17 +17352,16 @@ static const char kSTSHostTable[] = {
   /* "seo-nerd.de", true */ 's', 'e', 'o', '-', 'n', 'e', 'r', 'd', '.', 'd', 'e', '\0',
   /* "seoagentur2go.de", true */ 's', 'e', 'o', 'a', 'g', 'e', 'n', 't', 'u', 'r', '2', 'g', 'o', '.', 'd', 'e', '\0',
   /* "seoarchive.org", true */ 's', 'e', 'o', 'a', 'r', 'c', 'h', 'i', 'v', 'e', '.', 'o', 'r', 'g', '\0',
   /* "seogeek.nl", true */ 's', 'e', 'o', 'g', 'e', 'e', 'k', '.', 'n', 'l', '\0',
   /* "seohochschule.de", true */ 's', 'e', 'o', 'h', 'o', 'c', 'h', 's', 'c', 'h', 'u', 'l', 'e', '.', 'd', 'e', '\0',
   /* "seoinc.com", true */ 's', 'e', 'o', 'i', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "seokay.com", true */ 's', 'e', 'o', 'k', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "seolib.org", true */ 's', 'e', 'o', 'l', 'i', 'b', '.', 'o', 'r', 'g', '\0',
-  /* "seon.me", true */ 's', 'e', 'o', 'n', '.', 'm', 'e', '\0',
   /* "seoquake.com", true */ 's', 'e', 'o', 'q', 'u', 'a', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "seoscribe.net", true */ 's', 'e', 'o', 's', 'c', 'r', 'i', 'b', 'e', '.', 'n', 'e', 't', '\0',
   /* "seosof.com", true */ 's', 'e', 'o', 's', 'o', 'f', '.', 'c', 'o', 'm', '\0',
   /* "seoul.dating", true */ 's', 'e', 'o', 'u', 'l', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "seouniversity.org", true */ 's', 'e', 'o', 'u', 'n', 'i', 'v', 'e', 'r', 's', 'i', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "sephr.com", true */ 's', 'e', 'p', 'h', 'r', '.', 'c', 'o', 'm', '\0',
   /* "seppelec.com", true */ 's', 'e', 'p', 'p', 'e', 'l', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "septakkordeon.de", true */ 's', 'e', 'p', 't', 'a', 'k', 'k', 'o', 'r', 'd', 'e', 'o', 'n', '.', 'd', 'e', '\0',
@@ -17561,16 +17551,17 @@ static const char kSTSHostTable[] = {
   /* "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',
   /* "shirakaba-cc.com", true */ 's', 'h', 'i', 'r', 'a', 'k', 'a', 'b', 'a', '-', 'c', 'c', '.', 'c', 'o', 'm', '\0',
   /* "shiroki-k.net", true */ 's', 'h', 'i', 'r', 'o', 'k', 'i', '-', 'k', '.', 'n', 'e', 't', '\0',
+  /* "shirt2go.shop", true */ 's', 'h', 'i', 'r', 't', '2', 'g', 'o', '.', 's', 'h', 'o', 'p', '\0',
   /* "shirtsofholland.com", true */ 's', 'h', 'i', 'r', 't', 's', 'o', 'f', 'h', 'o', 'l', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "shishamania.de", true */ 's', 'h', 'i', 's', 'h', 'a', 'm', 'a', 'n', 'i', 'a', '.', 'd', 'e', '\0',
   /* "shishkin.link", true */ 's', 'h', 'i', 's', 'h', 'k', 'i', 'n', '.', 'l', 'i', 'n', 'k', '\0',
   /* "shishkin.us", true */ 's', 'h', 'i', 's', 'h', 'k', 'i', 'n', '.', 'u', 's', '\0',
   /* "shishlik.net", true */ 's', 'h', 'i', 's', 'h', 'l', 'i', 'k', '.', 'n', 'e', 't', '\0',
   /* "shitbeast.institute", true */ 's', 'h', 'i', 't', 'b', 'e', 'a', 's', 't', '.', 'i', 'n', 's', 't', 'i', 't', 'u', 't', 'e', '\0',
   /* "shitmybradsays.com", true */ 's', 'h', 'i', 't', 'm', 'y', 'b', 'r', 'a', 'd', 's', 'a', 'y', 's', '.', 'c', 'o', 'm', '\0',
   /* "shitposting.life", true */ 's', 'h', 'i', 't', 'p', 'o', 's', 't', 'i', 'n', 'g', '.', 'l', 'i', 'f', 'e', '\0',
@@ -17597,16 +17588,17 @@ static const char kSTSHostTable[] = {
   /* "shoppeno5.com", true */ 's', 'h', 'o', 'p', 'p', 'e', 'n', 'o', '5', '.', 'c', 'o', 'm', '\0',
   /* "shopping24.de", true */ 's', 'h', 'o', 'p', 'p', 'i', 'n', 'g', '2', '4', '.', 'd', 'e', '\0',
   /* "shorebreaksecurity.com", true */ 's', 'h', 'o', 'r', 'e', 'b', 'r', 'e', 'a', 'k', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "short-biography.com", true */ 's', 'h', 'o', 'r', 't', '-', 'b', 'i', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'o', 'm', '\0',
   /* "shortdiary.me", true */ 's', 'h', 'o', 'r', 't', 'd', 'i', 'a', 'r', 'y', '.', 'm', 'e', '\0',
   /* "shorten.ninja", true */ 's', 'h', 'o', 'r', 't', 'e', 'n', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "shortpath.com", true */ 's', 'h', 'o', 'r', 't', 'p', 'a', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "shortr.li", true */ 's', 'h', 'o', 'r', 't', 'r', '.', 'l', 'i', '\0',
+  /* "shota.party", true */ 's', 'h', 'o', 't', 'a', '.', 'p', 'a', 'r', 't', 'y', '\0',
   /* "shotbow.net", true */ 's', 'h', 'o', 't', 'b', 'o', 'w', '.', 'n', 'e', 't', '\0',
   /* "shotonwhat.com", true */ 's', 'h', 'o', 't', 'o', 'n', 'w', 'h', 'a', 't', '.', 'c', 'o', 'm', '\0',
   /* "show-saratov.ru", true */ 's', 'h', 'o', 'w', '-', 's', 'a', 'r', 'a', 't', 'o', 'v', '.', 'r', 'u', '\0',
   /* "shower.im", true */ 's', 'h', 'o', 'w', 'e', 'r', '.', 'i', 'm', '\0',
   /* "showsonar.com", true */ 's', 'h', 'o', 'w', 's', 'o', 'n', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "shred.ch", true */ 's', 'h', 'r', 'e', 'd', '.', 'c', 'h', '\0',
   /* "shredoptics.ch", true */ 's', 'h', 'r', 'e', 'd', 'o', 'p', 't', 'i', 'c', 's', '.', 'c', 'h', '\0',
   /* "shrinkhub.com", true */ 's', 'h', 'r', 'i', 'n', 'k', 'h', 'u', 'b', '.', 'c', 'o', 'm', '\0',
@@ -17647,22 +17639,20 @@ static const char kSTSHostTable[] = {
   /* "sighup.nz", true */ 's', 'i', 'g', 'h', 'u', 'p', '.', 'n', 'z', '\0',
   /* "sigmalux.sarl", true */ 's', 'i', 'g', 'm', 'a', 'l', 'u', 'x', '.', 's', 'a', 'r', 'l', '\0',
   /* "sign.io", true */ 's', 'i', 'g', 'n', '.', 'i', 'o', '\0',
   /* "signaltransmitter.de", true */ 's', 'i', 'g', 'n', 'a', 'l', 't', 'r', 'a', 'n', 's', 'm', 'i', 't', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "signere.com", true */ 's', 'i', 'g', 'n', 'e', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "signere.no", true */ 's', 'i', 'g', 'n', 'e', 'r', 'e', '.', 'n', 'o', '\0',
   /* "significados.com.br", true */ 's', 'i', 'g', 'n', 'i', 'f', 'i', 'c', 'a', 'd', 'o', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "signing-milter.org", true */ 's', 'i', 'g', 'n', 'i', 'n', 'g', '-', 'm', 'i', 'l', 't', 'e', 'r', '.', 'o', 'r', 'g', '\0',
-  /* "signix.net", true */ 's', 'i', 'g', 'n', 'i', 'x', '.', 'n', 'e', 't', '\0',
   /* "signoracle.com", true */ 's', 'i', 'g', 'n', 'o', 'r', 'a', 'c', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "signosquecombinam.com.br", true */ 's', 'i', 'g', 'n', 'o', 's', 'q', 'u', 'e', 'c', 'o', 'm', 'b', 'i', 'n', 'a', 'm', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "signslabelstapesandmore.com", false */ 's', 'i', 'g', 'n', 's', 'l', 'a', 'b', 'e', 'l', 's', 't', 'a', 'p', 'e', 's', 'a', 'n', 'd', 'm', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "signtul.com", false */ 's', 'i', 'g', 'n', 't', 'u', 'l', '.', 'c', 'o', 'm', '\0',
-  /* "sigsegv.run", true */ 's', 'i', 'g', 's', 'e', 'g', 'v', '.', 'r', 'u', 'n', '\0',
   /* "sigterm.no", true */ 's', 'i', 'g', 't', 'e', 'r', 'm', '.', 'n', 'o', '\0',
   /* "sigterm.sh", true */ 's', 'i', 'g', 't', 'e', 'r', 'm', '.', 's', 'h', '\0',
   /* "siirtutkusu.com", true */ 's', 'i', 'i', 'r', 't', 'u', 't', 'k', 'u', 's', 'u', '.', 'c', 'o', 'm', '\0',
   /* "sijmenschoon.nl", true */ 's', 'i', 'j', 'm', 'e', 'n', 's', 'c', 'h', 'o', 'o', 'n', '.', 'n', 'l', '\0',
   /* "sikatehtaat.fi", true */ 's', 'i', 'k', 'a', 't', 'e', 'h', 't', 'a', 'a', 't', '.', 'f', 'i', '\0',
   /* "sikevux.se", true */ 's', 'i', 'k', 'e', 'v', 'u', 'x', '.', 's', 'e', '\0',
   /* "siku-shop.ch", true */ 's', 'i', 'k', 'u', '-', 's', 'h', 'o', 'p', '.', 'c', 'h', '\0',
   /* "silashes.com", true */ 's', 'i', 'l', 'a', 's', 'h', 'e', 's', '.', 'c', 'o', 'm', '\0',
@@ -17922,16 +17912,17 @@ static const char kSTSHostTable[] = {
   /* "slneighbors.org", true */ 's', 'l', 'n', 'e', 'i', 'g', 'h', 'b', 'o', 'r', 's', '.', 'o', 'r', 'g', '\0',
   /* "slo-tech.com", true */ 's', 'l', 'o', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "slotboss.co.uk", true */ 's', 'l', 'o', 't', 'b', 'o', 's', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "slotcar.com", false */ 's', 'l', 'o', 't', 'c', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "sloths.org", true */ 's', 'l', 'o', 't', 'h', 's', '.', 'o', 'r', 'g', '\0',
   /* "slovenskycestovatel.sk", true */ 's', 'l', 'o', 'v', 'e', 'n', 's', 'k', 'y', 'c', 'e', 's', 't', 'o', 'v', 'a', 't', 'e', 'l', '.', 's', 'k', '\0',
   /* "slow.zone", true */ 's', 'l', 'o', 'w', '.', 'z', 'o', 'n', 'e', '\0',
   /* "slowb.ro", true */ 's', 'l', 'o', 'w', 'b', '.', 'r', 'o', '\0',
+  /* "slowfood.es", true */ 's', 'l', 'o', 'w', 'f', 'o', 'o', 'd', '.', 'e', 's', '\0',
   /* "slowgames.xyz", true */ 's', 'l', 'o', 'w', 'g', 'a', 'm', 'e', 's', '.', 'x', 'y', 'z', '\0',
   /* "slse.ca", true */ 's', 'l', 's', 'e', '.', 'c', 'a', '\0',
   /* "sluitkampzeist.nl", false */ 's', 'l', 'u', 'i', 't', 'k', 'a', 'm', 'p', 'z', 'e', 'i', 's', 't', '.', 'n', 'l', '\0',
   /* "slvh.fr", true */ 's', 'l', 'v', 'h', '.', 'f', 'r', '\0',
   /* "slwilde.ca", true */ 's', 'l', 'w', 'i', 'l', 'd', 'e', '.', 'c', 'a', '\0',
   /* "slxh.eu", true */ 's', 'l', 'x', 'h', '.', 'e', 'u', '\0',
   /* "slxh.nl", true */ 's', 'l', 'x', 'h', '.', 'n', 'l', '\0',
   /* "slytech.ch", true */ 's', 'l', 'y', 't', 'e', 'c', 'h', '.', 'c', 'h', '\0',
@@ -18021,16 +18012,17 @@ static const char kSTSHostTable[] = {
   /* "snekchat.moe", true */ 's', 'n', 'e', 'k', 'c', 'h', 'a', 't', '.', 'm', 'o', 'e', '\0',
   /* "snelshops.nl", true */ 's', 'n', 'e', 'l', 's', 'h', 'o', 'p', 's', '.', 'n', 'l', '\0',
   /* "snelwebshop.nl", true */ 's', 'n', 'e', 'l', 'w', 'e', 'b', 's', 'h', 'o', 'p', '.', 'n', 'l', '\0',
   /* "snelxboxlivegold.nl", true */ 's', 'n', 'e', 'l', 'x', 'b', 'o', 'x', 'l', 'i', 'v', 'e', 'g', 'o', 'l', 'd', '.', 'n', 'l', '\0',
   /* "snfdata.com", true */ 's', 'n', 'f', 'd', 'a', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "sniep.net", true */ 's', 'n', 'i', 'e', 'p', '.', 'n', 'e', 't', '\0',
   /* "snight.co", true */ 's', 'n', 'i', 'g', 'h', 't', '.', 'c', 'o', '\0',
   /* "snille.com", true */ 's', 'n', 'i', 'l', 'l', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "snippet.host", true */ 's', 'n', 'i', 'p', 'p', 'e', 't', '.', 'h', 'o', 's', 't', '\0',
   /* "snl.no", false */ 's', 'n', 'l', '.', 'n', 'o', '\0',
   /* "snod.land", true */ 's', 'n', 'o', 'd', '.', 'l', 'a', 'n', 'd', '\0',
   /* "snoupon.com", true */ 's', 'n', 'o', 'u', 'p', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "snow-online.com", true */ 's', 'n', 'o', 'w', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "snow-online.de", true */ 's', 'n', 'o', 'w', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "snow.dog", true */ 's', 'n', 'o', 'w', '.', 'd', 'o', 'g', '\0',
   /* "snowalerts.eu", true */ 's', 'n', 'o', 'w', 'a', 'l', 'e', 'r', 't', 's', '.', 'e', 'u', '\0',
   /* "snowalerts.nl", true */ 's', 'n', 'o', 'w', 'a', 'l', 'e', 'r', 't', 's', '.', 'n', 'l', '\0',
@@ -18150,27 +18142,25 @@ 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',
   /* "sosecu.red", true */ 's', 'o', 's', 'e', 'c', 'u', '.', 'r', 'e', 'd', '\0',
   /* "sosiolog.com", true */ 's', 'o', 's', 'i', 'o', 'l', 'o', 'g', '.', 'c', 'o', 'm', '\0',
   /* "sostacancun.com", true */ 's', 'o', 's', 't', 'a', 'c', 'a', 'n', 'c', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sotadb.info", true */ 's', 'o', 't', 'a', 'd', 'b', '.', 'i', 'n', 'f', 'o', '\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',
-  /* "sotiran.com", true */ 's', 'o', 't', 'i', 'r', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sotoasobi.net", true */ 's', 'o', 't', 'o', 'a', 's', 'o', 'b', 'i', '.', 'n', 'e', 't', '\0',
   /* "sou-co.jp", true */ 's', 'o', 'u', '-', 'c', 'o', '.', 'j', 'p', '\0',
   /* "soubriquet.org", true */ 's', 'o', 'u', 'b', 'r', 'i', 'q', 'u', 'e', 't', '.', 'o', 'r', 'g', '\0',
   /* "souki.cz", true */ 's', 'o', 'u', 'k', 'i', '.', 'c', 'z', '\0',
   /* "soukodou.jp", true */ 's', 'o', 'u', 'k', 'o', 'd', 'o', 'u', '.', 'j', 'p', '\0',
   /* "soul-source.co.uk", true */ 's', 'o', 'u', 'l', '-', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "soulboy.io", false */ 's', 'o', 'u', 'l', 'b', 'o', 'y', '.', 'i', 'o', '\0',
   /* "soulmate.dating", true */ 's', 'o', 'u', 'l', 'm', 'a', 't', 'e', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
@@ -18228,17 +18218,16 @@ static const char kSTSHostTable[] = {
   /* "spam.lol", true */ 's', 'p', 'a', 'm', '.', 'l', 'o', 'l', '\0',
   /* "spamloco.net", true */ 's', 'p', 'a', 'm', 'l', 'o', 'c', 'o', '.', 'n', 'e', 't', '\0',
   /* "spamwc.de", true */ 's', 'p', 'a', 'm', 'w', 'c', '.', 'd', 'e', '\0',
   /* "spangehlassociates.com", true */ 's', 'p', 'a', 'n', 'g', 'e', 'h', 'l', 'a', 's', 's', 'o', 'c', 'i', 'a', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "sparkbase.cn", true */ 's', 'p', 'a', 'r', 'k', 'b', 'a', 's', 'e', '.', 'c', 'n', '\0',
   /* "sparkforautism.org", true */ 's', 'p', 'a', 'r', 'k', 'f', 'o', 'r', 'a', 'u', 't', 'i', 's', 'm', '.', 'o', 'r', 'g', '\0',
   /* "sparklebastard.com", true */ 's', 'p', 'a', 'r', 'k', 'l', 'e', 'b', 'a', 's', 't', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "sparmedo.de", true */ 's', 'p', 'a', 'r', 'm', 'e', 'd', 'o', '.', 'd', 'e', '\0',
-  /* "sparta-trade.com", true */ 's', 'p', 'a', 'r', 't', 'a', '-', 't', 'r', 'a', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "spartaconsulting.fi", true */ 's', 'p', 'a', 'r', 't', 'a', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '.', 'f', 'i', '\0',
   /* "spartantheatre.org", true */ 's', 'p', 'a', 'r', 't', 'a', 'n', 't', 'h', 'e', 'a', 't', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "spatzenwerkstatt.de", true */ 's', 'p', 'a', 't', 'z', 'e', 'n', 'w', 'e', 'r', 'k', 's', 't', 'a', 't', 't', '.', 'd', 'e', '\0',
   /* "spawn.cz", true */ 's', 'p', 'a', 'w', 'n', '.', 'c', 'z', '\0',
   /* "spaysy.com", true */ 's', 'p', 'a', 'y', 's', 'y', '.', 'c', 'o', 'm', '\0',
   /* "spdf.net", true */ 's', 'p', 'd', 'f', '.', 'n', 'e', 't', '\0',
   /* "specialedesigns.com", true */ 's', 'p', 'e', 'c', 'i', 'a', 'l', 'e', 'd', 'e', 's', 'i', 'g', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "speciesism.com", true */ 's', 'p', 'e', 'c', 'i', 'e', 's', 'i', 's', 'm', '.', 'c', 'o', 'm', '\0',
@@ -18280,17 +18269,16 @@ static const char kSTSHostTable[] = {
   /* "spiritualife.net", true */ 's', 'p', 'i', 'r', 'i', 't', 'u', 'a', 'l', 'i', 'f', 'e', '.', 'n', 'e', 't', '\0',
   /* "spisbilligt.dk", true */ 's', 'p', 'i', 's', 'b', 'i', 'l', 'l', 'i', 'g', 't', '.', 'd', 'k', '\0',
   /* "spitefultowel.com", true */ 's', 'p', 'i', 't', 'e', 'f', 'u', 'l', 't', 'o', 'w', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "spitfireuav.com", true */ 's', 'p', 'i', 't', 'f', 'i', 'r', 'e', 'u', 'a', 'v', '.', 'c', 'o', 'm', '\0',
   /* "splikity.com", true */ 's', 'p', 'l', 'i', 'k', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "split.is", true */ 's', 'p', 'l', 'i', 't', '.', 'i', 's', '\0',
   /* "splitdna.com", true */ 's', 'p', 'l', 'i', 't', 'd', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "splitreflection.com", true */ 's', 'p', 'l', 'i', 't', 'r', 'e', 'f', 'l', 'e', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "spodelime.com", true */ 's', 'p', 'o', 'd', 'e', 'l', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "spoketwist.com", true */ 's', 'p', 'o', 'k', 'e', 't', 'w', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "spokonline.com", true */ 's', 'p', 'o', 'k', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "spom.net", true */ 's', 'p', 'o', 'm', '.', 'n', 'e', 't', '\0',
   /* "sponc.de", true */ 's', 'p', 'o', 'n', 'c', '.', 'd', 'e', '\0',
   /* "spongepowered.org", true */ 's', 'p', 'o', 'n', 'g', 'e', 'p', 'o', 'w', 'e', 'r', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "sponsor.network", true */ 's', 'p', 'o', 'n', 's', 'o', 'r', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '\0',
   /* "sponsorowani.pl", true */ 's', 'p', 'o', 'n', 's', 'o', 'r', 'o', 'w', 'a', 'n', 'i', '.', 'p', 'l', '\0',
   /* "spoofhaus.com", true */ 's', 'p', 'o', 'o', 'f', 'h', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
@@ -18359,16 +18347,17 @@ static const char kSTSHostTable[] = {
   /* "srpdb.com", true */ 's', 'r', 'p', 'd', 'b', '.', 'c', 'o', 'm', '\0',
   /* "srrdb.com", true */ 's', 'r', 'r', 'd', 'b', '.', 'c', 'o', 'm', '\0',
   /* "srroddy.com", true */ 's', 'r', 'r', 'o', 'd', 'd', 'y', '.', 'c', 'o', 'm', '\0',
   /* "srv.so", true */ 's', 'r', 'v', '.', 's', 'o', '\0',
   /* "srv47.de", true */ 's', 'r', 'v', '4', '7', '.', 'd', 'e', '\0',
   /* "ss-free.net", true */ 's', 's', '-', 'f', 'r', 'e', 'e', '.', 'n', 'e', 't', '\0',
   /* "ss-x.ru", true */ 's', 's', '-', 'x', '.', 'r', 'u', '\0',
   /* "ss.lt", true */ 's', 's', '.', 'l', 't', '\0',
+  /* "ss.lv", true */ 's', 's', '.', 'l', 'v', '\0',
   /* "ss.ua", true */ 's', 's', '.', 'u', 'a', '\0',
   /* "ss64.com", true */ 's', 's', '6', '4', '.', 'c', 'o', 'm', '\0',
   /* "ss64.org", true */ 's', 's', '6', '4', '.', 'o', 'r', 'g', '\0',
   /* "ssa.gov", false */ 's', 's', 'a', '.', 'g', 'o', 'v', '\0',
   /* "ssbkk.ru", true */ 's', 's', 'b', 'k', 'k', '.', 'r', 'u', '\0',
   /* "ssbrm.ch", true */ 's', 's', 'b', 'r', 'm', '.', 'c', 'h', '\0',
   /* "sscd.no", true */ 's', 's', 'c', 'd', '.', 'n', 'o', '\0',
   /* "ssdax.com", true */ 's', 's', 'd', 'a', 'x', '.', 'c', 'o', 'm', '\0',
@@ -18718,16 +18707,17 @@ static const char kSTSHostTable[] = {
   /* "suksit.com", true */ 's', 'u', 'k', 's', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "sulek.eu", true */ 's', 'u', 'l', 'e', 'k', '.', 'e', 'u', '\0',
   /* "sumguy.com", true */ 's', 'u', 'm', 'g', 'u', 'y', '.', 'c', 'o', 'm', '\0',
   /* "summa.eu", false */ 's', 'u', 'm', 'm', 'a', '.', 'e', 'u', '\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',
   /* "sungo.wtf", true */ 's', 'u', 'n', 'g', 'o', '.', 'w', 't', 'f', '\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',
   /* "sunsmartresorts.com", true */ 's', 'u', 'n', 's', 'm', 'a', 'r', 't', 'r', 'e', 's', 'o', 'r', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "sunstar.bg", true */ 's', 'u', 'n', 's', 't', 'a', 'r', '.', 'b', 'g', '\0',
   /* "supa.sexy", true */ 's', 'u', 'p', 'a', '.', 's', 'e', 'x', 'y', '\0',
   /* "supastuds.com", true */ 's', 'u', 'p', 'a', 's', 't', 'u', 'd', 's', '.', 'c', 'o', 'm', '\0',
@@ -18899,17 +18889,16 @@ static const char kSTSHostTable[] = {
   /* "szamitogepdepo.com", true */ 's', 'z', 'a', 'm', 'i', 't', 'o', 'g', 'e', 'p', 'd', 'e', 'p', 'o', '.', 'c', 'o', 'm', '\0',
   /* "szaydon.me", false */ 's', 'z', 'a', 'y', 'd', 'o', 'n', '.', 'm', 'e', '\0',
   /* "szechenyi2020.hu", true */ 's', 'z', 'e', 'c', 'h', 'e', 'n', 'y', 'i', '2', '0', '2', '0', '.', 'h', 'u', '\0',
   /* "szentistvanpt.sk", true */ 's', 'z', 'e', 'n', 't', 'i', 's', 't', 'v', 'a', 'n', 'p', 't', '.', 's', 'k', '\0',
   /* "szongott.net", true */ 's', 'z', 'o', 'n', 'g', 'o', 't', 't', '.', 'n', 'e', 't', '\0',
   /* "szyndler.ch", true */ 's', 'z', 'y', 'n', 'd', 'l', 'e', 'r', '.', 'c', 'h', '\0',
   /* "t-hawk.com", true */ 't', '-', 'h', 'a', 'w', 'k', '.', 'c', 'o', 'm', '\0',
   /* "t-point.eu", true */ 't', '-', 'p', 'o', 'i', 'n', 't', '.', 'e', 'u', '\0',
-  /* "t-stonegroup.com", true */ 't', '-', 's', 't', 'o', 'n', 'e', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "t.facebook.com", false */ 't', '.', 'f', 'a', 'c', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "t0ne.net", true */ 't', '0', 'n', 'e', '.', 'n', 'e', 't', '\0',
   /* "t2000headphones.com", true */ 't', '2', '0', '0', '0', 'h', 'e', 'a', 'd', 'p', 'h', 'o', 'n', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "t2000laserpointers.com", true */ 't', '2', '0', '0', '0', 'l', 'a', 's', 'e', 'r', 'p', 'o', 'i', 'n', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "t23m-navi.jp", false */ 't', '2', '3', 'm', '-', 'n', 'a', 'v', 'i', '.', 'j', 'p', '\0',
   /* "t3rror.net", true */ 't', '3', 'r', 'r', 'o', 'r', '.', 'n', 'e', 't', '\0',
   /* "t7e.de", false */ 't', '7', 'e', '.', 'd', 'e', '\0',
   /* "ta-65.com", true */ 't', 'a', '-', '6', '5', '.', 'c', 'o', 'm', '\0',
@@ -19223,16 +19212,17 @@ static const char kSTSHostTable[] = {
   /* "tessai.ga", true */ 't', 'e', 's', 's', 'a', 'i', '.', 'g', 'a', '\0',
   /* "testadren.com", true */ 't', 'e', 's', 't', 'a', 'd', 'r', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "testadron.com", true */ 't', 'e', 's', 't', 'a', 'd', 'r', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "testbawks.com", true */ 't', 'e', 's', 't', 'b', 'a', 'w', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "testbirds.cz", true */ 't', 'e', 's', 't', 'b', 'i', 'r', 'd', 's', '.', 'c', 'z', '\0',
   /* "testbirds.sk", true */ 't', 'e', 's', 't', 'b', 'i', 'r', 'd', 's', '.', 's', 'k', '\0',
   /* "testgeomed.ro", true */ 't', 'e', 's', 't', 'g', 'e', 'o', 'm', 'e', 'd', '.', 'r', 'o', '\0',
   /* "testingbot.com", false */ 't', 'e', 's', 't', 'i', 'n', 'g', 'b', 'o', 't', '.', 'c', 'o', 'm', '\0',
+  /* "testnode.xyz", false */ 't', 'e', 's', 't', 'n', 'o', 'd', 'e', '.', 'x', 'y', 'z', '\0',
   /* "testomato.com", true */ 't', 'e', 's', 't', 'o', 'm', 'a', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "testosterone-complex.com", true */ 't', 'e', 's', 't', 'o', 's', 't', 'e', 'r', 'o', 'n', 'e', '-', 'c', 'o', 'm', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
   /* "testsuite.org", true */ 't', 'e', 's', 't', 's', 'u', 'i', 't', 'e', '.', 'o', 'r', 'g', '\0',
   /* "testuje.net", true */ 't', 'e', 's', 't', 'u', 'j', 'e', '.', 'n', 'e', 't', '\0',
   /* "tetramax.eu", true */ 't', 'e', 't', 'r', 'a', 'm', 'a', 'x', '.', 'e', 'u', '\0',
   /* "tetrarch.co", true */ 't', 'e', 't', 'r', 'a', 'r', 'c', 'h', '.', 'c', 'o', '\0',
   /* "tetsumaki.net", true */ 't', 'e', 't', 's', 'u', 'm', 'a', 'k', 'i', '.', 'n', 'e', 't', '\0',
   /* "teufelsystem.de", true */ 't', 'e', 'u', 'f', 'e', 'l', 's', 'y', 's', 't', 'e', 'm', '.', 'd', 'e', '\0',
@@ -19323,17 +19313,16 @@ static const char kSTSHostTable[] = {
   /* "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',
   /* "thedrinks.co", true */ 't', 'h', 'e', 'd', 'r', 'i', 'n', 'k', 's', '.', 'c', 'o', '\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',
   /* "theeducationdirectory.org", true */ 't', 'h', 'e', 'e', 'd', 'u', 'c', 'a', 't', 'i', 'o', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '.', 'o', 'r', 'g', '\0',
-  /* "theeyeopener.com", true */ 't', 'h', 'e', 'e', 'y', 'e', 'o', 'p', 'e', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "theflyingbear.net", true */ 't', 'h', 'e', 'f', 'l', 'y', 'i', 'n', 'g', 'b', 'e', 'a', 'r', '.', 'n', 'e', 't', '\0',
   /* "thefnafarchive.org", true */ 't', 'h', 'e', 'f', 'n', 'a', 'f', 'a', 'r', 'c', 'h', 'i', 'v', 'e', '.', 'o', 'r', 'g', '\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',
   /* "thegarrowcompany.com", true */ 't', 'h', 'e', 'g', 'a', 'r', 'r', 'o', 'w', 'c', 'o', 'm', 'p', 'a', 'n', 'y', '.', 'c', 'o', 'm', '\0',
   /* "thegasshop.co.uk", false */ 't', 'h', 'e', 'g', 'a', 's', 's', 'h', 'o', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0',
@@ -19703,17 +19692,16 @@ static const char kSTSHostTable[] = {
   /* "tocaro.im", true */ 't', 'o', 'c', 'a', 'r', 'o', '.', 'i', 'm', '\0',
   /* "toccoig.com", true */ 't', 'o', 'c', 'c', 'o', 'i', 'g', '.', 'c', 'o', 'm', '\0',
   /* "tochi-urikata.net", true */ 't', 'o', 'c', 'h', 'i', '-', 'u', 'r', 'i', 'k', 'a', 't', 'a', '.', 'n', 'e', 't', '\0',
   /* "todapolitica.com", true */ 't', 'o', 'd', 'a', 'p', 'o', 'l', 'i', 't', 'i', 'c', 'a', '.', 'c', 'o', 'm', '\0',
   /* "todaymeow.com", true */ 't', 'o', 'd', 'a', 'y', 'm', 'e', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "todoescine.com", true */ 't', 'o', 'd', 'o', 'e', 's', 'c', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "todoist.com", true */ 't', 'o', 'd', 'o', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "todon.fr", true */ 't', 'o', 'd', 'o', 'n', '.', 'f', 'r', '\0',
-  /* "toeglhofer.at", true */ 't', 'o', 'e', 'g', 'l', 'h', 'o', 'f', 'e', 'r', '.', 'a', 't', '\0',
   /* "tofa-koeln.de", true */ 't', 'o', 'f', 'a', '-', 'k', 'o', 'e', 'l', 'n', '.', 'd', 'e', '\0',
   /* "tofe.io", true */ 't', 'o', 'f', 'e', '.', 'i', 'o', '\0',
   /* "tofilmhub.com", true */ 't', 'o', 'f', 'i', 'l', 'm', 'h', 'u', 'b', '.', 'c', 'o', 'm', '\0',
   /* "togech.jp", true */ 't', 'o', 'g', 'e', 'c', 'h', '.', 'j', 'p', '\0',
   /* "togetter.com", true */ 't', 'o', 'g', 'e', 't', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "tojeto.eu", true */ 't', 'o', 'j', 'e', 't', 'o', '.', 'e', 'u', '\0',
   /* "tokage.me", true */ 't', 'o', 'k', 'a', 'g', 'e', '.', 'm', 'e', '\0',
   /* "tokaido-kun.jp", true */ 't', 'o', 'k', 'a', 'i', 'd', 'o', '-', 'k', 'u', 'n', '.', 'j', 'p', '\0',
@@ -19744,16 +19732,17 @@ static const char kSTSHostTable[] = {
   /* "tomaspialek.cz", true */ 't', 'o', 'm', 'a', 's', 'p', 'i', 'a', 'l', 'e', 'k', '.', 'c', 'z', '\0',
   /* "tomatenaufdenaugen.de", true */ 't', 'o', 'm', 'a', 't', 'e', 'n', 'a', 'u', 'f', 'd', 'e', 'n', 'a', 'u', 'g', 'e', 'n', '.', 'd', 'e', '\0',
   /* "tomaw.net", true */ 't', 'o', 'm', 'a', 'w', '.', 'n', 'e', 't', '\0',
   /* "tombaker.me", true */ 't', 'o', 'm', 'b', 'a', 'k', 'e', 'r', '.', 'm', 'e', '\0',
   /* "tomberek.info", true */ 't', 'o', 'm', 'b', 'e', 'r', 'e', 'k', '.', 'i', 'n', 'f', 'o', '\0',
   /* "tombrossman.com", true */ 't', 'o', 'm', 'b', 'r', 'o', 's', 's', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tomcort.com", true */ 't', 'o', 'm', 'c', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "tomdudfield.com", true */ 't', 'o', 'm', 'd', 'u', 'd', 'f', 'i', 'e', 'l', 'd', '.', 'c', 'o', 'm', '\0',
+  /* "tomend.es", true */ 't', 'o', 'm', 'e', 'n', 'd', '.', 'e', 's', '\0',
   /* "tomevans.io", true */ 't', 'o', 'm', 'e', 'v', 'a', 'n', 's', '.', 'i', 'o', '\0',
   /* "tomfisher.eu", true */ 't', 'o', 'm', 'f', 'i', 's', 'h', 'e', 'r', '.', 'e', 'u', '\0',
   /* "tomharling.co.uk", true */ 't', 'o', 'm', 'h', 'a', 'r', 'l', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "tomharling.uk", true */ 't', 'o', 'm', 'h', 'a', 'r', 'l', 'i', 'n', 'g', '.', 'u', 'k', '\0',
   /* "tomi.cc", true */ 't', 'o', 'm', 'i', '.', 'c', 'c', '\0',
   /* "tomiler.com", true */ 't', 'o', 'm', 'i', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "tomjonsson.se", true */ 't', 'o', 'm', 'j', 'o', 'n', 's', 's', 'o', 'n', '.', 's', 'e', '\0',
   /* "tomkunze.de", true */ 't', 'o', 'm', 'k', 'u', 'n', 'z', 'e', '.', 'd', 'e', '\0',
@@ -19845,17 +19834,16 @@ static const char kSTSHostTable[] = {
   /* "torrentz2.eu", true */ 't', 'o', 'r', 'r', 'e', 'n', 't', 'z', '2', '.', 'e', 'u', '\0',
   /* "torresygutierrez.com", true */ 't', 'o', 'r', 'r', 'e', 's', 'y', 'g', 'u', 't', 'i', 'e', 'r', 'r', 'e', 'z', '.', 'c', 'o', 'm', '\0',
   /* "torretzalam.com", true */ 't', 'o', 'r', 'r', 'e', 't', 'z', 'a', 'l', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "torservers.net", true */ 't', 'o', 'r', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "tortoises-turtles.com", true */ 't', 'o', 'r', 't', 'o', 'i', 's', 'e', 's', '-', 't', 'u', 'r', 't', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "tosainu.com.br", true */ 't', 'o', 's', 'a', 'i', 'n', 'u', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "toscer.me", true */ 't', 'o', 's', 'c', 'e', 'r', '.', 'm', 'e', '\0',
   /* "toshkov.com", true */ 't', 'o', 's', 'h', 'k', 'o', 'v', '.', 'c', 'o', 'm', '\0',
-  /* "tosteberg.se", true */ 't', 'o', 's', 't', 'e', 'b', 'e', 'r', 'g', '.', 's', 'e', '\0',
   /* "tostu.de", true */ 't', 'o', 's', 't', 'u', '.', 'd', 'e', '\0',
   /* "totaku.ru", true */ 't', 'o', 't', 'a', 'k', 'u', '.', 'r', 'u', '\0',
   /* "totalbeauty.co.uk", true */ 't', 'o', 't', 'a', 'l', 'b', 'e', 'a', 'u', 't', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "totalcarcheck.co.uk", true */ 't', 'o', 't', 'a', 'l', 'c', 'a', 'r', 'c', 'h', 'e', 'c', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "totalchecklist.com", true */ 't', 'o', 't', 'a', 'l', 'c', 'h', 'e', 'c', 'k', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "totalhomecareinc.com", true */ 't', 'o', 't', 'a', 'l', 'h', 'o', 'm', 'e', 'c', 'a', 'r', 'e', 'i', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "totallylegitimatehosting.ru", true */ 't', 'o', 't', 'a', 'l', 'l', 'y', 'l', 'e', 'g', 'i', 't', 'i', 'm', 'a', 't', 'e', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'r', 'u', '\0',
   /* "totalprint.hu", true */ 't', 'o', 't', 'a', 'l', 'p', 'r', 'i', 'n', 't', '.', 'h', 'u', '\0',
@@ -19864,17 +19852,16 @@ static const char kSTSHostTable[] = {
   /* "totalworkout.fitness", true */ 't', 'o', 't', 'a', 'l', 'w', 'o', 'r', 'k', 'o', 'u', 't', '.', 'f', 'i', 't', 'n', 'e', 's', 's', '\0',
   /* "totch.de", true */ 't', 'o', 't', 'c', 'h', '.', 'd', 'e', '\0',
   /* "totem-international.com", true */ 't', 'o', 't', 'e', 'm', '-', 'i', 'n', 't', 'e', 'r', 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "totobetty.com", true */ 't', 'o', 't', 'o', 'b', 'e', 't', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "totot.net", true */ 't', 'o', 't', 'o', 't', '.', 'n', 'e', 't', '\0',
   /* "touch.facebook.com", false */ 't', 'o', 'u', 'c', 'h', '.', 'f', 'a', 'c', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "touch.mail.ru", true */ 't', 'o', 'u', 'c', 'h', '.', 'm', 'a', 'i', 'l', '.', 'r', 'u', '\0',
   /* "touchoflife.in", true */ 't', 'o', 'u', 'c', 'h', 'o', 'f', 'l', 'i', 'f', 'e', '.', 'i', 'n', '\0',
-  /* "touchpointidg.us", true */ 't', 'o', 'u', 'c', 'h', 'p', 'o', 'i', 'n', 't', 'i', 'd', 'g', '.', 'u', 's', '\0',
   /* "touchstonefms.co.uk", true */ 't', 'o', 'u', 'c', 'h', 's', 't', 'o', 'n', 'e', 'f', 'm', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "touha.me", true */ 't', 'o', 'u', 'h', 'a', '.', 'm', 'e', '\0',
   /* "touhou.cc", true */ 't', 'o', 'u', 'h', 'o', 'u', '.', 'c', 'c', '\0',
   /* "touray-enterprise.ch", true */ 't', 'o', 'u', 'r', 'a', 'y', '-', 'e', 'n', 't', 'e', 'r', 'p', 'r', 'i', 's', 'e', '.', 'c', 'h', '\0',
   /* "tourismwithme.com", true */ 't', 'o', 'u', 'r', 'i', 's', 'm', 'w', 'i', 't', 'h', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "tourispo.com", true */ 't', 'o', 'u', 'r', 'i', 's', 'p', 'o', '.', 'c', 'o', 'm', '\0',
   /* "tournevis.ch", true */ 't', 'o', 'u', 'r', 'n', 'e', 'v', 'i', 's', '.', 'c', 'h', '\0',
   /* "toursandtransfers.it", true */ 't', 'o', 'u', 'r', 's', 'a', 'n', 'd', 't', 'r', 'a', 'n', 's', 'f', 'e', 'r', 's', '.', 'i', 't', '\0',
@@ -19941,16 +19928,17 @@ static const char kSTSHostTable[] = {
   /* "traininglist.org", true */ 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', 'l', 'i', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "trainline.de", true */ 't', 'r', 'a', 'i', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "trainline.es", true */ 't', 'r', 'a', 'i', 'n', 'l', 'i', 'n', 'e', '.', 'e', 's', '\0',
   /* "trainline.eu", true */ 't', 'r', 'a', 'i', 'n', 'l', 'i', 'n', 'e', '.', 'e', 'u', '\0',
   /* "trainline.fr", true */ 't', 'r', 'a', 'i', 'n', 'l', 'i', 'n', 'e', '.', 'f', 'r', '\0',
   /* "trainline.it", true */ 't', 'r', 'a', 'i', 'n', 'l', 'i', 'n', 'e', '.', 'i', 't', '\0',
   /* "trainsgoodplanesbad.com", true */ 't', 'r', 'a', 'i', 'n', 's', 'g', 'o', 'o', 'd', 'p', 'l', 'a', 'n', 'e', 's', 'b', 'a', 'd', '.', 'c', 'o', 'm', '\0',
   /* "traista.ru", true */ 't', 'r', 'a', 'i', 's', 't', 'a', '.', 'r', 'u', '\0',
+  /* "trajano.net", true */ 't', 'r', 'a', 'j', 'a', 'n', 'o', '.', 'n', 'e', 't', '\0',
   /* "trakfusion.com", true */ 't', 'r', 'a', 'k', 'f', 'u', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tran.pw", true */ 't', 'r', 'a', 'n', '.', 'p', 'w', '\0',
   /* "trance-heal.com", true */ 't', 'r', 'a', 'n', 'c', 'e', '-', 'h', 'e', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "trance-heal.de", true */ 't', 'r', 'a', 'n', 'c', 'e', '-', 'h', 'e', 'a', 'l', '.', 'd', 'e', '\0',
   /* "trance-heal.me", true */ 't', 'r', 'a', 'n', 'c', 'e', '-', 'h', 'e', 'a', 'l', '.', 'm', 'e', '\0',
   /* "tranceheal.com", true */ 't', 'r', 'a', 'n', 'c', 'e', 'h', 'e', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "tranceheal.de", true */ 't', 'r', 'a', 'n', 'c', 'e', 'h', 'e', 'a', 'l', '.', 'd', 'e', '\0',
   /* "tranceheal.me", true */ 't', 'r', 'a', 'n', 'c', 'e', 'h', 'e', 'a', 'l', '.', 'm', 'e', '\0',
@@ -19970,17 +19958,16 @@ static const char kSTSHostTable[] = {
   /* "transhumanism.co.uk", true */ 't', 'r', 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'i', 's', 'm', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "transhumanist.co.uk", true */ 't', 'r', 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'i', 's', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "transhumanist.com", true */ 't', 'r', 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "transhumanist.net", true */ 't', 'r', 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'i', 's', 't', '.', 'n', 'e', 't', '\0',
   /* "transhumanist.org", true */ 't', 'r', 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'i', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "transhumanist.uk", true */ 't', 'r', 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'i', 's', 't', '.', 'u', 'k', '\0',
   /* "transitownplaza.com", true */ 't', 'r', 'a', 'n', 's', 'i', 't', 'o', 'w', 'n', 'p', 'l', 'a', 'z', 'a', '.', 'c', 'o', 'm', '\0',
   /* "transitpoint.us", true */ 't', 'r', 'a', 'n', 's', 'i', 't', 'p', 'o', 'i', 'n', 't', '.', 'u', 's', '\0',
-  /* "transl8.eu", true */ 't', 'r', 'a', 'n', 's', 'l', '8', '.', 'e', 'u', '\0',
   /* "translate.fedoraproject.org", true */ 't', 'r', 'a', 'n', 's', 'l', 'a', 't', 'e', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "translate.googleapis.com", true */ 't', 'r', 'a', 'n', 's', 'l', 'a', 't', 'e', '.', 'g', 'o', 'o', 'g', 'l', 'e', 'a', 'p', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "translate.stg.fedoraproject.org", true */ 't', 'r', 'a', 'n', 's', 'l', 'a', 't', 'e', '.', 's', 't', 'g', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "translatoruk.co.uk", true */ 't', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 'u', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "transmisjeonline.pl", true */ 't', 'r', 'a', 'n', 's', 'm', 'i', 's', 'j', 'e', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'p', 'l', '\0',
   /* "transmithe.net", true */ 't', 'r', 'a', 'n', 's', 'm', 'i', 't', 'h', 'e', '.', 'n', 'e', 't', '\0',
   /* "transparentcorp.com", true */ 't', 'r', 'a', 'n', 's', 'p', 'a', 'r', 'e', 'n', 't', 'c', 'o', 'r', 'p', '.', 'c', 'o', 'm', '\0',
   /* "transport.eu", true */ 't', 'r', 'a', 'n', 's', 'p', 'o', 'r', 't', '.', 'e', 'u', '\0',
@@ -19994,17 +19981,16 @@ static const char kSTSHostTable[] = {
   /* "travador.com", true */ 't', 'r', 'a', 'v', 'a', 'd', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "travaux-toiture-idf.fr", true */ 't', 'r', 'a', 'v', 'a', 'u', 'x', '-', 't', 'o', 'i', 't', 'u', 'r', 'e', '-', 'i', 'd', 'f', '.', 'f', 'r', '\0',
   /* "travelarmenia.org", true */ 't', 'r', 'a', 'v', 'e', 'l', 'a', 'r', 'm', 'e', 'n', 'i', 'a', '.', 'o', 'r', 'g', '\0',
   /* "traveling-thailand.info", true */ 't', 'r', 'a', 'v', 'e', 'l', 'i', 'n', 'g', '-', 't', 'h', 'a', 'i', 'l', 'a', 'n', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "travelinsightswriter.com", true */ 't', 'r', 'a', 'v', 'e', 'l', 'i', 'n', 's', 'i', 'g', 'h', 't', 's', 'w', 'r', 'i', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "travellers.dating", true */ 't', 'r', 'a', 'v', 'e', 'l', 'l', 'e', 'r', 's', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "travelling.expert", true */ 't', 'r', 'a', 'v', 'e', 'l', 'l', 'i', 'n', 'g', '.', 'e', 'x', 'p', 'e', 'r', 't', '\0',
   /* "travelogue.jp", true */ 't', 'r', 'a', 'v', 'e', 'l', 'o', 'g', 'u', 'e', '.', 'j', 'p', '\0',
-  /* "travelpricecheck.com", true */ 't', 'r', 'a', 'v', 'e', 'l', 'p', 'r', 'i', 'c', 'e', 'c', 'h', 'e', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "travi.org", true */ 't', 'r', 'a', 'v', 'i', '.', 'o', 'r', 'g', '\0',
   /* "travisf.net", true */ 't', 'r', 'a', 'v', 'i', 's', 'f', '.', 'n', 'e', 't', '\0',
   /* "travisforte.io", true */ 't', 'r', 'a', 'v', 'i', 's', 'f', 'o', 'r', 't', 'e', '.', 'i', 'o', '\0',
   /* "travisfranck.com", true */ 't', 'r', 'a', 'v', 'i', 's', 'f', 'r', 'a', 'n', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "travler.net", true */ 't', 'r', 'a', 'v', 'l', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "trbanka.com", true */ 't', 'r', 'b', 'a', 'n', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "treasurydirect.gov", true */ 't', 'r', 'e', 'a', 's', 'u', 'r', 'y', 'd', 'i', 'r', 'e', 'c', 't', '.', 'g', 'o', 'v', '\0',
   /* "treasuryhunt.gov", true */ 't', 'r', 'e', 'a', 's', 'u', 'r', 'y', 'h', 'u', 'n', 't', '.', 'g', 'o', 'v', '\0',
@@ -20167,31 +20153,33 @@ static const char kSTSHostTable[] = {
   /* "tussengelegenwoningverkopen.nl", true */ 't', 'u', 's', 's', 'e', 'n', 'g', 'e', 'l', 'e', 'g', 'e', 'n', 'w', 'o', 'n', 'i', 'n', 'g', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "tuto-craft.com", true */ 't', 'u', 't', 'o', '-', 'c', 'r', 'a', 'f', 't', '.', 'c', 'o', 'm', '\0',
   /* "tutoragency.org", true */ 't', 'u', 't', 'o', 'r', 'a', 'g', 'e', 'n', 'c', 'y', '.', 'o', 'r', 'g', '\0',
   /* "tutorialinux.com", true */ 't', 'u', 't', 'o', 'r', 'i', 'a', 'l', 'i', 'n', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "tutorio.ga", true */ 't', 'u', 't', 'o', 'r', 'i', 'o', '.', 'g', 'a', '\0',
   /* "tuttimundi.org", true */ 't', 'u', 't', 't', 'i', 'm', 'u', 'n', 'd', 'i', '.', 'o', 'r', 'g', '\0',
   /* "tuttoandroid.net", true */ 't', 'u', 't', 't', 'o', 'a', 'n', 'd', 'r', 'o', 'i', 'd', '.', 'n', 'e', 't', '\0',
   /* "tuxcloud.net", true */ 't', 'u', 'x', 'c', 'l', 'o', 'u', 'd', '.', 'n', 'e', 't', '\0',
+  /* "tuxflow.de", true */ 't', 'u', 'x', 'f', 'l', 'o', 'w', '.', 'd', 'e', '\0',
   /* "tuxgeo.com", false */ 't', 'u', 'x', 'g', 'e', 'o', '.', 'c', 'o', 'm', '\0',
   /* "tuxie.com", true */ 't', 'u', 'x', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "tuxlife.net", true */ 't', 'u', 'x', 'l', 'i', 'f', 'e', '.', 'n', 'e', 't', '\0',
   /* "tuxpeliculas.com", true */ 't', 'u', 'x', 'p', 'e', 'l', 'i', 'c', 'u', 'l', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "tuxplace.nl", true */ 't', 'u', 'x', 'p', 'l', 'a', 'c', 'e', '.', 'n', 'l', '\0',
   /* "tuxtimo.me", true */ 't', 'u', 'x', 't', 'i', 'm', 'o', '.', 'm', 'e', '\0',
   /* "tuzaijidi.com", true */ 't', 'u', 'z', 'a', 'i', 'j', 'i', 'd', 'i', '.', 'c', 'o', 'm', '\0',
   /* "tv2vie.org", false */ 't', 'v', '2', 'v', 'i', 'e', '.', 'o', 'r', 'g', '\0',
   /* "tvbeugels.nl", false */ 't', 'v', 'b', 'e', 'u', 'g', 'e', 'l', 's', '.', 'n', 'l', '\0',
   /* "tvc.red", true */ 't', 'v', 'c', '.', 'r', 'e', 'd', '\0',
   /* "tvcal.net", true */ 't', 'v', 'c', 'a', 'l', '.', 'n', 'e', 't', '\0',
   /* "tvcmarketing.com", true */ 't', 'v', 'c', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "tver-msk.ru", true */ 't', 'v', 'e', 'r', '-', 'm', 's', 'k', '.', 'r', 'u', '\0',
   /* "tverskaya-outlet.ru", true */ 't', 'v', 'e', 'r', 's', 'k', 'a', 'y', 'a', '-', 'o', 'u', 't', 'l', 'e', 't', '.', 'r', 'u', '\0',
   /* "tw.search.yahoo.com", false */ 't', 'w', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
+  /* "tw2-tools.ga", true */ 't', 'w', '2', '-', 't', 'o', 'o', 'l', 's', '.', 'g', 'a', '\0',
   /* "twaka.com", true */ 't', 'w', 'a', 'k', 'a', '.', 'c', 'o', 'm', '\0',
   /* "twd2.me", true */ 't', 'w', 'd', '2', '.', 'm', 'e', '\0',
   /* "twd2.net", false */ 't', 'w', 'd', '2', '.', 'n', 'e', 't', '\0',
   /* "tweakers.net", true */ 't', 'w', 'e', 'a', 'k', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "tweakersbadge.nl", true */ 't', 'w', 'e', 'a', 'k', 'e', 'r', 's', 'b', 'a', 'd', 'g', 'e', '.', 'n', 'l', '\0',
   /* "twee-onder-een-kap-woning-in-alphen-aan-den-rijn-kopen.nl", true */ 't', 'w', 'e', 'e', '-', 'o', 'n', 'd', 'e', 'r', '-', 'e', 'e', 'n', '-', 'k', 'a', 'p', '-', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'a', 'l', 'p', 'h', 'e', 'n', '-', 'a', 'a', 'n', '-', 'd', 'e', 'n', '-', 'r', 'i', 'j', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "twee-onder-een-kap-woning-in-brielle-kopen.nl", true */ 't', 'w', 'e', 'e', '-', 'o', 'n', 'd', 'e', 'r', '-', 'e', 'e', 'n', '-', 'k', 'a', 'p', '-', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'b', 'r', 'i', 'e', 'l', 'l', 'e', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "twee-onder-een-kap-woning-in-de-friese-meren-kopen.nl", true */ 't', 'w', 'e', 'e', '-', 'o', 'n', 'd', 'e', 'r', '-', 'e', 'e', 'n', '-', 'k', 'a', 'p', '-', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'd', 'e', '-', 'f', 'r', 'i', 'e', 's', 'e', '-', 'm', 'e', 'r', 'e', 'n', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
@@ -20337,17 +20325,16 @@ static const char kSTSHostTable[] = {
   /* "unblocked.live", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'l', 'i', 'v', 'e', '\0',
   /* "unblocked.one", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'o', 'n', 'e', '\0',
   /* "unblocked.uno", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'u', 'n', 'o', '\0',
   /* "unblocked.vip", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'v', 'i', 'p', '\0',
   /* "unblockedbay.info", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', 'b', 'a', 'y', '.', 'i', 'n', 'f', 'o', '\0',
   /* "unblockweb.co", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'w', 'e', 'b', '.', 'c', 'o', '\0',
   /* "uncensoreddns.dk", true */ 'u', 'n', 'c', 'e', 'n', 's', 'o', 'r', 'e', 'd', 'd', 'n', 's', '.', 'd', 'k', '\0',
   /* "uncensoreddns.org", true */ 'u', 'n', 'c', 'e', 'n', 's', 'o', 'r', 'e', 'd', 'd', 'n', 's', '.', 'o', 'r', 'g', '\0',
-  /* "undernet.uy", false */ 'u', 'n', 'd', 'e', 'r', 'n', 'e', 't', '.', 'u', 'y', '\0',
   /* "underskatten.tk", true */ 'u', 'n', 'd', 'e', 'r', 's', 'k', 'a', 't', 't', 'e', 'n', '.', 't', 'k', '\0',
   /* "undo.co.il", true */ 'u', 'n', 'd', 'o', '.', 'c', 'o', '.', 'i', 'l', '\0',
   /* "undone.me", true */ 'u', 'n', 'd', 'o', 'n', 'e', '.', 'm', 'e', '\0',
   /* "unearaigneeauplafond.fr", false */ 'u', 'n', 'e', 'a', 'r', 'a', 'i', 'g', 'n', 'e', 'e', 'a', 'u', 'p', 'l', 'a', 'f', 'o', 'n', 'd', '.', 'f', 'r', '\0',
   /* "unefuite.ch", true */ 'u', 'n', 'e', 'f', 'u', 'i', 't', 'e', '.', 'c', 'h', '\0',
   /* "unexpected.nu", true */ 'u', 'n', 'e', 'x', 'p', 'e', 'c', 't', 'e', 'd', '.', 'n', 'u', '\0',
   /* "unfettered.net", false */ 'u', 'n', 'f', 'e', 't', 't', 'e', 'r', 'e', 'd', '.', 'n', 'e', 't', '\0',
   /* "unfuddle.cn", true */ 'u', 'n', 'f', 'u', 'd', 'd', 'l', 'e', '.', 'c', 'n', '\0',
@@ -20442,16 +20429,17 @@ static const char kSTSHostTable[] = {
   /* "upitnik.rs", true */ 'u', 'p', 'i', 't', 'n', 'i', 'k', '.', 'r', 's', '\0',
   /* "uplinklabs.net", true */ 'u', 'p', 'l', 'i', 'n', 'k', 'l', 'a', 'b', 's', '.', 'n', 'e', 't', '\0',
   /* "upload.facebook.com", false */ 'u', 'p', 'l', 'o', 'a', 'd', '.', 'f', 'a', 'c', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "uploadbeta.com", true */ 'u', 'p', 'l', 'o', 'a', 'd', 'b', 'e', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "upmchealthsecurity.us", true */ 'u', 'p', 'm', 'c', 'h', 'e', 'a', 'l', 't', 'h', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'u', 's', '\0',
   /* "upnext.io", true */ 'u', 'p', 'n', 'e', 'x', 't', '.', 'i', 'o', '\0',
   /* "upplevelse.com", true */ 'u', 'p', 'p', 'l', 'e', 'v', 'e', 'l', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "upr-info.org", true */ 'u', 'p', 'r', '-', 'i', 'n', 'f', 'o', '.', 'o', 'r', 'g', '\0',
+  /* "upr.com.ua", true */ 'u', 'p', 'r', '.', 'c', 'o', 'm', '.', 'u', 'a', '\0',
   /* "uptic.net", true */ 'u', 'p', 't', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "uptimed.com", true */ 'u', 'p', 't', 'i', 'm', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "uptimenotguaranteed.com", true */ 'u', 'p', 't', 'i', 'm', 'e', 'n', 'o', 't', 'g', 'u', 'a', 'r', 'a', 'n', 't', 'e', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "uptogood.org", true */ 'u', 'p', 't', 'o', 'g', 'o', 'o', 'd', '.', 'o', 'r', 'g', '\0',
   /* "uptrends.com", true */ 'u', 'p', 't', 'r', 'e', 'n', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "uptrends.de", true */ 'u', 'p', 't', 'r', 'e', 'n', 'd', 's', '.', 'd', 'e', '\0',
   /* "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',
@@ -20713,16 +20701,17 @@ static const char kSTSHostTable[] = {
   /* "versagercloud.de", true */ 'v', 'e', 'r', 's', 'a', 'g', 'e', 'r', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
   /* "versbeton.nl", true */ 'v', 'e', 'r', 's', 'b', 'e', 't', 'o', 'n', '.', 'n', 'l', '\0',
   /* "versicherungskontor.net", false */ 'v', 'e', 'r', 's', 'i', 'c', 'h', 'e', 'r', 'u', 'n', 'g', 's', 'k', 'o', 'n', 't', 'o', 'r', '.', 'n', 'e', 't', '\0',
   /* "verspai.de", true */ 'v', 'e', 'r', 's', 'p', 'a', 'i', '.', 'd', 'e', '\0',
   /* "vertebrates.com", true */ 'v', 'e', 'r', 't', 'e', 'b', 'r', 'a', 't', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "vertner.net", true */ 'v', 'e', 'r', 't', 'n', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "veryapt.com", true */ 'v', 'e', 'r', 'y', 'a', 'p', 't', '.', 'c', 'o', 'm', '\0',
   /* "veryyounglesbians.com", true */ 'v', 'e', 'r', 'y', 'y', 'o', 'u', 'n', 'g', 'l', 'e', 's', 'b', 'i', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0',
+  /* "ves.vn.ua", true */ 'v', 'e', 's', '.', 'v', 'n', '.', 'u', 'a', '\0',
   /* "vespacascadia.com", true */ 'v', 'e', 's', 'p', 'a', 'c', 'a', 's', 'c', 'a', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "vetinte.eu", true */ 'v', 'e', 't', 'i', 'n', 't', 'e', '.', 'e', 'u', '\0',
   /* "vetofish.com", true */ 'v', 'e', 't', 'o', 'f', 'i', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "vets.gov", true */ 'v', 'e', 't', 's', '.', 'g', 'o', 'v', '\0',
   /* "vfdworld.com", true */ 'v', 'f', 'd', 'w', 'o', 'r', 'l', 'd', '.', 'c', 'o', 'm', '\0',
   /* "vfn-nrw.de", true */ 'v', 'f', 'n', '-', 'n', 'r', 'w', '.', 'd', 'e', '\0',
   /* "vgatest.nl", true */ 'v', 'g', 'a', 't', 'e', 's', 't', '.', 'n', 'l', '\0',
   /* "vgerak.com", true */ 'v', 'g', 'e', 'r', 'a', 'k', '.', 'c', 'o', 'm', '\0',
@@ -20761,17 +20750,16 @@ static const char kSTSHostTable[] = {
   /* "viennan.net", true */ 'v', 'i', 'e', 'n', 'n', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "vierpfeile.de", true */ 'v', 'i', 'e', 'r', 'p', 'f', 'e', 'i', 'l', 'e', '.', 'd', 'e', '\0',
   /* "vierpluseins.wtf", true */ 'v', 'i', 'e', 'r', 'p', 'l', 'u', 's', 'e', 'i', 'n', 's', '.', 'w', 't', 'f', '\0',
   /* "vietnamchevrolet.net", true */ 'v', 'i', 'e', 't', 'n', 'a', 'm', 'c', 'h', 'e', 'v', 'r', 'o', 'l', 'e', 't', '.', 'n', 'e', 't', '\0',
   /* "vietnamese.dating", true */ 'v', 'i', 'e', 't', 'n', 'a', 'm', 'e', 's', 'e', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "vietnamhost.vn", false */ 'v', 'i', 'e', 't', 'n', 'a', 'm', 'h', 'o', 's', 't', '.', 'v', 'n', '\0',
   /* "vietnamwomenveterans.org", true */ 'v', 'i', 'e', 't', 'n', 'a', 'm', 'w', 'o', 'm', 'e', 'n', 'v', 'e', 't', 'e', 'r', 'a', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "vieux.pro", true */ 'v', 'i', 'e', 'u', 'x', '.', 'p', 'r', 'o', '\0',
-  /* "viewmyrecords.com", true */ 'v', 'i', 'e', 'w', 'm', 'y', 'r', 'e', 'c', 'o', 'r', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "viewsea.com", false */ 'v', 'i', 'e', 'w', 's', 'e', 'a', '.', 'c', 'o', 'm', '\0',
   /* "vigenebio.com", true */ 'v', 'i', 'g', 'e', 'n', 'e', 'b', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "vigilantnow.com", true */ 'v', 'i', 'g', 'i', 'l', 'a', 'n', 't', 'n', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "vigo-krankenversicherung.de", true */ 'v', 'i', 'g', 'o', '-', 'k', 'r', 'a', 'n', 'k', 'e', 'n', 'v', 'e', 'r', 's', 'i', 'c', 'h', 'e', 'r', 'u', 'n', 'g', '.', 'd', 'e', '\0',
   /* "vigo-tarife.de", true */ 'v', 'i', 'g', 'o', '-', 't', 'a', 'r', 'i', 'f', 'e', '.', 'd', 'e', '\0',
   /* "vigrey.com", true */ 'v', 'i', 'g', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "viikko.eu", true */ 'v', 'i', 'i', 'k', 'k', 'o', '.',