Merge mozilla-central to autoland
authorDorel Luca <dluca@mozilla.com>
Tue, 03 Apr 2018 01:12:17 +0300
changeset 776466 05b85c67123d3bdfb4a6c5186b05083e468e44c7
parent 776465 3dcf849314cef1cd37d7c700baa1444502268c35 (current diff)
parent 776387 445255800255bb13ed096b5b7da36aa835e41dd8 (diff)
child 776467 08b1a5f904e447b46dd1f93551f01f8f10c87239
push id104888
push userbmo:emilio@crisal.io
push dateTue, 03 Apr 2018 07:00:14 +0000
milestone61.0a1
Merge mozilla-central to autoland
browser/components/enterprisepolicies/schemas/policies-schema.json
browser/themes/linux/social/services-16.png
browser/themes/linux/social/services-64.png
browser/themes/osx/social/services-16.png
browser/themes/osx/social/services-16@2x.png
browser/themes/osx/social/services-64.png
browser/themes/osx/social/services-64@2x.png
browser/themes/windows/social/services-16.png
browser/themes/windows/social/services-64.png
--- a/browser/components/enterprisepolicies/schemas/policies-schema.json
+++ b/browser/components/enterprisepolicies/schemas/policies-schema.json
@@ -472,16 +472,17 @@
       "first_available": "60.0",
 
       "type": "boolean"
     },
 
     "SearchBar": {
       "description": "Sets the default location of the search bar. Only applies on firtrun, but can be changed.",
       "first_available": "60.0",
+      "enterprise_only": true,
 
       "type": "string",
       "enum": ["unified", "separate"]
     },
 
     "SearchEngines": {
       "description": "Modifies the list of search engines built into Firefox",
       "first_available": "60.0",
--- a/browser/config/mozconfigs/win32/clang
+++ b/browser/config/mozconfigs/win32/clang
@@ -5,11 +5,14 @@ MOZ_AUTOMATION_L10N_CHECK=0
 . "$topsrcdir/build/mozconfig.win-common"
 . "$topsrcdir/browser/config/mozconfigs/common"
 
 ac_add_options --enable-optimize
 
 ac_add_options --enable-clang-plugin
 
 . $topsrcdir/build/win32/mozconfig.vs-latest
+# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
+# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
+export LINKER=link
 
 . "$topsrcdir/build/mozconfig.common.override"
 . "$topsrcdir/build/mozconfig.clang-cl"
--- a/browser/config/mozconfigs/win32/clang-debug
+++ b/browser/config/mozconfigs/win32/clang-debug
@@ -6,11 +6,14 @@ MOZ_AUTOMATION_L10N_CHECK=0
 . "$topsrcdir/browser/config/mozconfigs/common"
 
 ac_add_options --enable-optimize
 ac_add_options --enable-debug
 
 ac_add_options --enable-clang-plugin
 
 . $topsrcdir/build/win32/mozconfig.vs-latest
+# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
+# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
+export LINKER=link
 
 . "$topsrcdir/build/mozconfig.common.override"
 . "$topsrcdir/build/mozconfig.clang-cl"
--- a/browser/config/mozconfigs/win32/debug-static-analysis
+++ b/browser/config/mozconfigs/win32/debug-static-analysis
@@ -6,11 +6,14 @@ MOZ_AUTOMATION_L10N_CHECK=0
 . "$topsrcdir/browser/config/mozconfigs/common"
 
 ac_add_options --enable-debug
 ac_add_options --enable-dmd
 
 ac_add_options --enable-clang-plugin
 
 . $topsrcdir/build/win32/mozconfig.vs-latest
+# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
+# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
+export LINKER=link
 
 . "$topsrcdir/build/mozconfig.common.override"
 . "$topsrcdir/build/mozconfig.clang-cl"
--- a/browser/config/mozconfigs/win64/clang
+++ b/browser/config/mozconfigs/win64/clang
@@ -5,11 +5,14 @@ MOZ_AUTOMATION_PACKAGE_TEST=0
 . "$topsrcdir/browser/config/mozconfigs/common"
 . "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
 
 ac_add_options --enable-optimize
 
 ac_add_options --enable-clang-plugin
 
 . $topsrcdir/build/win64/mozconfig.vs-latest
+# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
+# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
+export LINKER=link
 
 . "$topsrcdir/build/mozconfig.common.override"
 . "$topsrcdir/build/mozconfig.clang-cl"
--- a/browser/config/mozconfigs/win64/clang-debug
+++ b/browser/config/mozconfigs/win64/clang-debug
@@ -6,11 +6,14 @@ MOZ_AUTOMATION_PACKAGE_TEST=0
 . "$topsrcdir/browser/config/mozconfigs/win64/common-win64"
 
 ac_add_options --enable-optimize
 ac_add_options --enable-debug
 
 ac_add_options --enable-clang-plugin
 
 . $topsrcdir/build/win64/mozconfig.vs-latest
+# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
+# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
+export LINKER=link
 
 . "$topsrcdir/build/mozconfig.common.override"
 . "$topsrcdir/build/mozconfig.clang-cl"
--- a/browser/config/mozconfigs/win64/debug-searchfox
+++ b/browser/config/mozconfigs/win64/debug-searchfox
@@ -8,11 +8,14 @@ MOZ_AUTOMATION_L10N_CHECK=0
 
 ac_add_options --enable-optimize
 ac_add_options --enable-debug
 
 ac_add_options --enable-clang-plugin
 ac_add_options --enable-mozsearch-plugin
 
 . $topsrcdir/build/win64/mozconfig.vs-latest
+# Regardless of what mozconfig.vs-latest sets, clang-plugin builds need to use
+# the Microsoft linker until at least bugs 1414287 and 1427808 are resolved.
+export LINKER=link
 
 . "$topsrcdir/build/mozconfig.common.override"
 . "$topsrcdir/build/mozconfig.clang-cl"
--- a/browser/installer/allowed-dupes.mn
+++ b/browser/installer/allowed-dupes.mn
@@ -6,20 +6,20 @@
 #
 
 # updater on osx is bug 1311194
 LaunchServices/org.mozilla.updater
 updater.app/Contents/MacOS/org.mozilla.updater
 updater.app/Contents/PkgInfo
 browser/chrome.manifest
 # browser branding / themes is bug 1313106
-browser/chrome/browser/content/branding/icon128.png
 browser/chrome/browser/content/branding/icon16.png
 browser/chrome/browser/content/branding/icon32.png
 browser/chrome/browser/content/branding/icon48.png
+browser/chrome/browser/content/branding/icon64.png
 browser/chrome/browser/content/browser/defaultthemes/5.header.png
 browser/chrome/browser/content/browser/extension.svg
 browser/chrome/browser/content/browser/places/bookmarkProperties.xul
 browser/chrome/browser/content/browser/places/bookmarkProperties2.xul
 browser/chrome/browser/skin/classic/browser/addons/addon-install-confirm.svg
 browser/chrome/browser/skin/classic/browser/connection-secure.svg
 browser/chrome/browser/skin/classic/browser/controlcenter/warning-gray.svg
 # devtools reduction is bug 1311178
@@ -140,10 +140,10 @@ res/table-remove-column-active.gif
 res/table-remove-column-hover.gif
 res/table-remove-column.gif
 res/table-remove-row-active.gif
 res/table-remove-row-hover.gif
 res/table-remove-row.gif
 res/multilocale.txt
 update.locale
 # Aurora branding
-browser/chrome/browser/content/branding/icon64.png
+browser/chrome/browser/content/branding/icon128.png
 browser/chrome/devtools/content/framework/dev-edition-promo/dev-edition-logo.png
deleted file mode 100644
index ecd40524b58d05685e784ae119ddff5d0ee94a7b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e4db1bf938dd1f2526f032c4cdab70ff5de15fed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index ecd40524b58d05685e784ae119ddff5d0ee94a7b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 0078b054924b4b50601a49c6d3eb9cec19f5edfe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e4db1bf938dd1f2526f032c4cdab70ff5de15fed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8d9f0233425f3c4685a55fab1b29c1333b24af76..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index ecd40524b58d05685e784ae119ddff5d0ee94a7b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index e4db1bf938dd1f2526f032c4cdab70ff5de15fed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
--- a/build/build-clang/clang-win64.json
+++ b/build/build-clang/clang-win64.json
@@ -1,10 +1,10 @@
 {
-    "llvm_revision": "326909",
+    "llvm_revision": "328769",
     "stages": "3",
     "build_libcxx": false,
     "build_type": "Release",
     "assertions": false,
     "llvm_repo": "https://llvm.org/svn/llvm-project/llvm/trunk",
     "clang_repo": "https://llvm.org/svn/llvm-project/cfe/trunk",
     "lld_repo": "https://llvm.org/svn/llvm-project/lld/trunk",
     "compiler_repo": "https://llvm.org/svn/llvm-project/compiler-rt/trunk",
index 882a538d5748f4de77f9d7e6cb03bb8c40b97ad5..7f753ff20600f017bdf78c36b628587c4aa0d311
GIT binary patch
literal 14312
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
W*+fcBVnnR~0000<MNUMnLSTZ6nPv+B
--- a/dom/payments/PaymentRequest.cpp
+++ b/dom/payments/PaymentRequest.cpp
@@ -386,40 +386,40 @@ PaymentRequest::IsValidCurrency(const ns
 
 nsresult
 PaymentRequest::IsValidCurrencyAmount(const nsAString& aItem,
                                       const PaymentCurrencyAmount& aAmount,
                                       const bool aIsTotalItem,
                                       nsAString& aErrorMsg)
 {
   nsresult rv;
-  if (aIsTotalItem) {
-    rv = IsNonNegativeNumber(aItem, aAmount.mValue, aErrorMsg);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-  } else {
-    rv = IsValidNumber(aItem, aAmount.mValue, aErrorMsg);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-  }
   // currencySystem must equal urn:iso:std:iso:4217
   if (!aAmount.mCurrencySystem.EqualsASCII("urn:iso:std:iso:4217")) {
     aErrorMsg.AssignLiteral("The amount.currencySystem of \"");
     aErrorMsg.Append(aItem);
     aErrorMsg.AppendLiteral("\"(");
     aErrorMsg.Append(aAmount.mCurrencySystem);
     aErrorMsg.AppendLiteral(") must equal urn:iso:std:iso:4217.");
     return NS_ERROR_RANGE_ERR;
   }
   rv = IsValidCurrency(aItem, aAmount.mCurrency, aErrorMsg);
   if (NS_FAILED(rv)) {
     return rv;
   }
+  if (aIsTotalItem) {
+    rv = IsNonNegativeNumber(aItem, aAmount.mValue, aErrorMsg);
+    if (NS_FAILED(rv)) {
+      return rv;
+    }
+  } else {
+    rv = IsValidNumber(aItem, aAmount.mValue, aErrorMsg);
+    if (NS_FAILED(rv)) {
+      return rv;
+    }
+  }
   return NS_OK;
 }
 
 nsresult
 PaymentRequest::IsValidDetailsInit(const PaymentDetailsInit& aDetails,
                                    const bool aRequestShipping,
                                    nsAString& aErrorMsg)
 {
@@ -676,17 +676,18 @@ void
 PaymentRequest::RespondCanMakePayment(bool aResult)
 {
   MOZ_ASSERT(mResultPromise);
   mResultPromise->MaybeResolve(aResult);
   mResultPromise = nullptr;
 }
 
 already_AddRefed<Promise>
-PaymentRequest::Show(ErrorResult& aRv)
+PaymentRequest::Show(const Optional<OwningNonNull<Promise>>& aDetailsPromise,
+                     ErrorResult& aRv)
 {
   if (mState != eCreated) {
     aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
     return nullptr;
   }
 
   if (!EventStateManager::IsHandlingUserInput()) {
     aRv.Throw(NS_ERROR_DOM_SECURITY_ERR);
@@ -703,16 +704,22 @@ PaymentRequest::Show(ErrorResult& aRv)
   }
 
   RefPtr<PaymentRequestManager> manager = PaymentRequestManager::GetSingleton();
   if (NS_WARN_IF(!manager)) {
     mState = eClosed;
     aRv.Throw(NS_ERROR_FAILURE);
     return nullptr;
   }
+
+  if (aDetailsPromise.WasPassed()) {
+    aDetailsPromise.Value().AppendNativeHandler(this);
+    mUpdating = true;
+  }
+
   nsresult rv = manager->ShowPayment(mInternalId);
   if (NS_WARN_IF(NS_FAILED(rv))) {
     if (rv == NS_ERROR_ABORT) {
       promise->MaybeReject(NS_ERROR_DOM_ABORT_ERR);
     } else {
       promise->MaybeReject(NS_ERROR_DOM_NOT_ALLOWED_ERR);
     }
     mState = eClosed;
@@ -994,16 +1001,53 @@ PaymentRequest::SetShippingType(const Nu
 }
 
 Nullable<PaymentShippingType>
 PaymentRequest::GetShippingType() const
 {
   return mShippingType;
 }
 
+void
+PaymentRequest::ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue)
+{
+  MOZ_ASSERT(aCx);
+  mUpdating = false;
+  if (NS_WARN_IF(!aValue.isObject())) {
+    return;
+  }
+
+  // Converting value to a PaymentDetailsUpdate dictionary
+  PaymentDetailsUpdate details;
+  if (!details.Init(aCx, aValue)) {
+    AbortUpdate(NS_ERROR_DOM_TYPE_ERR);
+    JS_ClearPendingException(aCx);
+    return;
+  }
+
+  nsresult rv = IsValidDetailsUpdate(details, mRequestShipping);
+  if (NS_FAILED(rv)) {
+    AbortUpdate(rv);
+    return;
+  }
+
+  // Update the PaymentRequest with the new details
+  if (NS_FAILED(UpdatePayment(aCx, details))) {
+    AbortUpdate(NS_ERROR_DOM_ABORT_ERR);
+    return;
+  }
+}
+
+void
+PaymentRequest::RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue)
+{
+  mUpdating = false;
+  AbortUpdate(NS_ERROR_DOM_ABORT_ERR);
+}
+
 PaymentRequest::~PaymentRequest()
 {
 }
 
 JSObject*
 PaymentRequest::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
 {
   return PaymentRequestBinding::Wrap(aCx, this, aGivenProto);
--- a/dom/payments/PaymentRequest.h
+++ b/dom/payments/PaymentRequest.h
@@ -5,28 +5,30 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_dom_PaymentRequest_h
 #define mozilla_dom_PaymentRequest_h
 
 #include "mozilla/DOMEventTargetHelper.h"
 #include "mozilla/dom/PaymentRequestBinding.h"
 #include "mozilla/dom/Promise.h"
+#include "mozilla/dom/PromiseNativeHandler.h"
 #include "mozilla/ErrorResult.h"
 #include "nsWrapperCache.h"
 #include "PaymentRequestUpdateEvent.h"
 
 namespace mozilla {
 namespace dom {
 
 class EventHandlerNonNull;
 class PaymentAddress;
 class PaymentResponse;
 
 class PaymentRequest final : public DOMEventTargetHelper
+                           , public PromiseNativeHandler
 {
 public:
   NS_DECL_ISUPPORTS_INHERITED
 
   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(PaymentRequest, DOMEventTargetHelper)
 
   virtual JSObject* WrapObject(JSContext* aCx,
                                JS::Handle<JSObject*> aGivenProto) override;
@@ -85,17 +87,18 @@ public:
               const Sequence<PaymentMethodData>& aMethodData,
               const PaymentDetailsInit& aDetails,
               const PaymentOptions& aOptions,
               ErrorResult& aRv);
 
   already_AddRefed<Promise> CanMakePayment(ErrorResult& aRv);
   void RespondCanMakePayment(bool aResult);
 
-  already_AddRefed<Promise> Show(ErrorResult& aRv);
+  already_AddRefed<Promise> Show(const Optional<OwningNonNull<Promise>>& detailsPromise,
+                                 ErrorResult& aRv);
   void RespondShowPayment(const nsAString& aMethodName,
                           const nsAString& aDetails,
                           const nsAString& aPayerName,
                           const nsAString& aPayerEmail,
                           const nsAString& aPayerPhone,
                           nsresult aRv);
   void RejectShowPayment(nsresult aRejectReason);
   void RespondComplete();
@@ -105,16 +108,17 @@ public:
 
   void GetId(nsAString& aRetVal) const;
   void GetInternalId(nsAString& aRetVal);
   void SetId(const nsAString& aId);
 
   bool Equals(const nsAString& aInternalId) const;
 
   bool ReadyForUpdate();
+  bool IsUpdating() const { return mUpdating; }
   void SetUpdating(bool aUpdating);
 
   already_AddRefed<PaymentAddress> GetShippingAddress() const;
   // Update mShippingAddress and fire shippingaddresschange event
   nsresult UpdateShippingAddress(const nsAString& aCountry,
                                  const nsTArray<nsString>& aAddressLine,
                                  const nsAString& aRegion,
                                  const nsAString& aCity,
@@ -137,16 +141,21 @@ public:
   void SetShippingType(const Nullable<PaymentShippingType>& aShippingType);
   Nullable<PaymentShippingType> GetShippingType() const;
 
   inline void ShippingWasRequested()
   {
     mRequestShipping = true;
   }
 
+  void
+  ResolvedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override;
+  void
+  RejectedCallback(JSContext* aCx, JS::Handle<JS::Value> aValue) override;
+
   IMPL_EVENT_HANDLER(shippingaddresschange);
   IMPL_EVENT_HANDLER(shippingoptionchange);
 
 protected:
   ~PaymentRequest();
 
   nsresult DispatchUpdateEvent(const nsAString& aType);
 
--- a/dom/payments/PaymentRequestManager.cpp
+++ b/dom/payments/PaymentRequestManager.cpp
@@ -369,17 +369,17 @@ PaymentRequestManager::GetPaymentRequest
       RefPtr<PaymentRequest> paymentRequest = request;
       return paymentRequest.forget();
     }
   }
   return nullptr;
 }
 
 void
-GetSelectedShippingOption(const PaymentDetailsInit& aDetails,
+GetSelectedShippingOption(const PaymentDetailsBase& aDetails,
                           nsAString& aOption)
 {
   SetDOMStringToNull(aOption);
   if (!aDetails.mShippingOptions.WasPassed()) {
     return;
   }
 
   const Sequence<PaymentShippingOption>& shippingOptions =
@@ -497,20 +497,22 @@ PaymentRequestManager::ShowPayment(const
 {
   if (mShowingRequest) {
     return NS_ERROR_ABORT;
   }
   RefPtr<PaymentRequest> request = GetPaymentRequestById(aRequestId);
   if (!request) {
     return NS_ERROR_FAILURE;
   }
-
-  nsAutoString requestId(aRequestId);
-  IPCPaymentShowActionRequest action(requestId);
-  nsresult rv = SendRequestPayment(request, action);
+  nsresult rv = NS_OK;
+  if (!request->IsUpdating()) {
+    nsAutoString requestId(aRequestId);
+    IPCPaymentShowActionRequest action(requestId);
+    rv = SendRequestPayment(request, action);
+  }
   mShowingRequest = request;
   return rv;
 }
 
 nsresult
 PaymentRequestManager::AbortPayment(const nsAString& aRequestId)
 {
   RefPtr<PaymentRequest> request = GetPaymentRequestById(aRequestId);
@@ -552,29 +554,29 @@ PaymentRequestManager::UpdatePayment(JSC
                                      const PaymentDetailsUpdate& aDetails,
                                      bool aRequestShipping)
 {
   NS_ENSURE_ARG_POINTER(aCx);
   RefPtr<PaymentRequest> request = GetPaymentRequestById(aRequestId);
   if (!request) {
     return NS_ERROR_UNEXPECTED;
   }
-
-  // [TODO] Process details.shippingOptions if presented.
-  //        1) Check if there are duplicate IDs in details.shippingOptions,
-  //           if so, reset details.shippingOptions to an empty sequence.
-  //        2) Set request's selectedShippingOption to the ID of last selected
-  //           option.
-
   IPCPaymentDetails details;
   nsresult rv = ConvertDetailsUpdate(aCx, aDetails, details, aRequestShipping);
   if (NS_WARN_IF(NS_FAILED(rv))) {
     return rv;
   }
 
+  nsAutoString shippingOption;
+  SetDOMStringToNull(shippingOption);
+  if (aRequestShipping) {
+    GetSelectedShippingOption(aDetails, shippingOption);
+    request->SetShippingOption(shippingOption);
+  }
+
   nsAutoString requestId(aRequestId);
   IPCPaymentUpdateActionRequest action(requestId, details);
   return SendRequestPayment(request, action);
 }
 
 nsresult
 PaymentRequestManager::RespondPayment(const IPCPaymentActionResponse& aResponse)
 {
@@ -638,22 +640,22 @@ PaymentRequestManager::RespondPayment(co
       const IPCPaymentAbortActionResponse& response = aResponse;
       RefPtr<PaymentRequest> request = GetPaymentRequestById(response.requestId());
       if (NS_WARN_IF(!request)) {
         return NS_ERROR_FAILURE;
       }
       request->RespondAbortPayment(response.isSucceeded());
       if (response.isSucceeded()) {
         MOZ_ASSERT(mShowingRequest == request);
-        mShowingRequest = nullptr;
         mRequestQueue.RemoveElement(request);
-        nsresult rv = ReleasePaymentChild(request);
-        if (NS_WARN_IF(NS_FAILED(rv))) {
-          return rv;
-        }
+      }
+      mShowingRequest = nullptr;
+      nsresult rv = ReleasePaymentChild(request);
+      if (NS_WARN_IF(NS_FAILED(rv))) {
+        return rv;
       }
       break;
     }
     case IPCPaymentActionResponse::TIPCPaymentCompleteActionResponse: {
       const IPCPaymentCompleteActionResponse& response = aResponse;
       RefPtr<PaymentRequest> request = GetPaymentRequestById(response.requestId());
       if (NS_WARN_IF(!request)) {
         return NS_ERROR_FAILURE;
--- a/dom/payments/PaymentRequestService.cpp
+++ b/dom/payments/PaymentRequestService.cpp
@@ -363,17 +363,23 @@ PaymentRequestService::RequestPayment(ns
       rv = GetPaymentRequestById(requestId, getter_AddRefs(payment));
       if (NS_WARN_IF(NS_FAILED(rv))) {
         return rv;
       }
       rv = payment->UpdatePaymentDetails(details);
       if (NS_WARN_IF(NS_FAILED(rv))) {
         return rv;
       }
-      rv = LaunchUIAction(requestId, type);
+      if (mShowingRequest) {
+        MOZ_ASSERT(mShowingRequest == payment);
+        rv = LaunchUIAction(requestId, type);
+      } else {
+        mShowingRequest = payment;
+        rv = LaunchUIAction(requestId, nsIPaymentActionRequest::SHOW_ACTION);
+      }
       if (NS_WARN_IF(NS_FAILED(rv))) {
         return NS_ERROR_FAILURE;
       }
       break;
     }
     default: {
       return NS_ERROR_FAILURE;
     }
@@ -415,18 +421,18 @@ PaymentRequestService::RespondPayment(ns
   switch (type) {
     case nsIPaymentActionResponse::ABORT_ACTION: {
       nsCOMPtr<nsIPaymentAbortActionResponse> response =
         do_QueryInterface(aResponse);
       MOZ_ASSERT(response);
       bool isSucceeded;
       rv = response->IsSucceeded(&isSucceeded);
       NS_ENSURE_SUCCESS(rv, rv);
+      mShowingRequest = nullptr;
       if (isSucceeded) {
-        mShowingRequest = nullptr;
         mRequestQueue.RemoveElement(request);
       }
       break;
     }
     case nsIPaymentActionResponse::SHOW_ACTION: {
       nsCOMPtr<nsIPaymentShowActionResponse> response =
         do_QueryInterface(aResponse);
       MOZ_ASSERT(response);
--- a/dom/payments/PaymentRequestUpdateEvent.cpp
+++ b/dom/payments/PaymentRequestUpdateEvent.cpp
@@ -59,16 +59,18 @@ PaymentRequestUpdateEvent::ResolvedCallb
 
   if (NS_WARN_IF(!aValue.isObject()) || !mWaitForUpdate) {
     return;
   }
 
   // Converting value to a PaymentDetailsUpdate dictionary
   PaymentDetailsUpdate details;
   if (!details.Init(aCx, aValue)) {
+    mRequest->AbortUpdate(NS_ERROR_TYPE_ERR);
+    JS_ClearPendingException(aCx);
     return;
   }
 
   // Validate and canonicalize the details
   // requestShipping must be true here. PaymentRequestUpdateEvent is only
   // dispatched when shippingAddress/shippingOption is changed, and it also means
   // Options.RequestShipping must be true while creating the corresponding
   // PaymentRequest.
--- a/dom/payments/test/ShowPaymentChromeScript.js
+++ b/dom/payments/test/ShowPaymentChromeScript.js
@@ -1,17 +1,19 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 "use strict";
 
 const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 const paymentSrv = Cc["@mozilla.org/dom/payments/payment-request-service;1"].getService(Ci.nsIPaymentRequestService);
-let expectedCompleteStatus;
+let expectedCompleteStatus = null;
+let expectedShowAction = "accept";
+let expectedUpdateAction = "accept";
 
 function emitTestFail(message) {
   sendAsyncMessage("test-fail", message);
 }
 function emitTestPass(message) {
   sendAsyncMessage("test-pass", message);
 }
 
@@ -28,254 +30,172 @@ shippingAddress.init("USA",             
                      "Test locality",    // dependent locality
                      "94066",            // postal code
                      "123456",           // sorting code
                      "en",               // language code
                      "Testing Org",      // organization
                      "Bill A. Pacheco",  // recipient
                      "+1-434-441-3879"); // phone
 
-const DummyUIService = {
-  showPayment: function(requestId) {
-    const showResponseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
-                                createInstance(Ci.nsIGeneralResponseData);
-    try {
-      showResponseData.initData({ paymentToken: "6880281f-0df3-4b8e-916f-66575e2457c1",});
-    } catch (e) {
-      emitTestFail("Fail to initialize response data with { paymentToken: \"6880281f-0df3-4b8e-916f-66575e2457c1\",}");
-    }
-    let showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
-                   createInstance(Ci.nsIPaymentShowActionResponse);
-    showResponse.init(requestId,
-                      Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED,
-                      "testing-payment-method",   // payment method
-                      showResponseData,           // payment method data
-                      "Bill A. Pacheco",          // payer name
-                      "",                         // payer email
-                      "");                        // payer phone
-    paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-  },
-  abortPayment: function(requestId) {
-  },
-  completePayment: function(requestId) {
-    let payRequest = paymentSrv.getPaymentRequestById(requestId);
+function acceptShow(requestId) {
+  const responseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
+                          createInstance(Ci.nsIGeneralResponseData);
+  responseData.initData({ paymentToken: "6880281f-0df3-4b8e-916f-66575e2457c1",});
+  let showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
+                        createInstance(Ci.nsIPaymentShowActionResponse);
+  showResponse.init(requestId,
+                    Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED,
+                    "testing-payment-method",   // payment method
+                    responseData,           // payment method data
+                    "Bill A. Pacheco",          // payer name
+                    "",                         // payer email
+                    "");                        // payer phone
+  paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
+}
+
+function rejectShow(requestId) {
+  const responseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
+                          createInstance(Ci.nsIGeneralResponseData);
+  responseData.initData({});
+  const showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
+                          createInstance(Ci.nsIPaymentShowActionResponse);
+  showResponse.init(requestId,
+                    Ci.nsIPaymentActionResponse.PAYMENT_REJECTED,
+                    "",                 // payment method
+                    responseData,       // payment method data
+                    "",                 // payer name
+                    "",                 // payer email
+                    "");                // payer phone
+  paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
+}
+
+function updateShow(requestId) {
+  if (expectedUpdateAction == "updateaddress") {
+    paymentSrv.changeShippingAddress(requestId, shippingAddress);
+  } else if (expectedUpdateAction == "accept" || expectedUpdateAction == "error"){
+    paymentSrv.changeShippingOption(requestId, "FastShipping");
+  } else {
+    emitTestFail("Unknown expected update action: " + expectedUpdateAction);
+  }
+}
+
+function showRequest(requestId) {
+  if (expectedShowAction == "accept") {
+    acceptShow(requestId);
+  } else if (expectedShowAction == "reject") {
+    rejectShow(requestId);
+  } else if (expectedShowAction == "update") {
+    updateShow(requestId);
+  } else {
+    emitTestFail("Unknown expected show action: " + expectedShowAction);
+  }
+}
+
+function abortRequest(requestId) {
+  let abortResponse = Cc["@mozilla.org/dom/payments/payment-abort-action-response;1"].
+                         createInstance(Ci.nsIPaymentAbortActionResponse);
+  abortResponse.init(requestId, Ci.nsIPaymentActionResponse.ABORT_SUCCEEDED);
+  paymentSrv.respondPayment(abortResponse);
+}
+
+function completeRequest(requestId) {
+  let payRequest = paymentSrv.getPaymentRequestById(requestId);
+  if (expectedCompleteStatus) {
     if (payRequest.completeStatus == expectedCompleteStatus) {
-      emitTestPass("request.completeStatus matches expectation of " + expectedCompleteStatus);
-    } else {
-      emitTestFail("request.completeStatus incorrect. Expected " +
-                   expectedCompleteStatus + ", got " + payRequest.completeStatus);
-    }
-
-    let completeResponse = Cc["@mozilla.org/dom/payments/payment-complete-action-response;1"].
-                           createInstance(Ci.nsIPaymentCompleteActionResponse);
-    completeResponse.init(requestId, Ci.nsIPaymentActionResponse.COMPLETE_SUCCEEDED);
-    paymentSrv.respondPayment(completeResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-  },
-  updatePayment: function(requestId) {
-  },
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPaymentUIService]),
-};
-
-const NormalUIService = {
-  shippingOptionChanged: false,
-  showPayment: function(requestId) {
-    paymentSrv.changeShippingAddress(requestId, shippingAddress);
-  },
-  abortPayment: function(requestId) {
-  },
-  completePayment: function(requestId) {
-    let payRequest = paymentSrv.getPaymentRequestById(requestId);
-    if (payRequest.completeStatus == expectedCompleteStatus) {
-      emitTestPass("request.completeStatus matches expectation of " + expectedCompleteStatus);
+      emitTestPass("request.completeStatus matches expectation of " +
+                   expectedCompleteStatus);
     } else {
       emitTestFail("request.completeStatus incorrect. Expected " +
                    expectedCompleteStatus + ", got " + payRequest.completeStatus);
     }
+  }
+  let completeResponse = Cc["@mozilla.org/dom/payments/payment-complete-action-response;1"].
+                            createInstance(Ci.nsIPaymentCompleteActionResponse);
+  completeResponse.init(requestId, Ci.nsIPaymentActionResponse.COMPLETE_SUCCEEDED);
+  paymentSrv.respondPayment(completeResponse.QueryInterface(Ci.nsIPaymentActionResponse));
+}
 
-    let completeResponse = Cc["@mozilla.org/dom/payments/payment-complete-action-response;1"].
-                           createInstance(Ci.nsIPaymentCompleteActionResponse);
-    completeResponse.init(requestId, Ci.nsIPaymentActionResponse.COMPLETE_SUCCEEDED);
-    paymentSrv.respondPayment(completeResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-  },
-  updatePayment: function(requestId) {
-    let showResponse = null;
-    let payRequest = paymentSrv.getPaymentRequestById(requestId);
-    if (payRequest.paymentDetails.error != "") {
-      emitTestFail("updatedDetails should not have errors(" + payRequest.paymentDetails.error + ").");
+function updateRequest(requestId) {
+  let request = paymentSrv.getPaymentRequestById(requestId);
+  if (expectedUpdateAction == "accept") {
+    if (request.paymentDetails.error != "") {
+      emitTestFail("updatedDetails should not have errors(" + request.paymentDetails.error + ").");
+    }
+    const shippingOptions = request.paymentDetails.shippingOptions;
+    let shippingOption = shippingOptions.queryElementAt(0, Ci.nsIPaymentShippingOption);
+    if (shippingOption.selected) {
+      emitTestFail(shippingOption.label + " should not be selected.");
+    }
+    shippingOption = shippingOptions.queryElementAt(1, Ci.nsIPaymentShippingOption);
+    if (!shippingOption.selected) {
+      emitTestFail(shippingOption.label + " should be selected.");
     }
-    if (!this.shippingOptionChanged) {
-      paymentSrv.changeShippingOption(requestId, "FastShipping");
-      this.shippingOptionChanged = true;
-    } else {
-      const shippingOptions = payRequest.paymentDetails.shippingOptions;
-      let shippingOption = shippingOptions.queryElementAt(0, Ci.nsIPaymentShippingOption);
-      if (shippingOption.selected) {
-        emitTestFail(shippingOption.label + " should not be selected.");
-      }
-      shippingOption = shippingOptions.queryElementAt(1, Ci.nsIPaymentShippingOption);
-      if (!shippingOption.selected) {
-        emitTestFail(shippingOption.label + " should be selected.");
-      }
-
-      const showResponseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
-                                  createInstance(Ci.nsIGeneralResponseData);
+    acceptShow(requestId);
+  } else if (expectedUpdateAction == "error") {
+    if (request.paymentDetails.error != "Update with Error") {
+      emitTestFail("details.error should be 'Update with Error', but got " + request.paymentDetails.error + ".");
+    }
+    rejectShow(requestId);
+  } else if (expectedUpdateAction == "updateaddress") {
+    if (request.paymentDetails.error != "") {
+      emitTestFail("updatedDetails should not have errors(" + request.paymentDetails.error + ").");
+    }
+    expectedUpdateAction = "accept";
+    paymentSrv.changeShippingOption(requestId, "FastShipping");
+  } else {
+    emitTestFail("Unknown expected update aciton: " + expectedUpdateAction);
+  }
+}
 
-      try {
-        showResponseData.initData({ paymentToken: "6880281f-0df3-4b8e-916f-66575e2457c1",});
-      } catch (e) {
-        emitTestFail("Fail to initialize response data with { paymentToken: \"6880281f-0df3-4b8e-916f-66575e2457c1\",}");
-      }
-
-      showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
-                     createInstance(Ci.nsIPaymentShowActionResponse);
-      showResponse.init(requestId,
-                        Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED,
-                        "testing-payment-method",   // payment method
-                        showResponseData,           // payment method data
-                        "Bill A. Pacheco",          // payer name
-                        "",                         // payer email
-                        "");                        // payer phone
-      paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-    }
-  },
+const DummyUIService = {
+  showPayment: showRequest,
+  abortPayment: abortRequest,
+  completePayment: completeRequest,
+  updatePayment: updateRequest,
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIPaymentUIService]),
 };
 
-const RejectUIService = {
-  showPayment: function(requestId) {
-    const responseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
-                            createInstance(Ci.nsIGeneralResponseData);
-
-    try {
-      responseData.initData({});
-    } catch (e) {
-      emitTestFail("Fail to initialize response data with empty object.");
-    }
-    const showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
-                            createInstance(Ci.nsIPaymentShowActionResponse);
-    showResponse.init(requestId,
-                      Ci.nsIPaymentActionResponse.PAYMENT_REJECTED,
-                      "",                 // payment method
-                      responseData,       // payment method data
-                      "",                 // payer name
-                      "",                 // payer email
-                      "");                // payer phone
-    paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-  },
-  abortPayment: function(requestId) {
-  },
-  completePayment: function(requestId) {
-  },
-  updatePayment: function(requestId) {
-  },
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPaymentUIService]),
-};
+paymentSrv.setTestingUIService(DummyUIService.QueryInterface(Ci.nsIPaymentUIService));
 
-const ErrorUIService = {
-  showPayment: function(requestId) {
-    paymentSrv.changeShippingOption(requestId, "");
-  },
-  abortPayment: function(requestId) {
-  },
-  completePayment: function(requestId) {
-  },
-  updatePayment: function(requestId) {
-    let payRequest = paymentSrv.getPaymentRequestById(requestId);
-    if (!payRequest) {
-      emitTestFail("Fail to get existing payment request.");
-    }
-    if (payRequest.paymentDetails.error != "Update with Error") {
-      emitTestFail("details.error should be 'Update with Error', but got " + payRequest.paymentDetails.error + ".");
-    }
-    const responseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
-                            createInstance(Ci.nsIGeneralResponseData);
-    try {
-      responseData.initData({});
-    } catch (e) {
-      emitTestFail("Fail to initialize response data with empty object.");
-    }
-    const showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
-                            createInstance(Ci.nsIPaymentShowActionResponse);
-    showResponse.init(requestId,
-                      Ci.nsIPaymentActionResponse.PAYMENT_REJECTED,
-                      "",                 // payment method
-                      responseData,       // payment method data
-                      "",                 // payer name
-                      "",                 // payer email
-                      "");                // payer phone
-    paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-  },
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPaymentUIService]),
-
-};
-
-const CompleteUIService = {
-  showPayment: function(requestId) {
-    const showResponseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
-                                createInstance(Ci.nsIGeneralResponseData);
-
-    try {
-      showResponseData.initData({});
-    } catch (e) {
-      emitTestFail("Fail to initialize response data with empty object.");
-    }
-
-    let showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
-                          createInstance(Ci.nsIPaymentShowActionResponse);
-    showResponse.init(requestId,
-                      Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED,
-                      "",                  // payment method
-                      showResponseData,    // payment method data
-                      "",                  // payer name
-                      "",                  // payer email
-                      "");                 // payer phone
-    paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse));
-  },
-  abortPayment: function(requestId) {
-  },
-  completePayment: function(requestId) {
-  },
-  updatePayment: function(requestId) {
-  },
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIPaymentUIService]),
-};
-
-function testInitDataAndResponse() {
+function testShowResponseInit() {
   const showResponseData = Cc["@mozilla.org/dom/payments/general-response-data;1"].
                               createInstance(Ci.nsIGeneralResponseData);
   try {
     showResponseData.initData(null);
     emitTestFail("nsIGeneralResponseData can not be initialized with null object.");
   } catch (e) {
     if (e.name != "NS_ERROR_FAILURE") {
       emitTestFail("Expected 'NS_ERROR_FAILURE' when initializing nsIGeneralResponseData with null object, but got " + e.name + ".");
     }
+    emitTestPass("Get expected result for initializing nsIGeneralResponseData with null object");
   }
   const showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"].
                           createInstance(Ci.nsIPaymentShowActionResponse);
   try {
     showResponse.init("test request id",
                       Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED,
                       "testing-payment-method",   // payment method
                       showResponseData,           // payment method data
                       "Bill A. Pacheco",          // payer name
                       "",                         // payer email
                       "");                        // payer phone
+    emitTestPass("Get expected result for initializing response with accepted and empty data.");
   } catch (e) {
     emitTestFail("Unexpected error " + e.name + " when initializing response with accepted and empty data.");
   }
 
   try {
     showResponse.init("test request id",
                       Ci.nsIPaymentActionResponse.PAYMENT_REJECTED,
                       "testing-payment-method",
                       null,
                       "Bill A. Pacheco",
                       "",
                       "");
+    emitTestPass("Get expected result for initializing response with rejected and null data.");
   } catch (e) {
     emitTestFail("Unexpected error " + e.name + " when initializing response with rejected and null data.");
   }
 
   try {
     showResponse.init("test request id",
                       Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED,
                       "testing-payment-method",
@@ -283,41 +203,52 @@ function testInitDataAndResponse() {
                       "Bill A. Pacheco",
                       "",
                       "");
     emitTestFail("nsIPaymentShowActionResponse can not be initialized with accpeted and null data.");
   } catch (e) {
     if (e.name != "NS_ERROR_ILLEGAL_VALUE") {
       emitTestFail("Expected 'NS_ERROR_ILLEGAL_VALUE', but got " + e.name + ".");
     }
+    emitTestPass("Get expected result for initializing response with accepted and null data.")
   }
-  sendAsyncMessage("test-init-data-and-response-complete");
+  sendAsyncMessage("test-show-response-init-complete");
 }
 
-addMessageListener("set-dummy-ui-service", function() {
-  paymentSrv.setTestingUIService(DummyUIService.QueryInterface(Ci.nsIPaymentUIService));
+addMessageListener("set-simple-ui-service", function() {
+  expectedCompleteStatus = null;
+  expectedShowAction = "accept";
+  expectedUpdateAction = "accept";
 });
 
 addMessageListener("set-normal-ui-service", function() {
-  paymentSrv.setTestingUIService(NormalUIService.QueryInterface(Ci.nsIPaymentUIService));
+  expectedCompleteStatus = null;
+  expectedShowAction = "update";
+  expectedUpdateAction = "updateaddress";
 });
 
 addMessageListener("set-reject-ui-service", function() {
-  paymentSrv.setTestingUIService(RejectUIService.QueryInterface(Ci.nsIPaymentUIService));
+  expectedCompleteStatus = null;
+  expectedShowAction = "reject";
+  expectedUpdateAction = "accept";
+});
+
+addMessageListener("set-update-with-ui-service", function() {
+  expectedCompleteStatus = null;
+  expectedShowAction = "update";
+  expectedUpdateAction = "accept";
 });
 
 addMessageListener("set-update-with-error-ui-service", function() {
-  paymentSrv.setTestingUIService(ErrorUIService.QueryInterface(Ci.nsIPaymentUIService));
+  expectedCompleteStatus = null;
+  expectedShowAction = "update";
+  expectedUpdateAction = "error";
 });
 
-addMessageListener("set-complete-ui-service", function() {
-  paymentSrv.setTestingUIService(CompleteUIService.QueryInterface(Ci.nsIPaymentUIService));
-});
-
-addMessageListener("test-init-data-and-response", testInitDataAndResponse);
+addMessageListener("test-show-response-init", testShowResponseInit);
 
 addMessageListener("set-complete-status-success", function() {
   expectedCompleteStatus = "success";
 });
 
 addMessageListener("set-complete-status-fail", function() {
   expectedCompleteStatus = "fail";
 });
--- a/dom/payments/test/test_showPayment.html
+++ b/dom/payments/test/test_showPayment.html
@@ -20,36 +20,41 @@ https://bugzilla.mozilla.org/show_bug.cg
     ok(false, message);
   }
   function testPassHandler(message) {
     ok(true, message);
   }
   gScript.addMessageListener("test-fail", testFailHandler);
   gScript.addMessageListener("test-pass", testPassHandler);
 
+  // testing data declaration
+  // default parameters for PaymentRequest construction
   const defaultMethods = [{
     supportedMethods: "basic-card",
     data: {
       supportedNetworks: ['unionpay', 'visa', 'mastercard', 'amex', 'discover',
                           'diners', 'jcb', 'mir',
       ],
       supportedTypes: ['prepaid', 'debit', 'credit'],
     },
   }, {
     supportedMethods: "testing-payment-method",
   }];
+
+  const defaultTotal = {
+    label: "Total",
+    amount: {
+      currency: "USD",
+      value: "1.00",
+    },
+  }
+
   const defaultDetails = {
     id: "test payment",
-    total: {
-      label: "Total",
-      amount: {
-        currency: "USD",
-        value: "1.00"
-      }
-    },
+    total: defaultTotal,
     shippingOptions: [
       {
         id: "NormalShipping",
         label: "NormalShipping",
         amount: {
           currency: "USD",
           value: "10.00"
         },
@@ -70,24 +75,19 @@ https://bugzilla.mozilla.org/show_bug.cg
   const defaultOptions = {
     requestPayerName: true,
     requestPayerEmail: false,
     reqeustPayerPhone: false,
     requestShipping: true,
     shippingType: "shipping"
   };
 
-  const updatedOptionDetails = {
-    total: {
-      label: "Total",
-      amount: {
-        currency: "USD",
-        value: "1.00"
-      }
-    },
+  // testing data for PaymentRequestUpdateEvent.updateWith()
+  const updatedShippingOptionsDetails = {
+    total: defaultTotal,
     shippingOptions: [
       {
         id: "NormalShipping",
         label: "NormalShipping",
         amount: {
           currency: "USD",
           value: "10.00"
         },
@@ -101,311 +101,365 @@ https://bugzilla.mozilla.org/show_bug.cg
           value: "30.00"
         },
         selected: true,
       },
     ],
   };
 
   const updatedErrorDetails = {
-    total: {
-      label: "Total",
-      amount: {
-        currency: "USD",
-        value: "1.00"
-      }
-    },
-    shippingOptions: [
-      {
-        id: "NormalShipping",
-        label: "NormalShipping",
-        amount: {
-          currency: "USD",
-          value: "10.00"
-        },
-        selected: false,
-      },
-      {
-        id: "FastShipping",
-        label: "FastShipping",
-        amount: {
-          currency: "USD",
-          value: "30.00"
-        },
-        selected: false,
-      },
-    ],
+    total: defaultTotal,
     error: "Update with Error",
   };
 
+  // Promise function for PaymentRequestUpdateEvent.updateWith()
+  function updateWithPromise(detailsUpdate) {
+    return new Promise((resolve, reject) => {
+      if (detailsUpdate) {
+        resolve(detailsUpdate);
+      } else {
+        reject();
+      }
+    });
+  }
+
+  // testing data for PaymentRequest.show() with Non-supported methods
   const nonSupportedMethods = [{
     supportedMethods: "nonsupported-method",
   }];
 
 
-  function updateWithShippingAddress() {
-    return new Promise((resolve, reject) => {
-      resolve(defaultDetails);
-    });
+  // checking functions
+  function checkAddress(address, fromEvent) {
+    is(address.country, "USA", "address.country should be 'USA'.");
+    is(address.region, "CA", "address.region should be 'CA'.");
+    is(address.city, "San Bruno", "address.city should be 'San Bruno'.");
+    is(address.dependentLocality, "Test locality",
+       "address.dependentLocality should be 'Test locality'.");
+    is(address.postalCode, "94066", "address.postalCode should be '94066'.");
+    is(address.sortingCode, "123456", "address.sortingCode should be '123456'.");
+    if (fromEvent) {
+      is(address.addressLine.length, 0, "address.addressLine.length should be 0 from event.");
+      is(address.organization, "", "address.organization should be empty from event.");
+      is(address.recipient, "", "address.recipient should be empty from event.");
+      is(address.phone, "", "address.phone should be empty from event.");
+    } else {
+      is(address.addressLine.length, 1, "address.addressLine.length should be 1 from promise.");
+      is(address.addressLine[0], "Easton Ave", "address.addressLine[0] should be 'Easton Ave' from promise.");
+      is(address.organization, "Testing Org", "address.organization should be 'Testing Org' from promise.");
+      is(address.recipient, "Bill A. Pacheco", "address.recipient should be 'Bill A. Pacheco' from promise.");
+      is(address.phone, "+1-434-441-3879", "address.phone should be '+1-434-441-3879' from promise.");
+    }
   }
 
-  function updateWithShippingOption() {
-    return new Promise((resolve, reject) => {
-      resolve(updatedOptionDetails);
-    });
+  function checkResponse(response) {
+    is(response.requestId, "test payment", "response.requestId should be 'test payment'.");
+    is(response.methodName, "testing-payment-method", "response.methodName should be 'testing-payment-method'.");
+    is(response.details.paymentToken, "6880281f-0df3-4b8e-916f-66575e2457c1", "response.details.paymentToken should be '6880281f-0df3-4b8e-916f-66575e2457c1'.");
+    checkAddress(response.shippingAddress, false/*fromEvent*/);
+    is(response.shippingOption, "FastShipping", "response.shippingOption should be 'FastShipping'.");
+    is(response.payerName, "Bill A. Pacheco", "response.payerName should be 'Bill A. Pacheco'.");
+    ok(!response.payerEmail, "response.payerEmail should be empty");
+    ok(!response.payerPhone, "response.payerPhone should be empty");
   }
 
-  function updateWithError() {
-    return new Promise((resolve, reject) => {
-      resolve(updatedErrorDetails);
-    });
-  }
-
-  function testShowWithSuccess() {
-    info("starting testShowWithSuccess");
+  // testing functions
+  function testShowNormalFlow() {
     gScript.sendAsyncMessage("set-normal-ui-service");
-    gScript.sendAsyncMessage("set-complete-status-success");
     return new Promise((resolve, reject) => {
       const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
       payRequest.addEventListener("shippingaddresschange", event => {
-        is(payRequest.shippingAddress.country, "USA", "payRequest.shippingAddress.country should be 'USA' from event.");
-        is(payRequest.shippingAddress.addressLine.length, 0, "payRequest.shippingAddress.addressLine.length should be 0 from event.");
-        is(payRequest.shippingAddress.region, "CA", "payRequest.shippingAddress.region should be 'CA' from event.");
-        is(payRequest.shippingAddress.city, "San Bruno", "payRequest.shippingAddress.city should be 'San Bruno' from event.");
-        is(payRequest.shippingAddress.dependentLocality, "Test locality", "payRequest.shippingAddress.dependentLocality should be 'Test locality' from event.");
-        is(payRequest.shippingAddress.postalCode, "94066", "payRequest.shippingAddress.postalCode should be '94066' from event.");
-        is(payRequest.shippingAddress.sortingCode, "123456", "payRequest.shippingAddress.sortingCode should be '123456' from event.");
-        is(payRequest.shippingAddress.organization, "", "payRequest.shippingAddress.organization should be empty from event.");
-        is(payRequest.shippingAddress.recipient, "", "payRequest.shippingAddress.recipient should be empty from event.");
-        is(payRequest.shippingAddress.phone, "", "payRequest.shippingAddress.phone should be empty from event.");
-        event.updateWith(updateWithShippingAddress());
+        checkAddress(payRequest.shippingAddress, true/*fromEvent*/);
+        event.updateWith(updateWithPromise(defaultDetails));
       });
       payRequest.addEventListener("shippingoptionchange", event => {
-        event.updateWith(updateWithShippingOption());
+        event.updateWith(updateWithPromise(updatedShippingOptionsDetails));
       });
-
       const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
       payRequest.show().then(response => {
-        is(response.requestId, "test payment", "response.requestId should be 'test payment'.");
-        is(response.methodName, "testing-payment-method", "response.methodName should be 'testing-payment-method'.");
-        is(response.details.paymentToken, "6880281f-0df3-4b8e-916f-66575e2457c1", "response.details.paymentToken should be '6880281f-0df3-4b8e-916f-66575e2457c1'.");
-        is(response.shippingAddress.country, "USA", "response.shippingAddress.country should be 'USA'.");
-        is(response.shippingAddress.addressLine.length, 1, "response.shippingAddress.addressLine.length should be 1.");
-        is(response.shippingAddress.addressLine[0], "Easton Ave", "response.shippingAddress.addressLine[0] should be 'Easton Ave'.");
-        is(response.shippingAddress.region, "CA", "response.shippingAddress.region should be 'CA'.");
-        is(response.shippingAddress.city, "San Bruno", "response.shippingAddress.city should be 'San Bruno'.");
-        is(response.shippingAddress.dependentLocality, "Test locality", "response.shippingAddress.dependentLocality should be 'Test locality'.");
-        is(response.shippingAddress.postalCode, "94066", "response.shippingAddress.postalCode should be '94066'.");
-        is(response.shippingAddress.sortingCode, "123456", "response.shippingAddress.sortingCode should be '123456'.");
-        is(response.shippingAddress.organization, "Testing Org", "response.shippingAddress.organization should be 'Testing Org'.");
-        is(response.shippingAddress.recipient, "Bill A. Pacheco", "response.shippingAddress.recipient should be 'Bill A. Pacheco'.");
-        is(response.shippingAddress.phone, "+1-434-441-3879", "response.shippingAddress.phone should be '+1-434-441-3879'.");
-        is(response.shippingOption, "FastShipping", "response.shippingOption should be 'FastShipping'.");
-        is(response.payerName, "Bill A. Pacheco", "response.payerName should be 'Bill A. Pacheco'.");
-        ok(!response.payerEmail, "response.payerEmail should be empty");
-        ok(!response.payerPhone, "response.payerPhone should be empty");
-        is(payRequest.shippingAddress.country, "USA", "payRequest.shippingAddress.country should be 'USA' from promise.");
-        is(payRequest.shippingAddress.addressLine.length, 1, "payRequest.shippingAddress.addressLine.length should be 1 from promise.");
-        is(payRequest.shippingAddress.addressLine[0], "Easton Ave", "payRequest.shippingAddress.addressLine[0] should be 'Easton Ave' from promise.");
-        is(payRequest.shippingAddress.region, "CA", "payRequest.shippingAddress.region should be 'CA' from promise.");
-        is(payRequest.shippingAddress.city, "San Bruno", "payRequest.shippingAddress.city should be 'San Bruno' from promise.");
-        is(payRequest.shippingAddress.dependentLocality, "Test locality", "payRequest.shippingAddress.dependentLocality should be 'Test locality' from promise.");
-        is(payRequest.shippingAddress.postalCode, "94066", "payRequest.shippingAddress.postalCode should be '94066' from promise.");
-        is(payRequest.shippingAddress.sortingCode, "123456", "payRequest.shippingAddress.sortingCode should be '123456' from promise.");
-        is(payRequest.shippingAddress.organization, "Testing Org", "payRequest.shippingAddress.organization should be 'Testing Org' from promise.");
-        is(payRequest.shippingAddress.recipient, "Bill A. Pacheco", "payRequest.shippingAddress.recipient should be 'Bill A. Pacheco' from promise.");
-        is(payRequest.shippingAddress.phone, "+1-434-441-3879", "payRequest.shippingAddress.phone should be '+1-434-441-3879' from promise.");
-        response.complete("success").then(() =>{
+        checkResponse(response, false);
+	checkAddress(payRequest.shippingAddress, false);
+        response.complete().then(() =>{
           resolve();
         }).catch(e => {
           ok(false, "Unexpected error: " + e.name);
           resolve();
         });
       }).catch( e => {
         ok(false, "Unexpected error: " + e.name);
         resolve();
       }).finally(handler.destruct);
     });
   }
 
-  function testShowWithFail() {
-    info("starting testShowWithFail");
-    gScript.sendAsyncMessage("set-dummy-ui-service");
-    gScript.sendAsyncMessage("set-complete-status-fail");
-    return new Promise((resolve, reject) => {
-      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
-      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
-
-      payRequest.show().then(response => {
-        response.complete("fail").then(() => {
-          resolve();
-        }).catch(e => {
-          ok(false, "Unexpected error: " + e.name);
-          resolve();
-        });
-      }).catch( e => {
-        ok(false, "Unexpected error: " + e.name);
-        resolve();
-      }).finally(handler.destruct);
-    });
-  }
-
-  function testShowWithUnknown() {
-    info("starting testShowWithUnknown");
-    gScript.sendAsyncMessage("set-dummy-ui-service");
-    gScript.sendAsyncMessage("set-complete-status-unknown");
-    return new Promise((resolve, reject) => {
-      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
-      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
-
-      payRequest.show().then(response => {
-        response.complete("unknown").then(() => {
-          resolve();
-        }).catch(e => {
-          ok(false, "Unexpected error: " + e.name);
-          resolve();
-        });
-      }).catch( e => {
-        ok(false, "Unexpected error: " + e.name);
-        resolve();
-      }).finally(handler.destruct);
-    });
-  }
-
-  function testShowWithEmpty() {
-    info("starting testShowWithEmpty");
-    gScript.sendAsyncMessage("set-dummy-ui-service");
-    gScript.sendAsyncMessage("set-complete-status-unknown");
-    return new Promise((resolve, reject) => {
-      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
-      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
-
-      payRequest.show().then(response => {
-        response.complete().then(() => {
-          resolve();
-        }).catch(e => {
-          ok(false, "Unexpected error: " + e.name);
-          resolve();
-        });
-      }).catch( e => {
-        ok(false, "Unexpected error: " + e.name);
-        resolve();
-      }).finally(handler.destruct);
-    });
-  }
-
+  // testing show with nonsupported methods
   function testCannotMakePaymentShow() {
-    const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
-
+    gScript.sendAsyncMessage("set-simple-ui-service");
     return new Promise((resolve, reject) => {
       const payRequest = new PaymentRequest(nonSupportedMethods, defaultDetails);
+      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
       payRequest.canMakePayment().then(result => {
         ok(!result, "canMakePayment() should return false, but got " + result + ".");
         payRequest.show().then( () => {
           ok(false, "Should be rejected with 'NotSupportedError', but got resolved");
           resolve();
         }).catch( e => {
           is(e.name, "NotSupportedError", "Should be rejected with 'NotSupportedError', but got " + e.name + ".");
           resolve();
         });
       }).finally(handler.destruct);
     });
   }
 
+  // testing show rejected by user
   function testRejectShow() {
-    const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
-
     gScript.sendAsyncMessage("set-reject-ui-service");
     return new Promise((resolve, reject) => {
       const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
-      payRequest.show().then((result) => {
-        ok(false, "Should be rejected with 'AbortError', but got resolved");
-        resolve();
-      }, (result) => {
-        is(result.name, "AbortError", "Should be rejected with 'AbortError', but got " + result.name + ".");
-        resolve();
-      }).catch(e => {
-        ok(false, "Unexpected error: " + e.name);
-        resolve();
-      }).finally(handler.destruct);
-    });
-  }
-
-  function testUpdateWithError() {
-    const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
-
-    gScript.sendAsyncMessage("set-update-with-error-ui-service");
-    return new Promise((resolve, reject) => {
-      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
-      payRequest.addEventListener("shippingaddresschange", event => {
-        event.updateWith(updateWithError());
-      });
-      payRequest.addEventListener("shippingoptionchange", event => {
-        event.updateWith(updateWithError());
-      });
+      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
       payRequest.show().then((result) => {
         ok(false, "Should be rejected with 'AbortError', but got resolved");
         resolve();
       }, (result) => {
         is(result.name, "AbortError", "Should be rejected with 'AbortError', but got " + result.name + ".");
         resolve();
       }).catch(e => {
         ok(false, "Unexpected error: " + e.name);
         resolve();
       }).finally(handler.destruct);
     });
   }
 
-  function testNullDetailsResponse() {
+  // testing PaymentResponse.complete() with specified result
+  function testCompleteStatus(result) {
+    gScript.sendAsyncMessage("set-simple-ui-service");
+    if (result) {
+      gScript.sendAsyncMessage("set-complete-status-"+result);
+    } else {
+      gScript.sendAsyncMessage("set-complete-status-unknown");
+    }
     return new Promise((resolve, reject) => {
-      gScript.addMessageListener("test-init-data-and-response-complete",
-                                 function nullDetailsResponseCompleteHandler() {
-        gScript.removeMessageListener("test-init-data-and-response-complete",
-                                      nullDetailsResponseCompleteHandler);
+      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
+      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
+      payRequest.show().then(response => {
+        response.complete(result).then(() => {
+          resolve();
+        }).catch(e => {
+          ok(false, "Unexpected error: " + e.name);
+          resolve();
+        });
+      }).catch( e => {
+        ok(false, "Unexpected error: " + e.name);
         resolve();
+      }).finally(handler.destruct);
+    });
+  }
+
+  function testCompleteFail() {
+    return testCompleteStatus("fail");
+  }
+
+  function testCompleteSuccess() {
+    return testCompleteStatus("success");
+  }
+
+  function testCompleteUnknown() {
+    return testCompleteStatus("unknown");
+  }
+
+  function testCompleteEmpty() {
+    return testCompleteStatus();
+  }
+
+  // testing PaymentRequestUpdateEvent.updateWith with specified details and error
+  function testUpdateWith(detailsUpdate, expectedError) {
+    if (expectedError) {
+      gScript.sendAsyncMessage("set-update-with-error-ui-service");
+    } else {
+      gScript.sendAsyncMessage("set-update-with-ui-service");
+    }
+    return new Promise((resolve, reject) => {
+      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
+      payRequest.addEventListener("shippingaddresschange", event => {
+        event.updateWith(updateWithPromise(detailsUpdate));
       });
-      gScript.sendAsyncMessage("test-init-data-and-response");
+      payRequest.addEventListener("shippingoptionchange", event => {
+        event.updateWith(updateWithPromise(detailsUpdate));
+      });
+      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
+      payRequest.show().then(response => {
+        if (expectedError) {
+          ok(false, "Should be rejected with " + expectedError + ", but got resolved");
+	  resolve();
+	} else {
+	  response.complete("success").then(() => {
+	    resolve();
+	  })
+	}
+      }, response => {
+        if (expectedError) {
+          is(response.name, expectedError,
+	     "Should be rejected with " + expectedError + ", but got " + response.name);
+	} else {
+	  ok(false, "Unexpected error: " + response.name);
+	}
+	resolve();
+      }).catch(e => {
+        ok(false, "Unexpected error: " + e.name);
+	resolve();
+      }).finally(handler.destruct);
     });
   }
 
-  function testShowUnsafe() {
-    gScript.sendAsyncMessage("set-complete-ui-service");
+  function testUpdateWithReject() {
+    return testUpdateWith(null, "AbortError");
+  }
+
+  function testUpdateWithValidDetails() {
+    return testUpdateWith(updatedShippingOptionsDetails, null);
+  }
+
+  function testUpdateWithInvalidDetails() {
+    return testUpdateWith({total: "invalid details"}, "TypeError");
+  }
+
+  function testUpdateWithError() {
+    return testUpdateWith(updatedErrorDetails, "AbortError");
+  }
+
+  // testing show with detailsUpdate promise
+  function testShowWithDetailsPromise(detailsUpdate, expectedError) {
+    if (expectedError) {
+      gScript.sendAsyncMessage("set-reject-ui-service");
+    } else {
+      gScript.sendAsyncMessage("set-simple-ui-service");
+    }
+    return new Promise((resolve, reject) => {
+      const payRequest = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
+      ok(!payRequest.shippingOption, "payRequest.shippingOption should be null.");
+      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
+      payRequest.show(updateWithPromise(detailsUpdate)).then(response => {
+        if (expectedError) {
+          ok(false, "Should be rejected with " + expectedError + ", but got resolved");
+	  resolve();
+	} else {
+          ok(response.shippingOption, "response.shippingOption should not be null.");
+	  response.complete().then(() => {
+	    resolve();
+	  })
+	}
+      }, response => {
+        if (expectedError) {
+          is(response.name, expectedError,
+	     "Should be rejected with " + expectedError + ", but got " + response.name);
+	} else {
+	  ok(false, "Unexpected error: " + response.name);
+	}
+	resolve();
+      }).catch(e => {
+        ok(false, "Unexpected error: " + e.name);
+	resolve();
+      }).finally(handler.destruct);
+    });
+  }
+  function testShowWithValidPromise() {
+    return testShowWithDetailsPromise(updatedShippingOptionsDetails, null);
+  }
+
+  function testShowWithRejectedPromise() {
+    return testShowWithDetailsPromise(null, "AbortError");
+  }
+
+  function testShowWithInvalidPromise() {
+    return testShowWithDetailsPromise({total: "invalid details"}, "TypeError");
+  }
+
+  function testShowWithErrorPromise() {
+    return testShowWithDetailsPromise(updatedErrorDetails, "AbortError");
+  }
+
+  function testShowWithPromiseResolvedByRejectedPromise() {
+    gScript.sendAsyncMessage("set-reject-ui-service");
+    return new Promise((resolve, reject)=> {
+      const request = new PaymentRequest(defaultMethods, defaultDetails, defaultOptions);
+      const handler = SpecialPowers.getDOMWindowUtils(window).setHandlingUserInput(true);
+      let rejectPromise = Promise.reject(new TypeError());
+      let detailsUpdatePromise = Promise.resolve(rejectPromise);
+      request.show(detailsUpdatePromise).then(response => {
+        ok(false, "should be rejected with 'AbortError', but got resolved.");
+	resolve();
+      }, response => {
+        is(response.name, "AbortError", "Exepcted 'AbortError', but got " + response.name + ".");
+	resolve();
+      }).catch(error => {
+        ok(false, "Unexpected error: " + error.name + ".");
+      }).finally(handler.destruct);
+    });
+  }
+
+  // testing show response initialization in chrome process
+  function testShowResponseInit() {
+    return new Promise((resolve, reject) => {
+      gScript.addMessageListener("test-show-response-init-complete",
+                                 function showResponseInitCompleteHandler() {
+        gScript.removeMessageListener("test-show-response-init-complete",
+                                      showResponseInitCompleteHandler);
+        resolve();
+      });
+      gScript.sendAsyncMessage("test-show-response-init");
+    });
+  }
+
+  // testing show that is not triggered by user.
+  function testShowNotTriggeredByUser() {
+    gScript.sendAsyncMessage("set-simple-ui-service");
     return new Promise((resolve, reject) => {
       const payRequest = new PaymentRequest(defaultMethods, defaultDetails);
       payRequest.show().then(() => {
         ok(false, "Expected 'SecurityError', but got resolved")
         resolve();
       }).catch((err) => {
         is(err.name, "SecurityError", `Should be rejected with 'SecurityError', but got ${err.name}`);
         resolve();
       });
     });
   }
 
+  // teardown function
   function teardown() {
     gScript.addMessageListener("teardown-complete", function teardownCompleteHandler() {
       gScript.removeMessageListener("teardown-complete", teardownCompleteHandler);
       gScript.removeMessageListener("test-fail", testFailHandler);
       gScript.removeMessageListener("test-pass", testPassHandler);
       gScript.destroy();
       SimpleTest.finish();
     });
     gScript.sendAsyncMessage("teardown");
   }
 
+  // test main body
   function runTests() {
     testCannotMakePaymentShow()
     .then(testRejectShow)
-    .then(testShowWithSuccess)
-    .then(testShowWithFail)
-    .then(testShowWithUnknown)
-    .then(testShowWithEmpty)
+    .then(testShowNormalFlow)
+    .then(testCompleteSuccess)
+    .then(testCompleteFail)
+    .then(testCompleteUnknown)
+    .then(testCompleteEmpty)
+    .then(testUpdateWithReject)
+    .then(testUpdateWithValidDetails)
+    .then(testUpdateWithInvalidDetails)
     .then(testUpdateWithError)
-    .then(testNullDetailsResponse)
-    .then(testShowUnsafe)
+    .then(testShowWithValidPromise)
+    .then(testShowWithInvalidPromise)
+    .then(testShowWithRejectedPromise)
+    .then(testShowWithErrorPromise)
+    .then(testShowWithPromiseResolvedByRejectedPromise)
+    .then(testShowResponseInit)
+    .then(testShowNotTriggeredByUser)
     .then(teardown)
     .catch( e => {
       ok(false, "Unexpected error: " + e.name);
       SimpleTest.finish();
     });
   }
 
   window.addEventListener('load', function() {
--- a/dom/serviceworkers/ServiceWorkerManager.cpp
+++ b/dom/serviceworkers/ServiceWorkerManager.cpp
@@ -2078,18 +2078,18 @@ ServiceWorkerManager::RemoveScopeAndRegi
     entry.Remove();
   }
 
   // Verify there are no controlled clients for the purged registration.
   for (auto iter = swm->mControlledClients.Iter(); !iter.Done(); iter.Next()) {
     auto& reg = iter.UserData()->mRegistrationInfo;
     if (reg->Scope().Equals(aRegistration->Scope()) &&
         reg->Principal()->Equals(aRegistration->Principal())) {
-      MOZ_DIAGNOSTIC_ASSERT(false,
-                            "controlled client when removing registration");
+      MOZ_DIAGNOSTIC_ASSERT(aRegistration->IsCorrupt(),
+                            "controlled client when removing non-corrupt registration");
       iter.Remove();
       break;
     }
   }
 
   RefPtr<ServiceWorkerRegistrationInfo> info;
   data->mInfos.Remove(aRegistration->Scope(), getter_AddRefs(info));
   data->mOrderedScopes.RemoveElement(aRegistration->Scope());
--- a/dom/serviceworkers/ServiceWorkerPrivate.cpp
+++ b/dom/serviceworkers/ServiceWorkerPrivate.cpp
@@ -193,17 +193,17 @@ private:
   }
 };
 
 } // anonymous namespace
 
 nsresult
 ServiceWorkerPrivate::CheckScriptEvaluation(LifeCycleEventCallback* aScriptEvaluationCallback)
 {
-  nsresult rv = SpawnWorkerIfNeeded(LifeCycleEvent, nullptr);
+  nsresult rv = SpawnWorkerIfNeeded(LifeCycleEvent);
   NS_ENSURE_SUCCESS(rv, rv);
 
   RefPtr<KeepAliveToken> token = CreateEventKeepAliveToken();
   RefPtr<WorkerRunnable> r = new CheckScriptEvaluationWithCallback(mWorkerPrivate,
                                                                    this, token,
                                                                    aScriptEvaluationCallback);
   if (NS_WARN_IF(!r->Dispatch())) {
     return NS_ERROR_FAILURE;
@@ -566,17 +566,17 @@ public:
 nsresult
 ServiceWorkerPrivate::SendMessageEvent(JSContext* aCx,
                                        JS::Handle<JS::Value> aMessage,
                                        const Sequence<JSObject*>& aTransferable,
                                        const ClientInfoAndState& aClientInfoAndState)
 {
   MOZ_ASSERT(NS_IsMainThread());
 
-  ErrorResult rv(SpawnWorkerIfNeeded(MessageEvent, nullptr));
+  ErrorResult rv(SpawnWorkerIfNeeded(MessageEvent));
   if (NS_WARN_IF(rv.Failed())) {
     return rv.StealNSResult();
   }
 
   JS::Rooted<JS::Value> transferable(aCx, JS::UndefinedHandleValue);
 
   rv = nsContentUtils::CreateJSValueFromSequenceOfObject(aCx, aTransferable,
                                                          &transferable);
@@ -829,20 +829,19 @@ LifecycleEventWorkerRunnable::DispatchLi
 
   return true;
 }
 
 } // anonymous namespace
 
 nsresult
 ServiceWorkerPrivate::SendLifeCycleEvent(const nsAString& aEventType,
-                                         LifeCycleEventCallback* aCallback,
-                                         nsIRunnable* aLoadFailure)
+                                         LifeCycleEventCallback* aCallback)
 {
-  nsresult rv = SpawnWorkerIfNeeded(LifeCycleEvent, aLoadFailure);
+  nsresult rv = SpawnWorkerIfNeeded(LifeCycleEvent);
   NS_ENSURE_SUCCESS(rv, rv);
 
   RefPtr<KeepAliveToken> token = CreateEventKeepAliveToken();
   RefPtr<WorkerRunnable> r = new LifecycleEventWorkerRunnable(mWorkerPrivate,
                                                               token,
                                                               aEventType,
                                                               aCallback);
   if (NS_WARN_IF(!r->Dispatch())) {
@@ -1018,17 +1017,17 @@ public:
 
 } // anonymous namespace
 
 nsresult
 ServiceWorkerPrivate::SendPushEvent(const nsAString& aMessageId,
                                     const Maybe<nsTArray<uint8_t>>& aData,
                                     ServiceWorkerRegistrationInfo* aRegistration)
 {
-  nsresult rv = SpawnWorkerIfNeeded(PushEvent, nullptr);
+  nsresult rv = SpawnWorkerIfNeeded(PushEvent);
   NS_ENSURE_SUCCESS(rv, rv);
 
   RefPtr<KeepAliveToken> token = CreateEventKeepAliveToken();
 
   nsMainThreadPtrHandle<ServiceWorkerRegistrationInfo> regInfo(
     new nsMainThreadPtrHolder<ServiceWorkerRegistrationInfo>(
       "ServiceWorkerRegistrationInfoProxy", aRegistration, false));
 
@@ -1050,17 +1049,17 @@ ServiceWorkerPrivate::SendPushEvent(cons
   }
 
   return NS_OK;
 }
 
 nsresult
 ServiceWorkerPrivate::SendPushSubscriptionChangeEvent()
 {
-  nsresult rv = SpawnWorkerIfNeeded(PushSubscriptionChangeEvent, nullptr);
+  nsresult rv = SpawnWorkerIfNeeded(PushSubscriptionChangeEvent);
   NS_ENSURE_SUCCESS(rv, rv);
 
   RefPtr<KeepAliveToken> token = CreateEventKeepAliveToken();
   RefPtr<WorkerRunnable> r =
     new SendPushSubscriptionChangeEventRunnable(mWorkerPrivate, token);
   if (NS_WARN_IF(!r->Dispatch())) {
     return NS_ERROR_FAILURE;
   }
@@ -1309,17 +1308,17 @@ ServiceWorkerPrivate::SendNotificationEv
       Preferences::GetInt("dom.serviceWorkers.disable_open_click_delay");
   } else if (aEventName.EqualsLiteral(NOTIFICATION_CLOSE_EVENT_NAME)) {
     why = NotificationCloseEvent;
   } else {
     MOZ_ASSERT_UNREACHABLE("Invalid notification event name");
     return NS_ERROR_FAILURE;
   }
 
-  nsresult rv = SpawnWorkerIfNeeded(why, nullptr);
+  nsresult rv = SpawnWorkerIfNeeded(why);
   NS_ENSURE_SUCCESS(rv, rv);
 
   RefPtr<KeepAliveToken> token = CreateEventKeepAliveToken();
 
   RefPtr<WorkerRunnable> r =
     new SendNotificationEventRunnable(mWorkerPrivate, token,
                                       aEventName, aID, aTitle, aDir, aLang,
                                       aBody, aTag, aIcon, aData, aBehavior,
@@ -1746,29 +1745,21 @@ ServiceWorkerPrivate::SendFetchEvent(nsI
     }
 
     // Trigger soft updates if necessary.
     registration->MaybeScheduleTimeCheckAndUpdate();
 
     return NS_OK;
   }
 
-  // if the ServiceWorker script fails to load for some reason, just resume
-  // the original channel.
-  nsCOMPtr<nsIRunnable> failRunnable =
-    NewRunnableMethod("nsIInterceptedChannel::ResetInterception",
-                      aChannel,
-                      &nsIInterceptedChannel::ResetInterception);
-
   aChannel->SetLaunchServiceWorkerStart(TimeStamp::Now());
   aChannel->SetDispatchFetchEventStart(TimeStamp::Now());
 
   bool newWorkerCreated = false;
   nsresult rv = SpawnWorkerIfNeeded(FetchEvent,
-                                    failRunnable,
                                     &newWorkerCreated,
                                     aLoadGroup);
   NS_ENSURE_SUCCESS(rv, rv);
 
   if (!newWorkerCreated) {
     aChannel->SetLaunchServiceWorkerEnd(TimeStamp::Now());
   }
 
@@ -1803,17 +1794,16 @@ ServiceWorkerPrivate::SendFetchEvent(nsI
     return NS_ERROR_FAILURE;
   }
 
   return NS_OK;
 }
 
 nsresult
 ServiceWorkerPrivate::SpawnWorkerIfNeeded(WakeUpReason aWhy,
-                                          nsIRunnable* aLoadFailedRunnable,
                                           bool* aNewWorkerCreated,
                                           nsILoadGroup* aLoadGroup)
 {
   MOZ_ASSERT(NS_IsMainThread());
 
   // Defaults to no new worker created, but if there is one, we'll set the value
   // to true at the end of this function.
   if (aNewWorkerCreated) {
@@ -1867,17 +1857,16 @@ ServiceWorkerPrivate::SpawnWorkerIfNeede
   info.mResolvedScriptURI = info.mBaseURI;
   MOZ_ASSERT(!mInfo->CacheName().IsEmpty());
   info.mServiceWorkerCacheName = mInfo->CacheName();
 
   info.mServiceWorkerDescriptor.emplace(mInfo->Descriptor());
   info.mServiceWorkerRegistrationDescriptor.emplace(reg->Descriptor());
 
   info.mLoadGroup = aLoadGroup;
-  info.mLoadFailedAsyncRunnable = aLoadFailedRunnable;
 
   // If we are loading a script for a ServiceWorker then we must not
   // try to intercept it.  If the interception matches the current
   // ServiceWorker's scope then we could deadlock the load.
   info.mLoadFlags = mInfo->GetImportsLoadFlags() |
                     nsIChannel::LOAD_BYPASS_SERVICE_WORKER;
 
   rv = info.mBaseURI->GetHost(info.mDomain);
@@ -2090,17 +2079,17 @@ nsresult
 ServiceWorkerPrivate::AttachDebugger()
 {
   MOZ_ASSERT(NS_IsMainThread());
 
   // When the first debugger attaches to a worker, we spawn a worker if needed,
   // and cancel the idle timeout. The idle timeout should not be reset until
   // the last debugger detached from the worker.
   if (!mDebuggerCount) {
-    nsresult rv = SpawnWorkerIfNeeded(AttachEvent, nullptr);
+    nsresult rv = SpawnWorkerIfNeeded(AttachEvent);
     NS_ENSURE_SUCCESS(rv, rv);
 
     mIdleWorkerTimer->Cancel();
   }
 
   ++mDebuggerCount;
 
   return NS_OK;
--- a/dom/serviceworkers/ServiceWorkerPrivate.h
+++ b/dom/serviceworkers/ServiceWorkerPrivate.h
@@ -88,18 +88,17 @@ public:
 
   // This is used to validate the worker script and continue the installation
   // process.
   nsresult
   CheckScriptEvaluation(LifeCycleEventCallback* aCallback);
 
   nsresult
   SendLifeCycleEvent(const nsAString& aEventType,
-                     LifeCycleEventCallback* aCallback,
-                     nsIRunnable* aLoadFailure);
+                     LifeCycleEventCallback* aCallback);
 
   nsresult
   SendPushEvent(const nsAString& aMessageId,
                 const Maybe<nsTArray<uint8_t>>& aData,
                 ServiceWorkerRegistrationInfo* aRegistration);
 
   nsresult
   SendPushSubscriptionChangeEvent();
@@ -185,21 +184,18 @@ private:
   ResetIdleTimeout();
 
   void
   AddToken();
 
   void
   ReleaseToken();
 
-  // |aLoadFailedRunnable| is a runnable dispatched to the main thread
-  // if the script loader failed for some reason, but can be null.
   nsresult
   SpawnWorkerIfNeeded(WakeUpReason aWhy,
-                      nsIRunnable* aLoadFailedRunnable,
                       bool* aNewWorkerCreated = nullptr,
                       nsILoadGroup* aLoadGroup = nullptr);
 
   ~ServiceWorkerPrivate();
 
   already_AddRefed<KeepAliveToken>
   CreateEventKeepAliveToken();
 
--- a/dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp
+++ b/dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp
@@ -75,29 +75,43 @@ ServiceWorkerRegistrationInfo::Clear()
     active->UpdateState(ServiceWorkerState::Redundant);
     active->UpdateRedundantTime();
     active->WorkerPrivate()->NoteDeadServiceWorkerInfo();
   }
 
   NotifyChromeRegistrationListeners();
 }
 
+void
+ServiceWorkerRegistrationInfo::ClearAsCorrupt()
+{
+  mCorrupt = true;
+  Clear();
+}
+
+bool
+ServiceWorkerRegistrationInfo::IsCorrupt() const
+{
+  return mCorrupt;
+}
+
 ServiceWorkerRegistrationInfo::ServiceWorkerRegistrationInfo(
     const nsACString& aScope,
     nsIPrincipal* aPrincipal,
     ServiceWorkerUpdateViaCache aUpdateViaCache)
   : mPrincipal(aPrincipal)
   , mDescriptor(GetNextId(), aPrincipal, aScope, aUpdateViaCache)
   , mControlledClientsCounter(0)
   , mDelayMultiplier(0)
   , mUpdateState(NoUpdate)
   , mCreationTime(PR_Now())
   , mCreationTimeStamp(TimeStamp::Now())
   , mLastUpdateTime(0)
   , mPendingUninstall(false)
+  , mCorrupt(false)
 {}
 
 ServiceWorkerRegistrationInfo::~ServiceWorkerRegistrationInfo()
 {
   MOZ_DIAGNOSTIC_ASSERT(!IsControllingClients());
 }
 
 const nsCString&
@@ -303,33 +317,32 @@ ServiceWorkerRegistrationInfo::Activate(
   TransitionWaitingToActive();
 
   // FIXME(nsm): Unlink appcache if there is one.
 
   // "Queue a task to fire a simple event named controllerchange..."
   MOZ_DIAGNOSTIC_ASSERT(mActiveWorker);
   swm->UpdateClientControllers(this);
 
-  nsCOMPtr<nsIRunnable> failRunnable = NewRunnableMethod<bool>(
-    "dom::ServiceWorkerRegistrationInfo::FinishActivate",
-    this,
-    &ServiceWorkerRegistrationInfo::FinishActivate,
-    false /* success */);
-
   nsMainThreadPtrHandle<ServiceWorkerRegistrationInfo> handle(
     new nsMainThreadPtrHolder<ServiceWorkerRegistrationInfo>(
       "ServiceWorkerRegistrationInfoProxy", this));
   RefPtr<LifeCycleEventCallback> callback = new ContinueActivateRunnable(handle);
 
   ServiceWorkerPrivate* workerPrivate = mActiveWorker->WorkerPrivate();
   MOZ_ASSERT(workerPrivate);
   nsresult rv = workerPrivate->SendLifeCycleEvent(NS_LITERAL_STRING("activate"),
-                                                  callback, failRunnable);
+                                                  callback);
   if (NS_WARN_IF(NS_FAILED(rv))) {
-    MOZ_ALWAYS_SUCCEEDS(NS_DispatchToMainThread(failRunnable));
+    nsCOMPtr<nsIRunnable> failRunnable = NewRunnableMethod<bool>(
+      "dom::ServiceWorkerRegistrationInfo::FinishActivate",
+      this,
+      &ServiceWorkerRegistrationInfo::FinishActivate,
+      false /* success */);
+    MOZ_ALWAYS_SUCCEEDS(NS_DispatchToMainThread(failRunnable.forget()));
     return;
   }
 }
 
 void
 ServiceWorkerRegistrationInfo::FinishActivate(bool aSuccess)
 {
   if (mPendingUninstall || !mActiveWorker ||
--- a/dom/serviceworkers/ServiceWorkerRegistrationInfo.h
+++ b/dom/serviceworkers/ServiceWorkerRegistrationInfo.h
@@ -45,16 +45,18 @@ class ServiceWorkerRegistrationInfo fina
 
   virtual ~ServiceWorkerRegistrationInfo();
 
   // When unregister() is called on a registration, it is not immediately
   // removed since documents may be controlled. It is marked as
   // pendingUninstall and when all controlling documents go away, removed.
   bool mPendingUninstall;
 
+  bool mCorrupt;
+
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSISERVICEWORKERREGISTRATIONINFO
 
   ServiceWorkerRegistrationInfo(const nsACString& aScope,
                                 nsIPrincipal* aPrincipal,
                                 ServiceWorkerUpdateViaCache aUpdateViaCache);
 
@@ -110,16 +112,22 @@ public:
   {
     return mActiveWorker && mControlledClientsCounter;
   }
 
   void
   Clear();
 
   void
+  ClearAsCorrupt();
+
+  bool
+  IsCorrupt() const;
+
+  void
   TryToActivateAsync();
 
   void
   TryToActivate();
 
   void
   Activate();
 
--- a/dom/serviceworkers/ServiceWorkerScriptCache.cpp
+++ b/dom/serviceworkers/ServiceWorkerScriptCache.cpp
@@ -295,16 +295,17 @@ public:
 
   explicit CompareManager(ServiceWorkerRegistrationInfo* aRegistration,
                           CompareCallback* aCallback)
     : mRegistration(aRegistration)
     , mCallback(aCallback)
     , mLoadFlags(nsIChannel::LOAD_BYPASS_SERVICE_WORKER)
     , mState(WaitingForInitialization)
     , mPendingCount(0)
+    , mOnFailure(OnFailure::DoNothing)
     , mAreScriptsEqual(true)
   {
     MOZ_ASSERT(NS_IsMainThread());
     MOZ_ASSERT(aRegistration);
   }
 
   nsresult
   Initialize(nsIPrincipal* aPrincipal, const nsAString& aURL,
@@ -355,16 +356,17 @@ public:
     if (--mPendingCount) {
       return;
     }
 
     if (mAreScriptsEqual) {
       MOZ_ASSERT(mCallback);
       mCallback->ComparisonResult(aStatus,
                                   true /* aSameScripts */,
+                                  mOnFailure,
                                   EmptyString(),
                                   mMaxScope,
                                   mLoadFlags);
       Cleanup();
       return;
     }
 
     // Write to Cache so ScriptLoader reads succeed.
@@ -471,48 +473,68 @@ private:
       return;
     }
 
     // Fetch and compare the source scripts.
     MOZ_ASSERT(mPendingCount == 0);
 
     mState = WaitingForScriptOrComparisonResult;
 
-    // Always make sure to fetch the main script.  If the old cache has
-    // no entries or the main script entry is missing, then the loop below
-    // may not trigger it.  This should not really happen, but we handle it
-    // gracefully if it does occur.  Its possible the bad cache state is due
-    // to a crash or shutdown during an update, etc.
-    rv = FetchScript(mURL, true /* aIsMainScript */, mOldCache);
-    if (NS_WARN_IF(NS_FAILED(rv))) {
-      return;
-    }
+    bool hasMainScript = false;
+    AutoTArray<nsString, 8> urlList;
 
+    // Extract the list of URLs in the old cache.
     for (uint32_t i = 0; i < len; ++i) {
       JS::Rooted<JS::Value> val(aCx);
       if (NS_WARN_IF(!JS_GetElement(aCx, obj, i, &val)) ||
           NS_WARN_IF(!val.isObject())) {
         return;
       }
 
       Request* request;
       JS::Rooted<JSObject*> requestObj(aCx, &val.toObject());
       if (NS_WARN_IF(NS_FAILED(UNWRAP_OBJECT(Request, &requestObj, request)))) {
         return;
       };
 
-      nsString URL;
-      request->GetUrl(URL);
+      nsString url;
+      request->GetUrl(url);
+
+      if (!hasMainScript && url == mURL) {
+        hasMainScript = true;
+      }
+
+      urlList.AppendElement(url);
+    }
 
+    // If the main script is missing, then something has gone wrong.  We
+    // will try to continue with the update process to trigger a new
+    // installation.  If that fails, however, then uninstall the registration
+    // because it is broken in a way that cannot be fixed.
+    if (!hasMainScript) {
+      mOnFailure = OnFailure::Uninstall;
+    }
+
+    // Always make sure to fetch the main script.  If the old cache has
+    // no entries or the main script entry is missing, then the loop below
+    // may not trigger it.  This should not really happen, but we handle it
+    // gracefully if it does occur.  Its possible the bad cache state is due
+    // to a crash or shutdown during an update, etc.
+    rv = FetchScript(mURL, true /* aIsMainScript */, mOldCache);
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return;
+    }
+
+    for (const auto& url : urlList) {
       // We explicitly start the fetch for the main script above.
-      if (mURL == URL) {
+      if (mURL == url) {
         continue;
       }
 
-      rv = FetchScript(URL, false /* aIsMainScript */, mOldCache);
+      rv = FetchScript(url, false /* aIsMainScript */, mOldCache);
       if (NS_WARN_IF(NS_FAILED(rv))) {
         return;
       }
     }
 
     guard.release();
   }
 
@@ -669,16 +691,17 @@ private:
     WaitingForExistingKeys,
     WaitingForScriptOrComparisonResult,
     WaitingForOpen,
     WaitingForPut,
     Finished
   } mState;
 
   uint32_t mPendingCount;
+  OnFailure mOnFailure;
   bool mAreScriptsEqual;
 };
 
 NS_IMPL_ISUPPORTS0(CompareManager)
 
 nsresult
 CompareNetwork::Initialize(nsIPrincipal* aPrincipal,
                            const nsAString& aURL,
@@ -1321,16 +1344,17 @@ CompareManager::ResolvedCallback(JSConte
     case WaitingForOpen:
       ManageNewCache(aCx, aValue);
       return;
     case WaitingForPut:
       MOZ_DIAGNOSTIC_ASSERT(mPendingCount > 0);
       if (--mPendingCount == 0) {
         mCallback->ComparisonResult(NS_OK,
                                     false /* aIsEqual */,
+                                    mOnFailure,
                                     mNewCacheName,
                                     mMaxScope,
                                     mLoadFlags);
         Cleanup();
       }
       return;
     default:
       MOZ_DIAGNOSTIC_ASSERT(false);
@@ -1362,17 +1386,17 @@ CompareManager::RejectedCallback(JSConte
 
   Fail(NS_ERROR_FAILURE);
 }
 
 void
 CompareManager::Fail(nsresult aStatus)
 {
   MOZ_ASSERT(NS_IsMainThread());
-  mCallback->ComparisonResult(aStatus, false /* aIsEqual */,
+  mCallback->ComparisonResult(aStatus, false /* aIsEqual */, mOnFailure,
                               EmptyString(), EmptyCString(), mLoadFlags);
   Cleanup();
 }
 
 void
 CompareManager::Cleanup()
 {
   MOZ_ASSERT(NS_IsMainThread());
--- a/dom/serviceworkers/ServiceWorkerScriptCache.h
+++ b/dom/serviceworkers/ServiceWorkerScriptCache.h
@@ -20,28 +20,35 @@ class ServiceWorkerRegistrationInfo;
 namespace serviceWorkerScriptCache {
 
 nsresult
 PurgeCache(nsIPrincipal* aPrincipal, const nsAString& aCacheName);
 
 nsresult
 GenerateCacheName(nsAString& aName);
 
+enum class OnFailure : uint8_t {
+    DoNothing,
+    Uninstall
+};
+
 class CompareCallback
 {
 public:
+
   /*
    * If there is an error, ignore aInCacheAndEqual and aNewCacheName.
    * On success, if the cached result and network result matched,
    * aInCacheAndEqual will be true and no new cache name is passed, otherwise
    * use the new cache name to load the ServiceWorker.
    */
   virtual void
   ComparisonResult(nsresult aStatus,
                    bool aInCacheAndEqual,
+                   OnFailure aOnFailure,
                    const nsAString& aNewCacheName,
                    const nsACString& aMaxScope,
                    nsLoadFlags aLoadFlags) = 0;
 
   NS_INLINE_DECL_PURE_VIRTUAL_REFCOUNTING
 };
 
 nsresult
--- a/dom/serviceworkers/ServiceWorkerUpdateJob.cpp
+++ b/dom/serviceworkers/ServiceWorkerUpdateJob.cpp
@@ -9,16 +9,18 @@
 #include "nsIScriptError.h"
 #include "nsIURL.h"
 #include "ServiceWorkerScriptCache.h"
 #include "mozilla/dom/WorkerCommon.h"
 
 namespace mozilla {
 namespace dom {
 
+using serviceWorkerScriptCache::OnFailure;
+
 namespace {
 
 /**
  * The spec mandates slightly different behaviors for computing the scope
  * prefix string in case a Service-Worker-Allowed header is specified versus
  * when it's not available.
  *
  * With the header:
@@ -91,22 +93,24 @@ public:
     : mJob(aJob)
   {
     MOZ_ASSERT(mJob);
   }
 
   virtual void
   ComparisonResult(nsresult aStatus,
                    bool aInCacheAndEqual,
+                   OnFailure aOnFailure,
                    const nsAString& aNewCacheName,
                    const nsACString& aMaxScope,
                    nsLoadFlags aLoadFlags) override
   {
     mJob->ComparisonResult(aStatus,
                            aInCacheAndEqual,
+                           aOnFailure,
                            aNewCacheName,
                            aMaxScope,
                            aLoadFlags);
   }
 
   NS_INLINE_DECL_REFCOUNTING(ServiceWorkerUpdateJob::CompareCallback, override)
 };
 
@@ -172,16 +176,17 @@ ServiceWorkerUpdateJob::ServiceWorkerUpd
     nsIPrincipal* aPrincipal,
     const nsACString& aScope,
     const nsACString& aScriptSpec,
     nsILoadGroup* aLoadGroup,
     ServiceWorkerUpdateViaCache aUpdateViaCache)
   : ServiceWorkerJob(Type::Update, aPrincipal, aScope, aScriptSpec)
   , mLoadGroup(aLoadGroup)
   , mUpdateViaCache(aUpdateViaCache)
+  , mOnFailure(OnFailure::DoNothing)
 {
 }
 
 already_AddRefed<ServiceWorkerRegistrationInfo>
 ServiceWorkerUpdateJob::GetRegistration() const
 {
   MOZ_ASSERT(NS_IsMainThread());
   RefPtr<ServiceWorkerRegistrationInfo> ref = mRegistration;
@@ -207,30 +212,47 @@ ServiceWorkerUpdateJob::~ServiceWorkerUp
 
 void
 ServiceWorkerUpdateJob::FailUpdateJob(ErrorResult& aRv)
 {
   MOZ_ASSERT(NS_IsMainThread());
   MOZ_ASSERT(aRv.Failed());
 
   // Cleanup after a failed installation.  This essentially implements
-  // step 12 of the Install algorithm.
+  // step 13 of the Install algorithm.
   //
-  //  https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#installation-algorithm
+  //  https://w3c.github.io/ServiceWorker/#installation-algorithm
   //
   // The spec currently only runs this after an install event fails,
   // but we must handle many more internal errors.  So we check for
   // cleanup on every non-successful exit.
   if (mRegistration) {
-    mRegistration->ClearEvaluating();
-    mRegistration->ClearInstalling();
+    // Some kinds of failures indicate there is something broken in the currently
+    // installed registration.  In these cases we want to fully unregister.
+    if (mOnFailure == OnFailure::Uninstall) {
+      mRegistration->ClearAsCorrupt();
+    }
+
+    // Otherwise just clear the workers we may have created as part of the
+    // update process.
+    else {
+      mRegistration->ClearEvaluating();
+      mRegistration->ClearInstalling();
+    }
 
     RefPtr<ServiceWorkerManager> swm = ServiceWorkerManager::GetInstance();
     if (swm) {
       swm->MaybeRemoveRegistration(mRegistration);
+
+      // Also clear the registration on disk if we are forcing uninstall
+      // due to a particularly bad failure.
+      if (mOnFailure == OnFailure::Uninstall) {
+        swm->MaybeSendUnregister(mRegistration->Principal(),
+                                 mRegistration->Scope());
+      }
     }
   }
 
   mRegistration = nullptr;
 
   Finish(aRv);
 }
 
@@ -332,22 +354,25 @@ ServiceWorkerUpdateViaCache
 ServiceWorkerUpdateJob::GetUpdateViaCache() const
 {
   return mUpdateViaCache;
 }
 
 void
 ServiceWorkerUpdateJob::ComparisonResult(nsresult aStatus,
                                          bool aInCacheAndEqual,
+                                         OnFailure aOnFailure,
                                          const nsAString& aNewCacheName,
                                          const nsACString& aMaxScope,
                                          nsLoadFlags aLoadFlags)
 {
   MOZ_ASSERT(NS_IsMainThread());
 
+  mOnFailure = aOnFailure;
+
   RefPtr<ServiceWorkerManager> swm = ServiceWorkerManager::GetInstance();
   if (NS_WARN_IF(Canceled() || !swm)) {
     FailUpdateJob(NS_ERROR_DOM_ABORT_ERR);
     return;
   }
 
   // Handle failure of the download or comparison.  This is part of Update
   // step 5 as "If the algorithm asynchronously completes with null, then:".
@@ -435,16 +460,24 @@ ServiceWorkerUpdateJob::ComparisonResult
 
   RefPtr<ServiceWorkerInfo> sw =
     new ServiceWorkerInfo(mRegistration->Principal(),
                           mRegistration->Scope(),
                           mScriptSpec,
                           aNewCacheName,
                           flags);
 
+  // If the registration is corrupt enough to force an uninstall if the
+  // upgrade fails, then we want to make sure the upgrade takes effect
+  // if it succeeds.  Therefore force the skip-waiting flag on to replace
+  // the broken worker after install.
+  if (aOnFailure == OnFailure::Uninstall) {
+    sw->SetSkipWaitingFlag();
+  }
+
   mRegistration->SetEvaluating(sw);
 
   nsMainThreadPtrHandle<ServiceWorkerUpdateJob> handle(
       new nsMainThreadPtrHolder<ServiceWorkerUpdateJob>(
         "ServiceWorkerUpdateJob", this));
   RefPtr<LifeCycleEventCallback> callback = new ContinueUpdateRunnable(handle);
 
   ServiceWorkerPrivate* workerPrivate = sw->WorkerPrivate();
@@ -510,34 +543,26 @@ ServiceWorkerUpdateJob::Install(ServiceW
     NewRunnableMethod<RefPtr<ServiceWorkerRegistrationInfo>>(
       "dom::ServiceWorkerManager::"
       "FireUpdateFoundOnServiceWorkerRegistrations",
       aSWM,
       &ServiceWorkerManager::FireUpdateFoundOnServiceWorkerRegistrations,
       mRegistration);
   NS_DispatchToMainThread(upr);
 
-  // Call ContinueAfterInstallEvent(false) on main thread if the SW
-  // script fails to load.
-  nsCOMPtr<nsIRunnable> failRunnable = NewRunnableMethod<bool>(
-    "dom::ServiceWorkerUpdateJob::ContinueAfterInstallEvent",
-    this,
-    &ServiceWorkerUpdateJob::ContinueAfterInstallEvent,
-    false);
-
   nsMainThreadPtrHandle<ServiceWorkerUpdateJob> handle(
     new nsMainThreadPtrHolder<ServiceWorkerUpdateJob>(
       "ServiceWorkerUpdateJob", this));
   RefPtr<LifeCycleEventCallback> callback = new ContinueInstallRunnable(handle);
 
   // Send the install event to the worker thread
   ServiceWorkerPrivate* workerPrivate =
     mRegistration->GetInstalling()->WorkerPrivate();
   nsresult rv = workerPrivate->SendLifeCycleEvent(NS_LITERAL_STRING("install"),
-                                                  callback, failRunnable);
+                                                  callback);
   if (NS_WARN_IF(NS_FAILED(rv))) {
     ContinueAfterInstallEvent(false /* aSuccess */);
   }
 }
 
 void
 ServiceWorkerUpdateJob::ContinueAfterInstallEvent(bool aInstallEventSuccess)
 {
--- a/dom/serviceworkers/ServiceWorkerUpdateJob.h
+++ b/dom/serviceworkers/ServiceWorkerUpdateJob.h
@@ -8,16 +8,20 @@
 #define mozilla_dom_serviceworkerupdatejob_h
 
 #include "ServiceWorkerJob.h"
 #include "ServiceWorkerRegistration.h"
 
 namespace mozilla {
 namespace dom {
 
+namespace serviceWorkerScriptCache {
+enum class OnFailure : uint8_t;
+} // namespace serviceWorkerScriptCache
+
 class ServiceWorkerManager;
 
 // A job class that performs the Update and Install algorithms from the
 // service worker spec.  This class is designed to be inherited and customized
 // as a different job type.  This is necessary because the register job
 // performs largely the same operations as the update job, but has a few
 // different starting steps.
 class ServiceWorkerUpdateJob : public ServiceWorkerJob
@@ -78,34 +82,35 @@ private:
   class ContinueUpdateRunnable;
   class ContinueInstallRunnable;
 
   // Utility method called after a script is loaded and compared to
   // our current cached script.
   void
   ComparisonResult(nsresult aStatus,
                    bool aInCacheAndEqual,
+                   serviceWorkerScriptCache::OnFailure aOnFailure,
                    const nsAString& aNewCacheName,
                    const nsACString& aMaxScope,
                    nsLoadFlags aLoadFlags);
 
   // Utility method called after evaluating the worker script.
   void
   ContinueUpdateAfterScriptEval(bool aScriptEvaluationResult);
 
   // Utility method corresponding to the spec Install algorithm.
   void
   Install(ServiceWorkerManager* aSWM);
 
   // Utility method called after the install event is handled.
   void
   ContinueAfterInstallEvent(bool aInstallEventSuccess);
 
+  RefPtr<ServiceWorkerRegistrationInfo> mRegistration;
   nsCOMPtr<nsILoadGroup> mLoadGroup;
   ServiceWorkerUpdateViaCache mUpdateViaCache;
-
-  RefPtr<ServiceWorkerRegistrationInfo> mRegistration;
+  serviceWorkerScriptCache::OnFailure mOnFailure;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 #endif // mozilla_dom_serviceworkerupdatejob_h
--- a/dom/serviceworkers/test/browser.ini
+++ b/dom/serviceworkers/test/browser.ini
@@ -7,18 +7,20 @@ support-files =
   download_canceled/page_download_canceled.html
   download_canceled/server-stream-download.sjs
   download_canceled/sw_download_canceled.js
   fetch.js
   file_userContextId_openWindow.js
   force_refresh_browser_worker.js
   empty.html
   empty.js
+  storage_recovery_worker.sjs
   utils.js
 
 [browser_devtools_serviceworker_interception.js]
 [browser_force_refresh.js]
 [browser_download.js]
 [browser_download_canceled.js]
 [browser_storage_permission.js]
+[browser_storage_recovery.js]
 [browser_unregister_with_containers.js]
 [browser_userContextId_openWindow.js]
 skip-if = !e10s
new file mode 100644
--- /dev/null
+++ b/dom/serviceworkers/test/browser_storage_recovery.js
@@ -0,0 +1,146 @@
+"use strict";
+
+
+// This test registers a SW for a scope that will never control a document
+// and therefore never trigger a "fetch" functional event that would
+// automatically attempt to update the registration.  The overlap of the
+// PAGE_URI and SCOPE is incidental.  checkForUpdate is the only thing that
+// will trigger an update of the registration and so there is no need to
+// worry about Schedule Job races to coalesce an update job.
+
+const BASE_URI = "http://mochi.test:8888/browser/dom/serviceworkers/test/";
+const PAGE_URI = BASE_URI + "empty.html";
+const SCOPE = PAGE_URI + "?storage_recovery";
+const SW_SCRIPT = BASE_URI + "storage_recovery_worker.sjs";
+
+async function checkForUpdate(browser) {
+  return ContentTask.spawn(browser, SCOPE, async function(uri) {
+    let reg = await content.navigator.serviceWorker.getRegistration(uri);
+    await reg.update();
+    return !!reg.installing;
+  });
+}
+
+// Delete all of our chrome-namespace Caches for this origin, leaving any
+// content-owned caches in place.  This is exclusively for simulating loss
+// of the origin's storage without loss of the registration and without
+// having to worry that future enhancements to QuotaClients/ServiceWorkerRegistrar
+// will break this test.  If you want to wipe storage for an origin, use
+// QuotaManager APIs
+async function wipeStorage(u) {
+  let uri = Services.io.newURI(u);
+  let principal =
+    Services.scriptSecurityManager.createCodebasePrincipal(uri, {});
+  let caches = new CacheStorage("chrome", principal);
+  let list = await caches.keys();
+  return Promise.all(list.map(c => caches.delete(c)));
+}
+
+add_task(async function setup() {
+  await SpecialPowers.pushPrefEnv({"set": [
+    // Until the e10s refactor is complete, use a single process to avoid
+    // service worker propagation race.
+    ["dom.ipc.processCount", 1],
+    ["dom.serviceWorkers.enabled", true],
+    ["dom.serviceWorkers.testing.enabled", true],
+    ["dom.serviceWorkers.idle_timeout", 0],
+  ]});
+
+  // Configure the server script to not redirect.
+  await fetch(SW_SCRIPT + "?clear-redirect");
+
+  let tab = BrowserTestUtils.addTab(gBrowser, PAGE_URI);
+  let browser = gBrowser.getBrowserForTab(tab);
+  await BrowserTestUtils.browserLoaded(browser);
+
+  await ContentTask.spawn(browser, { script: SW_SCRIPT, scope: SCOPE },
+    async function(opts) {
+      let reg = await content.navigator.serviceWorker.register(opts.script,
+                                                               { scope: opts.scope });
+      let worker = reg.installing || reg.waiting || reg.active;
+      await new Promise(resolve => {
+        if (worker.state === "activated") {
+          resolve();
+          return;
+        }
+        worker.addEventListener("statechange", function onStateChange() {
+          if (worker.state === "activated") {
+            worker.removeEventListener("statechange", onStateChange);
+            resolve();
+          }
+        });
+      });
+    }
+  );
+
+  BrowserTestUtils.removeTab(tab);
+});
+
+// Verify that our service worker doesn't update normally.
+add_task(async function normal_update_check() {
+  let tab = BrowserTestUtils.addTab(gBrowser, PAGE_URI);
+  let browser = gBrowser.getBrowserForTab(tab);
+  await BrowserTestUtils.browserLoaded(browser);
+
+  let updated = await checkForUpdate(browser);
+  ok(!updated, "normal update check should not trigger an update");
+
+  BrowserTestUtils.removeTab(tab);
+});
+
+// Test what happens when we wipe the service worker scripts
+// out from under the site before triggering the update.  This
+// should cause an update to occur.
+add_task(async function wiped_update_check() {
+  // Wipe the backing cache storage, but leave the SW registered.
+  await wipeStorage(PAGE_URI);
+
+  let tab = BrowserTestUtils.addTab(gBrowser, PAGE_URI);
+  let browser = gBrowser.getBrowserForTab(tab);
+  await BrowserTestUtils.browserLoaded(browser);
+
+  let updated = await checkForUpdate(browser);
+  ok(updated, "wiping the service worker scripts should trigger an update");
+
+  BrowserTestUtils.removeTab(tab);
+});
+
+// Test what happens when we wipe the service worker scripts
+// out from under the site before triggering the update.  This
+// should cause an update to occur.
+add_task(async function wiped_and_failed_update_check() {
+  // Wipe the backing cache storage, but leave the SW registered.
+  await wipeStorage(PAGE_URI);
+
+  // Configure the service worker script to redirect.  This will
+  // prevent the update from completing successfully.
+  await fetch(SW_SCRIPT + "?set-redirect");
+
+  let tab = BrowserTestUtils.addTab(gBrowser, PAGE_URI);
+  let browser = gBrowser.getBrowserForTab(tab);
+  await BrowserTestUtils.browserLoaded(browser);
+
+  // Attempt to update the service worker.  This should throw
+  // an error because the script is now redirecting.
+  let updateFailed = false;
+  try {
+    await checkForUpdate(browser);
+  } catch (e) {
+    updateFailed = true;
+  }
+  ok(updateFailed, "redirecting service worker script should fail to update");
+
+  // Also, since the existing service worker's scripts are broken
+  // we should also remove the registration completely when the
+  // update fails.
+  let exists = await ContentTask.spawn(browser, SCOPE, async function(uri) {
+    let reg = await content.navigator.serviceWorker.getRegistration(uri);
+    return !!reg;
+  });
+  ok(!exists, "registration should be removed after scripts are wiped and update fails");
+
+  // Note, we don't have to clean up the service worker registration
+  // since its effectively been force-removed here.
+
+  BrowserTestUtils.removeTab(tab);
+});
new file mode 100644
--- /dev/null
+++ b/dom/serviceworkers/test/storage_recovery_worker.sjs
@@ -0,0 +1,23 @@
+const BASE_URI = "http://mochi.test:8888/browser/dom/serviceworkers/test/";
+
+function handleRequest(request, response) {
+  let redirect = getState("redirect");
+  setState("redirect", "false");
+
+  if (request.queryString.includes("set-redirect")) {
+    setState("redirect", "true");
+  } else if (request.queryString.includes("clear-redirect")) {
+    setState("redirect", "false");
+  }
+
+  response.setHeader("Cache-Control", "no-store");
+
+  if (redirect === "true") {
+    response.setStatusLine(request.httpVersion, 307, "Moved Temporarily");
+    response.setHeader("Location", BASE_URI + "empty.js");
+    return;
+  }
+
+  response.setHeader("Content-Type", "application/javascript");
+  response.write("");
+}
--- a/dom/webidl/PaymentRequest.webidl
+++ b/dom/webidl/PaymentRequest.webidl
@@ -49,16 +49,21 @@ dictionary PaymentDetailsBase {
   sequence<PaymentDetailsModifier> modifiers;
 };
 
 dictionary PaymentDetailsInit : PaymentDetailsBase {
            DOMString   id;
   required PaymentItem total;
 };
 
+dictionary PaymentDetailsUpdate : PaymentDetailsBase {
+  DOMString   error;
+  PaymentItem total;
+};
+
 enum PaymentShippingType {
   "shipping",
   "delivery",
   "pickup"
 };
 
 dictionary PaymentOptions {
   boolean             requestPayerName = false;
@@ -69,17 +74,17 @@ dictionary PaymentOptions {
 };
 
 [Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details,
              optional PaymentOptions options),
  SecureContext,
  Func="mozilla::dom::PaymentRequest::PrefEnabled"]
 interface PaymentRequest : EventTarget {
   [NewObject]
-  Promise<PaymentResponse> show();
+  Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
   [NewObject]
   Promise<void>            abort();
   [NewObject]
   Promise<boolean>         canMakePayment();
 
   readonly attribute DOMString            id;
   readonly attribute PaymentAddress?      shippingAddress;
   readonly attribute DOMString?           shippingOption;
--- a/dom/webidl/PaymentRequestUpdateEvent.webidl
+++ b/dom/webidl/PaymentRequestUpdateEvent.webidl
@@ -2,21 +2,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/.
  *
  * The origin of this WebIDL file is
  *   https://www.w3.org/TR/payment-request/#paymentrequestupdateevent-interface
  */
 
-dictionary PaymentDetailsUpdate : PaymentDetailsBase {
-  DOMString   error;
-  PaymentItem total;
-};
-
 [Constructor(DOMString type,
              optional PaymentRequestUpdateEventInit eventInitDict),
  SecureContext,
  Func="mozilla::dom::PaymentRequest::PrefEnabled"]
 interface PaymentRequestUpdateEvent : Event {
   [Throws]
   void updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
 };
--- a/dom/workers/ScriptLoader.cpp
+++ b/dom/workers/ScriptLoader.cpp
@@ -59,16 +59,17 @@
 #include "mozilla/dom/nsCSPUtils.h"
 #include "mozilla/dom/PerformanceStorage.h"
 #include "mozilla/dom/Promise.h"
 #include "mozilla/dom/PromiseNativeHandler.h"
 #include "mozilla/dom/Response.h"
 #include "mozilla/dom/ScriptLoader.h"
 #include "mozilla/dom/ScriptSettings.h"
 #include "mozilla/dom/SRILogHelper.h"
+#include "mozilla/dom/ServiceWorkerBinding.h"
 #include "mozilla/UniquePtr.h"
 #include "Principal.h"
 #include "WorkerHolder.h"
 #include "WorkerPrivate.h"
 #include "WorkerRunnable.h"
 #include "WorkerScope.h"
 
 #define MAX_CONCURRENT_SCRIPTS 1000
@@ -175,16 +176,27 @@ ChannelFromScriptURL(nsIPrincipal* princ
   if (aIsMainScript && NS_SUCCEEDED(uri->SchemeIs("data", &isData)) && isData) {
     secFlags = nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL;
   }
 
   nsContentPolicyType contentPolicyType =
     aIsMainScript ? aMainScriptContentPolicyType
                   : nsIContentPolicy::TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS;
 
+  // The main service worker script should never be loaded over the network
+  // in this path.  It should always be offlined by ServiceWorkerScriptCache.
+  // We assert here since this error should also be caught by the runtime
+  // check in CacheScriptLoader.
+  //
+  // Note, if we ever allow service worker scripts to be loaded from network
+  // here we need to configure the channel properly.  For example, it must
+  // not allow redirects.
+  MOZ_DIAGNOSTIC_ASSERT(contentPolicyType !=
+                        nsIContentPolicy::TYPE_INTERNAL_SERVICE_WORKER);
+
   nsCOMPtr<nsIChannel> channel;
   // If we have the document, use it. Unfortunately, for dedicated workers
   // 'parentDoc' ends up being the parent document, which is not the document
   // that we want to use. So make sure to avoid using 'parentDoc' in that
   // situation.
   if (parentDoc && parentDoc->NodePrincipal() == principal) {
     rv = NS_NewChannel(getter_AddRefs(channel),
                        uri,
@@ -459,16 +471,17 @@ public:
   CacheScriptLoader(WorkerPrivate* aWorkerPrivate, ScriptLoadInfo& aLoadInfo,
                     uint32_t aIndex, bool aIsWorkerScript,
                     ScriptLoaderRunnable* aRunnable)
     : mLoadInfo(aLoadInfo)
     , mIndex(aIndex)
     , mRunnable(aRunnable)
     , mIsWorkerScript(aIsWorkerScript)
     , mFailed(false)
+    , mState(aWorkerPrivate->GetServiceWorkerDescriptor().State())
   {
     MOZ_ASSERT(aWorkerPrivate);
     MOZ_ASSERT(aWorkerPrivate->IsServiceWorker());
     mMainThreadEventTarget = aWorkerPrivate->MainThreadEventTarget();
     MOZ_ASSERT(mMainThreadEventTarget);
     mBaseURI = GetBaseURI(mIsWorkerScript, aWorkerPrivate);
     AssertIsOnMainThread();
   }
@@ -491,16 +504,17 @@ private:
     AssertIsOnMainThread();
   }
 
   ScriptLoadInfo& mLoadInfo;
   uint32_t mIndex;
   RefPtr<ScriptLoaderRunnable> mRunnable;
   bool mIsWorkerScript;
   bool mFailed;
+  const ServiceWorkerState mState;
   nsCOMPtr<nsIInputStreamPump> mPump;
   nsCOMPtr<nsIURI> mBaseURI;
   mozilla::dom::ChannelInfo mChannelInfo;
   UniquePtr<PrincipalInfo> mPrincipalInfo;
   nsCString mCSPHeaderValue;
   nsCString mCSPReportOnlyHeaderValue;
   nsCString mReferrerPolicyHeaderValue;
   nsCOMPtr<nsIEventTarget> mMainThreadEventTarget;
@@ -1752,17 +1766,30 @@ CacheScriptLoader::ResolvedCallback(JSCo
   if (mFailed) {
     return;
   }
 
   MOZ_ASSERT(mLoadInfo.mCacheStatus == ScriptLoadInfo::Uncached);
 
   nsresult rv;
 
+  // The ServiceWorkerScriptCache will store data for any scripts it
+  // it knows about.  This is always at least the top level script.
+  // Depending on if a previous version of the service worker has
+  // been installed or not it may also know about importScripts().  We
+  // must handle loading and offlining new importScripts() here, however.
   if (aValue.isUndefined()) {
+    // If this is the main script or we're not loading a new service worker
+    // then this is an error.  The storage was probably wiped without
+    // removing the service worker registration.
+    if (NS_WARN_IF(mIsWorkerScript || mState != ServiceWorkerState::Parsed)) {
+      Fail(NS_ERROR_DOM_INVALID_STATE_ERR);
+      return;
+    }
+
     mLoadInfo.mCacheStatus = ScriptLoadInfo::ToBeCached;
     rv = mRunnable->LoadScript(mIndex);
     if (NS_WARN_IF(NS_FAILED(rv))) {
       Fail(rv);
     }
     return;
   }
 
@@ -2042,20 +2069,16 @@ ScriptExecutorRunnable::WorkerRun(JSCont
     NS_ASSERTION(loadInfo.mExecutionScheduled, "Should be scheduled!");
     NS_ASSERTION(!loadInfo.mExecutionResult, "Should not have executed yet!");
 
     MOZ_ASSERT(!mScriptLoader.mRv.Failed(), "Who failed it and why?");
     mScriptLoader.mRv.MightThrowJSException();
     if (NS_FAILED(loadInfo.mLoadResult)) {
       workerinternals::ReportLoadError(mScriptLoader.mRv,
                                        loadInfo.mLoadResult, loadInfo.mURL);
-      // Top level scripts only!
-      if (mIsWorkerScript) {
-        aWorkerPrivate->MaybeDispatchLoadFailedRunnable();
-      }
       return true;
     }
 
     // If this is a top level script that succeeded, then mark the
     // Client execution ready and possible controlled by a service worker.
     if (mIsWorkerScript) {
       if (mScriptLoader.mController.isSome()) {
         aWorkerPrivate->Control(mScriptLoader.mController.ref());
--- a/dom/workers/WorkerLoadInfo.cpp
+++ b/dom/workers/WorkerLoadInfo.cpp
@@ -128,19 +128,16 @@ WorkerLoadInfo::StealFrom(WorkerLoadInfo
   aOther.mCSP.swap(mCSP);
 
   MOZ_ASSERT(!mChannel);
   aOther.mChannel.swap(mChannel);
 
   MOZ_ASSERT(!mLoadGroup);
   aOther.mLoadGroup.swap(mLoadGroup);
 
-  MOZ_ASSERT(!mLoadFailedAsyncRunnable);
-  aOther.mLoadFailedAsyncRunnable.swap(mLoadFailedAsyncRunnable);
-
   MOZ_ASSERT(!mInterfaceRequestor);
   aOther.mInterfaceRequestor.swap(mInterfaceRequestor);
 
   MOZ_ASSERT(!mPrincipalInfo);
   mPrincipalInfo = aOther.mPrincipalInfo.forget();
 
   mDomain = aOther.mDomain;
   mOrigin = aOther.mOrigin;
@@ -397,29 +394,28 @@ WorkerLoadInfo::ProxyReleaseMainThreadOb
   return ProxyReleaseMainThreadObjects(aWorkerPrivate, nullLoadGroup);
 }
 
 bool
 WorkerLoadInfo::ProxyReleaseMainThreadObjects(WorkerPrivate* aWorkerPrivate,
                                               nsCOMPtr<nsILoadGroup>& aLoadGroupToCancel)
 {
 
-  static const uint32_t kDoomedCount = 11;
+  static const uint32_t kDoomedCount = 10;
   nsTArray<nsCOMPtr<nsISupports>> doomed(kDoomedCount);
 
   SwapToISupportsArray(mWindow, doomed);
   SwapToISupportsArray(mScriptContext, doomed);
   SwapToISupportsArray(mBaseURI, doomed);
   SwapToISupportsArray(mResolvedScriptURI, doomed);
   SwapToISupportsArray(mPrincipal, doomed);
   SwapToISupportsArray(mLoadingPrincipal, doomed);
   SwapToISupportsArray(mChannel, doomed);
   SwapToISupportsArray(mCSP, doomed);
   SwapToISupportsArray(mLoadGroup, doomed);
-  SwapToISupportsArray(mLoadFailedAsyncRunnable, doomed);
   SwapToISupportsArray(mInterfaceRequestor, doomed);
   // Before adding anything here update kDoomedCount above!
 
   MOZ_ASSERT(doomed.Length() == kDoomedCount);
 
   RefPtr<MainThreadReleaseRunnable> runnable =
     new MainThreadReleaseRunnable(doomed, aLoadGroupToCancel);
   return NS_SUCCEEDED(aWorkerPrivate->DispatchToMainThread(runnable.forget()));
--- a/dom/workers/WorkerLoadInfo.h
+++ b/dom/workers/WorkerLoadInfo.h
@@ -51,22 +51,16 @@ struct WorkerLoadInfo
   nsCOMPtr<nsIPrincipal> mPrincipal;
 
   nsCOMPtr<nsIScriptContext> mScriptContext;
   nsCOMPtr<nsPIDOMWindowInner> mWindow;
   nsCOMPtr<nsIContentSecurityPolicy> mCSP;
   nsCOMPtr<nsIChannel> mChannel;
   nsCOMPtr<nsILoadGroup> mLoadGroup;
 
-  // mLoadFailedAsyncRunnable will execute on main thread if script loading
-  // fails during script loading.  If script loading is never started due to
-  // a synchronous error, then the runnable is never executed.  The runnable
-  // is guaranteed to be released on the main thread.
-  nsCOMPtr<nsIRunnable> mLoadFailedAsyncRunnable;
-
   class InterfaceRequestor final : public nsIInterfaceRequestor
   {
     NS_DECL_ISUPPORTS
 
   public:
     InterfaceRequestor(nsIPrincipal* aPrincipal, nsILoadGroup* aLoadGroup);
     void MaybeAddTabChild(nsILoadGroup* aLoadGroup);
     NS_IMETHOD GetInterface(const nsIID& aIID, void** aSink) override;
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -468,16 +468,25 @@ private:
     JSAutoCompartment ac(aCx, globalScope->GetGlobalJSObject());
     if (rv.MaybeSetPendingException(aCx)) {
       return false;
     }
 
     aWorkerPrivate->SetWorkerScriptExecutedSuccessfully();
     return true;
   }
+
+  void
+  PostRun(JSContext* aCx, WorkerPrivate* aWorkerPrivate, bool aRunResult) override
+  {
+    if (!aRunResult) {
+      aWorkerPrivate->CloseInternal();
+    }
+    WorkerRunnable::PostRun(aCx, aWorkerPrivate, aRunResult);
+  }
 };
 
 class NotifyRunnable final : public WorkerControlRunnable
 {
   WorkerStatus mStatus;
 
 public:
   NotifyRunnable(WorkerPrivate* aWorkerPrivate, WorkerStatus aStatus)
@@ -3292,29 +3301,16 @@ WorkerPrivate::OnProcessNextEvent()
 
 void
 WorkerPrivate::AfterProcessNextEvent()
 {
   AssertIsOnWorkerThread();
   MOZ_ASSERT(CycleCollectedJSContext::Get()->RecursionDepth());
 }
 
-void
-WorkerPrivate::MaybeDispatchLoadFailedRunnable()
-{
-  AssertIsOnWorkerThread();
-
-  nsCOMPtr<nsIRunnable> runnable = StealLoadFailedAsyncRunnable();
-  if (!runnable) {
-    return;
-  }
-
-  MOZ_ALWAYS_SUCCEEDS(DispatchToMainThread(runnable.forget()));
-}
-
 nsIEventTarget*
 WorkerPrivate::MainThreadEventTarget()
 {
   return mMainThreadEventTarget;
 }
 
 nsresult
 WorkerPrivate::DispatchToMainThread(nsIRunnable* aRunnable, uint32_t aFlags)
--- a/dom/workers/WorkerPrivate.h
+++ b/dom/workers/WorkerPrivate.h
@@ -522,19 +522,16 @@ public:
   // Only valid after CompileScriptRunnable has finished running!
   bool
   WorkerScriptExecutedSuccessfully() const
   {
     AssertIsOnWorkerThread();
     return mWorkerScriptExecutedSuccessfully;
   }
 
-  void
-  MaybeDispatchLoadFailedRunnable();
-
   // Get the event target to use when dispatching to the main thread
   // from this Worker thread.  This may be the main thread itself or
   // a ThrottledEventQueue to the main thread.
   nsIEventTarget*
   MainThreadEventTarget();
 
   nsresult
   DispatchToMainThread(nsIRunnable* aRunnable,
@@ -1051,22 +1048,16 @@ public:
 
   // Determine if the SW testing per-window flag is set by devtools
   bool
   ServiceWorkersTestingInWindow() const
   {
     return mLoadInfo.mServiceWorkersTestingInWindow;
   }
 
-  already_AddRefed<nsIRunnable>
-  StealLoadFailedAsyncRunnable()
-  {
-    return mLoadInfo.mLoadFailedAsyncRunnable.forget();
-  }
-
   // This is used to handle importScripts(). When the worker is first loaded
   // and executed, it happens in a sync loop. At this point it sets
   // mLoadingWorkerScript to true. importScripts() calls that occur during the
   // execution run in nested sync loops and so this continues to return true,
   // leading to these scripts being cached offline.
   // mLoadingWorkerScript is set to false when the top level loop ends.
   // importScripts() in function calls or event handlers are always fetched
   // from the network.
--- a/js/src/jit/BaselineIC.cpp
+++ b/js/src/jit/BaselineIC.cpp
@@ -593,17 +593,17 @@ DoGetElemFallback(JSContext* cx, Baselin
                                CacheKind::GetElem, stub->state().mode(),
                                &isTemporarilyUnoptimizable, lhs, rhs, lhs,
                                GetPropertyResultFlags::All);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Monitored,
                                                         engine, script, stub, &attached);
             if (newStub) {
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached GetElem CacheIR stub");
                 if (gen.shouldNotePreliminaryObjectStub())
                     newStub->toCacheIR_Monitored()->notePreliminaryObject();
                 else if (gen.shouldUnlinkPreliminaryObjectStubs())
                     StripPreliminaryObjectStubs(cx, stub);
             }
         }
         if (!attached && !isTemporarilyUnoptimizable)
             stub->state().trackNotAttached();
@@ -666,17 +666,17 @@ DoGetElemSuperFallback(JSContext* cx, Ba
         GetPropIRGenerator gen(cx, script, pc, CacheKind::GetElemSuper, stub->state().mode(),
                                &isTemporarilyUnoptimizable, lhs, rhs, receiver,
                                GetPropertyResultFlags::All);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Monitored,
                                                         engine, script, stub, &attached);
             if (newStub) {
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached GetElemSuper CacheIR stub");
                 if (gen.shouldNotePreliminaryObjectStub())
                     newStub->toCacheIR_Monitored()->notePreliminaryObject();
                 else if (gen.shouldUnlinkPreliminaryObjectStubs())
                     StripPreliminaryObjectStubs(cx, stub);
             }
         }
         if (!attached && !isTemporarilyUnoptimizable)
             stub->state().trackNotAttached();
@@ -836,17 +836,17 @@ DoSetElemFallback(JSContext* cx, Baselin
         SetPropIRGenerator gen(cx, script, pc, CacheKind::SetElem, stub->state().mode(),
                                &isTemporarilyUnoptimizable, objv, index, rhs);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Updated,
                                                         ICStubEngine::Baseline, frame->script(),
                                                         stub, &attached);
             if (newStub) {
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached SetElem CacheIR stub");
 
                 SetUpdateStubData(newStub->toCacheIR_Updated(), gen.typeCheckInfo());
 
                 if (gen.shouldNotePreliminaryObjectStub())
                     newStub->toCacheIR_Updated()->notePreliminaryObject();
                 else if (gen.shouldUnlinkPreliminaryObjectStubs())
                     StripPreliminaryObjectStubs(cx, stub);
 
@@ -905,17 +905,17 @@ DoSetElemFallback(JSContext* cx, Baselin
                                                         ICStubEngine::Baseline, frame->script(),
                                                         stub, &attached);
             if (newStub) {
                 if (gen.shouldNotePreliminaryObjectStub())
                     newStub->toCacheIR_Updated()->notePreliminaryObject();
                 else if (gen.shouldUnlinkPreliminaryObjectStubs())
                     StripPreliminaryObjectStubs(cx, stub);
 
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached SetElem CacheIR stub");
                 SetUpdateStubData(newStub->toCacheIR_Updated(), gen.typeCheckInfo());
                 return true;
             }
         } else {
             gen.trackAttached(IRGenerator::NotAttached);
         }
         if (!attached && !isTemporarilyUnoptimizable)
             stub->state().trackNotAttached();
@@ -1097,17 +1097,17 @@ DoInFallback(JSContext* cx, BaselineFram
         ICStubEngine engine = ICStubEngine::Baseline;
         HasPropIRGenerator gen(cx, script, pc, CacheKind::In, stub->state().mode(), key, objValue);
         bool attached = false;
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         engine, script, stub, &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached In CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     RootedObject obj(cx, &objValue.toObject());
     bool cond = false;
     if (!OperatorIn(cx, key, obj, &cond))
@@ -1166,17 +1166,17 @@ DoHasOwnFallback(JSContext* cx, Baseline
         HasPropIRGenerator gen(cx, script, pc, CacheKind::HasOwn,
                                stub->state().mode(), keyValue, objValue);
         bool attached = false;
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         engine, script, stub, &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached HasOwn CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     bool found;
     if (!HasOwnProperty(cx, objValue, keyValue, &found))
         return false;
@@ -1238,17 +1238,17 @@ DoGetNameFallback(JSContext* cx, Baselin
     if (stub->state().canAttachStub()) {
         ICStubEngine engine = ICStubEngine::Baseline;
         GetNameIRGenerator gen(cx, script, pc, stub->state().mode(), envChain, name);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Monitored,
                                                         engine, script, stub, &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached GetName CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     static_assert(JSOP_GETGNAME_LENGTH == JSOP_GETNAME_LENGTH,
                   "Otherwise our check for JSOP_TYPEOF isn't ok");
     if (JSOp(pc[JSOP_GETGNAME_LENGTH]) == JSOP_TYPEOF) {
@@ -1319,17 +1319,17 @@ DoBindNameFallback(JSContext* cx, Baseli
         RootedScript script(cx, frame->script());
         BindNameIRGenerator gen(cx, script, pc, stub->state().mode(), envChain, name);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         ICStubEngine::Baseline, script, stub,
                                                         &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached BindName CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     RootedObject scope(cx);
     if (!LookupNameUnqualified(cx, name, envChain, &scope))
         return false;
@@ -1397,17 +1397,17 @@ DoGetIntrinsicFallback(JSContext* cx, Ba
         RootedScript script(cx, frame->script());
         GetIntrinsicIRGenerator gen(cx, script, pc, stub->state().mode(), res);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         ICStubEngine::Baseline, script, stub,
                                                         &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached GetIntrinsic CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     return true;
 }
 
@@ -1495,17 +1495,17 @@ DoSetPropFallback(JSContext* cx, Baselin
         SetPropIRGenerator gen(cx, script, pc, CacheKind::SetProp, stub->state().mode(),
                                &isTemporarilyUnoptimizable, lhs, idVal, rhs);
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Updated,
                                                         ICStubEngine::Baseline, frame->script(),
                                                         stub, &attached);
             if (newStub) {
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached SetProp CacheIR stub");
 
                 SetUpdateStubData(newStub->toCacheIR_Updated(), gen.typeCheckInfo());
 
                 if (gen.shouldNotePreliminaryObjectStub())
                     newStub->toCacheIR_Updated()->notePreliminaryObject();
                 else if (gen.shouldUnlinkPreliminaryObjectStubs())
                     StripPreliminaryObjectStubs(cx, stub);
             }
@@ -1572,17 +1572,17 @@ DoSetPropFallback(JSContext* cx, Baselin
                                                         ICStubEngine::Baseline, frame->script(),
                                                         stub, &attached);
             if (newStub) {
                 if (gen.shouldNotePreliminaryObjectStub())
                     newStub->toCacheIR_Updated()->notePreliminaryObject();
                 else if (gen.shouldUnlinkPreliminaryObjectStubs())
                     StripPreliminaryObjectStubs(cx, stub);
 
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached SetProp CacheIR stub");
                 SetUpdateStubData(newStub->toCacheIR_Updated(), gen.typeCheckInfo());
             }
         } else {
             gen.trackAttached(IRGenerator::NotAttached);
         }
         if (!attached && !isTemporarilyUnoptimizable)
             stub->state().trackNotAttached();
     }
@@ -2329,17 +2329,17 @@ DoCallFallback(JSContext* cx, BaselineFr
                             HandleValueArray::fromMarkedLocation(argc, vp+2));
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         gen.cacheIRStubKind(),
                                                         ICStubEngine::Baseline,
                                                         script, stub, &handled);
 
             if (newStub) {
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached Call CacheIR stub");
 
                 // If it's an updated stub, initialize it.
                 if (gen.cacheIRStubKind() == BaselineCacheIRStubKind::Updated)
                     SetUpdateStubData(newStub->toCacheIR_Updated(), gen.typeCheckInfo());
             }
         }
 
         // Try attaching a regular call stub, but only if the CacheIR attempt didn't add
@@ -3931,17 +3931,17 @@ DoGetIteratorFallback(JSContext* cx, Bas
         ICStubEngine engine = ICStubEngine::Baseline;
         GetIteratorIRGenerator gen(cx, script, pc, stub->state().mode(), value);
         bool attached = false;
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         engine, script, stub, &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached GetIterator CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     JSObject* iterobj = ValueToIterator(cx, value);
     if (!iterobj)
         return false;
@@ -4232,17 +4232,17 @@ DoTypeOfFallback(JSContext* cx, Baseline
         ICStubEngine engine = ICStubEngine::Baseline;
         TypeOfIRGenerator gen(cx, script, pc, stub->state().mode(), val);
         bool attached = false;
         if (gen.tryAttachStub()) {
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         engine, script, stub, &attached);
             if (newStub)
-                JitSpew(JitSpew_BaselineIC, "  Attached CacheIR stub");
+                JitSpew(JitSpew_BaselineIC, "  Attached TypeOf CacheIR stub");
         }
         if (!attached)
             stub->state().trackNotAttached();
     }
 
     JSType type = js::TypeOfValue(val);
     RootedString string(cx, TypeName(type, cx->names()));
     res.setString(string);
@@ -4585,17 +4585,17 @@ DoUnaryArithFallback(JSContext* cx, Base
         UnaryArithIRGenerator gen(cx, script, pc, stub->state().mode(),
                                     op, val, res);
         if (gen.tryAttachStub()) {
             bool attached = false;
             ICStub* newStub = AttachBaselineCacheIRStub(cx, gen.writerRef(), gen.cacheKind(),
                                                         BaselineCacheIRStubKind::Regular,
                                                         ICStubEngine::Baseline, script, stub, &attached);
             if (newStub) {
-                JitSpew(JitSpew_BaselineIC, "  Attached (shared) CacheIR stub for %s", CodeName[op]);
+                JitSpew(JitSpew_BaselineIC, "  Attached UnaryArith CacheIR stub for %s", CodeName[op]);
             }
         }
     }
 
     return true;
 }
 
 typedef bool (*DoUnaryArithFallbackFn)(JSContext*, BaselineFrame*, ICUnaryArith_Fallback*,
--- a/js/src/wasm/WasmFrameIter.cpp
+++ b/js/src/wasm/WasmFrameIter.cpp
@@ -838,17 +838,24 @@ js::wasm::StartUnwinding(const RegisterS
     switch (codeRange->kind()) {
       case CodeRange::Function:
       case CodeRange::FarJumpIsland:
       case CodeRange::ImportJitExit:
       case CodeRange::ImportInterpExit:
       case CodeRange::BuiltinThunk:
       case CodeRange::DebugTrap:
 #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
-        if (offsetFromEntry < PushedFP || codeRange->isThunk()) {
+        if (codeRange->isThunk()) {
+            // The FarJumpIsland sequence temporary scrambles ra.
+            // Don't unwind to caller.
+            fixedPC = pc;
+            fixedFP = fp;
+            *unwoundCaller = false;
+            AssertMatchesCallSite(fp->returnAddress, fp->callerFP);
+        } else if (offsetFromEntry < PushedFP) {
             // On MIPS we rely on register state instead of state saved on
             // stack until the wasm::Frame is completely built.
             // On entry the return address is in ra (registers.lr) and
             // fp holds the caller's fp.
             fixedPC = (uint8_t*) registers.lr;
             fixedFP = fp;
             AssertMatchesCallSite(fixedPC, fixedFP);
         } else
--- a/layout/style/MediaQueryList.cpp
+++ b/layout/style/MediaQueryList.cpp
@@ -18,17 +18,18 @@
 #define ONCHANGE_STRING NS_LITERAL_STRING("change")
 
 namespace mozilla {
 namespace dom {
 
 MediaQueryList::MediaQueryList(nsIDocument* aDocument,
                                const nsAString& aMediaQueryList,
                                CallerType aCallerType)
-  : mDocument(aDocument)
+  : DOMEventTargetHelper(aDocument->GetInnerWindow())
+  , mDocument(aDocument)
   , mMatches(false)
   , mMatchesValid(false)
 {
   mMediaList = MediaList::Create(aMediaQueryList, aCallerType);
 
   KeepAliveIfHasListenersFor(ONCHANGE_STRING);
 }
 
--- a/netwerk/protocol/websocket/WebSocketChannel.cpp
+++ b/netwerk/protocol/websocket/WebSocketChannel.cpp
@@ -1047,16 +1047,19 @@ public:
   nsresult ConvertStreamToString()
   {
     MOZ_ASSERT(mMsgType == kMsgTypeStream, "Not a stream!");
 
     nsAutoPtr<nsCString> temp(new nsCString());
     nsresult rv = NS_ReadInputStreamToString(mMsg.pStream, *temp, mLength);
 
     NS_ENSURE_SUCCESS(rv, rv);
+    if (temp->Length() != mLength) {
+      return NS_ERROR_UNEXPECTED;
+    }
 
     mMsg.pStream->Close();
     mMsg.pStream->Release();
     mMsg.pString.mValue = temp.forget();
     mMsg.pString.mOrigValue = nullptr;
     mMsgType = kMsgTypeBinaryString;
 
     return NS_OK;
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -1158,9 +1158,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 = 485;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1531102070607000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1531169998600000);
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -26,17 +26,16 @@ 1gsoft.com: could not connect to host
 1nian.vip: could not connect to host
 1q365a.com: could not connect to host
 2.wtf: could not connect to host
 249cq.com: could not connect to host
 256k.me: could not connect to host
 2b3b.com: could not connect to host
 2bitout.com: could not connect to host
 2fl.me: could not connect to host
-30yearmortgagerates.net: could not connect to host
 330.net: could not connect to host
 360ds.co.in: could not connect to host
 38888msc.com: could not connect to host
 38blog.com: could not connect to host
 3dm.audio: could not connect to host
 3vlnaeet.cz: could not connect to host
 404.guide: could not connect to host
 404forest.com: could not connect to host
@@ -46,18 +45,21 @@ 439191.com: could not connect to host
 440hz-radio.de: could not connect to host
 47tech.com: could not connect to host
 4baby.com.br: could not connect to host
 4d2.xyz: could not connect to host
 4loc.us: could not connect to host
 4mm.org: could not connect to host
 4web-hosting.com: could not connect to host
 5000yz.com: could not connect to host
+517vpn.cn: could not connect to host
+52kb.net: could not connect to host
 52kb1.com: could not connect to host
 52neptune.com: could not connect to host
+56877.com: could not connect to host
 5w5.la: could not connect to host
 68277.me: could not connect to host
 692b8c32.de: could not connect to host
 69mentor.com: could not connect to host
 6w6.la: could not connect to host
 7183.org: could not connect to host
 7261696e626f77.net: could not connect to host
 8560.be: could not connect to host
@@ -73,17 +75,16 @@ 99buffets.com: could not connect to host
 9ss6.com: could not connect to host
 a-intel.com: could not connect to host
 a-ix.net: could not connect to host
 aaron.xin: could not connect to host
 abi-fvs.de: could not connect to host
 abigailstark.com: could not connect to host
 abloop.com: could not connect to host
 abolition.co: could not connect to host
-abracadabra.co.jp: could not connect to host
 abstractbarista.com: could not connect to host
 abstractbarista.net: could not connect to host
 abthorpe.org: could not connect to host
 ac0g.dyndns.org: could not connect to host
 acat.io: could not connect to host
 accelerate.network: could not connect to host
 accolade.com.br: could not connect to host
 accwing.com: could not connect to host
@@ -119,20 +120,22 @@ agowa338.de: could not connect to host
 agrilinks.org: could not connect to host
 ahelos.tk: could not connect to host
 ahkubiak.ovh: could not connect to host
 ahlz.sk: could not connect to host
 aikenorganics.com: could not connect to host
 aim-consultants.com: could not connect to host
 aimrom.org: could not connect to host
 ajetaci.cz: could not connect to host
+akfoundationindia.com: could not connect to host
 akiba-server.info: could not connect to host
 akita-stream.com: could not connect to host
 akoww.de: could not connect to host
 akritikos.info: could not connect to host
+akshi.in: could not connect to host
 akul.co.in: could not connect to host
 al-f.net: could not connect to host
 alasta.info: could not connect to host
 alauda-home.de: could not connect to host
 albertify.xyz: could not connect to host
 alcatraz.online: could not connect to host
 aleax.me: could not connect to host
 alexandernorth.ch: could not connect to host
@@ -150,17 +153,16 @@ alloutatl.com: could not connect to host
 allscammers.exposed: could not connect to host
 allthingsfpl.com: could not connect to host
 alocato.com: could not connect to host
 alpe-d-or.dyn-o-saur.com: could not connect to host
 alphabrock.cn: could not connect to host
 alphahunks.com: could not connect to host
 altahrim.net: could not connect to host
 altered.network: could not connect to host
-altoneum.com: could not connect to host
 amaderelectronics.com: could not connect to host
 amdouglas.uk: could not connect to host
 ameho.me: could not connect to host
 americandistribuidora.com: could not connect to host
 amilum.org: could not connect to host
 amua.fr: could not connect to host
 amunoz.org: could not connect to host
 anadoluefessk.org: could not connect to host
@@ -234,79 +236,75 @@ astrea-voetbal-groningen.nl: could not c
 astutr.co: could not connect to host
 asuhe.win: could not connect to host
 asuhe.xyz: could not connect to host
 async.be: could not connect to host
 at1.co: could not connect to host
 athi.pl: could not connect to host
 atigerseye.com: could not connect to host
 atlas-5.site: could not connect to host
+atraining.ru: could not connect to host
 au2pb.org: could not connect to host
 aufmerksamkeitsstudie.com: could not connect to host
 augix.net: could not connect to host
 ausec.ch: could not connect to host
 ausschreibungen-suedtirol.it: could not connect to host
 austinsutphin.com: could not connect to host
 australiancattle.dog: could not connect to host
 australianimmigrationadvisors.com.au: could not connect to host
 authint.com: could not connect to host
 authland.com: could not connect to host
 authsrv.nl.eu.org: could not connect to host
 autosearch.me: could not connect to host
 autostock.me: could not connect to host
 autostop-occasions.be: could not connect to host
 avaq.fr: could not connect to host
 avdelivers.com: could not connect to host
-avi9526.pp.ua: could not connect to host
 avmo.pw: could not connect to host
 avonlearningcampus.com: could not connect to host
 avso.pw: could not connect to host
 avxo.pw: could not connect to host
 awan.tech: could not connect to host
 awei.pub: could not connect to host
 awf0.xyz: could not connect to host
 awxg.eu.org: could not connect to host
 axel-fischer.science: could not connect to host
 axxial.tk: could not connect to host
-b-landia.net: could not connect to host
 b303.me: could not connect to host
 b9winner.com: could not connect to host
 babelfisch.eu: could not connect to host
 babystep.tv: could not connect to host
 bacimg.com: could not connect to host
 badbee.cc: could not connect to host
 bakabt.info: could not connect to host
 balonmano.co: could not connect to host
 bandally.net: could not connect to host
 bandarifamily.com: could not connect to host
 bannisbierblog.de: could not connect to host
 bardiharborow.com: could not connect to host
 bardiharborow.tk: could not connect to host
 bargainmovingcompany.com: could not connect to host
-baropkamp.be: could not connect to host
 barracuda.blog: could not connect to host
 basculasconfiables.com: could not connect to host
 bashc.at: could not connect to host
 batfoundry.com: could not connect to host
 bbb1991.me: could not connect to host
 bbdos.ru: could not connect to host
 bbwteens.org: could not connect to host
 bcradio.org: could not connect to host
 bdikaros-network.net: could not connect to host
 bdsmxxxpics.com: could not connect to host
 beamitapp.com: could not connect to host
 beasel.biz: could not connect to host
 beauty-italy.ru: could not connect to host
 beccajoshwedding.com: could not connect to host
-beelen.fr: could not connect to host
 beersandco.ch: could not connect to host
 bellavistaoutdoor.com: could not connect to host
 belpbleibtbelp.ch: could not connect to host
 belwederczykow.eu: could not connect to host
-ben-stock.de: could not connect to host
 ben.ninja: could not connect to host
 benevisim.com: could not connect to host
 benfairclough.com: could not connect to host
 benjamin-horvath.com: could not connect to host
 benjamin-suess.de: could not connect to host
 benzou-space.com: could not connect to host
 berduri.com: could not connect to host
 berlin-kohlefrei.de: could not connect to host
@@ -327,16 +325,17 @@ bestfitnesswatchreview.info: could not c
 besthotsales.com: could not connect to host
 bestleftwild.com: could not connect to host
 betonmoney.com: could not connect to host
 bey.io: could not connect to host
 bezoomnyville.com: could not connect to host
 bfrailwayclub.cf: could not connect to host
 bianinapiccanovias.com: could not connect to host
 bichonmaltes.com.br: could not connect to host
+biester.pro: could not connect to host
 bigerbio.com: could not connect to host
 billigpoker.dk: could not connect to host
 binam.center: could not connect to host
 binaryabstraction.com: could not connect to host
 bingcheung.com: could not connect to host
 binimo.com: could not connect to host
 biocrafting.net: could not connect to host
 biovalue.eu: could not connect to host
@@ -350,43 +349,44 @@ bitcoinec.info: could not connect to hos
 bitcoinjpn.com: could not connect to host
 bitmain.com.ua: could not connect to host
 bitmaincare.com.ua: could not connect to host
 bitmaincare.ru: could not connect to host
 bitmessage.ch: could not connect to host
 bityes.org: could not connect to host
 bjgongyi.com: could not connect to host
 bjtxl.cn: could not connect to host
+bklaindia.com: could not connect to host
 black-khat.com: could not connect to host
 blackberrycentral.com: could not connect to host
 blackdragoninc.org: could not connect to host
 blackscreen.me: could not connect to host
 blameomar.com: could not connect to host
 blantik.net: could not connect to host
 blazeit.io: could not connect to host
 blindaryproduction.tk: could not connect to host
 blinkenlight.co.uk: could not connect to host
 blinkenlight.com.au: could not connect to host
-blockified.io: could not connect to host
 blog.gparent.org: could not connect to host
 blogabout.ru: could not connect to host
 blueblou.com: could not connect to host
+blueflare.org: could not connect to host
 blumen-garage.de: could not connect to host
 bm-i.ch: could not connect to host
 bodybuilding.events: could not connect to host
-boilesen.com: could not connect to host
 bolivarfm.com.ve: could not connect to host
 bomberus.de: could not connect to host
 bombsquad.studio: could not connect to host
 bonobo.cz: could not connect to host
 bookreport.ga: could not connect to host
 booter.es: could not connect to host
 boozinyan.com: could not connect to host
 bopera.co.uk: could not connect to host
 borchers-media.de: could not connect to host
+boris64.net: could not connect to host
 borisbesemer.com: could not connect to host
 boxdevigneron.fr: could not connect to host
 bpadvisors.eu: could not connect to host
 bqcp.net: could not connect to host
 bragaweb.com.br: could not connect to host
 braintensive.com: could not connect to host
 brakstad.org: could not connect to host
 brandontaylor-black.com: could not connect to host
@@ -445,63 +445,59 @@ calleveryday.com: could not connect to h
 callsigns.ca: could not connect to host
 calories.org: could not connect to host
 calypso-tour.net: could not connect to host
 camda.online: could not connect to host
 campaign-ad.com: could not connect to host
 campingcarlovers.com: could not connect to host
 cancelmyprofile.com: could not connect to host
 canifis.net: could not connect to host
-capellidipremoli.com: could not connect to host
 car-rental24.com: could not connect to host
 cardelmar.es: could not connect to host
 cardloan-manual.net: could not connect to host
 carey.bio: could not connect to host
 carloshmm.com: could not connect to host
 carloshmm.stream: could not connect to host
 carlovanwyk.com: could not connect to host
 carrando.de: could not connect to host
 cashfortulsahouses.com: could not connect to host
 cashsector.ga: could not connect to host
 casinoreal.com: could not connect to host
 casjay.us: could not connect to host
 catcontent.cloud: could not connect to host
 catsmagic.pp.ua: could not connect to host
 caughtredhanded.co.nz: could not connect to host
+cbdev.de: could not connect to host
 ccayearbook.com: could not connect to host
 ccl-sti.ch: could not connect to host
 ccprwebsite.org: could not connect to host
 cctld.com: could not connect to host
 cdeck.net: could not connect to host
 cdmhp.org.nz: could not connect to host
 cdmon.tech: could not connect to host
 cdnk39.com: could not connect to host
 cee.io: could not connect to host
 cegfw.com: could not connect to host
 cencalvia.org: could not connect to host
-centerforpolicy.org: could not connect to host
 centos.pub: could not connect to host
 centrallead.net: could not connect to host
 centreoeil.ch: could not connect to host
 cgtx.us: could not connect to host
 challengeskins.com: could not connect to host
 championnat-romand-cuisiniers-amateurs.ch: could not connect to host
 channellife.asia: could not connect to host
 chaouby.com: could not connect to host
 charge.co: could not connect to host
 charmyadesara.com: could not connect to host
 chatnbook.com: could not connect to host
 chatsworthelectrical.com: could not connect to host
-chatzimanolis.com: could not connect to host
-chatzimanolis.gr: could not connect to host
 cheah.xyz: could not connect to host
 cheesefusion.com: could not connect to host
 chez-janine.de: could not connect to host
 chicorycom.net: could not connect to host
-chima.us: could not connect to host
 china-line.org: could not connect to host
 chinternet.xyz: could not connect to host
 chloe.re: could not connect to host
 chocolat-suisse.ch: could not connect to host
 chorkley.me: could not connect to host
 chrisebert.net: could not connect to host
 christianhoffmann.info: could not connect to host
 christianpusch.de: could not connect to host
@@ -546,31 +542,28 @@ coccinellaskitchen.com: could not connec
 coccinellaskitchen.de: could not connect to host
 coccinellaskitchen.it: could not connect to host
 codeloop.pw: could not connect to host
 codenlife.xyz: could not connect to host
 coderhangout.com: could not connect to host
 codewiz.xyz: could not connect to host
 cogumelosmagicos.org: could not connect to host
 colarelli.ch: could not connect to host
-colibris.xyz: could not connect to host
 colleencornez.com: could not connect to host
 collins.kg: could not connect to host
 colorectalcompounding.com: could not connect to host
 com-in.de: could not connect to host
 com.cc: could not connect to host
 comicrelief.com: could not connect to host
 comiq.io: could not connect to host
 compareandrecycle.com: could not connect to host
 compeuphoria.com: could not connect to host
-completionist.me: could not connect to host
 complex-organization.com: could not connect to host
 complt.xyz: could not connect to host
 comprehensiveihc.com: could not connect to host
-compubench.com: could not connect to host
 conception.sk: could not connect to host
 conejovalleyelectrical.com: could not connect to host
 conniesacademy.com: could not connect to host
 conrad.am: could not connect to host
 constructive.men: could not connect to host
 corecdn.org: could not connect to host
 corinnanese.de: could not connect to host
 correct.horse: could not connect to host
@@ -597,47 +590,46 @@ cryptoki.fr: could not connect to host
 cryptolosophy.io: could not connect to host
 cryptoparty.dk: could not connect to host
 cryptopartynewcastle.org: could not connect to host
 cryptoshot.pw: could not connect to host
 cselzer.com: could not connect to host
 csgo.help: could not connect to host
 csgo77.com: could not connect to host
 csilies.de: could not connect to host
+cube-cloud.com: could not connect to host
 cunha.be: could not connect to host
 cuni-cuni-club.com: could not connect to host
 cuni-rec.com: could not connect to host
 cuonic.com: could not connect to host
 curacao-license.com: could not connect to host
 customfilmworks.com: could not connect to host
 customizeyourshower.com: could not connect to host
 customizeyoursink.com: could not connect to host
 cybbh.space: could not connect to host
 cyber-computer.club: could not connect to host
 cyber-perikarp.eu: could not connect to host
 cyberpeace.nl: could not connect to host
 cyberstatus.de: could not connect to host
 cyberxpert.nl: could not connect to host
 cyclehackluxembourgcity.lu: could not connect to host
-cygnaltech.com: could not connect to host
 cype.dedyn.io: could not connect to host
 cypherpunk.ws: could not connect to host
 czlx.co: could not connect to host
 d-bood.site: could not connect to host
 d0xq.net: could not connect to host
 d3x.pw: could not connect to host
 d4rkdeagle.tk: could not connect to host
 d8studio.net: could not connect to host
 daltonedwards.me: could not connect to host
 dam74.com.ar: could not connect to host
 damjanovic.work: could not connect to host
 dandymrsb.com: could not connect to host
 daniel-stahl.net: could not connect to host
 danielvoogsgerd.nl: could not connect to host
-danifabi.eu: could not connect to host
 darkdestiny.ch: could not connect to host
 daropia.org: could not connect to host
 darrienworth.com: could not connect to host
 daryl.moe: could not connect to host
 dashboard.yt: could not connect to host
 data-detox.com: could not connect to host
 datamatic.ru: could not connect to host
 datastream.re: could not connect to host
@@ -674,22 +666,22 @@ derive.cc: could not connect to host
 dermacarecomplex.com: could not connect to host
 dermapuur.nl: could not connect to host
 designsbykerrialee.co.uk: could not connect to host
 detalhecomercio.com.br: could not connect to host
 detecte-fuite.ch: could not connect to host
 detecte.ch: could not connect to host
 detectefuite.ch: could not connect to host
 devdesco.com: could not connect to host
-develop.cool: could not connect to host
 developersclub.website: could not connect to host
 devenney.io: could not connect to host
 devops.moe: could not connect to host
 dezintranet.com: could not connect to host
 dfixit.com: could not connect to host
+dgt-portal.de: could not connect to host
 dharamkot.com: could not connect to host
 dhl-smart.ch: could not connect to host
 dhub.xyz: could not connect to host
 dhxxls.com: could not connect to host
 diceduels.com: could not connect to host
 dick.red: could not connect to host
 die-gruenen-teufel.de: could not connect to host
 diemogebhardt.com: could not connect to host
@@ -701,17 +693,16 @@ digitalrxcloud.com: could not connect to
 digitalwasteland.net: could not connect to host
 diguass.us: could not connect to host
 dijks.com: could not connect to host
 dingss.com: could not connect to host
 dinotv.at: could not connect to host
 dinube.com: could not connect to host
 dionysus.se: could not connect to host
 directtwo.solutions: could not connect to host
-directwatertanks.co.uk: could not connect to host
 direwolfsoftware.ca: could not connect to host
 dirtycat.ru: could not connect to host
 disability.gov: could not connect to host
 disadattamentolavorativo.it: could not connect to host
 disclosure.io: could not connect to host
 disco-crazy-world.de: could not connect to host
 discord-chan.net: could not connect to host
 discoveringdocker.com: could not connect to host
@@ -763,17 +754,16 @@ drixn.net: could not connect to host
 drizz.com.br: could not connect to host
 drobniuch.pl: could not connect to host
 drogoz.moe: could not connect to host
 droomhuis-in-zuid-holland-kopen.nl: could not connect to host
 duch.cloud: could not connect to host
 duelsow.eu: could not connect to host
 dujsq.com: could not connect to host
 dujsq.top: could not connect to host
-duks.com.br: could not connect to host
 duo.money: could not connect to host
 durangoenergyllc.com: could not connect to host
 dwnld.me: could not connect to host
 dynamic-networks.be: could not connect to host
 e-mak.eu: could not connect to host
 e-wishlist.net: could not connect to host
 eagle-yard.de: could not connect to host
 eagleridgecampground.com: could not connect to host
@@ -783,22 +773,20 @@ ebonyriddle.com: could not connect to ho
 ebrowz.com: could not connect to host
 eccux.com: could not connect to host
 ectora.com: could not connect to host
 ecupcafe.com: could not connect to host
 edgecustomersportal.com: could not connect to host
 educatoys.com.br: could not connect to host
 eductf.org: could not connect to host
 eduif.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 116"  data: no]
-edzilla.info: could not connect to host
 eeb98.com: could not connect to host
 eeetrust.org: could not connect to host
 eenekorea.com: could not connect to host
 eez.ee: could not connect to host
-effe.ch: could not connect to host
 effectiveosgi.com: could not connect to host
 ehrlichesbier.de: could not connect to host
 ehuber.info: could not connect to host
 einhorn.space: could not connect to host
 einsatzstiefel.info: could not connect to host
 einsteinathome.org: could not connect to host
 ekobudisantoso.net: could not connect to host
 ekong366.com: could not connect to host
@@ -839,16 +827,17 @@ erclab.kr: could not connect to host
 ericloud.tk: could not connect to host
 erigrid.eu: could not connect to host
 erspro.net: could not connect to host
 es888999.com: could not connect to host
 esoterik.link: could not connect to host
 essentialoilsimports.com: could not connect to host
 esseriumani.com: could not connect to host
 ethanfaust.com: could not connect to host
+etincelle.ml: could not connect to host
 etzi.myds.me: could not connect to host
 euexia.fr: could not connect to host
 eung.ga: could not connect to host
 euph.eu: could not connect to host
 eurostrategy.vn.ua: could not connect to host
 evankurniawan.com: could not connect to host
 evasioncreole.com: could not connect to host
 eventaro.com: could not connect to host
@@ -862,16 +851,17 @@ eworksmedia.com: could not connect to ho
 exceptionalservices.us: could not connect to host
 exo.do: could not connect to host
 expxkcd.com: could not connect to host
 exteriorservices.io: could not connect to host
 extratorrent.fyi: could not connect to host
 extratorrent.red: could not connect to host
 extratorrent.world: could not connect to host
 eytosh.net: could not connect to host
+eztvtorrent.com: could not connect to host
 f1bigpicture.com: could not connect to host
 f8842.com: could not connect to host
 faber.org.ru: could not connect to host
 fabian-kluge.de: could not connect to host
 fabienbaker.com: could not connect to host
 fabulouslyyouthfulskin.com: could not connect to host
 fabulouslyyouthfulskineyeserum.com: could not connect to host
 facebook.ax: could not connect to host
@@ -882,47 +872,46 @@ faeriecakes.be: could not connect to hos
 fafatiger.com: could not connect to host
 faithwatch.org: could not connect to host
 fakti.bg: could not connect to host
 falkus.net: could not connect to host
 fallenangeldrinks.eu: could not connect to host
 famer.me: could not connect to host
 fameuxhosting.co.uk: could not connect to host
 familie-leu.ch: could not connect to host
-familyworld.gr: could not connect to host
 faretravel.co.uk: could not connect to host
 farm24.co.uk: could not connect to host
-fascia.fit: could not connect to host
 fastaim.de: could not connect to host
 fastbackmbg.be: could not connect to host
 faxreader.net: could not connect to host
 fcapartsdb.com: could not connect to host
 feac.us: could not connect to host
 fedn.it: could not connect to host
 feedstringer.com: could not connect to host
 feirlane.org: could not connect to host
 feisbed.com: could not connect to host
 feist.io: could not connect to host
-fejes.house: could not connect to host
 felger-times.fr: could not connect to host
 fengyadi.com: could not connect to host
 feras-alhajjaji.com: could not connect to host
 fetclips.se: could not connect to host
 feudaltactics.com: could not connect to host
 fhsseniormens.club: could not connect to host
+fi-sanki.co.jp: could not connect to host
 ficklenote.net: could not connect to host
 fierman.eu: [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 116"  data: no]
 fierman.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 116"  data: no]
 fierman.us: [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 116"  data: no]
 fifieldtech.com: could not connect to host
 figurasdelinguagem.com.br: could not connect to host
 figuurzagers.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 116"  data: no]
 filebox.space: could not connect to host
 fileio.io: could not connect to host
 filesense.com: could not connect to host
+findingkorea.com: could not connect to host
 findmybottleshop.com.au: could not connect to host
 findyour.diet: could not connect to host
 finstererlebnis.de: could not connect to host
 firexarxa.de: could not connect to host
 first-time-offender.com: could not connect to host
 fix-the-timeline.com: could not connect to host
 fix-the-timeline.org: could not connect to host
 fixmyglitch.com: could not connect to host
@@ -962,17 +951,16 @@ freeassangenow.org: could not connect to
 freedomvote.nl: could not connect to host
 freejidi.com: could not connect to host
 freelansir.com: could not connect to host
 freesitemapgenerator.com: could not connect to host
 freesounding.ru: could not connect to host
 freshcode.nl: could not connect to host
 frickenate.com: could not connect to host
 friedhelm-wolf.de: could not connect to host
-friller.com.au: could not connect to host
 frodriguez.xyz: could not connect to host
 frolov.net: could not connect to host
 fromix.de: could not connect to host
 fromlemaytoz.com: could not connect to host
 frosty-gaming.xyz: could not connect to host
 frp-roleplay.de: could not connect to host
 fsfi.is: could not connect to host
 ftgho.com: could not connect to host
@@ -1006,16 +994,17 @@ gametium.com: could not connect to host
 gametium.es: could not connect to host
 gamhealth.net: could not connect to host
 garage-door.pro: could not connect to host
 gasbarkenora.com: could not connect to host
 gasnews.net: could not connect to host
 gautham.pro: could not connect to host
 gay-jays.com: could not connect to host
 gaygeeks.de: could not connect to host
+gazellegames.net: could not connect to host
 gc.net: could not connect to host
 gdevpenze.ru: could not connect to host
 gdhzcgs.com: could not connect to host
 gdz-otvety.com: could not connect to host
 ge1.me: could not connect to host
 gear-acquisition-syndrome.community: could not connect to host
 geeks.berlin: could not connect to host
 gehrke.nrw: could not connect to host
@@ -1036,27 +1025,24 @@ getgeek.ee: could not connect to host
 getgeek.fi: could not connect to host
 getgeek.fr: could not connect to host
 getgeek.io: could not connect to host
 getgeek.no: could not connect to host
 getgeek.nu: could not connect to host
 getgeek.pl: could not connect to host
 getyourphix.tk: could not connect to host
 gevaulug.fr: could not connect to host
-gfnetfun.cf: could not connect to host
 gfoss.gr: could not connect to host
-gfxbench.com: could not connect to host
 gglks.com: could not connect to host
 ggss.cf: could not connect to host
 gh16.com.ar: could not connect to host
 gifzilla.net: could not connect to host
 gina-architektur.design: could not connect to host
 girlsnet.work: could not connect to host
 git.co: could not connect to host
-gitstuff.tk: could not connect to host
 gix.net.pl: could not connect to host
 globalelite.black: could not connect to host
 globalnewsdaily.cf: could not connect to host
 globaltennis.ca: could not connect to host
 globalvisions-events.ch: could not connect to host
 glutenfreelife.co.nz: could not connect to host
 glyph.ws: could not connect to host
 gmanukyan.com: could not connect to host
@@ -1064,27 +1050,25 @@ gnom.me: could not connect to host
 gnosticjade.net: could not connect to host
 goanalyse.co.uk: could not connect to host
 godrealms.com: could not connect to host
 goiaspropaganda.com.br: could not connect to host
 goldfelt.com: could not connect to host
 gongjuhao.com: could not connect to host
 goodyearsotn.co.uk: could not connect to host
 google.ax: could not connect to host
-goonersworld.co.uk: could not connect to host
 goranrango.ch: could not connect to host
 gorf.chat: could not connect to host
 gorf.club: could not connect to host
 gottfridsberg.org: could not connect to host
 goukon.ru: could not connect to host
 gouthro-goteborg.se: could not connect to host
 gozadentro.com: could not connect to host
 gpfclan.de: could not connect to host
 gradsm-ci.net: could not connect to host
-grafmurr.de: could not connect to host
 grande.coffee: could not connect to host
 granth.io: could not connect to host
 graphite.org.uk: could not connect to host
 gratisonlinesex.com: could not connect to host
 great.nagoya: could not connect to host
 greggsfoundation.org.uk: could not connect to host
 gregmartyn.com: could not connect to host
 greuel.online: could not connect to host
@@ -1093,16 +1077,17 @@ greyhash.se: could not connect to host
 gritte.net: could not connect to host
 grossmisconduct.news: could not connect to host
 growingmetrics.com: could not connect to host
 grusig-geil.ch: could not connect to host
 gsmkungen.com: could not connect to host
 gtalife.net: could not connect to host
 guendra.dedyn.io: could not connect to host
 gugaltika-ipb.org: could not connect to host
+gugert.net: could not connect to host
 guinea-pig.co: could not connect to host
 gunhunter.com: could not connect to host
 gus.moe: could not connect to host
 gvchannel.xyz: could not connect to host
 gxgx.org: could not connect to host
 gzitech.net: could not connect to host
 gzpblog.com: could not connect to host
 h2cdn.cloud: could not connect to host
@@ -1118,17 +1103,19 @@ half-logic.eu.org: could not connect to 
 halta.info: could not connect to host
 hamking.tk: could not connect to host
 hamu.blue: could not connect to host
 hanksservice.com: could not connect to host
 happytiger.eu: could not connect to host
 hapsfordmill.co.uk: could not connect to host
 hapvm.com: could not connect to host
 hardergayporn.com: could not connect to host
+hardfalcon.net: could not connect to host
 harrypottereditor.net: could not connect to host
+harschnitz.nl: could not connect to host
 has-no-email-set.de: could not connect to host
 hasabig.wang: could not connect to host
 hasalittle.wang: could not connect to host
 hashimah.ca: could not connect to host
 hashplex.com: could not connect to host
 hatethe.uk: could not connect to host
 haven.cloud: could not connect to host
 hbbet.com: could not connect to host
@@ -1142,17 +1129,16 @@ hearingshofar.com: could not connect to 
 hearty.ink: could not connect to host
 heavenlyseals.com: could not connect to host
 heavenlysmokenc.com: could not connect to host
 heimprofis.de: could not connect to host
 heisenberg.co: could not connect to host
 hejsupport.se: could not connect to host
 hellofilters.com: could not connect to host
 hellomouse.tk: could not connect to host
-hellotandem.com: could not connect to host
 helpantiaging.com: could not connect to host
 helpekwendenihospital.com: could not connect to host
 helsingfors.guide: could not connect to host
 henriknoerr.com: could not connect to host
 henryphan.com: could not connect to host
 hentai.design: could not connect to host
 hentaimaster.net: could not connect to host
 here.ml: could not connect to host
@@ -1216,39 +1202,38 @@ hypotheques24.ch: could not connect to h
 hyvive.com: could not connect to host
 hzh.pub: could not connect to host
 i-stats.net: could not connect to host
 i4m1k0su.com: could not connect to host
 i95.me: could not connect to host
 iadttaveras.com: could not connect to host
 iain.tech: could not connect to host
 iamsoareyou.se: could not connect to host
+ibox.ovh: could not connect to host
 ibron.co: could not connect to host
 ibsafrica.co.za: could not connect to host
 ibsglobal.co.za: could not connect to host
 icebound.win: could not connect to host
 iceloch.com: could not connect to host
-icsadviseurs.nl: could not connect to host
 ictpro.info: could not connect to host
 icusignature.com: could not connect to host
 ideadozz.hu: could not connect to host
 ideapaisajistas.es: could not connect to host
 idemo.in: could not connect to host
 identity-hash.online: could not connect to host
 idid.tk: could not connect to host
 idiopolis.org: could not connect to host
 idol-bikes.ru: could not connect to host
 idsafe.co.za: could not connect to host
 idtechnowizard.com: could not connect to host
 iemb.cf: could not connect to host
 ifan.ch: could not connect to host
 ifcfg.me: could not connect to host
 ifxnet.com: could not connect to host
 igamingforums.com: could not connect to host
-igd.chat: could not connect to host
 ihatethissh.it: could not connect to host
 iideaz.org: could not connect to host
 ikenmeyer.com: could not connect to host
 ikenmeyer.eu: could not connect to host
 ikzoekeengoedkopeauto.nl: could not connect to host
 ileat.com: could not connect to host
 ilya.pp.ua: could not connect to host
 imaginarymakings.me: could not connect to host
@@ -1271,17 +1256,16 @@ info-bay.com: could not connect to host
 informatik.zone: could not connect to host
 infoworm.org: could not connect to host
 infruction.com: could not connect to host
 injust.me: could not connect to host
 innovativebuildingsolutions.co.za: could not connect to host
 innovativeideaz.org: could not connect to host
 inondation.ch: could not connect to host
 inschrijfformulier.com: could not connect to host
-inscomers.net: could not connect to host
 inscript.pl: could not connect to host
 insouciant.org: could not connect to host
 inst.mobi: could not connect to host
 instasex.ch: could not connect to host
 int-ext-design.fr: could not connect to host
 int-ma.in: could not connect to host
 integrityingovernmentidaho.com: could not connect to host
 intelldynamics.com: could not connect to host
@@ -1297,16 +1281,17 @@ ionc.ca: could not connect to host
 ip.or.at: could not connect to host
 ipcfg.me: could not connect to host
 ipfirebox.de: could not connect to host
 iphonechina.net: could not connect to host
 iplog.info: could not connect to host
 ipnetworking.net: could not connect to host
 irinkeby.nu: could not connect to host
 isisfighters.info: could not connect to host
+isonet.fr: could not connect to host
 isoroc-nidzica.pl: could not connect to host
 isscouncil.com: could not connect to host
 isslshop.com: could not connect to host
 isthefieldcontrolsystemdown.com: could not connect to host
 istherrienstillcoach.com: could not connect to host
 it-adminio.ru: could not connect to host
 itad.top: could not connect to host
 itnews-bg.com: could not connect to host
@@ -1348,16 +1333,17 @@ jens.hk: could not connect to host
 jerrypau.ca: could not connect to host
 jhburton.co.uk: could not connect to host
 jhermsmeier.de: could not connect to host
 jiaqiang.vip: could not connect to host
 jmb.lc: could not connect to host
 jmvbmx.ch: could not connect to host
 jobmedic.com: could not connect to host
 joecod.es: could not connect to host
+joehenry.co.uk: could not connect to host
 joetyson.io: could not connect to host
 johanneskonrad.de: could not connect to host
 johntomasowa.com: could not connect to host
 jonathanmassacand.ch: could not connect to host
 jonathansanchez.pro: could not connect to host
 jonfor.net: could not connect to host
 jooto.com: could not connect to host
 jornadasciberdefensa2016.es: could not connect to host
@@ -1367,54 +1353,54 @@ juliaoantiguidades.com.br: could not con
 juliawebber.co.za: could not connect to host
 jumbopan.com: could not connect to host
 jumbopan.net: could not connect to host
 jurriaan.ninja: could not connect to host
 just-pools.co.za: could not connect to host
 justinharrison.ca: could not connect to host
 justzz.xyz: could not connect to host
 juventusmania1897.com: could not connect to host
+kabus.org: could not connect to host
 kaika-facilitymanagement.de: could not connect to host
 kainz.be: could not connect to host
 kalender.goip.de: could not connect to host
 kalilinux.tech: could not connect to host
 kaloix.de: could not connect to host
 kamalame.co: could not connect to host
 kamitech.ch: could not connect to host
 kancolle.me: could not connect to host
 kanganer.com: could not connect to host
 kangzaber.com: could not connect to host
 kapo.info: could not connect to host
+karguine.in: could not connect to host
 karuneshjohri.com: could not connect to host
 kat.al: could not connect to host
 katyusha.net: could not connect to host
 kawaiiku.com: could not connect to host
 kawaiiku.de: could not connect to host
 kaydan.io: could not connect to host
 kayipmurekkep.com: could not connect to host
 kearney.io: could not connect to host
 keezin.ga: could not connect to host
-keithws.net: could not connect to host
 kellyandantony.com: could not connect to host
 kelm.me: could not connect to host
 kennynet.co.uk: could not connect to host
 kermadec.com: could not connect to host
 keshausconsulting.com: could not connect to host
 kevindekoninck.com: could not connect to host
 kevinfoley.cc: could not connect to host
 kevinfoley.org: could not connect to host
 keyserver.sexy: could not connect to host
 keystoneok.com: could not connect to host
 kgb.us: could not connect to host
 kiapps.ovh: could not connect to host
 kidbacker.com: could not connect to host
 kieranweightman.me: could not connect to host
 kievradio.com: could not connect to host
 kikuzuki.org: could not connect to host
-kimoota.net: could not connect to host
 kinepolis-studio.ga: could not connect to host
 kingclass.cn: could not connect to host
 kingpincages.com: could not connect to host
 kingtecservices.com: could not connect to host
 kinomoto.me: could not connect to host
 kinomoto.ovh: could not connect to host
 kirill.ws: could not connect to host
 kirrie.pe.kr: could not connect to host
@@ -1469,16 +1455,17 @@ ladylikeit.com: could not connect to hos
 lafema.de: could not connect to host
 laforetenchantee.ch: could not connect to host
 lafr4nc3.xyz: could not connect to host
 lakehavasuhouserentals.com: could not connect to host
 lakhesis.net: could not connect to host
 landell.ml: could not connect to host
 langendorf-ernaehrung-training.de: could not connect to host
 lanonfire.com: could not connect to host
+laozhu.me: could not connect to host
 latamarissiere.eu: could not connect to host
 lateliercantaldeco.fr: could not connect to host
 lathamlabs.com: could not connect to host
 lathamlabs.net: could not connect to host
 lathamlabs.org: could not connect to host
 laubacher.io: could not connect to host
 lazerus.net: could not connect to host
 lazulu.com: could not connect to host
@@ -1498,17 +1485,16 @@ leebiblestudycentre.net: could not conne
 leebiblestudycentre.org: could not connect to host
 leefindlow.com: could not connect to host
 leelou.wedding: could not connect to host
 leerkotte.eu: could not connect to host
 legal.farm: could not connect to host
 legaltip.eu: could not connect to host
 leolana.com: could not connect to host
 leonardcamacho.me: could not connect to host
-leonhooijer.nl: could not connect to host
 lerlivros.online: could not connect to host
 lescomptoirsdepierrot.com: could not connect to host
 lesdouceursdeliyana.com: could not connect to host
 lesjardinsdemathieu.net: could not connect to host
 letsgetintouch.com: could not connect to host
 lettland-firma.com: could not connect to host
 leveredge.net: could not connect to host
 lezdomsm.com: could not connect to host
@@ -1517,32 +1503,31 @@ lheinrich.org: could not connect to host
 lhsj28.com: could not connect to host
 lhsj68.com: could not connect to host
 lhsj78.com: could not connect to host
 liaozheqi.cn: could not connect to host
 liautard.fr: could not connect to host
 libertas-tech.com: could not connect to host
 libscode.com: could not connect to host
 liceserv.com: could not connect to host
-lichttechnik-tumler.com: could not connect to host
 lied8.eu: could not connect to host
 lifeinsurances.pro: could not connect to host
 lifeinsurances24.com: could not connect to host
 like.lgbt: could not connect to host
 likenosis.com: could not connect to host
 linkages.org: could not connect to host
 linksanitizer.com: could not connect to host
 linksextremist.at: could not connect to host
 linley.de: could not connect to host
 linux-admin-california.com: could not connect to host
 linux.sb: could not connect to host
 linuxcode.net: could not connect to host
 linvx.org: could not connect to host
-lipex.com: could not connect to host
 liquidcomm.net: could not connect to host
+lisowski-photography.com: could not connect to host
 lissabon.guide: could not connect to host
 litcc.com: could not connect to host
 litcomphonors.com: could not connect to host
 littlelundgrenladies.com: could not connect to host
 liukang.tech: could not connect to host
 llvm.us: could not connect to host
 lmrcouncil.gov: could not connect to host
 loanstreet.be: could not connect to host
@@ -1551,51 +1536,53 @@ locker3.com: could not connect to host
 locksport.org.nz: could not connect to host
 logcat.info: could not connect to host
 logic8.ml: could not connect to host
 logimagine.com: could not connect to host
 lojavirtualfct.com.br: could not connect to host
 lolhax.org: could not connect to host
 lookasik.eu: could not connect to host
 loopower.com: could not connect to host
+loperetti.ch: could not connect to host
 loqyu.co: could not connect to host
 losebellyfat.pro: could not connect to host
 love4taylor.eu.org: could not connect to host
 loveandloyalty.se: could not connect to host
 lowt.us: could not connect to host
 loyaltech.ch: could not connect to host
 lstma.com: could not connect to host
 lszj.com: could not connect to host
 ltransferts.com: could not connect to host
 lubot.net: could not connect to host
 lucascodes.com: could not connect to host
 lucasgaland.com: could not connect to host
 lucassoler.com.ar: could not connect to host
 lucidlogs.com: could not connect to host
 luenwarneke.com: could not connect to host
-luisgf.es: could not connect to host
 luk.photo: could not connect to host
 lukasunger.cz: could not connect to host
 lukasunger.net: could not connect to host
 lukasztkacz.com: could not connect to host
 luminancy.com: could not connect to host
 lunorian.is: could not connect to host
 luom.net: could not connect to host
 lzqii.cn: could not connect to host
 m-generator.com: could not connect to host
 m-kleinert.de: could not connect to host
 m4570.xyz: could not connect to host
 m4g.ru: could not connect to host
 maartenterpstra.xyz: could not connect to host
 madeintucson.org: could not connect to host
 madnetwork.org: could not connect to host
+magicball.co: could not connect to host
 magnacumlaude.co: could not connect to host
 maik-mahlow.de: could not connect to host
 mail4geek.com: could not connect to host
 mailon.ga: could not connect to host
+majahoidja.ee: could not connect to host
 makeit-so.de: could not connect to host
 makeuplove.nl: could not connect to host
 makeurbiz.com: could not connect to host
 malamutedoalasca.com.br: could not connect to host
 malesbdsm.com: could not connect to host
 malgraph.net: could not connect to host
 mamastore.eu: could not connect to host
 mannford.com: could not connect to host
@@ -1617,18 +1604,16 @@ martins.im: could not connect to host
 marxist.party: could not connect to host
 mastodon.expert: could not connect to host
 mastodon.my: could not connect to host
 mat99.dk: could not connect to host
 matarrosabierzo.com: could not connect to host
 mathijskingma.nl: could not connect to host
 matlabjo.ir: could not connect to host
 matrix.ac: could not connect to host
-mattcoles.io: could not connect to host
-matthiasschwab.de: could not connect to host
 maxpl0it.com: could not connect to host
 maybeul.com: could not connect to host
 maynardnetworks.com: could not connect to host
 mazternet.ru: could not connect to host
 mazurlabs.tk: could not connect to host
 mb-is.info: could not connect to host
 mbdrogenbos-usedcars.be: could not connect to host
 mbsec.net: could not connect to host
@@ -1644,17 +1629,16 @@ me-dc.com: could not connect to host
 meathealth.com: could not connect to host
 mecanicadom.com: could not connect to host
 mediadandy.com: could not connect to host
 mediadex.be: could not connect to host
 medicinskavranje.edu.rs: could not connect to host
 mediter-simplement.com: could not connect to host
 mediweed.tk: could not connect to host
 medy-me.com: could not connect to host
-meetings2.com: could not connect to host
 megadrol.com: could not connect to host
 meizufans.eu: could not connect to host
 melenchatsmelenchiens.fr: could not connect to host
 melhorproduto.com.br: could not connect to host
 melodic.com.au: could not connect to host
 melody-lyrics.com: could not connect to host
 melonstudios.net: could not connect to host
 melpomene.me: could not connect to host
@@ -1686,16 +1670,17 @@ mingy.ddns.net: could not connect to hos
 mingyueli.com: could not connect to host
 minhanossasenhora.com.br: could not connect to host
 minimaliston.com: could not connect to host
 minitruckin.net: could not connect to host
 misconfigured.io: could not connect to host
 missycosmeticos.com.br: could not connect to host
 mita.me: could not connect to host
 mitchelmore.ca: could not connect to host
+miukimodafeminina.com: could not connect to host
 mixer.cash: could not connect to host
 miyako-kyoto.jp: could not connect to host
 miyoshi-kikaku.co.jp: could not connect to host
 mkasu.org: could not connect to host
 mkfs.fr: could not connect to host
 mkp-deutschland.de: could not connect to host
 mkplay.io: could not connect to host
 mkw.st: could not connect to host
@@ -1714,40 +1699,36 @@ modded-minecraft-server-list.com: could 
 modernibytovytextil.cz: could not connect to host
 moderntld.net: could not connect to host
 moe-max.jp: could not connect to host
 moefi.xyz: could not connect to host
 moeyi.xyz: could not connect to host
 mongla168.net: could not connect to host
 mongla88.net: could not connect to host
 monitori.ng: could not connect to host
-monotsuku.com: could not connect to host
 moobo.xyz: could not connect to host
 mooselook.de: could not connect to host
 moparcraft.com: could not connect to host
 moparcraft.org: could not connect to host
 mordrum.com: could not connect to host
 morfitronik.pl: could not connect to host
 morganino.eu: could not connect to host
 morz.org: could not connect to host
 mosaique-lachenaie.fr: could not connect to host
 moskva.guide: could not connect to host
 motherboard.services: could not connect to host
 motomorgen.com: could not connect to host
 motorbiketourhanoi.com: could not connect to host
-moumaobuchiyu.com: could not connect to host
 mountainadventureseminars.com: could not connect to host
 movie4k.fyi: could not connect to host
 movie4k.life: could not connect to host
-moviesetc.net: could not connect to host
 moving-pixtures.de: could not connect to host
 movingoklahoma.org: could not connect to host
 mowalls.net: could not connect to host
 mozzilla.cz: could not connect to host
-mprsco.eu: could not connect to host
 mpserver12.org: could not connect to host
 mrafrohead.com: could not connect to host
 mrizzio.com: could not connect to host
 mrliu.me: could not connect to host
 mrnh.tk: could not connect to host
 mruganiepodspacja.pl: could not connect to host
 msgallery.tk: could not connect to host
 msz-fotografie.de: could not connect to host
@@ -1755,26 +1736,27 @@ mtirc.co: could not connect to host
 mtn.cc: could not connect to host
 muga.space: could not connect to host
 muj-svet.cz: could not connect to host
 multivpn.fr: could not connect to host
 munduch.cz: could not connect to host
 murraycoin.org: could not connect to host
 murraycolin.org: could not connect to host
 murz.tv: could not connect to host
+muscolinomusic.com: could not connect to host
 mushman.tk: could not connect to host
 muslimbanter.co.za: could not connect to host
 mxawei.cn: could not connect to host
 mxlife.org: could not connect to host
 my-demo.co: could not connect to host
 my-dick.ru: could not connect to host
 my-dns.co.il: could not connect to host
 my-floor.com: could not connect to host
 mycamda.com: could not connect to host
-mydocserve.com: could not connect to host
+mycareersfuture.sg: could not connect to host
 myfappening.org: could not connect to host
 myfunworld.de: could not connect to host
 mygreatjob.eu: could not connect to host
 mykeepsake.xyz: could not connect to host
 mykontool.de: could not connect to host
 myndcommunication.com: could not connect to host
 myonlinedating.club: could not connect to host
 myrig.io: could not connect to host
@@ -1788,36 +1770,36 @@ nadaquenosepas.com: could not connect to
 nakedfacts.co.uk: could not connect to host
 namaleaks.com: could not connect to host
 namikawatetsuji.jp: could not connect to host
 naphex.rocks: could not connect to host
 nasmocopati.com: could not connect to host
 nastysclaw.com: could not connect to host
 nataniel-perissier.fr: could not connect to host
 natur-udvar.hu: could not connect to host
+natureflo.net: could not connect to host
 natuterra.com.br: could not connect to host
+nayanaas.com: could not connect to host
 nc99.co: could not connect to host
 ncdesigns-studio.com: could not connect to host
 ndtblog.com: could not connect to host
 necesitodinero.org: could not connect to host
 necio.ca: could not connect to host
 neer.io: could not connect to host
-neio.uk: could not connect to host
 nekoku.io: could not connect to host
 nella-project.org: could not connect to host
 nella.io: could not connect to host
 nellacms.com: could not connect to host
 nellacms.org: could not connect to host
 nellafw.org: could not connect to host
 nemumu.com: could not connect to host
+neocyd.com: could not connect to host
 nerdjokes.de: could not connect to host
 nerfroute.com: could not connect to host
 nestone.ru: could not connect to host
-netbows.com: could not connect to host
-netbows.es: could not connect to host
 netbuzz.ru: could not connect to host
 netde.jp: could not connect to host
 netica.fr: could not connect to host
 netscaler.expert: could not connect to host
 netsight.org: could not connect to host
 netsystems.pro: could not connect to host
 nevadafiber.net: could not connect to host
 newantiagingcreams.com: could not connect to host
@@ -1888,53 +1870,50 @@ offgames.pro: could not connect to host
 office-ruru.com: could not connect to host
 ohnemusik.com: could not connect to host
 oinky.ddns.net: could not connect to host
 oklahomamoversassociation.org: could not connect to host
 oklahomanotepro.com: could not connect to host
 oldandyounglesbians.us: could not connect to host
 oldtimer-trifft-flugplatz.de: could not connect to host
 oliverspringer.eu: could not connect to host
-omniasl.com: could not connect to host
-omniverse.ru: could not connect to host
 oneazcu.com: could not connect to host
 onewebdev.info: could not connect to host
 onionsburg.com: could not connect to host
 onsennuie.fr: could not connect to host
 onsite4u.de: could not connect to host
 onstud.com: could not connect to host
 onthe.network: could not connect to host
 onwie.com: could not connect to host
 onwie.fr: could not connect to host
 ooeste.com: could not connect to host
 openclub24.ru: could not connect to host
 openconnect.com.au: could not connect to host
 opinion8td.com: could not connect to host
 opinionipannolini.it: could not connect to host
 orangekey.tk: could not connect to host
 oranges.tokyo: could not connect to host
-oranic.com: could not connect to host
 oricejoc.com: could not connect to host
 oscarmashauri.com: could not connect to host
 oscillation-services.fr: could not connect to host
 oscsdp.cz: could not connect to host
 oshinagaki.jp: could not connect to host
-osmanlitorunu.com: could not connect to host
 ospree.me: could not connect to host
 otinane.eu: could not connect to host
 ourchoice2016.com: could not connect to host
 overkillshop.com: could not connect to host
 ovpn.to: could not connect to host
 owensmith.website: could not connect to host
 owlscrap.ru: could not connect to host
+ownc.at: could not connect to host
 ownspec.com: could not connect to host
-oxanababy.com: could not connect to host
 oxynux.xyz: could not connect to host
 oyoony.de: could not connect to host
 pabloartea.ga: could not connect to host
+pachaiyappas.org: could not connect to host
 packetcrash.net: could not connect to host
 pacoda.de: could not connect to host
 pactf-flag-4boxdpa21ogonzkcrs9p.com: could not connect to host
 paichai.space: could not connect to host
 painosso.org: could not connect to host
 paio2-rec.com: could not connect to host
 paio2.com: could not connect to host
 palationtrade.com: could not connect to host
@@ -1956,16 +1935,17 @@ paypod.org: could not connect to host
 pbscreens.com: could not connect to host
 pbytes.com: could not connect to host
 pcvirusclear.com: could not connect to host
 pear2pear.de: could not connect to host
 peerless.ae: could not connect to host
 peirong.me: could not connect to host
 pemagrid.org: could not connect to host
 pengisatelier.net: could not connect to host
+peoplesguardian.org: could not connect to host
 persjrp.ca: could not connect to host
 persoform.ch: could not connect to host
 pesto.video: could not connect to host
 petlife.od.ua: could not connect to host
 peuf.shop: could not connect to host
 peykezamin.ir: could not connect to host
 pfolta.net: could not connect to host
 pgmann.cf: could not connect to host
@@ -1974,25 +1954,23 @@ pharmaboard.org: could not connect to ho
 phdwuda.com: could not connect to host
 philippa.cool: could not connect to host
 phillippi.me: could not connect to host
 photographyforchange.com: could not connect to host
 photographyforchange.org: could not connect to host
 photops.fr: could not connect to host
 photosoftware.nl: could not connect to host
 phuong.faith: could not connect to host
-phus.lu: could not connect to host
 pianetaottica.eu: could not connect to host
 pianetaottica.info: could not connect to host
 picallo.es: could not connect to host
 picone.com.au: could not connect to host
 picsandtours.com: could not connect to host
 pierrejeansuau.fr: could not connect to host
 pimspage.nl: could not connect to host
-pincodeit.com: could not connect to host
 pinebaylibrary.org: could not connect to host
 pinkhq.com: could not connect to host
 pinkinked.com: could not connect to host
 pinoyonlinetv.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 116"  data: no]
 pipenny.net: could not connect to host
 pirateahoy.eu: could not connect to host
 pixelgliders.de: could not connect to host
 plaasprodukte.com: could not connect to host
@@ -2003,17 +1981,17 @@ playsource.co: could not connect to host
 please-deny.me: could not connect to host
 plussizereviews.com: could not connect to host
 pmbremer.de: could not connect to host
 pmklaassen.com: could not connect to host
 pogs.us: could not connect to host
 pointworksacademy.com: could not connect to host
 polit-it.pro: could not connect to host
 polit.im: could not connect to host
-polly.spdns.org: could not connect to host
+polymathematician.com: could not connect to host
 pookl.com: could not connect to host
 poolinstallers.co.za: could not connect to host
 popkins.cf: could not connect to host
 popkins.ga: could not connect to host
 popkins.gq: could not connect to host
 popkins.tk: could not connect to host
 pornblog.org: could not connect to host
 porschen.fr: could not connect to host
@@ -2073,18 +2051,16 @@ psicosalud.online: could not connect to 
 psncardplus.be: could not connect to host
 psncardplus.com: could not connect to host
 psncardplus.dk: could not connect to host
 psncardplus.nl: could not connect to host
 psncardplus.se: could not connect to host
 pstrozniak.com: could not connect to host
 psychoco.net: could not connect to host
 psyk.yt: could not connect to host
-psylab.re: could not connect to host
-psylab.vip: could not connect to host
 pub-online.ro: could not connect to host
 publimepa.it: could not connect to host
 pugilares.com.pl: could not connect to host
 puhe.se: could not connect to host
 puikheid.nl: could not connect to host
 purrfectcams.com: could not connect to host
 purrfectmembersclub.com: could not connect to host
 pwdgen.net: could not connect to host
@@ -2102,16 +2078,17 @@ qrlfinancial.com: could not connect to h
 quietus.gq: could not connect to host
 quikpay.com.au: could not connect to host
 r-cut.fr: could not connect to host
 r0t.co: could not connect to host
 racasdecachorro.org: could not connect to host
 rackblue.com: could not connect to host
 radiopolarniki.spb.ru: could not connect to host
 radtke.bayern: could not connect to host
+rahamasin.eu: could not connect to host
 rainbin.com: could not connect to host
 ranos.org: could not connect to host
 rapidemobile.com: could not connect to host
 rapidflow.io: could not connect to host
 raven.dog: could not connect to host
 ravengergaming.net: could not connect to host
 ravse.dk: could not connect to host
 raycarruthersphotography.co.uk: could not connect to host
@@ -2139,41 +2116,40 @@ regalpaintingfdl.com: could not connect 
 regendevices.eu: could not connect to host
 regio-salland.nl: could not connect to host
 regsec.com: could not connect to host
 reignsphere.net: could not connect to host
 reinout.nu: could not connect to host
 reinouthoornweg.nl: could not connect to host
 reismil.ch: could not connect to host
 relatic.net: could not connect to host
-remi-saurel.com: could not connect to host
 renemayrhofer.com: could not connect to host
 report-incident.de: could not connect to host
 reposaarenkuva.fi: could not connect to host
 reputationweaver.com: could not connect to host
 reqognize.com: could not connect to host
 resama.eu: could not connect to host
 research.md: could not connect to host
 resoundpro.ca: could not connect to host
 restaurantesimonetti.com.br: could not connect to host
 restioson.me: could not connect to host
 retcor.net: could not connect to host
 reth.ch: could not connect to host
 retube.ga: could not connect to host
 reucon.com: could not connect to host
+revayd.net: could not connect to host
 reykjavik.guide: could not connect to host
 ribopierre.fr: could not connect to host
 riceglue.com: could not connect to host
 richardb.me: could not connect to host
 richardcrosby.co.uk: could not connect to host
 richeza.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 116"  data: no]
 rickmartensen.nl: could not connect to host
 ridingoklahoma.com: could not connect to host
 righteousendeavour.com: could not connect to host
-rittis.ru: could not connect to host
 riversideauto.net: could not connect to host
 riverstyxgame.com: could not connect to host
 robertabittle.com: could not connect to host
 robi-net.it: could not connect to host
 robomonkey.org: could not connect to host
 robust.ga: could not connect to host
 rodehutskors.net: could not connect to host
 roelf.org: could not connect to host
@@ -2190,49 +2166,52 @@ rotterdamjazz.info: could not connect to
 royzez.com: could not connect to host
 rozalynne-dawn.ga: could not connect to host
 rpasafrica.com: could not connect to host
 rs-devdemo.host: could not connect to host
 rsldb.com: could not connect to host
 rtc.fun: could not connect to host
 rubbix.net: could not connect to host
 rubendv.be: could not connect to host
-ruconsole.com: could not connect to host
 ruflay.ru: could not connect to host
 ruhr3.de: could not connect to host
 rukhaiyar.com: could not connect to host
 run-forrest.run: could not connect to host
 runcarina.com: could not connect to host
 rundumcolumn.xyz: could not connect to host
 ruurdboomsma.nl: could not connect to host
 rzegroup.com: could not connect to host
 s0923.com: could not connect to host
 s16e.no: could not connect to host
 s3n.se: could not connect to host
 s44.eu: could not connect to host
-sabatek.pl: could not connect to host
+sadiejanehair.com: could not connect to host
 safedevice.net: could not connect to host
 saferedirectlink.com: could not connect to host
 sagemontchurch.org: could not connect to host
 saintw.com: could not connect to host
+saitrance.com: could not connect to host
+salaervergleich.com: could not connect to host
 sallysubs.com: could not connect to host
 salzamt.tk: could not connect to host
 samaritan.tech: could not connect to host
 sammyjohnson.com: could not connect to host
 samsonova.de: could not connect to host
 sanael.net: could not connect to host
 sanatrans.com: could not connect to host
 santanderideas.com: could not connect to host
 sapuncheta.com: could not connect to host
 sarahlicity.me.uk: could not connect to host
 sarindia.com: could not connect to host
 sarindia.de: could not connect to host
 sarkisozleri.us: could not connect to host
 sarndipity.com: could not connect to host
+sashascollections.com: could not connect to host
 sativatunja.com: could not connect to host
+saunahats.eu: could not connect to host
 savecashindia.com: could not connect to host
 savethedogfishfoundation.org: could not connect to host
 savingbytes.com: could not connect to host
 saxol-group.com: could not connect to host
 sb.im: could not connect to host
 sbm.cloud: could not connect to host
 scalaire.fr: could not connect to host
 schaafenstrasse.koeln: could not connect to host
@@ -2292,23 +2271,24 @@ sexshopfacil.com.br: could not connect t
 sgtsnookums.net: could not connect to host
 sh4y.com: could not connect to host
 shadiku.com: could not connect to host
 shadowplus.net: could not connect to host
 shadowrocket.net: could not connect to host
 shadowsocks.fr: could not connect to host
 shadowsocks.software: could not connect to host
 shaitan.eu: could not connect to host
+shamka.ru: could not connect to host
 shang-yu.cn: could not connect to host
 shanxiapark.com: could not connect to host
-sharelovenotsecrets.com: could not connect to host
 shareoine.com: could not connect to host
 sharpe-practice.co.uk: could not connect to host
 sharvey.ca: could not connect to host
 shavingks.com: could not connect to host
+shellfire.de: could not connect to host
 shentengtu.idv.tw: could not connect to host
 sheying.tm: could not connect to host
 shh.sh: could not connect to host
 shinko-osaka.jp: could not connect to host
 shirakaba-cc.com: could not connect to host
 shockercityservices.com: could not connect to host
 shootpooloklahoma.com: could not connect to host
 shred.ch: could not connect to host
@@ -2329,50 +2309,48 @@ silvobeat.blog: could not connect to hos
 simbolo.co.uk: could not connect to host
 simhaf.cf: could not connect to host
 simonschmitt.ch: could not connect to host
 simplerses.com: could not connect to host
 sims4hub.ga: could not connect to host
 sinfulforums.net: could not connect to host
 siqi.wang: could not connect to host
 sitemaxiphilippe.ch: could not connect to host
-sitesko.de: could not connect to host
 skarox.ru: could not connect to host
 sketchmyroom.com: could not connect to host
 skoda-im-dialog.de: could not connect to host
 skontorp-enterprise.no: could not connect to host
 skou.dk: could not connect to host
 sky-aroma.com: could not connect to host
 skylocker.net: could not connect to host
 skylocker.nl: could not connect to host
 skyvault.io: could not connect to host
 slaps.be: could not connect to host
 slash64.co.uk: could not connect to host
 slash64.uk: could not connect to host
+slatemc.fun: could not connect to host
 sliceone.com: could not connect to host
-slicss.com: could not connect to host
 slytech.ch: could not connect to host
-sm-supplements.gr: could not connect to host
 smallchat.nl: could not connect to host
 smartbiz.vn: could not connect to host
 smdavis.us: could not connect to host
 smith.is: could not connect to host
 sml.lc: could not connect to host
 smuhelper.cn: could not connect to host
 sneed.company: could not connect to host
+snerith.com: could not connect to host
 snowdy.eu: could not connect to host
 soboleva-pr.com.ua: could not connect to host
 soci.ml: could not connect to host
 socialworkout.com: could not connect to host
 socialworkout.net: could not connect to host
 socialworkout.org: could not connect to host
 socialworkout.tv: could not connect to host
 socketize.com: could not connect to host
 soe-server.com: could not connect to host
-sofabedshop.de: could not connect to host
 sogravatas.net.br: could not connect to host
 sojingle.net: could not connect to host
 solymar.co: could not connect to host
 sonafe.info: could not connect to host
 sonja-kowa.de: could not connect to host
 sorenam.com: could not connect to host
 sortaweird.net: could not connect to host
 sotiran.com: could not connect to host
@@ -2384,17 +2362,16 @@ spam.lol: could not connect to host
 spanien.guide: could not connect to host
 sparkbase.cn: could not connect to host
 sparkwood.org: could not connect to host
 spartantheatre.org: could not connect to host
 spawn.cz: could not connect to host
 sphinx.network: could not connect to host
 spicydog.tk: could not connect to host
 spicywombat.com: could not connect to host
-spikeykc.me: could not connect to host
 spinner.dnshome.de: could not connect to host
 spitfireuav.com: could not connect to host
 split.is: could not connect to host
 springsoffthegrid.com: could not connect to host
 squids.space: could not connect to host
 squirtlesbians.net: could not connect to host
 sqzryang.com: could not connect to host
 sreeharis.tk: could not connect to host
@@ -2480,16 +2457,17 @@ takedownthissite.com: could not connect 
 takusan.ru: could not connect to host
 talado.gr: could not connect to host
 tangerine.ga: could not connect to host
 tangzhao.net: could not connect to host
 tapestries.tk: could not connect to host
 taranis.re: could not connect to host
 tarantul.org.ua: could not connect to host
 tarek.link: could not connect to host
+taxmadras.com: could not connect to host
 tazemama.biz: could not connect to host
 tcpweb.net: could not connect to host
 tdelmas.eu: could not connect to host
 tdelmas.ovh: could not connect to host
 tdsb.cf: could not connect to host
 tdsbhack.tk: could not connect to host
 teacherph.net: could not connect to host
 team-pancake.eu: could not connect to host
@@ -2500,21 +2478,23 @@ technoinfogroup.it: could not connect to
 techunit.org: could not connect to host
 tehplace.club: could not connect to host
 teknogeek.id: could not connect to host
 tektoria.de: could not connect to host
 telekollektiv.org: could not connect to host
 tempus-aquilae.de: could not connect to host
 tengu.cloud: could not connect to host
 tenispopular.com: could not connect to host
+tequilazor.com: could not connect to host
 terlindung.com: could not connect to host
 terminalvelocity.co.nz: could not connect to host
 terra-x.net: could not connect to host
 terrax.net: could not connect to host
 testadron.com: could not connect to host
+testbawks.com: could not connect to host
 testbirds.cz: could not connect to host
 testbirds.sk: could not connect to host
 testovaci.ml: could not connect to host
 tgod.co: could not connect to host
 tgtv.tn: could not connect to host
 thackbarth.net: could not connect to host
 thaigirls.xyz: could not connect to host
 thatgudstuff.com: could not connect to host
@@ -2533,20 +2513,18 @@ thelostyankee.com: could not connect to 
 themilanlife.com: could not connect to host
 thenrdhrd.nl: could not connect to host
 theoverfly.co: could not connect to host
 theposhfudgecompany.co.uk: could not connect to host
 theprincegame.com: could not connect to host
 theprivacysolution.com: could not connect to host
 thequillmagazine.org: could not connect to host
 thermique.ch: could not connect to host
-thesecondsposts.com: could not connect to host
 thesehighsandlows.com: could not connect to host
 thevoid.one: could not connect to host
-thewebdexter.com: could not connect to host
 thezero.org: could not connect to host
 thinkcash.nl: could not connect to host
 thismumdoesntknowbest.com: could not connect to host
 threatcentral.io: could not connect to host
 tianxicaipiao.com: could not connect to host
 tianxicaipiao.win: could not connect to host
 tianxicp.com: could not connect to host
 tibbitshall.ca: could not connect to host
@@ -2576,16 +2554,17 @@ toretfaction.net: could not connect to h
 totallynotaserver.com: could not connect to host
 totch.de: could not connect to host
 touch-up-net.com: could not connect to host
 towaway.ru: could not connect to host
 toxicboot.com: could not connect to host
 toxicip.com: could not connect to host
 tpblist.xyz: could not connect to host
 track.plus: could not connect to host
+trainings-handschuhe-test.de: could not connect to host
 trainline.io: could not connect to host
 transcendmotor.sg: could not connect to host
 transmithe.net: could not connect to host
 travel1x1.com: could not connect to host
 travotion.com: could not connect to host
 treker.us: could not connect to host
 triageo.com.au: could not connect to host
 trickedguys.com: could not connect to host
@@ -2630,21 +2609,21 @@ ueba1085.jp: could not connect to host
 uesociedadlimitada.com: could not connect to host
 ueu.me: could not connect to host
 ugcdn.com: could not connect to host
 ulalau.com: could not connect to host
 unefuite.ch: could not connect to host
 unhu.fr: could not connect to host
 uni2share.com: could not connect to host
 unicorn.li: could not connect to host
-unleash.pw: could not connect to host
 uploadbro.com: could not connect to host
 upmchealthsecurity.us: could not connect to host
 upr.com.ua: could not connect to host
 uptogood.org: could not connect to host
+urbansparrow.in: could not connect to host
 urcentral.org: could not connect to host
 uscp8.com: could not connect to host
 usportsgo.com: could not connect to host
 uwac.co.uk: could not connect to host
 uwesander.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 116"  data: no]
 uwimonacs.org.jm: could not connect to host
 uygindir.ml: could not connect to host
 vaaddress.co: could not connect to host
@@ -2655,53 +2634,58 @@ valenhub.com: could not connect to host
 valenhub.es: could not connect to host
 valis.sx: could not connect to host
 vamosfalardesaude.pt: could not connect to host
 vanderstraeten.dynv6.net: could not connect to host
 vanessabalibridal.com: could not connect to host
 vapemania.eu: could not connect to host
 varela-electricite.fr: could not connect to host
 variablyconstant.com: could not connect to host
+vavouchers.com: could not connect to host
 vayaport.com: could not connect to host
 vconcept.ch: could not connect to host
 vconcept.me: could not connect to host
 vdanker.net: could not connect to host
 vectro.me: could not connect to host
 vekenz.com: could not connect to host
 velasense.com: could not connect to host
 velen.io: could not connect to host
 venicecomputerrepair.com: could not connect to host
 venicefloridawebsitedesign.com: could not connect to host
 venturavwparts.com: could not connect to host
 verdeandco.co.uk: could not connect to host
 versfin.net: could not connect to host
+verzick.com: could not connect to host
 vgatest.nl: could not connect to host
 vicenage.com: could not connect to host
 viciousviscosity.xyz: could not connect to host
 videorullen.se: could not connect to host
+vijay-international.com: could not connect to host
 vikasbabyworld.de: could not connect to host
 viladochurrasco.com.br: could not connect to host
 vilaydin.com: could not connect to host
 villainsclothing.com.au: could not connect to host
 villasenor.online: could not connect to host
 vimeosucks.nyc: could not connect to host
 vinesauce.info: could not connect to host
 vinetalk.net: could not connect to host
 vipnettikasinoklubi.com: could not connect to host
 visiongamestudios.com: could not connect to host
 visionthroughknowledge.com: could not connect to host
 visiontree-beta.eu: could not connect to host
 visiontree.eu: could not connect to host
+visudira.com: could not connect to host
 vitalamin.at: could not connect to host
 vitalamin.ch: could not connect to host
 vkino.com: could not connect to host
 vldkn.net: could not connect to host
 vleij.family: could not connect to host
 vlogge.com: could not connect to host
 vlvvl.com: could not connect to host
+vmgirls.com: could not connect to host
 vocab.guru: could not connect to host
 voeux.io: could not connect to host
 vogt.tech: could not connect to host
 voipkb.com: could not connect to host
 volcain.io: could not connect to host
 vorderklier.de: could not connect to host
 votocek.cz: could not connect to host
 votockova.cz: could not connect to host
@@ -2714,17 +2698,16 @@ vucdn.com: could not connect to host
 vwoforangeparts.com: could not connect to host
 vxapps.com: could not connect to host
 vynedmusic.com: could not connect to host
 vyshivanochka.in.ua: could not connect to host
 w10club.com: could not connect to host
 wabifoggynuts.com: could not connect to host
 wafni.com: could not connect to host
 waixingrenfuli.vip: could not connect to host
-wallinger-online.at: could not connect to host
 wan.pp.ua: could not connect to host
 wanashi.com: could not connect to host
 wanda76.com: could not connect to host
 wanda78.com: could not connect to host
 wanda79.com: could not connect to host
 wanda96.com: could not connect to host
 wanda97.com: could not connect to host
 wanda98.com: could not connect to host
@@ -2774,77 +2757,84 @@ wherephoto.com: could not connect to hos
 whilsttraveling.com: could not connect to host
 whiskynerd.ca: could not connect to host
 whoneedstobeprimaried.today: could not connect to host
 whyy.eu.org: could not connect to host
 wibuw.com: could not connect to host
 wilfrid-calixte.fr: could not connect to host
 wilhelm-nathan.de: could not connect to host
 willkommen-fuerstenberg.de: could not connect to host
+wilsonovi.com: could not connect to host
 windholz.us: could not connect to host
 windwoodmedia.com: could not connect to host
 windwoodweb.com: could not connect to host
 winnersports.co: could not connect to host
 winsufi.biz: could not connect to host
 wisak.eu: could not connect to host
 wisdomize.me: could not connect to host
 wishesbee.com: could not connect to host
 wissl.org: could not connect to host
 witae.com: could not connect to host
 wizznab.tk: could not connect to host
 wk577.com: could not connect to host
 wlsme.org: could not connect to host
+wokeai.net: could not connect to host
 wolfemg.com: could not connect to host
 wolfram.io: could not connect to host
 wolfwings.us: could not connect to host
 wonderbooks.club: could not connect to host
 woomu.me: could not connect to host
 wordsofamaster.com: could not connect to host
+worf.in: could not connect to host
 workemy.com: could not connect to host
 workwithgo.com: could not connect to host
 world-education-association.org: could not connect to host
 worldfree4.org: could not connect to host
 worldsoccerclips.com: could not connect to host
 wormholevpn.net: could not connect to host
 wp-fastsearch.de: could not connect to host
 wp-stack.pro: could not connect to host
 wp6.pw: could not connect to host
 wriedts.de: could not connect to host
 wsb-immo.at: could not connect to host
 wsdcap.com: could not connect to host
 wuchipc.com: could not connect to host
 wumbo.kiwi: could not connect to host
+wwjd.dynu.net: could not connect to host
 www-68277.com: could not connect to host
 www-8887999.com: could not connect to host
 www.history.pe: could not connect to host
 www.simbolo.co.uk: could not connect to host
-wxster.com: could not connect to host
+wyzwaniemilosci.com: could not connect to host
 xbc.nz: could not connect to host
 xeonlab.com: could not connect to host
 xeonlab.de: could not connect to host
 xia100.xyz: could not connect to host
 xiamenshipbuilding.com: could not connect to host
 xianguocy.com: could not connect to host
+xiazhanjian.com: could not connect to host
 xing.ml: could not connect to host
 xiqi.us: could not connect to host
 xmiui.com: could not connect to host
 xn----7sbmucgqdbgwwc5e9b.xn--p1ai: could not connect to host
 xn--6x6a.life: could not connect to host
 xn--8mr166hf6s.xn--fiqs8s: could not connect to host
 xn--98jm6m.jp: could not connect to host
 xn--c5w27q.ml: could not connect to host
 xn--gmq92k.nagoya: could not connect to host
 xn--grnderlehrstuhl-0vb.de: could not connect to host
 xn--hfk-allgu-schwaben-stb.de: could not connect to host
+xn--rtter-kva.eu: could not connect to host
 xn--srenpind-54a.dk: could not connect to host
 xn--t8j2a3042d.xyz: could not connect to host
 xn--tda.ml: could not connect to host
 xn--thorme-6uaf.ca: could not connect to host
 xn--u9jy16ncfao19mo8i.nagoya: could not connect to host
 xn--vck8crc010pu14e.biz: could not connect to host
+xn--vck8crcu789ajtaj92eura.xyz: could not connect to host
 xn--w22a.jp: could not connect to host
 xn--wmq.jp: could not connect to host
 xn--xz1a.jp: could not connect to host
 xn--y8j2eb5631a4qf5n0h.com: could not connect to host
 xn--yj8h0m.ws: could not connect to host
 xn--ykrp42k.com: could not connect to host
 xombra.com: could not connect to host
 xpwn.cz: could not connect to host
@@ -2867,83 +2857,83 @@ yemekbaz.az: could not connect to host
 yepbitcoin.com: could not connect to host
 yesfone.com.br: could not connect to host
 yggdar.ga: could not connect to host
 yhori.xyz: could not connect to host
 yibin0831.com: could not connect to host
 ying299.com: could not connect to host
 ying299.net: could not connect to host
 yinga.ga: could not connect to host
+yiz96.com: could not connect to host
 ylk.io: could not connect to host
 yobbelwobbel.de: could not connect to host
 yobst.tk: could not connect to host
 yoga.is-an-engineer.com: could not connect to host
 yolo-csgo.com: could not connect to host
-yoramvandevelde.net: could not connect to host
 yoticonnections.com: could not connect to host
 yotilabs.com: could not connect to host
 yourself.today: could not connect to host
 yourznc.com: could not connect to host
 yousite.by: could not connect to host
 yude.ml: could not connect to host
 yugege.cf: could not connect to host
 yum.beer: could not connect to host
 yum0.cn: could not connect to host
-yumli.net: could not connect to host
 yux.fr: could not connect to host
 z-coder.com: could not connect to host
 z0rro.net: could not connect to host
 zachbolinger.com: could not connect to host
 zaem.tv: could not connect to host
+zahyantechnologies.com: could not connect to host
 zaoext.com: could not connect to host
 zbchen.com: could not connect to host
-zbetcheck.in: could not connect to host
 zbp.at: could not connect to host
 zby.io: could not connect to host
 zehdenick-bleibt-bunt.de: could not connect to host
 zeloz.xyz: could not connect to host
-zenghx.tk: could not connect to host
 zero-x-baadf00d.com: could not connect to host
 zerocool.io: could not connect to host
 zerosource.net: could not connect to host
 zgrep.org: could not connect to host
 zhangfangzhou.com: could not connect to host
 zhangsir.net: could not connect to host
 zhaochen.xyz: could not connect to host
 zhenmeish.com: could not connect to host
 zhikin.com: could not connect to host
 zhoujiashu.com: could not connect to host
 zikirakhirzaman.com: could not connect to host
 zixo.sk: could not connect to host
 znd.jp: could not connect to host
 zobraz.cz: could not connect to host
+zofrex.com: could not connect to host
 zohar.shop: could not connect to host
 zokster.net: could not connect to host
 zoological-gardens.eu: could not connect to host
 zudomc.me: could not connect to host
 zuehlcke.de: could not connect to host
 zukix.com: could not connect to host
 zuviel.space: could not connect to host
 zxity.ltd: could not connect to host
 zypr.pw: could not connect to host
 zyx.im: could not connect to host
 zzw.ca: could not connect to host
-00001.am: did not receive HSTS header
-00002.am: did not receive HSTS header
+00001.am: max-age too low: 3600
+00002.am: max-age too low: 3600
 0005.com: could not connect to host
 0005aa.com: could not connect to host
 007sascha.de: did not receive HSTS header
 016298.com: 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 116"  data: no]
 0222aa.com: could not connect to host
 023838.com: did not receive HSTS header
 02dl.net: did not receive HSTS header
 040fit.nl: did not receive HSTS header
 048.ag: could not connect to host
 050508.com: could not connect to host
+066718.com: did not receive HSTS header
 066928.com: could not connect to host
 066938.com: could not connect to host
 0f.io: could not connect to host
 0fl.com: 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
 0w0.vc: could not connect to host
@@ -3016,26 +3006,26 @@ 2intermediate.co.uk: did not receive HST
 2or3.tk: could not connect to host
 2smart4food.com: did not receive HSTS header
 2ss.jp: did not receive HSTS header
 300651.ru: did not receive HSTS header
 300mbmovie24.com: could not connect to host
 300mbmovies4u.cc: could not connect to host
 301.website: could not connect to host
 302.nyc: could not connect to host
+30yearmortgagerates.net: did not receive HSTS header
 314166.com: could not connect to host
 314chan.org: did not receive HSTS header
 32ph.com: could not connect to host
 33836.com: did not receive HSTS header
 33drugstore.com: did not receive HSTS header
 341.mg: could not connect to host
 3555aa.com: could not connect to host
 35792.de: could not connect to host
 360gradus.com: did not receive HSTS header
-360live.fr: did not receive HSTS header
 365.or.jp: could not connect to host
 368mibn.com: could not connect to host
 3778xl.com: did not receive HSTS header
 38sihu.com: could not connect to host
 39sihu.com: could not connect to host
 3chit.cf: could not connect to host
 3click-loan.com: could not connect to host
 3d-bastler.de: could not connect to host
@@ -3063,26 +3053,26 @@ 4ourty2.org: 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
 513vpn.net: did not receive HSTS header
 518maicai.com: did not receive HSTS header
 540.co: did not receive HSTS header
 5432.cc: did not receive HSTS header
 54bf.com: could not connect to host
-555fl.com: did not receive HSTS header
+555fl.com: max-age too low: 3600
 56ct.com: could not connect to host
 57aromas.com: did not receive HSTS header
 5piecesofadvice.com: could not connect to host
 605508.cc: could not connect to host
 605508.com: could not connect to host
 60ych.net: did not receive HSTS header
 6120.eu: did not receive HSTS header
 64616e.xyz: could not connect to host
-660011.com: max-age too low: 0
+660011.com: could not connect to host
 69square.com: could not connect to host
 721av.com: max-age too low: 2592000
 7777av.co: could not connect to host
 7f-wgg.cf: could not connect to host
 7kovrikov.ru: did not receive HSTS header
 7thheavenrestaurant.com: could not connect to host
 8.net.co: could not connect to host
 808.lv: did not receive HSTS header
@@ -3115,17 +3105,17 @@ a-rickroll-n.pw: could not connect to ho
 a-theme.com: could not connect to host
 a1-autopartsglasgow.com: did not receive HSTS header
 a200k.xyz: did not receive HSTS header
 a3workshop.swiss: could not connect to host
 a9c.co: could not connect to host
 aa7733.com: could not connect to host
 aaeblog.com: did not receive HSTS header
 aaeblog.net: did not receive HSTS header
-aaeblog.org: could not connect to host
+aaeblog.org: did not receive HSTS header
 aanbieders.ga: did not receive HSTS header
 aaoo.net: could not connect to host
 aapp.space: could not connect to host
 aaron-gustafson.com: did not receive HSTS header
 aaronmcguire.me: did not receive HSTS header
 abareplace.com: did not receive HSTS header
 abcdentalcare.com: did not receive HSTS header
 abcdobebe.com: max-age too low: 0
@@ -3156,17 +3146,17 @@ acai51.net: could not connect to host
 acbc.ie: max-age too low: 0
 accelerole.com: did not receive HSTS header
 accelight.co.jp: did not receive HSTS header
 accelight.jp: did not receive HSTS header
 access-sofia.org: did not receive HSTS header
 accommodation-berry.com.au: max-age too low: 300
 accountradar.com: max-age too low: 86400
 accounts-p.com: could not connect to host
-aceadvisory.biz: could not connect to host
+aceadvisory.biz: did not receive HSTS header
 acgmoon.org: did not receive HSTS header
 acheirj.com.br: could not connect to host
 acheritage.co.uk: did not receive HSTS header
 acisonline.net: did not receive HSTS header
 acoffeeshops.com: could not connect to host
 acr.im: could not connect to host
 acrepairdrippingsprings.com: could not connect to host
 acritelli.com: did not receive HSTS header
@@ -3200,17 +3190,16 @@ adindexr.com: could not connect to host
 adminwerk.net: did not receive HSTS header
 admiral.dp.ua: did not receive HSTS header
 admitcard.co.in: did not receive HSTS header
 admsel.ec: could not connect to host
 adoal.net: did not receive HSTS header
 adoge.me: could not connect to host
 adonairelogios.com.br: could not connect to host
 adopteunsiteflash.com: could not connect to host
-adprospb.com: did not receive HSTS header
 adquisitio.de: could not connect to host
 adquisitio.in: could not connect to host
 adriancohea.ninja: did not receive HSTS header
 adrianseo.ro: did not receive HSTS header
 adrl.ca: could not connect to host
 adsfund.org: could not connect to host
 aduedu.de: did not receive HSTS header
 adunanza.net: did not receive HSTS header
@@ -3218,17 +3207,16 @@ advancedstudio.ro: did not receive HSTS 
 advantagemechanicalinc.com: did not receive HSTS header
 adventures.is: did not receive HSTS header
 adver.top: did not receive HSTS header
 adviespuntklokkenluiders.nl: could not connect to host
 adzuna.co.uk: did not receive HSTS header
 aemoria.com: could not connect to host
 aerialmediapro.net: could not connect to host
 aerolog.co: did not receive HSTS header
-aeroparking.es: did not receive HSTS header
 aerotheque.fr: did not receive HSTS header
 aes256.ru: could not connect to host
 aether.pw: could not connect to host
 aevpn.net: could not connect to host
 aeyoun.com: did not receive HSTS header
 af-fotografie.net: did not receive HSTS header
 afdkompakt.de: max-age too low: 86400
 aficotroceni.ro: did not receive HSTS header
@@ -3365,16 +3353,17 @@ amavis.org: did not receive HSTS header
 amazing-gaming.fr: could not connect to host
 amazingbouncycastles.co.uk: did not receive HSTS header
 amazingfloridagulfhomes.com: did not receive HSTS header
 amcvega.com: did not receive HSTS header
 amerhd.com: could not connect to host
 american-truck-simulator.de: could not connect to host
 american-truck-simulator.net: could not connect to host
 americanbio.com: did not receive HSTS header
+americanoutlawjeepparts.com: did not receive HSTS header
 americansforcommunitydevelopment.org: did not receive HSTS header
 americansportsinstitute.org: did not receive HSTS header
 americanworkwear.nl: did not receive HSTS header
 amicsdelbus.com: did not receive HSTS header
 amigogeek.net: could not connect to host
 amilx.com: could not connect to host
 amilx.org: could not connect to host
 amimoto-ami.com: max-age too low: 3153600
@@ -3454,17 +3443,16 @@ anonymo.uk: could not connect to host
 anonymousstatecollegelulzsec.com: could not connect to host
 anook.com: max-age too low: 0
 ansdell.info: could not connect to host
 anshuman-chatterjee.com: did not receive HSTS header
 ansibeast.net: could not connect to host
 anstoncs.com.au: max-age too low: 86400
 ant.land: could not connect to host
 antenasmundosat.com.br: did not receive HSTS header
-anthedesign.fr: did not receive HSTS header
 anthenor.co.uk: could not connect to host
 anthonyavon.com: could not connect to host
 anthro.id: did not receive HSTS header
 antimine.kr: could not connect to host
 antoine-roux.fr: could not connect to host
 antoinebetas.be: max-age too low: 0
 antoined.fr: did not receive HSTS header
 antoinemary.io: could not connect to host
@@ -3689,16 +3677,17 @@ aymerick.fr: did not receive HSTS header
 ayor.jp: could not connect to host
 ayor.tech: could not connect to host
 ayuru.info: could not connect to host
 azamra.com: did not receive HSTS header
 azazy.net: max-age too low: 2592000
 azirevpn.com: did not receive HSTS header
 azlo.com: did not receive HSTS header
 azprep.us: could not connect to host
+b-landia.net: did not receive HSTS header
 b-rickroll-e.pw: could not connect to host
 b-space.de: did not receive HSTS header
 b2bpromoteit.com: did not receive HSTS header
 b3orion.com: max-age too low: 0
 b8a.me: could not connect to host
 baby-click.de: could not connect to host
 babybee.ie: could not connect to host
 babybic.hu: did not receive HSTS header
@@ -3733,33 +3722,33 @@ bakkerdesignandbuild.com: did not receiv
 balatoni-nyar.hu: did not receive HSTS header
 balcan-underground.net: could not connect to host
 baldwinkoo.com: could not connect to host
 baleares.party: could not connect to host
 balihai.com: did not receive HSTS header
 balloonphp.com: could not connect to host
 ballparkbuns.com: max-age too low: 86400
 balnearionaturaspa.com: did not receive HSTS header
-bals.org: did not receive HSTS header
 bambooforest.nl: could not connect to host
 bambumania.com.br: could not connect to host
 bananabandy.com: could not connect to host
 banbanchs.com: could not connect to host
 banchethai.com: could not connect to host
 bandb.xyz: could not connect to host
 bandrcrafts.com: did not receive HSTS header
 banduhn.com: did not receive HSTS header
 bangzafran.com: did not receive HSTS header
 bankmilhas.com.br: did not receive HSTS header
 banksaround.com: could not connect to host
 banqingdiao.com: could not connect to host
 baobaobooks.net: did not receive HSTS header
 baptiste-destombes.fr: did not receive HSTS header
 barcel.com.mx: max-age too low: 86400
 barely.sexy: did not receive HSTS header
+baropkamp.be: did not receive HSTS header
 barreaudenice.com: max-age too low: 0
 barrelhead.org: could not connect to host
 barrut.me: did not receive HSTS header
 barshout.co.uk: could not connect to host
 bartbania.com: did not receive HSTS header
 barunisystems.com: could not connect to host
 bashcode.ninja: could not connect to host
 basicsolutionsus.com: could not connect to host
@@ -3908,22 +3897,23 @@ bigshinylock.minazo.net: could not conne
 biguixhe.net: could not connect to host
 bijouxdegriffe.com.br: could not connect to host
 bijugeral.com.br: could not connect to host
 bikelifetvkidsquads.co.uk: did not receive HSTS header
 bikermusic.net: could not connect to host
 bildiri.ci: did not receive HSTS header
 biletua.de: could not connect to host
 biletyplus.ru: did not receive HSTS header
+billdestler.com: did not receive HSTS header
 billigssl.dk: did not receive HSTS header
 billin.net: did not receive HSTS header
 billkiss.com: could not connect to host
 billninja.com: did not receive HSTS header
 billrusling.com: could not connect to host
-bimbo.com: max-age too low: 86400
+bimbo.com: did not receive HSTS header
 bimbo.com.ar: max-age too low: 86400
 bimbobakeriesusa.com: max-age too low: 86400
 binaryfigments.com: max-age too low: 86400
 binderapp.net: could not connect to host
 binfind.com: did not receive HSTS header
 bingcheung.org: did not receive HSTS header
 bioespuna.eu: did not receive HSTS header
 biofam.ru: did not receive HSTS header
@@ -3958,34 +3948,16 @@ bitsafe.systems: did not receive HSTS he
 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
 bizpare.com: did not receive HSTS header
 bizzartech.com: did not receive HSTS header
 bizzybeebouncers.co.uk: did not receive HSTS header
 bkb-skandal.ch: could not connect to host
-blablacar.co.uk: did not receive HSTS header
-blablacar.com: did not receive HSTS header
-blablacar.com.tr: did not receive HSTS header
-blablacar.com.ua: did not receive HSTS header
-blablacar.de: did not receive HSTS header
-blablacar.es: did not receive HSTS header
-blablacar.fr: did not receive HSTS header
-blablacar.hr: did not receive HSTS header
-blablacar.hu: did not receive HSTS header
-blablacar.in: did not receive HSTS header
-blablacar.it: did not receive HSTS header
-blablacar.mx: did not receive HSTS header
-blablacar.nl: did not receive HSTS header
-blablacar.pl: did not receive HSTS header
-blablacar.pt: did not receive HSTS header
-blablacar.ro: did not receive HSTS header
-blablacar.rs: did not receive HSTS header
-blablacar.ru: did not receive HSTS header
 black-armada.com: could not connect to host
 black-armada.com.pl: could not connect to host
 black-armada.pl: could not connect to host
 black-octopus.ru: could not connect to host
 blackburn.link: could not connect to host
 blacklane.com: did not receive HSTS header
 blackly.uk: max-age too low: 0
 blackmonday.gr: did not receive HSTS header
@@ -4011,28 +3983,26 @@ blogdieconomia.it: did not receive HSTS 
 blogdimoda.com: did not receive HSTS header
 blogdimotori.it: did not receive HSTS header
 bloglife-bb.com: did not receive HSTS header
 bloglikepro.com: could not connect to host
 blognone.com: did not receive HSTS header
 blogonblogspot.com: did not receive HSTS header
 blok56.nl: did not receive HSTS header
 blokuhaka.fr: did not receive HSTS header
-bloodyexcellent.com: did not receive HSTS header
 bloomnbud.com: did not receive HSTS header
 bloomzoomy.ru: max-age too low: 172800
 blowjs.com: could not connect to host
 bls-fiduciaire.be: did not receive HSTS header
 bltc.co: could not connect to host
 blubbablasen.de: could not connect to host
 blucas.org: did not receive HSTS header
 blue17.co.uk: did not receive HSTS header
 bluebill.net: did not receive HSTS header
 bluecon.eu: did not receive HSTS header
-bluefrag.com: did not receive HSTS header
 blueglobalmedia.com: could not connect to host
 blueliv.com: did not receive HSTS header
 bluescloud.xyz: could not connect to host
 bluetenmeer.com: did not receive HSTS header
 bluketing.com: did not receive HSTS header
 bluserv.net: could not connect to host
 bluteklab.com: did not receive HSTS header
 blutroyal.de: could not connect to host
@@ -4050,27 +4020,28 @@ bohaishibei.com: did not receive HSTS he
 bohan.life: could not connect to host
 bohramt.de: did not receive HSTS header
 boiadeirodeberna.com: could not connect to host
 bokeyy.com: could not connect to host
 boltdata.io: could not connect to host
 bolwerk.com.br: did not receive HSTS header
 bonapp.restaurant: could not connect to host
 boneko.de: could not connect to host
-bonibuty.com: did not receive HSTS header
 bonitabrazilian.co.nz: did not receive HSTS header
 bonnin.fr: did not receive HSTS header
 bonop.com: did not receive HSTS header
 bonta.one: did not receive HSTS header
 bonus-flexi.com: did not receive HSTS header
 book-of-ra.de: did not receive HSTS header
 bookcelerator.com: did not receive HSTS header
 booked.holiday: could not connect to host
 bookofraonlinecasinos.com: could not connect to host
 boomerang.com: did not receive HSTS header
+boomsaki.com: did not receive HSTS header
+boomsakis.com: did not receive HSTS header
 boosterlearnpro.com: did not receive HSTS header
 booth.in.th: could not connect to host
 bootikexpress.fr: did not receive HSTS header
 borderlinegroup.com: could not connect to host
 boringsecurity.net: could not connect to host
 boris.one: did not receive HSTS header
 borisavstankovic.rs: could not connect to host
 borrelioz.com: did not receive HSTS header
@@ -4364,16 +4335,17 @@ cdndepo.com: could not connect to host
 cdreporting.co.uk: did not receive HSTS header
 cdt.org: did not receive HSTS header
 ce-agentur.de: did not receive HSTS header
 cecilwalker.com.au: did not receive HSTS header
 celeirorural.com.br: did not receive HSTS header
 celina-reads.de: could not connect to host
 cellsites.nz: could not connect to host
 centennialrewards.com: did not receive HSTS header
+centerforpolicy.org: did not receive HSTS header
 centralpoint.be: did not receive HSTS header
 centralpoint.nl: did not receive HSTS header
 centralvacsunlimited.net: did not receive HSTS header
 centralync.com: could not connect to host
 centrepoint-community.com: could not connect to host
 centrolavoro.org: did not receive HSTS header
 centsforchange.net: could not connect to host
 ceresia.ch: could not connect to host
@@ -4651,16 +4623,17 @@ compalytics.com: could not connect to ho
 comparamejor.com: did not receive HSTS header
 compareandrecycle.co.uk: did not receive HSTS header
 comparejewelleryprices.co.uk: could not connect to host
 comparetravelinsurance.com.au: did not receive HSTS header
 compassionate-biology.com: could not connect to host
 compiledworks.com: could not connect to host
 completesportperformance.com: did not receive HSTS header
 completionist.audio: could not connect to host
+completionist.me: did not receive HSTS header
 complymd.com: did not receive HSTS header
 compucorner.com.mx: could not connect to host
 computertal.de: could not connect to host
 comyuno.com: did not receive HSTS header
 concentrade.de: did not receive HSTS header
 concerts-metal.ch: did not receive HSTS header
 concord-group.co.jp: did not receive HSTS header
 concretehermit.com: did not receive HSTS header
@@ -4889,17 +4862,16 @@ dane-bre.net: max-age too low: 172800
 daniel-mosquera.com: could not connect to host
 daniel-seifert.com: max-age too low: 600000
 daniel-steuer.de: could not connect to host
 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
 danielkratz.com: max-age too low: 172800
-danielmoch.com: 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
 dankeblog.com: could not connect to host
 danmark.guide: 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
@@ -5108,16 +5080,17 @@ dingcc.me: could not connect to host
 dingcc.org: did not receive HSTS header
 dingcc.xyz: could not connect to host
 dinkum.online: could not connect to host
 dino.li: max-age too low: 172800
 dipconsultants.com: could not connect to host
 direct2uk.com: did not receive HSTS header
 directhskincream.com: could not connect to host
 directorinegocis.cat: could not connect to host
+directtwosolutions.org: did not receive HSTS header
 direnv.net: did not receive HSTS header
 dirk-weise.de: did not receive HSTS header
 discovery.lookout.com: did not receive HSTS header
 discoveryottawa.ca: could not connect to host
 disking.co.uk: did not receive HSTS header
 dislocated.de: did not receive HSTS header
 disorderboutique.com: did not receive HSTS header
 disruptivelabs.net: could not connect to host
@@ -5136,17 +5109,17 @@ diyvideoeditor.com: did not receive HSTS
 dizihocasi.com: could not connect to host
 dizorg.net: could not connect to host
 dj4et.de: could not connect to host
 djxmmx.net: did not receive HSTS header
 djz4music.com: did not receive HSTS header
 dkniss.de: could not connect to host
 dlc.viasinc.com: could not connect to host
 dlemper.de: did not receive HSTS header
-dmarketer.com: did not receive HSTS header
+dmarketer.com: could not connect to host
 dmcibulldog.com: did not receive HSTS header
 dmdre.com: did not receive HSTS header
 dmix.ca: could not connect to host
 dmtry.me: did not receive HSTS header
 dmwall.cn: did not receive HSTS header
 dmz.ninja: could not connect to host
 dnsbird.net: could not connect to host
 dnscrypt.org: max-age too low: 0
@@ -5180,16 +5153,17 @@ domaine-aigoual-cevennes.com: did not re
 domainelaremejeanne.com: did not receive HSTS header
 domaris.de: did not receive HSTS header
 domenicocatelli.com: did not receive HSTS header
 dominikanskarepubliken.guide: could not connect to host
 dominioanimal.com: could not connect to host
 dominique-mueller.de: did not receive HSTS header
 don.yokohama: could not connect to host
 donateway.com: did not receive HSTS header
+donhoward.org: did not receive HSTS header
 donmez.uk: could not connect to host
 donmez.ws: could not connect to host
 donsbach-edv.de: did not receive HSTS header
 donttrustrobots.nl: could not connect to host
 donzelot.co.uk: did not receive HSTS header
 doobydude.us: could not connect to host
 doodledraw.ninja: did not receive HSTS header
 dooku.cz: could not connect to host
@@ -5280,24 +5254,24 @@ ds-christiansen.de: could not connect to
 dshiv.io: could not connect to host
 dtub.co: could not connect to host
 dubik.su: did not receive HSTS header
 ducohosting.com: max-age too low: 2592000
 dudesunderwear.com.br: could not connect to host
 duelysthub.com: could not connect to host
 dukec.me: did not receive HSTS header
 dukefox.com: did not receive HSTS header
+duks.com.br: did not receive HSTS header
 dullsir.com: did not receive HSTS header
 dunashoes.com: could not connect to host
 dune.io: did not receive HSTS header
 dunea.nl: did not receive HSTS header
 duole30.com: did not receive HSTS header
 duongpho.com: did not receive HSTS header
 duskopy.top: could not connect to host
-dutchessuganda.com: did not receive HSTS header
 dutchrank.com: did not receive HSTS header
 dutyfreeonboard.com: did not receive HSTS header
 duuu.ch: could not connect to host
 duyao.de: max-age too low: 86400
 dv189.com: did not receive HSTS header
 dycem-ns.com: did not receive HSTS header
 dycontrol.de: could not connect to host
 dylanscott.com.au: did not receive HSTS header
@@ -5368,29 +5342,30 @@ edelblack.ch: could not connect to host
 edelsteincosmetic.com: did not receive HSTS header
 eden-mobility.co.uk: did not receive HSTS header
 eden-noel.at: could not connect to host
 edenaya.com: could not connect to host
 edgereinvent.com: did not receive HSTS header
 edhrealtor.com: did not receive HSTS header
 edilservizi.it: did not receive HSTS header
 edilservizivco.it: did not receive HSTS header
-ediscomp.sk: could not connect to host
-edissecurity.sk: could not connect to host
+ediscomp.sk: did not receive HSTS header
+edissecurity.sk: did not receive HSTS header
 edited.de: 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
 edpubs.gov: did not receive HSTS header
 edsh.de: did not receive HSTS header
 educaid.be: did not receive HSTS header
 educatio.tech: could not connect to host
 educatweb.de: did not receive HSTS header
 educourse.ga: could not connect to host
 eduvance.in: did not receive HSTS header
+edzilla.info: did not receive HSTS header
 eengezinswoning-in-alphen-aan-den-rijn-kopen.nl: could not connect to host
 eengezinswoning-in-de-friese-meren-kopen.nl: could not connect to host
 eengezinswoning-in-friesland-kopen.nl: could not connect to host
 eengezinswoning-in-leeuwarden-kopen.nl: could not connect to host
 eengezinswoning-in-pekela-kopen.nl: could not connect to host
 eengezinswoning-in-rijnwaarden-kopen.nl: could not connect to host
 eengezinswoning-in-sudwest-fryslan-kopen.nl: could not connect to host
 eengezinswoning-in-zeeland-kopen.nl: could not connect to host
@@ -5661,17 +5636,17 @@ extratorrentlive.xyz: could not connect 
 extratorrents.tech: could not connect to host
 extreemhost.nl: did not receive HSTS header
 extremenetworking.net: could not connect to host
 exy.pw: could not connect to host
 eyasc.nl: could not connect to host
 eye-carat.com: did not receive HSTS header
 eyedarts.com: did not receive HSTS header
 eyeglassuniverse.com: did not receive HSTS header
-eyes-of-universe.eu: did not receive HSTS header
+eyes-of-universe.eu: could not connect to host
 eyesoccer-didikh.rhcloud.com: could not connect to host
 eyesonly.cc: did not receive HSTS header
 ez.fi: could not connect to host
 ezimoeko.net: could not connect to host
 ezmod.org: could not connect to host
 ezrefurb.co.uk: did not receive HSTS header
 eztv.ch: did not receive HSTS header
 f-rickroll-g.pw: could not connect to host
@@ -5698,17 +5673,16 @@ faircom.co.za: did not receive HSTS head
 fairkey.dk: did not receive HSTS header
 fairlyoddtreasures.com: did not receive HSTS header
 faizan.net: did not receive HSTS header
 faizan.xyz: did not receive HSTS header
 fakeletters.org: did not receive HSTS header
 faktura.pl: did not receive HSTS header
 falcibiosystems.org: did not receive HSTS header
 falconwiz.com: did not receive HSTS header
-falkhusemann.de: did not receive HSTS header
 falkp.no: did not receive HSTS header
 fallenangelspirits.uk: could not connect to host
 faluninfo.ba: did not receive HSTS header
 fame-agency.net: 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
 fanboi.ch: did not receive HSTS header
@@ -5765,16 +5739,17 @@ fensdorf.de: did not receive HSTS header
 fenteo.com: could not connect to host
 feragon.net: did not receive HSTS header
 feriahuamantla.com: could not connect to host
 fernangp.com: did not receive HSTS header
 fernseher-kauf.de: could not connect to host
 ferrolatino.com: could not connect to host
 feschiyan.com: did not receive HSTS header
 festember.com: did not receive HSTS header
+festival.house: did not receive HSTS header
 festrip.com: could not connect to host
 fettbrot.tk: did not receive HSTS header
 fexmen.com: could not connect to host
 fgequipamentos.com.br: did not receive HSTS header
 fics-twosigma.com: could not connect to host
 fideleslaici.com: did not receive HSTS header
 fieldtalk.co.uk: could not connect to host
 fiendishmasterplan.com: did not receive HSTS header
@@ -5831,24 +5806,24 @@ fitfitup.com: did not receive HSTS heade
 fitiapp.com: could not connect to host
 fitnesswerk.de: could not connect to host
 fitshop.com.br: could not connect to host
 fitsw.com: did not receive HSTS header
 five.vn: did not receive HSTS header
 fivestarsitters.com: did not receive HSTS header
 fivestepfunnels.com: could not connect to host
 fivezerocreative.com: did not receive HSTS header
-fixate.ru: max-age too low: 3153600
+fixate.ru: could not connect to host
 fixico-staging.nl: could not connect to host
 fixingdns.com: could not connect to host
 fixtectools.co.za: could not connect to host
 fjruiz.es: could not connect to host
 fkcovering.be: could not connect to host
-fl0000.com: did not receive HSTS header
-fl010.com: did not receive HSTS header
+fl0000.com: max-age too low: 3600
+fl010.com: max-age too low: 3600
 fl0111.com: did not receive HSTS header
 fl0222.com: did not receive HSTS header
 fl0333.com: did not receive HSTS header
 fl0555.com: did not receive HSTS header
 fl0666.com: did not receive HSTS header
 fl0777.com: did not receive HSTS header
 fl0888.com: did not receive HSTS header
 fl0999.com: did not receive HSTS header
@@ -5856,17 +5831,17 @@ flags.ninja: could not connect to host
 flairbros.at: could not connect to host
 flajshans.cz: did not receive HSTS header
 flamewall.net: could not connect to host
 flamingkeys.com.au: could not connect to host
 flareon.net: could not connect to host
 flatbellyreview.com: max-age too low: 2592000
 flawcheck.com: could not connect to host
 flc111.com: did not receive HSTS header
-flc999.com: did not receive HSTS header
+flc999.com: max-age too low: 3600
 fleursdesoleil.fr: did not receive HSTS header
 fliexer.com: could not connect to host
 flipbell.com: did not receive HSTS header
 flipkey.com: did not receive HSTS header
 flirchi.com: could not connect to host
 flirtycourts.com: did not receive HSTS header
 flixtor.net: could not connect to host
 floless.co.uk: did not receive HSTS header
@@ -5926,17 +5901,17 @@ forex-dan.com: did not receive HSTS head
 forgix.com: could not connect to host
 forlagetmarx.dk: did not receive HSTS header
 formazioneopen.it: could not connect to host
 formersessalaries.com: did not receive HSTS header
 formula.cf: could not connect to host
 forplanetsake.com: could not connect to host
 forty2.eu: did not receive HSTS header
 forus.be: could not connect to host
-foryoucosmeticos.com.br: did not receive HSTS header
+foryoucosmeticos.com.br: could not connect to host
 fossewaygardencentre.co.uk: did not receive HSTS header
 fotiu.com: could not connect to host
 fotoallerlei.com: did not receive HSTS header
 fotocerita.net: could not connect to host
 fotogiraffe.ru: did not receive HSTS header
 fotografosexpertos.com: did not receive HSTS header
 fotopasja.info: could not connect to host
 fourchin.net: could not connect to host
@@ -6001,17 +5976,17 @@ ftc.gov: did not receive HSTS header
 ftctele.com: could not connect to host
 fteproxy.org: did not receive HSTS header
 ftpi.ml: could not connect to host
 fuckbilibili.com: could not connect to host
 fuckgfw233.org: could not connect to host
 fudanshi.org: could not connect to host
 fukuoka-cityliner.jp: did not receive HSTS header
 fukushima-web.com: did not receive HSTS header
-fuli.am: did not receive HSTS header
+fuli.am: max-age too low: 3600
 fulilingyu.info: could not connect to host
 fuliydys.com: did not receive HSTS header
 fullytrained.co.uk: did not receive HSTS header
 fumiware.com: could not connect to host
 funarena.com.ua: could not connect to host
 fundacionhijosdelsol.org: could not connect to host
 funderburg.me: max-age too low: 2592000
 fungame.eu: did not receive HSTS header
@@ -6074,18 +6049,17 @@ gamehacks.me: could not connect to host
 gameink.net: could not connect to host
 gamek.es: could not connect to host
 gamenected.com: could not connect to host
 gamenected.de: could not connect to host
 gamepad.vg: could not connect to host
 gamepader.com: could not connect to host
 gameparade.de: could not connect to host
 gameparagon.info: could not connect to host
-gamepiece.com: could not connect to host
-gamerpoets.com: did not receive HSTS header
+gamepiece.com: did not receive HSTS header
 gamers-life.fr: could not connect to host
 gamerslair.org: did not receive HSTS header
 gamerz-point.de: could not connect to host
 gamesdepartment.co.uk: could not connect to host
 gameserver-sponsor.de: did not receive HSTS header
 gamesurferapp.com: could not connect to host
 gamingmedia.eu: did not receive HSTS header
 gamoice.com: did not receive HSTS header
@@ -6210,16 +6184,17 @@ git-stuff.tk: could not connect to host
 givemyanswer.com: could not connect to host
 giverang.biz: did not receive HSTS header
 giverang.com: could not connect to host
 gizzo.sk: could not connect to host
 gladystudio.com: did not receive HSTS header
 glasslikes.com: did not receive HSTS header
 glbg.eu: did not receive HSTS header
 glentakahashi.com: could not connect to host
+glittersjabloon.nl: did not receive HSTS header
 glitzmirror.com: could not connect to host
 globalado.com: could not connect to host
 globalbridge-japan.com: did not receive HSTS header
 globalexpert.co.nz: could not connect to host
 globalinsights.xyz: could not connect to host
 globalittech.com: could not connect to host
 globalmusic.ga: could not connect to host
 globalsites.nl: did not receive HSTS header
@@ -6348,17 +6323,17 @@ grow-shop.lv: could not connect to host
 grozip.com: did not receive HSTS header
 grunex.com: did not receive HSTS header
 grupopgn.com.br: could not connect to host
 gryffin.ga: could not connect to host
 gryffin.ml: could not connect to host
 gryffin.tk: could not connect to host
 gsm-map.com: could not connect to host
 gsnort.com: did not receive HSTS header
-gta5voice.net: did not receive HSTS header
+gta5voice.net: could not connect to host
 gtamodshop.org: could not connect to host
 gtanda.tk: could not connect to host
 gtech.work: did not receive HSTS header
 gtldna.com: could not connect to host
 gtlfsonlinepay.com: did not receive HSTS header
 gtraxapp.com: could not connect to host
 gts-schulsoftware.de: did not receive HSTS header
 guarajubaimoveis.com.br: did not receive HSTS header
@@ -6618,17 +6593,16 @@ hochzeitshelferlein.de: did not receive 
 hodamakade.com: could not connect to host
 hodne.io: could not connect to host
 hoekwoningverkopen.nl: could not connect to host
 hoerbuecher-und-hoerspiele.de: could not connect to host
 hofiprojekt.cz: did not receive HSTS header
 hogar123.es: could not connect to host
 hoiku-map.tokyo: could not connect to host
 hoiku-navi.com: did not receive HSTS header
-hoiquanadida.com: could not connect to host
 holgerlehner.com: could not connect to host
 holifestival-freyung.de: could not connect to host
 holymoly.lu: could not connect to host
 homads.com: did not receive HSTS header
 home-coaching.be: did not receive HSTS header
 homeandyarddetailing.com: could not connect to host
 homeclouding.de: could not connect to host
 homedna.com: did not receive HSTS header
@@ -6649,17 +6623,16 @@ hoorr.com: did not receive HSTS header
 hoovism.com: did not receive HSTS header
 hopewellproperties.co.uk: did not receive HSTS header
 horizonmoto.fr: did not receive HSTS header
 horning.co: did not receive HSTS header
 horosho.in: could not connect to host
 horseboners.xxx: did not receive HSTS header
 hortifarm.ro: did not receive HSTS header
 horvathtom.com: could not connect to host
-hosteasy.nl: did not receive HSTS header
 hostelite.com: did not receive HSTS header
 hostfuture.co.in: did not receive HSTS header
 hostgarou.com: did not receive HSTS header
 hostinaus.com.au: did not receive HSTS header
 hostingfj.com: could not connect to host
 hostisan.com: could not connect to host
 hostworkz.com: did not receive HSTS header
 hotartup.com: could not connect to host
@@ -6786,31 +6759,32 @@ ierna.com: did not receive HSTS header
 ies-italia.it: did not receive HSTS header
 ies.id.lv: could not connect to host
 ievgenialehner.com: did not receive HSTS header
 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
 ifxor.com: did not receive HSTS header
+igd.chat: did not receive HSTS header
 igforums.com: could not connect to host
 igi.codes: did not receive HSTS header
 igiftcards.nl: did not receive HSTS header
 ignatisd.gr: did not receive HSTS header
 igule.net: could not connect to host
 ihotel.io: did not receive HSTS header
 ihrlotto.de: could not connect to host
 ihrnationalrat.ch: could not connect to host
 ihsbsd.me: could not connect to host
 ihsbsd.tk: could not connect to host
 iispeed.com: did not receive HSTS header
 iix.se: did not receive HSTS header
 ijn-dd.nl: could not connect to host
 ijoda.com: could not connect to host
-ikocik.sk: did not receive HSTS header
+ikocik.sk: could not connect to host
 ikon.name: did not receive HSTS header
 ikwilguidobellen.nl: could not connect to host
 ikzoekjeugdhulp.nl: did not receive HSTS header
 ilbuongiorno.it: did not receive HSTS header
 ildomani.it: did not receive HSTS header
 ilemonrain.com: did not receive HSTS header
 ilgi.work: could not connect to host
 ilhansubasi.com: did not receive HSTS header
@@ -7347,17 +7321,17 @@ kaketalk.com: did not receive HSTS heade
 kalami.nl: could not connect to host
 kaleidomarketing.com: did not receive HSTS header
 kambodja.guide: could not connect to host
 kamcvicit.sk: could not connect to host
 kamikano.com: could not connect to host
 kanaanonline.org: max-age too low: 86400
 kanada.guide: could not connect to host
 kaneo-gmbh.de: did not receive HSTS header
-kaniklani.co.za: could not connect to host
+kaniklani.co.za: did not receive HSTS header
 kanr.in: could not connect to host
 kanscooking.org: could not connect to host
 kany.me: did not receive HSTS header
 kanzlei-wirtschaftsrecht.berlin: max-age too low: 600000
 kaohub.com: could not connect to host
 kaomojis.net: did not receive HSTS header
 kaplatz.is: could not connect to host
 kapucini.si: max-age too low: 0
@@ -7385,17 +7359,17 @@ kazenojiyu.fr: did not receive HSTS head
 kcluster.io: could not connect to host
 kd-plus.pp.ua: could not connect to host
 kdata.it: did not receive HSTS header
 kdbx.online: could not connect to host
 kdm-online.de: did not receive HSTS header
 keeley.gq: could not connect to host
 keeley.ml: could not connect to host
 keeleysam.me: could not connect to host
-keepaa.com: could not connect to host
+keepaa.com: did not receive HSTS header
 keepassa.co: did not receive HSTS header
 keepclean.me: could not connect to host
 keepcoalintheground.org: could not connect to host
 keepflow.io: did not receive HSTS header
 kefaloniatoday.com: did not receive HSTS header
 keihin-chaplin.jp: did not receive HSTS header
 kela.jp: did not receive HSTS header
 ken-electric.com.br: could not connect to host
@@ -7636,17 +7610,16 @@ land-links.org: did not receive HSTS hea
 landbetweenthelakes.us: did not receive HSTS header
 landgoedverkopen.nl: could not connect to host
 landhuisverkopen.nl: could not connect to host
 landscape.canonical.com: max-age too low: 2592000
 landscapingmedic.com: did not receive HSTS header
 langenbach.rocks: could not connect to host
 langendries.eu: could not connect to host
 langhun.me: did not receive HSTS header
-laniakean.com: did not receive HSTS header
 lansinoh.co.uk: did not receive HSTS header
 lanzainc.xyz: did not receive HSTS header
 laobox.fr: could not connect to host
 laospage.com: did not receive HSTS header
 laplaceduvillage.net: could not connect to host
 laquack.com: did not receive HSTS header
 laredsemanario.com: could not connect to host
 lasepiataca.com: did not receive HSTS header
@@ -7731,17 +7704,17 @@ letitfly.me: could not connect to host
 letras.mus.br: did not receive HSTS header
 letsmultiplayerplay.com: did not receive HSTS header
 letstox.com: could not connect to host
 letustravel.tk: could not connect to host
 levatc.tk: did not receive HSTS header
 level-10.net: could not connect to host
 levelum.com: did not receive HSTS header
 levert.ch: could not connect to host
-lewisjuggins.co.uk: did not receive HSTS header
+lewisjuggins.co.uk: could not connect to host
 lexpierce.social: could not connect to host
 lez-cuties.com: could not connect to host
 lfullerdesign.com: could not connect to host
 lg21.co: could not connect to host
 lgiswa.com.au: did not receive HSTS header
 lgrs.com.au: did not receive HSTS header
 lgts.se: could not connect to host
 lheinrich.com: did not receive HSTS header
@@ -7808,33 +7781,31 @@ linorman1997.me: could not connect to ho
 linux-mint.cz: could not connect to host
 linuxandstuff.de: could not connect to host
 linuxeyecandy.com: could not connect to host
 linuxfixed.it: could not connect to host
 linuxforyou.com: could not connect to host
 linuxgeek.ro: could not connect to host
 linuxmint.cz: could not connect to host
 linuxmonitoring.net: did not receive HSTS header
-lipo.lol: did not receive HSTS header
 liquid.solutions: did not receive HSTS header
 liquorsanthe.in: could not connect to host
 lisaco.de: could not connect to host
 lisbongold.com: did not receive HSTS header
 lisgade.dk: 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
 littlefreelibrary.org: did not receive HSTS header
 littlelife.co.uk: did not receive HSTS header
 liujunyang.com: did not receive HSTS header
 livedemo.io: could not connect to host
 livej.am: could not connect to host
 liverewrite.com: could not connect to host
-livesearch-fukuoka.com: did not receive HSTS header
 liviababynet.com.br: could not connect to host
 livinghealthywithchocolate.com: did not receive HSTS header
 livrariahugodesaovitor.com.br: did not receive HSTS header
 lixiang.one: could not connect to host
 lixingcong.com: could not connect to host
 lkp111138.me: could not connect to host
 llamasweet.tech: could not connect to host
 loacg.com: did not receive HSTS header
@@ -7866,16 +7837,17 @@ loisircreatif.net: did not receive HSTS 
 lojadocristaozinho.com.br: did not receive HSTS header
 lojashowdecozinha.com.br: could not connect to host
 lojasviavento.com.br: could not connect to host
 lojavalcapelli.com.br: could not connect to host
 loli.bz: did not receive HSTS header
 loli.ski: did not receive HSTS header
 lolicore.ch: could not connect to host
 lolidunno.com: could not connect to host
+lollaconcept.com.br: did not receive HSTS header
 loma.ml: 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
 lookatmysco.re: did not receive HSTS header
 lookout.com: did not receive HSTS header
@@ -8060,17 +8032,17 @@ manns-solutions.ru: did not receive HSTS
 mannsolutions.co.uk: did not receive HSTS header
 mansfieldplacevt.com: did not receive HSTS header
 manshop24.com: could not connect to host
 mansion-note.com: did not receive HSTS header
 manududu.com.br: could not connect to host
 maomaofuli.vip: could not connect to host
 maosi.xin: could not connect to host
 maple5.com: could not connect to host
-maplenorth.co: could not connect to host
+maplenorth.co: did not receive HSTS header
 mapresidentielle.fr: could not connect to host
 marcelparra.com: could not connect to host
 marchagen.nl: did not receive HSTS header
 marchhappy.tech: did not receive HSTS header
 marco01809.net: could not connect to host
 marcoececilia.it: could not connect to host
 marcofinke.de: could not connect to host
 marcontrol.com: did not receive HSTS header
@@ -8183,17 +8155,16 @@ mccarty.io: could not connect to host
 mcdonalds.ru: did not receive HSTS header
 mcga.media: could not connect to host
 mclab.su: max-age too low: 2592000
 mclist.it: could not connect to host
 mcmillansedationdentistry.com: did not receive HSTS header
 mcooperlaw.com: did not receive HSTS header
 mcuexchange.com: did not receive HSTS header
 mdfnet.se: did not receive HSTS header
-mdkr.nl: did not receive HSTS header
 mdscomp.net: did not receive HSTS header
 meadowfenfarm.com: could not connect to host
 meat-education.com: could not connect to host
 mebio.us: could not connect to host
 mecenat-cassous.com: did not receive HSTS header
 mechmk1.me: did not receive HSTS header
 medallia.io: could not connect to host
 media-access.online: did not receive HSTS header
@@ -8461,16 +8432,17 @@ monautoneuve.fr: did not receive HSTS he
 mondar.io: could not connect to host
 mondopoint.com: did not receive HSTS header
 mondwandler.de: could not connect to host
 moneromerchant.com: could not connect to host
 moneycrownmedia.com: could not connect to host
 monika-sokol.de: could not connect to host
 monitaure.io: could not connect to host
 monitman.com: could not connect to host
+monotsuku.com: max-age too low: 0
 montanacures.org: could not connect to host
 montonicms.com: could not connect to host
 moon.lc: could not connect to host
 moonchart.co.uk: did not receive HSTS header
 moonless.net: could not connect to host
 moonloupe.com: could not connect to host
 moonysbouncycastles.co.uk: did not receive HSTS header
 moosemanstudios.com: could not connect to host
@@ -8686,17 +8658,16 @@ natuurbehangnederland.nl: could not conn
 nauck.org: did not receive HSTS header
 naudles.me: could not connect to host
 nav.jobs: could not connect to host
 naval.tf: could not connect to host
 navjobs.com: did not receive HSTS header
 nbb.io: could not connect to host
 nbg-ha.de: could not connect to host
 ncc60205.info: could not connect to host
-nchristo.com: did not receive HSTS header
 ncpc.gov: could not connect to host
 ncpw.gov: did not receive HSTS header
 nct.org.uk: did not receive HSTS header
 nctx.co.uk: did not receive HSTS header
 ndtmarket.place: could not connect to host
 ne1home.dyndns.org: did not receive HSTS header
 near.st: did not receive HSTS header
 nearbiwa.com: did not receive HSTS header
@@ -8729,17 +8700,16 @@ netbox.cc: could not connect to host
 netbrief.ml: could not connect to host
 netfs.pl: did not receive HSTS header
 netherwind.eu: did not receive HSTS header
 netlilo.com: could not connect to host
 netloanusa.com: could not connect to host
 netmagik.com: did not receive HSTS header
 netprofile.com.au: could not connect to host
 netresourcedesign.com: could not connect to host
-netsafeid.biz: did not receive HSTS header
 netsparkercloud.com: did not receive HSTS header
 nettefoundation.com: could not connect to host
 netweaver.uk: did not receive HSTS header
 networx-online.de: could not connect to host
 netzbit.de: could not connect to host
 netzpolitik.org: max-age too low: 2592000
 netztest.at: did not receive HSTS header
 netzvieh.de: did not receive HSTS header
@@ -8855,25 +8825,25 @@ nordiccasinocommunity.com: did not recei
 nordlicht.photography: did not receive HSTS header
 norge.guide: could not connect to host
 northcutt.com: did not receive HSTS header
 northernpage.com: did not receive HSTS header
 northpennvwparts.com: max-age too low: 300
 northwest-events.co.uk: did not receive HSTS header
 nosecretshop.com: could not connect to host
 nostraspace.com: did not receive HSTS header
-notablog.xyz: did not receive HSTS header
+notablog.xyz: could not connect to host
 notadd.io: could not connect to host
 notarankastojkovic.me: could not connect to host
 notarobot.fr: did not receive HSTS header
 notenoughtime.de: could not connect to host
 nothing.net.nz: max-age too low: 7776000
 noticia.do: did not receive HSTS header
 notjustbitchy.com: did not receive HSTS header
-nottheonion.net: could not connect to host
+nottheonion.net: did not receive HSTS header
 nou.si: could not connect to host
 nouvelle-vague-saint-cast.fr: did not receive HSTS header
 nova-elearning.com: could not connect to host
 novaco.in: max-age too low: 3600
 novacraft.me: could not connect to host
 novaopcaofestas.com.br: could not connect to host
 novatrucking.de: could not connect to host
 novavoidhowl.com: did not receive HSTS header
@@ -8963,17 +8933,16 @@ odinkapital.no: did not receive HSTS hea
 odinoffice.no: did not receive HSTS header
 odysseyandco.com: could not connect to host
 odysseyconservationtrust.com: did not receive HSTS header
 oe8.bet: could not connect to host
 ofcourselanguages.com: could not connect to host
 ofer.site: could not connect to host
 offenedialoge.de: max-age too low: 2592000
 officeclub.com.mx: did not receive HSTS header
-officiants.wedding: did not receive HSTS header
 offshore-firma.org: could not connect to host
 offshore-unternehmen.com: could not connect to host
 offshorefirma-gruenden.com: could not connect to host
 offshoremarineparts.com: did not receive HSTS header
 oficinadocelular.com.br: could not connect to host
 ofo2.com: did not receive HSTS header
 oganek.ie: could not connect to host
 oganime.com: could not connect to host
@@ -9066,17 +9035,17 @@ open-to-repair.fr: max-age too low: 8640
 openas.org: could not connect to host
 openconcept.no: did not receive HSTS header
 opendesk.cc: did not receive HSTS header
 opengateway.fr: did not receive HSTS header
 openmind-shop.de: did not receive HSTS header
 openpriv.pw: could not connect to host
 openprovider.nl: did not receive HSTS header
 openrtv.com: did not receive HSTS header
-openshift.redhat.com: could not connect to host
+openshift.redhat.com: did not receive HSTS header
 opensourcedmind.eu: max-age too low: 172800
 opensourcehouse.net: could not connect to host
 openspace.xxx: did not receive HSTS header
 opensrd.com: could not connect to host
 openssf.org: did not receive HSTS header
 openxmpp.com: could not connect to host
 opiates.net: did not receive HSTS header
 opim.ca: did not receive HSTS header
@@ -9087,16 +9056,17 @@ opsbears.com: did not receive HSTS heade
 opstacks.com: did not receive HSTS header
 optenhoefel.de: could not connect to host
 optimal-e.com: did not receive HSTS header
 optimista.soy: could not connect to host
 optometriepunt.nl: did not receive HSTS header
 optumrxhealthstore.com: could not connect to host
 opunch.org: did not receive HSTS header
 oracaodocredo.com.br: could not connect to host
+oranic.com: did not receive HSTS header
 orbiosales.com: could not connect to host
 orbitcom.de: did not receive HSTS header
 orbograph-hrcm.com: could not connect to host
 order.one: could not connect to host
 ordereat.fr: could not connect to host
 orderlounge.de: did not receive HSTS header
 oregonmu.org: did not receive HSTS header
 organic-superfood.net: could not connect to host
@@ -9322,17 +9292,16 @@ personalizedtouch.co: could not connect 
 perthdevicelab.com: did not receive HSTS header
 pestalozzishop.com.br: could not connect to host
 pet-nsk.ru: could not connect to host
 petbooking.it: did not receive HSTS header
 petchart.net: could not connect to host
 peterkshultz.com: did not receive HSTS header
 peternagy.ie: did not receive HSTS header
 petersmark.com: did not receive HSTS header
-pethelpers.org: did not receive HSTS header
 pethub.com: did not receive HSTS header
 petit.site: could not connect to host
 petplum.com: could not connect to host
 petravdbos.nl: did not receive HSTS header
 petrkrapek.cz: did not receive HSTS header
 petrolplus.ru: max-age too low: 7776000
 petrovsky.pro: could not connect to host
 petsittersservices.com: could not connect to host
@@ -9359,17 +9328,16 @@ philpropertygroup.com: could not connect
 phoebe.co.nz: did not receive HSTS header
 phoenicis.com.ua: did not receive HSTS header
 phonenumberinfo.co.uk: could not connect to host
 phongmay24h.com: could not connect to host
 phood.be: did not receive HSTS header
 photoblogverona.com: could not connect to host
 photoboothpartyhire.co.uk: did not receive HSTS header
 phototag.org: did not receive HSTS header
-phototrio.com: did not receive HSTS header
 php-bach.org: could not connect to host
 phperformances.fr: did not receive HSTS header
 phrasing.me: could not connect to host
 physicaltherapist.com: did not receive HSTS header
 pi-eng.fr: did not receive HSTS header
 pianetaottica.net: could not connect to host
 pianetaottica.org: could not connect to host
 pias-button.net: did not receive HSTS header
@@ -9438,17 +9406,17 @@ playmaker.io: could not connect to host
 playmaza.live: could not connect to host
 playnation.io: did not receive HSTS header
 pleasure.forsale: could not connect to host
 plfgr.eu.org: could not connect to host
 plhdb.org: did not receive HSTS header
 plirt.ru: could not connect to host
 plixer.com: did not receive HSTS header
 plogable.co: could not connect to host
-plombirator.kz: could not connect to host
+plombirator.kz: did not receive HSTS header
 plothost.com: did not receive HSTS header
 ploup.net: could not connect to host
 pluff.nl: did not receive HSTS header
 plus-digital.net: did not receive HSTS header
 plus-u.com.au: did not receive HSTS header
 plut.org: did not receive HSTS header
 plymouthsoftplay.co.uk: could not connect to host
 pm13-media.cz: could not connect to host
@@ -9551,17 +9519,18 @@ prettygrouse.com: did not receive HSTS h
 prettyphotoart.de: did not receive HSTS header
 pretzlaff.info: did not receive HSTS header
 preworkout.me: could not connect to host
 prgslab.net: could not connect to host
 pridoc.se: did not receive HSTS header
 prilock.com: did not receive HSTS header
 primecaplending.com: could not connect to host
 primotiles.co.uk: did not receive HSTS header
-prinbanat.ngo: could not connect to host
+prinbanat.ngo: did not receive HSTS header
+princesparktouch.com: did not receive HSTS header
 princessmargaretlotto.com: did not receive HSTS header
 printerest.io: could not connect to host
 printersonline.be: did not receive HSTS header
 printery.be: could not connect to host
 priolkar.com: did not receive HSTS header
 pristineevents.co.uk: did not receive HSTS header
 priva.si: max-age too low: 0
 privacylabs.io: did not receive HSTS header
@@ -9593,17 +9562,17 @@ projectdp.net: could not connect to host
 projectherogames.xyz: did not receive HSTS header
 projectmercury.space: could not connect to host
 projectvault.ovh: did not receive HSTS header
 projektik.cz: did not receive HSTS header
 projetoresecia.com: could not connect to host
 prolan.pw: did not receive HSTS header
 promarketer.net: did not receive HSTS header
 promecon-gmbh.de: did not receive HSTS header
-prontocleaners.co.uk: could not connect to host
+prontocleaners.co.uk: did not receive HSTS header
 prontolight.com: did not receive HSTS header
 prontomovers.co.uk: could not connect to host
 propactrading.com: could not connect to host
 proplan.co.il: did not receive HSTS header
 prosenseit.com: did not receive HSTS header
 prosoft.sk: did not receive HSTS header
 prosperident.com: did not receive HSTS header
 protecciondelconsumidor.gov: did not receive HSTS header
@@ -9627,16 +9596,18 @@ ps-x.ru: did not receive HSTS header
 psa.gov: did not receive HSTS header
 pscleaningsolutions.co.uk: could not connect to host
 pshostpk.com: did not receive HSTS header
 psicologia.co.ve: could not connect to host
 psicologoforensebarcelona.com: did not receive HSTS header
 pstudio.me: did not receive HSTS header
 psw.academy: could not connect to host
 psw.consulting: could not connect to host
+psylab.re: did not receive HSTS header
+psylab.vip: did not receive HSTS header
 ptn.moscow: could not connect to host
 ptonet.com: could not connect to host
 ptrujillo.com: did not receive HSTS header
 pubkey.is: could not connect to host
 publications.qld.gov.au: did not receive HSTS header
 publicidadnovagrass.com.mx: could not connect to host
 puentes.info: did not receive HSTS header
 pugliese.fr: could not connect to host
@@ -9809,21 +9780,20 @@ reagir43.fr: did not receive HSTS header
 realmic.net: could not connect to host
 realmofespionage.com: could not connect to host
 realraghavgupta.com: did not receive HSTS header
 reapdrive.net: did not receive HSTS header
 reaper.rip: could not connect to host
 reardenporn.com: could not connect to host
 rebekaesgabor.online: could not connect to host
 rebootmc.com: could not connect to host
-recetasdecocinaideal.com: max-age too low: 7776000
+recetasdecocinaideal.com: did not receive HSTS header
 rechat.com: did not receive HSTS header
 redair.es: could not connect to host
 redar.xyz: could not connect to host
-redcomet.org: did not receive HSTS header
 reddit.com: did not receive HSTS header
 rede.ca: did not receive HSTS header
 redhorsemountainranch.com: did not receive HSTS header
 redicabo.de: could not connect to host
 redirectman.com: did not receive HSTS header
 redlatam.org: could not connect to host
 redmbk.com: did not receive HSTS header
 redner.cc: did not receive HSTS header
@@ -9907,27 +9877,27 @@ returnofwar.com: could not connect to ho
 revapost.ch: could not connect to host
 revealdata.com: did not receive HSTS header
 revelaciones.tv: could not connect to host
 revello.org: did not receive HSTS header
 reverie.pw: could not connect to host
 review.info: did not receive HSTS header
 reviewbestseller.com: did not receive HSTS header
 reviewjust.com: did not receive HSTS header
-revistapequenosolhares.com.br: did not receive HSTS header
+revistapequenosolhares.com.br: could not connect to host
 revtut.net: could not connect to host
 rewardstock.com: max-age too low: 0
 rewopit.net: 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
 rhodosdreef.nl: could not connect to host
 riaucybersolution.net: did not receive HSTS header
 richiemail.net: could not connect to host
-richmondsunlight.com: did not receive HSTS header
+richmondsunlight.com: could not connect to host
 richsiciliano.com: could not connect to host
 richterphilipp.com: could not connect to host
 rid-wan.com: could not connect to host
 rideaudiscount.com: did not receive HSTS header
 rideforwade.com: could not connect to host
 rideforwade.net: could not connect to host
 rideforwade.org: could not connect to host
 rideworks.com: did not receive HSTS header
@@ -10033,16 +10003,17 @@ rubyshop.nl: max-age too low: 604800
 rudeotter.com: did not receive HSTS header
 rue-de-la-vieille.fr: max-age too low: 0
 rugirlfriend.com: could not connect to host
 rugs.ca: did not receive HSTS header
 rugstorene.co.uk: did not receive HSTS header
 ruig.jp: could not connect to host
 ruitershoponline.nl: did not receive HSTS header
 ruja.dk: did not receive HSTS header
+rumlager.de: max-age too low: 600000
 rumoterra.com.br: could not connect to host
 runawebinar.nl: could not connect to host
 runhardt.eu: did not receive HSTS header
 runtl.com: did not receive HSTS header
 runtondev.com: did not receive HSTS header
 ruqu.nl: could not connect to host
 rusadmin.biz: did not receive HSTS header
 ruska-modra.cz: did not receive HSTS header
@@ -10058,16 +10029,17 @@ rxt.social: could not connect to host
 rxv.cc: could not connect to host
 ryanteck.uk: did not receive HSTS header
 rylin.net: did not receive HSTS header
 ryssland.guide: could not connect to host
 s-d-v.ch: could not connect to host
 s-rickroll-p.pw: could not connect to host
 s.how: could not connect to host
 saabwa.org: could not connect to host
+sabatek.pl: did not receive HSTS header
 sabtunes.com: did not receive HSTS header
 safelist.eu: did not receive HSTS header
 safemovescheme.co.uk: could not connect to host
 safersurfing.eu: did not receive HSTS header
 safesecret.info: did not receive HSTS header
 safetyrisk.net: did not receive HSTS header
 safewings-nh.nl: could not connect to host
 safing.me: did not receive HSTS header
@@ -10112,17 +10084,17 @@ santorinibbs.com: did not receive HSTS h
 santouri.be: could not connect to host
 saotn.org: did not receive HSTS header
 sarah-beckett-harpist.com: did not receive HSTS header
 sarahsweetlife.com: could not connect to host
 sarahsweger.com: could not connect to host
 sarakas.com: could not connect to host
 saraleebread.com: max-age too low: 86400
 sarangsemutbandung.com: could not connect to host
-sarisonproductions.com: could not connect to host
+sarisonproductions.com: did not receive HSTS header
 sarkarischeme.in: could not connect to host
 saruwebshop.co.za: could not connect to host
 sat.rent: did not receive HSTS header
 satanichia.moe: could not connect to host
 satmep.com: did not receive HSTS header
 satoshicrypt.com: did not receive HSTS header
 satragreen.com: did not receive HSTS header
 satrent.com: did not receive HSTS header
@@ -10182,17 +10154,16 @@ scienceathome.org: did not receive HSTS 
 sciencebase.gov: did not receive HSTS header
 scivillage.com: did not receive HSTS header
 sckc.stream: could not connect to host
 sclgroup.cc: did not receive HSTS header
 scooshonline.co.uk: did not receive HSTS header
 scopea.fr: max-age too low: 0
 score-savers.com: max-age too low: 10540800
 scores4schools.com: could not connect to host
-scotbirchfield.com: did not receive HSTS header
 scottdial.com: did not receive HSTS header
 scottferguson.com.au: did not receive HSTS header
 scottnicol.co.uk: could not connect to host
 scourt.info: could not connect to host
 scourt.org.ua: could not connect to host
 scrambl.is: could not connect to host
 scramble.io: did not receive HSTS header
 scrambler.in: could not connect to host
@@ -10208,16 +10179,17 @@ scriptict.nl: could not connect to host
 scrollstory.com: did not receive HSTS header
 sdhmanagementgroup.com: could not connect to host
 sdia.ru: 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
 se7ensins.com: did not receive HSTS header
 seans.cc: did not receive HSTS header
+seanstrout.com: did not receive HSTS header
 seansyardservice.com: did not receive HSTS header
 searchgov.gov.il: did not receive HSTS header
 seavancouver.com: could not connect to host
 sebastian-bair.de: could not connect to host
 sebastianhampl.de: could not connect to host
 sebastianpedersen.com: did not receive HSTS header
 sebastiensenechal.com: did not receive HSTS header
 sebster.com: did not receive HSTS header
@@ -10231,22 +10203,23 @@ secondary-survivor.net: could not connec
 secondarysurvivor.help: could not connect to host
 secondarysurvivorportal.com: could not connect to host
 secondarysurvivorportal.help: could not connect to host
 secondbyte.nl: could not connect to host
 secondpay.nl: could not connect to host
 secondspace.ca: could not connect to host
 secretnation.net: did not receive HSTS header
 sectia22.ro: did not receive HSTS header
-secur3.us: could not connect to host
+secur3.us: did not receive HSTS header
 secure-games.us: could not connect to host
 secure.link: did not receive HSTS header
 securechat4.me: could not connect to host
 securedevelop.net: could not connect to host
 securefuture.nl: did not receive HSTS header
+secureideas.com: did not receive HSTS header
 secureradio.net: could not connect to host
 securesuisse.ch: could not connect to host
 securita.eu: did not receive HSTS header
 security-carpet.com: could not connect to host
 security-thoughts.org: could not connect to host
 securityarena.com: could not connect to host
 securitybsides.pl: did not receive HSTS header
 securityglance.com: could not connect to host
@@ -10287,17 +10260,16 @@ semps-servers.de: could not connect to h
 sendash.com: could not connect to host
 sendmeback.de: did not receive HSTS header
 senedirect.com: could not connect to host
 sens2lavie.com: max-age too low: 0
 senseofnumber.co.uk: did not receive HSTS header
 sensiblemn.org: could not connect to host
 sensibus.com: did not receive HSTS header
 seobot.com.au: could not connect to host
-seoinc.com: did not receive HSTS header
 seomobo.com: could not connect to host
 seosanantonioinc.com: did not receive HSTS header
 seowarp.net: did not receive HSTS header
 sep23.ru: did not receive HSTS header
 sepie.gob.es: did not receive HSTS header
 seq.tf: did not receive HSTS header
 serathius.ovh: could not connect to host
 serbien.guide: could not connect to host
@@ -10336,17 +10308,17 @@ shadowroket.com: did not receive HSTS he
 shadowshocks.net: could not connect to host
 shadowsocks.gift: could not connect to host
 shadowsocks.net: could not connect to host
 shadowsocks.vc: could not connect to host
 shadowsocks.wiki: did not receive HSTS header
 shadowsocksvpn.com: could not connect to host
 shadowsoks.com: could not connect to host
 shadowsu.info: did not receive HSTS header
-shadowsu.top: did not receive HSTS header
+shadowsu.top: could not connect to host
 shagi29.ru: did not receive HSTS header
 shahbeat.com: did not receive HSTS header
 shakebox.de: could not connect to host
 shanesage.com: could not connect to host
 shapesedinburgh.co.uk: did not receive HSTS header
 shardsoft.com: could not connect to host
 shareeri.com: did not receive HSTS header
 shareimg.xyz: could not connect to host
@@ -10586,16 +10558,17 @@ softballsavings.com: did not receive HST
 sogeek.me: could not connect to host
 sokolka.tv: did not receive HSTS header
 sol-3.de: did not receive HSTS header
 solarcom.com.br: could not connect to host
 soldbygold.net: did not receive HSTS header
 solentes.com.br: could not connect to host
 solidfuelappliancespares.co.uk: did not receive HSTS header
 solidus.systems: could not connect to host
+solidwebnetworks.co.uk: did not receive HSTS header
 solinter.com.br: did not receive HSTS header
 soljem.com: did not receive HSTS header
 soll-i.ch: did not receive HSTS header
 solosmusic.xyz: could not connect to host
 solsystems.ru: did not receive HSTS header
 solutive.fi: did not receive HSTS header
 some.rip: max-age too low: 6307200
 somebodycares.org: did not receive HSTS header
@@ -10770,16 +10743,17 @@ stmbgr.com: could not connect to host
 stn.me.uk: did not receive HSTS header
 stockseyeserum.com: could not connect to host
 stocktrade.de: could not connect to host
 stoffe-monster.de: did not receive HSTS header
 stoick.me: could not connect to host
 stole-my.bike: could not connect to host
 stole-my.tv: could not connect to host
 stonecutterscommunity.com: could not connect to host
+stopbreakupnow.org: did not receive HSTS header
 stopwoodfin.org: could not connect to host
 storbritannien.guide: could not connect to host
 store-host.com: did not receive HSTS header
 storecove.com: did not receive HSTS header
 storeden.com: did not receive HSTS header
 storefrontify.com: could not connect to host
 storiesofhealth.org: did not receive HSTS header
 stormhub.org: could not connect to host
@@ -10831,19 +10805,19 @@ sudo.li: did not receive HSTS header
 sugarcitycon.com: could not connect to host
 sugarsweetorsour.com: 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
 summitmasters.net: did not receive HSTS header
 sumoatm.com: did not receive HSTS header
 sumoscout.de: could not connect to host
-sun-wellness-online.com.vn: did not receive HSTS header
 suncountrymarine.com: did not receive HSTS header
 sundaycooks.com: max-age too low: 2592000
+sunflyer.cn: did not receive HSTS header
 sunlandsg.vn: did not receive HSTS header
 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-garciniaslim.com: could not connect to host
 super-radiant-skin.com: could not connect to host
@@ -10865,30 +10839,31 @@ superuser.fi: could not connect to host
 superwally.org: could not connect to host
 supes.io: did not receive HSTS header
 support4server.de: did not receive HSTS header
 suprlink.net: could not connect to host
 supweb.ovh: did not receive HSTS header
 surasak.xyz: could not connect to host
 surfeasy.com: did not receive HSTS header
 surfone-leucate.com: did not receive HSTS header
+survivalistplanet.com: did not receive HSTS header
 sussexwebdesigns.com: could not connect to host
 sussexwebsites.info: did not receive HSTS header
 sustainability.gov: did not receive HSTS header
 suzukikenichi.com: did not receive HSTS header
 svadobkajuvi.sk: did not receive HSTS header
 svatba-frantovi.cz: could not connect to host
 svenluijten.com: did not receive HSTS header
 svenskaservern.se: could not connect to host
 svetjakonadlani.cz: did not receive HSTS header
 swaleacademiestrust.org.uk: max-age too low: 2592000
 swanseapartyhire.co.uk: did not receive HSTS header
 swdatlantico.pt: could not connect to host
 sweetstreats.ca: could not connect to host
-swiftconf.com: did not receive HSTS header
+swiftconf.com: could not connect to host
 swiggy.com: did not receive HSTS header
 swimming.ca: did not receive HSTS header
 swisstranslate.ch: did not receive HSTS header
 swisstranslate.fr: did not receive HSTS header
 swite.com: did not receive HSTS header
 swmd5c.org: could not connect to host
 swu.party: could not connect to host
 sxbk.pw: could not connect to host
@@ -11033,17 +11008,16 @@ techreview.link: could not connect to ho
 techtoy.store: did not receive HSTS header
 techtraveller.com.au: did not receive HSTS header
 techview.link: max-age too low: 1209600
 tecnimotos.com: did not receive HSTS header
 tecnogaming.com: did not receive HSTS header
 tecture.de: did not receive HSTS header
 tedovo.com: did not receive HSTS header
 tedxkmitl.com: could not connect to host
-teeplelaw.com: did not receive HSTS header
 tefl.io: did not receive HSTS header
 tegelsensanitaironline.nl: did not receive HSTS header
 tehotuotanto.net: did not receive HSTS header
 tekiro.com: did not receive HSTS header
 teknologi.or.id: max-age too low: 36000
 teknotes.co.uk: could not connect to host
 tekshrek.com: did not receive HSTS header
 tel-dithmarschen.de: did not receive HSTS header
@@ -11105,40 +11079,39 @@ thaihostcool.com: did not receive HSTS h
 thailandpropertylisting.com: did not receive HSTS header
 thailandpropertylistings.com: did not receive HSTS header
 thalmann.fr: did not receive HSTS header
 thatvizsla.life: did not receive HSTS header
 the-construct.com: could not connect to host
 the-delta.net.eu.org: could not connect to host
 the-sky-of-valkyries.com: could not connect to host
 the.ie: max-age too low: 0
-theamateurs.net: could not connect to host
+theamateurs.net: did not receive HSTS header
 theamp.com: did not receive HSTS header
 theater.cf: could not connect to host
 theavenuegallery.com: did not receive HSTS header
 thebakingclass.com: max-age too low: 60
 thebasementguys.com: could not connect to host
 thebeautifulmusic.net: did not receive HSTS header
 thebeginningisnye.com: could not connect to host
 theberkshirescompany.com: could not connect to host
 thebigfail.net: could not connect to host
-thebreakhotel.com: did not receive HSTS header
 thebrightons.co.uk: did not receive HSTS header
 thebrightons.uk: could not connect to host
 thebrotherswarde.com: could not connect to host
 thecapitalbank.com: did not receive HSTS header
 thecharlestonwaldorf.com: did not receive HSTS header
 theclementinebutchers.com: could not connect to host
 thecloudrevolution.net: did not receive HSTS header
 theclubjersey.com: did not receive HSTS header
 thecodeninja.net: did not receive HSTS header
 thecoffeehouse.xyz: could not connect to host
-thecompany.pl: did not receive HSTS header
 thedrinks.co: did not receive HSTS header
 thedrop.pw: did not receive HSTS header
+thedutchmarketers.com: did not receive HSTS header
 thedystance.com: could not connect to host
 theelitebuzz.com: could not connect to host
 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
@@ -11195,17 +11168,17 @@ thevintagenews.com: did not receive HSTS
 thewallset.com: did not receive HSTS header
 thewebfellas.com: did not receive HSTS header
 theweilai.com: did not receive HSTS header
 theworkingeye.nl: could not connect to host
 thewp.pro: could not connect to host
 thezonders.com: did not receive HSTS header
 thgros.fr: could not connect to host
 thierfreund.de: could not connect to host
-thierryhayoz.ch: did not receive HSTS header
+thierryhayoz.ch: could not connect to host
 thinkcoding.de: could not connect to host
 thinkcoding.org: could not connect to host
 thinkdo.jp: could not connect to host
 thinkswap.com: did not receive HSTS header
 thinlyveiledcontempt.com: could not connect to host
 thirdpartytrade.com: did not receive HSTS header
 thirty5.net: did not receive HSTS header
 thisisacompletetest.ga: could not connect to host
@@ -11280,17 +11253,16 @@ titanleaf.com: could not connect to host
 titouan.co: did not receive HSTS header
 tittarpuls.se: could not connect to host
 titties.ml: could not connect to host
 tjc.wiki: could not connect to host
 tjeckien.guide: could not connect to host
 tkappertjedemetamorfose.nl: could not connect to host
 tkarstens.de: did not receive HSTS header
 tkonstantopoulos.tk: could not connect to host
-tlach.cz: did not receive HSTS header
 tlcdn.net: could not connect to host
 tlo.hosting: could not connect to host
 tlo.link: could not connect to host
 tlo.network: could not connect to host
 tls.li: could not connect to host
 tlsbv.nl: did not receive HSTS header
 tlshost.net: could not connect to host
 tm-solutions.eu: could not connect to host
@@ -11310,17 +11282,17 @@ tobiasmathes.name: could not connect to 
 tobiasofficial.at: could not connect to host
 tobiassachs.cf: could not connect to host
 tobiassachs.tk: could not connect to host
 todesschaf.org: could not connect to host
 todo.is: could not connect to host
 todobazar.es: could not connect to host
 todoscomciro.com: did not receive HSTS header
 tofu.im: could not connect to host
-togelonlinecommunity.com: could not connect to host
+togelonlinecommunity.com: did not receive HSTS header
 toka.sg: did not receive HSTS header
 tokenloan.com: could not connect to host
 tokobungaasryflorist.com: did not receive HSTS header
 tokobungadipadangflorist.com: did not receive HSTS header
 tokoone.com: could not connect to host
 tokotamz.net: could not connect to host
 tokotimbangandigitalmurah.web.id: did not receive HSTS header
 tokototech.com: did not receive HSTS header
@@ -11383,17 +11355,17 @@ 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
 tppdebate.org: did not receive HSTS header
 tracetracker.com: did not receive HSTS header
 tracetracker.no: did not receive HSTS header
 tracker-gps.ch: could not connect to host
-trackingstream.com: did not receive HSTS header
+trackingstream.com: could not connect to host
 tracktivity.com.au: did not receive HSTS header
 trade-smart.ru: could not connect to host
 tradietrove.com.au: did not receive HSTS header
 tradingbhavishya.com: did not receive HSTS header
 tradingcentre.com.au: did not receive HSTS header
 tradinghope.com: could not connect to host
 tradingrooms.com: did not receive HSTS header
 traditional-knowledge.tk: did not receive HSTS header
@@ -11619,16 +11591,17 @@ unitrade-425.co.za: did not receive HSTS
 universalpaymentgateway.com: did not receive HSTS header
 university4industry.com: did not receive HSTS header
 univz.com: could not connect to host
 unixtime.pro: could not connect to host
 unknownbreakup.com: did not receive HSTS header
 unknownphenomena.net: could not connect to host
 unplugg3r.dk: could not connect to host
 unravel.ie: could not connect to host
+unschoolrules.com: did not receive HSTS header
 unsupervised.ca: did not receive HSTS header
 unsystem.net: could not connect to host
 untoldstory.eu: did not receive HSTS header
 unwiredbrain.com: could not connect to host
 unwomen.is: did not receive HSTS header
 unyq.me: did not receive HSTS header
 uonstaffhub.com: could not connect to host
 uow.ninja: could not connect to host
@@ -11641,17 +11614,17 @@ uprotect.it: could not connect to host
 upstats.eu: could not connect to host
 uptic.net: did not receive HSTS header
 ur-lauber.de: did not receive HSTS header
 urandom.eu.org: did not receive HSTS header
 urban-garden.lt: could not connect to host
 urban-garden.lv: could not connect to host
 urbpic.com: could not connect to host
 urlchomp.com: did not receive HSTS header
-urology.wiki: did not receive HSTS header
+urology.wiki: could not connect to host
 urphp.com: could not connect to host
 us-immigration.com: did not receive HSTS header
 usaab.org: did not receive HSTS header
 usafuelservice.com: did not receive HSTS header
 usbirthcertificate.com: could not connect to host
 usbtypeccompliant.com: could not connect to host
 uscitizenship.info: did not receive HSTS header
 uscntalk.com: could not connect to host
@@ -11753,16 +11726,17 @@ venturepro.com: did not receive HSTS hea
 ventzke.com: did not receive HSTS header
 venzocrm.com: did not receive HSTS header
 verifiedinvesting.com: could not connect to host
 verifikatorindonesia.com: could not connect to host
 veristor.com: did not receive HSTS header
 vermontcareergateway.org: could not connect to host
 versia.ru: did not receive HSTS header
 veryhax.de: could not connect to host
+verzekeringsacties.nl: did not receive HSTS header
 vestacp.top: could not connect to host
 vetdnacenter.com: did not receive HSTS header
 veterinaire-cazeres-foucault.fr: could not connect to host
 vethouse.com.ua: did not receive HSTS header
 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
@@ -11864,17 +11838,17 @@ vooreenveiligthuis.nl: did not receive H
 voorjou.com: did not receive HSTS header
 vorangerie.com: could not connect to host
 vortexhobbies.com: did not receive HSTS header
 vowsy.club: did not receive HSTS header
 vox.vg: did not receive HSTS header
 vpip.net: could not connect to host
 vpl.me: did not receive HSTS header
 vpn-byen.dk: did not receive HSTS header
-vpn.pics: did not receive HSTS header
+vpn.pics: could not connect to host
 vpnhot.com: could not connect to host
 vpnzoom.com: did not receive HSTS header
 vps-szerver-berles.hu: could not connect to host
 vpsmojo.com: could not connect to host
 vratny.space: could not connect to host
 vriendenvoordeel.com: did not receive HSTS header
 vrijstaandhuis-in-alphen-aan-den-rijn-kopen.nl: could not connect to host
 vrijstaandhuis-in-brielle-kopen.nl: could not connect to host
@@ -12007,16 +11981,17 @@ weicn.org: did not receive HSTS header
 weightreviews.com: did not receive HSTS header
 weiji.ga: could not connect to host
 weiyuz.com: max-age too low: 6585555
 welkers.org: could not connect to host
 wellastore.ru: could not connect to host
 wellcomp.com.br: did not receive HSTS header
 wellies.com.au: max-age too low: 7889238
 wellness.so: could not connect to host
+wellopp.com: did not receive HSTS header
 wellproducedwines.com: did not receive HSTS header
 welpy.com: could not connect to host
 weltentreff.com: could not connect to host
 weltmeisterschaft.net: could not connect to host
 weme.eu: could not connect to host
 wendalyncheng.com: did not receive HSTS header
 wenz.io: did not receive HSTS header
 werdeeintimo.de: did not receive HSTS header
@@ -12139,31 +12114,32 @@ woording.com: could not connect to host
 wootton95.com: could not connect to host
 wooviet.com: could not connect to host
 wordbits.net: did not receive HSTS header
 work-and-jockel.de: did not receive HSTS header
 workfone.io: could not connect to host
 workpermit.com.vn: could not connect to host
 worksofwyoming.org: did not receive HSTS header
 worldlist.org: could not connect to host
-worldpovertysolutions.org: could not connect to host
+worldpovertysolutions.org: did not receive HSTS header
 worldsbeststory.com: did not receive HSTS header
 worldwhisperer.net: could not connect to host
 worshapp.com: could not connect to host
 wow-travel.eu: could not connect to host
 wowapi.org: could not connect to host
 wowinvasion.com: did not receive HSTS header
 wp-rescue.com.au: did not receive HSTS header
 wpblog.com.tw: could not connect to host
 wpcarer.pro: could not connect to host
+wpcharged.nz: did not receive HSTS header
 wpfortify.com: could not connect to host
 wpg-inc.com: did not receive HSTS header
 wphome.org: could not connect to host
 wphostingspot.com: did not receive HSTS header
-wplatin.com: did not receive HSTS header
+wplatin.com: could not connect to host
 wpmetadatastandardsproject.org: could not connect to host
 wpruby.com: did not receive HSTS header
 wpunpacked.com: could not connect to host
 wpyecom.es: did not receive HSTS header
 wpzhiku.com: did not receive HSTS header
 wql.zj.cn: did not receive HSTS header
 wrbunderwriting.com: did not receive HSTS header
 wrightdoumawedding.com: could not connect to host
@@ -12294,17 +12270,16 @@ xn--ekr87w7se89ay98ezcs.biz: did not rec
 xn--jp-6l5cs1yf3ivjsglphyv.net: could not connect to host
 xn--l8j9d2b.jp: could not connect to host
 xn--lgb3a8bcpn.cf: could not connect to host
 xn--lgb3a8bcpn.ga: could not connect to host
 xn--lgb3a8bcpn.gq: could not connect to host
 xn--lgb3a8bcpn.ml: could not connect to host
 xn--lnakuten-9za.com: did not receive HSTS header
 xn--ls8hi7a.tk: could not connect to host
-xn--mgbbh2a9fub.xn--ngbc5azd: did not receive HSTS header
 xn--milchaufschumer-test-lzb.de: could not connect to host
 xn--n8jubz39q0g0afpa985c.com: could not connect to host
 xn--neb-tma3u8u.xyz: could not connect to host
 xn--p8jskj.jp: could not connect to host
 xn--pck4e3a2ex597b4ml.xyz: did not receive HSTS header
 xn--qckqc0nxbyc4cdb4527err7c.biz: did not receive HSTS header
 xn--sdkwa9azd389v01ya.com: did not receive HSTS header
 xn--uist1idrju3i.jp: did not receive HSTS header
@@ -12347,17 +12322,16 @@ yamamo10.com: could not connect to host
 yameveo.com: did not receive HSTS header
 yanwh.xyz: did not receive HSTS header
 yaporn.tv: did not receive HSTS header
 yard-fu.com: could not connect to host
 yardbird.us: could not connect to host
 yarnhookup.com: did not receive HSTS header
 yasinaydin.net: did not receive HSTS header
 yasutomonodokoiko.com: did not receive HSTS header
-ycaaz.com: did not receive HSTS header
 ycc.wtf: could not connect to host
 ycm2.wtf: could not connect to host
 ydy.jp: could not connect to host
 yecl.net: did not receive HSTS header
 yello.website: could not connect to host
 yenibilgi.net: did not receive HSTS header
 yenniferallulli.com: could not connect to host
 yenniferallulli.de: could not connect to host
@@ -12436,16 +12410,17 @@ zahnrechner-staging.azurewebsites.net: d
 zakoncontrol.com: did not receive HSTS header
 zamorano.edu: could not connect to host
 zamos.ru: max-age too low: 0
 zaneweb.org: could not connect to host
 zao.fi: could not connect to host
 zaoshanghao-dajia.rhcloud.com: could not connect to host
 zap.yt: did not receive HSTS header
 zarooba.com: could not connect to host
+zary.me: did not receive HSTS header
 zavca.com: did not receive HSTS header
 zbasenem.pl: did not receive HSTS header
 zbigniewgalucki.eu: did not receive HSTS header
 zdravotnickasluzba.eu: could not connect to host
 zdrowiepaleo.pl: did not receive HSTS header
 zdx.ch: max-age too low: 0
 zebbra.ro: did not receive HSTS header
 zebrababy.cn: could not connect to host
@@ -12475,16 +12450,17 @@ zerudi.com: did not receive HSTS header
 zeto365.pl: did not receive HSTS header
 zett4.me: max-age too low: 172800
 zeug.co: did not receive HSTS header
 zeytin.pro: could not connect to host
 zh1.li: could not connect to host
 zhang.wtf: could not connect to host
 zhangruilin.com: did not receive HSTS header
 zhangsidan.com: could not connect to host
+zhangzifan.com: did not receive HSTS header
 zhaojin97.cn: could not connect to host
 zhendingresources.com: could not connect to host
 zhh.in: could not connect to host
 zhihua-lai.com: did not receive HSTS header
 zhiin.net: did not receive HSTS header
 zhome.info: could not connect to host
 zhuji.com.cn: could not connect to host
 zi0r.com: did not receive HSTS header
@@ -12531,17 +12507,17 @@ zoznamrealit.sk: did not receive HSTS he
 zqhong.com: could not connect to host
 zqjs.tk: could not connect to host
 ztan.tk: could not connect to host
 ztcaoll222.cn: did not receive HSTS header
 ztytian.com: could not connect to host
 zubel.it: did not receive HSTS header
 zuckerfloh.de: did not receive HSTS header
 zunftmarke.de: did not receive HSTS header
-zuram.net: could not connect to host
+zuram.net: max-age too low: 1
 zvncloud.com: did not receive HSTS header
 zyf.pw: could not connect to host
 zymbit.com: did not receive HSTS header
 zync.ca: did not receive HSTS header
 zypgr.com: did not receive HSTS header
 zyso.org: could not connect to host
 zzb510.com: could not connect to host
 zzb6688.com: 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(1533521257162000);
+const PRTime gPreloadListExpirationTime = INT64_C(1533589185229000);
 %%
 0-1.party, 1
 0.me.uk, 1
 0005pay.com, 1
 00100010.net, 1
 0010100.net, 1
 00120012.net, 1
 00130013.net, 1
@@ -77,17 +77,16 @@ 046569.com, 1
 04sun.com, 1
 050media.nl, 1
 0511315.net, 1
 0513c.com, 1
 055268.com, 1
 0573wk.com, 1
 066318.com, 1
 066538.com, 1
-066718.com, 1
 06se.com, 1
 070709.net, 1
 07733.win, 1
 0792112.com, 1
 081638.com, 1
 081752.com, 1
 081763.com, 1
 081769.com, 1
@@ -440,17 +439,16 @@ 302422.com, 1
 303422.com, 1
 304122.com, 1
 304322.com, 1
 304622.com, 1
 304squadron.org, 1
 3056999.com, 1
 309422.com, 1
 30hzcollective.com, 1
-30yearmortgagerates.net, 1
 310422.com, 1
 3133780x.com, 1
 313422.com, 1
 314022.com, 1
 314122.com, 1
 314322.com, 1
 314522.com, 1
 314622.com, 1
@@ -524,16 +522,17 @@ 354133.com, 1
 354233.com, 1
 354622.com, 1
 354633.com, 1
 354922.com, 1
 354933.com, 1
 3555500.com, 1
 356433.com, 1
 360ds.co.in, 1
+360live.fr, 1
 360woodworking.com, 1
 365365.com, 1
 365beautyworld.com, 1
 365daysreview.com, 1
 365healthworld.com, 1
 365maya.com, 1
 365skulls.com, 1
 370422.com, 1
@@ -1215,17 +1214,17 @@ aboutmyproperty.ca, 1
 aboutspice.com, 1
 aboutyou.at, 1
 aboutyou.be, 1
 aboutyou.ch, 1
 aboutyou.de, 1
 aboutyou.nl, 1
 abox-kb.com, 1
 abpis.hr, 1
-abracadabra.co.jp, 1
+abracadabra.co.jp, 0
 abrakidabra.com.br, 1
 abrilect.com, 1
 abseits.org, 1
 absolem.cc, 1
 absolutelyinflatables.co.uk, 1
 absoluterush.net, 1
 absolutewaterproofingsolutions.com, 1
 absolutewebdesigns.com, 1
@@ -1467,16 +1466,17 @@ adonnante.com, 1
 adoptionlink.co.uk, 1
 adora-illustrations.fr, 1
 adorade.ro, 1
 adorai.tk, 1
 adorecricket.com, 1
 adorewe.com, 1
 adoriasoft.com, 0
 adoucisseur.shop, 1
+adprospb.com, 1
 adquisitio.co.uk, 1
 adquisitio.es, 1
 adquisitio.fr, 1
 adquisitio.it, 1
 adr.gov, 1
 adrafinil.wiki, 1
 adrenaline-gaming.ru, 1
 adrianajewelry.my, 1
@@ -1559,16 +1559,17 @@ aeon.wiki, 1
 aep-digital.com, 1
 aeradesign.com, 1
 aerandir.fr, 1
 aerelon.de, 0
 aergia.eu, 1
 aerisnetwork.com, 1
 aero-pioneer.com, 1
 aerobotz.com, 1
+aeroparking.es, 1
 aertel.ie, 1
 aessencia.com.br, 1
 aestheticdr.org, 1
 aesthetics-blog.com, 1
 aesthetx.com, 1
 aestore.by, 1
 aesym.de, 1
 aeternus.tech, 1
@@ -2234,17 +2235,16 @@ ameho.me, 0
 amelandadventure.nl, 1
 amello.de, 1
 america.gov, 1
 americafamilylawcenter.org, 1
 american.dating, 1
 americandistribuidora.com, 1
 americanfoundationbr.com, 1
 americanmediainstitute.com, 1
-americanoutlawjeepparts.com, 1
 americasbasementcontractor.com, 1
 americkykongres.cz, 1
 amerigroup.com, 1
 ameriikanpoijat.org, 1
 amerimarkdirect.com, 1
 amerimex.cc, 1
 amesgen.de, 1
 amesvacuumrepair.com, 1
@@ -2569,16 +2569,17 @@ antarcti.co, 1
 antarespc.com, 1
 antcas.com, 1
 antecim.fr, 1
 antennista.catania.it, 1
 antennista.milano.it, 1
 antennista.pavia.it, 1
 antennista.roma.it, 1
 antennisti.milano.it, 1
+anthedesign.fr, 1
 anthisis.tv, 1
 anthony-rouanet.com, 1
 anthony.codes, 1
 anthonyaires.com, 1
 anthonycarbonaro.com, 1
 anthonygaidot.fr, 1
 anthropoid.ca, 1
 anti-bible.com, 1
@@ -3526,17 +3527,16 @@ azu-l.jp, 1
 azun.pl, 1
 azuxul.fr, 1
 azzag.co.uk, 1
 azzorti.com, 1
 b-b-law.com, 1
 b-boom.nl, 1
 b-cyclesshop.ch, 1
 b-entropy.com, 1
-b-landia.net, 0
 b-pi.duckdns.org, 1
 b-root-force.de, 1
 b-services.net, 1
 b-ticket.ch, 1
 b0618.com, 1
 b0618.net, 1
 b0868.com, 1
 b0868.net, 1
@@ -3780,16 +3780,17 @@ ballbusting-cbt.com, 1
 ballejaune.com, 1
 ballinarsl.com.au, 1
 ballmerpeak.org, 1
 ballonsportclub-erlangen.de, 1
 ballotapi.com, 1
 ballothero.com, 1
 ballroom.info, 1
 balonmano.co, 1
+bals.org, 1
 balslev.io, 1
 balticnetworks.com, 1
 bambambaby.com.br, 1
 bamboorelay.com, 1
 bamtoki.com, 1
 bananensap.nl, 1
 bananium.fr, 1
 banburybid.com, 1
@@ -3867,17 +3868,16 @@ baripedia.org, 1
 baris-sagdic.com, 1
 bariseau-mottrie.be, 1
 barisi.me, 1
 bariskaragoz.nl, 1
 barkerjr.xyz, 1
 barlotta.net, 1
 barnabycolby.io, 1
 barnrats.com, 1
-baropkamp.be, 1
 barprive.com, 1
 barqo.co, 1
 barracuda.blog, 1
 barracuda.com.tr, 1
 barrera.io, 1
 barrett.ag, 1
 barriofut.com, 1
 barryswebdesign.co.uk, 1
@@ -4574,17 +4574,16 @@ biletru.net, 1
 biletyplus.by, 1
 biletyplus.com, 1
 biletyplus.ua, 1
 bilgo.com, 1
 bilimoe.com, 1
 bilke.org, 1
 bill-nye-the.science, 1
 billaud.eu.org, 1
-billdestler.com, 1
 billgoldstein.name, 1
 billhartzer.com, 1
 billiger-mietwagen.de, 1
 billigerfinder.de, 1
 billigpoker.dk, 1
 billionairemailinglist.com, 1
 billionkiaparts.com, 1
 billogram.com, 1
@@ -4823,16 +4822,34 @@ bklaindia.com, 1
 bkositspartytime.co.uk, 1
 bl4ckb0x.biz, 1
 bl4ckb0x.com, 1
 bl4ckb0x.de, 1
 bl4ckb0x.eu, 1
 bl4ckb0x.info, 1
 bl4ckb0x.net, 1
 bl4ckb0x.org, 1
+blablacar.co.uk, 1
+blablacar.com, 1
+blablacar.com.tr, 1
+blablacar.com.ua, 1
+blablacar.de, 1
+blablacar.es, 1
+blablacar.fr, 1
+blablacar.hr, 1
+blablacar.hu, 1
+blablacar.in, 1
+blablacar.it, 1
+blablacar.mx, 1
+blablacar.nl, 1
+blablacar.pl, 1
+blablacar.pt, 1
+blablacar.ro, 1
+blablacar.rs, 1
+blablacar.ru, 1
 black-gay-porn.biz, 1
 black-khat.com, 1
 black-mail.nl, 1
 black-pool.net, 1
 black-raven.fr, 1
 black.dating, 1
 black.host, 1
 blackandpony.de, 1
@@ -4961,16 +4978,17 @@ blogging-life.com, 1
 bloggingwithchildren.com, 1
 bloggytalky.com, 1
 bloginbeeld.nl, 1
 blogom.at, 1
 blogpentrusuflet.ro, 1
 blogreen.org, 1
 blogtroterzy.pl, 1
 bloodsports.org, 1
+bloodyexcellent.com, 1
 bloom-avenue.com, 1
 bltc.co.uk, 1
 bltc.com, 1
 bltc.net, 1
 bltc.org, 1
 bltc.org.uk, 1
 bltdirect.com, 0
 blubberladen.de, 1
@@ -4982,16 +5000,17 @@ bluecardlottery.eu, 1
 bluecards.eu, 1
 bluechilli.com, 1
 bluecon.ninja, 1
 bluecrazii.nl, 1
 blued.moe, 1
 bluedeck.org, 1
 bluefinger.nl, 1
 blueflare.org, 1
+bluefrag.com, 1
 bluefuzz.nl, 1
 blueimp.net, 1
 blueliquiddesigns.com.au, 1
 bluemeda.web.id, 1
 bluemoonroleplaying.com, 1
 bluemosh.com, 1
 bluenote9.com, 1
 blueoakart.com, 1
@@ -5128,16 +5147,17 @@ bondagefetishstore.com, 1
 bondarenko.dn.ua, 1
 bondingwithbaby.ca, 1
 bondoer.fr, 1
 bondpro.gov, 1
 bondskampeerder.nl, 1
 bondtofte.dk, 1
 bonesserver.com, 1
 bonfi.net, 1
+bonibuty.com, 1
 bonifacius.be, 1
 bonigo.de, 1
 bonita.com.br, 1
 bonnant-associes.ch, 1
 bonnant-partners.ch, 1
 bonnebouffe.fr, 1
 bonnieradvocaten.nl, 1
 bonnsustainabilityportal.de, 1
@@ -5166,18 +5186,16 @@ bookourdjs.com, 1
 bookreport.ga, 1
 booksearch.jp, 1
 bookshopofindia.com, 1
 booksinthefridge.at, 1
 booktracker-org.appspot.com, 1
 bookwitty.social, 1
 bool.be, 1
 boomersurf.com, 1
-boomsaki.com, 1
-boomsakis.com, 1
 boomshelf.com, 1
 boomshelf.org, 1
 boonbox.com, 1
 booox.biz, 1
 booox.cc, 1
 booox.info, 1
 booox.net, 1
 booox.org, 1
@@ -6514,17 +6532,16 @@ cemeteriat.com, 1
 ceml.ch, 1
 cenatorium.pl, 1
 cencalvia.org, 1
 censurfridns.dk, 1
 censurfridns.nu, 1
 censys.io, 1
 centaur.de, 1
 centennialradon.com, 1
-centerforpolicy.org, 1
 centerpereezd.ru, 0
 centerpoint.ovh, 1
 centillien.com, 0
 centio.bg, 1
 centos.pub, 1
 centos.tips, 1
 central4.me, 1
 centralbank.ae, 1
@@ -7707,17 +7724,16 @@ compassdirectportal.com, 1
 compeat.com, 1
 compeuphoria.com, 1
 comphare.nl, 1
 compibus.fr, 1
 compilenix.org, 1
 completefloorcoverings.com, 1
 completesecurityessex.co.uk, 1
 completesecurityessex.com, 1
-completionist.me, 1
 complex-organization.com, 1
 complexart.ro, 1
 complexsystems.fail, 1
 compliance-management.ch, 1
 compliance-systeme.de, 1
 compliancedictionary.com, 1
 compliancerisksoftware.co.uk, 1
 complt.xyz, 1
@@ -8708,16 +8724,17 @@ danielas.boutique, 1
 danielehniss.de, 1
 danielepestilli.com, 1
 danielgraziano.ca, 1
 danielhochleitner.de, 1
 danieljamesscott.org, 1
 danieljireh.com, 1
 danielkoster.nl, 1
 danielmarquard.com, 1
+danielmoch.com, 1
 danielmostertman.com, 0
 danielmostertman.nl, 0
 danielrozenberg.com, 1
 danielsblog.org, 1
 danielschreurs.com, 1
 danielstach.cz, 1
 danielsteiner.net, 1
 danielstiner.me, 1
@@ -9661,17 +9678,16 @@ directebanking.com, 1
 directinsure.in, 1
 directlinkfunding.co.uk, 1
 directme.ga, 1
 directnews.be, 1
 directorioz.com, 1
 directreal.sk, 1
 directspa.fr, 1
 directtwo.solutions, 1
-directtwosolutions.org, 1
 directwatertanks.co.uk, 1
 direwolfsoftware.ca, 1
 dirips.com, 1
 dirk-scheele.de, 1
 dirko.net, 1
 dirkwolf.de, 1
 dirtcraft.ca, 1
 dirtycat.ru, 1
@@ -9998,17 +10014,16 @@ domyspeech.com, 1
 domytermpaper.com, 1
 domythesis.net, 1
 domyzitrka.cz, 1
 donabeneko.jp, 1
 donateaday.net, 1
 donfelino.tk, 0
 dongkexue.com, 1
 dongxuwang.com, 1
-donhoward.org, 1
 donkeytrekkingkefalonia.com, 1
 donmaldeamores.com, 1
 donnachie.net, 1
 donner-reuschel.de, 1
 donnons.org, 0
 donnoval.ru, 1
 donotcall.gov, 1
 donotlink.it, 1
@@ -10364,17 +10379,16 @@ duh.se, 1
 duijf.info, 1
 duijfathome.nl, 1
 duitang.com, 1
 dujsq.com, 1
 dujsq.top, 1
 dukan-recepty.ru, 1
 dukegat.de, 0
 dukesatqueens.com, 1
-duks.com.br, 1
 dukun.de, 1
 dulei.si, 1
 dullapp.com, 1
 dumax.xyz, 1
 dumbeartech.com, 1
 dumbomove.com.au, 1
 dumino.bg, 1
 dumont.ovh, 1
@@ -10411,16 +10425,17 @@ dusmomente.com, 1
 dusnan.com, 1
 dustplanet.de, 1
 dustri.org, 1
 dustycloth.com, 1
 dustygroove.com, 1
 dustyspokesbnb.ca, 1
 dutch.desi, 1
 dutch1.nl, 1
+dutchessuganda.com, 1
 dutchrank.nl, 1
 dutchwanderers.nl, 1
 dutchweballiance.nl, 1
 dvbris.co.uk, 1
 dvbris.com, 1
 dvdland.com.au, 1
 dvhosting.be, 1
 dvnatura.ch, 1
@@ -10768,17 +10783,16 @@ edwar.do, 1
 edwards.me.uk, 1
 edwardsnowden.com, 1
 edwardspeyer.com, 1
 edwardwall.me, 1
 edwinyrkuniversity.de, 1
 edxg.de, 0
 edxn.de, 1
 edyou.eu, 1
-edzilla.info, 1
 ee-terminals.com, 1
 eeb98.com, 1
 eeetrust.org, 1
 eellak.gr, 1
 eelsden.net, 1
 eelzak.nl, 1
 eenekorea.com, 1
 eengoedenotaris.nl, 1
@@ -12203,16 +12217,17 @@ fakturoid.cz, 1
 falaeapp.org, 1
 falaowang.com, 1
 falbros.com, 1
 falconfrag.com, 1
 falconvintners.com, 1
 falcoz.co, 1
 faldoria.de, 0
 falegname-roma.it, 1
+falkhusemann.de, 1
 falkus.net, 1
 falldennismarketing.com, 1
 fallenangeldrinks.co.uk, 1
 fallenangeldrinks.com, 1
 fallenangeldrinks.eu, 1
 fallenangelspirits.co.uk, 1
 fallenangelspirits.com, 1
 fallenspirits.co.uk, 1
@@ -12488,17 +12503,16 @@ fernandomiguel.net, 1
 ferret.zone, 1
 ferreteriaxerez.com, 1
 ferrolatino.ch, 1
 ferry.tw, 1
 ferticare.pt, 1
 fertila.de, 1
 festaprylar.se, 1
 festival-tipps.com, 1
-festival.house, 1
 festivaljapon.com, 1
 festivalxdentro.com, 1
 fetch.co.uk, 1
 fetclips.se, 1
 fetlife.com, 1
 fettlaus.de, 1
 feudalisten.de, 1
 feudaltactics.com, 1
@@ -13700,16 +13714,17 @@ gamekeepers.cz, 1
 gamekeysuche.de, 1
 gamenerd.net, 1
 gameofbay.org, 1
 gameofpwnz.com, 1
 gamepad.com.br, 1
 gamercredo.com, 1
 gamereader.de, 1
 gamerezo.com, 1
+gamerpoets.com, 1
 gamerz-stream.com, 1
 gamerzdot.com, 1
 games4theworld.org, 1
 gameserver-sponsor.me, 1
 gameshowchallenge.ie, 1
 gamesplanet.com, 1
 gamesputnik.ru, 1
 gamestats.gg, 1
@@ -14269,17 +14284,16 @@ glenberviegolfclub.com, 1
 glencarbide.com, 1
 glendarraghbouncycastles.co.uk, 1
 glenhuntlyapartments.com.au, 1
 glenshere.com, 1
 glicerina.online, 1
 glidingshop.cz, 1
 glidingshop.de, 1
 glidingshop.eu, 1
-glittersjabloon.nl, 1
 glloq.org, 1
 glob-coin.com, 1
 global-adult-webcams.com, 1
 global-lights.ma, 1
 global-office.com, 1
 global-village.koeln, 1
 global.hr, 1
 globalcanineregistry.com, 1
@@ -15807,16 +15821,17 @@ hoezzi.nl, 1
 hofauer.de, 1
 hoffens.se, 1
 hoflerlawfirm.com, 1
 hogl.dk, 1
 hogrebe.de, 1
 hohm.in, 1
 hohnet.com, 1
 hoikuen-now.top, 1
+hoiquanadida.com, 1
 hoken-wakaru.jp, 1
 hokepon.com, 1
 hokieprivacy.org, 1
 hokify.at, 1
 hokify.ch, 1
 hokify.de, 1
 hokioisecurity.com, 1
 holad.de, 1
@@ -15957,16 +15972,17 @@ hoshinplan.com, 1
 hoshisato.com, 1
 hosiet.me, 1
 hosmussynergie.nl, 0
 hospitalhomelottery.org, 1
 hostadvice.com, 1
 hostam.link, 1
 hostarea51.com, 1
 hostcoz.com, 1
+hosteasy.nl, 0
 hosted-oswa.org, 1
 hostedbgp.net, 1
 hostedcomments.com, 1
 hostedtalkgadget.google.com, 1
 hostfission.com, 1
 hostgigz.com, 1
 hostingactive.it, 1
 hostingfirst.nl, 1
@@ -16525,17 +16541,16 @@ ifsclist.com, 1
 ifsr.de, 1
 iftrue.de, 1
 ifxnet.com, 1
 ifyou.live, 1
 ig.com, 1
 iga-semi.jp, 1
 igamingforums.com, 1
 igcc.jp, 1
-igd.chat, 1
 igglabs.com, 1
 iggprivate.com, 1
 iggsoft.com, 1
 iggsoftware.com, 1
 igiftcards.de, 1
 igimusic.com, 1
 igk.nz, 1
 igm-be.ch, 1
@@ -19767,16 +19782,17 @@ langatang.com, 1
 langbein.org, 1
 langendorf-ernaehrung-training.de, 0
 langguth.io, 1
 langkahteduh.com, 1
 langly.fr, 1
 langstreckensaufen.de, 1
 languageterminal.com, 1
 langworth.com, 1
+laniakean.com, 1
 lanna.io, 1
 lannainnovation.com, 1
 lanonfire.com, 1
 lanostrasalute.it, 1
 lanre.org, 1
 lanroamer.de, 1
 lansechensilu.com, 1
 lanseyujie.com, 0
@@ -20510,16 +20526,17 @@ linvx.org, 1
 linx.li, 1
 linx.net, 1
 linxmind.eu, 1
 linzgau.de, 1
 lionlyrics.com, 1
 lionsdeal.com, 1
 lipartydepot.com, 1
 lipex.com, 1
+lipo.lol, 1
 lipoabaltimore.org, 1
 liqd.net, 1
 liquid.cz, 1
 liquidcomm.net, 1
 liquidhost.co, 1
 liquidinternet.co, 1
 liquidradio.pro, 1
 liquimoly.market, 1
@@ -20606,16 +20623,17 @@ livekort.se, 1
 livekortti.com, 1
 livekortti.fi, 1
 livelexi.com, 1
 livelifewithintent.com, 1
 livepaperhelp.com, 1
 livepath.ch, 1
 liveperformersmeeting.net, 1
 liveregistratie.nl, 1
+livesearch-fukuoka.com, 1
 livesure.com, 1
 livi.co, 1
 living-space.co.nz, 1
 living24.de, 1
 livingforreal.com, 1
 livinglocalnashville.com, 1
 livingworduk.org, 1
 livnev.me, 1
@@ -20791,17 +20809,16 @@ lolhax.org, 1
 loli.net, 1
 loli.pet, 1
 loli.world, 1
 lolibrary.org, 1
 lolicon.eu, 1
 lolicon.info, 1
 lolis.stream, 1
 lolkot.ru, 1
-lollaconcept.com.br, 1
 lolnames.gg, 1
 lolpatrol.de, 1
 lolpatrol.wtf, 1
 lommeregneren.dk, 1
 lommyfleet.com, 1
 lon-so.com, 1
 lona.io, 1
 lonal.com, 1
@@ -21469,17 +21486,17 @@ mantor.org, 0
 manuall.de, 1
 manuall.info.tr, 1
 manuall.ro, 1
 manualscollection.com, 1
 manuel-herrmann.de, 1
 manuel-schefczyk.de, 1
 manueldopheide.com, 1
 manueli.de, 1
-manuelpinto.in, 1
+manuelpinto.in, 0
 manuelrueger.de, 1
 manufacturing.gov, 1
 manuscript.com, 1
 manutd.org.np, 1
 manuth.life, 1
 manutrol.com.br, 1
 manwithavan.co.uk, 1
 manyetikboya.com, 1
@@ -21973,16 +21990,17 @@ md5file.com, 1
 md5hashing.net, 1
 mdbouncycastlehirelondon.co.uk, 1
 mdcloudpracticesolutions.com, 1
 mdcloudps.com, 1
 mdek.at, 1
 mdewendt.de, 1
 mdf-bis.com, 1
 mdiv.pl, 1
+mdkr.nl, 1
 mdlayher.com, 1
 mdma.net, 1
 mdmed.clinic, 1
 mdoering.de, 1
 mdosch.de, 1
 mdpraha.cz, 1
 mdsave.com, 1
 mdwftw.com, 1
@@ -22963,17 +22981,16 @@ monodukuri.cafe, 1
 monodukuri.com, 1
 monodzukuri.cafe, 1
 monokoo.com, 1
 monolithapps.com, 1
 monolithindustries.com, 1
 monolithinteractive.com, 1
 monoseis-monotica.gr, 1
 monothesis.com, 1
-monotsuku.com, 1
 monozukuri.cafe, 1
 monpc-pro.fr, 1
 monpermismoto.com, 1
 monpermisvoiture.com, 1
 monpetitforfait.com, 1
 monpetitmobile.com, 1
 monsieurbureau.com, 1
 monsieursavon.ch, 1
@@ -23159,17 +23176,17 @@ mpi-sa.fr, 1
 mpintaamalabanna.it, 1
 mplanetphl.fr, 1
 mplant.io, 1
 mplicka.cz, 1
 mplusm.eu, 1
 mpn.poker, 1
 mpnpokertour.com, 1
 mpodraza.pl, 1
-mpreserver.com, 0
+mpreserver.com, 1
 mprsco.eu, 1
 mpserver12.org, 1
 mpsgarage.com.au, 1
 mpsoundcraft.com, 1
 mpy.ovh, 1
 mr-anderson.org, 1
 mr-labo.jp, 1
 mr-nachhilfe.de, 1
@@ -23975,16 +23992,17 @@ ncaq.net, 1
 ncc-efm.com, 1
 ncc-efm.org, 1
 ncc-qualityandsafety.org, 1
 nccemail.net, 1
 ncconsumer.org, 1
 ncdesigns-studio.com, 1
 ncea.net.au, 1
 nchangfong.com, 1
+nchristo.com, 1
 nclvle.co.uk, 1
 ncrmnt.org, 1
 ncsccs.com, 1
 ncstep.org, 1
 ndarville.com, 1
 ndbt.com, 1
 ndcpolipak.com, 1
 ndeoffshore.com, 1
@@ -24169,16 +24187,17 @@ netlocal.ru, 1
 netmagicas.com.br, 1
 netmeister.org, 1
 netnik.de, 1
 netnodes.net, 1
 netraising.com, 1
 netrelay.email, 1
 netrider.net.au, 0
 netronix.be, 1
+netsafeid.biz, 1
 netscaler.expert, 1
 netsight.org, 1
 netsigna.de, 1
 netsite.dk, 1
 netsoins.org, 1
 netsparker.com, 1
 netsparker.com.tr, 1
 netspeedia.net, 1
@@ -25006,16 +25025,17 @@ office-de-tourisme.net, 0
 office-discount.at, 1
 office-furniture-direct.co.uk, 1
 office-morimoto.com, 1
 office-ruru.com, 1
 officefundays.co.uk, 1
 officeinteriors.co.nz, 1
 officemovepro.com, 1
 officeprint.co.th, 1
+officiants.wedding, 0
 officium.tech, 1
 offroadeq.com, 1
 offshoot.rentals, 1
 offtherails.ie, 1
 ofggolf.com, 1
 oflow.me, 1
 oftamedic.com, 1
 oftn.org, 1
@@ -25412,17 +25432,16 @@ orangecomputers.com, 1
 orangefab.asia, 1
 orangefinanse.com.pl, 1
 orangejetpack.com, 1
 orangekey.tk, 1
 orangenbaum.at, 1
 oranges.tokyo, 1
 orangetravel.eu, 1
 orangutan-appeal.org.uk, 1
-oranic.com, 1
 orbitdefence.co.uk, 1
 orcahq.com, 1
 orcamoney.com, 1
 orchideenettoyage.com, 1
 orchidlive.com, 1
 orchidsforum.com, 1
 orchidspaper.com, 1
 orcsnet.com, 1
@@ -26308,16 +26327,17 @@ peterbruceharvey.com, 1
 peterdavehello.org, 1
 peterfiorella.com, 1
 peterfolta.net, 1
 peterhuetz.at, 1
 peterhuetz.com, 1
 peterjohnson.io, 1
 peterlew.is, 1
 petersontoscano.com, 1
+pethelpers.org, 1
 petit-archer.com, 1
 petite-maison.ch, 1
 petitsfrenchies.com, 1
 petja.me, 0
 petko.me, 1
 petlife.od.ua, 1
 petlife.vet, 1
 petmall.bg, 1
@@ -26441,16 +26461,17 @@ photographe-reims.com, 1
 photographyforchange.com, 1
 photographyforchange.org, 1
 photolium.net, 1
 photomodelcasting.com, 1
 photon.sh, 1
 photops.fr, 1
 photosoftware.nl, 1
 phototravel.uk, 1
+phototrio.com, 1
 phoxmeh.com, 1
 php-developer.org, 1
 php-tuning.de, 1
 phparcade.com, 1
 phpartners.org, 1
 phpbbchinese.com, 1
 phpdistribution.com, 1
 phpdorset.co.uk, 1
@@ -27297,17 +27318,16 @@ primalbase.com, 1
 primalinea.pro, 1
 primates.com, 1
 primewho.org, 1
 primordialsnooze.com, 1
 primorus.lt, 1
 primotilesandbathrooms.co.uk, 1
 princeagency.com, 1
 princeofwhales.com, 1
-princesparktouch.com, 1
 princessbackpack.de, 1
 principalstest.com, 1
 principaltoolbox.com, 1
 principia-journal.de, 1
 principia-magazin.de, 1
 principia-online.de, 1
 princovi.cz, 1
 prinesdoma.at, 1
@@ -27614,18 +27634,16 @@ psychintervention.com, 1
 psycho-lobby.com, 1
 psycho.space, 1
 psychoactive.com, 1
 psychoco.net, 1
 psychotherapie-kp.de, 1
 psydix.org, 1
 psyk.yt, 1
 psylab.cc, 1
-psylab.re, 1
-psylab.vip, 1
 psynapse.net.au, 1
 psytrance-pro.com, 1
 pt-server.de, 1
 ptal.eu, 1
 ptbi.org.pl, 1
 ptbx.co, 1
 pterodactylus.cz, 1
 ptgoldensun.com, 1
@@ -28315,16 +28333,17 @@ red-t-shirt.ru, 1
 red-trigger.net, 1
 red2fred2.com, 1
 redable.hosting, 1
 redable.nl, 1
 redactieco.nl, 1
 redb.cz, 1
 redballoonsecurity.com, 1
 redburn.com, 1
+redcomet.org, 1
 redcone.net, 1
 redcorus.com, 1
 redd.it, 1
 reddingo.at, 1
 reddingo.be, 1
 reddingo.ch, 1
 reddingo.com, 1
 reddingo.com.au, 1
@@ -29251,17 +29270,16 @@ ruht.ro, 1
 ruigomes.me, 1
 ruiming.me, 1
 ruk.ca, 1
 rukhaiyar.com, 1
 rullzer.com, 1
 rulu.co, 1
 rulu.tv, 1
 rulutv.com, 1
-rumlager.de, 1
 rummel-platz.de, 1
 rumplesinflatables.co.uk, 1
 rumtaste.com, 1
 rumtaste.de, 1
 run-forrest.run, 1
 runagain.ch, 1
 runcarina.com, 1
 rundumcolumn.xyz, 1
@@ -29370,17 +29388,16 @@ s8a.us, 1
 s95.de, 1
 sa-blog.net, 1
 sa-mp.ro, 1
 sa.net, 1
 saabpartsdistribution.com, 1
 saamhorigheidsfonds.nl, 0
 saba-piserver.info, 1
 sabahattin-gucukoglu.com, 1
-sabatek.pl, 1
 sabe.cz, 1
 sabine-forschbach.de, 1
 sabineforschbach.de, 1
 sabrinajoias.com.br, 1
 sabrinajoiasprontaentrega.com.br, 1
 sacaentradas.com, 1
 saccani.net, 1
 sackers.com, 1
@@ -29909,16 +29926,17 @@ scm-2017.org, 1
 scoolcode.com, 1
 scoop6.co.uk, 1
 scootaloo.co.uk, 1
 scooterservis.com, 1
 scootfleet.com, 1
 scorobudem.ru, 1
 scorocode.ru, 1
 scorp13.com, 1
+scotbirchfield.com, 1
 scottainslie.me.uk, 1
 scottgruber.me, 1
 scottgthomas.com, 1
 scotthel.me, 1
 scotthelme.co.uk, 1
 scotthelme.com, 1
 scottishcu.org, 1
 scottishseniorsgolf.com, 1
@@ -29992,17 +30010,16 @@ sealbaker.com, 1
 sealoffantasy.de, 1
 sealtitebasement.com, 1
 seamless.no, 1
 sean-wright.com, 1
 seanationals.org, 1
 seanchaidh.org, 1
 seanholcroft.co.uk, 1
 seankilgarriff.com, 1
-seanstrout.com, 1
 seaplayhomes.com, 1
 search-job-in.com, 1
 search-one.de, 1
 search.gov, 1
 search.yahoo.com, 0
 searchbrothers.at, 1
 searchbrothers.ch, 1
 searchbrothers.co.il, 1
@@ -30093,17 +30110,16 @@ secure-gw.de, 1
 secure-server-hosting.com, 1
 secure.advancepayroll.com.au, 1
 secure.chat, 1
 secure.co.hu, 1
 secure.facebook.com, 0
 securedrop.org, 1
 secureesolutions.com, 1
 secureheaders.com, 1
-secureideas.com, 0
 secureim.de, 1
 secureindia.co, 1
 securejabber.me, 1
 securelect-inspection.com, 1
 secureobscure.com, 1
 secureonline.co, 1
 securethe.news, 1
 securetheorem.com, 1
@@ -30274,16 +30290,17 @@ seo.london, 1
 seo.tl, 1
 seoagentur2go.de, 1
 seoarchive.org, 1
 seobutler.com, 1
 seocomposer.com, 1
 seoexperte.berlin, 1
 seogeek.nl, 1
 seohochschule.de, 1
+seoinc.com, 1
 seoium.com, 1
 seokay.com, 1
 seolib.org, 1
 seomarketingdeals.com, 1
 seomen.biz, 1
 seon.me, 1
 seoprovider.nl, 1
 seoquake.com, 1
@@ -31501,17 +31518,16 @@ soledadpenades.com, 1
 solentbubblesandbounce.co.uk, 1
 soleria.eu, 1
 solfegiator.ch, 1
 soli.cafe, 1
 solicafe.at, 1
 solidimage.com.br, 1
 solidshield.com, 1
 solidtuesday.com, 1
-solidwebnetworks.co.uk, 1
 solihullcarnival.co.uk, 1
 solihullinflatables.com, 1
 solihulllionsclub.org.uk, 1
 solipym.net, 1
 solisrey.es, 1
 solit.systems, 1
 solmek.co.uk, 1
 solmek.com, 1
@@ -32282,17 +32298,16 @@ stonedworms.de, 1
 stonefusion.org.uk, 1
 stonehammerhead.org, 1
 stonemain.eu, 1
 stonemanbrasil.com.br, 1
 stonewuu.com, 1
 stony.com, 1
 stonystratford.org, 1
 stopakwardhandshakes.org, 1
-stopbreakupnow.org, 1
 stopbullying.gov, 1
 stopfraud.gov, 1
 stopthethyroidmadness.com, 1
 stordbatlag.no, 1
 store10.de, 0
 storedsafe.com, 1
 storgom.ua, 0
 storillo.com, 1
@@ -32528,25 +32543,25 @@ suluvir.com, 1
 sumguy.com, 1
 summa-prefis.com, 1
 summa.eu, 0
 summer.ga, 1
 summercampthailand.com, 1
 summershomes.com, 1
 sumthing.com, 1
 sun-leo.co.jp, 1
+sun-wellness-online.com.vn, 1
 sunboxstore.jp, 1
 sunbritetv.com, 1
 sunchasercats.com, 1
 sundanceusa.com, 1
 sundayfundayjapan.com, 1
 suneilpatel.com, 1
 sunfeathers.net, 1
 sunfireshop.com.br, 1
-sunflyer.cn, 0
 sunfox.cz, 1
 sunfulong.blog, 1
 sunfulong.me, 1
 sunjaydhama.com, 1
 sunn.ie, 1
 sunriseafricarelief.com, 1
 sunsetwx.com, 1
 sunshinesf.org, 1
@@ -32620,17 +32635,16 @@ surfocal.com, 1
 surgenet.nl, 1
 surgeongeneral.gov, 1
 surgicalassociateswny.com, 1
 surkatty.org, 1
 suroil.com, 1
 surpreem.com, 1
 survature.com, 1
 surveymill.co.uk, 1
-survivalistplanet.com, 1
 survivalmonkey.com, 1
 survivebox.fr, 1
 susanbpilates.co, 1
 susanbpilates.com, 1
 susann-kerk.de, 1
 susanna-komischke.de, 1
 susastudentenjobs.de, 1
 susc.org.uk, 1
@@ -33246,16 +33260,17 @@ tee-idf.net, 1
 teebeedee.org, 1
 teedb.de, 1
 teehaus-shila.de, 1
 teemo.gg, 1
 teemperor.de, 1
 teemulintula.fi, 1
 teencounseling.com, 1
 teenerotic.net, 1
+teeplelaw.com, 1
 teesypeesy.com, 1
 teeworlds-friends.de, 1
 tefek.cz, 1
 tege-elektronik.hu, 1
 tehcrayz.com, 1
 tehplace.club, 1
 tehrabbitt.com, 0
 tehranperfume.com, 1
@@ -33515,16 +33530,17 @@ thebikeinsurer.co.uk, 1
 thebimhub.com, 1
 thebit.link, 1
 theblackknightsings.com, 1
 theblondeabroad.com, 1
 thebodyprinciple.com, 1
 thebouncedepartment.co.uk, 1
 thebouncyman.co.uk, 1
 theboxofcarlos.com, 1
+thebreakhotel.com, 1
 thebreakroom.org, 1
 thebte.com, 1
 thebuffalotavern.com, 1
 thecandidforum.com, 1
 thecarolingconnection.com, 1
 thecellulitediet.com, 1
 thecherryship.ch, 1
 thechunk.net, 1
@@ -33532,16 +33548,17 @@ theciderlink.com.au, 1
 thecitizens.com, 1
 thecitywarehouse.clothing, 1
 theclimbingunit.com, 1
 thecloudmigrator.com, 1
 thecloudshelter.com, 1
 thecoffeepod.co.uk, 1
 thecoffeesuperstore.com, 1
 thecolumnist.net, 1
+thecompany.pl, 1
 theconcordbridge.azurewebsites.net, 1
 thecondobuyers.com, 1
 thecozycastle.com, 1
 thecrazytravel.com, 1
 thecrew-exchange.com, 1
 thecrochetcottage.net, 1
 thecskr.in, 1
 thecsw.com, 1
@@ -33560,17 +33577,16 @@ thedevrycommonsbrasil.com, 0
 thediaryofadam.com, 1
 thedisc.nl, 1
 thediscovine.com, 1
 thedocumentrefinery.com, 1
 thedominatorsclan.com, 1
 thedreamtravelgroup.co.uk, 1
 thedronechart.com, 1
 thedrunkencabbage.com, 1
-thedutchmarketers.com, 1
 theebookkeepers.co.za, 1
 theeducationchannel.info, 1
 theeducationdirectory.org, 1
 theeighthbit.com, 1
 theemasphere.com, 1
 theepankar.com, 1
 theevergreen.me, 1
 theexpatriate.de, 1
@@ -34097,16 +34113,17 @@ tkat.ch, 1
 tkeycoin.com, 1
 tkgpm.com, 1
 tkjg.fi, 1
 tkn.me, 1
 tkn.tokyo, 1
 tkts.cl, 1
 tkusano.jp, 1
 tkw01536.de, 0
+tlach.cz, 1
 tlca.org, 1
 tlcnet.info, 1
 tlehseasyads.com, 1
 tleng.de, 1
 tlo.xyz, 1
 tloxygen.com, 1
 tls-proxy.de, 1
 tls.builders, 1
@@ -35307,17 +35324,16 @@ unpossible.xyz, 1
 unpr.dk, 1
 unquote.li, 1
 unrealircd.org, 1
 unrelated.net.au, 1
 unripple.com, 1
 unruh.fr, 1
 uns.vn, 1
 unsacsurledos.com, 1
-unschoolrules.com, 1
 unsee.cc, 1
 unseen.is, 1
 unseen.tw, 1
 unser-gartenforum.de, 1
 unstamps.org, 1
 unstockd.org, 1
 unsuspicious.click, 1
 unterfrankenclan.de, 1
@@ -35800,17 +35816,16 @@ vertebrates.com, 1
 verteilergetriebe.info, 1
 vertikar.net, 1
 vertner.net, 1
 vertrieb-strategie.de, 1
 very-kids.fr, 1
 veryapt.com, 1
 verymelon.de, 1
 veryyounglesbians.com, 0
-verzekeringsacties.nl, 1
 verzick.com, 1
 ves.vn.ua, 1
 vescudero.net, 1
 veslosada.com, 1
 vespacascadia.com, 1
 vestingbar.nl, 1
 veterinario.roma.it, 1
 vetforum.co, 1
@@ -36165,17 +36180,17 @@ vorlage-mustervertrag.de, 1
 vorlagen-geburtstagsgruesse.de, 1
 vorlicek.de, 1
 vorlif.org, 1
 vorm2.com, 1
 vorodevops.com, 1
 vos-fleurs.ch, 1
 vos-fleurs.com, 1
 vosgym.jp, 1
-voshod.org, 0
+voshod.org, 1
 vosjesweb.nl, 1
 vosky.fr, 1
 vosn.de, 1
 vosser.de, 1
 vostronet.com, 1
 voter-info.uk, 1
 votercircle.com, 1
 voterstartingpoint.uk, 1
@@ -36714,17 +36729,16 @@ wellbeing360.com.au, 1
 wellcom.co.il, 1
 welldrake.com, 1
 wellensteyn.ru, 1
 weller.pm, 1
 wellist.com, 1
 wellmarts.com, 1
 wellness-gutschein.de, 1
 wellnesscheck.net, 1
-wellopp.com, 1
 wellsolveit.com, 1
 wellsplasticsurgery.com, 1
 wellspringcamps.com, 1
 welovecatsandkittens.com, 1
 welovejobs.com, 1
 welovemail.com, 1
 welpo.me, 1
 welsh.com.br, 1
@@ -37313,17 +37327,16 @@ wp-securehosting.com, 1
 wp-site1.com, 1
 wp-site2.com, 1
 wp-stack.pro, 1
 wp-tao.com, 1
 wp6.pw, 1
 wpac.de, 1
 wpandup.org, 1
 wpcdn.bid, 1
-wpcharged.nz, 1
 wpcheck.io, 1
 wpdesigner.ir, 1
 wpdirecto.com, 1
 wpdublin.com, 1
 wpenhance.com, 1
 wpformation.com, 1
 wphelpwithhomework.tk, 1
 wphostingblog.nl, 1
@@ -37745,16 +37758,17 @@ xn--love-un4c7e0d4a.com, 1
 xn--lsaupp-iua.se, 1
 xn--lsupp-mra.net, 1
 xn--manuela-stsser-psb.de, 1
 xn--maraa-rta.org, 1
 xn--mein-kchenhelfer-ozb.de, 1
 xn--mensenges-o1a8c.gq, 1
 xn--mensengesss-t8a.gq, 1
 xn--mentaltraining-fr-musiker-uwc.ch, 1
+xn--mgbbh2a9fub.xn--ngbc5azd, 0
 xn--mgbmmp7eub.com, 1
 xn--mhsv04avtt1xi.com, 1
 xn--mllers-wxa.info, 1
 xn--n8j7dygrbu0c31a5861bq8qb.com, 1
 xn--n8jp5083dnzs.net, 1
 xn--n8jtcugp92n4wc738f.net, 1
 xn--o38h.tk, 1
 xn--o77hka.ga, 1
@@ -37964,16 +37978,17 @@ yawnbox.com, 1
 yaxim.org, 1
 yazaral.com, 1
 ybin.me, 1
 ybresson.com, 1
 ybscareers.co.uk, 1
 ybsul.com, 1
 ybti.net, 1
 ybzhao.com, 1
+ycaaz.com, 1
 ych.art, 1
 ycherbonnel.fr, 1
 ychon.com, 1
 ychong.com, 1
 yclan.net, 1
 yd.io, 1
 yeapdata.com, 1
 yeesker.com, 1
@@ -38362,17 +38377,16 @@ zapatoshechoamano.pe, 1
 zapier.com, 1
 zappbuildapps.com, 0
 zarabiaj.com, 1
 zaratan.fr, 1
 zargaripour.com, 1
 zargescases.co.uk, 1
 zarmarket.org, 1
 zarpo.com.br, 1
-zary.me, 1
 zatsepin.by, 1
 zaufanatrzeciastrona.pl, 1
 zavec.com.ec, 1
 zavetaji.lv, 1
 zawo-electric.de, 1
 zbchen.com, 1
 zberger.com, 1
 zbetcheck.in, 1
@@ -38468,17 +38482,16 @@ zh.search.yahoo.com, 0
 zhang-hao.com, 1
 zhang.nz, 1
 zhangfangzhou.com, 1
 zhangge.net, 1
 zhanghao.me, 1
 zhangheda.cf, 1
 zhangsir.net, 1
 zhangyuhao.com, 1
-zhangzifan.com, 1
 zhaochen.xyz, 1
 zhaofeng.li, 1
 zhaoxixiangban.cc, 1
 zhcexo.com, 1
 zhen-chen.com, 1
 zhengjie.com, 1
 zhenmeish.com, 1
 zhikin.com, 1
--- a/testing/mozharness/mozharness/mozilla/testing/verify_tools.py
+++ b/testing/mozharness/mozharness/mozilla/testing/verify_tools.py
@@ -40,18 +40,26 @@ class VerifyToolsMixin(object):
             (os.path.join(dirs['abs_mochitest_dir'], 'browser', 'browser-chrome.ini'), 'browser-chrome'),
             (os.path.join(dirs['abs_mochitest_dir'], 'a11y', 'a11y.ini'), 'a11y'),
             (os.path.join(dirs['abs_xpcshell_dir'], 'tests', 'xpcshell.ini'), 'xpcshell'),
         ]
         tests_by_path = {}
         for (path, suite) in manifests:
             if os.path.exists(path):
                 man = TestManifest([path], strict=False)
-                active = man.active_tests(exists=False, disabled=False, filters=[], **mozinfo.info)
-                tests_by_path.update({t['relpath']:(suite,t.get('subsuite')) for t in active})
+                active = man.active_tests(exists=False, disabled=True, filters=[], **mozinfo.info)
+                # Remove disabled tests. Also, remove tests with the same path as
+                # disabled tests, even if they are not disabled, since test-verify
+                # specifies tests by path (it cannot distinguish between two or more
+                # tests with the same path specified in multiple manifests).
+                disabled = [t['relpath'] for t in active if 'disabled' in t]
+                new_by_path = {t['relpath']:(suite,t.get('subsuite')) \
+                               for t in active if 'disabled' not in t and \
+                               t['relpath'] not in disabled}
+                tests_by_path.update(new_by_path)
                 self.info("Verification updated with manifest %s" % path)
 
         ref_manifests = [
             (os.path.join(dirs['abs_reftest_dir'], 'tests', 'layout', 'reftests', 'reftest.list'), 'reftest'),
             (os.path.join(dirs['abs_reftest_dir'], 'tests', 'testing', 'crashtest', 'crashtests.list'), 'crashtest'),
         ]
         sys.path.append(dirs['abs_reftest_dir'])
         import manifest